:root{
--font-display:'Cabinet Grotesk',sans-serif;--font-body:'Satoshi',sans-serif;
--text-xs:clamp(.75rem,.72rem + .12vw,.825rem);--text-sm:clamp(.875rem,.84rem + .15vw,.95rem);--text-base:clamp(1rem,.97rem + .15vw,1.08rem);--text-lg:clamp(1.125rem,1rem + .4vw,1.4rem);--text-xl:clamp(1.6rem,1.2rem + 1.5vw,2.5rem);--text-hero:clamp(3.75rem,1.1rem + 5.8vw,6.75rem);
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
--color-bg:oklch(98% .006 85);--color-surface:oklch(94.5% .012 85);--color-text:oklch(23% .015 165);--color-muted:oklch(45% .013 165);--color-primary:oklch(34% .05 168);--color-inverse:oklch(98% .006 85);--color-border:oklch(23% .015 165 / .16);--color-deep:#163e35;--color-on-deep:#f6f6ef;
}
[data-theme=dark]{--color-bg:oklch(18% .013 165);--color-surface:oklch(23% .015 165);--color-text:oklch(95% .006 85);--color-muted:oklch(75% .009 165);--color-primary:oklch(83% .045 165);--color-inverse:oklch(18% .013 165);--color-border:oklch(95% .006 85 / .19)}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:oklch(18% .013 165);--color-surface:oklch(23% .015 165);--color-text:oklch(95% .006 85);--color-muted:oklch(75% .009 165);--color-primary:oklch(83% .045 165);--color-inverse:oklch(18% .013 165);--color-border:oklch(95% .006 85 / .19)}}
.wrap{width:min(1200px,calc(100% - var(--space-16)));margin-inline:auto}
.header{background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:20}
.header-inner{min-height:88px;display:flex;align-items:center;gap:var(--space-8)}
.brand{display:flex;gap:var(--space-3);align-items:center;font-size:var(--text-sm);font-weight:700;letter-spacing:.03em;margin-right:auto}
.brand svg{width:36px;flex-shrink:0;color:var(--color-primary)}
.brand small{display:block;font-size:var(--text-xs);letter-spacing:.12em;font-weight:500;color:var(--color-muted)}
nav{display:flex;gap:var(--space-8)}
nav a,.theme-button{font-size:var(--text-sm);min-height:44px;display:inline-flex;align-items:center}
nav a:hover,.text-link:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:6px}
.theme-button{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);white-space:nowrap}
.theme-button:hover{background:var(--color-surface)}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--space-16);padding-block:var(--space-16) var(--space-12);align-items:center}
.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em}
.hero-copy>.eyebrow{color:var(--color-primary);margin-bottom:var(--space-6)}
h1{font:800 var(--text-hero)/.9 var(--font-display);letter-spacing:-.05em;margin-bottom:var(--space-6)}
h1 span{color:var(--color-primary)}
.role{font-size:var(--text-lg);font-weight:700;line-height:1.35;margin-bottom:var(--space-4)}
.intro{color:var(--color-muted);max-width:45ch}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-8)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-6);font-size:var(--text-sm);font-weight:700;padding:var(--space-4) var(--space-5);min-height:52px}
.button.primary{background:var(--color-primary);color:var(--color-inverse)}
.button.primary:hover{opacity:.86}
.button.secondary{border:1px solid var(--color-border)}
.button.secondary:hover{background:var(--color-bg)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-sm);font-weight:700}
.hero-meta{font-size:var(--text-xs);letter-spacing:.1em;color:var(--color-muted);margin-top:var(--space-8)}
.photo-frame{position:relative;background:var(--color-surface);aspect-ratio:1/1.12;overflow:hidden}
.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:48% 48%}
.class-tag{position:absolute;bottom:0;right:0;background:var(--color-deep);color:var(--color-on-deep);font:800 var(--text-xl)/1 var(--font-display);padding:var(--space-4) var(--space-6)}
figcaption{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);letter-spacing:.045em;font-weight:500;color:var(--color-muted);padding-top:var(--space-3)}
.facts-wrap{background:var(--color-surface);border-block:1px solid var(--color-border)}
.facts{display:grid;grid-template-columns:repeat(5,1fr);padding-block:var(--space-8)}
.facts>div{padding-inline:var(--space-6);border-right:1px solid var(--color-border)}
.facts>div:first-child{padding-left:0}.facts>div:last-child{border:0}
dt{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;color:var(--color-muted);margin-bottom:var(--space-2)}
dd{font:700 var(--text-xl)/1.1 var(--font-display);font-variant-numeric:tabular-nums}
dd span{font:500 var(--text-base)/1 var(--font-body);color:var(--color-muted)}
dd .measurement-note{display:block;margin-top:var(--space-2);font-size:var(--text-sm);white-space:nowrap}
.section{padding-block:var(--space-24)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-10)}
h2{font:700 var(--text-xl)/1.1 var(--font-display);letter-spacing:-.025em}
.section-heading h2,.profile-layout h2,.academics-layout h2{margin-top:var(--space-4)}
.film-layout{display:grid;grid-template-columns:1.9fr 1fr;gap:var(--space-10);align-items:start}
.video-shell{aspect-ratio:16/9;position:relative;background:#15221e;overflow:hidden}
.video-shell>img{width:100%;height:100%;object-fit:cover}
.video-shell::after{content:"";position:absolute;inset:0;background:#0003;pointer-events:none}
.video-shell.playing::after{display:none}
.video-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play-button{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-3);color:white;font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;z-index:1}
.play-symbol{display:grid;place-items:center;width:68px;height:68px;border:1px solid #ffffff90;border-radius:100%;background:#163e35e8;font-size:var(--text-lg);padding-left:var(--space-1)}
.play-button:hover .play-symbol{background:#163e35}
.duration{position:absolute;bottom:var(--space-4);right:var(--space-4);padding:var(--space-1) var(--space-2);background:#101b17;color:white;font-size:var(--text-xs);z-index:1}
.film-caption{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-5)}
h3{font-size:var(--text-lg);font-weight:700}
.film-caption>span{font-size:var(--text-xs);color:var(--color-muted)}
.video-note{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-3)}
.video-note a{text-decoration:underline;text-underline-offset:3px;display:inline-block;padding-block:var(--space-2)}
.film-aside{padding:var(--space-8);background:var(--color-surface)}
.film-aside h3{margin-block:var(--space-4)}
.film-aside>p:not(.eyebrow){font-size:var(--text-sm);color:var(--color-muted)}
.film-aside .button{width:100%;margin-block:var(--space-6)}
.film-detail{display:flex;justify-content:space-between;gap:var(--space-4);border-top:1px solid var(--color-border);padding-block:var(--space-4);font-size:var(--text-sm)}
.film-detail span{font-size:var(--text-xs);color:var(--color-muted)}
.profile-section{background:var(--color-surface);padding-block:var(--space-20)}
.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24)}
.profile-intro,.academic-copy{color:var(--color-muted);margin-top:var(--space-6);max-width:44ch}
.team-list article{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-6);margin-bottom:var(--space-6)}
.team-list article h3{margin-top:var(--space-3);margin-bottom:var(--space-2)}
.team-list article p:not(.eyebrow){font-size:var(--text-sm)}
.muted{color:var(--color-muted)}
.profile-note span{font-size:var(--text-xs);letter-spacing:.08em}
.profile-note p{font-size:var(--text-sm);margin-top:var(--space-2)}
.academics-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24);align-items:center}
.academic-card{border:1px solid var(--color-border);padding:var(--space-8)}
.academic-card>strong{display:block;font:800 var(--text-hero)/1 var(--font-display);color:var(--color-primary);margin-block:var(--space-4) var(--space-6);letter-spacing:-.04em}
.academic-row{display:flex;justify-content:space-between;gap:var(--space-4);border-top:1px solid var(--color-border);padding-block:var(--space-3);font-size:var(--text-sm)}
.academic-row span{color:var(--color-muted)}
.academic-card>p{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-4)}
.contact-section{background:var(--color-deep);color:var(--color-on-deep);padding-block:var(--space-16)}
.contact-heading{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24);margin-top:var(--space-4);margin-bottom:var(--space-12)}
.contact-heading h2{font-size:clamp(2rem,1.4rem + 2vw,3.5rem)}
.contact-heading p{font-size:var(--text-sm);color:#d4dfd8}
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24)}
.contacts article{padding-top:var(--space-6);border-top:1px solid #ffffff40;min-width:0}
.contacts h3{margin-block:var(--space-3) var(--space-2)}
.contacts a{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-base);overflow-wrap:anywhere}
.contacts a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-bottom{display:flex;justify-content:space-between;gap:var(--space-8);margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid #ffffff40;font-size:var(--text-xs);color:#d4dfd8}
.contact-bottom a{white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
.contact-section :focus-visible{outline-color:#f6f6ef}
.footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);font-size:var(--text-xs);padding-block:var(--space-6)}
.footer a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1000px){.hero{gap:var(--space-8)}.header-inner{gap:var(--space-4)}nav{gap:var(--space-4)}.profile-layout,.academics-layout,.contact-heading,.contacts{gap:var(--space-12)}.film-layout{grid-template-columns:1.5fr 1fr;gap:var(--space-6)}.film-aside{padding:var(--space-6)}.film-caption{display:block}.film-caption>span{display:block;margin-top:var(--space-2)}.film-detail{display:block}.film-detail strong{display:block;margin-top:var(--space-1)}}
@media(max-width:760px){.wrap{width:calc(100% - var(--space-10))}.header-inner{flex-wrap:wrap;gap:0;min-height:0;padding-top:var(--space-3)}.brand{font-size:var(--text-xs)}.brand svg{width:30px}.theme-button{margin-left:auto}nav{order:3;width:100%;justify-content:space-between;padding-top:var(--space-2)}nav a{font-size:var(--text-sm)}.hero{grid-template-columns:1fr;padding-top:var(--space-10);gap:var(--space-8)}.hero-copy>.eyebrow{margin-bottom:var(--space-5)}h1{font-size:clamp(3.75rem,13vw,5.5rem)}.role br{display:none}.intro{max-width:50ch}.hero-meta{margin-top:var(--space-6)}.photo-frame{aspect-ratio:1.15/1}.photo-frame img{object-position:center 45%}.facts{grid-template-columns:repeat(3,1fr);gap:var(--space-6) 0}.facts>div{padding-inline:var(--space-3)}.facts>div:nth-child(3){border-right:0}.facts>div:nth-child(4){padding-left:0}dd{font-size:var(--text-xl)}dt{font-size:var(--text-xs);letter-spacing:.035em}.section{padding-block:var(--space-16)}.section-heading{display:block;margin-bottom:var(--space-6)}.section-heading>a{margin-top:var(--space-3)}.film-layout,.profile-layout,.academics-layout,.contact-heading,.contacts{grid-template-columns:1fr;gap:var(--space-8)}.film-detail{display:flex}.film-detail strong{margin:0}.profile-section{padding-block:var(--space-16)}.contact-heading{margin-bottom:var(--space-8);gap:var(--space-4)}.contact-bottom{flex-direction:column;gap:var(--space-3);margin-top:var(--space-8)}.footer{flex-wrap:wrap;gap:var(--space-2) var(--space-6)}.footer>span:first-child{width:100%}.contacts a{font-size:var(--text-sm)}}
@media print{.header,.theme-button,.play-button,.video-note,.actions,.footer a{display:none}body{color:#111;background:white;font-size:12pt}.wrap{width:100%}.hero{grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 0}.hero h1{font-size:36pt}.section,.profile-section,.contact-section{padding:1rem 0}.photo-frame{max-height:230px}.film-aside{display:none}.film-layout{display:block}.video-shell{max-width:360px}.contact-section{color:#111;background:white}.contact-heading p,.contact-bottom{color:#333}.contacts a{font-size:10pt}.facts{padding:1rem 0}.academic-card>strong{font-size:36pt}}
