/* Vertical page layout - Property Investment / Lending / Refinancing / First Home */

/* Editorial hero band, navy with mega numeral */
.v-hero{background:var(--navy-deep);color:#faf5ea;padding:140px 0 110px;position:relative;overflow:hidden}
.v-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 18% 25%, rgba(184,153,104,.10) 0%, rgba(7,26,49,0) 60%);pointer-events:none}
.v-hero-inner{max-width:1440px;margin:0 auto;padding:0 40px;position:relative;display:grid;grid-template-columns:auto 1fr;gap:80px;align-items:end}
.v-hero-num{font-family:var(--serif);font-style:italic;font-weight:400;color:#e7c994;font-size:clamp(120px,18vw,260px);line-height:.85;letter-spacing:-.04em;opacity:.94}
.v-hero-body{display:flex;flex-direction:column;gap:30px;max-width:780px}
.v-hero-back{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:500;transition:color .2s}
.v-hero-back:hover{color:#e7c994}
.v-hero-back .arr{display:inline-block;width:24px;height:1px;background:currentColor;position:relative}
.v-hero-back .arr::before{content:"";position:absolute;left:0;top:-3px;width:6px;height:6px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
.v-hero-eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(231,201,148,.85);font-weight:500}
.v-hero h1{font-family:var(--serif);font-weight:400;color:#fff;font-size:clamp(48px,6vw,96px);line-height:1.02;letter-spacing:-.022em}
.v-hero h1 em{font-style:italic;color:#e7c994;font-weight:400}
.v-hero .v-lede{font-family:var(--sans);font-weight:300;font-size:clamp(18px,1.5vw,22px);line-height:1.5;color:rgba(255,255,255,.85);letter-spacing:-.005em;max-width:62ch}
.v-hero-meta{margin-top:14px;display:flex;gap:32px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);padding-top:24px}
.v-hero-meta dt{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:500;margin-bottom:6px}
.v-hero-meta dd{font-family:var(--serif);font-style:italic;color:#e7c994;font-size:18px;line-height:1}
.v-hero-meta div{min-width:120px}
@media (max-width:900px){
  .v-hero-inner{grid-template-columns:1fr;gap:36px;align-items:start}
  .v-hero-num{font-size:120px}
  .v-hero{padding:80px 0 70px}
}
@media (max-width:560px){
  .v-hero{padding:48px 0 56px}
  .v-hero-inner{padding:0 24px;gap:24px}
  .v-hero-num{font-size:80px;margin-bottom:-4px}
  .v-hero h1{font-size:clamp(40px,12vw,64px)}
  .v-hero .v-lede{font-size:16px;line-height:1.5}
  .v-hero-eyebrow{font-size:11px}
  .v-sec{padding:72px 0}
  .v-sec.alt{padding:72px 0}
  .v-section-head{padding:0 24px}
  .h-l{font-size:clamp(28px,7vw,40px)}
  .h-xl{font-size:clamp(36px,9vw,52px)}
  .wrap{padding:0 24px}
  .v-final{padding:64px 0}
  .v-final-grid{padding:0 24px}
}

/* Section frame */
.v-sec{padding:160px 0;position:relative}
.v-sec.alt{background:var(--paper-2)}
.v-sec.dark{background:var(--navy);color:#e6ecf3}
.v-sec.dark .h-xl,.v-sec.dark .h-l,.v-sec.dark .h-m{color:#fff}
.v-sec.dark .kicker{color:rgba(231,201,148,.85);border-bottom-color:rgba(255,255,255,.18)}
.v-sec.dark .body,.v-sec.dark .lede{color:rgba(255,255,255,.8)}

/* Two-column intro: kicker + h-xl left, copy right */
.v-intro{max-width:1280px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:start}
.v-intro p{margin-bottom:18px;max-width:60ch}
.v-intro p:last-child{margin-bottom:0}
@media (max-width:900px){.v-intro{grid-template-columns:1fr;gap:40px}}

/* Split layout: editorial image + copy side-by-side */
.v-split-grid{max-width:1440px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.v-split-text{display:flex;flex-direction:column;gap:0;max-width:54ch}
.v-split-text .kicker{margin-bottom:24px}
.v-split-text h2{margin-bottom:30px}
.v-split-text p{margin-bottom:18px;font-size:16px;line-height:1.7;color:var(--ink)}
.v-split-text p:last-of-type{margin-bottom:0}
.v-split-image{position:relative}
.v-split-grid.v-image-left .v-split-text{order:2}
.v-split-grid.v-image-left .v-split-image{order:1}
@media (max-width:900px){
  .v-split-grid{grid-template-columns:1fr;gap:48px}
  .v-split-grid.v-image-left .v-split-text{order:1}
  .v-split-grid.v-image-left .v-split-image{order:2}
}

/* Image placeholder - labelled, dignified, replaceable */
.v-placeholder{position:relative;width:100%;aspect-ratio:4/3;background:
  repeating-linear-gradient(135deg,transparent 0,transparent 22px,rgba(12,35,64,.045) 22px,rgba(12,35,64,.045) 23px),
  linear-gradient(180deg,var(--paper-2) 0%,#ebe6d6 100%);
  border:1px solid var(--hairline);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  overflow:hidden;cursor:default;color:var(--slate);transition:border-color .35s}

/* Real editorial image - same shape and motion behaviour as placeholder */
.v-photo{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--navy-deep);box-shadow:0 30px 70px -40px rgba(7,26,49,.45);border:1px solid var(--hairline)}
.v-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.25) contrast(1.04) brightness(.94) saturate(.78);transition:transform 2.4s cubic-bezier(.22,.7,.2,1)}
.v-photo:hover img{transform:scale(1.03)}
.v-photo .v-photo-tint{position:absolute;inset:0;background:linear-gradient(135deg, rgba(12,35,64,.32) 0%, rgba(19,49,92,.15) 45%, rgba(184,153,104,.18) 100%);mix-blend-mode:multiply;pointer-events:none}
.v-photo .v-photo-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center, transparent 62%, rgba(7,26,49,.42) 100%);pointer-events:none}
.v-photo .v-photo-corner{position:absolute;width:22px;height:22px;border-color:#e7c994;border-style:solid;pointer-events:none;z-index:2;display:none}
.v-photo .v-photo-corner.tl{left:16px;top:16px;border-width:1px 0 0 1px}
.v-photo .v-photo-corner.br{right:16px;bottom:16px;border-width:0 1px 1px 0}
.v-photo .v-photo-cap{position:absolute;left:18px;bottom:18px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:rgba(231,201,148,.85);z-index:2;font-weight:500;display:none}
/* Same reveal hooks as placeholder so existing JS still works */
.v-split-image .v-photo{transform:scale(1.02);transition:transform 1.6s cubic-bezier(.22,.7,.2,1)}
.v-split-image .v-photo.in{transform:scale(1)}
.v-split-image .v-photo .v-photo-corner,
.v-split-image .v-photo .v-photo-cap{opacity:0;transform:translateY(6px);transition:opacity .7s cubic-bezier(.22,.7,.2,1),transform .7s cubic-bezier(.22,.7,.2,1)}
.v-split-image .v-photo.in .v-photo-corner.tl{opacity:1;transform:none;transition-delay:.45s}
.v-split-image .v-photo.in .v-photo-corner.br{opacity:1;transform:none;transition-delay:.55s}
.v-split-image .v-photo.in .v-photo-cap{opacity:1;transform:none;transition-delay:.7s}
.v-split-image .v-photo.rv-up{opacity:1;transform:scale(1.02)}
.v-split-image .v-photo.rv-up.in{opacity:1;transform:scale(1)}
.v-placeholder:hover{border-color:var(--gold-deep)}
.v-placeholder::before{content:"";position:absolute;left:18px;top:18px;width:18px;height:18px;border-top:1px solid var(--gold-deep);border-left:1px solid var(--gold-deep)}
.v-placeholder::after{content:"";position:absolute;right:18px;bottom:18px;width:18px;height:18px;border-bottom:1px solid var(--gold-deep);border-right:1px solid var(--gold-deep)}
.v-placeholder .ph-icon{width:42px;height:42px;border:1px solid var(--gold-deep);display:flex;align-items:center;justify-content:center;color:var(--gold-deep);font-family:var(--serif);font-style:italic;font-size:18px;line-height:1}
.v-placeholder .ph-lbl{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--navy);text-align:center;padding:0 16px}
.v-placeholder .ph-sub{font-family:var(--serif);font-style:italic;color:var(--gold-deep);font-size:13px;letter-spacing:.01em}
.v-placeholder .ph-dim{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(91,104,120,.6)}
.v-placeholder.tall{aspect-ratio:3/4}
.v-placeholder.wide{aspect-ratio:5/3}

/* Pillar grid - 3 numbered cards */
.v-pillars{max-width:1280px;margin:80px auto 0;padding:0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--hairline)}
.v-pillar{padding:44px 36px 40px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);display:flex;flex-direction:column;gap:14px;background:var(--white);min-height:300px;transition:background .35s}
.v-pillar:last-child{border-right:0}
.v-pillar:hover{background:var(--paper)}
.v-pillar .n{display:none}
.v-pillar h3{font-family:var(--sans);font-weight:500;font-size:22px;line-height:1.2;letter-spacing:-.005em;color:var(--navy)}
.v-pillar p{font-size:14.5px;line-height:1.65;color:var(--ink);max-width:34ch}
@media (max-width:900px){
  .v-pillars{grid-template-columns:1fr}
  .v-pillar{border-right:0}
}

/* Who is this for - chip list */
.v-who{max-width:1280px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}
.v-who-tags{display:flex;flex-direction:column;gap:0}
.v-who-tags > div{padding:24px 0;border-bottom:1px solid var(--hairline);display:grid;grid-template-columns:48px 1fr;gap:24px;align-items:start}
.v-who-tags > div:last-child{border-bottom:0}
.v-who-tags .num{font-family:var(--serif);font-style:italic;color:var(--gold-deep);font-size:14px;padding-top:3px}
.v-who-tags h4{font-family:var(--sans);font-weight:500;font-size:18px;color:var(--navy);margin-bottom:6px;letter-spacing:-.005em}
.v-who-tags p{font-size:14.5px;line-height:1.6;color:var(--ink);max-width:50ch}
@media (max-width:900px){.v-who{grid-template-columns:1fr;gap:40px}}

/* Process - horizontal step rail */
.v-process{max-width:1440px;margin:0 auto;padding:0 40px}
.v-process-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.16);margin-top:60px}
.v-step{padding:36px 28px;border-right:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;gap:14px;min-height:200px}
.v-step:last-child{border-right:0}
.v-step .step-n{font-family:var(--serif);font-style:italic;color:#e7c994;font-size:14px}
.v-step h4{font-family:var(--sans);font-weight:500;font-size:18px;color:#fff;letter-spacing:-.005em}
.v-step p{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.7)}
@media (max-width:900px){
  .v-process-row{grid-template-columns:1fr}
  .v-step{border-right:0;border-bottom:1px solid rgba(255,255,255,.16);min-height:auto}
  .v-step:last-child{border-bottom:0}
}

/* Pull quote / statement */
.v-quote{max-width:980px;margin:0 auto;padding:0 40px;text-align:center}
.v-quote blockquote{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(28px,3.4vw,46px);line-height:1.22;letter-spacing:-.012em;color:var(--navy);margin:0 auto;max-width:24ch}
.v-quote blockquote em{color:var(--gold-deep)}
.v-quote .cite{margin-top:36px;font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--slate);font-weight:500}

