/* ===================================================================
   USAVIR V42 — glass on paper.

   A fixed-size responsive layout (the same CSS pixels on every phone;
   one column under 768 px, a centred 1,160 px column above), glass
   panels on a cream sheet, a glossy black slab with a right-hand drawer,
   and reveal-on-scroll. No scaling, no full-screen sections, no canvas.
   =================================================================== */

/* ---------- tokens ---------- */
:root{
  --paper:#f7f7f4; --ink:#070707; --muted:#565656; --line:#c8c8c3;
  --seal:#5a1f1f; --seal-text:#8a2a2a; --seal-soft:#a65a4a;
  --glass:rgba(255,255,255,.52); --glass-solid:rgba(255,255,255,.84);
  --edge-light:rgba(255,255,255,.78); --edge-dark:rgba(7,7,7,.07);
  --shadow:0 18px 40px -24px rgba(7,7,7,.28), 0 1px 2px rgba(7,7,7,.05);
  --radius:14px;
  --t-micro:160ms; --t-standard:320ms; --t-reveal:480ms; --t-sheen:700ms;
  --e-enter:cubic-bezier(.16,1,.3,1); --e-standard:cubic-bezier(.2,0,0,1);
  --serif:"Fraunces","Fraunces Fallback",Georgia,"Times New Roman",serif;
  --sans:Inter,"Inter Fallback",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --slab-h:64px;
  --wrap:1160px; --gutter:20px; --sec:64px; --gap:24px;
  --fs-body:16px; --fs-h1:44px; --fs-h2:30px; --fs-h3:22px;
}
@media (min-width:768px){
  :root{--gutter:48px; --sec:104px; --gap:32px; --fs-body:17px; --fs-h1:72px; --fs-h2:44px; --fs-h3:26px}
}

/* ---------- type faces (self-hosted; latin subset) ---------- */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/fonts/fraunces-300_600.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/inter-400_600.woff2) format("woff2")}
@font-face{font-family:"Fraunces Fallback";src:local("Georgia");size-adjust:96%;ascent-override:92%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:"Inter Fallback";src:local("Arial");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--slab-h) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;min-height:100vh}
/* one static, very soft light on the sheet — nothing moves under the text */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 18% 8%,rgba(255,255,255,.9),rgba(255,255,255,0) 65%),radial-gradient(ellipse 60% 45% at 85% 70%,rgba(90,31,31,.06),rgba(90,31,31,0) 70%),radial-gradient(ellipse 50% 40% at 70% 20%,rgba(7,7,7,.04),rgba(7,7,7,0) 70%)}
main,.footer{position:relative;z-index:1}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,p,dl,dd,dt,ol,ul,figure{margin:0;padding:0}
ol,ul{list-style:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--seal);outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}
em{font-style:italic}
strong{font-weight:500}

/* ---------- layout ---------- */
/* Phones: the page is designed once at 440 px and scaled to the screen width (zoom), so every
   phone shows the identical layout, line breaks and proportions — just bigger or smaller.
   Desktop: a fixed-size centred column. The slab and the drawer are never scaled. */
@media (max-width:767px){
  main,.footer{zoom:var(--zoom,1);width:440px;margin-left:0;margin-right:0}
  html:not(.has-zoom) main,html:not(.has-zoom) .footer{zoom:1;width:auto}
}
.wrap{width:min(var(--wrap),100%);margin:0 auto;padding:0 var(--gutter)}
main{padding-top:calc(var(--slab-h) + 32px);padding-bottom:var(--sec)}
@media (min-width:768px){main{padding-top:calc(var(--slab-h) + 56px)}}
.sec{margin-top:var(--sec)}
.sec:first-child{margin-top:0}
.sec-head{margin-bottom:var(--gap)}
.grid-2,.grid-3,.grid-4{display:grid;gap:var(--gap)}
@media (min-width:768px){
  .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid-2--wide{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .grid-2--aside{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
}
.stack > * + *{margin-top:var(--gap)}

/* ---------- type ---------- */
.eyebrow{font-size:12px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:12px}
.h1{font-family:var(--serif);font-weight:400;font-size:var(--fs-h1);line-height:1;letter-spacing:-.035em;font-variation-settings:"opsz" 144}
.h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.06;letter-spacing:-.025em;font-variation-settings:"opsz" 72}
.h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.15;letter-spacing:-.015em}
.lead{font-size:calc(var(--fs-body) + 2px);line-height:1.55;max-width:38em}
.body{line-height:1.6;max-width:40em}
.small{font-size:14px;line-height:1.5;color:var(--muted)}
.caps{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.muted{color:var(--muted)}
.tnum{font-variant-numeric:tabular-nums lining-nums}
.status{font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;font-size:17px;color:var(--muted)}
.prose{max-width:42em;line-height:1.65}
.prose p + p,.prose ul + p,.prose p + ul,.prose ol + p{margin-top:1em}
.prose h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.06;letter-spacing:-.025em;margin:0 0 .5em}
.prose h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.15;margin:1.6em 0 .45em}
.prose ul{padding-left:1.1em;list-style:disc}
.prose ol{padding-left:1.3em;list-style:decimal}
.prose li + li{margin-top:.4em}
.prose a,.body a,.small a,.lead a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.prose a:hover,.body a:hover,.small a:hover,.lead a:hover{color:var(--seal)}

