:root{--bg:#050607;--bg2:#090b0d;--panel:#0b0d10;--ink:#f1f0ec;--muted:#92979b;--dim:#5f666b;--line:#20252a;--bronze:#aa8d58;--bronze2:#d0b77b;--max:1320px;--ease:cubic-bezier(.22,.78,.22,1)}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(var(--max),calc(100% - 64px));margin:auto}.mono{font-family:'DM Mono',monospace}.serif,h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}.micro{font:400 10px/1.4 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze2)}
/* global atmosphere */
#grain{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.027;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.93' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.edge{position:fixed;z-index:70;pointer-events:none;inset:0;border:1px solid rgba(170,141,88,.08)}
/* transition curtain */
#transition{position:fixed;inset:0;z-index:1000;pointer-events:none;display:grid;place-items:center;background:#050607;transform:translateY(100%);transition:transform .58s var(--ease)}#transition:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--bronze2),transparent)}#transition .tmark{opacity:0;transition:.2s;color:var(--bronze2);font:14px 'Libre Caslon Display',serif;letter-spacing:.18em;border:1px solid rgba(170,141,88,.45);width:52px;height:52px;display:grid;place-items:center}body.leaving #transition{transform:translateY(0);pointer-events:auto}body.leaving #transition .tmark{opacity:1;transition-delay:.18s}body.arrive main,body.arrive header,body.arrive footer{animation:arrive .72s var(--ease) both}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* header */
header{position:fixed;z-index:80;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(5,6,7,.96),rgba(5,6,7,.80) 64%,transparent);backdrop-filter:blur(14px)}.head{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:14px;align-items:center}.mark{width:43px;height:43px;border:1px solid rgba(170,141,88,.62);display:grid;place-items:center;font:15px 'Libre Caslon Display',serif;letter-spacing:.08em;position:relative}.mark:after{content:"";position:absolute;left:8px;right:8px;bottom:-8px;height:1px;background:rgba(170,141,88,.5)}.brandtext b{display:block;font:400 12px/1 'Libre Caslon Display',serif;letter-spacing:.23em}.brandtext span{display:block;margin-top:7px;color:#747b80;font:400 8px 'DM Mono',monospace;letter-spacing:.18em}.nav{display:flex;align-items:center;gap:28px}.nav a{font:400 9px 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#a4a9ad;position:relative}.nav a:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:-10px;background:var(--bronze2);transition:right .32s var(--ease)}.nav a:hover:after,.nav a.active:after{right:0}.nav a.active{color:white}.nav .principal{padding:10px 12px;border:1px solid #393429;color:var(--bronze2)}.menu{display:none;border:0;background:none;color:white;font-size:19px}
/* intro */
#intro{position:fixed;inset:0;z-index:990;background:#030405;display:grid;place-items:center;overflow:hidden;transition:opacity .9s var(--ease),visibility .9s}#intro.done{opacity:0;visibility:hidden;pointer-events:none}#intro video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;filter:grayscale(1) contrast(1.2)}.introgrid{position:absolute;inset:0;background-image:linear-gradient(rgba(170,141,88,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(170,141,88,.07) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle,black,transparent 78%)}.introcenter{position:relative;text-align:center;width:min(700px,88vw)}.irings{width:250px;height:250px;margin:0 auto 30px;position:relative}.iring{position:absolute;border:1px solid rgba(170,141,88,.26);border-radius:50%;inset:0;animation:spin 8s linear infinite}.iring:nth-child(2){inset:28px;border-style:dashed;animation-direction:reverse;animation-duration:11s}.iring:nth-child(3){inset:63px;animation-duration:5s}.ics{position:absolute;inset:91px;border:1px solid rgba(170,141,88,.62);display:grid;place-items:center;font:20px 'Libre Caslon Display',serif;letter-spacing:.1em}.ipulse{position:absolute;left:50%;top:50%;width:5px;height:5px;background:var(--bronze2);box-shadow:0 0 24px var(--bronze2);border-radius:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:rotate(360deg)}}.introline{font:9px 'DM Mono',monospace;letter-spacing:.19em;color:#8f969b;text-transform:uppercase;height:18px}.progress{height:1px;background:#24292d;margin:22px auto 0;width:min(460px,80vw);position:relative;overflow:hidden}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--bronze),var(--bronze2));animation:progress 8s linear forwards}@keyframes progress{to{width:100%}}.iskip{position:absolute;right:28px;bottom:26px;background:none;border:0;color:#7c8388;font:9px 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.introstatus{position:absolute;left:28px;bottom:26px;color:#61686d;font:8px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase}
/* homepage */
.home-hero{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:flex-end}.home-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38;filter:saturate(.55) contrast(1.18)}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,7,.25),rgba(5,6,7,.18) 38%,#050607 98%),linear-gradient(90deg,rgba(5,6,7,.84),rgba(5,6,7,.2) 65%)}.hero-grid{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(170,141,88,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(170,141,88,.07) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 84%)}.home-copy{position:relative;z-index:3;padding:190px 0 86px}.home-copy h1{font-size:clamp(68px,9.2vw,132px);line-height:.84;letter-spacing:-.045em;max-width:1000px;margin:20px 0 0}.home-copy p{font-size:16px;line-height:1.8;color:#a8adb1;max-width:620px;margin:31px 0 0}.homebar{display:flex;flex-wrap:wrap;gap:20px 44px;margin-top:54px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font:9px 'DM Mono',monospace;letter-spacing:.15em;color:#747b80;text-transform:uppercase}.homebar b{color:#c9b37f;font-weight:400}.scrollcue{position:absolute;z-index:4;right:32px;bottom:34px;font:8px 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#737a80;writing-mode:vertical-rl}.scrollcue:after{content:"";display:block;height:58px;width:1px;background:linear-gradient(var(--bronze),transparent);margin:12px auto 0}
.manifesto{padding:130px 0 100px;border-bottom:1px solid var(--line)}.manifesto .line{font:400 clamp(45px,6.5vw,92px)/1 'Libre Caslon Display',serif;max-width:1180px;letter-spacing:-.025em}.manifesto .line em{color:#6f7477;font-style:normal}.split{display:grid;grid-template-columns:.74fr 1.26fr;gap:88px;align-items:start}.section{padding:120px 0;border-bottom:1px solid var(--line)}.section h2{font-size:clamp(48px,6vw,84px);line-height:.96;margin:18px 0 0}.bodycopy{color:#9ca2a6;font-size:15px;line-height:1.85;max-width:680px}.bodycopy p:first-child{margin-top:0}
.portal-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.portal-card{min-height:390px;background:#07090b;position:relative;overflow:hidden;padding:34px;display:flex;flex-direction:column;justify-content:space-between;transition:background .45s var(--ease)}.portal-card:hover{background:#0b0e11}.portal-card .img{position:absolute;inset:0;opacity:.48;transition:transform .8s var(--ease),opacity .5s}.portal-card:hover .img{transform:scale(1.035);opacity:.63}.portal-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,7,.10),#07090b 83%)}.portal-card .top,.portal-card .bottom{position:relative;z-index:2}.portal-card h3{font-size:38px;margin:0 0 8px}.portal-card p{margin:0;max-width:440px;color:#888f94;font-size:13px;line-height:1.7}.portal-card .arrow{font:20px 'DM Mono',monospace;color:var(--bronze2)}
/* unique visuals */
.img-office{background:radial-gradient(circle at 76% 30%,rgba(170,141,88,.15),transparent 18rem),linear-gradient(125deg,transparent 35%,rgba(255,255,255,.035) 35.1%,transparent 35.3%),repeating-linear-gradient(90deg,transparent 0 78px,rgba(170,141,88,.06) 79px 80px)}
.img-capability{background:radial-gradient(circle at 68% 34%,rgba(170,141,88,.16),transparent 16rem),repeating-radial-gradient(circle at 68% 34%,rgba(170,141,88,.09) 0 1px,transparent 1px 44px),linear-gradient(135deg,transparent,#0b0d10)}
.img-international{background:radial-gradient(ellipse at 66% 42%,rgba(170,141,88,.13),transparent 27rem),repeating-linear-gradient(0deg,transparent 0 35px,rgba(170,141,88,.045) 36px),repeating-linear-gradient(90deg,transparent 0 59px,rgba(170,141,88,.045) 60px)}
.img-engagement{background:linear-gradient(90deg,transparent 11%,rgba(170,141,88,.14) 11.1%,transparent 11.3%,transparent 35%,rgba(170,141,88,.1) 35.1%,transparent 35.3%,transparent 67%,rgba(170,141,88,.1) 67.1%,transparent 67.3%),radial-gradient(circle at 11% 42%,rgba(170,141,88,.35) 0 3px,transparent 4px),radial-gradient(circle at 35% 42%,rgba(170,141,88,.35) 0 3px,transparent 4px),radial-gradient(circle at 67% 42%,rgba(170,141,88,.35) 0 3px,transparent 4px)}
/* internal pages */
.pagehero{min-height:72vh;padding:176px 0 82px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);display:flex;align-items:flex-end}.pagehero .backdrop{position:absolute;inset:0;opacity:.72}.pagehero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,7,.3),#050607 96%),linear-gradient(90deg,rgba(5,6,7,.72),transparent 65%)}.pagehero .wrap{position:relative;z-index:3}.pagehero h1{font-size:clamp(62px,8.2vw,116px);line-height:.88;letter-spacing:-.035em;max-width:1000px;margin:19px 0 0}.pagehero .lede{max-width:690px;color:#a0a6aa;font-size:17px;line-height:1.8;margin-top:30px}.pagecode{position:absolute;right:32px;top:128px;z-index:3;color:#666d72;font:8px 'DM Mono',monospace;letter-spacing:.17em;text-transform:uppercase;writing-mode:vertical-rl}
.datagrid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);background:var(--line);gap:1px}.dataitem{background:#080a0c;padding:42px;min-height:250px;position:relative}.dataitem small{font:9px 'DM Mono',monospace;letter-spacing:.15em;color:var(--bronze2);text-transform:uppercase}.dataitem h3{font-size:32px;margin:48px 0 12px}.dataitem p{color:#8f969b;font-size:14px;line-height:1.75;max-width:500px}.dataitem:before{content:"";position:absolute;right:25px;top:25px;width:42px;height:42px;border-right:1px solid rgba(170,141,88,.25);border-top:1px solid rgba(170,141,88,.25)}
.fullvisual{height:min(62vw,690px);min-height:420px;border:1px solid var(--line);position:relative;overflow:hidden;background:#07090a}.radar{position:absolute;width:min(62vw,620px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(170,141,88,.18);left:50%;top:50%;transform:translate(-50%,-50%)}.radar:before,.radar:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(170,141,88,.14)}.radar:before{inset:14%}.radar:after{inset:31%}.radarline{position:absolute;left:50%;top:50%;width:50%;height:1px;transform-origin:left;background:linear-gradient(90deg,var(--bronze),transparent);animation:sweep 7s linear infinite}.radaraxis:before,.radaraxis:after{content:"";position:absolute;background:rgba(170,141,88,.10)}.radaraxis:before{width:1px;top:0;bottom:0;left:50%}.radaraxis:after{height:1px;left:0;right:0;top:50%}@keyframes sweep{to{transform:rotate(360deg)}}.blip{position:absolute;width:6px;height:6px;background:var(--bronze2);box-shadow:0 0 18px rgba(208,183,123,.7)}
.timeline{border-top:1px solid var(--line)}.phase{display:grid;grid-template-columns:90px .8fr 1.2fr;gap:30px;padding:42px 0;border-bottom:1px solid var(--line);align-items:start}.phase .num{font:10px 'DM Mono',monospace;color:var(--bronze2);letter-spacing:.14em}.phase h3{font-size:30px;margin:0}.phase p{margin:0;color:#92999e;line-height:1.8;max-width:620px;font-size:14px}
.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.contactbox{background:#080a0c;padding:52px;min-height:310px;display:flex;flex-direction:column;justify-content:space-between}.contactbox a.mail{font:400 clamp(24px,3.1vw,42px)/1.1 'Libre Caslon Display',serif;word-break:break-word}.contactbox p{color:#888f94;line-height:1.7;font-size:13px;max-width:440px}
.cta{padding:118px 0}.ctabox{padding:62px;border:1px solid #342f27;background:linear-gradient(135deg,rgba(170,141,88,.07),transparent 45%);display:flex;justify-content:space-between;align-items:end;gap:40px}.ctabox h2{font-size:clamp(42px,5.5vw,76px);max-width:800px;margin:20px 0 0}.button{display:inline-flex;align-items:center;gap:22px;padding:15px 18px;border:1px solid #4b412f;color:var(--bronze2);font:9px 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase;transition:.3s}.button:hover{background:var(--bronze);color:#050607}
/* access */
.accesshero{min-height:100vh;padding:150px 0 60px;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(170,141,88,.07),transparent 28rem)}.accesspanel{width:min(940px,100%);border:1px solid #272d31;background:#07090b;box-shadow:0 36px 100px rgba(0,0,0,.38)}.accesshead{padding:15px 18px;border-bottom:1px solid #252a2f;display:flex;justify-content:space-between;color:#6f777c;font:8px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase}.accessbody{padding:62px}.accessbody h1{font-size:clamp(48px,7vw,76px);margin:16px 0 20px}.accessbody p{color:#969da2;line-height:1.8;max-width:650px}.lockrow{margin-top:42px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:center}.indicator{display:flex;align-items:center;gap:9px;font:9px 'DM Mono',monospace;letter-spacing:.13em;color:#7f878b;text-transform:uppercase}.indicator i{width:6px;height:6px;border-radius:50%;background:#a4864f;box-shadow:0 0 12px rgba(170,141,88,.6)}
/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}.reveal.delay1{transition-delay:.08s}.reveal.delay2{transition-delay:.16s}
footer{padding:34px 0 44px;border-top:1px solid var(--line);font:8px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#656c71}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.foot a:hover{color:white}
@media(max-width:950px){.nav{display:none;position:absolute;top:78px;left:24px;right:24px;background:#080a0c;border:1px solid var(--line);padding:24px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu{display:block}.split{grid-template-columns:1fr;gap:42px}.portal-cards,.datagrid,.contactgrid{grid-template-columns:1fr}.phase{grid-template-columns:60px 1fr}.phase p{grid-column:2}.ctabox{display:block}.ctabox .button{margin-top:32px}.pagecode{display:none}.brandtext span{display:none}}
@media(max-width:620px){.wrap{width:min(var(--max),calc(100% - 30px))}.head{height:76px}.home-copy{padding-bottom:56px}.home-copy h1{font-size:clamp(58px,17vw,90px)}.homebar{gap:12px 20px}.manifesto,.section{padding:85px 0}.portal-card{min-height:315px;padding:26px}.pagehero{padding-top:142px;min-height:66vh}.accessbody{padding:34px}.contactbox{padding:34px}.ctabox{padding:36px}.phase{grid-template-columns:1fr}.phase p{grid-column:auto}.scrollcue{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* v14 polish */
:focus-visible{outline:1px solid var(--bronze2);outline-offset:4px}
#intro:before{content:"";position:absolute;inset:18px;border:1px solid rgba(170,141,88,.08);pointer-events:none}#intro:after{content:"CS // PUBLIC INTERFACE";position:absolute;top:27px;left:29px;color:#5d6468;font:8px 'DM Mono',monospace;letter-spacing:.16em}#intro .introcenter:before,#intro .introcenter:after{position:absolute;top:50%;transform:translateY(-50%);color:#51585d;font:7px 'DM Mono',monospace;line-height:2;letter-spacing:.12em;white-space:pre}#intro .introcenter:before{content:"NODE 01\A 52.0567 N\A 1.1482 E\A STATUS / LIVE";left:-110px;text-align:right}#intro .introcenter:after{content:"ROUTE / UK\A LAYER / INTL\A ACCESS / PUBLIC\A REV / 14";right:-110px;text-align:left}.progress:after{content:"";position:absolute;top:-3px;left:0;width:7px;height:7px;background:var(--bronze2);box-shadow:0 0 16px rgba(208,183,123,.65);animation:progressdot 8s linear forwards}@keyframes progressdot{to{left:calc(100% - 7px)}}
@media(max-width:760px){#intro .introcenter:before,#intro .introcenter:after{display:none}}
