/* =========================================================================
   Centhive — landing page
   Swiss / International Typographic Style: one grotesk at poster scale,
   a strict 12-column grid, flush-left ragged-right, black, white and one red.
   ========================================================================= */

/* All fonts are self-hosted, Latin subsets in WOFF2; licences sit next to each file.
   Nimbus Sans L — (URW)++ 1999, GPL v2 with font exception (fonts/nimbus-sans-l/).
   Inter 4.1 — Rasmus Andersson, SIL Open Font License 1.1 (fonts/inter/). */
@font-face{font-family:"Nimbus Sans L";src:url("fonts/nimbus-sans-l/NimbusSanL-Bold.latin.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter/Inter-Regular.latin.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter/Inter-Medium.latin.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap}

:root{
  --paper:#ffffff;
  --tone:#f1f1ef;
  --ink:#111111;
  --ink-2:#444444;
  --mute:#6b6b6b;
  --rule:#dedede;
  --red:#da291c;          /* Pantone 485 */
  --red-deep:#b81f14;

  --text:"Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --display:"Nimbus Sans L", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --max:1680px;
  --m:clamp(16px, 2.6vw, 44px);          /* outer margin */
  --gap:clamp(16px, 1.8vw, 28px);        /* column gap */
  --sec:clamp(104px, 13vw, 200px);       /* section padding */
  --nav:64px;

  --t-xl:clamp(42px, 7vw, 124px);
  --t-l:clamp(26px, 2.5vw, 40px);
  --t-m:clamp(19px, 1.4vw, 22px);
  --t-s:clamp(16px, 1.1vw, 18px);
  --t-xs:14px;

  --ease:cubic-bezier(.16, 1, .3, 1);    /* expo out */
  --ease-io:cubic-bezier(.65, 0, .35, 1);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis, html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--text);font-size:var(--t-s);line-height:1.55;letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;
}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- grid ---------- */
.frame{width:100%;max-width:var(--max);margin-inline:auto;
  padding-left:max(var(--m), env(safe-area-inset-left, 0px));
  padding-right:max(var(--m), env(safe-area-inset-right, 0px))}
.grid{display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));column-gap:var(--gap)}
.grid > *{grid-column:1 / -1}

/* ---------- type ---------- */
.display{font-family:var(--display);font-weight:700;letter-spacing:-.045em;line-height:.94}
.hero-h, .h2{font-size:var(--t-xl)}
.h3{font-family:var(--display);font-weight:700;font-size:var(--t-l);letter-spacing:-.03em;line-height:1.05}
.lead{font-size:var(--t-m);line-height:1.42;letter-spacing:-.018em;color:var(--ink);max-width:34ch}
.body{color:var(--ink-2);max-width:46ch}
.small{font-size:var(--t-xs);line-height:1.45;color:var(--mute);letter-spacing:-.005em}
.ln{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.18em}
.ln > span{display:inline-block}

.wordmark{font-family:var(--display);font-weight:700;letter-spacing:-.055em;line-height:.76;
  font-size:calc((min(100vw, var(--max)) - 2 * var(--m)) * .265);
  white-space:nowrap;overflow:hidden;padding-block:.04em .035em}
.wordmark .ch{display:inline-block}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 22px;
  background:var(--ink);color:#fff;border:0;border-radius:0;cursor:pointer;white-space:nowrap;
  font-size:16px;font-weight:500;letter-spacing:-.01em;
  transition:background-color .35s var(--ease), color .35s var(--ease), transform .2s var(--ease)}
.btn .arr{display:inline-block;transition:transform .45s var(--ease)}
.btn:hover{background:var(--red)}
.btn:hover .arr{transform:translateX(4px)}
.btn:active{transform:scale(.97)}
.btn[disabled]{cursor:progress}
.btn[aria-busy="true"]{position:relative;overflow:hidden}
.btn[aria-busy="true"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;
  animation:busy 1.1s var(--ease-io) infinite}
@keyframes busy{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.btn-sm{height:40px;padding:0 16px;font-size:14px}
.btn-red{background:var(--red)}
.btn-red:hover{background:#fff;color:var(--ink)}
.btn-red[disabled],.btn-red[disabled]:hover{background:var(--red);color:#fff}

.ul{position:relative}
.ul::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:currentColor;
  transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.ul:hover::after,.ul:focus-visible::after{transform:scaleX(1);transform-origin:left}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--paper);
  padding-top:env(safe-area-inset-top, 0px);transition:transform .6s var(--ease)}
.nav.hide{transform:translateY(-100%)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:var(--nav)}
.logo{font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.04em}
.nav-links{display:flex;align-items:center;gap:clamp(18px, 2.4vw, 32px);font-size:15px;font-weight:500}

/* ---------- hero ---------- */
.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;
  gap:56px;padding-top:calc(var(--nav) + clamp(40px, 9vh, 120px));padding-bottom:var(--m);overflow:hidden}
