:root{--ink:#282c2f;--muted:#777c80;--red:#dc211d;--line:#e0e3e4;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:white;color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:6px}img{max-width:100%;display:block}.wrap{width:min(1376px,calc(100% - 112px));margin:auto}.skip{position:absolute;top:-100px;padding:10px;background:#fff;z-index:30}.skip:focus{top:0}header{background:#ffffffed;backdrop-filter:blur(15px);position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.header-inner{display:flex;align-items:center;justify-content:space-between;height:96px;gap:28px}.logo{display:flex;align-items:center;gap:12px;width:228px;flex-shrink:0}.logo-mark{width:43px;height:45px;background:url('assets/logo.webp') -43px -16px/125px auto no-repeat}.logo-type{width:171px;height:23px;background:url('assets/logo.webp') -27px -114px/220px auto no-repeat}.nav{display:flex;gap:30px;font-size:14px}.nav a:hover,.text-link:hover{color:var(--red)}.header-cta{font-size:14px;padding-bottom:6px;border-bottom:1px solid var(--ink)}.menu-toggle{display:none;border:0;background:none;padding:10px}.eyebrow{font:12px/1.5 monospace;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}.eyebrow b{font-weight:400;color:var(--red);margin-right:20px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.8vw,88px);line-height:1.02;letter-spacing:-4px;font-weight:400;margin-bottom:32px}h2{font-size:clamp(34px,4vw,60px);line-height:1.12;letter-spacing:-2px;font-weight:400;margin-bottom:32px}h3{font-size:24px;line-height:1.25;font-weight:400;letter-spacing:-.5px}p{margin-bottom:20px}.hero{position:relative;padding:48px 0 0;overflow:hidden}.hero .eyebrow{margin-bottom:46px}.hero-main{position:relative;min-height:510px;display:grid;grid-template-columns:1.06fr 1fr;align-items:center}.hero-copy{position:relative;z-index:2;padding-bottom:40px}.hero-copy p{font-size:19px;max-width:510px;line-height:1.5}.hero-copy .chain{font-size:14px;color:var(--muted);max-width:440px}.hero-art{width:135%;height:auto;max-width:none;margin-left:-17%;mix-blend-mode:multiply;pointer-events:none}.buttons{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;justify-content:space-between;gap:35px;align-items:center;background:var(--ink);color:white;padding:17px 23px;font-size:14px;border:1px solid var(--ink);transition:background .2s}.button:hover{background:#41474b}.button.light{background:white;color:var(--ink);border-color:white}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:6px;white-space:nowrap}.hero-footer{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted);gap:20px}section{padding:112px 0}.section-top{display:grid;grid-template-columns:1fr 2fr;gap:48px;margin-bottom:48px}.section-top h2{margin-bottom:0}.services{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.service{padding-top:25px;border-top:1px solid var(--line)}.service .number{font:12px monospace;color:var(--red);margin-bottom:28px}.service p{color:var(--muted);max-width:340px}.tasks{display:grid;grid-template-columns:1fr 2fr;gap:48px;margin-top:65px;border-top:1px solid var(--line);padding-top:28px}.task-list{display:flex;flex-wrap:wrap;column-gap:30px;row-gap:12px;font-size:15px}.dark{background:var(--ink);color:white}.dark .eyebrow{color:#a9adb0}.workflow{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin-top:64px}.workflow article{border-top:1px solid #5e6265;padding-top:24px;position:relative}.workflow article:not(:last-child):after{content:'→';position:absolute;right:0;top:21px;color:#94999c}.workflow .number{font:13px monospace;color:#f04a44;display:block;margin-bottom:38px}.workflow h3{font-size:20px}.workflow p{font-size:14px;color:#b8bec1}.projects{padding-bottom:72px}.projects-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin:26px 0 65px}.projects-intro h2{margin:0}.projects-intro p{max-width:415px;color:var(--muted);margin:0}.project{margin:0 0 88px}.project-images{background:#f7f8f8;overflow:hidden}.project-images img{width:100%;height:100%;object-fit:contain;transition:transform .7s}.project-images:hover img{transform:scale(1.025)}.stairs-pair{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;background:#f8f9f9;min-height:420px}.stairs-pair img{mix-blend-mode:multiply}.project-info{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;border-top:1px solid var(--line);padding-top:22px;margin-top:20px;align-items:start}.project-info h3{margin:0 0 7px}.project-info p{font-size:14px;color:var(--muted);margin:0;max-width:370px}.project-info small{font:12px monospace;color:var(--muted)}.project-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px;align-items:start}.project-duo .project:nth-child(2){margin-top:0}.project-duo .project-info{grid-template-columns:1fr;gap:12px}.project-duo .project-images{aspect-ratio:1.5}.project-duo .text-link{width:fit-content}.project-wide .project-images{aspect-ratio:2.55}.project-final{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;align-items:center}.project-final .project-info{grid-template-columns:1fr;order:-1;border:0;max-width:390px}.project-final .project-info h3{font-size:36px}.project-final .text-link{width:fit-content}.why{background:#f3f4f4}.reasons{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;row-gap:46px}.reason{border-top:1px solid #cfd3d5;padding-top:24px}.reason p{max-width:450px;color:var(--muted);font-size:16px}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:48px}.about-grid .about-lead{font-size:32px;line-height:1.3;letter-spacing:-.8px;max-width:760px}.about-notes{display:grid;grid-template-columns:1fr 1fr;gap:40px;color:var(--muted);font-size:15px}.contact h2{font-size:clamp(37px,4.8vw,72px);max-width:1050px;margin:36px 0 40px}.contact-row{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-links{display:flex;gap:28px;font-size:14px}.contact-links a{border-bottom:1px solid #737779}.email-pending{color:#a9adb0}.footer{background:var(--ink);border-top:1px solid #4b5154;color:#b4b9bc;padding:26px 0;font:12px monospace}.footer .wrap{display:flex;justify-content:space-between;gap:24px}.reveal{transition:opacity .7s,transform .7s}.reveal.pending{opacity:0;transform:translateY(24px)}dialog{border:0;padding:40px;max-width:560px;width:calc(100% - 36px);color:var(--ink)}dialog::backdrop{background:#222a}.close-dialog{float:right;border:0;background:#eee;padding:8px 12px;cursor:pointer}.project-page{min-height:70vh;padding:90px 0}.project-page img{max-height:500px;object-fit:contain;margin:30px 0}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.nav{gap:18px}.hero-main{min-height:470px}h1{font-size:59px;letter-spacing:-2.8px}.hero-art{width:150%;margin-left:-24%}.workflow{gap:18px}.project-duo{gap:30px}.project-info{grid-template-columns:1fr 1fr}.project-info>.text-link{grid-column:1/-1;width:fit-content}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header-inner{height:80px}.logo{transform:scale(.86);transform-origin:left;width:196px}.header-cta{display:none}.menu-toggle{display:block}.nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:24px;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{padding-top:30px}.hero .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:35px}.hero-main{display:flex;flex-direction:column;align-items:stretch;min-height:0}h1{font-size:clamp(43px,8.8vw,65px);letter-spacing:-2.3px}.hero-copy{padding-bottom:0}.hero-copy p{font-size:17px;max-width:500px}.hero-art{width:112%;margin:0 -6%;height:auto}.hero-footer{font-size:10px}.buttons{gap:20px}.button{padding:15px 18px;gap:24px}.text-link{font-size:13px}section{padding:70px 0}h2{letter-spacing:-1.5px}.section-top,.tasks,.about-grid{grid-template-columns:1fr;gap:22px;margin-bottom:34px}.service-grid{grid-template-columns:1fr;gap:24px}.service .number{margin-bottom:18px}.service p{max-width:100%}.tasks{margin-top:35px}.workflow{grid-template-columns:1fr;margin-top:35px;gap:16px}.workflow article{display:grid;grid-template-columns:35px 1fr;gap:0 12px;padding-top:18px}.workflow .number{margin:4px 0}.workflow h3{margin-bottom:8px}.workflow p{grid-column:2;margin-bottom:0}.workflow article:not(:last-child):after{display:none}.projects-intro{display:block;margin:24px 0 35px}.projects-intro p{margin-top:24px}.stairs-pair{min-height:0;grid-template-columns:1fr}.stairs-pair img{aspect-ratio:1.78}.project{margin-bottom:52px}.project-info{grid-template-columns:1fr;gap:13px}.project-info h3{font-size:24px}.project-duo{grid-template-columns:1fr;gap:0}.project-duo .project:nth-child(2){margin-top:0}.project-wide .project-images{aspect-ratio:2.15}.project-final{grid-template-columns:1fr;gap:0}.project-final .project-info{order:1;border-top:1px solid var(--line)}.project-final .project-info h3{font-size:28px}.reasons{grid-template-columns:1fr;gap:20px}.about-grid .about-lead{font-size:28px}.about-notes{grid-template-columns:1fr;gap:0}.contact-row{align-items:flex-start;flex-direction:column}.contact-links{flex-wrap:wrap;gap:24px}.footer .wrap{flex-direction:column;gap:10px}.contact h2{font-size:40px}.projects{padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.reveal.pending{opacity:1;transform:none}}

@media(min-width:1051px){.hero-main{grid-template-columns:1.35fr 1fr}h1{font-size:clamp(56px,4.6vw,74px);letter-spacing:-3.2px}.hero-art{width:155%;margin-left:-26%}}

/* Preserve the intended light canvas in browsers with automatic darkening. */
:root{color-scheme:light dark}
header{color-scheme:only light;background:#fff;background-image:linear-gradient(#fff,#fff);color:#282c2f;backdrop-filter:none;border-bottom:1px solid #e1e3e4}
header .nav,header .menu-toggle{color:#282c2f}
@media(max-width:760px){header .nav{background:#fff;background-image:linear-gradient(#fff,#fff)}}
.motion-image{opacity:1;transform:translate3d(0,0,0) scale(1);transition:opacity 1s ease,transform 1.15s cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0ms)}
.motion-image.image-pending{opacity:0;transform:translate3d(var(--entry-x,32px),24px,0) scale(.97)}
.project-images:hover .motion-image.image-pending{transform:translate3d(var(--entry-x,32px),24px,0) scale(.97)}
.scroll-heading{transform:scale(var(--text-scale,1));transform-origin:0 0}
@media(max-width:760px){.motion-image.image-pending{transform:translate3d(var(--entry-x,18px),18px,0) scale(.98)}}
@media(prefers-reduced-motion:reduce){.motion-image,.motion-image.image-pending,.scroll-heading{opacity:1!important;transform:none!important;transition:none!important}}

/* Explicit theme support lets Samsung Internet prefer authored colors over automatic inversion.
   The brand canvas and header intentionally remain light in both system themes. */
@media(prefers-color-scheme:dark){
  :root{--ink:#282c2f;--muted:#777c80;--line:#e0e3e4;--paper:#fff}
  body{background:#fff;color:#282c2f}
  header,header .nav{background:#fff;background-image:linear-gradient(#fff,#fff);color:#282c2f}
  header .menu-toggle{color:#282c2f}
  .dark,.footer{background:#282c2f}
  .dark{color:#fff}
}

/* Keep both logo crops at their full width: flex shrinking clipped the mark and final letters. */
.logo{width:232px}
.logo-mark{flex:0 0 46px;width:46px;height:46px;background-position:-41px -15px}
.logo-type{flex:0 0 174px;width:174px;height:22px;background-position:-27px -112px}
@media(max-width:760px){
  .logo{width:auto;gap:10px;transform:none}
  .logo-mark{flex-basis:38px;width:38px;height:39px;background-size:105px auto;background-position:-35px -13px}
  .logo-type{flex-basis:158px;width:158px;height:20px;background-size:200px auto;background-position:-25px -102px}
  .header-inner{gap:12px}
  .menu-toggle{flex-shrink:0}
}
