/* An editorial frame for a material-led research practice. */
:root{--bg:#0a0a0a;--fg:#f4f4ed;--muted:#a9aaa4;--line:#34352f;--accent:#d8f55b;--purple:#151610}
body{font-size:17px;line-height:1.6}
header,main,footer{max-width:1640px;padding-left:4%;padding-right:4%}
header{padding-top:26px;padding-bottom:24px;border-bottom:1px solid var(--line);gap:30px}
.name{font-weight:700;letter-spacing:-.04em}.name span{font-weight:400;letter-spacing:0}
nav{gap:8px}nav a{border:1px solid var(--line);border-radius:100px;padding:6px 17px;font-size:14px}
nav a:hover,nav a[aria-current]{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.language-switch a{font-family:monospace;font-size:14px}
.home header .name span{display:none}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:600;letter-spacing:-.055em}
em{font-family:inherit;font-style:normal;font-weight:inherit;color:var(--accent)}
.intro{padding:35px 0 64px;grid-template-columns:1.2fr 1fr;column-gap:14%;row-gap:42px}
.intro .masthead{grid-column:1/-1;font-size:clamp(70px,10.55vw,167px);font-weight:800;line-height:1;letter-spacing:-.075em;text-transform:uppercase;color:var(--accent);white-space:nowrap;padding-bottom:30px;border-bottom:1px solid var(--line)}
.intro-statement{align-self:start}.intro-statement .eyebrow{font-size:14px;letter-spacing:.02em;margin-bottom:24px;text-transform:none;max-width:380px}
.intro-statement h2{font-size:clamp(42px,5.3vw,78px);line-height:1.01}
.intro-statement h2 em{color:var(--fg)}
.intro-note{max-width:460px;align-self:start;padding:0}.intro-portrait{width:86px;height:86px;border-radius:0;margin-bottom:18px;filter:grayscale(1)}
.intro-note p{font-size:19px;line-height:1.45;color:var(--fg);margin-bottom:14px}
.text-link{text-decoration-color:#6b6e5c;font-size:15px}
.selected{border-top:1px solid var(--line);padding-top:24px}
.section-heading{align-items:baseline;margin-bottom:30px}.section-heading h2{font-family:Arial,Helvetica,sans-serif;text-transform:uppercase;font-size:16px;font-weight:700;letter-spacing:.02em}
.section-heading>span{font-family:monospace;font-size:13px}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 24px;counter-reset:projects}
.project{position:relative;min-width:0}.image-wrap{background:#151515}
.project .image-wrap img{aspect-ratio:1.18;object-fit:cover;transition:transform .5s ease,filter .5s ease}
.project .image-wrap img.process-preview{object-fit:contain;background:#151515}
.project:hover img{transform:scale(1.035)}
.project-label{padding-top:15px}.project-label h2{font-size:clamp(20px,1.7vw,28px);font-weight:500;line-height:1.12;letter-spacing:-.035em}
.project-label>span{font-size:13px;font-family:monospace;line-height:1.5;margin-top:10px}
.project>p{font-size:15px;line-height:1.55;margin-top:9px;max-width:42ch}
.open-project{background:var(--accent);color:#0a0a0a;font-size:13px;border-radius:0;bottom:0;right:0;padding:9px 13px;opacity:0}
.project:hover .open-project,.project:focus-visible .open-project{opacity:1}
.research-band{background:var(--accent);color:#10120b;margin-top:100px;padding:46px 4%;border:0}
.research-band .eyebrow,.research-band p,.research-band .row-num,.research-band>p:not(.eyebrow){color:#343b24}
.research-band em{color:#10120b}.research-band>h2{font-size:clamp(34px,4.5vw,65px);line-height:1.08;max-width:1000px;font-weight:600}
.research-band .index-row{border-color:#10120b45}.research-band a:hover{color:#10120b}.index-row h3{font-size:clamp(23px,2.3vw,34px);font-weight:500}
.practice{margin-top:85px}.practice .index-row{padding:27px 0}.row-num{font-family:monospace;font-size:14px}
.page-heading{padding-top:45px;padding-bottom:45px}.page-heading h1{font-size:clamp(44px,7vw,105px);font-weight:600;line-height:1.04;max-width:1150px}
.page-heading .eyebrow{color:var(--accent);font-size:14px}.back{margin-bottom:42px}.lead{color:#c9cbc1;max-width:800px}
.prose{grid-template-columns:1fr 2fr;gap:7%;margin-top:72px}.prose h2{font-size:clamp(25px,2.6vw,36px);font-weight:500;max-width:320px}
.prose p,.prose li{color:#c9cbc1}.metadata{border-top:1px solid var(--line);padding-top:22px}dt{font-family:monospace;font-size:13px}dd{font-size:16px}
.gallery img,.knit-gallery img{background:#141414}.gallery{gap:24px}figcaption{font-size:14px;line-height:1.5}
.press-feature{background:#171914;border:1px solid #5d6740}.press-title{color:var(--accent)}.press-feature p:not(.eyebrow){color:var(--muted)}
.next-project h2,.footer-name{font-family:Arial,Helvetica,sans-serif;font-weight:600}.next-project h2{font-size:clamp(29px,4vw,58px)}
footer{padding-top:42px;padding-bottom:35px;gap:28px}.footer-name{font-size:clamp(32px,4vw,60px);letter-spacing:-.055em;color:var(--accent)}
::selection{background:var(--accent);color:#0a0a0a}
@media(min-width:1001px){.home .project:nth-child(3n+2){padding-top:34px}.home .project:nth-child(3n){padding-top:68px}}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{column-gap:7%}.intro-note p{font-size:18px}.intro .masthead{font-size:10.4vw}}
@media(max-width:760px){header,main,footer{padding-left:5%;padding-right:5%}header{gap:18px;padding-top:20px;padding-bottom:20px}.home header{grid-template-columns:1fr auto}.home header .name{display:none}header nav{gap:6px;flex-wrap:wrap}nav a{padding:5px 12px}.intro{padding-top:28px;padding-bottom:36px;row-gap:30px;grid-template-columns:1fr}.intro .masthead{font-size:17.4vw;line-height:.94;letter-spacing:-.075em;white-space:normal;padding-bottom:26px}.masthead span{display:block;font-size:15.6vw;line-height:1.08}.intro-statement .eyebrow{font-size:14px;margin-bottom:16px;max-width:none}.intro-statement h2{font-size:44px}.intro-note{display:grid;grid-template-columns:76px 1fr;gap:0 18px;max-width:none}.intro-portrait{grid-row:1/3;width:76px;height:76px;margin:0}.intro-note p{font-size:17px;margin:0 0 10px}.intro-note .text-link{grid-column:2;font-size:14px}.section-heading{align-items:start}.section-heading>span{max-width:130px;text-align:right}.project-grid{gap:35px 18px}.research-band{margin-top:65px;padding:30px 23px}.research-band>h2{font-size:35px}.prose{grid-template-columns:1fr;gap:20px;margin-top:46px}.prose h2{max-width:none}.page-heading h1{font-size:49px;overflow-wrap:anywhere}.page-heading{padding-top:27px}.back{margin-bottom:30px}.practice{margin-top:60px}footer{margin-top:70px}.open-project{opacity:1}}
@media(max-width:640px){.project-grid{grid-template-columns:1fr}.project .image-wrap img{aspect-ratio:1.3}.project-label h2{font-size:25px}.project>p{font-size:16px}.research-band .index-row{grid-template-columns:36px 1fr 20px;gap:9px}}
@media(prefers-reduced-motion:reduce){.project .image-wrap img{transition:none}.project:hover img{transform:none}}

header{grid-template-columns:1fr auto}.home header{grid-template-columns:1fr auto}@media(max-width:760px){header{grid-template-columns:1fr}.home header{display:flex;justify-content:flex-end}}


/* Oswald Medium, the display font loaded by the producer reference. */
@font-face{font-family:'Oswald';src:url('/assets/fonts/Oswald-Medium.woff') format('woff');font-style:normal;font-weight:500;font-display:swap}
.intro .masthead{font-family:'Oswald',Arial,sans-serif;font-weight:500;font-size:clamp(50px,14.5vw,230px);line-height:1.1;letter-spacing:-.025em;text-transform:uppercase;white-space:nowrap;padding:0 0 30px;margin:0}
.intro .masthead span{font:inherit;display:inline}
@media(max-width:760px){.intro .masthead{font-size:25vw;line-height:1.08;white-space:normal;padding-bottom:24px}.intro .masthead span{display:block;font-size:19.5vw}}

/* White, ink and lilac; photographic colour is revealed on interaction. */
:root{--bg:#fff;--fg:#151318;--muted:#655f6b;--line:#ded9e4;--accent:#7950aa;--purple:#eee6f8;--lilac:#d8bdf1}
body{background:var(--bg);color:var(--fg)}
.intro .masthead,.footer-name{color:var(--fg)}
nav a:hover,nav a[aria-current]{background:var(--lilac);color:var(--fg);border-color:var(--lilac)}
.intro-statement h2 em{color:var(--accent)}
.text-link{text-decoration-color:#b594d4}
.image-wrap,.project .image-wrap img.process-preview,.gallery img,.knit-gallery img,.print-hero img{background:#f3f0f5}
.open-project{background:var(--lilac);color:var(--fg);z-index:1}
.research-band{background:var(--purple);color:var(--fg)}
.research-band .eyebrow,.research-band p,.research-band .row-num,.research-band>p:not(.eyebrow){color:#574963}
.research-band em,.research-band a:hover{color:#69428e}
.research-band .index-row{border-color:#cdbedb}
.lead,.prose p,.prose li,.intro-note p{color:#403b46}
.press-feature{background:#f5effa;border-color:#d8c6e8}
.press-title,.page-heading .eyebrow{color:var(--accent)}
::selection{background:var(--lilac);color:var(--fg)}
main img{filter:none;transition:transform .45s ease}
.intro-portrait{filter:none}
.project:hover img,.project:focus-visible img,figure:hover img,figure:focus-within img,main img:hover{filter:none}
@media(hover:none){body:not(.home) main img{filter:none}.project:active img{filter:none}}
@media(prefers-reduced-motion:reduce){main img{transition:none}}

/* Geometric name lettering; accessible text is retained on the heading. */
.intro .masthead{display:flex;align-items:flex-end;gap:3.4%;width:100%;line-height:1;font-size:inherit;white-space:normal}
.intro .masthead .name-first{display:block;width:27%;height:auto;filter:none}
.intro .masthead .name-last{display:block;width:69.6%;height:auto;filter:none}
@media(max-width:760px){.intro .masthead{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.intro .masthead .name-first{width:43%}.intro .masthead .name-last{width:100%}}

/* Two complementary text families; the name remains a standalone wordmark. */
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/IBMPlexMono-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/IBMPlexMono-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
:root{--font-text:'IBM Plex Mono',monospace;--font-display:'Oswald',Arial,sans-serif}
body{font-family:var(--font-text);font-size:16px;line-height:1.7;font-weight:400}
h1,h2,h3,.name,.footer-name,.press-title,.type-cover strong{font-family:var(--font-display);font-weight:500;font-style:normal;letter-spacing:-.015em;text-transform:uppercase}
.intro-statement h2{font-family:var(--font-display);font-weight:500;font-size:clamp(48px,5.8vw,88px);line-height:1.06;letter-spacing:-.025em;text-transform:uppercase}
em{font-family:inherit;font-weight:inherit;font-style:normal}
.intro-statement .eyebrow,.name span,nav,.eyebrow,.section-heading>span,.project-label>span,.row-num,dt,dd,figcaption,.text-link,.open-project,footer small{font-family:var(--font-text);font-weight:400;font-style:normal;letter-spacing:0}
.name{font-size:27px}.name span{font-size:14px;text-transform:none;line-height:1.55}
.intro-note p{font-size:17px;line-height:1.65}
.section-heading h2{font-family:var(--font-display);font-weight:500;font-size:25px;letter-spacing:0}
.section-heading>span,.project-label>span,.row-num,dt,figcaption{font-size:14px;line-height:1.6}
.project-label h2{font-family:var(--font-display);font-weight:500;font-size:clamp(25px,2.15vw,33px);line-height:1.16;letter-spacing:-.01em}
.project>p{font-size:15px;line-height:1.7;max-width:none}
.research-band>h2{font-family:var(--font-display);font-weight:500;font-size:clamp(36px,4.6vw,68px);line-height:1.12;letter-spacing:-.015em}
.index-row h3{font-family:var(--font-display);font-weight:500;font-size:clamp(27px,2.7vw,38px);line-height:1.18;letter-spacing:-.01em}
.index-row p,.process-strip p{font-size:16px;line-height:1.7}
.page-heading h1{font-family:var(--font-display);font-weight:500;font-size:clamp(45px,7vw,100px);line-height:1.07;letter-spacing:-.02em}
.lead,.large-copy{font-family:var(--font-text);font-size:clamp(18px,1.6vw,22px);line-height:1.65;letter-spacing:-.02em}
.prose h2{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,2.7vw,38px);line-height:1.18;letter-spacing:-.01em}
.prose p,.prose li{font-size:16px;line-height:1.75}
.next-project h2,.footer-name{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em}
.footer-name{font-size:clamp(34px,4vw,60px)}
.press-title{font-size:38px;line-height:1.15}
.type-cover strong{font-size:clamp(32px,3.5vw,49px)}
@media(max-width:760px){.intro-statement h2{font-size:clamp(43px,10.5vw,66px)}.intro-note p{font-size:16px}.page-heading h1{font-size:clamp(42px,10vw,64px);overflow-wrap:normal}.project-label h2{font-size:29px}.research-band>h2{font-size:37px}.prose h2{font-size:30px}.index-row h3{font-size:28px}.name{font-size:25px}}

/* Research and leadership are separate editorial groups. */
.featured-research .project-grid,.leadership .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 30px}
.home .featured-research .project,.home .leadership .project{padding-top:0}
.featured-research .project .image-wrap img{aspect-ratio:1.75}
.leadership{margin-top:76px;padding-top:28px}
.section-intro{max-width:820px;margin:0 0 30px;font-size:16px}
.leadership .project .image-wrap img{aspect-ratio:2;object-position:center}
.all-work-link{margin-top:36px;font-size:16px}
@media(max-width:640px){.featured-research .project-grid,.leadership .project-grid{grid-template-columns:1fr;gap:34px}.featured-research .project .image-wrap img{aspect-ratio:1.4}.leadership .project .image-wrap img{aspect-ratio:1.6}.leadership{margin-top:55px}.all-work-link{font-size:14px}.home header{justify-content:flex-start}header nav{gap:5px}header nav a{padding:6px 9px}}
.visual-journey{margin:65px 0;padding-top:28px;border-top:1px solid var(--line)}
.journey-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 18px;margin-top:28px}
.journey-card{min-width:0;display:block;color:var(--fg)}
.journey-card img,.journey-ticket{display:block;width:100%;aspect-ratio:1.22;object-fit:cover;background:#eee7f5}
.journey-card img.document{object-fit:contain;background:#f3f0f5}
.journey-card h3{font-family:var(--font-display);font-size:17px;line-height:1.25;letter-spacing:-.025em;text-transform:none;margin:8px 0}
.journey-card p,.journey-card time{font-family:var(--font-text);font-size:13px;line-height:1.6}
.journey-card time{display:block;margin-top:10px;color:var(--accent)}
.journey-card:hover h3{text-decoration:underline;text-underline-offset:3px}
.journey-ticket{display:flex;align-items:flex-end;padding:18px;font:400 28px/1.1 var(--font-display);color:#7950aa;overflow-wrap:anywhere}
.journey-card .context{font-size:12px;color:var(--muted);margin-top:6px}
@media(max-width:1200px){.journey-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.journey-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.journey-card h3{font-size:16px}.journey-ticket{font-size:23px;padding:12px}.journey-card p,.journey-card time{font-size:13px}}
/* Broad, heavy headings balance the horizontal geometric wordmark. */
@font-face{font-family:'Archivo Black';src:url('/assets/fonts/ArchivoBlack-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--font-display:'Archivo Black',Arial,sans-serif}
h1,h2,h3,.name,.footer-name,.press-title,.type-cover strong,
.intro-statement h2,.section-heading h2,.project-label h2,.research-band>h2,
.index-row h3,.page-heading h1,.prose h2,.next-project h2{font-weight:400;font-stretch:normal;letter-spacing:-.035em}
.intro-statement h2{font-size:clamp(38px,4.25vw,65px);line-height:1.09}
.section-heading h2{font-size:21px;letter-spacing:-.025em}
.project-label h2{font-size:clamp(22px,1.85vw,28px);line-height:1.18}
.research-band>h2{font-size:clamp(32px,3.9vw,56px);line-height:1.15}
.index-row h3{font-size:clamp(23px,2.2vw,32px);line-height:1.22}
.page-heading h1{font-size:clamp(38px,5.6vw,80px);line-height:1.1;overflow-wrap:break-word}
.prose h2{font-size:clamp(25px,2.3vw,33px);line-height:1.22}
.name{font-size:22px}.footer-name{font-size:clamp(30px,3.4vw,49px)}
.press-title{font-size:32px}.next-project h2{font-size:clamp(28px,3.4vw,48px)}
@media(max-width:760px){.intro-statement h2{font-size:clamp(34px,8.6vw,54px)}.page-heading h1{font-size:clamp(34px,8.4vw,54px)}.project-label h2{font-size:25px}.research-band>h2{font-size:clamp(27px,7vw,37px)}.prose h2{font-size:27px}.index-row h3{font-size:24px}.name{font-size:22px}}

/* A single name and a slow metallic surface for the home introduction. */
.home header{display:flex;justify-content:flex-end}
.home .intro{position:relative;isolation:isolate;padding-bottom:82px}
.silver-wave{position:absolute;z-index:-1;inset:-20px -4vw 0;overflow:hidden;pointer-events:none;opacity:.48;mask-image:linear-gradient(transparent,#000 16%,#000 76%,transparent)}
.silver-wave svg{width:125%;height:115%;position:absolute;left:-12%;top:-7%}
.ribbon{transform-origin:center;animation:silver-drift 18s ease-in-out infinite alternate;will-change:transform}
.ribbon-two{opacity:.38;animation:silver-counter 24s ease-in-out infinite alternate}
@keyframes silver-drift{from{transform:translate(-65px,70px) rotate(-7deg) scale(1.08)}to{transform:translate(75px,-65px) rotate(7deg) scale(1.16)}}
@keyframes silver-counter{from{transform:translate(100px,-80px) rotate(6deg)}to{transform:translate(-90px,65px) rotate(-8deg)}}
.motion-toggle{position:absolute;bottom:17px;right:0;background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:30px;padding:5px 11px;font:11px var(--font-text);color:var(--fg);cursor:pointer}
.motion-toggle:hover,.motion-toggle:focus-visible{background:#e4d6f5}
.motion-paused .ribbon{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ribbon{animation:none;will-change:auto}.silver-wave{opacity:.24}}
@media(max-width:760px){.home header{justify-content:flex-end}.silver-wave{opacity:.34}.silver-wave svg{width:180%;left:-40%}.home .intro{padding-bottom:66px}}

/* Give the research statement priority over the signature. */
.home .intro .masthead{gap:2.2%;padding-bottom:24px}
.home .intro .masthead .name-first{width:17%}
.home .intro .masthead .name-last{width:44%}
.home .intro-statement h2{font-size:clamp(54px,6.2vw,96px);line-height:1.02;letter-spacing:-.045em;margin:0}
@media(max-width:760px){
 .home .intro .masthead{flex-direction:row;align-items:flex-end;gap:3.4%}
 .home .intro .masthead .name-first{width:27%}
 .home .intro .masthead .name-last{width:69.6%}
 .home .intro-statement h2{font-size:clamp(48px,12.5vw,80px);line-height:1.03}
}
/* A restrained lilac glow, confined to the opening screen. */
.silver-wave::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 66% 46%,rgba(174,132,222,.19),rgba(202,177,233,.08) 30%,transparent 65%);animation:lilac-breath 12s ease-in-out infinite alternate;pointer-events:none}
@keyframes lilac-breath{from{opacity:.28;transform:translate(-2%,3%) scale(.95)}to{opacity:.8;transform:translate(3%,-2%) scale(1.08)}}
.motion-paused .silver-wave::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.silver-wave::after{animation:none;opacity:.3}}
/* The signature returns to navigation; the making statement becomes the mark. */
.home header{justify-content:space-between;align-items:center}
.home header .name{display:block;font-size:20px;letter-spacing:-.035em}
.home .intro{grid-template-columns:1.5fr 1fr;column-gap:9%;padding-top:45px}
.making-wordmark{display:flex;flex-direction:column;gap:6px;margin:0;width:100%;line-height:1}
.making-wordmark img{display:block;width:100%;height:auto}
.making-wordmark .word-through{width:95.9%}
.making-wordmark .word-making{width:91.6%}
.home .intro-note{align-self:center}
@media(max-width:760px){.home header{flex-wrap:wrap;gap:14px}.home header .name{font-size:18px}.home .intro{grid-template-columns:1fr;gap:32px;padding-top:30px}.making-wordmark{max-width:560px;gap:4px}.home .intro-note{align-self:start}}

/* Half-size lettering with the original lilac emphasis. */
.home .making-wordmark{width:50%;gap:3px}
@media(max-width:760px){.home .making-wordmark{width:50%;max-width:280px;gap:2px}}
/* Wider, softer lettering fills the opening without restoring its old height. */
.home .intro{grid-template-columns:1.3fr 1fr;column-gap:5%}
.home .making-wordmark{width:88%;gap:4px}
@media(max-width:760px){.home .intro{grid-template-columns:1fr;gap:28px}.home .making-wordmark{width:82.5%;max-width:462px;gap:3px}}
/* Edge-to-edge case covers, with crops centred on the project subjects. */
.project .image-wrap img.process-preview{object-fit:cover}
.project .image-wrap img[src$="yunost-clo.jpg"]{object-position:48% 60%}
.project .image-wrap img[src$="course-final-show.jpg"]{object-position:50% 43%}

.project-video iframe{display:block;width:100%;max-width:540px;height:690px;border:1px solid var(--line);background:#fff;border-radius:4px}.project-video .video-note{font-size:12px;color:var(--muted)}@media(max-width:600px){.project-video iframe{height:620px}}

/* Ease back the horizontal stretch while keeping the lettering height. */
.home .making-wordmark{width:77.33%}
@media(max-width:760px){.home .making-wordmark{width:72.5%;max-width:406px}}

.studio-film{display:block;width:100%;max-height:80vh;background:#111;border-radius:0}

.social-archive{margin:64px 0}.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.social-post{min-width:0}.social-post h3{font-size:20px;line-height:1.3;margin:0 0 16px}.social-post iframe{display:block;width:100%;max-width:540px;height:690px;border:1px solid var(--line);background:white;margin-bottom:16px}.social-archive .section-intro{max-width:850px}@media(max-width:760px){.social-grid{grid-template-columns:1fr}.social-post iframe{height:620px}.social-archive{margin:44px 0}}

.social-icons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--fg);transition:background .2s,color .2s}.social-icon svg{width:23px;height:23px;display:block}.social-icon:hover,.social-icon:focus-visible{background:var(--purple);color:var(--accent);border-color:var(--accent)}

/* Compact public-engagement preview, one row at every breakpoint. */
.journey-collapsed .journey-card:nth-child(n+6){display:none}
.journey-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}
.journey-toggle{font:inherit;background:none;border:0;padding:8px 0;cursor:pointer;color:inherit}
.journey-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(max-width:1200px){.journey-collapsed .journey-card:nth-child(n+5){display:none}}
@media(max-width:900px){.journey-collapsed .journey-card:nth-child(n+4){display:none}}
@media(max-width:600px){.journey-collapsed .journey-card:nth-child(n+3){display:none}}

footer .footer-links{align-items:center}

/* Silver–lilac motion accompanies the whole Main page. */
body.home{position:relative;isolation:isolate;background:#fff}
.home .page-waves{position:fixed;inset:0;z-index:-1;opacity:.36;mask-image:none;overflow:hidden;pointer-events:none}
.home .page-waves svg{height:120%;width:125%;top:-10%;left:-12%}
.home .intro{isolation:auto}
.home .research-band{background:rgba(239,231,248,.72)}
@media(max-width:760px){.home .page-waves{opacity:.27}.home .page-waves svg{width:180%;left:-40%}}
@media(prefers-reduced-motion:reduce){.home .page-waves{opacity:.22}}

/* Shared header geometry for Main and every inner page. */
body header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:30px;padding-top:26px;padding-bottom:24px}
body header .name,body.home header .name{display:block;font-family:var(--font-display);font-size:20px;font-weight:500;line-height:1.2;letter-spacing:-.035em;white-space:nowrap}
body header nav{display:flex;align-items:center;flex-wrap:wrap}
@media(max-width:760px){body header,body.home header{flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:20px;padding-bottom:20px}body header .name,body.home header .name{font-size:18px}}

.monsters-knit-cover img{display:block;width:100%;height:320px;object-fit:cover;object-position:50% 65%}
@media(max-width:760px){.monsters-knit-cover img{height:230px}}

/* Hero uses the shared display face, with reversed lilac emphasis. */
.home .making-heading{font-family:var(--font-display);font-size:clamp(56px,7.2vw,112px);font-weight:500;line-height:1.02;letter-spacing:-.025em;text-transform:uppercase;margin:0}
.making-heading span{display:block;color:#111}
.making-heading .making-accent{color:var(--accent)}
@media(max-width:760px){.home .making-heading{font-size:clamp(42px,11vw,82px)}}

.practice .experience-location{font-size:13px;color:var(--accent);margin:10px 0 6px}

.studio-showreel{margin:60px 0}.studio-showreel iframe{display:block;width:100%;aspect-ratio:16/9;border:0;margin:24px 0 16px;background:#111}.studio-showreel .section-heading{flex-wrap:wrap;gap:20px}

.lecture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px;margin-top:28px}.lecture-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:16px}.lecture-card h3{font-size:23px}.lecture-card p{font-size:13px;margin:12px 0}.lecture-card .text-link{font-size:13px}@media(max-width:760px){.lecture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.lecture-grid{grid-template-columns:1fr}}

.school-portrait-video{display:block;width:min(100%,360px);aspect-ratio:9/16;border:0;margin:24px 0;background:#111}

.mercury-hero{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mercury-hero img{width:100%;height:520px;object-fit:cover;object-position:center}.mercury-hero figure:first-child img{object-fit:contain;background:#000}@media(max-width:760px){.mercury-hero{gap:12px}.mercury-hero img{height:320px}}

.project-source-archive{margin:44px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-source-archive summary{cursor:pointer;font-family:var(--font-text);font-size:16px}.project-source-archive>p{margin:20px 0}.project-source-archive ol{padding-left:24px}.project-source-archive li{padding:10px 0;font-size:15px}.project-source-archive time{display:block;font-size:13px;color:var(--muted)}.project-source-archive a:hover{text-decoration:underline}

/* Shared black, white and lilac theme across every page. */
:root{color-scheme:dark;--bg:#080808;--fg:#f5f3f7;--muted:#b6b0bf;--line:#36313c;--accent:#c6a0f1;--purple:#21172c;--lilac:#c6a0f1}
body,body.home{background:var(--bg);color:var(--fg)}
.making-heading span{color:var(--fg)}
.making-heading .making-accent{color:var(--accent)}
.lead,.prose p,.prose li,.intro-note p{color:#d4cedc}
nav a:hover,nav a[aria-current],.open-project{background:var(--accent);color:#100c15;border-color:var(--accent)}
.research-band,.home .research-band{background:rgba(33,23,44,.94);color:var(--fg)}
.research-band .eyebrow,.research-band p,.research-band .row-num,.research-band>p:not(.eyebrow){color:#c8bed4}
.research-band em,.research-band a:hover{color:var(--accent)}
.research-band .index-row{border-color:#4b3b5b}
.press-feature{background:#1b1423;border-color:#59426f}
.image-wrap,.project .image-wrap img.process-preview,.gallery img,.knit-gallery img,.print-hero img,.monsters-cover img,.artwork-hero img,.artwork-gallery img,.journey-card img,.journey-card img.document{background:#141116}
.journey-ticket{background:var(--purple);color:var(--accent)}
.motion-toggle{background:rgba(15,12,19,.9);color:var(--fg)}
.motion-toggle:hover,.motion-toggle:focus-visible{background:#33233f}
.home .page-waves{opacity:.12}
.social-icon svg [fill="white"]{fill:var(--bg)}
.social-icon:hover svg [fill="white"]{fill:var(--purple)}
::selection{background:var(--accent);color:#100c15}
@media(max-width:760px){.home .page-waves{opacity:.10}}
@media(prefers-reduced-motion:reduce){.home .page-waves{opacity:.08}}
