/* Kenny Michael — monochrome editorial system */
:root{--black:#000;--white:#fff;--paper:#f2f2f2;--grey:#bdbdbd;--heading:'Satoshi',Arial,sans-serif;--body:'Inter',Arial,sans-serif;--gutter:clamp(22px,4.2vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--black);font-family:var(--body);font-size:16px;line-height:1.6}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}button{border-radius:0}button:disabled{cursor:default}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.wordmark{font-family:var(--heading)}h2{font-size:clamp(54px,6.7vw,108px);line-height:.98;letter-spacing:-.065em;font-weight:700}h3{line-height:1.15;letter-spacing:-.04em}::selection{background:var(--black);color:var(--white)}:focus-visible{outline:3px solid currentColor;outline-offset:5px}.wrap{max-width:1680px;margin:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.section{padding-top:112px;padding-bottom:120px;scroll-margin-top:0}.dark{background:var(--black);color:var(--white)}.dark::selection,.dark ::selection{background:white;color:black}.muted{color:var(--grey)}.eyebrow,.section-label,.edition,.media-top,.media-note,.location,.scroll-cue,.footer-base,.footer-location,.service-tags{font-size:12px;letter-spacing:.09em;font-weight:500}.section-label{padding-bottom:38px;border-bottom:1px solid;margin-bottom:52px}.header{position:fixed;z-index:30;top:0;left:0;width:100%;height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--gutter);background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid black}.wordmark{font-size:24px;letter-spacing:-1px;font-weight:900;white-space:nowrap}.desktop-nav{display:flex;gap:30px;font-size:14px}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:1px;background:black;transition:width .2s}.desktop-nav a:hover:after{width:100%}.nav-cta{background:black;color:white;padding:11px 20px;border:1px solid black;font-size:14px;display:flex;gap:30px}.nav-cta:hover{background:white;color:black}.menu-toggle{display:none}.hero{padding-top:125px;padding-bottom:0}.hero-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:34px}.hero-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:6%}.hero h1{font-size:clamp(72px,8.8vw,145px);line-height:.91;letter-spacing:-.075em;font-weight:900;margin-bottom:32px}.typed{position:relative}.typed:after{content:'';display:inline-block;width:3px;height:.7em;background:black;margin-left:5px;animation:blink 1s steps(1) infinite}.roles{font-size:14px;line-height:1.6;margin-bottom:15px;font-weight:600}.hero-description{max-width:400px;font-size:15px;line-height:1.7}.hero-actions{display:flex;gap:12px;margin-top:26px}.button{padding:17px 22px;min-height:57px;border:1px solid black;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:transparent;font-size:14px;font-weight:500;transition:background .2s,color .2s}.button:hover{background:black;color:white}.button span{font-size:22px;line-height:1}.primary{background:black;color:white}.primary:hover{background:white;color:black}.hero-media{align-self:start;position:relative;border:1px solid black;margin-top:43px}.media-top{position:absolute;z-index:1;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:15px;background:white;border-bottom:1px solid black;font-size:10px}.hero-media>img{width:100%;height:clamp(360px,35vw,550px);object-fit:cover;filter:grayscale(1);transition:object-position .6s,filter .6s}.hero-media:hover>img{object-position:52% 46%;filter:grayscale(1) contrast(1.07)}.hero-media figcaption{display:flex;align-items:center;justify-content:space-between;background:white;padding:16px;border-top:1px solid;font-size:10px}.hero-media figcaption button{border:0;background:transparent;padding:0;font-size:13px;display:flex;gap:12px;align-items:center}.play-icon{display:grid;place-items:center;border:1px solid;width:28px;height:28px;font-size:10px}.media-note{position:absolute;bottom:-32px;font-size:10px;right:0}.hero-bottom{border-top:1px solid black;margin-top:57px;display:flex;align-items:stretch;justify-content:space-between}.stats{display:grid;grid-template-columns:repeat(3,1fr);width:67%}.stats>div{padding:26px 20px 26px 0;display:flex;flex-direction:column}.stats>div+div{border-left:1px solid;padding-left:35px}.stats strong{font-family:var(--heading);font-size:42px;letter-spacing:-.055em;line-height:1.2;font-weight:700}.stats span{font-size:12px;margin-top:5px}.scroll-cue{display:flex;align-items:center;gap:40px}.scroll-cue span{font-size:28px}.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12%}.about-copy{padding-top:7px}.about-copy p{max-width:465px;color:var(--grey);margin-bottom:23px;font-size:16px}.about-copy .lead{font-size:26px;line-height:1.35;color:white;margin-bottom:30px;letter-spacing:-.04em}.text-link{display:inline-flex;border-bottom:1px solid;gap:30px;padding-bottom:8px;margin-top:8px;font-size:15px}.location{margin-top:55px;color:var(--grey);font-size:11px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}.section-heading>p{max-width:310px;font-size:16px;line-height:1.7}.section-heading small{display:block;font-size:12px;margin-top:16px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.project-card{display:block;background:white;border:1px solid black;width:100%;text-align:left;padding:0;overflow:hidden}.project-image{overflow:hidden;background:var(--paper);border-bottom:1px solid black}.project-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}.project-card:hover img{transform:scale(1.035)}.project-info{padding:22px 24px}.project-meta{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:18px}.project-title-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.project-info h3{font-size:30px}.project-info p{font-size:13px;margin-top:12px}.project-arrow{font-size:30px;transition:transform .2s}.project-card:hover .project-arrow{transform:translate(4px,-4px)}.project-card:hover .project-info{background:black;color:white}.services-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:10%}.accordion{border-top:1px solid var(--grey)}.accordion:last-child{border-bottom:1px solid var(--grey)}.accordion h3 button{width:100%;border:0;padding:28px 0;background:none;color:white;display:grid;grid-template-columns:32px 1fr 24px;gap:20px;text-align:left;font-family:var(--heading);font-weight:500;font-size:clamp(24px,2.7vw,42px);letter-spacing:-.045em;line-height:1.1}.service-num{font-family:var(--body);font-size:12px;letter-spacing:0;padding-top:6px}.plus{font-size:32px;transition:transform .3s;font-weight:400}.accordion [aria-expanded=true] .plus{transform:rotate(45deg)}.accordion-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s,opacity .35s}.accordion:has([aria-expanded=true]) .accordion-panel{grid-template-rows:1fr;opacity:1}.accordion-panel>div{overflow:hidden}.accordion-panel p{padding-left:52px;max-width:510px;font-size:15px;color:var(--grey)}.accordion-panel .service-tags{padding-top:18px;padding-bottom:32px;font-size:10px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid;border-left:1px solid}.process-grid article{position:relative;border-right:1px solid;border-bottom:1px solid;padding:28px;min-height:340px}.process-grid article:nth-child(even){background:var(--paper)}.process-grid article:first-child{background:black;color:white;border-color:black}.process-grid article>span:first-child{font-size:13px}.process-grid h3{font-size:32px;margin-top:64px;margin-bottom:18px}.process-grid p{font-size:14px;line-height:1.7;max-width:220px}.process-arrow{position:absolute;right:25px;top:24px;font-size:25px}.tools-banner{position:relative;border-top:2px solid;border-bottom:2px solid;padding:27px 0;overflow:hidden}.marquee{display:flex;width:max-content;animation:marquee 50s linear infinite;font-family:var(--heading);font-size:clamp(38px,5vw,76px);font-weight:700;letter-spacing:-.045em;line-height:1.2}.marquee>span{white-space:nowrap}.tools-banner:hover .marquee,.tools-banner.paused .marquee{animation-play-state:paused}.tools-banner>button{position:absolute;right:12px;top:8px;z-index:2;background:white;border:1px solid;width:32px;height:32px;line-height:1}.contact-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.contact-heading h2{font-size:clamp(68px,9vw,150px)}.contact-heading>span{font-size:clamp(80px,14vw,200px);line-height:1}.contact-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:54px}.contact-bottom p{color:var(--grey);margin-bottom:22px;font-size:17px}.contact-bottom a{font-size:clamp(19px,2vw,30px);letter-spacing:-.025em;border-bottom:1px solid}.light{background:white;color:black;border:1px solid white;padding:22px 26px;gap:55px}.light:hover{background:black;color:white}footer{padding-top:55px}.footer-grid{display:grid;grid-template-columns:1fr 1fr .8fr 1fr;gap:30px;align-items:start}.footer-statement{font-family:var(--heading);font-size:31px;line-height:1.1;font-weight:700;letter-spacing:-.04em}.social-links{display:flex;flex-direction:column;align-items:start;gap:5px;font-size:14px}.social-links button{padding:0;border:0;background:none}.social-links button:hover,.social-links a:hover{text-decoration:underline}.footer-location{font-size:12px;text-align:right;letter-spacing:0;line-height:2}.footer-location span{display:block;margin-top:23px}.footer-name{font-family:var(--heading);font-size:clamp(38px,12vw,195px);font-weight:900;white-space:nowrap;letter-spacing:-.07em;line-height:1.2;margin-top:65px}.footer-base{display:flex;justify-content:space-between;gap:20px;border-top:1px solid;padding:20px 0;font-size:10px}.contact-widget{position:fixed;z-index:20;bottom:23px;right:23px;background:white;border:1px solid black}.contact-widget>button[data-enquiry]{display:flex;align-items:center;gap:16px;padding:12px;border:0;background:none;text-align:left;font-size:11px;line-height:1.5}.widget-arrow{background:black;color:white;display:grid;place-items:center;width:41px;height:41px;font-size:26px}.widget-close{position:absolute;right:-1px;top:-24px;width:24px;height:24px;background:white;border:1px solid;font-size:17px;line-height:1}.back-top{position:fixed;z-index:20;left:22px;bottom:23px;background:white;border:1px solid;width:43px;height:43px;display:grid;place-items:center;font-size:22px}.back-top[hidden]{display:none}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:100}.skip-link:focus{top:10px}
dialog{position:fixed;border:1px solid black;padding:0;color:black;background:white;max-height:calc(100dvh - 48px);width:min(1100px,calc(100% - 48px));max-width:none;overscroll-behavior:contain}dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}dialog[open]{animation:dialog-in .25s ease-out}.dialog-bar{position:sticky;top:0;z-index:3;background:white;border-bottom:1px solid;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 25px;font-size:11px;letter-spacing:.05em}.dialog-bar button{padding:8px 12px;background:white;border:1px solid;font-size:13px}.project-modal-content{padding:40px}.project-modal h2{font-size:clamp(45px,6vw,85px);margin:20px 0 30px}.project-details{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;margin-bottom:35px;font-size:15px}.project-details dl{margin:0;display:flex;gap:35px}.project-details dt{font-size:10px;margin-bottom:9px}.project-details dd{margin:0;font-size:13px}.project-modal-content>img{width:100%;height:auto;border:1px solid;background:var(--paper);aspect-ratio:4/3;object-fit:contain}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:15px;font-size:12px}.gallery-controls button{background:white;border:1px solid;width:50px;height:42px;font-size:22px}.project-switch{border-top:1px solid;margin-top:35px;padding-top:25px;display:flex;justify-content:space-between;gap:20px}.project-switch button{background:none;border:0;padding:8px 0;font-size:14px}.enquiry-modal{max-width:720px}.small-modal{max-width:620px}.enquiry-content{padding:35px}.enquiry-content h2{font-size:clamp(42px,5vw,67px);margin-bottom:22px}.enquiry-content>p{font-size:15px;margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;margin-bottom:18px}input,select,textarea{width:100%;min-width:0;padding:14px;border:1px solid black;background:white;border-radius:0;font-size:16px;color:black}textarea{resize:vertical}form .button{width:100%}.form-note{font-size:12px!important;font-weight:400;margin-top:12px;color:#000}#form-status{font-size:13px;margin-top:12px}#email-fallback{text-decoration:underline;font-size:14px}.mobile-menu{width:100%;height:100dvh;max-height:none;margin:0;border:0}.mobile-menu nav{display:flex;flex-direction:column;padding:32px 25px}.mobile-menu nav a{font-family:var(--heading);font-size:42px;letter-spacing:-.05em;border-bottom:1px solid;padding:8px 0;display:flex;justify-content:space-between;align-items:center}.mobile-menu nav span{font-size:12px;letter-spacing:0}.mobile-menu>p{padding:0 25px;font-size:10px;letter-spacing:.06em}.reveal.is-pending{opacity:0;transform:translateY(24px)}.reveal{transition:transform .65s ease,opacity .65s ease}.project-card.is-pending:nth-child(odd){transform:translateX(-22px)}.project-card.is-pending:nth-child(even){transform:translateX(22px)}.process-grid article:nth-child(2){transition-delay:.1s}.process-grid article:nth-child(3){transition-delay:.2s}.process-grid article:nth-child(4){transition-delay:.3s}.hero-top .eyebrow{animation:rise .6s both}.hero-description{animation:rise .7s .1s both}.hero-actions>*{animation:rise .6s .2s both}.hero-actions>*:nth-child(2){animation-delay:.3s}@keyframes blink{50%{opacity:0}}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes dialog-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.header{padding-left:max(var(--gutter),calc((100vw - 1536px)/2));padding-right:max(var(--gutter),calc((100vw - 1536px)/2))}}
@media(max-width:1050px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-nav{gap:18px}.header{gap:20px}.hero-grid{gap:5%;grid-template-columns:1.15fr .85fr}.hero h1{font-size:clamp(72px,9.5vw,100px)}.hero-media{margin-top:35px}.hero-media>img{height:375px}.edition{font-size:10px}.stats{width:72%}.scroll-cue{font-size:9px;gap:20px}.about-grid{gap:8%}.services-grid{gap:6%;grid-template-columns:.7fr 1.3fr}.process-grid article{padding:22px;min-height:350px}.process-grid h3{font-size:28px}.footer-grid{grid-template-columns:1fr 1fr 1fr}.footer-location{grid-column:1/-1;text-align:left;display:flex;justify-content:space-between}.footer-location span{margin:0}.contact-bottom .button{gap:22px}.hero-description{font-size:14px}}
@media(max-width:760px){html{scroll-padding-top:77px}.header{height:70px}.wordmark{font-size:22px}.desktop-nav,.header>.nav-cta{display:none}.menu-toggle{display:flex;gap:17px;align-items:center;background:transparent;border:1px solid;padding:7px 12px;font-size:13px}.hero{padding-top:103px}.hero-top{margin-bottom:32px}.hero-top .eyebrow{font-size:10px;letter-spacing:.06em}.edition{display:none}.hero-grid{display:flex;flex-direction:column;gap:35px}.hero h1{font-size:clamp(68px,14.5vw,109px);line-height:.95;margin-bottom:28px}.roles{font-size:13px}.hero-description{font-size:15px;max-width:440px}.hero-actions{margin-top:24px}.hero-actions .button{flex:1;gap:12px;padding:15px;font-size:13px}.hero-media{width:83%;align-self:flex-end;margin-top:5px;margin-bottom:24px}.hero-media>img{height:390px}.hero-bottom{margin-top:30px}.stats{width:100%}.stats>div{padding:23px 10px 23px 0}.stats>div+div{padding-left:16px}.stats strong{font-size:34px}.stats span{font-size:10px;line-height:1.5;max-width:80px}.scroll-cue{display:none}.section{padding-top:65px;padding-bottom:70px}.section-label{margin-bottom:35px;padding-bottom:22px;font-size:11px}h2{font-size:clamp(49px,10vw,74px)}.about-grid{grid-template-columns:1fr;gap:40px}.about-copy .lead{font-size:24px}.about-copy p{font-size:15px}.location{margin-top:30px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:26px;font-size:15px}.project-grid{grid-template-columns:1fr;gap:28px}.project-info{padding:20px}.project-info h3{font-size:28px}.project-info p{font-size:12px}.services-grid{grid-template-columns:1fr;gap:38px}.accordion h3 button{font-size:30px;gap:12px;grid-template-columns:27px 1fr 24px;padding:25px 0}.accordion-panel p{padding-left:39px;font-size:14px}.accordion-panel .service-tags{font-size:9px}.process-grid{grid-template-columns:1fr 1fr}.process-grid article{min-height:290px;padding:20px}.process-grid h3{margin-top:50px;font-size:27px}.process-grid p{font-size:13px}.contact-heading h2{font-size:clamp(54px,10.8vw,82px)}.contact-heading>span{font-size:57px}.contact-bottom{flex-direction:column;align-items:stretch;gap:28px;margin-top:35px}.contact-bottom .button{width:100%}.contact-bottom p{font-size:15px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>.wordmark{grid-column:1/-1}.footer-location{font-size:11px}.footer-name{margin-top:40px;font-size:11.6vw}.footer-base{font-size:8px;line-height:1.7}.contact-widget{right:12px;bottom:12px}.contact-widget>button[data-enquiry]{gap:10px;padding:8px;font-size:10px}.widget-arrow{height:34px;width:34px}.back-top{left:12px;bottom:12px;width:36px;height:36px}.enquiry-content,.project-modal-content{padding:25px 20px}.dialog-bar{padding:12px 18px;font-size:9px}dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.project-details{grid-template-columns:1fr;gap:22px}.project-details dl{gap:40px}.form-row{grid-template-columns:1fr;gap:0}.project-switch button{font-size:12px}.media-note{font-size:8px}}
@media(max-width:380px){.hero h1{font-size:18vw}.hero-media{width:100%}.hero-media>img{height:340px}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:260px}.footer-location{display:block}.contact-heading>span{display:none}.hero-actions{flex-direction:column}.stats strong{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.is-pending{opacity:1;transform:none!important}.typed:after{display:none}.marquee{width:auto;display:block;font-size:26px;padding:0 var(--gutter)}.marquee>span{white-space:normal}.marquee>span+span{display:none}.tools-banner>button{display:none}}

/* Compact, text-only introduction; selected work follows immediately. */
.hero.hero-centered{padding-top:145px;padding-bottom:54px;text-align:center}
.hero-centered>.eyebrow{margin-bottom:18px;font-size:11px;letter-spacing:.13em}
.hero.hero-centered h1{font-size:clamp(24px,5.4vw,82px);line-height:1.1;letter-spacing:-.055em;white-space:nowrap;margin:0 0 18px}
.hero-centered .roles{font-size:clamp(13px,1.25vw,18px);margin-bottom:10px}
.hero-centered .hero-description{max-width:660px;margin:auto;font-size:16px;line-height:1.6}
.hero-centered .hero-actions{justify-content:center;margin-top:23px;gap:12px}
.hero-centered .button{padding:11px 20px;min-height:46px}
#work.section{padding-top:0;padding-bottom:85px}
#work>.section-label{padding-bottom:15px;margin-bottom:25px}
#work .section-heading{align-items:center;margin-bottom:30px}
#work h2{font-size:clamp(32px,3vw,46px);letter-spacing:-.045em}
#work .section-heading>p{max-width:460px;font-size:13px}
#work .section-heading small{margin-top:4px;font-size:11px}
.about-extras{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--grey);margin-top:55px}
.about-extras .stats{width:65%}
.about-extras .stats>div{padding-top:25px;padding-bottom:25px}
.about-extras .button{white-space:nowrap}
@media(max-width:760px){
 .hero.hero-centered{padding-top:113px;padding-bottom:38px}
 .hero-centered>.eyebrow{font-size:9px;letter-spacing:.06em;margin-bottom:16px}
 .hero.hero-centered h1{font-size:clamp(24px,5.65vw,43px);margin-bottom:17px}
 .hero-centered .roles{max-width:390px;margin:0 auto 12px;font-size:13px}
 .hero-centered .hero-description{font-size:14px;max-width:410px}
 .desktop-break{display:none}
 .hero-centered .hero-actions{max-width:360px;margin:20px auto 0;flex-direction:row}
 .hero-centered .hero-actions .button{padding:10px 13px;font-size:12px}
 #work .section-heading{display:block;margin-bottom:24px}
 #work .section-heading>p{margin-top:13px;font-size:13px}
 #work>.section-label{margin-bottom:22px}
 .about-extras{flex-direction:column;align-items:stretch;gap:12px;margin-top:35px}
 .about-extras .stats{width:100%}
 .about-extras .button{align-self:flex-start}
}

/* Original portfolio video previews. */
[hidden]{display:none!important}
.project-preview{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--paper);transition:transform .6s}
.project-card:hover .project-preview{transform:scale(1.035)}
#gallery-video{display:block;width:100%;max-height:65dvh;aspect-ratio:4/3;object-fit:contain;background:black;border:1px solid}
.work-controls{display:flex;justify-content:flex-end;margin:-10px 0 20px}
.preview-toggle{background:white;border:1px solid black;font-size:12px;padding:8px 13px}
.preview-toggle:hover{background:black;color:white}
.project-card{display:flex;flex-direction:column}.project-card .project-image{width:100%;flex:none}.project-card .project-info{width:100%;flex:1}

