/* Self-hosted fonts (Rajdhani, Inter, JetBrains Mono: SIL Open Font Licence) */
@font-face {font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/Inter-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/JetBrainsMono-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {font-family: 'Rajdhani'; font-style: normal; font-weight: 300; font-display: swap; src: url(/fonts/Rajdhani-300.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {font-family: 'Rajdhani'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/Rajdhani-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --bg:#000; --surface:#02080a; --card:#061014; --line:#123440; --line-strong:#2b7185;
  --primary:#6dddfb; --hot:#d7f8ff; --amber:#ffb347; --ink:#e9fbff; --ink-2:#b9d3da; --muted:#7ba7b1; --faint:#7095a0;
  --cyan-rgb:109,221,251; --bg-rgb:0,0,0;
  --display:"Rajdhani",system-ui,sans-serif; --body:"Inter",-apple-system,system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --speed:1; /* unlock tempo on the home instrument: 1 = about 3.6 s */
  color-scheme:dark;
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){--bg:#e8eef2;--surface:#f3f7f9;--card:#fff;--line:#c6d6dc;--line-strong:#5f95a6;--primary:#087293;--hot:#04455a;--amber:#a7550c;--ink:#0b1a20;--ink-2:#22404a;--muted:#3f6672;--faint:#5a7d88;--cyan-rgb:8,114,147;--bg-rgb:232,238,242;color-scheme:light}
}
:root[data-theme="light"]{--bg:#e8eef2;--surface:#f3f7f9;--card:#fff;--line:#c6d6dc;--line-strong:#5f95a6;--primary:#087293;--hot:#04455a;--amber:#a7550c;--ink:#0b1a20;--ink-2:#22404a;--muted:#3f6672;--faint:#5a7d88;--cyan-rgb:8,114,147;--bg-rgb:232,238,242;color-scheme:light}
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;min-height:100vh;min-height:100dvh;
  background-image:linear-gradient(rgba(var(--cyan-rgb),.05) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--cyan-rgb),.05) 1px,transparent 1px),linear-gradient(rgba(var(--cyan-rgb),.02) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--cyan-rgb),.02) 1px,transparent 1px);
  background-size:56px 56px,56px 56px,14px 14px,14px 14px}
