/* ============================================================
   PROPENTIAL — Home v3 · futuristic / kinetic
   Loads AFTER propential.css. New shell + rich interactions.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  --bg-0: #0A0B09;
  --bg-1: #111310;
  --bg-2: #16180F;
  --surface: rgba(243,238,226,0.035);
  --surface-2: rgba(243,238,226,0.06);
  --stroke: rgba(243,238,226,0.10);
  --stroke-gold: rgba(214,177,94,0.30);
  --glow: rgba(214,177,94,0.55);
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', monospace;
  --keyhole-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cpath d='M50 4 L94 38 Q97 40.5 97 45 L97 112 Q97 117 92 117 L8 117 Q3 117 3 112 L3 45 Q3 40.5 6 38 Z' fill='%23000'/%3E%3C/svg%3E");
}

body { background: var(--bg-0); overflow-x: hidden; }
html { overflow-x: hidden; }
body:not([data-page="home-v3"]) #main { padding-top: clamp(88px, 11vh, 108px); }
body:not([data-page="home-v3"]) .page-head .eyebrow { font-family:var(--font-mono); }
body:not([data-page="home-v3"]) .page-head .eyebrow::before { content:"// "; }
body:not([data-page="home-v3"]) .page-head .italic-gold, body:not([data-page="home-v3"]) .grad-text { background:linear-gradient(100deg,#ECD58C,#D6B15E 45%,#BC8E3C 70%,#F0DC97); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }

/* animated aurora mesh + grid backdrop (fixed) */
.v3-bg { position: fixed; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; }
.v3-bg::before {
  content: ""; position: absolute; inset: -20%;
  background:
    radial-gradient(40% 35% at 18% 12%, rgba(214,177,94,0.16), transparent 60%),
    radial-gradient(45% 40% at 85% 8%, rgba(236,213,140,0.10), transparent 60%),
    radial-gradient(50% 45% at 70% 90%, rgba(182,135,58,0.12), transparent 60%);
  animation: v3drift 22s ease-in-out infinite alternate;
}
.v3-bg::after { /* faint grid */
  content: ""; position: absolute; inset: 0; opacity: 0.5;
  background-image:
    linear-gradient(rgba(243,238,226,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(243,238,226,0.035) 1px, transparent 1px);
  background-size: 64px 64px; mask-image: radial-gradient(80% 80% at 50% 30%, #000 30%, transparent 100%);
}
@keyframes v3drift { from { transform: translate3d(-3%,-2%,0) scale(1.05); } to { transform: translate3d(4%,3%,0) scale(1.15); } }

/* scroll progress */
.v3-progress { position: fixed; top: 0; left: 0; height: 2px; width: 0; z-index: 100; background: var(--gold-grad); box-shadow: 0 0 12px var(--glow); }

/* cursor spotlight (hero) */
.spotlight { position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: radial-gradient(280px circle at var(--mx,50%) var(--my,40%), rgba(214,177,94,0.14), transparent 70%);
  opacity: 0; transition: opacity .4s ease; }

/* ============================================================
   NAV — floating glass dock
   ============================================================ */
.nav { position: fixed; top: 14px; left: 50%; transform: translateX(-50%); width: calc(100% - 28px); max-width: 1180px;
  background: rgba(12,13,11,0.55); backdrop-filter: blur(20px) saturate(150%); -webkit-backdrop-filter: blur(20px) saturate(150%);
  border: 1px solid var(--stroke); border-radius: 999px; }
.nav__inner { height: 60px; padding: 0 10px 0 22px; }
.nav__brand .wordmark { font-size: 1.34rem; }
.nav__links a { font-family: var(--font-mono); font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.08em; }
.nav__cta .btn { border-radius: 999px; }
.nav__cta .btn-primary { box-shadow: 0 0 0 1px rgba(214,177,94,0.4), 0 0 22px -6px var(--glow); }
body { padding-top: 0; }
@media (min-width: 961px) { .nav__menu { gap: 30px; } }

/* ============================================================
   TYPE — mono labels + kinetic accents
   ============================================================ */
.mono { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.72rem; color: var(--champagne); }
.mono-dim { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em; color: var(--text-faint); }
.tag { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--champagne); border: 1px solid var(--stroke-gold); border-radius: 999px; padding: 7px 14px; background: rgba(214,177,94,0.05); }
.tag .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--champagne); box-shadow: 0 0 8px var(--glow); animation: pulse 2.4s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.35} }

.grad-text { background: linear-gradient(100deg,#ECD58C,#D6B15E 45%,#BC8E3C 70%,#F0DC97); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

/* ============================================================
   BUTTONS — magnetic + arrow
   ============================================================ */
.btn { border-radius: 999px; }
.btn-arrow { display: inline-flex; align-items: center; gap: 12px; }
.btn-arrow .ico { display: inline-flex; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.btn-arrow:hover .ico { transform: translateX(5px); }
.btn-primary { position: relative; overflow: hidden; }
.btn-primary::after { content:""; position:absolute; top:0; left:-75%; width:45%; height:100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.6), transparent); transform: skewX(-20deg); transition: left .7s cubic-bezier(.2,.7,.2,1); }
.btn-primary:hover::after { left: 135%; }
.btn-magnetic { will-change: transform; transition: transform .25s cubic-bezier(.2,.7,.2,1); }

/* ============================================================
   SECTION SCAFFOLD
   ============================================================ */
.v3-section { padding: clamp(80px, 11vw, 150px) 0; position: relative; }
.v3-head { max-width: none; margin-bottom: clamp(36px,5vw,56px); }
.v3-head .mono { display: inline-flex; margin-bottom: 18px; }
.v3-head h2 { font-size: clamp(2rem, 5vw, 3.2rem); }

/* ============================================================
   HERO
   ============================================================ */
.v3hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; padding-top: 92px; }
.v3hero__bg { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; }
.v3hero__bg.kb { animation: lux-kb 28s ease-in-out infinite alternate; transform-origin:60% 50%; }
@keyframes lux-kb { from{ transform:scale(1.04);} to{ transform:scale(1.14);} }
.v3hero__scrim { position:absolute; inset:0; z-index:0; background:
   linear-gradient(180deg, rgba(10,11,9,0.6) 0%, rgba(10,11,9,0.15) 30%, rgba(10,11,9,0.35) 65%, rgba(10,11,9,0.95) 100%),
   linear-gradient(90deg, rgba(10,11,9,0.72) 0%, rgba(10,11,9,0.18) 48%, transparent 72%); }
