/* ---------------------------------------------------------------
   Carbon Copy
   Paper ground, one accent: the ink. Typewriter slab for headings at
   its natural weight with tight tracking, a plain grotesk for body,
   the typewriter mono only for addresses and numbers that must line up.
   Material language: domed, wet, glossy ink on warm paper.
   --------------------------------------------------------------- */
@font-face{font-family:'Cutive';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Cutive-400.woff2) format('woff2')}
@font-face{font-family:'Courier Prime';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/CourierPrime-400.woff2) format('woff2')}
@font-face{font-family:'Courier Prime';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/CourierPrime-700.woff2) format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/SchibstedGrotesk-var.woff2) format('woff2')}

:root{
  --paper:#EDE6DA;
  --paper-2:#F3EEE1;
  --paper-3:#E4DCCD;
  --ink:#163444;
  --drop:#1A3F50;
  --rim:#356C7F;
  --hi:#D5DBDC;
  --text:#141414;
  --text-70:rgba(20,20,20,.72);
  --text-50:rgba(20,20,20,.52);
  --text-35:rgba(20,20,20,.36);
  --line:rgba(22,52,68,.14);
  --line-2:rgba(22,52,68,.26);
  --ink-wash:rgba(22,52,68,.07);
  --ink-wash-2:rgba(22,52,68,.12);
  --ok:#2E7D5B;
  --warn:#9A5B1E;
  --bad:#A63A2B;
  --slab:'Cutive','American Typewriter','Courier New',ui-serif,serif;
  --sans:'Schibsted Grotesk',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  --mono:'Courier Prime','Courier New',ui-monospace,monospace;
  --r:14px;
  --r-lg:22px;
  --wrap:1200px;
  --gut:32px;
  /* writing paper: ruled lines and a fine fibre grain */
  --rule-h:32px;
  --rule:rgba(22,52,68,.085);
  --ruled:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--rule-h) - 1px),var(--rule) calc(var(--rule-h) - 1px),var(--rule) var(--rule-h));
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)' opacity='0.05'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--paper)}
html,body{overflow-x:clip}
body{margin:0;background-color:var(--paper);background-image:var(--grain),var(--ruled);background-size:180px 180px,100% var(--rule-h);background-repeat:repeat,repeat;background-position:0 0,0 0;color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.55;font-feature-settings:"ss01","cv11"}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--rim)}
code,pre,.mono{font-family:var(--mono)}
button{font:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none !important}
::selection{background:var(--ink);color:var(--paper)}
:focus-visible{outline:2px solid var(--rim);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

h1,h2,h3,.slab{font-family:var(--slab);font-weight:400;letter-spacing:-.025em;line-height:1.06;color:var(--ink);margin:0}
h1{font-size:clamp(2.35rem,5.6vw,4.4rem)}
h2{font-size:clamp(1.75rem,3.4vw,2.7rem)}
h3{font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.2}
p{margin:0 0 1rem}
.lede{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--text-70);max-width:44rem;line-height:1.55}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:.42rem .8rem;border:1px solid var(--line-2);border-radius:999px;background:var(--paper-2)}
.eyebrow .dot,.dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--ink);display:inline-block;position:relative}
.dot.live::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--ink);opacity:.5;animation:ping 1.8s ease-out infinite}
@keyframes ping{0%{transform:scale(.5);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.muted{color:var(--text-50)}
.small{font-size:.86rem}
.sec{padding:clamp(3.5rem,7vw,6.5rem) 0}
.sec-head{max-width:46rem;margin-bottom:2.2rem}
.sec-head .eyebrow{margin-bottom:1rem}
.sec-head h2{margin-bottom:.8rem}
.tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;padding:.3rem .65rem;border-radius:999px;border:1px solid var(--line);background:var(--paper-2);color:var(--text-70);white-space:nowrap}
hr.rule{border:0;border-top:1px solid var(--line);margin:0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.35rem;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--paper-2);font-weight:500;font-size:.95rem;line-height:1;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--drop);color:var(--paper-2);transform:translateY(-1px);box-shadow:0 8px 24px -12px rgba(22,52,68,.6)}
.btn:active{transform:translateY(0)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{background:var(--ink-wash);color:var(--ink);box-shadow:none}
.btn-sm{padding:.55rem .95rem;font-size:.84rem}
.btn[disabled],.btn.disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.btn .w-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--text-35)}
.btn.on .w-dot{background:var(--ok)}

