:root {
  --cream-50: #f5f3f0;
  --cream-100: #e8e4dc;
  --cream-200: #d9d3c8;
  --navy-950: #131c2a;
  --navy-900: #1e293b;
  --navy-800: #2c3e50;
  --navy-700: #334155;
  --ink: #3d3935;
  --muted: #78716c;
  --line: #d6d3d1;
  --white: #fff;
  --sage: #9cae9e;
  --gold: #c7aa72;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shell: min(1240px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--cream-50); color: var(--ink); font-family: var(--sans); font-weight: 400; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; background: white; padding: 12px 16px; border: 1px solid var(--navy-900); }
.skip-link:focus { top: 12px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: 80px; background: rgba(245, 243, 240, .96); transition: box-shadow .25s ease, background .25s ease; }
.site-header.scrolled { box-shadow: 0 1px 0 rgba(30, 41, 59, .1), 0 10px 30px rgba(30, 41, 59, .05); backdrop-filter: blur(14px); }
.nav-shell { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--navy-800); flex: 0 0 auto; }
.brand-mark { width: 37px; height: 37px; }
.brand-mark path { stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; }
.brand-mark .brand-mark-soft { stroke-width: 1.5; opacity: .5; }
.brand-wordmark { display: flex; flex-direction: column; line-height: 1; }
.brand-wordmark strong { font-size: 22px; font-weight: 300; letter-spacing: .035em; }
.brand-wordmark small { margin-top: 4px; font-size: 9px; letter-spacing: .24em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: 32px; margin-left: auto; }
.primary-nav a, .text-link { position: relative; color: #5c5854; font-size: 13px; }
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px; background: var(--navy-800); transition: right .2s ease; }
.primary-nav a:hover::after, .primary-nav a:focus-visible::after { right: 0; }
.nav-actions { display: flex; align-items: center; gap: 22px; }
.nav-toggle { display: none; width: 42px; height: 42px; padding: 12px; border: 0; background: transparent; }
.nav-toggle span:not(.sr-only) { display: block; height: 1px; margin: 6px 0; background: var(--navy-900); transition: transform .2s ease; }

.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 0 27px; border: 1px solid transparent; border-radius: 0; font-size: 13px; font-weight: 500; letter-spacing: .01em; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(19, 28, 42, .14); }
.button-small { min-height: 42px; padding-inline: 22px; font-size: 12px; }
.button-dark { background: var(--navy-900); color: white; }
.button-dark:hover { background: var(--navy-950); }
.button-outline { border-color: var(--navy-800); color: var(--navy-800); }
.button-outline:hover { background: var(--navy-800); color: white; }
.button-light { border-color: rgba(255, 255, 255, .32); background: white; color: var(--navy-900); }
.quiet-link { display: inline-flex; align-items: center; gap: 10px; padding: 14px 2px; color: var(--muted); font-size: 13px; border-bottom: 1px solid transparent; }
.quiet-link:hover { color: var(--navy-900); border-color: var(--navy-900); }
.quiet-link-light { color: rgba(255,255,255,.7); }
.quiet-link-light:hover { color: white; border-color: white; }

