@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#141414;--surface:#202120;--line:#41433e;--text:#f2f1e8;--muted:#b9bdb2;--accent:#d4ff65}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 Manrope,Arial,sans-serif}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
a:focus-visible,video:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
header{padding:25px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}
.brand{font-weight:800;letter-spacing:.08em;line-height:1.25}
.brand span{display:block;font-size:12px;color:var(--muted);letter-spacing:.16em;margin-top:7px}
nav{display:flex;gap:36px;font-size:14px}
nav a[aria-current]{color:var(--accent);border-bottom:1px solid var(--accent)}
main{max-width:1600px;margin:auto}
section{padding:70px 6%}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.15em;color:var(--accent)}
h1,h2,h3,p{margin:0 0 22px}
h1,h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;text-transform:uppercase;line-height:.99;font-weight:600;letter-spacing:-.025em}
h1{font-size:clamp(64px,8vw,130px);margin-top:24px}
h1 em{font-style:normal;color:var(--accent)}
h2{font-size:clamp(42px,4.5vw,72px)}
h3{line-height:1.2;font-size:25px;letter-spacing:-.03em}
p{color:var(--muted)}
strong{color:var(--text)}
.hero{padding-top:55px;padding-bottom:0}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:28px 0 40px}
.hero-bottom p{max-width:650px;margin:0;font-size:18px}
.button{border:1px solid var(--accent);padding:12px 22px;display:inline-block;white-space:normal;font-size:14px;color:var(--accent);font-weight:700}
.button:hover{background:var(--accent);color:var(--bg)}
figure{margin:0 0 26px}
video,img,iframe{max-width:100%}
video{display:block;width:100%;aspect-ratio:16/8.3;object-fit:cover;background:#090909}
.reel video{aspect-ratio:16/9}
.reel figcaption{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.1em;color:var(--muted)}
.latest{display:grid;grid-template-columns:.75fr 1.25fr;gap:6%;align-items:center;background:#1b1d18;margin-top:60px}
.latest h2{margin-top:22px}
.latest p{font-size:15px}
.film iframe{width:100%;aspect-ratio:16/9;border:0;background:#080808;display:block}
.film figcaption{font-size:14px;line-height:1.6;color:var(--muted);padding-top:12px}
.film figcaption a{color:var(--accent)}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}
.section-head h2 span{font:13px Manrope,sans-serif;letter-spacing:.05em;color:var(--accent);vertical-align:top;display:inline-block;margin:9px 0 0 20px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 30px}
.card-media{aspect-ratio:16/10;background:#252923;overflow:hidden}
.card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.card:hover img{transform:scale(1.025)}
.card-info{padding:20px 0;border-bottom:1px solid var(--line)}
.card-info>span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.card h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:40px;text-transform:uppercase;margin:8px 0}
.card h3 b{float:right;font:28px Manrope}
.card p{margin:0;font-size:14px}
.sod-type{height:100%;display:flex;flex-direction:column;justify-content:center;padding:7%;font:600 clamp(40px,4vw,65px)/.92 'Barlow Condensed',Impact,sans-serif;letter-spacing:.02em;color:var(--text);background:#252b21}
.sod-type b{font-size:1.35em;color:var(--accent)}
.sod-type small{font:12px Manrope;margin-top:18px;letter-spacing:.14em}
.page-intro{padding-bottom:25px}
.page-intro p{max-width:650px;font-size:18px}
.project-head{padding-bottom:35px}
.project-head h1{font-size:clamp(55px,7vw,110px);overflow-wrap:anywhere}
.project-head>a{font-size:14px;color:var(--muted)}
.meta{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px;border-top:1px solid var(--line);padding-top:25px;margin-top:40px}
.meta.meta--team{grid-template-columns:2fr 1fr 1fr 1fr}
.meta p{font-size:15px}
.meta span{display:block;font-size:12px;letter-spacing:.15em;color:var(--accent);margin-bottom:8px}
.project-content{padding-top:0;display:grid;grid-template-columns:.85fr 1.15fr;gap:6%;align-items:start}
.prose h3{font-size:22px;margin-top:35px}
.prose p{margin-top:18px}
.project-media img{width:100%;display:block}
.project-media{position:relative}
.career{padding:0 6%}
.links{display:flex;gap:22px;flex-wrap:wrap}
.about-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:10%}
.about-grid p{margin-top:20px}
.about-grid aside{border-left:1px solid var(--line);padding-left:35px}
.about-grid aside h3{margin-top:30px}
.skills{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;margin-top:45px}
.skills h3{color:var(--accent)}
.contact{min-height:70vh}
.email{display:inline-block;font-size:clamp(16px,2.5vw,35px);border-bottom:1px solid var(--accent);margin:15px 0 40px;overflow-wrap:anywhere;max-width:100%}
.contact .links{margin-bottom:40px;color:var(--accent)}
footer{border-top:1px solid var(--line);margin-top:50px;padding:45px 6%;display:flex;justify-content:space-between;gap:30px;font-size:14px}
footer strong,footer div a{display:block}
footer strong{font-size:20px;margin-bottom:10px}
.skip{position:absolute;top:-100px;background:var(--accent);color:#111;padding:10px;z-index:5}
.skip:focus{top:5px}
@media(max-width:750px){header{padding:20px 6%;align-items:flex-start;flex-direction:column;gap:18px}
nav{width:100%;justify-content:space-between;gap:15px}
section{padding:45px 6%}
.hero-bottom,.section-head{align-items:flex-start;flex-direction:column;gap:20px}
.hero-bottom p{font-size:16px}
.latest,.project-content,.about-grid,.skills{grid-template-columns:1fr;gap:30px}
.grid{grid-template-columns:1fr;gap:30px}
.meta,.meta.meta--team{grid-template-columns:1fr;gap:0}
.about-grid aside{border-left:0;border-top:1px solid var(--line);padding:25px 0}
.latest{margin-top:30px}
.reel figcaption{letter-spacing:0;font-size:12px;gap:15px}
.card h3{font-size:35px}
footer{flex-direction:column}
.project-head h1{font-size:60px}
.film figcaption{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important}
}

.case-section{margin:0 0 42px}
.case-section>.eyebrow{display:block;margin-bottom:14px}
.case-section h2{font-family:Manrope,Arial,sans-serif;font-size:1.35rem;line-height:1.25;letter-spacing:-.025em;text-transform:none;margin:0 0 14px}
.case-section p{margin:0 0 14px}
.case-section ul,.case-section ol{color:var(--muted);margin:0;padding-left:1.35rem}
.case-section li{padding-left:.35rem;margin:0 0 12px}
.case-section ol{counter-reset:step;list-style:none;padding:0}
.case-section ol li{position:relative;display:block;min-width:0;padding:0 0 0 2.6rem;margin:0 0 14px}
.case-section ol li::before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;top:0;left:0;width:2rem;font-weight:700;color:var(--accent);letter-spacing:.06em}
.case-section.instructions code{white-space:nowrap}
.case-section.instructions{border-top:1px solid var(--line);padding-top:28px}
.project-media figure>figcaption{color:var(--muted);font-size:.875rem;line-height:1.55;padding-top:10px}
.project-media figure>figcaption a{color:var(--accent)}
.state-tree-diagram{background:#111;border:1px solid var(--line);padding:12px}
.state-tree-diagram img{width:min(100%,640px);margin:0 auto;display:block}
.supporting-work{padding-top:65px;border-top:1px solid var(--line)}

/* Crimson Knight — Boss AI & combat case study */
.boss-case-study{position:relative;margin-top:26px;background:linear-gradient(145deg,#1c1f19 0%,#151714 62%,#111210 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.boss-case-study::before{content:"";position:absolute;top:0;left:6%;width:130px;height:3px;background:var(--accent)}
.case-study-intro{max-width:790px}
.case-study-intro h2{margin:18px 0 20px}
.case-study-intro h2 em{font-style:normal;color:var(--accent)}
.case-study-intro>p{font-size:1.05rem;max-width:735px}
.case-kicker,.iteration-index{margin:0;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.16em;line-height:1.4}
.state-tree-feature{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(24px,4vw,64px);align-items:start;margin-top:42px}
.state-tree-copy{min-width:0;background:rgba(9,10,8,.38);border-top:2px solid var(--accent);padding:clamp(22px,3vw,38px)}
.state-tree-copy h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(34px,3.4vw,54px);font-weight:600;letter-spacing:-.025em;line-height:.98;text-transform:uppercase;margin:16px 0 18px}
.state-tree-copy>p{font-size:.96rem;margin-bottom:26px}
.tree-flow{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.tree-flow li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}
.tree-flow li>span{font-size:.8rem;font-weight:800;letter-spacing:.08em;color:var(--accent);padding-top:2px}
.tree-flow strong{display:block;font-size:.96rem;line-height:1.25}
.tree-flow p{font-size:.88rem;line-height:1.6;margin:5px 0 0}
.boss-case-study .state-tree-diagram{margin:0;background:#0e100d;border-color:#565a50;padding:clamp(8px,1.3vw,14px)}
.boss-case-study .state-tree-diagram img{width:100%;max-width:none;margin:0}
.boss-case-study .state-tree-diagram figcaption{margin:0;padding:13px 6px 3px;color:var(--muted);font-size:.84rem;line-height:1.55}
.tree-extension{position:relative;margin:25px 0 0;padding:20px 18px 18px;background:#11130f;border:1px solid #54594b;border-left:3px solid var(--accent)}
.tree-extension>p{margin:9px 0 0;color:var(--muted);font-size:.88rem;line-height:1.65}
.tree-extension>p strong{color:var(--text)}
.extension-path{display:flex;flex-wrap:wrap;gap:10px 18px;list-style:none;margin:16px 0 0;padding:0}
.extension-path li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem;font-weight:700;line-height:1.35}
.extension-path span{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;background:var(--accent);color:#121411;font-size:.66rem;font-weight:800}
.iteration-heading{max-width:760px;margin-top:72px}
.iteration-heading h2{font-size:clamp(42px,4.5vw,72px);margin:14px 0 18px}
.iteration-heading>p{font-size:1rem}
.iteration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-top:34px}
.iteration-card{min-width:0;height:100%;background:#171915;border:1px solid var(--line);padding:clamp(22px,2.4vw,34px);transition:border-color .25s,transform .25s,background .25s}
.iteration-card:hover{border-color:var(--accent);background:#1b1e18;transform:translateY(-3px)}
.iteration-card h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(31px,2.8vw,43px);font-weight:600;letter-spacing:-.025em;line-height:.98;text-transform:uppercase;margin:17px 0 25px}
.iteration-block{border-top:1px solid var(--line);padding:17px 0 1px}
.iteration-block>span{display:block;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.iteration-block p{font-size:.87rem;line-height:1.62;margin:0}
.iteration-block.solution{border-left:2px solid var(--accent);padding-left:14px}
.iteration-block.impact{margin-top:16px;padding:16px;background:rgba(212,255,101,.06);border-top:1px solid rgba(212,255,101,.35)}
.iteration-block.impact>span{color:var(--text)}
.predictive-film{margin:24px 0 0}
.predictive-film figcaption{font-size:.78rem;line-height:1.55}
.metric-callout{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:23px 0 4px;padding:17px 14px 14px;background:var(--accent);color:#121411}
.metric-callout span{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(42px,4.2vw,64px);font-weight:700;letter-spacing:-.045em;line-height:.8;text-align:center}
.metric-callout b{font-size:1.5rem;line-height:1}
.metric-callout small{grid-column:1/-1;font-size:.68rem;font-weight:800;letter-spacing:.1em;line-height:1.3;text-align:center;text-transform:uppercase;margin-top:7px}
@media(max-width:1050px){
.iteration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.fair-card{grid-column:1/-1}
}
@media(max-width:820px){
.state-tree-feature{grid-template-columns:1fr}
.state-tree-feature{gap:26px}
}
@media(max-width:620px){
.boss-case-study{margin-top:0}
.boss-case-study::before{left:6%;width:92px}
.case-study-intro>p{font-size:1rem}
.state-tree-copy{padding:22px 18px}
.tree-flow li{grid-template-columns:2rem minmax(0,1fr);gap:10px}
.iteration-heading{margin-top:52px}
.iteration-grid{grid-template-columns:1fr;gap:14px}
.fair-card{grid-column:auto}
.iteration-card{padding:24px 20px}
.iteration-card:hover{transform:none}
.metric-callout span{font-size:48px}
}

/* State of Decay 3 — Feral AI & combat case study */
.feral-hero-media video{aspect-ratio:16/9;object-fit:contain}
.feral-case-study{position:relative;margin-top:48px;padding:clamp(52px,7vw,100px) 6%;background:radial-gradient(circle at 85% 0,rgba(212,255,101,.12),transparent 30%),linear-gradient(145deg,#20261d 0%,#151913 52%,#111210 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.feral-case-study::before{content:"";position:absolute;top:0;left:6%;width:150px;height:3px;background:var(--accent)}
.feral-case-intro{max-width:820px}
.feral-case-intro h2{margin:18px 0 20px}
.feral-case-intro h2 em{font-style:normal;color:var(--accent)}
.feral-case-intro>p{max-width:760px;font-size:1.08rem}
.feral-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}
.feral-principle{min-width:0;padding:clamp(22px,2.5vw,34px);background:rgba(12,15,10,.54);border:1px solid #4a5142;border-top:2px solid var(--accent)}
.feral-principle h3,.case-feature-copy h3,.supporting-system-card h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(32px,3vw,48px);font-weight:600;line-height:.98;letter-spacing:-.025em;text-transform:uppercase;margin:18px 0 16px}
.feral-principle p:not(.iteration-index){font-size:.92rem;line-height:1.65;margin:0}
.combat-loop-panel{margin-top:26px;padding:clamp(22px,3vw,34px);background:#10130f;border:1px solid #4d5445}
.combat-loop{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;list-style:none;margin:18px 0 0;padding:0}
.combat-loop li{position:relative;min-width:0;min-height:86px;padding:16px 16px 16px 48px;background:#1a1e17;color:var(--text);font-size:.84rem;font-weight:700;line-height:1.35}
.combat-loop li span{position:absolute;top:16px;left:16px;color:var(--accent);font-size:.7rem;letter-spacing:.07em}
.case-feature-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:start;margin-top:clamp(56px,7vw,100px);padding-top:clamp(28px,4vw,46px);border-top:1px solid var(--line)}
.case-feature-grid.perception-feature,.case-feature-grid.debug-feature{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.case-feature-copy{min-width:0}
.case-feature-copy h3{margin-top:15px}
.case-feature-copy>p{font-size:.96rem;line-height:1.75}
.case-feature-copy>p:last-of-type{margin-bottom:0}
.feature-video,.evidence-duo{min-width:0}
.feature-video figure,.evidence-duo figure{margin:0}
.feature-video video,.evidence-duo video{width:100%;aspect-ratio:16/9;object-fit:contain;background:#090a08}
.feature-video figcaption,.evidence-duo figcaption{padding-top:12px;color:var(--muted);font-size:.84rem;line-height:1.6}
.evidence-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.decision-note{margin-top:28px;padding:18px 18px 1px;border-left:3px solid var(--accent);background:rgba(212,255,101,.07)}
.decision-note strong{display:block;font-size:.77rem;letter-spacing:.13em;text-transform:uppercase}
.decision-note p{font-size:.88rem;line-height:1.65;margin:8px 0 16px}
.supporting-systems-heading{max-width:840px;margin-top:clamp(68px,8vw,112px)}
.supporting-systems-heading h2{margin:16px 0 0}
.supporting-systems-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.supporting-system-card{min-width:0;padding:clamp(22px,2.5vw,34px);background:#171a15;border:1px solid var(--line);transition:border-color .25s,transform .25s,background .25s}
.supporting-system-card:hover{border-color:var(--accent);background:#1c2119;transform:translateY(-3px)}
.supporting-system-card h3{margin:17px 0 18px}
.supporting-system-card p:not(.iteration-index){font-size:.9rem;line-height:1.7;margin:0}
.supporting-system-card p:not(.iteration-index)+p:not(.iteration-index){margin-top:14px}
.additional-work{padding-top:72px}
.additional-work .project-media{padding-top:5px}
@media(max-width:1050px){
.feral-principles,.supporting-systems-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.feral-principle:last-child,.supporting-system-card:last-child{grid-column:1/-1}
.combat-loop{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
.case-feature-grid,.case-feature-grid.perception-feature,.case-feature-grid.debug-feature{grid-template-columns:1fr;gap:28px}
.perception-feature .feature-video,.debug-feature .feature-video{order:2}
}
@media(max-width:620px){
.feral-case-study{margin-top:0;padding:52px 6%}
.feral-case-study::before{left:6%;width:96px}
.feral-principles,.supporting-systems-grid,.evidence-duo,.combat-loop{grid-template-columns:1fr}
.feral-principle:last-child,.supporting-system-card:last-child{grid-column:auto}
.feral-principle,.supporting-system-card{padding:24px 20px}
.combat-loop li{min-height:auto}
.case-feature-grid{margin-top:58px;padding-top:30px}
.supporting-system-card:hover{transform:none}
}

/* Portfolio hierarchy and shared case study system */
.home-hero h1{max-width:1180px;font-size:clamp(58px,7.6vw,122px)}
.hero-bottom>div:first-child{max-width:760px}
.hero-bottom .availability-note{margin-top:16px;font-size:.88rem;color:var(--text)}
.availability-note span{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent);margin-right:10px;box-shadow:0 0 0 5px rgba(212,255,101,.1)}
.hero-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}
.text-link{font-size:.9rem;font-weight:700;color:var(--muted);border-bottom:1px solid var(--line)}
.text-link:hover{border-color:var(--accent)}
.project-tag{display:inline-block;width:max-content;padding:5px 9px;margin:0 10px 10px 0;background:var(--accent);color:#11140d!important;font-size:.68rem!important;font-weight:800;letter-spacing:.11em!important;line-height:1.25;text-transform:uppercase}
.latest .eyebrow{display:block;margin-top:10px}
.project-byline{color:var(--text)}
.selected-work .section-head{align-items:flex-end}
.selected-work .section-head h2{margin:14px 0 0}
.card-info{position:relative}
.card-info>.card-discipline{display:block;margin:2px 0 0;color:var(--muted);font-size:.7rem;letter-spacing:.1em}
.card-info>.project-tag{margin-bottom:8px}
.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
.three-up .card h3{font-size:clamp(30px,3vw,40px)}
.project-group{padding-top:72px;padding-bottom:78px}
.project-group+.project-group{border-top:1px solid var(--line)}
.project-group-alt{background:#191b17}
.project-group-head{display:grid;grid-template-columns:1.25fr .75fr;gap:8%;align-items:end;margin-bottom:34px}
.project-group-head h2{margin:15px 0 0}
.project-group-head>p{max-width:520px;margin:0}
.projects-intro{padding-bottom:42px}
.projects-intro p{max-width:760px}
.footer-links{display:flex;flex-direction:column;gap:5px}

.project-label{display:inline-block;margin:0 0 18px;padding:6px 10px;background:var(--accent);color:#11140d;font-size:.7rem;font-weight:800;letter-spacing:.12em;line-height:1.25;text-transform:uppercase}
.project-head .meta{margin-top:34px}
.project-head .meta p{margin-bottom:0}
.project-head .meta span{font-weight:800}
.jump-menu{display:flex;gap:10px;flex-wrap:wrap;padding:0 6% 32px;margin:-4px 0 0}
.jump-menu a{padding:8px 12px;border:1px solid var(--line);color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.04em}
.jump-menu a:hover{border-color:var(--accent);color:var(--accent)}
.project-lede{font-size:1.02rem;line-height:1.75}
.ownership-list{display:grid;gap:13px;list-style:none!important;padding:0!important}
.ownership-list li{padding:14px 16px!important;margin:0!important;background:#1a1c18;border-left:2px solid var(--accent)}
.case-wide{padding-top:0}
.case-band{padding-top:72px;padding-bottom:72px;border-top:1px solid var(--line)}
.case-band.tinted{background:#191b17}
.case-band-head{display:grid;grid-template-columns:1.25fr .75fr;gap:8%;align-items:end;margin-bottom:36px}
.case-band-head h2{margin:14px 0 0}
.case-band-head p{margin:0;max-width:520px}
.case-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.case-card{min-width:0;padding:clamp(22px,2.7vw,36px);background:#171915;border:1px solid var(--line);border-top:2px solid var(--accent)}
.case-card h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(31px,3vw,46px);font-weight:600;line-height:1;text-transform:uppercase;margin:14px 0 17px}
.case-card p{font-size:.91rem;line-height:1.7;margin:0}
.case-card p+p{margin-top:13px}
.case-card figure{margin:22px 0 0}
.case-card img{width:100%;height:auto;display:block;border:1px solid #55594f}
.case-card figcaption{padding-top:10px;color:var(--muted);font-size:.79rem;line-height:1.55}
.evidence-label{display:block;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.outcome-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:28px;background:var(--line);border:1px solid var(--line)}
.outcome-strip>div{padding:22px;background:#151713}
.outcome-strip strong{display:block;margin-bottom:6px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.outcome-strip p{margin:0;font-size:.88rem;line-height:1.55}
.project-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin:45px 6% 0;padding:28px 0;border-top:1px solid var(--line)}
.project-nav a{display:block;color:var(--muted);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.project-nav a strong{display:block;margin-top:5px;color:var(--text);font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:1.45rem;line-height:1;text-transform:uppercase;letter-spacing:0}
.project-nav .all-projects{text-align:center;color:var(--accent)}
.project-nav .next{text-align:right}
.project-nav a:hover strong{color:var(--accent)}

.architecture-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}
.architecture-grid figure{padding:14px;background:#0f100e;border:1px solid var(--line)}
.architecture-grid figure:first-child{grid-row:span 2}
.architecture-grid img{width:100%;height:auto;background:#fff}
.architecture-grid figcaption{padding:12px 3px 0;color:var(--muted);font-size:.8rem;line-height:1.55}
.system-bridge{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.system-bridge article{padding:26px;background:#171915;border:1px solid var(--line)}
.system-bridge h3{margin:12px 0 12px;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(30px,3vw,44px);text-transform:uppercase}
.system-bridge p{margin:0;font-size:.9rem;line-height:1.7}
.flow-list{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.flow-list li{position:relative;padding:17px 15px;background:#1a1d18;color:var(--text);font-size:.8rem;font-weight:700;line-height:1.45;border-bottom:2px solid var(--accent)}
.flow-list span{display:block;color:var(--accent);font-size:.66rem;letter-spacing:.1em;margin-bottom:7px}
.paired-project{margin-top:26px;padding:24px;border:1px solid var(--accent);background:rgba(212,255,101,.05)}
.paired-project h3{margin:0 0 8px;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:2rem;text-transform:uppercase}
.paired-project p{margin:0 0 15px}
.inline-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.button.secondary{border-color:var(--line);color:var(--text)}
.button.secondary:hover{border-color:var(--accent);background:transparent;color:var(--accent)}
.video-frame video{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.video-frame figcaption{padding-top:10px;color:var(--muted);font-size:.84rem;line-height:1.55}
.award-callout{padding:20px 22px;margin:0 0 24px;background:var(--accent);color:#10120d;font-weight:800}
.award-callout span{display:block;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px}
.merged-note{padding:20px;border-left:3px solid var(--accent);background:rgba(212,255,101,.06)}
.merged-note h3{margin:0 0 8px;font-size:1.2rem}
.merged-note p{margin:0}

video{object-fit:contain}
.project-head>.project-label{display:block;margin-top:28px}
.state-tree-figures{display:grid;gap:18px;min-width:0}
.extension-inline{margin-top:26px;padding-top:23px;border-top:1px solid var(--line)}
.extension-inline h4{margin:9px 0 10px;color:var(--text);font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:1.75rem;line-height:1;text-transform:uppercase}
.extension-inline p{margin:0!important;font-size:.89rem!important}
.supporting-system-card figure{margin:22px 0 0}
.supporting-system-card figure img{width:100%;height:auto;display:block;border:1px solid #55594f}
.supporting-system-card figure figcaption{padding-top:10px;color:var(--muted);font-size:.78rem;line-height:1.5}
.supporting-systems-grid.evidence-grid{grid-template-columns:1fr}
.evidence-grid .supporting-system-card:last-child{grid-column:auto}
.evidence-grid .evidence-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:clamp(24px,4vw,64px);align-items:start}
.evidence-grid .evidence-card>*:not(figure){grid-column:1}
.evidence-grid .evidence-card figure{grid-column:2;grid-row:1 / span 6;align-self:center;margin:0}
.evidence-grid .text-card{max-width:900px}
.availability-card{margin:28px 0 8px;padding:22px;border:1px solid var(--accent);background:rgba(212,255,101,.05)}
.availability-card p{margin:9px 0 0;color:var(--text)}
.instructions strong,.instructions code{white-space:nowrap}
#multiplayer-sessions{scroll-margin-top:24px}

@media(max-width:1050px){
.three-up{grid-template-columns:repeat(2,minmax(0,1fr))}
.three-up .card:last-child{grid-column:1/-1;max-width:calc(50% - 15px)}
.case-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-cards .case-card:last-child:nth-child(odd){grid-column:1/-1}
.flow-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:750px){
.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}
.project-group-head,.case-band-head{grid-template-columns:1fr;gap:18px;align-items:start}
.three-up{grid-template-columns:1fr}
.three-up .card:last-child{grid-column:auto;max-width:none}
.project-nav{grid-template-columns:1fr 1fr;margin-top:25px}
.project-nav .all-projects{grid-column:1/-1;grid-row:2;text-align:center}
.architecture-grid,.system-bridge,.case-cards,.outcome-strip{grid-template-columns:1fr}
.architecture-grid figure:first-child{grid-row:auto}
.flow-list{grid-template-columns:1fr}
.case-cards .case-card:last-child:nth-child(odd){grid-column:auto}
.footer-links{align-items:flex-start}
.evidence-grid .evidence-card{grid-template-columns:1fr}
.evidence-grid .evidence-card>*:not(figure),.evidence-grid .evidence-card figure{grid-column:1;grid-row:auto}
.evidence-grid .evidence-card figure{margin-top:20px}
}
