/* ==========================================================================
   Vikrent Research — site stylesheet
   Tokens and components ported 1:1 from the Vikrent Research design system.
   No inline styles are used anywhere on the site, so a strict CSP applies.
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
--font-core:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
--ink-900:#111315;--ink-800:#1B1E21;--ink-700:#2A2E32;--ink-600:#43484D;--ink-500:#5F6368;--ink-400:#878C91;--ink-300:#B3B7BB;--ink-200:#D6D3CA;--ink-100:#E6E2D8;--ink-050:#F1EEE6;
--paper-000:#FFFFFF;--paper-050:#FCFBF8;--paper-100:#F8F7F2;--paper-200:#F1EFE7;--paper-300:#E9E6DB;
--gold-700:#6F5719;--gold-600:#8F7228;--gold-500:#B9963E;--gold-400:#CBAE64;--gold-300:#E2CE9B;--gold-200:#F0E5C8;--gold-100:#F8F2E2;
--green-700:#0A4F49;--green-600:#0E6B63;--green-500:#178077;--green-300:#8FBDB8;--green-100:#E3EFED;
--status-positive:#1F6B4A;--status-positive-soft:#E6F0EA;--status-critical:#8C2F26;--status-critical-soft:#F7E9E7;--status-info:#1B3A6B;--status-info-soft:#E8EDF5;
--surface-page:var(--paper-100);--surface-raised:var(--paper-000);--surface-sunken:var(--paper-200);
--text-primary:var(--ink-900);--text-secondary:var(--ink-500);--text-tertiary:var(--ink-400);--text-body:#3D4247;--text-accent:var(--gold-600);--text-link:var(--green-600);--text-link-hover:var(--ink-900);
--line-subtle:var(--ink-100);--line-default:var(--ink-200);--line-strong:var(--ink-900);--line-accent:var(--gold-500);
--focus-ring:var(--gold-600);
--size-h2:clamp(26px,3.1vw,40px);--size-h3:clamp(21px,2.1vw,28px);--size-h4:clamp(17px,1.5vw,20px);--size-body-lg:clamp(17px,1.25vw,19px);
--ls-h2:-0.02em;--ls-h3:-0.015em;--ls-h4:-0.008em;--ls-meta:0.18em;
--type-meta:500 11px/1.4 var(--font-core);
--container-max:1240px;--container-editorial:1060px;--gutter:clamp(20px,5vw,64px);
--section-y:clamp(72px,9vw,120px);--pad-panel:clamp(28px,4vw,48px);--pad-card:clamp(24px,3vw,36px);
--radius-sm:2px;--shadow-hover:0 10px 28px -18px rgba(17,19,21,.35);
--ease:cubic-bezier(.2,.7,.2,1);--dur-fast:140ms;--dur-base:220ms;--dur-slow:380ms;--dur-reveal:560ms;
--header-height:76px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + 24px)}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font:400 16px/1.65 var(--font-core);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
::selection{background:var(--gold-200);color:var(--ink-900)}
h1,h2,h3,h4,p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease)}
a:hover{color:var(--text-link-hover)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
img{max-width:100%;display:block}
.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{position:absolute;left:16px;top:-60px;z-index:100;background:var(--ink-900);color:#fff;padding:10px 16px;font:600 14px/1 var(--font-core);border-radius:var(--radius-sm)}
.skip:focus{top:12px;color:#fff}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
.wrap--ed{max-width:var(--container-editorial)}
.stack{display:flex;flex-direction:column}
.gap-s{gap:clamp(24px,3vw,36px)}.gap-m{gap:clamp(32px,4vw,48px)}.gap-l{gap:clamp(40px,5vw,56px)}.gap-xl{gap:clamp(48px,6vw,72px)}
.band{padding-block:var(--section-y)}
.band--tight{padding-block:clamp(56px,7vw,88px)}
.band--hero{padding-block:clamp(40px,5vw,56px) clamp(56px,7vw,96px)}
.band--hero-home{padding-block:clamp(72px,9vw,128px)}
.band--sunken{background:var(--surface-sunken)}
.band--ink{background:var(--ink-900);color:var(--paper-100)}
.band--ink-deep{padding-block:clamp(88px,11vw,152px)}
.rule-t{border-top:1px solid var(--line-subtle)}.rule-b{border-bottom:1px solid var(--line-subtle)}
.split{display:grid;gap:clamp(40px,5vw,80px);align-items:end}
.split--7-4{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}
.split--7-3{grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:clamp(48px,6vw,88px)}
.split--6-5{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.split--top{align-items:start}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(32px,4vw,56px)}
.grid-auto--240{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(28px,3vw,48px)}
@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr)!important;gap:44px!important}}

/* ---------- Type ---------- */
.meta{font:var(--type-meta);letter-spacing:var(--ls-meta);text-transform:uppercase;color:var(--text-secondary)}
.meta--gold{color:var(--text-accent)}.meta--gold-ink{color:var(--gold-400)}
.eyebrow{display:flex;align-items:center;gap:14px}
.datum{width:6px;height:6px;background:var(--gold-500);transform:rotate(45deg);flex:none}
.band--ink .datum{background:var(--gold-400)}
.hero-title{font-size:clamp(36px,5.4vw,68px);line-height:1.04;letter-spacing:-0.032em;font-weight:600;text-wrap:balance}
.hero-title--home{font-size:clamp(40px,6.6vw,86px);line-height:1.02;letter-spacing:-0.034em;max-width:min(17ch,100%)}
.hero-title--contact{font-size:clamp(34px,4.8vw,60px);line-height:1.05;letter-spacing:-0.03em}
.mw-16{max-width:min(16ch,100%)}.mw-17{max-width:min(17ch,100%)}.mw-18{max-width:min(18ch,100%)}.mw-19{max-width:min(19ch,100%)}.mw-22{max-width:min(22ch,100%)}.mw-24{max-width:min(24ch,100%)}.mw-26{max-width:min(26ch,100%)}
.lead{font-size:clamp(17px,1.3vw,20px);line-height:1.62;color:var(--text-secondary);max-width:min(60ch,100%);text-wrap:pretty}
.lead--sm{font-size:clamp(16px,1.25vw,18px);line-height:1.65;max-width:min(56ch,100%)}
.prose p{font-size:17px;line-height:1.7;color:var(--text-body)}
.prose p+p{margin-top:20px}
.prose--16 p{font-size:16px}
.ink-statement{font-size:clamp(30px,4vw,54px);line-height:1.1;letter-spacing:-0.028em;font-weight:600;text-wrap:balance}
.ink-statement--vision{font-size:clamp(34px,5.6vw,76px);line-height:1.04;letter-spacing:-0.032em}
.ink-statement--presence{font-size:clamp(28px,3.8vw,50px);line-height:1.12;letter-spacing:-0.026em}
.ink-body{font-size:17px;line-height:1.7;color:#C6C3BA;max-width:min(58ch,100%)}
.vision-title{font-size:clamp(32px,5vw,64px);line-height:1.06;letter-spacing:-0.03em;font-weight:600;text-wrap:balance}
.quote-axis{border-left:2px solid var(--gold-500);padding-left:24px;max-width:min(36ch,100%)}
.quote-axis p{font-size:clamp(18px,1.5vw,22px);line-height:1.45;letter-spacing:-0.012em;font-weight:500}
.gold-rule{width:96px;height:2px;background:var(--gold-400)}
.note{font-size:15px;line-height:1.65;color:var(--text-secondary);max-width:min(62ch,100%)}

/* ---------- Buttons & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 14px/1 var(--font-core);letter-spacing:.02em;padding:13px 20px;min-height:46px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.btn:active{transform:translateY(1px)}
.btn--accent{background:var(--gold-500);color:var(--ink-900)}
.btn--accent:hover{background:var(--gold-600);color:var(--ink-900)}
.btn--secondary{background:transparent;color:var(--ink-900);border-color:var(--ink-900)}
.btn--secondary:hover{background:var(--ink-900);color:var(--paper-000)}
.btn--sm{padding:9px 16px;min-height:40px;font-size:13px}
.btn[disabled]{background:var(--ink-100);color:var(--ink-400);cursor:not-allowed}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.tlink{display:inline-flex;align-items:center;gap:8px;color:var(--text-link);box-shadow:inset 0 -1px 0 transparent;transition:color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.tlink:hover{color:var(--text-link-hover);box-shadow:inset 0 -1px 0 currentColor}
.tlink--quiet{color:var(--text-secondary)}
.tlink .arr{display:inline-block;transition:transform var(--dur-base) var(--ease)}
.tlink:hover .arr{transform:translateX(3px)}
.tag{display:inline-flex;align-items:center;gap:7px;font:var(--type-meta);letter-spacing:var(--ls-meta);text-transform:uppercase;color:#FFFFFFB8;border:1px solid #FFFFFF2E;border-radius:var(--radius-sm);padding:6px 10px}
.tag::before{content:"";width:5px;height:5px;background:currentColor;transform:rotate(45deg);flex:none}
.tag-row{display:flex;flex-wrap:wrap;gap:10px;padding-top:8px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(248,247,242,.86);-webkit-backdrop-filter:saturate(1.2) blur(12px);backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--line-subtle)}
.site-header__bar{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter);height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink-900)}
.brand:hover{color:var(--ink-900)}
.brand svg{display:block;flex:none}
.brand__rule{width:1px;align-self:stretch;background:currentColor;opacity:.18}
.brand__word{display:flex;flex-direction:column;gap:5px}
.brand__name{font:600 19.7px/1 var(--font-core);letter-spacing:.09em}
.brand__desc{font:400 8.3px/1 var(--font-core);letter-spacing:.42em;opacity:.8}
.brand--lg{gap:12px}
.brand--lg .brand__word{gap:5.6px}
.brand--lg .brand__name{font-size:23.2px}
.brand--lg .brand__desc{font-size:9.8px}
.nav{display:flex;align-items:center;gap:32px}
.nav a:not(.btn){font:500 14px/1 var(--font-core);letter-spacing:.005em;color:var(--text-secondary);padding-bottom:4px;border-bottom:1px solid transparent}
.nav a:not(.btn):hover{color:var(--ink-900)}
.nav a[aria-current="page"]{color:var(--ink-900);border-bottom-color:var(--gold-500)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;min-width:44px;min-height:44px;color:inherit;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-toggle span{width:22px;height:1px;background:currentColor;display:block;transition:transform var(--dur-base) var(--ease)}
.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}
.mobile-nav{border-top:1px solid var(--line-subtle);padding:20px var(--gutter) 32px;flex-direction:column;gap:2px;background:var(--surface-page);display:none}
.mobile-nav.is-open{display:flex}
.mobile-nav a:not(.btn){font:600 clamp(17px,1.5vw,20px)/1.35 var(--font-core);color:var(--ink-900);padding:14px 0;border-bottom:1px solid var(--line-subtle)}
.mobile-nav a[aria-current="page"]{box-shadow:inset 2px 0 0 var(--gold-500);padding-left:14px}
.mobile-nav .btn{margin-top:20px;align-self:flex-start}
@media(max-width:900px){.nav{display:none}.nav-toggle{display:flex}}
@media(min-width:901px){.mobile-nav.is-open{display:none}}

/* ---------- Breadcrumbs ---------- */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font:var(--type-meta);letter-spacing:var(--ls-meta);text-transform:uppercase}
.crumbs a{color:var(--text-secondary)}
.crumbs a:hover{color:var(--ink-900)}
.crumbs .sep{width:4px;height:4px;background:var(--gold-500);transform:rotate(45deg)}
.crumbs [aria-current]{color:var(--ink-900)}

