/* Baker 1031 - 2026 design system. Generated by scripts/port-homepage.py.
   Every ported page links this instead of inlining it. The older
   baker-2026.css is left alone: 257 pages still use the previous markup. */

@font-face{font-family:'Optima';src:url('/assets/fonts/optima-bold.woff2') format('woff2'),url('/assets/fonts/optima-bold.woff') format('woff');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/marcellus-latin.woff2') format('woff2')}

/* Plus Jakarta Sans, self-hosted. This used to come from fonts.googleapis.com,
   which cost the render path two third-party connections in series: DNS + TLS
   to googleapis for the stylesheet, and only once that parsed, DNS + TLS to
   gstatic for the font files. PageSpeed put that chain at ~1.4s of render
   blocking on Slow 4G. Served from our own origin the connection is already
   open, so the fonts arrive on the connection that fetched this stylesheet.

   Files are Google's own, byte for byte -- the same woff2 the hosted CSS
   pointed at, with Google's unicode-range subsetting kept intact so latin-ext
   only downloads when a page actually uses those glyphs.

   The roman face is a variable font, which is why five weights need one rule
   and one file; Google's CSS emitted five @font-face blocks all pointing at
   this same URL. It is declared 300-700, not the font's full 200-800, so that
   rendering does not change: the hosted CSS only ever declared 300 to 700, and
   design-2026-pages.css asks for `font-weight: 800` on four article and
   glossary hub headings, which snapped down to 700 under the old declarations.
   A 200-800 range would quietly start rendering those four at a true 800.

   The italic is a static 300 and is declared at 300 only -- again exactly what
   the hosted CSS did, so italic text at other weights keeps falling back to
   synthesised oblique as it does today rather than silently rendering bold
   italic as light. */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url('/assets/fonts/jakarta-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url('/assets/fonts/jakarta-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:300;font-display:swap;src:url('/assets/fonts/jakarta-latin-italic.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:300;font-display:swap;src:url('/assets/fonts/jakarta-latin-ext-italic.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

/* ==========================================================================
   Layout + colour read off starwoodcapital.com's computed styles (Sept 2026).
   Display face: Optima Bold. Optima ships with macOS, so on a Mac this renders
   as the real thing; elsewhere it falls back to Marcellus / Candara / Gill Sans.
   ========================================================================== */
:root{
  --ink:#332E24;      --blue-d:#005588;   --blue:#0079C2;
  --pale:#EDF6FB;     --grey1:#F2F2F2;    --page:#F1F3F4;
  --blue-lt:#9FD0EE;
  --body:#343A40;     --muted:#5F6469;
  --hair:rgba(51,46,36,.15);
  --gut:clamp(20px,8.6vw,160px);
  --hdr:104px;
  --display:'Optima','Optima nova','URW Classico','Marcellus',Candara,'Gill Sans','Gill Sans MT','Trebuchet MS',sans-serif;
  --sans:'Plus Jakarta Sans',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--body);
  font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* ---------- display type: Optima Bold ---------- */
h1,h2,h3,h4,.h1,.h2,.h3,.h6{font-family:var(--display);font-weight:400;color:var(--ink);margin:0;
  letter-spacing:0}
h1,.h1{font-size:clamp(38px,4.4vw,64px);line-height:1.08}
.h2{font-size:clamp(28px,2.9vw,42px);line-height:1.16}
.h3{font-size:clamp(25px,2.5vw,36px);line-height:1.22}
.h6{font-size:clamp(19px,1.75vw,25px);line-height:1.3}
.eyebrow{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);line-height:1.4;margin:0 0 22px;display:block}
.on-dark .eyebrow,.eyebrow.on-dark{color:rgba(255,255,255,.84)}
.p-main{font-size:clamp(17px,1.4vw,21.8px);line-height:1.7}
p{margin:0 0 22px;max-width:68ch}
p:last-child{margin-bottom:0}
.fine{font-size:13px;line-height:1.65;color:var(--muted)}

/* ---------- buttons + links ---------- */
.btn{display:inline-block;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;border-radius:3px;border:1px solid transparent;cursor:pointer;
  padding:17px 42px;line-height:1.15;transition:background .25s,color .25s,border-color .25s;white-space:nowrap}
.btn--primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn--primary:hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn--secondary{background:#fff;color:var(--blue-d);border-color:#fff}
.btn--secondary:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn--outline{background:transparent;color:var(--blue-d);border-color:var(--blue-d)}
.btn--outline:hover{background:var(--blue-d);color:#fff}
.link{display:inline-flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--blue-d);transition:gap .25s,color .25s}
.link:hover{gap:16px;color:var(--blue)}
.link.on-dark{color:#fff}.link.on-dark:hover{color:var(--pale)}
.btn-row{display:flex;gap:20px;flex-wrap:wrap;align-items:center}

/* ---------- section rhythm: more air ---------- */
.sec{padding:140px var(--gut)}
@media(max-width:900px){.sec{padding:88px var(--gut)}}
.bg-pale{background:var(--pale)}
.bg-grey{background:var(--grey1)}
.bg-white{background:#fff}
.bg-blue{background:var(--blue-d);color:rgba(255,255,255,.9)}
.bg-ink{background:var(--ink);color:rgba(255,255,255,.88)}
.bg-blue .h1,.bg-blue .h2,.bg-blue .h3,.bg-ink .h1,.bg-ink .h2,.bg-ink .h3{color:#fff}

[data-aos]{opacity:0;transition:opacity .8s cubic-bezier(.25,.1,.25,1),transform .8s cubic-bezier(.25,.1,.25,1)}
[data-aos="fade-up"]{transform:translateY(100px)}
[data-aos="fade-right"]{transform:translateX(-100px)}
[data-aos="fade-left"]{transform:translateX(100px)}
[data-aos].in{opacity:1;transform:none}
/* Starwood travels 100px. At narrow widths that offset pokes past the viewport
   before the element animates in, so the X axis is clamped below the desktop
   breakpoints. Measured: without this, +12px overflow at 1024, +34 at 768, +64 at 414. */
@media(max-width:1100px){[data-aos="fade-right"]{transform:translateX(-40px)}[data-aos="fade-left"]{transform:translateX(40px)}}
@media(max-width:640px){[data-aos="fade-right"],[data-aos="fade-left"]{transform:translateY(40px)}[data-aos="fade-up"]{transform:translateY(60px)}}
@media(prefers-reduced-motion:reduce){[data-aos]{opacity:1!important;transform:none!important;transition:none}
 .marq-t{animation:none}html{scroll-behavior:auto}}

/* ================= HEADER ================= */
.hdr{position:absolute;top:0;left:0;right:0;z-index:30;padding:0 var(--gut)}
.hdr-in{height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo{font-family:var(--display);font-size:28px;font-weight:400;color:#fff;line-height:1;white-space:nowrap;
  letter-spacing:.01em}
.brand img{display:block;height:38px;width:auto}
@media(max-width:520px){.brand img{height:28px}}
.logo small{display:block;font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.3em;
  text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:8px}
.hdr-nav{display:flex;gap:34px;font-family:var(--display);font-weight:400;font-size:17px;color:#fff}
.hdr-nav a{opacity:.94;padding-bottom:5px;border-bottom:1px solid transparent;transition:border-color .25s}
.hdr-nav a:hover{border-bottom-color:rgba(255,255,255,.85)}
.hdr-r{display:flex;align-items:center;gap:22px}
.hdr-r .sm{padding:8px 0;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;opacity:.92}

/* Solid variant, for every page that is not the homepage: the base .hdr is
   transparent because it floats over the dark hero, and white nav text on a
   light page measures 1.11 contrast. */
.hdr--solid{position:sticky;background:#fff;border-bottom:1px solid var(--hair)}
.hdr--solid .hdr-nav a,.hdr--solid .hdr-r .sm{color:var(--ink)}
.hdr--solid .hdr-nav a:hover{border-bottom-color:var(--ink)}
.hdr--solid .btn--secondary{background:var(--blue);color:#fff;border-color:var(--blue)}
.hdr--solid .btn--secondary:hover{background:var(--blue-d);border-color:var(--blue-d)}
.hdr .btn{padding:12px 26px}
/* The nav is five flex items that shrink before they overflow, so when the row
   runs short each LINK wraps to two lines rather than the bar overflowing --
   silent, and it was live on every ported page. Measured shortfall with the old
   single 1240px tier: 1100px short 59, 1180 short 30, 1240 short 8, and then
   1280/1366 short 39/5 because they sit ABOVE 1240 and so got the wide 34px /
   17px settings. Two tiers sized from those measurements, plus nowrap so any
   future regression shows up as overflow the audit catches instead of a quiet
   second line. scripts/audit-header-nav.js checks 1080-1600. */
.hdr-nav a{white-space:nowrap}
@media(max-width:1439px){.hdr-nav{gap:22px;font-size:15px}}
@media(max-width:1259px){.hdr-nav{gap:14px;font-size:14px}.hdr-in{gap:20px}.hdr-r{gap:14px}}
@media(max-width:1080px){.hdr-nav{display:none}.hdr-in{height:76px}}
@media(max-width:700px){.hdr-r{gap:12px}.hdr-r .sm{font-size:10px;letter-spacing:.1em}}
@media(max-width:520px){.logo{font-size:20px}.logo small{font-size:8px;letter-spacing:.24em}
  .hdr .btn{padding:10px 14px;font-size:10px;letter-spacing:.08em}
  .hdr-r .sm .lg{display:none}.hdr-r .sm{font-size:10px;letter-spacing:.08em}}

/* ================= HERO ================= Starwood proportions:
   video ≈ 105vh full-bleed; headline block starts ≈ 80vh and runs onto
   solid blue below the video; total hero ≈ 140vh.                           */
.hero{position:relative;background:var(--blue-d);min-height:min(140vh,1500px);overflow:hidden}
.hero__media{position:absolute;top:0;left:0;right:0;height:min(105vh,1130px);overflow:hidden}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover;
  filter:brightness(.82) saturate(.95)}
.hero__grad{position:absolute;top:0;left:0;right:0;height:min(105vh,1130px);background:
  linear-gradient(180deg,rgba(0,17,29,.74) 0%,rgba(0,17,29,.4) 22%,rgba(0,17,29,.16) 42%,rgba(0,17,29,.04) 60%,rgba(0,17,29,0) 74%)}
.hero__grad2{position:absolute;top:0;left:0;right:0;height:min(105vh,1130px);background:
  linear-gradient(rgba(0,85,136,0) 46%,rgba(0,85,136,.82) 78%,var(--blue-d) 100%)}
.hero__grad3{position:absolute;top:0;left:0;right:0;height:min(105vh,1130px);background:
  linear-gradient(90deg,rgba(0,17,29,.42) 0%,rgba(0,17,29,.16) 46%,rgba(0,17,29,0) 72%)}
.hero-intro{position:relative;padding:min(80vh,860px) var(--gut) 96px;color:#fff}
.hero-intro .h1{color:#fff;max-width:min(100%,1150px)}
.hero-sub{margin-top:74px;max-width:min(100%,880px)}      /* Starwood: 145px gap at 71px h1 */
.hero-sub .h2{color:#fff}
.hero-lead{margin-top:48px;max-width:min(100%,760px);color:rgba(255,255,255,.94)}
.hero-links{margin-top:46px}

/* ================= SPLIT ROWS (alternating sides) ================= */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,5vw,96px);align-items:stretch}
/* Starwood's values block runs 38% text / 62% image with a 64px gutter */
.split--acc{grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:clamp(28px,3.4vw,64px)}
@media(max-width:980px){.split--acc{grid-template-columns:1fr}}
.split--acc .pic img{min-height:clamp(360px,44vw,830px)}
.split--acc .btn{padding:16px 28px}
@media(max-width:980px){.split{grid-template-columns:1fr;gap:40px}}
.split--imgRight .col-img{order:2}.split--imgRight .col-text{order:1}
.split--imgLeft  .col-img{order:1}.split--imgLeft  .col-text{order:2}
@media(max-width:980px){.split .col-img{order:0}.split .col-text{order:1}}
.col-text{display:flex;flex-direction:column;justify-content:center}
.split .pic,.split .pic img{height:100%}
.split .pic img{min-height:clamp(340px,36vw,540px);object-fit:cover}

/* image caption overlay */
.pic{position:relative;overflow:hidden}
.pic .grad{position:absolute;left:0;right:0;bottom:0;height:62%;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.34) 42%,rgba(0,0,0,.86))}
.pic .meta{position:absolute;left:32px;right:32px;bottom:28px;color:#fff}
.pic .cap{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.5}
.pic .desc{font-size:12px;letter-spacing:.05em;color:rgba(255,255,255,.88);margin-top:7px}

/* ================= STATS ================= generous gutters, no border kiss */
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  margin-top:104px;border-top:1px solid var(--hair)}
@media(max-width:1080px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stat{padding:44px 56px 40px 0;border-right:1px solid var(--hair)}
.stat+.stat{padding-left:44px}
.stat:last-child{border-right:0;padding-right:0}
.stat .n{font-family:var(--display);font-weight:400;font-size:clamp(32px,3.4vw,52px);
  line-height:1.05;color:var(--ink);white-space:nowrap;letter-spacing:-.01em}
.stat .n sup{font-family:var(--sans);font-size:11px;font-weight:700;color:var(--blue-d);top:-1.5em;left:3px}
.stat .n .u{font-size:.46em;letter-spacing:.01em;margin-left:2px}
.stat .l{margin-top:18px;font-size:14px;line-height:1.55;color:var(--body)}
@media(max-width:1080px){.stat{padding-right:40px}.stat:nth-child(3n){border-right:0;padding-right:0}
  .stat:nth-child(3n+1){padding-left:0}}
@media(max-width:640px){.stat{padding:32px 28px 28px 0}
  .stat:nth-child(3n){border-right:1px solid var(--hair);padding-right:28px}
  .stat:nth-child(2n){border-right:0;padding-right:0}
  .stat:nth-child(2n+1){padding-left:0}}

/* ================= SPONSORS ================= */
.marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 92%,transparent);
  mask-image:linear-gradient(90deg,#000 0,#000 92%,transparent)}
.marq-t{display:flex;gap:96px;align-items:center;width:max-content;animation:mv 68s linear infinite}
.marq-t img{height:58px;width:auto;opacity:.9;filter:grayscale(1) contrast(1.25);transition:opacity .3s}
.marq-t img:hover{opacity:1}
@keyframes mv{to{transform:translateX(-50%)}}
@media(max-width:640px){.marq-t{gap:56px}.marq-t img{height:40px}
  .marq{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 86%,transparent);
    mask-image:linear-gradient(90deg,#000 0,#000 86%,transparent)}}

/* ================= ACCORDION ================= */
.faq-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.pill{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  padding:10px 18px;border:1px solid var(--hair);border-radius:3px;background:transparent;color:var(--muted);
  cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pill:hover{border-color:var(--blue-d);color:var(--blue-d)}
.pill.on{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.faq-count{margin-top:16px;font-size:13px;color:var(--muted)}
.acc-item{border-bottom:1px solid var(--hair)}
.acc-item:first-child{border-top:1px solid var(--hair)}
.acc-btn{display:flex;align-items:center;gap:20px;width:100%;background:none;border:0;cursor:pointer;
  padding:22px 0;text-align:left;color:var(--ink);font-family:var(--display);font-weight:400;
  font-size:clamp(19px,1.75vw,25px);line-height:1.3}
.acc-btn .ico{flex:none;width:32px;height:32px;color:var(--blue)}
.acc-btn .ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.2;
  stroke-linecap:round;stroke-linejoin:round}
.acc-btn .ttl{flex:1;margin:0;font:inherit;color:inherit;letter-spacing:inherit}
.acc-btn .chev{flex:none;width:14px;height:14px;color:var(--blue);transition:transform .35s ease}
.acc-item.open .chev{transform:rotate(180deg)}
.acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.acc-item.open .acc-body{grid-template-rows:1fr}
.acc-body>div{overflow:hidden}
.acc-body p{padding:0 0 24px var(--accpad,52px);margin:0;font-size:15.5px;line-height:1.68;max-width:54ch}
@media(max-width:600px){.acc-body p{padding-left:0}}

/* ================= FULL-BLEED SPLIT ================= */
.fw{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);align-items:stretch;
  min-height:clamp(420px,46vw,680px)}
@media(max-width:980px){.fw{grid-template-columns:1fr;min-height:0}}
.fw .pic{order:2}
.fw .pic img{width:100%;height:100%;min-height:clamp(320px,42vw,680px);object-fit:cover}
.fw-body{order:1;position:relative;overflow:hidden;background:var(--blue-d);color:rgba(255,255,255,.92);
  padding:clamp(56px,5.2vw,88px) clamp(28px,2.8vw,52px) clamp(56px,5.2vw,88px) var(--gut);
  display:flex;flex-direction:column;justify-content:center}
/* faint architectural wash, as on Starwood's blue panel */
.fw-body::before{content:'';position:absolute;inset:0;opacity:.14;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.22) 0 34%,rgba(255,255,255,0) 34.6% 62%,rgba(255,255,255,.16) 62.6% 100%)}
.fw-body>*{position:relative}
@media(max-width:980px){.fw .pic{order:0}.fw-body{order:1;padding:64px var(--gut)}}
.fw-body .eyebrow{color:rgba(255,255,255,.86)}
.fw-body .h2{color:#fff;margin-bottom:26px;max-width:15ch}
.fw-body p{color:rgba(255,255,255,.9);max-width:44ch}
.pull{font-family:var(--display);font-weight:400;font-size:clamp(20px,1.8vw,26px);line-height:1.3;
  color:#BEDDF2;margin:6px 0 30px;max-width:24ch}

/* ================= QUOTE ================= */
/* Starwood quote block: 428px circle, 56px gutter, content capped at 596px
   with 1px #BDBDBD rules above and below and 48px of internal padding.       */
.quote-row{display:flex;align-items:center;justify-content:center;gap:clamp(36px,4.4vw,80px);flex-wrap:wrap}
.q-portrait{flex:0 0 auto;width:clamp(240px,26vw,428px);aspect-ratio:1;border-radius:50%;overflow:hidden}
.q-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 16%}
.q-block{flex:1 1 460px;max-width:596px;border-top:1px solid #BDBDBD;border-bottom:1px solid #BDBDBD;padding:48px 0}
.q-text{font-family:var(--display);font-weight:400;font-style:italic;color:var(--blue-d);
  font-size:clamp(21px,2.1vw,31px);line-height:1.5;margin:0 0 32px;max-width:none}
.q-name{font-size:15px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.q-role{font-size:13px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.cred-row{max-width:1080px;margin:64px auto 0}
.creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:0;border-top:1px solid var(--hair)}
@media(max-width:820px){.creds{grid-template-columns:1fr}}
.cred{padding:26px 22px 26px 0;border-right:1px solid var(--hair);min-width:0}
.cred+.cred{padding-left:22px}
.cred:last-child{border-right:0;padding-right:0}
@media(max-width:820px){.cred,.cred+.cred{border-right:0;border-bottom:1px solid var(--hair);
  padding:20px 0}.cred:last-child{border-bottom:0;padding-bottom:0}}
.cred .cl{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:11px}
.cred .cv{font-family:var(--display);font-weight:500;font-size:17px;color:var(--ink);line-height:1.3}
.cred .cs{font-size:12.5px;color:var(--muted);margin-top:7px;line-height:1.5}

/* ================= CAROUSEL ================= */
.c-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:64px}
.c-nav{display:flex;gap:12px;align-items:center}
.c-btn{width:52px;height:52px;border-radius:50%;border:1px solid var(--blue-d);background:transparent;
  color:var(--blue-d);cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .25s,color .25s}
.c-btn:hover{background:var(--blue-d);color:#fff}
.c-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.c-view{overflow:hidden}
.c-track{display:flex;gap:clamp(24px,3.2vw,52px);transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}
.card{flex:0 0 auto;display:flex;flex-direction:column;background:#fff}
.card .pic img{width:100%;height:236px;object-fit:cover}
.c-b{padding:28px 28px 32px;display:flex;flex-direction:column;flex:1}
.c-b .date{font-size:12.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.c-b .ttl{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(19px,1.7vw,24px);
  line-height:1.28;color:var(--ink);min-height:2.6em}
.kv{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 0;
  border-bottom:1px solid var(--hair)}
.kv:first-of-type{margin-top:22px;border-top:1px solid var(--hair)}
.kv .k{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.kv .v{font-family:var(--display);font-weight:500;font-size:20px;color:var(--ink);white-space:nowrap}
.c-b .link{margin-top:auto;padding-top:24px;font-size:13px}
.c-dots{display:flex;gap:9px;margin-top:44px;justify-content:center}
.c-dot{width:7px;height:7px;border-radius:50%;background:rgba(51,46,36,.22);border:0;padding:0;cursor:pointer;
  transition:background .25s,transform .25s}
.c-dot.on{background:var(--blue-d);transform:scale(1.3)}

/* ================= CTA (warm ink ground) ================= */
.cta-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,430px);
  gap:clamp(32px,4.6vw,80px);align-items:center}
@media(max-width:980px){.cta-in{grid-template-columns:1fr}}
/* click-through preview of the 9-step intake, as on the live site */
.form-card{display:block;background:#fff;border-radius:3px;padding:32px 30px 28px;color:var(--ink);
  transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 18px 48px rgba(0,0,0,.28)}
.form-card:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(0,0,0,.36)}
.fc-h{font-family:var(--display);font-weight:400;font-size:23px;line-height:1.25}
.fc-step{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin:10px 0 22px}
.fc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.fc-in{display:flex;align-items:center;justify-content:space-between;gap:8px;
  border:1px solid #DFE3E8;border-radius:3px;padding:13px 14px;font-size:14px;color:#5F6469;background:#FBFCFD}
.fc-full{margin-bottom:12px}
.fc-sel svg{width:14px;height:14px;flex:none}
.fc-submit{display:block;margin-top:18px;background:var(--blue);color:#fff;text-align:center;border-radius:3px;
  padding:15px 20px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.form-card:hover .fc-submit{background:var(--blue-d)}
.fc-note{display:block;margin-top:16px;font-size:11.5px;line-height:1.55;color:var(--muted)}
.checks{display:flex;flex-direction:column;gap:12px;font-size:14.5px;color:rgba(255,255,255,.88)}
.checks div{display:flex;gap:11px;align-items:flex-start}
.checks s{flex:none;width:16px;text-decoration:none;color:#9FD0EE}

/* ================= FOOTER ================= */
.ftr{background:var(--blue-d);color:rgba(255,255,255,.88);padding:96px var(--gut) 44px}
.ftr-g{display:grid;grid-template-columns:1fr 1.25fr .85fr .85fr;gap:clamp(28px,3.6vw,60px)}
@media(max-width:980px){.ftr-g{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ftr-g{grid-template-columns:1fr}}
.ftr-logo{width:210px;height:auto}
.ftr h4{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:#fff;margin:0 0 18px}
.ftr p{color:rgba(255,255,255,.88);font-size:14.5px;line-height:1.75;max-width:42ch;margin:0 0 16px}
.ftr a{color:rgba(255,255,255,.88);border-bottom:1px solid transparent}
.ftr a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.6)}
.ftr .fcol a{display:block;padding:8px 0}
.ftr-nav{display:flex;flex-wrap:wrap;gap:6px 30px;margin-top:60px;padding-top:30px;
  border-top:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.ftr-nav a{padding:7px 0}
.ftr-legal{margin-top:30px;font-size:12.5px;line-height:1.75;color:rgba(255,255,255,.76);max-width:118ch}
.ftr-bot{margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.22);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.76)}

.mock{background:var(--ink);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;padding:11px var(--gut);text-align:center}
