:root {
  --black:#02050a; --navy:#050b18; --navy2:#08111f; --surface:#0a0d17;
  --blue:#014aeb; --blue2:#012e9f; --red:#f50712; --red2:#940102;
  --gold:#f3d5a1; --gold2:#cbaf75; --ivory:#fefcf6; --silver:#cdc8b6;
  --green:#059816; --muted:#a7b0be; --line:rgba(255,255,255,.09); --max:1220px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; color:var(--ivory); background:var(--black); font-family:"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button, a { -webkit-tap-highlight-color:transparent; }
body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(to bottom,#000,transparent 75%); }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; transform:translateY(-140%); padding:10px 14px; background:var(--ivory); color:#000; }
.skip-link:focus { transform:none; }
:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.topbar { position:fixed; z-index:50; inset:0 0 auto; height:82px; padding:0 max(24px,calc((100vw - var(--max))/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.08); background:linear-gradient(rgba(2,5,10,.92),rgba(2,5,10,.58)); backdrop-filter:blur(18px); transition:background .25s ease,box-shadow .25s ease; }
.topbar.scrolled { background:rgba(2,5,10,.94); box-shadow:0 10px 35px rgba(0,0,0,.28); }
.brand { display:flex; align-items:center; gap:12px; min-width:205px; }
.brand img { width:48px; height:48px; object-fit:cover; clip-path:polygon(18% 0,82% 0,100% 18%,100% 82%,82% 100%,18% 100%,0 82%,0 18%); }
.brand span { display:grid; line-height:1; }
.brand b { font-size:13px; letter-spacing:.2em; }
.brand small { margin-top:6px; color:var(--gold); font-size:9px; letter-spacing:.34em; }
#primary-nav { display:flex; align-items:center; gap:27px; font-size:14px; color:#cad2dd; }
#primary-nav a { position:relative; }
#primary-nav a:not(.nav-cta)::after { content:""; position:absolute; left:0; right:100%; bottom:-9px; height:1px; background:linear-gradient(90deg,var(--blue),var(--gold),var(--red)); transition:right .2s ease; }
#primary-nav a:hover::after { right:0; }
.nav-cta { padding:10px 16px; border:1px solid rgba(243,213,161,.55); color:var(--gold); clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px); }
.menu { display:none; width:42px; height:42px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02); padding:10px; }
.menu span { display:block; height:1px; margin:5px 0; background:var(--ivory); transition:transform .2s ease,opacity .2s ease; }
.menu[aria-expanded="true"] span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.menu[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.menu[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.hero { min-height:820px; position:relative; display:grid; place-items:center; padding:150px 24px 96px; overflow:hidden; border-bottom:1px solid rgba(243,213,161,.16); isolation:isolate; }
.hero-bg { position:absolute; z-index:-4; inset:0; background:url('assets/titan-banner.jpg') center 44%/cover no-repeat; transform:scale(1.025); }
.hero-vignette { position:absolute; z-index:-3; inset:0; background:linear-gradient(to bottom,rgba(2,5,10,.24),rgba(2,5,10,.14) 35%,rgba(2,5,10,.63) 73%,#02050a 100%),radial-gradient(ellipse at center,rgba(5,11,24,.02),rgba(2,5,10,.82) 95%); }
.hero::after { content:""; position:absolute; z-index:-2; left:0; right:0; bottom:0; height:38%; background:linear-gradient(transparent,#02050a); }
.hero-inner { width:min(850px,100%); text-align:center; display:flex; flex-direction:column; align-items:center; }
.hero-logo { width:184px; height:184px; object-fit:cover; margin-bottom:24px; clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%); filter:drop-shadow(0 0 18px rgba(1,74,235,.22)) drop-shadow(0 0 20px rgba(245,7,18,.14)); }
.eyebrow,.section-tag { margin:0 0 17px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.24em; }
.hero h1,.section h2,.contact h2 { margin:0; letter-spacing:-.045em; line-height:.98; text-wrap:balance; }
.hero h1 { font-size:clamp(46px,7vw,84px); text-shadow:0 5px 30px rgba(0,0,0,.52); }
.hero-copy { max-width:720px; margin:25px auto 0; color:#c5ced9; font-size:18px; line-height:1.7; text-wrap:balance; }
.actions { display:flex; gap:14px; margin-top:33px; flex-wrap:wrap; justify-content:center; }
.button { min-width:170px; padding:14px 22px; display:inline-flex; justify-content:center; align-items:center; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; transition:transform .2s ease,filter .2s ease; clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px); }
.button:hover { transform:translateY(-2px); filter:brightness(1.08); }
.button.gold { color:#080808; background:linear-gradient(135deg,#fff2c8,var(--gold2)); box-shadow:0 0 32px rgba(243,213,161,.12); }
.button.ghost { border:1px solid rgba(255,255,255,.25); background:rgba(5,11,24,.43); backdrop-filter:blur(10px); }
.status-row { display:flex; gap:22px; flex-wrap:wrap; justify-content:center; margin-top:28px; color:#aeb7c5; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.status-row span { display:flex; align-items:center; gap:8px; }
.status-row i { width:6px; height:6px; border-radius:50%; box-shadow:0 0 10px currentColor; }
.blue-dot { background:var(--blue); color:var(--blue); } .gold-dot { background:var(--gold); color:var(--gold); } .red-dot { background:var(--red); color:var(--red); }
.section { width:min(var(--max),calc(100% - 48px)); margin:0 auto; padding:118px 0; border-bottom:1px solid var(--line); }
.section h2,.contact h2 { font-size:clamp(40px,5vw,68px); }
.section-intro { display:grid; grid-template-columns:1fr .8fr; gap:70px; align-items:end; }
.lead { max-width:720px; margin:18px 0 0; color:#b3bdca; font-size:19px; line-height:1.7; }
.pillar-grid,.project-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:66px; }
.pillar,.project-card,.research-card,.evidence-card { position:relative; min-height:230px; padding:26px; border:1px solid var(--line); background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); overflow:hidden; }
.pillar::after,.project-card::after,.research-card::after,.evidence-card::after { content:""; position:absolute; width:130px; height:130px; top:-75px; right:-75px; transform:rotate(45deg); background:linear-gradient(135deg,var(--blue),var(--gold),var(--red)); opacity:.08; }
.pillar>span { color:#6d7787; font-size:10px; letter-spacing:.15em; }
.pillar h3,.project-card h3,.research-card h3,.evidence-card h3 { margin:62px 0 10px; font-size:21px; }
.pillar p,.project-card p,.research-card p,.evidence-card p { margin:0; color:#9ea8b8; line-height:1.65; }
.project-card a { display:inline-flex; gap:8px; margin-top:20px; color:var(--gold); font-size:12px; letter-spacing:.05em; }
.label { display:inline-flex; padding:6px 8px; border:1px solid; font-size:9px; font-weight:700; letter-spacing:.12em; }
.label.verified { color:#75d27f; border-color:rgba(5,152,22,.45); background:rgba(5,152,22,.06); }
.label.demonstrated { color:#8eb4ff; border-color:rgba(1,74,235,.45); background:rgba(1,74,235,.06); }
.label.planned,.label.experimental { color:var(--gold); border-color:rgba(243,213,161,.42); background:rgba(243,213,161,.04); }
.label.hypothesis { color:#ff9398; border-color:rgba(245,7,18,.42); background:rgba(245,7,18,.04); }
.split { display:grid; grid-template-columns:1.08fr .92fr; gap:68px; align-items:end; }
.flow-card { padding:26px; border:1px solid rgba(243,213,161,.18); background:linear-gradient(135deg,rgba(1,74,235,.06),transparent 36%),linear-gradient(315deg,rgba(245,7,18,.05),transparent 36%),rgba(10,13,23,.78); clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px); }
.flow-head { display:flex; justify-content:space-between; gap:10px; color:#778294; font-size:9px; letter-spacing:.14em; }
.flow-head b { color:#60c76c; }
.flow { display:flex; align-items:center; gap:9px; margin-top:32px; }
.flow em { color:#596473; font-style:normal; }
.flow span { flex:1; padding:11px 7px; text-align:center; border:1px solid; font-size:9px; font-weight:800; letter-spacing:.06em; background:rgba(0,0,0,.22); }
.flow-blue { color:#77a7ff; border-color:rgba(1,74,235,.7)!important; }
.flow-gold { color:var(--gold); border-color:rgba(243,213,161,.65)!important; }
.flow-red { color:#ff777d; border-color:rgba(245,7,18,.7)!important; }
.flow-green { color:#78d283; border-color:rgba(5,152,22,.65)!important; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:72px; }
.cards article { min-height:225px; padding:28px; border:1px solid var(--line); background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); position:relative; overflow:hidden; }
.cards article::after { content:""; position:absolute; right:-70px; top:-70px; width:145px; height:145px; background:linear-gradient(135deg,var(--blue),var(--gold),var(--red)); opacity:.08; transform:rotate(45deg); }
.cards article>span { color:#687385; font-size:10px; letter-spacing:.15em; }
.cards h3 { margin:72px 0 10px; font-size:21px; }
.cards p { margin:0; color:#9ea8b8; line-height:1.65; }
.heading-row { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:start; }
.badge { width:108px; height:108px; display:grid; place-items:center; border:1px solid rgba(243,213,161,.4); color:var(--gold); font-size:10px; letter-spacing:.14em; clip-path:polygon(24% 0,100% 0,100% 76%,76% 100%,0 100%,0 24%); }
.evidence-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:62px; }
.evidence-card h3 { margin-top:54px; }
.protocols { margin-top:68px; }
.protocols article { display:grid; grid-template-columns:80px 1fr; gap:28px; padding:28px 0; border-top:1px solid var(--line); }
.protocols article:last-child { border-bottom:1px solid var(--line); }
.protocols>article>span { color:var(--gold); font-size:11px; letter-spacing:.14em; }
.protocols h3 { margin:0 0 7px; font-size:27px; }
.protocols p { margin:0; color:#9da7b5; line-height:1.65; }
.project-grid { grid-template-columns:repeat(3,1fr); }
.project-card h3 { margin-top:50px; }
.research-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:62px; }
.research-card { min-height:250px; }
.research-card h3 { margin-top:64px; }
.principles-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:end; }
.palette { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.swatch { aspect-ratio:1.25/1; position:relative; border:1px solid rgba(255,255,255,.11); clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px); }
.swatch span { position:absolute; left:10px; bottom:9px; padding:4px 6px; background:rgba(0,0,0,.48); color:#fff; font-size:9px; letter-spacing:.07em; }
.swatch.navy { background:#050b18; } .swatch.blue { background:#014aeb; } .swatch.red { background:#f50712; } .gold-swatch { background:#f3d5a1; } .swatch.ivory { background:#fefcf6; } .swatch.green { background:#059816; }
.about-panel { display:grid; grid-template-columns:1fr .9fr; gap:70px; padding:48px; border:1px solid rgba(243,213,161,.22); background:linear-gradient(110deg,rgba(1,74,235,.08),transparent 32%),linear-gradient(250deg,rgba(245,7,18,.07),transparent 32%),var(--surface); clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px); }
.about-panel>p { align-self:end; color:#aeb7c5; line-height:1.8; font-size:17px; }
.contact { width:min(var(--max),calc(100% - 48px)); margin:0 auto; padding:108px 0 118px; display:flex; align-items:end; justify-content:space-between; gap:40px; }
.contact>div>p:last-child { margin:18px 0 0; color:#9ea8b8; }
footer { min-height:125px; padding:34px max(24px,calc((100vw - var(--max))/2)); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; border-top:1px solid var(--line); color:#737d8b; font-size:12px; }
.footer-brand { display:flex; align-items:center; gap:10px; color:#cbd3de; font-size:10px; letter-spacing:.17em; }
.footer-brand img { width:35px; height:35px; object-fit:cover; clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%); }
.footer-nav { display:flex; gap:22px; color:#9099a7; }
footer>p { margin:0; text-align:right; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (max-width:1100px) {
  .pillar-grid { grid-template-columns:repeat(2,1fr); }
  .section-intro { grid-template-columns:1fr; gap:20px; }
  .principles-grid { gap:44px; }
}

@media (max-width:900px) {
  .topbar { height:72px; }
  .brand { min-width:0; }
  .brand img { width:43px; height:43px; }
  .menu { display:block; cursor:pointer; }
  #primary-nav { position:absolute; top:72px; left:0; right:0; padding:16px 24px 24px; display:none; flex-direction:column; align-items:stretch; gap:0; background:rgba(2,5,10,.985); border-bottom:1px solid var(--line); box-shadow:0 24px 45px rgba(0,0,0,.35); }
  #primary-nav.open { display:flex; }
  #primary-nav a { padding:14px 2px; border-bottom:1px solid rgba(255,255,255,.06); }
  #primary-nav a::after { display:none; }
  .nav-cta { margin-top:14px; text-align:center; }
  .hero { min-height:760px; padding-top:120px; }
  .hero-bg { background-size:auto 100%; background-position:center 35%; }
  .hero-logo { width:150px; height:150px; }
  .split,.principles-grid,.about-panel { grid-template-columns:1fr; gap:38px; }
  .cards,.evidence-grid,.project-grid { grid-template-columns:1fr; }
  .research-grid { grid-template-columns:1fr; }
  footer { grid-template-columns:1fr; justify-items:start; }
  footer>p { text-align:left; }
}
@media (max-width:620px) {
  .topbar { padding:0 16px; }
  .brand span { display:none; }
  .hero { min-height:700px; padding:108px 18px 70px; }
  .hero-bg { background-size:auto 100%; background-position:center 30%; opacity:.92; }
  .hero-vignette { background:linear-gradient(to bottom,rgba(2,5,10,.34),rgba(2,5,10,.18) 28%,rgba(2,5,10,.67) 66%,#02050a 100%),radial-gradient(ellipse at center,rgba(5,11,24,.05),rgba(2,5,10,.72) 90%); }
  .hero-logo { width:124px; height:124px; margin-bottom:18px; }
  .hero h1 { font-size:clamp(40px,12.5vw,58px); line-height:1.02; }
  .hero-copy { font-size:15.5px; line-height:1.62; }
  .actions { width:100%; flex-direction:column; }
  .button { width:100%; min-width:0; }
  .status-row { gap:12px 16px; font-size:9px; }
  .section,.contact { width:min(100% - 32px,var(--max)); padding-top:82px; padding-bottom:82px; }
  .section h2,.contact h2 { font-size:clamp(38px,11vw,54px); }
  .lead { font-size:16px; line-height:1.65; }
  .pillar-grid { grid-template-columns:1fr; margin-top:44px; }
  .pillar,.project-card,.research-card,.evidence-card { min-height:205px; padding:22px; }
  .split { gap:30px; }
  .flow { display:grid; grid-template-columns:1fr; }
  .flow em { display:none; }
  .heading-row { grid-template-columns:1fr; gap:28px; }
  .badge { width:82px; height:82px; }
  .protocols article { grid-template-columns:38px 1fr; gap:16px; padding:24px 0; }
  .palette { grid-template-columns:repeat(2,1fr); }
  .about-panel { padding:24px; }
  .contact { flex-direction:column; align-items:stretch; }
  .footer-nav { flex-wrap:wrap; gap:12px 18px; }
  footer { padding:30px 16px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .reveal { opacity:1; transform:none; }
}
