@font-face{font-family:Studio;src:url(body.otf)}@font-face{font-family:Studio;src:url(heading.otf);font-weight:700}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#fff;color:#0a0a0a;font-family:Studio,Arial,sans-serif;font-size:18px;line-height:1.23}::selection{color:#c5ff35;background:#4940b8}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #6350ed;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3,.wordmark,.eyebrow,.button,nav,.badge{text-transform:uppercase}h1,h2,h3{font-weight:700;letter-spacing:-.055em;line-height:.99}h1{font-size:clamp(40px,4.3vw,64px)}h2{font-size:clamp(36px,3.65vw,54px)}h3{font-size:30px}.wrap{padding-left:40px;padding-right:40px}.placeholder{background:#d3d3d3;display:flex;align-items:center;justify-content:center;color:#6a6a6a}.placeholder span{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.skip{position:absolute;top:-80px;left:10px;background:#c4ff38;padding:10px;z-index:100}.skip:focus{top:10px}header{height:112px;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #161616}.logo-placeholder{width:200px;height:65px}nav{display:flex;align-items:center;gap:18px;font-size:14px}nav>a:not(.button){border-bottom:1px solid transparent}nav>a:hover,nav>a.active{border-bottom-color:currentColor}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:1px solid #111;padding:9px 13px;font-size:16px;line-height:1.05;font-weight:700;box-shadow:2px 2px 0 #777;transition:transform .15s,box-shadow .15s}.button:hover{transform:translate(-1px,-2px);box-shadow:3px 4px 0 #777}.lime{background:#c4ff38;color:#090909}.white{background:#fff;color:#090909}.small{font-size:14px}.hero{padding-top:125px;padding-bottom:80px}.eyebrow{font-weight:700;font-size:17px;letter-spacing:-.035em}.wordmark{font-size:clamp(70px,16.25vw,255px);font-weight:700;letter-spacing:-.075em;line-height:.9;transform:scaleX(1.035);transform-origin:left;width:96%;margin:10px 0 0}.hero-content{position:relative;min-height:480px;display:grid;grid-template-columns:42% 56%;gap:2%}.hero-copy{position:relative;z-index:1;padding-top:8px;max-width:560px}.hero-copy h1{margin-bottom:36px}.hero-copy p{max-width:520px;margin-bottom:24px}.hero-copy .button{margin-top:18px}.hero-image{min-height:490px;margin-top:-30px}.projects{padding-bottom:100px}.section-intro{margin:10px 0 32px;font-size:18px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 16px}.project{border:0;background:transparent;padding:0;text-align:left;min-width:0}.project-image{aspect-ratio:1.05;border:1px solid #0A0A0B;transition:background .2s}.project:hover .project-image{background:#c3c3c3}.project h3{font-size:22px;margin-top:9px}.project p{font-size:16px;line-height:1.2;margin-top:3px}.view-all{margin-top:35px}.callout{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:38px max(40px,18.7vw);gap:80px}.first{background:#c4ff38}.callout h2{font-size:clamp(36px,4.15vw,62px)}.callout p{font-size:18px;max-width:490px;margin-top:10px}.callout .button{justify-self:end;white-space:nowrap}.services{background:#0b0b0b;color:#fff;padding:190px 0 190px;overflow:hidden}.services-top{display:flex;align-items:end;justify-content:space-between;padding-right:100px}.services h2{color:#c4ff38}.services-top p{font-size:18px;margin-top:12px}.arrows{display:flex;gap:9px}.arrows button{border:0;border-bottom:1px solid #777;background:transparent;color:#fff;font-size:28px;width:39px}.arrows button:disabled{opacity:.3;cursor:default}.service-track{display:flex;gap:40px;overflow:auto;padding:100px 40px 15px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#555 #0b0b0b}.service{position:relative;flex:0 0 calc((100vw - 160px)/3.25);min-width:300px;border:1px solid #aaa;padding:115px 60px 55px;scroll-snap-align:center}.service h3{font-size:32px;min-height:96px}.service p{font-size:19px;margin:14px 0 22px}.service ul{padding:0;list-style:none;margin:0;color:#b6b6b6;font-size:15px}.service li{margin-top:6px;padding-left:18px;position:relative}.service li:before{content:'□';position:absolute;left:0}.badge{position:absolute;top:59px;color:#c4ff38;border:1px solid #c4ff38;border-radius:20px;font-size:14px;text-transform:none;padding:4px 9px}.services-cta{text-align:center;margin-top:85px}.process-reserved{min-height:220px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #ddd;background:#f3f3f3;color:#777}.process-reserved span{font-size:13px;text-transform:uppercase;letter-spacing:.09em}.about{display:grid;grid-template-columns:1fr 1fr;gap:9.5%;padding-top:100px;padding-bottom:95px}.portrait{aspect-ratio:1.08;border:1px solid #111}.about-copy{padding-top:27px;align-self:center}.about h2{margin-bottom:28px}.about p{font-size:18px;margin-bottom:23px;max-width:600px}.about-meta{border-top:1px solid #111;display:flex;justify-content:space-between;gap:15px;padding-top:12px;font-size:13px}.last{background:#4840b8;color:#fff;padding-top:35px;padding-bottom:40px}.last p{font-size:16px}.last .button{color:#111}footer{background:#050505;color:#fff;padding:110px 40px 30px}.footer-main{display:grid;grid-template-columns:1.6fr .65fr 1fr .5fr;gap:40px;align-items:center}.footer-logo{height:205px;max-width:550px}.footer-main h3{font-size:28px;margin-bottom:13px}.footer-main a:not(.footer-logo),.social-placeholder{font-size:16px}.copyright{text-align:right;font-size:13px;margin-top:70px}dialog{border:1px solid #111;padding:55px;max-width:620px;width:calc(100% - 40px);box-shadow:8px 8px 0 #c4ff38}dialog::backdrop{background:#0009}dialog h2{font-size:40px;margin:20px 0}dialog .button{margin-top:30px}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:32px}
@media(min-width:1600px){.wrap{padding-left:max(40px,calc((100vw - 1600px)/2));padding-right:max(40px,calc((100vw - 1600px)/2))}.wordmark{font-size:250px}.service{flex-basis:420px}}
@media(max-width:1000px){.wrap{padding-left:25px;padding-right:25px}header{padding:15px 25px;height:90px}.logo-placeholder{width:145px;height:50px}nav{gap:12px;font-size:12px}.hero{padding-top:85px}.hero-content{min-height:390px;grid-template-columns:46% 52%}.hero-image{min-height:370px}.hero-copy h1{margin-bottom:25px}.hero-copy p{font-size:16px}.callout{padding:35px 12vw;gap:35px}.callout p{font-size:16px}.callout .button{font-size:13px}.service{padding:105px 35px 40px}.service-track{padding-left:25px;padding-right:25px}.services{padding:130px 0}.about{gap:7%;padding-top:75px;padding-bottom:75px}.about p{font-size:16px}.about-meta{font-size:11px}.footer-main{grid-template-columns:1fr 1fr;gap:45px}.footer-logo{height:170px}.footer-main h3{font-size:24px}}
@media(max-width:600px){body{font-size:16px}.wrap{padding-left:20px;padding-right:20px}header{height:auto;padding:16px 20px;align-items:flex-start;gap:15px}.logo-placeholder{width:92px;height:45px;flex-shrink:0}nav{justify-content:flex-end;gap:13px;flex-wrap:wrap;font-size:11px;max-width:230px}nav .small{font-size:11px;padding:7px}.hero{padding-top:60px;padding-bottom:60px}.eyebrow{font-size:12px}.wordmark{font-size:16vw;margin-top:12px;letter-spacing:-.07em}.hero-content{display:flex;flex-direction:column;gap:30px}.hero-copy{padding-top:16px}.hero-copy h1{font-size:40px}.hero-copy p{max-width:400px}.hero-copy .button{margin-top:5px}.hero-image{min-height:0;aspect-ratio:1.15;margin:0}.projects{padding-bottom:60px}h2{font-size:36px}.section-intro{font-size:15px;margin-bottom:25px}.section-intro br{display:none}.project-grid{gap:26px;grid-template-columns:1fr}.project h3{font-size:21px}.project p{font-size:14px}.callout{grid-template-columns:1fr;padding:35px 25px;gap:25px}.callout h2{font-size:39px}.callout .button{justify-self:start;font-size:14px}.callout p{max-width:380px}.services{padding:85px 0}.services-top{padding-right:20px;gap:15px;align-items:flex-start}.services-top p{font-size:15px}.arrows{padding-top:4px;gap:4px}.arrows button{width:30px;font-size:23px}.service-track{padding:55px 20px 15px;gap:20px;scroll-padding:20px}.service{flex-basis:82%;min-width:270px;padding:90px 30px 35px}.service h3{font-size:30px}.service p{font-size:17px}.badge{top:36px}.services-cta{margin-top:45px;padding:0 20px}.services-cta .button{font-size:13px}.process-reserved{min-height:170px}.process-reserved span{font-size:11px}.about{grid-template-columns:1fr;gap:35px;padding-top:60px;padding-bottom:60px}.about-copy{padding-top:0}.about h2{font-size:36px}.about p{font-size:16px}.about-meta{font-size:11px}.last p{font-size:15px}footer{padding:60px 20px 25px}.footer-main{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-logo{grid-column:1/-1;max-width:270px;height:130px}.footer-main h3{font-size:23px}.footer-main a:not(.footer-logo),.social-placeholder{font-size:12px}.copyright{margin-top:50px;font-size:11px}dialog{padding:40px 25px}dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.wordmark{transform:scaleX(1.35);width:74%}
@media(max-width:600px){.wordmark{transform:scaleX(1.27);width:78%}}

img.portrait{display:block;width:100%;height:auto;aspect-ratio:1.08;object-fit:cover;object-position:center 42%}.social-links{display:flex;flex-direction:column;gap:12px}.social-links a{display:flex;align-items:center;gap:8px;width:fit-content}.social-links a:hover{color:#c4ff38}.social-links svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}.social-links svg .dot{fill:currentColor;stroke:none}

img.hero-image{display:block;width:100%;height:auto;min-height:0;aspect-ratio:1374/1145;object-fit:contain;align-self:start;background:#fff}

.header-logo{display:block;width:200px;flex-shrink:0}.header-logo img{display:block;width:100%;height:72px;object-fit:contain;object-position:left center}.footer-logo{display:block;width:100%;height:auto;background:transparent}.footer-logo img{display:block;width:100%;height:auto}@media(max-width:1000px){.header-logo{width:145px}.header-logo img{height:58px}}@media(max-width:600px){.header-logo{width:92px}.header-logo img{height:45px}}
.process{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:9%;padding-top:125px;padding-bottom:125px;background:#f7f7f3;border-bottom:1px solid #d6d6d1}.process-heading{position:sticky;top:45px;align-self:start}.process-marker{display:flex;width:62px;height:62px;align-items:center;justify-content:center;border:1px solid #111;background:#c4ff38;font-size:46px;margin-bottom:30px;line-height:1}.process h2{font-size:clamp(38px,4.2vw,65px);line-height:1.02;max-width:10ch}.process-route{display:flex;align-items:center;gap:15px;margin-top:45px;max-width:220px;font-size:14px}.route-line{height:1px;background:#111;flex:1;position:relative}.route-line:after{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid;border-top:1px solid;transform:rotate(45deg)}.process-steps{list-style:none;padding:0;margin:0}.process-step{display:grid;grid-template-columns:76px minmax(0,1fr);gap:24px;padding:34px 0 40px;border-top:1px solid #111}.process-number{font-weight:700;font-size:64px;line-height:.95;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px #111}.process h3{font-size:clamp(24px,2.35vw,34px);line-height:1.05;margin-bottom:18px}.process p{font-size:19px;line-height:1.4;max-width:650px}.process-step:last-child{background:#c4ff38;padding:34px 28px 40px;margin-top:10px;border:1px solid #111;box-shadow:5px 5px 0 #111}.process-step:last-child .process-number{color:#111;-webkit-text-stroke:0}.process-step:last-child p{font-size:21px}@media(max-width:1000px){.process{gap:6%;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);padding-top:90px;padding-bottom:90px}.process-step{grid-template-columns:54px minmax(0,1fr);gap:16px}.process-number{font-size:49px}.process p{font-size:17px}.process-step:last-child{padding:28px 20px}.process-step:last-child p{font-size:18px}}@media(max-width:600px){.process{grid-template-columns:1fr;gap:45px;padding-top:65px;padding-bottom:65px}.process-heading{position:static;display:grid;grid-template-columns:45px 1fr;gap:20px;align-items:start}.process-marker{width:45px;height:45px;font-size:34px;margin-top:2px;margin-bottom:0}.process h2{font-size:38px;max-width:12ch}.process-route{display:none}.process-step{grid-template-columns:45px minmax(0,1fr);padding:27px 0 32px;gap:17px}.process-number{font-size:43px}.process h3{font-size:25px;margin-bottom:13px}.process p{font-size:16px;line-height:1.4}.process-step:last-child{padding:25px 15px 30px;gap:14px}.process-step:last-child p{font-size:17px}}
/* Typography from the supplied Figma specifications. */
@font-face{font-family:Inter;src:url(inter-regular.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Syne;src:url(syne-bold.ttf) format('truetype');font-style:normal;font-weight:700;font-display:swap}
body{font-family:Inter,Arial,sans-serif;color:#0A0A0B}
h1,h2,h3,.eyebrow,.button,nav,.process-number,.wordmark{font-family:Syne,Arial,sans-serif;font-style:normal;font-weight:700}
h1,h2,h3,.eyebrow{line-height:1.07094;letter-spacing:-.07em;text-transform:uppercase;text-box-trim:trim-both;text-box-edge:cap alphabetic;leading-trim:both;text-edge:cap}
.hero-copy h1{font-size:65px;letter-spacing:-4.55px;line-height:1.07094}
.projects>h2,.services h2,.about h2,.callout h2,.process h2{font-size:55px;letter-spacing:-3.85px;line-height:1.07094}
p,.hero-copy p,.section-intro,.project p,.callout p,.services-top p,.service p,.about p,.last p,.process p,.process-step:last-child p,.copyright{font-family:Inter,Arial,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.29;letter-spacing:-1px;text-box-trim:trim-both;text-box-edge:cap alphabetic;leading-trim:both;text-edge:cap}
.hero>.eyebrow{font-family:Syne,Arial,sans-serif;font-size:20px;font-style:normal;font-weight:700;line-height:1.07094;letter-spacing:-1.4px;text-transform:uppercase;color:#0A0A0B}
.wordmark{font-size:clamp(70px,16.5vw,255px);letter-spacing:-.07em;transform:none;width:100%}
.hero-content{grid-template-columns:minmax(550px,46%) minmax(0,1fr);gap:2%}
.service{min-width:340px;padding-left:40px;padding-right:40px}.service h3{font-size:30px;min-height:100px}
.process h2{max-width:12ch}.process-heading{min-width:0}.process h3{font-size:30px}
@media(max-width:1000px){.hero-content{display:flex;flex-direction:column;gap:35px}.hero-copy{max-width:650px}.hero-image{width:min(100%,750px);align-self:flex-end;margin-top:0}.hero-copy h1{font-size:65px}.process{grid-template-columns:minmax(0,.95fr) minmax(0,1.4fr);gap:5%}.process h2{font-size:45px;letter-spacing:-3.15px}}
@media(max-width:600px){.hero-copy h1{font-size:clamp(30px,7.75vw,46px);letter-spacing:-.07em}.projects>h2,.services h2,.about h2,.callout h2,.process h2{font-size:38px;letter-spacing:-2.66px}.hero>.eyebrow{font-size:20px;letter-spacing:-1.4px}.wordmark{font-size:16.5vw}.service{min-width:290px;padding-left:25px;padding-right:25px}.service h3{font-size:27px}.process{grid-template-columns:1fr}.process h3{font-size:25px}.process-heading{grid-template-columns:45px minmax(0,1fr)}.process h2{font-size:32px;letter-spacing:-2.24px}.copyright{text-align:left}}
/* Section-specific typography supplied in the second annotation pass. */
#services h2,.first h2,#process-heading,#about h2{color:#C9FF36}
.first h2{background:#0A0A0B;padding:.16em .2em;max-width:100%;width:fit-content}
#contact h2{color:#FFFFFF}
.about-meta{font-family:Inter,Arial,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1.29;letter-spacing:-.8px;color:#0A0A0B;flex-wrap:wrap;text-box-trim:trim-both;text-box-edge:cap alphabetic;leading-trim:both;text-edge:cap}
#contact p,footer .copyright{font-family:Inter,Arial,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1.29;letter-spacing:-.8px;color:#FFFFFF}
footer .copyright{text-align:right}
.footer-main h3,.service h3{font-family:Syne,Arial,sans-serif;font-size:32px;font-style:normal;font-weight:700;line-height:1.07094;letter-spacing:-2.24px;text-transform:uppercase;color:#FFFFFF}
#about p{font-family:Inter,Arial,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.29;letter-spacing:-1px;color:#0A0A0B}
.service p{font-family:Inter,Arial,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.29;letter-spacing:-1px;color:#FFFFFF}
@media(min-width:1001px){.footer-main{grid-template-columns:minmax(0,1.5fr) minmax(145px,.7fr) minmax(230px,1fr) minmax(145px,.65fr)}}
@media(max-width:600px){.service h3{font-size:28px;letter-spacing:-1.96px}.footer-main h3{font-size:28px;letter-spacing:-1.96px}.first h2{padding:.14em .15em}}

/* Hero alignment and transparent overlap. */
.hero .wordmark{margin-left:-.035em;width:calc(100% + .035em);margin-top:0;position:relative;z-index:1}
.hero-content{position:relative}.hero-copy{position:relative;z-index:3}
img.hero-image{width:calc(100% + 55px);max-width:none;position:relative;z-index:2;background:transparent;margin-top:-105px;margin-left:-30px;pointer-events:none}
/* A compact process grid with the established type and palette. */
#process{display:block;background:#0A0A0B;color:#fff;padding-top:85px;padding-bottom:85px;border-bottom:0}
#process .process-heading{position:static;margin:0 0 45px;display:block}
#process h2{max-width:none}
#process .process-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px}
#process .process-step{display:block;border-top:1px solid #777;padding:28px 0 35px;margin:0;background:none;box-shadow:none}
#process .process-number{display:block;font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.29;letter-spacing:-.8px;color:#C9FF36;-webkit-text-stroke:0;margin-bottom:16px}
#process h3{font-size:32px;line-height:1.07094;letter-spacing:-2.24px;margin-bottom:16px}
#process p{font-size:20px;line-height:1.29;letter-spacing:-1px}
#process .process-step:last-child{grid-column:1/-1;border:0;border-top:1px solid #777;padding:28px 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:55px}
#process .process-step:last-child .process-number{grid-column:1}
#process .process-step:last-child .process-step-copy{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:55px}
.portrait-frame{width:100%;align-self:start;outline-offset:6px}.portrait-art{display:block;width:100%;height:auto;overflow:visible}
@media(max-width:1000px){img.hero-image{width:min(105%,780px);margin-top:-40px;margin-left:0}#process .process-steps{gap:0 30px}#process .process-step:last-child .process-step-copy{gap:30px}}
@media(max-width:600px){.hero .wordmark{margin-left:-.03em}img.hero-image{width:100%;margin-top:-12px;margin-left:0}#process{padding-top:60px;padding-bottom:60px}#process .process-heading{margin-bottom:30px}#process .process-steps{grid-template-columns:1fr;gap:0}#process .process-step:last-child,#process .process-step:last-child .process-step-copy{display:block}#process h3{font-size:28px;letter-spacing:-1.96px}}
@media(prefers-reduced-motion:reduce){}

/* Responsive wordmark with the supplied 250px proportions. */
.hero{container-type:inline-size}.hero .wordmark{font-family:Syne,Arial,sans-serif;font-weight:700;font-style:normal;font-size:calc((100vw - 80px)/5.428);font-size:18.423cqw;line-height:1.07094;letter-spacing:-.07em;text-transform:uppercase;text-align:center;color:#0A0A0B;white-space:nowrap;margin:0;width:100%;transform:none;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.first h2{color:#0A0A0B;background:transparent;padding:0;width:auto}
#about h2{color:#0A0A0B;max-width:100%;letter-spacing:-.07em}
.about-title-line{display:block;width:max-content;max-width:none;white-space:nowrap;line-height:1.07094;letter-spacing:-.07em}
.projects-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center;margin-bottom:40px}
.projects-heading h2{font-size:55px;line-height:1.07094;letter-spacing:-3.85px}.projects-heading .section-intro{margin:0;max-width:560px}.projects-heading .section-intro br{display:none}
.project h3{margin-top:16px}.project p{margin-top:14px}.project-grid{row-gap:42px}
/* Alternating positions preserve the sequential DOM and reading order. */
#process .process-steps{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 20px}
#process .process-step,#process .process-step:last-child{grid-column:1/8;display:block;margin:0 0 18px;padding:26px 0 30px;border:0;border-top:1px solid #777}
#process .process-step:nth-child(even){grid-column:6/13}
#process .process-step:nth-child(1){grid-row:1}#process .process-step:nth-child(2){grid-row:2}#process .process-step:nth-child(3){grid-row:3}#process .process-step:nth-child(4){grid-row:4}#process .process-step:nth-child(5){grid-row:5}
#process .process-step:last-child .process-step-copy{display:block}
.portrait-frame{overflow:hidden}.portrait-art{overflow:hidden}
@media(max-width:600px){.hero .wordmark{font-size:18.423cqw}.projects-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.projects-heading h2{font-size:38px;letter-spacing:-2.66px}#process .process-steps{display:block}#process .process-step,#process .process-step:last-child{margin:0;padding:25px 0 30px}.project p{margin-top:12px}}
.hero .wordmark{margin-top:20px;margin-bottom:18px}
/* Plain portrait: grayscale at rest, original colour on hover or focus. */
#about{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:6%;align-items:center}
#about .portrait-frame{align-self:center;overflow:hidden;width:100%;margin:0 auto}
.portrait-photo{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 42%;filter:grayscale(100%)}
.portrait-frame:hover .portrait-photo,.portrait-frame:focus .portrait-photo,.portrait-frame:focus-within .portrait-photo{filter:none}
#about .about-copy{padding-top:0;align-self:center}
@media(max-width:600px){#about{grid-template-columns:1fr;gap:35px}.portrait-frame{max-width:640px}}

/* Finishing adjustments from the latest review. */
.portrait-photo{transition:filter 900ms ease}
.portrait-frame:hover .portrait-photo,.portrait-frame:focus .portrait-photo,.portrait-frame:focus-within .portrait-photo{filter:grayscale(0)}
.button{box-shadow:2px 2px 0 #0A0A0B}.button:hover{box-shadow:3px 4px 0 #0A0A0B}
header{height:132px}.header-logo{width:240px}.header-logo img{height:92px}
.projects-heading{align-items:end}
#services p{font-weight:400;font-synthesis:none}
.services-cta .button{font-size:24px;line-height:1.15;min-height:72px;padding:21px 34px;max-width:100%;white-space:normal}
footer{padding-top:140px;padding-bottom:55px}
.footer-main a:not(.footer-logo){opacity:.7;transition:opacity 180ms ease}
.footer-main a:not(.footer-logo):hover,.footer-main a:not(.footer-logo):focus-visible{opacity:1}
@media(max-width:1000px){header{height:110px}.header-logo{width:185px}.header-logo img{height:74px}footer{padding-top:110px;padding-bottom:45px}}
@media(max-width:600px){header{height:auto}.header-logo{width:116px}.header-logo img{height:50px}.services-cta .button{font-size:20px;min-height:66px;padding:18px 22px}footer{padding-top:80px;padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.portrait-photo,.footer-main a:not(.footer-logo){transition:none}}

/* Supplied hero artwork fills the same 1360px content width as the PDF. */
.hero .wordmark{font-size:0;line-height:0;letter-spacing:normal;text-box-trim:none;width:100%;margin-left:0;transform:none}
.hero .wordmark>img{display:block;width:100%;height:auto;aspect-ratio:1360/166}

/* CTA references: generous inset, two aligned title lines, centered booking button. */
.callout{grid-template-columns:minmax(0,640px) max-content;justify-content:space-between;align-items:center;gap:60px;padding:96px max(40px,calc((100vw - 1140px)/2))}
.callout>div{min-width:0}
.callout h2{font-size:55px;line-height:1.07094;letter-spacing:-3.85px;margin:0}
.callout h2 span{display:block}
.callout p{margin-top:14px;max-width:640px}
.callout .button{justify-self:end;font-size:24px;line-height:1.05;padding:9px 11px;white-space:nowrap;box-shadow:4px 4px 0 #0A0A0B}
@media(max-width:1200px){.callout{gap:40px;padding:76px 40px}.callout h2{font-size:clamp(36px,3.82vw,55px);letter-spacing:-.07em}.callout .button{font-size:20px}}
@media(max-width:900px){.callout{grid-template-columns:1fr;gap:32px;padding:64px 25px}.callout>div{max-width:640px}.callout h2{font-size:clamp(30px,5.5vw,49px)}.callout .button{justify-self:start;white-space:normal;text-align:center}}
@media(max-width:600px){.callout{padding:54px 20px;gap:28px}.callout h2{font-size:clamp(26px,6.8vw,40px)}.callout p{margin-top:16px}.callout .button{font-size:18px;max-width:100%;padding:12px}}

/* Footer columns share a top edge; metadata follows the body copy width. */
.footer-main{align-items:start}
.copyright{font-family:Inter,Arial,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1.29;letter-spacing:-.8px;opacity:.7}
.about-meta{width:100%;max-width:600px}
.services-cta{padding-left:40px;padding-right:40px}
.services-cta h3{font-size:32px;line-height:1.07094;letter-spacing:-2.24px;color:#fff;margin:0 0 28px}
.services-cta .button{min-height:56px;padding:16px 24px;font-size:20px}
.projects-page{padding-top:100px;padding-bottom:100px;min-height:65vh}
.projects-page .projects-heading h1{font-size:55px;line-height:1.07094;letter-spacing:-3.85px}
@media(max-width:600px){.services-cta{padding-left:20px;padding-right:20px}.services-cta h3{font-size:28px;letter-spacing:-1.96px}.projects-page{padding-top:60px;padding-bottom:60px}.projects-page .projects-heading h1{font-size:38px;letter-spacing:-2.66px}.about-meta{flex-wrap:wrap}}

/* Shared footer baseline and text styling. */
.copyright{display:flex;justify-content:space-between;align-items:baseline;gap:16px 32px;text-align:left;flex-wrap:wrap}
.copyright>span:last-child{margin-left:auto;text-align:right}
@media(max-width:600px){.copyright{flex-direction:column;gap:12px}.copyright>span:last-child{margin-left:0;text-align:left}}

/* Searchable projects, with the same information in either view. */
.projects-page .projects-heading h1{font-size:65px;line-height:1.07094;letter-spacing:-4.55px}
.project{position:relative;display:block}.project[hidden]{display:none!important}
.project .project-tags{font-size:14px;line-height:1.29;letter-spacing:-.7px;padding-right:44px}
.project h3{padding-right:44px}
.project-client,.list-field-label{display:none}
.project-arrow{position:absolute;right:0;bottom:10px;width:30px;height:30px;transition:transform 220ms ease}
.project-arrow svg{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:1.6}
.project:hover .project-arrow,.project:focus-visible .project-arrow{transform:rotate(-45deg)}
.project-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px) auto;align-items:end;gap:24px;margin-bottom:22px}
.project-controls label{display:block;font-family:Inter,Arial,sans-serif;font-size:14px;margin-bottom:10px}
.project-controls input,.project-controls select{width:100%;min-height:48px;padding:12px;border:1px solid #0A0A0B;border-radius:0;color:#0A0A0B;background:#fff;font:400 16px/1.29 Inter,Arial,sans-serif}
.project-controls input:focus-visible,.project-controls select:focus-visible{outline:3px solid #4840b8;outline-offset:3px}
.view-options{display:flex}.view-options button{min-height:48px;padding:12px 18px;border:1px solid #0A0A0B;background:#fff;font:700 16px/1.29 Syne,Arial,sans-serif;text-transform:uppercase}.view-options button+button{border-left:0}.view-options button[aria-pressed=true]{background:#C9FF36}
.project-results-info{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;min-height:24px}.project-results-info p{font-size:14px;letter-spacing:-.7px}.project-results-info button{border:0;background:none;text-decoration:underline;font:400 14px Inter,Arial,sans-serif;padding:4px}
.project-list-heading{display:none}.project-list-heading.is-visible{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr) 32px;gap:24px;padding:0 0 16px;font:400 14px Inter,Arial,sans-serif}
.project-grid.is-list{display:block}.is-list .project{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr) 32px;gap:24px;align-items:center;width:100%;padding:26px 0;border-top:1px solid #0A0A0B}.is-list .project:last-child{border-bottom:1px solid #0A0A0B}.is-list .project-image{display:none}.is-list .project h3{font-size:24px;margin:0;padding:0}.is-list .project-client{display:block;font:400 16px/1.29 Inter,Arial,sans-serif}.is-list .project-tags{margin:0;padding:0}.is-list .project-arrow{position:static;align-self:center}.is-list .project:hover{background:#f5f5f5}
.project-empty{padding:48px 0;border-top:1px solid #0A0A0B}.project-empty[hidden]{display:none}
@media(max-width:1000px){.project-controls{grid-template-columns:minmax(0,1fr) minmax(160px,.6fr)}.view-options{grid-column:1/-1}.projects-page .projects-heading h1{font-size:65px}}
@media(max-width:600px){.projects-page .projects-heading h1{font-size:clamp(30px,7.75vw,46px);letter-spacing:-.07em}.project-controls{grid-template-columns:1fr;gap:18px}.project-list-heading.is-visible{display:none}.is-list .project{grid-template-columns:minmax(0,1fr) 32px;gap:12px}.is-list .project h3{font-size:23px;grid-column:1;grid-row:1}.is-list .project-client,.is-list .project-tags{grid-column:1}.is-list .project-arrow{grid-column:2;grid-row:1}.is-list .list-field-label{display:inline}.project-arrow{bottom:4px}}
@media(prefers-reduced-motion:reduce){.project-arrow{transition:none}}

/* Keep the native select accessible while positioning its chevron consistently. */
#project-tag{appearance:none;-webkit-appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%230A0A0B' stroke-width='1.5' stroke-linecap='square'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}
.project-image{overflow:hidden;box-shadow:0 0 0 #0A0A0B;transition:box-shadow 220ms ease,background 220ms ease}
.project-image:hover,.project:focus-visible .project-image{box-shadow:6px 6px 0 #0A0A0B}
.project-image img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform 450ms ease}
.project-image:hover img,.project:focus-visible .project-image img{transform:scale(1.04)}
.social-links a[aria-disabled=true]{cursor:default}
.footer-main .social-links a[aria-disabled=true]:hover{opacity:.7}
@media(forced-colors:active){#project-tag{appearance:auto;background-image:none}}
@media(prefers-reduced-motion:reduce){.project-image,.project-image img{transition:none}.project-image:hover img,.project:focus-visible .project-image img{transform:none}}

/* Preserve a fixed card crop while the artwork zooms inside it. */
.project-image{position:relative}
.project-image img{position:absolute;inset:0;object-position:center}

.project-image img[src="after-dark-poster.png"]{object-position:center 30%}
