/* BudgetWalk: shared foundation + homepage. Values follow Design.html (desktop 1440, mobile 390). */

@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/google-sans-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:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/google-sans-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}
/* Google Sans has no naira sign; the design falls back to Noto Sans for it. */
@font-face{font-family:'Noto Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/noto-sans-latin-ext.woff2) format('woff2');unicode-range:U+20A0-20AB,U+20AD-20C0}
@font-face{font-family:'Google Sans';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/google-sans-italic-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}

:root{
  --bg:#FAF7F8;--ink:#1B1116;--brand:#9A073D;--muted:#5E4E55;--subtle:#7D6C73;
  --line:#EADDE3;--line-2:#E6D6DD;--line-3:#EFE3E8;--blush:#F6E7ED;--blush-2:#FBF1F4;
  --dark:#1A0B11;--dark-2:#12070B;--dark-3:#1F0E15;--on-dark:#D6BFC9;--on-dark-2:#F7EEF2;
  --pink:#F27A9B;--gold:#F2B233;--green:#0B7A62;--mint:#4FD6B0;--amber:#8A5A00;--amber-line:#D99A1E;--amber-bg:#FDF3DC;
  --stage-done:#E3A1B6;
  --font:'Google Sans','Noto Sans','Helvetica Neue',Arial,sans-serif;
  --gutter:80px;--inset:16px;--panel-pad:64px;--radius-panel:40px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
h1,h2,h3,p,dl,dd,figure{margin:0}
a{color:var(--brand)}a:hover{color:var(--ink)}
button{cursor:pointer;font-family:inherit}
input::placeholder{color:#8F7F86}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
[hidden]{display:none!important}
.m-only{display:none}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:16px;top:-60px;z-index:100;padding:10px 16px;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;text-decoration:none}
.skip-link:focus{top:16px;color:#fff}
.num{font-variant-numeric:tabular-nums}
.c-brand{color:var(--brand)}.c-green{color:var(--green)}.c-mint{color:var(--mint)}.c-gold{color:var(--gold)}
.strong-13{font-size:13px;font-weight:600}.strong-14{font-size:14px;font-weight:600}.strong-15{font-size:15px;font-weight:600}
.row-between{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.stack-20{display:flex;flex-direction:column;gap:20px}
svg use{pointer-events:none}
.scene{display:block;width:100%;height:100%}

/* Buttons */
.btn{height:52px;padding:0 6px 0 22px;display:inline-flex;align-items:center;gap:14px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;border:none;white-space:nowrap;transition:background-color .15s,color .15s}
.btn-icon{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.btn-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary .btn-icon{background:#fff;color:var(--brand)}
.btn-primary:hover{background:#7E0532;color:#fff}
.btn-light{background:#fff;color:var(--ink)}
.btn-light .btn-icon{background:var(--brand);color:#fff}
.btn-light:hover{background:var(--blush-2);color:var(--ink)}
.btn-ghost-light{padding:0 24px;border:1.5px solid rgba(255,255,255,.65);background:transparent;color:#fff}
.btn-ghost-light:hover{background:rgba(255,255,255,.1)}
.btn-header{height:50px;padding:0 5px 0 22px}
.btn-block{display:flex;width:100%;justify-content:space-between;padding-left:20px}

/* Header */
.site-header{max-width:1440px;margin:0 auto;height:96px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;z-index:20}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{display:block;width:111px;height:54px;object-fit:contain}
/* Auto margins on the first link and the CTA centre the links between logo and CTA, as in the design. */
.site-nav{flex:1;display:flex;align-items:center;gap:32px;font-size:15px;font-weight:500}
.site-nav a:not(.btn){color:var(--ink);text-decoration:none}
.site-nav a:not(.btn):hover{color:var(--brand)}
.site-nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:10px}
.site-nav a:first-child,.site-nav .nav-cta{margin-left:auto}
.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #E0CDD5;border-radius:999px;background:#fff;color:var(--ink)}
.menu-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* Page width + panels */
main,.site-footer{max-width:1440px;margin:0 auto}
.panel-wrap{padding:0 var(--inset)}
.section{padding-left:var(--gutter);padding-right:var(--gutter)}
.eyebrow{font-size:18px;font-weight:500;color:var(--brand)}
.eyebrow-pink{color:var(--pink)}
.h2{font-size:56px;font-weight:700;line-height:1.08;letter-spacing:-.03em;white-space:nowrap}
.body-lg{font-size:18px;line-height:1.55;color:var(--muted)}
.split-head{display:flex;justify-content:space-between;align-items:flex-end;gap:64px}
.split-head>.body-lg,.passport-intro{width:520px;flex-shrink:0}

/* Hero */
.hero-wrap{position:relative;z-index:1}
.hero{position:relative;height:840px;border-radius:var(--radius-panel);overflow:hidden;color:#fff;
  background:radial-gradient(28% 42% at 60% 48%,rgba(255,150,180,.28) 0%,rgba(255,150,180,0) 70%),radial-gradient(48% 60% at 16% 40%,rgba(240,90,130,.42) 0%,rgba(240,90,130,0) 72%),linear-gradient(150deg,#B0104A 0%,#8E0636 38%,#5E0425 72%,#3A0316 100%)}
.hero-lines{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.hero-lines path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hero-w{stroke:rgba(255,255,255,.1);stroke-width:34}
.hero-dots{stroke:var(--gold);stroke-width:3;stroke-dasharray:0 10}
.hero-presents{position:absolute;left:64px;top:64px;display:flex;align-items:center;gap:14px;font-size:20px;font-weight:500}
.nest-chip{display:flex;align-items:center;height:48px;padding:0 14px;border-radius:14px;background:#fff}
.nest-chip img{display:block;width:63px;height:34px;object-fit:contain}
.nest-chip-sm{height:auto;padding:6px 10px;border-radius:10px;border:1px solid var(--line)}
.nest-chip-sm img{width:52px;height:28px}
.hero h1{position:absolute;left:64px;top:140px;font-size:min(96px,calc((100vw - 32px) * .0682));font-weight:700;line-height:1;letter-spacing:-.035em;white-space:nowrap}
.hero-copy{position:absolute;left:72.727%;top:180px;width:min(320px,22.727%);display:flex;flex-direction:column;gap:16px}
.hero-lede{font-size:26px;font-weight:600;line-height:1.25;letter-spacing:-.01em}
.hero-text{font-size:17px;line-height:1.55;color:rgba(255,255,255,.86)}
.hero-ask{display:none}
.hero-link{margin-top:4px;width:fit-content;font-size:16px;font-weight:600;color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px;text-decoration-thickness:2px}
.hero-link:hover{color:#FBE3EA}

.phone{position:absolute;left:49.006%;top:96px;width:290px;height:560px;padding:10px;border-radius:48px;background:#14070C;border:1px solid rgba(255,255,255,.22);box-shadow:0 40px 80px -30px rgba(20,2,8,.75)}
.phone-screen{position:relative;height:100%;border-radius:38px;overflow:hidden;background:#fff;display:flex;flex-direction:column;color:var(--ink)}
.phone-photo{position:relative;height:300px;flex-shrink:0}
.phone-notch{position:absolute;left:50%;top:12px;width:84px;height:22px;margin-left:-42px;border-radius:999px;background:#14070C}
.phone-badge{position:absolute;left:12px;display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;color:#fff;font-size:11.5px;font-weight:600}
.phone-badge .i{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.phone-badge-top{top:48px;background:rgba(20,7,12,.72)}
.phone-badge-ok{bottom:12px;background:var(--green)}
.phone-badge-ok .i{stroke-width:2.6}
.phone-body{flex-grow:1;padding:16px;display:flex;flex-direction:column;gap:12px}
.phone-q{font-size:12px;font-weight:500;color:var(--muted)}
.phone-match{padding:12px;border-radius:16px;background:var(--blush-2);border:1px solid rgba(154,7,61,.3);display:flex;flex-direction:column;gap:4px}
.phone-match strong{font-size:14px;font-weight:600;line-height:1.3}
.phone-match span{font-size:12px;color:var(--muted)}
.phone-actions{display:flex;align-items:center;gap:10px}
.phone-confirm{flex-grow:1;height:40px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--brand);color:#fff;font-size:13px;font-weight:600}
.phone-shutter{width:44px;height:44px;flex-shrink:0;border-radius:999px;border:3px solid var(--ink);display:flex;align-items:center;justify-content:center}
.phone-shutter span{width:30px;height:30px;border-radius:999px;background:var(--ink)}

.float-card{position:absolute;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 18px 40px -18px rgba(30,2,12,.55)}
.float-budget{left:36.222%;top:520px;width:236px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.float-label{font-size:12px;font-weight:500;color:var(--muted)}
.float-title{font-size:14px;font-weight:600;line-height:1.3}
.float-amount{font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--brand);font-variant-numeric:tabular-nums}
.float-gps{left:66.051%;top:540px;padding:12px 16px 12px 12px;display:flex;align-items:center;gap:12px}
.float-check{width:36px;height:36px;flex-shrink:0;border-radius:999px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center}
.float-check svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.float-gps-text{display:flex;flex-direction:column;gap:2px}
.float-gps-text strong{font-size:14px;font-weight:600}
.float-gps-text span{font-size:12.5px;color:var(--muted)}

.hero-steps{position:absolute;left:64px;right:64px;bottom:36px;margin:0;padding:22px 0 0;list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;border-top:1px solid rgba(255,255,255,.22)}
.hero-steps li{display:flex;flex-direction:column;gap:6px;font-size:17px;font-weight:600}
.hero-steps span{font-size:14px;color:var(--gold);font-variant-numeric:tabular-nums}

/* Audience band */
.audience{margin:-48px var(--inset) 0;padding:84px 64px 40px;border-radius:0 0 var(--radius-panel) var(--radius-panel);background:var(--blush);display:flex;align-items:center;gap:56px}
.audience p{width:190px;flex-shrink:0;font-size:15px;font-weight:600;line-height:1.45}
.audience ul{flex-grow:1;list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:17px;font-weight:500;color:var(--muted)}
.audience li{display:flex;align-items:center;gap:10px}
.audience svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:var(--brand);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* How it works */
.walk{padding-top:112px;padding-bottom:96px;display:flex;flex-direction:column;gap:64px}
.walk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:64px}
.walk-intro{width:520px;flex-shrink:0;padding-top:44px;display:flex;flex-direction:column;gap:28px}
.walk-lead{font-size:22px;font-weight:500;line-height:1.45}
.walk-cta{display:flex;align-items:center;justify-content:space-between;gap:24px}
.walk-cta .btn{flex-shrink:0}
.walk-note{font-size:15px;line-height:1.45;color:var(--subtle)}
.walk-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.walk-card{display:flex;flex-direction:column;gap:24px;padding:14px 14px 28px;border-radius:28px;background:#fff;border:1px solid var(--line)}
.walk-media{position:relative;height:210px;border-radius:20px;overflow:hidden}
.media-chat{padding:0 22px;background:radial-gradient(70% 90% at 20% 10%,#F7CDDA 0%,#F6E7ED 55%,#FBF1F4 100%);display:flex;flex-direction:column;justify-content:center;gap:10px}
.chat-q{align-self:flex-end;padding:9px 14px;border-radius:16px 16px 4px 16px;background:var(--brand);font-size:13.5px;font-weight:500;color:#fff}
.chat-a{align-self:flex-start;max-width:270px;padding:10px 14px;border-radius:16px 16px 16px 4px;background:#fff;border:1px solid var(--line);font-size:13.5px;line-height:1.45}
.chat-tag{align-self:flex-start;padding:4px 10px;border-radius:999px;background:rgba(154,7,61,.1);font-size:11.5px;font-weight:600;color:var(--brand)}
.media-badge{position:absolute;left:14px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#fff}
.media-badge-dark{top:14px;background:rgba(20,7,12,.72)}
.media-badge-ok{bottom:14px;display:flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;background:var(--green);font-size:12.5px}
.media-badge-ok .i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.media-brief{padding:24px;background:radial-gradient(70% 90% at 80% 10%,#6A0A30 0%,#2E0A18 60%,#1A0B11 100%)}
.brief-doc{width:240px;padding:16px;border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:8px}
.brief-doc strong{font-size:14px;font-weight:700}
.brief-meta{font-size:11.5px;color:var(--muted)}
.brief-line{height:6px;border-radius:3px;background:var(--line)}
.brief-status{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(20,7,12,.88);border:1px solid rgba(242,178,51,.6);font-size:12.5px;font-weight:600;color:var(--gold)}
.brief-status .i{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.walk-body{padding:0 14px;display:flex;flex-direction:column;gap:12px}
.walk-body h3{font-size:24px;font-weight:600;letter-spacing:-.015em}
.walk-body p{font-size:16px;line-height:1.55;color:var(--muted)}
.step-chips{display:flex;gap:8px}
.step-chips span{padding:5px 12px;border-radius:999px;border:1px solid var(--line-2);font-size:13px;font-weight:500}
.step-chips b{font-weight:500;color:var(--brand)}

/* Clara */
.clara{display:grid;grid-template-columns:480px minmax(0,1fr);grid-template-rows:auto auto auto auto 1fr;grid-template-areas:"head chat" "text chat" "modes chat" "note chat" ". chat";column-gap:64px;row-gap:24px;align-items:start;padding:72px var(--panel-pad);border-radius:var(--radius-panel);color:#fff;
  background:radial-gradient(45% 70% at 88% 30%,rgba(242,122,155,.2) 0%,rgba(242,122,155,0) 70%),var(--dark)}
.clara-head{grid-area:head}
.clara-text{grid-area:text;font-size:18px;line-height:1.55;color:var(--on-dark)}
.clara-modes{grid-area:modes;display:flex;flex-direction:column;gap:14px}
.mode-toggle{display:flex;gap:6px;padding:6px;width:fit-content;border-radius:999px;background:var(--dark-2);border:1px solid rgba(255,255,255,.12)}
.mode-toggle button{height:44px;padding:0 20px;border:none;border-radius:999px;background:transparent;color:var(--on-dark);font-weight:600;font-size:15px}
.mode-toggle button[aria-pressed="true"]{background:#fff;color:var(--ink)}
.mode-desc{font-size:16px;line-height:1.55;color:var(--on-dark)}
.clara-note{grid-area:note;display:flex;gap:14px;align-items:flex-start;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.clara-note svg{width:24px;height:24px;flex-shrink:0;fill:none;stroke:var(--pink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.clara-note p{font-size:16px;line-height:1.55;color:var(--on-dark)}
.chat{grid-area:chat;height:602px;display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:var(--dark-2);border:1px solid rgba(255,255,255,.1);color:var(--on-dark-2)}
.chat-head{flex-shrink:0;height:72px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.chat-id{display:flex;align-items:center;gap:12px}
.chat-id>span:last-child{display:flex;flex-direction:column;gap:2px}
.chat-id strong{font-weight:600;font-size:16px}
.chat-mode{font-size:13px;color:var(--on-dark)}
.avatar{width:38px;height:38px;border-radius:999px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;flex-shrink:0}
.chat-flag{padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:500;color:var(--on-dark);white-space:nowrap}
.chat-body{flex-grow:1;min-height:0;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;overflow:auto}
.chat-thread{display:flex;flex-direction:column;gap:20px}
.bubble-user{align-self:flex-end;max-width:440px;padding:12px 18px;border-radius:20px 20px 6px 20px;background:var(--brand);color:#fff;font-size:16px;font-weight:500;line-height:1.4}
.chat-answer{display:flex;flex-direction:column;gap:12px}
.chat-answer>p{font-size:17px;line-height:1.6}
.chat-by{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--on-dark)}
.chat-by span{padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11.5px;font-weight:500}
.chat-source{display:flex;align-items:center;gap:8px;width:fit-content;padding:7px 12px;border-radius:10px;background:rgba(242,122,155,.12);font-size:13px;font-weight:600;color:var(--pink);text-decoration:none}
.chat-source:hover{color:#fff}
.chat-source svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chat-suggest{display:flex;flex-wrap:wrap;gap:8px}
.chat-suggest button{height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--on-dark-2);font-weight:500;font-size:14px}
.chat-suggest button:hover{background:rgba(255,255,255,.06)}
.chat-project{display:flex;align-items:center;gap:14px;padding:12px;border-radius:16px;background:var(--dark-3);border:1px solid rgba(255,255,255,.1);color:var(--on-dark-2);text-decoration:none}
.chat-project:hover{color:var(--on-dark-2);border-color:rgba(255,255,255,.22)}
.chat-project-img{display:block;width:104px;height:76px;flex-shrink:0;border-radius:10px;overflow:hidden}
.chat-project-text{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:18px}
.chat-project-text strong{font-weight:600;font-size:16px;line-height:20px}
.chat-project-text>span:nth-child(2){color:var(--on-dark)}
.chat-project-stats{display:flex;flex-wrap:wrap;gap:0 14px;font-weight:600}
.chat-project-link{font-weight:600;color:var(--pink);text-decoration:underline;text-underline-offset:3px}
.chat-input{flex-shrink:0;position:relative;padding:16px 20px;display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.08)}
.chat-input input{flex-grow:1;min-width:0;height:50px;padding:0 20px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:var(--dark-3);color:var(--on-dark-2);font-family:inherit;font-size:15px}
.chat-voice,.chat-send{width:50px;height:50px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:999px}
.chat-voice{border:1px solid rgba(255,255,255,.18);background:transparent;color:var(--on-dark-2)}
.chat-send{border:none;background:var(--brand);color:#fff}
.chat-voice svg,.chat-send svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Learn */
.learn{padding-top:104px;padding-bottom:96px;display:flex;flex-direction:column;gap:56px}
.tracks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.track{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:24px;background:#fff;border:1px solid var(--line)}
.track-bar{width:36px;height:6px;border-radius:3px}
.track h3{font-size:21px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.track p{font-size:15.5px;line-height:1.55;color:var(--muted)}
.challenges{display:flex;gap:48px;align-items:flex-start;padding:28px 32px;border-radius:24px;background:var(--blush)}
.challenges-intro{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:8px}
.challenges-intro h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
.challenges-intro p{font-size:14.5px;line-height:1.5;color:var(--muted)}
.challenges ul{flex-grow:1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.challenges li{display:flex;flex-direction:column;gap:6px}
.challenges li strong{font-size:16px;font-weight:600}
.challenges li span{font-size:14.5px;line-height:1.5;color:var(--muted)}

/* Evidence */
.evidence{margin:0 var(--gutter);padding:96px 0;display:flex;gap:64px;align-items:flex-start;border-top:1px solid var(--line)}
.evidence-intro{width:520px;flex-shrink:0;display:flex;flex-direction:column;gap:24px}
.features{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
.features li{display:flex;flex-direction:column;gap:8px}
.features strong{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600}
.features svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.features span{font-size:15px;line-height:1.5;color:var(--muted)}
.progress-card{flex-grow:1;min-width:0;padding:20px;border-radius:28px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:20px}
.progress-card figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:4px 4px 0;font-size:18px;font-weight:600}
.progress-ref{font-size:13px;font-weight:400;color:var(--subtle)}
.visit-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.visit-photo{position:relative;height:240px;border-radius:18px;overflow:hidden}
.photo-tag{position:absolute;left:12px;padding:5px 10px;border-radius:999px;background:rgba(20,7,12,.75);font-size:12px;font-weight:600;color:#fff}
.photo-tag-top{top:12px}
.photo-tag-bottom{bottom:12px;color:#EAD3DC}
.photo-tag-bottom.is-current{background:var(--brand);color:#fff}
.stages{list-style:none;margin:0;padding:0 4px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;font-size:12.5px;line-height:1.3;color:var(--subtle)}
.stages-flush{padding:0}
.stages li{display:flex;flex-direction:column;gap:8px}
.stages li::before{content:"";height:8px;border-radius:999px;background:var(--line-3)}
.stages li.done{color:var(--muted)}
.stages li.done::before{background:var(--stage-done)}
.stages li.now{color:var(--ink);font-weight:600}
.stages li.now::before{background:var(--brand)}
.caption-box{padding:16px 18px;border-radius:18px;background:var(--blush-2);display:flex;flex-direction:column;gap:8px}
.caption-by{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}
.caption-by span{white-space:nowrap;padding:2px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11.5px;font-weight:500}
.caption-box p{font-size:16px;line-height:1.55}
.proof-row{display:flex;flex-wrap:wrap;gap:8px 20px;padding:0 4px 4px;font-size:13.5px;color:var(--muted)}
.proof-row span{display:flex;align-items:center;gap:6px}
.proof-row svg{width:16px;height:16px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.proof-row svg.c-green{stroke:var(--green);stroke-width:2.4}

/* Passport teaser */
.passport{padding-top:96px;padding-bottom:96px;display:flex;flex-direction:column;gap:48px}
.passport-intro{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.passport-card{display:flex;border-radius:32px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.passport-main{width:800px;flex-shrink:0;padding:36px 40px;display:flex;flex-direction:column;gap:24px}
.passport-id{display:flex;flex-direction:column;gap:10px}
.passport-meta{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:var(--muted)}
.passport-meta .c-brand{font-weight:600}
.tag{padding:3px 10px;border-radius:999px;border:1px solid var(--line-2);font-size:12px;font-weight:500}
.passport-id h3{font-size:32px;font-weight:700;line-height:1.15;letter-spacing:-.02em}
.passport-place{font-size:16px;color:var(--muted)}
.facts{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px}
.facts>div{display:flex;flex-direction:column;gap:4px}
.facts dt{font-size:13px;font-weight:500;color:var(--subtle)}
.fact-value{font-size:20px;font-weight:600}
.fact-note{font-size:14.5px;line-height:1.45;color:var(--muted)}
.passport-progress{display:flex;flex-direction:column;gap:12px}
.passport-progress .row-between{gap:16px}
.note-italic{font-size:14px;font-style:italic;color:var(--muted)}
.passport-side{flex-grow:1;padding:36px;background:var(--dark);color:#fff;display:flex;flex-direction:column;gap:16px}
.passport-side h3{font-size:18px;font-weight:600}
.passport-side p{font-size:15px;line-height:1.5;color:var(--on-dark)}
.score-bars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}
.score-bars span{height:12px;border-radius:3px;background:rgba(255,255,255,.14)}
.score-bars span.on{background:var(--pink)}
.score-count{font-size:22px;font-weight:700}
.rule{height:1px;background:rgba(255,255,255,.12)}
.signals{display:flex;flex-direction:column;gap:10px}
.signals>div{display:flex;gap:10px;align-items:flex-start}
.signals svg{width:18px;height:18px;flex-shrink:0;margin-top:3px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.passport-side .signals p{color:var(--on-dark-2)}
.signals strong{font-weight:600}
.passport-side .side-foot{font-size:14px;font-style:italic}
.passport-mini{display:none}

/* Principles */
.principles{padding:96px var(--panel-pad);border-radius:var(--radius-panel);background:var(--blush);display:flex;gap:64px}
.principles-intro{width:480px;flex-shrink:0;display:flex;flex-direction:column;gap:24px}
.principles-list{flex-grow:1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-bottom:1px solid rgba(154,7,61,.16)}
.principles-list li{display:flex;gap:14px;padding:18px 0;border-top:1px solid rgba(154,7,61,.16);font-size:17px;line-height:1.5}
.principles-list svg{width:20px;height:20px;flex-shrink:0;margin-top:3px;fill:none;stroke:var(--brand);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* Pilot */
.pilot{margin:0 var(--gutter);padding:96px 0;display:flex;flex-direction:column;gap:56px}
.pilot-head{display:flex;justify-content:space-between;gap:64px}
.pilot-intro{width:560px;display:flex;flex-direction:column;gap:20px}
.pilot-facts{width:560px;padding-top:44px;display:flex;flex-direction:column}
.pilot-facts>div{display:flex;gap:24px;padding:16px 0;border-top:1px solid var(--line)}
.pilot-facts dt{width:110px;flex-shrink:0;font-size:14px;font-weight:500;line-height:26px;color:var(--subtle)}
.pilot-facts dd{font-size:17px;line-height:1.55}
.journey{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:16px}
.journey li{display:flex;flex-direction:column;gap:8px;padding-top:18px;border-top:2px solid var(--stage-done);font-size:14px;line-height:1.5;color:var(--muted)}
.journey li.last{border-top-color:var(--brand)}
.journey span{font-size:13px;font-weight:600;line-height:normal;color:var(--brand)}
.journey strong{font-size:17px;font-weight:600;line-height:normal;color:var(--ink)}
.photo-slots{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}
.photo-slot{position:relative;height:250px;border-radius:24px;overflow:hidden;border:1px dashed rgba(154,7,61,.35);background:linear-gradient(160deg,#F7CDDA 0%,#F6E7ED 55%,#FBF1F4 100%)}
.photo-slot::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(154,7,61,.12) 1px,transparent 1.5px);background-size:18px 18px}
.photo-slot>svg{position:absolute;left:22px;top:22px;width:30px;height:30px;fill:none;stroke:var(--brand);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.photo-slot figcaption{position:absolute;left:22px;right:22px;bottom:20px;display:flex;flex-direction:column;gap:4px}
.photo-slot strong{font-size:18px;font-weight:600}
.photo-slot span{font-size:13.5px;color:var(--muted)}

/* Closing CTA */
.cta{position:relative;overflow:hidden;padding:80px var(--panel-pad);border-radius:var(--radius-panel);display:flex;align-items:flex-end;justify-content:space-between;gap:48px;color:#fff;
  background:radial-gradient(50% 90% at 12% 20%,rgba(240,90,130,.42) 0%,rgba(240,90,130,0) 70%),linear-gradient(150deg,#B0104A 0%,#8E0636 40%,#5E0425 78%,#3A0316 100%)}
.cta-w{position:absolute;right:40px;top:-24px;width:520px;height:380px;display:block;pointer-events:none}
.cta-w path{fill:none;stroke:rgba(255,255,255,.1);stroke-width:40;stroke-linecap:round;stroke-linejoin:round}
.cta-text{position:relative;display:flex;flex-direction:column;gap:20px}
.cta h2{font-size:64px;font-weight:700;line-height:1.04;letter-spacing:-.035em;white-space:nowrap}
.cta-text p{width:560px;max-width:100%;font-size:19px;line-height:1.55;color:rgba(255,255,255,.86)}
.cta-actions{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.cta-buttons{display:flex;gap:12px}
.cta-contact{font-size:14px;color:rgba(255,255,255,.86)}

/* Footer */
.site-footer{padding:72px var(--gutter) 40px;display:flex;flex-direction:column;gap:48px}
.footer-top{display:flex;gap:64px}
.footer-about{width:420px;flex-shrink:0;display:flex;flex-direction:column;gap:20px}
.footer-about img{display:block;width:173px;height:84px;object-fit:contain}
.footer-about p{font-size:16px;line-height:1.55;color:var(--muted)}
.footer-nav{flex-grow:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.footer-nav>div{display:flex;flex-direction:column;gap:14px}
.footer-nav h3{font-size:14px;font-weight:600}
.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:22px;color:var(--muted)}
.footer-nav a{color:var(--muted);text-decoration:none}
.footer-nav a:hover{color:var(--brand)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--subtle)}
.footer-org{display:flex;align-items:center;gap:14px}

/* ---------- Below the 1440 artboard: hero switches to flow layout ---------- */
@media (max-width:1279px){
  :root{--gutter:48px;--panel-pad:48px}
  .hero{height:auto;padding:48px var(--panel-pad) 0;display:flex;flex-direction:column;align-items:flex-start}
  .hero-lines,.float-card,.hero-steps,.hero-lede{display:none}
  .hero-presents,.hero h1,.hero-copy,.phone{position:relative;left:auto;top:auto}
  .hero h1{margin-top:32px;font-size:clamp(50px,8vw,84px)}
  .hero-copy{width:auto;max-width:560px;margin-top:24px;gap:0}
  .hero-text{font-size:18px}
  .hero-ask{display:inline-flex;align-self:flex-start;margin-top:26px}
  .hero-link{margin-top:18px}
  .phone{align-self:center;margin:36px 0 -50px}

  .audience{padding:84px var(--panel-pad) 40px;flex-direction:column;align-items:flex-start;gap:20px}
  .audience p{width:auto}
  .audience ul{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px}

  .walk-head,.split-head,.pilot-head{flex-direction:column;align-items:flex-start;gap:24px}
  .walk-intro{width:auto;max-width:720px;padding-top:0}
  .split-head>.body-lg,.passport-intro{width:auto;max-width:720px}
  .h2{font-size:48px}

  .clara{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"head" "text" "modes" "chat" "note";row-gap:24px}
  .chat{height:auto;min-height:560px}

  .tracks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .challenges{flex-direction:column;gap:24px}
  .challenges-intro{width:auto}
  .challenges ul{grid-template-columns:repeat(3,minmax(0,1fr))}

  .evidence{flex-direction:column}
  .evidence-intro{width:auto;max-width:720px}
  .progress-card{width:100%}

  .passport-card{flex-direction:column}
  .passport-main{width:auto}

  .principles{flex-direction:column;gap:40px}
  .principles-intro{width:auto;max-width:640px}

  .pilot-intro,.pilot-facts{width:auto;max-width:720px}
  .pilot-facts{padding-top:0}
  .journey{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:28px}

  .cta{flex-direction:column;align-items:flex-start}
  .cta-actions{align-items:flex-start}

  .footer-top{flex-direction:column;gap:40px}
}

@media (max-width:1199px){
  .site-header{height:72px;padding:0 14px 0 20px}
  .brand img{width:90px;height:44px}
  .menu-toggle{display:flex}
  .site-nav{display:none;position:absolute;top:72px;left:10px;right:10px;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 48px -24px rgba(30,2,12,.35)}
  .site-nav.is-open{display:flex}
  .site-nav a:not(.btn){margin:0;padding:14px 0;border-bottom:1px solid var(--line-3);font-size:17px}
  .site-nav .nav-cta{margin:16px 0 0;align-self:flex-start}
  .walk-cards{grid-template-columns:minmax(0,1fr)}
  .walk-card{max-width:720px}
}

/* ---------- Mobile artboard (390) ---------- */
@media (max-width:767px){
  :root{--gutter:20px;--inset:10px;--panel-pad:20px;--radius-panel:30px}
  .m-hide{display:none!important}
  .m-only{display:inline}
  .h2{font-size:34px;line-height:1.1;letter-spacing:-.025em}
  .eyebrow{font-size:16px}
  .body-lg{font-size:17px}
  .stack-20{gap:18px}

  .hero{padding:28px 20px 0;background:radial-gradient(70% 36% at 20% 22%,rgba(240,90,130,.42) 0%,rgba(240,90,130,0) 72%),radial-gradient(60% 30% at 55% 78%,rgba(255,150,180,.28) 0%,rgba(255,150,180,0) 70%),linear-gradient(165deg,#B0104A 0%,#8E0636 35%,#5E0425 70%,#3A0316 100%)}
  .hero-presents{gap:12px;font-size:17px}
  .nest-chip{height:40px;padding:0 12px;border-radius:12px}
  .nest-chip img{width:48px;height:26px}
  .hero h1{margin-top:24px;font-size:50px}
  .hero-copy{max-width:330px;margin-top:20px}
  .hero-text{font-size:17px}
  .hero-ask{margin-top:24px}
  .hero-link{font-size:15px}
  .phone{width:230px;height:470px;padding:8px;border-radius:40px;margin:41px 0 -50px;box-shadow:0 30px 60px -24px rgba(20,2,8,.75)}
  .phone-screen{border-radius:32px}
  .phone-photo{height:250px}
  .phone-notch{top:10px;width:70px;height:18px;margin-left:-35px}
  .phone-badge{left:10px;padding:4px 9px;font-size:10.5px}
  .phone-badge .i{display:none}
  .phone-badge-top{top:40px}
  .phone-badge-ok{bottom:10px}
  .phone-body{padding:14px;gap:10px}
  .phone-q{font-size:11px}
  .phone-match{padding:10px;border-radius:14px;gap:3px}
  .phone-match strong{font-size:12.5px}
  .phone-match span{font-size:11px}
  .phone-confirm{height:36px;font-size:12px}
  .phone-shutter{display:none}

  .audience{margin-top:-40px;padding:64px 20px 28px;flex-direction:column;align-items:stretch;gap:18px}
  .audience p{width:auto}
  .audience ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px 16px;font-size:15px;line-height:1.3}
  .audience li{align-items:flex-start;gap:8px}
  .audience svg{width:20px;height:20px}

  .walk{padding-top:56px;padding-bottom:56px;gap:32px}
  .walk-head{gap:20px}
  .walk-intro{gap:20px}
  .walk-lead{font-size:18px}
  .walk-cta .walk-note{display:none}
  .walk-cta .btn{padding-left:20px}
  .walk-cards{gap:16px}
  .walk-card{gap:20px;padding:12px 12px 24px;border-radius:24px}
  .walk-media{height:136px;border-radius:16px}
  .media-chat{padding:0 16px;gap:8px}
  .chat-q{padding:7px 12px;border-radius:14px 14px 4px 14px;font-size:12.5px}
  .chat-a{max-width:230px;padding:8px 12px;border-radius:14px 14px 14px 4px;font-size:12.5px;line-height:1.4}
  .chat-tag,.media-badge-dark,.brief-meta{display:none}
  .media-badge-ok{left:12px;bottom:12px;padding:5px 11px 5px 8px;font-size:12px}
  .media-brief{padding:16px}
  .brief-doc{width:190px;padding:12px;border-radius:12px;gap:6px}
  .brief-doc strong{font-size:12.5px}
  .brief-line{height:5px}
  .brief-status{right:12px;bottom:12px;padding:6px 10px;font-size:12px}
  .brief-status .i{display:none}
  .walk-body{padding:0 10px;gap:10px}
  .walk-body h3{font-size:21px;letter-spacing:-.01em}
  .walk-body p{font-size:15.5px}

  .clara{padding:40px 18px 28px;row-gap:18px;background:radial-gradient(80% 40% at 90% 10%,rgba(242,122,155,.2) 0%,rgba(242,122,155,0) 70%),var(--dark)}
  .clara-text{font-size:17px}
  .mode-toggle{width:auto;gap:4px;padding:5px}
  .mode-toggle button{flex:1;padding:0 10px;font-size:14.5px}
  .mode-desc{display:none}
  .clara-note{gap:12px;padding-top:20px}
  .clara-note p{font-size:15px}
  .chat{min-height:0;border-radius:22px}
  .chat-head{height:58px;padding:0 14px}
  .chat-id{gap:10px}
  .chat-id strong{font-size:15px}
  .chat-mode{font-size:12px}
  .avatar{width:32px;height:32px;font-size:15px}
  .chat-flag{padding:4px 10px;font-size:11.5px}
  .chat-body{padding:18px 16px}
  .chat-thread{gap:14px}
  .bubble-user{padding:10px 16px;border-radius:18px 18px 6px 18px;font-size:15px}
  .chat-answer{gap:14px}
  .chat-answer>p{font-size:16px;line-height:1.55}
  .chat-by{font-size:12.5px}
  .chat-by span{font-size:11px}
  .chat-source{padding:6px 10px;font-size:12.5px}
  .chat-source svg{display:none}
  .chat-suggest button{padding:0 14px}
  .chat-project{align-items:flex-start}
  .chat-project-img{width:72px;height:56px}
  .chat-input{padding:12px 12px 12px 14px;gap:8px}
  .chat-input input{height:46px;padding:0 16px}
  .chat-voice{width:46px;height:46px;border:none;background:var(--brand);color:#fff}
  .chat-send{display:none}

  .learn{padding-top:56px;padding-bottom:56px;gap:24px}
  .split-head{gap:18px}
  .tracks{grid-template-columns:minmax(0,1fr);gap:16px}
  .track{padding:24px;border-radius:24px}
  .track h3{font-size:19px}
  .challenges{padding:24px 20px}
  .challenges ul{grid-template-columns:minmax(0,1fr);gap:16px}

  .evidence{padding:56px 0;gap:32px}
  .evidence-intro{gap:18px}
  .features{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:6px}
  .progress-card{padding:14px;border-radius:24px;gap:16px}
  .progress-card figcaption{flex-direction:column;gap:2px;font-size:17px}
  .visit-photos{gap:8px}
  .visit-photo{height:150px;border-radius:14px}
  .photo-tag{left:8px;padding:4px 8px;font-size:10.5px}
  .photo-tag-top{top:8px}.photo-tag-bottom{bottom:8px}
  .stages{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:14px;font-size:12px}
  .caption-box p{font-size:15px}

  .passport{padding-top:56px;padding-bottom:56px;gap:24px}
  .passport-intro .btn{display:none}
  .passport-card{display:none}
  .passport-mini{display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:24px;background:#fff;border:1px solid var(--line)}
  .passport-mini .passport-id{gap:8px}
  .passport-mini .passport-meta{gap:10px;font-size:13px}
  .passport-mini h3{font-size:22px;line-height:1.25;letter-spacing:-.015em}
  .passport-mini .passport-place{font-size:14px}
  .passport-mini .facts{padding:16px 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
  .passport-mini .facts>div{gap:2px}
  .passport-mini .facts dt{font-size:12.5px}
  .passport-mini .fact-value{font-size:17px}
  .mini-score{display:flex;flex-direction:column;gap:10px}
  .score-bars-light{gap:3px}
  .score-bars-light span{height:10px;background:var(--line-3)}
  .score-bars-light span.on{background:var(--brand)}
  .mini-score-note{font-size:14px;color:var(--muted)}
  .signal-box{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid var(--amber-line);background:var(--amber-bg)}
  .signal-box svg{width:18px;height:18px;flex-shrink:0;margin-top:1px;fill:none;stroke:var(--amber);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .signal-box>span{display:flex;flex-direction:column;gap:4px;font-size:14px}
  .signal-box strong{font-weight:600;color:var(--amber)}
  .signal-box>span>span{line-height:1.5;color:var(--muted)}

  .principles{padding:44px 20px;gap:24px}
  .principles-intro{gap:18px}
  .principles-list{grid-template-columns:minmax(0,1fr)}
  .principles-list li{padding:14px 0;font-size:16px}

  .pilot{padding:56px 0;gap:18px;border-top:1px solid var(--line)}
  .pilot-head{gap:18px}
  .pilot-intro{gap:18px}
  .pilot-facts{margin-top:6px;border-bottom:1px solid var(--line)}
  .pilot-facts>div{flex-direction:column;gap:4px;padding:14px 0}
  .pilot-facts dt{width:auto;font-size:13px;line-height:normal}
  .pilot-facts dd{font-size:16px;line-height:1.5}
  .journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .journey strong{font-size:16px}
  .photo-slots{grid-template-columns:minmax(0,1fr);margin-top:12px}
  .photo-slot{height:220px;border-radius:22px}
  .photo-slot figcaption{left:18px;right:18px;bottom:16px}
  .photo-slot strong{font-size:17px}
  .photo-slot span{font-size:13px}

  .cta{padding:44px 20px;gap:16px;background:radial-gradient(80% 60% at 15% 15%,rgba(240,90,130,.42) 0%,rgba(240,90,130,0) 70%),linear-gradient(160deg,#B0104A 0%,#8E0636 40%,#5E0425 80%,#3A0316 100%)}
  .cta-w{top:auto;right:-150px;bottom:-150px;width:390px;height:285px}
  .cta-text{gap:16px}
  .cta h2{font-size:34px;line-height:1.1;letter-spacing:-.025em}
  .cta-text p{width:auto;font-size:17px}
  .cta-actions{align-self:stretch;align-items:stretch;gap:16px;margin-top:8px}
  .cta-buttons{flex-direction:column}
  .cta-buttons .btn-light{justify-content:space-between}
  .cta-buttons .btn-ghost-light{justify-content:center}

  .site-footer{padding:48px 20px 32px;gap:32px}
  .footer-top{gap:32px}
  .footer-about{width:auto;gap:18px}
  .footer-about img{width:132px;height:64px}
  .footer-about p{font-size:15px}
  .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .footer-nav>div{gap:12px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;padding-top:20px;line-height:18px}
  .footer-org{gap:12px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