/* ---------- Section header ---------- */
.sh{display:flex;flex-direction:column;gap:20px}
.sh__top{display:flex;align-items:center;gap:16px;width:100%}
.sh__index{font:var(--type-meta);letter-spacing:var(--ls-meta);color:var(--text-accent)}
.sh__rule{flex:1;height:1px;background:var(--line-subtle)}
.sh__row{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between}
.sh__title{font:600 var(--size-h2)/1.12 var(--font-core);letter-spacing:var(--ls-h2);max-width:20ch}
.sh__lead{font:400 var(--size-body-lg)/1.65 var(--font-core);color:var(--text-secondary);max-width:62ch}

/* ---------- Feature block ---------- */
.feature{display:flex;flex-direction:column;gap:16px}
.feature__index{font:var(--type-meta);letter-spacing:var(--ls-meta);color:var(--text-accent)}
.feature__title{font:600 var(--size-h4)/1.35 var(--font-core);letter-spacing:var(--ls-h4)}
.feature__body{font-size:15px;line-height:1.6;color:var(--text-secondary)}

/* ---------- Content block ---------- */
.cblock{display:grid;gap:24px;padding-top:24px;border-top:1px solid var(--line-subtle)}
.cblock__head{display:flex;flex-direction:column;gap:8px}
.cblock__title{font:600 var(--size-h3)/1.22 var(--font-core);letter-spacing:var(--ls-h3)}
.cblock__body{max-width:72ch}
.cblock__body--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:none}
.cblock__body--2 p+p{margin-top:0}
@media(max-width:760px){.cblock__body--2{grid-template-columns:minmax(0,1fr)}}

