/*
Theme Name: Zaid Mastou Portfolio
Theme URI: https://zaidmastou.com/
Author: Zaid Mastou
Description: Editorial portfolio theme for Zaid Mastou.
Version: 1.0.5
Text Domain: zaid-mastou-portfolio
*/

:root{--paper:#eee9dc;--paper-deep:#ddd5c4;--ink:#142443;--ink-2:#1c3158;--coral:#ef5a42;--cream:#f6f0e3;--muted:#7b8190;--line:rgba(20,36,67,.28)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:320px;margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
img,svg,video,iframe{max-width:100%}
a{color:inherit;text-decoration:none;font-variant-emoji:text}
button{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--coral);outline-offset:4px}
::selection{background:var(--coral);color:white}

.global-nav{position:sticky;z-index:100;top:0;height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4.5%;border-bottom:1px solid var(--line);background:rgba(238,233,220,.9);backdrop-filter:blur(18px)}
.monogram{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--ink);border-radius:50%;font-family:Georgia,serif;font-size:13px;transition:.3s}
.monogram:hover{color:var(--paper);background:var(--ink);transform:rotate(12deg)}
.global-nav nav{display:flex;gap:34px}
.global-nav nav a,.nav-contact{position:relative;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.global-nav nav a::after,.nav-contact::after{content:"";position:absolute;right:100%;bottom:-7px;left:0;height:1px;background:currentColor;transition:right .25s}
.global-nav nav a:hover::after,.nav-contact:hover::after{right:0}
.nav-contact{justify-self:end;color:var(--coral)}
.menu-button{display:none;border:0;background:transparent}

.hero{position:relative;min-height:calc(100vh - 78px);padding:30px 4.5% 48px;overflow:hidden}
.hero-grid{position:absolute;inset:0;opacity:.32;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:10vw 10vw;mask-image:linear-gradient(to bottom,black,transparent 87%)}
.hero-meta{position:relative;z-index:3;display:flex;justify-content:space-between;font:8px "Courier New",monospace;letter-spacing:.13em}
.hero-copy{position:relative;z-index:5;width:min(69vw,1050px);padding-top:10vh}
.kicker{display:flex;align-items:center;gap:10px;margin:0 0 35px;color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.17em}
.kicker i{width:27px;height:1px;background:currentColor;box-shadow:0 0 10px var(--coral)}
.hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(90px,13vw,205px);font-weight:400;line-height:.69;letter-spacing:-.085em}
.hero h1 em{color:var(--coral);font-weight:400}
.hero-deck{max-width:620px;margin:46px 0 32px;font-family:Georgia,serif;font-size:clamp(17px,1.5vw,24px);line-height:1.48}
.hero-actions{display:flex;align-items:center;gap:28px}
.button-primary{display:flex;align-items:center;gap:26px;padding:11px 12px 11px 16px;background:var(--ink);color:var(--cream);font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.25s}
.button-primary span{display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(255,255,255,.35);border-radius:50%}
.button-primary:hover{background:var(--coral);transform:translateY(-3px)}
.button-text{padding:8px 0;border-bottom:1px solid;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hero-portrait{position:absolute;z-index:3;right:7.5vw;bottom:0;width:min(31vw,465px);margin:0;pointer-events:none}
.portrait-frame{position:relative;z-index:2;aspect-ratio:4/5;overflow:hidden;border:1px solid rgba(20,36,67,.32);border-radius:48% 48% 4px 4px;background:var(--paper-deep);box-shadow:0 30px 70px rgba(20,36,67,.18)}
.portrait-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(20,36,67,.2)),linear-gradient(90deg,rgba(238,233,220,.12),transparent 38%);mix-blend-mode:multiply}
.portrait-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 20%;filter:saturate(.82) contrast(1.035)}
.portrait-scan{position:absolute;z-index:3;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,var(--coral),transparent);box-shadow:0 0 14px var(--coral);opacity:.65;animation:portrait-scan 6s ease-in-out infinite}
.hero-portrait figcaption{position:absolute;z-index:5;right:13px;bottom:17px;display:grid;gap:4px;padding:9px 11px;background:rgba(238,233,220,.88);backdrop-filter:blur(10px);color:var(--ink);font:6px "Courier New",monospace;letter-spacing:.12em}
.hero-portrait figcaption span{color:var(--coral)}
.hero-portrait figcaption strong{font-size:7px}
.portrait-orbit{position:absolute;z-index:4;inset:-7%;border:1px solid rgba(239,90,66,.7);border-radius:50%;animation:portrait-orbit 18s linear infinite}
.portrait-orbit::before,.portrait-orbit::after,.portrait-orbit i{content:"";position:absolute;border-radius:50%;background:var(--coral);box-shadow:0 0 0 6px rgba(239,90,66,.1),0 0 18px rgba(239,90,66,.5)}
.portrait-orbit::before{top:11%;left:13%;width:7px;height:7px}.portrait-orbit::after{right:4%;bottom:28%;width:4px;height:4px}.portrait-orbit i{bottom:2%;left:34%;width:3px;height:3px}
.living-signal{position:absolute;z-index:2;right:-2vw;bottom:-7vw;width:min(47vw,680px);aspect-ratio:1;border-radius:50%;pointer-events:none}
.signal-ring{position:absolute;inset:0;border:1px solid rgba(20,36,67,.36);border-radius:50%;animation:orbit 21s linear infinite}
.signal-ring i,.signal-ring::before,.signal-ring::after{content:"";position:absolute;border-radius:50%;background:var(--coral);box-shadow:0 0 0 7px rgba(239,90,66,.1),0 0 22px rgba(239,90,66,.5)}
.signal-ring i{top:17%;left:11%;width:8px;height:8px}
.signal-ring::before{right:7%;bottom:29%;width:4px;height:4px}
.signal-ring::after{bottom:-2px;left:45%;width:3px;height:3px}
.ring-two{inset:17%;border-style:dashed;animation-duration:14s;animation-direction:reverse}
.ring-two i{top:auto;right:5%;bottom:22%;left:auto}
.ring-three{inset:34%;animation-duration:27s}
.ring-three i{top:50%;left:-3%}
.signal-cross{position:absolute;top:50%;left:0;width:100%;height:1px;background:rgba(20,36,67,.18)}
.signal-cross.vertical{transform:rotate(90deg)}
.signal-core{position:absolute;inset:41%;display:grid;place-content:center;text-align:center;border:1px solid rgba(20,36,67,.42);border-radius:50%;background:rgba(238,233,220,.82);box-shadow:0 0 0 12px rgba(20,36,67,.03),inset 0 0 35px rgba(239,90,66,.08)}
.signal-core strong{font-family:Georgia,serif;font-size:clamp(35px,4vw,63px);font-weight:400;line-height:.8}
.signal-core small{margin-top:10px;color:var(--coral);font:6px "Courier New",monospace;letter-spacing:.15em}
.direction{position:absolute;color:var(--coral);font:8px "Courier New",monospace}.north{top:-18px;left:50%}.south{bottom:-18px;left:50%}.east{top:50%;right:-18px}.west{top:50%;left:-18px}
.hero-scroll{position:absolute;z-index:5;right:4.5%;bottom:32px;display:flex;align-items:center;gap:14px;font:7px "Courier New",monospace;letter-spacing:.13em;writing-mode:vertical-rl}
.hero-scroll i{width:1px;height:54px;background:var(--ink);animation:scroll-line 2s ease-in-out infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes scroll-line{50%{transform:scaleY(.35);transform-origin:bottom}}
@keyframes portrait-orbit{to{transform:rotate(360deg)}}
@keyframes portrait-scan{0%,12%{transform:translateY(0);opacity:0}25%,75%{opacity:.55}88%,100%{transform:translateY(540px);opacity:0}}

.impact{position:relative;padding:72px 4.5% 90px;background:var(--ink);color:var(--cream)}
.impact>header{display:flex;justify-content:space-between;padding-bottom:35px;border-bottom:1px solid rgba(255,255,255,.22)}
.impact>header span{color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.14em}
.impact>header p{margin:0;font-family:Georgia,serif;font-size:20px;line-height:1.15}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.impact-number{position:relative;min-height:345px;padding:24px 24px 30px 24px;border:0;border-right:1px solid rgba(255,255,255,.18);background:transparent;color:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:background .35s ease,color .35s ease,padding .35s ease}
.impact-number+.impact-number{padding-left:24px}
.impact-number:last-child{border-right:0}
.impact-number::after{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.impact-number:hover,.impact-number.active{background:linear-gradient(145deg,rgba(239,90,66,.15),rgba(239,90,66,0) 68%)}
.impact-number:hover::after,.impact-number.active::after{transform:scaleX(1)}
.impact-number:focus-visible{outline:1px solid var(--coral);outline-offset:-5px}
.impact-index{color:#7d8aa2;font:8px "Courier New",monospace;transition:color .3s ease}
.impact-number:hover .impact-index,.impact-number.active .impact-index{color:var(--coral)}
.impact-number strong{display:block;margin-top:52px;font-family:Georgia,serif;font-size:clamp(72px,8vw,130px);font-weight:400;line-height:.72;letter-spacing:-.08em;transition:transform .4s cubic-bezier(.2,.8,.2,1),color .3s ease}
.impact-number:hover strong,.impact-number.active strong{color:white;transform:translateY(-8px)}
.impact-number sup{color:var(--coral);font-size:.27em;vertical-align:top}
.impact-label{display:block;margin:38px 0 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.impact-note{display:block;max-width:210px;color:#94a0b6;font-size:9px;line-height:1.55}
.impact-number>i{position:absolute;top:23px;right:23px;color:var(--coral);font-style:normal;font-size:18px;opacity:0;transform:translate(-8px,8px);transition:.3s ease}
.impact-number:hover>i,.impact-number.active>i{opacity:1;transform:none}
.impact-detail{display:grid;grid-template-columns:.9fr 1.1fr;min-height:400px;border-top:1px solid rgba(255,255,255,.2);background:linear-gradient(120deg,#162846,#0d1728 68%);overflow:hidden}
.impact-signal{position:relative;display:grid;place-items:center;min-height:400px;isolation:isolate}
.impact-signal::before{content:"ACTIVE SIGNAL";position:absolute;top:27px;left:27px;color:var(--coral);font:7px "Courier New",monospace;letter-spacing:.15em}
.impact-signal>i{position:absolute;width:min(28vw,330px);aspect-ratio:1;border:1px solid rgba(255,255,255,.22);border-radius:50%}
.impact-signal>i:nth-child(2){width:min(21vw,245px);border-style:dashed;animation:impact-orbit 18s linear infinite reverse}
.impact-signal>i:nth-child(3){width:min(13vw,155px);border-color:rgba(239,90,66,.5);animation:impact-orbit 12s linear infinite}
.impact-signal>i:nth-child(2)::after,.impact-signal>i:nth-child(3)::after{content:"";position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 22px var(--coral)}
.impact-signal>span{position:absolute;width:min(28vw,330px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(239,90,66,.12),transparent 63%);animation:impact-pulse 3s ease-in-out infinite}
.impact-signal strong{position:relative;z-index:1;font-family:Georgia,serif;font-size:clamp(70px,9vw,138px);font-weight:400;line-height:1;letter-spacing:-.08em;animation:impact-enter .5s cubic-bezier(.2,.8,.2,1)}
.impact-signal sup{color:var(--coral);font-size:.27em;vertical-align:top}
.impact-detail-copy{align-self:center;padding:65px 9%;animation:impact-copy-enter .45s ease both}
.impact-detail-copy>span{color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.15em}
.impact-detail-copy h2{max-width:620px;margin:23px 0;font-family:Georgia,serif;font-size:clamp(42px,5vw,75px);font-weight:400;line-height:.92;letter-spacing:-.045em}
.impact-detail-copy p{max-width:580px;margin:0;color:#b4bdca;font-family:Georgia,serif;font-size:17px;line-height:1.55}
.impact-detail-copy ul{display:flex;flex-wrap:wrap;gap:7px;margin:31px 0 0;padding:0;list-style:none}
.impact-detail-copy li{padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#d2d8e1;font:7px "Courier New",monospace;letter-spacing:.08em;text-transform:uppercase}
@keyframes impact-orbit{to{transform:rotate(360deg)}}
@keyframes impact-pulse{50%{transform:scale(1.08);opacity:.55}}
@keyframes impact-enter{from{opacity:0;transform:scale(.75) translateY(15px)}}
@keyframes impact-copy-enter{from{opacity:0;transform:translateY(14px)}}

.expertise{padding:105px 4.5%;background:var(--paper)}
.section-heading{display:grid;grid-template-columns:.4fr 1.2fr .55fr;gap:4%;align-items:end;margin-bottom:60px}
.section-heading>span{align-self:start;color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.14em}
.section-heading h2{margin:0;font-family:Georgia,serif;font-size:clamp(58px,7vw,110px);font-weight:400;line-height:.86;letter-spacing:-.065em}
.section-heading h2 em{color:var(--coral);font-weight:400}
.section-heading p{margin:0;font-size:11px;line-height:1.65}
.expertise-stage{display:grid;grid-template-columns:1.1fr .9fr;min-height:620px;border:1px solid var(--line)}
.expertise-selector{display:flex;flex-direction:column}
.expertise-selector button{flex:1;display:grid;grid-template-columns:52px 1fr auto;align-items:center;padding:0 26px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:.35s}
.expertise-selector button:last-child{border-bottom:0}
.expertise-selector button:hover,.expertise-selector button.active{padding-left:38px;background:var(--ink);color:var(--cream)}
.expertise-selector button span{color:var(--coral);font:8px "Courier New",monospace}
.expertise-selector button strong{font-family:Georgia,serif;font-size:clamp(24px,2.4vw,38px);font-weight:400}
.expertise-selector button i{font-style:normal;font-size:20px;transition:transform .25s}
.expertise-selector button.active i{transform:rotate(45deg)}
.expertise-panel{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:52px;background:var(--ink-2);color:var(--cream);overflow:hidden}
.expertise-panel>span{position:relative;z-index:2;color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.15em;text-transform:uppercase}
.expertise-panel h3{position:relative;z-index:2;margin:14px 0 22px;font-family:Georgia,serif;font-size:clamp(42px,5vw,80px);font-weight:400;line-height:.92;letter-spacing:-.05em}
.expertise-panel p{position:relative;z-index:2;max-width:540px;margin:0;color:#aeb9ca;font-family:Georgia,serif;font-size:17px;line-height:1.55}
.expertise-panel>a{position:relative;z-index:2;display:flex;justify-content:space-between;margin-top:48px;padding:14px 0;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.expertise-orbit{position:absolute;top:-19%;right:-19%;width:72%;aspect-ratio:1;border:1px solid rgba(255,255,255,.14);border-radius:50%;animation:orbit 22s linear infinite}
.expertise-orbit::before,.expertise-orbit::after,.expertise-orbit i{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%}
.expertise-orbit::before{inset:16%}.expertise-orbit::after{inset:34%}.expertise-orbit i:first-child{top:13%;left:9%;width:8px;height:8px;border:0;background:var(--coral);box-shadow:0 0 18px var(--coral)}
.expertise-orbit i:nth-child(2){inset:0;border-color:transparent;border-top-color:var(--coral);animation:orbit 7s linear infinite}
.expertise-orbit strong{position:absolute;inset:39%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;font-family:Georgia,serif;font-size:48px;font-weight:400}

.arrest-story{position:relative;min-height:1100px;padding:80px 4.5% 92px;background:#0b1019;color:var(--cream);overflow:hidden}
.arrest-story::before{content:"";position:absolute;inset:0;opacity:.18;background:repeating-linear-gradient(0deg,transparent 0 53px,rgba(255,255,255,.12) 54px)}
.arrest-story>header{position:relative;z-index:3;display:flex;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.26);color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.14em}
.arrest-title{position:relative;z-index:3;display:grid;grid-template-columns:.4fr 1.6fr;gap:5%;align-items:start;margin-top:70px}
.arrest-title>p{margin:14px 0 0;color:#697384;font:8px/1.5 "Courier New",monospace;letter-spacing:.14em}
.arrest-title h2{margin:0;font-family:Georgia,serif;font-size:clamp(78px,11vw,175px);font-weight:400;line-height:.74;letter-spacing:-.075em}
.arrest-title h2 em{color:var(--coral);font-weight:400}
.arrest-body{position:relative;z-index:3;display:grid;grid-template-columns:.85fr 1.05fr .7fr;gap:5%;margin-top:105px;padding-top:38px;border-top:1px solid rgba(255,255,255,.25)}
.arrest-lead{margin:0;font-family:Georgia,serif;font-size:clamp(22px,2vw,32px);line-height:1.35}
.arrest-account{columns:2;column-gap:28px}
.arrest-account p{margin:0 0 18px;color:#99a4b6;font-size:10px;line-height:1.75}
.arrest-dates{margin:0}
.arrest-dates div{display:grid;grid-template-columns:80px 1fr;gap:15px;padding:15px 0;border-top:1px solid rgba(255,255,255,.18)}
.arrest-dates dt{color:var(--coral);font-family:Georgia,serif;font-size:18px}
.arrest-dates dd{margin:0;color:#9ba6b7;font-size:8px;line-height:1.45;text-transform:uppercase;letter-spacing:.08em}
.arrest-archive{position:relative;z-index:3;margin-top:85px;padding-top:34px;border-top:1px solid rgba(255,255,255,.28)}
.arrest-archive>header{display:grid;grid-template-columns:.38fr 1.1fr .55fr;gap:4%;align-items:end;margin-bottom:38px}.arrest-archive>header>span{align-self:start;color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.14em}.arrest-archive>header h3{margin:0;font-family:Georgia,serif;font-size:clamp(44px,5.3vw,82px);font-weight:400;line-height:.9;letter-spacing:-.05em}.arrest-archive>header p{margin:0;color:#96a1b2;font-size:10px;line-height:1.65}.arrest-records{display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,1320px);margin:0 auto;border-top:1px solid rgba(255,255,255,.25);border-left:1px solid rgba(255,255,255,.25)}.arrest-records a{position:relative;min-height:160px;display:flex;flex-direction:column;padding:14px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);transition:.3s}.arrest-records a:hover{background:var(--coral);color:white;transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.25)}.arrest-records a>span{color:var(--coral);font:6px "Courier New",monospace}.arrest-records a:hover>span{color:white}.arrest-records small{margin-top:17px;color:#818da0;font:6px "Courier New",monospace;text-transform:uppercase;letter-spacing:.08em}.arrest-records a:hover small{color:rgba(255,255,255,.72)}.arrest-records h4{margin:9px 22px 12px 0;font-family:Georgia,serif;font-size:clamp(16px,1.35vw,22px);font-weight:400;line-height:1.08}.arrest-records p{margin:auto 0 0;color:#aab4c3;font-size:6px;text-transform:uppercase;letter-spacing:.1em}.arrest-records a:hover p{color:white}.arrest-records i{position:absolute;right:13px;bottom:13px;font-style:normal;font-size:14px;transition:.25s}.arrest-records a:hover i{transform:rotate(45deg)}
.arrest-archive-link{position:relative;display:grid;grid-template-columns:.38fr 1.1fr auto;gap:4%;align-items:end;width:min(100%,1320px);margin:0 auto;padding:23px 26px;border:1px solid rgba(255,255,255,.28);background:rgba(239,90,66,.05);color:var(--cream);transition:.3s}.arrest-archive-link span{align-self:start;color:var(--coral);font:12px "Courier New",monospace;letter-spacing:.14em}.arrest-archive-link strong{font-family:Georgia,serif;font-size:clamp(27px,3vw,45px);font-weight:400;line-height:.95}.arrest-archive-link i{color:var(--coral);font-style:normal;font-size:26px;transition:transform .3s}.arrest-archive-link:hover{border-color:var(--coral);background:var(--coral);transform:translateY(-4px);box-shadow:0 18px 34px rgba(0,0,0,.24)}.arrest-archive-link:hover span,.arrest-archive-link:hover i{color:white}.arrest-archive-link:hover i{transform:rotate(45deg)}
.arrest-story blockquote{position:relative;z-index:3;margin:105px auto 0;max-width:900px;text-align:center;font-family:Georgia,serif;font-size:clamp(39px,4.8vw,72px);line-height:1.05;font-weight:400;letter-spacing:-.04em}
.arrest-signal{position:absolute;z-index:1;top:3%;right:-10%;width:52vw;aspect-ratio:1;border:1px solid rgba(239,90,66,.2);border-radius:50%;opacity:.85;animation:arrest-signal-drift 18s ease-in-out infinite alternate}
.arrest-signal::before{content:"";position:absolute;top:50%;left:-8%;width:116%;height:1px;background:linear-gradient(90deg,transparent,rgba(239,90,66,.16) 25% 75%,transparent);transform:rotate(67deg)}
.arrest-signal::after{content:"";position:absolute;top:50%;left:-10%;width:120%;height:2px;background:linear-gradient(90deg,rgba(239,90,66,.4) 0 42%,transparent 42% 57%,rgba(239,90,66,.4) 57%);animation:arrest-line-sweep 9s ease-in-out infinite}
.arrest-signal i{position:absolute;border:1px solid rgba(239,90,66,.14);border-radius:50%}.arrest-signal i::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 6px rgba(239,90,66,.08),0 0 18px rgba(239,90,66,.65)}.arrest-signal i:first-child{inset:17%;animation:orbit 22s linear infinite}.arrest-signal i:first-child::after{top:10%;left:10%}.arrest-signal i:nth-child(2){inset:34%;animation:orbit 14s linear infinite reverse}.arrest-signal i:nth-child(2)::after{right:-3px;bottom:24%;width:5px;height:5px}.arrest-signal i:nth-child(3){inset:47%;border-color:var(--coral);box-shadow:0 0 40px rgba(239,90,66,.15);animation:orbit 28s linear infinite}.arrest-signal i:nth-child(3)::after{bottom:-3px;left:42%;width:4px;height:4px}
.arrest-signal span{position:absolute;top:23%;left:11%;width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 18px var(--coral);animation:arrest-signal-pulse 2.8s ease-in-out infinite}
@keyframes arrest-signal-drift{to{transform:translate(-1.5vw,2.5vw) scale(1.035)}}
@keyframes arrest-line-sweep{0%,100%{transform:rotate(-23deg) translateX(-5%);opacity:.42}50%{transform:rotate(-23deg) translateX(5%);opacity:1}}
@keyframes arrest-signal-pulse{50%{transform:scale(1.7);opacity:.35}}
@media (prefers-reduced-motion:reduce){.arrest-signal,.arrest-signal::after,.arrest-signal i,.arrest-signal span{animation:none}}

.projects{padding:110px 4.5%;background:var(--paper-deep)}
.projects-heading{margin-bottom:65px}
.project-browser{display:grid;grid-template-columns:.78fr 1.22fr;min-height:720px;border:1px solid var(--line)}
.project-list{display:flex;flex-direction:column;background:rgba(255,255,255,.13)}
.project-list button{flex:1;display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:14px;padding:0 24px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;transition:.3s}
.project-list button:last-child{border-bottom:0}.project-list button:hover,.project-list button.active{padding-left:34px;background:var(--coral);color:white}.project-list button span{font:8px "Courier New",monospace}.project-list button strong{font-family:Georgia,serif;font-size:clamp(20px,1.8vw,29px);font-weight:400}.project-list button small{font:7px "Courier New",monospace;letter-spacing:.08em}
.project-list button strong em{display:block;margin-top:7px;font:normal 12px Arial,sans-serif;letter-spacing:.02em;opacity:.68}.project-list button:hover strong em,.project-list button.active strong em{opacity:.88}
.project-file{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:55px;background:var(--paper);overflow:hidden}
.file-grid{position:absolute;inset:0;opacity:.23;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(to bottom,black,transparent 73%)}
.file-number{position:absolute;z-index:2;top:30px;left:34px;color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.14em}
.project-mark{position:absolute;top:-105px;right:-70px;width:430px;aspect-ratio:1;border:1px solid rgba(20,36,67,.23);border-radius:50%;animation:orbit 26s linear infinite}.project-mark::before,.project-mark i{content:"";position:absolute;border:1px solid rgba(20,36,67,.2);border-radius:50%}.project-mark::before{inset:19%}.project-mark i:first-child{inset:35%}.project-mark i:nth-child(2){top:18%;left:12%;width:8px;height:8px;border:0;background:var(--coral);box-shadow:0 0 20px var(--coral)}.project-mark strong{position:absolute;inset:42%;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-family:Georgia,serif;font-size:44px;font-weight:400}
.project-file>small,.project-file h3,.project-file>p,.project-result,.project-file>a{position:relative;z-index:2}.project-file>small{color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.13em;text-transform:uppercase}.project-file h3{max-width:730px;margin:16px 0 25px;font-family:Georgia,serif;font-size:clamp(52px,6vw,96px);font-weight:400;line-height:.85;letter-spacing:-.065em}.project-file>p{max-width:650px;margin:0;font-family:Georgia,serif;font-size:18px;line-height:1.55}.project-result{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:18px;margin-top:38px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-result span{color:var(--coral);font:7px "Courier New",monospace}.project-result strong{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.project-file>a{display:flex;justify-content:space-between;margin-top:25px;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.project-role{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;max-width:760px;padding-bottom:13px;border-bottom:1px solid var(--line)}.project-role span{color:var(--coral);font:12px "Courier New",monospace;letter-spacing:.12em}.project-role strong{font-family:Georgia,serif;font-size:21px;font-weight:400}.project-role i{color:var(--muted);font:normal 12px "Courier New",monospace;letter-spacing:.06em}.project-contributions{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:760px;margin:24px 0 0;padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line);list-style:none}.project-contributions li{min-height:76px;padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;line-height:1.35}.project-contributions li::before{content:"↳";display:block;margin-bottom:8px;color:var(--coral);font-family:Georgia,serif;font-size:18px}

.training{padding:95px 4.5%;background:var(--ink);color:var(--cream)}
.training>header{display:grid;grid-template-columns:.35fr 1.15fr .55fr;align-items:end;gap:4%;margin-bottom:55px}.training>header>span{align-self:start;color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.14em}.training>header h2{margin:0;font-family:Georgia,serif;font-size:clamp(65px,8vw,120px);font-weight:400;line-height:.78;letter-spacing:-.07em}.training>header p{margin:0;color:#9da9ba;font-size:11px;line-height:1.65}.training-map-layout{display:grid;grid-template-columns:1.5fr .5fr;gap:18px}.training-map{position:relative;min-height:650px;border:1px solid rgba(255,255,255,.25);background:#101e39;overflow:hidden}.map-grid-lines{position:absolute;inset:0;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:10% 14.28%}.land{position:absolute;border:1px solid #5f6f8b;background:rgba(129,151,190,.1);filter:drop-shadow(0 0 20px rgba(100,140,200,.12))}.land-a{top:23%;left:10%;width:27%;height:37%;border-radius:60% 38% 56% 42%;transform:rotate(-12deg)}.land-b{top:19%;left:42%;width:19%;height:29%;border-radius:42% 61% 37% 56%}.land-c{top:35%;left:56%;width:31%;height:39%;border-radius:40% 63% 48% 42%;transform:rotate(8deg)}.training-map svg{position:absolute;inset:0;width:100%;height:100%}.training-map path{fill:none;stroke:var(--coral);stroke-width:.3;stroke-dasharray:1.2 1.1;vector-effect:non-scaling-stroke;opacity:.78}.training-point{position:absolute;z-index:4;display:flex;align-items:center;gap:9px;padding:0;border:0;background:transparent;color:#bcc6d7;transform:translate(-50%,-50%)}.training-point i{width:9px;height:9px;border:2px solid var(--coral);border-radius:50%;background:var(--ink);box-shadow:0 0 0 6px rgba(239,90,66,.11)}.training-point span{font:7px "Courier New",monospace;text-transform:uppercase}.training-point.active i{background:var(--coral);box-shadow:0 0 0 9px rgba(239,90,66,.17),0 0 20px var(--coral)}.training-point.active span{color:white}.active-map-signal{position:absolute;z-index:3;width:190px;aspect-ratio:1;transform:translate(-50%,-50%);transition:left .7s cubic-bezier(.22,1,.36,1),top .7s cubic-bezier(.22,1,.36,1);pointer-events:none}.active-map-signal i{position:absolute;inset:0;border:1px solid rgba(239,90,66,.72);border-radius:50%;animation:map-wave 3.2s ease-out infinite}.active-map-signal i:nth-child(2){animation-delay:1.05s}.active-map-signal i:nth-child(3){animation-delay:2.1s}@keyframes map-wave{0%{opacity:.8;transform:scale(.08)}75%,100%{opacity:0;transform:scale(1)}}
.training-story{display:flex;flex-direction:column;min-height:650px;padding:28px;border:1px solid rgba(255,255,255,.25);background:var(--ink-2)}.training-story>span{font-family:Georgia,serif;font-size:60px;color:var(--coral)}.training-story>small{margin-top:auto;color:#8d9bb1;font:8px "Courier New",monospace;text-transform:uppercase}.training-story h3{margin:12px 0 8px;font-family:Georgia,serif;font-size:clamp(38px,3.6vw,60px);font-weight:400;line-height:.9}.training-story>strong{color:var(--coral);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.training-story>p{color:#aab5c7;font-size:10px;line-height:1.7}.training-story>div{display:flex;gap:7px;margin-top:25px}.training-story button{width:36px;height:36px;border:1px solid rgba(255,255,255,.35);background:transparent;color:white;font-size:12px}.training-story button:hover{background:var(--coral);border-color:var(--coral)}

.career{padding:105px 4.5%;background:var(--paper)}
.career-route{border:1px solid var(--line)}.career-years{position:relative;display:grid;grid-template-columns:repeat(9,1fr);padding:35px 22px;border-bottom:1px solid var(--line)}.career-years::before{content:"";position:absolute;top:50%;right:5%;left:5%;height:1px;background:var(--line)}.career-years button{position:relative;z-index:2;display:grid;justify-items:center;gap:11px;border:0;background:transparent;color:var(--muted)}.career-years button i{width:10px;height:10px;border:2px solid var(--paper);border-radius:50%;background:#9097a3;box-shadow:0 0 0 1px #9097a3;transition:.25s}.career-years button span{font:8px "Courier New",monospace}.career-years button.active{color:var(--coral)}.career-years button.active i{background:var(--coral);box-shadow:0 0 0 6px rgba(239,90,66,.13),0 0 16px var(--coral)}
.career-card{min-height:470px;display:grid;grid-template-columns:.6fr .5fr 1.25fr;grid-template-rows:auto 1fr auto;gap:5%;padding:55px}.career-card>span{color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.13em;text-transform:uppercase}.career-card>strong{grid-row:1/3;font-family:Georgia,serif;font-size:clamp(90px,10vw,160px);font-weight:400;line-height:.72;letter-spacing:-.07em}.career-card h3{margin:0;font-family:Georgia,serif;font-size:clamp(42px,5vw,75px);font-weight:400;line-height:.93;letter-spacing:-.05em}.career-card p{grid-column:3;margin:0;max-width:650px;font-size:12px;line-height:1.7}.career-card>div{grid-column:3;display:flex;justify-content:space-between;align-self:end;padding-top:18px;border-top:1px solid var(--line)}.career-card button{border:0;background:transparent;color:var(--ink);font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

.films{position:relative;padding:65px 4.5% 85px;background:#07090d;color:var(--cream);overflow:hidden}.film-grain{position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}.films>header{position:relative;z-index:2;display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.28);color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.14em}.film-stage{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:5%;align-items:center;padding:75px 2%}.film-trailer{position:relative;padding:12px;border:1px solid rgba(255,255,255,.28);background:#0c0f15;box-shadow:0 35px 85px rgba(0,0,0,.5)}.film-trailer::before{content:"";position:absolute;z-index:-1;inset:-18px;border:1px solid rgba(239,90,66,.18)}.film-trailer iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}.film-trailer-meta,.film-trailer-caption{display:flex;align-items:center;justify-content:space-between;color:#8993a3;font:6px "Courier New",monospace;letter-spacing:.13em}.film-trailer-meta{padding:1px 1px 10px}.film-trailer-meta>span{color:var(--coral)}.film-trailer-meta>strong{font-size:6px}.film-trailer-caption{padding:10px 1px 0}.film-trailer-caption button{padding:2px;border:0;background:transparent;color:var(--coral);font:inherit;letter-spacing:inherit}.film-trailer-caption button:hover{color:white}
.film-copy>span{color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.12em}.film-copy h2{margin:20px 0 35px;font-family:Georgia,serif;font-size:clamp(65px,8vw,125px);font-weight:400;line-height:.76;letter-spacing:-.07em}.film-copy h2 em{color:var(--coral);font-weight:400}.film-copy>p{max-width:680px;color:#a9b1bf;font-family:Georgia,serif;font-size:20px;line-height:1.5}.film-copy dl{display:grid;grid-template-columns:repeat(3,1fr);margin:50px 0 0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.film-copy dl div{padding:18px 15px 18px 0}.film-copy dt{color:var(--coral);font:7px "Courier New",monospace}.film-copy dd{margin:8px 0 0;color:#aeb7c4;font-size:9px}.film-links{display:flex;gap:20px;align-items:center;margin-top:25px}.film-links button,.film-links a{padding:8px 0;border:0;border-bottom:1px solid #657085;background:transparent;color:white;font-size:7px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.film-links button{display:flex;gap:20px}.film-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);gap:18px;padding:11px;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.film-strip i{height:17px;border:1px solid #566072}

.publication{position:relative;padding:105px 4.5%;background:var(--cream);overflow:hidden}.publication .section-heading{margin-bottom:58px}.publication-feature{display:grid;grid-template-columns:1.15fr .85fr;min-height:620px;border:1px solid var(--ink);background:var(--ink);color:var(--cream)}.publication-cover{position:relative;min-height:620px;display:block;overflow:hidden;border-right:1px solid rgba(255,255,255,.25);background:#d7d0c2}.publication-cover::after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.58);pointer-events:none}.publication-cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.publication-cover:hover img{transform:scale(1.025)}.publication-cover>span{position:absolute;z-index:2;right:28px;bottom:28px;left:28px;display:flex;justify-content:space-between;padding:13px 16px;background:rgba(7,9,13,.76);color:white;font:10px "Courier New",monospace;letter-spacing:.1em;backdrop-filter:blur(10px)}.publication-cover>span i{color:var(--coral);font-style:normal}.publication-copy{display:flex;flex-direction:column;padding:clamp(42px,5vw,78px)}.publication-copy>span{color:var(--coral);font:11px "Courier New",monospace;letter-spacing:.12em}.publication-copy h3{max-width:620px;margin:48px 0 30px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(58px,6.8vw,108px);font-weight:400;line-height:.9;letter-spacing:-.035em}.publication-copy>p{max-width:590px;margin:0;color:#b5bdca;font-family:Georgia,serif;font-size:18px;line-height:1.6}.publication-copy dl{display:grid;grid-template-columns:repeat(3,1fr);margin:auto 0 0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.publication-copy dl div{padding:18px 15px 18px 0}.publication-copy dt{color:var(--coral);font:9px "Courier New",monospace;letter-spacing:.1em}.publication-copy dd{margin:8px 0 0;color:#d3d8e0;font-size:12px;line-height:1.35}.publication-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px}.publication-actions a{display:flex;gap:25px;padding:10px 0;border-bottom:1px solid #657085;color:white;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.publication-actions a:first-child{padding:12px 16px;border:1px solid rgba(255,255,255,.38)}.publication-actions a:hover{border-color:var(--coral);color:var(--coral)}

.photography{padding:105px 4.5%;background:#d7d0c2}.photo-wall{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.photo-focus{position:relative;min-height:760px;display:flex;flex-direction:column;justify-content:space-between;padding:25px;background:#111;color:white;overflow:hidden}.photo-focus::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(5,8,12,.36),transparent 34%,rgba(5,8,12,.15) 55%,rgba(5,8,12,.86))}.photo-focus::after{content:"";position:absolute;z-index:3;inset:18px;border:1px solid rgba(255,255,255,.38);pointer-events:none}.photo-focus>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:photo-enter .65s cubic-bezier(.2,.8,.2,1)}.photo-focus>span,.photo-caption{position:relative;z-index:4}.photo-focus>span{font:8px "Courier New",monospace;letter-spacing:.14em}.photo-arrow-nav{position:absolute;z-index:5;top:50%;right:28px;left:28px;display:flex;justify-content:space-between;transform:translateY(-50%);pointer-events:none}.photo-arrow-nav button{min-width:112px;height:48px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 16px;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(7,9,13,.58);box-shadow:0 12px 30px rgba(0,0,0,.25);color:white;font:10px "Courier New",monospace;letter-spacing:.09em;text-transform:uppercase;backdrop-filter:blur(12px);pointer-events:auto;transition:background .25s,border-color .25s,transform .25s}.photo-arrow-nav button:hover{border-color:var(--coral);background:var(--coral);transform:translateY(-2px)}.photo-arrow-nav button b{font-size:18px;font-weight:400;line-height:1}.photo-caption{max-width:660px}.photo-caption small{color:var(--coral);font:7px "Courier New",monospace;letter-spacing:.13em;text-transform:uppercase}.photo-caption h3{margin:11px 0 0;font-family:Georgia,serif;font-size:clamp(45px,5vw,75px);font-weight:400;line-height:.9}.photo-caption p{margin:10px 0 0;font-size:9px;text-transform:uppercase;letter-spacing:.09em}.contact-sheet{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-sheet button{position:relative;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;padding:17px;border:1px solid rgba(20,36,67,.33);background:#111;color:white;text-align:left;overflow:hidden;transition:.25s}.contact-sheet button::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(4,7,10,.18),rgba(4,7,10,.72))}.contact-sheet button::after{content:"";position:absolute;z-index:3;inset:9px;border:1px solid rgba(255,255,255,.3)}.contact-sheet button>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .35s ease}.contact-sheet button:hover,.contact-sheet button.active{transform:translateY(-5px);box-shadow:0 18px 28px rgba(20,36,67,.15)}.contact-sheet button:hover>img,.contact-sheet button.active>img{transform:scale(1.06)}.contact-sheet button.active{outline:3px solid var(--coral);outline-offset:-3px}.contact-sheet button span,.contact-sheet button strong,.contact-sheet button small{position:relative;z-index:4}.contact-sheet button span{font:7px "Courier New",monospace}.contact-sheet button strong{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:.95}.contact-sheet button small{font:7px "Courier New",monospace;text-transform:uppercase;letter-spacing:.1em}.contact-sheet button.active span{color:var(--coral)}@keyframes photo-enter{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}

.archive{position:relative;background:#101621;color:var(--cream);overflow:hidden}.archive-marquee{height:61px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.2);overflow:hidden;white-space:nowrap;color:var(--coral);font-family:Georgia,serif;font-size:30px}.archive-marquee span{display:inline-block;min-width:max-content;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
.archive>header{display:grid;grid-template-columns:.38fr 1.1fr .55fr;gap:4%;align-items:end;padding:100px 4.5% 65px}.archive>header>span{align-self:start;color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.13em}.archive>header h1,.archive>header h2{margin:0;font-family:Georgia,serif;font-size:clamp(65px,8vw,120px);font-weight:400;line-height:.82;letter-spacing:-.07em}.archive>header h1 em,.archive>header h2 em{color:var(--coral);font-weight:400}.archive>header p{margin:0;color:#9ba6b8;font-size:11px;line-height:1.7}.archive-controls{display:grid;grid-template-columns:1.5fr .5fr;gap:25px;margin:0 4.5%;padding:14px 0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.archive-controls>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.archive-controls button{padding:7px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:transparent;color:#aeb8c8;font-size:7px;text-transform:uppercase;letter-spacing:.09em}.archive-controls button:hover,.archive-controls button.active{border-color:var(--coral);background:var(--coral);color:white}.archive-controls label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:15px}.archive-controls label span{color:var(--coral);font:7px "Courier New",monospace}.archive-controls input{min-width:0;padding:8px 0;border:0;border-bottom:1px solid rgba(255,255,255,.35);background:transparent;color:white;font-size:9px}.archive-controls input::placeholder{color:#6d7787}.archive-count{display:flex;justify-content:space-between;margin:0 4.5%;padding:22px 0;color:#7e899b;font:7px "Courier New",monospace;letter-spacing:.1em;text-transform:uppercase}.archive-list{margin:0 4.5%;border-top:1px solid rgba(255,255,255,.24)}.archive-list>a{display:grid;grid-template-columns:75px 1fr .35fr 35px;gap:25px;align-items:center;min-height:135px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.24);transition:.25s}.archive-list>a:hover{padding-right:16px;padding-left:16px;background:rgba(239,90,66,.07)}.archive-list>a>span{color:var(--coral);font-family:Georgia,serif;font-size:23px}.archive-list small{color:#7f8ca0;font:7px "Courier New",monospace;text-transform:uppercase;letter-spacing:.09em}.archive-list h2,.archive-list h3{max-width:850px;margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(21px,2.2vw,35px);font-weight:400;line-height:1.1}.archive-list>a>strong{color:#9da8b8;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.archive-list>a>i{font-style:normal;font-size:20px;transition:.2s}.archive-list>a:hover>i{color:var(--coral);transform:rotate(45deg)}.empty-archive{padding:70px 0;color:#8792a3;font-family:Georgia,serif;font-size:28px}
.archive-teaser-inner{display:grid;grid-template-columns:.48fr 1.52fr;gap:6%;align-items:start;padding:95px 4.5% 105px}.archive-teaser-heading>span{display:block;color:var(--coral);font:12px "Courier New",monospace;letter-spacing:.13em}.archive-teaser-heading h2{margin:42px 0 0;font-family:Georgia,serif;font-size:clamp(52px,6vw,90px);font-weight:400;line-height:.84;letter-spacing:-.06em}.archive-teaser-heading h2 em{color:var(--coral);font-weight:400}.archive-teaser-heading p{max-width:380px;margin:28px 0;color:#9ba6b8;font-size:14px;line-height:1.7}.archive-teaser-heading>a{display:inline-flex;gap:24px;padding:11px 15px;border:1px solid rgba(255,255,255,.35);color:var(--cream);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.25s}.archive-teaser-heading>a:hover{border-color:var(--coral);background:var(--coral);transform:translateY(-3px)}.archive-career-total{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:end;padding:4px 0 38px;border-bottom:1px solid rgba(255,255,255,.25);transition:.25s}.archive-career-total:hover,.archive-stat-grid>a:hover{padding-left:15px;background:rgba(239,90,66,.07)}.archive-career-total>strong{color:var(--cream);font-family:Georgia,serif;font-size:clamp(110px,13vw,205px);font-weight:400;line-height:.68;letter-spacing:-.08em}.archive-career-total sup{color:var(--coral);font-size:.26em;vertical-align:top}.archive-career-total>span{padding-bottom:5px;color:var(--cream);font-family:Georgia,serif;font-size:25px;line-height:1.15}.archive-career-total small,.archive-stat-grid small{display:block;margin-top:9px;color:#7f8ca0;font:12px Arial,sans-serif}.archive-career-total>i,.archive-stat-grid i{align-self:center;color:var(--coral);font-style:normal;font-size:22px}.archive-stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}.archive-stat-grid>a{position:relative;min-height:210px;display:flex;flex-direction:column;padding:28px 20px;border-bottom:1px solid rgba(255,255,255,.25);border-right:1px solid rgba(255,255,255,.25);transition:.25s}.archive-stat-grid>a:last-child{border-right:0}.archive-stat-grid strong{color:var(--coral);font-family:Georgia,serif;font-size:68px;font-weight:400;line-height:.9}.archive-stat-grid span{max-width:180px;margin-top:auto;color:var(--cream);font-family:Georgia,serif;font-size:18px;line-height:1.1}.archive-stat-grid i{position:absolute;top:26px;right:18px}.archive-teaser footer{margin-top:0}.archive-standalone{min-height:calc(100vh - 78px)}
.archive footer{margin-top:105px;padding:85px 4.5% 35px;background:var(--paper);color:var(--ink)}.archive footer>span{color:var(--coral);font:8px "Courier New",monospace;letter-spacing:.14em}.archive footer h2{margin:55px 0 90px;font-family:Georgia,serif;font-size:clamp(75px,11vw,165px);font-weight:400;line-height:.75;letter-spacing:-.075em}.archive footer h2 em{color:var(--coral);font-weight:400}.archive footer>div{display:grid;grid-template-columns:.8fr 1.3fr auto;gap:35px;align-items:end;padding-top:24px;border-top:1px solid var(--line)}.archive footer p{margin:0;font-size:9px;line-height:1.6}.archive footer nav{display:flex;flex-wrap:wrap;gap:24px}.archive footer nav a,.archive footer>div>a{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}

.trailer-modal{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:5vw;background:rgba(2,4,7,.94);backdrop-filter:blur(18px)}.trailer-modal>div{width:min(1100px,90vw);aspect-ratio:16/9;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 40px 100px #000}.trailer-modal iframe{width:100%;height:100%;border:0}.trailer-close{position:absolute;top:20px;right:23px;padding:5px;border:0;background:transparent;color:white;font:7px "Courier New",monospace;letter-spacing:.13em}

@media(max-width:860px){
  .global-nav{grid-template-columns:1fr auto}.global-nav nav{position:absolute;top:77px;right:0;left:0;display:none;flex-direction:column;gap:0;padding:14px 4.5% 24px;background:var(--paper);border-bottom:1px solid var(--line)}.global-nav nav.open{display:flex}.global-nav nav a{padding:15px 0;border-bottom:1px solid var(--line)}.nav-contact{display:none}.menu-button{justify-self:end;display:grid;gap:5px;width:32px;padding:7px;border:0;background:transparent}.menu-button span{display:block;height:1px;background:var(--ink)}
  .hero{min-height:1030px;padding-top:24px}.hero-meta span:nth-child(2){display:none}.hero-copy{width:100%;padding-top:90px}.hero h1{font-size:clamp(80px,24vw,116px)}.hero-deck{max-width:85%;font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.hero-portrait{right:7%;width:340px}.living-signal{right:-115px;bottom:40px;width:430px;opacity:.62}.hero-scroll{display:none}
  .impact>header{gap:20px}.impact-grid{grid-template-columns:1fr 1fr}.impact-number{min-height:285px;border-bottom:1px solid rgba(255,255,255,.18)}.impact-number:nth-child(2){border-right:0}.impact-number:nth-child(3),.impact-number:nth-child(4){border-bottom:0}.impact-number:nth-child(3){padding-left:0}.impact-number strong{margin-top:40px;font-size:76px}.impact-detail{grid-template-columns:1fr;min-height:0}.impact-signal{min-height:365px}.impact-signal>i,.impact-signal>span{width:275px}.impact-signal>i:nth-child(2){width:205px}.impact-signal>i:nth-child(3){width:130px}.impact-detail-copy{padding:48px 8% 60px}
  .section-heading{grid-template-columns:1fr}.section-heading h2{margin:20px 0 25px;font-size:62px}.section-heading p{max-width:360px}.expertise-stage{grid-template-columns:1fr}.expertise-selector button{min-height:90px}.expertise-panel{min-height:530px;padding:34px}.expertise-orbit{width:420px}.expertise-panel p{font-size:15px}
  .arrest-story{min-height:auto}.arrest-title{grid-template-columns:1fr}.arrest-title>p{margin-bottom:25px}.arrest-title h2{font-size:74px}.arrest-body{grid-template-columns:1fr;margin-top:65px}.arrest-account{columns:1;margin-top:34px}.arrest-dates{margin-top:30px}.arrest-archive>header{grid-template-columns:1fr}.arrest-archive>header h3{margin:18px 0}.arrest-archive>header p{max-width:410px}.arrest-archive-link{grid-template-columns:1fr auto;gap:20px}.arrest-archive-link strong{grid-column:1}.arrest-story blockquote{margin-top:75px}.arrest-signal{top:10%;right:-45%;width:115vw}
}

@media(max-width:520px){.hero{min-height:1040px}.hero-meta span:last-child{display:none}.hero-copy{padding-top:65px}.hero h1{font-size:78px}.hero-deck{max-width:100%;font-size:16px}.hero-portrait{right:7%;bottom:0;width:260px}.hero-portrait figcaption{right:8px;bottom:11px}.living-signal{right:-145px;bottom:20px;width:360px}.impact{padding-top:55px}.impact>header{display:block}.impact>header p{margin-top:18px}.impact-grid{grid-template-columns:1fr}.impact-number,.impact-number+.impact-number{min-height:230px;padding:22px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.impact-number strong{font-size:82px}.impact-label{margin-top:25px}.impact-number>i{right:4px}.impact-signal{min-height:310px}.impact-signal>i,.impact-signal>span{width:235px}.impact-signal>i:nth-child(2){width:174px}.impact-signal>i:nth-child(3){width:108px}.impact-detail-copy{padding:40px 25px 50px}.impact-detail-copy h2{font-size:45px}.impact-detail-copy p{font-size:15px}.expertise{padding-top:75px}.expertise-selector button{grid-template-columns:36px 1fr auto;padding:0 17px}.expertise-selector button:hover,.expertise-selector button.active{padding-left:24px}.expertise-selector button strong{font-size:24px}.expertise-panel{min-height:490px;padding:28px}.arrest-title h2{font-size:59px}.arrest-lead{font-size:23px}}

@media(max-width:860px){
  .projects,.training,.career,.photography{padding-top:78px;padding-bottom:78px}.project-browser{grid-template-columns:1fr}.project-list button{min-height:86px}.project-file{min-height:650px;padding:34px}.project-mark{width:360px;right:-130px}.project-file h3{font-size:59px}.project-file>p{font-size:16px}
  .training>header{grid-template-columns:1fr}.training>header h2{margin:20px 0 28px;font-size:74px}.training>header p{max-width:390px}.training-map-layout{grid-template-columns:1fr}.training-map{min-height:520px}.training-story{min-height:360px}.active-map-signal{width:145px}
  .career-years{grid-template-columns:repeat(5,1fr);row-gap:28px}.career-years::before{display:none}.career-years button{gap:7px}.career-card{grid-template-columns:1fr;grid-template-rows:auto;gap:22px;padding:35px}.career-card>strong{grid-row:auto;font-size:105px}.career-card h3,.career-card p,.career-card>div{grid-column:1}.career-card h3{font-size:53px}
  .film-stage{grid-template-columns:1fr;padding:55px 0}.film-trailer{width:min(100%,920px);margin:0 auto}.film-copy{padding-top:55px}.film-copy h2{font-size:74px}.film-copy dl{grid-template-columns:1fr}.film-copy dl div{border-bottom:1px solid rgba(255,255,255,.16)}
  .publication{padding-top:78px;padding-bottom:78px}.publication-feature{grid-template-columns:1fr}.publication-cover{min-height:520px;border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.publication-copy{min-height:620px}.publication-copy h3{font-size:78px}.publication-copy dl{margin-top:65px}
  .photo-wall{grid-template-columns:1fr}.photo-focus{min-height:620px}.photo-arrow-nav{right:24px;left:24px}.contact-sheet button{min-height:210px}
  .archive>header{grid-template-columns:1fr;padding-top:75px}.archive>header h1,.archive>header h2{margin:20px 0 28px;font-size:72px}.archive>header p{max-width:420px}.archive-controls{grid-template-columns:1fr}.archive-controls label{margin-top:10px}.archive-list>a{grid-template-columns:52px 1fr 25px;gap:15px}.archive-list>a>strong{grid-column:2}.archive-list>a>i{grid-column:3;grid-row:1/3}.archive footer h2{font-size:76px}.archive footer>div{grid-template-columns:1fr}.archive footer nav{margin:18px 0}.archive-teaser-inner{grid-template-columns:1fr;padding-top:75px}.archive-teaser-heading{display:grid;grid-template-columns:.55fr 1fr;gap:20px}.archive-teaser-heading h2{margin:0}.archive-teaser-heading p,.archive-teaser-heading>a{grid-column:2}.archive-stat-grid{grid-template-columns:1fr 1fr}.archive-stat-grid>a:nth-child(2){border-right:0}
}

@media(max-width:520px){
  .arrest-archive>header h3{font-size:45px}.arrest-records{grid-template-columns:1fr}.arrest-records a{min-height:145px}.project-list button{grid-template-columns:35px 1fr}.project-list button small{display:none}.project-file{min-height:600px;padding:25px}.project-file h3{font-size:48px}.project-result{grid-template-columns:1fr}.training-map{min-height:450px}.training-point span{display:none}.training-story h3{font-size:45px}
  .career-years{grid-template-columns:repeat(3,1fr);padding:25px 10px}.career-card{padding:26px}.career-card>strong{font-size:85px}.career-card h3{font-size:43px}.career-card>div{gap:15px}.film-stage{padding-top:38px}.film-trailer{padding:8px}.film-trailer-meta,.film-trailer-caption{font-size:5px}.film-copy h2{font-size:58px}.film-copy>p{font-size:17px}.film-links{align-items:flex-start;flex-direction:column}.film-strip{gap:8px}.publication{padding:70px 4.5%}.publication .section-heading{margin-bottom:38px}.publication-cover{min-height:360px}.publication-cover::after{inset:10px}.publication-cover>span{right:18px;bottom:18px;left:18px;font-size:8px}.publication-copy{min-height:0;padding:34px 25px 40px}.publication-copy>span{font-size:9px}.publication-copy h3{margin:35px 0 24px;font-size:55px}.publication-copy>p{font-size:16px}.publication-copy dl{grid-template-columns:1fr;margin-top:45px}.publication-copy dl div{border-bottom:1px solid rgba(255,255,255,.16)}.publication-actions{align-items:flex-start;flex-direction:column}.photo-focus{min-height:500px;padding:20px}.photo-arrow-nav{right:20px;left:20px}.photo-arrow-nav button{min-width:48px;width:48px;height:48px;padding:0}.photo-arrow-nav button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-caption h3{font-size:38px}.photo-caption p{font-size:8px}.contact-sheet{grid-template-columns:1fr}.contact-sheet button{min-height:175px}.archive-marquee{height:50px;font-size:23px}.archive>header h1,.archive>header h2{font-size:58px}.archive-controls>div{gap:4px}.archive-controls button{padding:6px 9px}.archive-controls label{grid-template-columns:1fr}.archive-count span:last-child{display:none}.archive-list>a{grid-template-columns:42px 1fr 20px;min-height:145px}.archive-list h2,.archive-list h3{font-size:22px}.archive footer h2{font-size:61px;margin-bottom:65px}.archive-teaser-inner{gap:55px;padding-bottom:75px}.archive-teaser-heading{display:block}.archive-teaser-heading h2{margin-top:30px}.archive-teaser-heading p{margin-top:22px}.archive-career-total{grid-template-columns:1fr auto;gap:18px}.archive-career-total>strong{font-size:125px}.archive-career-total>span{grid-column:1/-1;font-size:21px}.archive-career-total>i{position:absolute;top:15px;right:5px}.archive-stat-grid{grid-template-columns:1fr}.archive-stat-grid>a,.archive-stat-grid>a:nth-child(2){border-right:0}.archive-stat-grid strong{font-size:58px}.trailer-modal{padding:2vw}.trailer-modal>div{width:96vw}.trailer-close{top:14px;right:10px}
}

/* Readability pass: preserve the editorial hierarchy without microscopic type. */
.hero-meta,.kicker,.hero-portrait figcaption,.signal-core small,.direction,.hero-scroll,
.impact>header span,.impact-index,.impact-signal::before,.impact-detail-copy>span,.impact-detail-copy li,
.section-heading>span,.expertise-selector button span,.expertise-panel>span,
.arrest-story>header,.arrest-title>p,.arrest-archive>header>span,.arrest-records a>span,
.arrest-records small,.project-list button span,.project-list button small,.file-number,
.project-file>small,.project-result span,.training>header>span,.training-point span,
.training-story>small,.career-years button span,.career-card>span,.films>header,
.film-trailer-meta,.film-trailer-meta>strong,.film-trailer-caption,.film-copy>span,
.film-copy dt,.photo-focus>span,.photo-caption small,.contact-sheet button span,
.contact-sheet button small,.archive>header>span,.archive-controls label span,
.archive-count,.archive-list small,.archive-list>a>strong,.archive footer>span{
  font-size:12px;
}
.global-nav nav a,.nav-contact,.button-primary,.button-text,.expertise-panel>a,
.project-file>a,.career-card button,.film-links button,.film-links a,.film-trailer-caption button,
.photo-caption nav button,.archive-controls button,.archive footer nav a,
.archive footer>div>a,.trailer-close,.training-story>strong{
  font-size:11px;
}
.hero-portrait figcaption strong{font-size:12px}
.impact-note,.photo-caption p,.film-copy dd,.archive-controls input{font-size:14px}
.section-heading p,.arrest-account p,.arrest-archive>header p,.training>header p,
.training-story>p,.career-card p,.archive>header p,.archive footer p{font-size:14px}
.arrest-dates dd,.arrest-records p,.project-result strong{font-size:11px}

/* Full dossier archive: interactive evidence totals and a six-card homepage index. */
.archive-proof-grid{display:grid;grid-template-columns:repeat(6,1fr);margin:0 4.5% 55px;border-top:1px solid rgba(255,255,255,.25);border-left:1px solid rgba(255,255,255,.25)}
.archive-proof-grid button{position:relative;min-height:165px;display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:0;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);background:transparent;color:var(--cream);text-align:left;transition:.25s}
.archive-proof-grid button:hover,.archive-proof-grid button.active{background:rgba(239,90,66,.12)}
.archive-proof-grid strong{color:var(--coral);font-family:Georgia,serif;font-size:54px;font-weight:400;line-height:1}
.archive-proof-grid span{max-width:150px;margin-top:auto;font-family:Georgia,serif;font-size:16px;line-height:1.05}
.archive-proof-grid i{position:absolute;top:20px;right:18px;color:var(--coral);font-style:normal}
.archive-stat-grid{grid-template-columns:repeat(3,1fr)}
.archive-stat-grid>a{min-height:185px}
.archive-stat-grid>a:nth-child(3n){border-right:0}
.archive-stat-grid>a:last-child{border-right:0}
.archive footer .footer-contact{display:flex;flex-wrap:wrap;gap:10px}.archive footer .footer-contact a{min-height:48px;display:flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid var(--line);font-size:12px;line-height:1;transition:.25s}.archive footer .footer-contact a:hover{border-color:var(--coral);background:var(--coral);color:white;transform:translateY(-2px)}.archive footer .footer-contact .footer-email{min-width:255px;align-items:flex-start;flex-direction:column;gap:7px;text-transform:none;letter-spacing:.04em}.archive footer .footer-contact .footer-email small{color:var(--coral);font:9px "Courier New",monospace;letter-spacing:.12em;text-transform:uppercase}.archive footer .footer-contact .footer-email:hover small{color:white}
.archive footer .footer-contact .footer-phone{min-width:190px;align-items:flex-start;flex-direction:column;gap:7px;text-transform:none;letter-spacing:.04em}.archive footer .footer-contact .footer-phone small{color:var(--coral);font:9px "Courier New",monospace;letter-spacing:.12em;text-transform:uppercase}.archive footer .footer-contact .footer-phone:hover small{color:white}

/* Cross-browser and touch QA: preserve effects in Safari and keep controls comfortably tappable. */
.global-nav{-webkit-backdrop-filter:blur(18px)}.hero-portrait figcaption{-webkit-backdrop-filter:blur(10px)}.publication-cover>span{-webkit-backdrop-filter:blur(10px)}.photo-arrow-nav button{-webkit-backdrop-filter:blur(12px)}.trailer-modal{-webkit-backdrop-filter:blur(18px)}
.hero-grid{-webkit-mask-image:linear-gradient(to bottom,black,transparent 87%)}.file-grid{-webkit-mask-image:linear-gradient(to bottom,black,transparent 73%)}
.training-point,.career-years button{min-width:44px;min-height:44px}.training-story button,.career-card button,.film-trailer-caption button,.film-links button,.film-links a,.publication-actions a,.archive-controls button,.trailer-close{min-height:44px}.trailer-close{min-width:44px;display:grid;place-items:center}.footer-email,.footer-phone{overflow-wrap:anywhere}
@supports (min-height:100svh){@media(min-width:861px){.hero{min-height:calc(100svh - 78px)}}}
@supports (overflow:clip){body{overflow-x:clip}}

@media(max-width:860px){
  .menu-button{min-width:44px;min-height:44px}
  .archive-proof-grid{grid-template-columns:repeat(3,1fr)}
  .archive-stat-grid{grid-template-columns:repeat(2,1fr)}
  .archive-stat-grid>a:nth-child(3n){border-right:1px solid rgba(255,255,255,.25)}
  .archive-stat-grid>a:nth-child(2n){border-right:0}
  .project-list button{min-height:105px}
  .project-file{min-height:760px}
}

@media(max-width:520px){
  .archive-proof-grid{grid-template-columns:1fr 1fr;margin-bottom:40px}
  .archive-proof-grid button{min-height:145px;padding:17px}
  .archive-proof-grid strong{font-size:46px}
  .archive-proof-grid span{font-size:14px}
  .archive-stat-grid{grid-template-columns:1fr}
  .archive-stat-grid>a,.archive-stat-grid>a:nth-child(3n){border-right:0}
  .project-role{grid-template-columns:1fr;gap:7px}
  .project-role strong{font-size:19px}
  .project-contributions{grid-template-columns:1fr}
  .project-contributions li{min-height:0}
  .archive footer .footer-contact{display:grid;grid-template-columns:1fr 1fr}.archive footer .footer-contact a{min-width:0}.archive footer .footer-contact .footer-email{grid-column:1/-1;min-width:0}
  .archive footer .footer-contact .footer-phone{grid-column:1/-1;min-width:0}
  .publication-cover{min-height:0;aspect-ratio:792/612}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
.trailer-modal[hidden]{display:none!important}
