
:root{--bg:#f5f6fa;--bg2:#eceef6;--bg3:#e2e5f0;--surf:#fff;--surf2:#f9fafc;--navy:#0b1d3a;--blue:#1a56db;--acc:#0284c7;--cl:#e0f2fe;--t:#0b1d3a;--t2:#3a4f72;--t3:#7a8fa8;--bd:#d0dae8;--bd2:#e6ecf6;--mono:'IBM Plex Mono',monospace;--sans:'Manrope',sans-serif;--dis:'Raleway',sans-serif;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}body{background:var(--bg);color:var(--t);font-family:var(--sans);font-size:16px;line-height:1.7;overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;background:rgba(245,246,250,0.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--bd2);}.nl img{height:56px;width:auto;cursor:pointer;}.nls{display:flex;list-style:none;}.nls a{font-family:var(--mono);font-size:.88rem;letter-spacing:.09em;text-transform:uppercase;color:var(--t2);text-decoration:none;padding:8px 15px;transition:color.15s;}.nls a:hover,.nls a.active{color:var(--blue);}.ncta{font-family:var(--mono);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;background:var(--navy);color:#fff;padding:9px 20px;text-decoration:none;transition:background.15s;}.ncta:hover{background:var(--blue);}.pg{display:none;padding-top:66px;min-height:100vh;}.pg.active{display:block;}.ctr{max-width:1180px;margin:0 auto;padding:0 3rem;}.sec{padding:5rem 0;}.seca{background:var(--bg2);}.stag{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);display:flex;align-items:center;gap:10px;margin-bottom:.75rem;}.stag::before{content:'';display:block;width:18px;height:1px;background:var(--acc);}.stag.lt{color:#7eb8e8;}.stag.lt::before{background:#7eb8e8;}
h1{font-family:var(--dis);font-size:clamp(2.4rem,4.5vw,3.6rem);font-weight:900;line-height:1.06;letter-spacing:-.02em;color:var(--navy);}h1 em{font-style:normal;color:var(--blue);}
h2{font-family:var(--dis);font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--navy);}h2 em{font-style:normal;color:var(--blue);}h2.od{color:#fff;}h2.od em{color:#60a5fa;}
h3{font-family:var(--sans);font-size:1rem;font-weight:700;color:var(--navy);}.lead{font-size:1rem;color:var(--t2);line-height:1.85;margin-top:1rem;}.lead.od{color:#93c5fd;}.btn{display:inline-block;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:13px 26px;text-decoration:none;transition:all.15s;cursor:pointer;border:none;outline:none;}.bp{background:var(--navy);color:#fff;}.bp:hover{background:var(--blue);}.bo{background:transparent;color:var(--navy);border:1.5px solid var(--navy);}.bo:hover{background:var(--navy);color:#fff;}.bol{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35);}.bol:hover{background:rgba(255,255,255,.1);}
/* HERO */.hero{background:linear-gradient(135deg,#0b1d3a 0%,#132d5e 55%,#1a3d80 100%);}.htop{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;max-width:1180px;margin:0 auto;padding:4rem 3rem 2.5rem;}.hey{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#93c5fd;margin-bottom:1.2rem;display:flex;align-items:center;gap:10px;}.hey::before{content:'';display:block;width:20px;height:1px;background:#93c5fd;}.hero h1{color:#fff;}.hero h1 em{color:#60a5fa;}.hero.lead{color:#93c5fd;margin-bottom:2rem;max-width:480px;}.hbtns{display:flex;gap:1rem;flex-wrap:wrap;}.hbtns.bp{background:#fff;color:var(--navy);}.hbtns.bp:hover{background:#dbeafe;}.hqg{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.08);}.hq{background:rgba(255,255,255,.05);padding:1.5rem;text-align:center;}.hqn{font-family:var(--dis);font-size:2rem;font-weight:900;color:#60a5fa;line-height:1;}.hql{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:5px;}
/* STATS */.sbar{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);}.sc{padding:2.25rem 2rem;border-right:1px solid rgba(255,255,255,.07);}.sc:last-child{border-right:none;}.sn{font-family:var(--dis);font-size:2.2rem;font-weight:900;color:#60a5fa;line-height:1;}.sl{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:5px;}
/* VIDEO SECTION */.vid-sec{background:var(--navy);padding:4rem 0;}.vtabs{display:flex;gap:.5rem;margin-bottom:1.25rem;}.vtab{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 16px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.55);cursor:pointer;background:transparent;transition:all.15s;}.vtab.active{background:#fff;color:var(--navy);border-color:#fff;}.vframe{background:#050e1f;border:1px solid rgba(255,255,255,.08);overflow:hidden;}
canvas#vcanvas{width:100%;display:block;background:#050e1f;}.vbar{display:flex;gap:2rem;padding:10px 16px;border-top:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);flex-wrap:wrap;align-items:center;}.vst{font-family:var(--mono);font-size:.58rem;color:rgba(255,255,255,.4);}.vst strong{color:#60a5fa;}.vlive{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.58rem;text-transform:uppercase;color:#4ade80;margin-left:auto;}.ldot{width:5px;height:5px;border-radius:50%;background:#4ade80;animation:blink 1.5s ease-in-out infinite;}@keyframes blink{0%,100%{opacity:1;}50%{opacity:.25;}}
/* ARCH CARDS - no images */.archgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.5rem;}.archcard{background:var(--surf);border:1px solid var(--bd2);padding:1.75rem;cursor:pointer;transition:border-color.2s,box-shadow.2s;}.archcard:hover{border-color:var(--blue);box-shadow:0 4px 20px rgba(26,86,219,.1);}.archbadge{font-family:var(--mono);font-size:.55rem;letter-spacing:.09em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--bd);display:inline-block;margin-bottom:.75rem;}.archbadge.s{color:#7c3aed;border-color:#c4b5fd;background:#ede9fe;}.archbadge.d{color:#0369a1;border-color:#bae6fd;background:#e0f2fe;}.archbadge.r{color:#0f766e;border-color:#99f6e4;background:#f0fdfa;}.archcard h4{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.5rem;}.archcard p{font-size:.81rem;color:var(--t2);line-height:1.6;margin-bottom:1rem;}.archviewbtn{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);}
/* ARCH MODAL */.amodov{display:none;position:fixed;inset:0;background:rgba(11,29,58,.78);z-index:600;align-items:center;justify-content:center;padding:1.5rem;}.amodov.open{display:flex;}.amod{background:#fff;width:100%;max-width:960px;max-height:90vh;overflow-y:auto;}.amodhdr{background:var(--navy);padding:1.25rem 1.75rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:2;}.amodhdr-l{display:flex;align-items:center;gap:12px;}.amodhdr h3{color:#fff;font-family:var(--dis);font-size:1.05rem;font-weight:800;}.amodcls{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.6);font-size:1.5rem;line-height:1;padding:0 4px;}.amodcls:hover{color:#fff;}.amodbody{display:grid;grid-template-columns:1.1fr 1fr;}.amod-img{background:#f0f4fa;display:flex;align-items:center;justify-content:center;padding:2rem;min-height:340px;}.amod-img img{max-width:100%;max-height:440px;object-fit:contain;display:block;}.amod-txt{padding:2rem;display:flex;flex-direction:column;border-left:1px solid var(--bd2);}.amod-txt h4{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:.6rem;line-height:1.4;}.amod-txt>p{font-size:.84rem;color:var(--t2);line-height:1.8;margin-bottom:1.25rem;}.amodmets{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:1.25rem;}.amodmet{font-family:var(--mono);font-size:.6rem;background:var(--bg3);padding:4px 9px;color:var(--t2);}.amod-hi{font-size:.82rem;color:var(--t2);background:var(--bg2);padding:.75rem 1rem;border-left:3px solid var(--acc);line-height:1.6;margin-bottom:1.5rem;}.amodlinks{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:auto;}.amodlink{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);text-decoration:none;border:1px solid var(--bd);padding:8px 14px;transition:all.15s;}.amodlink:hover{border-color:var(--blue);background:var(--cl);}
/* DOMAIN GRID */.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem;}.dcard{position:relative;overflow:hidden;height:215px;cursor:pointer;}.dcard-bg{width:100%;height:100%;transition:transform.4s;}.dov{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,29,58,.88) 0%,rgba(11,29,58,.15) 60%,transparent 100%);}.dcnt{position:absolute;bottom:0;left:0;right:0;padding:1.25rem 1.5rem;}.dlbl{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:#7eb8e8;margin-bottom:4px;}.dcard h4{font-family:var(--dis);font-size:1rem;font-weight:700;color:#fff;}
/* DOMAIN MODAL */.dmodov{display:none;position:fixed;inset:0;background:rgba(11,29,58,.68);z-index:600;align-items:center;justify-content:center;padding:1.5rem;}.dmodov.open{display:flex;}.dmod{background:#fff;width:100%;max-width:520px;overflow:hidden;}.dmodhdr{background:var(--navy);padding:1.25rem 1.75rem;display:flex;justify-content:space-between;align-items:center;}.dmodhdr h3{color:#fff;font-family:var(--dis);font-size:1.05rem;font-weight:800;}.dmodcls{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.6);font-size:1.5rem;line-height:1;padding:0 4px;}.dmodcls:hover{color:#fff;}.dmodbody-img{width:100%;height:160px;display:block;}.dmodbody-inner{padding:1.75rem;}.dmodlbl{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:.5rem;display:block;}.dmodbody p{font-size:.88rem;color:var(--t2);line-height:1.8;margin-bottom:1.25rem;}.dmod-models{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem;}.dmodm{font-family:var(--mono);font-size:.6rem;background:var(--bg3);padding:3px 9px;color:var(--t2);}
/* WHAT */.wgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd2);border:1px solid var(--bd2);margin-top:2.5rem;}.wcard{background:var(--surf);padding:2rem 1.6rem;transition:background.18s;}.wcard:hover{background:var(--cl);}.wico{width:34px;height:34px;background:var(--cl);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;color:var(--blue);}.wcard h3{margin-bottom:.5rem;}.wcard p{font-size:.82rem;color:var(--t2);line-height:1.7;}.wtgs{display:flex;flex-wrap:wrap;gap:5px;margin-top:1rem;}.wtg{font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;background:var(--bg3);padding:3px 7px;color:var(--t3);}
/* BLOG HOME */.agrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2.5rem;}.acard{background:var(--surf);border:1px solid var(--bd2);padding:1.75rem;transition:border-color.18s;cursor:pointer;}.acard:hover{border-color:var(--acc);}.acat{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:.5rem;display:block;}.acard h4{font-size:.95rem;font-weight:700;color:var(--navy);line-height:1.4;margin-bottom:.5rem;}.acard p{font-size:.82rem;color:var(--t2);line-height:1.7;}
/* BOOKS HOME */.bkhg{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem;}.tkm{background:var(--surf);border:1px solid var(--bd2);padding:1.75rem;}.tklbl{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t2);margin-bottom:1rem;display:flex;align-items:center;gap:8px;}.td{width:7px;height:7px;border-radius:50%;flex-shrink:0;}.td.c{background:#117A65;}.td.a{background:#2471A3;}.bkrow{font-size:.83rem;color:var(--t);padding:8px 0;border-bottom:1px solid var(--bd2);display:flex;justify-content:space-between;}.bkrow:last-child{border-bottom:none;}.bklv{font-family:var(--mono);font-size:.6rem;color:var(--t3);}.cband{background:var(--navy);padding:3.5rem 3rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:4rem;}.cband h3{font-family:var(--dis);font-size:1.35rem;font-weight:800;color:#fff;}.cband p{color:#93c5fd;font-size:.88rem;margin-top:.35rem;max-width:500px;}
/* SERVICES */.shd{background:var(--navy);padding:4rem 0 3rem;}.sgr{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bd2);margin-top:3rem;}.sb{background:var(--surf);padding:2.5rem 2.25rem;}.sb.hl{background:var(--cl);}.si{font-family:var(--mono);font-size:.56rem;letter-spacing:.15em;text-transform:uppercase;color:var(--t3);margin-bottom:.75rem;display:block;}.sb h3{font-size:1.15rem;margin-bottom:.75rem;}.sb>p{font-size:.85rem;color:var(--t2);line-height:1.8;margin-bottom:1.25rem;}.sul{list-style:none;display:flex;flex-direction:column;gap:5px;}.sul li{font-size:.81rem;color:var(--t2);display:flex;align-items:flex-start;gap:7px;line-height:1.5;}.sul li::before{content:"•";color:var(--blue);font-size:.9rem;line-height:1;flex-shrink:0;margin-top:3px;}.cprg{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;}.cprc{background:var(--surf);border:1px solid var(--bd);padding:1.25rem;}.cprv{font-family:var(--dis);font-size:1.5rem;font-weight:900;color:var(--navy);display:block;}.cprl{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);display:block;margin-top:3px;}.cprd{font-size:.78rem;color:var(--t2);margin-top:6px;line-height:1.5;}.nnote{margin-top:1.25rem;padding:.85rem 1rem;background:var(--bg2);border-left:3px solid var(--bd);font-size:.78rem;color:var(--t3);line-height:1.6;}.fnote{margin-top:1.25rem;padding:.85rem 1rem;background:#fffbeb;border-left:3px solid #f59e0b;font-size:.78rem;color:#92610a;line-height:1.6;}.fnote strong{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:#f59e0b;margin-bottom:4px;}
/* PROJECTS */.phd{background:var(--navy);padding:4rem 0 3rem;}.pgr{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem;}.pcard{background:var(--surf);border:1px solid var(--bd2);overflow:hidden;transition:box-shadow.2s;}.pcard:hover{box-shadow:0 4px 24px rgba(2,132,199,.1);}.parch{width:100%;background:#f0f4fa;border-bottom:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;padding:.75rem;min-height:235px;}.parch img{max-width:100%;max-height:315px;object-fit:contain;display:block;}.pcb{padding:1.75rem;}.pvr{display:flex;align-items:center;gap:8px;margin-bottom:.75rem;flex-wrap:wrap;}.pv{font-family:var(--mono);font-size:.56rem;letter-spacing:.09em;text-transform:uppercase;color:var(--acc);background:var(--cl);padding:3px 8px;}.py{font-family:var(--mono);font-size:.56rem;color:var(--t3);}.ptb{font-family:var(--mono);font-size:.54rem;letter-spacing:.09em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--bd);}.ptb.s{color:#7c3aed;border-color:#c4b5fd;background:#ede9fe;}.ptb.d{color:#0369a1;border-color:#bae6fd;background:#e0f2fe;}.ptb.r{color:#0f766e;border-color:#99f6e4;background:#f0fdfa;}.pmod{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--blue);margin-bottom:.5rem;}.pcard h3{font-size:.95rem;font-weight:700;color:var(--navy);line-height:1.4;margin-bottom:.6rem;}.pcard p{font-size:.82rem;color:var(--t2);line-height:1.7;margin-bottom:1rem;}.pmets{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:1rem;}.pmet{font-family:var(--mono);font-size:.58rem;background:var(--bg3);padding:3px 8px;color:var(--t2);}.phi{font-size:.78rem;color:var(--t2);background:var(--bg2);padding:.75rem 1rem;border-left:3px solid var(--acc);margin-bottom:1.25rem;line-height:1.6;}.pftr{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;}.plink{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);text-decoration:none;border:1px solid var(--bd);padding:7px 13px;transition:all.15s;}.plink:hover{border-color:var(--blue);background:var(--cl);}
/* BLOG */.bhd{background:var(--navy);padding:4rem 0 3rem;}.bflt{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2rem;}.bfb{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.55);cursor:pointer;transition:all.15s;background:transparent;}.bfb.active,.bfb:hover{background:#fff;color:var(--navy);border-color:#fff;}.blgr{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem;}.blcard{background:var(--surf);border:1px solid var(--bd2);overflow:hidden;transition:border-color.18s;}.blcard:hover{border-color:var(--acc);}.blthumb{width:100%;height:155px;display:block;}.blbody{padding:1.5rem;}.blcat{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:.5rem;display:block;}.blcard h3{font-size:.95rem;font-weight:700;color:var(--navy);line-height:1.4;margin-bottom:.55rem;}.blcard p{font-size:.81rem;color:var(--t2);line-height:1.72;}.blftr{display:flex;justify-content:flex-end;align-items:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--bd2);}.blmeta{font-family:var(--mono);font-size:.58rem;color:var(--t3);}.blrd{font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);text-decoration:none;}
/* BOOKS */.bkhd{background:var(--navy);padding:4rem 0 3rem;}.bktr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-top:3rem;}.tkp{background:var(--surf);border:1px solid var(--bd2);overflow:hidden;}.tktp{padding:1.25rem 1.75rem;border-bottom:1px solid var(--bd2);background:var(--surf2);display:flex;align-items:center;gap:10px;}.tktl{font-family:var(--dis);font-size:1rem;font-weight:800;color:var(--navy);}.bkrw{padding:1.5rem 1.75rem;border-bottom:1px solid var(--bd2);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;}.bkrw:last-of-type{border-bottom:none;}.bknum{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;background:var(--bg3);padding:3px 7px;color:var(--t3);flex-shrink:0;height:fit-content;margin-top:2px;}.bklvb{font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--bd);color:var(--t3);flex-shrink:0;height:fit-content;margin-top:2px;}.bkt{font-size:.88rem;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:3px;}.bksub{font-size:.78rem;color:var(--t2);line-height:1.5;}.bkstars{font-size:.85rem;letter-spacing:2px;margin-bottom:.6rem;display:flex;align-items:center;gap:8px;}.bkstars .bklvb2{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);}.stf{color:#d4a017;}.ste{color:#d8d8d8;}.sth{background:linear-gradient(90deg,#d4a017 50%,#d8d8d8 50%);-webkit-background-clip:text;background-clip:text;color:transparent;}.bcart{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;background:var(--navy);color:#fff;border:none;padding:8px 16px;cursor:pointer;transition:background.15s;white-space:nowrap;}.bcart:hover{background:var(--blue);}.bkoutc{list-style:none;margin:.9rem 0;padding:0;}.bkoutc li{font-size:.8rem;color:var(--t2);line-height:1.6;padding:5px 0 5px 1.1rem;position:relative;}.bkoutc li::before{content:'✓';position:absolute;left:0;color:#117A65;font-weight:700;}.bklearn{font-size:.8rem;font-weight:700;color:var(--navy);margin-top:.9rem;margin-bottom:.4rem;}.bkmeta2{font-family:var(--mono);font-size:.65rem;letter-spacing:.04em;color:var(--t3);margin-bottom:1rem;}
.bkbn{padding:1.25rem 1.75rem;background:var(--bg2);display:flex;justify-content:space-between;align-items:center;gap:1rem;}.bkbl{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);}.fb{background:var(--navy);padding:1.75rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:2.5rem;}.fbl{font-family:var(--dis);font-size:1.1rem;font-weight:800;color:#fff;}.fbs{font-size:.83rem;color:#93c5fd;margin-top:2px;}.fbb{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;background:#fff;color:var(--navy);padding:12px 22px;border:none;cursor:pointer;transition:background.15s;}.fbb:hover{background:#dbeafe;}.pi{margin-top:2rem;padding:1.25rem 1.5rem;background:var(--surf);border:1px solid var(--bd2);border-left:3px solid var(--acc);}.pi h4{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:.6rem;}.pi p{font-size:.83rem;color:var(--t2);line-height:1.7;}
/* CART */.cov{display:none;position:fixed;inset:0;background:rgba(11,29,58,.6);z-index:500;align-items:center;justify-content:center;padding:1rem;}.cov.open{display:flex;}.cm{background:#fff;width:100%;max-width:500px;overflow:hidden;}.coh{background:var(--navy);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;}.coh h3{color:#fff;font-family:var(--dis);font-size:1.1rem;font-weight:800;}.cob{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.6);font-size:1.3rem;padding:0 4px;}.cob:hover{color:#fff;}.cobody{padding:2rem;}.cin{font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:.25rem;}.csb{font-size:.78rem;color:var(--t2);margin-bottom:1.5rem;}.cpr2{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-top:1px solid var(--bd2);border-bottom:1px solid var(--bd2);margin-bottom:1.5rem;}.cpl{font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);}.cpv{font-family:var(--dis);font-size:1.6rem;font-weight:900;color:var(--navy);}.mf{display:flex;flex-direction:column;gap:4px;margin-bottom:1rem;}.mf label{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);}.mf input{background:var(--bg);border:1px solid var(--bd);color:var(--t);font-family:var(--sans);font-size:.88rem;padding:10px 13px;width:100%;outline:none;transition:border-color.15s;}.mf input:focus{border-color:var(--blue);}.crow{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.75rem;}.cbtn{background:var(--navy);color:#fff;border:none;cursor:pointer;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:14px;width:100%;margin-top:.5rem;transition:background.15s;}.cbtn:hover{background:var(--blue);}.cn2{font-size:.72rem;color:var(--t3);margin-top:1rem;line-height:1.6;}
/* RESOURCES */.rhd{background:var(--navy);padding:4rem 0 3rem;}.rtbs{display:flex;gap:0;border-bottom:2px solid var(--bd);}.rtb{font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:13px 22px;cursor:pointer;color:var(--t3);border-bottom:2px solid transparent;margin-bottom:-2px;background:none;border-left:none;border-right:none;border-top:none;transition:all.15s;}.rtb.active,.rtb:hover{color:var(--blue);border-bottom-color:var(--blue);}.rpane{display:none;padding-top:3rem;}.rpane.active{display:block;}.rg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}.rc{background:var(--surf);border:1px solid var(--bd2);padding:1.75rem;transition:border-color.18s;}.rc:hover{border-color:var(--acc);}.rc h4{font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:.4rem;}.rc p{font-size:.81rem;color:var(--t2);line-height:1.7;margin-bottom:1rem;}.rtag{font-family:var(--mono);font-size:.56rem;letter-spacing:.09em;text-transform:uppercase;padding:3px 8px;display:inline-block;border:1px solid var(--bd);color:var(--t3);}.rpl{background:var(--surf);border:1px solid var(--bd2);border-left:3px solid var(--t3);padding:1.25rem 1.5rem;margin-top:2.5rem;}.rpl h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-bottom:.6rem;}.rpl p{font-size:.82rem;color:var(--t3);line-height:1.7;}
.affiliate-note{
background:#f4f7fb;
border-left:3px solid var(--acc);
padding:15px 18px;
margin:0 0 2rem;
font-size:.82rem;
line-height:1.7;
color:var(--t2);
}