/* nav */
header.top{position:sticky;top:0;z-index:40;background:rgba(237,230,218,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .25s}
header.top.scrolled{border-bottom-color:var(--line)}
.nav-in{display:flex;align-items:center;gap:1.2rem;height:72px}
.brand{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--slab);font-size:1.12rem;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.brand svg{width:44px;height:30px}
.nav-links{display:none;gap:1.4rem;margin-left:.6rem}
.nav-links a{font-size:.94rem;color:var(--text-70);padding:.3rem 0;border-bottom:1px solid transparent}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink);border-bottom-color:var(--ink)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line-2);border-radius:999px;padding:.38rem .5rem .38rem .8rem;font-size:.8rem;background:var(--paper-2)}
.pill .lab{font-family:var(--mono);letter-spacing:.06em;color:var(--ink)}
.pill code{font-size:.8rem;color:var(--text-70)}
.pill button{border:0;background:var(--ink);color:var(--paper-2);border-radius:999px;padding:.3rem .6rem;font-size:.74rem}
.pill button:hover{background:var(--drop)}
.pill.waiting{border-style:dashed}
.pill.waiting code{color:var(--text-50)}
#navtoggle{position:absolute;opacity:0;pointer-events:none}
.burger{width:42px;height:42px;border:1px solid var(--line-2);border-radius:999px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;background:var(--paper-2)}
.burger span{width:16px;height:1.5px;background:var(--ink);transition:transform .2s,opacity .2s}
#navtoggle:checked~.nav-in .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
#navtoggle:checked~.nav-in .burger span:nth-child(2){opacity:0}
#navtoggle:checked~.nav-in .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.drawer{display:none;flex-direction:column;padding:.4rem 0 1.2rem;border-top:1px solid var(--line)}
.drawer a{padding:.8rem 0;border-bottom:1px solid var(--line);font-size:1.05rem}
.drawer .drawer-pill{padding:1rem 0 0}
#navtoggle:checked~.drawer{display:flex}
@media(min-width:1040px){.nav-links{display:flex}.burger{display:none}#navtoggle:checked~.drawer{display:none}}
@media(max-width:700px){.pill .lab{display:none}.pill code{max-width:5.6rem;overflow:hidden;text-overflow:ellipsis}.btn.wallet span{display:none}.btn.wallet{padding:.55rem .7rem}.brand span{display:none}}
@media(max-width:420px){.pill.nav-pill{display:none}}

/* hero */
.hero{position:relative;padding:clamp(3rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 85% 20%,var(--paper-2) 0%,transparent 60%);pointer-events:none}
.hero-grid{display:grid;gap:2.5rem;align-items:center;position:relative}
@media(min-width:960px){.hero-grid{grid-template-columns:1.05fr .95fr}}
.hero h1{margin:1.1rem 0 1.2rem}
.hero h1 em{font-style:normal;color:var(--rim)}
.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6rem 0 1.5rem}
.hero-mark{position:relative;display:flex;justify-content:center;align-items:center}
.hero-mark svg{width:min(100%,520px);height:auto}
.ca-block{border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper-2);padding:1rem 1.1rem;display:grid;gap:.5rem;box-shadow:0 20px 50px -40px rgba(22,52,68,.6)}
.ca-block .lab{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.ca-block .row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.ca-block code{font-size:clamp(.82rem,1.6vw,1rem);word-break:break-all;color:var(--ink)}
.ca-block p{margin:0;color:var(--text-70);font-size:.92rem}
.ca-block.wait{border-style:dashed}
.cc-stats{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:.3rem}
.cc-stats div b{display:block;font-family:var(--slab);font-size:1.15rem;color:var(--ink)}
.cc-stats div span{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-50)}
.cc-stats .down{color:var(--bad)}
.trust{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem}
[data-live]{display:none !important}
body.mode-live [data-prelaunch]{display:none !important}
body.mode-live [data-live]{display:revert !important}
body.mode-live .ca-block[data-live]{display:grid !important}
body.mode-live .pill[data-live]{display:inline-flex !important}
body.mode-live .eyebrow[data-live]{display:inline-flex !important}

/* the wet ink mark */
.ink-mark .drop{transform-origin:center;animation:drip 5.2s cubic-bezier(.5,0,.6,1) infinite}
.ink-mark .ripple{transform-origin:center;opacity:0;animation:ripple 5.2s ease-out infinite}
.ink-mark .ripple.r2{animation-delay:.25s}
.ink-mark .sheen{animation:sheen 7s ease-in-out infinite}
@keyframes drip{0%{transform:translateY(-140px) scale(.6);opacity:0}12%{opacity:1}42%{transform:translateY(0) scale(1)}48%{transform:translateY(0) scale(1.12,.86)}54%{transform:translateY(0) scale(1)}100%{transform:translateY(0) scale(1);opacity:1}}
@keyframes ripple{0%,40%{transform:scale(.2);opacity:0}46%{opacity:.55}85%{transform:scale(1.6);opacity:0}100%{opacity:0}}
@keyframes sheen{0%,100%{opacity:.55}50%{opacity:.9}}
@media(prefers-reduced-motion:reduce){.ink-mark .drop,.ink-mark .ripple,.ink-mark .sheen{animation:none}.ink-mark .ripple{opacity:0}.ink-mark .drop{transform:none;opacity:1}}

/* chain strip */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}
.strip-in{display:grid;gap:0;grid-template-columns:1fr}
@media(min-width:760px){.strip-in{grid-template-columns:1fr 1fr}.strip .chain+.chain{border-left:1px solid var(--line)}}
/* name on its own line, then the three stats: both chains get the full
   half-width, so the columns line up and no value is split over two rows */
.strip .chain{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem;align-items:start;padding:1rem 0}
@media(max-width:759px){.strip .chain+.chain{border-top:1px solid var(--line)}}
@media(min-width:760px){.strip .chain{padding:1.1rem 1.4rem}.strip .chain:first-child{padding-left:0}}
.strip .cname{display:flex;align-items:center;gap:.55rem;font-family:var(--slab);color:var(--ink);font-size:1rem;white-space:nowrap}
.strip .cname .dot{background:var(--text-35)}
.strip .cname .dot.on{background:var(--ok)}
.strip .cname .dot.off{background:var(--bad)}
/* three stats, one row, same columns on both chains: nothing wraps to a second line */
.strip .kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.15rem 1rem;align-items:start}
.strip .kv div{display:flex;flex-direction:column;min-width:0}
.strip .kv b{font-family:var(--mono);font-weight:400;font-size:clamp(.86rem,1.6vw,1.05rem);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.strip .kv span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-50)}
.strip .kv i{font-style:normal;font-size:.72rem;color:var(--text-50)}
.flash{animation:flash .6s ease-out}
@keyframes flash{0%{color:var(--rim)}100%{color:var(--ink)}}