/* ---------- glass ---------- */
.glass{position:relative;background:var(--glass);border:1px solid var(--edge-light);border-right-color:var(--edge-dark);border-bottom-color:var(--edge-dark);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--gap);overflow:hidden;isolation:isolate;transition:transform var(--t-standard) var(--e-enter),box-shadow var(--t-standard) var(--e-enter)}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){.glass{-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass{background:var(--glass-solid)}}
/* the specular top: light caught on the glass */
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.08) 40%,rgba(255,255,255,0) 60%);z-index:-1}
/* the sheen: one diagonal reflection that sweeps across on hover */
.glass::after{content:"";position:absolute;top:-60%;bottom:-60%;left:-40%;width:45%;pointer-events:none;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);transform:translateX(-120%) skewX(-12deg);opacity:0}
.glass--hover:hover{transform:translateY(-2px);box-shadow:0 26px 48px -26px rgba(7,7,7,.34),0 1px 2px rgba(7,7,7,.06)}
.glass--hover:hover::after{animation:sheen var(--t-sheen) var(--e-standard) forwards}
@keyframes sheen{from{transform:translateX(-120%) skewX(-12deg);opacity:0}15%{opacity:1}to{transform:translateX(420%) skewX(-12deg);opacity:0}}
.glass--tight{padding:20px}
.glass--ink{background:linear-gradient(180deg,#171717,#070707 60%);color:var(--paper);border-color:rgba(255,255,255,.14);border-right-color:rgba(0,0,0,.4);border-bottom-color:rgba(0,0,0,.4)}
.glass--ink::before{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 45%)}
.glass--ink .muted,.glass--ink .small,.glass--ink .caps,.glass--ink .eyebrow{color:rgba(247,247,244,.68)}
a.glass{color:inherit;text-decoration:none;display:block}

/* ---------- buttons and links ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:12px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1;letter-spacing:-.01em;text-decoration:none;cursor:pointer;overflow:hidden;transition:transform 120ms var(--e-standard),color var(--t-micro) ease,background-color var(--t-micro) ease,box-shadow var(--t-micro) ease}
.btn::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 55%);pointer-events:none}
.btn--primary{background:linear-gradient(180deg,#1b1b1b,#070707);color:var(--paper);border-color:#070707;box-shadow:0 10px 24px -14px rgba(7,7,7,.6)}
.btn--primary:hover{box-shadow:0 14px 28px -14px rgba(7,7,7,.7)}
.btn:hover{color:var(--seal)}
.btn--primary:hover{color:var(--paper)}
.btn:active{transform:scale(.985)}
.btn:disabled{opacity:.6;cursor:default}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
@media (max-width:767px){.actions .btn{width:100%}}
.link{color:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size var(--t-micro) var(--e-enter),color var(--t-micro) ease}
.link:hover,.link:focus-visible{background-size:100% 1px;color:var(--seal)}
.link--caps{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.reg-copy{position:relative;appearance:none;border:0;background:transparent;padding:6px 0;font:inherit;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--ink);cursor:pointer;min-width:44px;min-height:44px}
.reg-copy::after{content:"Copy"}
.reg-copy.is-copied{color:var(--seal-text)}
.reg-copy.is-copied::after{content:"Copied"}

/* ---------- the slab ---------- */
.slab{position:fixed;z-index:1000;left:0;right:0;top:0;height:var(--slab-h);display:flex;align-items:stretch;background:linear-gradient(180deg,#151515,#070707);color:var(--paper);box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 8px 24px -16px rgba(7,7,7,.6)}
.slab::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.1);transition:background-color var(--t-standard) ease}
.slab.is-scrolled::after{background:rgba(255,255,255,.22)}
.slab__brand{width:72px;flex:0 0 72px;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.12);text-decoration:none}
.slab__brand img{width:50px;height:50px;object-fit:cover}
.slab__brand.is-active{background:#fff}
.slab__brand.is-active img{filter:invert(1)}
.slab__nav{flex:1;display:flex;align-items:center;gap:32px;padding-left:28px;min-width:0}
.slab__link{position:relative;display:inline-flex;align-items:center;padding:8px 0;color:rgba(247,247,244,.8);text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:500;white-space:nowrap;transition:color var(--t-micro) ease}
.slab__link::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--seal);transform:scaleX(0);transform-origin:left;transition:transform var(--t-micro) var(--e-standard)}
.slab__link:hover,.slab__link:focus-visible,.slab__link.is-active{color:var(--paper)}
.slab__link.is-active::after{transform:scaleX(1)}
.slab__count{display:flex;align-items:center;padding:0 22px;border-left:1px solid rgba(255,255,255,.12);font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;font-size:15px;color:var(--paper);text-decoration:none;white-space:nowrap}
.slab__burger{display:flex;align-items:center;justify-content:center;gap:12px;width:64px;border:0;border-left:1px solid rgba(255,255,255,.12);background:transparent;color:var(--paper);cursor:pointer;transition:background-color var(--t-micro) ease}
.slab__burger:hover{background:rgba(255,255,255,.06)}
.burger{position:relative;width:20px;height:14px}
.burger::before,.burger::after,.burger span{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform var(--t-standard) var(--e-standard),opacity var(--t-micro) ease}
.burger::before{top:0}.burger span{top:6px}.burger::after{bottom:0}
@media (max-width:767px){
  .slab__nav{padding-left:18px}
  .slab__link{display:none}
  .slab__link[data-key="domains"]{display:inline-flex;min-height:44px}
  .slab__count{display:none}
}

