/* CAYO Register V2 — shared stylesheet for every CAYO property.
   Round 2A production-candidate build: prototype-only rules (review markers, test bars, study specimens) removed. Self-hosted OFL fonts only; no external requests. */

/* ---------- fonts ---------- */
@font-face{font-family:"Schibsted Grotesk";src:url("fonts/schibsted-grotesk-latin-wght-normal.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-latin-opsz-normal.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}

/* ---------- tokens: dark (default) ---------- */
:root{
  color-scheme:dark;
  --ground:#0f0f0e; --surface:#171716; --surface-raised:#1f1f1d;
  --ink:#edebe6; --ink-muted:#b3b0a8; --ink-quiet:#8e8c85;
  --rule:#2e2e2b; --rule-strong:#6a6862;
  --signal:#f58634; --on-signal:#0f0f0e; --accent-text:#f58634; --focus:#f58634;
  --band:#0f0f0e; --band-ink:#edebe6; --band-muted:#b3b0a8;
  --font-sans:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --font-text:Newsreader,"Iowan Old Style","Palatino Linotype",Palatino,serif;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;
  --radius:2px;
  --max:1240px; --gutter:24px; --margin:64px;
}
/* ---------- tokens: paper (documents, legal, long-form) ---------- */
[data-theme="paper"]{
  color-scheme:light;
  --ground:#f4f1ea; --surface:#fbfaf6; --surface-raised:#eae5da;
  --ink:#1b1a17; --ink-muted:#4f4c45; --ink-quiet:#69655d;
  --rule:#d6d0c4; --rule-strong:#8a8274;
  --on-signal:#1b1a17; --accent-text:#a3460b; --focus:#1b1a17;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:28px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:lining-nums}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,dl,dd,ol,ul{margin:0}
:focus{outline:none}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:1px}
.skip{position:absolute;left:var(--space-4);top:-80px;z-index:10;background:var(--signal);color:var(--on-signal);padding:10px 14px;font-weight:600;text-decoration:none}
.skip:focus{top:var(--space-3)}
.wrap{width:min(var(--max),calc(100% - 2 * var(--margin)));margin-inline:auto}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type ---------- */
.label{font:500 13px/18px var(--font-mono);letter-spacing:.02em;color:var(--ink-quiet)}
.label--caps{text-transform:uppercase;letter-spacing:.06em}
.h1{font-size:68px;line-height:72px;font-weight:600;letter-spacing:-.028em;text-wrap:balance}
.h2{font-size:36px;line-height:42px;font-weight:600;letter-spacing:-.018em;text-wrap:balance}
.h3{font-size:22px;line-height:30px;font-weight:600;letter-spacing:-.008em}
.lead{font-size:20px;line-height:32px;color:var(--ink-muted)}
.body{color:var(--ink-muted)}
.body strong,.lead strong{color:var(--ink);font-weight:600}
.small{font-size:15px;line-height:24px;color:var(--ink-muted)}
.legal{font-size:14px;line-height:22px;color:var(--ink-quiet)}
.data{font:400 15px/22px var(--font-mono)}
.num{font-variant-numeric:tabular-nums lining-nums}

/* ---------- links and actions ---------- */
.link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule-strong);text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color .15s,color .15s}
.link:hover{text-decoration-color:var(--signal)}
.link--accent{color:var(--accent-text);text-decoration-color:currentColor}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6);margin-top:var(--space-6)}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:48px;padding:12px 20px;background:var(--signal);color:var(--on-signal);font-weight:600;font-size:16px;line-height:22px;text-decoration:none;border-radius:var(--radius);transition:background .15s,color .15s}
.btn:hover{background:var(--ink);color:var(--ground)}
.btn--quiet{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule-strong)}
.btn--quiet:hover{background:var(--surface-raised);color:var(--ink)}
.arrow{font-weight:400}