.resource-section{
margin-top:2.5rem;
}

.resource-section h3{
font-family:var(--dis);
font-size:1.25rem;
font-weight:800;
color:var(--navy);
margin-bottom:1rem;
}

.resource-table{
width:100%;
border-collapse:collapse;
background:var(--surf);
border:1px solid var(--bd2);
margin-bottom:2.5rem;
}

.resource-table th{
background:var(--navy);
color:#fff;
font-family:var(--mono);
font-size:.58rem;
letter-spacing:.09em;
text-transform:uppercase;
text-align:left;
padding:12px 14px;
}

.resource-table td{
padding:13px 14px;
border-bottom:1px solid var(--bd2);
font-size:.82rem;
line-height:1.65;
color:var(--t2);
vertical-align:top;
}

.resource-table tr:last-child td{
border-bottom:none;
}

.resource-table td:first-child{
font-weight:700;
color:var(--navy);
}

.legal-page{
max-width:900px;
margin:0 auto;
padding:3.5rem 3rem 5rem;
}

.legal-page p{
font-size:.9rem;
line-height:1.85;
color:var(--t2);
margin-top:1rem;
}

.legal-h{
font-family:var(--dis);
font-size:1.05rem;
font-weight:800;
color:var(--navy);
margin-top:2.4rem;
margin-bottom:.8rem;
}