/* explore */
.explore-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
.explore-grid{display:grid;gap:1.4rem}
@media(min-width:1100px){.explore-grid{grid-template-columns:1fr 340px;align-items:start}}
.card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper-2);box-shadow:0 30px 60px -50px rgba(22,52,68,.5)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-lg)}
table.sheets{width:100%;min-width:860px;border-collapse:collapse;font-size:.92rem}
table.sheets th{font-family:var(--mono);font-weight:400;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-50);text-align:left;padding:1rem 1rem .7rem;border-bottom:1px solid var(--line)}
table.sheets td{padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}
table.sheets tr:last-child td{border-bottom:0}
table.sheets tbody tr{transition:background .2s}
table.sheets tbody tr:hover,table.sheets tbody tr.hot{background:var(--ink-wash)}
table.sheets th:first-child,table.sheets td:first-child{padding-left:1.4rem}
table.sheets th:last-child,table.sheets td:last-child{padding-right:1.4rem}
.sh-name{display:flex;align-items:center;gap:.8rem;min-width:200px}
.sh-name .logo{width:38px;height:38px;border-radius:10px;background:var(--paper-3);border:1px solid var(--line);object-fit:cover;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--slab);color:var(--ink);font-size:.9rem;overflow:hidden}
.sh-name .logo img{width:100%;height:100%;object-fit:cover}
.sh-name b{display:block;font-weight:500;color:var(--ink)}
.sh-name span{font-size:.78rem;color:var(--text-50);font-family:var(--mono)}
.chains{display:flex;gap:.3rem;flex-wrap:wrap}
.cpill{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--line-2);color:var(--ink);background:var(--paper)}
.cpill.rh{border-color:var(--ink);background:var(--ink);color:var(--paper-2)}
.cpill.base{border-color:var(--rim);color:var(--rim)}
.cpill.ghost{opacity:.35}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.num small{display:block;font-size:.72rem;color:var(--text-50)}
.meter{display:grid;gap:.3rem;min-width:130px}
.meter .bar{height:6px;border-radius:999px;background:var(--paper-3);overflow:hidden;position:relative}
.meter .bar i{position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--rim),var(--ink));border-radius:999px;transition:width 1.2s cubic-bezier(.22,.8,.3,1)}
.meter .bar.g i{background:var(--ok)}
.meter span{font-family:var(--mono);font-size:.72rem;color:var(--text-50);white-space:nowrap}
.addr{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.82rem;color:var(--text-70);white-space:nowrap}
.addr em{font-style:normal;color:var(--ink);font-weight:700}
.icon-btn{border:1px solid var(--line-2);background:var(--paper);color:var(--ink);border-radius:8px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0}
.icon-btn:hover{background:var(--ink);color:var(--paper-2)}
.icon-btn svg{width:14px;height:14px}
.empty{padding:2.6rem 1.6rem;text-align:center;color:var(--text-70)}
.empty h3{margin-bottom:.5rem}
.empty p{max-width:34rem;margin:0 auto .5rem}
.spot{padding:1.4rem;display:grid;gap:1rem;position:sticky;top:96px}
.spot .lab{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-50)}
.spot .head{display:flex;gap:1rem;align-items:center}
.spot .head .logo{width:64px;height:64px;border-radius:16px;background:var(--paper-3);border:1px solid var(--line);overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--slab);color:var(--ink);font-size:1.3rem}
.spot .head .logo img{width:100%;height:100%;object-fit:cover}
.spot h3{margin:0}
.spot .kvs{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.spot .kvs div b{display:block;font-family:var(--mono);font-weight:400;font-size:1.1rem;color:var(--ink)}
.spot .kvs div span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-50)}
.spot p.desc{color:var(--text-70);font-size:.92rem;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.spot .actions{display:flex;gap:.5rem;flex-wrap:wrap}
.filters{display:flex;gap:.4rem;flex-wrap:wrap}
.filters button{border:1px solid var(--line-2);background:transparent;color:var(--text-70);border-radius:999px;padding:.4rem .85rem;font-size:.84rem}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper-2);border-color:var(--ink)}
.tfoot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.9rem 1.4rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--text-50)}
.skel td{color:var(--text-35)}

/* docs */
.steps{display:grid;gap:1rem;counter-reset:step}
@media(min-width:760px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{padding:1.4rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper-2);position:relative}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;color:var(--rim);display:block;margin-bottom:1rem}
.step h3{margin-bottom:.5rem}
.step p{margin:0;color:var(--text-70);font-size:.94rem}
.numbers{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
@media(min-width:640px){.numbers{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.numbers{grid-template-columns:repeat(3,1fr)}}
.numbers div{background:var(--paper-2);padding:1.4rem}
.numbers b{display:block;font-family:var(--slab);font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--ink);letter-spacing:-.02em;margin-bottom:.3rem}
.numbers span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-50);margin-bottom:.5rem}
.numbers p{margin:0;font-size:.9rem;color:var(--text-70)}
.split{display:grid;gap:2rem}
@media(min-width:960px){.split{grid-template-columns:1fr 1fr}}
.trustlist{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.trustlist li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--paper-2)}
.trustlist li i{font-style:normal;font-family:var(--mono);color:var(--rim);font-size:.8rem;padding-top:.15rem}
.trustlist li b{display:block;color:var(--ink);font-weight:500}
.trustlist li span{color:var(--text-70);font-size:.92rem}
table.contracts{width:100%;border-collapse:collapse;font-size:.92rem}
table.contracts th{text-align:left;font-family:var(--mono);font-weight:400;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-50);padding:.7rem .9rem;border-bottom:1px solid var(--line)}
table.contracts td{padding:.85rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
table.contracts tr:last-child td{border-bottom:0}
table.contracts code{font-size:.8rem;word-break:break-all}
.pending{font-family:var(--mono);font-size:.78rem;color:var(--warn);border:1px dashed var(--warn);border-radius:999px;padding:.2rem .6rem;white-space:nowrap}
.faq{display:grid;gap:0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:1.15rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--slab);font-size:1.08rem;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--rim);font-size:1.2rem;flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--text-70);margin:0 0 1.2rem;max-width:52rem}
footer{border-top:1px solid var(--line);padding:3rem 0 2rem;color:var(--text-70);font-size:.9rem}
.foot-grid{display:grid;gap:2rem}
@media(min-width:840px){.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}
.foot-grid h4{font-family:var(--mono);font-weight:400;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-50);margin:0 0 .8rem}
.foot-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--text-50)}