/* ---------- masthead (nameplate) ---------- */
.masthead{--focus:#f58634;--rule:#2e2e2b;--rule-strong:#6a6862;--accent-text:#f58634;border-bottom:1px solid var(--rule);background:var(--band);color:var(--band-ink)}
.masthead__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:104px}
.nameplate{display:flex;align-items:center;gap:var(--space-5);text-decoration:none;color:inherit;min-width:0}
.nameplate__mark{display:block;width:152px;height:auto;flex:none}
.nameplate__text{display:flex;flex-direction:column;gap:2px;padding-left:var(--space-5);border-left:1px solid var(--rule-strong);min-width:0}
.nameplate__name{font-size:14px;line-height:20px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.nameplate__sub{font:500 13px/18px var(--font-mono);letter-spacing:.02em;color:var(--band-muted);white-space:nowrap}
.nav{display:flex;align-items:center;gap:var(--space-6)}
.nav a{font-size:15px;line-height:24px;color:var(--band-muted);text-decoration:none;padding:10px 0;transition:color .15s}
.nav a:hover{color:var(--band-ink)}
.nav a[aria-current="page"],.nav a[aria-current="true"]{color:var(--band-ink);box-shadow:inset 0 -2px 0 var(--signal)}
.masthead__note{font:500 13px/18px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--band-muted);white-space:nowrap}
.menu-btn{display:none;align-items:center;min-height:44px;padding:0 16px;background:none;color:var(--band-ink);border:1px solid #6a6862;border-radius:var(--radius);font:600 15px/1 var(--font-sans);cursor:pointer}
.menu-panel{display:none}

/* ---------- register (the signature component) ---------- */
.register{border-top:1px solid var(--ink)}
.register>div{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,1fr);gap:var(--space-4);padding:13px 0 14px;border-bottom:1px solid var(--rule)}
.register dt{font:500 13px/24px var(--font-mono);letter-spacing:.02em;color:var(--ink-quiet)}
.register dd{font-size:16px;line-height:24px;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.register--stack>div{grid-template-columns:1fr;gap:2px}

/* ---------- entries (sections as register entries) ---------- */
.entry{padding:var(--space-9) 0;border-top:1px solid var(--rule)}
.entry__label{grid-column:1/span 3;padding-top:6px}
.entry__body{grid-column:4/span 9;min-width:0}
.entry--hero{border-top:0;padding:var(--space-10) 0 var(--space-9)}
.hero__h1{max-width:15.5em}
.hero__split{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:var(--gutter);margin-top:var(--space-7);align-items:start}
.hero__lead{grid-column:1/span 5}
.hero__record{grid-column:6/span 4}
.entry__intro{max-width:36em;margin-top:var(--space-4)}

/* services and principles as rows */
.rows{border-top:1px solid var(--ink);margin-top:var(--space-7)}
.rows>li{list-style:none;display:grid;grid-template-columns:minmax(0,3.2fr) minmax(0,5fr) minmax(0,1.6fr);gap:var(--space-5);padding:22px 0 24px;border-bottom:1px solid var(--rule);align-items:baseline}
.rows{padding:0}
.rows p{color:var(--ink-muted);font-size:16px;line-height:26px}
.rows .row__link{justify-self:end;font-size:15px;white-space:nowrap}
.statement{font-size:30px;line-height:40px;font-weight:500;letter-spacing:-.012em;max-width:24em;text-wrap:pretty}
.note{margin-top:var(--space-5);font-size:15px;line-height:24px;color:var(--ink-quiet)}

/* correspondence band */
.band{background:var(--surface);padding:var(--space-9) 0}
.band .entry__body .register{margin-top:var(--space-7)}
.band .register dt{color:var(--ink-quiet)}
.email-xl{display:inline-block;margin-top:var(--space-6);font:400 34px/44px var(--font-mono);letter-spacing:-.01em;color:var(--accent-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:9px;overflow-wrap:anywhere}

/* ---------- colophon (footer) ---------- */
.colophon{border-top:1px solid var(--ink);padding:var(--space-8) 0 var(--space-6)}
.colophon__mark{grid-column:1/span 4}
.colophon__mark img{width:240px;display:block}
.colophon__cols{grid-column:5/span 8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.colophon__cols h2{font:500 13px/18px var(--font-mono);letter-spacing:.02em;color:var(--ink-quiet);margin-bottom:var(--space-3)}
.colophon__cols p,.colophon__cols li{font-size:15px;line-height:24px;color:var(--ink-muted);list-style:none}
.colophon__cols ul{padding:0}
.colophon__cols a{color:var(--ink);text-decoration:none}
.colophon__cols a:hover{text-decoration:underline;text-underline-offset:4px}
.colophon__base{display:flex;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--rule);font-size:14px;line-height:22px;color:var(--ink-quiet)}
.colophon__base a{color:var(--ink-muted)}

/* compact footer for domain notices */
.footer-compact{border-top:1px solid var(--rule);padding:var(--space-6) 0 var(--space-7)}
.footer-compact .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4) var(--space-6);flex-wrap:wrap;font-size:15px;line-height:24px;color:var(--ink-muted)}
.footer-compact nav{display:flex;gap:var(--space-6)}
.footer-compact a{color:var(--ink);text-decoration:none;padding:10px 0}
.footer-compact a:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- domain notice ---------- */
.domain{padding:var(--space-9) 0 var(--space-9)}
.domain__intro{grid-column:1/span 7;container-type:inline-size;min-width:0}
.domain__record{grid-column:8/span 5;min-width:0}
.domain__name{font-weight:600;letter-spacing:-.035em;line-height:1;white-space:nowrap;font-size:min(104px,calc(100cqi / (var(--chars) * .57)));margin:var(--space-5) 0 var(--space-6)}
.domain__name .tld{color:var(--ink-quiet)}
.standfirst{font-size:24px;line-height:34px;font-weight:500;letter-spacing:-.01em;margin-bottom:var(--space-6)}
.standfirst span{display:block;color:var(--ink-muted)}
.domain__intro .body+.body{margin-top:var(--space-4)}
.domain__intro .legal{margin-top:var(--space-4)}