.project-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}
.project-links .text-link{margin-top:0}
.project-modal-content>#gallery-image{height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){.project-links{align-items:stretch;gap:18px}.project-links .button{width:100%}.project-links .text-link{align-self:flex-start}}

/* Full editorial case studies inside the portfolio dialog. */
.project-modal{width:min(1240px,calc(100% - 48px))}
.project-modal-content{padding:45px 56px}
.project-modal h2{font-size:clamp(42px,5.8vw,80px);margin-bottom:24px}
.modal-case-headline{font-family:var(--heading);font-size:clamp(24px,3vw,38px);font-weight:500;letter-spacing:-.035em;line-height:1.2;max-width:850px;margin-bottom:20px}
.modal-case-intro{font-size:16px;line-height:1.75;max-width:740px;margin-bottom:32px}
.project-details{display:block;margin-bottom:36px;border-top:1px solid;border-bottom:1px solid;padding:22px 0}
.project-details dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.project-details dt{font-size:11px;letter-spacing:.08em}.project-details dd{font-size:14px}
.case-study-contents{display:flex;flex-wrap:wrap;gap:8px;margin:38px 0 48px;border-top:1px solid;padding-top:24px}
.case-study-contents button{border:1px solid black;background:white;padding:8px 12px;font-size:12px;text-align:left}
.case-study-contents button:hover{background:black;color:white}
.modal-case-section{display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:25px;border-top:1px solid black;padding:35px 0 45px}
.case-number{font-size:12px;letter-spacing:.06em;padding-top:6px}
.modal-case-copy h3{font-size:clamp(27px,3vw,42px);font-weight:700;line-height:1.1;margin-bottom:24px;scroll-margin-top:96px}
.modal-case-copy p{font-size:16px;line-height:1.85;max-width:760px;margin-bottom:20px}
.modal-case-copy p:last-child{margin-bottom:0}
.modal-case-figure{grid-column:1/-1;margin-top:32px}
.modal-case-figure img{display:block;width:100%;height:auto;border:1px solid black;background:var(--paper)}
.modal-case-figure figcaption{font-size:12px;margin-top:12px;line-height:1.6}
.modal-case-figure.portrait{max-width:390px;justify-self:center;width:100%}
.case-study-end{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:30px 0;border-top:1px solid}
.case-study-end>span{font-size:11px;letter-spacing:.08em}
.project-modal .project-switch{margin-top:0}
@media(max-width:760px){.project-modal{width:calc(100% - 20px)}.project-modal-content{padding:28px 20px}.project-details dl{grid-template-columns:1fr 1fr;gap:20px}.modal-case-section{grid-template-columns:25px minmax(0,1fr);column-gap:14px;padding:28px 0 35px}.modal-case-copy h3{font-size:28px}.modal-case-copy p{font-size:15px;line-height:1.8}.modal-case-figure{margin-top:24px}.case-study-contents{margin:28px 0 32px}.case-study-contents button{font-size:11px;padding:8px 10px}.case-study-end{align-items:stretch;flex-direction:column}.case-study-end .button{width:100%}}