/* forms and panels shared by press, sheet, fees */
.panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper-2);padding:1.5rem}
@media(max-width:600px){.panel{padding:1.1rem}}
.field{display:grid;gap:.35rem;margin-bottom:1rem}
.field label{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-50)}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line-2);background:var(--paper);border-radius:10px;padding:.7rem .85rem;font-size:.95rem;color:var(--text);min-width:0}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--ink-wash-2)}
.field textarea{min-height:96px;resize:vertical}
.field .hint{font-size:.78rem;color:var(--text-50)}
.field.err input{border-color:var(--bad)}
.field-row{display:grid;gap:.8rem}
@media(min-width:620px){.field-row{grid-template-columns:1fr 1fr}}
.inline-in{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line-2);background:var(--paper);border-radius:10px;padding:0 .85rem}
.inline-in input{border:0;background:transparent;padding:.7rem 0;flex:1;min-width:0}
.inline-in input:focus{outline:none;box-shadow:none}
.inline-in span{font-family:var(--mono);font-size:.8rem;color:var(--text-50)}
.toggle{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;user-select:none;font-size:.9rem}
.toggle input{position:absolute;opacity:0;pointer-events:none}
.toggle i{width:38px;height:22px;border-radius:999px;background:var(--paper-3);border:1px solid var(--line-2);position:relative;transition:background .2s}
.toggle i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line-2);transition:transform .2s}
.toggle input:checked+i{background:var(--ink);border-color:var(--ink)}
.toggle input:checked+i::after{transform:translateX(16px);border-color:var(--ink)}
.status{font-family:var(--mono);font-size:.82rem;padding:.7rem .9rem;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--text-70);word-break:break-word}
.status.ok{border-color:var(--ok);color:var(--ok)}
.status.bad{border-color:var(--bad);color:var(--bad)}
.status.warn{border-color:var(--warn);color:var(--warn)}
.kv-list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}
.kv-list li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.kv-list li:last-child{border-bottom:0}
.kv-list li span{color:var(--text-50)}
.kv-list li b{font-family:var(--mono);font-weight:400;color:var(--ink);text-align:right;word-break:break-all}
.tabs{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;padding:3px;background:var(--paper)}
.tabs button{border:0;background:transparent;color:var(--text-70);padding:.45rem .95rem;border-radius:999px;font-size:.86rem}
.tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper-2)}
.tabs button[disabled]{opacity:.4;cursor:not-allowed}

/* the miner */
.miner{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--ink);color:var(--paper-2);padding:1.5rem;position:relative;overflow:hidden}
.miner::before{content:"";position:absolute;inset:-40% -20% auto;height:70%;background:radial-gradient(50% 60% at 30% 40%,rgba(213,219,220,.22),transparent 70%);pointer-events:none}
.miner .lab{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hi);opacity:.8}
.miner .big{font-family:var(--mono);font-size:clamp(1.05rem,2.2vw,1.45rem);word-break:break-all;line-height:1.35;margin:.5rem 0 1rem;min-height:2.6em;color:var(--paper-2)}
.miner .big em{font-style:normal;color:#8FD4E6;font-weight:700}
.miner .big.dim{color:rgba(243,238,225,.45)}
.miner .row{display:flex;gap:1.6rem;flex-wrap:wrap;align-items:end}
.miner .row div b{display:block;font-family:var(--mono);font-weight:400;font-size:1.5rem;font-variant-numeric:tabular-nums;color:var(--paper-2)}
.miner .row div span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hi);opacity:.75}
.miner .btn{background:var(--paper-2);color:var(--ink);border-color:var(--paper-2)}
.miner .btn:hover{background:#fff;color:var(--ink)}
.miner .note{font-size:.82rem;color:rgba(243,238,225,.7);margin:1rem 0 0}
.miner.found{border-color:#8FD4E6}
.preview{display:grid;gap:1rem}
.preview .head{display:flex;gap:1rem;align-items:center}
.preview .logo{width:72px;height:72px;border-radius:18px;background:var(--paper-3);border:1px solid var(--line);overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--slab);font-size:1.4rem;color:var(--ink)}
.preview .logo img{width:100%;height:100%;object-fit:cover}
.preview .chainrow{display:flex;gap:1rem;flex-wrap:wrap}
.press-grid{display:grid;gap:1.6rem}
@media(min-width:1040px){.press-grid{grid-template-columns:1fr 1fr;align-items:start}.press-grid .sticky{position:sticky;top:96px}}
.chain-cards{display:grid;gap:.8rem}
.chain-card{border:1px solid var(--line);border-radius:var(--r);padding:1rem;background:var(--paper);display:grid;gap:.6rem}
.chain-card .top{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.chain-card.off{opacity:.5}

/* sheet page */
.sheet-head{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.sheet-head .logo{width:84px;height:84px;border-radius:22px;background:var(--paper-3);border:1px solid var(--line);overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--slab);font-size:1.6rem;color:var(--ink)}
.sheet-head .logo img{width:100%;height:100%;object-fit:cover}
.sheet-grid{display:grid;gap:1.4rem}
@media(min-width:1040px){.sheet-grid{grid-template-columns:1.25fr .75fr;align-items:start}}
.bigstats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:640px){.bigstats{grid-template-columns:repeat(4,1fr)}}
.bigstats div b{display:block;font-family:var(--slab);font-size:clamp(1.2rem,2.4vw,1.8rem);color:var(--ink);letter-spacing:-.02em}
.bigstats div span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-50)}
.chart{position:relative;height:280px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);overflow:hidden}
.chart canvas{width:100%;height:100%;display:block}
.chart .cnote{position:absolute;left:.9rem;bottom:.6rem;font-family:var(--mono);font-size:.72rem;color:var(--text-50)}
.term .amounts{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0 1rem}
.term .amounts button{border:1px solid var(--line-2);background:transparent;border-radius:999px;padding:.35rem .7rem;font-size:.8rem;font-family:var(--mono);color:var(--text-70)}
.term .amounts button:hover{border-color:var(--ink);color:var(--ink)}
.quote{display:grid;gap:.3rem;font-family:var(--mono);font-size:.84rem;color:var(--text-70);margin:.6rem 0 1rem}
.quote b{font-weight:400;color:var(--ink)}
.links{display:flex;gap:.5rem;flex-wrap:wrap}

