@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#171918;--ink:#f2f3ed;--muted:#a2a7a0;--line:#3b3e38;--accent:#e8ff57}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:var(--bg);z-index:10}header{display:flex;align-items:center;justify-content:space-between;padding:25px 5%;border-bottom:1px solid var(--line);gap:25px}.brand{font-size:30px;font-weight:800;letter-spacing:0}.brand span{font-size:12px;letter-spacing:0;vertical-align:top;margin-left:6px}nav{display:flex;gap:30px;font-size:14px}nav a:hover{color:var(--accent)}.languages{display:flex;gap:9px;align-items:center;font-size:14px}.languages button{border:0;background:none;color:var(--muted);padding:5px}.languages button[aria-pressed=true]{color:var(--accent)}main{overflow:hidden}section{padding:90px 5%}.eyebrow{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:0;margin-bottom:25px;display:flex;justify-content:space-between}.hero{min-height:760px;position:relative;padding-top:65px}.hero h1{font-size:clamp(60px,9vw,148px);line-height:1.04;letter-spacing:0;max-width:1100px;font-weight:500;margin:40px 0 30px}.role{color:var(--accent);font-size:clamp(17px,2vw,26px)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:65px;align-items:end}.intro{font-size:clamp(20px,2.1vw,30px);line-height:1.45;max-width:680px}.sub{color:var(--muted);font-size:16px;margin-top:22px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{padding:15px 22px;border:1px solid var(--line);font-size:14px;display:inline-block}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.button:hover{border-color:var(--accent)}.diagram{height:270px;position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;transform:rotate(-8deg);max-width:410px;margin:auto}.part{border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:0;color:var(--muted)}.part:nth-child(2){transform:translateY(-20px)}.part:nth-child(3){transform:translateY(20px)}.part:nth-child(4){background:var(--accent);color:var(--bg);border-color:var(--accent);grid-column:span 2}.part:nth-child(5){transform:translate(14px,18px)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-bottom:50px}h2{font-size:clamp(36px,5vw,70px);line-height:1.12;letter-spacing:0;font-weight:500;margin:0}h3{font-weight:500}.section-heading p{color:var(--muted);max-width:560px;margin:5px 0}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project{display:block;text-align:left;padding:0;border:0;color:inherit;background:none;width:100%}.cover{aspect-ratio:1.5;background:color-mix(in srgb,var(--bg) 88%,var(--ink));border:1px solid var(--line);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.cover span{font-size:clamp(45px,6vw,100px);letter-spacing:0;line-height:1;color:var(--muted)}.cover .caption{position:absolute;bottom:20px;left:24px;font-size:12px;letter-spacing:0;color:var(--muted)}.cover.two{background:var(--accent)}.cover.two span{color:var(--bg)}.cover.two .caption{color:color-mix(in srgb,var(--bg) 75%,var(--accent))}.cover.three{background:color-mix(in srgb,var(--ink) 78%,var(--bg))}.cover.three span,.cover.three .caption{color:var(--bg)}.cover.four{background:color-mix(in srgb,var(--bg) 84%,var(--accent))}.project:hover .cover{border-color:var(--accent)}.project-top{display:flex;justify-content:space-between;gap:20px;margin:20px 0 6px;font-size:20px}.project small{color:var(--muted);font-size:14px}.project p{color:var(--muted);font-size:14px;margin:8px 0}.about-content{display:grid;grid-template-columns:1fr 1.3fr;gap:10vw}.about-content .big{font-size:clamp(24px,3vw,42px);line-height:1.35;margin:0;letter-spacing:0}.about-content p{margin-top:0}.about-content .text p{color:var(--muted)}.manifesto{padding-top:90px;font-size:clamp(44px,7vw,110px);line-height:1.1;letter-spacing:0;max-width:1250px;color:var(--accent)}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:0 65px}.service{padding:30px 0;border-top:1px solid var(--line)}.service h3{font-size:28px;margin:10px 0}.service p{color:var(--muted);max-width:540px}.number{font-size:13px;color:var(--muted)}.process{background:var(--bg);color:var(--ink)}.process .eyebrow{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:55px}.step{padding-top:22px;border-top:1px solid color-mix(in srgb,var(--bg) 28%,var(--accent))}.step .number{color:color-mix(in srgb,var(--bg) 75%,var(--accent))}.step h3{font-size:23px;line-height:1.3}.step p{font-size:14px;color:color-mix(in srgb,var(--bg) 85%,var(--accent))}.experience-row{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:30px;padding:30px 0;border-top:1px solid var(--line)}.experience-row h3{margin:0;font-size:24px}.experience-row p{margin:4px 0;color:var(--muted);font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid var(--line);padding-top:55px;margin-top:30px}.stat strong{font-size:clamp(45px,5vw,80px);font-weight:500;letter-spacing:0;color:var(--accent);display:block}.stat span{font-size:14px;color:var(--muted)}.personal{display:grid;grid-template-columns:1fr 1.3fr;gap:10vw}.personal p{color:var(--muted);margin-top:0}.interests{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.interests span{border:1px solid var(--line);padding:8px 15px;font-size:14px}.contact h2{font-size:clamp(50px,7vw,108px);max-width:1100px}.contact p{max-width:640px;color:var(--muted);margin:35px 0}.contact-list{display:flex;gap:35px;flex-wrap:wrap;font-size:22px}.unavailable{color:var(--muted);cursor:default;border-bottom:1px dotted var(--line)}.contact small{display:block;color:var(--muted);margin-top:22px}footer{padding:30px 5%;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.case-hero{height:45vw;max-height:550px;min-height:260px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-top:40px;background:color-mix(in srgb,var(--bg) 88%,var(--ink));font-size:clamp(28px,6vw,80px);color:var(--muted)}.case-section{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;padding:45px 0;border-bottom:1px solid var(--line)}.case-section h2{font-size:32px}.case-section p{color:var(--muted);margin:0}.back{display:inline-block;margin-bottom:30px;border-bottom:1px solid var(--accent);font-size:14px}@media(max-width:800px){header{padding:20px 6%;flex-wrap:wrap;gap:12px}nav{order:3;width:100%;justify-content:space-between;gap:8px;font-size:13px}.hero{min-height:0;padding-top:40px}.hero h1{font-size:clamp(56px,12vw,96px);margin-top:25px}.hero-bottom,.section-heading,.about-content,.personal{grid-template-columns:1fr;gap:30px}.hero-bottom{margin-top:35px}.diagram{width:80%;height:210px;margin-top:30px}.work-grid{gap:35px;grid-template-columns:1fr}section{padding:60px 6%}.services{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.step{display:grid;grid-template-columns:35px 1fr;gap:10px}.step h3{margin:0}.step p{grid-column:2;margin:0 0 15px}.experience-row{grid-template-columns:1fr 1fr;gap:10px}.experience-row>div:last-child{grid-column:1/-1}.stats{grid-template-columns:1fr 1fr}.manifesto{padding-top:50px}footer{flex-direction:column;padding:25px 6%}.case-section{grid-template-columns:1fr;gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand img{display:block}.logo-hero{display:flex;justify-content:center;align-items:center}.logo-hero img{width:min(100%,390px);height:auto;transform:rotate(-8deg)}.contact-list a:hover{color:var(--accent)}

