@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

:root { --ink:#02070b; --navy:#04121a; --cyan:#1ff6ff; --teal:#13c9ca; --text:#ecf8f8; --muted:#91a7aa; --line:rgba(67,231,238,.28); --mx:0px; --my:0px; color-scheme:dark; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); }
body { margin:0; background:var(--ink); color:var(--text); font-family:Inter,Arial,sans-serif; overflow-x:hidden; transition:background-color .55s ease,color .45s ease; }
a { color:inherit; text-decoration:none; }
::selection { background:var(--teal); color:#001115; }
.noise { position:fixed; inset:0; pointer-events:none; z-index:99; opacity:.045; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }

.site-header { height:86px; position:absolute; top:0; left:0; right:0; z-index:30; display:grid; grid-template-columns:260px 1fr 112px 142px; gap:18px; align-items:center; padding:0 3.1vw; border-bottom:1px solid rgba(71,223,232,.07); background:linear-gradient(180deg,rgba(1,7,11,.96),rgba(1,7,11,.78)); backdrop-filter:blur(12px); transition:background .5s ease,border-color .5s ease; }
.brand img { width:154px; height:auto; filter:brightness(1.45) contrast(1.1); }
nav { display:flex; gap:44px; justify-content:center; align-self:stretch; align-items:center; }
nav a { font-size:13px; text-transform:uppercase; letter-spacing:.14em; color:#d3dfdf; position:relative; transition:.25s ease; }
nav a:hover { color:#fff; text-shadow:0 0 18px rgba(31,246,255,.65); }
nav a.active::after { content:""; position:absolute; left:0; right:0; bottom:-18px; height:2px; background:var(--cyan); box-shadow:0 0 12px var(--cyan); }
.nav-cta { justify-self:end; height:40px; min-width:138px; display:flex; align-items:center; justify-content:space-between; padding:0 14px; border:1px solid rgba(90,234,238,.7); text-transform:uppercase; font-size:12px; letter-spacing:.17em; background:linear-gradient(90deg,rgba(18,184,190,.08),rgba(18,184,190,.01)); box-shadow:inset 0 0 20px rgba(24,231,237,.04),0 0 18px rgba(24,231,237,.04); transition:.3s ease; }
.nav-cta:hover { background:rgba(23,223,229,.1); box-shadow:inset 0 0 25px rgba(24,231,237,.08),0 0 25px rgba(24,231,237,.12); }
.nav-cta b { color:var(--cyan); font-size:19px; font-weight:400; }
.theme-toggle { justify-self:end; border:0; padding:0; display:flex; align-items:center; gap:9px; color:#d7e6e7; background:transparent; font:inherit; cursor:pointer; text-transform:uppercase; letter-spacing:.12em; }
.theme-toggle>b { font-size:10px; font-weight:600; }
.theme-toggle-track { width:46px; height:24px; padding:2px; display:block; border:1px solid rgba(80,229,235,.5); border-radius:20px; background:rgba(17,89,98,.24); box-shadow:inset 0 0 14px rgba(31,246,255,.08); }
.theme-toggle-track i { width:18px; height:18px; display:grid; place-items:center; border-radius:50%; color:#071318; background:#47e7eb; font-size:12px; font-style:normal; box-shadow:0 0 12px rgba(31,246,255,.45); transition:transform .4s cubic-bezier(.22,1,.36,1),background .4s ease; }
[data-theme="light"] .theme-toggle-track i { transform:translateX(21px); }

.hero { min-height:720px; padding:144px 6.3vw 78px; position:relative; overflow:hidden; display:flex; align-items:center; background:radial-gradient(circle at 65% 58%,rgba(1,99,116,.22),transparent 35%),linear-gradient(103deg,#02080d 0%,#031019 48%,#02090e 100%); isolation:isolate; }
.hero::before { content:""; position:absolute; inset:0; z-index:-3; background-image:linear-gradient(rgba(46,222,230,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(46,222,230,.03) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to right,transparent,black 35%,black 80%,transparent); }
.tapa { position:absolute; z-index:-1; opacity:.23; background:repeating-linear-gradient(45deg,transparent 0 14px,rgba(26,229,235,.28) 14px 17px,transparent 17px 31px),repeating-linear-gradient(-45deg,transparent 0 14px,rgba(26,229,235,.18) 14px 17px,transparent 17px 31px); background-size:44px 44px; filter:drop-shadow(0 0 7px rgba(28,239,245,.12)); }
.tapa-left { left:-70px; top:80px; bottom:0; width:270px; mask-image:linear-gradient(90deg,#000 30%,transparent 100%); }
.tapa-right { right:-100px; top:120px; bottom:0; width:220px; opacity:.12; mask-image:linear-gradient(-90deg,#000 25%,transparent 100%); }
.hud { position:absolute; z-index:-2; width:900px; height:900px; border:1px solid rgba(37,222,230,.13); border-radius:50%; left:56%; top:58%; transform:translate(calc(-50% + var(--mx)),calc(-50% + var(--my))); transition:transform .35s ease-out; }
.hud::before,.hud::after { content:""; position:absolute; inset:8%; border:1px dashed rgba(37,222,230,.13); border-radius:50%; animation:spin 46s linear infinite; }
.hud::after { inset:18%; border-style:solid; border-color:rgba(37,222,230,.08); animation-direction:reverse; animation-duration:34s; }
.hud-two { width:680px; height:680px; border-style:dashed; animation:spin 70s linear infinite; }
.particles { position:absolute; z-index:-2; inset:0; opacity:.45; background-image:radial-gradient(circle,#36f4fb 0 1px,transparent 1.7px); background-size:110px 77px; animation:drift 22s linear infinite; mask-image:linear-gradient(to bottom,transparent 10%,black 50%,transparent 100%); }
.flare { position:absolute; z-index:3; top:36%; left:42%; width:56%; height:2px; opacity:.8; background:linear-gradient(90deg,transparent,rgba(24,241,249,.2),#fff,rgba(20,235,244,.28),transparent); filter:blur(.2px); box-shadow:0 0 12px #16e9ef,0 0 32px rgba(24,236,244,.5); transform:translateX(-120%); animation:flareSweep 7s 2s ease-in-out infinite; pointer-events:none; }
.hero-copy { position:relative; z-index:4; width:min(34vw,540px); transform:translate(calc(var(--mx) * -.12),calc(var(--my) * -.08)); transition:transform .4s ease-out; }
.eyebrow,.kicker { margin:0 0 18px; color:var(--cyan); font-size:13px; text-transform:uppercase; letter-spacing:.14em; }
h1 { font-size:clamp(48px,4.35vw,78px); line-height:.96; letter-spacing:-.055em; text-transform:uppercase; margin:0; font-weight:780; font-stretch:condensed; text-wrap:balance; }
h1 em { display:inline-block; color:#36d4d8; font-style:normal; text-shadow:0 0 32px rgba(31,246,255,.16); }
.rule { width:90px; height:3px; margin:26px 0 26px; background:linear-gradient(90deg,var(--cyan),#23888d); box-shadow:0 0 14px rgba(31,246,255,.26); }
.lede { max-width:350px; color:#d1d9da; font-size:15px; line-height:1.55; margin:0; }
.hero-actions { display:flex; gap:24px; margin-top:30px; }
.button { min-width:215px; height:48px; display:inline-flex; align-items:center; justify-content:space-between; padding:0 20px; border:1px solid rgba(62,223,230,.55); text-transform:uppercase; letter-spacing:.11em; font-size:12px; background:rgba(0,16,22,.45); backdrop-filter:blur(8px); position:relative; overflow:hidden; transition:.3s ease; }
.button::before { content:""; position:absolute; inset:0; background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.15),transparent 70%); transform:translateX(-120%); transition:.55s ease; }
.button:hover::before { transform:translateX(120%); }
.button:hover { border-color:var(--cyan); box-shadow:0 0 24px rgba(24,230,238,.13); transform:translateY(-2px); }
.button-fill { background:linear-gradient(90deg,rgba(18,177,185,.78),rgba(17,100,111,.72)); }
.button span { color:var(--cyan); font-size:18px; }
.button-fill span { color:white; }
.hero-cinematic { position:absolute; z-index:0; left:31%; right:-2%; top:84px; bottom:0; pointer-events:none; background-image:linear-gradient(90deg,#02080d 0%,transparent 26%),url('assets/siale-hero-lightning.png'); background-size:100% auto; background-position:center 48%; background-repeat:no-repeat; mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 8%,black 25%,black 100%); transform:translate(calc(var(--mx) * .18),calc(var(--my) * .12)) scale(1.025); transition:transform .35s ease-out; filter:saturate(1.08) contrast(1.04); }
.coords { position:absolute; right:4vw; top:170px; z-index:5; display:flex; flex-direction:column; align-items:flex-end; color:#1ed9df; opacity:.78; font-size:11px; font-family:'Space Mono'; }

.services-shell { position:relative; z-index:6; padding:0 2.1vw 26px; margin-top:-2px; background:#02080c; }
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.service-card { min-height:112px; padding:20px 24px; display:grid; grid-template-columns:60px 1fr 22px; align-items:center; gap:16px; border:1px solid rgba(70,229,234,.57); background:linear-gradient(140deg,rgba(13,45,56,.78),rgba(2,15,22,.86)); box-shadow:inset 0 0 30px rgba(34,227,234,.035),0 8px 30px rgba(0,0,0,.22); position:relative; overflow:hidden; transition:.35s ease; }
.service-card::before,.service-card::after { content:""; position:absolute; width:44px; height:44px; opacity:.45; background:repeating-linear-gradient(45deg,transparent 0 6px,#22cfd4 7px 8px,transparent 9px 13px); }
.service-card::before { left:-8px; top:-7px; }
.service-card::after { right:-8px; bottom:-7px; transform:rotate(180deg); }
.service-card:hover { transform:translateY(-5px); border-color:#46f4fa; box-shadow:inset 0 0 34px rgba(34,227,234,.06),0 12px 34px rgba(0,205,212,.08); }
.service-icon { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(70,229,234,.5); border-radius:50%; color:#58f6fb; font-size:25px; box-shadow:inset 0 0 16px rgba(70,229,234,.08); }
.service-copy { display:flex; flex-direction:column; gap:8px; }
.service-copy strong { font-size:14px; text-transform:uppercase; letter-spacing:.03em; }
.service-copy small { color:#aababc; line-height:1.45; font-size:12px; }
.service-arrow { color:var(--cyan); font-size:20px; }

/* Enlarged service presentation with purpose-built line icons. */
.services-shell { padding-bottom:38px; }
.service-card { min-height:154px; padding:28px; grid-template-columns:76px 1fr 28px; gap:20px; }
.service-icon { width:68px; height:68px; }
.service-icon svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 7px rgba(76,244,250,.22)); transition:transform .35s ease; }
.service-card:hover .service-icon svg { transform:scale(1.09); }
.service-copy { gap:10px; }
.service-copy strong { font-size:16px; line-height:1.25; letter-spacing:.035em; }
.service-copy small { font-size:13px; line-height:1.55; }
.service-arrow { font-size:24px; }

.section { position:relative; padding:110px 3vw; background:#02080c; overflow:hidden; isolation:isolate; }
.section>*,.contact-section>* { position:relative; z-index:1; }
.work-section { padding-top:72px; }
.work-section::before,.about-section::before,.process-section::before { content:""; position:absolute; z-index:0; pointer-events:none; background-image:url('assets/masi-kesakesa.svg'); background-repeat:repeat; filter:invert(72%) sepia(47%) saturate(1080%) hue-rotate(129deg) brightness(88%) contrast(105%); }
/* Match the How We Work motif scale, but anchor it low-left behind the portfolio. */
.work-section::before { width:800px; height:800px; left:-185px; bottom:-205px; opacity:.085; background-size:800px 800px; background-repeat:no-repeat; transform:rotate(7deg); mask-image:radial-gradient(circle,black 0%,rgba(0,0,0,.84) 48%,transparent 84%); }
.tapa-divider { height:24px; position:absolute; z-index:2; left:0; right:0; top:0; opacity:.35; border-top:1px solid rgba(58,229,234,.18); border-bottom:1px solid rgba(58,229,234,.14); background:repeating-linear-gradient(45deg,transparent 0 11px,rgba(48,221,226,.32) 12px 14px,transparent 15px 27px),repeating-linear-gradient(-45deg,transparent 0 11px,rgba(48,221,226,.18) 12px 14px,transparent 15px 27px); background-size:38px 38px; }
.section-heading,.about-grid { max-width:1460px; margin:0 auto 54px; display:grid; grid-template-columns:1.3fr .7fr; gap:60px; align-items:end; }
.section h2,.contact-section h2 { margin:0; font-size:clamp(46px,5.7vw,98px); line-height:.95; text-transform:uppercase; letter-spacing:-.055em; }
.section h2 span,.contact-section h2 span { color:#35ced2; }
.section-heading>p { color:var(--muted); max-width:440px; line-height:1.7; }
.work-heading { margin-bottom:34px; }
.work-console { max-width:1460px; min-height:58px; margin:0 auto 20px; padding:0 20px; display:flex; align-items:center; gap:22px; border-top:1px solid rgba(74,233,239,.22); border-bottom:1px solid rgba(74,233,239,.14); color:#739da1; font-family:'Space Mono'; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.work-console span { white-space:nowrap; }
.work-console b { margin-right:9px; color:var(--cyan); font-size:17px; font-weight:400; text-shadow:0 0 16px rgba(52,232,239,.48); }
.work-console i { flex:1; height:1px; background:linear-gradient(90deg,rgba(55,222,228,.06),rgba(55,222,228,.6),rgba(55,222,228,.06)); position:relative; }
.work-console i::after { content:""; width:5px; height:5px; position:absolute; top:-2px; left:50%; border-radius:50%; background:var(--cyan); box-shadow:0 0 15px var(--cyan); animation:signal-travel 5s ease-in-out infinite; }
.work-grid { max-width:1460px; margin:auto; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:repeat(2,360px) 470px; gap:18px; grid-auto-flow:dense; perspective:1400px; }
.work-card { height:100%; position:relative; display:flex; flex-direction:column; cursor:default; border:1px solid rgba(71,217,223,.27); background:linear-gradient(145deg,rgba(8,29,38,.96),rgba(2,10,15,.98)); transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .45s ease; overflow:hidden; outline:none; isolation:isolate; clip-path:polygon(0 18px,18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%); }
.work-card::before { content:""; position:absolute; z-index:6; inset:0; pointer-events:none; opacity:.5; background:linear-gradient(90deg,var(--cyan),transparent 16%) top left/88px 1px no-repeat,linear-gradient(180deg,var(--cyan),transparent 16%) top left/1px 88px no-repeat,linear-gradient(270deg,var(--cyan),transparent 16%) bottom right/88px 1px no-repeat,linear-gradient(0deg,var(--cyan),transparent 16%) bottom right/1px 88px no-repeat; }
.work-card:hover,.work-card:focus-visible,.work-card.is-open { transform:translateY(-8px) rotateX(1deg); border-color:rgba(73,237,242,.72); box-shadow:0 30px 90px rgba(0,0,0,.5),0 0 45px rgba(28,221,227,.1); }
.work-card:focus-visible { box-shadow:0 0 0 2px #02080c,0 0 0 4px var(--cyan),0 24px 70px rgba(0,0,0,.38); }
.work-visual { min-height:0; flex:1; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:32px; background:#061218; }
.work-visual::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(1,9,13,.12) 34%,rgba(1,9,13,.9) 100%); }
.work-visual::after { content:""; position:absolute; z-index:3; left:0; right:0; top:-20%; height:1px; opacity:0; pointer-events:none; background:linear-gradient(90deg,transparent,rgba(79,244,249,.95),transparent); box-shadow:0 0 18px rgba(79,244,249,.72); transition:opacity .25s ease; }
.work-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center; filter:saturate(.86) brightness(.8) contrast(1.08); transition:transform .8s cubic-bezier(.22,1,.36,1),filter .45s ease; }
.work-visual>strong { position:relative; z-index:2; font-size:clamp(32px,4vw,66px); text-transform:uppercase; letter-spacing:-.055em; max-width:80%; line-height:.9; color:#dffefe; text-shadow:0 0 24px rgba(53,226,232,.18); transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1); }
.work-number { position:absolute; z-index:3; top:13px; left:20px; color:rgba(158,247,250,.82); font-family:'Space Mono'; font-size:clamp(44px,5vw,82px); font-weight:700; line-height:1; letter-spacing:-.11em; text-shadow:0 0 24px rgba(42,220,228,.18); mix-blend-mode:screen; }
.work-status { position:absolute; z-index:3; top:20px; right:22px; display:flex; align-items:center; gap:8px; min-height:29px; padding:0 12px; border:1px solid; background:rgba(1,11,16,.82); backdrop-filter:blur(10px); text-transform:uppercase; letter-spacing:.12em; font-size:9px; font-weight:650; }
.work-status i { width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 10px currentColor; }
.status-live { color:#5fffc4; border-color:rgba(95,255,196,.42); }
.status-testing { color:#ffd36a; border-color:rgba(255,211,106,.45); }
.status-development { color:#8fc8ff; border-color:rgba(143,200,255,.45); }
.work-orbit { width:250px; height:250px; position:absolute; right:4%; top:10%; border:1px solid rgba(58,231,237,.18); border-radius:50%; animation:spin 35s linear infinite; }
.work-orbit i { position:absolute; inset:16%; border:1px dashed rgba(58,231,237,.22); border-radius:50%; }
.work-orbit i:nth-child(2) { inset:33%; }
.work-orbit i:nth-child(3) { inset:47%; background:#28d9de; box-shadow:0 0 24px #1edce3; }
.work-reveal { position:absolute; z-index:4; inset:0; padding:38px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(180deg,rgba(2,10,15,.58),rgba(2,13,19,.97) 58%); opacity:0; transform:translateY(18px); transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1); pointer-events:none; }
.work-reveal::before { content:""; position:absolute; inset:18px; border:1px solid rgba(70,235,241,.18); pointer-events:none; }
.work-reveal>small { color:var(--cyan); text-transform:uppercase; letter-spacing:.16em; font-size:11px; }
.work-reveal>p { max-width:600px; margin:12px 0 20px; color:#d8e5e6; font-size:15px; line-height:1.6; }
.work-stack { display:flex; flex-wrap:wrap; gap:8px; }
.work-stack span { padding:7px 10px; border:1px solid rgba(70,229,234,.3); color:#9eecef; background:rgba(15,111,119,.12); font-family:'Space Mono'; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.work-card:hover .work-reveal,.work-card:focus-visible .work-reveal,.work-card.is-open .work-reveal { opacity:1; transform:none; }
.work-card:hover .work-visual>strong,.work-card:focus-visible .work-visual>strong,.work-card.is-open .work-visual>strong { opacity:0; transform:translateY(12px); }
.work-card:hover .work-visual>img,.work-card:focus-visible .work-visual>img,.work-card.is-open .work-visual>img { transform:scale(1.055); filter:saturate(1.08) brightness(.68) contrast(1.1); }
.work-card:hover .work-visual::after,.work-card:focus-visible .work-visual::after,.work-card.is-open .work-visual::after { opacity:1; animation:portfolio-scan 2.8s ease-in-out infinite; }
.work-card:hover .work-orbit,.work-card:focus-visible .work-orbit,.work-card.is-open .work-orbit { opacity:.18; }
.work-card.met .work-visual { background:radial-gradient(circle at 66% 42%,rgba(54,126,195,.23),transparent 20%),linear-gradient(145deg,#07182a,#03090d); }
.work-card.tv .work-visual { background:radial-gradient(circle at 70% 40%,rgba(114,31,198,.2),transparent 22%),linear-gradient(145deg,#121026,#03090d); }
.work-card.waste .work-visual { background:radial-gradient(circle at 70% 40%,rgba(33,168,126,.2),transparent 22%),linear-gradient(145deg,#081c19,#03090d); }
.work-meta { min-height:88px; padding:18px 24px; display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(58,225,231,.12); background:linear-gradient(90deg,rgba(12,43,51,.74),rgba(3,16,22,.96)); position:relative; }
.work-meta::after { content:"VIEW STORY"; color:rgba(89,223,227,.58); font-family:'Space Mono'; font-size:8px; letter-spacing:.16em; }
.work-meta small { color:#59dfe3; text-transform:uppercase; letter-spacing:.14em; }
.work-meta h3 { margin:4px 0 0; font-size:18px; }
.work-meta>span { color:var(--cyan); font-size:25px; }
.work-card.tala { grid-column:1 / 8; grid-row:1 / 3; }
.work-card.met { grid-column:8 / 13; grid-row:1; }
.work-card.tv { grid-column:8 / 13; grid-row:2; }
.work-card.waste { grid-column:1 / 6; grid-row:3; }
.work-card.election { grid-column:6 / 13; grid-row:3; }
.work-card.election .work-visual>img { object-position:center 18%; }

@keyframes portfolio-scan { 0% { top:-10%; } 55%,100% { top:110%; } }
@keyframes signal-travel { 0%,100% { left:4%; opacity:.3; } 50% { left:96%; opacity:1; } }

.about-section { border-top:1px solid rgba(49,207,213,.12); background:radial-gradient(circle at 25% 50%,rgba(15,127,137,.08),transparent 34%),#02080c; }
/* Same scale again, shifted high-right so adjacent sections never visually tile. */
.about-section::before { width:800px; height:800px; right:-115px; top:-245px; opacity:.075; background-size:800px 800px; background-repeat:no-repeat; transform:rotate(13deg); mask-image:radial-gradient(circle,black 0%,rgba(0,0,0,.84) 48%,transparent 84%); }
.about-grid { align-items:start; }
.about-copy { padding-top:25px; max-width:620px; }
.about-copy p { color:#b3c2c4; line-height:1.8; font-size:17px; margin:0 0 22px; }
.capabilities { max-width:1460px; margin:80px auto 0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(65,217,222,.18); border-left:1px solid rgba(65,217,222,.18); }
.capabilities span { height:90px; display:flex; align-items:center; gap:18px; padding:0 22px; border-right:1px solid rgba(65,217,222,.18); border-bottom:1px solid rgba(65,217,222,.18); text-transform:uppercase; letter-spacing:.08em; font-size:12px; transition:.25s ease; }
.capabilities span:hover { background:rgba(38,213,219,.05); color:white; }
.capabilities b { color:#35dce2; font-family:'Space Mono'; font-weight:400; }
.process-section { padding-top:70px; }
/* One oversized motif at the edge keeps this section calmer than the portfolio. */
.process-section::before { width:800px; height:800px; right:-220px; top:-120px; opacity:.075; background-size:800px 800px; background-repeat:no-repeat; transform:rotate(-9deg); mask-image:radial-gradient(circle,black 0%,rgba(0,0,0,.82) 45%,transparent 82%); }
.process-grid { max-width:1460px; margin:55px auto 0; display:grid; grid-template-columns:repeat(4,1fr); }
.process-step { min-height:300px; padding:30px; border-top:1px solid rgba(65,217,222,.25); border-right:1px solid rgba(65,217,222,.14); position:relative; }
.process-step>span { color:#30dfe5; font-family:'Space Mono'; font-size:12px; }
.process-step i { width:6px; height:6px; border-radius:50%; background:var(--cyan); position:absolute; top:-3px; left:30px; box-shadow:0 0 14px var(--cyan); }
.process-step h3 { margin:100px 0 15px; font-size:28px; text-transform:uppercase; }
.process-step p { color:var(--muted); line-height:1.6; font-size:14px; }


.contact-section { min-height:620px; display:grid; place-items:center; position:relative; overflow:hidden; text-align:center; background:#01070a; border-top:1px solid rgba(42,205,211,.15); }
.contact-section::before { content:""; position:absolute; inset:0; z-index:0; opacity:.055; background-image:url('assets/masi-kesakesa.svg'); background-repeat:repeat; background-size:380px 380px; background-position:center; filter:invert(72%) sepia(47%) saturate(1080%) hue-rotate(129deg) brightness(88%) contrast(105%); mask-image:radial-gradient(circle,black 0%,rgba(0,0,0,.82) 42%,transparent 78%); }
.contact-glow { width:620px; height:620px; position:absolute; border:1px solid rgba(30,220,227,.17); border-radius:50%; box-shadow:inset 0 0 90px rgba(23,208,215,.035); animation:pulseRing 5s ease-in-out infinite; }
.contact-inner { position:relative; z-index:2; width:min(980px,88vw); }
.contact-inner>p:not(.kicker) { color:#9fb2b4; max-width:600px; margin:28px auto; line-height:1.7; }
.contact-inner .button { margin:auto; }
footer { min-height:130px; border-top:1px solid rgba(49,208,214,.14); display:flex; align-items:center; justify-content:space-between; padding:0 4vw; color:#758b8e; font-size:12px; background:#010507; }
footer img { width:145px; filter:brightness(1.35); }
footer a { color:#35dce2; text-transform:uppercase; letter-spacing:.1em; }

[data-reveal] { opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.22,1,.36,1) var(--delay,0ms),transform .8s cubic-bezier(.22,1,.36,1) var(--delay,0ms); }
[data-reveal].is-visible { opacity:1; transform:none; }
.work-card.is-visible:hover,.work-card.is-visible:focus-visible,.work-card.is-visible.is-open { transform:translateY(-8px) rotateX(1deg); }
.intro-1,.intro-2,.intro-3,.intro-4 { opacity:0; transform:translateY(18px); animation:intro .8s cubic-bezier(.22,1,.36,1) forwards; }
.intro-2 { animation-delay:.12s; }.intro-3 { animation-delay:.24s; }.intro-4 { animation-delay:.34s; }

@keyframes intro { to { opacity:1; transform:none; } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes drift { to { background-position:110px 77px; } }
@keyframes flareSweep { 0%,22% { transform:translateX(-120%); opacity:0; } 36% { opacity:.8; } 58%,100% { transform:translateX(130%); opacity:0; } }
@keyframes pulseRing { 0%,100% { transform:scale(.96); opacity:.55; } 50% { transform:scale(1.03); opacity:1; } }

/* Light mode keeps the cinematic technology language, rebuilt in pearl, ink and Pacific aqua. */
[data-theme="light"] { --ink:#edf7f5; --navy:#dcecea; --cyan:#007f89; --teal:#08aeb4; --text:#082b36; --muted:#526f74; --line:rgba(0,118,128,.24); color-scheme:light; }
[data-theme="light"] body { background:#edf7f5; color:#082b36; }
[data-theme="light"] .noise { opacity:.025; mix-blend-mode:multiply; }
[data-theme="light"] .site-header { border-color:rgba(5,109,119,.16); background:linear-gradient(180deg,rgba(248,253,250,.97),rgba(235,247,244,.86)); box-shadow:0 8px 34px rgba(20,64,70,.06); }
[data-theme="light"] .brand img,[data-theme="light"] footer img { filter:brightness(.62) saturate(1.25) contrast(1.35); }
[data-theme="light"] nav a { color:#173f48; }
[data-theme="light"] nav a:hover { color:#007d87; text-shadow:none; }
[data-theme="light"] .nav-cta { color:#083840; border-color:rgba(0,124,134,.55); background:rgba(255,255,255,.45); box-shadow:inset 0 0 20px rgba(0,153,163,.04); }
[data-theme="light"] .theme-toggle { color:#224c53; }
[data-theme="light"] .theme-toggle-track { border-color:rgba(0,122,132,.45); background:rgba(255,255,255,.7); }
[data-theme="light"] .theme-toggle-track i { color:#fff; background:#078e97; box-shadow:0 3px 10px rgba(0,91,100,.25); }
[data-theme="light"] .hero { background:radial-gradient(circle at 68% 54%,rgba(62,193,199,.2),transparent 36%),linear-gradient(103deg,#f6fbf8 0%,#e8f5f3 48%,#d9eeee 100%); }
[data-theme="light"] .hero::before { background-image:linear-gradient(rgba(0,112,122,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,112,122,.05) 1px,transparent 1px); }
[data-theme="light"] .hero-cinematic { background-image:linear-gradient(90deg,#f5fbf8 0%,rgba(245,251,248,.82) 13%,transparent 29%),url('assets/siale-hero-light-crisp.png'); filter:saturate(1.08) contrast(1.08) brightness(.99); image-rendering:auto; }
[data-theme="light"] .tapa { opacity:.14; filter:none; background:repeating-linear-gradient(45deg,transparent 0 14px,rgba(0,119,128,.25) 14px 17px,transparent 17px 31px),repeating-linear-gradient(-45deg,transparent 0 14px,rgba(0,119,128,.14) 14px 17px,transparent 17px 31px); }
[data-theme="light"] .hud { border-color:rgba(0,116,126,.15); }
[data-theme="light"] .hud::before,[data-theme="light"] .hud::after { border-color:rgba(0,116,126,.12); }
[data-theme="light"] .particles { opacity:.2; background-image:radial-gradient(circle,#008b94 0 1px,transparent 1.7px); }
[data-theme="light"] .flare { opacity:.42; }
[data-theme="light"] h1 { color:#082f39; }
[data-theme="light"] h1 em { color:#008f99; text-shadow:none; }
[data-theme="light"] .lede { color:#385b61; }
[data-theme="light"] .button { color:#123f47; border-color:rgba(0,128,138,.45); background:rgba(255,255,255,.62); }
[data-theme="light"] .button-fill { color:#fff; background:linear-gradient(90deg,#079ba4,#08727d); }
[data-theme="light"] .button-fill span { color:#fff; }
[data-theme="light"] .coords { color:#087d86; }
[data-theme="light"] .services-shell,[data-theme="light"] .section { background:#edf7f5; }
[data-theme="light"] .service-card { color:#0c343d; border-color:rgba(0,126,136,.28); background:linear-gradient(140deg,rgba(255,255,255,.85),rgba(219,240,237,.82)); box-shadow:0 10px 30px rgba(30,77,82,.07); }
[data-theme="light"] .service-copy small,[data-theme="light"] .section-heading>p,[data-theme="light"] .process-step p { color:#537076; }
[data-theme="light"] .service-icon { color:#007f89; border-color:rgba(0,126,136,.35); }
[data-theme="light"] .work-section::before,[data-theme="light"] .about-section::before,[data-theme="light"] .process-section::before,[data-theme="light"] .contact-section::before { filter:invert(36%) sepia(37%) saturate(1021%) hue-rotate(139deg) brightness(82%) contrast(95%); opacity:.075; }
[data-theme="light"] .work-card { color:#0b3540; border-color:rgba(0,124,134,.25); background:#f7fcfa; box-shadow:0 12px 34px rgba(25,71,76,.06); }
[data-theme="light"] .work-visual strong { color:#eaffff; }
[data-theme="light"] .work-console { color:#4d6f74; border-color:rgba(0,126,136,.22); }
[data-theme="light"] .work-meta { border-color:rgba(0,126,136,.16); background:linear-gradient(90deg,rgba(218,242,239,.95),rgba(247,252,250,.98)); }
[data-theme="light"] .about-section { border-color:rgba(0,126,136,.14); background:radial-gradient(circle at 25% 50%,rgba(14,160,168,.08),transparent 34%),#e6f3f1; }
[data-theme="light"] .about-copy p { color:#3d6066; }
[data-theme="light"] .capabilities { border-color:rgba(0,126,136,.2); }
[data-theme="light"] .capabilities span { border-color:rgba(0,126,136,.2); }
[data-theme="light"] .capabilities span:hover { color:#006d76; background:rgba(0,139,149,.06); }
[data-theme="light"] .contact-section { color:#0b3540; border-color:rgba(0,126,136,.16); background:#e5f2f0; }
[data-theme="light"] .contact-inner>p:not(.kicker) { color:#4a686e; }
[data-theme="light"] footer { color:#587277; border-color:rgba(0,126,136,.16); background:#dcecea; }

@media (max-width:1100px) {
  .site-header { grid-template-columns:175px 1fr 90px 132px; gap:10px; padding:0 22px; }.brand img { width:135px; } nav { gap:24px; }.nav-cta { min-width:128px; }.theme-toggle>b { display:none; }
  .hero { padding-left:5vw; }.hero-copy { width:44vw; }.hero-cinematic { left:37%; }
  .services-grid { grid-template-columns:repeat(2,1fr); }.capabilities { grid-template-columns:repeat(2,1fr); }
  .work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:520px 360px 420px; }
  .work-card.tala { grid-column:1 / -1; grid-row:1; }.work-card.met { grid-column:1; grid-row:2; }.work-card.tv { grid-column:2; grid-row:2; }.work-card.waste { grid-column:1; grid-row:3; }.work-card.election { grid-column:2; grid-row:3; }
}
@media (max-width:760px) {
  .site-header { position:fixed; height:72px; grid-template-columns:1fr auto auto; gap:10px; background:rgba(1,7,11,.9); }.brand img { width:124px; } nav { display:none; }.theme-toggle { grid-column:2; }.theme-toggle-track { width:42px; }.theme-toggle-track i { width:18px; }[data-theme="light"] .theme-toggle-track i { transform:translateX(17px); }.nav-cta { grid-column:3; min-width:0; height:42px; padding:0 14px; }.nav-cta span { font-size:0; }.nav-cta span::after { content:"Portal"; font-size:11px; }
  .hero { min-height:780px; padding:120px 24px 60px; align-items:flex-start; }.hero-copy { width:100%; }.hero-cinematic { left:-10%; right:-30%; top:43%; bottom:-5%; opacity:.7; background-position:57% center; mask-image:linear-gradient(to bottom,transparent 0%,black 24%,black 100%); }.coords { display:none; }
  h1 { font-size:clamp(44px,14vw,66px); }.hero-actions { flex-direction:column; gap:12px; align-items:flex-start; }.button { width:min(100%,310px); }
  .services-grid,.section-heading,.about-grid,.process-grid { grid-template-columns:1fr; }.services-shell { padding:14px 16px 30px; }.service-card { min-height:132px; padding:22px; grid-template-columns:64px 1fr 24px; }
  .section { padding:80px 20px; }.work-section { padding-top:60px; }.work-section::before { width:580px; height:580px; left:-310px; bottom:-80px; background-size:580px 580px; opacity:.07; }.about-section::before { width:580px; height:580px; right:-335px; top:-120px; background-size:580px 580px; opacity:.06; }.process-section::before { width:580px; height:580px; right:-300px; background-size:580px 580px; opacity:.06; }.section-heading { gap:18px; }.section h2,.contact-section h2 { font-size:clamp(44px,13vw,68px); }.work-console { padding:12px 4px; gap:10px; flex-wrap:wrap; }.work-console i { min-width:70px; }.work-console span:nth-last-child(1) { width:100%; }.work-grid { grid-template-columns:1fr; grid-template-rows:none; gap:16px; }.work-card.tala,.work-card.met,.work-card.tv,.work-card.waste,.work-card.election { grid-column:1; grid-row:auto; min-height:420px; }.work-card.tala { min-height:540px; }.work-visual { min-height:0; }.work-reveal { padding:28px; }.work-reveal::before { inset:12px; }.work-reveal>p { margin-bottom:14px; font-size:13px; line-height:1.5; }.work-stack { gap:6px; }.work-stack span { padding:5px 7px; font-size:9px; }.work-meta::after { display:none; }.capabilities { grid-template-columns:1fr; margin-top:55px; }
  .process-step { min-height:220px; border-right:0; }.process-step h3 { margin-top:55px; }.contact-section { min-height:570px; } footer { flex-direction:column; justify-content:center; gap:18px; text-align:center; padding:36px 20px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } [data-reveal],.intro-1,.intro-2,.intro-3,.intro-4 { opacity:1; transform:none; } }
