.analysis-page { background: #f7f5f3; }
.analysis-header .nav-calculator, .nav-links .nav-calculator { padding: 7px 10px; border: 1px solid rgba(255,255,255,.65); }
.analysis-hero { position: relative; min-height: 96vh; display: grid; align-items: end; overflow: hidden; color: var(--white); background: var(--charcoal); }
.analysis-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(24,21,22,.72),rgba(24,21,22,.08) 70%),linear-gradient(to top,rgba(24,21,22,.55),rgba(24,21,22,0)); }
.analysis-hero>img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; transform: scale(1.04); animation: slowZoom 15s ease-out forwards; }
.analysis-hero-copy { position: relative; z-index: 1; width: min(1180px,calc(100% - 48px)); margin: 0 auto; padding: 160px 0 110px; }
.analysis-hero h1,.analysis-intro h2,.step-heading h2,.analysis-result h3,.analysis-success h3,.print-report-intro h2 { font-family: "Pierson",Georgia,serif; font-weight: 400; letter-spacing: 0; }
.analysis-hero h1 { max-width: 760px; margin: 10px 0 22px; font-size: 50px; line-height: .98; }
.analysis-hero-copy>p:not(.eyebrow) { max-width: 620px; margin: 0 0 32px; color: rgba(255,255,255,.9); font-size: 19px; }
.analysis-hero .eyebrow { max-width: 720px; font-size: 25px; line-height: 1.22; }
.analysis-intro { width: min(1180px,calc(100% - 48px)); margin: 0 auto; padding: 92px 0; }
.analysis-intro .eyebrow { margin-bottom: 20px; }
.analysis-intro h2,.step-heading h2 { margin: 0 0 20px; font-size: 50px; line-height: .98; }
.analysis-intro h2 { width: 100%; }
.analysis-intro>p:last-child { width: 100%; max-width: none; margin: 0; }
.analysis-tool { padding: 0 0 96px; background: var(--white); }
.analysis-progress { position: sticky; z-index: 20; top: 72px; display: grid; grid-template-columns: repeat(4,1fr); width: 100%; border-block: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.analysis-progress button { min-height: 78px; display: flex; align-items: center; justify-content: center; gap: 12px; border: 0; border-right: 1px solid var(--line); color: var(--ink); background: transparent; cursor: pointer; font-weight: 700; text-transform: uppercase; }
.analysis-progress button:last-child { border-right: 0; }
.analysis-progress button span { color: var(--clay); }
.analysis-progress button.active { color: var(--white); background: var(--charcoal); }
.analysis-progress button.active span { color: var(--sand); }
.analysis-form { width: min(1180px,calc(100% - 48px)); margin: 0 auto; }
.analysis-step { display: none; padding: 86px 0 0; }
.analysis-step.active { display: block; }
.step-heading { width: 100%; margin-bottom: 54px; }
.step-heading .eyebrow { margin-bottom: 20px; }
.step-heading h2 { width: 100%; }
.step-heading>p:last-child { width: 100%; max-width: none; margin: 0; }
.analysis-fields { display: grid; gap: 22px; }
.analysis-fields.two-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
.analysis-fields label,.analysis-fields legend { position: relative; display: grid; gap: 8px; font-size: 14px; font-weight: 700; }
.analysis-fields input,.analysis-fields select,.analysis-fields textarea { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 3px; color: var(--ink); background: #faf8f6; }
.analysis-fields textarea { resize: vertical; }
.analysis-fields input:focus,.analysis-fields select:focus,.analysis-fields textarea:focus,.space-row select:focus,.space-row input:focus { outline: 2px solid var(--clay); outline-offset: 1px; }
.field-suffix { position: absolute; right: 14px; bottom: 14px; color: var(--choc); font-weight: 400; }
.wide { grid-column: 1 / -1; }
.audience-choice { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; padding: 20px; border: 1px solid var(--line); }
.audience-choice legend { padding-inline: 6px; }
.audience-choice label { display: flex; align-items: center; grid-template-columns: auto 1fr; }
.audience-choice input,.privacy-consent input { width: 18px; min-height: 18px; margin: 0; accent-color: var(--choc); }
.space-group { border-top: 1px solid var(--line); }
.space-group h3 { margin: 0; padding: 38px 0 20px; color: var(--choc); font-size: 31px; }
.space-list { display: grid; }
.space-row,.space-column-labels { display: grid; grid-template-columns: minmax(220px,1.4fr) minmax(220px,1fr) 130px 130px; gap: 18px; }
.space-row { align-items: center; min-height: 78px; padding: 12px 0; border-top: 1px solid rgba(61,57,60,.1); }
.space-row>label:first-child { font-weight: 700; }
.space-row select,.space-row input { width: 100%; min-height: 46px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 3px; background: #faf8f6; }
.space-area { text-align: right; color: var(--choc); font-size: 20px; font-weight: 700; }
.space-column-labels { padding-bottom: 8px; color: rgba(44,41,43,.62); font-size: 12px; text-transform: uppercase; }
.space-column-labels span:last-child { text-align: right; }
.allowance-layout { max-width: 720px; }
.analysis-result { position: sticky; top: 176px; padding: 34px; color: var(--white); background: var(--charcoal); }
.result-feature>p:first-child { margin-top: 0; color: var(--sand); font-weight: 700; text-transform: uppercase; }
.analysis-result { position: static; margin-top: 42px; }
.analysis-result h3 { margin: 10px 0 28px; color: var(--white); font-size: 64px; line-height: 1; }
.result-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-bottom: 28px; background: rgba(255,255,255,.18); }
.result-metrics div { padding: 16px 12px; background: var(--charcoal); }
.result-metrics span { display: block; font-size: 26px; font-weight: 700; }
.result-metrics small { color: rgba(255,255,255,.7); }
.result-breakdown { display: grid; gap: 8px; }
.result-breakdown div { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.15); }
.result-disclaimer { margin-bottom: 0; color: rgba(255,255,255,.66); font-size: 12px; }
.lead-details { max-width: 820px; padding-top: 4px; }
.privacy-consent { grid-template-columns: auto 1fr; align-items: start; font-weight: 400!important; }
.wide-button { width: 100%; margin-top: 22px; }
.form-status { min-height: 24px; color: #8a2f2f; }
.analysis-success { padding: 30px 0; }
.analysis-success h3 { margin: 0 0 18px; font-size: 50px; }
.print-only { display: none; }
.step-actions { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 52px; padding-top: 28px; border-top: 1px solid var(--line); }
.step-actions.end { justify-content: flex-end; }
.text-button { padding: 12px 0; border: 0; border-bottom: 1px solid currentColor; color: var(--ink); background: transparent; cursor: pointer; font-weight: 700; text-transform: uppercase; }
@media(max-width:1120px) and (min-width:981px){.analysis-header .nav-links{gap:13px;font-size:14px}}
@media(max-width:760px){
  .analysis-hero{min-height:100svh}.analysis-hero>img{object-position:52% 50%}.analysis-hero-copy{width:calc(100% - 32px);padding:130px 0 84px}.analysis-hero .eyebrow{max-width:100%;font-size:16px;line-height:1.25}.analysis-hero h1{font-size:38px}.analysis-hero-copy>p:not(.eyebrow){max-width:100%;font-size:16px}
  .analysis-intro,.analysis-form{width:calc(100% - 32px)}.allowance-layout{grid-template-columns:1fr}.analysis-intro{padding:62px 0}.analysis-intro h2,.step-heading h2{font-size:38px}
  .analysis-progress{top:62px}.analysis-progress button{min-height:58px;gap:0;font-size:0}.analysis-progress button span{font-size:13px}.analysis-step{padding-top:58px}.analysis-fields.two-column{grid-template-columns:1fr}.space-column-labels{display:none}.space-group h3{font-size:27px}
  .space-row{grid-template-columns:1fr 96px;gap:10px 12px;padding:18px 0}.space-row>label:first-child{grid-column:1 / -1}.space-row select{grid-column:1}.space-row input{grid-column:2;grid-row:2}.space-area{grid-column:1 / -1;text-align:left;font-size:15px}
  .result-metrics{grid-template-columns:1fr}.analysis-result h3{font-size:50px}.step-actions{flex-wrap:wrap}.step-actions .button{flex:1 1 190px}
}
@media print{
  @page{size:A4;margin:8mm 10mm}
  html,body{background:#e9e5e2!important}
  body{color:#2c292b;font-size:9pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .site-header,.analysis-hero,.analysis-intro,.analysis-progress,.step-heading,.lead-details,.analysis-success,.step-actions,body>footer{display:none!important}
  .analysis-tool,.analysis-step,.analysis-form{display:block!important;width:100%;margin:0;padding:0;background:transparent!important}
  .analysis-step:not([data-step="4"]){display:none!important}
  .analysis-step[data-step="4"]{padding:7mm!important;background:#e9e5e2!important}
  .print-only{display:block!important}
  .print-report-header{padding:6mm 10mm 5mm;background:#fff!important;border-top:2mm solid #8a5b3d}
  .print-report-header img{display:block;width:46mm;height:auto}
  .print-report-intro{padding:6mm 10mm 6mm;background:#fff!important}
  .print-report-intro p{margin:0 0 3mm;color:#8a5b3d;font-size:8.5pt;font-weight:800;text-transform:uppercase}
  .print-report-intro h2{max-width:150mm;margin:0 0 5mm;color:#2c292b;font-size:27pt;line-height:1.08}
  .print-report-intro span{display:block;max-width:155mm;margin:0 0 4mm;color:#5d5659;font-size:9.5pt;line-height:1.5}
  .print-report-intro span:last-child{margin-bottom:0}
  .analysis-result{display:block!important;margin:0;padding:0 10mm 8mm;color:#2c292b;background:#fff!important;border:0}
  .result-feature{margin:0;padding:5mm 6mm;background:#f3efec!important;border-left:1mm solid #8a5b3d;break-inside:avoid}
  .result-feature>p:first-child{margin:0;color:#8a5b3d!important;font-size:8pt;letter-spacing:0;text-transform:uppercase}
  .analysis-result h3{margin:2mm 0 0;color:#2c292b!important;font-size:31pt;line-height:1}
  .result-metrics{grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:8mm;background:#faf8f6!important;border-top:1px solid #d5cdca;border-bottom:1px solid #d5cdca;break-inside:avoid}
  .result-metrics div{padding:4mm;color:#2c292b;background:#faf8f6!important;border-right:1px solid #d5cdca}
  .result-metrics div:last-child{border-right:0}
  .result-metrics span{font-size:14.5pt}
  .result-metrics small,.result-disclaimer{color:#5d5659!important}
  .print-section-title{margin:0 0 4mm;color:#2c292b;font-size:9pt;font-weight:800;text-transform:uppercase;break-after:avoid}
  .print-report-meta{display:grid!important;grid-template-columns:repeat(2,1fr);gap:2mm;margin:0 0 8mm;break-inside:avoid}
  .print-report-meta div{display:grid;gap:1.5mm;min-width:0;padding:4mm;background:#f7f3f0!important}
  .print-report-meta span{color:#766d69;font-size:6.8pt;text-transform:uppercase}
  .print-report-meta strong{overflow-wrap:anywhere;font-size:8.7pt}
  .print-meta-wide{grid-column:1 / -1}
  .result-breakdown{display:none!important}
  .print-result-breakdown{margin-bottom:7mm;break-inside:avoid}
  .print-result-breakdown div{display:flex;justify-content:space-between;gap:6mm;padding:2mm 0;border:0;color:#2c292b;font-size:9pt}
  .print-result-breakdown strong{white-space:nowrap}
  .print-report-closing{margin-top:0;padding:3mm 0 3mm;break-inside:avoid}
  .print-report-closing p{max-width:155mm;margin:0 0 4mm;color:#5d5659;font-size:9.5pt;line-height:1.45}
  .print-report-closing a{display:inline-block;padding:2.5mm 4mm;border:1px solid #8a5b3d;color:#111!important;background:#d8c2b2!important;font-size:7.5pt;font-weight:800;text-decoration:none;text-transform:uppercase}
  .result-disclaimer{margin:5mm 0 0;font-size:6.8pt;line-height:1.45}
  .print-report-footer{padding:6mm 10mm;color:#fff!important;background:#2c292b!important;break-inside:avoid}
  .print-report-footer strong{display:block;margin-bottom:2mm;color:#fff!important;font-size:10pt}
  .print-report-footer p{margin:0 0 1.5mm;color:#fff!important;font-size:8pt}
  .print-report-footer p:last-child{margin-bottom:0}
  .print-report-footer span{color:#fff!important}
  .print-report-footer span+span::before{content:"|";margin:0 2.5mm;color:#fff}
}
