:root{
--font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
--text-2xs:.625rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;
--weight-medium:500;--weight-semibold:600;
--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;
--track-snug:-.008em;--track-wide:.02em;--track-wider:.08em;--track-widest:.16em;
--space-1:.25rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
--radius-md:6px;--radius-lg:10px;--radius-full:9999px;
--control-sm:32px;--control-md:40px;--control-lg:48px;--tap:44px;
--z-header:200;--z-toast:700;--z-top:900;
--fast:120ms;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.4,.64,1);
--bg:#fff;--bg-alt:#F7F8FA;--bg-inset:#EFF1F5;--bg-hover:#EFF1F5;--surface:#fff;
--text:#11141B;--text-soft:#434958;--text-light:#545B6C;--text-muted:#6E7688;
--line:#EFF1F5;--line-mid:#E2E5EC;--line-strong:#CBD0DA;
--accent:#5445DE;--accent-dark:#4736BF;--accent-deep:#3B2F9B;--accent-deepest:#332C7B;--accent-tint:#EFF0FE;--accent-100:#E1E3FE;
--glass:rgb(255 255 255/.62);--glass-strong:rgb(255 255 255/.85);--glass-quiet:rgb(17 20 27/.03);--glass-line:rgb(17 20 27/.08);--glass-glow:rgb(255 255 255/.7);
--glass-shadow:0 8px 32px -8px rgb(10 12 17/.14);--glass-shadow-lg:0 24px 48px -12px rgb(10 12 17/.18);--blur-lg:28px;
--shadow-xs:0 1px 2px 0 rgb(10 12 17/.05);
--shadow-md:0 4px 8px -2px rgb(10 12 17/.10),0 2px 4px -2px rgb(10 12 17/.06);
--shadow-lg:0 12px 20px -6px rgb(10 12 17/.12),0 4px 8px -4px rgb(10 12 17/.08);
--shadow-xl:0 24px 48px -12px rgb(10 12 17/.18)
}

*,*::before,*::after{box-sizing:border-box}
body,figure,h1,h2,h3,p,ul{margin:0}
ul{padding:0}
button,input{font:inherit;color:inherit}
button{background:none;border:0}

.glass{background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow),inset 0 1px 0 0 var(--glass-glow)}
.glass--strong{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(1.4);backdrop-filter:blur(var(--blur-lg)) saturate(1.4);box-shadow:var(--glass-shadow-lg),inset 0 1px 0 0 var(--glass-glow)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass,.glass--strong,.site-header{background:var(--surface)}}
.aurora{position:relative;isolation:isolate;background:var(--bg)}
.aurora::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 55% at 12% 8%,rgb(101 96 236/.30) 0,transparent 62%),radial-gradient(48% 48% at 88% 4%,rgb(22 179 178/.22) 0,transparent 60%),radial-gradient(70% 60% at 50% 108%,rgb(84 69 222/.18) 0,transparent 65%)}

html{scroll-behavior:smooth}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--text-base);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased}
::selection{background:var(--accent-100);color:var(--accent-deepest)}
img,video{display:block;max-width:100%;height:auto;border-radius:.5rem}
.brand img,.footer-logo{border-radius:0}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-dark)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:var(--space-4);top:var(--space-4);z-index:var(--z-top);background:var(--surface);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}

.shell{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--space-5)}
@media (min-width:900px){.shell{padding:0 var(--space-10)}}
@media (min-width:1400px){.shell{padding:0 var(--space-12)}}

