/* Shared alignment rules. Keep the original editorial composition and assets. */
:root{--page-gutter:clamp(22px,4.2vw,60px);--page-width:1160px;--module-gap:clamp(48px,6vw,88px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.section-width,.contact .contact-inner,.product-container,.product-intro,.film-container{width:calc(100% - 2 * var(--page-gutter));max-width:var(--page-width);margin-inline:auto}
.case-width{width:calc(100% - 2 * var(--page-gutter));max-width:1320px;margin-inline:auto}
.header,.case-header,.resume-header{padding-inline:var(--page-gutter)}
.header{gap:clamp(16px,2vw,28px)}
.header .desktop-nav{min-width:0;margin-left:0}
.home-header .desktop-nav{gap:clamp(14px,2vw,28px)}
.header-contact>span{display:inline-flex;align-items:center}
.pill,.case-return{flex-shrink:0}
.about{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:clamp(36px,7.5vw,110px);padding-inline:0}
.portrait-wrap{width:100%;max-width:330px;justify-self:center}
.about-copy{width:100%;max-width:480px;min-width:0}
.about p{line-height:1.55}
.work-heading{gap:24px}
.work-count{flex:none;white-space:nowrap}
.project:nth-child(n){margin:0}
.project{min-width:0}
.project-caption{grid-template-columns:minmax(0,1fr) auto;align-items:baseline}
.project-caption h3,.project-caption p{min-width:0;overflow-wrap:break-word}
.project-caption p{max-width:none}
.project-number{padding-top:0;line-height:1.3}
.project-list{gap:var(--module-gap)}
.product-page .project-list{gap:var(--module-gap)}
.product-page .project-caption{margin-top:22px}
.product-intro h1{overflow-wrap:normal}
.film-grid{column-gap:clamp(20px,3.5vw,50px);row-gap:var(--module-gap)}
.film-small-right{margin-top:0}
.contact .footer-bottom{gap:12px}
.case-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:32px}
.case-intro p{min-width:0}
.case-year{white-space:nowrap;padding-top:0}
.case-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.case-meta>div{min-width:0}
.case-meta dt{line-height:1.4}
.case-meta dd{max-width:none;overflow-wrap:break-word}
.case-process{justify-content:flex-start}
.case-section{margin-bottom:var(--module-gap)}
.case-pagination>a{min-width:0;overflow-wrap:break-word}
.case-next{max-width:65%}
.case-next strong{line-height:1.4}
.case-findings{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.case-findings li{min-width:0}
.ui-carousel-heading{flex-wrap:wrap;align-items:center}
.ui-carousel-heading h3{min-width:0}
.ui-carousel-controls{margin-left:auto}
.ui-slide figcaption{padding-inline:0;align-items:baseline}
.ui-slide figcaption span{flex:none}
.resume-section{grid-template-columns:minmax(0,46%) minmax(0,1fr);column-gap:9%}
.resume-section>h2{font-size:clamp(32px,5.6vw,80px);letter-spacing:-1.5px;line-height:1.15}
.resume-section-body{padding-top:8px}
.resume-meta,.resume-meta-full{grid-template-columns:42% minmax(0,1fr);align-items:baseline}
.resume-meta>span:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.resume-organization{min-width:0;overflow-wrap:break-word}
.resume-role,.resume-role:nth-of-type(2),.resume-role:nth-of-type(3),.resume-project,.resume-assistant{padding-block:32px}
.resume-role:first-child{padding-top:0}
.resume-content h3{margin-bottom:14px}
.resume-degree+.resume-degree{margin-top:40px}
.degree-details{display:grid;grid-template-columns:42% minmax(0,1fr);gap:0;align-items:baseline}
.degree-details>span:last-child{text-align:right}
.degree-location{margin-top:8px}
.award-meta{align-items:baseline;gap:16px}
.award-meta span+span{padding-left:16px}
.resume-skill-group,.resume-skill-group:nth-of-type(2),.resume-skill-group:last-child{padding-bottom:32px}
.resume-skill-group+.resume-skill-group,.resume-skill-group:last-child{padding-top:56px}
@media(min-width:761px) and (max-width:1100px){
.about{min-height:0;padding-block:100px 130px}
.about h2{font-size:64px}
.about p{font-size:16px}
.case-meta{gap:24px}
.resume-section{grid-template-columns:minmax(0,42%) minmax(0,1fr);column-gap:7%}
.resume-content{font-size:16px}
.resume-meta{font-size:.85em}
.resume-organization{padding-left:12px}
}
@media(max-width:1000px){
.header{height:auto;min-height:90px;flex-wrap:wrap;gap:16px;padding-block:18px}
.header .desktop-nav{display:none}
.header-contact{margin-left:auto;font-size:14px;padding:12px 18px;min-height:44px}
.menu-toggle{display:flex;width:30px;height:32px;flex-direction:column;justify-content:center;gap:7px;margin-left:0;flex:none}
.menu-toggle span{display:block;width:27px;height:1px;background:var(--pink)}
.mobile-nav:not([hidden]){display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:24px;padding:28px var(--page-gutter);background:#0b090afc;border-bottom:1px solid #3d2933;box-shadow:0 25px 35px #0005}
.mobile-nav a{font-size:14px;color:var(--pink)}
.home-header .desktop-nav{order:3;display:flex;flex:0 0 100%;justify-content:space-between;gap:12px;margin:0}
.home-header .nav-link{font-size:clamp(9px,1.35vw,12.5px);line-height:1.4;min-height:30px;display:inline-flex;align-items:center}
.home-header .menu-toggle{display:none}
}
@media(max-width:760px){
.case-intro{gap:18px}
.case-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
.case-meta dt{margin-bottom:10px}
.case-process{gap:14px 22px;line-height:1.6}
.case-next{max-width:65%}
.case-pagination{align-items:flex-start}
.case-next strong{max-width:none}
.project:nth-child(n){width:100%;align-self:stretch}
.project-caption{margin-top:16px;gap:8px 12px}
.product-page .project-caption{margin-top:16px}
.project-list,.product-page .project-list{gap:52px}
.about{column-gap:30px;min-height:0;padding-block:80px 100px}
.about h2{font-size:54px}
.about p{font-size:14px}
.skills{font-size:12px;line-height:1.65}
.work-heading{margin-bottom:56px}
.ui-carousel-controls button{width:40px;height:40px}
.ui-carousel-status{font-size:11px}
.resume-section{display:block}
.resume-section>h2{font-size:clamp(28px,7vw,44px);margin-bottom:30px;letter-spacing:-1px}
.resume-section-body{padding-top:0}
.resume-content{font-size:15px}
.resume-skill-group,.resume-skill-group:nth-of-type(2),.resume-skill-group:last-child{padding-bottom:28px}
.resume-skill-group+.resume-skill-group,.resume-skill-group:last-child{padding-top:32px}
}
@media(max-width:640px){
.about{grid-template-columns:minmax(0,1fr);row-gap:46px}
.portrait-wrap{width:76%;max-width:300px}
.about-copy{max-width:none}
.about p{font-size:16px}
.skills{font-size:13px}
.work-heading h2{font-size:clamp(40px,11vw,54px)}
.case-pagination{gap:20px}
.case-pagination>a:first-child{max-width:32%}
}
@media(max-width:380px){
:root{--page-gutter:18px}
.header{gap:10px}
.header .brand{width:96px}
.header-contact{font-size:12px;padding:10px 12px;gap:10px}
.home-header .nav-link{font-size:9px}
.resume-meta,.resume-meta-full{grid-template-columns:minmax(0,1fr);gap:8px}
.resume-organization{grid-column:1;border-left:0;padding-left:0}
.award-meta{flex-wrap:wrap;gap:8px 12px}
.award-meta span+span{padding-left:12px}
}
