/* Layout: alternating navy "signal" bands and paper bands; one signature moment = the Outbound Math calculator. Single deliberate light look with navy sections. */
:root{
  --navy:#14213D; --navy-2:#1B2A4A; --navy-3:#24345A; --navy-line:#33446B;
  --amber:#F5A524; --amber-soft:#FFF3DC; --amber-ink:#8A5A00; --amber-deep:#E09415;
  --paper:#FFFFFF; --sand:#F7F5F2; --line:#E5E1DA; --line-2:#D8D2C8; --line-input:#948B7E;
  --ink:#16181D; --muted:#555B68; --mist:#B4BCCF; --mist-2:#D6DBE6;
  --display:"Bricolage Grotesque", "Manrope", system-ui, sans-serif;
  --body:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --wrap:1200px; --r:18px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--navy)}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:6px}
.top :focus-visible,.hero :focus-visible,.navy :focus-visible,.foot :focus-visible,.tile.dark :focus-visible,.panel :focus-visible{outline-color:var(--amber)}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px}
.band{padding-block:104px}
.band.sand{background:var(--sand)}
.band.navy{background:var(--navy);color:#fff}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;letter-spacing:-.025em}
h2{font-size:clamp(32px,4.4vw,52px);line-height:1.06;font-weight:800;color:var(--navy)}
.navy h2{color:#fff}
h3{font-size:21px;line-height:1.25;font-weight:700;color:var(--navy);letter-spacing:-.01em}
.navy h3{color:#fff}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--amber-ink);display:inline-flex;align-items:center;gap:10px}
.navy .eyebrow{color:var(--amber)}
.lead{font-size:19px;color:var(--muted);max-width:640px}
.navy .lead{color:var(--mist-2)}
.head{display:flex;flex-direction:column;gap:18px;max-width:780px;margin-bottom:56px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;border-radius:12px;font-family:var(--body);font-weight:800;font-size:16px;text-decoration:none;border:0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn-amber{background:var(--amber);color:var(--navy)}
.btn-amber:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(245,165,36,.35)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid var(--navy-line)}
.btn-ghost:hover{border-color:var(--mist)}
.mono{font-family:var(--mono)}
.src{font-family:var(--mono);font-size:12px;color:var(--muted);line-height:1.5}
.navy .src{color:var(--mist)}
.src a{color:inherit}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(20,33,61,.92);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.brand span{font-family:var(--body);font-weight:800;font-size:23px;letter-spacing:-.035em}
.nav{display:flex;align-items:center;gap:28px}
.nav a{color:var(--mist-2);text-decoration:none;font-weight:600;font-size:15px}
.nav a:hover{color:#fff}
.nav .btn{min-height:44px;padding:10px 18px;font-size:15px;color:var(--navy)}
.nav .btn:hover{color:var(--navy)}
@media (max-width:1000px){.nav a.nl{display:none}}

/* hero */
.hero{background:var(--navy);color:#fff;padding-block:88px 112px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,#000 0%,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 85%);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:64px;align-items:center}
@media (max-width:960px){.hero .wrap{grid-template-columns:minmax(0,1fr)}}
.hero h1{font-size:clamp(44px,6.6vw,84px);line-height:.98;font-weight:800;letter-spacing:-.04em}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero .lead{font-size:20px;margin-top:24px;color:var(--mist-2)}
.hero .eyebrow{color:var(--amber)}
.cap{font-family:var(--mono);font-size:12px;color:var(--mist);text-align:right}
.short{display:none}
@media (max-width:560px){.nav .long{display:none}.nav .short{display:inline}}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.facts{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:40px;padding-top:28px;border-top:1px solid var(--navy-line);font-size:15px;color:var(--mist-2)}
.facts span{display:inline-flex;align-items:center;gap:8px}
.facts svg{flex-shrink:0}

.stage{position:relative;max-width:460px;width:100%;justify-self:end;display:flex;flex-direction:column;gap:14px}
@media (max-width:960px){.stage{justify-self:start}}
.glow{position:absolute;right:-80px;top:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(245,165,36,.42) 0%,rgba(245,165,36,0) 70%);pointer-events:none;animation:glow 6s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}
.chat{position:relative;background:var(--navy-2);border:1px solid var(--navy-line);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 60px rgba(0,0,0,.25)}
.chat-h{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--navy-line)}
.av{width:40px;height:40px;border-radius:50%;background:var(--navy-3);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bub{max-width:86%;border-radius:16px;padding:12px 14px;font-size:15px;line-height:1.45}
.bub.out{align-self:flex-end;background:var(--amber);color:var(--navy);border-bottom-right-radius:4px;font-weight:500}
.bub.in{align-self:flex-start;background:#fff;color:var(--ink);border-bottom-left-radius:4px}
.seen{align-self:flex-end;font-size:12px;color:var(--mist);margin-top:-10px}
.slot{display:grid;min-height:74px}
.slot>*{grid-area:1/1;align-self:start}
.typing{background:var(--navy-3);border-radius:16px 16px 16px 4px;padding:14px 16px;display:flex;gap:5px;justify-self:start}
.dot{width:7px;height:7px;border-radius:50%;background:var(--mist-2);animation:dot 1.1s ease-in-out infinite}
.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}
.note{position:relative;background:#fff;color:var(--ink);border-radius:16px;padding:16px 18px;display:flex;gap:14px;align-items:center;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.note .ic{width:38px;height:38px;border-radius:50%;background:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c-out{animation:cOut 10s ease infinite}.c-seen{animation:cSeen 10s ease infinite}.c-typ{animation:cTyp 10s ease infinite}.c-in{animation:cIn 10s ease infinite}.c-note{animation:cNote 10s cubic-bezier(.2,.9,.3,1.2) infinite}
.bell{transform-origin:50% 10%;animation:bell 10s ease infinite}
@keyframes cOut{0%,3%{opacity:0;transform:translateY(12px)}8%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes cSeen{0%,14%{opacity:0}17%,92%{opacity:1}97%,100%{opacity:0}}
@keyframes cTyp{0%,19%{opacity:0;transform:translateY(8px)}22%,38%{opacity:1;transform:none}41%,100%{opacity:0}}
@keyframes cIn{0%,40%{opacity:0;transform:translateY(12px)}45%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes cNote{0%,52%{opacity:0;transform:translateY(24px) scale(.96)}57%,92%{opacity:1;transform:none}97%,100%{opacity:0;transform:translateY(10px)}}
@keyframes bell{0%,58%{transform:rotate(0)}60%{transform:rotate(16deg)}62%{transform:rotate(-14deg)}64%{transform:rotate(10deg)}66%{transform:rotate(-6deg)}68%,100%{transform:rotate(0)}}
@keyframes dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}

/* 3D spark */
.s3d{perspective:900px;pointer-events:none}
.s3d .fl{width:100%;height:100%;animation:sFloat 4.2s ease-in-out infinite}
.s3d .sp{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:sSpin 7s ease-in-out infinite}
.s3d svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.s3d .gl{transform-box:fill-box;transform-origin:center;animation:sGlint 3.5s ease-in-out infinite}
@keyframes sSpin{0%,100%{transform:rotateY(-32deg) rotateX(14deg) rotateZ(-4deg)}50%{transform:rotateY(32deg) rotateX(-10deg) rotateZ(4deg)}}
@keyframes sFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes sGlint{0%,62%,100%{transform:scale(0);opacity:0}72%{transform:scale(1.2) rotate(45deg);opacity:1}84%{transform:scale(0) rotate(90deg);opacity:0}}
.hero-spark{position:absolute;right:-34px;top:-78px;width:150px;height:150px;z-index:3}
.twinkle{transform-box:fill-box;transform-origin:center;animation:tw 3.2s ease-in-out infinite}
@keyframes tw{0%,100%{transform:scale(1) rotate(0)}45%{transform:scale(1.35) rotate(45deg)}60%{transform:scale(.9) rotate(60deg)}}

/* marquee */
.mq{background:var(--amber);color:var(--navy);overflow:hidden;padding-block:16px;border-block:1px solid var(--amber-deep)}
.mq-track{display:flex;width:max-content;animation:mq 50s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.mq-row{display:flex;align-items:center;gap:28px;padding-right:28px;font-weight:700;font-size:18px;white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:900px){.stats{grid-template-columns:minmax(0,1fr)}}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:30px;display:flex;flex-direction:column;gap:14px}
.stat .n{font-family:var(--display);font-weight:800;font-size:clamp(56px,7vw,80px);line-height:.9;letter-spacing:-.04em;color:var(--navy);font-variant-numeric:tabular-nums}
.stat .n small{font-size:.5em;color:var(--amber-ink);margin-left:2px}
.stat p{font-size:17px;color:var(--ink)}
.stat .src{margin-top:auto;padding-top:14px;border-top:1px dashed var(--line-2)}
.so-what{margin-top:40px;display:flex;gap:18px;align-items:flex-start;max-width:900px;font-size:19px;color:var(--ink)}
.so-what svg{flex-shrink:0;margin-top:4px}

/* problems */
.probs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media (max-width:900px){.probs{grid-template-columns:minmax(0,1fr)}}
.prob{border-top:3px solid var(--navy);padding-top:22px;display:flex;flex-direction:column;gap:10px}
.prob p{color:var(--muted)}

/* bento */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:12px;transition:transform .25s ease,box-shadow .25s ease}
.tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,33,61,.08)}
.tile p{color:var(--muted);font-size:15.5px}
.t2{grid-column:span 2}.t3{grid-column:span 3}.t4{grid-column:span 4}
@media (max-width:960px){.t2,.t3,.t4{grid-column:span 3}}
@media (max-width:640px){.bento{grid-template-columns:minmax(0,1fr)}.t2,.t3,.t4{grid-column:auto}}
.tile .tag{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--amber-ink);letter-spacing:.06em;text-transform:uppercase}
.tile.dark{background:var(--navy);border-color:var(--navy);color:#fff}
.tile.dark h3{color:#fff}.tile.dark p{color:var(--mist-2)}.tile.dark .tag{color:var(--amber)}
.seq{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.seq-i{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;background:var(--navy-2);border:1px solid var(--navy-line);border-radius:12px;padding:12px 14px;font-size:14.5px;color:var(--mist-2)}
.seq-i b{font-family:var(--mono);font-size:12px;color:var(--amber);font-weight:600}
.seq-i.hit{border-color:var(--amber);background:rgba(245,165,36,.12);color:#fff}
.post{margin-top:auto;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--sand)}
.post-h{display:flex;gap:10px;align-items:center}
.post-h b{display:block;font-size:13.5px;color:var(--navy)}
.post-h span{font-size:12px;color:var(--muted)}
.post p{font-size:14px;color:var(--ink)}
.icon{width:44px;height:44px;border-radius:12px;background:var(--navy);display:flex;align-items:center;justify-content:center}
.tile.dark .icon{background:var(--navy-3)}

/* calculator */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:960px){.calc{grid-template-columns:minmax(0,1fr)}}
.panel{background:var(--navy-2);border:1px solid var(--navy-line);border-radius:22px;padding:30px}
.ctl{display:flex;flex-direction:column;gap:8px;padding-block:14px;border-bottom:1px solid var(--navy-line)}
.ctl:first-of-type{padding-top:0}
.ctl:last-of-type{border-bottom:0;padding-bottom:0}
.ctl-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ctl label{font-weight:700;font-size:15px;color:#fff}
.ctl output{font-family:var(--mono);font-weight:600;color:var(--amber);font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ctl small{font-size:12.5px;color:var(--mist);line-height:1.45}
.ctl small.b{color:var(--amber)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--amber) var(--p,50%),var(--navy-line) var(--p,50%))}
input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--navy-line)}
input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--amber)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid var(--amber);margin-top:-8px}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--amber)}
.res{display:flex;flex-direction:column;gap:12px}
.funnel{display:flex;flex-direction:column;gap:0}
.fstep{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 20px;background:var(--navy-2);border:1px solid var(--navy-line);border-radius:14px}
.fstep .k{font-size:15px;color:var(--mist-2)}
.fstep .v{font-family:var(--display);font-weight:800;font-size:30px;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.farrow{display:flex;align-items:center;gap:10px;padding:6px 20px;font-family:var(--mono);font-size:12.5px;color:var(--mist)}
.fstep.big{background:var(--amber);border-color:var(--amber)}
.fstep.big .k{color:var(--navy);font-weight:700}
.fstep.big .v{color:var(--navy);font-size:38px}
.money{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:6px}
.money div{background:#fff;color:var(--ink);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.money b{font-family:var(--display);font-size:28px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.money span{font-size:13.5px;color:var(--muted)}
.calc-foot{margin-top:28px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:repeating-linear-gradient(90deg,var(--line-2) 0 8px,transparent 8px 14px)}
@media (max-width:900px){.steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.steps::before{display:none}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}
.step{position:relative;display:flex;flex-direction:column;gap:12px}
.step .num{width:56px;height:56px;border-radius:50%;background:var(--paper);border:2px solid var(--navy);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:16px;color:var(--navy)}
.step:last-child .num{background:var(--amber);border-color:var(--amber)}
.step p{color:var(--muted)}
.step .who{font-family:var(--mono);font-size:12px;color:var(--amber-ink);letter-spacing:.04em;text-transform:uppercase;font-weight:600}

/* teardown */
.td{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:900px){.td{grid-template-columns:minmax(0,1fr)}}
.td-card{border-radius:20px;padding:30px;display:flex;flex-direction:column;gap:18px;position:relative}
.td-bad{background:var(--navy-2);border:1px solid var(--navy-line)}
.td-good{background:#fff;color:var(--ink)}
.pill{align-self:flex-start;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;font-family:var(--mono)}
.pill.bad{background:#3A2530;color:#FFC7CF}.pill.good{background:var(--amber);color:var(--navy)}
.msg{font-size:17px;white-space:pre-line;line-height:1.55}
.td-bad .msg{color:#E7EAF1}
.td-card ul{margin:0;padding-left:20px;font-size:15px;display:flex;flex-direction:column;gap:6px}
.td-bad ul{color:var(--mist)}.td-good ul{color:var(--muted)}
.td-spark{position:absolute;right:-16px;top:-32px;width:76px;height:76px}

/* compare */
.cmp-box{overflow-x:auto;border:1px solid var(--line);border-radius:20px;background:var(--paper)}
table.cmp{width:100%;min-width:760px;border-collapse:collapse;font-size:15.5px}
.cmp th,.cmp td{padding:18px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp tr:last-child td{border-bottom:0}
.cmp thead th{font-family:var(--display);font-size:18px;color:var(--navy);background:var(--sand)}
.cmp thead th.us{background:var(--navy);color:#fff}
.cmp td.us{background:var(--amber-soft);color:var(--ink);font-weight:600}
.cmp td:first-child{font-weight:700;color:var(--navy);width:22%}
.cmp td{color:var(--muted)}

/* principles */
.pr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:960px){.pr{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pr{grid-template-columns:minmax(0,1fr)}}
.tz{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-end;justify-content:space-between}
.tz>div{max-width:720px}
.mods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
@media (max-width:900px){.mods{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:560px){.mods{grid-template-columns:minmax(0,1fr)}}
.mods li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:10px}
.mods .mn{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--amber-ink);letter-spacing:.06em;text-transform:uppercase}
.mods p{color:var(--muted);font-size:15px;margin:0}
.mods li.opt{background:var(--sand);border-style:dashed;border-color:var(--line-input)}
.mods li.lead-m{background:var(--navy);border-color:var(--navy)}
.mods li.lead-m h3{color:#fff}.mods li.lead-m p{color:var(--mist-2)}.mods li.lead-m .mn{color:var(--amber)}
.prog{background:var(--navy-2);border:1px solid var(--navy-line);border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:18px;position:relative;max-width:460px;width:100%;justify-self:end}
@media (max-width:960px){.prog{justify-self:start}}
.prog .row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.prog .ic{width:44px;height:44px;border-radius:12px;background:var(--amber);display:flex;align-items:center;justify-content:center}
.prog b{display:block;color:#fff;font-size:16px}.prog span.t{color:var(--mist-2);font-size:14.5px}
.ind{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.ind{grid-template-columns:minmax(0,1fr)}}
.ind-c{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}
.ind-c:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,33,61,.08)}
.ind-c .tag{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--amber-ink);letter-spacing:.06em;text-transform:uppercase}
.ind-c p{color:var(--muted);font-size:15px;margin:0}
.ind-c .go{margin-top:auto;font-weight:800;color:var(--navy);font-size:15px}
.sig{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
@media (max-width:700px){.sig{grid-template-columns:minmax(0,1fr)}}
.sig li{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:14px;padding:18px 20px}
.sig b{display:block;color:var(--navy);margin-bottom:4px}.sig span{color:var(--muted);font-size:15px}
.cta-band .wrap{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
.pr div{background:var(--sand);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:10px}
.pr p{color:var(--muted);font-size:15px}

/* faq */
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:860px}
details.q{background:var(--paper);border:1px solid var(--line);border-radius:14px}
details.q summary{list-style:none;cursor:pointer;min-height:64px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;font-size:18px;color:var(--navy)}
details.q summary::-webkit-details-marker{display:none}
details.q summary::after{content:"+";font-size:26px;font-weight:500;line-height:1;flex-shrink:0;transition:transform .2s ease}
details.q[open] summary::after{transform:rotate(45deg)}
details.q p{padding:0 22px 20px;color:var(--muted)}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:start}
@media (max-width:960px){.contact{grid-template-columns:minmax(0,1fr)}}
.next{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:18px}
.next li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start}
.next .nb{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--mono);font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center}
.next b{display:block;color:var(--navy)}
.next span{color:var(--muted);font-size:15px}
.form{background:var(--sand);border:1px solid var(--line);border-radius:22px;padding:32px}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:560px){.fgrid{grid-template-columns:minmax(0,1fr)}}
.f{display:flex;flex-direction:column;gap:6px}
.f.full{grid-column:1/-1}
.f label{font-weight:700;font-size:14.5px}
.f label i{font-style:normal;font-weight:500;color:var(--muted)}
.f input,.f select,.f textarea{font:inherit;font-size:16px;border:1px solid var(--line-input);border-radius:10px;padding:12px 14px;min-height:50px;background:#fff;color:var(--ink);width:100%}
.f textarea{min-height:110px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--navy);outline-offset:1px;border-color:var(--navy)}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:22px}
.form-foot small{color:var(--muted);font-size:13.5px}
#cl-error{color:#A4271B;font-weight:600;margin-top:14px}
.ok{display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding-block:12px}
.ok-spark{width:84px;height:84px;position:relative}

/* footer */
.foot{background:var(--navy);color:var(--mist);padding-block:48px}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:center}
.foot a{color:#fff;text-decoration:none;font-weight:600}
.foot-links{display:flex;flex-wrap:wrap;gap:24px;align-items:center;font-size:14px}

/* motion */
@supports (animation-timeline: view()){
  .rise{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
  @keyframes rise{from{transform:translateY(36px)}to{transform:none}}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .c-out,.c-seen,.c-in,.c-note{opacity:1!important;transform:none!important}
  .c-typ{display:none}
  .s3d .sp{transform:rotateY(-20deg) rotateX(10deg)}
  .mq{overflow-x:auto}
  html{scroll-behavior:auto}
}