h1,h2,h3,.eyebrow{font-family:var(--font)}
body{letter-spacing:-0.01em;font-feature-settings:'tnum' 1,'cv05' 1}
h1{font-size:clamp(2.25rem,6vw,4.25rem);line-height:1.06;letter-spacing:-0.042em;font-weight:var(--weight-semibold);text-wrap:balance;margin:0 0 var(--space-5)}
h2{font-size:clamp(1.5rem,3.2vw,2.25rem);line-height:1.16;letter-spacing:-0.032em;font-weight:var(--weight-semibold);text-wrap:balance;margin:0}
h3{font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:-0.022em;font-weight:var(--weight-semibold);margin:0 0 var(--space-2)}
p{margin:0 0 var(--space-4);letter-spacing:-0.01em;max-width:72ch;text-wrap:pretty;color:var(--text-soft)}
p:last-child{margin-bottom:0}
.eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-widest);color:var(--text-muted);font-weight:var(--weight-medium);margin:0 0 var(--space-4)}
.lede{font-size:var(--text-lg);letter-spacing:-0.01em;color:var(--text-light);line-height:var(--leading-relaxed)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-lg);padding:0 var(--space-6);border:1px solid transparent;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--fast) var(--ease-out),border-color 120ms ease,transform 75ms ease,color 120ms ease}
.btn:active{transform:translateY(.5px)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-dark);color:#fff}
.btn-quiet{background:var(--glass);color:var(--text);border-color:var(--line-mid);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-quiet:hover{background:var(--bg-hover);color:var(--text);border-color:var(--line-strong)}
.btn-wide{width:100%}
.link-btn{background:none;border:0;padding:0;font:inherit;font-size:var(--text-sm);color:var(--accent);cursor:pointer;text-underline-offset:3px}
.link-btn:hover{text-decoration:underline}

.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(1.4);backdrop-filter:blur(var(--blur-lg)) saturate(1.4);border-bottom:1px solid var(--glass-line);transition:box-shadow 180ms ease}
.site-header.is-scrolled{box-shadow:var(--glass-shadow)}
.header-overlay{position:fixed;left:0;right:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent;transition:background 240ms ease,border-color 240ms ease,box-shadow 240ms ease}
.header-overlay.is-scrolled{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(1.4);backdrop-filter:blur(var(--blur-lg)) saturate(1.4);border-bottom-color:var(--glass-line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:76px}
@media (min-width:768px){.header-inner{height:92px}}
.brand{display:flex;align-items:center;color:var(--text)}
.brand img{width:10rem;height:auto}
@media (min-width:768px){.brand img{width:12rem}}
.brand:hover{color:var(--text)}

.nav{display:flex;align-items:center;gap:var(--space-5);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin-left:auto}
.nav::-webkit-scrollbar{display:none}
.nav a{white-space:nowrap}
.nav a{font-size:var(--text-sm);color:var(--text-soft);padding:var(--space-2) 0;position:relative}
.nav a:hover,.nav a.is-active{color:var(--text)}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent);transition:right 180ms var(--ease-out)}
.nav a:hover::after,.nav a.is-active::after{right:0}
.nav .nav-cta{margin-left:var(--space-2);min-height:var(--control-sm);display:inline-flex;align-items:center;padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--accent);color:#fff}
.nav .nav-cta::after{display:none}
.nav .nav-cta,.nav .nav-cta:visited{color:#fff}
.nav .nav-cta:hover{background:var(--accent-dark);color:#fff}
@media (min-width:1000px){.nav{gap:var(--space-6)}}

.section{padding:var(--space-16) 0}
@media (min-width:768px){.section{padding:clamp(4rem,7vw,6.5rem) 0}}
.section-subtle{background:var(--bg-alt)}
.section-head{max-width:34ch;margin-bottom:var(--space-10)}
.section-head h2{max-width:26ch}
@media (min-width:900px){.section-head{max-width:none}#focus .section-head h2,#beliefs .section-head h2{max-width:22ch}}

.hero{min-height:100svh;display:flex;align-items:center;padding:calc(92px + var(--space-10)) 0 var(--space-16);overflow:hidden}
.hero-grid{display:grid;gap:var(--space-10);width:100%}
@media (min-width:960px){.hero{padding:calc(92px + clamp(2rem,4vw,4rem)) 0 clamp(3rem,6vw,5rem)}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:var(--space-12)}}
.hero-copy .lede{max-width:58ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.hero-media{position:relative;margin:0}
.hero-video{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:.5rem;border:1px solid var(--line);box-shadow:var(--shadow-xl)}
@media (max-width:959px){.hero-video{aspect-ratio:16/11}}
@media (min-width:960px){.hero-media{transform:translateY(clamp(0px,1.5vw,20px))}}
.media-caption{position:absolute;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:.5rem;font-family:var(--font);font-size:var(--text-sm);letter-spacing:var(--track-snug);color:var(--text)}
@media (min-width:960px){.media-caption{left:auto;right:calc(-1 * var(--space-6));bottom:var(--space-8);max-width:15rem}}

.about-grid{display:grid;gap:var(--space-8)}
.about-media{margin:0}
@media (min-width:900px){
.about-grid{grid-template-columns:repeat(12,1fr);gap:var(--space-10) var(--space-8);align-items:start}
.about-head{grid-column:7/13}
.about-media{grid-column:1/6;grid-row:1/4;position:sticky;top:calc(92px + var(--space-6));align-self:start}
.about-item{grid-column:7/13}
}
.about-head h2{max-width:16ch}
.about-media img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:.5rem;border:1px solid var(--line);box-shadow:var(--shadow-lg);transform:scale(var(--about-zoom,1));transform-origin:50% 60%;will-change:transform}
.about-item h3{font-size:var(--text-xl);letter-spacing:-0.026em}

.vision{position:relative;min-height:95svh;display:flex;align-items:center;padding:var(--space-20) 0;overflow:hidden;isolation:isolate}
.vision-media{position:absolute;inset:0;z-index:-1}
.vision-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}.vision-media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgb(255 255 255 / .55),rgb(255 255 255 / .12))}
@media (min-width:900px){.vision{padding:clamp(6rem,10vw,9rem) 0}}
.vision-inner{display:flex;width:100%}
.vision-card{max-width:52rem;padding:var(--space-8);border-radius:.5rem}
@media (min-width:900px){.vision-card{padding:var(--space-12);margin-left:auto;margin-right:clamp(0px,3vw,3rem)}.vision-card.is-centered{margin-right:auto}}
.vision-card h2{max-width:28ch;margin-bottom:var(--space-6)}
.vision-card.is-centered{text-align:center;justify-items:center;margin-left:auto;margin-right:auto}
.vision-card.is-centered h2,.vision-card.is-centered p{margin-left:auto;margin-right:auto}
.vision-note{font-weight:var(--weight-medium);color:var(--text);margin-top:var(--space-5)}