.experience-item{border-top:1px solid var(--line)}.experience-item:last-child{border-bottom:1px solid var(--line)}.experience-item .experience-row{border:0;grid-template-columns:1fr 1fr 1.5fr 24px;align-items:center;cursor:pointer;list-style:none}.experience-row::-webkit-details-marker{display:none}.experience-row::marker{content:""}.experience-row:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.experience-row:hover h3{color:var(--accent)}.experience-role{font-size:16px}.experience-toggle{position:relative;width:20px;height:20px}.experience-toggle:before,.experience-toggle:after{content:"";position:absolute;background:var(--accent);left:2px;top:9px;width:16px;height:2px}.experience-toggle:after{transform:rotate(90deg)}.experience-item[open] .experience-toggle:after{transform:rotate(0deg)}.experience-details{margin-left:57%;padding:0 48px 30px 0;max-width:660px}.experience-details p{margin:0;color:var(--muted);font-size:16px;line-height:1.75}@media(max-width:800px){.experience-item .experience-row{grid-template-columns:1fr auto;gap:8px;padding:24px 0}.experience-row .number{grid-column:1;grid-row:1}.experience-row h3{grid-column:1;grid-row:2}.experience-role{grid-column:1;grid-row:3}.experience-toggle{grid-column:2;grid-row:1 / span 3}.experience-details{margin-left:0;padding-right:30px}}

.logo-hero{position:relative;display:block}.hero-video{width:100%;height:auto;max-height:430px;object-fit:contain;display:block}.video-toggle{display:block;margin:12px 0 0 auto;padding:7px 12px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:14px}.showreel-frame{aspect-ratio:16/9;background:color-mix(in srgb,var(--bg) 96%,var(--ink));border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:clamp(18px,3vw,36px)}.back-to-top{position:fixed;right:28px;bottom:28px;z-index:20;background:var(--accent);color:var(--bg);border:1px solid var(--bg);padding:13px 20px;font-size:14px;box-shadow:none}.back-to-top[hidden]{display:none}@media(max-width:800px){.back-to-top{right:16px;bottom:16px}.hero-video{max-height:340px}}

