:root{color-scheme:dark;--bg:#222222;--text:#f0f0f0;--muted:#b8b8b8;--line:#454545;--gutter:clamp(22px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0;font-weight:400}h1,h2,h3{line-height:1.16}h2{font-size:clamp(26px,3.2vw,48px);letter-spacing:-.025em}h3{font-size:clamp(22px,2.2vw,34px);letter-spacing:-.025em}.wrap{margin-inline:auto;width:calc(100% - var(--gutter)*2);max-width:1500px}.site-header{min-height:102px;padding:23px var(--gutter);display:flex;align-items:center;gap:35px;position:relative;z-index:2;background:var(--bg)}.brand{font-size:19px;line-height:1.15;letter-spacing:.07em;flex-shrink:0}.brand span{display:block;font-size:12px;letter-spacing:.28em;margin-top:7px}.site-header nav{margin-left:auto;display:flex;gap:clamp(15px,2vw,32px);font-size:14px}.site-header nav a{padding-block:8px;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--text)}.languages{display:flex;align-items:center;gap:5px;font-size:13px}.languages button{color:#999999;padding:8px 4px}.languages button[aria-pressed=true]{color:white}.languages span{color:#777777}.home-hero{height:calc(100svh - 102px);min-height:570px;position:relative}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:contrast(1.04)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.64),transparent 85%)}.hero-copy{position:absolute;bottom:16%;left:var(--gutter);right:var(--gutter)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;margin-bottom:24px}.hero-copy h1{font-size:clamp(38px,5.4vw,82px);line-height:1.1;letter-spacing:-.04em;max-width:900px;text-wrap:balance}.text-link{font-size:14px;display:inline-flex;gap:50px;align-items:center}.hero-copy .text-link{margin-top:28px;border-bottom:1px solid #ffffff80;padding-bottom:7px}.hero-scroll{position:absolute;left:var(--gutter);bottom:25px;font-size:13px}.statement{padding-block:100px;display:grid;grid-template-columns:3fr 1fr;gap:60px;align-items:end}.statement p{font-size:clamp(26px,3.2vw,47px);max-width:940px;line-height:1.25;letter-spacing:-.025em}.statement>a{font-size:14px;text-align:right}.section-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:28px;margin-bottom:58px}.section-heading>span{font-size:12px;color:var(--muted);letter-spacing:.1em}.projects-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:5vw;row-gap:78px}.project-card:nth-child(even){margin-top:105px}.card-image{overflow:hidden;position:relative;background:#2c2c2c}.card-image img{width:100%;aspect-ratio:1.45;object-fit:cover;transition:transform .6s}.project-card:hover img{transform:scale(1.025)}.view{position:absolute;right:15px;bottom:15px;width:38px;height:38px;display:grid;place-items:center;background:#222222c9;font-size:23px}.card-caption{display:grid;grid-template-columns:25px 1fr;column-gap:14px;row-gap:7px;margin-top:20px}.card-caption h3{font-size:clamp(20px,2vw,28px)}.card-caption>.number{font-size:12px;color:var(--muted);padding-top:4px}.card-caption>span:last-child{grid-column:2;font-size:14px;color:var(--muted)}.current-row{margin-top:85px;border-block:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px}.current-row>span{font-size:14px;color:var(--muted)}.current-row>span:last-child{text-align:right}.about,.services,.process{padding-top:125px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.about-grid h3{font-size:clamp(38px,4.4vw,65px)}.about-image{margin-top:55px;max-width:380px}.about-image img{width:100%;aspect-ratio:4/5;object-fit:cover}.about-copy{max-width:650px}.about-copy p{margin-bottom:27px;color:var(--muted);font-size:18px;line-height:1.8}.about-copy p:first-child{color:var(--text);font-size:clamp(22px,2.1vw,30px);line-height:1.5}.service-row{padding:35px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:40px 1fr 1fr;gap:30px}.service-row>span{font-size:12px;color:var(--muted)}.service-row p{max-width:500px;color:var(--muted)}.service-row h3{font-size:26px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.step{font-size:13px;color:var(--muted);display:block;margin-bottom:35px}.process-grid h3{font-size:23px;margin-bottom:20px}.process-grid p{color:var(--muted);max-width:290px}.contact{padding-block:150px 120px}.contact h2{font-size:clamp(38px,5.3vw,80px);max-width:950px;text-wrap:balance;margin-bottom:40px}.email{font-size:clamp(18px,2.5vw,35px);border-bottom:1px solid var(--muted);padding-bottom:12px;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);margin:0 var(--gutter);padding-block:35px;display:flex;align-items:center;justify-content:space-between;gap:30px}footer>span,footer>a:last-child{font-size:12px;color:var(--muted)}.project-intro{padding-block:55px}.project-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:75px}.project-title h1{font-size:clamp(34px,5vw,74px);letter-spacing:-.045em}.project-title p{color:var(--muted);font-size:14px;min-width:160px}.project-cover{max-width:1200px}.project-cover img{width:100%;max-height:760px;object-fit:contain;background:#1e1e1e}.project-description{padding-block:70px;max-width:800px;font-size:clamp(22px,2.5vw,32px);line-height:1.5}.project-gallery{max-width:1100px;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.project-gallery figure{margin:0;min-width:0}.project-gallery figure:first-child{grid-column:1/-1}.gallery-image{display:block;padding:0;width:100%;position:relative}.gallery-image img{width:100%;max-height:750px;object-fit:contain;background:#1e1e1e}.zoom{position:absolute;right:10px;bottom:10px;font-size:22px;background:#222222cf;padding:0 10px}figcaption{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted);padding-top:14px}.next-project{padding-block:100px}.next-project a{display:flex;justify-content:space-between;font-size:clamp(26px,3vw,45px);border-top:1px solid var(--line);padding-top:28px}dialog{border:0;width:100vw;max-width:none;height:100dvh;max-height:none;inset:0;padding:60px 65px;margin:0;background:#1c1c1cf7;color:white}dialog::backdrop{background:#000}dialog[open]{display:grid;grid-template-columns:45px 1fr 45px;grid-template-rows:1fr auto;align-items:center;gap:20px}#photo-full{max-height:calc(100dvh - 160px);width:100%;object-fit:contain}#photo-close{position:absolute;right:25px;top:10px;font-size:35px}#photo-caption{grid-column:2;text-align:center;font-size:14px}#photo-prev,#photo-next{font-size:26px;min-height:44px}body.modal-open{overflow:hidden}.skip{position:fixed;left:20px;top:-100px;background:white;color:black;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1700px){.home-hero{max-height:1100px}}@media(max-width:1000px){.site-header{flex-wrap:wrap;gap:20px;padding-block:20px}.site-header nav{order:3;width:100%;justify-content:space-between;margin:0;gap:12px;flex-wrap:wrap}.languages{margin-left:auto}.home-hero{height:75svh;min-height:520px}.process-grid{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:25px 1fr 1fr}.project-title{align-items:start;flex-direction:column}.statement{grid-template-columns:1fr}.statement>a{text-align:left}.about-copy p{font-size:16px}}@media(max-width:600px){html{scroll-padding-top:25px}.site-header nav{font-size:12px;gap:8px}.brand{font-size:17px}.home-hero{min-height:560px}.hero-image{object-position:60% center}.hero-copy{bottom:20%}.hero-copy h1{font-size:41px;max-width:340px}.statement{padding-block:65px;gap:30px}.section-heading{margin-bottom:35px}.projects-grid{grid-template-columns:1fr;row-gap:45px}.project-card:nth-child(even){margin-top:0}.card-caption h3{font-size:23px}.current-row{grid-template-columns:1fr 1fr;margin-top:50px}.current-row>span:first-child{grid-column:1/-1}.current-row h3{font-size:24px}.current-row>span:last-child{font-size:12px}.about,.services,.process{padding-top:75px}.about-grid{grid-template-columns:1fr;gap:35px}.about-image{display:none}.about-copy p:first-child{font-size:23px}.service-row{grid-template-columns:20px 1fr;gap:15px}.service-row p{grid-column:2}.service-row h3{font-size:23px}.process-grid{gap:40px 25px}.process-grid h3{font-size:21px}.process-grid p{font-size:15px}.step{margin-bottom:20px}.contact{padding-block:90px}.contact h2{font-size:39px}.project-intro{padding-block:30px}.project-title{margin-top:45px}.project-gallery{grid-template-columns:1fr;gap:40px}.project-description{padding-block:45px;font-size:23px}.project-gallery figure:first-child{grid-column:auto}footer{flex-wrap:wrap}footer>span{order:3;width:100%}dialog{padding:55px 12px 20px}dialog[open]{grid-template-columns:32px 1fr 32px;gap:5px}#photo-full{max-height:calc(100dvh - 140px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Single featured project */
.projects-grid.single-project{grid-template-columns:1fr;max-width:1200px;margin-inline:auto}.single-project .card-image img{aspect-ratio:16/10}.single-project .card-caption{grid-template-columns:1fr auto;align-items:baseline}.single-project .card-caption>span:last-child{grid-column:2}.single-project .card-caption h3{font-size:clamp(23px,3vw,40px)}@media(max-width:600px){.single-project .card-caption{grid-template-columns:1fr}.single-project .card-caption>span:last-child{grid-column:1}}

/* More restrained desktop headings; mobile typography is preserved. */
@media (min-width:1001px){
 h2{font-size:clamp(21.32px,2.624vw,39.36px)}
 h3{font-size:clamp(18.04px,1.804vw,27.88px)}
 .hero-copy h1{font-size:clamp(31.16px,4.428vw,67.24px)}
 .statement p{font-size:clamp(21.32px,2.624vw,38.54px)}
 .card-caption h3{font-size:clamp(16.4px,1.64vw,22.96px)}
 .single-project .card-caption h3{font-size:clamp(18.86px,2.46vw,32.8px)}
 .about-grid h3{font-size:clamp(31.16px,3.608vw,53.3px)}
 .service-row h3{font-size:21.32px}
 .process-grid h3{font-size:18.86px}
 .contact h2{font-size:clamp(28.5px,3.975vw,60px)}
 .project-title h1{font-size:clamp(27.88px,4.1vw,60.68px)}
}

@media (min-width:1001px){.service-row p,.process-grid p{font-size:1.125rem;line-height:1.65}}
