:root{--font-display:"Aptos Display","Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;--font-body:"Aptos","Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;--font-mono:"Cascadia Code","Cascadia Mono",Consolas,monospace;--bg:#06080c;--surface:rgba(11,15,22,.78);--surface-strong:#0e131c;--surface-soft:rgba(12,17,25,.55);--text:#f6f8fb;--soft:#c6ccd7;--muted:#8f98a8;--subtle:#626b7b;--line:rgba(170,196,230,.12);--line-strong:rgba(170,196,230,.24);--cyan:#57e6ff;--violet:#a979ff;--green:#66e4ad;--orange:#ff7a18;--orange2:#ff9e44;--max:1240px;--shadow:0 32px 110px rgba(0,0,0,.42);--ease:cubic-bezier(.22,1,.36,1)}
:root[data-theme="light"]{--bg:#f8fbff;--surface:rgba(255,255,255,.86);--surface-strong:#fff;--surface-soft:rgba(255,255,255,.68);--text:#151a24;--soft:#313b4b;--muted:#667083;--subtle:#8790a0;--line:rgba(38,68,105,.13);--line-strong:rgba(38,68,105,.24);--shadow:0 30px 90px rgba(35,55,85,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-height:100vh;background:transparent!important;color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.55;letter-spacing:-.012em;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;z-index:-5;background:var(--bg)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;border-radius:8px}[hidden]{display:none!important}
.scene-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:-3;pointer-events:none!important}.scene-vignette{position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(6,8,12,.08),rgba(6,8,12,.32) 55%,rgba(6,8,12,.58));box-shadow:inset 0 0 180px rgba(0,0,0,.25)}:root[data-theme="light"] .scene-canvas{opacity:.88}:root[data-theme="light"] .scene-vignette{background:linear-gradient(180deg,rgba(248,251,255,.08),rgba(248,251,255,.22) 55%,rgba(248,251,255,.38));box-shadow:inset 0 0 180px rgba(59,130,246,.05)}
.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.skip-link{position:fixed;top:-80px;left:16px;z-index:1000;padding:12px 16px;border-radius:10px;background:#fff;color:#000}.skip-link:focus{top:12px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#cbd6e2;font:650 10px/1 var(--font-mono);letter-spacing:.15em;text-transform:uppercase}.eyebrow::before{content:"";width:15px;height:1px;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.eyebrow.orange::before{background:var(--orange);box-shadow:0 0 14px var(--orange)}.eyebrow.success::before{background:var(--green)}.eyebrow.violet::before{background:var(--violet)}.muted-eyebrow::before{background:var(--subtle)}
.site-header{position:fixed!important;top:0;left:0;right:0;z-index:100!important;padding:13px 0;pointer-events:none!important}.nav-shell{width:min(calc(100% - 28px),1290px);min-height:64px;margin:auto;padding:8px 10px 8px 14px;border:1px solid var(--line);border-radius:19px;background:color-mix(in srgb,var(--surface-strong) 82%,transparent);backdrop-filter:blur(22px) saturate(140%);box-shadow:0 12px 45px rgba(0,0,0,.23);display:flex;align-items:center;gap:16px;pointer-events:auto!important}.wordmark{display:flex;align-items:center;gap:10px;min-width:205px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:10px;background:linear-gradient(145deg,rgba(87,230,255,.10),rgba(169,121,255,.10));font:750 13px/1 var(--font-display)}.wordmark>span:last-child{display:flex;flex-direction:column}.wordmark strong{font:740 15px/1 var(--font-display);letter-spacing:-.035em}.wordmark small{margin-top:4px;color:var(--muted);font:550 8px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.site-nav{display:flex;align-items:center;justify-content:center;gap:3px;margin:auto}.site-nav a{padding:9px 10px;border-radius:10px;color:var(--muted);font-size:12px;transition:.18s var(--ease)}.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.nav-actions{display:flex;align-items:center;gap:6px}.lang-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)}.lang-switch a{display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:7px;color:var(--subtle);font:650 9px/1 var(--font-mono)}.lang-switch a.active{background:rgba(255,255,255,.08);color:var(--text)}.flag{position:relative;display:inline-block;width:17px;height:12px;flex:0 0 17px;overflow:hidden;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 1px 3px rgba(0,0,0,.32)}.flag-br{background:#009b3a}.flag-br::before{content:"";position:absolute;width:10px;height:10px;left:3.5px;top:1px;background:#ffdf00;transform:rotate(45deg)}.flag-br::after{content:"";position:absolute;width:6px;height:6px;left:5.5px;top:3px;border-radius:50%;background:#002776}.flag-us{background:repeating-linear-gradient(to bottom,#b22234 0 1px,#fff 1px 2px)}.flag-us::before{content:"";position:absolute;left:0;top:0;width:7px;height:6px;background:#3c3b6e}.flag-us::after{content:"✦";position:absolute;left:1px;top:-2px;color:#fff;font:5px/6px Arial,sans-serif;text-shadow:3px 0 #fff,0 3px #fff,3px 3px #fff}.theme-button,.menu-button{min-width:38px;min-height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--text);cursor:pointer}.menu-button{display:none}
main{position:relative;z-index:2;padding-top:92px}.hero,.page-hero,.case-hero,.bl-hero{position:relative;padding:clamp(70px,9vw,125px) 0}.hero{min-height:calc(100svh - 92px);display:grid;align-items:center}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:62px;align-items:center}.hero h1,.page-hero h1,.case-hero h1,.bl-hero h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.07em;line-height:.9;text-wrap:balance}.hero h1{font-size:clamp(58px,8vw,112px);margin:20px 0 28px}.page-hero h1,.case-hero h1{font-size:clamp(50px,7vw,92px);margin:20px 0 24px}.hero h1 span,.page-hero h1 span,.bl-hero h1 span{color:#697284}.hero-copy,.lead{max-width:760px;margin:0;color:var(--soft);font-size:clamp(17px,1.65vw,21px);line-height:1.6}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:11px 15px;border:1px solid var(--line-strong);border-radius:12px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);font-size:12px;font-weight:740;cursor:pointer;transition:.2s var(--ease)}.button:hover{transform:translateY(-2px);border-color:rgba(87,230,255,.45)}.button.primary{background:var(--text);border-color:var(--text);color:var(--bg)}.text-link{color:#dfe8f3;font-weight:700;font-size:12px}.text-link:hover{color:var(--cyan)}.section{position:relative;padding:clamp(78px,9vw,118px) 0}.section-heading{display:grid;grid-template-columns:1.12fr .88fr;gap:45px;align-items:end;margin-bottom:38px}.section-heading h2,.lab-panel h2,.blacklight-bridge h2{margin:12px 0 0;font:690 clamp(38px,5.2vw,66px)/.96 var(--font-display);letter-spacing:-.058em}.section-heading p,.lab-panel p,.blacklight-bridge p{color:var(--muted);line-height:1.65}
.site-footer{position:relative;z-index:2;padding:70px 0 32px}.footer-grid{padding-top:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr .6fr .7fr;gap:45px}.footer-grid p,.footer-grid a{color:var(--muted);font-size:12px}.footer-grid>div:nth-child(2),.footer-grid>div:nth-child(3){display:flex;flex-direction:column;gap:7px}.footer-grid h2{margin:0 0 10px;color:var(--text);font-size:12px}.footer-bottom{margin-top:34px;display:flex;justify-content:space-between;color:var(--subtle);font-size:10px}.resume{background:#fff!important;color:#111}.resume main{max-width:850px;margin:auto;padding:40px}.resume a{color:#1c4db8}
@media(max-width:1020px){.site-nav{display:none;position:absolute;top:72px;left:14px;right:14px;padding:10px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-strong) 97%,transparent);flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.site-nav[data-open]{display:flex}.site-nav a{padding:12px}.menu-button{display:block;order:2}.nav-actions{order:3}.wordmark{margin-right:auto}.hero-grid,.lab-panel,.blacklight-bridge,.case-grid,.quote-layout{grid-template-columns:1fr}.section-heading{grid-template-columns:1fr;gap:20px}}
@media(max-width:680px){.shell{width:min(calc(100% - 28px),var(--max))}.nav-shell{width:calc(100% - 18px)}.wordmark{min-width:0}.wordmark small,.lang-code,.theme-button{display:none}.hero{min-height:auto}.hero h1{font-size:clamp(52px,16vw,78px)}.hero-grid{gap:34px}.section{padding:70px 0}.page-hero h1,.case-hero h1{font-size:clamp(48px,14vw,74px)}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.scene-canvas{opacity:.22}}


/* Light-theme accessibility pass: preserve scene identity while restoring readable contrast. */
:root[data-theme="light"]{
  --bg:#f8fbff;
  --surface:rgba(255,255,255,.9);
  --surface-strong:#ffffff;
  --surface-soft:rgba(244,249,255,.92);
  --text:#111827;
  --soft:#27364a;
  --muted:#526174;
  --subtle:#6b7788;
  --line:rgba(30,58,92,.16);
  --line-strong:rgba(30,58,92,.28);
  --cyan:#087c91;
  --violet:#7048c8;
  --green:#18794e;
  --orange:#b84d0d;
  --orange2:#c96a22;
  --shadow:0 28px 80px rgba(45,62,86,.16);
}
:root[data-theme="light"] .scene-canvas{opacity:.88;filter:saturate(1.04) contrast(1.01)}
:root[data-theme="light"] .scene-vignette{
  background:
    linear-gradient(180deg,rgba(248,251,255,.08),rgba(248,251,255,.22) 55%,rgba(248,251,255,.38));
  box-shadow:inset 0 0 180px rgba(59,130,246,.05);
}
:root[data-theme="light"] .eyebrow{color:#425269}
:root[data-theme="light"] .hero h1 span,
:root[data-theme="light"] .page-hero h1 span,
:root[data-theme="light"] .bl-hero h1 span{color:#526174}
:root[data-theme="light"] .text-link{color:#17657a}
:root[data-theme="light"] .text-link:hover{color:#0b5266}
:root[data-theme="light"] .nav-shell{
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 38px rgba(45,62,86,.12);
}
:root[data-theme="light"] .lang-switch{background:rgba(30,58,92,.035)}
:root[data-theme="light"] .lang-switch a.active{background:rgba(30,58,92,.09)}
:root[data-theme="light"] .button{
  background:rgba(255,255,255,.84);
}
:root[data-theme="light"] .button.primary{
  background:#172033;
  border-color:#172033;
  color:#fff;
}