.hero{background:#000;isolation:isolate}.hero-background{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-background .hero-video{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}.hero-background:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.25));pointer-events:none}.hero-background .video-toggle{position:absolute;right:5%;bottom:24px;z-index:2;background:#000b;color:var(--ink);margin:0}.hero-bottom{grid-template-columns:minmax(0,680px);gap:0}.hero .sub{color:var(--muted)}.hero .eyebrow{color:var(--muted)}@media(max-width:800px){.hero{background:#000}.hero-background{display:none}.hero-bottom{grid-template-columns:1fr}}

.hero-background .hero-video{object-fit:contain;background:#000}.hero-background:after{display:none}.cover img{width:100%;height:100%;object-fit:cover}.case-media{display:block;width:100%;max-height:650px;object-fit:contain;margin-top:40px}.showreel-video{display:block;width:100%;aspect-ratio:16/9;background:#000}.process{background:var(--bg);color:var(--ink)}

.about-profile{display:flex;flex-direction:column;gap:30px}.portrait{display:block;width:min(100%,440px);height:auto;aspect-ratio:1;object-fit:contain}.about-content .text{align-self:center}@media(max-width:800px){.portrait{width:min(100%,380px)}}

*,*::before,*::after{letter-spacing:0}nav{gap:56px}nav a{text-transform:lowercase}.about-content .text{align-self:start}.about-content .text .big{color:var(--ink);margin:0 0 30px}.hero h1{font-size:clamp(60px,8.2vw,136px)}@media(max-width:800px){nav{justify-content:flex-start;gap:24px;flex-wrap:wrap}.hero h1{font-size:clamp(42px,10vw,80px);overflow-wrap:anywhere}}

/* Spacing and supplied identity shapes */
header{border:0;padding-block:32px;gap:50px}.header-main{display:flex;align-items:center;gap:clamp(80px,9vw,160px);min-width:0}nav{gap:clamp(56px,5.4vw,96px)}.languages{flex-shrink:0}section{padding-block:clamp(120px,10vw,180px)}.hero{min-height:max(880px,calc(100svh - 106px));padding-top:80px;padding-bottom:140px}.hero h1{margin-top:55px;margin-bottom:44px}.hero-bottom{margin-top:80px}.section-heading{margin-bottom:80px;gap:70px}.eyebrow{margin-bottom:40px}.work-grid{column-gap:48px;row-gap:85px}.project-top{margin-top:28px}.project p{margin:16px 0}.about-content{column-gap:11vw}.about-content .text .big{margin-bottom:42px}.about-content .text p{margin-bottom:26px}.manifesto{padding-top:140px;font-size:clamp(42px,5.9vw,96px)}.manifesto-row{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:45px}.services{column-gap:90px;row-gap:48px}.service{padding:38px 0 30px}.service h3{margin-top:30px;margin-bottom:24px}.service-mark{display:flex;align-items:center;justify-content:space-between}.steps{gap:35px;margin-top:85px}.step{padding-top:0;border-top:0}.step h3{margin-top:30px;margin-bottom:24px}.step p{line-height:1.8}.experience-item .experience-row{padding-block:42px}.experience-details{padding-bottom:42px}.contact{padding-block:180px}.contact p{margin-top:55px;margin-bottom:55px}.contact-list{gap:55px}.brand-shape{display:block;color:currentColor;flex-shrink:0}.brand-shape svg{display:block;width:100%;height:100%}.project-shape{width:32%;aspect-ratio:1;color:var(--accent);transition:transform .45s ease}.cover.two .project-shape,.cover.three .project-shape{color:var(--bg)}.project:hover .project-shape{transform:rotate(12deg)}.cover .brand-shape{font-size:inherit}.manifesto-shape{width:clamp(55px,7vw,115px);aspect-ratio:1;color:var(--accent)}.service-shape{width:65px;height:65px;color:var(--accent)}.step-shape{width:64px;height:64px;color:var(--bg);margin-bottom:42px}.step .brand-shape{color:var(--bg)}
@media(max-width:1100px){.header-main{gap:55px}nav{gap:45px}.steps{gap:24px}.step h3{font-size:21px}}
@media(max-width:800px){header{gap:25px;padding-block:25px}.header-main{width:100%;flex-direction:column;align-items:flex-start;gap:30px}.header-main nav{width:100%;order:initial;justify-content:flex-start;gap:26px;flex-wrap:wrap}.languages{position:absolute;right:6%;top:28px}section{padding-block:90px}.hero{min-height:0;padding-top:55px;padding-bottom:100px}.hero h1{margin-top:35px;margin-bottom:35px}.hero-bottom{margin-top:50px}.section-heading{gap:28px;margin-bottom:50px}.eyebrow{margin-bottom:30px}.work-grid{row-gap:55px}.manifesto{padding-top:80px}.manifesto-row{gap:20px;margin-bottom:30px}.manifesto-row>span:first-child{min-width:0;overflow-wrap:anywhere}.manifesto-shape{width:45px}.services{gap:20px}.service-shape{width:52px;height:52px}.steps{margin-top:55px;gap:38px}.step{display:grid;grid-template-columns:58px 1fr;gap:8px 20px}.step-shape{width:48px;height:48px;grid-column:1;grid-row:1 / span 3;margin-bottom:0}.step>.number{grid-column:2}.step h3{grid-column:2;margin:0 0 10px}.step p{grid-column:2;margin:0}.experience-item .experience-row{padding-block:30px}.contact{padding-block:100px}.contact-list{gap:28px}.contact p{margin-block:35px}}
@media(prefers-reduced-motion:reduce){.project-shape{transition:none}.project:hover .project-shape{transform:none}}

/* More personal voice and calmer hierarchy */
header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px}.header-main{grid-column:2;gap:70px}.languages{grid-column:3;justify-self:end}.hero h1{font-size:clamp(34px,3.3vw,54px);font-weight:500;max-width:760px;line-height:1.2;margin-top:65px;margin-bottom:24px}.hero .role{font-size:18px}.hero-bottom{margin-top:70px}.hero .intro{font-size:clamp(24px,2.4vw,38px);max-width:650px;line-height:1.5}.hero .button{font-weight:600;padding:17px 28px}.hero .buttons{margin-top:44px}.eyebrow-shape{width:26px;height:26px;color:var(--accent)}.process .eyebrow-shape{color:var(--accent)}.approach-note{margin-top:110px;display:grid;grid-template-columns:120px 1fr;gap:65px;max-width:1050px;align-items:start}.approach-shape{width:100px;height:100px;color:var(--accent)}.approach-note h3{font-size:clamp(26px,3vw,40px);line-height:1.3;margin:0 0 24px}.approach-note p{font-size:20px;line-height:1.7;color:var(--muted);margin:0}.service-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:65px}.service-heading h3{margin:0;font-size:28px}.service p{margin-top:30px}.process-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:9vw;align-items:start}.process-heading h2{max-width:430px}.process-heading>p{max-width:350px;margin-top:35px;font-size:18px;line-height:1.7}.process-item{border-top:1px solid var(--line)}.process-item:last-child{border-bottom:1px solid var(--line)}.process-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:50px 1fr 20px;gap:26px;padding:30px 0;align-items:start}.process-item summary::-webkit-details-marker{display:none}.process-item summary::marker{content:''}.process-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.process-shape{width:45px;height:45px;color:var(--bg)}.process-item h3{font-size:23px;line-height:1.35;margin:0 0 13px}.process-item summary p{margin:0;font-size:16px;line-height:1.6;max-width:650px}.process .experience-toggle{margin-top:10px}.process .experience-toggle:before,.process .experience-toggle:after{background:var(--bg)}.process-item[open] .experience-toggle:after{transform:rotate(0)}.process-details{padding:0 46px 30px 76px}.process-details p{font-size:16px;line-height:1.8;margin:0 0 22px}.process-details p:last-child{margin-bottom:0}.accordion-panel{overflow:hidden;display:flow-root}.contact h2{font-size:clamp(42px,5vw,76px);line-height:1.2;max-width:1000px}.contact p{font-size:20px;line-height:1.7;max-width:750px}.experience-toggle:after{transition:transform .34s ease}footer{align-items:center}
@media(max-width:1100px){.header-main{gap:40px}.header-main nav{gap:35px}.process-layout{gap:6vw;grid-template-columns:1fr 1.5fr}}
@media(max-width:800px){header{display:flex;justify-content:center;position:relative;padding-top:24px;padding-bottom:26px}.header-main{width:100%;align-items:center;gap:32px}.header-main nav{justify-content:center;gap:26px}.languages{position:absolute;right:6%;top:30px}.hero h1{font-size:34px;margin-top:40px}.hero .role{font-size:16px;max-width:420px}.hero-bottom{margin-top:50px}.hero .intro{font-size:26px}.approach-note{margin-top:75px;grid-template-columns:50px 1fr;gap:25px}.approach-shape{width:45px;height:45px}.approach-note p{font-size:17px}.service-heading{gap:20px}.service-heading h3{font-size:24px}.process-layout{grid-template-columns:1fr;gap:45px}.process-heading>p{max-width:600px}.process-item summary{grid-template-columns:35px 1fr 20px;gap:18px}.process-shape{width:30px;height:30px}.process-item h3{font-size:21px}.process-details{padding-left:53px;padding-right:30px}.contact p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.experience-toggle:after{transition:none}}