.fnav{
text-decoration:none;
color:var(--navy);
font-size:.78rem;
letter-spacing:.16em;
text-transform:uppercase;
font-family:var(--mono);
transition:.2s ease;
}

.fnav:hover{
color:var(--blue);
}

.code-block{

background:#f6f8fb;

border:1px solid rgba(15,23,42,.08);

padding:24px;

border-radius:12px;

overflow-x:auto;

font-size:.84rem;

line-height:1.7;

color:var(--navy);

font-family:var(--mono);

white-space:pre-wrap;

word-break:break-word;

box-shadow:0 2px 10px rgba(0,0,0,.03);

}

.code-block code{

color:var(--navy);

font-family:inherit;

}




.copy-btn{

margin-top:1rem;

padding:.7rem 1rem;

border:none;

border-radius:8px;

background:var(--blue);

color:white;

cursor:pointer;

font-size:.8rem;

transition:.2s ease;

}

.copy-btn:hover{

opacity:.9;

}

/* ABOUT */.ahd{background:var(--navy);padding:4rem 0 3rem;}.apr{display:grid;grid-template-columns:260px 1fr;gap:3.5rem;align-items:start;margin-top:3rem;}.apcard{background:var(--surf);border:1px solid var(--bd2);padding:2rem;text-align:center;}.avt{width:110px;height:110px;border-radius:50%;background:var(--bg3);margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;font-family:var(--dis);font-size:2rem;font-weight:900;color:var(--navy);}.aname{font-family:var(--dis);font-size:1.2rem;font-weight:800;color:var(--navy);}.arole{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin-top:4px;}.aaff{font-size:.78rem;color:var(--t2);margin-top:8px;line-height:1.5;}.atgs{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:1rem;}.aptag{font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;background:var(--bg3);padding:3px 8px;color:var(--t2);}.abio{font-size:.92rem;color:var(--t2);line-height:1.85;}.abio p+p{margin-top:1rem;}.exlist{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;}.exitem{background:var(--surf);border:1px solid var(--bd2);padding:1.25rem;}.exitem h4{font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:3px;}.exitem p{font-size:.78rem;color:var(--t2);}.pubsec{margin-top:4rem;}.publist{display:flex;flex-direction:column;gap:0;border:1px solid var(--bd2);}.pubitem{background:var(--surf);padding:1.75rem 2rem;border-bottom:1px solid var(--bd2);}.pubitem:last-child{border-bottom:none;}.pubhdr{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:.75rem;}.pubt{font-size:.95rem;font-weight:700;color:var(--navy);line-height:1.45;flex:1;}.pubv{font-family:var(--mono);font-size:.56rem;letter-spacing:.09em;text-transform:uppercase;color:var(--acc);background:var(--cl);padding:4px 10px;flex-shrink:0;white-space:nowrap;}.pubmr{display:flex;align-items:center;gap:1rem;margin-bottom:.6rem;flex-wrap:wrap;}.pubmod{font-family:var(--mono);font-size:.65rem;letter-spacing:.08em;color:var(--blue);}.pubtk{font-family:var(--mono);font-size:.58rem;padding:2px 7px;border:1px solid var(--bd);}.pubtk.s{color:#7c3aed;border-color:#c4b5fd;background:#ede9fe;}.pubtk.d{color:#0369a1;border-color:#bae6fd;background:#e0f2fe;}.pubtk.r{color:#0f766e;border-color:#99f6e4;background:#f0fdfa;}.pubabs{font-size:.82rem;color:var(--t2);line-height:1.72;margin-bottom:.75rem;}.pubmets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:.75rem;}.pubm{font-family:var(--mono);font-size:.6rem;background:var(--bg3);padding:3px 8px;color:var(--t2);}.publinks{display:flex;gap:.75rem;flex-wrap:wrap;}.publink{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);text-decoration:none;border:1px solid var(--bd);padding:6px 12px;transition:all.15s;}.publink:hover{border-color:var(--blue);background:var(--cl);}
/* CONTACT */.chd{background:var(--navy);padding:4rem 0 3rem;}.cgr{display:grid;grid-template-columns:1fr 1.7fr;gap:4rem;align-items:start;margin-top:3rem;}.cinfo h3{font-size:1.05rem;margin-bottom:.6rem;}.cinfo p{font-size:.87rem;color:var(--t2);line-height:1.8;}.cirows{margin-top:2rem;display:flex;flex-direction:column;gap:1rem;}.cirow{display:flex;gap:1rem;}.cilbl{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);flex-shrink:0;width:85px;padding-top:2px;}.cival{font-size:.87rem;color:var(--t2);}.cival a{color:var(--blue);text-decoration:none;}.cform{background:var(--surf);border:1px solid var(--bd2);padding:2.25rem;}.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:1rem;}.fld label{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);}.fld input,.fld textarea,.fld select{background:var(--bg);border:1px solid var(--bd);color:var(--t);font-family:var(--sans);font-size:.87rem;padding:10px 13px;width:100%;outline:none;transition:border-color.15s;-webkit-appearance:none;appearance:none;}.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%237a8fa8' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;cursor:pointer;}.fld select option{background:var(--surf);}.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--blue);}.fld textarea{height:105px;resize:vertical;}.cnote{font-size:.78rem;color:var(--t3);background:var(--bg2);padding:1rem 1.1rem;border-left:3px solid var(--bd);margin-top:1rem;line-height:1.6;}
footer{background:var(--bg2);padding:2.25rem 0;border-top:1px solid var(--bd);}.fti{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}.ftc{font-family:var(--mono);font-size:.62rem;color:var(--t2);}.ftl{display:flex;gap:1.5rem;list-style:none;}.ftl a{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;color:var(--t2);text-decoration:none;transition:color.15s;}.ftl a:hover{color:var(--blue);}.ftsocial{display:flex;gap:.9rem;align-items:center;}.ftsocial a{color:var(--t2);display:flex;align-items:center;transition:color.15s;}.ftsocial a:hover{color:var(--blue);}
#toast{display:none;position:fixed;bottom:2rem;right:2rem;background:var(--navy);color:#fff;padding:1rem 1.4rem;font-family:var(--mono);font-size:.7rem;z-index:999;border-left:3px solid var(--acc);}
@media(max-width:1024px){
 nav{padding:0 1.5rem;}.ctr{padding:0 1.5rem;}.htop{grid-template-columns:1fr;gap:2.5rem;padding:3rem 1.5rem 1.5rem;}.archgrid{grid-template-columns:repeat(2,1fr);}.wgrid{grid-template-columns:repeat(2,1fr);}.bkhg,.agrid,.bktr,.sgr,.cgr,.pgr,.apr{grid-template-columns:1fr;}.sbar{grid-template-columns:repeat(2,1fr);}.blgr{grid-template-columns:repeat(2,1fr);}.rg{grid-template-columns:repeat(2,1fr);}.dgrid{grid-template-columns:repeat(2,1fr);}.exlist{grid-template-columns:1fr;}.amodbody{grid-template-columns:1fr;}
}
@media(max-width:640px){.nls{display:none;}.ncta{display:none;}nav{padding:0 1.25rem;}.nl img{height:38px;}.cband-btns{width:100%;flex-direction:column;}.cband-btns .btn{width:100%;text-align:center;}.wgrid,.blgr,.rg,.dgrid,.archgrid{grid-template-columns:1fr;}.sbar{grid-template-columns:repeat(2,1fr);}.frow,.crow{grid-template-columns:1fr;}
}