/* ---------- the drawer (from the right) ---------- */
.scrim{position:fixed;inset:0;z-index:1001;background:rgba(7,7,7,.45);opacity:0;transition:opacity var(--t-standard) ease}
.scrim.is-open{opacity:1}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:1002;width:min(360px,100%);transform:translateX(100%);transition:transform var(--t-standard) var(--e-standard);background:rgba(247,247,244,.86);border-left:1px solid rgba(255,255,255,.8);box-shadow:-24px 0 60px -30px rgba(7,7,7,.5);display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){.drawer{-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2)}}
.drawer.is-open{transform:none}
.drawer__top{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 14px 24px;border-bottom:1px solid rgba(7,7,7,.08)}
.drawer__title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.drawer__close{appearance:none;border:1px solid rgba(7,7,7,.15);background:rgba(255,255,255,.6);border-radius:10px;min-width:44px;min-height:40px;padding:0 14px;font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--ink)}
.drawer__close:hover{border-color:var(--ink)}
.drawer__links{padding:12px 24px 8px}
.drawer__links a{display:block;font-family:var(--serif);font-size:34px;line-height:1.1;letter-spacing:-.02em;color:var(--ink);text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(7,7,7,.08);transition:color var(--t-micro) ease}
.drawer__links a:hover,.drawer__links a:focus-visible{color:var(--seal)}
.drawer__links a.is-active{color:var(--seal)}
.drawer__rows{padding:8px 24px 24px}
.drawer__row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;column-gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(7,7,7,.08);font-size:15px}
.drawer__row .caps{font-size:11px}
.drawer__row a{color:var(--ink);text-decoration:none}
.drawer__row a:hover{color:var(--seal)}
html.drawer-open{overflow:hidden}

/* ---------- hero ---------- */
.hero{align-items:center}
.hero .h1{margin-top:10px}
.hero .lead{margin-top:22px}
.hero .status{margin-top:18px}
.hero-card{align-self:center}