.hero-top{row-gap:36px;align-items:end}
.hero-side{display:flex;flex-direction:column;gap:28px}
.hero-mark{position:relative}
.hero-mark .wordmark{will-change:transform}
@media (max-width:999px){
  .hero{min-height:0;gap:clamp(72px, 16vw, 128px)}
}
@media (min-width:1000px){
  .hero-h{grid-column:1 / span 8}
  .hero-side{grid-column:9 / span 4;padding-bottom:.4em}
}

/* ---------- calls to action and form states ---------- */
.hero-cta,.access-cta{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;overflow:hidden}
.formnote{margin:0;font-size:15px;font-weight:500}
.formnote.err{animation:rise .5s var(--ease) both}
.formnote:empty{display:none}
.formnote.err{color:var(--red)}
.field-err{margin:8px 0 0;font-size:15px;font-weight:500;color:var(--red);animation:rise .45s var(--ease) both}
.access .field-err{color:#ff8a80}
.iform input[aria-invalid="true"],.iform select[aria-invalid="true"]{box-shadow:inset 0 0 0 1.5px #ff8a80}
.done{display:none}
.done-h{font-family:var(--display);font-weight:700;font-size:var(--t-l);letter-spacing:-.03em;line-height:1.05}
.done-msg{margin-top:10px;font-size:15px;max-width:44ch;color:inherit;opacity:.8}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
[tabindex="-1"]:focus{outline:none}

/* ---------- sections ---------- */
.section{padding-block:var(--sec)}

/* ledger */
.ledger-h{margin-bottom:clamp(48px, 6vw, 96px)}
.ledger-intro{display:flex;flex-direction:column;gap:28px;margin-bottom:56px}
.sorter{display:flex;flex-wrap:wrap;gap:6px}
.sorter button{height:44px;padding:0 16px;border:0;border-radius:0;background:var(--tone);cursor:pointer;
  font-size:15px;font-weight:500;transition:background-color .35s var(--ease), color .35s var(--ease), transform .2s var(--ease)}
.sorter button:hover{background:#e4e4e1}
.sorter button:active{transform:scale(.97)}
.sorter button[aria-pressed="true"]{background:var(--ink);color:#fff}
.sort-cap{margin-top:-14px}

.board{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
.board th{text-align:left;font-size:var(--t-xs);font-weight:500;color:var(--mute);padding:0 0 14px;
  white-space:nowrap;transition:color .4s var(--ease)}
.board thead tr{box-shadow:inset 0 -2px 0 var(--ink)}
.board td{padding:20px 0;border-bottom:1px solid var(--rule);vertical-align:middle}
.board tbody tr{transition:transform .8s var(--ease), opacity .8s var(--ease)}
.board th.c-rk{width:64px}
.board td.c-rk{font-family:var(--display);font-weight:700;font-size:var(--t-m);letter-spacing:-.02em}
.board .c-nm b{display:block;font-weight:500;font-size:17px;letter-spacing:-.015em}
.board .c-nm span{display:block;font-size:var(--t-xs);color:var(--mute)}
.board .c-ret,.board .c-sh,.board .c-dd,.board .c-mo{text-align:right;padding-left:20px}
.board td.c-ret,.board td.c-sh,.board td.c-dd{font-size:var(--t-m);color:var(--mute);letter-spacing:-.02em;
  transition:color .4s var(--ease)}
.board td.c-mo{font-size:var(--t-xs);color:var(--mute)}
.board[data-sort="ret"] .c-ret,
.board[data-sort="sh"] .c-sh,
.board[data-sort="dd"] .c-dd{color:var(--ink)}
.board[data-sort="ret"] td.c-ret,
.board[data-sort="sh"] td.c-sh,
.board[data-sort="dd"] td.c-dd{font-weight:500}
.board[data-sort="ret"] th.c-ret,
.board[data-sort="sh"] th.c-sh,
.board[data-sort="dd"] th.c-dd{box-shadow:inset 0 -6px 0 -4px var(--red)}
.board tbody tr:first-child .c-rk{color:var(--red)}
.board th button{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;
  cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .3s var(--ease)}
.board th button::after{content:"↓";display:inline-block;opacity:0;transform:translateY(-3px);
  transition:opacity .3s var(--ease), transform .4s var(--ease)}
.board th button:hover{color:var(--ink)}
.board th button:hover::after{opacity:.45;transform:none}
.board th[aria-sort] button::after{opacity:1;transform:none;color:var(--red)}
.board-note{margin-top:16px}

@media (min-width:1000px){
  .ledger .grid{align-items:start}
  .ledger-intro{grid-column:1 / span 4;margin-bottom:0;position:sticky;top:calc(var(--nav) + 48px)}
  .ledger-table{grid-column:6 / span 7}
}
@media (max-width:700px){
  .board .c-ret,.board .c-sh,.board .c-dd,.board .c-mo{display:none}
  .board[data-sort="ret"] .c-ret,
  .board[data-sort="sh"] .c-sh,
  .board[data-sort="dd"] .c-dd{display:table-cell}
  .board th.c-rk{width:44px}
}

/* both sides */
.sides{background:var(--tone)}
.sides-h{margin-bottom:clamp(64px, 8vw, 120px)}
.side{display:flex;flex-direction:column;gap:22px}
.side + .side{margin-top:72px}
.side .lead{max-width:30ch}
@media (min-width:1000px){
  .sides-h{grid-column:1 / span 8}
  .side:first-of-type{grid-column:1 / span 5}
  .side + .side{grid-column:7 / span 5;margin-top:clamp(96px, 10vw, 160px)}
}

/* markets */
.markets{background:var(--red);color:#fff;overflow:hidden}
.markets ::selection{background:#fff;color:var(--red)}
.markets-top{row-gap:28px;align-items:end;margin-bottom:clamp(56px, 7vw, 104px)}
.markets .lead{color:#fff}
@media (min-width:1000px){
  .markets-h{grid-column:1 / span 7}
  .markets-copy{grid-column:9 / span 4;padding-bottom:.3em}
}
.market-list li{font-family:var(--display);font-weight:700;letter-spacing:-.05em;line-height:.98;
  font-size:clamp(46px, 9.4vw, 168px);white-space:nowrap}
.market-list li > span{display:inline-block;will-change:transform}
@media (max-width:640px){
  .market-list li{white-space:normal;font-size:12vw;line-height:1}
}

/* access + footer */
.access{background:var(--ink);color:#fff;padding-bottom:0}
.access ::selection{background:var(--red);color:#fff}
.access .lead{color:#fff}
.access-side{display:flex;flex-direction:column;gap:32px;margin-top:40px}
.access .small{color:#a3a3a3}
.access .formnote.err{color:#ff8a80}
.perks{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:32px var(--gap);
  margin-top:clamp(80px, 10vw, 144px);color:#b5b5b5;font-size:15px}
.perks b{display:block;margin-bottom:6px;color:#fff;font-family:var(--display);font-weight:700;
  font-size:var(--t-m);letter-spacing:-.025em}
@media (min-width:1000px){
  .access-h{grid-column:1 / span 7}
  .access-side{grid-column:9 / span 4;margin-top:0}
}
@media (max-width:860px){.perks{grid-template-columns:repeat(2, minmax(0, 1fr))}}

.foot{margin-top:clamp(96px, 12vw, 176px);overflow:hidden}
.invest{background:#1d1d1d;padding-block:clamp(72px, 8vw, 128px)}
.invest .grid{row-gap:32px;align-items:end}
.invest-h{font-size:clamp(36px, 4.6vw, 80px)}
.invest-side{display:flex;flex-direction:column;gap:32px}
.invest-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:var(--red);color:#fff}
@media (min-width:1000px){
  .invest-h{grid-column:1 / span 7}
  .invest-side{grid-column:9 / span 4}
}
.foot-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px 32px;
  padding-block:clamp(40px, 5vw, 72px) clamp(24px, 3vw, 48px);font-size:15px;font-weight:500}
.foot-mark{padding-bottom:var(--m)}

/* =========================================================================
   investor page
   ========================================================================= */
.nav-invest{white-space:nowrap}
@media (max-width:520px){.hide-sm{display:none}}

.page-hero{padding-top:calc(var(--nav) + clamp(56px, 11vh, 150px));padding-bottom:var(--sec)}
.page-hero .grid{row-gap:32px;align-items:end}
.page-h{font-size:clamp(52px, 9.6vw, 172px)}
.facts{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:32px var(--gap);margin:clamp(40px, 6vw, 96px) 0 0}
.facts dt{font-size:var(--t-xs);color:var(--mute)}
.facts dd{margin:8px 0 0;font-family:var(--display);font-weight:700;font-size:var(--t-l);letter-spacing:-.03em;line-height:1.05}
@media (min-width:1000px){
  .page-h{grid-column:1 / span 7}
  .page-lead{grid-column:9 / span 4;padding-bottom:.4em}
}
@media (max-width:860px){.facts{grid-template-columns:repeat(2, minmax(0, 1fr))}}

.progress{padding-top:0}
.progress .grid{row-gap:32px;align-items:end}
.steps{margin-top:clamp(40px, 6vw, 88px);border-top:2px solid var(--ink)}
.steps li{display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));column-gap:var(--gap);row-gap:12px;
  padding-block:clamp(24px, 3vw, 40px);border-bottom:1px solid var(--rule)}
.steps li > *{grid-column:1 / -1}
.steps .st{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:var(--mute)}
.steps .st::before{content:"";width:10px;height:10px;flex:none;box-shadow:inset 0 0 0 1.5px currentColor}
.steps .is-done .st{color:var(--ink)}
.steps .is-done .st::before{background:var(--ink);box-shadow:none}
.steps .is-now .st{color:var(--red)}
.steps .is-now .st::before{background:var(--red);box-shadow:none;animation:pulse 2.4s var(--ease-io) infinite}
.steps .body{max-width:52ch}
@keyframes pulse{50%{transform:scale(.6)}}
@media (min-width:1000px){
  .progress-h{grid-column:1 / span 7}
  .progress-lead{grid-column:9 / span 4;padding-bottom:.4em}
  .steps .st{grid-column:1 / span 2}
  .steps .h3{grid-column:3 / span 4}
  .steps .body{grid-column:7 / span 6}
}

.round{background:var(--tone)}
.round-h{margin-bottom:clamp(48px, 6vw, 96px)}
.uses{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:40px var(--gap)}
.uses li{display:flex;flex-direction:column;gap:16px}
.who{display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));column-gap:var(--gap);row-gap:20px;
  margin-top:clamp(72px, 9vw, 144px)}
.who > *{grid-column:1 / -1}
.who .lead{max-width:40ch}
@media (min-width:1000px){
  .who .h3{grid-column:1 / span 5}
  .who .lead{grid-column:7 / span 6}
}
@media (max-width:860px){.uses{grid-template-columns:1fr}}

.interest-intro{display:flex;flex-direction:column;gap:32px;margin-bottom:56px}
.iform{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:24px var(--gap)}
.iform .f{display:flex;flex-direction:column;gap:8px}
.iform .f-wide{grid-column:1 / -1}
.iform label{font-size:15px;font-weight:500;color:#fff}
.iform label span{margin-left:6px;font-weight:400;color:#a3a3a3}
.iform input,.iform select,.iform textarea{width:100%;height:52px;padding:0 16px;border:0;border-radius:0;
  background:#262626;color:#fff;font-size:16px;transition:background-color .3s var(--ease)}
.iform textarea{height:auto;min-height:140px;padding:14px 16px;resize:vertical;line-height:1.5}
.iform select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center}
.iform select:invalid{color:#a3a3a3}
.iform option{color:var(--ink);background:#fff}
.iform ::placeholder{color:#8a8a8a}
.iform input:focus,.iform select:focus,.iform textarea:focus{outline:none;background:#303030}
.iform input:focus-visible,.iform select:focus-visible,.iform textarea:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.iform-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:8px}
.iform.sent .f,.iform.sent .iform-foot,.iform.sent .options,.iform.sent .captcha,.iform.sent .formnote{display:none}

/* options: radios and checkboxes with a square marker, like the status squares elsewhere */
.iform fieldset{margin:0;padding:0;border:0;min-width:0}
.iform legend{padding:0;margin-bottom:12px;font-size:15px;font-weight:500;color:#fff}
.iform legend span{margin-left:6px;font-weight:400;color:#a3a3a3}
.iform .options{gap:0}
.options legend{width:100%}
.iform .opt{position:relative;display:block;cursor:pointer;font-size:16px;font-weight:400;line-height:1.4;color:#fff}
.iform .opt input{position:absolute;top:0;left:0;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none}
.iform .opt span{display:flex;align-items:flex-start;gap:14px;margin:0;color:#fff;font-weight:400}
.iform .opt span::before{content:"";flex:none;width:18px;height:18px;margin-top:1px;box-shadow:inset 0 0 0 1.5px #8a8a8a;
  transition:background-color .25s var(--ease), box-shadow .25s var(--ease)}
.iform .opt:hover span::before{box-shadow:inset 0 0 0 1.5px #fff}
.iform .opt input[type=checkbox]:checked + span::before{box-shadow:none;
  background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center/11px no-repeat}
.iform .opt input[type=radio]:checked + span::before{background:var(--red);box-shadow:inset 0 0 0 1.5px var(--red), inset 0 0 0 5px #111}
.iform .opt input:focus-visible + span::before{outline:2px solid var(--red);outline-offset:3px}
.options[aria-invalid="true"] .opt span::before,
.iform .opt input[aria-invalid="true"] + span::before{box-shadow:inset 0 0 0 1.5px #ff8a80}

.options-rows .opt{padding:14px 0;border-top:1px solid #2a2a2a}
.options-rows .opt:last-of-type{border-bottom:1px solid #2a2a2a}
.options-rows .opt:hover{color:#fff}
.iform .options-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:14px var(--gap)}
.iform .options-checks{display:flex;flex-direction:column;gap:14px;margin-top:4px}
.options-checks .opt{font-size:15px}
@media (max-width:560px){.iform .options-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}
.captcha:empty{display:none}
.iform.sent .done{display:block;animation:rise .8s var(--ease) both}
@media (min-width:1000px){
  .interest-intro{grid-column:1 / span 5;margin-bottom:0}
  .iform{grid-column:7 / span 6}
}
@media (max-width:560px){
  .iform{grid-template-columns:1fr}
  .iform-foot .btn{width:100%}
}
.legal{color:#8a8a8a;padding-bottom:clamp(24px, 3vw, 40px);max-width:none}

/* privacy policy */
.policy{padding-top:0}
.clause{display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));column-gap:var(--gap);row-gap:20px;
  padding-block:clamp(32px, 4vw, 56px);border-top:1px solid var(--rule)}
.clause:first-child{border-top:2px solid var(--ink)}
.clause > *{grid-column:1 / -1}
.clause-body{display:flex;flex-direction:column;gap:16px;max-width:64ch;color:var(--ink-2)}
.clause-body h3{margin-top:12px;font-size:var(--t-s);font-weight:500;color:var(--ink)}
.clause-body h3:first-child{margin-top:0}
.clause-body b{font-weight:500;color:var(--ink)}
.clause-body ul{display:flex;flex-direction:column;gap:10px}
.clause-body li{position:relative;padding-left:22px}
.clause-body li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--red)}
.clause-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.clause-body .addr{color:var(--ink);line-height:1.6}
@media (min-width:1000px){
  .clause .h3{grid-column:1 / span 4}
  .clause-body{grid-column:6 / span 7}
}

.foot-solo{margin-top:0;background:var(--ink);color:#fff;padding-top:clamp(24px, 4vw, 56px)}
.foot-solo .small{color:#a3a3a3}
.foot-links{display:flex;flex-wrap:wrap;gap:12px 28px}
.small a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.small a:hover{color:var(--ink)}
.access .small a:hover{color:#fff}

/* page-to-page crossfade (browsers without support simply navigate) */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.5s;animation-timing-function:cubic-bezier(.16, 1, .3, 1)}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* =========================================================================
   motion — only with JS and when motion is allowed
   ========================================================================= */
@media (prefers-reduced-motion:no-preference){
  .js .ln > span{transform:translateY(105%);transition:transform 1.15s var(--ease);
    transition-delay:var(--d, 0ms)}
  .js .ln + .ln > span{transition-delay:calc(var(--d, 0ms) + 90ms)}
  .js .ln + .ln + .ln > span{transition-delay:calc(var(--d, 0ms) + 180ms)}
  .js .in .ln > span, .js .in.ln > span{transform:none}

  .js .reveal{opacity:0;transform:translateY(28px);
    transition:opacity 1s var(--ease), transform 1.1s var(--ease);transition-delay:var(--d, 0ms)}
  .js .reveal.in{opacity:1;transform:none}

  .js .split .ch{transform:translateY(102%);transition:transform 1.3s var(--ease)}
  .js .split.in .ch{transform:none}

  .js .ledger-table tbody tr{opacity:0;transform:translateY(20px)}
  .js .ledger-table.in tbody tr{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