/* Text-only actions stay legible on small screens. */
.button{justify-content:center}.widget-close{width:auto;min-width:44px;height:28px;top:-28px;padding:0 8px;font-size:12px}.back-top{width:auto;min-width:44px;min-height:44px;padding:10px;font-size:12px}.tools-banner>button{width:auto;min-width:54px;padding:0 10px;font-size:12px}.accordion h3 button{grid-template-columns:32px 1fr auto}.accordion-state{font:12px Inter,sans-serif}.gallery-controls button{width:auto;padding:0 16px;font-size:14px}
.intro-pending body{overflow:hidden}.intro-pending body>:not(.portfolio-intro){visibility:hidden}.intro-pending .portfolio-intro[hidden]{display:flex!important}.portfolio-intro{position:fixed;inset:0;z-index:9999;background:#f6f5f2;color:#171717;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:32px 4vw;opacity:1;transition:opacity .3s ease}.portfolio-intro[hidden]{display:none}.portfolio-intro.leaving{opacity:0;pointer-events:none}.intro-top,.intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.intro-top{align-items:center}.intro-top>span:first-child{font-family:Satoshi,Arial,sans-serif;font-weight:700;font-size:24px}.intro-top>span:last-child,.intro-count>span{font-size:10px;letter-spacing:.14em}.intro-window{width:100vw;margin-left:-4vw;overflow:hidden}.intro-track{display:flex;gap:3vw;width:max-content;will-change:transform;padding-left:21vw}.intro-slide{width:58vw;flex:0 0 58vw;margin:0}.intro-slide img{display:block;width:100%;height:48vh;object-fit:cover;object-position:top;background:#e9e7e2;border-radius:3px}.intro-slide figcaption{font-size:11px;margin-top:12px;letter-spacing:.04em}.intro-bottom p{font-size:13px;line-height:1.5;margin:0}.intro-count{display:flex;flex-direction:column;align-items:flex-end}.intro-count output{font:500 clamp(64px,10vw,140px)/1 Satoshi,Arial,sans-serif;letter-spacing:-.07em;font-variant-numeric:tabular-nums}
@media(max-width:600px){.portfolio-intro{padding:24px 6vw}.intro-top>span:first-child{font-size:20px}.intro-top>span:last-child{font-size:8px}.intro-window{margin-left:-6vw}.intro-track{padding-left:9vw;gap:5vw}.intro-slide{width:82vw;flex-basis:82vw}.intro-slide img{height:40vh;object-fit:contain}.intro-bottom p{font-size:11px}.intro-count output{font-size:80px}}
@media(prefers-reduced-motion:reduce){.portfolio-intro{transition:none}.intro-track{will-change:auto}}
.tools-banner{overflow:hidden}
html{overflow-x:clip}

.intro-slide img{filter:grayscale(1)}