.menu-toggle{display:none}#nav[hidden]{display:none}@media(max-width:800px){header{display:grid;grid-template-columns:1fr auto auto;gap:22px;align-items:center;padding:24px 6%}.header-main{grid-column:1;grid-row:1;display:contents}.brand{justify-self:start;grid-column:1;grid-row:1}.languages{position:static;grid-column:2;grid-row:1;justify-self:end}.menu-toggle{display:flex;grid-column:3;grid-row:1;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;padding:10px;border:0;background:transparent;color:var(--ink)}.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;transition:transform .2s ease}.menu-open .menu-toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.header-main #nav{grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:12px;padding:22px 0 8px;font-size:23px}.header-main #nav a{padding:10px 0;width:100%}.header-main #nav[hidden]{display:none}}@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}

/* Unified navigation and open-ended lists */
header{display:flex;justify-content:center}.header-main{display:flex;align-items:center;justify-content:center;gap:70px;width:auto}.header-main nav{width:auto}.header-main .languages{position:static;justify-self:auto;margin-left:5px}.languages button{text-transform:lowercase}.eyebrow-shape{width:28px;height:28px;pointer-events:none}.process-item:last-child,.experience-item:last-child{border-bottom:0}html{scroll-behavior:smooth}
@media(max-width:1100px){.header-main{gap:40px}}
@media(max-width:800px){header{display:grid;grid-template-columns:1fr auto auto;justify-content:initial}.header-main{display:contents}.header-main .languages{grid-column:2;grid-row:1;position:static;margin-left:0}.header-main #nav{width:100%;grid-column:1/-1;grid-row:2}.eyebrow-shape{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.process-item:first-child,.experience-item:first-of-type{border-top:0}.hero .button,.back-to-top{text-transform:lowercase}
@media(max-width:800px){header{position:relative;z-index:100}.header-main .brand,.header-main .languages,.menu-toggle{position:relative;z-index:102}.header-main #nav{position:fixed;inset:0;z-index:101;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;margin:0;padding:110px 8% 70px;background:var(--bg);width:100%;height:100vh;height:100dvh;overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-24px);transition:opacity .35s ease,transform .35s cubic-bezier(.25,.8,.25,1),visibility 0s linear .35s;font-size:clamp(28px,8vw,44px)}.header-main #nav a{width:auto;padding:8px 16px;text-align:center}.menu-open .header-main #nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}.mobile-menu-open{overflow:hidden}.mobile-menu-open .back-to-top{visibility:hidden}.menu-open .brand,.menu-open .languages,.menu-open .menu-toggle{position:fixed;top:24px}.menu-open .brand{left:6%}.menu-open .menu-toggle{right:6%}.menu-open .languages{right:calc(6% + 66px)}}
@media(prefers-reduced-motion:reduce){.header-main #nav{transition:none;transform:none}}
/* Responsive process: stack before the two columns become cramped. */
@media(max-width:1100px){.process-layout{grid-template-columns:1fr;gap:48px}.process-heading{max-width:720px}.process-heading h2{max-width:none}.process-heading>p{max-width:650px;margin-top:26px}.process-list{min-width:0}.process-item summary{grid-template-columns:42px minmax(0,1fr) 20px;gap:22px}.process-details{padding-left:64px;padding-right:25px}}
@media(max-width:600px){.process{padding:64px 6% 72px}.process .eyebrow{margin-bottom:26px}.process-layout{gap:32px}.process-heading h2{font-size:38px;line-height:1.15}.process-heading>p{font-size:16px;line-height:1.65;margin-top:22px}.process-item summary{grid-template-columns:minmax(0,1fr) 22px;gap:0 12px;padding:26px 0;position:relative}.process-item summary>div{grid-column:1;grid-row:1;min-width:0}.process-item .process-shape{position:absolute;left:0;top:27px;width:26px;height:26px}.process-item h3{padding-left:40px;min-height:29px;font-size:20px;line-height:1.4;margin:0 0 18px}.process-item summary p{font-size:16px;line-height:1.65}.process-item .experience-toggle{grid-column:2;grid-row:1;margin-top:4px}.process-details{padding:0 34px 26px 0}.process-details p{font-size:16px;line-height:1.75;margin-bottom:20px}.process-item summary:focus-visible{outline-offset:2px}}

/* Explicit areas prevent auto-placement into an implicit narrow column. */
.process-item summary{grid-template-areas:'icon copy toggle';grid-template-columns:45px minmax(0,1fr) 20px}.process-item summary>.process-shape{grid-area:icon;position:static;margin:0}.process-item summary>div{grid-area:copy;min-width:0;width:auto;max-width:100%}.process-item summary>.experience-toggle{grid-area:toggle}.process-item summary h3,.process-item summary p,.process-details p{overflow-wrap:anywhere;word-break:normal}.process-list,.process-item,.process-details{min-width:0;max-width:100%}
@media(max-width:1100px){.process-item summary{grid-template-areas:'icon copy toggle';grid-template-columns:35px minmax(0,1fr) 20px;gap:20px}.process-item summary>.process-shape{width:32px;height:32px}}
@media(max-width:800px){.process-item summary{grid-template-areas:'icon copy toggle';grid-template-columns:30px minmax(0,1fr) 20px;gap:16px;padding:26px 0}.process-item summary>.process-shape{width:28px;height:28px}.process-item summary>div{display:block}.process-item h3{padding:0;min-height:0;font-size:20px;line-height:1.4;margin-bottom:14px}.process-item summary p{font-size:16px;line-height:1.65}.process-details{padding:0 0 28px 46px}}
@media(max-width:480px){.process-item summary{grid-template-areas:'icon copy toggle';grid-template-columns:26px minmax(0,1fr) 18px;gap:12px}.process-item summary>.process-shape{width:24px;height:24px}.process-item h3{font-size:19px}.process-details{padding-left:0;padding-right:0}.process-heading h2{font-size:34px}}
/* Language choice belongs to the mobile menu. */
@media(max-width:800px){header{grid-template-columns:1fr auto}.menu-toggle{grid-column:2}.header-main .languages{display:flex;position:fixed;top:auto;right:auto;left:50%;bottom:calc(46px + env(safe-area-inset-bottom));transform:translate(-50%,16px);margin:0;z-index:102;font-size:18px;gap:15px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s}.menu-open .header-main .languages{position:fixed;top:auto;right:auto;left:50%;bottom:calc(46px + env(safe-area-inset-bottom));transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.header-main #nav{padding-bottom:150px}.menu-open .header-main .languages button{padding:12px}}
@media(prefers-reduced-motion:reduce){.header-main .languages{transition:none}}
/* Keep the original header space; reveal the same navigation when scrolling up. */
header{position:sticky;top:0;z-index:100;background:var(--bg);transition:transform .3s cubic-bezier(.25,.8,.25,1);will-change:auto}header.header-hidden{transform:translateY(-110%);pointer-events:none}header.menu-open{transform:none;pointer-events:auto}@media(max-width:800px){header{position:sticky;top:0}}@media(prefers-reduced-motion:reduce){header{transition:none}}
/* Refined scale, original project and service layouts. */
.section-heading h2{font-size:clamp(46px,5.8vw,88px);font-weight:800;line-height:1.06;text-transform:uppercase}
.eyebrow>span{white-space:nowrap;flex-shrink:0}
#about .about-content{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7vw}
#about .about-profile{display:block}
#about .portrait{width:min(100%,380px);border-radius:0}
#about .text{min-width:0;align-self:start}
#about .text .big{font-size:clamp(26px,2.7vw,40px);font-weight:500;line-height:1.3;margin-bottom:34px}
#about .text p:not(.big){max-width:640px;font-size:16px;line-height:1.65;margin-bottom:24px}
#experience .section-heading{display:block;margin-bottom:60px}
.experience-item .experience-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'identity period' 'identity toggle';gap:10px 24px;padding-block:32px;align-items:start}
.experience-identity{grid-area:identity;min-width:0}
.experience-identity h3{font-size:clamp(21px,2vw,30px);font-weight:600;line-height:1.25;margin:0 0 10px}
.experience-company{display:block;color:var(--muted);font-size:17px;line-height:1.4}
.experience-row .experience-period{grid-area:period;font-size:15px;white-space:nowrap;line-height:1.5}
.experience-row>.experience-toggle{grid-area:toggle;justify-self:end;margin-top:0}
.experience-details{margin-left:0;padding:0 70px 34px 0;max-width:740px}
.experience-details p{font-size:16px;line-height:1.65}
.process-heading h2{font-size:clamp(44px,5vw,78px);font-weight:800;line-height:1.08;text-transform:uppercase}
.contact{text-align:center;padding-block:140px}
.contact .eyebrow{text-align:left}
.contact h2{font-size:clamp(42px,6vw,90px);font-weight:800;line-height:1.12;margin:55px auto 0;max-width:1150px;text-transform:none}
.contact p{max-width:620px;margin:48px auto;font-size:18px;line-height:1.65}
.contact-list{justify-content:center;gap:38px}
@media(max-width:800px){
.section-heading h2{font-size:clamp(36px,6.5vw,54px)}
#about .about-content{grid-template-columns:1fr;gap:36px}#about .portrait{width:min(65%,300px)}#about .text .big{font-size:28px;margin-bottom:28px}
#experience .section-heading{margin-bottom:40px}.experience-item .experience-row{padding-block:26px;gap:10px 18px}.experience-identity h3{font-size:21px}.experience-company{font-size:16px}.experience-row .experience-period{font-size:13px}.experience-details{padding-right:24px}
.process-heading h2{font-size:clamp(36px,6.5vw,54px)}.contact{padding-block:100px}.contact h2{font-size:clamp(34px,6vw,54px)}.contact p{font-size:17px;margin-block:36px}.contact-list{gap:24px}
}
@media(max-width:480px){.experience-identity h3{font-size:19px}.experience-company{font-size:15px}.experience-row .experience-period{font-size:12px}.contact h2 br{display:none}}
/* Case studies: quiet labels, expressive copy and an expandable media sequence. */
.case-page .back{display:inline-block;margin-bottom:35px}
.case-title{font-size:clamp(42px,6vw,88px);line-height:1.1;font-weight:600;margin:24px 0;overflow-wrap:anywhere}
.case-role{color:var(--muted);max-width:900px;line-height:1.6;margin:0 0 60px;font-size:17px}
.case-page .case-media{margin:0 0 80px;width:100%;height:auto;max-height:none;object-fit:contain}
.case-story{margin-top:80px}
.case-page .case-section{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:8%;padding:0;margin:90px 0;border:0;align-items:start}
.case-page .case-section h2{font-size:15px;font-weight:500;line-height:1.5;color:var(--muted);margin:7px 0;text-transform:uppercase}
.case-copy{min-width:0;max-width:850px}
.case-copy p{font-size:clamp(20px,2.3vw,34px);font-weight:400;line-height:1.4;color:var(--ink);margin:0 0 24px}
.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin:75px 0}
.case-figure{min-width:0;margin:0;align-self:start}.case-full{grid-column:1/-1}.case-half{grid-column:span 1}
.case-figure img,.case-figure video{display:block;width:100%;height:auto;background:var(--bg);object-fit:contain}
.case-figure figcaption{font-size:14px;color:var(--muted);line-height:1.5;margin-top:14px;overflow-wrap:anywhere}
@media(max-width:800px){.case-title{font-size:clamp(34px,6vw,54px)}.case-role{font-size:16px;margin-bottom:40px}.case-page .case-media{margin-bottom:50px}.case-story{margin-top:45px}.case-page .case-section{grid-template-columns:1fr;gap:20px;margin:55px 0}.case-copy p{font-size:22px}.case-gallery{gap:20px;margin:50px 0}.case-half{grid-column:1/-1}}
/* Shared content width; section backgrounds remain edge to edge. */
main>section{padding-inline:max(6%,calc((100% - 1440px)/2))}
header{padding-inline:max(6%,calc((100% - 1440px)/2))}
.header-main{max-width:1440px}
@media(min-width:801px){.hero-background{max-width:1440px;left:50%;right:auto;width:100%;transform:translateX(-50%)}}
/* Consistent corners for controls and rectangular content. */
button,.button{box-shadow:none}
.button,.back-to-top,.project .cover,.showreel-frame,.showreel-video,.case-hero,.case-media,.case-figure img,.case-figure video,#about .portrait{border-radius:8px}
.project .cover,.showreel-frame{overflow:hidden}
.hero .button.primary,.back-to-top{border:0;box-shadow:none}
.back-to-top{isolation:isolate;overflow:hidden;background:var(--accent);color:#171918}
.back-to-top::after{content:attr(data-label);position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;background:#171918;color:#fff;clip-path:var(--yellow-mask,inset(100% 0 0));pointer-events:none}
/* Shared accent sections for both palette versions. */
main>section.services-section,main>section#showreel,main>section#contact{--bg:var(--accent);--ink:#171918;--muted:#454338;--line:#8c772f;background:var(--accent);color:var(--ink)}
main>.services-section .eyebrow,main>#showreel .eyebrow,main>#contact .eyebrow{color:var(--muted)}
main>.process .process-heading>p,main>.process summary p,main>.process .process-details p{color:var(--muted)}
main>.process .process-shape{color:var(--accent)}
main>.services-section .service-shape,main>.services-section .eyebrow-shape,main>#showreel .eyebrow-shape,main>#contact .eyebrow-shape{color:var(--ink)}
main>.process .experience-toggle:before,main>.process .experience-toggle:after{background:var(--accent)}
main>#showreel .showreel-frame{background:color-mix(in srgb,var(--accent) 85%,#171918);border:0;color:#171918}

/* Editable typography, shared by the portfolio and case pages. */
body{font-family:var(--font-body,Inter,Arial,sans-serif)}
h1,h2,h3,.hero-name,.manifesto,.cover>span:not(.caption),.project-top{font-family:var(--font-heading,Inter,Arial,sans-serif)}

/* Align accordion copy to the summary copy at every breakpoint. */
.process-item{--copy-inset:71px}.process-details{padding-left:var(--copy-inset);padding-right:45px}
.experience-details{padding-left:0}
@media(max-width:1100px){.process-item{--copy-inset:55px}}
@media(max-width:800px){.process-item{--copy-inset:46px}}
@media(max-width:480px){.process-item{--copy-inset:38px}}
#contact .contact-list a:hover,#contact .contact-list a:focus-visible{color:var(--ink);text-decoration:underline;text-underline-offset:7px}
/* Reserve separate columns for text and the hero video. */
@media(min-width:801px){.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:5%;align-content:center}.hero>.eyebrow,.hero>h1,.hero>.role,.hero>.hero-bottom{grid-column:1;min-width:0;max-width:100%}.hero-bottom{display:block}.hero .intro{max-width:100%}.hero .hero-background{left:52%;right:0;top:0;bottom:0;width:48%;max-width:none;transform:none}.hero .hero-background .hero-video{object-fit:contain}}
.reel-player{position:relative;background:#000;border-radius:8px;overflow:hidden;isolation:isolate;aspect-ratio:16/9;color:#fff}
.reel-player video{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0}.reel-preview{position:absolute;inset:0;object-fit:cover!important;pointer-events:none}.has-started .reel-preview{display:none}
.reel-player button{background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.65);color:#fff;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;padding:12px;cursor:pointer}.reel-player button:hover{background:rgba(0,0,0,.8)}.reel-player button:focus-visible,.reel-player input:focus-visible{outline:2px solid #fff;outline-offset:4px}.reel-player button svg{width:24px;height:24px}.reel-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:72px!important;height:72px!important}.reel-play span{width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #fff;margin-left:4px}.reel-play.paused span{width:15px;height:20px;border:0;border-left:5px solid #fff;border-right:5px solid #fff;margin-left:0}.is-playing:not(:hover):not(:focus-within) .reel-play{opacity:0}
.reel-controls{position:absolute;z-index:4}.reel-audio{top:18px;right:18px;display:flex;align-items:center;gap:12px;flex-direction:row-reverse}.reel-volume{width:90px;accent-color:#fff}.reel-mute.muted{opacity:.65}.reel-full{right:18px;bottom:30px}.reel-seek{left:18px;bottom:10px;width:calc(100% - 36px);accent-color:#fff;cursor:pointer}.reel-error{position:absolute;left:20px;bottom:70px;background:#111;color:#fff!important;padding:12px;z-index:5;font-size:16px!important}.reel-error[hidden]{display:none}.reel-player:fullscreen{width:100%;height:100%;border-radius:0}
@media(hover:hover) and (pointer:fine){.reel-player.pointer-active .reel-main{cursor:none}.reel-player.pointer-active .reel-play{pointer-events:none}}
@media(max-width:600px){.reel-audio{top:10px;right:10px;gap:8px}.reel-player button{width:40px;height:40px;padding:9px}.reel-full{right:10px;bottom:30px}.reel-volume{width:70px}.reel-play{width:56px!important;height:56px!important}}

/* Supplied circular icons, with a matching rounded volume control. */
.reel-player button,.reel-player button:hover{padding:0;border:0;background:transparent;color:#fff;transition:color .18s ease}.reel-player button:hover,.reel-player button:focus-visible{color:var(--accent)}.reel-player button svg{width:100%;height:100%;display:block}.reel-mute.muted{opacity:1}.reel-full{bottom:18px}.reel-audio{gap:0}.reel-volume{appearance:none;-webkit-appearance:none;width:0;margin:0;opacity:0;visibility:hidden;pointer-events:none;height:42px;background:transparent;transition:width .2s ease,opacity .2s ease,margin .2s ease;accent-color:var(--accent)}.reel-audio:hover .reel-volume,.reel-audio:has(:focus-visible) .reel-volume{width:100px;margin-right:12px;opacity:1;visibility:visible;pointer-events:auto}.reel-volume::-webkit-slider-runnable-track{height:6px;background:#fff;border-radius:99px}.reel-volume::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #000;margin-top:-5px}.reel-volume:hover::-webkit-slider-runnable-track,.reel-volume:focus-visible::-webkit-slider-runnable-track{background:var(--accent)}.reel-volume:hover::-webkit-slider-thumb,.reel-volume:focus-visible::-webkit-slider-thumb{background:var(--accent)}.reel-volume::-moz-range-track{height:6px;background:#fff;border-radius:99px}.reel-volume::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid #000}.reel-player.pointer-active .reel-play{color:var(--accent)}
@media(hover:none){.reel-audio:has(:focus-visible) .reel-volume{width:80px}}

/* Full-width hero video with a bounded text column. */
@media(min-width:801px){.hero .hero-background{inset:0;left:0;right:0;width:100%;max-width:none;transform:none}.hero .hero-background .hero-video{width:100%;height:100%;object-fit:contain}}

.reel-player.is-preview .reel-play,.reel-player.is-preview .reel-controls{visibility:hidden;opacity:0;pointer-events:none}.reel-player.is-preview,.reel-player.is-preview .reel-main{cursor:pointer!important}

/* Accent is the resting color; hover changes scale instead of color. */
.reel-player button,.reel-player button:hover,.reel-player button:focus-visible{color:var(--accent)}
.reel-player button svg{transition:transform .18s ease,filter .18s ease}
.reel-player button:hover svg,.reel-player button:focus-visible svg{transform:none;filter:brightness(1.12)}
.reel-volume::-webkit-slider-runnable-track,.reel-volume::-moz-range-track{background:var(--accent)}
.reel-volume::-webkit-slider-thumb,.reel-volume::-moz-range-thumb{background:var(--accent)}
@media(prefers-reduced-motion:reduce){.reel-player button svg{transition:none}.reel-player button:hover svg,.reel-player button:focus-visible svg{transform:none}}

.reel-play svg path{stroke-width:28}
@media(max-width:600px){.reel-play svg path{stroke-width:30}}

/* Same hover visibility for preview and full playback. */
.reel-player .reel-play,.reel-player .reel-controls,
.reel-player.is-preview .reel-play,.reel-player.is-preview .reel-controls{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.reel-player:hover .reel-play,.reel-player:hover .reel-controls,
.reel-player.is-preview:hover .reel-play,.reel-player.is-preview:hover .reel-controls,
.reel-player:has(:focus-visible) .reel-play,.reel-player:has(:focus-visible) .reel-controls{visibility:visible;opacity:1;pointer-events:auto}
@media(hover:hover) and (pointer:fine){.reel-player.pointer-active .reel-play{pointer-events:none}}
@media(hover:none){.reel-player.touch-controls .reel-play,.reel-player.touch-controls .reel-controls{visibility:visible;opacity:1;pointer-events:auto}}

.reel-player.controls-idle .reel-play,.reel-player.controls-idle .reel-controls{visibility:hidden!important;opacity:0!important;pointer-events:none!important}.reel-player.controls-idle,.reel-player.controls-idle .reel-main{cursor:none!important}

@media(min-width:801px){.contact h2{font-size:clamp(38px,5.2vw,78px);line-height:1.15}}

.contact-title-line{display:block}
@media(min-width:801px){.contact h2{font-size:clamp(32px,4.4vw,64px)}.contact-title-line{white-space:nowrap}}
@media(max-width:800px){.contact-title-line{display:inline}.contact-title-line:not(:last-child)::after{content:' '}}

.reel-player.is-preview .reel-play{width:104px!important;height:104px!important;background:var(--accent);color:#000;border-radius:50%;font-family:var(--font-body,Inter,Arial,sans-serif)}
.reel-player.is-preview .reel-play .reel-watch-label{width:auto;height:auto;border:0;margin:0;padding:12px;font-size:15px;font-weight:600;line-height:1.15;text-align:center}
.reel-player.is-preview .reel-play:hover{filter:brightness(1.12)}
@media(max-width:600px){.reel-player.is-preview .reel-play{width:88px!important;height:88px!important}.reel-player.is-preview .reel-watch-label{font-size:14px}}
/* The custom player pointer replaces the native cursor, including preview and controls. */
@media(hover:hover) and (pointer:fine){.reel-player,.reel-player *,.reel-player.is-preview,.reel-player.is-preview .reel-main{cursor:none!important}}
@media(hover:hover) and (pointer:fine){.reel-player .reel-volume{cursor:ew-resize!important}.reel-player .reel-audio,.reel-player .reel-audio button{cursor:pointer!important}}

/* Animated project image previews. */
.project .cover>img{transition:transform .45s ease;transform-origin:center}
.project:hover .cover>img,.project:focus-visible .cover>img{transform:scale(1.12) rotate(3deg)}
@media(prefers-reduced-motion:reduce){.project .cover>img{transition:none}.project:hover .cover>img,.project:focus-visible .cover>img{transform:none}}

.cover>video.cover-video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.project:hover .cover>video,.project:focus-visible .cover>video{transform:scale(1.12) rotate(3deg)}@media(prefers-reduced-motion:reduce){.cover>video.cover-video{transition:none}.project:hover .cover>video,.project:focus-visible .cover>video{transform:none}}

.project .cover .caption,.case-page>.eyebrow>span:first-child{text-transform:lowercase}

/* Project cover highlight and immediate accordion state. */
.project .cover>img,.project .cover>video.cover-video,.project .project-shape,.project:hover .cover>img,.project:focus-visible .cover>img,.project:hover .cover>video,.project:focus-visible .cover>video,.project:hover .project-shape{transform:none;transition:none}
.project .cover{transition:box-shadow .25s ease,border-color .25s ease}
.project:hover .cover,.project:focus-visible .cover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 28px color-mix(in srgb,var(--accent) 24%,transparent)}
.experience-item[open].is-collapsing .experience-toggle:after,.process-item[open].is-collapsing .experience-toggle:after{transform:rotate(90deg)}
.experience-details p{margin:0 0 18px}.experience-details p:last-child{margin-bottom:0}
@media(prefers-reduced-motion:reduce){.project .cover{transition:none}}

/* Reveal content as it enters the viewport. */
.scroll-reveal{opacity:0;translate:0 48px;transition:opacity .85s ease,translate .85s cubic-bezier(.2,.7,.2,1)}.scroll-reveal.is-revealed{opacity:1;translate:0 0}.work-grid>.scroll-reveal:nth-child(2n),.services>.scroll-reveal:nth-child(2n){transition-delay:70ms}@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;translate:none;transition:none}}