/* ---------- name cards and rows ---------- */
.card-name{display:flex;flex-direction:column;gap:14px;min-height:260px}
.card-name .no{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--seal)}
.specimen{font-family:var(--serif);font-weight:400;font-size:var(--specimen,40px);line-height:.95;letter-spacing:-.03em;white-space:nowrap;font-variation-settings:"opsz" 144;margin:4px 0 0}
.specimen .tld{color:var(--muted);font-weight:300}
@media (max-width:767px){.specimen .tld{font-weight:400}}
.facts{font-size:12px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.price{font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;font-size:34px;line-height:1;letter-spacing:-.01em}
.price--lg{font-size:52px}
@media (min-width:768px){.price--lg{font-size:64px}}
.price-caption{margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.card-name .price-block{margin-top:auto;padding-top:14px}
.status-tag{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--seal-text)}
.struck{text-decoration:line-through;color:var(--muted)}
.rows{display:grid;gap:14px}
.row-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:center;padding:20px 24px}
.row-link .rowname{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:768px){.row-link{grid-template-columns:120px minmax(0,1fr) auto}.row-link .rowname{font-size:36px}}
.row-link .facts{margin-top:6px}
.row-link .rowprice{text-align:left}
@media (min-width:768px){.row-link .rowprice{text-align:right}}
.row-link:hover .no,.row-link:hover .price{color:var(--seal);transition:color var(--t-micro) ease}
.mark{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--seal);white-space:nowrap}
.sort{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;margin-top:18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.sort button,.reg-sort button{position:relative;appearance:none;border:0;background:transparent;padding:8px 0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--muted);cursor:pointer;min-height:44px}
.sort button[aria-pressed="true"],.reg-sort button[aria-pressed="true"]{color:var(--ink);text-decoration:underline;text-underline-offset:.4em;text-decoration-color:var(--seal);text-decoration-thickness:2px}
.reg-sort{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;margin-top:18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.reg-filters{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:12px}
.reg-filters label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted);display:flex;gap:10px;align-items:baseline}
.reg-filters select{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.6);font:inherit;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);padding:6px 10px}
.stock .h2{margin-bottom:12px}

/* ---------- steps, lists, facts ---------- */
.step{display:flex;flex-direction:column;gap:10px}
.step-no{font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;font-size:40px;line-height:1;color:var(--seal)}
.step .h3{margin-top:4px}
.step p{font-size:15px;line-height:1.55;color:var(--muted)}
.list li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;padding:14px 0;border-top:1px solid rgba(7,7,7,.08)}
.list li:first-child{border-top:0;padding-top:0}
.list li span{font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;font-size:20px;line-height:1.2;color:var(--seal)}
.list li p{font-size:15px;line-height:1.55;color:var(--muted)}
.list li p strong{display:block;font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.15;color:var(--ink);margin-bottom:4px}
.list--plain li{grid-template-columns:28px minmax(0,1fr)}
.list--plain li p{color:var(--ink)}