/* tour */
body.mode-tour header.top,body.mode-tour .hero,body.mode-tour .strip,body.mode-tour .sec:not(#explore),body.mode-tour footer,body.mode-tour .explore-head,body.mode-tour .spot,body.mode-tour .tfoot{display:none !important}
body.mode-tour{overflow:hidden}
body.mode-tour #explore{padding:0}
.tour-stage{position:fixed;inset:0;z-index:30;background:var(--paper);display:none;flex-direction:column;justify-content:center;padding:4vh 5vw}
body.mode-tour .tour-stage{display:flex}
.tour-stage .big-lab{font-family:var(--mono);font-size:clamp(.8rem,1.4vw,1.1rem);letter-spacing:.16em;text-transform:uppercase;color:var(--rim);margin-bottom:1.2vh}
.tour-stage h2{font-size:clamp(2rem,5.2vw,4.6rem);margin-bottom:2.4vh}
.tour-stage .addr-big{font-family:var(--mono);font-size:clamp(1.3rem,3.3vw,3rem);color:var(--ink);word-break:break-all;line-height:1.25;min-height:2.5em}
.tour-stage .addr-big em{font-style:normal;color:var(--rim);font-weight:700}
.tour-stage .addr-big.dim{color:var(--text-35)}
.tour-stage .counter{display:flex;gap:4vw;margin-top:3vh}
.tour-stage .counter div b{display:block;font-family:var(--mono);font-size:clamp(1.8rem,4.6vw,4rem);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.tour-stage .counter div span{font-family:var(--mono);font-size:clamp(.7rem,1.1vw,.9rem);letter-spacing:.14em;text-transform:uppercase;color:var(--text-50)}
.tour-stage .card{max-height:74vh;overflow:hidden}
.tour-stage table.sheets{font-size:clamp(.95rem,1.4vw,1.25rem)}
.tour-stage table.sheets td{padding:1.1rem 1rem}
.tour-stage .sh-name .logo{width:48px;height:48px}

/* reveal primitive, gated on html.js so a script that never runs cannot blank the page */
.rv{opacity:1;transform:none}
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.22,.8,.3,1),transform .7s cubic-bezier(.22,.8,.3,1)}
.rv.in{opacity:1;transform:none}
.toast{position:fixed;left:50%;bottom:1.4rem;transform:translate(-50%,20px);background:var(--ink);color:var(--paper-2);padding:.7rem 1.1rem;border-radius:999px;font-size:.88rem;opacity:0;pointer-events:none;transition:.25s;z-index:60;max-width:calc(100vw - 2rem);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv,.rv{opacity:1;transform:none;transition:none}
  .dot.live::after,.flash{animation:none}
  .btn{transition:none}
}
@media(max-width:600px){:root{--gut:20px}}
@media(max-width:380px){:root{--gut:16px}}

/* tour: the chain read, shown when there is no Sheet to show yet */
.tour-stage .counter{flex-wrap:wrap;row-gap:2vh}
.tour-stage .counter div b.fee{font-size:clamp(1.3rem,3.2vw,2.6rem)}
#tourChains h2{font-size:clamp(2rem,6vw,5rem)}

/* press page: the honest preview badge on the miner before the Press exists */
.miner .badge{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(213,219,220,.4);color:var(--hi);border-radius:999px;padding:.25rem .6rem;margin-left:.5rem}
.stack{display:grid;gap:1.4rem}
.page-head{padding:clamp(2.4rem,5vw,4rem) 0 0}
.page-head .lede{margin-top:.8rem}
.note{font-size:.86rem;color:var(--text-50);margin:.6rem 0 0}
.grow{flex:1}
.rowbtns{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.tokenline{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-family:var(--mono);font-size:.84rem;color:var(--text-70);word-break:break-all}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;overflow:hidden;background:var(--paper)}
.seg button{border:0;background:transparent;padding:.5rem 1rem;font-size:.88rem;color:var(--text-70)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper-2)}

