/* Self-hosted fonts — no external calls to Google (PDPL/GDPR: avoids transmitting visitor IPs to Google).
   Place the matching .woff2 files in assets/fonts/ (see filenames below). Falls back to Arial/monospace until present. */
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/manrope-400.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/manrope-500.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/manrope-600.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/manrope-700.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:800;font-display:swap;src:url("assets/fonts/manrope-800.woff2") format("woff2")}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:300;font-display:swap;src:url("assets/fonts/dm-mono-300.woff2") format("woff2")}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/dm-mono-400.woff2") format("woff2")}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/dm-mono-500.woff2") format("woff2")}
:root{--ink:#11120f;--paper:#f0efe8;--acid:#c6d6df;--red:#d5322e;--white:#fafaf5;--muted:#a8a99f;--line:rgba(17,18,15,.16);--max:1440px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.mono{font-family:"DM Mono",monospace}
.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.07;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.site-header{height:82px;padding:0 clamp(24px,4vw,68px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;width:100%;z-index:10;color:var(--white)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.04em;font-size:22px}
.brand img{width:34px;height:34px}
.brand>span>span{color:var(--red)}
.desktop-nav{display:flex;gap:34px;font-size:13px}
.desktop-nav a,.header-cta{transition:opacity .2s}
.desktop-nav a:hover,.header-cta:hover{opacity:.6}
.header-cta{font-size:13px;padding-bottom:3px;border-bottom:1px solid currentColor}
.header-cta span{margin-left:9px}
.menu-toggle,.mobile-nav{display:none}
.hero{min-height:900px;height:100vh;background:var(--ink);color:var(--white);position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:140px clamp(24px,6vw,96px) 70px;isolation:isolate;overflow:hidden}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to right,black,transparent 90%);z-index:-3}
.hero-orbit{position:absolute;border:1px solid rgba(198,214,223,.18);border-radius:50%;z-index:-2}
.orbit-one{width:850px;height:850px;right:-280px;top:40px}
.orbit-two{width:580px;height:580px;right:-120px;top:175px}
.eyebrow{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#d2d2ca;margin:0 0 40px}
.eyebrow span{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--acid);margin-right:10px;box-shadow:0 0 0 5px rgba(198,214,223,.12)}
.hero h1,.display{font-size:clamp(58px,7vw,112px);line-height:.92;letter-spacing:-.07em;margin:0;font-weight:600}
.hero h1 em,.display em,.why-intro em,.track-copy em,.statement-grid em,.contact em{font-family:Georgia,serif;font-weight:400;color:var(--acid)}
.hero-intro{font-size:clamp(17px,1.45vw,22px);line-height:1.55;max-width:680px;color:#bdbeb5;margin:38px 0}
.hero-actions{display:flex;gap:34px;align-items:center}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:16px 20px;border-radius:2px;font-size:13px;font-weight:700}
.button-primary{background:var(--acid);color:var(--ink)}
.text-link{font-size:13px;border-bottom:1px solid #55564f;padding:15px 0}
.text-link span{margin-left:12px}
.hero-visual{height:610px;position:relative;margin-left:30px}
.core-mark{position:absolute;width:235px;height:235px;border-radius:50%;background:var(--acid);left:45%;top:48%;transform:translate(-50%,-50%);display:grid;place-items:center;box-shadow:0 0 80px rgba(198,214,223,.16)}
.core-mark img{width:126px;filter:grayscale(1) brightness(.25)}
.signal-card{position:absolute;width:190px;padding:18px;border:1px solid rgba(255,255,255,.22);background:rgba(17,18,15,.7);backdrop-filter:blur(9px)}
.signal-card span{font-family:"DM Mono";font-size:10px;color:var(--acid);display:block}
.signal-card strong{font-size:18px;display:block;margin-top:20px}
.signal-card small{font-size:11px;color:#92938d}
.card-a{top:8%;left:3%}
.card-b{top:36%;right:-2%}
.card-c{bottom:5%;left:14%}
.hero-index{position:absolute;bottom:30px;right:6vw;font-size:10px;color:#777970}
.principles{display:grid;grid-template-columns:repeat(3,1fr);background:var(--acid)}
.principles article{padding:50px clamp(24px,4vw,64px);min-height:290px;border-right:1px solid rgba(17,18,15,.22)}
.principles article:last-child{border:0}
.principles span{font-size:11px}
.principles h3{font-size:28px;line-height:1.15;letter-spacing:-.04em;margin:40px 0 18px}
.principles p{font-size:14px;max-width:330px;margin:0}
.section{padding:120px clamp(24px,6vw,96px);max-width:var(--max);margin:auto}
.section-label{display:flex;align-items:center;gap:28px;margin-bottom:90px}
.section-label span{font-size:11px;letter-spacing:.08em;white-space:nowrap}
.rule{height:1px;background:var(--line);width:100%}
.about-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:start}
.about .display{font-size:clamp(52px,6vw,90px)}
.about .display em{color:var(--red)}
.about-copy .lead{font-size:24px;line-height:1.5;letter-spacing:-.025em;margin:0}
.mission{margin-top:70px;padding-left:28px;border-left:2px solid var(--red)}
.mission .mono{font-size:10px;color:var(--red);letter-spacing:.1em;margin-bottom:30px}
.mission p{font-size:14px}
.services{max-width:none;background:var(--ink);color:var(--white);padding-inline:clamp(24px,6vw,96px)}
.section-label.light .rule{background:rgba(255,255,255,.2)}
.services-heading{display:grid;grid-template-columns:1fr .65fr;gap:10vw;align-items:end;margin-bottom:90px}
.services-heading .display{font-size:clamp(58px,7vw,106px)}
.services-heading>p{color:#a9aaa2;font-size:17px;max-width:580px}
.service-list{border-top:1px solid #3a3b35}
.service-item{display:grid;grid-template-columns:70px 1fr 1fr 60px;gap:32px;align-items:start;padding:44px 0;border-bottom:1px solid #3a3b35;transition:padding .3s,background .3s}
.service-item:hover{padding-left:18px;background:rgba(255,255,255,.025)}
.service-no{font-size:11px;color:var(--acid)}
.service-item h3{font-size:27px;line-height:1.15;margin:0 0 12px;letter-spacing:-.04em}
.service-item p{margin:0;color:#96978f;font-size:14px}
.service-item .service-kicker{color:var(--white);max-width:450px}
.service-icon{font-size:30px;color:var(--acid);text-align:right}
.why-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:10vw;align-items:end}
.why-intro h2{font-size:clamp(45px,5.8vw,82px);line-height:1.02;letter-spacing:-.06em;margin:0}
.why-intro em{color:var(--red)}
.why-intro p{font-size:19px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:90px}
.why-grid article{background:var(--paper);padding:36px 32px;min-height:290px}
.why-grid span{font-family:"DM Mono";font-size:10px;color:var(--red)}
.why-grid h3{font-size:26px;line-height:1.15;margin:72px 0 15px}
.why-grid p{font-size:14px}
.track-record{background:var(--red);color:var(--white);padding:120px clamp(24px,6vw,96px);display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}
.track-copy h2{font-size:clamp(48px,5.4vw,82px);line-height:1;letter-spacing:-.06em;margin:50px 0 35px}
.track-copy em{color:var(--ink)}
.track-copy p{font-size:15px;max-width:620px;color:#f4d5d3}
.track-copy .mono{font-size:11px}
.client-field{display:grid;grid-template-columns:repeat(2,1fr);align-content:center;border-top:1px solid rgba(255,255,255,.3)}
.client-field span{height:110px;display:grid;place-items:center;font-weight:800;font-size:clamp(18px,2vw,32px);letter-spacing:-.04em;border-bottom:1px solid rgba(255,255,255,.3);border-right:1px solid rgba(255,255,255,.3);text-align:center;line-height:1}
.client-field span:nth-child(even){border-right:0}
.project-feature{background:#c6d6df;color:var(--ink);padding:120px clamp(24px,6vw,96px);display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:center}
.project-copy>span{font-size:11px;letter-spacing:.08em}
.project-copy h2{font-size:clamp(48px,5.5vw,84px);line-height:.96;letter-spacing:-.06em;margin:48px 0 30px}
.project-copy h2 em{font-family:Georgia,serif;font-weight:400;color:var(--red)}
.project-copy p{font-size:17px;max-width:590px}
.project-link{display:inline-flex;align-items:center;gap:36px;border-bottom:1px solid var(--ink);padding:15px 0;margin-top:28px;font-size:13px;font-weight:700}
.project-visual{position:relative;padding:0 0 42px 42px}
.project-window{background:var(--ink);color:var(--white);box-shadow:24px 24px 0 rgba(17,18,15,.11)}
.window-bar{height:48px;border-bottom:1px solid #3a3b35;display:flex;align-items:center;gap:7px;padding:0 17px}
.window-bar>span{display:block;width:7px;height:7px;border-radius:50%;background:#5c5e56}
.window-bar>span:first-child{background:var(--red)}
.window-bar small{margin-left:auto;color:#85877f;font-size:9px}
.window-body{padding:48px}
.window-body>p{font-size:9px;color:#8f9189;letter-spacing:.1em}
.window-body>strong{display:block;font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:-.05em;margin:30px 0 48px}
.platform-pills{display:flex;flex-wrap:wrap;gap:8px}
.platform-pills span{font-family:"DM Mono",monospace;font-size:9px;border:1px solid #4a4b45;padding:8px 10px;color:#c6d6df}
.system-status{border-top:1px solid #3a3b35;margin-top:48px;padding-top:22px;display:flex;align-items:center;gap:9px}
.system-status i{width:7px;height:7px;border-radius:50%;background:#83ba92;box-shadow:0 0 0 4px rgba(131,186,146,.12)}
.system-status span,.system-status b{font-size:8px;font-weight:400}
.system-status b{margin-left:auto;color:#8f9189}
.partnership-note{position:absolute;left:0;bottom:0;background:var(--red);color:white;padding:13px 17px;font-size:9px;line-height:1.5;letter-spacing:.04em}
.leaders{display:grid;grid-template-columns:repeat(2,1fr);gap:5vw}
.leader-card{display:grid;grid-template-columns:1fr .9fr;gap:28px;align-items:end}
.portrait{position:relative;overflow:hidden;background:#d6d5cc}
.portrait img{width:100%;height:520px;object-fit:cover;filter:grayscale(1);transition:filter .4s,transform .6s}
.leader-card:hover img{filter:grayscale(0);transform:scale(1.025)}
.portrait span{position:absolute;top:14px;left:14px;background:var(--acid);padding:5px 8px;font-size:9px}
.role{font-size:10px;color:var(--red)}
.leader-card h3{font-size:33px;line-height:1.04;letter-spacing:-.045em;margin:20px 0}
.leader-card>div:last-child>p:last-child{font-size:14px}
.team-statement{max-width:none;background:#262822;color:var(--white)}
.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.statement-grid h2{font-size:clamp(50px,6vw,90px);line-height:.98;letter-spacing:-.06em;margin:0}
.statement-grid .lead{font-size:21px;color:var(--white)}
.statement-grid p{color:#aaa9a3;font-size:15px}
.contact{background:var(--acid);padding:120px clamp(24px,6vw,96px)}
.contact-top .mono{font-size:11px}
.contact h2{font-size:clamp(64px,9vw,136px);line-height:.87;letter-spacing:-.075em;margin:45px 0 90px}
.contact em{color:var(--red)}
.contact-mail{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:22px 0;font-size:21px}
.contact-mail strong{font-size:35px}
.contact-meta{display:flex;gap:50px;font-family:"DM Mono";font-size:11px;margin-top:45px}
.contact-meta span:last-child{margin-left:auto}
footer{background:var(--ink);color:var(--white);padding:38px clamp(24px,6vw,96px);display:flex;align-items:center;justify-content:space-between;font-size:11px}
.footer-brand{font-size:18px}
footer>div{display:flex;gap:30px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
.reveal.visible{opacity:1;transform:none}
.page-hero{background:var(--ink);color:var(--white);padding:190px clamp(24px,6vw,96px) 90px}
.page-hero h1{font-size:clamp(60px,9vw,130px);line-height:.9;letter-spacing:-.07em;margin:20px 0}
.page-hero h1 em{font-family:Georgia,serif;color:var(--acid);font-weight:400}
.page-content{max-width:920px;padding:100px clamp(24px,6vw,96px);margin:auto}
.page-content h2{text-transform:capitalize;font-size:28px;letter-spacing:-.03em;margin:55px 0 14px}
.page-content p,.page-content li{color:#44453f}
.page-content .empty{font-size:24px;padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

@media(max-width:980px){.desktop-nav,.header-cta{display:none}
.menu-toggle{display:flex;background:none;border:0;flex-direction:column;gap:6px;padding:10px}
.menu-toggle span{width:25px;height:1px;background:white}
.mobile-nav{position:absolute;top:82px;left:0;right:0;background:var(--ink);padding:30px;flex-direction:column;gap:20px}
.mobile-nav.open{display:flex}
.hero{height:auto;grid-template-columns:1fr;min-height:1000px;padding-top:150px}
.hero-visual{height:420px;margin:20px 0 0;max-width:650px}
.core-mark{width:185px;height:185px}
.core-mark img{width:100px}
.services-heading,.about-layout,.why-intro,.track-record,.statement-grid{grid-template-columns:1fr}
.leader-card{grid-template-columns:1fr}
.portrait img{height:480px}
.track-record{gap:70px}
.services-heading{gap:35px}
.leaders{gap:30px}
.principles article{padding:40px 28px}
}

@media(max-width:680px){.site-header{height:70px}.mobile-nav{top:70px}
.hero{min-height:920px;padding-top:120px}
.hero h1{font-size:52px}
.hero-intro{font-size:16px}
.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}
.hero-visual{height:350px}
.signal-card{width:145px;padding:12px}
.signal-card strong{font-size:15px;margin-top:10px}
.card-a{left:0}
.card-b{right:0}
.core-mark{width:145px;height:145px}
.core-mark img{width:76px}
.principles{grid-template-columns:1fr}
.principles article{min-height:auto;border-right:0;border-bottom:1px solid rgba(17,18,15,.22)}
.principles h3{margin:24px 0 12px}
.section,.services,.track-record,.contact{padding-top:85px;padding-bottom:85px}
.section-label{margin-bottom:55px}
.about-copy .lead{font-size:20px}
.service-item{grid-template-columns:38px 1fr}
.service-item>p{grid-column:2}
.service-icon{display:none}
.why-grid{grid-template-columns:1fr}
.why-grid article{min-height:240px}
.leaders{grid-template-columns:1fr}
.portrait img{height:430px}
.leader-card h3{font-size:30px}
.client-field span{height:85px}
.contact-meta{flex-direction:column;gap:12px}
.contact-meta span:last-child{margin-left:0}
footer{align-items:flex-start;flex-direction:column;gap:20px}
footer>div{width:100%;justify-content:space-between}
.page-hero{padding-top:150px}
}

@media(max-width:980px){.project-feature{grid-template-columns:1fr;gap:70px}.project-visual{max-width:760px}}
@media(max-width:680px){.project-feature{padding:85px 24px}.project-visual{padding:0 0 34px 15px}.window-body{padding:30px 22px}.window-body>strong{font-size:34px}.system-status b{display:none}.partnership-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal{opacity:1;transform:none;transition:none}
}