/* ---------- key/value rows, checks, note, ledger (entry page) ---------- */
.kv-row{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:14px 0;border-top:1px solid rgba(7,7,7,.08)}
.kv-row:first-child{border-top:0;padding-top:0}
@media (min-width:768px){.kv-row{grid-template-columns:3fr 7fr;column-gap:24px}}
.kv-term{font-family:var(--serif);font-size:20px;line-height:1.15}
.kv-def{font-size:15px;line-height:1.55;color:var(--muted)}
.kv-def strong{color:var(--ink);font-weight:500}
.check{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;padding:18px 0;border-top:1px solid rgba(7,7,7,.08)}
.check:first-child{border-top:0;padding-top:0}
.check-no{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:30px;line-height:1;color:var(--seal)}
.check h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.1;margin:0 0 8px}
.check p{font-size:15px;line-height:1.55;margin:0}
.check .proves{color:var(--muted);margin-top:6px}
.code{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;padding:10px 14px;border-radius:10px;background:rgba(7,7,7,.05);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.4}
.code code{font:inherit;flex:1;min-width:0;overflow-wrap:anywhere}
.note3{display:grid;gap:var(--gap)}
@media (min-width:768px){.note3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.note3 h3{font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.15;margin:0 0 8px}
.note3 p{font-size:15px;line-height:1.55;color:var(--muted)}
.signed{margin-top:18px;font-family:var(--serif);font-size:17px;color:var(--muted)}
.ledger .kv-row{grid-template-columns:minmax(0,1fr) auto}
@media (min-width:768px){.ledger .kv-row{grid-template-columns:2fr 5fr 3fr}}
.ledger .amount{font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;font-size:20px}
@media (min-width:768px){.ledger .amount{text-align:right}}
.strip{display:grid;gap:14px;margin-top:20px}
@media (min-width:768px){.strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
.strip > div{font-size:14px;line-height:1.5;color:var(--muted)}
.strip strong{display:block;color:var(--ink);font-weight:500;margin-bottom:4px}
.prevnext{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:18px;font-size:14px;color:var(--muted)}

/* ---------- the sheets (forms); class names kept for v40-offer.js ---------- */
.reg-toggle{display:flex;gap:26px;margin-bottom:6px;font-family:var(--serif);font-size:20px}
.reg-toggle button{position:relative;appearance:none;border:0;background:transparent;padding:6px 0;font:inherit;color:var(--muted);cursor:pointer;min-height:44px}
.reg-toggle button[aria-pressed="true"]{color:var(--ink)}
.reg-toggle button::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--seal);transform:scaleX(0);transform-origin:left;transition:transform var(--t-micro) var(--e-standard)}
.reg-toggle button[aria-pressed="true"]::after{transform:scaleX(1)}
.reg-regarding{font-size:14px;color:var(--muted);margin:6px 0 4px}
.reg-field{position:relative;display:block;padding:22px 0 8px}
.reg-field input,.reg-field textarea,.reg-field select{display:block;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:17px;line-height:1.4;padding:8px 0 10px;outline:none;transition:border-color var(--t-micro) ease}
.reg-field:focus-within input,.reg-field:focus-within textarea,.reg-field:focus-within select{border-bottom-color:var(--seal)}
.reg-field select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:28px}
.reg-field textarea{min-height:5.5em;resize:vertical}
.reg-field .label{position:absolute;left:0;top:30px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted);pointer-events:none;transition:transform var(--t-micro) var(--e-enter),color var(--t-micro) ease;transform-origin:left}
.reg-field:focus-within .label,.reg-field.has-value .label,.reg-field select ~ .label{transform:translateY(-24px)}
.reg-field:focus-within .label{color:var(--seal)}
.reg-field .reg-prefix{position:absolute;left:0;top:30px;font-family:var(--serif);font-size:17px;color:var(--muted);pointer-events:none;opacity:0;transition:opacity var(--t-micro) ease}
.reg-field:focus-within .reg-prefix,.reg-field.has-value .reg-prefix{opacity:1}
.reg-field.has-prefix input{padding-left:1.1em}
.reg-field .reg-hint{display:block;margin-top:6px;font-size:13px;line-height:1.4;color:var(--muted)}
.reg-field .reg-error{display:none;margin-top:6px;font-size:13px;line-height:1.4;color:var(--seal-text)}
.reg-field.is-invalid .reg-error{display:block}
.reg-field.is-invalid input,.reg-field.is-invalid textarea,.reg-field.is-invalid select{border-bottom-color:var(--seal-soft)}
.reg-fields-2{display:grid;gap:0 24px}
@media (min-width:768px){.reg-fields-2{grid-template-columns:1fr 1fr}}
.reg-turnstile{min-height:65px;margin:14px 0 4px;display:flex;align-items:center}
.reg-turnstile.is-failed::before{content:"The security check could not load. Please refresh, or write to the address on the Contact page.";font-size:13px;color:var(--seal-text)}
.reg-form-error{margin-top:14px;font-size:15px;line-height:1.5;color:var(--seal-text)}
.reg-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
@media (max-width:767px){.reg-actions .reg-button{width:100%}}
.reg-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:12px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1;text-decoration:none;cursor:pointer;overflow:hidden;transition:transform 120ms var(--e-standard),color var(--t-micro) ease,box-shadow var(--t-micro) ease}
.reg-button::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 55%);pointer-events:none}
.reg-button--primary{background:linear-gradient(180deg,#1b1b1b,#070707);color:var(--paper);border-color:#070707;box-shadow:0 10px 24px -14px rgba(7,7,7,.6)}
.reg-button:hover{color:var(--seal)}
.reg-button--primary:hover{color:var(--paper)}
.reg-button:active{transform:scale(.985)}
.reg-button:disabled{opacity:.6;cursor:default}
.reg-privacy{margin-top:14px;font-size:13px;line-height:1.5;color:var(--muted);max-width:40em}
.reg-honey{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.reg-receipt{display:none;padding-top:4px}
.reg-receipt.is-shown{display:block}
.reg-receipt-head{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.reg-receipt-ref{font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;letter-spacing:0;text-transform:none;font-size:22px;color:var(--ink)}
.reg-receipt p{line-height:1.55;margin-top:14px}
.reg-receipt .reg-small{font-size:14px;color:var(--muted)}
.reg-fade{transition:opacity var(--t-standard) ease}
.reg-fade.is-out{opacity:0;pointer-events:none}

/* ---------- about: the profile ---------- */
.profile-name{font-family:var(--serif);font-weight:400;font-size:var(--fs-h1);line-height:1;letter-spacing:-.035em;font-variation-settings:"opsz" 144}
.profile-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.profile-meta b{font-weight:500;color:var(--ink)}
.index li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:baseline;padding:12px 0;border-top:1px solid rgba(7,7,7,.08);font-size:15px}
.index li:first-child{border-top:0;padding-top:0}
.index li span:first-child{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.index a{color:var(--ink);text-decoration:none}
.index a:hover{color:var(--seal)}
.contact-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;column-gap:14px;align-items:center;padding:12px 0;border-top:1px solid rgba(7,7,7,.08);font-size:15px}
.contact-row:first-child{border-top:0;padding-top:0}
.contact-row a{color:var(--ink);text-decoration:none}
.contact-row a:hover{color:var(--seal)}
.contact-row .reg-copy{justify-self:end}
.timeline li{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:12px 0;border-top:1px solid rgba(7,7,7,.08)}
@media (min-width:768px){.timeline li{grid-template-columns:150px minmax(0,1fr);column-gap:24px}}
.timeline time{font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;font-size:18px}
.timeline p{font-size:15px;line-height:1.5}
.archive{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}

/* ---------- footer ---------- */
.footer{border-top:1px solid rgba(7,7,7,.1);background:rgba(255,255,255,.35);color:var(--muted);font-size:13px;line-height:1.55;padding:36px 0 40px;margin-top:var(--sec)}
.footer .wrap{display:grid;gap:14px 40px}
@media (min-width:768px){.footer .wrap{grid-template-columns:1fr auto}}
.footer-brand{color:var(--ink);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.footer-nav{display:flex;flex-wrap:wrap;gap:6px 18px}
@media (min-width:768px){.footer-nav{justify-self:end}}
.footer-nav a{color:var(--ink);text-decoration:none}
.footer-nav a:hover{color:var(--seal)}
.footer-profiles{display:flex;flex-wrap:wrap;gap:4px 16px}
@media (min-width:768px){.footer-profiles,.footer-note,.footer-copy{grid-column:1/-1}}
.footer-profiles a{color:var(--muted);text-decoration:none}
.footer-profiles a:hover{color:var(--seal)}
.footer-note{max-width:64em}

/* ---------- reveal on scroll ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity var(--t-reveal) var(--e-enter),transform var(--t-reveal) var(--e-enter);transition-delay:calc(min(var(--i,0),8) * 60ms)}
html.js [data-reveal].is-in,html.js .is-in > [data-reveal],html.js .is-in [data-reveal]{opacity:1;transform:none}
html.js .is-instant [data-reveal],html.js [data-reveal].is-instant{transition-duration:0s!important;transition-delay:0s!important}
html.reduce [data-reveal],html.reduce .glass,html.reduce .btn,html.reduce .drawer,html.reduce .scrim{transition:none!important;animation:none!important}
@media (prefers-reduced-motion:reduce){[data-reveal],.glass,.btn,.drawer,.scrim{transition:none!important;animation:none!important}}

/* ---------- page changes ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:160ms}
::view-transition-new(root){animation-duration:200ms}
.slab{view-transition-name:slab}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* ---------- print ---------- */
@media print{
  .slab,.drawer,.scrim,.footer-nav,body::before{display:none!important}
  main{padding-top:0}
  html.js [data-reveal]{opacity:1;transform:none}
  .glass{box-shadow:none;background:#fff;backdrop-filter:none}
  body.receipt-shown *{visibility:hidden}
  body.receipt-shown .reg-receipt,body.receipt-shown .reg-receipt *{visibility:visible}
  body.receipt-shown .reg-receipt{position:absolute;left:0;top:0;width:100%;padding:0}
  body.receipt-shown .reg-receipt .reg-actions{display:none}
}