/* grid children must be allowed to shrink, or one wide table stretches the column
   and the page overflows its own gutter on a phone */
.split>*,.explore-grid>*,.sheet-grid>*,.press-grid>*,.hero-grid>*,.steps>*,.foot-grid>*{min-width:0}
table.contracts{min-width:520px}

/* ---------------------------------------------------------------
   Writing paper
   The ruled lines live on the body so they scroll with the page like
   a real sheet. Panels laid on top keep the fibre grain but not the
   ruling, so they read as loose sheets resting on the ruled page.
   The chain strip is translucent so the ruling runs straight through it.
   --------------------------------------------------------------- */
.card,.panel,.step,.ca-block,.numbers div,.trustlist li,.chain-card,.status,.chart,.spot,.eyebrow,.tag,.pill{
  background-image:var(--grain);
  background-size:180px 180px;
  background-repeat:repeat;
}
.strip{
  background-color:rgba(243,238,225,.55);
  background-image:var(--grain);
  background-size:180px 180px;
}
@media print{body{background-image:none}}

/* ---------------------------------------------------------------
   Press page, one screen
   Above 1040px the form and the rail become two equal-height columns
   that fit a laptop viewport together. Nothing is removed: the fields,
   hints and notes are all still here, just on a tighter rhythm, and
   the two chain cards sit side by side instead of stacked.
   --------------------------------------------------------------- */
@media(min-width:1040px){
  .press-head{padding-bottom:0}
  .press-head h1{margin-top:.7rem !important}
  .press-head .lede{margin-top:.6rem;max-width:58rem;font-size:1.02rem;line-height:1.5}
  .press-sec{padding-top:1.5rem !important;padding-bottom:2.6rem}

  .press-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);align-items:stretch;gap:1.3rem}
  .press-grid>form.panel{display:flex;flex-direction:column;padding:1.3rem 1.4rem}
  .press-grid>form.panel>h2{font-size:1.25rem !important;margin-bottom:.9rem !important}
  .press-grid .field{gap:.28rem;margin-bottom:.7rem}
  .press-grid .field-row{gap:.7rem}
  .press-grid .field input,.press-grid .field textarea{padding:.55rem .75rem;font-size:.9rem;border-radius:9px}
  .press-grid .field textarea{min-height:64px}
  .press-grid .field .hint{font-size:.74rem;line-height:1.4}
  .press-grid>form.panel>.note{margin-top:auto;padding-top:.9rem}

  .press-grid .sticky{position:static}
  .press-grid .stack{gap:.9rem;height:100%;grid-template-rows:auto auto 1fr}
  .press-grid .stack>.card{padding:1.15rem 1.25rem !important}
  .press-grid .preview{gap:.7rem}
  .press-grid .preview .logo{width:54px;height:54px;border-radius:14px;font-size:1.1rem}
  .press-grid .preview h3{font-size:1.15rem}

  .press-grid .miner{padding:1.15rem 1.25rem}
  .press-grid .miner .big{margin:.35rem 0 .75rem;min-height:1.45em;font-size:clamp(1rem,1.7vw,1.24rem)}
  .press-grid .miner .row{gap:1.1rem}
  .press-grid .miner .row div b{font-size:1.2rem}
  .press-grid .miner .note{margin-top:.75rem;font-size:.77rem;line-height:1.45}

  .press-grid .stack>.card:last-child{display:flex;flex-direction:column}
  .press-grid .chain-cards{grid-template-columns:1fr 1fr;gap:.7rem}
  .press-grid .chain-card{padding:.85rem}
  .press-grid .chain-card .note{font-size:.78rem}
  .press-grid .stack>.card:last-child>.note:last-child{margin-top:auto;padding-top:.8rem;font-size:.78rem;line-height:1.45}
}

/* Press page, wide screens: the form holds the left column, preview and
   miner sit side by side at the top right, and the sign band spans the two
   right columns underneath, so the whole thing lands on one screen. */
