:root {
  color-scheme: dark;
  --bg: #08090b;
  --bg-2: #111317;
  --elevated: #191b20;
  --panel: rgba(22, 24, 27, 0.9);
  --text: #f5f3ef;
  --muted: #a6a7ab;
  --gold-1: #f4de9b;
  --gold-2: #d9ab4f;
  --gold-3: #9d6b22;
  --line: rgba(255, 255, 255, 0.1);
  --gold-line: rgba(217, 171, 79, 0.38);
  font-family: 'Inter', sans-serif;
  background: var(--bg);
  color: var(--text);
}

* { box-sizing: border-box; }
body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(ellipse at 50% -15%, rgba(201, 168, 101, 0.13), transparent 44%),
    linear-gradient(180deg, #08090b 0%, #111317 100%);
  color: var(--text);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }

.site-header {
  border-bottom: 1px solid var(--line);
  background: rgba(8, 9, 11, 0.86);
}
.nav-wrap {
  width: min(1200px, calc(100% - 40px));
  min-height: 78px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand { display: inline-flex; align-items: center; gap: 0.9rem; min-width: 0; }
.brand-mark { width: 42px; height: 42px; border-radius: 10px; object-fit: cover; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 8px 24px rgba(0,0,0,.32); }
.brand-text {
  position: relative;
  display: inline-block;
  background: linear-gradient(90deg, #f5d88d 0%, #dca93b 45%, #f5d88d 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: clamp(.7rem, 1vw, .95rem);
  font-weight: 800;
  letter-spacing: .04em;
  text-shadow: 0 0 18px rgba(223,178,80,.12);
  text-transform: uppercase;
  white-space: nowrap;
}
.brand-text::after {
  position: absolute;
  right: 0;
  bottom: -5px;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(244,222,155,.8), transparent);
  content: "";
  opacity: .7;
  transform: scaleX(.8);
}
.nav-wrap nav { display: flex; align-items: center; gap: clamp(14px, 2.2vw, 30px); color: #e5e1d8; font-size: 0.82rem; }
.nav-wrap nav a:hover, .site-footer a:hover { color: var(--gold-1); }
.nav-wrap nav .nav-actions { display: flex; align-items: center; gap: 7px; }
.nav-wrap nav .nav-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 41px; padding: 8px 12px; border: 1px solid rgba(217, 171, 79, .72); border-radius: 7px; background: rgba(217, 171, 79, .1); color: var(--gold-1); font-size: .63rem; font-weight: 800; letter-spacing: .1em; white-space: nowrap; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.nav-wrap nav .nav-consultant { display: none; }
.nav-wrap nav .nav-cta:hover, .nav-wrap nav .nav-cta:focus-visible { border-color: var(--gold-1); background: rgba(217, 171, 79, .18); color: #fff8e7; }
.nav-portfolio { display: inline-flex; align-items: center; justify-content: center; min-height: 41px; padding: 8px 10px; border: 1px solid rgba(217, 171, 79, .72); border-radius: 7px; background: rgba(217, 171, 79, .1); color: var(--gold-1); font: inherit; font-size: .59rem; font-weight: 700; letter-spacing: .07em; white-space: nowrap; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.nav-portfolio:hover, .nav-portfolio:focus-visible { border-color: var(--gold-1); background: rgba(217, 171, 79, .18); color: #fff8e7; }
.nav-toggle { display: none; width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.03); cursor: pointer; }
.nav-calculator { display: none; }
.hamburger { position: relative; display: block; width: 18px; height: 2px; margin: auto; background: var(--text); }
.hamburger::before, .hamburger::after { position: absolute; left: 0; width: 18px; height: 2px; background: var(--text); content: ''; transition: transform .2s ease, top .2s ease; }
.hamburger::before { top: -6px; }
.hamburger::after { top: 6px; }
.nav-toggle[aria-expanded="true"] .hamburger { background: transparent; }
.nav-toggle[aria-expanded="true"] .hamburger::before { top: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .hamburger::after { top: 0; transform: rotate(-45deg); }
.nav-toggle:focus-visible { outline: 2px solid var(--gold-1); outline-offset: 3px; }

.page { width: min(1000px, calc(100% - 40px)); margin: 0 auto; padding: 50px 0 30px; }
.page-heading { max-width: 760px; margin: 0 auto 30px; text-align: center; }
.eyebrow, .section-label { color: var(--gold-2); font-size: 0.69rem; font-weight: 700; letter-spacing: 0.16em; }
.eyebrow { margin: 0 0 7px; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 8px; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1.08; font-weight: 600; }
h1 em { color: var(--gold-1); font-weight: 600; }
.intro { max-width: 630px; margin: 0 auto; color: var(--muted); font-size: 0.93rem; }
.visual-note { margin: 9px 0 0; color: #8f9095; font-size: .69rem; }

.calculator-shell {
  min-height: 450px;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255,255,255,.025);
}
.progress-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.progress-row p { margin-bottom: 0; }
.section-label { margin-bottom: 2px !important; }
.step-count { color: var(--muted); font-size: 0.78rem; }
.progress-percent { color: var(--gold-1); font-size: 0.86rem; font-weight: 600; }
.journey-stepper { margin: 24px -4px 14px; overflow-x: auto; scrollbar-color: rgba(217,171,79,.45) transparent; scrollbar-width: thin; }
.journey-stepper ol { position: relative; display: grid; grid-template-columns: repeat(7, minmax(96px, 1fr)); min-width: 760px; padding: 0; margin: 0; list-style: none; }
.journey-step { position: relative; min-width: 0; text-align: center; }
.journey-step:not(:last-child)::after { position: absolute; z-index: 0; top: 16px; left: calc(50% + 17px); width: calc(100% - 34px); height: 1px; background: var(--line); content: ''; }
.journey-step.is-complete:not(:last-child)::after { background: rgba(217,171,79,.55); }
.journey-step-button { position: relative; z-index: 1; display: flex; width: 100%; min-height: 60px; flex-direction: column; align-items: center; gap: 7px; padding: 0 4px; border: 0; background: transparent; color: var(--muted); cursor: default; }
.journey-step-button:disabled { opacity: 1; }
.journey-step-button:not(:disabled) { cursor: pointer; }
.journey-step-button:not(:disabled):hover .journey-step-title { color: var(--gold-1); }
.journey-step-button:focus-visible { outline: 2px solid var(--gold-1); outline-offset: -2px; border-radius: 6px; }
.journey-step-marker { display: grid; width: 33px; height: 33px; flex: 0 0 33px; place-items: center; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; background: #17191d; color: #aaa; font-size: .72rem; font-weight: 700; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.journey-step-title { max-width: 112px; font-size: .63rem; font-weight: 600; line-height: 1.25; transition: color .2s ease; }
.journey-step.is-active .journey-step-marker { border-color: var(--gold-2); background: var(--gold-2); color: #17130c; box-shadow: 0 0 0 4px rgba(217,171,79,.1); }
.journey-step.is-active .journey-step-title { color: var(--gold-1); }
.journey-step.is-complete .journey-step-marker { border-color: var(--gold-2); background: rgba(217,171,79,.16); color: var(--gold-1); }
.journey-step.is-complete .journey-step-title { color: #c9c4b8; }
.progress-track { height: 4px; margin: 12px 0 32px; border-radius: 10px; background: rgba(255,255,255,.09); overflow: hidden; }
.progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold-3), var(--gold-1)); transition: width .3s ease; }
.step-content { animation: enter .22s ease both; }
@keyframes enter { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.question-kicker { margin-bottom: 5px; color: var(--muted); font-size: .75rem; }
.question-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 8px; }
.question-icon { width: 48px; height: 48px; flex: 0 0 48px; padding: 7px; border: 1px solid var(--gold-line); border-radius: 4px; background: rgba(217,171,79,.06); color: var(--gold-1); }
.question-icon-image { object-fit: contain; }
.question-title { margin-bottom: 7px; font-size: clamp(1.35rem, 3vw, 1.75rem); font-weight: 600; line-height: 1.25; }
.question-help { max-width: 750px; margin-bottom: 23px; color: var(--muted); font-size: .85rem; }

.option-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.property-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.floor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.binary-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.quality-tier-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.option-card {
  position: relative;
  min-width: 0;
  min-height: 184px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.option-card:hover { border-color: rgba(217,171,79,.72); background: rgba(217,171,79,.06); transform: translateY(-2px); }
.option-card[aria-pressed="true"] { border-color: var(--gold-2); background: linear-gradient(145deg, rgba(217,171,79,.15), rgba(217,171,79,.055)); box-shadow: inset 0 0 0 1px rgba(217,171,79,.2), 0 8px 24px rgba(0,0,0,.12); }
.option-card:focus-visible, .button:focus-visible, input:focus-visible { outline: 2px solid var(--gold-1); outline-offset: 3px; }
.option-visual { width: 100%; height: 124px; flex: 0 0 124px; margin-bottom: 11px; display: grid; place-items: center; overflow: hidden; border-radius: 3px; background: rgba(255,255,255,.045); color: var(--gold-1); }
.option-visual img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; padding: 7px; object-fit: contain; }
.reference-icon { width: 48px; height: 48px; color: var(--gold-1); }
.option-visual .reference-icon { width: 62px; height: 62px; }
.option-title { margin: 0; font-size: .83rem; font-weight: 600; line-height: 1.4; }
.option-detail { margin: 4px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.option-status { margin-top: auto; padding-top: 9px; color: #d8c28c; font-size: .65rem; }
.option-check { position: absolute; top: 9px; right: 10px; width: 17px; height: 17px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; font-size: .65rem; }
.option-card[aria-pressed="true"] .option-check { border-color: var(--gold-2); background: var(--gold-2); color: #15120b; }
.quality-tier-grid .option-card { min-height: 180px; align-items: center; padding: 18px; text-align: center; }
.quality-tier-grid .option-visual { height: 124px; flex-basis: 124px; margin-bottom: 10px; background: transparent; }
.quality-tier-grid .option-title { font-size: 1rem; }
.quality-tier-grid .option-detail { max-width: 25ch; font-size: .75rem; }
.empty-choice-mark { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--gold-line); border-radius: 50%; color: var(--gold-1); font-size: 1.4rem; }
.property-grid .option-card { min-height: 210px; padding: 18px; }
.property-grid .option-visual { height: 140px; flex-basis: 140px; background: radial-gradient(ellipse, rgba(217,171,79,.12), rgba(255,255,255,.025) 70%); }
.property-grid .reference-icon { width: 76px; height: 76px; }
.property-grid .option-title { font-size: .95rem; }
.property-grid .option-detail { font-size: .76rem; }

.plot-unit-picker { display: flex; width: max-content; gap: 4px; padding: 4px; margin: 0 0 14px auto; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.04); }
.plot-unit-button { min-width: 76px; min-height: 34px; padding: 5px 12px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font-size: .73rem; font-weight: 700; cursor: pointer; transition: background .2s ease, color .2s ease; }
.plot-unit-button[aria-pressed="true"] { background: var(--gold-2); color: #17130c; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.plot-unit-button:focus-visible { outline: 2px solid var(--gold-1); outline-offset: 3px; }
.plot-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 14px; }
.plot-field { justify-content: center; padding: 16px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.025); color: #e9e5dc; font-size: .8rem; font-weight: 600; }
.plot-field input { margin-top: 6px; min-height: 52px; border-color: rgba(217,171,79,.25); border-radius: 6px; font-size: 1.05rem; }
.plot-area-card { display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 16px; border: 1px solid var(--gold-line); border-radius: 9px; background: rgba(217,171,79,.07); }
.plot-area-card label { color: var(--muted); font-size: .76rem; font-weight: 600; }
.plot-area-card input { width: 100%; min-height: 52px; padding: 9px 11px; border: 1px solid rgba(217,171,79,.32); border-radius: 6px; background: #101114; color: var(--gold-1); font-size: 1.05rem; font-weight: 700; }
.facing-grid .option-card { min-height: 158px; align-items: center; text-align: center; }
.facing-grid .option-visual { height: 92px; flex-basis: 92px; margin-bottom: 8px; background: radial-gradient(ellipse, rgba(217,171,79,.1), rgba(255,255,255,.025) 72%); }
.compass-icon { width: 67px; height: 67px; overflow: visible; }
.compass-ring { stroke: rgba(244,222,155,.6); stroke-width: 1.5; }
.compass-arrow { stroke: #f4de9b; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }

.paired-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.paired-group { min-width: 0; }
.paired-group h3 { margin-bottom: 10px; font-size: .91rem; }
.choice-pills { display: flex; gap: 9px; }
.choice-pill { min-width: 100px; min-height: 52px; padding: 5px 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--line); border-radius: 4px; background: var(--elevated); cursor: pointer; }
.choice-pill[aria-pressed="true"] { border-color: var(--gold-2); color: var(--gold-1); background: rgba(217,171,79,.1); }
.choice-icon { width: 22px; height: 22px; flex: 0 0 22px; color: var(--gold-1); }

.field-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.field label { color: #e9e5dc; font-size: .77rem; font-weight: 500; }
.field small { min-height: 32px; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.field input {
  width: 100%;
  min-height: 45px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #101114;
  color: var(--text);
}
.field input::placeholder { color: #777980; }
.detail-section-title { grid-column: 1 / -1; padding-top: 7px; margin: 4px 0 -4px; color: var(--gold-1); font-size: .89rem; }
.assumption-note { margin: 18px 0 0; padding: 12px 14px; border-left: 2px solid var(--gold-2); background: rgba(217,171,79,.06); color: #c4c1b9; font-size: .76rem; }

.step-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.button { min-height: 45px; padding: 10px 18px; border: 1px solid transparent; border-radius: 3px; cursor: pointer; font-size: .81rem; font-weight: 600; transition: background .18s ease, border-color .18s ease; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.button-primary { border-color: var(--gold-2); background: linear-gradient(135deg, #e1bd68, #b98531); color: #15120b; }
.button-primary:hover:not(:disabled) { background: var(--gold-1); }
.button-secondary { border-color: var(--line); background: transparent; color: var(--text); }
.button-secondary:hover:not(:disabled) { border-color: var(--gold-line); color: var(--gold-1); }
.validation-message { margin: 13px 0 0; color: #ffb4a8; font-size: .8rem; }
.hidden { display: none !important; }

.review-list { display: grid; gap: 8px; margin-top: 20px; }
.review-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.review-row strong { font-size: .8rem; }
.review-row span { color: var(--muted); font-size: .75rem; }
.edit-link { padding: 4px; border: 0; background: transparent; color: var(--gold-1) !important; cursor: pointer; }
.review-total { margin-top: 18px; padding: 16px; border: 1px solid var(--gold-line); border-radius: 4px; background: rgba(217,171,79,.06); }
.review-total strong { color: var(--gold-1); }
.result-hero { scroll-margin-top: 88px; padding: 23px; border: 1px solid var(--gold-line); border-radius: 5px; background: rgba(217,171,79,.07); text-align: center; }
.result-hero .result-label { margin-bottom: 4px; color: var(--muted); font-size: .76rem; }
.result-amount { margin: 0; color: var(--gold-1); font-size: clamp(1.8rem, 5vw, 2.7rem); font-weight: 700; line-height: 1.2; }
.result-range { margin: 7px 0 0; color: var(--text); font-size: .88rem; }
.result-meta { margin: 8px 0 0; color: var(--muted); font-size: .75rem; }
.estimate-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin: 17px 0; }
.estimate-card { padding: 15px; border: 1px solid var(--line); border-radius: 4px; background: rgba(255,255,255,.025); }
.estimate-card span { display: block; color: var(--muted); font-size: .72rem; }
.estimate-card strong { display: block; margin-top: 5px; font-size: 1.05rem; }
.breakdown { margin-top: 23px; }
.breakdown > summary { color: var(--gold-1); cursor: pointer; font-size: .97rem; font-weight: 600; }
.breakdown > summary::marker { color: var(--gold-2); }
.preference-list { margin-top: 8px; }
.breakdown-group { margin-top: 18px; }
.breakdown-group h4 { margin: 0 0 4px; color: var(--gold-1); font-size: .78rem; letter-spacing: .05em; }
.breakdown-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: .76rem; }
.breakdown-row span:last-child { text-align: right; }
.muted { color: var(--muted); }
.alert-list { margin: 8px 0 0; padding-left: 19px; color: #d3c9aa; font-size: .76rem; }
.rate-audit { margin-top: 24px; border: 1px solid var(--gold-line); border-radius: 5px; background: rgba(217,171,79,.035); }
.rate-audit summary { padding: 15px 17px; color: var(--gold-1); cursor: pointer; font-size: .87rem; font-weight: 600; }
.audit-intro { margin: 0; padding: 0 17px 13px; color: var(--muted); font-size: .74rem; }
.audit-row { padding: 13px 17px; border-top: 1px solid var(--line); }
.audit-row h4 { margin: 0 0 7px; color: var(--text); font-size: .82rem; }
.audit-fields p { margin: 4px 0; color: #c4c1b9; font-size: .73rem; }
.audit-fields strong { color: var(--gold-1); }
.audit-verdict { color: var(--muted) !important; }
.audit-sources { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: 7px; font-size: .69rem; }
.audit-sources a, .audit-intro a { color: var(--gold-1); text-decoration: underline; text-underline-offset: 2px; }
.result-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.button-whatsapp { display: inline-flex; align-items: center; justify-content: center; gap: 9px; border-color: #1fa855; background: #168d46; color: #fff; text-decoration: none; }
.button-whatsapp:hover { border-color: #27c76f; background: #11783b; }
.button-whatsapp svg { width: 19px; height: 19px; flex: 0 0 19px; fill: currentColor; }
.disclaimer { max-width: 900px; margin: 23px auto 0; color: #929399; font-size: .67rem; line-height: 1.65; }
.site-footer { width: min(1200px, calc(100% - 40px)); margin: 10px auto 0; padding: 18px 0 25px; display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid var(--line); color: var(--muted); font-size: .7rem; }
.footer-socials { display: flex; gap: 9px; }
.footer-socials a { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); transition: border-color .2s ease, color .2s ease, background .2s ease; }
.footer-socials a:hover, .footer-socials a:focus-visible { border-color: var(--gold-line); background: rgba(217,171,79,.08); color: var(--gold-1); }
.footer-socials a:focus-visible { outline: 2px solid var(--gold-1); outline-offset: 3px; }
.footer-socials svg { width: 18px; height: 18px; fill: currentColor; }
.footer-socials a:first-child svg { fill: none; stroke: currentColor; stroke-width: 1.7; }
.site-footer > a { align-self: center; }
.site-footer > a:hover { color: var(--gold-1); }

@media (max-width: 820px) {
  .nav-wrap { position: relative; }
  .nav-toggle { display: inline-grid; place-items: center; }
  .nav-calculator { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 6px; margin-left: auto; padding: 0 9px; border: 1px solid rgba(217,171,79,.72); border-radius: 7px; background: rgba(217,171,79,.1); color: var(--gold-1); font-size: .61rem; font-weight: 800; letter-spacing: .06em; white-space: nowrap; }
  .nav-calculator svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
  .nav-toggle { margin-left: 7px; }
  .nav-wrap nav { position: absolute; z-index: 5; top: calc(100% + 8px); right: 0; left: 0; display: none; align-items: stretch; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #111317; box-shadow: 0 18px 40px rgba(0,0,0,.4); }
  .nav-wrap nav.open { display: flex; flex-direction: column; }
  .nav-wrap nav > a { min-height: 44px; display: flex; align-items: center; padding: 8px 10px; }
  .nav-wrap nav .nav-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; padding-top: 6px; }
  .nav-wrap nav .nav-cta, .nav-wrap nav .nav-portfolio { min-height: 44px; font-size: .62rem; }
  .nav-wrap nav .nav-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-wrap nav .nav-cta { display: none; }
  .nav-wrap nav .nav-consultant { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; border: 1px solid rgba(217,171,79,.72); border-radius: 7px; background: rgba(217,171,79,.1); color: var(--gold-1); font-size: .62rem; font-weight: 800; letter-spacing: .1em; white-space: nowrap; }
  .option-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .floor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quality-tier-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .facing-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-wrap nav a:nth-child(2), .nav-wrap nav a:nth-child(3) { display: none; }
}
@media (max-width: 600px) {
  .nav-wrap { width: calc(100% - 28px); min-height: 66px; gap: 10px; }
  .brand { gap: .7rem; }
  .brand-mark { width: 32px; height: 32px; }
  .nav-wrap nav { gap: 4px; font-size: .78rem; }
  .nav-wrap nav .nav-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
  .nav-wrap nav .nav-cta, .nav-wrap nav .nav-portfolio { min-height: 42px; padding: 7px; font-size: .56rem; }
  .nav-wrap nav .nav-consultant { min-height: 42px; padding: 7px; font-size: .56rem; }
  .page { width: calc(100% - 24px); padding-top: 34px; }
  .page-heading { margin-bottom: 21px; }
  .calculator-shell { min-height: 430px; padding: 19px 15px; }
  .journey-stepper { margin-top: 21px; }
  .journey-stepper ol { min-width: 730px; }
  .progress-track { margin: 10px 0 25px; }
  .option-grid { gap: 9px; }
  .property-grid { grid-template-columns: 1fr; }
  .property-grid .option-card { min-height: 118px; flex-direction: row; align-items: center; gap: 14px; padding: 12px; }
  .property-grid .option-visual { width: 86px; height: 86px; flex: 0 0 86px; margin: 0; }
  .property-grid .reference-icon { width: 55px; height: 55px; }
  .property-grid .option-title { font-size: .84rem; }
  .property-grid .option-detail { margin-top: 3px; font-size: .69rem; }
  .quality-tier-grid { grid-template-columns: 1fr; }
  .floor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quality-tier-grid .option-card { min-height: 106px; display: grid; grid-template-columns: 82px minmax(0, 1fr); align-items: center; column-gap: 13px; padding: 13px 18px; text-align: left; }
  .quality-tier-grid .option-visual { width: 82px; height: 78px; grid-row: span 2; margin: 0; }
  .quality-tier-grid .option-title { align-self: end; }
  .quality-tier-grid .option-detail { max-width: none; align-self: start; margin-top: 3px; }
  .plot-fields { grid-template-columns: 1fr 1fr; gap: 10px; }
  .plot-field { padding: 12px; }
  .plot-area-card { grid-column: 1 / -1; min-height: 88px; align-items: stretch; text-align: left; }
  .facing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .facing-grid .option-card { min-height: 140px; }
  .option-card { min-height: 170px; padding: 11px; }
  .option-visual { height: 100px; flex-basis: 100px; }
  .option-title { font-size: .76rem; }
  .paired-choices { grid-template-columns: 1fr; gap: 20px; }
  .field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; }
  .field label { font-size: .72rem; }
  .field small { min-height: 42px; font-size: .64rem; }
  .field input { min-height: 43px; padding: 8px; font-size: .85rem; }
  .review-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .review-row > span { grid-column: 1; }
  .review-row .edit-link { grid-column: 2; grid-row: 1 / span 2; }
  .estimate-columns { grid-template-columns: 1fr; }
  .step-actions { margin-top: 22px; }
  .button { padding-inline: 14px; }
  .site-footer { align-items: center; flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .nav-wrap { gap: 8px; }
  .brand { flex: 0 0 auto; }
  .brand-text { display: inline-block; }
  .nav-calculator { flex: 0 0 44px; width: 44px; margin-left: auto; padding: 0; }
  .nav-calculator span { display: none; }
  .nav-toggle { flex: 0 0 44px; margin-left: 0; }
}
@media (max-width: 350px) {
  .brand-text { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
@media print {
  :root, body { background: #fff !important; color: #171717 !important; color-scheme: light; }
  .site-header, .page-heading, .progress-row, .progress-track, .step-actions, .result-actions, .site-footer { display: none !important; }
  .page { width: 100%; max-width: none; padding: 0; }
  .calculator-shell { min-height: 0; padding: 0; border: 0; background: #fff; box-shadow: none; }
  .result-hero, .estimate-card, .review-total { background: #fff; }
  .rate-audit, .audit-row { border-color: #bbb; background: #fff; }
  .rate-audit summary, .audit-row h4, .audit-fields strong, .audit-sources a, .audit-intro a { color: #171717; }
  .audit-intro, .audit-fields p, .audit-verdict { color: #333 !important; }
  .result-amount, .result-hero strong, .estimate-card strong, .breakdown-group h4 { color: #171717; }
  .question-title, .breakdown > summary, .breakdown-row, .result-range, .result-meta, .muted, .alert-list, .estimate-card span, .disclaimer { color: #333; }
  .breakdown:not([open]) .preference-list { display: block; }
  .breakdown > summary { display: none; }
  .result-hero, .estimate-card, .review-total, .breakdown-row { break-inside: avoid; }
  .disclaimer { display: block; color: #555; }
}