/* Related verticals - link tiles */
.v-related{max-width:1280px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--hairline);margin-top:40px}
.v-related a{padding:32px 28px 28px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);display:flex;flex-direction:column;gap:10px;background:var(--white);transition:background .35s, gap .35s}
.v-related a:last-child{border-right:0}
.v-related a:hover{background:var(--paper);gap:14px}
.v-related a .num{font-family:var(--serif);font-style:italic;color:var(--gold-deep);font-size:13px}
.v-related a h4{font-family:var(--sans);font-weight:500;font-size:19px;color:var(--navy);line-height:1.2}
.v-related a .arr{margin-top:14px;font-size:18px;color:var(--navy);font-family:var(--serif)}
@media (max-width:900px){
  .v-related{grid-template-columns:1fr}
  .v-related a{border-right:0}
}

/* Final CTA - same as home */
.v-final{background:var(--navy);color:#fff;padding:clamp(120px,14vw,180px) 0}
.v-final-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;max-width:1280px;margin:0 auto;padding:0 40px;align-items:start}
.v-final h2{color:#fff;margin-bottom:24px}
.v-final h2 em{color:#e7c994;font-family:var(--serif);font-style:italic;font-weight:400}
.v-final .v-final-l p{color:rgba(255,255,255,.78);font-size:clamp(17px,1.25vw,20px);line-height:1.55;margin-bottom:36px;max-width:48ch}
.v-final .v-final-l .kicker{color:rgba(231,201,148,.85);border-bottom-color:rgba(255,255,255,.18)}
.v-final-list{list-style:none;background:rgba(255,255,255,.04);padding:8px 28px;border:1px solid rgba(255,255,255,.12)}
.v-final-list li{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;font-size:14px}
.v-final-list li:last-child{border-bottom:0}
.v-final-list li .l{color:rgba(255,255,255,.6);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.v-final-list li .v{color:#fff;font-family:var(--serif);font-style:italic;font-size:16px}
@media (max-width:900px){.v-final-grid{grid-template-columns:1fr;gap:40px}}

/* Final CTA - centered minimal variant (heading + button only) */
.v-final-inner{max-width:1040px;margin:0 auto;padding:0 40px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:50px;position:relative;z-index:2}
.v-final-inner h2{font-family:var(--sans);font-weight:300;font-size:clamp(34px,4vw,60px);line-height:1.08;letter-spacing:-.018em;color:#fff;margin:0}
.v-final-inner h2 em{font-family:var(--sans);font-style:normal;font-weight:300;color:#fff}
.v-final-inner .btn{margin:0}
.v-final-inner > *{transform:translateY(20px);transition:transform .9s cubic-bezier(.22,.7,.2,1)}
.v-final.in .v-final-inner > *{transform:none}
.v-final.in .v-final-inner > *:nth-child(2){transition-delay:.12s}
@media (max-width:760px){.v-final-inner{gap:38px}}
@media (prefers-reduced-motion:reduce){.v-final-inner > *{transform:none!important;transition:none!important}}

/* Final CTA - light variant (white bg, navy text, dark button) */
.v-final--light{background:#fff;color:var(--navy)}
.v-final--light .v-final-inner h2,.v-final--light .v-final-inner h2 em{color:var(--navy)}
.v-final--light .btn{background:var(--navy);color:#fff}
.v-final--light .btn:hover{background:var(--navy-2);color:#fff}
.v-final--light::after{display:none}

/* Common bits */
.v-section-head{max-width:1280px;margin:0 auto 76px;padding:0 40px;display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:end}
.v-section-head p{font-size:clamp(16px,1.1vw,18px);line-height:1.6;color:var(--ink);max-width:52ch}
.v-sec.dark .v-section-head p{color:rgba(255,255,255,.78)}
@media (max-width:900px){.v-section-head{grid-template-columns:1fr;gap:24px}}

/* Scroll reveal */
.rv-up{opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv-up.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .rv,.rv-up{transition:none !important;transform:none !important;opacity:1 !important}
}

/* ═══════════════ COMPLEX MOTION ═══════════════ */

/* ─── Page-specific layout variants ─── */

/* Stat band - Property Investment */
.v-stats{background:var(--navy);color:#fff;padding:80px 0;overflow:hidden}
.v-stats-grid{max-width:1280px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.v-stat{padding:40px 24px;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:10px}
.v-stat:last-child{border-right:0}
.v-stat .v-stat-n{font-family:var(--serif);font-style:italic;color:#e7c994;font-size:54px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.v-stat .v-stat-l{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:500}
.v-stat .v-stat-d{font-size:13px;line-height:1.5;color:rgba(255,255,255,.65);margin-top:6px}
@media (max-width:900px){.v-stats-grid{grid-template-columns:repeat(2,1fr)}.v-stat:nth-child(2){border-right:0}.v-stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}}
@media (max-width:560px){.v-stats-grid{grid-template-columns:1fr}.v-stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}}

/* Vertical timeline - Property Investment process variant */
.v-timeline{max-width:880px;margin:60px auto 0;padding:0 40px;position:relative}
.v-timeline::before{content:"";position:absolute;left:40px;top:30px;bottom:30px;width:1px;background:rgba(255,255,255,.18)}
.v-tstep{padding:24px 0 24px 80px;position:relative;display:flex;flex-direction:column;gap:8px}
.v-tstep::before{content:"";position:absolute;left:34px;top:32px;width:13px;height:13px;border:1px solid #e7c994;background:var(--navy);border-radius:50%;box-sizing:border-box}
.v-tstep .step-n{font-family:var(--serif);font-style:italic;color:#e7c994;font-size:13px;letter-spacing:.04em}
.v-tstep h4{font-family:var(--sans);font-weight:500;font-size:21px;color:#fff;letter-spacing:-.005em;line-height:1.2}
.v-tstep p{font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.75);max-width:54ch}

/* Comparison strip - Complex Lending */
.v-compare{max-width:1280px;margin:64px auto 0;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.v-compare-col{padding:48px 44px 52px;background:var(--paper-2);position:relative;display:flex;flex-direction:column;gap:32px;border:1px solid var(--hairline-soft)}
.v-compare-col.us{background:var(--navy);color:rgba(255,255,255,.85);border-color:var(--navy);box-shadow:0 30px 60px -30px rgba(7,26,49,.45)}
.v-compare-head{display:flex;align-items:flex-start;gap:18px;padding-bottom:24px;border-bottom:1px solid var(--hairline)}
.v-compare-col.us .v-compare-head{border-bottom-color:rgba(231,201,148,.22)}
.v-compare-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--slate-2);color:var(--slate);font-family:var(--serif);font-style:italic;font-size:18px;letter-spacing:.02em;flex-shrink:0;background:rgba(255,255,255,.5)}
.v-compare-col.us .v-compare-mark{border-color:rgba(231,201,148,.55);color:#e7c994;background:transparent}
.v-compare-col h4{font-family:var(--sans);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--slate);font-weight:600;margin:6px 0 6px}
.v-compare-col h4.us{color:#e7c994}
.v-compare-sub{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--navy);font-weight:400;letter-spacing:-.005em}
.v-compare-col.us .v-compare-sub{color:rgba(255,255,255,.78)}
.v-compare-col ul{list-style:none;display:flex;flex-direction:column;gap:14px;margin:0}
.v-compare-col li{padding:12px 0 12px 36px;position:relative;font-size:15px;line-height:1.55;color:var(--ink);border-bottom:1px solid var(--hairline-soft)}
.v-compare-col li:last-child{border-bottom:0}
.v-compare-col.us li{color:rgba(255,255,255,.88);border-bottom-color:rgba(255,255,255,.08)}
.v-compare-col .li-mark{position:absolute;left:0;top:14px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:9px;font-weight:600;color:var(--slate);background:rgba(91,104,120,.1)}
.v-compare-col.us .li-mark{color:#e7c994;background:rgba(231,201,148,.14);font-size:8px}
@media (max-width:900px){.v-compare{grid-template-columns:1fr;gap:18px}.v-compare-col{padding:36px 28px}}

/* Lender chip cloud - Complex Lending */
.v-chip-cloud{display:flex;flex-wrap:wrap;gap:10px;max-width:1280px;margin:40px auto 0;padding:0 40px}
.v-chip{padding:10px 18px;border:1px solid var(--hairline);background:var(--white);font-family:var(--sans);font-size:13px;color:var(--navy);font-weight:500;border-radius:999px;letter-spacing:.01em;transition:background .25s, border-color .25s, color .25s}
.v-chip:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.v-chip.gold{background:#fbf6ec;border-color:#e7c994;color:var(--gold-deep);font-weight:600}

/* Lender tier roster - Complex Lending */
.v-lender-roster{max-width:1280px;margin:64px auto 0;padding:0 40px;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--hairline)}
.v-lender-tier{display:grid;grid-template-columns:140px 1fr 1.4fr;gap:48px;align-items:start;padding:38px 0;border-bottom:1px solid var(--hairline);position:relative}
.v-lender-tier .t-idx{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--slate);font-weight:600;padding-top:8px;grid-column:1;grid-row:1}
.v-lender-tier h4{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.2vw,32px);line-height:1.1;letter-spacing:-.01em;color:var(--navy);max-width:20ch;grid-column:2;grid-row:1}
.v-lender-tier .t-count{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--slate-2);font-weight:500;padding-top:8px;justify-self:end;grid-column:3;grid-row:1;align-self:start}
.v-lender-tier .t-note{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.5;color:var(--slate);max-width:30ch;grid-column:2;grid-row:2;margin-top:14px}
.v-lender-tier .t-list{list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;grid-column:3;grid-row:2;margin-top:14px}
.v-lender-tier .t-list li{font-family:var(--serif);font-size:clamp(16px,1.35vw,19px);color:var(--navy);letter-spacing:-.005em;line-height:1.5;padding:0 14px 0 0;position:relative;white-space:nowrap}
.v-lender-tier .t-list li::after{content:"\00b7";position:absolute;right:3px;top:-1px;color:var(--gold-deep);opacity:.6}
.v-lender-tier .t-list li:last-child{padding-right:0}
.v-lender-tier .t-list li:last-child::after{content:none}
.v-lender-tier.accent h4,.v-lender-tier.accent .t-idx{color:var(--gold-deep)}
.v-lender-tier.accent h4{font-style:italic}
.v-lender-tier.accent .t-list li{color:var(--gold-deep)}
@media (max-width:900px){
  .v-lender-tier{grid-template-columns:1fr auto;gap:14px;padding:32px 0;column-gap:20px}
  .v-lender-tier .t-idx{grid-column:1;grid-row:1}
  .v-lender-tier h4{grid-column:1 / 3;grid-row:2}
  .v-lender-tier .t-count{grid-column:2;grid-row:1}
  .v-lender-tier .t-note{grid-column:1 / 3;grid-row:3;max-width:none}
  .v-lender-tier .t-list{grid-column:1 / 3;grid-row:4}
}

/* Audit checklist - Refinancing */
.v-checklist{max-width:1100px;margin:60px auto 0;padding:0 40px;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.v-check{padding:28px 24px;display:grid;grid-template-columns:36px 1fr;gap:16px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.v-check:nth-child(2n){border-right:0}
.v-check:nth-last-child(-n+2){border-bottom:0}
.v-check .v-check-ic{width:24px;height:24px;border:1.5px solid var(--gold-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold-deep);font-family:var(--serif);font-size:12px;font-weight:600;margin-top:3px}
.v-check h4{font-family:var(--sans);font-weight:500;font-size:16.5px;color:var(--navy);letter-spacing:-.005em;margin-bottom:4px}
.v-check p{font-size:13.5px;line-height:1.55;color:var(--ink);max-width:42ch}
@media (max-width:760px){.v-checklist{grid-template-columns:1fr}.v-check{border-right:0}.v-check:nth-last-child(-n+2){border-bottom:1px solid var(--hairline)}.v-check:last-child{border-bottom:0}}

/* Honest stat callout - Refinancing (full-bleed centered) */
.v-callout{padding:120px 0;background:var(--paper-2);text-align:center}
.v-callout-inner{max-width:880px;margin:0 auto;padding:0 40px}
.v-callout .v-callout-big{font-family:var(--serif);font-style:italic;color:var(--gold-deep);font-size:clamp(72px,12vw,180px);line-height:.9;letter-spacing:-.025em;margin-bottom:24px;font-variant-numeric:tabular-nums}
.v-callout p{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,32px);line-height:1.3;color:var(--navy);letter-spacing:-.012em;max-width:24ch;margin:0 auto}
.v-callout p em{font-style:italic;color:var(--gold-deep)}

/* FAQ accordion - First Home Buyers */
.v-faq{max-width:860px;margin:60px auto 0;padding:0 40px}
.v-faq details{border-top:1px solid var(--hairline);padding:24px 0;cursor:pointer;transition:padding .3s}
.v-faq details:last-of-type{border-bottom:1px solid var(--hairline)}
.v-faq details[open]{padding-bottom:30px}
.v-faq summary{font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,26px);color:var(--navy);letter-spacing:-.01em;line-height:1.3;list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;outline:none}
.v-faq summary::-webkit-details-marker{display:none}
.v-faq summary::after{content:"+";font-family:var(--serif);font-size:28px;color:var(--gold-deep);transition:transform .35s ease;line-height:1;flex-shrink:0;margin-top:-4px}
.v-faq details[open] summary::after{transform:rotate(45deg)}
.v-faq .v-faq-body{margin-top:16px;font-size:15px;line-height:1.65;color:var(--ink);max-width:62ch}

/* Glossary - First Home Buyers */
.v-glossary{max-width:1100px;margin:60px auto 0;padding:0 40px;display:grid;grid-template-columns:repeat(2,1fr);gap:32px 64px}
.v-glossary dt{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.v-glossary dt em{font-style:italic;color:var(--gold-deep);font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:14px;font-weight:400;margin-left:6px}
.v-glossary dd{font-size:14.5px;line-height:1.6;color:var(--ink)}
@media (max-width:760px){.v-glossary{grid-template-columns:1fr;gap:28px}}

@media (prefers-reduced-motion:reduce){
  .rv,.rv-up{transition:none !important;transform:none !important;opacity:1 !important}
}

/* HERO - staged entrance on page load */
.v-hero{opacity:0;animation:vhFade 1.4s cubic-bezier(.22,.7,.2,1) .15s forwards}
@keyframes vhFade{to{opacity:1}}
.v-hero-num{transform:translateY(60px);opacity:0;animation:vhNum 1.6s cubic-bezier(.18,.7,.2,1) .35s forwards;will-change:transform,opacity}
@keyframes vhNum{to{transform:none;opacity:.94}}
.v-hero-num::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center, rgba(231,201,148,.18) 0%, transparent 60%);opacity:0;animation:vhGlow 3s ease-in-out 1s infinite alternate}
.v-hero-num{position:relative}
@keyframes vhGlow{0%{opacity:0}100%{opacity:.5}}
.v-hero-back{opacity:0;transform:translateY(8px);animation:vhRise .9s cubic-bezier(.22,.7,.2,1) .55s forwards}
.v-hero-eyebrow{opacity:0;transform:translateY(10px);animation:vhRise 1s cubic-bezier(.22,.7,.2,1) .7s forwards}
.v-hero h1{opacity:0;transform:translateY(28px);filter:blur(6px);animation:vhHead 1.4s cubic-bezier(.22,.7,.2,1) .85s forwards}
@keyframes vhHead{to{opacity:1;transform:none;filter:none}}
.v-hero h1 em{position:relative;display:inline}
.v-hero h1 em::after{display:none}
@keyframes vhUnder{to{transform:scaleX(1)}}
.v-hero .v-lede{opacity:0;transform:translateY(16px);animation:vhRise 1.1s cubic-bezier(.22,.7,.2,1) 1.1s forwards}
@keyframes vhRise{to{opacity:1;transform:none}}

/* SPLIT - image clip wipes in, text cascades */
.v-split-image .v-placeholder{transform:scale(1.02);transition:transform 1.6s cubic-bezier(.22,.7,.2,1);opacity:1}
.v-split-image .v-placeholder.in{transform:scale(1)}
.v-split-image .v-placeholder::after,
.v-split-image .v-placeholder::before{will-change:transform}
.v-split-image .v-placeholder .ph-icon,
.v-split-image .v-placeholder .ph-lbl,
.v-split-image .v-placeholder .ph-sub,
.v-split-image .v-placeholder .ph-dim{opacity:0;transform:translateY(8px);transition:opacity .7s cubic-bezier(.22,.7,.2,1),transform .7s cubic-bezier(.22,.7,.2,1)}
.v-split-image .v-placeholder.in .ph-icon{opacity:1;transform:none;transition-delay:.35s}
.v-split-image .v-placeholder.in .ph-lbl{opacity:1;transform:none;transition-delay:.45s}
.v-split-image .v-placeholder.in .ph-sub{opacity:1;transform:none;transition-delay:.55s}
.v-split-image .v-placeholder.in .ph-dim{opacity:.6;transform:none;transition-delay:.65s}
/* Override rv-up base state so placeholder is always visible */
.v-split-image .v-placeholder.rv-up{opacity:1;transform:scale(1.02)}
.v-split-image .v-placeholder.rv-up.in{opacity:1;transform:scale(1)}

/* PILLARS - staggered wash sweep + content cascade + hover ghost */
.v-pillar{--i:0;position:relative;overflow:hidden;isolation:isolate}
.v-pillar.rv-up{opacity:0;transform:none;transition:none}
.v-pillar.rv-up .n,.v-pillar.rv-up h3,.v-pillar.rv-up p{opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.22,.7,.2,1),transform .8s cubic-bezier(.22,.7,.2,1)}
.v-pillar.rv-up::before{content:"";position:absolute;inset:0;background:var(--paper-2);transform:translateX(-101%);transition:transform 1s cubic-bezier(.77,0,.18,1);z-index:0;pointer-events:none}
.v-pillar.rv-up::after{content:"";position:absolute;left:0;top:0;width:0;height:1px;background:var(--navy);transition:width 1.1s cubic-bezier(.22,.7,.2,1) .25s;z-index:2}
.v-pillar.rv-up.in{opacity:1}
.v-pillar.rv-up.in::before{transform:translateX(101%);transition-delay:calc(var(--i,0) * .12s)}
.v-pillar.rv-up.in::after{width:100%;transition-delay:calc(var(--i,0) * .12s + .35s)}
.v-pillar.rv-up.in .n{opacity:1;transform:none;transition-delay:calc(var(--i,0) * .12s + .45s)}
.v-pillar.rv-up.in h3{opacity:1;transform:none;transition-delay:calc(var(--i,0) * .12s + .55s)}
.v-pillar.rv-up.in p{opacity:1;transform:none;transition-delay:calc(var(--i,0) * .12s + .65s)}
.v-pillar>*{position:relative;z-index:1}
.v-pillar .ghost{position:absolute;right:-8px;bottom:-40px;font-family:var(--serif);font-style:italic;color:var(--navy);opacity:0;font-size:180px;line-height:.85;letter-spacing:-.04em;pointer-events:none;transition:opacity .55s ease,transform .8s cubic-bezier(.22,.7,.2,1);transform:translate(16px,16px) rotate(-3deg);z-index:0;font-variant-numeric:tabular-nums}
.v-pillar:hover .ghost{opacity:.06;transform:translate(0,0) rotate(-3deg)}
.v-pillar h3{position:relative;display:inline-block}
.v-pillar h3::after{display:none}

/* WHO - each row slides in, number scales, line draws */
.v-who-tags > div{--i:0;position:relative;opacity:0;transform:translateY(18px);transition:opacity .85s cubic-bezier(.22,.7,.2,1),transform .85s cubic-bezier(.22,.7,.2,1)}
.v-who-tags.in > div{opacity:1;transform:none}
.v-who-tags.in > div:nth-child(1){transition-delay:.1s}
.v-who-tags.in > div:nth-child(2){transition-delay:.22s}
.v-who-tags.in > div:nth-child(3){transition-delay:.34s}
.v-who-tags.in > div:nth-child(4){transition-delay:.46s}
.v-who-tags > div .num{display:inline-block;transform:scale(0) rotate(-18deg);transform-origin:left center;transition:transform .6s cubic-bezier(.5,1.6,.5,1)}
.v-who-tags.in > div .num{transform:none}
.v-who-tags.in > div:nth-child(1) .num{transition-delay:.5s}
.v-who-tags.in > div:nth-child(2) .num{transition-delay:.62s}
.v-who-tags.in > div:nth-child(3) .num{transition-delay:.74s}
.v-who-tags.in > div:nth-child(4) .num{transition-delay:.86s}

/* PROCESS (dark) - staggered cascade + hairline gold draw */
.v-process-row{position:relative}
.v-process-row::before{content:"";position:absolute;left:0;top:0;width:0;height:1px;background:rgba(231,201,148,.5);transition:width 1.4s cubic-bezier(.22,.7,.2,1)}
.v-process-row.in::before{width:100%;transition-delay:.2s}
.v-step{--i:0;position:relative;overflow:hidden}
.v-step.rv-up{opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.22,.7,.2,1),transform .9s cubic-bezier(.22,.7,.2,1)}
.v-step.rv-up.in{opacity:1;transform:none}
.v-step.rv-up.in:nth-child(1){transition-delay:.5s}
.v-step.rv-up.in:nth-child(2){transition-delay:.65s}
.v-step.rv-up.in:nth-child(3){transition-delay:.8s}
.v-step.rv-up.in:nth-child(4){transition-delay:.95s}
.v-step .step-n{display:inline-block;position:relative}
.v-step .step-n::before{content:"";position:absolute;left:-14px;top:50%;width:8px;height:1px;background:#e7c994;transform:scaleX(0);transform-origin:right center;transition:transform .5s cubic-bezier(.22,.7,.2,1)}
.v-step.rv-up.in .step-n::before{transform:scaleX(1)}
.v-step.rv-up.in:nth-child(1) .step-n::before{transition-delay:.95s}
.v-step.rv-up.in:nth-child(2) .step-n::before{transition-delay:1.1s}
.v-step.rv-up.in:nth-child(3) .step-n::before{transition-delay:1.25s}
.v-step.rv-up.in:nth-child(4) .step-n::before{transition-delay:1.4s}

/* QUOTE - italic reveal via clip-path + drifting flourishes */
.v-quote blockquote{position:relative;clip-path:inset(0 100% 0 0);transition:clip-path 1.6s cubic-bezier(.77,0,.18,1)}
.v-quote.in blockquote{clip-path:inset(0 0 0 0)}
.v-quote blockquote::before,.v-quote blockquote::after{font-family:var(--serif);font-style:italic;color:rgba(184,153,104,.32);font-size:.6em;position:absolute;opacity:0;transition:opacity 1s ease, transform 1s cubic-bezier(.22,.7,.2,1)}
.v-quote blockquote::before{content:"\201C";left:-.5em;top:-.05em;transform:translateX(-6px)}
.v-quote blockquote::after{content:"\201D";right:-.4em;bottom:-.2em;transform:translateX(6px)}
.v-quote.in blockquote::before{opacity:.5;transform:none;transition-delay:1.2s}
.v-quote.in blockquote::after{opacity:.5;transform:none;transition-delay:1.35s}
.v-quote .cite{opacity:0;transform:translateY(8px);transition:opacity .9s,transform .9s cubic-bezier(.22,.7,.2,1)}
.v-quote.in .cite{opacity:1;transform:none;transition-delay:1.5s}

/* RELATED - staggered, hover gold underline + arrow slide */
.v-related a{position:relative;--i:0;opacity:0;transform:translateY(18px);transition:opacity .85s cubic-bezier(.22,.7,.2,1),transform .85s cubic-bezier(.22,.7,.2,1),background .35s,gap .35s}
.v-related a:nth-child(1){transition-delay:.1s}
.v-related a:nth-child(2){transition-delay:.22s}
.v-related a:nth-child(3){transition-delay:.34s}
.v-related.in a{opacity:1;transform:none}
.v-related a h4{position:relative;display:inline-block;background-image:linear-gradient(var(--periwinkle-deep),var(--periwinkle-deep));background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .55s cubic-bezier(.22,.7,.2,1)}
.v-related a:hover h4{background-size:100% 1px}
.v-related a .arr{transition:transform .35s cubic-bezier(.22,.7,.2,1)}
.v-related a:hover .arr{transform:translateX(10px);color:var(--gold-deep)}

/* PLACEHOLDER - subtle ambient breath */
.v-placeholder .ph-icon{animation:phPulse 3.2s ease-in-out infinite}
@keyframes phPulse{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.06);opacity:1}}

/* FINAL CTA - content cascade */
.v-final-l .kicker{opacity:0;transform:translateY(10px);transition:opacity .8s,transform .8s cubic-bezier(.22,.7,.2,1)}
.v-final-l h2{opacity:0;transform:translateY(20px);filter:blur(4px);transition:opacity 1s,transform 1s cubic-bezier(.22,.7,.2,1),filter 1s}
.v-final-l p{opacity:0;transform:translateY(14px);transition:opacity .9s,transform .9s cubic-bezier(.22,.7,.2,1)}
.v-final-l .btn{opacity:0;transform:translateY(10px);transition:opacity .9s,transform .9s cubic-bezier(.22,.7,.2,1)}
.v-final.in .v-final-l .kicker{opacity:1;transform:none;transition-delay:.1s}
.v-final.in .v-final-l h2{opacity:1;transform:none;filter:none;transition-delay:.25s}
.v-final.in .v-final-l p{opacity:1;transform:none;transition-delay:.5s}
.v-final.in .v-final-l .btn{opacity:1;transform:none;transition-delay:.7s}
.v-final-list li{opacity:0;transform:translateX(20px);transition:opacity .85s,transform .85s cubic-bezier(.22,.7,.2,1)}
.v-final.in .v-final-list li{opacity:1;transform:none}
.v-final.in .v-final-list li:nth-child(1){transition-delay:.4s}
.v-final.in .v-final-list li:nth-child(2){transition-delay:.55s}
.v-final.in .v-final-list li:nth-child(3){transition-delay:.7s}
.v-final.in .v-final-list li:nth-child(4){transition-delay:.85s}

/* Reduced motion: collapse all */
@media (prefers-reduced-motion:reduce){
  .v-hero,.v-hero-num,.v-hero-back,.v-hero-eyebrow,.v-hero h1,.v-hero h1 em::after,.v-hero .v-lede,
  .v-split-image .v-placeholder,.v-split-image .v-placeholder *,
  .v-pillar.rv-up,.v-pillar.rv-up *,.v-pillar.rv-up::before,.v-pillar.rv-up::after,
  .v-who-tags > div,.v-who-tags > div .num,
  .v-process-row::before,.v-step.rv-up,.v-step .step-n::before,
  .v-quote blockquote,.v-quote blockquote::before,.v-quote blockquote::after,.v-quote .cite,
  .v-related a,.v-final-l *,.v-final-list li,
  .v-placeholder .ph-icon{animation:none !important;transition:none !important;transform:none !important;opacity:1 !important;clip-path:none !important;filter:none !important}
  .v-split-image .v-placeholder{clip-path:none !important;transform:none !important}
}


/* ════════════════════════════════════════════════════════════════════
   MOTION SUITE - verticals
   Builds on existing .rv-up observer + groupIO.
   ════════════════════════════════════════════════════════════════════ */

/* Comparison strip - two columns each with their own stagger when parent enters */
.v-compare{opacity:0;transform:translateY(20px);transition:opacity 1s cubic-bezier(.22,.7,.2,1),transform 1s cubic-bezier(.22,.7,.2,1)}
.v-compare.in{opacity:1;transform:none}
.v-compare-col{position:relative;overflow:hidden;isolation:isolate}
.v-compare-col::before{content:"";position:absolute;left:0;top:0;width:0;height:1px;background:var(--gold);transition:width 1.3s cubic-bezier(.22,.7,.2,1);z-index:3;pointer-events:none}
.v-compare.in .v-compare-col::before{width:100%}
.v-compare.in .v-compare-col:nth-child(1)::before{transition-delay:.45s}
.v-compare.in .v-compare-col:nth-child(2)::before{transition-delay:.6s}
.v-compare-mark{transform:scale(.3) rotate(-12deg);opacity:0;transition:transform .7s cubic-bezier(.5,1.6,.5,1), opacity .4s ease}
.v-compare.in .v-compare-mark{transform:none;opacity:1}
.v-compare.in .v-compare-col:nth-child(1) .v-compare-mark{transition-delay:.7s}
.v-compare.in .v-compare-col:nth-child(2) .v-compare-mark{transition-delay:.85s}
.v-compare-head h4, .v-compare-sub{opacity:0;transform:translateX(-12px);transition:opacity .8s, transform .8s cubic-bezier(.22,.7,.2,1)}
.v-compare.in .v-compare-head h4, .v-compare.in .v-compare-sub{opacity:1;transform:none}
.v-compare.in .v-compare-col:nth-child(1) .v-compare-head h4{transition-delay:.8s}
.v-compare.in .v-compare-col:nth-child(1) .v-compare-sub{transition-delay:.88s}
.v-compare.in .v-compare-col:nth-child(2) .v-compare-head h4{transition-delay:.95s}
.v-compare.in .v-compare-col:nth-child(2) .v-compare-sub{transition-delay:1.03s}
.v-compare-col ul li{opacity:0;transform:translateY(8px);transition:opacity .55s, transform .55s cubic-bezier(.22,.7,.2,1)}
.v-compare.in .v-compare-col ul li{opacity:1;transform:none}
.v-compare.in .v-compare-col:nth-child(1) ul li:nth-child(1){transition-delay:.95s}
.v-compare.in .v-compare-col:nth-child(1) ul li:nth-child(2){transition-delay:1.05s}
.v-compare.in .v-compare-col:nth-child(1) ul li:nth-child(3){transition-delay:1.15s}
.v-compare.in .v-compare-col:nth-child(1) ul li:nth-child(4){transition-delay:1.25s}
.v-compare.in .v-compare-col:nth-child(1) ul li:nth-child(5){transition-delay:1.35s}
.v-compare.in .v-compare-col:nth-child(2) ul li:nth-child(1){transition-delay:1.1s}
.v-compare.in .v-compare-col:nth-child(2) ul li:nth-child(2){transition-delay:1.2s}
.v-compare.in .v-compare-col:nth-child(2) ul li:nth-child(3){transition-delay:1.3s}
.v-compare.in .v-compare-col:nth-child(2) ul li:nth-child(4){transition-delay:1.4s}
.v-compare.in .v-compare-col:nth-child(2) ul li:nth-child(5){transition-delay:1.5s}
.v-compare-col ul li .li-mark{transition:transform .35s cubic-bezier(.5,1.6,.5,1), color .35s}
.v-compare-col ul li:hover .li-mark{transform:scale(1.25) rotate(8deg)}

/* Lender roster - tier cards cascade + list items wipe */
.v-lender-roster{opacity:0;transform:translateY(20px);transition:opacity 1s cubic-bezier(.22,.7,.2,1), transform 1s cubic-bezier(.22,.7,.2,1)}
.v-lender-roster.in{opacity:1;transform:none}
.v-lender-tier{position:relative;overflow:hidden;isolation:isolate}
.v-lender-tier::before{content:"";position:absolute;left:0;top:0;width:0;height:1px;background:var(--gold);transition:width 1.1s cubic-bezier(.22,.7,.2,1);z-index:3;pointer-events:none}
.v-lender-roster.in .v-lender-tier::before{width:100%}
.v-lender-roster.in .v-lender-tier:nth-child(1)::before{transition-delay:.4s}
.v-lender-roster.in .v-lender-tier:nth-child(2)::before{transition-delay:.55s}
.v-lender-roster.in .v-lender-tier:nth-child(3)::before{transition-delay:.7s}
.v-lender-roster.in .v-lender-tier:nth-child(4)::before{transition-delay:.85s}
.v-lender-tier > *{opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.22,.7,.2,1), transform .8s cubic-bezier(.22,.7,.2,1)}
.v-lender-roster.in .v-lender-tier > *{opacity:1;transform:none}
.v-lender-roster.in .v-lender-tier:nth-child(1) > *{transition-delay:.6s}
.v-lender-roster.in .v-lender-tier:nth-child(2) > *{transition-delay:.75s}
.v-lender-roster.in .v-lender-tier:nth-child(3) > *{transition-delay:.9s}
.v-lender-roster.in .v-lender-tier:nth-child(4) > *{transition-delay:1.05s}
.v-lender-tier .t-list li{opacity:0;transform:translateY(6px);transition:opacity .5s cubic-bezier(.22,.7,.2,1), transform .5s cubic-bezier(.22,.7,.2,1)}
.v-lender-roster.in .v-lender-tier .t-list li{opacity:1;transform:none}
.v-lender-roster.in .v-lender-tier .t-list li:nth-child(1){transition-delay:1.0s}
.v-lender-roster.in .v-lender-tier .t-list li:nth-child(2){transition-delay:1.06s}
.v-lender-roster.in .v-lender-tier .t-list li:nth-child(3){transition-delay:1.12s}
.v-lender-roster.in .v-lender-tier .t-list li:nth-child(4){transition-delay:1.18s}
.v-lender-roster.in .v-lender-tier .t-list li:nth-child(5){transition-delay:1.24s}
.v-lender-roster.in .v-lender-tier .t-list li:nth-child(6){transition-delay:1.30s}
.v-lender-roster.in .v-lender-tier .t-list li:nth-child(7){transition-delay:1.36s}
.v-lender-roster.in .v-lender-tier .t-list li:nth-child(8){transition-delay:1.42s}
.v-lender-tier{transition:transform .45s cubic-bezier(.22,.7,.2,1), box-shadow .45s cubic-bezier(.22,.7,.2,1)}
.v-lender-tier:hover{transform:translateY(-3px); box-shadow:0 22px 50px -28px rgba(7,26,49,.32)}

/* Pillar ghost numeral hover */
.v-pillar:hover .ghost{transform:translate(-4px,-6px) rotate(-3deg);transition:transform .8s cubic-bezier(.22,.7,.2,1), opacity .8s ease}

/* Related verticals - number scale + arrow slide on hover */
.v-related{opacity:0;transform:translateY(20px);transition:opacity 1s cubic-bezier(.22,.7,.2,1), transform 1s cubic-bezier(.22,.7,.2,1)}
.v-related.in{opacity:1;transform:none}
.v-related a{position:relative;overflow:hidden;isolation:isolate}
.v-related a::before{content:"";position:absolute;left:0;top:0;height:1px;width:0;background:var(--gold);transition:width .65s cubic-bezier(.22,.7,.2,1);z-index:3}
.v-related a:hover::before{width:100%}
.v-related a > *{opacity:0;transform:translateY(10px);transition:opacity .7s cubic-bezier(.22,.7,.2,1), transform .7s cubic-bezier(.22,.7,.2,1)}
.v-related.in a > *{opacity:1;transform:none}
.v-related.in a:nth-child(1) > *{transition-delay:.35s}
.v-related.in a:nth-child(2) > *{transition-delay:.5s}
.v-related.in a:nth-child(3) > *{transition-delay:.65s}
.v-related a .num{transition:transform .35s cubic-bezier(.5,1.5,.5,1), color .35s}
.v-related a:hover .num{transform:translateX(4px) scale(1.08); color:var(--navy)}
.v-related a .arr{transition:transform .4s cubic-bezier(.22,.7,.2,1), color .35s}
.v-related a:hover .arr{transform:translateX(8px); color:var(--gold-deep)}

/* Final CTA - full cascaded entrance */
.v-final{position:relative;overflow:hidden}
.v-final::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg, transparent, rgba(231,201,148,.7) 30%, rgba(231,201,148,.7) 70%, transparent);transform:scaleX(0);transform-origin:center;transition:transform 1.4s cubic-bezier(.22,.7,.2,1)}
.v-final.in::before{transform:scaleX(1);transition-delay:.2s}
.v-final::after{content:"";position:absolute;right:-160px;top:50%;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle, rgba(231,201,148,.10), transparent 60%);filter:blur(48px);pointer-events:none;animation:v-final-drift 22s ease-in-out infinite}
@keyframes v-final-drift{0%,100%{transform:translate(0,-50%) scale(1)}50%{transform:translate(-60px,-46%) scale(1.12)}}
.v-final-l > *{opacity:0;transform:translateY(18px);transition:opacity .95s cubic-bezier(.22,.7,.2,1), transform .95s cubic-bezier(.22,.7,.2,1)}
.v-final.in .v-final-l > *{opacity:1;transform:none}
.v-final.in .v-final-l > *:nth-child(1){transition-delay:.4s}
.v-final.in .v-final-l > *:nth-child(2){transition-delay:.55s}
.v-final.in .v-final-l > *:nth-child(3){transition-delay:.72s}
.v-final.in .v-final-l > *:nth-child(4){transition-delay:.92s}
.v-final-list{opacity:0;transform:translateX(20px);transition:opacity 1s cubic-bezier(.22,.7,.2,1), transform 1s cubic-bezier(.22,.7,.2,1)}
.v-final.in .v-final-list{opacity:1;transform:none;transition-delay:.6s}
.v-final-list li{opacity:0;transform:translateY(8px);transition:opacity .7s cubic-bezier(.22,.7,.2,1), transform .7s cubic-bezier(.22,.7,.2,1), background .3s}
.v-final.in .v-final-list li{opacity:1;transform:none}
.v-final.in .v-final-list li:nth-child(1){transition-delay:.85s}
.v-final.in .v-final-list li:nth-child(2){transition-delay:.97s}
.v-final.in .v-final-list li:nth-child(3){transition-delay:1.09s}
.v-final.in .v-final-list li:nth-child(4){transition-delay:1.21s}
.v-final-list li:hover{background:rgba(231,201,148,.04);padding-left:8px;padding-right:8px}
.v-final .btn{position:relative;overflow:hidden;transition:background .35s, color .35s}
.v-final .btn::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-100%);transition:transform .7s cubic-bezier(.22,.7,.2,1)}
.v-final .btn:hover::after{transform:translateX(100%)}

