/* Sections the inner pages use, on top of styles.css (same tokens, same type, same motion). */

/* ── Page hero ─────────────────────────────────────────────────────────── */
.phero{position:relative;padding:10rem 0 6rem;overflow:hidden;text-align:center}
.phero--short{padding-bottom:4.5rem}
.phero__inner{position:relative}
.kicker{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem 1rem;border-radius:6rem;background:rgba(232,241,255,.85);border:1px solid #d4e2ff;font-size:.9rem;color:var(--ink)}
.kicker i{position:relative;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.kicker i::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--blue);animation:ping 2s var(--expo) infinite}
.t1p{font-size:clamp(2.75rem,5.6vw,5.25rem);line-height:1.02;font-weight:500;letter-spacing:-.055em;max-width:15ch;margin:1.75rem auto 0}
.phero__sub{font-size:1.25rem;color:var(--grey-700);max-width:38em;margin:1.75rem auto 0}
.phero .hero__btns{margin-top:2.5rem}
.pstats{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:64rem;margin:4.5rem auto 0}
.pstat{padding:1.5rem 1.4rem;border-radius:var(--r-24);background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:left;box-shadow:0 20px 40px -32px rgba(11,58,135,.4)}
.pstat b{display:block;font-size:2.4rem;font-weight:500;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.pstat span{display:block;margin-top:.6rem;font-size:.95rem;color:var(--grey-700);line-height:1.35}
.phero .worldmap{margin-top:3rem}

/* ── Value cards ("what changes") ──────────────────────────────────────── */
.vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.vcard{position:relative;display:flex;flex-direction:column;min-height:23rem;padding:2.5rem;border-radius:var(--r-24);background:var(--blue-100);overflow:hidden;transition:transform .6s var(--expo)}
.vcard:hover{transform:translateY(-6px)}
.vcard__val{font-size:clamp(2.6rem,4vw,3.6rem);line-height:1;font-weight:500;letter-spacing:-.055em;color:var(--blue)}
.vcard h3{margin-top:auto}
.vcard p{margin-top:1rem;color:var(--grey-700);font-size:1.0625rem}
.vcard--dark{background:linear-gradient(180deg,#1d5cf0 0%,#0b3a87 50%,#03122a 100%);color:#fff}
.vcard--dark .vcard__val{color:#fff}
.vcard--dark p{color:rgba(255,255,255,.82)}
.vcard--dark::after{content:"";position:absolute;inset:auto -20% -40% -20%;height:70%;background:radial-gradient(closest-side,rgba(132,176,252,.35),transparent);pointer-events:none}

/* ── Comparison ────────────────────────────────────────────────────────── */
.cmp{border-radius:var(--r-24);background:#fff;border:1px solid var(--grey-100);overflow:hidden;box-shadow:0 30px 60px -50px rgba(5,22,46,.4)}
.cmp__row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1.1fr);border-top:1px solid var(--grey-100)}
.cmp__row:first-child{border-top:0}
.cmp__row>*{padding:1.4rem 1.6rem}
.cmp__head>*{padding-top:1.6rem;padding-bottom:1.6rem;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-600)}
.cmp__head .cmp__new{color:var(--blue);display:flex;align-items:center;gap:.55rem;font-weight:600}
.cmp__head .cmp__new img{width:18px}
.cmp__k{font-weight:500;letter-spacing:-.02em;font-size:1.05rem}
.cmp__old,.cmp__new{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;line-height:1.45}
.cmp__old{color:var(--grey-600)}
.cmp__new{background:var(--blue-50);color:var(--ink)}
.cmp__row .cmp__new i,.cmp__row .cmp__old i{flex:none;width:1.25rem;height:1.25rem;margin-top:.1rem;border-radius:50%;display:grid;place-items:center}
.cmp__new i{background:var(--blue);color:#fff}
.cmp__new i::before{content:"";width:7px;height:4px;border-left:1.6px solid #fff;border-bottom:1.6px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.cmp__old i{background:var(--grey-50);color:var(--grey-500)}
.cmp__old i::before{content:"×";font-style:normal;font-size:.95rem;line-height:1}
.cmp__row:not(.cmp__head):hover .cmp__new{background:var(--blue-100)}
.callout{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.25rem;padding:2.5rem;border-radius:var(--r-24);color:#fff;background:radial-gradient(120% 140% at 0% 0%,#1d5cf0 0%,#0b3a87 45%,#05162e 100%);overflow:hidden;position:relative}
.callout h3{font-size:1.75rem;font-weight:500;letter-spacing:-.035em}
.callout p{margin-top:.6rem;max-width:40em;color:rgba(255,255,255,.8);font-size:1.0625rem}
.callout .btn--light:hover{color:var(--ink)}
.callout__map{position:absolute;right:-10%;top:-20%;width:60%;max-width:none;opacity:.12;pointer-events:none}

/* ── Section heads with an eyebrow ─────────────────────────────────────── */
.shead{max-width:46rem}
.shead.center{margin-left:auto;margin-right:auto}
.shead .eyebrow+.t2{margin-top:1rem}
.shead .lede{margin-top:1.25rem}
.sec .shead+*{margin-top:4rem}

/* ── Steps (a vertical timeline that fills as you scroll) ──────────────── */
.steps{position:relative;max-width:58rem;margin-left:auto;margin-right:auto}
.steps__rail{position:absolute;left:1.75rem;top:2rem;bottom:2rem;width:2px;background:var(--grey-100);border-radius:2px}
.steps__rail i{position:absolute;inset:0 0 auto;height:0;background:linear-gradient(180deg,var(--blue-400),var(--blue));border-radius:2px}
.step{position:relative;display:grid;grid-template-columns:3.5rem 1fr auto;gap:1.75rem;align-items:start;padding:2rem 0}
.step__n{position:relative;z-index:1;width:3.5rem;height:3.5rem;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--grey-100);font-weight:600;font-size:1rem;color:var(--grey-600);transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease)}
.step.is-on .step__n{background:var(--blue);border-color:var(--blue);color:#fff}
.step h3{font-size:1.6rem;font-weight:500;letter-spacing:-.035em;margin-top:.7rem}
.step p{margin-top:.75rem;color:var(--grey-700);font-size:1.0625rem;max-width:36em}
.step__tag{margin-top:.85rem;padding:.4rem .85rem;border-radius:6rem;background:var(--blue-100);color:var(--blue);font-size:.875rem;font-weight:500;white-space:nowrap}

/* ── Three-up text blocks ──────────────────────────────────────────────── */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}
.trio .eyebrow{color:var(--blue)}
.trio h3{margin-top:.8rem}
.trio p{margin-top:1rem;color:var(--grey-700);font-size:1.0625rem}
.quad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.qcard{padding:2rem;border-radius:var(--r-24);background:var(--grey-0);border:1px solid var(--grey-100);transition:transform .6s var(--expo),border-color .4s}
.qcard:hover{transform:translateY(-5px);border-color:var(--blue-200)}
.qcard h3{font-size:1.3rem;font-weight:500;letter-spacing:-.03em}
.qcard p{margin-top:.8rem;color:var(--grey-700);font-size:1rem}
.qcard__ic{display:block;width:2.4rem;height:2.4rem;margin-bottom:1.6rem;border-radius:.7rem;background:var(--blue-100);position:relative}
.qcard__ic::after{content:"";position:absolute;inset:.7rem;border-radius:50%;border:2px solid var(--blue)}

/* ── Plain table ───────────────────────────────────────────────────────── */
.tscroll{overflow-x:auto;border-radius:var(--r-24)}
.ltable{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--grey-100);border-radius:var(--r-24);overflow:hidden;background:#fff;font-size:1.0625rem}
.ltable th{text-align:left;padding:1.2rem 1.6rem;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--grey-600);background:var(--grey-0)}
.ltable td{padding:1.15rem 1.6rem;border-top:1px solid var(--grey-100)}
.ltable td:first-child{font-weight:500}
.ltable tr.is-us td{background:var(--blue-50);color:var(--blue);font-weight:600}

/* ── Split (text beside text or a visual) ──────────────────────────────── */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5rem;align-items:start}
.split--center{align-items:center}
.split .t2{font-size:clamp(2.2rem,3.8vw,3.5rem)}
.prose p{color:var(--grey-700);font-size:1.125rem;line-height:1.6}
.prose p+p{margin-top:1.1rem}
.nlist{margin-top:2.25rem;display:flex;flex-direction:column;gap:.6rem}
.nlist>div{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.25rem 1.4rem;border-radius:var(--r-16);background:var(--blue-50);transition:background .3s,transform .5s var(--expo)}
.nlist>div:hover{background:var(--blue-100);transform:translateX(4px)}
.nlist em{font-style:normal;font-family:var(--mono);font-size:.9rem;color:var(--blue);padding-top:.15rem}
.nlist b{display:block;font-weight:500;font-size:1.1rem;letter-spacing:-.02em}
.nlist span{display:block;margin-top:.25rem;color:var(--grey-700);font-size:1rem}

/* ── Roles (careers) ───────────────────────────────────────────────────── */
.roles{border-top:1px solid var(--grey-100)}
.roles__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.role{display:grid;grid-template-columns:12rem minmax(0,1fr) auto;gap:2rem;align-items:center;padding:1.75rem 0;border-bottom:1px solid var(--grey-100);transition:padding .5s var(--expo)}
.role:hover{padding-left:1rem;padding-right:1rem;background:linear-gradient(90deg,var(--blue-50),transparent)}
.role__meta b{display:inline-block;padding:.25rem .7rem;border-radius:6rem;background:var(--blue-100);color:var(--blue);font-size:.8rem;font-weight:500}
.role__meta small{display:block;margin-top:.5rem;font-size:.85rem;color:var(--grey-600)}
.role h3{font-size:1.4rem;font-weight:500;letter-spacing:-.03em}
.role p{margin-top:.35rem;color:var(--grey-700);font-size:1rem}
.role__go{display:inline-flex;align-items:center;gap:.5rem;color:var(--blue);font-weight:500;white-space:nowrap;transition:gap .3s var(--ease)}
.role:hover .role__go{gap:.85rem}
.hire{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;counter-reset:hire}
.hire>div{position:relative;padding:2rem 1.6rem;border-radius:var(--r-24);background:#fff;border:1px solid var(--grey-100)}
.hire small{font-family:var(--mono);font-size:.8rem;color:var(--blue)}
.hire b{display:block;margin-top:1rem;font-size:1.3rem;font-weight:500;letter-spacing:-.03em}
.hire p{margin-top:.6rem;color:var(--grey-700);font-size:1rem}
.count{display:inline-block;padding:.35rem .8rem;border-radius:6rem;background:var(--ink);color:#fff;font-size:.85rem;font-weight:500}

/* ── Contact form ──────────────────────────────────────────────────────── */
.contact{padding:10rem 0 7rem;position:relative;overflow:hidden}
.contact__grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5rem;align-items:start}
.contact__intro .t1p{margin:1.5rem 0 0;text-align:left}
.contact__intro p{margin-top:1.5rem;color:var(--grey-700);font-size:1.2rem;max-width:26em}
.contact__mail{margin-top:2.5rem;font-size:1rem;color:var(--grey-700)}
.contact__mail a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.fcard{padding:2.5rem;border-radius:var(--r-24);background:#fff;border:1px solid var(--grey-100);box-shadow:0 40px 80px -50px rgba(5,22,46,.45)}
.fsteps{display:flex;gap:.5rem;margin-bottom:2rem}
.fsteps span{flex:1;display:flex;flex-direction:column;gap:.55rem;font-size:.85rem;color:var(--grey-500)}
.fsteps span::before{content:"";height:3px;border-radius:3px;background:var(--grey-100);transition:background .4s var(--ease)}
.fsteps span.is-on,.fsteps span.is-done{color:var(--ink)}
.fsteps span.is-on::before,.fsteps span.is-done::before{background:var(--blue)}
.fpane[hidden]{display:none}
.fpane{animation:dm-fade .5s var(--expo)}
.field{display:block;margin-top:1.25rem}
.field:first-child{margin-top:0}
.field>span{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}
.field>span em{color:var(--blue);font-style:normal}
.field input,.field select,.field textarea{width:100%;padding:.9rem 1rem;border:1px solid var(--grey-100);border-radius:.75rem;background:var(--grey-0);font:inherit;font-size:1rem;color:var(--ink);transition:border-color .2s,background .2s,box-shadow .2s;appearance:none}
.field textarea{resize:vertical;min-height:7rem}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23647d96' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px;padding-right:2.6rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(11,87,244,.12)}
.field small{display:block;margin-top:.45rem;font-size:.82rem;color:var(--grey-600)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.frow .field{margin-top:1.25rem}
.ferr{margin-top:1rem;padding:.75rem 1rem;border-radius:.6rem;background:#fdebeb;color:#b32a2a;font-size:.9rem}
.ferr a{color:inherit;text-decoration:underline}
.fbtns{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem}
.fdone{text-align:center;padding:2rem 0}
.fdone .okring{width:4.4rem;height:4.4rem}
.fdone .okring svg{width:2rem}
.fdone h2{margin-top:1.5rem;font-size:2.2rem;font-weight:500;letter-spacing:-.04em}
.fdone p{margin-top:.7rem;color:var(--grey-700)}
.fdone .hero__btns{margin-top:2rem}

/* ── FAQ page ──────────────────────────────────────────────────────────── */
.faqp{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:5rem;align-items:start}
.toc{position:sticky;top:7rem;display:flex;flex-direction:column;gap:.15rem}
.toc small{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-600);margin-bottom:.8rem}
.toc a{padding:.55rem .9rem;border-radius:.6rem;color:var(--grey-700);font-size:1rem;transition:background .25s,color .25s}
.toc a:hover{background:var(--grey-50);color:var(--ink)}
.toc a.is-on{background:var(--blue-100);color:var(--blue)}
.fgroup+.fgroup{margin-top:4.5rem}
.fgroup__h{display:flex;align-items:baseline;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--grey-100)}
.fgroup__h em{font-style:normal;font-family:var(--mono);font-size:.9rem;color:var(--blue)}
.fgroup__h h2{font-size:2rem;font-weight:500;letter-spacing:-.04em}
.faqp .qa__q{font-size:1.3rem}

/* ── Blog ──────────────────────────────────────────────────────────────── */
.feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border-radius:var(--r-24);overflow:hidden;background:#fff;border:1px solid var(--grey-100);transition:box-shadow .6s var(--expo),transform .6s var(--expo)}
.feature:hover{transform:translateY(-4px);box-shadow:0 40px 80px -50px rgba(5,22,46,.45)}
.cover{position:relative;min-height:22rem;overflow:hidden;background:radial-gradient(120% 120% at 20% 0%,#3d7bff 0%,#0b3a87 50%,#05162e 100%)}
.cover__map{position:absolute;left:-12%;top:10%;width:124%;aspect-ratio:740/423}
.cover__map img{position:absolute;inset:0;width:100%;height:100%;opacity:.22}
.cover .arcs{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cover .arcs__node{fill:#84b0fc}.cover .arcs__arc{stroke:#bdd6fe}.cover .arcs__comet{fill:#fff}.cover .arcs__soon{fill:transparent;stroke:rgba(255,255,255,.4)}
.cover--light .arcs__node{fill:var(--blue)}.cover--light .arcs__arc{stroke:var(--blue)}.cover--light .arcs__comet{fill:var(--blue-400)}
.cover--light{background:linear-gradient(170deg,#dcefff,#cddfff)}
.cover--light .cover__map img{opacity:.35}
.feature__body{display:flex;flex-direction:column;padding:3rem}
.meta{display:flex;gap:.6rem;align-items:center;font-size:.9rem;color:var(--grey-600)}
.meta b{padding:.25rem .7rem;border-radius:6rem;background:var(--blue-100);color:var(--blue);font-weight:500;font-size:.8rem}
.feature h2{margin-top:1.5rem;font-size:clamp(1.9rem,2.8vw,2.6rem);line-height:1.1;font-weight:500;letter-spacing:-.045em}
.feature p{margin-top:1.1rem;color:var(--grey-700)}
.feature .pill-link{margin-top:auto;padding-top:2rem;background:none;padding-left:0}
.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.post{display:flex;flex-direction:column;border-radius:var(--r-24);overflow:hidden;border:1px solid var(--grey-100);background:#fff;transition:transform .6s var(--expo),box-shadow .6s var(--expo)}
.post:hover{transform:translateY(-5px);box-shadow:0 30px 60px -45px rgba(5,22,46,.45)}
.post .cover{min-height:14rem}
.post__body{padding:2rem}
.post h3{margin-top:1rem;font-size:1.5rem;font-weight:500;letter-spacing:-.035em;line-height:1.15}
.post p{margin-top:.75rem;color:var(--grey-700);font-size:1rem}
.post__foot{display:flex;justify-content:space-between;margin-top:1.5rem;font-size:.9rem;color:var(--grey-600)}
.post__foot b{color:var(--blue);font-weight:500}

/* ── Article ───────────────────────────────────────────────────────────── */
.art-hero{padding:9.5rem 0 3rem;position:relative;overflow:hidden}
.art-hero__in{position:relative;max-width:50rem;margin:0 auto;text-align:center}
.back{display:inline-flex;align-items:center;gap:.4rem;color:var(--grey-700);font-size:.95rem;transition:color .2s,gap .3s var(--ease)}
.back:hover{color:var(--blue);gap:.7rem}
.art-hero .meta{justify-content:center;margin-top:1.5rem}
.art-hero h1{margin-top:1.5rem;font-size:clamp(2.5rem,4.6vw,4.2rem);line-height:1.04;font-weight:500;letter-spacing:-.05em}
.art-hero .dek{margin-top:1.5rem;font-size:1.25rem;color:var(--grey-700);line-height:1.5}
.art-cover{max-width:62rem;margin:0 auto;border-radius:var(--r-24);min-height:26rem}
.article{max-width:42rem;margin:4.5rem auto 0;font-size:1.1875rem;line-height:1.7;color:#2c3843}
.article p+p{margin-top:1.4rem}
.article h2{margin:3.5rem 0 1.25rem;font-size:2rem;line-height:1.15;font-weight:500;letter-spacing:-.04em;color:var(--ink)}
.article strong{color:var(--ink);font-weight:600}
.article a:not(.btn){color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.article .pull{margin:2.5rem 0;padding:1.75rem 2rem;border-radius:var(--r-16);background:var(--blue-50);border-left:3px solid var(--blue);font-size:1.4rem;line-height:1.4;letter-spacing:-.02em;color:var(--ink)}
.article table{width:100%;margin:2rem 0;border-collapse:separate;border-spacing:0;border:1px solid var(--grey-100);border-radius:var(--r-16);overflow:hidden;font-size:1rem;line-height:1.5}
.article th{text-align:left;padding:.9rem 1.1rem;background:var(--grey-0);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--grey-600)}
.article td{padding:.9rem 1.1rem;border-top:1px solid var(--grey-100);vertical-align:top}
.article__end{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--grey-100)}
.readbar{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--blue-400),var(--blue));z-index:150;pointer-events:none}

/* ── Legal ─────────────────────────────────────────────────────────────── */
.legal{display:grid;grid-template-columns:15rem minmax(0,44rem);gap:5rem;justify-content:center;align-items:start}
.legal section+section{margin-top:3rem}
.legal h2{font-size:1.6rem;font-weight:500;letter-spacing:-.035em;scroll-margin-top:7rem}
.legal p{margin-top:.9rem;color:var(--grey-700);font-size:1.0625rem;line-height:1.65}
.legal__q{margin-top:4rem;padding:2rem;border-radius:var(--r-24);background:var(--blue-50);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.legal__q b{font-weight:500;font-size:1.15rem}
.updated{margin-top:1.25rem;font-size:.95rem;color:var(--grey-600)}

/* ── Product ───────────────────────────────────────────────────────────── */
.bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.bcard{display:flex;flex-direction:column;padding:.75rem;border:1px solid var(--grey-100);border-radius:var(--r-24);background:#fff;transition:border-color .4s,box-shadow .5s var(--ease)}
.bcard:hover{border-color:var(--blue-200);box-shadow:0 30px 60px -40px rgba(11,87,244,.45)}
.bcard__vis{position:relative;min-height:19rem;border-radius:var(--r-16);background:linear-gradient(180deg,#dcefff,#cddfff);display:grid;place-items:center;overflow:hidden;padding:1.5rem}
.bcard__vis::before{content:"";position:absolute;inset:-40%;background:radial-gradient(40% 40% at 30% 30%,rgba(255,255,255,.7),transparent 70%);animation:ec-sheen 9s ease-in-out infinite alternate}
.bcard__txt{padding:1.5rem 1.25rem 1.25rem}
.bcard__txt .eyebrow{color:var(--blue)}
.bcard__txt h3{margin-top:.6rem}
.bcard__txt p{margin-top:.75rem;color:var(--grey-700);font-size:1.0625rem;max-width:34em}
.bcard__txt .pill-link{margin-top:1rem;padding-left:0;background:none}
.chips{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:22rem}
.chips span{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem .5rem .5rem;border-radius:6rem;background:#fff;font-size:.95rem;font-weight:500;box-shadow:0 10px 20px -16px rgba(11,58,135,.5)}
.chips img{width:1.5rem;height:1.5rem;border-radius:50%;object-fit:cover}
.chips .more{background:transparent;box-shadow:none;color:var(--grey-700);border:1px dashed var(--grey-300);padding-left:.9rem}
.ledger{position:relative;width:min(24rem,100%);border-radius:var(--r-16);background:#fff;overflow:hidden;box-shadow:0 0 0 .55rem rgba(255,255,255,.35),0 24px 40px -24px rgba(11,58,135,.35);font-size:.85rem}
.ledger>div{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.6rem .9rem;border-top:1px solid var(--grey-50)}
.ledger>div:first-child{border-top:0;background:var(--grey-0);grid-template-columns:1fr auto}
.ledger small{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-600)}
.ledger img{width:1.4rem;height:1rem;border-radius:.2rem;object-fit:cover}
.ledger span{color:var(--grey-700)}
.ledger b{font-weight:600;font-variant-numeric:tabular-nums}
.rules{position:relative;width:min(24rem,100%);display:flex;flex-direction:column;gap:.5rem}
.rule{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.85rem 1rem;border-radius:var(--r-12);background:#fff;font-size:.88rem;box-shadow:0 12px 24px -20px rgba(11,58,135,.6)}
.rule__ic{width:1.9rem;height:1.9rem;border-radius:.55rem;background:var(--blue-100);color:var(--blue);display:grid;place-items:center;font-size:.85rem;font-weight:600}
.rule small{display:block;font-size:.75rem;color:var(--grey-600)}
.rule b{font-weight:500}
.tgl{position:relative;width:2.1rem;height:1.25rem;border-radius:1rem;background:var(--grey-100);transition:background .35s}
.tgl::after{content:"";position:absolute;left:2px;top:2px;width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(5,22,46,.25);transition:transform .45s var(--expo)}
.tgl.is-on{background:var(--blue)}
.tgl.is-on::after{transform:translateX(.85rem)}
.rule.is-fire{animation:rule-fire 1s var(--expo)}
@keyframes rule-fire{30%{box-shadow:0 0 0 4px rgba(11,87,244,.25),0 12px 24px -20px rgba(11,58,135,.6)}}
.perm{position:relative;width:min(26rem,100%);display:grid;grid-template-columns:1fr 1fr;gap:.6rem;font-size:.82rem}
.perm>div{border-radius:var(--r-12);background:#fff;overflow:hidden;box-shadow:0 12px 24px -20px rgba(11,58,135,.6)}
.perm__h{padding:.6rem .8rem;background:var(--grey-0);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-600);display:flex;justify-content:space-between;align-items:center}
.perm__h b{font-size:.68rem;padding:.15rem .45rem;border-radius:.3rem;background:var(--blue);color:#fff;letter-spacing:.04em}
.mem{display:flex;align-items:center;gap:.55rem;padding:.6rem .8rem;cursor:pointer;transition:background .3s}
.mem i{width:1.7rem;height:1.7rem;border-radius:50%;background:var(--grey-50);display:grid;place-items:center;font-style:normal;font-size:.65rem;font-weight:600;color:var(--grey-600);transition:background .3s,color .3s}
.mem.is-on{background:var(--blue-50)}
.mem.is-on i{background:var(--blue);color:#fff}
.mem small{display:block;font-size:.68rem;color:var(--grey-600)}
.pr{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.62rem .8rem;border-top:1px solid var(--grey-50)}
.api{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4rem;align-items:center}
.ticks{margin-top:2rem;display:flex;flex-direction:column;gap:.9rem}
.ticks div{display:flex;gap:.8rem;align-items:center;font-size:1.0625rem}
.ticks i{flex:none;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--blue);position:relative}
.ticks i::after{content:"";position:absolute;left:.42rem;top:.36rem;width:.5rem;height:.28rem;border-left:1.6px solid #fff;border-bottom:1.6px solid #fff;transform:rotate(-45deg)}
.api .btn{margin-top:2.25rem}
.term{border-radius:var(--r-24);background:#0b1220;color:#e2e8f0;overflow:hidden;box-shadow:0 40px 80px -40px rgba(5,22,46,.6);font-family:var(--mono);font-size:.84rem;line-height:1.75}
.term__bar{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.08);font-size:.8rem}
.term__bar span{display:inline-flex;gap:.4rem}
.term__bar span i{width:.65rem;height:.65rem;border-radius:50%;background:#334155}
.term__bar b{font-weight:500;color:#94a3b8}
.term__bar em{font-style:normal;color:#84b0fc}
.term pre{padding:1.2rem 1.4rem;overflow-x:auto;white-space:pre;scrollbar-width:none}
.term .k{color:#84b0fc}.term .s{color:#7ee0c3}.term .n{color:#fbbf6c}.term .c{color:#64748b}.term .ok{color:#7ee0c3}
.term .term__ln{display:block;opacity:0;transform:translateX(-6px);transition:opacity .35s,transform .45s var(--expo)}
.term.is-in .term__ln{opacity:1;transform:none;transition-delay:calc(var(--i)*55ms)}
.live3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.lcard{display:flex;flex-direction:column;border-radius:var(--r-24);background:var(--blue-100);padding:2.25rem;min-height:30rem;transition:transform .6s var(--expo)}
.lcard:hover{transform:translateY(-6px)}
.lcard .eyebrow{color:var(--blue)}
.lcard h3{margin-top:.75rem}
.lcard p{margin-top:.8rem;color:var(--grey-700);font-size:1rem}
.lcard .pill-link{margin-top:1.25rem}
.lcard__w{margin-top:auto;padding-top:1.75rem}
.mw{border-radius:var(--r-16);background:#fff;padding:1.1rem;font-size:.85rem;box-shadow:0 20px 40px -30px rgba(11,58,135,.5)}
.mw__h{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--grey-600)}
.mw__h b{color:var(--blue);font-weight:500;font-variant-numeric:tabular-nums}
.mw__r{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;border-top:1px solid var(--grey-50);font-variant-numeric:tabular-nums}
.mw__r:first-of-type{border-top:0}
.mw__r span{color:var(--grey-700)}
.mw__r b{font-weight:600}
.mw__f{display:flex;justify-content:space-between;margin-top:.4rem;padding-top:.6rem;border-top:1px dashed var(--grey-100);font-size:.78rem;color:var(--grey-600)}
.mw__f b{color:var(--green);font-weight:600}
.key{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .8rem;border-radius:.6rem;background:#0b1220;color:#7ee0c3;font-family:var(--mono);font-size:.78rem}
.key button{color:#94a3b8;font-size:.72rem}
.tline{display:flex;flex-direction:column}
.tline div{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.5rem 0;color:var(--grey-500);transition:color .4s}
.tline i{width:.7rem;height:.7rem;border-radius:50%;border:2px solid var(--grey-300);transition:background .3s,border-color .3s}
.tline em{font-style:normal;font-family:var(--mono);font-size:.75rem}
.tline div.is-done{color:var(--ink)}
.tline div.is-done i{background:var(--blue);border-color:var(--blue)}
.tline div.is-now i{border-color:var(--blue);box-shadow:0 0 0 4px rgba(11,87,244,.18)}
.live-pill{display:inline-flex;align-items:center;gap:.35rem;color:var(--green);font-weight:600;font-size:.72rem}
.live-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:blink 1s infinite}
.sols{border-top:1px solid var(--grey-100)}
.sol{display:grid;grid-template-columns:4rem minmax(0,1fr) minmax(0,1.2fr) auto;gap:2rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--grey-100);transition:padding .5s var(--expo),background .4s}
.sol:hover{padding-left:1rem;padding-right:1rem;background:linear-gradient(90deg,var(--blue-50),transparent)}
.sol em{font-style:normal;font-family:var(--mono);color:var(--blue)}
.sol b{font-size:1.75rem;font-weight:500;letter-spacing:-.04em}
.sol span{color:var(--grey-700)}
.sol i{width:3rem;height:3rem;border-radius:50%;background:var(--grey-50);display:grid;place-items:center;transition:background .3s,color .3s,transform .5s var(--expo)}
.sol i::after{content:"→";font-style:normal}
.sol:hover i{background:#242d35;color:#fff;transform:rotate(-45deg)}

/* ── Currency groups ───────────────────────────────────────────────────── */
.cgroup+.cgroup{margin-top:3.5rem}
.cgroup__h{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-bottom:1.25rem}
.cgroup__h h2{font-size:1.5rem;font-weight:500;letter-spacing:-.03em}
.cgroup__h span{font-size:.85rem;color:var(--grey-600);padding:.25rem .7rem;border-radius:6rem;background:var(--grey-50)}
.ccy__pill.is-beta{border-color:var(--blue-200);background:var(--blue-50)}
.ccy__pill .tag{margin-left:.2rem;padding:.1rem .45rem;border-radius:.3rem;background:var(--blue);color:#fff;font-size:.65rem;font-weight:600;letter-spacing:.04em}
.ccy .actions{margin-top:2rem}
.note{margin-top:3.5rem;text-align:center;color:var(--grey-700)}
.note a{color:var(--blue);font-weight:500}

/* ── CTA band on inner pages ───────────────────────────────────────────── */
.cta .t1p{margin-top:1.5rem;max-width:14ch}
.cta .lede{margin:1.5rem auto 0}
.cta .hero__btns{margin-top:2.5rem}


@media (max-width:1100px){
  .quad,.hire{grid-template-columns:repeat(2,minmax(0,1fr))}
  .faqp,.legal{grid-template-columns:1fr;gap:2.5rem}
  .toc{position:static;flex-direction:row;flex-wrap:wrap}
  .toc small{width:100%}
}
@media (max-width:900px){
  .phero{padding:8rem 0 4rem}
  .pstats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vgrid,.trio,.live3,.bento,.posts{grid-template-columns:1fr}
  .vcard{min-height:16rem}
  .cmp__row{grid-template-columns:1fr}
  .cmp__head{display:none}
  .cmp__row>*{padding:1rem 1.25rem}
  .cmp__k{padding-bottom:0}
  .pstat{padding:1.2rem 1rem}
  .pstat b{font-size:1.65rem;white-space:nowrap}
  .callout{flex-direction:column;align-items:flex-start;padding:2rem}
  .split,.api,.contact__grid{grid-template-columns:1fr;gap:2.5rem}
  .step{grid-template-columns:3.5rem 1fr;gap:1.25rem}
  .step__tag{grid-column:2;justify-self:start;margin-top:0}
  .role{grid-template-columns:1fr;gap:.75rem}
  .sol{grid-template-columns:3rem 1fr auto;gap:1rem}
  .sol span{grid-column:2/-1}
  .feature{grid-template-columns:1fr}
  .feature__body{padding:2rem}
  .frow{grid-template-columns:1fr}
  .fcard{padding:1.5rem}
  .contact{padding:8rem 0 5rem}
  .ltable{font-size:.95rem}
  .ltable th,.ltable td{padding:.85rem 1rem}
  .article table{font-size:.9rem}
}
@media (max-width:600px){
  .quad,.hire{grid-template-columns:1fr}
  .perm{grid-template-columns:1fr}
}

/* ── Questions, answered (solution pages; written by tools/seo.py) ──────── */
.ans__in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:start}
.ans__h{position:sticky;top:7rem}
.ans__h .t2{margin-top:1rem;font-size:clamp(2.1rem,3.4vw,3rem)}
.ans__h .lede{margin-top:1rem;font-size:1.0625rem}
.ans__h .lede a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.ans__l{display:grid;gap:0;border-top:1px solid var(--grey-100)}
.ans__i{padding:1.6rem 0;border-bottom:1px solid var(--grey-100)}
.ans__i h3{font-size:1.25rem;font-weight:500;letter-spacing:-.025em;color:var(--ink)}
.ans__i p{margin-top:.6rem;color:var(--grey-700);font-size:1.0625rem;line-height:1.6;max-width:40em}
@media (max-width:991px){.ans__in{grid-template-columns:minmax(0,1fr);gap:2rem}.ans__h{position:static}}
.sec.ans{background:#fff}

/* ── Glossary ─────────────────────────────────────────────────────────── */
.gl{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:4rem;align-items:start}
.gl-jump{position:sticky;top:7rem;display:flex;flex-direction:column;gap:.15rem;max-height:calc(100vh - 9rem);overflow:auto;font-size:.92rem}
.gl-jump a{padding:.3rem .6rem;border-radius:.5rem;color:var(--grey-700)}
.gl-jump a:hover{background:var(--blue-50);color:var(--ink)}
.gl-l{border-top:1px solid var(--grey-100)}
.gl-t{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:2rem;padding:1.6rem 0;border-bottom:1px solid var(--grey-100);scroll-margin-top:6rem}
.gl-t dt{font-size:1.25rem;font-weight:500;letter-spacing:-.025em}
.gl-t dd p{color:var(--grey-700);font-size:1.0625rem;line-height:1.6}
.gl-more{display:inline-block;margin-top:.6rem;color:var(--blue);font-weight:500;font-size:.95rem}
.gl-t:target{background:linear-gradient(90deg,var(--blue-50),transparent)}
.cmp-t th[scope="row"]{font-weight:500;color:var(--ink);white-space:nowrap;text-transform:none;letter-spacing:-.01em;font-size:1rem;background:#fff;border-top:1px solid var(--grey-100)}
.cmp-t td:last-child{background:var(--blue-50);color:var(--ink)}
@media (max-width:991px){.gl{grid-template-columns:minmax(0,1fr)}.gl-jump{position:static;flex-direction:row;flex-wrap:wrap;max-height:none}.gl-t{grid-template-columns:minmax(0,1fr);gap:.5rem}}
.ans__rel{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:2.25rem;font-size:.95rem}
.ans__rel small{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-700);margin-bottom:.3rem}
.ans__rel a{color:var(--ink);border-bottom:1px solid var(--grey-100);padding-bottom:.1rem;transition:border-color .2s,color .2s}
.ans__rel a:hover{color:var(--blue);border-color:var(--blue-300)}