@media(min-width:1180px){
  .press-head{padding-top:2rem}
  .press-head h1{font-size:clamp(2.2rem,3.3vw,3.1rem)}
  .press-head .lede{font-size:.99rem;max-width:62rem}
  .press-sec{padding-top:1.2rem !important}

  .press-grid{grid-template-columns:minmax(0,1.14fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:1rem 1.05rem;align-items:stretch}
  .press-grid>form.panel{grid-column:1;grid-row:1 / span 2}
  .press-grid .sticky,.press-grid .stack{display:contents}
  .press-grid .stack>.card:first-child{grid-column:2;grid-row:1}
  .press-grid .miner{grid-column:3;grid-row:1}
  .press-grid .stack>.card:last-child{grid-column:2 / span 2;grid-row:2}

  .press-grid .field{margin-bottom:.58rem}
  .press-grid .field input,.press-grid .field textarea{padding:.5rem .7rem;font-size:.88rem}
  .press-grid .field textarea{min-height:56px}
  .press-grid .field .hint{font-size:.72rem;line-height:1.35}
  .press-grid>form.panel>.note{font-size:.78rem;line-height:1.45;padding-top:.7rem}
  .press-grid .miner .note{font-size:.75rem}
  .press-grid .status{margin-top:.7rem !important}
}

/* Press page, wide screens: final fit. Tighter head, the miner gets the
   wider of the two right columns so the address stays on one line, and the
   sign band puts its status and its note side by side under the two chain
   cards instead of stacking them. */
@media(min-width:1180px){
  .press-head{padding-top:1.4rem}
  .press-head h1{font-size:clamp(2.1rem,2.9vw,2.7rem)}
  .press-head .lede{font-size:.96rem;line-height:1.48;max-width:66rem}
  .press-sec{padding-top:1rem !important;padding-bottom:2.2rem}

  .press-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.84fr) minmax(0,1.12fr);gap:.9rem 1rem}
  .press-grid .stack>.card{padding:1rem 1.1rem !important}
  .press-grid .preview .logo{width:48px;height:48px;border-radius:12px;font-size:1rem}
  .press-grid .preview{gap:.6rem}
  .press-grid .preview .chainrow{gap:.7rem}

  .press-grid .miner{padding:1rem 1.1rem}
  .press-grid .miner .big{font-size:1.06rem;margin:.3rem 0 .6rem;min-height:1.3em}
  .press-grid .miner .row div b{font-size:1.1rem}
  .press-grid .miner .note{margin-top:.6rem;font-size:.73rem;line-height:1.4}

  .press-grid .stack>.card:last-child{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:.6rem 1rem}
  .press-grid .stack>.card:last-child>*{grid-column:auto}
  .press-grid .stack>.card:last-child>.lab,
  .press-grid .stack>.card:last-child>.chain-cards{grid-column:1 / -1;margin-top:0 !important}
  .press-grid .stack>.card:last-child>.status{margin-top:0 !important;align-self:start}
  .press-grid .stack>.card:last-child>.note:last-child{margin-top:0;padding-top:0;align-self:start}
  .press-grid .chain-card{padding:.8rem;gap:.5rem}
  .press-grid .chain-card .hint{font-size:.72rem;line-height:1.35}
  .press-grid .chain-card .btn{padding:.5rem .9rem}
}

/* Press page, wide screens: the sign band puts the two chain cards on the
   left and its two explanations in a column beside them, which is what
   finally lands the whole section on one screen. */
@media(min-width:1180px){
  .press-head{padding-top:.9rem}
  .press-head h1{font-size:clamp(2.05rem,2.7vw,2.5rem)}
  .press-head .lede{font-size:.94rem;line-height:1.45}
  .press-sec{padding-top:.8rem !important;padding-bottom:2rem}

  .press-grid .stack>.card:last-child{grid-template-columns:minmax(0,2.02fr) minmax(0,1fr);gap:.55rem .9rem}
  .press-grid .stack>.card:last-child>.lab{grid-column:1 / -1;grid-row:1}
  .press-grid .stack>.card:last-child>.chain-cards{grid-column:1;grid-row:2 / span 2;align-content:start}
  .press-grid .stack>.card:last-child>.status{grid-column:2;grid-row:2}
  .press-grid .stack>.card:last-child>.note:last-child{grid-column:2;grid-row:3}
  .press-grid .status{font-size:.76rem;line-height:1.45;padding:.6rem .7rem}
  .press-grid .stack>.card:last-child>.note:last-child{font-size:.76rem;line-height:1.45}
}

/* Press page, wide screens: the last two culprits. The miner's three
   counters and its button share one row instead of wrapping, and the sign
   band gives its explanations a wider column so they stop running long. */
@media(min-width:1180px){
  .press-grid .miner .row{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);gap:.9rem;align-items:end;flex-wrap:nowrap}
  .press-grid .miner .row div b{font-size:1.05rem}
  .press-grid .miner .row div span{font-size:.64rem}
  .press-grid .miner .row .grow{justify-self:end}
  .press-grid .miner .row .btn{padding:.45rem .8rem;font-size:.8rem}

  .press-grid .stack>.card:last-child{grid-template-columns:minmax(0,1.38fr) minmax(0,1fr)}
  .press-grid .chain-card .top b{font-size:.95rem}
  .press-grid .chain-card .field label{font-size:.66rem}
}

/* Press page, wide screens: the miner's button moves up beside its label so
   the three counters keep a clean single row, and the form runs on a tighter
   rhythm. Every field, hint and note is still present. */
@media(min-width:1180px){
  .press-head{padding-top:.6rem}
  .press-grid .miner{position:relative}
  .press-grid .miner .row{grid-template-columns:auto auto minmax(0,1fr)}
  .press-grid .miner .row .grow{position:absolute;top:.85rem;right:1.1rem;text-align:right}
  .press-grid .miner .row .btn{padding:.42rem .8rem;font-size:.79rem}

  .press-grid>form.panel{padding:1.05rem 1.2rem}
  .press-grid>form.panel>h2{margin-bottom:.6rem !important}
  .press-grid .field{gap:.22rem;margin-bottom:.45rem}
  .press-grid .field label{font-size:.66rem}
  .press-grid .field-row{gap:.6rem}
  .press-grid .field textarea{min-height:48px}
  .press-grid .field .hint{font-size:.7rem;line-height:1.32}
  .press-grid>form.panel>.note{font-size:.75rem;line-height:1.4;padding-top:.5rem}
}

/* Press page, wide screens: the page label sits beside the heading rather
   than above it, which is the last of the height the section needed. */
@media(min-width:1180px){
  .press-head .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:1rem;row-gap:.5rem}
  .press-head .eyebrow{grid-column:1;grid-row:1}
  .press-head h1{grid-column:2;grid-row:1;margin-top:0 !important}
  .press-head .lede{grid-column:1 / -1;grid-row:2;margin-top:0}
}

/* ---------------------------------------------------------------
   Fees page, one screen
   Same treatment as the press page: the label sits beside the heading,
   the lede runs full width, and the four rules of the split sit two
   across instead of in one tall stack. Every rule, hint and note stays.
   --------------------------------------------------------------- */
