@font-face { font-family: "Schibsted Grotesk"; src: url("../fonts/schibsted-grotesk-normal-400-900.woff2") format("woff2"); font-weight: 400 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Public Sans"; src: url("../fonts/public-sans-normal-300-700.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Public Sans"; src: url("../fonts/public-sans-italic-400.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "DM Mono"; src: url("../fonts/dm-mono-normal-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "DM Mono"; src: url("../fonts/dm-mono-normal-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
:root {
--ink-950: #0B0D0E;
--ink-900: #0F1213;
--ink-850: #151A1B;
--ink-800: #1B2122;
--ink-700: #263031;
--petrol-950: #071F20;
--petrol-900: #0A2B2C;
--petrol-800: #0E3A3A;
--petrol-700: #145050;
--verd-300: #8FD8CB;
--verd-400: #57C3B2;
--verd-500: #3AA896;
--verd-700: #1D6E62;
--verd-800: #16574E;
--champ-200: #EFE5CF;
--champ-300: #E3D3B0;
--champ-400: #D5BF91;
--champ-700: #7C6433;
--steel-500: #7D898A;
--silver-300: #C4CBCA;
--mist-100: #E8EBE8;
--paper-50: #F4F3EE;
--white: #FBFBF8;
--f-display: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
--f-body: "Public Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
--f-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
--max: 1360px;
--gutter: clamp(1.25rem, 4vw, 3.5rem);
--hdr-h: 72px;
--sp-section: clamp(4.5rem, 2.8rem + 6.5vw, 9.5rem);
--sp-block: clamp(2.5rem, 1.8rem + 3vw, 5rem);
--ease: cubic-bezier(.2, .7, .1, 1);
--bg: var(--paper-50);
--fg: #131718;
--fg-body: #2A3234;
--fg-2: #465052;
--fg-3: #5F6969;
--rule: rgba(19, 23, 24, .12);
--rule-strong: rgba(19, 23, 24, .3);
--accent: var(--verd-500);
--accent-ink: var(--verd-800);
--champ-ink: var(--champ-700);
--panel: #FFFFFF;
--grid-line: rgba(19, 23, 24, .05);
}
.s-ink, .s-petrol, .site-header, .site-footer {
--fg: #ECEFEB;
--fg-body: #C9D1CE;
--fg-2: #B1BBB8;
--fg-3: #8A9694;
--rule: rgba(210, 225, 221, .12);
--rule-strong: rgba(210, 225, 221, .28);
--accent: var(--verd-400);
--accent-ink: var(--verd-300);
--champ-ink: var(--champ-300);
--grid-line: rgba(160, 205, 196, .06);
}
.s-ink    { --bg: var(--ink-900); --panel: var(--ink-850); background: var(--bg); color: var(--fg); }
.s-petrol { --bg: var(--petrol-900); --panel: var(--petrol-800); background: var(--bg); color: var(--fg); }
.s-paper  { --bg: var(--paper-50); background: var(--bg); color: var(--fg); }
.s-white  { --bg: var(--white); --panel: var(--paper-50); background: var(--bg); color: var(--fg); }
.s-mist   { --bg: var(--mist-100); --fg-3: #566161; --panel: var(--white); background: var(--bg); color: var(--fg); }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
margin: 0;
background: var(--paper-50);
color: var(--fg);
font-family: var(--f-body);
font-size: 1.0625rem;
line-height: 1.65;
font-weight: 400;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
font-feature-settings: "kern", "liga";
}
main { display: block; overflow-x: clip; }
main:focus { outline: none; }
img, svg, video { display: block; max-width: 100%; height: auto; }
img { font-style: italic; }
p, ul, ol, dl, figure, blockquote, address { margin: 0; }
ul[class], ol[class] { list-style: none; padding: 0; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
address { font-style: normal; }
b, strong { font-weight: 650; }
hr { border: 0; border-top: 1px solid var(--rule); margin: 0; }
[id] { scroll-margin-top: calc(var(--hdr-h) + 1.5rem); }
[hidden] { display: none !important; }
::selection { background: var(--verd-400); color: var(--ink-950); }
:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 3px; }
.sr-only {
position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link {
position: fixed; top: .75rem; left: .75rem; z-index: 200;
background: var(--verd-400); color: var(--ink-950); padding: .75rem 1.1rem;
font-weight: 600; text-decoration: none; transform: translateY(-160%);
transition: transform .2s var(--ease);
}
.skip-link:focus { transform: none; outline: 2px solid var(--ink-950); outline-offset: -5px; }
.container { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); }
.container--narrow { max-width: 980px; }
.section { padding-block: var(--sp-section); position: relative; }
.section--tight { padding-block: var(--sp-block); }
.section + .section.s-paper, .section.s-paper + .section.s-paper { border-top: 1px solid var(--rule); }
.grid-bg { position: relative; isolation: isolate; }
.grid-bg::before {
content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
background-image:
linear-gradient(var(--grid-line) 1px, transparent 1px),
linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
background-size: 88px 88px;
background-position: center top;
-webkit-mask-image: radial-gradient(ellipse 80% 70% at 60% 40%, #000 30%, transparent 85%);
mask-image: radial-gradient(ellipse 80% 70% at 60% 40%, #000 30%, transparent 85%);
}
h1, h2, h3, h4 {
font-family: var(--f-display);
font-weight: 700;
line-height: 1.02;
letter-spacing: -.015em;
margin: 0;
color: var(--fg);
text-wrap: balance;
overflow-wrap: break-word;
}
.t-display, .t-h1, .t-h2 { text-transform: uppercase; }
.t-display { font-size: clamp(2.3rem, 0.95rem + 5.5vw, 6.5rem); font-weight: 800; line-height: .93; letter-spacing: -.024em; }
.t-h1      { font-size: clamp(2.1rem, 1.05rem + 4.1vw, 5.1rem); font-weight: 800; line-height: .95; letter-spacing: -.022em; }
.t-h2      { font-size: clamp(1.8rem, 1.12rem + 2.7vw, 3.7rem); font-weight: 760; line-height: .99; letter-spacing: -.018em; }
.t-h3      { font-size: clamp(1.2rem, 1.04rem + .6vw, 1.6rem); font-weight: 650; line-height: 1.18; letter-spacing: -.01em; }
.t-h4      { font-size: 1.0625rem; font-weight: 650; line-height: 1.3; letter-spacing: 0; }
.t-accent  { color: var(--accent-ink); }
.t-champ   { color: var(--champ-ink); }
.t-dim     { color: var(--fg-3); }
.t-balance { text-wrap: balance; }
.label {
font-family: var(--f-mono);
font-size: .75rem;
font-weight: 500;
line-height: 1.35;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--fg-3);
}
.label--accent { color: var(--accent-ink); }
.label--champ { color: var(--champ-ink); }
.kicker { display: inline-flex; align-items: center; gap: .75rem; }
.kicker::before { content: ""; width: 8px; height: 8px; background: var(--accent); flex: none; }
.kicker--line::before { width: 2.25rem; height: 1px; }
.lead { font-size: clamp(1.125rem, 1.04rem + .38vw, 1.375rem); line-height: 1.55; color: var(--fg); font-weight: 400; }
.body-lg { font-size: 1.125rem; }
.small { font-size: .9375rem; line-height: 1.6; }
.prose { color: var(--fg-body); max-width: 68ch; }
.prose > * + * { margin-top: 1.1em; }
.prose h2 { margin-top: 2.2em; }
.prose h3 { margin-top: 1.8em; }
.prose ul { padding-left: 1.2em; }
.prose li + li { margin-top: .4em; }
.prose a { color: var(--accent-ink); }
.muted { color: var(--fg-2); }
.num { font-family: var(--f-display); font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.03em; line-height: .9; }
.mono { font-family: var(--f-mono); }
.btn {
--btn-bg: transparent; --btn-fg: var(--fg); --btn-bd: var(--rule-strong);
display: inline-flex; align-items: center; justify-content: center; gap: .75em;
min-height: 3.125rem; padding: .85rem 1.4rem;
background: var(--btn-bg); color: var(--btn-fg); border: 1px solid var(--btn-bd);
font-family: var(--f-body); font-size: .8125rem; font-weight: 650; line-height: 1.15;
letter-spacing: .1em; text-transform: uppercase; text-decoration: none; text-align: left;
transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
-webkit-tap-highlight-color: transparent;
}
.btn .i-arrow { flex: none; transition: transform .3s var(--ease); }
.btn:hover .i-arrow { transform: translateX(3px); }
.btn--accent {
--btn-bg: var(--verd-400); --btn-fg: var(--ink-950); --btn-bd: var(--verd-400);
clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}
.btn--accent:hover { --btn-bg: var(--verd-300); --btn-bd: var(--verd-300); }
.btn--accent:focus-visible { outline: 2px solid var(--ink-950); outline-offset: -6px; }
.btn--champ {
--btn-bg: var(--champ-300); --btn-fg: var(--ink-950); --btn-bd: var(--champ-300);
clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}
.btn--champ:hover { --btn-bg: var(--champ-200); }
.btn--champ:focus-visible { outline: 2px solid var(--ink-950); outline-offset: -6px; }
.btn--ghost:hover { --btn-bd: var(--accent); --btn-fg: var(--fg); background: color-mix(in srgb, var(--accent) 8%, transparent); }
.btn--ink { --btn-bg: var(--ink-900); --btn-fg: #fff; --btn-bd: var(--ink-900); clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%); }
.btn--ink:hover { --btn-bg: var(--petrol-800); --btn-bd: var(--petrol-800); }
.btn--ink:focus-visible { outline: 2px solid #fff; outline-offset: -6px; }
.btn--sm { min-height: 2.625rem; padding: .6rem 1.05rem; font-size: .75rem; }
.btn-row { display: flex; flex-wrap: wrap; gap: .85rem; }
.lnk {
display: inline-flex; align-items: center; gap: .55em;
color: var(--accent-ink); font-weight: 600; font-size: .9375rem;
text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
text-underline-offset: .3em;
}
.lnk:hover { text-decoration-color: currentColor; }
.lnk .i-arrow { transition: transform .3s var(--ease); }
.lnk:hover .i-arrow { transform: translateX(3px); }
.site-header {
position: sticky; top: 0; z-index: 100;
background: rgba(13, 16, 17, .9);
-webkit-backdrop-filter: saturate(150%) blur(14px);
backdrop-filter: saturate(150%) blur(14px);
border-bottom: 1px solid rgba(210, 225, 221, .1);
color: var(--fg);
transition: background-color .3s var(--ease);
}
.site-header.is-scrolled { background: rgba(11, 13, 14, .97); }
.hdr { display: flex; align-items: center; gap: 1.25rem; height: var(--hdr-h); }
.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; color: #F2F4F1; flex: none; margin-right: auto; }
.brand__mark { width: 30px; height: 30px; color: #F2F4F1; }
.brand__node { fill: var(--verd-400); }
.brand__word { font-family: var(--f-display); font-size: 1.0625rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; line-height: 1; white-space: nowrap; }
.brand__word b { font-weight: 800; }
.brand__word i { font-style: normal; font-family: var(--f-mono); font-size: .78em; letter-spacing: .02em; color: var(--verd-300); margin-left: .08em; }
.nav { display: none; }
.nav__list { display: flex; align-items: center; gap: .15rem; }
.nav__link {
position: relative; display: inline-flex; align-items: center; gap: .35rem;
height: var(--hdr-h); padding: 0 .7rem;
font-size: .875rem; font-weight: 500; letter-spacing: .01em;
color: #BCC5C2; text-decoration: none; white-space: nowrap;
transition: color .2s;
}
.nav__link::after {
content: ""; position: absolute; left: .7rem; right: .7rem; bottom: -1px; height: 2px;
background: var(--verd-400); transform: scaleX(0); transform-origin: left;
transition: transform .3s var(--ease);
}
.nav__link:hover, .nav__link[aria-expanded="true"] { color: #fff; }
.nav__item.is-active > .nav__link, .nav__link[aria-current="page"] { color: #fff; }
.nav__item.is-active > .nav__link::after, .nav__link[aria-current="page"]::after, .nav__link[aria-expanded="true"]::after { transform: scaleX(1); }
.nav__link:focus-visible { outline-offset: -4px; }
.i-chev { width: 10px; height: 10px; transition: transform .25s var(--ease); opacity: .75; }
.nav__trigger[aria-expanded="true"] .i-chev { transform: rotate(180deg); }
.mega {
position: absolute; left: 0; right: 0; top: 100%;
background: var(--ink-850);
border-top: 1px solid rgba(210, 225, 221, .1);
border-bottom: 1px solid rgba(210, 225, 221, .14);
box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6);
visibility: hidden; opacity: 0; transform: translateY(-6px);
transition: opacity .22s var(--ease), transform .22s var(--ease), visibility 0s linear .22s;
}
.has-mega.is-open .mega,
html:not(.js) .has-mega:focus-within .mega,
html:not(.js) .has-mega:hover .mega {
visibility: visible; opacity: 1; transform: none;
transition: opacity .22s var(--ease), transform .22s var(--ease), visibility 0s;
}
.mega__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); gap: 3rem; padding-block: 2.25rem 2.5rem; }
.mega__intro { border-right: 1px solid var(--rule); padding-right: 2.5rem; }
.mega__intro p:last-child { margin-top: .9rem; color: var(--fg-2); font-size: 1rem; line-height: 1.55; max-width: 32ch; }
.mega__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; }
.mega__link { display: block; padding: .95rem 0 1rem; border-bottom: 1px solid var(--rule); text-decoration: none; }
.mega__title { display: flex; align-items: center; gap: .6rem; font-family: var(--f-display); font-size: 1.125rem; font-weight: 650; color: #F2F4F1; }
.mega__title::after { content: "→"; font-family: var(--f-body); color: var(--verd-400); opacity: 0; transform: translateX(-6px); transition: .25s var(--ease); }
.mega__desc { display: block; margin-top: .2rem; font-size: .875rem; color: var(--fg-3); line-height: 1.45; }
.mega__link:hover .mega__title::after, .mega__link:focus-visible .mega__title::after { opacity: 1; transform: none; }
.mega__link[aria-current="page"] .mega__title { color: var(--verd-300); }
.hdr__cta { display: none; flex: none; }
.hdr__burger { width: 46px; height: 46px; display: inline-grid; place-items: center; margin-right: -8px; flex: none; }
.hdr__burger-lines, .hdr__burger-lines::before, .hdr__burger-lines::after {
display: block; width: 22px; height: 1.5px; background: #F2F4F1; position: relative;
transition: transform .3s var(--ease), background-color .2s;
}
.hdr__burger-lines::before, .hdr__burger-lines::after { content: ""; position: absolute; left: 0; }
.hdr__burger-lines::before { top: -7px; }
.hdr__burger-lines::after { top: 7px; width: 14px; }
.hdr__burger[aria-expanded="true"] .hdr__burger-lines { background: transparent; }
.hdr__burger[aria-expanded="true"] .hdr__burger-lines::before { transform: translateY(7px) rotate(45deg); }
.hdr__burger[aria-expanded="true"] .hdr__burger-lines::after { transform: translateY(-7px) rotate(-45deg); width: 22px; }
.drawer {
position: fixed; left: 0; right: 0; top: var(--hdr-h); bottom: 0;
height: calc(100dvh - var(--hdr-h));
background: var(--ink-900); overflow-y: auto; overscroll-behavior: contain;
visibility: hidden; opacity: 0; transition: opacity .25s var(--ease), visibility 0s linear .25s;
border-top: 1px solid var(--rule);
}
.site-header.is-drawer .drawer { visibility: visible; opacity: 1; transition: opacity .25s var(--ease), visibility 0s; }
.drawer__inner { padding-block: 1.5rem 3rem; display: flex; flex-direction: column; gap: 2rem; min-height: 100%; }
.drawer__list { display: grid; gap: 1.6rem; }
.drawer__single a { font-family: var(--f-display); font-size: 1.5rem; font-weight: 700; text-decoration: none; text-transform: uppercase; letter-spacing: -.01em; display: block; padding: .15rem 0; }
.drawer__label { margin-bottom: .5rem; }
.drawer__group ul { display: grid; border-top: 1px solid var(--rule); }
.drawer__group li a { display: block; padding: .8rem 0; border-bottom: 1px solid var(--rule); text-decoration: none; font-size: 1.0625rem; color: var(--fg-body); }
.drawer a[aria-current="page"] { color: var(--verd-300); }
.drawer__foot { margin-top: auto; display: grid; gap: 1.25rem; }
.drawer__foot .btn { justify-content: space-between; }
.drawer__contact { display: grid; gap: .35rem; font-family: var(--f-mono); font-size: .875rem; }
.drawer__contact a { color: var(--fg-2); text-decoration: none; padding: .35rem 0; }
body.is-locked { overflow: hidden; }
@media (min-width: 560px) {
.hdr__cta { display: inline-flex; }
}
@media (min-width: 1240px) {
.nav { display: block; }
.hdr__burger, .drawer { display: none; }
.hdr { gap: 1.5rem; }
}
@media (min-width: 1240px) and (max-width: 1360px) {
.nav__link { padding: 0 .55rem; font-size: .84rem; }
.brand__word { font-size: 1rem; }
}
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem .6rem; font-family: var(--f-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-3); }
.crumbs li { display: inline-flex; align-items: center; gap: .6rem; }
.crumbs li + li::before { content: "/"; opacity: .55; }
.crumbs a { color: var(--fg-2); text-decoration: none; padding-block: .3rem; }
.crumbs a:hover { color: var(--fg); text-decoration: underline; }
.crumbs [aria-current] { color: var(--accent-ink); }
.sec-head { display: grid; gap: 1.25rem 3rem; margin-bottom: var(--sp-block); }
.sec-head__title { max-width: 20ch; }
.sec-head__intro { max-width: 60ch; color: var(--fg-2); }
@media (min-width: 900px) {
.sec-head { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); }
.sec-head > .label, .sec-head > .sec-head__meta { grid-column: 1; padding-top: .5rem; }
.sec-head__title, .sec-head__intro { grid-column: 2; }
.sec-head__intro { margin-top: .25rem; }
}
.frame { margin: 0; position: relative; }
.frame__img {
position: relative; padding: 10px;
background:
linear-gradient(var(--accent), var(--accent)) left top / 16px 1.5px no-repeat,
linear-gradient(var(--accent), var(--accent)) left top / 1.5px 16px no-repeat,
linear-gradient(var(--accent), var(--accent)) right top / 16px 1.5px no-repeat,
linear-gradient(var(--accent), var(--accent)) right top / 1.5px 16px no-repeat,
linear-gradient(var(--accent), var(--accent)) left bottom / 16px 1.5px no-repeat,
linear-gradient(var(--accent), var(--accent)) left bottom / 1.5px 16px no-repeat,
linear-gradient(var(--accent), var(--accent)) right bottom / 16px 1.5px no-repeat,
linear-gradient(var(--accent), var(--accent)) right bottom / 1.5px 16px no-repeat;
}
.frame__img img { width: 100%; height: auto; background: var(--ink-800); }
.frame--bare .frame__img { padding: 0; background: none; }
.fig-cap {
display: flex; flex-wrap: wrap; gap: .25rem .9rem; margin-top: .85rem; padding-inline: 10px;
font-family: var(--f-mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; line-height: 1.5;
color: var(--fg-3);
}
.fig-cap b { color: var(--accent-ink); font-weight: 500; }
.stamp {
display: inline-flex; align-items: flex-start; gap: .6rem;
padding: .55rem .8rem; border: 1px solid color-mix(in srgb, var(--champ-ink) 60%, transparent);
font-family: var(--f-mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; line-height: 1.45;
color: var(--champ-ink); background: color-mix(in srgb, var(--champ-ink) 7%, transparent);
}
.stamp::before { content: ""; flex: none; width: 7px; height: 7px; margin-top: .3em; border: 1.5px solid currentColor; transform: rotate(45deg); }
.note { font-size: .9375rem; color: var(--fg-2); border-left: 2px solid var(--champ-ink); padding: .2rem 0 .2rem 1rem; }
.hl-list { border-top: 1px solid var(--rule-strong); }
.hl-list > li { border-bottom: 1px solid var(--rule); padding-block: 1.1rem; }
.ticks { display: grid; gap: .6rem; }
.ticks li { position: relative; padding-left: 1.4rem; color: var(--fg-body); }
.ticks li::before { content: ""; position: absolute; left: 0; top: .68em; width: 8px; height: 1.5px; background: var(--accent); }
.chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.chips li { font-size: .8125rem; line-height: 1.3; padding: .38rem .7rem; border: 1px solid var(--rule-strong); color: var(--fg-body); }
.tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: 1px solid var(--rule-strong); }
.tbl { width: 100%; border-collapse: collapse; min-width: 560px; }
.tbl th, .tbl td { text-align: left; padding: 1rem .9rem 1rem 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
.tbl th { font-family: var(--f-mono); font-size: .72rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-3); }
.tbl td { color: var(--fg-body); font-size: .96875rem; }
.tbl td:first-child { color: var(--fg); font-weight: 600; }
.tbl .r { text-align: right; font-variant-numeric: tabular-nums; }
.faq { border-top: 1px solid var(--rule-strong); }
.faq details { border-bottom: 1px solid var(--rule); }
.faq summary {
list-style: none; cursor: pointer; display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem;
padding: 1.35rem 0; font-family: var(--f-display); font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem); font-weight: 600; line-height: 1.3;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; font-family: var(--f-mono); font-weight: 400; font-size: 1.25rem; line-height: 1; color: var(--accent-ink); transition: transform .3s var(--ease); margin-top: .1rem; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq .faq__a { padding: 0 0 1.5rem; max-width: 70ch; color: var(--fg-body); }
.faq .faq__a > * + * { margin-top: .8em; }
.phero { position: relative; padding-block: clamp(3rem, 2rem + 5vw, 7rem) clamp(3.5rem, 2rem + 5vw, 7rem); }
.phero .crumbs { margin-bottom: clamp(2rem, 1rem + 3vw, 3.5rem); }
.phero__label { margin-bottom: 1.5rem; }
.phero__lead { margin-top: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); max-width: 58ch; }
.cta-band { position: relative; overflow: hidden; isolation: isolate; }
.cta-band__map { position: absolute; z-index: -1; right: -8%; top: 50%; width: min(1100px, 110%); transform: translateY(-50%); opacity: .22; pointer-events: none; }
.cta-band__inner { display: grid; gap: 2rem; align-items: end; }
.cta-band__title { max-width: 18ch; }
.cta-band p.lead { color: var(--fg-2); max-width: 52ch; }
@media (min-width: 900px) { .cta-band__inner { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 4rem; } }
.site-footer { background: var(--ink-950); color: var(--fg); padding-block: clamp(3.5rem, 2rem + 5vw, 6.5rem) 2rem; border-top: 1px solid var(--rule); }
.ftr__top { display: grid; gap: 2.5rem; padding-bottom: clamp(2.5rem, 2rem + 2vw, 4rem); border-bottom: 1px solid var(--rule); }
.ftr__word { font-family: var(--f-display); font-weight: 800; text-transform: uppercase; font-size: clamp(2rem, .9rem + 5.6vw, 6.6rem); line-height: .9; letter-spacing: -.03em; color: #F2F4F1; overflow-wrap: break-word; }
.ftr__word span { color: var(--verd-400); }
.ftr__tagline { margin-top: 1.25rem; font-family: var(--f-mono); font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--champ-300); }
.ftr__statement { margin-top: 1rem; max-width: 56ch; color: var(--fg-2); }
.ftr__contact { display: grid; gap: .45rem; align-content: start; }
.ftr__contact .label { margin-bottom: .4rem; }
.ftr__person { font-family: var(--f-display); font-size: 1.35rem; font-weight: 650; }
.ftr__contact a { color: var(--fg-body); text-decoration: none; font-size: 1rem; display: inline-block; padding-block: .2rem; }
.ftr__contact a:hover { color: var(--verd-300); text-decoration: underline; }
.ftr__social { display: flex; gap: .5rem; margin-top: .75rem; }
.ftr__social a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--rule-strong); }
.ftr__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 1.5rem; padding-block: clamp(2.5rem, 2rem + 2vw, 3.5rem); }
.ftr__col ul { display: grid; gap: .15rem; margin-top: 1rem; }
.ftr__col a { display: inline-block; padding-block: .3rem; color: var(--fg-2); text-decoration: none; font-size: .9375rem; }
.ftr__col a:hover { color: #fff; text-decoration: underline; }
.ftr__disclaimer { font-size: .8125rem; line-height: 1.6; color: var(--fg-3); max-width: 110ch; padding-block: 1.75rem; border-top: 1px solid var(--rule); }
.ftr__bottom { display: flex; flex-wrap: wrap; gap: .75rem 2rem; justify-content: space-between; padding-top: 1.5rem; border-top: 1px solid var(--rule); font-family: var(--f-mono); font-size: .75rem; letter-spacing: .06em; color: var(--fg-3); }
.ftr__bottom a { color: var(--fg-2); text-decoration: none; display: inline-block; padding-block: .3rem; }
.ftr__bottom a:hover { color: var(--verd-300); text-decoration: underline; }
@media (min-width: 900px) {
.ftr__top { grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr); align-items: end; }
.ftr__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.rv-pending { opacity: 0; transform: translateY(18px); }
.rv-pending.is-in { opacity: 1; transform: none; transition: opacity .9s var(--ease), transform .9s var(--ease); }
@media (prefers-reduced-motion: reduce) {
.rv-pending, .rv-pending.is-in { opacity: 1; transform: none; transition: none; }
*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
.hx { padding-block: clamp(2.5rem, 1.5rem + 4vw, 5.5rem) 0; overflow: hidden; }
.hx__map { position: absolute; z-index: -1; left: 50%; top: 4%; width: min(1500px, 150%); max-width: none; transform: translateX(-42%); opacity: .2; pointer-events: none; }
.hx__grid { display: grid; gap: clamp(2.5rem, 2rem + 2vw, 4rem); align-items: center; }
.hx__eyebrow { margin-bottom: clamp(1.25rem, 1rem + 1vw, 2rem); }
.hx__title { max-width: 13ch; }
.hx__lead { margin-top: clamp(1.5rem, 1rem + 1.4vw, 2.25rem); max-width: 54ch; color: var(--fg-body); }
.hx__ctas { margin-top: clamp(1.75rem, 1.2rem + 1.5vw, 2.75rem); }
.hx__fig { width: 100%; max-width: 560px; }
.hx__rail { display: grid; gap: 1.25rem; margin-top: clamp(3rem, 2rem + 4vw, 5.5rem); padding-block: 1.5rem 1.75rem; border-top: 1px solid var(--rule); }
.hx__pillars { display: flex; flex-wrap: wrap; gap: .5rem 2.5rem; font-family: var(--f-display); font-size: clamp(1.1rem, 1rem + .6vw, 1.5rem); font-weight: 750; text-transform: uppercase; letter-spacing: .02em; }
.hx__pillars li { display: inline-flex; align-items: baseline; gap: .6rem; }
.hx__pillars .mono { font-size: .7rem; font-weight: 500; color: var(--verd-300); letter-spacing: .1em; }
.hx__formula i, .formula__eq i { font-style: normal; color: var(--accent); padding-inline: .25em; }
@media (min-width: 980px) {
.hx__grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
.hx__fig { justify-self: end; width: min(100%, calc(100vh - var(--hdr-h) - 12rem)); min-width: 340px; }
.hx__rail { grid-template-columns: auto 1fr; align-items: center; }
.hx__formula { text-align: right; }
}
.brandline { padding-block: clamp(3.5rem, 2.5rem + 4vw, 7rem); }
.brandline__grid { display: grid; gap: 1.5rem 3rem; }
.brandline__word { font-family: var(--f-display); font-size: clamp(2.1rem, .6rem + 6.4vw, 7.6rem); font-weight: 800; letter-spacing: -.035em; line-height: .88; text-transform: uppercase; }
.brandline__word span { color: var(--accent); }
.brandline__tag { margin-top: 1.25rem; font-family: var(--f-mono); font-size: clamp(.75rem, .7rem + .2vw, .875rem); letter-spacing: .16em; text-transform: uppercase; color: var(--champ-ink); }
.brandline__stmt { margin-top: 1.75rem; max-width: 50ch; color: var(--fg-body); }
@media (min-width: 900px) {
.brandline__grid { grid-template-columns: minmax(0, 2.4fr) minmax(0, 9.6fr); }
.brandline__grid > .label { padding-top: 1rem; }
}
.people__grid { display: grid; gap: 3.5rem; }
.people__title { max-width: 14ch; margin-block: 1.5rem 2rem; }
.people__roles { align-self: end; }
.roles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); margin-block: 1.1rem 1.75rem; border-top: 1px solid var(--rule-strong); column-gap: 2rem; }
.roles li { display: flex; align-items: baseline; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--rule); font-family: var(--f-display); font-size: 1.125rem; font-weight: 600; transition: color .2s, padding .3s var(--ease); }
.roles li span { font-family: var(--f-mono); font-size: .7rem; font-weight: 500; letter-spacing: .1em; color: var(--accent-ink); flex: none; width: 3.2rem; }
.roles li:hover { padding-left: .4rem; }
.people__band { display: grid; gap: 2.5rem; margin-top: var(--sp-block); padding-top: var(--sp-block); border-top: 1px solid var(--rule); }
.people__fig { max-width: 560px; }
.people__shifts { display: grid; gap: 0; border-top: 1px solid var(--rule-strong); align-self: start; }
.shift { display: grid; gap: .5rem; padding-block: 1.5rem; border-bottom: 1px solid var(--rule); }
.shift p:last-child { color: var(--fg-body); }
@media (min-width: 980px) {
.people__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 5rem; }
.people__band { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 5rem; }
.shift { grid-template-columns: 6rem minmax(0, 12rem) minmax(0, 1fr); gap: 1.5rem; align-items: baseline; }
}
.pillars__list { display: grid; gap: 0; position: relative; counter-reset: p; }
.pillar { position: relative; padding: 0 0 3rem 2.5rem; }
.pillar::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 0; width: 1px; background: linear-gradient(var(--accent), var(--rule-strong)); }
.pillar:last-child::before { bottom: auto; height: 60%; background: linear-gradient(var(--accent), transparent); }
.pillar__node { position: absolute; left: 0; top: 0; width: 15px; height: 15px; border: 1.5px solid var(--accent); background: var(--bg); display: grid; place-items: center; transform: rotate(45deg); }
.pillar__node span { width: 5px; height: 5px; background: var(--accent); }
.pillar__num {
font-family: var(--f-display); font-weight: 800; font-size: clamp(5rem, 3rem + 8vw, 10.5rem); line-height: .8; letter-spacing: -.05em;
color: transparent; -webkit-text-stroke: 1.2px rgba(143, 216, 203, .55); margin-bottom: 1.5rem;
}
.pillar__title { font-size: clamp(2rem, 1.4rem + 2.2vw, 3.4rem); font-weight: 800; text-transform: uppercase; letter-spacing: -.02em; }
.pillar__lead { margin-top: 1rem; font-size: 1.125rem; line-height: 1.55; color: var(--fg); max-width: 34ch; }
.pillar__steps { margin-block: 1.5rem 1.75rem; border-top: 1px solid var(--rule); }
.pillar__steps li { padding: .7rem 0; border-bottom: 1px solid var(--rule); font-size: .9375rem; color: var(--fg-2); display: flex; gap: .75rem; }
.pillar__steps li::before { content: "—"; color: var(--accent); }
@media (min-width: 980px) {
.pillars__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; padding-top: 2.5rem; }
.pillars__list::before { content: ""; position: absolute; top: 7px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, var(--accent), var(--accent) 70%, transparent); }
.pillar { padding: 0; padding-top: 2.75rem; }
.pillar::before, .pillar:last-child::before { display: none; }
.pillar__node { top: -2.5rem; }
}
.twoside__grid { display: grid; gap: 1.5rem; }
.twoside__side, .twoside__core { padding: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem); border: 1px solid var(--rule-strong); background: var(--panel); }
.twoside__side h3 { margin-block: .75rem 1.25rem; }
.twoside__core { background: var(--ink-900); color: #ECEFEB; border-color: var(--ink-900); --rule: rgba(210, 225, 221, .14); --accent: var(--verd-400); }
.twoside__core .label { color: var(--verd-300); }
.core-steps { counter-reset: cs; margin-top: 1.25rem; display: grid; }
.core-steps li { counter-increment: cs; display: flex; gap: 1rem; align-items: baseline; padding: .7rem 0; border-bottom: 1px solid var(--rule); font-weight: 500; }
.core-steps li::before { content: counter(cs, decimal-leading-zero); font-family: var(--f-mono); font-size: .72rem; color: var(--verd-400); }
.core-steps li:last-child { border-bottom: 0; color: var(--verd-300); }
.twoside__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem; margin-top: 2rem; }
@media (min-width: 980px) {
.twoside__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr); gap: 0; align-items: stretch; }
.twoside__side:first-child { border-right: 0; }
.twoside__side:last-child { border-left: 0; }
.twoside__core { position: relative; margin-block: -1.5rem; box-shadow: 0 30px 60px -30px rgba(10, 43, 44, .55); }
}
.stack__grid { display: grid; gap: 3.5rem; align-items: start; }
.stack__copy { display: grid; gap: 1.5rem; justify-items: start; }
.stack__copy .t-h2 { max-width: 16ch; }
.stack__layers { display: grid; gap: 6px; }
.stack__layers li {
display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); gap: .15rem 1rem; align-items: baseline;
padding: 1.05rem 1.25rem; background: var(--ink-850); border: 1px solid var(--rule); border-left: 3px solid var(--rule-strong);
transition: border-color .25s, background-color .25s, transform .35s var(--ease);
}
.stack__layers li:nth-child(-n+2) { border-left-color: var(--champ-400); }
.stack__layers li:nth-child(n+4) { border-left-color: var(--verd-500); }
.stack__layers li:last-child { background: var(--petrol-800); }
.stack__layers li:hover { background: var(--ink-800); transform: translateX(6px); }
.stack__code { font-family: var(--f-mono); font-size: .72rem; color: var(--fg-3); letter-spacing: .08em; grid-row: span 2; }
.stack__name { font-family: var(--f-display); font-weight: 650; font-size: 1.1rem; }
.stack__desc { font-size: .875rem; color: var(--fg-2); }
.stack__owner { display: none; font-family: var(--f-mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-3); }
@media (min-width: 700px) {
.stack__layers li { grid-template-columns: 3.4rem minmax(0, 1fr) auto; }
.stack__owner { display: block; grid-row: 1 / span 2; grid-column: 3; align-self: center; }
}
@media (min-width: 1100px) {
.stack__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 5rem; }
.stack__copy { position: sticky; top: calc(var(--hdr-h) + 3rem); }
}
.pindex__list { border-top: 1px solid var(--rule-strong); }
.pindex__list a {
display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; gap: .25rem 1rem; align-items: center;
padding: 1.25rem 0; border-bottom: 1px solid var(--rule); text-decoration: none; position: relative;
transition: padding .35s var(--ease), background-color .25s;
}
.pindex__n { font-family: var(--f-mono); font-size: .75rem; color: var(--accent-ink); grid-row: span 2; align-self: start; padding-top: .35rem; }
.pindex__t { font-family: var(--f-display); font-size: clamp(1.2rem, 1rem + 1vw, 1.9rem); font-weight: 700; letter-spacing: -.01em; line-height: 1.1; }
.pindex__d { color: var(--fg-2); font-size: .9375rem; grid-column: 2; }
.pindex__list .i-arrow { grid-row: 1 / span 2; grid-column: 3; width: 20px; height: 20px; color: var(--accent-ink); transition: transform .35s var(--ease); }
.pindex__list a:hover { background: var(--panel); padding-inline: 1rem; }
.pindex__list a:hover .i-arrow { transform: translateX(4px); }
@media (min-width: 900px) {
.pindex__list a { grid-template-columns: 4rem minmax(0, 1.1fr) minmax(0, 1fr) 2rem; padding: 1.5rem 0; }
.pindex__n { grid-row: auto; align-self: center; padding: 0; }
.pindex__d { grid-column: 3; }
.pindex__list .i-arrow { grid-row: auto; grid-column: 4; justify-self: end; }
}
.formula__inner { display: grid; gap: 1.75rem; justify-items: start; }
.formula__eq { font-family: var(--f-display); font-weight: 800; text-transform: uppercase; font-size: clamp(1.6rem, 1rem + 2.6vw, 3.6rem); line-height: 1.05; letter-spacing: -.02em; max-width: 26ch; }
.formula__eq i { color: var(--accent-ink); }
.vision__grid { display: grid; gap: 3rem; }
.vision__title { max-width: 14ch; margin-top: 1.5rem; }
.vision__body { display: grid; gap: 1.5rem; align-content: end; }
.vision__body .lead { color: var(--fg-body); }
.vision__list { border-top: 1px solid var(--rule-strong); }
.vision__list li { font-family: var(--f-display); font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem); font-weight: 700; padding: .8rem 0; border-bottom: 1px solid var(--rule); display: flex; gap: 1rem; align-items: baseline; }
.vision__list li::before { content: ""; width: 9px; height: 9px; background: var(--accent); flex: none; transform: translateY(-.2em); }
@media (min-width: 1000px) { .vision__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 5rem; } }
.btn-row-col { display: grid; gap: 1.75rem; }
.ab-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3rem, 2rem + 4vw, 6rem); }
.ab-hero__title { max-width: 18ch; font-size: clamp(2.1rem, .9rem + 4.4vw, 5.6rem); }
.ab-hero__cols { display: grid; gap: 2rem; margin-top: clamp(2.5rem, 2rem + 3vw, 4.5rem); padding-top: 2rem; border-top: 1px solid var(--rule-strong); }
@media (min-width: 980px) { .ab-hero__cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 5rem; } }
.themes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5rem), 1fr)); margin-top: 2rem; border-top: 1px solid var(--rule-strong); }
.themes li { padding: 1.4rem 1.25rem 1.6rem 0; border-bottom: 1px solid var(--rule); display: grid; gap: .5rem; align-content: start; }
.themes .mono { font-size: .75rem; color: var(--accent-ink); }
.themes p { font-size: .9375rem; color: var(--fg-2); line-height: 1.5; }
@media (min-width: 1200px) {
.themes { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.themes li { border-bottom: 0; border-right: 1px solid var(--rule); padding: 1.5rem 1.25rem 0; }
.themes li:first-child { padding-left: 0; }
.themes li:last-child { border-right: 0; }
}
.leader__grid { display: grid; gap: 3rem; align-items: start; }
.leader__fig { width: 100%; max-width: 500px; }
.leader__title { max-width: 18ch; margin-top: 1.5rem; font-size: clamp(1.7rem, 1rem + 2.6vw, 3.4rem); }
.leader__name { margin-top: 2rem; font-family: var(--f-display); font-weight: 800; font-size: clamp(2rem, 1.4rem + 2.4vw, 3.5rem); letter-spacing: -.03em; line-height: 1; color: var(--accent-ink); }
.leader__meta { margin-block: 2rem; border-top: 1px solid var(--rule-strong); }
.leader__meta div { display: grid; gap: .3rem; padding: .95rem 0; border-bottom: 1px solid var(--rule); }
.leader__meta dd { margin: 0; color: var(--fg-body); }
.leader__contact { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 2rem; }
@media (min-width: 700px) { .leader__meta div { grid-template-columns: 8rem minmax(0, 1fr); gap: 1.5rem; } }
@media (min-width: 1000px) {
.leader__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(3rem, 2rem + 4vw, 7rem); }
.leader__fig { position: sticky; top: calc(var(--hdr-h) + 2rem); margin-top: 1rem; }
}
.orgs { padding-top: 0; }
.orgs__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 2rem; padding-top: var(--sp-block); border-top: 1px solid var(--rule-strong); }
.orgs__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 0 2rem; margin-top: 1.5rem; }
.orgs__list li { padding: 1rem 0; border-bottom: 1px solid var(--rule); font-family: var(--f-display); font-weight: 600; font-size: 1.0625rem; display: flex; gap: .8rem; align-items: baseline; }
.orgs__list li::before { content: ""; width: 6px; height: 6px; border: 1.5px solid var(--accent); transform: rotate(45deg) translateY(-2px); flex: none; }
.orgs__list .orgs__more { color: var(--fg-3); font-weight: 500; font-style: italic; font-family: var(--f-body); }
.saksham__head { display: grid; justify-items: start; gap: 1.25rem; margin-bottom: var(--sp-block); }
.saksham__word { font-family: var(--f-display); font-weight: 900; font-size: clamp(3.4rem, 1rem + 11vw, 12rem); letter-spacing: -.045em; line-height: .82; color: var(--fg); }
.saksham__sub { font-family: var(--f-mono); font-size: clamp(.8rem, .7rem + .4vw, 1.05rem); letter-spacing: .18em; text-transform: uppercase; color: var(--champ-300); }
.saksham__grid { display: grid; gap: 3rem; }
.saksham__copy { display: grid; gap: 1.5rem; align-content: start; }
.saksham__copy .lead { color: var(--fg); }
.saksham__fig { max-width: 370px; margin-top: .5rem; }
.saksham__figs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--rule-strong); }
.sfig { padding: 1.5rem 1rem 1.75rem 0; border-bottom: 1px solid var(--rule); display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: .75rem; }
.sfig:nth-child(odd) { border-right: 1px solid var(--rule); }
.sfig:nth-child(even) { padding-left: 1.25rem; }
.sfig--wide { grid-column: 1 / -1; border-right: 0 !important; padding-left: 0 !important; }
.sfig dd { margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem; }
.sfig .num { font-size: clamp(2.8rem, 1.8rem + 4vw, 6rem); color: var(--fg); }
.sfig--wide .num { color: var(--champ-300); }
.sfig__unit { font-family: var(--f-display); font-size: clamp(1rem, .9rem + .5vw, 1.4rem); font-weight: 600; color: var(--verd-300); }
.saksham__note { margin-top: 2.5rem; max-width: 80ch; font-size: .875rem; }
@media (min-width: 1000px) { .saksham__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 5rem; } }
.rural__grid { display: grid; gap: 3rem; }
.region-tree { margin-top: 1.25rem; font-family: var(--f-display); }
.region-tree, .region-tree ul { list-style: none; padding: 0; margin: 0; }
.region-tree > li { padding: 1.1rem 0; border-top: 1px solid var(--rule-strong); }
.region-tree > li:last-child { border-bottom: 1px solid var(--rule-strong); }
.region-tree__state { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2.2rem); font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; }
.region-tree ul { margin-top: .6rem; padding-left: 1.3rem; border-left: 1px solid var(--accent); font-size: 1.125rem; font-weight: 600; }
.region-tree ul li { padding: .3rem 0; }
.region-tree ul ul { font-size: 1rem; font-weight: 500; color: var(--fg-2); margin-top: .2rem; }
.rural__themes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 0 2rem; counter-reset: rt; border-top: 1px solid var(--rule-strong); align-self: start; }
.rural__themes li { counter-increment: rt; padding: 1.1rem 0 1.25rem; border-bottom: 1px solid var(--rule); display: grid; gap: .35rem; }
.rural__themes h3::before { content: counter(rt, decimal-leading-zero) "  "; font-family: var(--f-mono); font-size: .72rem; color: var(--accent-ink); white-space: pre; }
.rural__themes p { font-size: .9375rem; color: var(--fg-2); }
@media (min-width: 1000px) { .rural__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 5rem; } }
.philo__list { border-top: 1px solid var(--rule-strong); }
.philo__list li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .5rem 1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--rule); align-items: baseline; }
.philo__n { color: var(--verd-300); font-size: .8rem; }
.philo__word { font-size: clamp(2rem, 1rem + 4.4vw, 5.2rem); font-weight: 800; text-transform: uppercase; letter-spacing: -.03em; line-height: .95; }
.philo__list p { grid-column: 2; color: var(--fg-2); max-width: 52ch; }
.philo__list li:hover .philo__word { color: var(--verd-300); }
.philo__word { transition: color .3s; }
@media (min-width: 1000px) {
.philo__list li { grid-template-columns: 4rem minmax(0, 1.3fr) minmax(0, 1fr); gap: 2rem; align-items: center; }
.philo__list p { grid-column: 3; }
}
.orgmodel__stamp { margin-bottom: 2.5rem; }
.orgtree { display: grid; gap: 0; justify-items: center; }
.orgtree__root { width: min(100%, 30rem); padding: 1.75rem 2rem; background: var(--ink-900); color: #ECEFEB; text-align: center; display: grid; gap: .5rem; --fg: #ECEFEB; }
.orgtree__root .label { color: var(--verd-300); }
.orgtree__root p:last-child { color: #B1BBB8; }
.orgtree__units { width: 100%; display: grid; gap: 1rem; margin-top: 2.5rem; position: relative; }
.orgtree__units li { background: var(--panel); border: 1px solid var(--rule-strong); border-top: 3px solid var(--accent); padding: 1.4rem 1.4rem 1.6rem; display: grid; gap: .5rem; align-content: start; position: relative; }
.orgtree__units li p:last-child { color: var(--fg-2); font-size: .9375rem; }
@media (min-width: 900px) {
.orgtree__units { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-top: 4rem; }
.orgtree__units::before { content: ""; position: absolute; top: -2rem; left: 12.5%; right: 12.5%; height: 1px; background: var(--rule-strong); }
.orgtree__units::after { content: ""; position: absolute; top: -4rem; left: 50%; width: 1px; height: 2rem; background: var(--rule-strong); }
.orgtree__units li::before { content: ""; position: absolute; top: calc(-2rem - 3px); left: 50%; width: 1px; height: 2rem; background: var(--rule-strong); }
}
.gw-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3rem, 2rem + 4vw, 6rem); }
.gw-hero__grid { display: grid; gap: 1.75rem 4rem; align-items: end; margin-bottom: clamp(2.5rem, 2rem + 3vw, 4.5rem); }
.gw-hero__title { max-width: 13ch; }
.gw-hero__lead { color: var(--fg-body); max-width: 52ch; }
.gw-hero__fig { max-width: 1400px; }
@media (min-width: 1000px) { .gw-hero__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); } }
.forces__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); border-top: 1px solid var(--rule-strong); border-left: 1px solid var(--rule); }
.forces__grid li { padding: 1.75rem 1.5rem 2rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); display: grid; gap: .75rem; align-content: start; transition: background-color .3s; }
.forces__grid li:hover { background: var(--panel); }
.forces__grid .mono { font-size: .75rem; color: var(--accent-ink); }
.forces__grid p { color: var(--fg-2); font-size: .96875rem; }
@media (min-width: 1000px) { .forces__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.demo__grid { display: grid; gap: 3.5rem; align-items: center; }
.demo__copy { display: grid; gap: 1.75rem; }
.demo__copy .t-h2 { max-width: 16ch; }
.demo__fig { margin: 0; display: grid; gap: 1.25rem; justify-items: start; }
.demo__charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; width: 100%; padding: clamp(1.25rem, 1rem + 1.5vw, 2.5rem); background: var(--paper-50); border: 1px solid var(--rule); }
.pyr { display: grid; gap: .9rem; justify-items: center; }
.pyr svg { width: 100%; height: auto; }
.pyr__bars rect { transition: opacity .3s; }
.pyr__bars--age rect { fill: var(--petrol-700); }
.pyr__bars--young rect { fill: var(--verd-500); }
.pyr__axis { stroke: var(--paper-50); stroke-width: 2; }
.demo__axis { display: flex; justify-content: space-between; width: 100%; gap: 1rem; }
@media (min-width: 1000px) { .demo__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 5rem; } }
.split-sec__head { padding-top: var(--sp-section); }
.split { display: grid; position: relative; }
.split__half { padding: clamp(3rem, 2rem + 4vw, 6rem) var(--gutter); }
.split__inner { max-width: 560px; display: grid; gap: 1rem; }
.split__title { font-size: clamp(1.8rem, 1.2rem + 2.4vw, 3.4rem); font-weight: 800; text-transform: uppercase; letter-spacing: -.02em; line-height: .95; max-width: 11ch; }
.split__list { margin-top: .75rem; border-top: 1px solid var(--rule-strong); counter-reset: sl; }
.split__list li { counter-increment: sl; display: flex; gap: 1rem; align-items: baseline; padding: .9rem 0; border-bottom: 1px solid var(--rule); font-family: var(--f-display); font-size: clamp(1.05rem, 1rem + .4vw, 1.3rem); font-weight: 600; }
.split__list li::before { content: counter(sl, decimal-leading-zero); font-family: var(--f-mono); font-size: .72rem; font-weight: 400; color: var(--accent-ink); }
.split__badge { display: none; }
@media (min-width: 900px) {
.split { grid-template-columns: 1fr 1fr; }
.split__half:first-child .split__inner { margin-left: auto; margin-right: clamp(2rem, 4vw, 5rem); }
.split__half:last-child .split__inner { margin-left: clamp(2rem, 4vw, 5rem); }
.split__badge { display: grid; place-items: center; position: absolute; left: 50%; top: 50%; width: 92px; height: 92px; transform: translate(-50%, -50%) rotate(45deg); background: var(--verd-400); z-index: 2; box-shadow: 0 0 0 10px rgba(87, 195, 178, .18); }
.split__badge span { transform: rotate(-45deg); font-family: var(--f-display); font-weight: 800; font-size: 1.35rem; color: var(--ink-950); letter-spacing: .02em; }
}
.illus__stamp { margin-bottom: 2.5rem; }
.illus__flow { display: grid; gap: 0; }
.illus__country, .illus__platform { padding: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem); border: 1px solid var(--rule-strong); display: grid; gap: 1rem; align-content: start; }
.illus__country { background: var(--ink-850); }
.illus__platform { background: var(--petrol-900); border-color: rgba(87, 195, 178, .45); }
.illus__dl div { display: grid; gap: .3rem; padding: .5rem 0 .75rem; border-bottom: 1px solid var(--rule); }
.illus__dl dd { margin: 0; font-size: clamp(2.4rem, 1.8rem + 2vw, 3.6rem); color: var(--champ-300); }
.illus__steps { counter-reset: is; display: grid; }
.illus__steps li { counter-increment: is; display: flex; gap: 1rem; align-items: baseline; padding: .6rem 0; border-bottom: 1px solid var(--rule); font-weight: 500; }
.illus__steps li::before { content: counter(is, decimal-leading-zero); font-family: var(--f-mono); font-size: .72rem; color: var(--verd-400); }
.illus__steps li:last-child { border-bottom: 0; color: var(--verd-300); }
.illus__arrow { height: 2.75rem; position: relative; }
.illus__arrow::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 8px; width: 1px; background: var(--accent); }
.illus__arrow::after { content: ""; position: absolute; left: calc(50% - 5px); bottom: 2px; width: 10px; height: 10px; border-right: 1.5px solid var(--accent); border-bottom: 1.5px solid var(--accent); transform: rotate(45deg); }
.illus__note { margin-top: 2.5rem; max-width: 80ch; }
@media (min-width: 1100px) {
.illus__flow { grid-template-columns: minmax(0, 1fr) 3rem minmax(0, 1.15fr) 3rem minmax(0, 1fr); align-items: center; }
.illus__arrow { height: 1px; }
.illus__arrow::before { left: 0; right: 8px; top: 0; bottom: auto; width: auto; height: 1px; }
.illus__arrow::after { left: auto; right: 2px; top: -5px; bottom: auto; transform: rotate(-45deg); }
}
.scale__tbl th[scope="row"] { font-family: var(--f-display); font-size: 1.0625rem; font-weight: 650; color: var(--fg); text-transform: none; letter-spacing: 0; }
.scale__tbl td { vertical-align: middle; }
.num-cell { font-family: var(--f-display); font-weight: 750; font-size: 1.2rem; color: var(--fg) !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bar { display: block; height: 10px; background: linear-gradient(90deg, var(--verd-500), var(--petrol-700)); min-width: 8px; }
.b1 { width: 12%; } .b2 { width: 32%; } .b3 { width: 41%; } .b4 { width: 62%; } .b5 { width: 71%; } .b6 { width: 91%; } .b7 { width: 100%; background: repeating-linear-gradient(90deg, var(--champ-700) 0 6px, transparent 6px 10px); }
.scale__tbl td:nth-child(3) { min-width: 160px; width: 28%; }
.scale__req { margin-top: 3rem; display: grid; gap: 1.25rem; }
.history__grid { display: grid; gap: 3rem; }
.history__grid .t-h2 { max-width: 18ch; margin-top: 1.5rem; }
.history__lead { margin-top: 1.75rem; color: var(--fg-2); max-width: 52ch; }
.history__list { border-top: 1px solid var(--rule-strong); }
.history__list li { display: grid; gap: .4rem; padding: 1.4rem 0; border-bottom: 1px solid var(--rule); }
.history__list li p:last-child { color: var(--fg-body); }
.history__note { grid-column: 1 / -1; }
@media (min-width: 1000px) { .history__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 5rem; } }
.faq-title { margin-block: 1.5rem 2.5rem; }
.gs-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3.5rem, 2rem + 5vw, 7rem); }
.gs-hero__grid { display: grid; gap: 3rem; align-items: end; }
.gs-hero__title { max-width: 14ch; font-size: clamp(2rem, .9rem + 3.4vw, 4.4rem); }
.gs-hero__ctas { margin-top: 2.25rem; }
.gs-brief { background: var(--ink-850); border: 1px solid var(--rule-strong); padding: 1.5rem 1.5rem 1.25rem; }
.gs-brief__top { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--rule); }
.gs-brief__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 0 1.5rem; padding-block: .5rem; }
.gs-brief__list li { display: flex; gap: .9rem; align-items: baseline; padding: .65rem 0; border-bottom: 1px solid var(--rule); font-weight: 500; font-size: .96875rem; }
.gs-brief__list span { font-family: var(--f-mono); font-size: .72rem; color: var(--verd-300); }
.gs-brief__foot { padding-top: .9rem; color: var(--champ-300); }
@media (min-width: 1100px) { .gs-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 5rem; } }
.console { display: grid; gap: 0; border: 1px solid var(--rule-strong); background: var(--panel); }
.console__tabs { display: flex; overflow-x: auto; border-bottom: 1px solid var(--rule-strong); scrollbar-width: thin; }
.console__tabs [role="tab"] {
flex: none; display: flex; gap: .75rem; align-items: baseline; text-align: left;
padding: 1rem 1.15rem; min-height: 3.25rem; font-weight: 600; font-size: .9375rem; color: var(--fg-2);
border-right: 1px solid var(--rule); position: relative; transition: background-color .2s, color .2s;
}
.console__tabs [role="tab"] span { font-family: var(--f-mono); font-size: .72rem; color: var(--fg-3); font-weight: 400; }
.console__tabs [role="tab"]:hover { color: var(--fg); background: var(--paper-50); }
.console__tabs [role="tab"][aria-selected="true"] { color: var(--fg); background: var(--paper-50); }
.console__tabs [role="tab"][aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--accent); }
.console__tabs [role="tab"][aria-selected="true"] span { color: var(--accent-ink); }
.console__tabs [role="tab"]:focus-visible { outline-offset: -4px; }
html:not(.js) .console__tabs { display: none; }
.console__panels { padding: clamp(1.5rem, 1rem + 2.5vw, 3.5rem); }
.cpanel { display: grid; gap: 1.25rem; }
html:not(.js) .cpanel + .cpanel { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid var(--rule); }
.cpanel:focus-visible { outline-offset: 8px; }
.cpanel__title { font-size: clamp(1.8rem, 1.2rem + 2.2vw, 3.2rem); font-weight: 800; text-transform: uppercase; letter-spacing: -.02em; }
.cpanel__cols { display: grid; gap: 2rem; margin-top: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--rule); }
.cpanel__cols .label { margin-bottom: 1rem; }
.cpanel__gov { display: grid; gap: .35rem; margin-top: 1rem; padding: 1.1rem 1.25rem; background: var(--ink-900); color: #ECEFEB; font-weight: 500; }
.cpanel__gov .label { color: var(--champ-300); }
@media (min-width: 760px) { .cpanel__cols { grid-template-columns: 1.3fr 1fr; } }
@media (min-width: 1100px) {
.console { grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); }
.console__tabs { flex-direction: column; overflow: visible; border-bottom: 0; border-right: 1px solid var(--rule-strong); }
.console__tabs [role="tab"] { border-right: 0; border-bottom: 1px solid var(--rule); padding: 1.05rem 1.35rem; }
.console__tabs [role="tab"][aria-selected="true"]::after { left: auto; top: 0; right: -1px; width: 3px; height: auto; }
}
.raci__stamp { margin-bottom: 2rem; }
.raci th[scope="row"] { font-family: var(--f-body); text-transform: none; letter-spacing: 0; font-size: .96875rem; font-weight: 600; color: var(--fg); }
.rc { display: inline-block; font-family: var(--f-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; padding: .3rem .55rem; white-space: nowrap; }
.rc--d { background: var(--ink-900); color: #ECEFEB; }
.rc--v { background: var(--verd-400); color: var(--ink-950); }
.rc--s { border: 1px solid var(--rule-strong); color: var(--fg-2); }
.rc--n { color: var(--fg-3); }
.case__grid { display: grid; gap: 3rem; align-items: start; }
.case__head { display: grid; gap: 1.5rem; justify-items: start; }
.case__head .t-h2 { max-width: 16ch; }
.case__head .lead { color: var(--fg-body); }
.case__steps { border-top: 1px solid var(--rule-strong); }
.case__steps li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--rule); }
.case__steps .mono { color: var(--verd-300); font-size: .8rem; padding-top: .2rem; }
.case__steps p { color: var(--fg-2); margin-top: .3rem; }
@media (min-width: 1000px) {
.case__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 5rem; }
.case__head { position: sticky; top: calc(var(--hdr-h) + 3rem); }
}
.rc-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3.5rem, 2rem + 5vw, 7rem); }
.rc-hero__grid { display: grid; gap: 3rem; align-items: center; }
.rc-hero__title { max-width: 12ch; }
.rc-hero__ctas { margin-top: 2.25rem; }
.rc-hero__fig { width: 100%; max-width: 520px; }
@media (min-width: 1000px) { .rc-hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 5rem; } .rc-hero__fig { justify-self: end; } }
.journey__grid { display: grid; gap: 3rem; align-items: start; }
.journey__head { display: grid; gap: 1.5rem; justify-items: start; }
.journey__head .lead { color: var(--fg-body); }
.journey__key { display: flex; flex-wrap: wrap; gap: .5rem; }
.own { display: inline-block; font-family: var(--f-mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; padding: .28rem .5rem; border: 1px solid; }
.own--c { color: var(--fg-2); border-color: var(--rule-strong); }
.own--p { color: var(--verd-300); border-color: rgba(87, 195, 178, .5); }
.own--a { color: var(--champ-300); border-color: rgba(213, 191, 145, .5); }
.own--g { color: var(--ink-950); background: var(--champ-300); border-color: var(--champ-300); }
.journey__track { position: relative; --p: 0; }
.journey__line { position: absolute; left: 1.35rem; top: 0; bottom: 0; width: 1px; background: var(--rule-strong); }
.journey__line span { position: absolute; left: -1px; top: 0; width: 3px; height: 100%; background: var(--accent); transform-origin: top; transform: scaleY(var(--p)); }
.journey__list { position: relative; }
.jphase { font-family: var(--f-mono); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--champ-300); padding: 2rem 0 .75rem 3.75rem; }
.jphase:first-child { padding-top: 0; }
.jstep { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1rem; padding: 1rem 0 1.25rem; }
.jstep__n { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; background: var(--ink-900); border: 1px solid var(--rule-strong); font-family: var(--f-mono); font-size: .8rem; color: var(--verd-300); position: relative; z-index: 1; }
.jstep h3 { padding-top: .55rem; }
.jstep p { color: var(--fg-2); margin-block: .35rem .7rem; max-width: 58ch; }
@media (min-width: 1000px) {
.journey__grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 5rem; }
.journey__head { position: sticky; top: calc(var(--hdr-h) + 3rem); }
}
.cats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1px; background: var(--rule-strong); border: 1px solid var(--rule-strong); }
.cat { background: var(--bg); padding: 1.75rem 1.5rem 2rem; display: grid; gap: 1rem; align-content: start; transition: background-color .3s; }
.cat:hover { background: var(--panel); }
.cat__code { font-size: .72rem; color: var(--accent-ink); }
.cat__title { font-size: clamp(1.35rem, 1.1rem + .9vw, 1.9rem); font-weight: 750; text-transform: uppercase; letter-spacing: -.01em; line-height: 1; }
.cat--combat { background: var(--ink-900); color: #ECEFEB; --fg: #ECEFEB; }
.cat--combat .cat__code { color: var(--verd-300); }
.cat--combat p:last-child { color: #B1BBB8; }
.cat--combat:hover { background: var(--ink-850); }
@media (min-width: 1100px) {
.cats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cat--combat { grid-row: span 2; align-content: end; }
}
.fair__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 0 3rem; border-top: 1px solid var(--rule-strong); }
.fair__list li { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: .4rem 1rem; padding: 1.5rem 0 1.75rem; border-bottom: 1px solid var(--rule); align-content: start; }
.fair__list .num { grid-row: span 2; font-size: 2.6rem; color: var(--accent-ink); }
.fair__list p { color: var(--fg-2); }
.tr-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3.5rem, 2rem + 5vw, 7rem); }
.tr-hero__grid { display: grid; gap: 3rem; align-items: center; }
.tr-hero__title { max-width: 15ch; }
.tr-hero__facts { margin-top: 2.5rem; border-top: 1px solid var(--rule-strong); max-width: 42rem; }
.tr-hero__facts div { display: grid; gap: .25rem; padding: .9rem 0; border-bottom: 1px solid var(--rule); }
.tr-hero__facts dd { margin: 0; color: var(--fg-body); }
.tr-hero__fig { width: 100%; max-width: 400px; justify-self: center; }
@media (min-width: 640px) { .tr-hero__facts div { grid-template-columns: 7rem minmax(0, 1fr); gap: 1.5rem; } }
@media (min-width: 1000px) { .tr-hero__grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 5rem; } .tr-hero__fig { justify-self: end; } }
.arch__build { display: grid; gap: 10px; }
.arch__tier { padding: clamp(1.25rem, 1rem + 1.5vw, 2.25rem); display: grid; gap: 1.25rem; align-content: start; }
.arch__head { display: flex; align-items: baseline; gap: 1rem; }
.arch__head .mono { font-size: .75rem; }
.arch__name { font-size: clamp(1.6rem, 1.1rem + 2vw, 2.8rem); font-weight: 800; text-transform: uppercase; letter-spacing: -.02em; line-height: 1; }
.arch__tier--pro { background: var(--ink-900); color: #ECEFEB; --fg: #ECEFEB; --fg-body: #C9D1CE; --rule-strong: rgba(210, 225, 221, .28); clip-path: polygon(3% 0, 97% 0, 100% 100%, 0 100%); padding-inline: clamp(1.75rem, 1rem + 4vw, 4rem); }
.arch__tier--pro .mono { color: var(--champ-300); }
.arch__pillars { display: grid; gap: 10px; }
.arch__tier--tech, .arch__tier--dig { background: var(--panel); border: 1px solid var(--rule-strong); border-top: 3px solid var(--accent); }
.arch__tier--tech .mono, .arch__tier--dig .mono { color: var(--accent-ink); }
.arch__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: 0 1.5rem; }
.arch__list li { padding: .7rem 0; border-bottom: 1px solid var(--rule); font-family: var(--f-display); font-weight: 600; font-size: 1.0625rem; }
.arch__tier--found { background: var(--petrol-800); color: #ECEFEB; --fg: #ECEFEB; --fg-body: #D4DBD8; --rule-strong: rgba(210, 225, 221, .3); }
.arch__tier--found .mono { color: var(--verd-300); }
@media (min-width: 800px) { .arch__pillars { grid-template-columns: 1fr 1fr; padding-inline: 4%; } }
.auth__statement { margin: 0 0 var(--sp-block); padding-left: clamp(1rem, .5rem + 2vw, 2.5rem); border-left: 4px solid var(--accent); }
.auth__statement p { font-family: var(--f-display); font-weight: 750; font-size: clamp(1.6rem, 1rem + 2.6vw, 3.4rem); line-height: 1.08; letter-spacing: -.02em; max-width: 24ch; }
.auth__grid { display: grid; gap: 1.5rem; }
.auth__col { padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); border: 1px solid var(--rule-strong); display: grid; gap: 1.25rem; align-content: start; }
.auth__col--not { background: var(--paper-50); }
.auth__col--not .ticks li::before { background: var(--champ-700); }
@media (min-width: 800px) { .auth__grid { grid-template-columns: 1fr 1fr; } }
.path__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 0; border-top: 1px solid var(--rule-strong); }
.path__list li { position: relative; padding: 1.5rem 1.25rem 1.75rem 0; border-bottom: 1px solid var(--rule); display: grid; gap: .5rem; align-content: start; }
.path__list .mono { font-size: .72rem; color: var(--verd-300); }
.path__list p { color: var(--fg-2); font-size: .9375rem; }
@media (min-width: 1100px) {
.path__list { grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 0; }
.path__list li { border-bottom: 0; border-top: 1px solid var(--rule-strong); padding-top: 2rem; }
.path__list li::before { content: ""; position: absolute; top: -6px; left: 0; width: 11px; height: 11px; background: var(--ink-900); border: 1.5px solid var(--accent); transform: rotate(45deg); }
.path__list li:last-child::before { background: var(--accent); }
}
.tprin__grid { display: grid; gap: 3rem; }
.tprin__grid .t-h2 { max-width: 14ch; margin-top: 1.5rem; }
.tprin__list { border-top: 1px solid var(--rule-strong); }
.tprin__list div { display: grid; gap: .4rem; padding: 1.3rem 0; border-bottom: 1px solid var(--rule); }
.tprin__list dd { margin: 0; color: var(--fg-2); }
@media (min-width: 1000px) {
.tprin__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 5rem; }
.tprin__list div { grid-template-columns: 14rem minmax(0, 1fr); gap: 2rem; }
}
.rs-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3.5rem, 2rem + 5vw, 7rem); }
.rs-hero__grid { display: grid; gap: 2.5rem; align-items: end; }
.rs-hero__title { max-width: 12ch; font-size: clamp(2.3rem, .9rem + 5.2vw, 6.2rem); }
.rs-hero__side { display: grid; gap: 2rem; }
.rs-hero__side .lead { color: var(--fg-body); }
.rs-hero__fig { max-width: 620px; }
@media (min-width: 1100px) { .rs-hero__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 4rem; } }
.rings { display: grid; gap: 3rem; align-items: center; }
.rings__diagram { max-width: 460px; width: 100%; justify-self: center; }
.rings__diagram svg { width: 100%; height: auto; overflow: visible; }
.ring { fill: none; stroke: rgba(210, 225, 221, .22); stroke-width: 1.2; transition: stroke .35s, fill .35s, stroke-width .35s; }
.ring--active { fill: rgba(87, 195, 178, .08); }
.ring__t { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; fill: #8A9694; text-anchor: middle; transition: fill .35s; }
.rings:not([data-active]) .ring--active, .rings[data-active="active"] .ring--active,
.rings[data-active="reserve"] .ring--reserve, .rings[data-active="specialist"] .ring--specialist, .rings[data-active="civil"] .ring--civil { stroke: var(--verd-400); stroke-width: 3; fill: rgba(87, 195, 178, .1); }
.rings[data-active="active"] .ring__t--active, .rings[data-active="reserve"] .ring__t--reserve, .rings[data-active="specialist"] .ring__t--specialist, .rings[data-active="civil"] .ring__t--civil { fill: var(--verd-300); }
.rings__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--rule-strong); border: 1px solid var(--rule-strong); margin-bottom: 2rem; }
.rings__tabs [role="tab"] { background: var(--ink-900); padding: 1rem 1.1rem; min-height: 3.25rem; text-align: left; font-weight: 600; color: var(--fg-2); display: flex; gap: .7rem; align-items: baseline; transition: background-color .2s, color .2s; }
.rings__tabs [role="tab"] .mono { font-size: .72rem; color: var(--fg-3); }
.rings__tabs [role="tab"]:hover { color: var(--fg); background: var(--ink-850); }
.rings__tabs [role="tab"][aria-selected="true"] { background: var(--verd-400); color: var(--ink-950); }
.rings__tabs [role="tab"][aria-selected="true"] .mono { color: var(--ink-950); }
.rings__tabs [role="tab"]:focus-visible { outline-offset: -5px; }
html:not(.js) .rings__tabs { display: none; }
.rpanel { display: grid; gap: 1rem; }
html:not(.js) .rpanel + .rpanel { margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px solid var(--rule); }
.rpanel__title { font-size: clamp(1.8rem, 1.2rem + 2.2vw, 3rem); font-weight: 800; text-transform: uppercase; letter-spacing: -.02em; }
.rpanel .lead { color: var(--verd-300); }
.rpanel > p:not(.lead) { color: var(--fg-body); max-width: 56ch; }
@media (min-width: 1000px) { .rings { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 5rem; } }
.cmp__tbl th[scope="row"] { color: var(--fg); }
.cmp__tbl thead th:not(:first-child) { font-family: var(--f-display); font-size: 1rem; font-weight: 700; letter-spacing: -.005em; text-transform: uppercase; color: var(--fg); }
.cmp__tbl td:first-child { font-weight: 400; color: var(--fg-body); }
.cmp__tbl { min-width: 760px; }
.benefits__grid { display: grid; gap: 3rem; }
.benefits__grid .t-h2 { max-width: 14ch; margin-top: 1.5rem; }
.benefits__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 0 2.5rem; counter-reset: bn; border-top: 1px solid var(--rule-strong); }
.benefits__list li { counter-increment: bn; padding: 1.4rem 0 1.6rem; border-bottom: 1px solid var(--rule); display: grid; gap: .5rem; align-content: start; }
.benefits__list li::before { content: counter(bn, decimal-leading-zero); font-family: var(--f-mono); font-size: .75rem; color: var(--accent-ink); }
.benefits__list p { color: var(--fg-2); }
@media (min-width: 1000px) { .benefits__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 5rem; } }
.cycle__grid { display: grid; gap: 3rem; align-items: center; }
.cycle__copy { display: grid; gap: 1.5rem; }
.cycle__copy .lead { color: var(--fg-body); }
.cycle__legend { border-top: 1px solid var(--rule-strong); }
.cycle__legend li { display: flex; gap: 1rem; align-items: baseline; padding: .75rem 0; border-bottom: 1px solid var(--rule); font-family: var(--f-display); font-weight: 600; font-size: 1.125rem; }
.cycle__legend .mono { color: var(--verd-300); font-size: .75rem; font-weight: 400; }
.cycle__legend li:nth-child(5) { color: var(--champ-300); }
.cycle__svg { max-width: 440px; width: 100%; justify-self: center; }
.cycle__svg svg { width: 100%; height: auto; }
.cycle__track { fill: none; stroke: rgba(210, 225, 221, .16); stroke-width: 1.5; }
.cycle__run { fill: none; stroke: var(--verd-400); stroke-width: 2; stroke-dasharray: 60 694; transform-origin: 160px 160px; animation: cycle-run 14s linear infinite; }
@keyframes cycle-run { to { transform: rotate(360deg); } }
.cycle__nodes circle { fill: var(--ink-900); stroke: var(--verd-400); stroke-width: 1.5; }
.cycle__nodes .is-gov { stroke: var(--champ-300); }
.cycle__nums text { font-family: var(--f-mono); font-size: 12px; fill: #ECEFEB; text-anchor: middle; }
.cycle__center { font-family: var(--f-display); font-weight: 800; font-size: 20px; letter-spacing: .04em; fill: #ECEFEB; text-anchor: middle; }
.cycle__center--s { font-family: var(--f-mono); font-weight: 400; font-size: 11px; letter-spacing: .2em; fill: #8A9694; }
@media (min-width: 1000px) { .cycle__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 5rem; } }
.rcase__stamp { margin-bottom: 2rem; }
.rcase__flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 1px; background: var(--rule-strong); border: 1px solid var(--rule-strong); counter-reset: rc; }
.rcase__flow li { counter-increment: rc; background: var(--bg); padding: 1.25rem 1.25rem 1.5rem; display: grid; gap: .5rem; align-content: start; }
.rcase__flow .mono { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--accent-ink); }
.rcase__flow .mono::before { content: counter(rc, decimal-leading-zero) " · "; color: var(--fg-3); }
.rcase__flow p { font-size: .9375rem; color: var(--fg-body); }
@media (min-width: 1100px) { .rcase__flow { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sp-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(2rem, 1.5rem + 3vw, 4rem); }
.sp-hero__grid { display: grid; gap: 2.5rem; align-items: end; }
.sp-hero__fig { width: 180px; max-width: 45vw; }
.sp-hero__title { max-width: 17ch; }
@media (min-width: 900px) { .sp-hero__grid { grid-template-columns: 200px minmax(0, 1fr); gap: 4rem; } .sp-hero__fig { width: 100%; max-width: 200px; } }
.constel-sec { padding-top: clamp(2rem, 1.5rem + 3vw, 4rem); }
.constel__grid { display: grid; gap: 3rem; align-items: center; }
.constel__svg { max-width: 600px; width: 100%; justify-self: center; }
.constel__svg svg { width: 100%; height: auto; overflow: visible; }
.cs-orbit { fill: none; stroke: rgba(210, 225, 221, .14); stroke-width: 1; }
.cs-orbit--in { stroke-dasharray: 2 6; stroke: rgba(143, 216, 203, .35); }
.cs-web { fill: rgba(87, 195, 178, .05); stroke: rgba(143, 216, 203, .4); stroke-width: 1; stroke-dasharray: 4 5; }
.cs-spokes line { stroke: rgba(210, 225, 221, .16); stroke-width: 1; }
.cs-core { fill: var(--verd-400); }
.cs-core-t { font-family: var(--f-mono); font-size: 11px; letter-spacing: .12em; fill: var(--ink-950); text-anchor: middle; font-weight: 500; }
.cs-nodes circle { fill: var(--ink-900); stroke: var(--verd-400); stroke-width: 2; }
.cs-labels text { font-family: var(--f-mono); font-size: 15px; letter-spacing: .12em; fill: #ECEFEB; text-anchor: middle; }
@media (prefers-reduced-motion: no-preference) {
.cs-web { animation: cs-dash 30s linear infinite; }
@keyframes cs-dash { to { stroke-dashoffset: -180; } }
}
.constel__copy { display: grid; gap: 1.5rem; }
.constel__copy .lead { color: var(--fg-body); }
.constel__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 0 1.5rem; border-top: 1px solid var(--rule-strong); }
.constel__list a { display: flex; gap: 1rem; align-items: baseline; padding: .8rem 0; border-bottom: 1px solid var(--rule); text-decoration: none; font-family: var(--f-display); font-weight: 650; font-size: 1.125rem; transition: color .2s; }
.constel__list a:hover { color: var(--verd-300); }
.constel__list .mono { font-size: .7rem; color: var(--fg-3); font-weight: 400; }
@media (min-width: 1000px) { .constel__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 5rem; } }
.specs__list { border-top: 1px solid var(--rule-strong); }
.spec { display: grid; gap: 1.25rem; padding: 2rem 0; border-bottom: 1px solid var(--rule); }
.spec__id { display: grid; gap: .4rem; align-content: start; }
.spec__id .mono { font-size: .75rem; color: var(--accent-ink); }
.spec__name { font-size: clamp(1.8rem, 1.2rem + 2vw, 3rem); font-weight: 800; text-transform: uppercase; letter-spacing: -.02em; line-height: 1; }
.spec__id p { color: var(--fg-2); }
.spec__dl { display: grid; gap: 0; }
.spec__dl div { display: grid; gap: .3rem; padding: .8rem 0; border-top: 1px solid var(--rule); }
.spec__dl dd { margin: 0; color: var(--fg-body); }
@media (min-width: 900px) {
.spec { grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); gap: 3rem; }
.spec__dl div { grid-template-columns: 9rem minmax(0, 1fr); gap: 1.5rem; }
.spec__dl div:first-child { border-top: 0; padding-top: 0; }
}
.dual__grid { display: grid; gap: 3rem; }
.dual__grid .t-h2 { max-width: 12ch; margin-top: 1.5rem; }
.dual__body { display: grid; gap: 2rem; }
.dual__pairs { border-top: 1px solid var(--rule-strong); }
.dual__pairs li { display: grid; gap: .25rem; padding: 1rem 0; border-bottom: 1px solid var(--rule); }
.dual__pairs li span:first-child { font-family: var(--f-display); font-weight: 700; font-size: 1.125rem; }
.dual__pairs li span:last-child { color: var(--fg-2); }
@media (min-width: 700px) { .dual__pairs li { grid-template-columns: 12rem minmax(0, 1fr); gap: 1.5rem; align-items: baseline; } .dual__pairs li span:first-child::after { content: " →"; color: var(--accent-ink); } }
@media (min-width: 1000px) { .dual__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 5rem; } }
.tp-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3.5rem, 2rem + 5vw, 7rem); }
.tp-hero__head { max-width: 62rem; margin-bottom: clamp(2.5rem, 2rem + 3vw, 4.5rem); }
.tp-hero__title { max-width: 18ch; }
.dash { margin: 0; border: 1px solid var(--rule-strong); background: var(--ink-950); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .8), 0 0 0 1px rgba(87, 195, 178, .08); }
.dash__bar { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; padding: .8rem 1rem; border-bottom: 1px solid var(--rule); background: var(--ink-900); }
.dash__dots { display: inline-flex; gap: 6px; }
.dash__dots i { width: 9px; height: 9px; border-radius: 50%; background: var(--ink-700); }
.dash__name { font-family: var(--f-mono); font-size: .75rem; color: var(--fg-2); letter-spacing: .04em; margin-right: auto; }
.dash__stamp { font-family: var(--f-mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-950); background: var(--champ-300); padding: .25rem .5rem; }
.dash__body { display: grid; }
.dash__side { display: none; }
.dash__main { padding: clamp(.9rem, .5rem + 1.5vw, 1.75rem); display: grid; gap: 1rem; min-width: 0; }
.dash__flow { display: flex; flex-wrap: wrap; gap: 4px; }
.dash__flow li { flex: 1 1 8.5rem; font-family: var(--f-mono); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; color: var(--fg-3); padding: .6rem .7rem; background: var(--ink-850); border-top: 2px solid var(--ink-700); }
.dash__flow .is-done { color: var(--fg-2); border-top-color: var(--verd-500); }
.dash__flow .is-active { color: var(--verd-300); border-top-color: var(--verd-300); background: rgba(87, 195, 178, .08); }
.dash__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.dpanel { background: var(--ink-900); border: 1px solid var(--rule); padding: 1rem; display: grid; gap: .9rem; align-content: start; min-width: 0; }
.dpanel__t { font-family: var(--f-mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-3); }
.dbars { display: flex; align-items: flex-end; gap: 6px; height: 96px; }
.dbars i { flex: 1; background: linear-gradient(var(--verd-400), var(--petrol-700)); }
.h9 { height: 100%; } .h8 { height: 84%; } .h7 { height: 70%; } .h6 { height: 58%; } .h5 { height: 47%; } .h4 { height: 38%; } .h3 { height: 30%; } .h2 { height: 24%; }
.dbars__x, .drings__x { display: flex; justify-content: space-between; gap: .4rem; font-family: var(--f-mono); font-size: .6rem; color: var(--fg-3); text-transform: uppercase; letter-spacing: .06em; flex-wrap: wrap; }
.drings { display: flex; justify-content: space-between; }
.drings svg { width: 56px; height: 56px; transform: rotate(-90deg); }
.dr-bg { fill: none; stroke: var(--ink-700); stroke-width: 3.2; }
.dr-fg { fill: none; stroke: var(--verd-400); stroke-width: 3.2; stroke-linecap: round; }
.dr-a { stroke-dasharray: 80 100; } .dr-b { stroke-dasharray: 55 100; stroke: var(--verd-300); } .dr-c { stroke-dasharray: 35 100; stroke: var(--champ-300); }
.dseg { display: grid; grid-template-columns: 5.5rem 1fr; gap: .6rem; align-items: center; font-size: .75rem; color: var(--fg-2); }
.dseg b { height: 8px; background: repeating-linear-gradient(90deg, var(--verd-400) 0 10px, transparent 10px 13px); }
.s1 { width: 90%; } .s2 { width: 65%; } .s3 { width: 40%; background: repeating-linear-gradient(90deg, var(--champ-300) 0 10px, transparent 10px 13px) !important; }
.dtags { display: flex; flex-wrap: wrap; gap: 4px; }
.dtags span { font-size: .72rem; padding: .25rem .45rem; border: 1px solid var(--rule-strong); color: var(--fg-2); }
.dpanel--map img { opacity: .55; width: 100%; }
.dline { width: 100%; height: 60px; }
.dline polyline { fill: none; stroke: var(--verd-400); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.dash__cap { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; padding: 1rem; border-top: 1px solid var(--rule); font-size: .875rem; color: var(--fg-2); background: var(--ink-900); }
@media (min-width: 900px) {
.dash__body { grid-template-columns: 11rem minmax(0, 1fr); }
.dash__side { display: grid; align-content: start; gap: 2px; padding: 1rem .6rem; border-right: 1px solid var(--rule); background: var(--ink-900); }
.dash__side span { font-size: .8rem; color: var(--fg-3); padding: .5rem .7rem; }
.dash__side .is-on { color: #fff; background: var(--ink-800); box-shadow: inset 2px 0 var(--verd-400); }
.dpanel--wide { grid-column: span 2; }
}
@media (min-width: 1200px) { .dash__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.comp__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 0 2rem; border-top: 1px solid var(--rule-strong); }
.comp__grid li { padding: 1.4rem 0 1.6rem; border-bottom: 1px solid var(--rule); display: grid; gap: .45rem; align-content: start; }
.comp__grid .mono { font-size: .72rem; color: var(--accent-ink); }
.comp__grid p { color: var(--fg-2); font-size: .9375rem; }
.cand__grid { display: grid; gap: 3rem; align-items: center; }
.cand__copy { display: grid; gap: 1.5rem; }
.cand__copy .t-h2 { max-width: 15ch; }
.phone { justify-self: center; width: min(100%, 340px); }
.phone__screen { background: var(--ink-900); color: #ECEFEB; border: 10px solid var(--ink-950); border-radius: 36px; padding: 1.25rem 1rem 1rem; min-height: 520px; display: flex; flex-direction: column; gap: 1rem; box-shadow: 0 40px 70px -35px rgba(10, 43, 44, .7); --fg: #ECEFEB; --rule: rgba(210, 225, 221, .12); --fg-3: #8A9694; }
.phone__top { display: flex; justify-content: space-between; align-items: center; padding: 0 .25rem .75rem; border-bottom: 1px solid var(--rule); }
.phone__panels { flex: 1; }
.phone__panel { display: grid; gap: .75rem; padding: .25rem; }
html:not(.js) .phone__panel + .phone__panel { margin-top: 1.5rem; }
.phone__rows li { display: flex; justify-content: space-between; padding: .8rem .9rem; margin-bottom: 6px; background: var(--ink-850); border: 1px solid var(--rule); font-size: .9375rem; }
.phone__rows li::after { content: ""; width: 34%; height: 6px; margin-top: .5em; background: var(--ink-700); }
.phone__note { font-family: var(--f-mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--champ-300); }
.phone__tabs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; border-top: 1px solid var(--rule); padding-top: .6rem; }
.phone__tabs [role="tab"] { font-size: .68rem; padding: .7rem .1rem; min-height: 2.75rem; color: #8A9694; font-weight: 600; letter-spacing: .02em; }
.phone__tabs [role="tab"][aria-selected="true"] { color: var(--ink-950); background: var(--verd-400); }
.phone__tabs [role="tab"]:focus-visible { outline: 2px solid var(--verd-300); outline-offset: -2px; }
html:not(.js) .phone__tabs { display: none; }
@media (min-width: 900px) { .cand__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 5rem; } }
.trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
.trust li { background: var(--ink-900); padding: 1.4rem 1.25rem 1.6rem; display: grid; gap: .5rem; align-content: start; transition: background-color .25s; }
.trust li:hover { background: var(--ink-850); }
.trust .mono { font-size: .72rem; color: var(--verd-300); }
.trust p { color: var(--fg-2); font-size: .9375rem; }
.trust__note { margin-top: 2.5rem; max-width: 85ch; }
@media (min-width: 1100px) { .trust { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.deploy__grid { display: grid; gap: 3rem; }
.deploy__grid .t-h2 { margin-top: 1.5rem; max-width: 10ch; }
.deploy__list { border-top: 1px solid var(--rule-strong); }
.deploy__list div { display: grid; gap: .35rem; padding: 1.25rem 0; border-bottom: 1px solid var(--rule); }
.deploy__list dd { margin: 0; color: var(--fg-2); }
@media (min-width: 1000px) {
.deploy__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 5rem; }
.deploy__list div { grid-template-columns: 13rem minmax(0, 1fr); gap: 2rem; }
}
.ct-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(2rem, 1.5rem + 2vw, 3rem); }
.ct-hero__grid { display: grid; gap: 2rem 4rem; align-items: end; }
.ct-hero__title { max-width: 13ch; }
.ct-hero__side { display: grid; gap: 1.5rem; justify-items: start; }
.ct-hero__side .lead { color: var(--fg-body); }
@media (min-width: 1000px) { .ct-hero__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }
.atlas { padding-bottom: var(--sp-section); }
.atlas__filters { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding-block: 1.5rem; border-top: 1px solid var(--rule); }
.atlas__filters .label { margin-right: .5rem; }
.atlas__filters button { display: inline-flex; align-items: center; gap: .55rem; min-height: 2.75rem; padding: .5rem .85rem; border: 1px solid var(--rule-strong); font-size: .8125rem; font-weight: 600; color: var(--fg-2); transition: background-color .2s, color .2s, border-color .2s; }
.atlas__filters button:hover { color: var(--fg); border-color: var(--verd-400); }
.atlas__filters button[aria-pressed="true"] { background: var(--verd-400); border-color: var(--verd-400); color: var(--ink-950); }
.atlas__filters button[aria-pressed="true"] .sw { outline: 1px solid var(--ink-950); }
.sw { width: 10px; height: 10px; flex: none; }
.sw--demand { background: var(--champ-300); } .sw--capacity { background: var(--verd-400); } .sw--training { background: #8FB5D8; }
.sw--specialist { background: #C9A6E0; } .sw--reserve { background: #E3A58F; } .sw--partnership { background: #fff; }
.atlas__stage { display: grid; gap: 1.5rem; }
.atlas__map { position: relative; background: var(--petrol-950); border: 1px solid var(--rule); aspect-ratio: 1000 / 395; max-width: 100%; }
.atlas__map img, .atlas__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.atlas__map img { opacity: .9; }
.corridors path { fill: none; stroke: var(--champ-300); stroke-width: 1.2; stroke-dasharray: 3 5; opacity: .7; }
@media (prefers-reduced-motion: no-preference) { .corridors path { animation: corr 18s linear infinite; } @keyframes corr { to { stroke-dashoffset: -160; } } }
.mk { cursor: pointer; outline: none; transition: opacity .3s; }
.mk__halo { fill: rgba(87, 195, 178, .16); stroke: rgba(143, 216, 203, .5); stroke-width: 1; transition: r .3s, fill .3s; }
.mk__dot { fill: var(--verd-400); stroke: var(--ink-950); stroke-width: 1.5; }
.mk:hover .mk__halo, .mk:focus-visible .mk__halo { fill: rgba(87, 195, 178, .35); }
.mk:focus-visible .mk__halo { stroke: #fff; stroke-width: 2; }
.mk.is-current .mk__dot { fill: var(--champ-300); }
.mk.is-current .mk__halo { fill: rgba(227, 211, 176, .25); stroke: var(--champ-300); }
.mk.is-dim { opacity: .18; }
.atlas__detail { padding: 1.5rem; border: 1px solid var(--rule-strong); background: var(--ink-850); display: grid; gap: .75rem; align-content: start; min-height: 12rem; }
.atlas__detail p { color: var(--fg-body); }
.atlas__tags { font-family: var(--f-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--verd-300) !important; padding-top: .75rem; border-top: 1px solid var(--rule); }
.atlas__legend { display: flex; align-items: center; gap: .75rem; margin-top: 1.25rem; }
.atlas__corr { width: 2.5rem; height: 0; border-top: 1.5px dashed var(--champ-300); }
@media (min-width: 1000px) { .atlas__stage { grid-template-columns: minmax(0, 1fr) 20rem; align-items: stretch; } }
.regions__tbl th[scope="row"] { color: var(--fg); font-family: var(--f-display); font-size: 1rem; font-weight: 650; text-transform: none; letter-spacing: 0; }
.regions__tbl td:first-child { font-weight: 400; color: var(--fg-body); }
.regions__tbl td:last-child { font-family: var(--f-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-ink); }
.notshown__grid { display: grid; gap: 3rem; }
.notshown__grid .t-h2 { max-width: 12ch; margin-top: 1.5rem; }
.notshown__list { border-top: 1px solid var(--rule-strong); }
.notshown__list li { padding: 1rem 0 1rem 2rem; border-bottom: 1px solid var(--rule); position: relative; font-size: 1.0625rem; color: var(--fg-body); }
.notshown__list li::before { content: "×"; position: absolute; left: 0; top: .9rem; font-family: var(--f-mono); color: var(--champ-ink); font-size: 1.1rem; }
.notshown__p { margin-top: 1.5rem; }
@media (min-width: 1000px) { .notshown__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 5rem; } }
.req__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 1px; background: var(--rule-strong); border: 1px solid var(--rule-strong); }
.req__list li { background: var(--bg); padding: 1.5rem 1.25rem 1.75rem; display: grid; gap: 1rem; align-content: start; }
.req__list .num { font-size: 2.2rem; color: var(--accent-ink); }
.req__list p { color: var(--fg-body); }
@media (min-width: 1100px) { .req__list { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.ti-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3.5rem, 2rem + 5vw, 7rem); }
.ti-hero__grid { display: grid; gap: 3rem; align-items: center; }
.ti-hero__title { max-width: 14ch; }
.ti-hero__stamp { margin-top: 2rem; }
.ti-hero__fig { width: 100%; max-width: 360px; }
@media (min-width: 1000px) { .ti-hero__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 5rem; } .ti-hero__fig { justify-self: end; } }
.dir__filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.dir__filters button { min-height: 2.75rem; padding: .5rem 1rem; border: 1px solid var(--rule-strong); font-size: .8125rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--fg-2); transition: background-color .2s, color .2s; }
.dir__filters button:hover { color: var(--fg); border-color: var(--accent-ink); }
.dir__filters button[aria-pressed="true"] { background: var(--ink-900); color: #fff; border-color: var(--ink-900); }
.dir__list { border-top: 1px solid var(--rule-strong); }
.dir__row { display: grid; gap: .75rem 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--rule); transition: opacity .3s, background-color .3s; }
.dir__row.is-dim { opacity: .28; }
.dir__code { font-size: .72rem; color: var(--accent-ink); }
.dir__name { font-size: clamp(1.25rem, 1.05rem + .8vw, 1.75rem); font-weight: 700; }
.dir__row p { color: var(--fg-2); margin-top: .3rem; max-width: 60ch; }
.dir__streams { display: flex; flex-wrap: wrap; gap: .35rem; }
.dir__streams li { font-family: var(--f-mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; padding: .25rem .5rem; background: var(--paper-50); border: 1px solid var(--rule); }
.dir__status { font-family: var(--f-mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--champ-ink); }
@media (min-width: 1000px) {
.dir__row { grid-template-columns: 6rem minmax(0, 1fr) 13rem 12rem; align-items: center; }
.dir__status { text-align: right; }
}
.crit__grid { display: grid; gap: 3rem; }
.crit__grid .t-h2 { max-width: 14ch; margin-top: 1.5rem; }
.crit__lead { margin-top: 1.5rem; color: var(--fg-body); }
.crit__list { counter-reset: cr; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 0 2rem; border-top: 1px solid var(--rule-strong); }
.crit__list li { counter-increment: cr; display: flex; gap: 1rem; align-items: baseline; padding: 1rem 0; border-bottom: 1px solid var(--rule); font-weight: 500; }
.crit__list li::before { content: counter(cr, decimal-leading-zero); font-family: var(--f-mono); font-size: .72rem; color: var(--verd-300); }
@media (min-width: 1000px) { .crit__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 5rem; } }
.engage__steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 2rem; }
.engage__steps li { display: grid; gap: .6rem; padding-top: 1.25rem; border-top: 3px solid var(--accent); align-content: start; }
.engage__steps .mono { font-size: .72rem; color: var(--accent-ink); }
.engage__steps p { color: var(--fg-2); }
.gp-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3.5rem, 2rem + 5vw, 7rem); }
.gp-hero__title { max-width: 16ch; font-size: clamp(2.2rem, .8rem + 5.4vw, 7rem); }
.gp-hero__foot { display: grid; gap: 2rem; align-items: end; margin-top: clamp(2.5rem, 2rem + 3vw, 4.5rem); padding-top: 2rem; border-top: 1px solid var(--rule); }
.gp-hero__foot .lead { color: var(--fg-body); max-width: 58ch; }
.gp-hero__foot .btn { justify-self: start; }
@media (min-width: 1000px) { .gp-hero__foot { grid-template-columns: minmax(0, 1.6fr) auto; gap: 4rem; } }
.gpj__list { display: grid; gap: 0; counter-reset: gs; border-top: 1px solid var(--rule-strong); }
.gstep { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: .5rem 1.25rem; padding: 1.75rem 0; border-bottom: 1px solid var(--rule); position: relative; }
.gstep > *:not(.gstep__n) { grid-column: 2; }
.gstep__n { grid-row: span 4; font-family: var(--f-display); font-weight: 800; font-size: 2.2rem; line-height: 1; color: var(--accent-ink); letter-spacing: -.03em; }
.gstep__t { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.6rem); font-weight: 700; }
.gstep > p { color: var(--fg-body); }
.gstep__d, .gstep__g { display: grid; gap: .15rem; font-size: .9375rem; font-weight: 600; padding-top: .6rem; }
.gstep__g { color: var(--champ-ink) !important; }
@media (min-width: 1000px) {
.gpj__list { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 0; gap: 0; }
.gstep { grid-template-columns: 1fr; padding: 2.25rem 1.5rem 2.25rem 0; border-bottom: 0; border-top: 1px solid var(--rule-strong); align-content: start; }
.gstep > *:not(.gstep__n) { grid-column: 1; }
.gstep__n { grid-row: auto; font-size: 3.4rem; margin-bottom: .75rem; }
.gstep::before { content: ""; position: absolute; top: -6px; left: 0; width: 11px; height: 11px; background: var(--bg); border: 1.5px solid var(--accent); transform: rotate(45deg); }
.gstep:nth-child(n+5) { margin-top: 2rem; }
.gstep__d, .gstep__g { border-top: 1px solid var(--rule); }
}
.struct__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1.25rem; }
.struct__card { border: 1px solid var(--rule-strong); padding: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem); display: grid; gap: 1rem; align-content: start; background: var(--bg); transition: border-color .3s, transform .3s var(--ease); }
.struct__card:hover { border-color: var(--accent-ink); transform: translateY(-3px); }
.struct__tag { justify-self: start; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; background: var(--ink-900); color: var(--verd-300); padding: .35rem .6rem; }
.struct__card p:last-child { color: var(--fg-2); }
.comm__tbl th[scope="row"] { color: var(--fg); font-family: var(--f-display); font-size: 1.0625rem; font-weight: 650; text-transform: none; letter-spacing: 0; }
.comm__tbl td:first-child { font-weight: 400; color: var(--fg-body); }
.comm__note { margin-top: 2rem; }
.pprin__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 0 2.5rem; border-top: 1px solid var(--rule-strong); }
.pprin__list li { padding: 1.5rem 0 1.75rem; border-bottom: 1px solid var(--rule); display: grid; gap: .5rem; align-content: start; }
.pprin__list p { color: var(--fg-2); }
.ec-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3.5rem, 2rem + 5vw, 7rem); }
.ec-hero__title { max-width: 16ch; font-size: clamp(2.2rem, .8rem + 5vw, 6rem); }
.ec-hero__pull { margin-top: clamp(2rem, 1.5rem + 2vw, 3.5rem); max-width: 38ch; font-family: var(--f-display); font-size: clamp(1.25rem, 1rem + 1.1vw, 2rem); font-weight: 600; line-height: 1.3; color: var(--accent-ink); padding-left: 1.25rem; border-left: 3px solid var(--accent); }
.essay__grid { display: grid; gap: 2rem; }
.essay__meta { font-family: var(--f-mono); font-size: .75rem; color: var(--fg-2); margin-top: .4rem; letter-spacing: .06em; }
.essay__body { font-size: 1.125rem; }
.essay__body .stamp { margin-top: 2rem; }
@media (min-width: 1000px) { .essay__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 3rem; } .essay__aside { position: sticky; top: calc(var(--hdr-h) + 2rem); align-self: start; } }
.chain__list { display: grid; gap: 0; border-top: 1px solid var(--rule-strong); }
.chain__list li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: .25rem 1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--rule); position: relative; }
.chain__n { grid-row: span 2; font-size: .75rem; color: var(--verd-300); padding-top: .5rem; }
.chain__t { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2.2rem); font-weight: 800; text-transform: uppercase; letter-spacing: -.015em; }
.chain__list p { color: var(--fg-2); }
@media (min-width: 1200px) {
.chain__list { grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 0; }
.chain__list li { grid-template-columns: 1fr; padding: 2rem 1.5rem 0 0; border-bottom: 0; border-top: 2px solid var(--verd-500); align-content: start; gap: .75rem; }
.chain__list li:not(:last-child)::after { content: "→"; position: absolute; right: 1rem; top: 1.75rem; color: var(--verd-300); font-size: 1.25rem; }
.chain__n { grid-row: auto; padding: 0; }
.chain__t { font-size: clamp(1.2rem, .55rem + 1vw, 1.65rem); }
}
.flows__fig { margin: 0; }
.flows__scroll { overflow-x: auto; border: 1px solid var(--rule); background: var(--panel); padding: 1.5rem; }
.flows__scroll svg { min-width: 640px; width: 100%; height: auto; }
.fl-paths path { fill: none; stroke: var(--verd-500); stroke-width: 12; opacity: .28; transition: opacity .3s; }
.fl-paths .fl-b { stroke: var(--champ-400); opacity: .45; }
.fl-paths .fl-c { stroke: var(--petrol-700); opacity: .35; }
.fl-paths path:hover { opacity: .75; }
.fl-src rect { fill: var(--ink-900); }
.fl-src-t text { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; fill: #ECEFEB; }
.fl-dst rect { fill: var(--accent-ink); }
.fl-dst-t text { font-family: var(--f-body); font-size: 14px; font-weight: 600; fill: var(--fg); }
.flows__cap { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; margin-top: 1rem; font-size: .9375rem; color: var(--fg-2); }
.safe__grid { display: grid; gap: 3rem; }
.safe__grid .t-h2 { max-width: 14ch; margin-top: 1.5rem; }
.safe__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 0 2.5rem; border-top: 1px solid var(--rule-strong); counter-reset: sf; }
.safe__list li { counter-increment: sf; padding: 1.35rem 0 1.5rem; border-bottom: 1px solid var(--rule); display: grid; gap: .45rem; align-content: start; }
.safe__list li::before { content: counter(sf, decimal-leading-zero); font-family: var(--f-mono); font-size: .72rem; color: var(--accent-ink); }
.safe__list p { color: var(--fg-2); }
@media (min-width: 1000px) { .safe__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 5rem; } }
.doc-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) 0; }
.doc-hero__sheet { border-top: 6px solid var(--ink-900); padding-top: 1.5rem; }
.doc-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); border: 1px solid var(--rule-strong); margin-bottom: clamp(2.5rem, 2rem + 3vw, 4rem); }
.doc-meta div { padding: .75rem 1rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); display: grid; gap: .2rem; }
.doc-meta dt { font-family: var(--f-mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-3); }
.doc-meta dd { margin: 0; font-weight: 600; font-size: .9375rem; }
.doc-hero__title { font-size: clamp(2.4rem, 1rem + 5vw, 6rem); }
.doc-hero__lead { margin-top: 1.75rem; max-width: 62ch; color: var(--fg-body); padding-bottom: clamp(2.5rem, 2rem + 3vw, 4rem); border-bottom: 1px solid var(--rule-strong); }
.doc { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) var(--sp-section); }
.doc__grid { display: grid; gap: 2.5rem; }
.doc__toc { border: 1px solid var(--rule-strong); padding: 1.25rem; background: var(--paper-50); }
.doc__toc ol { list-style: none; padding: 0; margin: .75rem 0 0; counter-reset: toc; columns: 2 12rem; column-gap: 1.5rem; }
.doc__toc li { counter-increment: toc; break-inside: avoid; }
.doc__toc a { display: flex; gap: .6rem; padding: .4rem 0; text-decoration: none; font-size: .9375rem; color: var(--fg-2); }
.doc__toc a::before { content: "§" counter(toc); font-family: var(--f-mono); font-size: .72rem; color: var(--accent-ink); min-width: 2rem; padding-top: .2em; }
.doc__toc a:hover { color: var(--fg); text-decoration: underline; }
.doc__body { max-width: 52rem; }
.clause { padding-block: 2rem 2.25rem; border-bottom: 1px solid var(--rule); }
.clause:first-child { padding-top: 0; }
.clause__h { display: flex; gap: 1rem; align-items: baseline; font-size: clamp(1.4rem, 1.15rem + 1vw, 2rem); font-weight: 750; text-transform: none; letter-spacing: -.015em; }
.clause__h span { font-family: var(--f-mono); font-size: .8rem; font-weight: 500; color: var(--accent-ink); min-width: 2.5rem; }
.clause__p { margin-top: .9rem; font-size: 1.125rem; font-weight: 600; color: var(--fg); padding-left: 3.5rem; }
.clause__list { list-style: none; padding: 0 0 0 3.5rem; margin: 1rem 0 0; display: grid; gap: .75rem; }
.clause__list li { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: .5rem; color: var(--fg-body); }
.clause__list li > span { font-family: var(--f-mono); font-size: .75rem; color: var(--fg-3); padding-top: .25em; }
.clause__list a { color: var(--accent-ink); }
.willnot, .instr { list-style: none; margin: 1.25rem 0 0; padding: 0 0 0 3.5rem; display: grid; gap: 0; }
.willnot li { padding: .8rem 0 .8rem 2rem; border-bottom: 1px solid var(--rule); position: relative; font-weight: 500; }
.willnot li::before { content: "×"; position: absolute; left: 0; top: .7rem; font-family: var(--f-mono); font-size: 1.1rem; color: var(--champ-ink); }
.clause--will-not { background: var(--paper-50); padding: 2rem 1.5rem; margin-block: 1rem; border: 1px solid var(--rule-strong); }
.clause--will-not .willnot { padding-left: 0; }
.instr li { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--rule); color: var(--fg-body); }
.instr b { font-family: var(--f-mono); font-size: .75rem; font-weight: 500; color: var(--accent-ink); padding-top: .2em; }
@media (max-width: 600px) {
.clause__p, .clause__list, .willnot, .instr { padding-left: 0; }
.instr li { grid-template-columns: 1fr; gap: .15rem; }
}
@media (min-width: 1000px) {
.doc__grid { grid-template-columns: 17rem minmax(0, 1fr); gap: 4rem; }
.doc__toc { position: sticky; top: calc(var(--hdr-h) + 1.5rem); align-self: start; max-height: calc(100vh - var(--hdr-h) - 3rem); overflow-y: auto; }
.doc__toc ol { columns: auto; }
}
.in-mast { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(2rem, 1.5rem + 2vw, 3rem); }
.in-mast__bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; padding-block: .75rem; border-top: 3px solid var(--fg); border-bottom: 1px solid var(--rule-strong); }
.in-mast__title { margin-top: clamp(1.5rem, 1rem + 2vw, 3rem); font-size: clamp(2.6rem, .8rem + 7vw, 8.5rem); font-weight: 800; letter-spacing: -.04em; line-height: .88; text-transform: uppercase; }
.in-mast__lead { margin-top: 1.75rem; max-width: 60ch; color: var(--fg-body); }
.in-feature { padding-bottom: var(--sp-block); }
.feat { display: grid; gap: 2rem; padding-top: var(--sp-block); border-top: 1px solid var(--rule-strong); align-items: center; }
.feat__media { display: block; max-width: 620px; }
.feat__body { display: grid; gap: 1.25rem; }
.feat__title { font-size: clamp(1.8rem, 1.1rem + 2.6vw, 3.4rem); font-weight: 750; line-height: 1.02; letter-spacing: -.02em; }
.feat__title a { text-decoration: none; }
.feat__title a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.feat__body .lead { color: var(--fg-body); }
@media (min-width: 1000px) { .feat { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; } }
.in-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 0 2.5rem; margin-top: 1.5rem; border-top: 1px solid var(--rule-strong); }
.icard { padding: 1.75rem 0 2rem; border-bottom: 1px solid var(--rule); display: grid; gap: .9rem; align-content: start; }
.icard__title { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.8rem); font-weight: 700; line-height: 1.12; }
.icard__title a { text-decoration: none; }
.icard__title a:hover { text-decoration: underline; }
.icard p { color: var(--fg-2); }
.icard__meta { font-size: .75rem; color: var(--fg-3) !important; }
@media (min-width: 1000px) { .icard { border-bottom: 0; border-right: 1px solid var(--rule); padding-right: 2rem; } .icard:last-child { border-right: 0; } }
.areas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 0 2rem; border-top: 1px solid var(--rule-strong); }
.areas li { padding: 1.3rem 0 1.5rem; border-bottom: 1px solid var(--rule); display: grid; gap: .45rem; align-content: start; }
.areas .mono { font-size: .72rem; color: var(--accent-ink); }
.areas p { color: var(--fg-2); font-size: .9375rem; }
.areas .lnk { font-size: .875rem; margin-top: .25rem; }
.art-head { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(2rem, 1.5rem + 2vw, 3rem); }
.art-head .crumbs { margin-bottom: 2.5rem; }
.art-head__title { margin-top: 1.25rem; max-width: 22ch; font-size: clamp(2rem, 1.1rem + 3.4vw, 4.4rem); font-weight: 800; line-height: 1; letter-spacing: -.025em; }
.art-head__dek { margin-top: 1.5rem; max-width: 58ch; color: var(--fg-body); }
.art-head__meta { margin-top: 1.75rem; padding-top: 1rem; border-top: 1px solid var(--rule-strong); font-size: .75rem; color: var(--fg-3); letter-spacing: .04em; }
.art-media { padding-bottom: clamp(2rem, 1.5rem + 2vw, 3rem); }
.art-fig { max-width: 640px; }
.art-body { padding-block: clamp(3rem, 2rem + 4vw, 6rem); }
.art-body__grid { display: grid; gap: 2.5rem; }
.art-aside { border-top: 3px solid var(--accent); padding-top: 1rem; display: grid; gap: 1rem; align-self: start; }
.art-prose { font-size: 1.125rem; line-height: 1.75; }
.art-prose h2 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); font-weight: 750; text-transform: none; letter-spacing: -.015em; }
.art-prose h3 { font-size: 1.2rem; font-weight: 700; }
.art-prose .stamp { margin-top: 2.5rem; }
@media (min-width: 1000px) {
.art-body__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); gap: 4rem; }
.art-aside { position: sticky; top: calc(var(--hdr-h) + 2rem); }
}
.art-next { padding-block: 2rem; border-top: 1px solid var(--rule-strong); }
.art-next__grid { display: grid; gap: 1rem; }
.art-next a { display: grid; gap: .35rem; padding: 1.25rem; border: 1px solid var(--rule-strong); text-decoration: none; transition: border-color .25s, background-color .25s; }
.art-next a:hover { border-color: var(--accent-ink); background: var(--panel); }
.art-next__t { font-family: var(--f-display); font-size: 1.25rem; font-weight: 700; }
@media (min-width: 800px) { .art-next__grid { grid-template-columns: 1fr 1fr; } }
.cr-hero { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) clamp(3.5rem, 2rem + 5vw, 7rem); }
.cr-hero__grid { display: grid; gap: 3rem; align-items: center; }
.cr-hero__title { max-width: 15ch; }
.cr-status { margin-top: 2.5rem; padding: 1.5rem 1.5rem 1.75rem; border: 1px solid var(--rule-strong); border-left: 4px solid var(--accent); background: var(--panel); display: grid; gap: .6rem; max-width: 44rem; }
.cr-status p:last-child { font-size: 1.125rem; color: var(--fg-body); }
.cr-hero__fig { width: 100%; max-width: 400px; justify-self: center; }
@media (min-width: 1000px) { .cr-hero__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 5rem; } .cr-hero__fig { justify-self: end; } }
.notice-band__inner { display: grid; gap: 1rem; }
.notice-band__text { font-family: var(--f-display); font-size: clamp(1.2rem, 1rem + .9vw, 1.75rem); font-weight: 600; line-height: 1.3; max-width: 46ch; }
@media (min-width: 900px) { .notice-band__inner { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 3rem; align-items: baseline; } }
.disc__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 0 3rem; border-top: 1px solid var(--rule-strong); }
.disc__list li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: .25rem 1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--rule); }
.disc__list .mono { grid-row: span 2; font-size: .75rem; color: var(--accent-ink); padding-top: .35rem; }
.disc__t { font-size: 1.25rem; font-weight: 700; }
.disc__list p { color: var(--fg-2); }
.values__grid { display: grid; gap: 3rem; }
.values__grid .t-h2 { max-width: 14ch; margin-top: 1.5rem; }
.values__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 0 2.5rem; border-top: 1px solid var(--rule-strong); }
.values__list li { padding: 1.35rem 0 1.5rem; border-bottom: 1px solid var(--rule); display: grid; gap: .45rem; }
.values__list p { color: var(--fg-2); }
@media (min-width: 1000px) { .values__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.6fr); gap: 4rem; } }
.cx { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) var(--sp-section); }
.cx__grid { display: grid; gap: 3.5rem; align-items: start; }
.cx__title { font-size: clamp(2rem, 1rem + 3.2vw, 4.2rem); }
.cx__lead { margin-top: 1.5rem; color: var(--fg-body); max-width: 40ch; }
.cx__dl { margin-top: 2.5rem; border-top: 1px solid var(--rule-strong); }
.cx__dl div { display: grid; gap: .3rem; padding: 1.1rem 0; border-bottom: 1px solid var(--rule); }
.cx__dl dd { margin: 0; font-family: var(--f-display); font-size: clamp(1.2rem, 1rem + .9vw, 1.7rem); font-weight: 650; overflow-wrap: anywhere; }
.cx__dl a { text-decoration: none; }
.cx__dl a:hover { color: var(--accent-ink); text-decoration: underline; }
.cx__types { margin-top: 2rem; display: grid; gap: .5rem; }
.cx__types li { font-size: .9375rem; color: var(--fg-2); display: flex; gap: .75rem; align-items: baseline; }
.cx__types li::before { content: ""; width: 6px; height: 6px; background: var(--accent); flex: none; transform: translateY(-2px); }
.cx__formwrap { background: var(--white); border: 1px solid var(--rule-strong); padding: clamp(1.5rem, 1rem + 2.5vw, 3rem); }
.cx__req { margin-top: .5rem; font-size: .875rem; color: var(--fg-2); }
.cx__req span, .req { color: #A33A2B; font-weight: 700; }
@media (min-width: 1000px) {
.cx__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 5rem; }
.cx__info { position: sticky; top: calc(var(--hdr-h) + 2rem); }
}
.form { display: grid; gap: 1.35rem; margin-top: 1.75rem; }
.form__row { display: grid; gap: 1.35rem; }
@media (min-width: 640px) { .form__row { grid-template-columns: 1fr 1fr; } }
.field { display: grid; gap: .45rem; align-content: start; }
.field label { font-weight: 600; font-size: .9375rem; }
.field input, .field select, .field textarea {
width: 100%; min-height: 3.125rem; padding: .75rem .9rem; font-size: 1rem;
background: var(--paper-50); border: 1px solid rgba(19, 23, 24, .38); border-radius: 0;
transition: border-color .2s, box-shadow .2s, background-color .2s;
-webkit-appearance: none; appearance: none;
}
.field select { background-image: linear-gradient(45deg, transparent 50%, #2A3234 50%), linear-gradient(135deg, #2A3234 50%, transparent 50%); background-position: calc(100% - 20px) 55%, calc(100% - 14px) 55%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 2.5rem; }
.field textarea { resize: vertical; min-height: 9rem; line-height: 1.55; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--fg); }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--verd-800); box-shadow: 0 0 0 3px rgba(22, 87, 78, .25); background: #fff; }
.field.has-error input, .field.has-error select, .field.has-error textarea { border-color: #A33A2B; border-width: 2px; }
.field__hint { font-size: .8125rem; color: var(--fg-2); }
.field__err { font-size: .875rem; font-weight: 600; color: #A33A2B; display: flex; gap: .4rem; }
.field__err::before { content: "!"; display: inline-grid; place-items: center; width: 1.1rem; height: 1.1rem; flex: none; background: #A33A2B; color: #fff; font-size: .72rem; margin-top: .15rem; }
.field--check { grid-template-columns: auto minmax(0, 1fr); column-gap: .75rem; align-items: start; }
.field--check input { width: 1.4rem; height: 1.4rem; min-height: 0; padding: 0; margin-top: .15rem; accent-color: var(--verd-800); -webkit-appearance: checkbox; appearance: auto; }
.field--check label { font-weight: 500; }
.field--check .field__err { grid-column: 1 / -1; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form__notice { font-size: .9375rem; padding: 1rem 1.1rem; background: var(--paper-50); border-left: 3px solid var(--champ-700); color: var(--fg-body); }
.form__submit { justify-self: start; }
.form__submit:disabled { opacity: .6; cursor: progress; }
.form-errors { margin-top: 1.25rem; padding: 1.1rem 1.25rem; border: 2px solid #A33A2B; background: #FBEDEA; }
.form-errors p { font-weight: 700; color: #7E2A1F; }
.form-errors ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.form-errors a { color: #7E2A1F; font-weight: 600; }
.form-errors:focus { outline: 3px solid rgba(163, 58, 43, .35); outline-offset: 2px; }
.form-status { margin-top: 1.5rem; padding: 1.5rem; border: 1px solid var(--rule-strong); border-top: 4px solid var(--champ-700); background: var(--paper-50); }
.form-status > div { display: grid; gap: .8rem; }
.form-status__h { font-family: var(--f-display); font-size: 1.35rem; font-weight: 700; }
.form-status p { color: var(--fg-body); }
.form-status:focus { outline: 3px solid rgba(22, 87, 78, .3); outline-offset: 2px; }
.nf { min-height: 70vh; display: grid; align-items: center; padding-block: var(--sp-section); overflow: hidden; }
.nf__code { font-family: var(--f-display); font-weight: 900; font-size: clamp(6rem, 3rem + 14vw, 16rem); line-height: .8; letter-spacing: -.06em; color: transparent; -webkit-text-stroke: 1.5px rgba(143, 216, 203, .6); }
.nf__title { margin-top: 1.5rem; max-width: 16ch; }
.nf .lead { margin-top: 1.25rem; color: var(--fg-body); max-width: 50ch; }
.nf .btn-row { margin-top: 2rem; }