/* ---------- Metric ---------- */
.metric{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--line-accent)}
.metric__value{font:300 clamp(34px,4vw,48px)/1 var(--font-core);letter-spacing:-0.03em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:4px}
.metric__unit{font-size:.42em;font-weight:500;letter-spacing:.02em;color:var(--text-accent)}
.metric-col{display:grid;gap:28px}
.hero-mark{color:var(--gold-500);opacity:.3;width:max-content}
.hero-mark svg{display:block}

/* ---------- Panels, cards, alerts ---------- */
.panel{background:var(--surface-raised);border:1px solid var(--line-subtle);padding:var(--pad-panel);display:flex;flex-direction:column;gap:16px}
.panel__title{font:600 var(--size-h3)/1.22 var(--font-core);letter-spacing:var(--ls-h3)}
.panel .prose p{font-size:16px}
.engage{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(16px,2vw,32px)}
.card{position:relative;background:var(--surface-raised);border:1px solid var(--line-subtle);border-radius:var(--radius-sm);padding:var(--pad-card);display:flex;flex-direction:column;gap:12px}
.card--axis::before{content:"";position:absolute;top:0;left:0;height:2px;width:44px;background:var(--gold-500)}
.card__title{font:600 19px/1.35 var(--font-core);letter-spacing:var(--ls-h4)}
.card__line{font-size:16px;line-height:1.5;color:var(--ink-900);font-weight:500}
.card__body{font-size:15px;line-height:1.6;color:var(--text-secondary)}
.card__foot{margin-top:auto;padding-top:20px;border-top:1px solid var(--line-subtle)}
.strip{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(20px,3vw,48px);padding-top:24px;border-top:1px solid var(--line-subtle);align-items:baseline}
.strip p{font-size:17px;line-height:1.6;color:var(--text-body);max-width:60ch}
@media(max-width:760px){.strip{grid-template-columns:minmax(0,1fr);gap:12px}}
.alert{display:flex;flex-direction:column;gap:4px;padding:20px 24px;border-left:2px solid var(--status-info);background:var(--status-info-soft)}
.alert__title{font-size:14px;font-weight:600;color:var(--status-info)}
.alert__body{font-size:14px;line-height:1.45;color:var(--text-secondary)}
.alert--positive{border-color:var(--status-positive);background:var(--status-positive-soft)}
.alert--positive .alert__title{color:var(--status-positive)}
.alert--critical{border-color:var(--status-critical);background:var(--status-critical-soft)}
.alert--critical .alert__title{color:var(--status-critical)}