.record{background:var(--surface);padding:var(--space-7) var(--space-7) var(--space-6)}
.record__date{margin-top:var(--space-6)}
.record__date .label{display:block}
.record__date-value{display:block;font-size:44px;line-height:50px;font-weight:600;letter-spacing:-.025em;margin-top:6px}
.record__life{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--rule)}
.record__life h2{font-size:22px;line-height:30px;font-weight:600}
.record__life p{font-size:15px;line-height:24px;color:var(--ink-muted);margin-top:4px}
.counter{display:grid;grid-template-columns:auto auto auto;justify-content:start;align-items:end;column-gap:var(--space-6);margin:var(--space-5) 0 var(--space-5);font-variant-numeric:tabular-nums lining-nums}
.counter__n{display:block;font-size:48px;line-height:48px;font-weight:500;letter-spacing:-.02em}
.counter__y .counter__n{font-size:112px;line-height:96px;color:var(--accent-text);letter-spacing:-.04em;margin-left:-.045em}
.counter__u{display:block;margin-top:10px}
.record .register{border-top:1px solid var(--rule)}
.record .legal{margin-top:var(--space-5)}
.stewardship{border-top:1px solid var(--rule);padding:var(--space-6) 0}
.stewardship p{grid-column:1/span 9;max-width:56em;font-size:16px;line-height:26px;color:var(--ink-muted)}
.stewardship strong{color:var(--ink);font-weight:600}
.stewardship .label{grid-column:1/span 3;padding-top:4px}

/* quiet notice (trademark-sensitive domains) */
.notice{padding:var(--space-9) 0}
.notice__main{grid-column:1/span 7;min-width:0}
.notice__side{grid-column:9/span 4}
.notice__name{font-size:40px;line-height:48px;font-weight:600;letter-spacing:-.02em;margin:var(--space-3) 0 var(--space-7);overflow-wrap:anywhere}
.notice__statement{font-size:28px;line-height:36px;font-weight:500;letter-spacing:-.012em;max-width:22em}
.notice__main .body{margin-top:var(--space-4);max-width:34em}