.v3hero__inner { position: relative; z-index: 2; width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 22px;
  display: grid; grid-template-columns: 1.06fr 0.94fr; gap: clamp(30px,5vw,64px); align-items: center; }
.v3hero__title { font-size: clamp(3rem, 8vw, 6rem); line-height: 0.98; letter-spacing: -0.03em; color: var(--ivory); margin: 22px 0 22px; }
.v3hero__sub { font-size: 0.95rem; color: var(--text-muted); max-width: 46ch; margin-bottom: 30px; }
.v3hero__sub .em-strong { color: var(--ivory); font-weight: 600; }
.v3hero__cta { display: flex; flex-wrap: wrap; gap: 14px; }
.v3hero__media { position: absolute; right: 0; top: 0; bottom: 0; width: 46%; z-index: 1; }
.v3hero__media .img { position:absolute; inset:0; background-size: cover; background-position: center; opacity: .5;
  mask-image: linear-gradient(90deg, transparent, #000 45%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%); }
@media (max-width: 940px) { .v3hero__media { display:none; } .v3hero__inner { grid-template-columns: 1fr; } }

/* equity dashboard card */
.dash { position: relative; border-radius: 24px; padding: 26px; background: linear-gradient(160deg, rgba(30,30,21,0.85), rgba(13,14,11,0.9));
  border: 1px solid var(--stroke); backdrop-filter: blur(16px); box-shadow: 0 50px 100px -50px rgba(0,0,0,0.9); overflow: hidden; }
.dash__border { position:absolute; inset:0; border-radius:24px; padding:1px; pointer-events:none;
  background: conic-gradient(from var(--ang,0deg), transparent 0 70%, var(--glow) 85%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: spin 6s linear infinite; opacity:.8; }
@keyframes spin { to { --ang: 360deg; } }
@property --ang { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.dash__top { display:flex; justify-content:space-between; align-items:center; margin-bottom: 22px; }
.dash__chip { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing:0.1em; color: var(--text-muted); border:1px solid var(--stroke); border-radius:999px; padding:5px 11px; }
.dash__label { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-faint); }
.dash__fig { font-family: var(--font-display); font-size: clamp(2.6rem,6vw,3.6rem); color: var(--ivory); line-height: 1; margin: 6px 0 4px; }
.dash__bar { height: 6px; border-radius: 999px; background: rgba(243,238,226,0.1); margin: 18px 0 8px; overflow: hidden; }
.dash__bar i { display:block; height:100%; width:0; background: var(--gold-grad); box-shadow: 0 0 14px var(--glow); transition: width 1.4s cubic-bezier(.2,.7,.2,1); }
.dash__meta { display:flex; justify-content:space-between; font-family: var(--font-mono); font-size: 0.66rem; color: var(--text-muted); }
.dash__row { display:grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 20px 0; padding: 18px 0; border-top:1px solid var(--stroke); border-bottom:1px solid var(--stroke); }
.dash__row .k { display:block; font-family: var(--font-mono); font-size:0.6rem; letter-spacing:0.12em; text-transform:uppercase; color: var(--text-faint); margin-bottom:4px; }
.dash__row .v { display:block; font-size:0.9rem; color: var(--ivory); font-weight:600; }
.dash__foot { font-size: 0.7rem; color: var(--text-faint); margin-top: 14px; }

/* ============================================================
   TICKER
   ============================================================ */
.ticker { border-top:1px solid var(--stroke); border-bottom:1px solid var(--stroke); overflow:hidden; padding: 16px 0; background: rgba(243,238,226,0.015); }
.ticker__track { display:flex; width:max-content; animation: marquee 90s linear infinite; }
.ticker:hover .ticker__track { animation-play-state: paused; }
.ti-half { display:flex; align-items:center; gap:40px; padding-right:40px; }
.ticker .ti { font-family: var(--font-mono); font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; color: var(--text-muted); }
.ticker .sep { color: var(--champagne); }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ============================================================
   KEYHOLE CUTOUT (glowing)
   ============================================================ */
.cutout-band { display:grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(30px,5vw,64px); align-items:center; }
.keyhole-wrap { position:relative; display:flex; justify-content:center; }
.keyhole { position:relative; width:100%; aspect-ratio:4/5; max-width:440px; background-size:cover; background-position:center;
  -webkit-mask: var(--keyhole-mask) center/contain no-repeat; mask: var(--keyhole-mask) center/contain no-repeat;
  filter: drop-shadow(0 0 40px rgba(214,177,94,0.25)); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.keyhole-wrap:hover .keyhole { transform: scale(1.03); }
@media (max-width:820px){ .cutout-band{ grid-template-columns:1fr; } .keyhole{ margin:0 auto; } }

/* ============================================================
   BENTO — interactive dashboard cards
   ============================================================ */
.bento3 { display:grid; grid-template-columns: repeat(6,1fr); gap:16px; }
.tile { position:relative; border-radius:20px; padding:26px; background: var(--surface); border:1px solid var(--stroke); overflow:hidden;
  transition: transform .4s cubic-bezier(.2,.7,.2,1), background .4s ease, border-color .4s ease, box-shadow .4s ease; }
.tile::before { content:""; position:absolute; inset:0; opacity:0; transition:opacity .4s ease;
  background: radial-gradient(120% 90% at 50% 0%, rgba(214,177,94,0.18), transparent 60%); }
.tile:hover { transform: translateY(-6px) scale(1.015); border-color: var(--stroke-gold); background: var(--surface-2); box-shadow: 0 40px 80px -40px rgba(0,0,0,0.7); }
.tile:hover::before { opacity:1; }
.tile > * { position:relative; z-index:1; }
.tile .mono { color: var(--text-faint); }
.tile .num { font-family: var(--font-display); font-size: clamp(2.2rem,4.5vw,3rem); color: var(--ivory); line-height:1; margin:14px 0 8px; }
.tile p { font-size:0.84rem; color: var(--text-muted); }
.tile--gold { background: var(--gold-grad); border:1px solid transparent; }
.tile--gold::before { content:none; }
.tile--gold .mono, .tile--gold .num { color:#221A08; }
.tile--gold p { color:#3c2f12; }
/* invert to dark on hover so it stays readable */
.tile--gold:hover { background: var(--bg-1); border-color: var(--stroke-gold); box-shadow: 0 40px 80px -40px rgba(0,0,0,0.7), 0 0 40px -16px var(--glow); }
.tile--gold:hover .mono { color: var(--champagne); }
.tile--gold:hover .num { color: var(--ivory); }
.tile--gold:hover p { color: var(--text-muted); }
.tile--img { padding:0; }
.tile--img .img { position:absolute; inset:0; background-size:cover; background-position:center; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.tile--img:hover .img { transform: scale(1.08); }
.tile--img .cap { position:absolute; left:0; right:0; bottom:0; padding:22px; z-index:2; }
.tile--img::after { content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(0,0,0,0.7), transparent 60%); z-index:1; }
.col-3{ grid-column: span 3; } .col-2{ grid-column: span 2; } .col-4{ grid-column: span 4; }
.row-2{ grid-row: span 2; }
@media (max-width:900px){ .bento3{ grid-template-columns: repeat(2,1fr);} .col-3,.col-2,.col-4{ grid-column: span 1;} .tile--img.row-2{ grid-column: span 2; min-height: 240px;} }

/* ============================================================
   STEPS — connected
   ============================================================ */
.steps3 { display:grid; grid-template-columns: repeat(3,1fr); gap:16px; counter-reset: s; }
.step3 { position:relative; border-radius:20px; padding:30px 26px; background: var(--surface); border:1px solid var(--stroke); transition: .4s cubic-bezier(.2,.7,.2,1); }
.step3:hover { transform: translateY(-6px); border-color: var(--stroke-gold); background: var(--surface-2); }
.step3 .n { font-family: var(--font-mono); font-size:0.8rem; color: var(--champagne); }
.step3 h3 { font-size:1.3rem; margin:14px 0 8px; }
.step3 p { font-size:0.84rem; color: var(--text-muted); }
.step3 .ring { position:absolute; top:26px; right:26px; width:34px; height:34px; border-radius:50%; border:1px solid var(--stroke-gold); display:flex; align-items:center; justify-content:center; color:var(--champagne); font-family:var(--font-mono); font-size:0.8rem; }
@media (max-width:760px){ .steps3{ grid-template-columns:1fr; } }

/* ============================================================
   CAROUSEL — arrows + dots + drag + progress
   ============================================================ */
.car { position:relative; }
.car__head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom: 28px; }
.car__nav { display:flex; gap:10px; }
.car__btn { width:52px; height:52px; border-radius:50%; border:1px solid var(--stroke); background: var(--surface); color: var(--ivory); cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition: .3s cubic-bezier(.2,.7,.2,1); }
.car__btn:hover { background: var(--gold-grad); color:#221A08; border-color: transparent; transform: scale(1.08); box-shadow: 0 0 26px -6px var(--glow); }
.car__btn:active { transform: scale(0.96); }
.car__btn:disabled { opacity:0.35; cursor:default; transform:none; box-shadow:none; }
.car__viewport { width:100vw; margin-left:calc(50% - 50vw); overflow:hidden; padding:40px 0; }
.car__track { display:flex; align-items:flex-start; gap:clamp(14px,1.4vw,20px); padding:0 max(20px, calc(50vw - 210px)); transition:transform .6s cubic-bezier(.2,.7,.2,1); will-change:transform; cursor:grab; }
.car__track.is-dragging { transition:none; cursor:grabbing; }
.card3 { flex:0 0 clamp(200px,24vw,300px); position:relative; border-radius:22px; overflow:hidden; background: var(--bg-1); border:1px solid var(--stroke);
  opacity:.38; transition: opacity .5s ease, box-shadow .5s ease, border-color .5s ease; }
.card3.is-center { flex:0 0 clamp(360px,46vw,640px); opacity:1; border-color: var(--stroke-gold); box-shadow: 0 50px 100px -45px rgba(0,0,0,0.85), 0 0 48px -18px var(--glow); }
.card3.is-center .body { background:var(--ivory); }
.card3.is-center .lab { color:var(--champagne-deep); }
.card3.is-center .body h3 { color:var(--ink); }
.card3.is-center .body p { color:#5c5a50; }
.card3__cta { margin-top:14px; }
.car__cta { text-align:center; margin-top:30px; }
.lc-cta { margin-top:22px; display:inline-flex; }

/* ===== The Product — v3 treatment ===== */
body[data-page="product"] .spec-grid { background:transparent; border:0; gap:16px; }
body[data-page="product"] .spec { background:var(--surface); border:1px solid var(--stroke); border-radius:18px; position:relative; overflow:hidden; transition:transform .4s cubic-bezier(.2,.7,.2,1), border-color .4s ease, background .4s ease; }
body[data-page="product"] .spec::before { content:""; position:absolute; inset:0; opacity:0; transition:opacity .4s ease; background:radial-gradient(120% 90% at 50% 0%, rgba(214,177,94,0.16), transparent 60%); }
body[data-page="product"] .spec:hover { transform:translateY(-6px); border-color:var(--stroke-gold); background:var(--surface-2); }
body[data-page="product"] .spec:hover::before { opacity:1; }
body[data-page="product"] .spec > * { position:relative; z-index:1; }
body[data-page="product"] .spec__k { font-family:var(--font-mono); letter-spacing:0.12em; }
body[data-page="product"] .fee-table { border-color:var(--stroke); border-radius:18px; background:var(--surface); overflow:hidden; }
body[data-page="product"] .fee-row { border-color:var(--stroke); transition:background .3s ease; }
body[data-page="product"] .fee-row:not(.fee-row--head):hover { background:rgba(214,177,94,0.05); }
body[data-page="product"] .fee-row--head { background:rgba(214,177,94,0.07); }
body[data-page="product"] .fee-row--head span { font-family:var(--font-mono); }
body[data-page="product"] .security-notice { background:var(--surface); border:1px solid var(--stroke-gold); border-radius:16px; }
body[data-page="product"] .use { background:var(--surface); border:1px solid var(--stroke); transition:transform .3s cubic-bezier(.2,.7,.2,1), border-color .3s ease, background .3s ease; }
body[data-page="product"] .use:hover { transform:translateY(-3px); border-color:var(--stroke-gold); background:var(--surface-2); }
.card3.is-center .go { opacity:1; transform:none; }
.card3 .img { height: clamp(330px,44vh,460px); background-size:cover; background-position:center; }
.card3 .body { padding:20px 22px 24px; transition: background .45s ease; position:relative; z-index:1; }
.card3 .lab { font-family:var(--font-mono); font-size:0.64rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--champagne); }
.card3 h3 { font-size:1.3rem; margin:6px 0 6px; }
.card3 p { font-size:0.82rem; color: var(--text-muted); }
.card3 .go { position:absolute; top:16px; right:16px; width:40px; height:40px; border-radius:50%; background:rgba(10,11,9,0.5); backdrop-filter:blur(8px);
  border:1px solid var(--stroke); display:flex; align-items:center; justify-content:center; color:var(--ivory); opacity:.9; transform:none; transition:.4s cubic-bezier(.2,.7,.2,1); z-index:2; }
.card3:hover { border-color: var(--stroke-gold); box-shadow: 0 50px 90px -40px rgba(0,0,0,0.8), 0 0 40px -16px var(--glow); }
.card3:hover .body { }
.card3:hover .go { opacity:1; transform:none; background: var(--gold-grad); color:#221A08; border-color:transparent; }
.car__foot { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; }
.car__progress { flex:1; height:2px; background: rgba(243,238,226,0.12); border-radius:999px; overflow:hidden; }
.car__progress i { display:block; height:100%; width:0; background: var(--gold-grad); }
.car__dots { display:flex; gap:8px; }
.car__dots button { width:8px; height:8px; border-radius:999px; border:0; background:rgba(243,238,226,0.25); cursor:pointer; padding:0; transition:.25s; }
.car__dots button.is-active { background: var(--champagne); width:26px; box-shadow:0 0 10px var(--glow); }
@media (max-width:600px){ .car__head .car__nav { display:none; } }

/* ============================================================
   LIVE MINI CALC
   ============================================================ */
.livecalc { display:grid; grid-template-columns: 1fr 1fr; gap:clamp(28px,4vw,52px); align-items:center;
  border:1px solid var(--stroke); border-radius:28px; padding: clamp(28px,4vw,48px); background: var(--surface); position:relative; overflow:hidden; }
.livecalc::before{ content:""; position:absolute; inset:0; background: radial-gradient(60% 60% at 80% 0%, rgba(214,177,94,0.12), transparent 60%); pointer-events:none; }
.livecalc > * { position:relative; z-index:1; }
.lc-field + .lc-field { margin-top:26px; }
.lc-top { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; }
.lc-top label { font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-muted); }
.lc-top .val { font-family:var(--font-display); font-size:clamp(1.5rem,3.5vw,2rem); color:var(--ivory); }
.lc-out { text-align:center; }
.lc-out .mono { display:block; margin-bottom:8px; }
.lc-out .big { font-family:var(--font-display); font-size:clamp(3rem,8vw,4.6rem); color:var(--ivory); line-height:1; }
.lc-out .big .per { font-family:var(--font-body); font-size:0.26em; color:var(--text-muted); }
.lc-out .sub { font-size:0.78rem; color:var(--text-faint); margin-top:10px; }
.lc-fees { display:flex; justify-content:center; gap:24px; margin-top:18px; }
.lc-fees div { text-align:center; }
.lc-fees .k { display:block; font-family:var(--font-mono); font-size:0.58rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-faint); }
.lc-fees .v { display:block; font-size:0.9rem; color:var(--ivory); font-weight:600; margin-top:3px; }
@media (max-width:760px){ .livecalc{ grid-template-columns:1fr; } }

/* ============================================================
   CLOSING
   ============================================================ */
.v3closing { position:relative; min-height:78vh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.v3closing__img { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.6; }
.v3closing__scrim { position:absolute; inset:0; background: radial-gradient(115% 80% at 50% 50%, rgba(10,11,9,0.28), rgba(10,11,9,0.72) 70%), linear-gradient(180deg, var(--bg-0) 0%, rgba(10,11,9,0) 24%, rgba(22,23,15,0) 74%, var(--olive-2) 100%); }
.v3closing__inner { position:relative; z-index:1; max-width:780px; padding: clamp(40px,6vw,90px) 24px; }

/* reveal + stagger */
@media (prefers-reduced-motion: no-preference) {
  .r { opacity:0; transform: translateY(26px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
  .r.in { opacity:1; transform:none; }
}

/* ============================================================
   BEFORE / AFTER REVEAL SLIDER (new in v3)
   ============================================================ */
.ba { position:relative; border-radius:24px; overflow:hidden; aspect-ratio:16/9; border:1px solid var(--stroke);
  user-select:none; touch-action:pan-y; cursor:ew-resize; box-shadow: 0 50px 100px -50px rgba(0,0,0,0.85); }
.ba__img { position:absolute; inset:0; background-size:cover; background-position:center; }
.ba__before { clip-path: inset(0 calc(100% - var(--pos,50%)) 0 0); z-index:2; }
.ba__line { position:absolute; top:0; bottom:0; left:var(--pos,50%); width:2px; background:var(--champagne); box-shadow:0 0 18px var(--glow); transform:translateX(-50%); z-index:4; pointer-events:none; }
.ba__grip { position:absolute; top:50%; left:var(--pos,50%); transform:translate(-50%,-50%); width:50px; height:50px; border-radius:50%;
  background:rgba(10,11,9,0.55); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid var(--stroke-gold);
  display:flex; align-items:center; justify-content:center; color:var(--ivory); z-index:5; transition: transform .2s ease, box-shadow .3s ease; }
.ba:hover .ba__grip, .ba:focus-within .ba__grip { box-shadow:0 0 28px -4px var(--glow); }
.ba__grip:active { transform:translate(-50%,-50%) scale(0.92); }
.ba__tag { position:absolute; bottom:18px; z-index:4; font-family:var(--font-mono); font-size:0.64rem; letter-spacing:0.12em; text-transform:uppercase; color:#fff;
  background:rgba(10,11,9,0.5); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid var(--stroke); border-radius:999px; padding:7px 14px; }
.ba__tag--l{ left:18px; } .ba__tag--r{ right:18px; }
.ba:focus-visible { outline:2px solid var(--champagne); outline-offset:4px; }

/* ============================================================
   DOOR REVEAL (v3 — replaces keyhole cutout)
   ============================================================ */
.door-scene { position:relative; width:100%; max-width:440px; margin:0 auto; aspect-ratio:4/5; perspective:1500px; }
.door-frame { position:absolute; inset:0; border-radius:200px 200px 24px 24px; overflow:hidden; border:1px solid var(--stroke); background:#0c0d0a; }
.door-frame .img { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.06); }
.door-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 45%, rgba(0,0,0,.45)); }
.door-panel { position:absolute; top:0; bottom:0; left:20%; right:0; border-radius:160px 22px 22px 22px;
  background:linear-gradient(135deg,#2a2a1c,#14150e 72%); border:1px solid var(--stroke-gold);
  transform-origin:right center; transform:rotateY(0deg); transition:transform 1s cubic-bezier(.22,.85,.22,1);
  box-shadow:18px 0 60px -26px rgba(0,0,0,.85), inset 1px 0 0 rgba(255,255,255,.04); z-index:2; cursor:pointer; }
.door-panel::before { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(120% 60% at 80% 10%, rgba(214,177,94,.12), transparent 55%); }
.door-scene:hover .door-panel, .door-scene.open .door-panel { transform:rotateY(-46deg); }
.door-handle { position:absolute; left:18px; top:50%; transform:translateY(-50%); width:13px; height:52px; border-radius:7px;
  background:linear-gradient(180deg,#ECD58C,#B6873A); box-shadow:0 4px 14px -4px rgba(0,0,0,.6); z-index:3; }
.door-tag { position:absolute; left:34px; top:calc(50% - 26px); width:62px; padding:26px 8px 12px; border-radius:11px;
  background:var(--ivory); display:flex; flex-direction:column; align-items:center; box-shadow:0 14px 30px -12px rgba(0,0,0,.6); z-index:3; }
.door-tag::before { content:""; position:absolute; top:8px; left:50%; transform:translateX(-50%); width:14px; height:14px; border-radius:50%; border:2px solid rgba(0,0,0,.18); background:#0c0d0a; }
.door-tag svg { width:28px; height:auto; display:block; }
.door-hint { position:absolute; right:16px; bottom:16px; font-family:var(--font-mono); font-size:0.56rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--champagne); opacity:.85; z-index:3; transition:opacity .4s ease; }
.door-scene:hover .door-hint, .door-scene.open .door-hint { opacity:0; }
.door-scene:focus-visible { outline:2px solid var(--champagne); outline-offset:6px; border-radius:24px; }

/* ============================================================
   FEATURE CAROUSEL (v3 — bg switches per slide)
   ============================================================ */
.feat__stage { position:relative; border-radius:28px; overflow:hidden; height:clamp(440px,60vh,620px); border:1px solid var(--stroke); box-shadow:0 50px 100px -50px rgba(0,0,0,.85); }
.feat__slide { position:absolute; inset:0; opacity:0; transition:opacity .8s ease; pointer-events:none; }
.feat__slide.is-active { opacity:1; pointer-events:auto; }
.feat__bg { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.05); transition:transform 6.5s ease; }
.feat__slide.is-active .feat__bg { transform:scale(1.13); }
.feat__slide::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,9,7,.55), rgba(8,9,7,.12) 55%, transparent 78%); }
.feat__panel { position:absolute; left:clamp(18px,4vw,46px); top:50%; transform:translateY(-50%); width:min(86%,380px); padding:clamp(24px,3vw,34px); border-radius:22px; z-index:2;
  background:rgba(243,238,226,0.93); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.55); box-shadow:0 30px 60px -28px rgba(0,0,0,.6); }
.feat__panel .mono { color:var(--champagne-deep); }
.feat__panel h3 { font-family:var(--font-display); font-weight:400; font-size:clamp(1.6rem,3.6vw,2.4rem); color:var(--ink); margin:12px 0 12px; line-height:1.05; }
.feat__panel p { font-size:0.86rem; color:#5c5a50; }
.feat__nav { position:absolute; right:18px; bottom:18px; z-index:4; display:flex; gap:10px; }
.feat__arrow { width:50px; height:50px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:rgba(10,11,9,0.42); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.3s cubic-bezier(.2,.7,.2,1); }
.feat__arrow:hover { background:var(--gold-grad); color:#221A08; border-color:transparent; transform:scale(1.08); box-shadow:0 0 24px -6px var(--glow); }
.feat__arrow:active { transform:scale(0.95); }
.feat__foot { display:flex; align-items:center; gap:18px; margin-top:22px; }
.feat__count { font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.1em; color:var(--text-muted); }
.feat__progress { flex:1; height:2px; background:rgba(243,238,226,.12); border-radius:999px; overflow:hidden; }
.feat__progress i { display:block; height:100%; width:0; background:var(--gold-grad); }
.feat__dots { display:flex; gap:8px; }
.feat__dots button { width:8px; height:8px; border-radius:999px; border:0; background:rgba(243,238,226,.25); cursor:pointer; padding:0; transition:.25s; }
.feat__dots button.is-active { background:var(--champagne); width:26px; box-shadow:0 0 10px var(--glow); }
@media (max-width:560px){ .feat__panel{ width:auto; left:14px; right:14px; top:auto; bottom:84px; transform:none; } .feat__nav{ left:14px; right:auto; bottom:18px; } }

/* ============================================================
   SHOWCASE (v3 — full-bg image + expanding step cards)
   ============================================================ */
.show { position:relative; overflow:hidden; padding: clamp(72px,10vw,140px) 0; }
.show__bgs { position:absolute; inset:0; z-index:0; }
.show__bgs .layer { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.4s ease; will-change:opacity; z-index:0; }
.show__bgs .layer.was-active { opacity:1; z-index:0; }
.show__bgs .layer.is-active { opacity:1; z-index:1; }
.show__scrim { position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,9,7,.72), rgba(8,9,7,.48) 38%, rgba(8,9,7,.88)); }
.show__inner { position:relative; z-index:1; }
.show__title { font-size:clamp(2.4rem,6vw,4rem); }
.show__row { display:flex; gap:12px; margin-top:clamp(40px,6vw,72px); min-height:300px; align-items:stretch; }
.show__item { position:relative; flex:1; min-width:0; border:1px solid var(--stroke); border-radius:20px; overflow:hidden; cursor:pointer;
  background:rgba(10,11,9,0.4); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); color:var(--ivory); text-align:left;
  transition:flex .65s cubic-bezier(.22,.85,.22,1), background .45s ease, border-color .45s ease; }
.show__item.is-active { flex:3.6; background:var(--ivory); border-color:transparent; }
.show__compact { display:flex; flex-direction:column; height:100%; padding:24px; }
.show__n { font-family:var(--font-mono); font-size:0.76rem; letter-spacing:0.1em; color:var(--champagne); }
.show__label { font-family:var(--font-display); font-size:clamp(1.1rem,1.6vw,1.35rem); margin-top:auto; line-height:1.1; }
.show__detail { display:none; padding:clamp(26px,3vw,40px); height:100%; flex-direction:column; justify-content:center; }
.show__item.is-active .show__compact { display:none; }
.show__item.is-active .show__detail { display:flex; }
.show__detail .dn { font-family:var(--font-mono); font-size:0.74rem; letter-spacing:0.1em; color:var(--champagne-deep); }
.show__detail h3 { font-family:var(--font-display); font-weight:400; color:var(--ink); font-size:clamp(1.5rem,3.2vw,2.2rem); margin:12px 0 14px; line-height:1.05; }
.show__detail p { color:#5c5a50; font-size:0.92rem; max-width:46ch; }
.show__detail .show__cta { margin-top:22px; }
.show__ico { color:var(--champagne); display:block; margin-bottom:14px; }
.show__ico svg { display:block; }
.steps3b { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:clamp(40px,6vw,72px); }
.stepc { background:var(--ivory); border:1px solid rgba(0,0,0,0.06); border-radius:20px; padding:30px 28px; transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease; }
.stepc:hover { transform:translateY(-6px); box-shadow:0 44px 80px -40px rgba(0,0,0,0.6); }
.stepc__ico { color:var(--champagne-deep); display:block; margin-bottom:16px; }
.stepc__n { font-family:var(--font-mono); font-size:0.74rem; letter-spacing:0.1em; color:var(--champagne-deep); }
.stepc h3 { font-family:var(--font-display); font-weight:400; font-size:clamp(1.3rem,2.4vw,1.7rem); color:var(--ink); margin:10px 0 10px; line-height:1.05; }
.stepc p { font-size:0.86rem; color:#5c5a50; margin-bottom:18px; }
.stepc .btn-ghost { color:var(--ink); border-color:rgba(0,0,0,0.22); }
.stepc .btn-ghost:hover { color:var(--champagne-deep); border-color:var(--champagne-deep); }
@media (max-width:760px){ .steps3b{ grid-template-columns:1fr; } }
.show__nav { display:flex; gap:10px; justify-content:flex-end; margin-top:22px; }
.show__foot { display:flex; align-items:center; gap:18px; margin-top:18px; }
.show__count { font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.1em; color:var(--text-muted); }
.show__progress { flex:1; height:2px; background:rgba(243,238,226,.12); border-radius:999px; overflow:hidden; }
.show__progress i { display:block; height:100%; width:0; background:var(--gold-grad); }
.show__dots { display:flex; gap:8px; }
.show__dots button { width:8px; height:8px; border-radius:999px; border:0; background:rgba(243,238,226,.25); cursor:pointer; padding:0; transition:.25s; }
.show__dots button.is-active { background:var(--champagne); width:26px; box-shadow:0 0 10px var(--glow); }
@media (max-width:740px){
  .show__row { flex-direction:column; min-height:0; }
  .show__item { flex:none; }
  .show__item .show__compact { flex-direction:row; align-items:center; gap:14px; }
  .show__item .show__label { margin-top:0; }
  .show__item.is-active { flex:none; }
}

/* feature carousel — centered white card with image cutout (David Acosta style) */
.feat__stage { height:auto; min-height:clamp(560px,82vh,800px); display:flex; align-items:center; justify-content:center; padding:clamp(22px,5vw,70px); }
.feat__slide { display:flex; align-items:center; justify-content:center; padding:clamp(18px,4vw,52px); }
.feat__slide::after { background:rgba(8,9,7,.42); }
.feat__card { position:relative; z-index:2; width:min(94%,880px); background:var(--ivory); border-radius:26px; padding:clamp(24px,3vw,40px); box-shadow:0 50px 110px -40px rgba(0,0,0,.78); }
.feat__card-head { display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3vw,34px); align-items:start; margin-bottom:clamp(20px,3vw,30px); }
.feat__card .mono { color:var(--champagne-deep); }
.feat__card h3 { font-family:var(--font-display); font-weight:400; color:var(--ink); font-size:clamp(1.6rem,3.4vw,2.5rem); margin-top:10px; line-height:1.03; }
.feat__card p { color:#5c5a50; font-size:0.9rem; }
.feat__snap { border-radius:18px; overflow:hidden; aspect-ratio:16/7; background-size:cover; background-position:center; }
@media (max-width:640px){ .feat__card-head{ grid-template-columns:1fr; gap:6px; } .feat__snap{ aspect-ratio:16/11; } }

/* ============================================================
   CLOSING — cursor-following glisten + ring + sparkle
   ============================================================ */
.v3closing__glow { position:absolute; inset:0; z-index:1; pointer-events:none; opacity:0; transition:opacity .5s ease;
  background:radial-gradient(240px circle at var(--gx,50%) var(--gy,50%), rgba(214,177,94,0.20), transparent 70%); }
.v3closing__ring { position:absolute; left:50%; top:50%; width:min(125%,1180px); aspect-ratio:1; transform:translate(-50%,-50%);
  border:1px solid rgba(214,177,94,0.16); border-radius:50%; z-index:1; pointer-events:none; }
.v3closing__ring::after { content:""; position:absolute; inset:14%; border:1px solid rgba(243,238,226,0.05); border-radius:50%; }
.v3closing__spark { position:absolute; left:50%; top:42%; width:30px; height:30px; z-index:2; pointer-events:none; opacity:0;
  transform:translate(-50%,-50%); transition:opacity .5s ease; }
.v3closing__spark svg { width:100%; height:100%; filter:drop-shadow(0 0 10px var(--glow)) drop-shadow(0 0 22px rgba(214,177,94,.5)); animation:twinkle 2.6s ease-in-out infinite; }
@keyframes twinkle { 0%,100%{ transform:scale(.82) rotate(0deg); opacity:.85; } 50%{ transform:scale(1.12) rotate(45deg); opacity:1; } }

/* ============================================================
   DOOR — light blooms through when opened/hovered
   ============================================================ */
.door-section { position:relative; overflow:hidden; }
.door-section .wrap { position:relative; z-index:1; }
.door-aura { position:absolute; left:27%; top:50%; width:820px; height:820px; max-width:92vw; transform:translate(-50%,-50%); border-radius:50%; pointer-events:none; z-index:0;
  background:radial-gradient(closest-side, rgba(240,218,151,0.42), rgba(214,177,94,0.20) 42%, transparent 70%); filter:blur(16px); opacity:.2; transition:opacity .9s ease, transform 1.1s cubic-bezier(.22,.85,.22,1); }
.door-section.door-lit .door-aura { opacity:1; transform:translate(-50%,-50%) scale(1.22); }
.door-section.door-lit { background:radial-gradient(80% 120% at 27% 50%, rgba(214,177,94,0.07), transparent 60%); transition:background .9s ease; }
.door-frame .img { transition:filter 1s ease, transform .6s ease; }
.door-section.door-lit .door-frame .img { filter:brightness(1.32) saturate(1.08); }
@media (max-width:820px){ .door-aura{ left:50%; top:34%; } }
.door-lines { position:absolute; top:0; right:0; height:100%; width:min(64%,760px); color:var(--champagne); opacity:.18; z-index:0; pointer-events:none; }
.door-section.door-lit .door-lines { opacity:.28; transition:opacity 1s ease; }
.has-lines { position:relative; overflow:hidden; }
.has-lines > .wrap { position:relative; z-index:1; }

/* hero combined calculator + carousel count */
.dash__field { margin-bottom:16px; }
.dash__frow { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; }
.dash__amt { font-family:var(--font-display); font-size:1.5rem; color:var(--ivory); }
.dash__note { font-family:var(--font-mono); font-size:0.58rem; letter-spacing:0.06em; color:var(--text-faint); margin-top:8px; }
.dash__result { margin:16px 0; padding:16px 0; border-top:1px solid var(--stroke); border-bottom:1px solid var(--stroke); }
.dash__mo { font-family:var(--font-display); color:var(--ivory); line-height:1; margin:6px 0 14px; }
.dash__mo #hMonthly { font-size:clamp(2.4rem,5vw,3.1rem); }
.dash__per { font-family:var(--font-body); font-size:0.9rem; color:var(--text-muted); }
.dash__fees { display:flex; gap:18px; }
.dash__fees .k { display:block; font-family:var(--font-mono); font-size:0.56rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-faint); margin-bottom:3px; }
.dash__fees .v { display:block; font-size:0.82rem; color:var(--ivory); font-weight:600; }
.dash .lc-range { margin:4px 0; }
.car__count { font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.1em; color:var(--text-muted); }
.car__head .v3-head { flex:1; min-width:0; }
/* animated closing ring + orbiting spark */
.v3closing__ring { border-color:rgba(214,177,94,0.30); animation: ringPulse 6s ease-in-out infinite; }
.v3closing__ring::before { content:""; position:absolute; inset:-1px; border-radius:50%; padding:1px; background:conic-gradient(from 0deg, transparent 0 60%, var(--champagne) 82%, transparent 94%); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation: ringspin2 11s linear infinite; }
@keyframes ringPulse { 0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:.7; } 50%{ transform:translate(-50%,-50%) scale(1.04); opacity:1; } }
@keyframes ringspin2 { to { transform: rotate(360deg); } }
.v3closing__orbit { position:absolute; left:50%; top:50%; width:min(125%,1180px); aspect-ratio:1; transform:translate(-50%,-50%); z-index:3; pointer-events:none; animation: orbitspin 14s linear infinite; }
.v3closing__orbit .v3closing__spark { position:absolute; left:50%; top:0; transform:translate(-50%,-50%); opacity:1; }
@keyframes orbitspin { to { transform:translate(-50%,-50%) rotate(360deg); } }

/* ============================================================
   Comparison rate + mandatory consumer-credit WARNING
   Repeated at every rate / repayment display. Prominent, on-brand.
   ============================================================ */
.rate-disclosure { margin-top: 18px; border: 1px solid var(--stroke-gold); border-radius: 14px;
  background: linear-gradient(180deg, rgba(214,177,94,0.09), rgba(214,177,94,0.03)); padding: 16px 18px; text-align: left; }
.rate-disclosure__comp { font-size: 0.92rem; line-height: 1.45; color: var(--ivory); font-weight: 600; margin: 0 0 10px;
  display: flex; gap: 9px; align-items: baseline; }
.rate-disclosure__comp::before { content: ""; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: var(--champagne); transform: translateY(-1px); }
.rate-disclosure__warn { font-size: 0.82rem; line-height: 1.6; color: var(--text-muted); margin: 0; }
.rate-disclosure__warn b { color: var(--champagne); font-weight: 700; letter-spacing: 0.05em; }
/* compact variant for tight widgets (hero dashboard) */
.rate-disclosure--sm { margin-top: 14px; padding: 13px 14px; border-radius: 12px; }
.rate-disclosure--sm .rate-disclosure__comp { font-size: 0.78rem; margin-bottom: 7px; }
.rate-disclosure--sm .rate-disclosure__warn { font-size: 0.71rem; line-height: 1.55; }

/* hero supporting copy: footnote + bright sub */
.v3hero__sub--bright { color: var(--ivory); }
.hero-foot { font-size: 0.74rem; line-height: 1.55; color: var(--text-faint); max-width: 54ch; margin-top: 16px; }
.hero-foot sup { color: var(--champagne); }

/* ============================================================
   Application progress tracker (Application Received page)
   ============================================================ */
.appsteps { margin: 30px auto 0; max-width: none; }
.apptrack { display: grid; grid-template-columns: repeat(4, 1fr); }
.appstep { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 11px; }
.appstep__node { position: relative; z-index: 2; width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 0.9rem; }
.appstep::before { content: ""; position: absolute; top: 18px; left: 50%; width: 100%; height: 2px; z-index: 1; }
.appstep:last-child::before { display: none; }
.appstep--done .appstep__node { background: var(--gold-grad); color: #221A08; border: 1px solid transparent; box-shadow: 0 0 16px -4px var(--glow); }
.appstep--current .appstep__node { background: var(--bg-1); color: var(--champagne); border: 2px solid var(--champagne); box-shadow: 0 0 0 5px rgba(214,177,94,0.16); }
.appstep--todo .appstep__node { background: var(--olive); color: var(--text-faint); border: 1px solid var(--stroke); }
.appstep--done::before { background: var(--champagne); }
.appstep--current::before, .appstep--todo::before { background-image: linear-gradient(90deg, var(--stroke-gold) 0 50%, transparent 50%); background-size: 8px 2px; background-repeat: repeat-x; }
.appstep__label { font-size: 0.74rem; line-height: 1.4; color: var(--text-muted); max-width: 15ch; }
.appstep__label sup { color: var(--champagne); }
.appstep--done .appstep__label, .appstep--current .appstep__label { color: var(--ivory); }
.appstep--current .appstep__label { font-weight: 600; }
.appsteps__foot { font-size: 0.72rem; line-height: 1.55; color: var(--text-faint); margin: 24px auto 0; max-width: 62ch; text-align: center; }
.appsteps__foot sup { color: var(--champagne); }
@media (max-width: 520px) { .appstep__node { width: 31px; height: 31px; font-size: 0.8rem; } .appstep::before { top: 15px; } .appstep__label { font-size: 0.64rem; } }

/* ============================================================
   Date inputs — dark calendar popup + brand accent
   color-scheme:dark gives a dark popup + light picker icon;
   accent-color recolours the selected day + Clear/Today links.
   ============================================================ */
input[type="date"] { color-scheme: dark; accent-color: var(--champagne); }
input[type="date"]::-webkit-calendar-picker-indicator { opacity: 0.8; cursor: pointer; }
input[type="date"]::-webkit-calendar-picker-indicator:hover { opacity: 1; }

/* ============================================================
   Google Places address autocomplete dropdown — brand-styled
   (Google attribution row is left intact as required.)
   ============================================================ */
.pac-container { background: var(--olive); border: 1px solid var(--stroke-gold); border-radius: 12px;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,0.85); margin-top: 6px; padding: 4px 0; overflow: hidden;
  font-family: var(--font-body); }
.pac-container:after { background-color: var(--olive); }
.pac-item { color: var(--text-muted); border-top: 1px solid var(--stroke); padding: 9px 14px; cursor: pointer; font-size: 0.86rem; }
.pac-item:first-child { border-top: 0; }
.pac-item:hover, .pac-item-selected { background: rgba(214,177,94,0.10); }
.pac-item-query { color: var(--ivory); font-size: 0.9rem; }
.pac-matched { color: var(--champagne); }
.pac-icon { display: none; }

/* ============================================================
   Two-column page header (eyebrow + heading | lead)
   ============================================================ */
.page-head .head-split { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(28px, 5vw, 64px); align-items: end; }
.page-head .head-split .lead { margin: 0; }
@media (max-width: 760px) { .page-head .head-split { grid-template-columns: 1fr; gap: 18px; align-items: start; } }
