:root{--red:#b51f32;--ink:#171818;--paper:#f5f3ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #e95567;outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;z-index:100;background:white;padding:20px}.review{background:var(--red);color:white;padding:7px 4%;font-size:10px;letter-spacing:.15em;display:flex;justify-content:space-between}.review span{letter-spacing:.05em}header{background:#fff;display:flex;align-items:center;justify-content:space-between;padding:24px 4%;gap:30px}.logo{width:240px;display:block}nav{display:flex;gap:27px;font-size:12px}nav a:hover{color:var(--red)}.hero{height:calc(100svh - 130px);min-height:620px;position:relative;overflow:hidden;color:white;background:#242a2b}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;animation:drift 24s ease-in-out infinite alternate}.paused .hero>img{animation-play-state:paused}@keyframes drift{to{transform:scale(1.08)}}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#081316b0,transparent 85%),linear-gradient(0deg,#091112c9,transparent 45%)}.hero-copy{position:absolute;top:19%;left:6%;width:85%}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.red{color:var(--red)}h1{font-size:clamp(58px,6.6vw,118px);line-height:1.03;font-weight:400;letter-spacing:-.055em;margin:22px 0 35px}h1 em{font-family:Georgia,serif;font-weight:400}h2{font-size:clamp(36px,4.3vw,68px);font-weight:400;letter-spacing:-.045em;line-height:1.08;margin:18px 0 28px}.line-link{display:inline-flex;gap:50px;border-bottom:1px solid #ffffff70;padding:12px 0;font-size:14px}.dark{border-color:#aaa}.hero-foot{position:absolute;bottom:35px;left:6%;right:6%;display:flex;align-items:end;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:20px}.hero-title{background:none;border:0;color:white;font-size:24px;padding:0}.controls{display:flex;align-items:center;gap:18px;font-size:11px}.controls button{color:white;background:transparent;border:1px solid #ffffff70;padding:8px 12px}.section{padding:100px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:8%;margin-bottom:44px}.section-heading>p,.section-heading>div:last-child{max-width:480px}.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.story-card{border:0;background:none;text-align:left;padding:0}.story-card .picture{height:440px;overflow:hidden;position:relative}.story-card img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.story-card:hover img{transform:scale(1.04)}.story-card .tag{position:absolute;left:18px;top:18px;color:white;background:#17181899;padding:7px 12px;font-size:10px;letter-spacing:.13em}.story-card h3{font-size:24px;font-weight:400;margin:14px 0 0}.story-card p{font-size:12px;color:#686868;margin:4px 0}.portfolio{background:#eae7e1}input{display:block;width:320px;background:transparent;border:0;border-bottom:1px solid #777;padding:12px 0}label{font-size:11px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters button{border:1px solid #aaa;background:transparent;padding:8px 16px;font-size:11px}.filters button.active{background:var(--ink);color:white}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}.project-row{padding:20px 0;border-top:1px solid #bdbbb6;display:flex;justify-content:space-between;gap:10px}.project-row small{display:block;color:#686868;font-size:10px;text-transform:uppercase}#results{font-size:11px;color:#666}.service-teaser{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.service-teaser>img{width:100%;height:660px;object-fit:cover}.service-teaser>div{padding:70px 12%;align-self:center}.contact{background:var(--red);color:white;padding:70px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}.contact h2{font-size:60px}.contact a{border-bottom:1px solid white;padding-bottom:10px}footer{padding:45px 6%;display:flex;gap:50px;justify-content:space-between;font-size:11px}footer p{max-width:550px;margin:0}dialog{padding:0;border:0;width:min(1100px,94vw);max-height:92vh;background:var(--paper)}dialog::backdrop{background:#000b}dialog>img{width:100%;height:48vh;object-fit:cover}.close{position:absolute;right:20px;top:20px;padding:10px 20px;background:white;border:0}.story-body{padding:35px 6%}.credit{font-size:11px;color:#666}.services-intro{padding:75px 6% 40px}.service-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;padding:45px 6% 90px}.service-feature>img{width:100%;height:620px;object-fit:cover}.service-feature details{padding:14px 0;border-bottom:1px solid #bbb}.service-feature summary{cursor:pointer}.process{background:var(--ink);color:white}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps h3{font-size:25px;font-weight:400}.steps p{color:#bbb}.notes{max-width:1000px;margin:auto;padding:60px 30px}.notes h2{font-size:35px}.notes a{color:var(--red);text-decoration:underline}@media(max-width:800px){header{align-items:start;flex-direction:column;padding:20px 6%;gap:20px}.logo{width:200px}nav{gap:14px;flex-wrap:wrap;font-size:11px}.review span{display:none}.hero{min-height:620px;height:78svh}.hero-copy{top:18%}.hero-foot{align-items:start;gap:20px;flex-direction:column}.section{padding:60px 6%}.section-heading{display:block}.stories{grid-template-columns:1fr}.story-card .picture{height:440px}.project-grid{grid-template-columns:1fr}.service-teaser,.service-feature{grid-template-columns:1fr}.service-teaser>img,.service-feature>img{height:400px}.service-teaser>div{padding:45px 6%}.contact,footer{display:block}.contact h2{font-size:44px}footer>*{margin-bottom:20px}.steps{grid-template-columns:1fr}input{width:100%}.section-heading label{display:block;margin-top:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero>img{animation:none}.story-card img{transition:none}}

.portfolio-tools{display:flex;justify-content:space-between;gap:16px;align-items:center}.portfolio-tools>button,#more-projects{border:1px solid #aaa;background:transparent;padding:8px 16px;font-size:11px}#more-projects{display:block;margin:40px auto 0}#more-projects[hidden]{display:none}.project-grid{gap:35px 24px}.project-tile{border:0;background:none;padding:0;text-align:left;min-width:0;color:inherit}.project-media{height:300px;background:#222;position:relative;overflow:hidden}.project-media img,.project-media video{width:100%;height:100%;object-fit:contain;display:block}.motion-tag{position:absolute;left:10px;bottom:10px;font-size:9px;background:#171818d9;color:white;padding:4px 8px;pointer-events:none}.tile-text{display:grid;grid-template-columns:1fr auto;margin-top:12px}.tile-text strong{font-size:19px;font-weight:400}.tile-text small{font-size:10px;color:#666;text-transform:uppercase}dialog>video{width:100%;height:48vh;object-fit:contain;background:#111;display:block}.project-tile:hover strong{color:var(--red)}@media(max-width:800px){.portfolio-tools{align-items:start;flex-direction:column}.project-media{height:320px}}
.hero-copy{top:13%}h1{font-size:clamp(56px,6.2vw,100px)}.hero-position{font-size:15px;line-height:1.5;color:#eee}.practice-strip{padding:25px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #c7c4bd;font-size:11px}.practice-strip b{color:var(--red);font-size:22px;margin:0 8px}.practice-strip a{color:var(--red)}.steps img{width:100%;height:190px;object-fit:cover}.project-tile:nth-child(6n+1) .project-media{background:#252525}.stories .story-card:first-child .picture{height:500px}.stories .story-card:nth-child(2){padding-top:55px}.stories .story-card:nth-child(3){padding-top:110px}@media(max-width:800px){.hero-copy{top:9%}h1{font-size:52px}.hero-position{font-size:13px}.practice-strip{display:block}.practice-strip>span,.practice-strip>a{display:block;margin:8px 0}.stories .story-card:nth-child(n){padding-top:0}.stories .story-card:first-child .picture{height:440px}}

.living{background:#fff}.sketch-frame{background:#fff;overflow:hidden;min-height:260px}.sketch-frame img{display:block;width:100%;height:510px;object-fit:contain}.sketch-frame.reveal img{animation:sketch-reveal 4s ease-in-out both}@keyframes sketch-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.paused .sketch-frame img{animation-play-state:paused}.sketch-controls{display:flex;gap:20px;align-items:center;margin:24px 0}.sketch-controls button{background:none;border:1px solid #999;padding:10px 18px}.sketch-controls a{margin-left:auto;font-size:12px}@media(max-width:800px){.sketch-frame img{height:300px}.sketch-controls{flex-wrap:wrap}.sketch-controls a{margin-left:0}}@media(prefers-reduced-motion:reduce){.sketch-frame.reveal img{animation:none}}

/* Modern architectural typography: Inter variable, self-hosted OFL. */
body,button,input,select,textarea{font-family:Inter,Arial,sans-serif;font-optical-sizing:auto}body{font-weight:400}h1,h2,h3,.hero-title,.tile-text strong{font-family:Inter,Arial,sans-serif;font-weight:500;font-style:normal}h1,h2{letter-spacing:-.045em}h3,.tile-text strong{letter-spacing:-.025em}p{font-weight:400;line-height:1.65}nav{font-weight:500;letter-spacing:-.01em}h1 em,h2 em{font-family:inherit;font-style:normal;font-weight:500}@media(max-width:600px){h1{letter-spacing:-.04em}h2{letter-spacing:-.035em}}