/* ---------- CTA block ---------- */
.cta{position:relative;overflow:hidden;background:var(--ink-900);color:var(--paper-000);padding:var(--pad-panel)}
.cta::before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:var(--gold-500)}
.cta--paper{background:var(--surface-raised);color:var(--ink-900);border:1px solid var(--line-subtle)}
.cta__row{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-end;justify-content:space-between}
.cta__copy{display:flex;flex-direction:column;gap:16px;max-width:58ch}
.cta__eyebrow{font:var(--type-meta);letter-spacing:var(--ls-meta);text-transform:uppercase;color:var(--gold-400)}
.cta--paper .cta__eyebrow{color:var(--text-accent)}
.cta__title{font:600 var(--size-h2)/1.12 var(--font-core);letter-spacing:var(--ls-h2)}
.cta__lead{font:400 var(--size-body-lg)/1.65 var(--font-core);color:#FFFFFFB8}
.cta--paper .cta__lead{color:var(--text-secondary)}
.cta__note{margin-top:32px;padding-top:16px;border-top:1px solid #FFFFFF1F;font-size:13px;line-height:1.45;color:#FFFFFF80}
.cta__note a{color:var(--gold-400)}
.cta__note a:hover{color:#fff}
.cta--paper .cta__note{border-top-color:var(--line-subtle);color:var(--text-tertiary)}
.cta--paper .cta__note a{color:var(--text-link)}
.cta:not(.cta--paper) .btn--accent:hover{background:var(--gold-400)}

/* ---------- Accordion ---------- */
.acc{border-top:1px solid var(--line-subtle)}
.acc__item{border-bottom:1px solid var(--line-subtle)}
.acc__btn{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;font:600 var(--size-h4)/1.35 var(--font-core);letter-spacing:var(--ls-h4);color:var(--ink-900)}
.acc__btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.acc__label{display:flex;gap:20px;align-items:baseline}
.acc__index{font:var(--type-meta);letter-spacing:var(--ls-meta);color:var(--text-accent)}
.acc__icon{position:relative;width:14px;height:14px;flex:none}
.acc__icon::before,.acc__icon::after{content:"";position:absolute;background:var(--ink-900)}
.acc__icon::before{top:6.5px;left:0;width:14px;height:1px}
.acc__icon::after{top:0;left:6.5px;width:1px;height:14px;transition:transform var(--dur-base) var(--ease)}
.acc__btn[aria-expanded="true"] .acc__icon::after{transform:scaleY(0)}
.acc__panel{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--dur-base) var(--ease)}
.js .acc__panel{grid-template-rows:0fr}
.js .acc__item.is-open .acc__panel{grid-template-rows:1fr}
.acc__inner{overflow:hidden}
.acc__inner p{padding-bottom:32px;color:var(--text-secondary);max-width:72ch}

/* ---------- Clocks ---------- */
.clock svg{display:block;max-width:100%;height:auto}
.clock .face{fill:#FFFFFF;stroke:var(--line-subtle)}
.clock .tick-major{stroke:var(--ink-900);stroke-width:1.4}
.clock .tick-minor{stroke:#C9C4B8;stroke-width:1}
.clock .hand{stroke:var(--ink-900);transform-box:view-box;transform-origin:0 0}
.clock .hand--h{stroke-width:2.4}
.clock .hand--m{stroke-width:1.4}
.clock .hand.is-anim{transition:transform var(--dur-base) var(--ease)}
.clock .pivot{fill:var(--gold-500)}
.clocks-band{border-top:1px solid var(--line-subtle);border-bottom:1px solid var(--line-subtle);background-color:var(--surface-page);background-image:repeating-linear-gradient(to right,#F0EDE4 0 1px,transparent 1px 104px),repeating-linear-gradient(to bottom,#F0EDE4 0 1px,transparent 1px 104px);background-position:center center}
.clocks-band__inner{position:relative;max-width:var(--container-max);margin:0 auto;padding:clamp(56px,7vw,96px) var(--gutter)}
.clocks-band__axis{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gold-500);opacity:.35}
.clocks-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:clamp(32px,4vw,40px);justify-items:center}
.clock-card{display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px 12px;width:100%}
.clock-card svg{width:132px}
.clock-card__cap{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.clock-city{font-size:17px;font-weight:600;letter-spacing:-0.01em}
.clock-time{font-size:13px;font-variant-numeric:tabular-nums;color:var(--gold-600)}
/* Home: compact analog row inside the hairline grid */
.clock-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line-subtle);border-top:1px solid var(--line-subtle);border-bottom:1px solid var(--line-subtle)}
.clock-cell{background:var(--surface-page);padding:28px 24px 24px;display:flex;flex-direction:column;gap:16px}
.clock-cell svg{width:88px}
.clock-cell__city{font-size:19px;font-weight:600;letter-spacing:-0.012em}
.clock-cell__time{font-size:14px;font-variant-numeric:tabular-nums;color:var(--gold-600)}
.clock-cell__head{display:flex;flex-direction:column;gap:6px}
@media(max-width:1000px){.clock-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.clock-row{grid-template-columns:repeat(2,minmax(0,1fr))}.clock-cell{padding:22px 18px}.clock-cell svg{width:76px}}

/* ---------- Coverage timeline (Presence) ---------- */
.tl{display:flex;flex-direction:column}
.tl__axis,.tl__row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(16px,3vw,40px);align-items:center}
.tl__axis{padding-bottom:12px;border-bottom:1px solid var(--line-strong)}
.tl__ticks{display:flex;justify-content:space-between;font:var(--type-meta);letter-spacing:.08em;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.tl__row{padding:18px 0;border-bottom:1px solid var(--line-subtle)}
.tl__who{display:flex;flex-direction:column;gap:4px}
.tl__city{font-size:17px;font-weight:600;letter-spacing:-0.01em}
.tl__focus{font-size:13px;line-height:1.45;color:var(--text-secondary)}
.tl__track svg{display:block;width:100%;height:28px}
.tl__bg{fill:var(--surface-sunken)}
.tl__grid{stroke:var(--line-default);stroke-width:1;vector-effect:non-scaling-stroke}
.tl__bar{fill:var(--ink-900)}
.tl__row--sum .tl__bar{fill:var(--gold-500)}
.tl__now{stroke:var(--gold-500);stroke-width:2;vector-effect:non-scaling-stroke}
.tl__row--sum .tl__now{stroke:var(--ink-900)}
.tl__row--sum{border-bottom:1px solid var(--line-strong)}
.tl__legend{display:flex;flex-wrap:wrap;gap:24px;padding-top:16px;font-size:13px;color:var(--text-secondary)}
.tl__key{display:inline-flex;align-items:center;gap:8px}
.tl__key::before{content:"";width:14px;height:8px;background:var(--ink-900)}
.tl__key--sum::before{background:var(--gold-500)}
.tl__key--now::before{width:2px;height:14px;background:var(--gold-500)}
@media(max-width:700px){.tl__axis,.tl__row{grid-template-columns:minmax(0,1fr);gap:10px}.tl__axis>span:first-child{display:none}}

/* ---------- Forms ---------- */
.form-card{display:flex;flex-direction:column;gap:28px;background:var(--surface-raised);border:1px solid var(--line-subtle);border-radius:var(--radius-sm);padding:clamp(24px,3vw,40px)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media(max-width:900px){.form-grid{grid-template-columns:minmax(0,1fr)}}
.field{display:flex;flex-direction:column;gap:8px}
.field__label{font:var(--type-meta);letter-spacing:var(--ls-meta);text-transform:uppercase;color:var(--text-secondary)}
.field__label .req{color:var(--text-accent)}
.field__hint{font-size:13px;line-height:1.45;color:var(--text-tertiary)}
.control{width:100%;font:400 15px/1.5 var(--font-core);color:var(--ink-900);background:var(--surface-raised);border:1px solid var(--line-default);border-radius:var(--radius-sm);padding:13px 14px;outline:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);min-height:48px}
.control::placeholder{color:var(--ink-400)}
.control:focus{border-color:var(--ink-900);box-shadow:inset 0 -2px 0 var(--gold-500)}
.control[aria-invalid="true"]{border-color:var(--status-critical)}
textarea.control{resize:vertical;line-height:1.6;min-height:140px}
.select{position:relative;display:block}
.select select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer}
.select::after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;border-right:1px solid var(--text-secondary);border-bottom:1px solid var(--text-secondary);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.check{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:14px;line-height:1.45}
.check input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:2px 0 0;flex:none;border:1px solid var(--ink-900);border-radius:1px;background:var(--surface-raised);cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}
.check input:checked{background:var(--ink-900) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.5 9.2l3 3 6-6.4' fill='none' stroke='%23FFFFFF' stroke-width='1.6'/%3E%3C/svg%3E") center/16px no-repeat}
.check input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:20px;border-top:1px solid var(--line-subtle);padding-top:24px}
.form-foot__note{font-size:13px;line-height:1.6;color:var(--text-secondary);max-width:min(40ch,100%)}
.form-foot__note.is-error{color:var(--status-critical)}
.aside{display:flex;flex-direction:column;gap:clamp(32px,4vw,44px);border-left:1px solid var(--line-subtle);padding-left:clamp(24px,3vw,40px)}
.aside__block{display:flex;flex-direction:column;gap:12px}
.aside__block+.aside__block{border-top:1px solid var(--line-subtle);padding-top:clamp(24px,3vw,36px)}
.aside p{font-size:15px;line-height:1.65;color:var(--text-body)}
.aside .small{font-size:13px;line-height:1.6;color:var(--text-secondary)}
.aside__mail{font-size:16px;font-weight:500;letter-spacing:-0.008em;word-break:break-all}
.hours{display:flex;flex-direction:column;gap:8px}
.hours div{display:flex;justify-content:space-between;gap:16px;font-size:14px;line-height:1.5}
.hours span+span{color:var(--text-secondary);font-variant-numeric:tabular-nums}
@media(max-width:900px){.aside{border-left:0;padding-left:0;border-top:1px solid var(--line-subtle);padding-top:40px}}
[hidden]{display:none!important}

/* ---------- Legal ---------- */
.legal{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(40px,6vw,96px);align-items:start}
.toc{position:sticky;top:calc(var(--header-height) + 32px);display:flex;flex-direction:column;gap:16px}
.toc ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-subtle)}
.toc li{border-bottom:1px solid var(--line-subtle)}
.toc a{display:flex;gap:14px;padding:11px 0;font-size:14px;line-height:1.4;color:var(--text-secondary)}
.toc a:hover{color:var(--ink-900)}
.toc a span{font:var(--type-meta);letter-spacing:.12em;color:var(--text-accent);padding-top:2px;min-width:18px}
.clauses{display:flex;flex-direction:column;gap:clamp(48px,6vw,64px)}
.clause{display:flex;flex-direction:column;gap:18px;padding-top:24px;border-top:1px solid var(--line-subtle)}
.clause__head{display:flex;align-items:baseline;gap:16px}
.clause h2{font:600 var(--size-h3)/1.22 var(--font-core);letter-spacing:var(--ls-h3)}
.clause p,.clause li{font-size:16px;line-height:1.7;color:var(--text-body);max-width:72ch}
.clause ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.clause li{position:relative;padding-left:22px}
.clause li::before{content:"";position:absolute;left:2px;top:.72em;width:5px;height:5px;background:var(--gold-500);transform:rotate(45deg)}
.clause strong{font-weight:600;color:var(--ink-900)}
.clause h3{font:600 17px/1.4 var(--font-core);letter-spacing:-0.008em;margin-top:6px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,32px);margin:8px 0}
.facts .metric__value{font-size:clamp(28px,3vw,40px)}
.facts .meta{text-transform:uppercase}
@media(max-width:700px){.facts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.legal{grid-template-columns:minmax(0,1fr)}.toc{position:static}}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink-900);color:var(--paper-000);padding-block:var(--section-y)}
.site-footer__in{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter);display:flex;flex-direction:column;gap:80px}
.site-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:48px}
.site-footer .brand{color:var(--paper-000)}
.site-footer__lead{display:flex;flex-direction:column;gap:20px}
.site-footer__tag{font-size:15px;line-height:1.6;color:#FFFFFFB8;max-width:34ch}
.fcol{display:flex;flex-direction:column;gap:16px}
.fcol__title{font:var(--type-meta);letter-spacing:var(--ls-meta);text-transform:uppercase;color:var(--gold-400)}
.fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.fcol a{font-size:14px;color:#FFFFFFB8}
.fcol a:hover{color:#FFFFFF}
.site-footer__sectors{display:flex;flex-wrap:wrap;gap:16px;padding-top:24px;border-top:1px solid #FFFFFF1F;font:var(--type-meta);letter-spacing:var(--ls-meta);text-transform:uppercase;color:#FFFFFF80}
.site-footer__sectors span+span::before{content:"·";color:var(--gold-500);margin-right:16px}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding-top:24px;border-top:1px solid #FFFFFF1F;font-size:13px;line-height:1.45;color:#FFFFFF80}
.site-footer__legal a{color:#FFFFFF80}
.site-footer__legal a:hover{color:#FFFFFF}
.site-footer :focus-visible{outline-color:var(--gold-400)}

/* ---------- Venture link ---------- */
.venture-link{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:8px}

/* ---------- 404 ---------- */
.nf{min-height:52vh;display:flex;align-items:center}

/* ---------- Reveal (JS only; content is visible without JS) ---------- */
.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;transition-duration:1ms!important;scroll-behavior:auto!important}
  .js [data-reveal]{transform:none;transition:opacity 140ms linear!important}
}
@media print{.site-header,.site-footer,.cta,.toc,.skip{display:none!important}.js [data-reveal]{opacity:1!important;transform:none!important}body{background:#fff}}
.method-aside{border-left:1px solid #33373A;padding-left:clamp(24px,3vw,48px);max-width:min(56ch,100%)}
.venture-title{color:var(--ink-900)}
.venture-title:hover{color:var(--text-link)}
@media(min-width:1001px){.site-footer__grid{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:40px}}
@media(min-width:561px) and (max-width:1000px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__lead{grid-column:1/-1}}
@media(max-width:560px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}.site-footer__lead{grid-column:1/-1}}
.tl{margin:0}
@media(min-width:641px) and (max-width:1000px){.clock-row{grid-template-columns:repeat(6,minmax(0,1fr))}.clock-cell{grid-column:span 2}.clock-cell:nth-child(n+4){grid-column:span 3}}
@media(max-width:640px){.clock-cell:last-child{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.clock-cell:last-child .clock-cell__time{width:100%}}
