:root,:root[data-theme=dark]{--landscape:url('background-dark.webp');--section-tint:#141a16;--hero-veil:rgba(16,19,18,.17)}
:root[data-theme=light]{--landscape:url('background-light.webp');--section-tint:#eef1e8;--hero-veil:rgba(245,245,239,.12)}
body{background-image:radial-gradient(ellipse at 0 45%,var(--scene-glass),transparent 55%)}
.hero-shell{position:relative;isolation:isolate;background-color:var(--bg);background-image:linear-gradient(90deg,var(--hero-veil),transparent 80%),var(--landscape);background-size:cover;background-position:center 55%;border-bottom:1px solid var(--border)}
.hero-shell::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,var(--bg),transparent 22%)}
.home-hero{padding-top:48px;padding-bottom:68px;overflow:visible}
.hero-meta{justify-content:flex-start}
.hero-layout{display:block;padding:38px 0 0;min-height:375px}
.hero-copy{max-width:720px}
.hero-copy h1{font-size:clamp(54px,6.3vw,86px);line-height:1.08;letter-spacing:-4.5px;font-weight:500;max-width:12ch;text-wrap:balance}
.hero-description{max-width:490px;font-size:17px;line-height:1.85;margin-top:25px}
.hero-copy .button-row{margin-top:30px}
.hero-copy .button:not(.primary){background:color-mix(in srgb,var(--bg) 85%,transparent)}
.overview-stats{border-top:0;border-bottom:1px solid var(--border);grid-template-columns:1.2fr repeat(3,1fr)}
.overview-stats>div{padding-top:25px;padding-bottom:25px}
.overview-stats b{font-size:27px}
.section{padding-block:84px}
.section-heading{margin-bottom:30px}
.section-heading h2{font-size:clamp(30px,3.5vw,40px);letter-spacing:-1.2px}
.section-heading .overline{margin-bottom:12px}
.home-work .work-card{background:var(--panel);box-shadow:none}
.work-card p{font-size:15px;line-height:1.8}
.home-work .work-card h3{font-size:22px;min-height:2.6em}
.work-category{font-size:10px}
.work-content{padding:25px}
.work-visual img{opacity:1}
.work-footer{font-size:12px}
.home-work .work-tags span{font-size:10px}
.intel-section{padding-top:0;padding-bottom:84px}
.intel-feature{padding:36px 40px;grid-template-columns:1.5fr .65fr;gap:50px;background:var(--section-tint);border-radius:10px}
.intel-feature h2{font-size:34px;line-height:1.25;letter-spacing:-1px}
.intel-feature p{font-size:16px}
.report-art .report-number{font-size:90px}
.report-bars{height:30px;margin-block:14px}
.about-section{background:var(--section-tint);border-bottom:0}
.about-layout{gap:80px}
.about-layout h2{font-size:37px;line-height:1.25}
.about-layout p{font-size:16px}
.timeline-entry{padding-bottom:20px}
.timeline-entry p{font-size:14px}
.practice-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:50px;margin-top:50px;border-top:1px solid var(--border)}
.practice-diagram{min-width:0}
.sculpture-panel{display:grid;place-items:center;min-width:0;background:radial-gradient(ellipse at center,var(--scene-glass),transparent 70%)}
.sculpture-panel figure{margin:0;width:min(100%,440px)}
.sculpture-panel img{display:block;width:100%;height:auto;object-fit:contain}
.supplied-diagram{background:none}
.supplied-diagram figure{width:100%;max-width:560px;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:#f6f7f1}
.supplied-diagram img{aspect-ratio:1;object-fit:contain}
.practice-layout h3{font-size:24px;line-height:1.3;font-weight:500;letter-spacing:-.6px;margin:0 0 12px}
.practice-layout>div>p{font-size:15px;color:var(--muted);margin-bottom:24px}
.practice-diagram .scene-map{max-width:470px;margin:0 auto;aspect-ratio:1.13}
.practice-diagram .scene-stage{inset:0 0 4%}
.practice-diagram .node-ingest{top:9%}
.practice-diagram .node-detect{right:0;top:35%}
.practice-diagram .node-respond{bottom:16%}
.skill-detail{border-bottom:1px solid var(--border)}
.skill-detail:first-of-type{border-top:1px solid var(--border)}
.skill-detail summary{list-style:none;position:relative;padding:19px 32px 19px 0;color:var(--fg);font-size:16px;font-weight:500;cursor:pointer;min-height:56px}
.skill-detail summary::-webkit-details-marker{display:none}
.skill-detail summary::after{content:'+';position:absolute;right:3px;top:16px;font-size:21px;font-weight:400;color:var(--accent)}
.skill-detail[open] summary::after{content:'−'}
.skill-detail p{font-size:15px;color:var(--muted);line-height:1.85;margin:0;padding:0 28px 20px 0}
.skill-detail summary:hover{color:var(--accent)}
.contact-section{padding:80px 0;border-top:1px solid var(--border)}
.contact-layout{align-items:center;gap:75px}
.contact-section h2{font-size:clamp(44px,5vw,66px);letter-spacing:-2.7px}
.contact-section p{font-size:16px}
.contact-links.branded-contacts{padding-top:0;gap:12px}
.branded-contacts .social-block{min-height:94px;box-shadow:0 5px 15px #00000010;padding:20px 23px}
.branded-contacts .social-copy strong{font-size:17px}
.site-footer{padding-block:30px}
.page-hero{position:relative;isolation:isolate;padding:64px 0 48px}
.page-hero::before{content:'';position:absolute;inset:0 -40px;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--bg) 25%,transparent),var(--landscape);background-size:cover;background-position:right center;opacity:.35;mask-image:linear-gradient(#000 60%,transparent)}
.page-hero h1{font-size:clamp(44px,6vw,72px)}
.reading-page .article-head{padding-top:55px}
.reading-page .article-body{max-width:820px}
.reading-page .meta-row span{color:var(--fg);background:var(--panel-2);border:1px solid var(--border);border-radius:4px;font-size:12px;line-height:1.6;padding:6px 10px;overflow-wrap:anywhere;max-width:100%}
.reading-page .meta-row .badge{color:var(--accent);background:var(--panel)}
.reading-page .meta-row .m{color:var(--muted);background:transparent;border:0}
.reading-page .sev{display:inline-block;border:1px solid currentColor;border-radius:4px;padding:3px 8px;font-size:12px;line-height:1.5}
.reading-page .sev.crit,.reading-page .sev.high{color:var(--red);background:var(--red-soft)}
.reading-page .sev.med{color:#f2cd79;background:#342b18}
:root[data-theme=light] .reading-page .sev.med{color:#70500b;background:#fff0c9}
.reading-page .sev.low{color:var(--green);background:var(--green-soft)}
.reading-page .sev.info{color:var(--blue);background:var(--blue-soft)}
@media(min-width:1600px){.hero-shell{background-position:center 58%}.home-hero{padding-top:62px;padding-bottom:88px}.hero-layout{min-height:430px}.hero-copy{max-width:760px}}
@media(max-width:1100px){.hero-copy{max-width:600px}.hero-copy h1{font-size:70px;letter-spacing:-3.8px}.hero-description{font-size:16px;max-width:450px}.hero-shell{background-position:57% center}.practice-layout,.about-layout{gap:45px}.contact-layout{gap:40px}.intel-feature{gap:30px}.home-work .work-card h3{font-size:20px}}
@media(min-width:681px) and (max-width:850px){.practice-layout{gap:30px}.practice-diagram .scene-map{aspect-ratio:.95}.practice-diagram .scene-stage{inset:12% 0 0}.practice-diagram .node-ingest{top:19%}.practice-diagram .node-detect{top:43%}.practice-diagram .node-respond{bottom:17%}.home-work .work-card:last-child h3{min-height:0}.hero-description{max-width:400px}.hero-shell{background-image:linear-gradient(90deg,var(--bg),transparent 95%),var(--landscape)}}
@media(max-width:680px){
 :root,:root[data-theme=dark]{--landscape:url('background-dark-mobile.webp')}
 :root[data-theme=light]{--landscape:url('background-light-mobile.webp')}
 .hero-shell{background-position:67% center;background-image:linear-gradient(90deg,color-mix(in srgb,var(--bg) 90%,transparent),color-mix(in srgb,var(--bg) 45%,transparent)),var(--landscape)}
 .home-hero{padding-top:32px;padding-bottom:48px}
 .hero-layout{padding-top:32px;min-height:0}
 .hero-copy{max-width:100%}
 .hero-copy h1{font-size:clamp(44px,10.9vw,66px);letter-spacing:-2.4px;line-height:1.1;max-width:12ch}
 .hero-description{max-width:100%;font-size:16px;line-height:1.85;margin-top:23px}
 .hero-copy .button-row{gap:10px;margin-top:25px}
 .hero-copy .button{font-size:12px;padding-inline:15px;gap:15px}
 .overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .overview-stats>div{padding:20px 10px}
 .overview-stats b{font-size:25px}
 .section{padding-block:54px}
 .section-heading{margin-bottom:24px}
 .section-heading h2{font-size:29px;letter-spacing:-.9px}
 .section-heading .text-link{white-space:normal;text-align:right;padding-top:20px;line-height:1.6}
 .home-work .work-card h3{font-size:23px;min-height:0}
 .work-content{padding:23px}
 .home-work .work-card p{font-size:15px}
 .intel-section{padding-bottom:54px}
 .intel-feature{padding:26px;grid-template-columns:1fr;gap:24px}
 .intel-feature h2{font-size:29px}
 .intel-feature p{font-size:15px}
 .report-art .report-number{font-size:68px}
 .about-layout{gap:35px}
 .about-layout h2{font-size:33px}
 .about-layout p{font-size:16px}
 .practice-layout{grid-template-columns:1fr;gap:32px;padding-top:35px;margin-top:35px}
 .practice-layout h3{font-size:23px}
 .practice-diagram .scene-map{width:100%;max-width:390px;margin:0 auto;aspect-ratio:1.1}
 .practice-diagram .scene-stage{inset:0 0 3%}
 .practice-diagram .node-ingest{top:13%}
 .practice-diagram .node-detect{top:38%}
 .practice-diagram .node-respond{bottom:14%}
 .contact-section{padding-block:54px}
 .contact-layout{gap:30px}
 .contact-section h2{font-size:48px;letter-spacing:-2px}
 .contact-links.branded-contacts{padding-top:0}
 .page-hero{padding-top:42px}
 .page-hero::before{inset:0}
 .reading-page .article-head{padding-top:36px}
}
@media(prefers-contrast:more){.hero-shell{background-image:none}.page-hero::before{display:none}}
@media print{body,.hero-shell,.about-section{background:white}.hero-shell::after,.page-hero::before{display:none}.skill-detail:not([open])>p{display:block!important}.practice-diagram{display:none}.practice-layout{display:block}.hero-layout{min-height:0}}