.hero { min-height: 780px; padding: 80px 0 0; overflow: hidden; }
.hero-grid { min-height: 700px; display: grid; grid-template-columns: minmax(0, .94fr) minmax(480px, 1.06fr); gap: clamp(56px, 7vw, 104px); align-items: center; }
.hero-copy { padding: 72px 0 66px; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 27px; color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.eyebrow span { width: 31px; height: 1px; background: var(--navy-800); }
.eyebrow-light { color: rgba(255,255,255,.55); }
.eyebrow-light span { background: rgba(255,255,255,.5); }
h1, h2, h3 { margin: 0; font-family: var(--serif); font-weight: 300; letter-spacing: -.025em; }
.hero h1 { color: var(--navy-900); font-size: clamp(62px, 6.8vw, 92px); line-height: .84; }
.hero h1 em, .section-heading h2 em, .workflow-heading h2 em, .reporting-copy h2 em, .closing h2 em { font-weight: 300; }
em { font-family: var(--serif); font-weight: 300; }
.hero-lede { max-width: 590px; margin: 38px 0 0; color: var(--muted); font-size: 17px; line-height: 1.85; letter-spacing: .005em; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 35px; }
.hero-principles { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 32px; margin: 54px 0 0; }
.hero-principles div { display: flex; align-items: center; gap: 10px; }
.hero-principles dt { color: #a8a29e; font-family: var(--serif); font-size: 20px; }
.hero-principles dd { margin: 0; color: #5c5854; font-size: 11px; letter-spacing: .04em; }

.hero-visual { position: relative; min-height: 620px; display: flex; align-items: center; }
.hero-report-preview { position: relative; z-index: 2; width: min(540px, 100%); margin-left: auto; display: block; padding: 28px; background: #ede8dd; border: 1px solid rgba(30, 41, 59, .14); box-shadow: 0 42px 90px rgba(30, 41, 59, .18); transform: rotate(.7deg); transition: transform .25s ease, box-shadow .25s ease; }
.hero-report-preview::before { content: ""; position: absolute; inset: 13px; border: 1px solid rgba(30, 41, 59, .08); pointer-events: none; }
.hero-report-preview:hover { transform: rotate(0deg) translateY(-3px); box-shadow: 0 48px 96px rgba(30, 41, 59, .22); }
.hero-report-preview img { width: 100%; display: block; background: #fbfaf7; box-shadow: 0 20px 42px rgba(30, 41, 59, .16); }
.hero-report-label { position: absolute; left: 28px; top: -34px; color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; }
.visual-orbit { position: absolute; border: 1px solid rgba(30, 41, 59, .08); border-radius: 50%; }
.visual-orbit-one { width: 560px; height: 560px; right: -150px; top: 8px; }
.visual-orbit-two { width: 360px; height: 360px; right: 36px; bottom: 10px; }
.control-card { position: relative; z-index: 2; width: min(580px, 100%); margin-left: auto; overflow: hidden; color: white; border: 1px solid rgba(255,255,255,.12); border-radius: 0; background: var(--navy-950); box-shadow: 0 40px 80px rgba(30, 41, 59, .23); transform: rotate(.8deg); }
.control-card::before { content: ""; position: absolute; top: -120px; right: -80px; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(199,170,114,.12), transparent 68%); }
.control-topbar { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 28px 30px 22px; border-bottom: 1px solid rgba(255,255,255,.08); }
.control-kicker { display: block; margin-bottom: 5px; color: rgba(255,255,255,.44); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.control-topbar h2 { font-size: 27px; letter-spacing: 0; }
.live-status { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.64); font-size: 10px; }
.live-status i { width: 7px; height: 7px; border-radius: 50%; background: #9fc3a5; box-shadow: 0 0 0 5px rgba(159,195,165,.08); }
.close-summary { display: flex; align-items: center; justify-content: space-between; margin: 24px 30px 18px; padding: 24px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.07); }
.close-summary > div:first-child span { display: block; color: rgba(255,255,255,.5); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.close-summary > div:first-child strong { display: block; margin-top: 5px; font-family: var(--serif); font-size: 43px; font-weight: 300; }
.ring { --size: 74px; width: var(--size); height: var(--size); display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--gold) calc(var(--progress) * 1%), rgba(255,255,255,.08) 0); }
.ring::before { content: ""; position: absolute; width: 60px; height: 60px; border-radius: 50%; background: var(--navy-950); }
.ring span { position: relative; font-family: var(--serif); font-size: 20px; }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0 30px 22px; background: rgba(255,255,255,.08); }
.metric-row > div { padding: 15px; background: var(--navy-950); }
.metric-row span, .metric-row small { display: block; color: rgba(255,255,255,.42); font-size: 8px; line-height: 1.4; }
.metric-row strong { display: block; margin: 6px 0 4px; font-family: var(--serif); font-size: 21px; font-weight: 400; }
.control-list { margin: 0 30px 28px; }
.control-list > div { display: flex; align-items: center; justify-content: space-between; min-height: 44px; border-bottom: 1px solid rgba(255,255,255,.07); font-size: 10px; }
.control-list .control-list-head { min-height: 29px; color: rgba(255,255,255,.36); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.control-list > div > span { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.75); }
.status-dot { width: 6px; height: 6px; border-radius: 50%; }
.status-dot.done { background: #9fc3a5; }.status-dot.review { background: var(--gold); }
.tag { min-width: 58px; padding: 5px 8px; border: 1px solid currentColor; border-radius: 0; font-family: var(--serif); font-size: 10px; font-style: italic; font-weight: 400; text-align: center; }
.tag-done { color: #b9d4be; background: rgba(159,195,165,.045); }.tag-review { color: #dfca9f; background: rgba(199,170,114,.05); }
.control-footer { display: flex; justify-content: space-between; padding: 15px 30px; background: rgba(255,255,255,.04); color: rgba(255,255,255,.42); font-size: 8px; letter-spacing: .05em; }

.signal-strip { background: white; border-block: 1px solid var(--line); }
.signal-grid { min-height: 116px; display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); align-items: center; }
.signal-grid > * { min-height: 54px; display: flex; flex-direction: column; justify-content: center; padding: 0 28px; border-left: 1px solid var(--line); }
.signal-grid > *:first-child { padding-left: 0; border: 0; color: var(--muted); font-family: var(--serif); font-size: 20px; font-style: italic; line-height: 1.3; }
.signal-grid strong { color: var(--navy-900); font-family: var(--serif); font-size: 19px; font-weight: 400; }
.signal-grid span { margin-top: 4px; color: var(--muted); font-size: 9px; }

.section { padding: 120px 0; }
.section-heading { margin-bottom: 62px; }
.split-heading { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 60px; align-items: end; }
.section-heading h2, .workflow-heading h2, .reporting-copy h2, .closing h2 { color: var(--navy-900); font-size: clamp(48px, 5.3vw, 68px); line-height: .95; }
.section-heading > p, .split-heading > p { max-width: 420px; margin: 0 0 4px auto; color: var(--muted); font-size: 15px; line-height: 1.8; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.product-card { display: flex; flex-direction: column; min-height: 650px; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 0; transition: transform .3s ease, box-shadow .3s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: 0 28px 60px rgba(30,41,59,.09); }
.product-card-top { position: relative; min-height: 322px; padding: 38px 34px 30px; }
.product-number { position: absolute; right: 28px; top: 18px; color: rgba(30,41,59,.09); font-family: var(--serif); font-size: 62px; font-weight: 300; }
.product-icon { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 34px; color: white; border: 1px solid var(--navy-900); background: var(--navy-900); border-radius: 0; }
.product-icon svg { width: 23px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.product-card h3 { color: var(--navy-900); font-size: 32px; }
.product-card-top p { margin: 17px 0 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.pipeline-band { min-height: 104px; display: flex; align-items: center; gap: 10px; padding: 22px 26px; background: var(--navy-900); color: white; }
.pipeline-band span { flex: 1; padding: 12px 5px; border: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.78); font-size: 9px; text-align: center; }
.pipeline-band i { color: rgba(255,255,255,.35); font-family: var(--serif); font-size: 16px; font-style: normal; }
.product-card-bottom { flex: 1; display: flex; flex-direction: column; padding: 29px 34px 32px; }
.product-card-bottom ul, .specialist-copy ul { margin: 0 0 27px; padding: 0; list-style: none; }
.product-card-bottom li, .specialist-copy li { position: relative; margin: 11px 0; padding-left: 22px; color: #5c5854; font-size: 11px; }
.product-card-bottom li::before, .specialist-copy li::before { content: ""; position: absolute; left: 1px; top: 5px; width: 7px; height: 4px; border: 1px solid var(--navy-800); border-top: 0; border-right: 0; transform: rotate(-45deg); }
.product-card-bottom a, .specialist-copy a { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); color: var(--navy-900); font-size: 11px; font-weight: 500; }
.product-card-bottom a span, .specialist-copy a span { transition: transform .2s ease; }
.product-card-bottom a:hover span, .specialist-copy a:hover span { transform: translateX(4px); }

.workflow { background: var(--navy-950); color: white; }
.workflow-heading { max-width: 780px; margin-bottom: 55px; }
.workflow-heading h2 { color: white; }
.workflow-heading p { max-width: 570px; margin: 27px 0 0; color: rgba(255,255,255,.52); font-size: 14px; line-height: 1.8; }
.workflow-stage-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid rgba(255,255,255,.12); }
.workflow-tab { position: relative; min-height: 132px; padding: 24px; text-align: left; border: 0; border-right: 1px solid rgba(255,255,255,.12); background: transparent; cursor: pointer; }
.workflow-tab:first-child { border-left: 1px solid rgba(255,255,255,.12); }
.workflow-tab::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -1px; height: 2px; background: var(--gold); transition: right .3s ease; }
.workflow-tab.active { background: rgba(255,255,255,.035); }
.workflow-tab.active::after { right: 0; }
.workflow-tab > span { display: block; margin-bottom: 13px; color: rgba(255,255,255,.28); font-family: var(--serif); font-size: 17px; }
.workflow-tab strong { display: block; color: rgba(255,255,255,.9); font-family: var(--serif); font-size: 25px; font-weight: 300; }
.workflow-tab small { display: block; margin-top: 6px; color: rgba(255,255,255,.36); font-size: 9px; }
.workflow-preview { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 440px; margin-top: 55px; border: 1px solid rgba(255,255,255,.12); }
.preview-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 55px; border-right: 1px solid rgba(255,255,255,.12); }
.preview-step { color: var(--gold); font-size: 9px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; }
.preview-copy h3 { max-width: 410px; margin-top: 22px; color: white; font-size: 39px; line-height: 1; }
.preview-copy p { max-width: 440px; margin: 22px 0 29px; color: rgba(255,255,255,.5); font-size: 12px; line-height: 1.8; }
.preview-panel { align-self: center; min-width: 0; margin: 28px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); background: #0b1118; box-shadow: 0 24px 55px rgba(0,0,0,.28); }
.screen-toolbar { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 18px; border-bottom: 1px solid rgba(255,255,255,.1); background: #111a26; }
.screen-toolbar > span { overflow: hidden; color: rgba(255,255,255,.78); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.screen-toolbar > b { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; color: rgba(255,255,255,.5); font-size: 8px; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; }
.screen-toolbar > b i { width: 6px; height: 6px; border-radius: 50%; background: #8fbd9b; box-shadow: 0 0 0 4px rgba(143,189,155,.09); }
.screen-frame { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #080d12; }
.screen-frame::after { content: "Open product \2197"; position: absolute; right: 14px; bottom: 14px; padding: 8px 11px; color: white; border: 1px solid rgba(255,255,255,.2); border-radius: 0; background: rgba(8,13,18,.82); font-family: var(--serif); font-size: 10px; font-style: italic; opacity: 0; transform: translateY(5px); transition: opacity .2s ease, transform .2s ease; }
.screen-frame:hover::after, .screen-frame:focus-visible::after { opacity: 1; transform: translateY(0); }
.screen-frame img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: left top; transition: transform .45s ease; }
.screen-frame img[src*="severance-questionnaire"] { object-fit: contain; object-position: center; background: #0c1724; }
.screen-frame:hover img { transform: scale(1.018); }
.screen-caption { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 18px; border-top: 1px solid rgba(255,255,255,.08); background: #111a26; }
.screen-caption span { color: rgba(255,255,255,.78); font-family: var(--serif); font-size: 16px; }
.screen-caption small { color: rgba(255,255,255,.38); font-size: 8px; text-align: right; }
.ocr-overview { min-height: 360px; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.12); }
.ocr-product-screen { min-width: 0; padding: 19px; color: #132130; background: #f6f2e9; }
.ocr-question-screen { display: flex; flex-direction: column; background: #fbfaf6; }
.ocr-screen-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 11px; border-bottom: 1px solid #d9d4c9; }
.ocr-screen-head span { color: #a37826; font-size: 7px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ocr-screen-head b { color: #607084; font-size: 7px; font-weight: 500; }
.ocr-demo-badge { display: inline-flex; margin: 12px 0 8px; padding: 5px 7px; color: #6a5735; border: 1px solid #d9c69d; border-radius: 0; background: #f3e7c9; font-family: var(--serif); font-size: 8px; font-style: italic; font-weight: 500; letter-spacing: .03em; }
.ocr-form-preview { position: relative; height: 108px; padding: 13px; overflow: hidden; border: 1px solid #d8d3c9; background: #fff; box-shadow: 0 7px 18px rgba(19,33,48,.06); }
.ocr-form-preview::before, .ocr-form-preview::after { content: ""; position: absolute; left: 13px; right: 13px; height: 1px; background: #dedad1; }
.ocr-form-preview::before { top: 52px; box-shadow: 0 17px 0 #e8e4db, 0 34px 0 #e8e4db; }
.ocr-form-preview::after { width: 42%; top: 37px; right: auto; }
.ocr-form-preview strong { display: block; color: #172a3a; font-family: var(--serif); font-size: 13px; font-weight: 500; letter-spacing: .04em; }
.ocr-form-preview small { display: block; margin-top: 3px; color: #8b9197; font-size: 5px; letter-spacing: .12em; text-transform: uppercase; }
.ocr-field { position: absolute; z-index: 1; height: 15px; padding: 3px 5px; color: #8a651a; border: 1px solid #c69635; background: rgba(230,196,123,.19); font-size: 5px; font-style: normal; }
.field-name { top: 45px; left: 32%; width: 31%; }.field-value { top: 62px; left: 55%; width: 27%; }.field-income { top: 79px; left: 32%; width: 32%; }
.ocr-map-list { margin-top: 8px; border: 1px solid #ded9cf; background: #fff; }
.ocr-map-list > div { min-height: 35px; display: grid; grid-template-columns: .75fr 12px 1.25fr; gap: 4px; align-items: center; padding: 7px 8px; border-top: 1px solid #ece8df; }
.ocr-map-list > div:first-child { border-top: 0; }
.ocr-map-list span { color: #647385; font-size: 6px; }.ocr-map-list i { color: #b68a31; font-size: 7px; font-style: normal; }.ocr-map-list strong { color: #142535; font-size: 6px; font-weight: 500; line-height: 1.35; }
.ocr-question-progress { height: 2px; margin: 18px 0 20px; background: #e1ddd5; }.ocr-question-progress span { display: block; height: 100%; background: #c6983d; }
.ocr-question-screen > small { color: #b17d20; font-size: 6px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ocr-question-screen h4 { margin-top: 10px; color: #122333; font-family: var(--serif); font-size: 25px; font-weight: 400; line-height: .95; }
.ocr-question-screen > p { margin-top: 9px; color: #75808c; font-size: 7px; line-height: 1.5; }.ocr-question-screen > p b { color: #32465a; font-weight: 500; }
.ocr-source-chip { display: flex; justify-content: space-between; gap: 8px; margin-top: 13px; padding: 9px; border: 1px solid #ded8cc; background: #f2eee5; }
.ocr-source-chip span { color: #8a9198; font-size: 6px; }.ocr-source-chip strong { color: #304456; font-size: 6px; font-weight: 500; }
.ocr-question-screen label { display: block; margin-top: 13px; color: #233647; font-size: 7px; font-weight: 600; }.ocr-question-screen label > span { float: right; color: #a67824; font-size: 6px; font-weight: 500; }
.ocr-question-screen input { width: 100%; height: 34px; margin-top: 7px; padding: 0 10px; color: #1a3042; border: 1px solid #cfc8bb; border-radius: 0; outline: none; background: #fff; font: 500 9px var(--sans); }
.ocr-question-screen button { align-self: flex-end; margin-top: auto; padding: 10px 13px; color: #102131; border: 0; background: #e1c37e; font: 600 7px var(--sans); }.ocr-question-screen button span { margin-left: 8px; }
.property-ocr-overview { min-height: 390px; grid-template-columns: 1.13fr .87fr; }
.property-ocr-overview .ocr-product-screen { padding: 14px; }
.property-template-screen { background: #ebe8e1; }
.property-ocr-overview .ocr-screen-head { padding-bottom: 9px; }
.property-document { margin-top: 10px; padding: 12px 13px 9px; color: #162535; border: 1px solid #d5d0c5; background: #fff; box-shadow: 0 9px 24px rgba(19,33,48,.09); }
.property-document-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 2px solid #1b3042; }
.property-form-brand { display: flex; align-items: center; gap: 7px; }
.property-form-brand svg { width: 24px; height: 24px; fill: none; stroke: #173149; stroke-linecap: square; stroke-width: 1.4; }
.property-form-brand svg path:last-child { stroke: #bd8d31; }
.property-form-brand span { display: flex; flex-direction: column; }
.property-form-brand strong { color: #173149; font: 500 10px/1 var(--sans); letter-spacing: .2em; }
.property-form-brand small { margin-top: 3px; color: #bd8d31; font: 600 5px/1 var(--sans); letter-spacing: .23em; text-transform: uppercase; }
.property-template-meta { display: flex; align-items: flex-end; flex-direction: column; gap: 3px; }
.property-template-meta b { padding: 4px 6px; color: #765719; border: 1px solid #d7bc82; border-radius: 0; background: #f5ead0; font-family: var(--serif); font-size: 7px; font-style: italic; font-weight: 500; letter-spacing: .03em; }
.property-template-meta span { color: #8b9298; font-size: 5px; }
.property-document-title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 7px 0 5px; }
.property-document-title > span { color: #162535; font-family: var(--serif); font-size: 13px; font-weight: 500; }
.property-document-title small { color: #9a8c73; font-size: 5px; letter-spacing: .06em; text-transform: uppercase; }
.property-form-section { display: grid; grid-template-columns: 16px 1fr; gap: 6px; margin-top: 4px; padding: 6px 7px 6px 4px; border: 1px solid #ddd9d0; }
.property-form-focus { border: 1px solid #c59434; background: #fffbf2; box-shadow: 0 0 0 2px rgba(197,148,52,.12); }
.property-section-letter { color: #a47520; font-family: var(--serif); font-size: 12px; font-weight: 600; }
.property-field-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 11px; }
.property-field-heading strong { color: #1f2d39; font-size: 6px; font-weight: 600; }
.property-field-heading > span { padding: 3px 5px; color: #865f18; border: 1px solid #d6b66e; border-radius: 0; background: #f7edda; font-family: var(--serif); font-size: 6px; font-style: italic; font-weight: 500; letter-spacing: .02em; }
.property-form-options { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; margin-top: 6px; }
.property-form-options > span, .property-inline-options > span { display: flex; align-items: center; gap: 4px; color: #55616c; font-size: 5px; line-height: 1.15; }
.property-form-options i, .property-inline-options i { width: 9px; height: 9px; display: inline-grid; flex: 0 0 auto; place-items: center; color: white; border: 1px solid #89939c; background: #fff; font-size: 5px; font-style: normal; }
.property-form-options .is-filled { color: #6d501a; font-weight: 600; }.property-form-options .is-filled i { border-color: #b78931; background: #b78931; }
.property-inline-options { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 5px; }
.property-line { min-height: 13px; display: grid; grid-template-columns: 76px 1fr; gap: 5px; align-items: end; margin-top: 4px; }
.property-line.split { grid-template-columns: 48px 1fr 58px 1fr; }
.property-line b { color: #67737e; font-size: 4.7px; font-weight: 500; }
.property-line > span { min-height: 11px; border: 1px solid #aeb6bf; background: #f6f7f9; }
.property-document footer { display: flex; justify-content: space-between; gap: 8px; padding-top: 6px; color: #a1a6aa; font-size: 4.5px; }
.property-document footer b { color: #8a6520; font-weight: 600; }
.property-question-screen { background: #fbfaf7; }
.property-question-brand { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 11px; }
.property-question-brand > span { color: #8b7751; font-size: 6px; font-weight: 600; }
.property-form-brand.compact svg { width: 18px; height: 18px; }.property-form-brand.compact strong { font-size: 8px; }.property-form-brand.compact small { font-size: 4px; }
.property-question-screen .ocr-question-progress { margin: 10px 0 13px; }
.property-question-screen > small { color: #a97924; font-size: 5.5px; }
.property-question-screen h4 { max-width: 310px; margin-top: 8px; font-size: 24px; line-height: .95; }
.property-question-screen > p { margin-top: 8px; font-size: 6.4px; }
.property-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 13px 0 0; padding: 0; border: 0; }
.property-choice-grid label { position: relative; margin: 0; cursor: pointer; }
.property-choice-grid input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.property-choice-grid label > span { min-height: 52px; display: grid; grid-template-columns: 12px 1fr; align-content: center; column-gap: 6px; padding: 7px; border: 1px solid #d6d1c7; background: #fff; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.property-choice-grid label > span i { width: 11px; height: 11px; grid-row: 1 / 3; align-self: center; border: 1px solid #9ba4ad; border-radius: 0; background: white; box-shadow: inset 0 0 0 3px white; }
.property-choice-grid label > span strong { color: #203445; font-size: 6px; font-weight: 600; line-height: 1.2; }
.property-choice-grid label > span small { margin-top: 2px; color: #8b949c; font-size: 5px; font-weight: 400; line-height: 1.2; }
.property-choice-grid input:checked + span { border-color: #bd8d31; background: #fffaf0; box-shadow: 0 0 0 2px rgba(189,141,49,.1); }
.property-choice-grid input:checked + span i { border-color: #bd8d31; background: #bd8d31; }
.property-choice-grid input:focus-visible + span { outline: 2px solid #173149; outline-offset: 2px; }
.property-question-screen .ocr-source-chip { margin-top: 9px; padding: 7px; }
.property-question-screen button { margin-top: 10px; padding: 9px 12px; }
.preview-panel-head { display: flex; justify-content: space-between; color: rgba(255,255,255,.85); font-family: var(--serif); font-size: 21px; }
.preview-panel-head b { color: rgba(255,255,255,.44); font-family: var(--sans); font-size: 9px; font-weight: 400; }
.progress-track { height: 2px; margin: 22px 0 28px; background: rgba(255,255,255,.09); }
.progress-track span { display: block; height: 100%; background: var(--gold); transition: width .35s ease; }
.check-row { display: grid; grid-template-columns: 28px 1fr auto; gap: 13px; align-items: center; min-height: 65px; border-top: 1px solid rgba(255,255,255,.08); }
.check-row > i { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: rgba(255,255,255,.45); font-size: 8px; font-style: normal; }
.check-row.complete > i { color: var(--navy-950); border-color: var(--sage); background: var(--sage); }
.check-row.current > i { color: var(--gold); border-color: var(--gold); }
.check-row strong, .check-row small { display: block; }
.check-row strong { color: rgba(255,255,255,.75); font-size: 10px; font-weight: 400; }.check-row small { margin-top: 3px; color: rgba(255,255,255,.32); font-size: 8px; }
.check-row > b { color: rgba(255,255,255,.32); font-size: 8px; font-weight: 400; }
.check-row.complete > b { color: var(--sage); }.check-row.current > b { color: var(--gold); }

.specialist { background: #fff; }
.specialist-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.specialist-card { min-height: 585px; display: grid; grid-template-rows: 1fr 220px; overflow: hidden; border: 1px solid var(--line); }
.specialist-copy { display: flex; flex-direction: column; padding: 48px; }
.module-label { margin-bottom: 20px; color: var(--muted); font-size: 9px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; }
.specialist-copy h3 { max-width: 470px; color: var(--navy-900); font-size: 38px; line-height: 1; }
.specialist-copy p { max-width: 510px; margin: 18px 0 17px; color: var(--muted); font-size: 12px; line-height: 1.75; }
.specialist-copy ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: auto; }
.specialist-copy li { padding: 0 8px 0 0; line-height: 1.45; }
.specialist-copy li::before { display: none; }
.specialist-copy a { margin-top: 22px; }
.risk-visual, .fund-visual { background: var(--navy-900); color: white; }
.risk-visual { display: grid; grid-template-columns: 180px 1fr; gap: 32px; align-items: center; padding: 34px 42px; }
.risk-score { display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.1); }
.risk-score span, .risk-score small, .fund-visual span, .fund-visual small { color: rgba(255,255,255,.4); font-size: 8px; letter-spacing: .06em; }
.risk-score strong { margin: 4px 0; font-family: var(--serif); font-size: 66px; font-weight: 300; line-height: .9; }
.risk-score small { color: var(--sage); }
.risk-bars > div { display: grid; grid-template-columns: 80px 1fr 20px; gap: 8px; align-items: center; margin: 13px 0; }
.risk-bars span, .risk-bars em { color: rgba(255,255,255,.47); font-family: var(--sans); font-size: 8px; font-style: normal; }
.risk-bars i { height: 2px; background: rgba(255,255,255,.1); }
.risk-bars i b { display: block; height: 100%; background: var(--gold); }
.fund-visual { padding: 32px 42px; }
.fund-label { display: block; }.fund-visual > strong { display: block; margin-top: 10px; font-family: var(--serif); font-size: 46px; font-weight: 300; }.fund-visual > small { display: block; }
.fund-meter { height: 3px; margin: 24px 0; background: rgba(255,255,255,.1); }.fund-meter i { display: block; height: 100%; background: var(--sage); }
.fund-stats { display: grid; grid-template-columns: repeat(3, 1fr); }.fund-stats div { display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.1); }.fund-stats div:last-child { border: 0; padding-left: 14px; }.fund-stats div:nth-child(2) { padding-left: 14px; }
.fund-stats b { font-family: var(--serif); font-size: 24px; font-weight: 300; }.fund-stats span { margin-top: 3px; }

.reporting { background: var(--cream-100); }
.reporting-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.report-stack { position: relative; min-height: 620px; }
.report-book-trigger { width: 100%; padding: 0; color: inherit; border: 0; border-radius: 0; background: transparent; cursor: pointer; text-align: left; }
.report-book-trigger:focus-visible { outline: 2px solid var(--navy-900); outline-offset: 6px; }
.report-page { position: absolute; width: 380px; height: 530px; left: 50%; top: 50%; background: white; border: 1px solid var(--line); box-shadow: 0 24px 60px rgba(30,41,59,.12); transform-origin: center; }
.report-page-back { transform: translate(-43%, -51%) rotate(8deg); background: #ddd9d1; }.report-page-mid { transform: translate(-53%, -50%) rotate(-3deg); }
.report-page-front { display: flex; flex-direction: column; padding: 42px; color: white; background: var(--navy-900); transform: translate(-50%, -50%) rotate(1deg); }
.report-page-front > span { font-size: 9px; letter-spacing: .2em; }.report-rule { width: 34px; height: 1px; margin: 58px 0 24px; background: var(--gold); }.report-page-front > small { color: rgba(255,255,255,.5); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }.report-page-front h3 { margin-top: 28px; color: white; font-size: 47px; line-height: .9; }
.report-meta { display: flex; align-items: flex-end; justify-content: space-between; margin-top: auto; color: rgba(255,255,255,.5); font-size: 9px; }.report-meta b { color: white; font-family: var(--serif); font-size: 26px; font-weight: 300; }
.report-open-cue { position: absolute; left: 50%; bottom: 3px; width: 380px; display: flex; justify-content: space-between; padding: 13px 0; color: var(--navy-900); border-top: 1px solid #bdb6aa; transform: translateX(-50%); }
.report-open-cue em { font-family: var(--serif); font-size: 17px; }
.report-open-cue b { color: #96783f; font-size: 17px; font-weight: 400; }
.report-book-trigger .report-page { transition: transform .55s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease; }
.report-book-trigger:hover .report-page-back, .report-book-trigger:focus-visible .report-page-back { transform: translate(-35%, -51%) rotate(10deg); }
.report-book-trigger:hover .report-page-mid, .report-book-trigger:focus-visible .report-page-mid { transform: translate(-58%, -50%) rotate(-5deg); }
.report-book-trigger:hover .report-page-front, .report-book-trigger:focus-visible .report-page-front { transform: translate(-57%, -50%) rotate(-2deg); box-shadow: 0 30px 70px rgba(30,41,59,.2); }
.reporting-copy > p { max-width: 530px; margin: 28px 0; color: var(--muted); font-size: 14px; line-height: 1.85; }
.report-output-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 35px 0 38px; border-top: 1px solid #c9c4ba; border-left: 1px solid #c9c4ba; }
.report-output-grid div { min-height: 92px; display: flex; flex-direction: column; justify-content: center; padding: 18px; border-right: 1px solid #c9c4ba; border-bottom: 1px solid #c9c4ba; }
.report-output-grid strong { color: var(--navy-900); font-family: var(--serif); font-size: 20px; font-weight: 400; }.report-output-grid span { margin-top: 5px; color: var(--muted); font-size: 9px; }

body.report-library-open { overflow: hidden; }
.report-library[hidden] { display: none; }
.report-library { position: fixed; z-index: 300; inset: 0; display: grid; place-items: center; padding: 30px; }
.report-library-backdrop { position: absolute; inset: 0; background: rgba(9,20,34,.9); }
.report-library-dialog { position: relative; width: min(1420px, 100%); height: min(880px, calc(100vh - 60px)); display: flex; flex-direction: column; overflow: hidden; color: var(--navy-900); border: 1px solid rgba(255,255,255,.28); background: var(--cream-50); box-shadow: 0 38px 90px rgba(0,0,0,.34); }
.report-library-header { min-height: 102px; display: flex; align-items: center; justify-content: space-between; padding: 22px 30px; border-bottom: 1px solid #c9c4ba; }
.report-library-header > div > span { color: #95753b; font-size: 8px; letter-spacing: .17em; }
.report-library-header h2 { margin: 5px 0 0; font-size: 34px; line-height: 1; }
.report-library-header > button { align-self: stretch; min-width: 106px; color: var(--navy-900); border: 1px solid #bdb6aa; border-radius: 0; background: transparent; font-family: var(--serif); font-size: 16px; font-style: italic; cursor: pointer; }
.report-library-header > button span { margin-left: 10px; font-family: var(--sans); font-size: 18px; font-style: normal; }
.report-library-body { min-height: 0; flex: 1; display: grid; grid-template-columns: 290px minmax(0, 1fr); }
.report-library-list { overflow-y: auto; color: white; background: var(--navy-900); border-right: 1px solid #29394d; }
.report-library-list button { width: 100%; min-height: 128px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 20px 24px; color: rgba(255,255,255,.72); border: 0; border-bottom: 1px solid rgba(255,255,255,.12); border-radius: 0; background: transparent; text-align: left; cursor: pointer; }
.report-library-list button > span { color: rgba(255,255,255,.38); font-size: 8px; letter-spacing: .13em; }
.report-library-list button strong { margin-top: 10px; color: white; font-family: var(--serif); font-size: 20px; font-weight: 400; }
.report-library-list button small { margin-top: 5px; color: rgba(255,255,255,.42); font-size: 9px; }
.report-library-list button.active { padding-left: 20px; border-left: 4px solid var(--gold); background: #1b2a3d; }
.report-library-list button.active > span { color: var(--gold); }
.report-library-list button:focus-visible { outline: 2px solid var(--gold); outline-offset: -4px; }
.report-library-viewer { min-width: 0; display: flex; flex-direction: column; padding: 22px 28px 20px; background: #e4e0d8; }
.report-viewer-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 17px; }
.report-viewer-heading [data-report-kicker] { color: #8d7140; font-size: 8px; letter-spacing: .14em; }
.report-viewer-heading h3 { margin-top: 5px; font-size: 24px; font-weight: 400; }
.report-viewer-heading a { flex: 0 0 auto; padding: 10px 13px; color: var(--navy-900); border: 1px solid #aaa397; font-family: var(--serif); font-size: 14px; font-style: italic; }
.report-viewer-heading a span { margin-left: 7px; font-family: var(--sans); font-style: normal; }
.report-viewer-canvas { min-height: 0; flex: 1; overflow: hidden; border: 1px solid #b9b2a8; background: #77736e; }
.report-book-stage { position: relative; width: 100%; height: 100%; min-height: 430px; display: grid; place-items: center; overflow: hidden; padding: 18px; background: radial-gradient(circle at 50% 44%, #aaa69f 0, #817d77 48%, #68645f 100%); }
.report-book-stage[data-orientation="landscape"] { padding: 24px 38px; }
.report-flipbook { width: 100%; height: 100%; opacity: 1; transition: opacity .2s ease; }
.report-book-page { position: relative; width: 100%; height: 100%; overflow: hidden; border: 1px solid #d0cbc2; background: #fbfaf7; box-shadow: inset 0 0 28px rgba(24,33,45,.05); }
.report-book-page canvas { width: 100%; height: 100%; display: block; object-fit: contain; background: white; opacity: .12; transition: opacity .22s ease; }
.report-book-page.rendered canvas { opacity: 1; }
.report-book-page > span { position: absolute; right: 12px; bottom: 8px; color: #8d8374; font-family: var(--serif); font-size: 11px; font-style: italic; }
.report-book-page.render-error::after { content: "Page preview unavailable"; position: absolute; inset: 0; display: grid; place-items: center; color: #675f55; font-family: var(--serif); font-style: italic; }
.report-book-loading { position: absolute; z-index: 8; inset: 0; display: flex; align-items: center; justify-content: center; gap: 12px; color: white; background: rgba(19,28,42,.84); font-family: var(--serif); font-size: 16px; font-style: italic; }
.report-book-loading[hidden] { display: none; }
.report-book-loading i { width: 24px; height: 24px; border: 1px solid rgba(255,255,255,.28); border-top-color: var(--gold); border-radius: 50%; animation: report-book-spin .8s linear infinite; }
.report-book-stage > img { width: 100%; height: 100%; display: block; object-fit: contain; padding: 8px; background: #d7d3cb; }
.report-book-stage > img[hidden] { display: none; }
.report-book-controls { min-height: 44px; display: grid; grid-template-columns: 120px 1fr 120px; align-items: center; margin-top: 8px; border-top: 1px solid #c4bdb2; border-bottom: 1px solid #c4bdb2; }
.report-book-controls[hidden] { display: none; }
.report-book-controls button { height: 100%; color: var(--navy-900); border: 0; border-radius: 0; background: transparent; font-family: var(--serif); font-size: 14px; font-style: italic; cursor: pointer; }
.report-book-controls button:first-child { border-right: 1px solid #c4bdb2; }.report-book-controls button:last-child { border-left: 1px solid #c4bdb2; }
.report-book-controls button:disabled { cursor: default; opacity: .3; }
.report-book-controls button:not(:disabled):hover { background: rgba(255,255,255,.42); }
.report-book-controls > span { color: #6e685f; font-family: var(--serif); font-size: 13px; font-style: italic; text-align: center; }
@keyframes report-book-spin { to { transform: rotate(360deg); } }
.report-library-viewer > p { margin: 13px 0 0; color: #625e59; font-family: var(--serif); font-size: 14px; font-style: italic; line-height: 1.4; }

.closing { padding: 110px 0; color: white; background: var(--navy-950); }
.closing-kicker { color: var(--gold); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.closing h2 { margin-top: 25px; color: white; }
.enquiry-layout { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(560px, 1.22fr); gap: clamp(55px, 7vw, 110px); align-items: start; }
.enquiry-intro { position: sticky; top: 125px; }
.enquiry-intro > p { max-width: 520px; margin: 28px 0 34px; color: rgba(255,255,255,.55); font-size: 14px; line-height: 1.8; }
.enquiry-stages { margin: 0 0 28px; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.1); }
.enquiry-stages li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.enquiry-stages li > span { color: var(--gold); font-family: var(--serif); font-size: 19px; }
.enquiry-stages strong, .enquiry-stages small { display: block; }
.enquiry-stages strong { color: rgba(255,255,255,.9); font-family: var(--serif); font-size: 18px; font-weight: 400; }
.enquiry-stages small { margin-top: 3px; color: rgba(255,255,255,.4); font-size: 9px; line-height: 1.45; }
.enquiry-form { padding: 42px; color: var(--ink); background: var(--cream-50); border-top: 3px solid var(--gold); }
.form-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 23px; border-bottom: 1px solid var(--line); }
.form-heading span { color: var(--navy-900); font-family: var(--serif); font-size: 28px; }
.form-heading p { margin: 0; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; }
.enquiry-form > label, .form-grid > label { display: block; margin-top: 22px; color: #5c5854; font-size: 10px; font-weight: 600; letter-spacing: .03em; }
.form-grid > label { margin-top: 0; }
.enquiry-form input[type="text"], .enquiry-form input[type="email"], .enquiry-form input[type="tel"], .enquiry-form select, .enquiry-form textarea { width: 100%; margin-top: 8px; color: var(--navy-900); border: 1px solid #c9c4ba; border-radius: 0; background: white; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.enquiry-form input[type="text"], .enquiry-form input[type="email"], .enquiry-form input[type="tel"], .enquiry-form select { height: 47px; padding: 0 13px; }
.enquiry-form textarea { min-height: 84px; padding: 12px 13px; line-height: 1.55; resize: vertical; }
.enquiry-form textarea::placeholder { color: #aaa39a; }
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus { border-color: var(--navy-800); box-shadow: 0 0 0 2px rgba(44,62,80,.1); }
.stage-choice { margin: 27px 0 0; padding: 0; border: 0; }
.stage-choice legend { margin-bottom: 10px; color: #5c5854; font-size: 10px; font-weight: 600; letter-spacing: .03em; }
.stage-choice > div { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.stage-choice label { position: relative; cursor: pointer; }
.stage-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.stage-choice label > span { min-height: 118px; display: flex; flex-direction: column; padding: 13px 11px; border: 1px solid #cec8bd; background: white; transition: border-color .2s ease, background .2s ease; }
.stage-choice b { color: #a4864f; font-family: var(--serif); font-size: 17px; font-weight: 400; }
.stage-choice strong { margin-top: auto; color: var(--navy-900); font-family: var(--serif); font-size: 16px; font-weight: 500; }
.stage-choice small { min-height: 28px; margin-top: 4px; color: var(--muted); font-size: 7px; line-height: 1.35; }
.stage-choice input:checked + span { border-color: var(--navy-900); background: #eee9df; box-shadow: inset 0 -3px var(--gold); }
.stage-choice input:focus-visible + span { outline: 2px solid var(--navy-900); outline-offset: 2px; }
.form-grid-final { grid-template-columns: repeat(3, 1fr); }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.enquiry-form > .consent-row { display: flex; gap: 10px; align-items: flex-start; margin-top: 27px; color: var(--muted); font-size: 9px; font-weight: 400; line-height: 1.55; }
.consent-row input { width: 16px; height: 16px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--navy-900); }
.enquiry-submit { width: 100%; margin-top: 24px; }
.enquiry-submit:disabled { cursor: wait; opacity: .65; transform: none; box-shadow: none; }
.form-status { min-height: 20px; margin: 13px 0 0; color: #835128; font-size: 10px; line-height: 1.5; text-align: center; }
.form-status.success { color: #3f6e4a; }

.site-footer { padding: 72px 0 28px; background: var(--cream-100); border-top: 1px solid var(--line); }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 50px; padding-bottom: 55px; }
.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-grid > div:first-child p { max-width: 330px; margin: 18px 0 0; color: var(--muted); font-family: var(--serif); font-size: 18px; font-style: italic; line-height: 1.45; }
.footer-grid > div > strong { margin-bottom: 7px; color: var(--navy-900); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.footer-grid > div > a, .footer-grid > div > span { color: var(--muted); font-size: 10px; line-height: 1.5; }.footer-grid > div > a:hover { color: var(--navy-900); }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 25px; border-top: 1px solid var(--line); color: #8d8780; font-size: 8px; }

.reveal { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay, .reveal-delay-short, .reveal-delay-long { transition-delay: 0s; }

@media (max-width: 1050px) {
  .primary-nav { display: none; position: absolute; left: 0; right: 0; top: 80px; padding: 20px 24px 28px; background: var(--cream-50); border-top: 1px solid var(--line); box-shadow: 0 20px 30px rgba(30,41,59,.08); }
  .primary-nav.open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .primary-nav a { padding: 13px 0; border-bottom: 1px solid var(--line); }
  .nav-toggle { display: block; margin-left: auto; }.nav-actions .text-link { display: none; }
  .hero-grid { grid-template-columns: 1fr; padding-top: 40px; }.hero-copy { padding-bottom: 0; }.hero-visual { min-height: 570px; }.control-card, .hero-report-preview { margin: 0 auto; }
  .signal-grid { grid-template-columns: 1fr 1fr; padding: 18px 0; }.signal-grid > * { min-height: 72px; }.signal-grid > *:nth-child(3) { border-left: 0; }
  .product-grid { grid-template-columns: 1fr; }.product-card { min-height: 0; display: grid; grid-template-columns: 1fr 210px 1fr; }.product-card-top { min-height: 330px; }.pipeline-band { min-height: 100%; flex-direction: column; justify-content: center; }.pipeline-band span { flex: 0 0 auto; width: 100%; }.pipeline-band i { transform: rotate(90deg); }
  .specialist-copy ul { grid-template-columns: 1fr; }
  .specialist-card { min-width: 0; min-height: 0; grid-template-rows: minmax(0, 1fr) 176px; }
  .specialist-copy { min-width: 0; padding: 34px 32px; }
  .specialist-copy h3 { font-size: 32px; }
  .risk-visual { grid-template-columns: 145px minmax(0, 1fr); gap: 24px; padding: 26px 32px; }
  .risk-bars > div { grid-template-columns: 64px minmax(0, 1fr) 18px; gap: 7px; margin: 10px 0; }
  .fund-visual { padding: 26px 32px; }
  .fund-meter { margin: 18px 0; }
  .reporting-grid { gap: 30px; }.report-stack { transform: scale(.85); }
  .report-library-body { grid-template-columns: 245px minmax(0, 1fr); }.report-library-list button { min-height: 112px; padding-inline: 18px; }
  .enquiry-layout { grid-template-columns: 1fr; }.enquiry-intro { position: static; }.enquiry-intro > p { max-width: 720px; }
}

@media (max-width: 760px) {
  :root { --shell: min(100% - 32px, 1240px); }
  .nav-actions { display: none; }.site-header { height: 70px; }.primary-nav { top: 70px; }.brand-wordmark strong { font-size: 19px; }
  .hero { padding-top: 70px; }.hero-grid { min-height: 0; gap: 20px; }.hero-copy { padding-top: 58px; }.hero h1 { font-size: clamp(54px, 17vw, 74px); }.hero-lede { font-size: 15px; }.hero-actions { align-items: stretch; flex-direction: column; }.hero-actions .button { width: 100%; }.quiet-link { justify-content: center; }.hero-principles { grid-template-columns: 1fr; gap: 13px; margin-top: 38px; }
  .hero-visual { min-height: 500px; margin-inline: -6px; }.hero-report-preview { width: min(390px, calc(100% - 18px)); padding: 18px; transform: none; }.hero-report-label { left: 18px; top: -28px; font-size: 8px; }.control-card { transform: none; }.control-topbar { padding: 22px 20px; }.close-summary, .metric-row, .control-list { margin-left: 20px; margin-right: 20px; }.metric-row { grid-template-columns: 1fr 1fr; }.metric-row > div:last-child { display: none; }
  .signal-grid { grid-template-columns: 1fr; }.signal-grid > * { padding-inline: 0; border: 0; border-top: 1px solid var(--line); }.signal-grid > *:first-child { min-height: 90px; border: 0; }
  .section { padding: 82px 0; }.split-heading { grid-template-columns: 1fr; gap: 25px; }.section-heading h2, .workflow-heading h2, .reporting-copy h2, .closing h2 { font-size: 48px; }.section-heading > p, .split-heading > p { margin: 0; }
  .product-card { display: flex; }.product-card-top { min-height: 0; }.pipeline-band { min-height: 100px; flex-direction: row; }.pipeline-band span { flex: 1; width: auto; }.pipeline-band i { transform: none; }
  .workflow-stage-grid { grid-template-columns: 1fr 1fr; }.workflow-tab { min-height: 115px; border-bottom: 1px solid rgba(255,255,255,.12); }.workflow-preview { grid-template-columns: 1fr; }.preview-copy { padding: 38px 28px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }.preview-panel { margin: 18px; padding: 23px 19px; }.check-row { grid-template-columns: 26px 1fr; }.check-row > b { display: none; }
  .preview-panel { padding: 0; }.screen-caption { align-items: flex-start; flex-direction: column; gap: 3px; }.screen-caption small { text-align: left; }
  .ocr-overview { grid-template-columns: 1fr; }.ocr-product-screen { min-height: 355px; }.ocr-question-screen { min-height: 330px; }
  .specialist-grid { grid-template-columns: 1fr; }.specialist-card { min-height: 0; }.specialist-copy { padding: 36px 28px; }.risk-visual { grid-template-columns: 115px 1fr; padding: 28px 22px; }.risk-bars > div { grid-template-columns: 55px 1fr 18px; }.fund-visual { padding-inline: 28px; }
  .reporting-grid { grid-template-columns: 1fr; }.report-stack { min-height: 540px; transform: scale(.78); margin: -50px -35px; }.reporting-copy { margin-top: -20px; }.report-output-grid { grid-template-columns: 1fr; }
  .report-library { padding: 0; }.report-library-dialog { width: 100%; height: 100%; border: 0; }.report-library-header { min-height: 82px; padding: 16px; }.report-library-header h2 { font-size: 27px; }.report-library-header > button { min-width: 82px; }.report-library-body { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }.report-library-list { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; border-right: 0; }.report-library-list button { min-height: 84px; padding: 12px 13px; }.report-library-list button strong { margin-top: 5px; font-size: 15px; }.report-library-list button small { display: none; }.report-library-viewer { padding: 14px; }.report-viewer-heading { align-items: flex-start; }.report-viewer-heading h3 { font-size: 19px; }.report-viewer-heading a { padding: 8px; font-size: 12px; }.report-book-stage { min-height: 300px; padding: 10px; }.report-book-stage[data-orientation="landscape"] { padding: 10px; }.report-book-controls { grid-template-columns: 86px 1fr 86px; }.report-library-viewer > p { display: none; }
  .enquiry-form { padding: 30px 22px; }.form-grid, .form-grid-final { grid-template-columns: 1fr; gap: 0; }.form-grid > label { margin-top: 18px; }.stage-choice > div { grid-template-columns: 1fr 1fr; }.stage-choice label:last-child { grid-column: 1 / -1; }.stage-choice label > span { min-height: 104px; }.form-heading { align-items: flex-start; flex-direction: column; gap: 6px; }.footer-grid { grid-template-columns: 1fr 1fr; }.footer-grid > div:first-child { grid-column: 1 / -1; }.footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
