:root{
--navy:#121921;
--navy-2:#18212C;
--arc:#245593;
--arc-mid:#2C63A6;
--arc-bright:#5B93D4;
--arc-pale:#AFC8E4;
--arc-tint:#EDF3F9;
--paper:#FFFFFF;
--mist:#F5F5F5;
--rule:#E3E6EA;
--rule-soft:#EDEFF2;
--grey-bar:#D2D7DD;
--ink:#1A222C;
--dim:#66717E;
--dim-dark:#96A3B2;
--rust:#B4553C;
--display:'Archivo',system-ui,sans-serif;
--body:'IBM Plex Sans',system-ui,sans-serif;
--mono:'IBM Plex Mono',ui-monospace,monospace;
--gut:clamp(1rem,5vw,4rem);
--sec:clamp(5rem,12vh,8.5rem);
--ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);
font-size:1.0625rem;line-height:1.68;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.shell{max-width:1180px;margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-family:var(--display);color:var(--navy);margin:0;letter-spacing:-.033em;line-height:1.04;font-weight:800}
h1{font-size:clamp(2.5rem,5.4vw,4.6rem);letter-spacing:-.045em}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
h3{font-size:1.0625rem;font-weight:700;letter-spacing:-.008em;line-height:1.35}
p{margin:0}
a{color:inherit;text-decoration:none}
em{font-style:normal}
.tag{font-family:var(--mono);font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--arc);font-weight:500;display:inline-flex;align-items:center;gap:.6rem}
.tag:before{content:"";width:18px;height:1px;background:currentColor}
.lede{color:var(--dim);font-size:clamp(1.0625rem,1.5vw,1.1875rem);line-height:1.64;max-width:58ch}
/* progress bar */
#prog{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);
background:linear-gradient(90deg,var(--arc),var(--arc-bright));z-index:80}
/* nav */
nav{position:fixed;inset:0 0 auto 0;z-index:60;padding:1.2rem 0;background:transparent;
border-bottom:1px solid transparent;transition:background .35s,border-color .35s,padding .35s}
nav.stuck{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--rule);padding:.75rem 0}
.navin{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}
.brand{position:relative;display:block;height:38px;transition:height .3s}
.brand img{height:100%;width:auto;display:block;transition:opacity .35s}
.brand .on-light{position:absolute;inset:0;opacity:0}
nav.stuck .brand{height:32px}
nav.stuck .brand .on-dark{opacity:0}
nav.stuck .brand .on-light{opacity:1}
.navlinks{display:flex;gap:1.8rem;align-items:center}
.navlinks a{font-size:.9rem;color:rgba(233,238,244,.72);transition:color .2s;position:relative}
nav.stuck .navlinks a{color:var(--dim)}
.navlinks a:not(.btn):after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--arc-bright);transition:width .25s}
.navlinks a:not(.btn):hover{color:#fff}
nav.stuck .navlinks a:not(.btn):hover{color:var(--navy)}
.navlinks a:not(.btn):hover:after{width:100%}
.navlinks a.btn,nav.stuck .navlinks a.btn{color:#fff}
@media(max-width:1100px){.navlinks a:not(.btn){display:none}}
@media(max-width:520px){.brand{height:30px}.navlinks .btn{padding:.55rem .9rem;font-size:.85rem}}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55rem;background:var(--arc);color:#fff;
padding:.78rem 1.4rem;font-family:var(--body);font-weight:500;font-size:.9375rem;
border:1px solid var(--arc);border-radius:2px;cursor:pointer;white-space:nowrap;position:relative;overflow:hidden;
transition:background .2s,border-color .2s,box-shadow .25s,color .2s}
.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn:hover:before{transform:translateX(120%)}
.btn:hover{background:var(--arc-mid);box-shadow:0 10px 30px rgba(36,85,147,.35)}
.btn svg{transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.22);color:#E9EEF4}
.btn.ghost:hover{border-color:#fff;box-shadow:none;background:rgba(255,255,255,.05)}
.btn.ghost.light{border-color:var(--rule);color:var(--navy)}
.btn.ghost.light:hover{border-color:var(--navy);background:transparent}
/* hero */
header{position:relative;min-height:100vh;min-height:100svh;background:var(--navy);color:#E9EEF4;overflow:hidden;
display:flex;align-items:center;padding:clamp(7rem,14vh,9rem) 0 clamp(4rem,8vh,6rem)}
#field{position:absolute;inset:0;width:100%;height:100%;display:block}
header:after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(180deg,transparent,var(--navy));pointer-events:none}
.herogrid{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:end;width:100%}
@media(max-width:1000px){.herogrid{grid-template-columns:1fr}}
header h1{color:#fff;margin:1.2rem 0 1.4rem;max-width:15ch}
header h1 em{color:var(--arc-bright);position:relative;display:inline-block}
header .tag{color:var(--arc-bright)}
header .lede{color:var(--dim-dark);max-width:54ch}
.herocta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.4rem}
.word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.word>span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease)}
.loaded .word>span{transform:none}
/* build tracker card */
.tracker{background:rgba(24,33,44,.62);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
border-radius:4px;padding:1.4rem 1.4rem 1.25rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim-dark)}
.tracker .row{display:flex;justify-content:space-between;align-items:center}
.live{display:inline-flex;align-items:center;gap:.5rem;color:#9FD4B0}
.live i{width:7px;height:7px;border-radius:50%;background:#4FBF7A;box-shadow:0 0 0 0 rgba(79,191,122,.6);animation:ping 1.8s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(79,191,122,.55)}80%,100%{box-shadow:0 0 0 9px rgba(79,191,122,0)}}
.tracker .big{font-family:var(--display);font-weight:800;color:#fff;font-size:2.6rem;letter-spacing:-.04em;text-transform:none;line-height:1;margin:1.1rem 0 .3rem}
.tracker .big small{font-size:.4em;color:var(--dim-dark);letter-spacing:0;font-weight:600}
.bar{height:4px;background:rgba(255,255,255,.08);border-radius:2px;margin:1.1rem 0 .9rem;overflow:hidden}
.bar b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--arc),var(--arc-bright));border-radius:2px}
.phases{display:grid;grid-template-columns:repeat(6,1fr);gap:.25rem;font-size:.56rem;letter-spacing:.08em}
.phases span{transition:color .3s;white-space:nowrap}
.phases span.on{color:#fff}
.scrollcue{position:absolute;left:50%;bottom:1.6rem;z-index:3;transform:translateX(-50%);width:22px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:12px}
.scrollcue:after{content:"";position:absolute;left:50%;top:7px;width:2px;height:7px;margin-left:-1px;background:var(--arc-bright);border-radius:1px;animation:cue 1.8s infinite var(--ease)}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}
@media(max-height:720px),(max-width:700px){.scrollcue{display:none}}
/* ticker */
.ticker{background:var(--arc);color:#fff;overflow:hidden;white-space:nowrap;border-block:1px solid var(--arc-mid)}
.ticker .track{display:inline-flex;animation:marq 38s linear infinite;padding:.95rem 0}
.ticker span{font-family:var(--mono);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;padding:0 1.6rem;display:inline-flex;align-items:center;gap:3.2rem}
.ticker span:after{content:"";width:6px;height:6px;background:var(--arc-pale);transform:rotate(45deg)}
@keyframes marq{to{transform:translateX(-50%)}}
/* sections */
section{padding:var(--sec) 0;position:relative}
.tinted{background:var(--mist);border-block:1px solid var(--rule)}
.dark{background:var(--navy);color:#E9EEF4}
.dark h2,.dark h3{color:#fff}
.dark .lede{color:var(--dim-dark)}
.dark .tag{color:var(--arc-bright)}
.head{max-width:62ch;margin-bottom:clamp(2.8rem,5.5vw,4.4rem)}
.head h2{margin:1rem 0 1.05rem}
.gridtex{position:absolute;inset:0;pointer-events:none;
background-image:linear-gradient(var(--rule-soft) 1px,transparent 1px),linear-gradient(90deg,var(--rule-soft) 1px,transparent 1px);
background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 80% 30%,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse 70% 60% at 80% 30%,#000 0%,transparent 72%)}
.dark .gridtex{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)}
/* market reality */
.reality{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
@media(max-width:1000px){.reality{grid-template-columns:1fr}}
.stats{display:grid;grid-template-columns:1fr;border-top:2px solid var(--navy)}
.st{display:grid;grid-template-columns:minmax(8.5rem,auto) 1fr;gap:1.4rem;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid var(--rule)}
.st .n{font-family:var(--display);font-weight:800;color:var(--navy);font-size:clamp(2.4rem,4.4vw,3.4rem);letter-spacing:-.045em;line-height:1}
.st .n i{font-style:normal;color:var(--arc)}
.st p{color:var(--dim);font-size:.95rem;line-height:1.55}
.st p b{color:var(--navy);font-weight:500}
.src{font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;color:var(--dim);margin-top:1.2rem;line-height:1.7}
.chartcard{border:1px solid var(--rule);background:#fff;padding:clamp(1.2rem,3vw,2rem);border-radius:4px;box-shadow:0 30px 60px -30px rgba(18,25,33,.18)}
.chartcard svg{width:100%;height:auto;display:block;overflow:visible}
.axis{stroke:var(--rule);stroke-width:1}
.tick{font-family:var(--mono);font-size:9.5px;fill:var(--dim);letter-spacing:.1em}
.guide{stroke:var(--arc-pale);stroke-width:1;stroke-dasharray:3 4}
.trace{fill:none;stroke-width:2.5;stroke-linecap:round}
.trace.slow{stroke:var(--grey-bar)}
.trace.fast{stroke:var(--arc)}
.fill{fill:url(#gainfill);opacity:0;transition:opacity 1.2s ease 2.2s}
.drawn .fill{opacity:1}
.node{stroke-width:2;fill:#fff}
.nlabel{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase}
.nval{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em}
.spark{fill:var(--arc-bright)}
/* model */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2rem,4.5vw,3.6rem);position:relative}
@media(max-width:900px){.trio{grid-template-columns:1fr;gap:0}}
.cell{padding-top:1.6rem;position:relative}
.cell:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--rule)}
.cell:after{content:"";position:absolute;top:0;left:0;height:2px;width:100%;background:var(--navy);transform:scaleX(0);transform-origin:0 50%;transition:transform 1s var(--ease)}
.cell.in:after{transform:scaleX(1)}
.cell:hover:after{background:var(--arc)}
@media(max-width:900px){.cell{padding:2rem 0}}
.cell .ico{color:var(--arc);margin-bottom:1.15rem;display:block}
.cell .stage{font-family:var(--mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:.7rem}
.cell h3{margin-bottom:.6rem;font-size:1.2rem}
.cell p{color:var(--dim);font-size:.9375rem;line-height:1.66}
.dark .cell:before{background:rgba(255,255,255,.12)}
.dark .cell:after{background:#fff}
.dark .cell:hover:after{background:var(--arc-bright)}
.dark .cell p{color:var(--dim-dark)}
.dark .cell .stage{color:var(--arc-bright)}
/* phase rail (dark) */
.rail{margin-top:clamp(3.5rem,7vw,5rem);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:1.6rem clamp(1rem,3vw,2rem) 1.4rem;background:rgba(255,255,255,.02)}
.rail .top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim-dark);margin-bottom:1.1rem;gap:1rem}
.rail .top b{color:#fff;font-weight:500}
.rbar{position:relative;height:6px;background:rgba(255,255,255,.07);border-radius:3px}
.rbar .fillr{position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--arc),var(--arc-bright));border-radius:3px;box-shadow:0 0 18px rgba(91,147,212,.55)}
.rsteps{display:grid;grid-template-columns:repeat(5,1fr);margin-top:1rem;gap:.5rem}
.rsteps div{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:#5d6b7a;transition:color .4s}
.rsteps div.on{color:#fff}
.rsteps div small{display:block;font-family:var(--body);text-transform:none;letter-spacing:0;font-size:.8rem;color:inherit;opacity:.8;margin-top:.25rem}
@media(max-width:700px){.rsteps{grid-template-columns:1fr 1fr}.rsteps div:last-child{grid-column:span 2}}
/* features */
.feat{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:4px;overflow:hidden}
@media(max-width:760px){.feat{grid-template-columns:1fr}}
.fcard{background:#fff;padding:clamp(1.6rem,3.5vw,2.6rem);position:relative;overflow:hidden;min-height:15rem}
.fcard:before{content:"";position:absolute;width:420px;height:420px;left:var(--mx,50%);top:var(--my,50%);transform:translate(-50%,-50%);
background:radial-gradient(circle,rgba(91,147,212,.16),transparent 62%);opacity:0;transition:opacity .35s;pointer-events:none}
.fcard:hover:before{opacity:1}
.fcard .k{font-family:var(--mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--arc);display:flex;justify-content:space-between}
.fcard h3{font-size:1.45rem;letter-spacing:-.025em;margin:1.3rem 0 .7rem;max-width:20ch}
.fcard p{color:var(--dim);font-size:.95rem;line-height:1.62;max-width:46ch}
.fcard svg.glyph{position:absolute;right:1.4rem;bottom:1.3rem;opacity:.9}
/* calculator */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media(max-width:940px){.calc{grid-template-columns:1fr}}
.ctrl{margin-bottom:1.7rem}
.ctrl .lab{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim-dark);margin-bottom:.7rem}
.ctrl .lab output{font-family:var(--display);font-weight:800;color:#fff;font-size:1.25rem;letter-spacing:-.02em;text-transform:none}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;outline:none;padding:0;border:0;
background:linear-gradient(90deg,var(--arc-bright) var(--p,50%),rgba(255,255,255,.12) var(--p,50%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--arc);cursor:pointer;box-shadow:0 0 0 6px rgba(91,147,212,.18)}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:4px solid var(--arc);cursor:pointer}
.result{border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:clamp(1.6rem,4vw,2.6rem);background:linear-gradient(160deg,rgba(36,85,147,.28),rgba(36,85,147,.04))}
.result .lbl{font-family:var(--mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--arc-pale)}
.result .money{font-family:var(--display);font-weight:800;color:#fff;font-size:clamp(2.8rem,6vw,4.4rem);letter-spacing:-.05em;line-height:1;margin:.8rem 0 1rem;font-variant-numeric:tabular-nums}
.result .sub{color:var(--dim-dark);font-size:.95rem}
.result .sub b{color:#fff;font-weight:500}
.months{display:grid;grid-template-columns:repeat(60,1fr);gap:2px;margin:1.6rem 0 .6rem}
.months i{height:18px;background:rgba(255,255,255,.06);border-radius:1px;transition:background .3s}
.months i.g{background:var(--arc-bright)}
.months i.a{background:#fff}
.legend{display:flex;gap:1.2rem;flex-wrap:wrap;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim-dark)}
.legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:.45rem;vertical-align:middle;border-radius:1px;background:var(--c)}
.calcnote{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;color:#6e7c8b;margin-top:1.2rem;line-height:1.7}
/* cost */
.cost{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2.5rem,5.5vw,5rem);align-items:start}
@media(max-width:980px){.cost{grid-template-columns:1fr}}
.lever{display:grid;grid-template-columns:2.6rem 1fr;gap:.4rem;padding:1.45rem 0;border-bottom:1px solid var(--rule-soft);transition:padding-left .3s var(--ease),background .3s}
.lever:first-child{border-top:1px solid var(--rule-soft)}
.lever:hover{padding-left:.6rem}
.lever .mark{font-family:var(--mono);font-size:.6875rem;color:var(--arc);padding-top:.3rem;letter-spacing:.08em}
.lever h3{margin-bottom:.26rem}
.lever p{color:var(--dim);font-size:.9375rem;line-height:1.62}
.scope{border-left:2px solid var(--arc);background:var(--arc-tint);padding:1.15rem 1.35rem;margin-top:1.7rem;font-size:.9rem;color:var(--dim);line-height:1.6}
.scope strong{color:var(--navy);font-weight:600}
/* statement */
.statement{padding:clamp(5rem,13vh,9rem) 0}
.statement p{font-family:var(--display);font-weight:800;letter-spacing:-.045em;line-height:1.04;font-size:clamp(2.3rem,6.4vw,5.4rem);max-width:17ch}
.statement .w{color:var(--rule);transition:color .5s}
.statement .w.lit{color:var(--navy)}
.statement .w.lit.acc{color:var(--arc)}
/* coverage */
.mkt{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:4px;overflow:hidden}
@media(max-width:760px){.mkt{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.mkt{grid-template-columns:1fr}}
.mcell{background:#fff;padding:1.6rem 1.5rem;position:relative;transition:background .3s}
.mcell:hover{background:var(--arc-tint)}
.mcell .place{font-family:var(--display);font-weight:800;color:var(--navy);font-size:1.25rem;letter-spacing:-.025em}
.mcell .stt{font-family:var(--mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-top:.45rem}
.mcell .dot{position:absolute;right:1.5rem;top:1.8rem;width:8px;height:8px;border-radius:50%;background:var(--arc)}
.mcell .dot:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--arc);animation:ring 2.6s infinite var(--ease);animation-delay:var(--d,0s)}
@keyframes ring{0%{transform:scale(.4);opacity:1}100%{transform:scale(2.2);opacity:0}}
/* contact */
#contact{overflow:hidden}
.formgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,5.5vw,5rem);align-items:start;position:relative}
@media(max-width:980px){.formgrid{grid-template-columns:1fr}}
.direct{margin-top:2rem;display:flex;flex-direction:column;gap:.7rem}
.direct a{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;color:#fff;width:max-content;max-width:100%;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:.3rem;transition:border-color .2s}
.direct a:hover{border-color:var(--arc-bright)}
.copy{background:none;border:1px solid rgba(255,255,255,.18);color:var(--dim-dark);font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:.4rem .7rem;border-radius:2px;cursor:pointer;width:max-content;transition:color .2s,border-color .2s}
.copy:hover{color:#fff;border-color:#fff}
form{display:grid;gap:1.05rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:clamp(1.3rem,3vw,2rem)}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}
@media(max-width:560px){.fr{grid-template-columns:1fr}}
label{display:block;font-family:var(--mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim-dark);margin-bottom:.42rem}
input:not([type=range]),textarea,select{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);color:#fff;
padding:.75rem .85rem;font-family:var(--body);font-size:.95rem;border-radius:2px;transition:border-color .2s,box-shadow .2s,background .2s}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--dim-dark) 50%),linear-gradient(135deg,var(--dim-dark) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat}
select option{color:var(--ink)}
input::placeholder,textarea::placeholder{color:#5d6b7a}
textarea{resize:vertical;min-height:96px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--arc-bright);background:rgba(255,255,255,.06);box-shadow:0 0 0 3px rgba(91,147,212,.18)}
.formnote{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;color:var(--dim-dark);margin-top:.8rem;line-height:1.7}
.formnote a{color:var(--arc-bright);text-decoration:underline;text-underline-offset:2px}
footer{background:var(--navy);border-top:1px solid rgba(255,255,255,.08);padding:2.4rem 0;color:var(--dim-dark)}
.footin{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.footin img{height:32px;width:auto;display:block}
.footin p,.footin a.mail{font-family:var(--mono);font-size:.6875rem;letter-spacing:.13em;text-transform:uppercase}
.footin a.mail:hover{color:#fff}
/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
:focus-visible{outline:2px solid var(--arc-bright);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}
.rv,.word>span{opacity:1;transform:none}
.cell:after{transform:scaleX(1)}
.statement .w{color:var(--navy)}
}
/* faq */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,5.5vw,5rem);align-items:start}
@media(max-width:980px){.faq{grid-template-columns:1fr}}
.qa{border-top:1px solid var(--rule)}
.qa:last-child{border-bottom:1px solid var(--rule)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.3rem 0;font-family:var(--display);font-weight:700;font-size:1.125rem;letter-spacing:-.015em;color:var(--navy);transition:color .2s}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--arc)}
.qa summary i{flex:none;width:28px;height:28px;border:1px solid var(--rule);border-radius:50%;position:relative;transition:transform .35s var(--ease),border-color .2s,background .2s}
.qa summary i:before,.qa summary i:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--navy);transform:translate(-50%,-50%)}
.qa summary i:after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .25s}
.qa[open] summary i{transform:rotate(180deg);border-color:var(--arc);background:var(--arc)}
.qa[open] summary i:before{background:#fff}
.qa[open] summary i:after{opacity:0}
.qa .ans{color:var(--dim);font-size:.975rem;line-height:1.66;padding:0 3rem 1.4rem 0;max-width:64ch;animation:fadeup .45s var(--ease)}
.qa .ans strong{color:var(--navy);font-weight:500}
@keyframes fadeup{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:981px){.faq .head{position:sticky;top:120px}}
.qa summary h3{font:inherit;letter-spacing:inherit;color:inherit;margin:0}