.focus-grid{display:grid;gap:var(--space-8) var(--space-5);border-top:1px solid var(--line-mid);padding-top:var(--space-8)}
@media (min-width:560px){.focus-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.focus-grid{grid-template-columns:repeat(5,1fr);gap:var(--space-5)}}
.focus-card{display:grid;gap:var(--space-3)}
.focus-figure{margin:0;overflow:hidden;border-radius:.5rem}
.focus-figure img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.9)}
.focus-index{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:0;margin:0;font-variant-numeric:tabular-nums}
.focus-card h3{font-size:var(--text-base);margin:0;padding-top:var(--space-2);border-top:1px solid var(--line)}
@media (min-width:1000px){.focus-card:nth-child(even){margin-top:var(--space-8)}}

.how-grid{display:grid;gap:var(--space-8)}
@media (min-width:900px){.how-grid{grid-template-columns:7fr 5fr;gap:var(--space-12);align-items:center}}
.how-text{font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.35;letter-spacing:-0.028em;color:var(--text);max-width:44ch}
.how-copy{display:grid;align-content:center}
.how-media{margin:0}
.how-media img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:.5rem;border:1px solid var(--line);box-shadow:var(--shadow-lg)}

.contact-layout{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-5)}
.contact-layout h2{max-width:22ch}
.contact-copy{display:grid;gap:var(--space-4);max-width:62ch}
.contact-copy p{margin:0;max-width:none}
.contact-email{margin-top:var(--space-5);font-size:clamp(1.125rem,2.4vw,1.75rem);letter-spacing:-0.028em;font-weight:var(--weight-medium);color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:var(--space-1);transition:color 120ms ease,border-color 120ms ease}
.contact-email:hover{color:var(--accent-deep);border-color:var(--accent-deep)}
.contact-note{font-size:var(--text-xs);color:var(--text-muted);max-width:64ch;margin:var(--space-6) 0 0;line-height:var(--leading-normal);padding-top:var(--space-6);border-top:1px solid var(--line)}

.site-footer{border-top:1px solid var(--line);background:var(--bg-alt);padding:var(--space-20) 0 var(--space-6)}
.footer-inner{display:grid;gap:var(--space-8)}
@media (min-width:820px){.footer-inner{grid-template-columns:auto 1fr;align-items:center;gap:var(--space-12)}.footer-bar{grid-column:1/-1}}
.footer-logo{width:clamp(170px,18vw,220px);height:auto}
.footer-line{font-size:clamp(1.0625rem,1.6vw,1.375rem);line-height:1.35;letter-spacing:-0.024em;font-weight:var(--weight-semibold);color:var(--text);max-width:30ch;margin:0}
@media (min-width:820px){.footer-line{justify-self:end;text-align:right;max-width:28ch}}
.footer-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-6);margin-top:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--line)}
.copyright{font-size:var(--text-xs);color:var(--text-muted);margin:0}
.footer-legal{display:flex;gap:var(--space-5);margin-left:auto}
.footer-legal a{font-size:var(--text-xs);color:var(--text-muted)}
.footer-legal a:hover{color:var(--accent)}