/* ---------- documents (Folio-derived paper reading variant) ---------- */
.doc{padding:var(--space-9) 0 var(--space-10)}
.doc__head{grid-column:4/span 7}
.doc__title{font-size:56px;line-height:60px;font-weight:600;letter-spacing:-.025em;margin:var(--space-4) 0 var(--space-5)}
.doc__standfirst{font:400 24px/34px var(--font-text);color:var(--ink-muted);font-variation-settings:"opsz" 36}
.doc__record{grid-column:4/span 7;margin-top:var(--space-7)}
.doc__toc{grid-column:1/span 3;grid-row:span 2;align-self:start;padding-top:var(--space-7)}
.doc__toc ol{padding:0;margin-top:var(--space-3);border-top:1px solid var(--rule)}
.doc__toc li{list-style:none;border-bottom:1px solid var(--rule)}
.doc__toc a{display:grid;grid-template-columns:28px 1fr;padding:10px 0;font-size:15px;line-height:22px;text-decoration:none;color:var(--ink-muted)}
.doc__toc a:hover{color:var(--ink)}
.doc__toc a span{font:500 13px/22px var(--font-mono);color:var(--accent-text)}
.doc__body{grid-column:4/span 6;margin-top:var(--space-8);min-width:0}
.doc__notes{grid-column:10/span 3;margin-top:var(--space-8)}
.doc__section{padding-top:var(--space-6);margin-top:var(--space-6);border-top:1px solid var(--rule);scroll-margin-top:var(--space-5)}
.doc__section:first-child{border-top:1px solid var(--ink);margin-top:0}
.doc__section h2{display:grid;grid-template-columns:40px 1fr;font-family:var(--font-sans);font-size:22px;line-height:30px;font-weight:600;letter-spacing:-.008em}
.doc__section h2 span{font:500 14px/30px var(--font-mono);color:var(--accent-text)}
.prose{font-family:var(--font-text);font-size:19px;line-height:31px;font-variation-settings:"opsz" 16;color:var(--ink);max-width:36em}
.prose p{margin-top:var(--space-4)}
.prose h2+p,.doc__section h2+p{margin-top:var(--space-3)}
.prose a{color:var(--accent-text);text-underline-offset:4px}
.prose sup a{font:600 13px/0 var(--font-sans);text-decoration:none;padding:0 2px}
.notes{border-top:1px solid var(--rule);padding-top:var(--space-3)}
.notes li{list-style:none;display:grid;grid-template-columns:24px 1fr;font-size:14px;line-height:22px;color:var(--ink-quiet);margin-bottom:var(--space-3)}
.notes b{font:600 13px/22px var(--font-mono);color:var(--accent-text)}
.doc__back{margin-top:var(--space-8)}
.prose table{border-collapse:collapse;width:100%;font:400 15px/22px var(--font-sans);margin-top:var(--space-5)}
.prose th,.prose td{text-align:left;vertical-align:top;padding:10px 12px 10px 0;border-bottom:1px solid var(--rule)}
.prose th{font:500 13px/18px var(--font-mono);color:var(--ink-quiet);border-bottom:1px solid var(--ink)}
.prose code{font:400 .85em/1 var(--font-mono)}
.prose ul,.prose ol{padding-left:1.2em;margin-top:var(--space-3)}
.prose li{margin-top:6px}
.prose h3{font:600 19px/28px var(--font-sans);margin-top:var(--space-6)}
.table-scroll{overflow-x:auto}

/* ---------- design-system page specimens ---------- */