@media(min-width:1180px){
  .fees-head{padding-top:.6rem;padding-bottom:0}
  .fees-head .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:1rem;row-gap:.5rem}
  .fees-head .eyebrow{grid-column:1;grid-row:1}
  .fees-head h1{grid-column:2;grid-row:1;margin-top:0 !important;font-size:clamp(2.05rem,2.7vw,2.5rem)}
  .fees-head .lede{grid-column:1 / -1;grid-row:2;margin-top:0;font-size:.94rem;line-height:1.45;max-width:none}
  .fees-sec{padding-top:1rem !important;padding-bottom:2.4rem}

  .fees-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:1.2rem;align-items:start}
  .fees-grid .panel{padding:1.15rem 1.25rem}
  .fees-grid .field{gap:.25rem;margin-bottom:.7rem}
  .fees-grid .field label{font-size:.66rem}
  .fees-grid .field input{padding:.55rem .75rem;font-size:.9rem}
  .fees-grid .field .hint{font-size:.72rem;line-height:1.35}

  .fees-grid .sec-head{margin-bottom:.9rem}
  .fees-grid .sec-head h2{font-size:1.5rem;margin-top:.5rem}
  .fees-grid .trustlist{grid-template-columns:1fr 1fr;gap:.6rem}
  .fees-grid .trustlist li{padding:.75rem .85rem;gap:.7rem;align-content:start}
  .fees-grid .trustlist li b{font-size:.94rem}
  .fees-grid .trustlist li span{font-size:.82rem;line-height:1.42}
  .fees-grid>div>.note{font-size:.78rem;line-height:1.45}

  /* the lock card, once a Sheet has been read */
  .fees-grid #lockCard{padding:1.15rem 1.25rem !important;margin-top:1.1rem !important}
  .fees-grid #lockCard>h3{margin-bottom:.7rem !important;font-size:1.15rem}
  .fees-grid .kv-list{gap:.3rem}
  .fees-grid .kv-list li{padding:.4rem 0;font-size:.84rem}
  .fees-grid .bigstats{margin-top:1rem !important;gap:.8rem}
  .fees-grid .bigstats div b{font-size:1.4rem}
  .fees-grid .rowbtns{margin-top:.9rem}
  .fees-grid #lockCard>.note{font-size:.76rem;line-height:1.45}
}

/* Fees page: the claim tool and the heading share the top row, then the four
   rules of the split run as a band across the full width with the closing
   note under them, which balances the two columns at every width. */
@media(min-width:960px){
  .fees-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:1.4rem;align-items:start}
  .fees-grid>.fees-tool{grid-column:1;grid-row:1}
  .fees-grid>.fees-explain{grid-column:2;grid-row:1;align-self:end}
  .fees-grid>.trustlist{grid-column:1 / -1;grid-row:2;grid-template-columns:1fr 1fr}
  .fees-grid>.note{grid-column:1 / -1;grid-row:3;margin-top:0}
}
@media(min-width:1180px){
  .fees-grid>.trustlist{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fees-grid>.fees-explain .sec-head{margin-bottom:0}
  .fees-grid>.note{max-width:none}
}

/* Fees page: once a Sheet has been read, the lock sits beside the form
   rather than under it, and the split's heading and rules move below the
   pair. Browsers without :has fall back to the stacked order, which still
   reads correctly, just taller. */
@media(min-width:1180px){
  .fees-grid:has(#lockCard:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}
  .fees-grid:has(#lockCard:not([hidden]))>.fees-tool{display:contents}
  .fees-grid:has(#lockCard:not([hidden])) .panel{grid-column:1;grid-row:1}
  .fees-grid:has(#lockCard:not([hidden])) #lockCard{grid-column:2;grid-row:1;margin-top:0 !important}
  .fees-grid:has(#lockCard:not([hidden]))>.fees-explain{grid-column:1 / -1;grid-row:2;align-self:start}
  .fees-grid:has(#lockCard:not([hidden]))>.trustlist{grid-row:3}
  .fees-grid:has(#lockCard:not([hidden]))>.note{grid-row:4}
}

/* ---------------------------------------------------------------
   The glass mark
   The hero and the nav use the approved render itself, cut out of its
   studio ground, so the glass, the caustics and the droplet are the real
   ones. A slow float and a travelling glint, masked to the letters,
   keep it alive. The image is the fallback: no script is involved.
   --------------------------------------------------------------- */
.brand .brand-mark{width:45px;height:30px;object-fit:contain;display:block;flex:none}
.glass-mark{position:relative;width:min(100%,540px);aspect-ratio:917 / 613;animation:glass-float 7.5s ease-in-out infinite;will-change:transform}
.glass-mark .glass-img{display:block;width:100%;height:100%;filter:drop-shadow(0 28px 34px rgba(22,52,68,.14))}
.glass-sheen{position:absolute;inset:0;pointer-events:none;
  -webkit-mask:url(/mark-glass.png) center / contain no-repeat;mask:url(/mark-glass.png) center / contain no-repeat;
  background:linear-gradient(112deg,rgba(255,255,255,0) 44%,rgba(255,255,255,.2) 49%,rgba(255,255,255,.05) 52%,rgba(255,255,255,0) 55%) 0 0 / 300% 100% no-repeat;
  mix-blend-mode:screen;animation:glass-sheen 7s cubic-bezier(.45,.05,.3,1) infinite}
@keyframes glass-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes glass-sheen{0%,18%{background-position:120% 0}62%,100%{background-position:-40% 0}}
@media(prefers-reduced-motion:reduce){.glass-mark,.glass-sheen{animation:none}.glass-sheen{display:none}}