/* OCCULINS ADDED: carousel and detail pages */
@keyframes archScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes domainScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
#arch-track:hover,#domain-track:hover{animation-play-state:paused!important;}
.domain-slider-wrap{overflow:hidden;margin-top:2.5rem;width:100%;}
#domain-track{display:flex;gap:1.25rem;width:max-content;animation:domainScroll 40s linear infinite;}
.domain-slide-card{position:relative;flex:0 0 340px;height:250px;overflow:hidden;cursor:pointer;background:#07152b;border:1px solid rgba(255,255,255,.08);}
.domain-slide-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95) contrast(1.03);transition:transform .4s ease;}
.domain-slide-card:hover img{transform:scale(1.05);}
.domain-slide-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,14,31,.92) 0%,rgba(5,14,31,.55) 48%,rgba(5,14,31,.08) 100%);}
.domain-slide-content{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.35rem 1.45rem;}
.domain-slide-content .dlbl{color:#7eb8e8;margin-bottom:.35rem;}
.domain-slide-content h4{font-family:var(--dis);font-size:1.08rem;font-weight:800;line-height:1.15;color:#fff;margin-bottom:.4rem;}
.domain-slide-content p{font-size:.78rem;line-height:1.55;color:#dbeafe;margin-bottom:.8rem;}
.learn-more{font-family:var(--mono);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;color:#93c5fd;}
.detail-hero{display:grid;grid-template-columns:1fr 1.25fr;gap:2rem;align-items:center;margin-top:3rem;}
.detail-panel{background:var(--surf);border:1px solid var(--bd2);padding:2rem;}
.detail-media{background:#07152b;border:1px solid var(--bd2);min-height:320px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.detail-media img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block;}
.detail-kicker{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:.75rem;}
.detail-title{font-family:var(--dis);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05;font-weight:900;color:var(--navy);margin-bottom:1rem;}
.detail-lead{font-size:.96rem;color:var(--t2);line-height:1.85;}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem;}
.tech-card,.benefit-card{background:var(--surf);border:1px solid var(--bd2);overflow:hidden;}
.tech-card-img{height:245px;background:#07152b;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.tech-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.tech-card-body,.benefit-card{padding:1.5rem;}
.tech-card h3,.benefit-card h3{font-size:1rem;margin-bottom:.45rem;color:var(--navy);}
.tech-card p,.benefit-card p{font-size:.82rem;line-height:1.7;color:var(--t2);}
.placeholder-card{height:245px;background:linear-gradient(135deg,#0b1d3a,#132d5e);display:flex;align-items:center;justify-content:center;color:#93c5fd;font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:1rem;}
.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2rem;}
.project-detail-wrap{margin-top:3rem;display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:start;}
.project-detail-card{background:var(--surf);border:1px solid var(--bd2);padding:2rem;}
.project-detail-card p{font-size:.9rem;color:var(--t2);line-height:1.85;margin-top:.75rem;}
.project-metrics{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;}
.project-metrics span{font-family:var(--mono);font-size:.62rem;background:var(--bg3);padding:5px 10px;color:var(--t2);}
@media(max-width:1024px){.detail-hero,.detail-grid,.project-detail-wrap{grid-template-columns:1fr}.benefit-grid{grid-template-columns:repeat(2,1fr)}.domain-slide-card{flex-basis:300px}}
@media(max-width:640px){.benefit-grid{grid-template-columns:1fr}.domain-slide-card{flex-basis:280px;height:235px}}



/* OCCULINS PATCH: capability visuals and refined sliders */
.wcard{overflow:hidden;}

.wimg img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.98) contrast(1.04);}
.wcard:nth-child(3) .wimg img{object-fit:contain;background:#f0f4fa;padding:.8rem;}
.domain-slider-wrap{width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;overflow:hidden;margin-top:2.75rem!important;padding-left:3rem;}
.domain-slide-card{flex:0 0 380px!important;height:280px!important;}
#arch-track .archcard{flex:0 0 380px!important;min-width:380px!important;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;}
.project-arch-visual{margin-top:1.4rem;background:#f0f4fa;border:1px solid var(--bd2);padding:1rem;display:flex;align-items:center;justify-content:center;min-height:280px;}
.project-arch-visual img{max-width:100%;max-height:420px;object-fit:contain;display:block;}
@media(max-width:640px){.domain-slider-wrap{padding-left:1.5rem}.domain-slide-card,#arch-track .archcard{flex-basis:300px!important;min-width:300px!important}}
.tech-card{background:var(--surf);border:1px solid var(--bd2);overflow:hidden;}
@media (max-width:768px){nav{backdrop-filter:none;background:rgba(245,246,250,0.98);}}
@media(max-width:640px){.pcard-row{grid-template-columns:1fr!important;}}
.hbtn{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;background:none;border:none;cursor:pointer;padding:0;z-index:300;}
.hbtn span{display:block;width:100%;height:2px;background:var(--navy);transition:transform .2s,opacity .2s;}
.hbtn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hbtn.open span:nth-child(2){opacity:0;}
.hbtn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mnav{position:fixed;top:66px;right:-280px;width:260px;height:calc(100vh - 66px);background:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.12);z-index:250;display:flex;flex-direction:column;padding:1.5rem 0;transition:right .25s ease;overflow-y:auto;}
.mnav.open{right:0;}
.mnav a{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--t2);text-decoration:none;padding:14px 1.75rem;border-bottom:1px solid var(--bd2);}
.mnav a.mnav-cta{margin:1rem 1.75rem 0;background:var(--navy);color:#fff;text-align:center;border:none;padding:12px;}
.mnav-overlay{display:none;position:fixed;top:66px;left:0;right:0;bottom:0;background:rgba(11,29,58,.35);z-index:240;}
.mnav-overlay.open{display:block;}
@media(max-width:640px){.hbtn{display:flex;}}

/* Static multipage + additions */
body.static-site .pg{display:block!important;padding-top:66px;min-height:100vh}
a.card-link{color:inherit;text-decoration:none;display:block}
.site-breadcrumbs{max-width:1180px;margin:0 auto;padding:1rem 3rem 0;font-family:var(--mono);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:var(--t2)}
.site-breadcrumbs a{color:var(--blue);text-decoration:none}.site-breadcrumbs span{margin:0 .45rem;color:var(--t3)}
.context-nav{max-width:1180px;margin:0 auto;padding:1.1rem 3rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--bd2)}
.context-nav a{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);text-decoration:none}
/* Tools */
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2rem}.tool-card{background:#fff;border:1px solid var(--bd);padding:2rem;display:flex;flex-direction:column;min-height:390px}.tool-status{font-family:var(--mono);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem}.tool-card h3{font-size:1.35rem;margin-bottom:.75rem}.tool-card p{font-size:.9rem;color:var(--t2);line-height:1.75}.tool-tags{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.tool-tags span{font-family:var(--mono);font-size:.54rem;text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;background:var(--bg2);border:1px solid var(--bd2);color:var(--t2)}.tool-actions{margin-top:auto;display:flex;gap:.75rem;flex-wrap:wrap}.tool-btn-muted{opacity:.8}.research-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd);margin-top:2rem}.research-principles>div{background:#fff;padding:1.5rem}.research-principles b{font-family:var(--mono);font-size:.58rem;color:var(--blue);letter-spacing:.1em}.research-principles h3{font-size:.95rem;margin:.6rem 0}.research-principles p{font-size:.8rem;color:var(--t2);line-height:1.65}
/* News */
.news-list{border-top:1px solid var(--bd);margin-top:2rem}.news-item{display:grid;grid-template-columns:170px 1fr auto;gap:1.5rem;padding:1.55rem 0;border-bottom:1px solid var(--bd);align-items:start}.news-meta{font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t2)}.news-item h3{font-size:1.05rem;margin:0 0 .45rem}.news-item p{font-size:.87rem;color:var(--t2);line-height:1.65;margin:0;max-width:760px}.news-item>a{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);text-decoration:none;white-space:nowrap;margin-top:.15rem}


/* Modal email gate */
.access-modal{position:fixed;inset:0;background:rgba(11,29,58,.6);z-index:1000;display:none;align-items:center;justify-content:center;padding:1rem}.access-modal.open{display:flex}.access-box{width:min(500px,100%);background:#fff;border:1px solid var(--bd);padding:2rem;position:relative}.access-box h3{font-size:1.35rem;margin-bottom:.55rem}.access-box p{font-size:.87rem;color:var(--t2);line-height:1.65}.access-box label{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;display:block;margin:1rem 0 .4rem}.access-box input[type=email]{width:100%;padding:12px;border:1px solid var(--bd);font:inherit}.access-box .consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.75rem;color:var(--t2);margin:1rem 0}.access-close{position:absolute;top:12px;right:14px;background:none;border:0;font-size:1.35rem;cursor:pointer}.access-error{font-size:.75rem;color:#B42318;margin-top:.6rem;display:none}


@media(max-width:900px){.tool-grid{grid-template-columns:1fr}.research-principles{grid-template-columns:1fr 1fr}.news-item{grid-template-columns:1fr;gap:.5rem}.site-breadcrumbs,.context-nav,}
@media(max-width:640px){.research-principles{grid-template-columns:1fr}.site-breadcrumbs{padding-top:.8rem}}

/* Blog cards: inner "Read Article" is a span (nested anchors are invalid HTML and split the card) */
a.blcard{display:block;color:inherit;text-decoration:none}
a.blcard:hover .blrd{text-decoration:underline}
.blcard .blthumb{width:100%;height:155px;object-fit:cover;display:block}


/* ===== Home: Latest News = rotating slide panel on the right of Selected Projects ===== */
.home-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:stretch}
.home-split-main{min-width:0}
.home-news-rail{background:var(--surf);border-left:1px solid var(--bd2);padding:5rem 1.75rem 2rem 1.75rem;display:flex;align-items:flex-start}
.home-news-rail .nr-panel{width:100%;background:#fff;border:1px solid var(--bd);box-shadow:0 8px 30px rgba(11,29,58,.07);padding:1.4rem 1.4rem 1.2rem}
.home-news-rail .nr-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);padding-bottom:.9rem;border-bottom:1px solid var(--bd2)}
.home-news-rail .nr-ctrl button{background:none;border:1px solid var(--bd);width:26px;height:26px;margin-left:.3rem;cursor:pointer;color:var(--navy);font-size:1rem;line-height:1}
.home-news-rail .nr-ctrl button:hover{background:var(--navy);color:#fff}
.home-news-rail .nr-viewport{overflow:hidden}
.home-news-rail .nr-track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.home-news-rail .nr-item{flex:0 0 100%;min-width:100%;padding:1.4rem 0 1rem;box-sizing:border-box}
.home-news-rail .nr-meta{font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);margin-bottom:.7rem}
.home-news-rail h4{font-size:1.02rem;line-height:1.5;margin:0 0 1rem;color:var(--navy);min-height:7.5em}
.home-news-rail .nr-item a,.home-news-rail .nr-all{font-family:var(--mono);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--blue)}
.home-news-rail a:hover{text-decoration:underline}
.home-news-rail .nr-dots{display:flex;gap:.45rem;padding:.4rem 0 1rem}
.home-news-rail .nr-dots button{width:22px;height:3px;border:0;padding:0;background:var(--bd);cursor:pointer}
.home-news-rail .nr-dots button.active{background:var(--blue)}
.home-news-rail .nr-all{display:block;border-top:1px solid var(--bd2);padding-top:.9rem}
@media(max-width:1100px){
  .home-split{grid-template-columns:1fr}
  .home-news-rail{border-left:0;border-top:1px solid var(--bd2);padding:1.5rem}
  .home-news-rail h4{min-height:0}
}