/* ---------- tablet ---------- */
@media (max-width:1023px){
  :root{--margin:40px}
  .h1{font-size:52px;line-height:56px}
  .entry,.band{padding:var(--space-8) 0}
  .entry--hero{padding:var(--space-8) 0 var(--space-8)}
  .entry__label,.entry__body,.stewardship p,.stewardship .label{grid-column:1/-1}
  .entry__label{padding:0 0 var(--space-4)}
  .hero__lead,.hero__record{grid-column:1/-1}
  .hero__record{margin-top:var(--space-7);max-width:560px}
  .domain__intro,.domain__record,.notice__main,.notice__side{grid-column:1/-1}
  .domain__record{margin-top:var(--space-7);max-width:640px}
  .notice__side{margin-top:var(--space-7);max-width:560px}
  .colophon__mark,.colophon__cols{grid-column:1/-1}
  .colophon__cols{margin-top:var(--space-6)}
  .doc__head,.doc__record,.doc__toc,.doc__body,.doc__notes{grid-column:1/-1}
  .doc__toc{grid-row:auto;padding-top:var(--space-6)}
  .doc__body{max-width:40em}
  .stewardship .label{padding-bottom:var(--space-2)}
}
/* ---------- mobile ---------- */
@media (max-width:639px){
  :root{--margin:20px}
  body{font-size:16px;line-height:26px}
  .h1{font-size:38px;line-height:43px}
  .h2{font-size:28px;line-height:34px}
  .h3{font-size:20px;line-height:28px}
  .lead{font-size:18px;line-height:29px}
  .statement{font-size:23px;line-height:32px}
  .masthead__bar{min-height:72px;gap:var(--space-4)}
  .nameplate__mark{width:120px}
  .nameplate__text,.masthead__note{display:none}
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .menu-panel.is-open{display:block;border-top:1px solid var(--rule)}
  .menu-panel ul{padding:0}
  .menu-panel li{list-style:none;border-bottom:1px solid var(--rule)}
  .menu-panel a{display:flex;justify-content:space-between;align-items:center;min-height:52px;font-size:18px;color:var(--band-ink);text-decoration:none}
  .menu-panel a[aria-current]{color:var(--accent-text)}
  .entry,.band{padding:var(--space-8) 0}
  .entry--hero{padding:var(--space-7) 0 var(--space-8)}
  .hero__split{margin-top:var(--space-5)}
  .actions .btn{width:100%}
  .rows>li{grid-template-columns:1fr;gap:6px;padding:18px 0 20px}
  .rows .row__link{justify-self:start;margin-top:4px}
  .register>div{grid-template-columns:1fr;gap:2px}
  .email-xl{font-size:23px;line-height:32px}
  .colophon__mark img{width:160px}
  .colophon__cols{grid-template-columns:1fr;gap:var(--space-5)}
  .domain{padding:var(--space-7) 0 var(--space-8)}
  .domain__name{margin:var(--space-3) 0 var(--space-5)}
  .standfirst{font-size:20px;line-height:29px}
  .domain__record{margin:var(--space-7) calc(-1 * var(--margin)) 0}
  .record{padding:var(--space-6) var(--margin)}
  .record__date-value{font-size:34px;line-height:40px}
  .counter{column-gap:var(--space-5)}
  .counter__y .counter__n{font-size:80px;line-height:72px}
  .counter__n{font-size:36px;line-height:38px}
  .notice{padding:var(--space-7) 0 var(--space-8)}
  .notice__name{font-size:28px;line-height:36px;margin-bottom:var(--space-5)}
  .notice__statement{font-size:22px;line-height:30px}
  .doc{padding:var(--space-7) 0 var(--space-8)}
  .doc__title{font-size:40px;line-height:44px}
  .doc__standfirst{font-size:20px;line-height:30px}
  .prose{font-size:18px;line-height:29px}
}

@media (max-width:359px){
  .counter{column-gap:var(--space-4)}
  .counter__y .counter__n{font-size:68px;line-height:64px}
  .counter__n{font-size:30px;line-height:34px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media print{
  .masthead,.menu-panel,.skip,.colophon,.footer-compact{display:none}
}
/* rendered study documents */

















@media (max-width:899px){.masthead__note{display:none}}
.prose code{font-size:max(13px,.85em)}



/* Round 2A: record panel without a kicker (C3) */
.record>.record__date:first-child{margin-top:0}
