/* Cybersecurity art direction: physical infrastructure, light and network geometry. */
:root { --bg:#060c15; --panel:#0b1626; --accent:#79c9ff; --ink:#eff6ff; --line:rgba(117,173,227,.18); }
.brand-shield { width:37px; height:42px; object-fit:contain; margin-right:10px; }
.site-header { background:rgba(5,12,21,.38); border-bottom-color:#96caff24; }
.site-header.scrolled { background:rgba(5,12,21,.96); }
.header-cta { border-color:#488ac367; background:#122c434d; }
.header-cta:hover { color:#fff; background:#226cbe; }
.button-accent { background:#287ae8; box-shadow:0 0 28px #206acf22; }
.button-accent:hover { background:#438ff3; box-shadow:0 0 34px #328afc35; }
.hero { isolation:isolate; min-height:850px; height:100svh; max-height:1080px; padding:clamp(180px,23vh,250px) var(--gutter) 130px; background:#050b14; }
.hero-visual { position:absolute; inset:-24px -24px -30px; z-index:-2; overflow:hidden; }
.hero-image { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:65% 50%; transform:scale(1.045); will-change:transform; }
.hero-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#050b14b3 0,#050b1460 37%,transparent 69%),linear-gradient(0deg,#050b14 0,transparent 30%,transparent 88%,#050b1466); pointer-events:none; }
.hero-light-sweep { position:absolute; inset:12% 5% 14% 47%; opacity:.14; background:linear-gradient(105deg,transparent 35%,#83caff00 47%,#83caff38 50%,transparent 57%); background-size:240% 100%; animation:infrastructure-sweep 18s ease-in-out infinite alternate; mix-blend-mode:screen; }
.hero-grid { z-index:-1; opacity:.4; background:none; inset:94px var(--gutter) 0; }
.hero-content { width:65%; max-width:880px; }
.hero-content>.eyebrow { color:#a9d8fa; font-size:10px; letter-spacing:.15em; margin-bottom:29px; }
.hero h1 { font-size:clamp(78px,7.25vw,119px); line-height:1.015; letter-spacing:-.067em; font-weight:500; max-width:870px; margin-left:-5px; }
.hero-line-accent { color:#7bccff; }
.hero-lead { margin-top:28px; font-size:20px; color:#c1cddd; line-height:1.5; }
.hero-lead strong { color:#e5f2ff; }
.hero-description { color:#98adc4; font-size:13px; max-width:580px; margin-top:19px; line-height:1.9; }
.hero-actions { margin-top:31px; gap:29px; }
.hero-actions .text-link { background:#050b1426; }
.hero-topics { display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:#84a2c0; font:8px/1.8 var(--mono); letter-spacing:.08em; margin-top:40px; }
.hero-topics i { color:#306994; font-style:normal; }
.hero-footer { bottom:30px; border-color:#99cdfa2b; padding-top:23px; }
.hero-manifesto { color:#91acc7; }
.hero-blueprint { position:absolute; right:var(--gutter); bottom:20%; display:flex; gap:12px; align-items:center; color:#b9dfff; font:9px/1.9 var(--mono); letter-spacing:.11em; text-shadow:0 2px 15px #000; }
.hero-blueprint b { color:#7eaccd; font-weight:400; font-size:7px; }
.blueprint-cross { font:28px var(--mono); color:#8edbff; }
.hero-blueprint i { position:absolute; bottom:-14px; right:0; width:90px; height:1px; background:#5db9ec; }
.hero .scroll-icon { border-radius:0; width:28px; height:36px; border-color:#608ba75e; }
.intro { background:linear-gradient(180deg,#060c15,#080f1b); }
.intro-grid { padding-top:95px; padding-bottom:82px; }
.intro-copy { color:#9badc2; }
.discipline-strip { color:#a5bbd1; letter-spacing:.04em; font-family:var(--mono); font-size:10px; }
.discipline-strip .strip-star { color:#347fc1; }
.layers { background:radial-gradient(ellipse at 25% 48%,#10274760,transparent 65%),#060c15; }
.layers-sticky { padding-top:112px; }
.layers-heading { max-width:540px; font-size:clamp(33px,3.2vw,48px); margin-top:28px; }
.architecture-stage { position:absolute; top:max(29%,280px); left:var(--gutter); width:44.5%; height:min(48%,calc(100% - 400px)); border:1px solid #437ba42d; background:radial-gradient(ellipse at 50% 55%,#12466d35,transparent 75%); overflow:hidden; }
#webgl-root { position:absolute; inset:0; width:100%; height:100%; background:none; z-index:1; opacity:0; transition:opacity .8s; pointer-events:none; }
#webgl-root.ready { opacity:1; }
#webgl-root canvas { display:block; width:100%; height:100%; }
.architecture-fallback { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:80% 50%; opacity:.85; transition:opacity .5s; }
.scene-ready .architecture-fallback { opacity:0; }
.model-topline { position:absolute; top:16px; left:18px; right:18px; display:flex; justify-content:space-between; gap:15px; z-index:2; font:8px var(--mono); color:#6e9ebe; letter-spacing:.1em; }
.model-topline span:last-child { color:#3d6180; }
.model-caption { position:absolute; bottom:17px; left:18px; right:18px; color:#89c7e8; font:9px var(--mono); letter-spacing:.1em; z-index:2; }
.stage-corner { position:absolute; width:20px; height:20px; border-color:#82c7f3; z-index:2; }
.corner-tl { top:0; left:0; border-top:1px solid; border-left:1px solid; }
.corner-br { bottom:0; right:0; border-bottom:1px solid; border-right:1px solid; }
.layer-art-label { bottom:18%; gap:10px; color:#6f99b5; font-size:7px; }
.legend-node { width:6px; height:6px; background:#83dfff; margin-right:0; }
.legend-boundary { width:9px; height:9px; border:1px solid #549fc7; margin-left:10px; }
.legend-trace { height:1px; width:17px; background:#71c5f4; margin-left:10px; }
.layer-copy-area { top:35%; left:56.5%; }
.layer-copy .eyebrow { color:#7ccaf8; }
.layer-copy h3 { font-size:clamp(31px,3vw,45px); }
.layer-copy>p:not(.eyebrow) { color:#96aac1; font-size:13px; }
.layer-copy .muted { color:#7189a4; }
.layer-scroll-note { top:24%; color:#547997; }
.layer-controls button.active { color:#cae8ff; }
.layer-controls button.active i { box-shadow:0 0 13px #5abdf75c; }
.expertise-card { background:linear-gradient(145deg,#0d1928,#070f1a); border-color:#4380b12e; }
.expertise-card:hover { border-color:#5394c767; box-shadow:0 12px 35px #02060b; }
.device-visual,.signal-visual,.disk-visual { background-image:linear-gradient(#2c5b8310 1px,transparent 1px),linear-gradient(90deg,#2c5b8310 1px,transparent 1px); background-size:25px 25px; background-position:center; }
.visual-orbit { border-radius:0; transform:rotateX(60deg) rotateZ(-40deg); opacity:.5; }
.phone { border-color:#5684a6; }
.playbook-banner { background:linear-gradient(110deg,#0e2136,#070f1a); border-color:#3673a45c; }
.intelligence-section { background:#080f1b; }
.news-card { border-color:#36679470; }
.closing { background:radial-gradient(ellipse at 50% 120%,#163c625c,transparent 70%),#060c15; }
.page-hero { background:radial-gradient(ellipse at 95% 15%,#1233556b,transparent 48%); }
.page-hero::after { border-radius:0; width:350px; height:350px; top:125px; right:-70px; transform:perspective(600px) rotateY(-25deg) rotateZ(34deg); box-shadow:0 0 0 36px #58b5f507,0 0 0 72px #58b5f506; background:linear-gradient(#58b5f50a 1px,transparent 1px),linear-gradient(90deg,#58b5f50a 1px,transparent 1px); background-size:25px 25px; border-color:#58b5f52e; }
.catalog-card { background:linear-gradient(145deg,#0d1928,#080f1b); }
.catalog-card:hover { border-color:#4d94cb; }
.at-glance { background:#0c1726; }
@keyframes infrastructure-sweep { from {background-position:100% 0;opacity:.07} to {background-position:0 0;opacity:.19} }
@media(min-width:1700px) { .hero-content { max-width:970px; }.hero h1 { font-size:124px; }.hero-description { font-size:15px; }.hero-blueprint { bottom:22%; } }
@media(max-width:1100px) and (min-width:801px) {
  .hero { min-height:810px; padding-top:190px; }.hero-content { width:72%; }.hero h1 { font-size:8vw; }.hero-description { max-width:440px; font-size:12px; }.hero-visual::after { background:linear-gradient(90deg,#050b14c9,#050b1466 45%,transparent 80%),linear-gradient(0deg,#050b14,transparent 35%); }.hero-blueprint { font-size:7px; }.hero-blueprint b { font-size:6px; }.hero-topics { font-size:7px; }.layer-copy-area { left:55.5%; }.architecture-stage { width:44%; }.layer-copy h3 { font-size:32px; }
}
@media(max-width:800px) {
  .hero { height:1100px; min-height:0; max-height:none; padding-top:135px; }
  .hero-content { width:100%; max-width:640px; }.hero h1 { font-size:clamp(62px,9.6vw,87px); max-width:650px; }.hero-content>.eyebrow { font-size:9px; margin-bottom:27px; }.hero-lead { font-size:18px; margin-top:24px; }.hero-description { font-size:12px; margin-top:15px; max-width:500px; }.hero-topics { margin-top:23px; }
  .hero-visual { inset:385px -10px 75px; }.hero-image { object-position:76% 58%; }.hero-visual::after { background:linear-gradient(180deg,#050b14 0,#050b1455 13%,transparent 38%,transparent 62%,#050b14 100%); }.hero-light-sweep { inset:0; }
  .hero-blueprint { bottom:16%; right:var(--gutter); font-size:8px; }.hero-blueprint b { font-size:6px; }.hero-footer { bottom:25px; }.hero-grid { inset:78px var(--gutter) 0; }.hero-actions { margin-top:26px; }.hero-manifesto { display:none; }
  .intro-grid { padding-top:62px; padding-bottom:55px; }.discipline-strip { font-size:9px; justify-content:space-between; }.discipline-strip .strip-star { display:none; }
  .layers-sticky { min-height:820px; padding-top:103px; }.layers-heading { font-size:33px; margin-top:25px; }.architecture-stage { top:25%; left:var(--gutter); right:var(--gutter); width:auto; height:27%; }.layer-copy-area { top:57%; left:var(--gutter); right:var(--gutter); }.layer-copy h3 { font-size:31px; }.layer-copy>p:not(.eyebrow) { font-size:12px; }.layer-art-label { display:none; }.layer-scroll-note { display:none; }.model-topline { font-size:7px; top:11px; left:12px; right:12px; }.model-caption { font-size:7px; bottom:11px; left:12px; }.layer-controls { bottom:24px; }
}
@media(max-width:480px) {
  :root { --gutter:24px; }.brand-shield { width:30px; height:36px; margin-right:9px; }.wordmark { font-size:24px; }
  .hero { height:1130px; padding-top:133px; }.hero h1 { font-size:clamp(54px,15vw,68px); max-width:400px; line-height:1.04; margin-left:-3px; }.hero-line-accent { display:inline; }.hero-content>.eyebrow { max-width:290px; font-size:8px; letter-spacing:.09em; line-height:1.8; gap:9px; margin-bottom:24px; }.hero-lead { font-size:17px; margin-top:21px; }.hero-description { font-size:12px; line-height:1.85; max-width:335px; }.hero-actions { gap:20px; margin-top:25px; }.hero-actions .button { padding:14px 15px; font-size:10px; gap:20px; }.hero-actions .text-link { font-size:10px; max-width:123px; gap:12px; }.hero-topics { gap:6px; font-size:6px; margin-top:27px; }.hero-visual { top:485px; bottom:95px; left:-20px; right:-20px; }.hero-image { object-position:76% 50%; }.hero-blueprint { bottom:16%; max-width:220px; font-size:7px; }.hero-blueprint b { font-size:6px; }.hero-footer { bottom:25px; }.hero .scroll-cue { font-size:9px; }
  .intro-grid h2 { font-size:33px; }.discipline-strip { flex-direction:column; align-items:flex-start; gap:13px; padding:24px 0; }.discipline-strip>span:not(.strip-star) { width:auto; }
  .layers-sticky { min-height:840px; }.layers-heading { font-size:30px; }.architecture-stage { top:25%; height:26%; }.layer-copy-area { top:56%; }.layer-copy h3 { font-size:29px; }.layer-copy>p:not(.eyebrow) { font-size:11px; line-height:1.85; }.layer-copy .tag-row { margin:15px 0 10px; }.layer-copy .text-link { font-size:10px; }.layer-controls button { font-size:10px; }.layer-controls button>span { margin-right:7px; }
}
@media(max-width:360px) {
  .hero h1 { font-size:52px; }.hero-topics { font-size:5.5px; gap:5px; }.hero-actions { gap:13px; }.hero-actions .button { gap:12px; padding:12px; }.hero-actions .text-link { font-size:9px; max-width:106px; }.hero-content>.eyebrow { font-size:7px; }.hero-description { font-size:11px; }.layer-copy h3 { font-size:26px; }.layers-heading { font-size:28px; }.hero { height:1120px; }
}
/* Keep the complete chapter and its controls in view on compact phones. */
@media(max-width:800px) {
  .layers-sticky { min-height:0; }
}
@media(max-width:480px) {
  .architecture-stage { top:27%; }
}
@media(max-width:800px) and (max-height:800px) {
  .layers-sticky { padding-top:90px; }
  .layers-heading { font-size:26px; margin-top:20px; }
  .architecture-stage { top:201px; height:22svh; }
  .layer-copy-area { top:calc(224px + 22svh); min-height:0; }
  .layer-copy h3 { font-size:26px; }
  .layer-copy .eyebrow { margin-bottom:10px; }
  .layer-copy>p:not(.eyebrow) { font-size:11px; line-height:1.8; margin-top:13px; }
  .layer-copy .tag-row { margin:10px 0 6px; }
  .layer-copy .text-link { padding:6px 0; min-height:44px; }
  .layer-copy .text-link span { font-size:17px; }
  .layer-controls { bottom:20px; }
}
/* Landscape and enlarged browser zoom use an ordinary readable document. */
@media(max-height:700px) {
  .layers { height:auto; }
  .layers-sticky { position:relative; height:auto; min-height:0; padding:100px var(--gutter) 50px; overflow:visible; }
  .layers-heading { font-size:32px; }
  .architecture-stage { position:relative; top:auto; left:0; right:auto; width:100%; max-width:640px; height:320px; margin:36px 0; }
  .layer-copy-area { position:static; min-height:0; max-width:650px; }
  .layer-copy { position:relative; opacity:1; visibility:visible; transform:none; margin:50px 0; }
  .layer-copy h3 { font-size:30px; }
  .layer-copy>p:not(.eyebrow) { font-size:13px; }
  .layer-copy .tag-row { margin:20px 0 12px; }
  .layer-copy .eyebrow { margin-bottom:15px; }
  .layer-controls,.layer-art-label,.layer-scroll-note { display:none; }
}
@media(prefers-reduced-motion:reduce) { .hero-image { will-change:auto; }.hero-light-sweep { animation:none; } }
@media print { .hero-visual,.hero-blueprint,.architecture-stage,.layer-art-label {display:none}.hero {height:auto;min-height:0;padding:50px 0}.hero h1,.hero-line-accent {color:#172e45}.hero-topics {color:#384d64} }

/* Forensics edition: prominent journalism, photographic evidence, open 3D space. */
.nav-news { color:#9dd9ff!important; }
.hero-light-sweep { animation-duration:10s; opacity:.22; }
.hero-topics { font-size:7px; }
.intelligence-section { padding-top:36px; padding-bottom:65px; background:#0a1422; border-top:1px solid #609ac02e; }
.intelligence-section .section-heading { margin:34px 0 30px; align-items:end; }
.intelligence-section .section-heading .eyebrow { color:#7ca9cb; font-size:8px; margin-bottom:13px; }
.intelligence-section .section-heading h2 { font-size:46px; }
.news-grid { grid-template-columns:1.2fr 1fr 1fr; gap:24px; }
.news-card { padding:0 0 22px; border:1px solid #43739635; background:#0a1727; overflow:hidden; }
.news-card:hover { border-color:#69b8ed; }
.news-card>h3,.news-card>p,.news-card>.eyebrow,.news-card>.news-link { margin-left:23px; margin-right:23px; }
.news-card>.eyebrow { margin-top:24px; font-size:8px; }
.news-card>h3 { font-size:24px; max-width:none; margin-top:17px; margin-bottom:13px; }
.news-card>p { margin-bottom:14px; color:#96adc3; font-size:12px; }
.news-card>.news-link { padding-top:18px; }
.news-cover { width:100%; height:185px; display:block; object-fit:cover; background:#09111d; border-bottom:1px solid #37648a50; transition:transform .8s; }
.news-card:hover .news-cover { transform:scale(1.025); }
.news-illustration { height:185px; border-bottom:1px solid #37648a50; display:flex; align-items:end; padding:23px; color:#97ceef; font:9px var(--mono); letter-spacing:.17em; position:relative; overflow:hidden; background:linear-gradient(140deg,#112d4d,#060d17); }
.news-illustration::before { content:''; position:absolute; width:75%; height:190%; right:-15%; top:-45%; transform:rotate(35deg); background:repeating-linear-gradient(90deg,transparent 0 23px,#69b9fb18 24px 25px),repeating-linear-gradient(0deg,transparent 0 23px,#69b9fb18 24px 25px); border:1px solid #66b0e759; box-shadow:0 0 80px #258bca19; }
.forensic-feature { position:relative; overflow:hidden; min-height:850px; padding:30px var(--gutter) 0; background:#050b14; isolation:isolate; }
.forensic-art { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.forensic-art img { width:100%; height:100%; object-fit:cover; object-position:62% 50%; max-width:none; transform:scale(1.04); will-change:transform; }
.forensic-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#040b14e6, #050c1477 34%,transparent 63%),linear-gradient(0deg,#050b14,transparent 33%,transparent 80%,#050b14); }
.forensic-feature .section-label { border:0; position:relative; }
.forensic-feature-copy { max-width:475px; padding-top:90px; position:relative; z-index:1; }
.forensic-feature-copy>.eyebrow { color:#93d9fa; font-size:9px; margin-bottom:25px; }
.forensic-feature-copy h2 { font-size:clamp(60px,5.5vw,85px); line-height:1.03; letter-spacing:-.06em; }
.forensic-feature-copy h2 span { color:#7cc7f7; }
.forensic-feature-copy>p:not(.eyebrow) { color:#b1c3d5; max-width:370px; line-height:1.8; font-size:13px; margin-top:24px; }
.forensic-feature-copy>p+p:not(.eyebrow) { color:#8ea5bc; font-size:12px; margin-top:15px; }
.forensic-feature-copy .button { margin-top:26px; font-size:11px; }
.evidence-scan { position:absolute; width:45%; left:45%; top:17%; height:63%; background:linear-gradient(180deg,transparent 40%,#82d4ff1a 49%,#adf0ff39 50%,transparent 58%); transform:rotate(-13deg); mix-blend-mode:screen; animation:evidence-scan 9s ease-in-out infinite alternate; }
.evidence-caption { position:absolute; right:var(--gutter); bottom:20%; display:grid; gap:8px; font:8px var(--mono); color:#a4cdec; letter-spacing:.11em; }
.evidence-caption span:last-child { color:#718da6; font-size:7px; }
.forensic-principles { position:absolute; bottom:28px; left:var(--gutter); right:var(--gutter); border-top:1px solid #8fbbda35; padding-top:26px; display:flex; justify-content:space-between; gap:20px; font-size:11px; color:#a9bfd4; }
.forensic-principles b { font:9px var(--mono); margin-right:14px; color:#629fc9; }
@keyframes evidence-scan { from{translate:0 -25px;opacity:.35} to{translate:0 28px;opacity:.85} }
.layers { background:radial-gradient(ellipse at 36% 57%,#12345175,transparent 68%),#050c16; }
.layers-heading { max-width:610px; }
.architecture-stage { top:27%; left:-4%; width:68%; height:58%; border:0; background:none; overflow:visible; }
#webgl-root { overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 92%,transparent); }
.architecture-fallback { object-fit:contain; border:0; mask-image:radial-gradient(ellipse,#000 40%,transparent 74%); }
.model-topline { left:14%; right:10%; top:14px; color:#74a6c5; }
.model-topline span:last-child { color:#587f9b; font-size:7px; }
.model-caption { left:14%; bottom:15px; font-size:8px; }
.layer-copy-area { left:64%; top:37%; }
.layer-copy h3 { font-size:clamp(29px,2.6vw,39px); }
.layer-copy>p:not(.eyebrow) { font-size:12px; }
.layer-copy .eyebrow { font-size:9px; }
.layer-copy .tag-row { margin-top:20px; }
.layer-art-label { bottom:12%; font-size:6px; gap:9px; }
.legend-incident { width:5px; height:5px; background:#e9a070; margin-left:10px; }
.layer-scroll-note { top:25%; }
.layer-controls { bottom:35px; }
.forensics-page .page-hero { padding-bottom:60px; }
.forensics-intro { display:grid; grid-template-columns:1fr 1.1fr; gap:65px; padding:0 var(--gutter) 90px; align-items:center; }
.forensics-intro p { color:#a2b5cc; font-size:15px; line-height:1.9; margin:20px 0; }
.forensics-intro img { width:100%; min-height:330px; object-fit:cover; border:1px solid #517fa132; }
.forensics-methods { padding:60px var(--gutter) 90px; background:#0a1524; border-top:1px solid var(--line); }
.forensics-methods h2 { font-size:42px; margin:35px 0; }
.method-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.method-card { padding:32px; border:1px solid #5489ad38; background:linear-gradient(135deg,#12263b,#091522); }
.method-card .eyebrow { color:#7bc6f2; }
.method-card h3 { font-size:25px; margin:18px 0; }
.method-card p { font-size:13px; line-height:1.9; color:#a0b6cd; }
.method-card .text-link { margin-top:20px; font-size:11px; }
.forensic-resources { padding:80px var(--gutter); }
.forensic-resources h2 { font-size:38px; margin-bottom:25px; }
.forensic-resources>p { font-size:14px; color:#9eb1c7; max-width:760px; line-height:1.9; }
.forensic-resources .resource-links { display:flex; gap:30px; flex-wrap:wrap; margin-top:30px; }
@media(max-width:1100px) and (min-width:801px){
  .layer-copy-area { left:61%; }.architecture-stage { width:69%; }.layer-copy h3 { font-size:28px; }.layer-copy>p:not(.eyebrow){font-size:11px}.layer-copy .eyebrow{font-size:8px}.news-card>h3{font-size:20px}.news-card>.eyebrow{font-size:7px}.forensic-feature-copy{max-width:400px}.forensic-feature-copy>p:not(.eyebrow){max-width:320px}.forensics-intro{gap:35px}
}
@media(max-width:800px){
  .hero-topics { font-size:6px; }.hero h1{font-size:clamp(68px,10.5vw,90px)}
  .news-grid { grid-template-columns:1fr; gap:20px; }.news-card { display:grid; grid-template-columns:35% 65%; padding:0 0 20px; }.news-cover,.news-illustration{grid-column:1;grid-row:1/5;height:100%;min-height:230px;border-bottom:0;border-right:1px solid #46739938}.news-card>.eyebrow{margin-top:22px}.news-card>h3{font-size:24px}.news-card>p{font-size:12px}.news-card>.news-link{padding-top:8px}.news-card>.eyebrow,.news-card>h3,.news-card>p,.news-card>.news-link{grid-column:2}
  .forensic-feature { min-height:1100px; }.forensic-feature-copy { padding-top:65px;max-width:600px; }.forensic-feature-copy h2 { font-size:64px; }.forensic-feature-copy h2 br:nth-child(2){display:none}.forensic-feature-copy>p:not(.eyebrow){max-width:430px}.forensic-art{top:375px;bottom:80px}.forensic-art img{object-position:73% 50%}.forensic-art::after{background:linear-gradient(180deg,#050b14,transparent 28%,transparent 70%,#050b14)}.forensic-principles{flex-wrap:wrap;row-gap:16px}.forensic-principles>span{width:45%}.evidence-caption{bottom:17%;right:var(--gutter)}
  .architecture-stage { left:0;right:0;width:100%;top:25%;height:29%; }.layer-copy-area{left:var(--gutter);right:var(--gutter);top:59%}.layer-copy h3{font-size:31px}.model-topline{left:var(--gutter);right:var(--gutter);font-size:6px;top:0}.model-topline span:last-child{font-size:6px}.model-caption{left:var(--gutter);bottom:0;font-size:7px}.layer-controls{bottom:24px}.layer-art-label{display:none}
  .forensics-intro { grid-template-columns:1fr;gap:25px;padding-bottom:50px; }.forensics-intro img{max-height:460px}.method-grid{grid-template-columns:1fr}.forensics-methods{padding-top:40px;padding-bottom:50px}.forensic-resources{padding-top:50px;padding-bottom:50px}
}
@media(max-width:480px){
  .hero h1{font-size:clamp(60px,16.9vw,72px)}.hero-topics {gap:5px;font-size:5px}.hero-actions .button{font-size:9px;gap:17px}.hero-actions .text-link{font-size:10px;max-width:95px}
  .intelligence-section { padding-top:24px;padding-bottom:45px; }.intelligence-section .section-heading h2{font-size:36px}.intelligence-section .section-heading{margin-top:28px;gap:15px;align-items:start}.news-card{display:block;padding-bottom:22px}.news-cover,.news-illustration{height:190px;min-height:0;border-right:0;border-bottom:1px solid #46739938}.news-card>h3{font-size:24px}.news-card>.news-link{margin-top:22px}
  .forensic-feature{min-height:1080px;padding-top:25px}.forensic-feature-copy{padding-top:53px}.forensic-feature-copy h2{font-size:58px}.forensic-feature-copy>p:not(.eyebrow){font-size:12px;max-width:320px}.forensic-feature-copy>p+p:not(.eyebrow){font-size:11px}.forensic-art{top:375px;bottom:115px}.forensic-art img{object-position:72% 50%}.evidence-caption{bottom:20%;font-size:7px}.evidence-caption span:last-child{font-size:6px}.forensic-principles{font-size:9px;gap:12px 15px;padding-top:22px}.forensic-principles b{font-size:8px;margin-right:8px}
  .layers-heading{font-size:29px}.architecture-stage{top:27%;height:27%}.layer-copy-area{top:57%;}.layer-copy h3{font-size:27px}.layer-copy>p:not(.eyebrow){font-size:11px}.layer-copy .tag-row{margin:15px 0 10px}.layer-copy .eyebrow{font-size:8px}.layer-controls button{font-size:10px}.layer-controls button>span{margin-right:6px}
  .method-card{padding:25px}.method-card h3{font-size:24px}.forensics-methods h2{font-size:32px}.forensic-resources h2{font-size:30px}.forensics-intro p{font-size:13px}.forensics-intro img{min-height:240px}
}
@media(max-width:360px){.hero h1{font-size:59px}.hero-topics{font-size:4.4px}.hero-actions{gap:12px}.hero-actions .button{padding:12px;gap:10px;font-size:8px}.hero-actions .text-link{font-size:9px}.layer-copy h3{font-size:25px}.layers-heading{font-size:26px}.forensic-feature-copy h2{font-size:53px}.forensic-feature-copy>p+p:not(.eyebrow){max-width:250px}}
@media(min-width:801px) and (max-height:850px){.layers-heading{font-size:36px}.architecture-stage{top:29%;height:53%}.layer-copy-area{top:34%}.layer-copy h3{font-size:30px}.layer-copy>p:not(.eyebrow){margin-top:18px}.layer-copy .tag-row{margin:17px 0 12px}.layer-art-label{bottom:12%}.layer-controls{bottom:24px}}
@media(max-width:800px) and (min-height:701px) and (max-height:800px){.layers-heading{font-size:26px}.architecture-stage{top:202px;height:22svh}.layer-copy-area{top:calc(224px + 22svh)}.layer-copy h3{font-size:25px}.layer-copy .tag-row{margin:10px 0 6px}.layer-controls{bottom:20px}.layer-copy>p:not(.eyebrow){margin-top:13px}.layer-copy .eyebrow{margin-bottom:10px}}
@media(max-height:700px){.architecture-stage{position:relative;top:auto;left:0;right:auto;width:100%;max-width:900px;height:360px;margin:35px 0}.layer-copy-area{position:static;max-width:650px}.layer-copy h3{font-size:30px}.layer-copy>p:not(.eyebrow){font-size:13px}.layer-controls,.layer-art-label{display:none}}
@media(prefers-reduced-motion:reduce){.forensic-art img{will-change:auto}.evidence-scan{animation:none}}
@media print{.forensic-art,.evidence-caption{display:none}.forensic-feature{min-height:0;padding:35px 0}.forensic-feature-copy{padding:0;max-width:none}.forensic-principles{position:static}.news-cover{max-height:140px}.forensic-feature-copy h2{color:#142e42}}
@media(max-width:800px){.forensic-feature-copy h2 br:nth-child(2){display:initial}}
@media(min-width:801px) and (max-height:850px){.architecture-stage{top:max(31%,250px)}}
@media(max-width:1100px) and (min-width:801px){.architecture-stage{width:65%}}
@media(max-height:700px){.architecture-stage{top:auto}}