/* Section-head accent - small gold hairline before each kicker (drawn on enter) */
.v-section-head .kicker{position:relative;display:inline-block;padding-left:0}
.v-section-head .rv-up.in .kicker::before{content:"";position:absolute;left:0;top:-12px;height:1px;width:24px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.22,.7,.2,1) .15s;animation:none}
.v-section-head .rv-up.in .kicker{padding-top:0}

/* Topnav: brand mark gold dot pulse */
.topnav-brand .mark::after{content:".";color:var(--gold-deep);display:inline-block;animation:topnav-dot-pulse 5s ease-in-out infinite}
@keyframes topnav-dot-pulse{0%,100%{opacity:1;transform:translateY(0)}50%{opacity:.55;transform:translateY(-1px)}}

/* Topnav: link underline on hover */
.topnav-links a{position:relative}
.topnav-links a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--gold-deep);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.22,.7,.2,1)}
.topnav-links a:hover::after{transform:scaleX(1);transform-origin:left}

/* Footer (vertical pages) - same column cascade as home, observed by script below */
footer .foot-inner > *, footer .foot-col h5, footer .foot-col ul li a {/* hooks for verticals JS */}

@media (prefers-reduced-motion: reduce){
  .v-compare,.v-compare-col::before,.v-compare-mark,.v-compare-head h4,.v-compare-sub,.v-compare-col ul li,
  .v-lender-roster,.v-lender-tier::before,.v-lender-tier > *,.v-lender-tier .t-list li,
  .v-related,.v-related a > *,
  .v-final::before,.v-final::after,.v-final-l > *,.v-final-list,.v-final-list li,
  .topnav-brand .mark::after{
    animation:none !important;transition:none !important;transform:none !important;opacity:1 !important;width:auto !important
  }
}