a{color:var(--primary)}
.cap{font-family:var(--mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--faint)}
.cap.amber{color:var(--amber)} .cap.hot{color:var(--hot)}
h1,h2,h3{font-family:var(--display);font-weight:300;letter-spacing:.02em;line-height:1.05;margin:0;text-wrap:balance}
/* ---- border chrome (retained from v2) ---- */
.corners i{position:fixed;width:58px;height:58px;border:1px solid var(--primary);opacity:.5;pointer-events:none;z-index:5}
.corners i:nth-child(1){top:12px;left:12px;border-right:0;border-bottom:0}
.corners i:nth-child(2){top:12px;right:12px;border-left:0;border-bottom:0}
.corners i:nth-child(3){bottom:52px;left:12px;border-right:0;border-top:0}
.corners i:nth-child(4){bottom:52px;right:12px;border-left:0;border-top:0}
.axis{position:fixed;z-index:5;font-family:var(--mono);font-size:9px;letter-spacing:.45em;text-transform:uppercase;color:var(--primary);opacity:.42;pointer-events:none}
.axis.l{left:14px;top:50%;transform:rotate(-90deg) translateX(-50%);transform-origin:left top}
.axis.r{right:14px;top:50%;transform:rotate(90deg) translateX(50%);transform-origin:right top}
.top{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(16px,3vw,32px);pointer-events:none}
.top>*{pointer-events:auto}
.brand{font-family:var(--display);font-weight:400;font-size:15px;letter-spacing:.32em;text-transform:uppercase;color:var(--hot);text-decoration:none;opacity:0;transition:opacity .5s}
body.docked .brand{opacity:1}
.top nav{display:flex;border:1px solid var(--line);background:rgba(var(--bg-rgb),.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateZ(0);opacity:0;pointer-events:none;transition:opacity .5s}
body.docked .top nav{opacity:1;pointer-events:auto}
.top nav a{white-space:nowrap;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:10px 12px;border-right:1px solid var(--line)}
.top nav a:last-child{border-right:0}
.top nav a.on{color:var(--hot);box-shadow:inset 0 -2px 0 var(--amber)}
.top nav a:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}
/* ---- home stage ---- */
.stage{position:relative;height:100vh;height:100dvh;overflow:hidden}
.chrono{position:absolute;top:50%;left:var(--dialx);width:var(--R2);height:var(--R2);transform:translate(-50%,-50%);transition:transform 1.1s cubic-bezier(.7,0,.2,1),filter 1.1s ease,opacity 1.1s ease;z-index:2;opacity:0}
body.landed .chrono{opacity:1;transition:opacity 1.6s ease,transform 1.1s cubic-bezier(.7,0,.2,1),filter 1.1s ease}
body.quick .chrono{transition:none;opacity:1}
body.leaving .chrono{z-index:20;opacity:.5;filter:blur(1.4px);transition:transform 1.1s cubic-bezier(.7,0,.2,1),filter 1.1s ease,opacity 1.1s ease}
body.leaving .brandblock,body.leaving .labels,body.leaving .hint,body.leaving .home-index{opacity:0!important;transition:opacity .45s ease}
body.leaving .page,body.leaving .top nav,body.leaving .top .brand{opacity:0!important;transition:opacity .4s ease}
body.leaving .labels button{pointer-events:none}
.chrono svg{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 0 2px rgba(var(--cyan-rgb),.55)) drop-shadow(0 0 12px rgba(var(--cyan-rgb),.12))}
.chrono .ring{transform-box:view-box;transform-origin:400px 400px}
.dock{position:fixed;left:0;top:0;width:var(--R2,600px);height:var(--R2,600px);transform:translate(calc(-50% + 92px),calc(-50% + 92px)) scale(.24);filter:blur(1.4px);opacity:.5;z-index:20;display:block;transition:opacity .5s ease,filter .5s ease,transform 1s cubic-bezier(.7,0,.2,1)}
.dock.returning{opacity:1;filter:blur(0);transition:opacity .9s ease,filter .9s ease,transform 1s cubic-bezier(.7,0,.2,1);pointer-events:none}
.dock:hover,.dock:focus-visible{opacity:.95;filter:blur(0);outline:none}
.dock svg{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 0 2px rgba(var(--cyan-rgb),.55)) drop-shadow(0 0 12px rgba(var(--cyan-rgb),.12))}
.dock .ring{transform-box:view-box;transform-origin:400px 400px}
.dock .readout,.chrono .readout{font-family:var(--mono);font-size:9px;letter-spacing:.3em;fill:var(--faint);text-transform:uppercase}
.dock .readout.v,.chrono .readout.v{font-size:11px;letter-spacing:.16em;fill:var(--hot)}
/* brand: the P of PROMETHEUS sits on the dial centre */
.brandblock{position:absolute;top:var(--cy);left:var(--brandx);right:clamp(24px,7vw,120px);z-index:3;pointer-events:none}
.brandblock .name{font-family:var(--display);font-weight:300;font-size:var(--namesize);line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--hot);text-shadow:0 0 6px rgba(var(--cyan-rgb),.55),0 0 28px rgba(var(--cyan-rgb),.25);white-space:nowrap;transform:translateY(-54%);opacity:0;transition:opacity 1.2s ease}
.brandblock .rule{position:absolute;left:0;right:0;top:calc(var(--namesize) * .52);height:1px;background:linear-gradient(90deg,var(--hot),var(--hot) 55%,rgba(var(--cyan-rgb),.25));box-shadow:0 0 6px rgba(var(--cyan-rgb),.5);transform-origin:left;transform:scaleX(0);transition:transform 1.2s cubic-bezier(.6,0,.2,1)}
.brandblock .sub{position:absolute;left:var(--subx);top:calc(var(--namesize) * .62);font-family:var(--display);font-weight:400;font-size:calc(var(--namesize) * .3);letter-spacing:.14em;text-transform:uppercase;color:var(--primary);text-shadow:0 0 8px rgba(var(--cyan-rgb),.45);white-space:nowrap;opacity:0;transition:opacity 1.2s ease}
body.landed.s1 .brandblock .name{opacity:1}
body.landed.s2 .brandblock .rule{transform:scaleX(1)}
body.landed.s2 .brandblock .sub{opacity:1}
body.docked .brandblock{display:none}
/* labels: numbered mono captions (v2 style), placed by script */
.labels{position:absolute;inset:0;z-index:4;pointer-events:none}
.labels button{position:absolute;pointer-events:auto;background:none;border:0;cursor:pointer;color:var(--hot);font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;padding:8px 10px;display:grid;gap:4px;text-align:left;white-space:nowrap;transform:translate(0,-50%);opacity:0;transition:opacity .9s ease,transform .9s ease}
body.landed.s3 .labels button{opacity:.18}
body.landed.s3 .labels button.lit,body.landed.s3 .labels button:hover,body.landed.s3 .labels button:focus-visible{opacity:1}
body.landed.s3 .labels:hover button.lit:not(:hover){opacity:.18}
.labels button .i{font-family:var(--display);font-weight:300;font-size:26px;letter-spacing:.04em;line-height:1;color:var(--hot);transition:color .3s,text-shadow .3s}
.labels button .l{color:var(--muted);transition:color .3s,text-shadow .3s}
.labels button:hover .l,.labels button:focus-visible .l{color:var(--hot);text-shadow:0 0 10px rgba(var(--cyan-rgb),.55)}
.labels button:hover .i,.labels button:focus-visible .i{text-shadow:0 0 10px rgba(var(--cyan-rgb),.55)}
.labels button.st .l,.labels button.st .i{color:var(--amber)}
.labels button.st:hover .l,.labels button.st:focus-visible .l{color:#ffd28f;text-shadow:0 0 10px rgba(255,179,71,.55)}
.labels button:focus-visible{outline:1px solid var(--amber);outline-offset:4px}
body.docked .labels{display:none}
body.locking .labels button{pointer-events:none;opacity:.5}
body.locking .labels button.chosen{opacity:1}
.hint{position:absolute;right:clamp(24px,7vw,120px);bottom:clamp(64px,12vh,120px);z-index:3;display:grid;gap:8px;max-width:44ch;text-align:right;opacity:0;transition:opacity 1.2s ease}
body.landed.s3 .hint{opacity:1}
.hint h1{font-size:clamp(24px,2.6vw,38px);font-weight:300;color:var(--ink-2);line-height:1.15}
body.docked .hint{display:none}
/* ---- info bar ---- */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:25;border-top:1px solid var(--line);background:rgba(var(--bg-rgb),.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateZ(0);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:10px clamp(16px,3vw,32px) calc(10px + env(safe-area-inset-bottom))}
.bar .links{display:flex;gap:0}
.bar a{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:4px 12px;border-right:1px solid var(--line)}
.bar a:last-child{border-right:0}
.bar a:hover,.bar a:focus-visible{color:var(--hot);outline:none}
.bar .copy{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
/* ---- products instrument ---- */
.pstage{position:relative;height:min(78vh,760px)}
.pinst{position:absolute;top:44%;left:var(--pcx);transform:translate(-50%,-50%);transition:left 1.9s cubic-bezier(.6,.02,.2,1)}
.pstage.shifted .pinst{left:var(--pcx2)}
#our-products{max-width:none;padding-left:clamp(16px,6vw,120px);padding-right:clamp(16px,6vw,120px)}
#our-products header{max-width:1100px;margin-inline:auto;margin-left:calc(50% - 430px)}
.pinst{width:var(--PR2);height:var(--PR2)}
.pinst svg{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 0 2px rgba(var(--cyan-rgb),.5)) drop-shadow(0 0 10px rgba(var(--cyan-rgb),.1))}
.pinst .ring{transform-box:view-box;transform-origin:400px 400px}
.plabels{position:absolute;inset:0;pointer-events:none;z-index:3}
.pinst svg{pointer-events:none}
.plabels button{position:absolute;pointer-events:auto;background:none;border:0;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:14px 16px;white-space:nowrap;display:grid;gap:2px;transform:translate(0,-50%);color:var(--muted)}
.plabels button::after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}
/* labels rest dimmed; only the lit (landing) or selected label, or one under the pointer, is at full brightness */
.plabels button{opacity:.18;transition:opacity .5s ease}
.plabels button.lit,.plabels button.on,.plabels button:hover,.plabels button:focus-visible{opacity:1}
.plabels:hover button.lit:not(:hover){opacity:.18}
.plabels button.w{text-align:right;transform:translate(-100%,-50%)}
.plabels button.c{text-align:center;transform:translate(-50%,-50%)}
.plabels button .i{font-family:var(--display);font-weight:300;font-size:20px;letter-spacing:.04em;line-height:1;color:var(--hot)}
.plabels button .l{color:var(--muted);transition:color .3s,text-shadow .3s}
.plabels button:hover .l,.plabels button:focus-visible .l,.plabels button.on .l{color:var(--hot);text-shadow:0 0 10px rgba(var(--cyan-rgb),.5)}
.plabels button:focus-visible{outline:1px solid var(--amber);outline-offset:3px}
.plabels button.green .l,.plabels button.green .i{color:#5cff9d}
.plabels button.green:hover .l,.plabels button.green.on .l{color:#b6ffd1;text-shadow:0 0 10px rgba(92,255,157,.55)}
.plabels button.amb .l,.plabels button.amb .i{color:var(--amber)}
.plabels button.amb:hover .l,.plabels button.amb.on .l{color:#ffd28f;text-shadow:0 0 10px rgba(255,179,71,.55)}
.plabels button.burnt .l,.plabels button.burnt .i{color:#e07830}
.plabels button.burnt:hover .l,.plabels button.burnt.on .l{color:#ffb07a;text-shadow:0 0 10px rgba(224,120,48,.55)}
.pmodal{position:absolute;top:44%;left:var(--pmx);right:clamp(24px,6vw,120px);transform:translate(16px,-50%);border:1px solid var(--line);background:rgba(var(--bg-rgb),.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateZ(0);padding:28px 30px;display:grid;gap:14px;max-width:600px;opacity:0;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.pmodal.on{opacity:1;transform:translate(0,-50%);pointer-events:auto}
.pmodal .uses{display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--line)}
.pmodal .uses li{list-style:none;position:relative;padding-left:16px;font-size:14px;color:var(--ink-2)}
.pmodal .uses li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:1px;background:var(--pm,var(--primary))}
.pmodal ul{margin:0;padding:0}
.pmodal::before{content:"";position:absolute;left:0;top:0;height:100%;width:2px;background:var(--pm,var(--primary))}
.pmodal .t{font-family:var(--display);font-weight:300;font-size:clamp(30px,3vw,44px);line-height:1;color:var(--hot)}
.pmodal .s{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--pm,var(--primary))}
.pmodal p{margin:0;color:var(--ink-2);font-size:15.5px;max-width:52ch}
.pmodal .x{position:absolute;right:12px;top:10px;background:none;border:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.2em;padding:4px 8px;cursor:pointer}
.pmodal .x:hover,.pmodal .x:focus-visible{color:var(--hot);outline:none}
.pmodal .empty{color:var(--muted);font-size:14px}
@media (max-width:860px){.pstage{height:auto;display:grid;gap:18px}.pinst{position:static;transform:none;width:min(82vw,60vh);height:auto;aspect-ratio:1;margin-inline:auto}.pmodal{position:static;transform:none}.pmodal.on{transform:none}.plabels{position:static;display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:12px;pointer-events:auto}.plabels button,.plabels button.w{position:static;transform:none;text-align:left}.pmodal{max-width:100%}}
/* ---- pages ---- */
.pages{position:relative;z-index:10}
.page{display:grid;gap:40px;align-content:start;max-width:1100px;margin:0 auto;padding:110px clamp(16px,4vw,48px) 120px;min-height:100vh;min-height:100dvh;animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.page header{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:22px;margin-left:120px}
.page header h1{font-size:clamp(38px,5.4vw,66px);color:var(--hot)}
.page header .n{font-family:var(--display);font-weight:300;font-size:64px;line-height:1;color:var(--primary)}
.grid{display:grid;grid-template-columns:200px 1fr;gap:24px 32px}
.grid .k{align-self:start}
.claims{display:grid}
.claim{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.claim .t{font-family:var(--display);font-weight:400;font-size:26px;color:var(--hot);line-height:1.1}
.claim p{margin:0;color:var(--ink-2);max-width:56ch}
.tickrule{height:14px;position:relative;overflow:hidden}
.tickrule::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:var(--line)}
.tickrule i{position:absolute;top:2px;width:1px;height:10px;background:var(--line-strong);transform:scaleY(0);transform-origin:bottom}
.page .tickrule i{animation:tick .45s ease-out both}
@keyframes tick{to{transform:scaleY(1)}}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.card{border:1px solid var(--line);background:var(--card);padding:20px;display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:start;position:relative}
.card::before{content:"";position:absolute;left:0;top:0;height:100%;width:2px;background:var(--line-strong)}
.card.live::before{background:var(--primary)} .card.build::before{background:var(--amber)}
.card h3{font-size:24px;font-weight:300;color:var(--hot);grid-column:1}
.card p{grid-column:1;margin:0;font-size:14.5px;color:var(--ink-2)}
.card .cap{grid-column:1}
.card .dial{grid-column:2;grid-row:1/4;width:44px;height:44px}
.card .dial svg{width:100%;height:100%;overflow:visible}
.card .dial .seg{transform-box:view-box;transform-origin:22px 22px;transition:transform 1.1s cubic-bezier(.3,1.15,.4,1)}
.card:hover .dial .seg{transform:rotate(0deg) translate(0,0)}
.story{display:grid;grid-template-columns:200px 1fr;gap:24px 32px}
.story blockquote{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(26px,3.2vw,38px);line-height:1.15;color:var(--hot);max-width:22ch}
.story p{margin:0;color:var(--ink-2);max-width:58ch}
.honour{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.6vw,34px);color:var(--hot);text-shadow:0 0 10px rgba(var(--cyan-rgb),.45),0 0 26px rgba(var(--cyan-rgb),.18);letter-spacing:.04em}
.names{display:flex;flex-wrap:wrap;gap:8px}
.names span{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:6px 10px}
.names span b{color:var(--hot);font-weight:400}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.btn{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:12px 18px;border:1px solid var(--line-strong);color:var(--hot);text-decoration:none;background:none;cursor:pointer}
.btn.primary{border-color:var(--primary);box-shadow:inset 0 0 0 1px rgba(var(--cyan-rgb),.25)}
.btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.form{display:grid;gap:14px;max-width:560px}
.form label{display:grid;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.form input,.form textarea{font:16px var(--body);color:var(--ink);background:var(--card);border:1px solid var(--line);padding:12px 14px;width:100%}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--primary)}
.form .status{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);min-height:1.4em}
.contactlist{display:grid;gap:14px}
#contact .grid{grid-template-columns:320px 1fr}
.contactlist a{word-break:break-all}
.contactlist a,.contactlist span{font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--hot);text-decoration:none}
.contactlist .cap{margin-bottom:2px}
@media (max-width:860px){
  .stage{height:auto;min-height:100vh;min-height:100dvh;display:grid;gap:18px;padding:64px 16px 90px;align-content:start}
  .chrono{position:relative;top:auto;left:auto;transform:none;width:min(82vw,50vh);height:auto;aspect-ratio:1;margin-inline:auto}
  .brandblock{position:static;text-align:center}
  .brandblock .name{font-size:clamp(40px,11.5vw,64px);white-space:normal;transform:none}
  .brandblock .rule{position:static;margin:8px 0;top:auto}
  .brandblock .sub{position:static;font-size:clamp(16px,4.6vw,22px)}
  .labels{position:static;display:grid;grid-template-columns:1fr 1fr;gap:4px;pointer-events:auto}
  .labels button{position:static;transform:none}
  .hint{position:static;max-width:100%;text-align:left}
  .page header,.grid,.claim,.story{grid-template-columns:1fr}
  .page header{margin-left:0} .page{padding-top:96px}
  .dock{position:fixed;top:0;left:0;width:var(--R2,600px);height:var(--R2,600px);transform:translate(calc(-50% + 60px),calc(-50% + 60px)) scale(.17)}
  .top nav{max-width:70vw;overflow-x:auto}
  .axis{display:none}
  .bar{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .chrono,.page,.card .dial .seg,.chrono .ring,.labels button,.brandblock .name,.brandblock .rule,.brandblock .sub,.hint{transition:none!important;animation:none!important}
}

/* ---- legal and support pages ---- */
.prose{max-width:70ch;display:grid;gap:16px;color:var(--ink-2)}
.prose h2{font-size:26px;color:var(--hot);margin-top:12px}
.prose p{margin:0}
.prose a{color:var(--primary)}
/* ---- 404 ---- */
.notfound{display:grid;gap:18px;justify-items:start}
/* ---- home index below the stage ---- */
.home-index{min-height:0;padding-top:24px;padding-bottom:110px}
.claim.link{text-decoration:none;color:inherit}
.claim.link:hover .t,.claim.link:focus-visible .t{color:var(--primary)}
.claim.link:focus-visible{outline:1px solid var(--amber);outline-offset:4px}
/* ---- product index ---- */
.pindex{display:grid;gap:20px}
.pindex h2.cap{font-family:var(--mono);font-weight:400;font-size:11px}
.card{grid-template-columns:1fr}
.card .cap{font-size:10px}
.stack{display:grid;gap:16px}
.form .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form{position:relative}
.prose a,.contactlist a{overflow-wrap:anywhere}
@media (max-width:860px){
  #contact .grid{grid-template-columns:1fr}
  .brand{margin-left:104px}
  .bar{position:static;display:grid;justify-items:center;gap:8px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .bar .links{flex-wrap:wrap;justify-content:center}
  .bar a{border-right:0;padding:4px 8px}
  .page{padding-bottom:40px}
  .home-index{padding-bottom:20px}
  .stage{padding-bottom:20px}
}
@media (hover:none){
  body.landed.s3 .labels button,.plabels button{opacity:1}
  .plabels button .l{color:var(--ink-2)}
}
/* ---- quick arrival (returning from an inner page) ---- */
body.quick .brandblock .name,body.quick .brandblock .sub,body.quick .hint{transition-duration:.45s}
body.quick .brandblock .rule{transition-duration:.6s}
body.quick .labels button{transition-duration:.45s}
/* ---- questions block ---- */
.faq{display:grid;gap:16px}
.faq h2.cap{font-family:var(--mono);font-weight:400;font-size:11px}
.faq .claim .t{font-size:20px}
