/* Grid columns are declared as minmax(0,...) throughout. Without the 0 minimum a
   grid column sizes to its widest child, which on a phone drags the whole page
   past the screen edge. Fixed 15 Sep 2026. */
.vhero{padding:3.2rem 0 2.6rem}
@media (min-width:860px){.vhero{padding:4.6rem 0 3.5rem}}
.vhero h1{max-width:15ch}
.vhero .lede{font-size:1.12rem;max-width:58ch}
@media (min-width:700px){.vhero .lede{font-size:1.2rem}}
.vh{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem}
@media (min-width:1000px){.vh{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center}}
.vh>*{min-width:0}
.vcheck{margin-top:2rem;max-width:520px}
.vcheck label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}
.vrow{display:flex;flex-wrap:wrap;gap:.5rem;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:.35rem}
.vrow input{flex:1 1 12rem;border:0;background:transparent;padding:.8rem 1rem;font:inherit;color:var(--ink);min-width:0}
.vrow input:focus{outline:none}
.vrow .btn{flex:0 0 auto}
@media (max-width:420px){.vrow .btn{flex:1 1 100%;justify-content:center}}
.vcheck .small{font-size:.88rem;color:var(--grey);margin:.9rem 0 0;max-width:46ch}
.answer{background:var(--indigo);color:#fff;border-radius:20px;padding:1.4rem;box-shadow:0 26px 54px rgba(57,52,107,.22);min-width:0}
@media (min-width:560px){.answer{padding:1.8rem}}
.ahead{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;font-size:.85rem;font-weight:600;color:#D9D6EC;margin-bottom:.5rem}
.ahead .tag{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.28);border-radius:5px;padding:.15rem .45rem}
.arows{list-style:none;padding:0;margin:0}
.arows li{padding:.9rem 0;border-top:1px solid rgba(255,255,255,.18);opacity:0;transform:translateY(5px);transition:opacity .5s,transform .5s}
.arows li.on{opacity:1;transform:none}
.arows .t{display:flex;justify-content:space-between;gap:1rem;font-weight:600;min-width:0}
.arows .t>span:first-child{min-width:0;overflow-wrap:break-word}
.arows .mark{font-size:.78rem;font-weight:500;color:#C9C4E4;white-space:nowrap;flex:0 0 auto}
.arows li[data-ok="1"] .mark{color:var(--gold)}
.arows em{display:block;font-style:normal;color:#C9C4E4;font-size:.9rem;margin-top:.2rem;max-width:44ch}
.ascore{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.18);font-size:.95rem;color:#fff;opacity:0;transition:opacity .6s}
.ascore.on{opacity:1}
@media (prefers-reduced-motion:reduce){.arows li,.ascore{opacity:1;transform:none;transition:none}}
.grid2{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:2.4rem}
@media (min-width:860px){.grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:3.5rem}}
.grid2 div{padding:1.2rem 0;border-top:1px solid var(--line)}
.grid2 b{display:block;margin-bottom:.15rem}
.grid2 span{color:var(--grey);font-size:.97rem}
.proof{background:var(--indigo-pale);padding:3.4rem 0}
@media (min-width:860px){.proof{padding:5.5rem 0}}
.proof .label{color:var(--indigo)}
.proof h2{max-width:20ch;font-size:clamp(1.65rem,4vw,3.1rem)}
.chartbox{margin-top:2.4rem}
.chartbox img{width:100%;max-width:100%;height:clamp(170px,22vw,300px);display:block}
.pfigs{display:grid;grid-template-columns:minmax(0,1fr);gap:2.4rem;margin-top:3rem;padding-top:2.6rem;border-top:1px solid rgba(57,52,107,.18)}
@media (min-width:860px){.pfigs{grid-template-columns:minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,.7fr);gap:3rem}}
.pfigs b{display:block;font-size:clamp(2.2rem,8vw,3.6rem);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--indigo)}
.pfigs div:nth-child(1) b{color:var(--gold)}
.pfigs span{display:block;color:var(--grey);font-size:.95rem;margin-top:.6rem;max-width:28ch}
.pclose{margin-top:3rem;padding-top:2.4rem;border-top:1px solid rgba(57,52,107,.18);font-size:1.15rem;font-weight:500;letter-spacing:-.015em;max-width:52ch;line-height:1.35;color:var(--ink)}
@media (min-width:700px){.pclose{font-size:1.25rem}}
.psrc{font-size:.85rem;color:#7A778F;margin-top:1.4rem;max-width:60ch}
.leg{display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem 3.5rem;margin-top:1rem}
@media (min-width:900px){.leg{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}
.leg .num{font-size:.78rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);margin:0 0 .7rem}
.leg h2{font-size:clamp(1.55rem,3vw,2.35rem);max-width:16ch}
.jobs{list-style:none;padding:0;margin:0}
.jobs li{padding:1.15rem 0;border-top:1px solid var(--line)}
.jobs li:last-child{border-bottom:1px solid var(--line)}
.jobs b{display:block;margin-bottom:.15rem}
.jobs span{color:var(--grey);font-size:.97rem}
.jobs em{font-style:normal;color:var(--teal);font-weight:600;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;margin-left:.5rem}
.changes{list-style:none;padding:0;margin:2.2rem 0 0;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
@media (min-width:860px){.changes{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 3rem}}
.changes li{padding-left:1.5rem;position:relative;color:#D9D6EC;max-width:40ch}
.changes li::before{content:"";position:absolute;left:0;top:.65em;width:.45rem;height:.45rem;border-radius:50%;background:var(--gold)}
.vform{display:grid;gap:.3rem;max-width:560px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.3rem}
@media (min-width:560px){.vform{padding:1.9rem}}
.vform label{font-size:.9rem;font-weight:600;margin-top:.8rem}
.vform input,.vform select,.vform textarea{width:100%;max-width:100%;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:10px;font:inherit;color:var(--ink);background:#fff}
.vform textarea{min-height:110px;resize:vertical}
.vform input:focus,.vform select:focus,.vform textarea:focus{border-color:var(--indigo);outline:none}
.vform .btn{margin-top:1.2rem;justify-self:start}
@media (max-width:420px){.vform .btn{justify-self:stretch;justify-content:center}}
.faq details{border-top:1px solid var(--line);padding:1.15rem 0;max-width:820px}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
@media (min-width:700px){.faq summary{font-size:1.08rem}}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--teal);font-weight:600;flex:0 0 auto}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:.7rem 0 0;color:var(--grey);max-width:66ch}
.intro{max-width:62ch}
section{padding:3.6rem 0}
@media (min-width:860px){section{padding:5.6rem 0}}
.editorial{font-size:clamp(1.5rem,5.5vw,2.7rem);font-weight:500;letter-spacing:-.025em;line-height:1.18;max-width:20ch;margin:0;color:var(--ink)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:var(--indigo-pale);padding:.1em .35em;border-radius:4px;overflow-wrap:break-word}