/* ===== Tools page CTA band: Browse Resources button in white ===== */
.cband .btn.bo{background:#fff;color:var(--navy);border:1.5px solid #fff}
.cband .btn.bo:hover{background:#dbeafe;color:var(--navy);border-color:#dbeafe}
/* CTA band buttons must be visible on the navy band */
.cband .btn.bp{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.cband .btn.bp:hover{background:rgba(255,255,255,.12);color:#fff}
.cband .btn.bp:only-child{background:#fff;color:var(--navy);border-color:#fff}
.cband .btn.bp:only-child:hover{background:#dbeafe}

/* Hero buttons on dark page headers must be visible */
.bhd .btn.bp{background:#fff;color:var(--navy)}
.bhd .btn.bp:hover{background:#dbeafe}

/* OcculinsLab header lockup and access consent */
.nl{display:inline-flex;align-items:center;gap:3px;text-decoration:none}.nl .brand-lab{align-self:center;position:relative;top:17px;left:-40px;font-family:"Raleway","Manrope",sans-serif;font-size:12px;font-weight:800;letter-spacing:.11em;color:#0B1D3A}.access-box [data-access-legal] a{color:#1A56DB;text-decoration:underline}.access-box [data-access-legal] input{flex:none;margin-top:2px}.access-box [data-access-legal][hidden]{display:none}@media(max-width:640px){.nl .brand-lab{font-size:9px;top:12px;left:-30px}}

/* Two-step tool access dialog */
.access-box [hidden]{display:none!important}
.access-box{border-radius:12px;max-height:calc(100vh - 2rem);overflow-y:auto}
.access-eyebrow{font-family:var(--mono);font-size:.65rem;font-weight:700;letter-spacing:.16em;color:var(--t2);margin-bottom:1rem}
.access-box .access-agree{font-family:inherit;text-transform:none;letter-spacing:normal;font-size:.88rem;color:var(--ink);line-height:1.65;margin:1.6rem 0;display:flex;align-items:flex-start;gap:.8rem}
.access-box .access-agree input{margin-top:.3rem;flex:none;width:17px;height:17px}
.access-box .access-agree a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.access-box .access-main-btn{display:block;width:100%;margin-top:1.15rem;justify-content:center;text-align:center}
.access-box .access-main-btn:disabled{cursor:not-allowed;opacity:.45}
.access-box .access-note{font-size:.72rem;margin-top:1rem}
.access-skip{display:block;margin:1rem auto 0;border:0;background:transparent;color:var(--blue);font:inherit;font-size:.8rem;text-decoration:underline;cursor:pointer}
.ftc a{color:inherit;text-decoration:none;transition:color .15s}.ftc a:hover,.ftc a:focus-visible{color:var(--blue);text-decoration:underline}
.fti{column-gap:.5rem}.ftl{column-gap:1.3rem}
