/* Aegis Alpha — static site styles */
:root{--bg:#faf8f4;--ink:#1c1a16;--body:#3d382f;--muted:#6b6459;--accent:#a8813f;--on-accent:#faf8f4;--hair:rgba(28,26,22,.16);--hair2:rgba(28,26,22,.09);--glow:rgba(168,129,63,.1);--imgf:none;--card:#fff}
[data-theme="dark"]{--bg:#17181a;--ink:#f2f1ed;--body:#c9c7c0;--muted:#a3a29c;--accent:#d9b878;--on-accent:#17181a;--hair:rgba(242,241,237,.18);--hair2:rgba(242,241,237,.09);--glow:rgba(217,184,120,.12);--imgf:brightness(.78) saturate(.88);--card:#1f2023}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Schibsted Grotesk',sans-serif;transition:background .25s;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}a:hover{color:var(--ink)}
img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.narrow{max-width:900px;margin:0 auto;padding:0 24px}
.nav{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--hair2)}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:15px 24px;row-gap:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px}
.brand:hover{color:var(--ink)}
.aa{width:28px;height:28px;border:1.5px solid var(--ink);display:grid;place-items:center;font-size:11px;font-weight:700;border-radius:8px}
.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:24px;row-gap:8px;font-size:14px;font-weight:500}
.nav-links>a{color:var(--muted);text-decoration:none}
.nav-links>a:hover{color:var(--ink)}
.nav-links>a.active{color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:2px}
.btn-hire{background:var(--ink);color:var(--bg)!important;padding:9px 18px;border-radius:999px;font-size:13.5px;font-weight:600;text-decoration:none;transition:transform .18s ease}
.btn-hire:hover{transform:translateY(-1px)}
.theme{display:flex;align-items:center;border:1px solid var(--hair);border-radius:999px;padding:3px;gap:2px}
.theme button{border:0;cursor:pointer;font:inherit;background:transparent;color:var(--muted);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}
.theme button.on{background:var(--ink);color:var(--bg)}
.glow{position:relative;overflow:hidden}
.glow::before{content:"";position:absolute;inset:0;background:radial-gradient(760px 360px at 88% -12%,var(--glow),transparent 70%)}
.glow>*{position:relative}
.kicker{font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--accent)}
.hero{padding-top:76px;padding-bottom:52px}
.hero h1{margin:20px 0 0;font-size:clamp(44px,6vw,76px);line-height:1.02;font-weight:700;letter-spacing:-.04em;max-width:940px;text-wrap:pretty}
.hero .sub{margin:24px 0 0;font-size:18px;line-height:1.6;color:var(--muted)}
.hero-lite{padding-top:72px}
.hero-lite h1{margin:18px 0 0;font-size:clamp(38px,5vw,58px);line-height:1.04;font-weight:700;letter-spacing:-.035em}
.hero-lite .sub{margin:20px 0 0;font-size:17px;line-height:1.6;color:var(--muted);max-width:60ch}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px}
.btn{display:inline-block;background:var(--accent);color:var(--on-accent)!important;padding:13px 26px;border-radius:999px;font-size:14.5px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:transform .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-2px)}
.btn.sm{padding:11px 22px;font-size:13.5px}
.btn-ghost{display:inline-block;border:1px solid var(--hair);color:var(--ink);padding:13px 26px;border-radius:999px;font-size:14.5px;font-weight:600;text-decoration:none;transition:background .18s ease}
.btn-ghost:hover{background:var(--card);color:var(--ink)}
.photo-sec{padding-top:24px;padding-bottom:72px}
.photo{display:block;width:100%;height:420px;object-fit:cover;border-radius:18px;filter:var(--imgf)}
.split{display:grid;grid-template-columns:250px 1fr;gap:44px;align-items:start;padding-bottom:72px}
.label{font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--accent);border-top:2px solid var(--accent);padding-top:14px}
.prose{font-size:17.5px;line-height:1.65;color:var(--body);max-width:66ch}
.prose p{margin:0 0 16px}.prose p:last-child{margin-bottom:0}
.name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.proj-name{font-size:26px;font-weight:700;letter-spacing:-.02em}
.proj-desc{margin:12px 0 0;font-size:16.5px;line-height:1.6;color:var(--body);max-width:60ch}
.chip{font-size:10.5px;font-weight:700;letter-spacing:.12em;border-radius:999px;padding:4px 10px;border:1px solid}
.chip.live{color:#43a877;border-color:rgba(67,168,119,.5)}
.chip.early{color:#c98a2e;border-color:rgba(201,138,46,.5)}
.hr{border:0;border-top:1px solid var(--hair2);margin:24px 0}
.overlay-sec{padding-bottom:72px}
.overlay-card{position:relative;border-radius:18px;overflow:hidden}
.overlay-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.overlay-card .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,10,.85) 0%,rgba(15,13,10,.55) 55%,rgba(15,13,10,.22) 100%)}
.overlay-card .inner{position:relative;max-width:660px;padding:clamp(28px,6vw,64px) clamp(22px,5vw,52px)}
.overlay-card h2,.overlay-card h1{margin:0;font-size:clamp(24px,3.4vw,33px);line-height:1.2;font-weight:700;letter-spacing:-.02em;color:#faf8f4;text-wrap:pretty}
.overlay-card p{margin:18px 0 0;font-size:15.5px;line-height:1.65;color:rgba(250,248,244,.84)}
.cols3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px 0}
.vals-sec{padding-bottom:72px}
.val{border-left:1px solid var(--hair);padding:6px 30px 6px 22px}
.val .t{font-size:15.5px;font-weight:700;display:block}
.val p{margin:7px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
.quote-sec{padding-bottom:76px;text-align:center}
.quote-sec .q{font-size:29px;font-weight:600;letter-spacing:-.02em;line-height:1.32;max-width:760px;margin:0 auto;text-wrap:pretty}
.quote-sec .a{margin-top:14px;font-size:13.5px;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--hair2);border-radius:18px;transition:transform .22s ease,box-shadow .22s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 22px 48px -26px rgba(0,0,0,.35)}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.tag{font-size:12px;font-weight:600;border:1px solid var(--hair);border-radius:999px;padding:6px 13px;color:var(--muted)}
.slot{border:1.5px dashed var(--hair);border-radius:18px;padding:36px;min-height:180px;display:flex;flex-direction:column;justify-content:center;gap:10px;background:repeating-linear-gradient(45deg,transparent 0 14px,var(--hair2) 14px 15px);font-family:ui-monospace,Menlo,monospace;color:var(--muted)}
.slot .s1{font-size:12px;letter-spacing:.08em}
.slot .s2{font-size:13px;line-height:1.6}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pos-row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:24px 18px;border-top:1px solid var(--hair);color:var(--ink);text-decoration:none}
a.pos-row{transition:background .2s ease;border-radius:14px}
a.pos-row:hover{background:var(--card);color:var(--ink)}
.pos-row .t{display:block;font-size:20px;font-weight:700}
.pos-row .d{display:block;margin-top:6px;font-size:14px;line-height:1.55;color:var(--muted);max-width:70ch}
.pos-row .go{font-size:14px;font-weight:700;color:var(--accent);white-space:nowrap}
.pos-row.closed{opacity:.45}
.pos-row.closed .go{color:var(--muted)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;border-top:2px solid var(--accent);padding-top:14px}
.sec-head h2,.h2{margin:10px 0 0;font-size:31px;font-weight:700;letter-spacing:-.02em}
.sec-head .side{font-size:14px;color:var(--muted)}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:32px}
.step{display:grid;grid-template-columns:auto 1fr;gap:18px}
.step .n{font-size:30px;font-weight:900;color:var(--accent);line-height:1}
.step .t{display:block;font-size:16px;font-weight:700}
.step p{margin:6px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
.teamgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;margin-top:30px}
.member{overflow:hidden;display:flex;flex-direction:column}
.member img{display:block;width:100%;aspect-ratio:4/3.4;object-fit:cover;filter:var(--imgf)}
.member .body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.member .hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.member .nm{font-size:18px;font-weight:700}
.member .rl{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;white-space:nowrap}
.member .bio{font-size:13.5px;line-height:1.6;color:var(--muted);flex:1}
.member .lnk{font-size:13px;font-weight:700;color:var(--accent);text-decoration:none;margin-top:4px}
.form-card{padding:32px;display:flex;flex-direction:column;gap:18px}
.form-card label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}
.form-card input,.form-card textarea{padding:12px 14px;border-radius:10px;border:1px solid var(--hair);background:var(--bg);color:var(--ink);font:inherit;font-size:14.5px;font-weight:400}
.form-card textarea{resize:vertical}
.form-card ::placeholder{color:var(--muted);opacity:.7}
.fnote{margin:0;font-size:12px;line-height:1.55;color:var(--muted)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-err{display:none;margin:0;font-size:14px;font-weight:600;color:#c0554e}
.form-status{font-size:15.5px;line-height:1.65}
.form-card.sent > :not(.form-status){display:none}
.meta-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;font-size:13px;font-weight:600}
.mc{border:1px solid var(--hair);border-radius:999px;padding:7px 14px;color:var(--body)}
a.mc{color:var(--accent);border-color:var(--accent);text-decoration:none}
.mc.filledc{background:var(--hair2);color:var(--muted)}
.jsec{padding-top:52px}
.prose2{font-size:16.5px;line-height:1.68;color:var(--body)}
.prose2 p{margin:14px 0 0}
.pillars{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;margin-top:36px}
.pillar .t{font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--ink)}
.pillar p{margin:10px 0 0;font-size:14px;line-height:1.62;color:var(--muted)}
.impact{margin:32px 0 0;font-weight:600;color:var(--ink);font-size:16.5px;line-height:1.68}
.dash{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.dash li{display:grid;grid-template-columns:auto 1fr;gap:14px;font-size:15.5px;line-height:1.6;color:var(--body)}
.dash li::before{content:"—";color:var(--accent);font-weight:700}
.dash strong{color:var(--ink)}
.bene{padding:24px}
.bene .t{font-size:15px;font-weight:700}
.bene ul{margin:12px 0 0;padding-left:18px;font-size:14px;line-height:1.7;color:var(--muted)}
.bcol{display:flex;flex-direction:column;gap:24px}
.eeo{margin:24px 0 0;font-size:13.5px;line-height:1.6;color:var(--muted)}
.back{font-size:13.5px;font-weight:600;color:var(--muted);text-decoration:none}
.back:hover{color:var(--ink)}
footer{border-top:1px solid var(--hair2)}
.foot-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:48px 24px 40px}
.foot-grid .fabout p{margin:14px 0 0;font-size:13.5px;line-height:1.6;color:var(--muted);max-width:36ch}
.fh{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--muted)}
.fl{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:14px;font-size:13.5px;font-weight:500}
.fl a{color:var(--ink);text-decoration:none}
.fl a:hover{color:var(--accent)}
.fl.fc a{color:var(--accent);font-weight:600}
.fl.fc a:hover{color:var(--ink)}
.addr{margin-top:14px;font-size:13.5px;line-height:1.7;color:var(--muted)}
.foot-bar{border-top:1px solid var(--hair2)}
.foot-bar .in{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 24px;font-size:12px;color:var(--muted)}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.fu{animation:fadeUp .7s ease both}
.fu.d1{animation-delay:.07s}.fu.d2{animation-delay:.14s}.fu.d3{animation-delay:.21s}
.rv{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.rv.in{opacity:1;transform:none}
@media(max-width:980px){.teamgrid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.split,.cols3,.cols2,.steps,.f2,.pillars,.foot-grid{grid-template-columns:1fr}.photo{height:320px}}
@media(max-width:600px){.teamgrid{grid-template-columns:1fr}}

/* --- motion pack --- */
:root{--spot:rgba(168,129,63,.14);--beam:#a8813f}
[data-theme="dark"]{--spot:rgba(217,184,120,.16);--beam:#d9b878}
.cursor-light{position:fixed;inset:0;pointer-events:none;z-index:1000;background:radial-gradient(520px 380px at var(--mx,-999px) var(--my,-999px),var(--spot),transparent 70%)}
.beam{position:relative;height:2px;background:var(--hair);overflow:hidden;border-radius:2px}
.beam::before{content:"";position:absolute;top:0;left:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,var(--beam) 30%,var(--beam) 70%,transparent);box-shadow:0 0 14px var(--spot);animation:sweep 3s linear infinite}
@keyframes sweep{from{transform:translateX(-120%)}to{transform:translateX(440%)}}
@keyframes pulseg{0%,100%{opacity:.45}50%{opacity:1}}
.chip{display:inline-flex;align-items:center;gap:7px}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;animation:pulseg 2.1s ease-in-out infinite}
[data-tilt]{will-change:transform}
.nav-links>a:hover{color:var(--accent)}
.pos-row .t,.member .nm,.proj-name{transition:color .15s ease}
a.pos-row:hover .t{color:var(--accent)}
.card.member:hover .nm{color:var(--accent)}
.card:hover .proj-name{color:var(--accent)}

/* --- tilt frames + border beam --- */
@property --bang{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes borderrun{to{--bang:360deg}}
[data-tilt],.beam-card{position:relative;transition:transform .15s ease,box-shadow .22s ease}
[data-tilt]::after,.beam-card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:conic-gradient(from var(--bang),transparent 0 70%,var(--beam) 82%,transparent 94%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .25s ease;pointer-events:none;z-index:5}
[data-tilt]:hover::after,.beam-card:hover::after,.beam-card:focus-within::after{opacity:1;animation:borderrun 2.6s linear infinite}
.pframe{border-radius:18px}