.cookie{position:fixed;inset:auto var(--space-4) var(--space-4);z-index:var(--z-toast);display:flex;justify-content:flex-end}
@media (min-width:640px){.cookie{inset:auto var(--space-6) var(--space-6) auto}}
.cookie-panel{width:min(100%,30rem);max-height:calc(100dvh - 2.5rem);overflow-y:auto;padding:var(--space-6);border-radius:.5rem;opacity:0;transform:translateY(8px) scale(.985);transition:opacity 240ms var(--ease-out),transform 240ms var(--ease-out)}
.cookie.is-visible .cookie-panel{opacity:1;transform:none}
.cookie-panel h2{font-size:var(--text-lg);letter-spacing:var(--track-snug);margin-bottom:var(--space-3)}
.cookie-panel #cookieBody{font-size:var(--text-sm)}
.cookie-details{margin-top:var(--space-5);border-top:1px solid var(--glass-line);display:grid;gap:var(--space-4);padding-top:var(--space-5)}
.cookie-row{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:.5rem;background:var(--glass-quiet)}
.cookie-row h3{font-size:var(--text-sm);margin-bottom:var(--space-1)}
.cookie-row p{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-normal)}
.cookie-row code{font-family:var(--font);font-size:.6875rem}
.pill{justify-self:start;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--track-wider);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-full);background:var(--accent-tint);color:var(--accent-dark)}
.switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--text-soft);min-height:var(--tap)}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch-track{width:40px;height:22px;border-radius:var(--radius-full);background:var(--bg-inset);border:1px solid var(--line-mid);display:flex;align-items:center;padding:2px;transition:background 120ms ease,border-color 120ms ease}
.switch-knob{width:16px;height:16px;border-radius:var(--radius-full);background:#fff;box-shadow:var(--shadow-xs);transition:transform 180ms var(--ease-spring)}
.switch input:checked+.switch-track{background:var(--accent);border-color:var(--accent)}
.switch input:checked+.switch-track .switch-knob{transform:translateX(18px)}
.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}
.cookie-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-6)}
.cookie-actions .btn{min-height:var(--control-md);font-size:var(--text-sm)}
.cookie-actions .link-btn{margin-left:auto}

.reveal{opacity:0;transform:translateY(14px);transition:opacity 560ms var(--ease-out),transform 560ms var(--ease-out)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.reveal{opacity:1;transform:none}
*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

.page-hero{min-height:62svh;display:flex;align-items:flex-end;padding:calc(92px + var(--space-20)) 0 var(--space-16);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.25rem,5.5vw,4rem);letter-spacing:-0.038em;max-width:24ch;margin:0}
.prose-page{padding:var(--space-16) 0 var(--space-24)}
.prose{max-width:none;margin:0;display:grid;gap:var(--space-8)}
.prose h2{font-size:var(--text-xl);letter-spacing:var(--track-snug)}
.prose h3{font-size:var(--text-base);margin:var(--space-5) 0 var(--space-2)}
.prose h2+p{margin-top:var(--space-3)}
.prose p+p{margin-top:var(--space-3)}
.prose ul{margin:var(--space-3) 0 0;padding-left:var(--space-5);color:var(--text-soft)}
.prose li+li{margin-top:var(--space-2)}
.prose .meta{font-size:var(--text-sm);color:var(--text-muted)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:.5rem;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}
th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-wider);color:var(--text-muted);font-weight:var(--weight-medium)}
tr:last-child td{border-bottom:0}
td code{font-family:var(--font);font-size:var(--text-xs)}

.error-page{min-height:78vh;display:grid;place-items:center;padding:var(--space-20) 0}
.error-card{max-width:38rem;padding:var(--space-8);border-radius:.5rem}
@media (min-width:700px){.error-card{padding:var(--space-12)}}
.error-code{font-family:var(--font);font-size:var(--text-sm);letter-spacing:var(--track-wider);color:var(--accent);margin-bottom:var(--space-5)}
.error-card h1{font-size:clamp(1.75rem,4vw,2.75rem);letter-spacing:-0.035em}
.error-links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
