@font-face{font-family:Archivo;src:url('assets/fonts/archivo.woff2')}
:root{--brass:#b7a07a;--ink:#191a17;--cream:#f0ede4;--paper:var(--cream);--accent:var(--brass)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Archivo,Arial,sans-serif;color:var(--ink);background:var(--cream)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:900;letter-spacing:-.065em;line-height:.91}p{line-height:1.55}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:5px}::selection{background:var(--ink);color:var(--brass)}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;z-index:100;background:white;padding:20px}[hidden]{display:none!important}
.a-nav{height:106px;padding:25px 3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #191a1740;background:var(--brass);position:relative;z-index:20}.a-logo{width:175px;display:block}.a-logo img{filter:brightness(0);height:auto}.a-logo small{font-size:8px;letter-spacing:.35em;display:block;text-align:right;margin-top:8px}.a-nav nav{display:flex;gap:30px;font-size:12px}.a-nav nav a{position:relative;padding:8px 0}.a-nav nav a:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.a-nav nav a:hover:after{transform:scaleX(1)}.nav-contact{font-size:10px;letter-spacing:.06em;display:flex;gap:30px;align-items:center}.nav-contact span{font-size:36px}.a-menu{display:none}.a-hero{background:var(--brass);padding:22px 3% 0;overflow:hidden}.hero-label{display:flex;justify-content:space-between;font:10px/1.5 monospace;letter-spacing:.07em}.hero-composition{position:relative;display:grid;grid-template-columns:58% 42%;min-height:640px;height:calc(100svh - 215px);max-height:1000px;padding:35px 0}.hero-words{position:relative;z-index:2;pointer-events:none;align-self:start}.hero-words h1{font-size:clamp(70px,10.5vw,175px);letter-spacing:-.085em;line-height:.87;padding-top:15px}.outline{-webkit-text-stroke:1.5px var(--ink);color:transparent}.hero-words .last-word{font-size:.72em;letter-spacing:-.07em;white-space:nowrap}.period{color:var(--cream)}.hero-description{display:flex;gap:35px;align-items:center;margin-top:50px}.hero-description p{font-size:13px}.hero-description strong{font-weight:500}.corner-sign{width:65px;height:65px;border-left:18px solid var(--ink);border-bottom:18px solid var(--ink);clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%);display:block;transform:rotate(-90deg)}.material-window{position:relative;height:100%;min-height:500px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 87%,84% 100%,0 100%);background:#29231c}.material-window>img{height:100%;object-position:center;transform:scale(1.08) translateY(var(--depth,0px));transition:opacity .25s;filter:brightness(.85)}.material-window:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#0008);pointer-events:none}.surface-label{position:absolute;bottom:85px;left:30px;color:var(--cream);z-index:2;display:grid;gap:15px}.surface-label>span{font:9px monospace;letter-spacing:.1em}.surface-label strong{font-size:clamp(28px,3.5vw,58px);line-height:.95;letter-spacing:-.06em;font-weight:500}.crosshair{position:absolute;color:var(--cream);z-index:2;font:30px monospace}.crosshair-one{top:15px;left:20px}.crosshair-two{right:20px;top:15px}.material-switch{position:absolute;bottom:25px;left:30px;display:flex;gap:8px;z-index:3}.material-switch button{width:36px;height:36px;border:1px solid #ffffff70;background:transparent;color:white;font:11px monospace}.material-switch button[aria-pressed=true]{background:var(--cream);color:var(--ink)}.hero-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #191a1750;padding:23px 0;font:10px monospace;align-items:center}.hero-foot>a{display:flex;gap:40px;align-items:center}.hero-foot>a span{font-size:24px}.motion-control{background:none;border:0;font:10px monospace}.moving-band{background:var(--ink);color:var(--brass);padding:22px 0;overflow:hidden;font-size:clamp(27px,3vw,50px);font-weight:700;white-space:nowrap;letter-spacing:-.04em}.moving-band>div{width:max-content;animation:ticker 35s linear infinite}.moving-band span{padding:0 50px;font-weight:400}@keyframes ticker{to{transform:translateX(-33.333%)}}
.section-coordinate{font:10px/1.5 monospace;letter-spacing:.07em;display:block}.manifesto{padding:100px 6% 70px;position:relative;overflow:hidden}.manifesto h2{font-size:clamp(65px,12vw,200px);margin:65px 0 40px;line-height:.88;max-width:90%}.manifesto h2>span{color:var(--brass)}.manifesto-bottom{display:grid;grid-template-columns:1fr 1fr 110px;align-items:center;gap:8%}.manifesto-bottom p{max-width:380px;font-size:17px}.large-star{font-size:150px;line-height:1;transform:rotate(var(--turn,0deg));transform-origin:75px 75px}.round-link{height:100px;width:100px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:45px;transition:background .4s,transform .4s}.round-link:hover{background:var(--brass);transform:rotate(45deg)}
.assembly{display:grid;grid-template-columns:60% 40%;background:var(--ink);color:var(--cream);min-height:760px}.assembly-image{position:relative;overflow:hidden}.assembly-image>img{height:100%;min-height:760px;object-position:70%;transform:scale(1.05)}.photo-label{position:absolute;bottom:20px;left:25px;font:8px monospace;background:#1119;padding:8px}.assembly-copy{padding:65px 10%;display:flex;flex-direction:column;justify-content:center}.assembly-copy h2{font-size:clamp(60px,7.5vw,125px);margin:70px 0 35px}.assembly-copy h2 span{color:var(--brass)}.assembly-copy p{font-size:15px}.line-link{font:11px monospace;padding:20px 0;border-bottom:1px solid currentColor;display:flex;justify-content:space-between;gap:20px;margin-top:30px}.assembly-lines{position:absolute;inset:0;display:flex;pointer-events:none}.assembly-lines i{width:33.333%;border-right:1px solid #ffffff35;transform:translateY(calc(var(--assembly,0)*30px))}.assembly-lines:before,.assembly-lines:after{content:'';position:absolute;top:33.33%;width:100%;height:1px;background:#ffffff35}.assembly-lines:after{top:66.66%}
.expertise{padding:20px 6% 75px;background:var(--ink);color:var(--cream)}.expertise-row{display:grid;grid-template-columns:55px 1fr .65fr 70px;gap:25px;align-items:center;padding:45px 0;border-top:1px solid #ffffff35;transition:color .3s,padding .4s}.expertise-row>span{font:11px monospace;align-self:start;padding-top:8px}.expertise-row h2{font-size:clamp(30px,4.7vw,80px);font-weight:500;letter-spacing:-.055em}.expertise-row p{font-size:12px;opacity:.7}.expertise-row b{font-size:55px;font-weight:400;transition:transform .4s}.expertise-row:hover{color:var(--brass);padding-left:15px}.expertise-row:hover b{transform:rotate(45deg)}
.work-door{padding:80px 4%;background:var(--brass)}.work-door>a{display:block;font-size:clamp(60px,12.7vw,210px);font-weight:900;letter-spacing:-.085em;line-height:.88;margin:65px 0 45px}.work-door>a>span{display:block}.work-door-bottom{display:flex!important;align-items:center;gap:2vw}.work-door i{font-style:normal;-webkit-text-stroke:1.5px var(--ink);color:transparent;transition:color .4s}.work-door a:hover i{color:var(--ink)}.work-door b{font-size:.8em;font-weight:400;transition:transform .6s}.work-door a:hover b{transform:translate(10px,-10px)}.work-door-note{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #191a1750;padding-top:25px;font-size:13px}.work-door-note>span{font:10px monospace}
.material-lab{padding:100px 4% 70px}.lab-heading{display:flex;justify-content:space-between;gap:30px;margin-bottom:65px}.lab-heading h2{font-size:clamp(45px,6.8vw,110px)}.lab-heading h2 span{-webkit-text-stroke:1px var(--ink);color:transparent}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lab-grid a{position:relative;overflow:hidden;background:var(--ink);color:var(--cream);aspect-ratio:3/4}.lab-grid img{height:100%;transition:transform 1s}.lab-grid a:hover img{transform:scale(1.08)}.lab-grid a:nth-child(2){clip-path:polygon(0 0,100% 0,100% 85%,80% 100%,0 100%)}.lab-grid span{position:absolute;left:0;bottom:0;right:0;padding:45px 20px 20px;background:linear-gradient(transparent,#000b);font:11px monospace;display:flex;justify-content:space-between}.lab-grid b{font-size:23px}.lab-footer{display:flex;justify-content:space-between;gap:30px;margin-top:30px;align-items:center}.lab-footer p{font-size:12px;max-width:420px}.lab-footer .line-link{margin:0}
.process-ledger{padding:70px 6% 90px;border-top:1px solid #191a1740}.ledger{margin-top:50px}.ledger article{display:grid;grid-template-columns:100px 1fr 1fr;gap:35px;padding:30px 0;border-top:1px solid #191a1740;align-items:center;transition:background .5s,padding .5s}.ledger article>span{font:35px monospace;color:#8a7655}.ledger h3{font-size:clamp(25px,3.6vw,60px);font-weight:500;letter-spacing:-.045em}.ledger p{font-size:13px;max-width:330px}.ledger article.is-active{padding-left:20px;background:#b7a07a30}
.a-contact{padding:70px 4% 40px;background:var(--ink);color:var(--cream)}.contact-call{display:block;font-size:clamp(65px,13vw,210px);font-weight:900;letter-spacing:-.08em;line-height:.87;margin:60px 0}.contact-call>span{color:var(--brass)}.contact-call b{font-weight:400;display:inline-block;transition:transform .5s}.contact-call:hover b{transform:translate(10px,-10px)}.contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;font:10px monospace;border-top:1px solid #ffffff40;padding-top:25px}.contact-bottom>a{font-size:17px}.a-footer{background:var(--ink);color:var(--cream);padding:40px 4%;display:flex;justify-content:space-between;align-items:center;gap:30px}.a-footer .a-logo img{filter:none}.a-footer>div{display:flex;gap:25px;font-size:11px}.a-footer>span{font:9px monospace}.a-footer .a-logo{width:140px}
.a-reveal{opacity:1}.enhanced .a-reveal{opacity:0;transform:translateY(45px);transition:opacity .9s,transform 1s cubic-bezier(.16,1,.3,1)}.enhanced .a-reveal.seen{opacity:1;transform:none}.hero-words h1{animation:hero-enter 1.2s cubic-bezier(.16,1,.3,1) both}.material-window{animation:window-enter 1.6s cubic-bezier(.16,1,.3,1) both}@keyframes hero-enter{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:none}}@keyframes window-enter{from{opacity:0;clip-path:polygon(0 100%,100% 100%,100% 100%,84% 100%,0 100%)}to{opacity:1;clip-path:polygon(0 0,100% 0,100% 87%,84% 100%,0 100%)}}
/* The alternate identity continues through every existing route. */
.atelier-inner{--paper:#f0ede4;--ink:#191a17;--accent:#b7a07a;background:var(--paper)}.atelier-inner em{font:inherit;font-style:normal}.atelier-inner .topbar{background:var(--brass);color:var(--ink);border-color:#191a1740;padding:25px 4%}.atelier-inner .topbar .logo img{filter:brightness(0)}.atelier-inner .topbar .enquire{border-color:var(--ink)}.atelier-inner .mast{padding:75px 4% 55px;background:var(--brass)!important;color:var(--ink)!important}.atelier-inner .mast h1{text-transform:uppercase;font-weight:900;letter-spacing:-.075em;font-size:clamp(65px,9vw,155px);line-height:.9}.atelier-inner .mast h1 em{-webkit-text-stroke:1px var(--ink);color:transparent}.atelier-inner .mast-copy{font-size:15px;max-width:550px;margin:35px 0 0 auto}.atelier-inner .eyebrow{font:10px monospace;color:inherit!important}.atelier-inner .work-index{background:var(--cream);color:var(--ink);padding:35px 4% 80px}.atelier-inner .filter-bar button{border-color:#191a1750;text-transform:uppercase;font:10px monospace}.atelier-inner .filter-bar button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.atelier-inner .work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 25px}.atelier-inner .work-card:nth-child(even){padding-top:0}.atelier-inner .image-wrap{aspect-ratio:4/3}.atelier-inner .image-wrap img{height:100%}.atelier-inner .card-label{display:block;border-top:1px solid #191a1740;margin-top:16px;padding-top:15px}.atelier-inner .card-label h2{font-size:25px;font-weight:600;text-transform:uppercase;letter-spacing:-.04em}.atelier-inner .card-label span{font:10px/1.5 monospace;max-width:none;text-align:left;display:block;margin-top:10px}.atelier-inner .project-cover{height:76svh;padding:25px 4%;background:var(--ink)}.atelier-inner .project-story h2,.atelier-inner .making-heading h2{text-transform:uppercase;font-family:Archivo;font-weight:700;letter-spacing:-.06em}.atelier-inner .project-story{padding-top:70px}.atelier-inner .project-gallery{gap:30px}.atelier-inner .project-gallery figcaption{font:9px/1.6 monospace}.atelier-inner .site-end{background:var(--ink)}.atelier-inner .end-title{text-transform:uppercase;font-weight:800;line-height:.92;max-width:1000px}.atelier-inner .site-end .logo{width:140px}.atelier-inner .service-route h2,.atelier-inner .detail-list h2,.atelier-inner .material-intro h2,.atelier-inner .timeline h2{text-transform:uppercase;font-weight:650;letter-spacing:-.055em}.atelier-inner .material-chapters{background:var(--ink)}.atelier-inner .menu-toggle{color:var(--ink)}.atelier-inner .about-spread{padding-top:60px}.atelier-inner .enquiry-layout{padding-top:60px}
.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important}.motion-paused .a-reveal{opacity:1!important;transform:none!important}.motion-paused .material-window>img{transform:none!important}.motion-paused .large-star{transform:none!important}
@media(min-width:1700px){.hero-description{margin-top:65px}.hero-words h1{padding-top:35px}}
@media(max-width:1000px){.a-nav nav{gap:18px}.nav-contact{display:none}.hero-composition{min-height:570px}.hero-words h1{font-size:10.5vw}.hero-description{margin-top:45px}.hero-foot>span{display:none}.manifesto-bottom{grid-template-columns:.5fr 1fr 80px}.large-star{font-size:100px}.round-link{width:75px;height:75px}.assembly{min-height:600px}.assembly-image>img{min-height:600px}.assembly-copy{padding:45px 8%}.expertise-row{grid-template-columns:30px 1fr 50px}.expertise-row p{display:none}.atelier-inner .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger article{grid-template-columns:65px 1fr 1fr}.a-footer{flex-wrap:wrap}}
@media(max-width:650px){.a-nav{height:85px;padding:20px 5%}.a-logo{width:145px}.a-nav nav{display:none}.a-menu{display:block;border:0;background:none;font-size:12px}.a-hero{padding:18px 5% 0}.hero-label{font-size:8px}.hero-label>span:last-child{display:none}.hero-composition{display:block;height:auto;min-height:0;padding:25px 0 20px}.hero-words h1{font-size:17vw;position:relative;z-index:3;padding:0}.hero-words .last-word{font-size:.73em}.hero-description{margin:25px 0;gap:20px}.corner-sign{width:40px;height:40px;border-width:11px}.hero-description p{font-size:11px}.material-window{height:390px;min-height:0;margin-top:25px}.surface-label{bottom:75px;left:20px}.surface-label strong{font-size:40px}.material-switch{left:20px;bottom:20px}.hero-foot{font-size:8px;gap:10px;padding:16px 0}.hero-foot>a{gap:10px}.motion-control{font-size:9px}.moving-band{padding:16px 0}.manifesto{padding:60px 5% 50px}.manifesto h2{font-size:16vw;margin:40px 0 30px;max-width:100%}.manifesto-bottom{grid-template-columns:1fr 65px;gap:20px}.large-star{display:none}.manifesto-bottom p{font-size:14px}.round-link{width:60px;height:60px;font-size:32px}.assembly{grid-template-columns:1fr;min-height:0}.assembly-image>img{min-height:0;height:480px}.assembly-copy{padding:40px 5%}.assembly-copy h2{font-size:21vw;margin:40px 0 30px}.expertise{padding:0 5% 40px}.expertise-row{grid-template-columns:20px 1fr 35px;gap:12px;padding:30px 0}.expertise-row h2{font-size:8vw}.expertise-row b{font-size:35px}.work-door{padding:50px 5%}.work-door>a{font-size:16vw;margin:40px 0 30px}.work-door-note{gap:20px;align-items:start}.work-door-note p{font-size:11px}.work-door-note>span{font-size:8px;max-width:90px}.material-lab{padding:55px 5%}.lab-heading{display:block;margin-bottom:30px}.lab-heading h2{font-size:14vw;margin-top:35px}.lab-grid{grid-template-columns:1fr;gap:20px}.lab-grid a{aspect-ratio:4/3}.lab-footer{display:block}.lab-footer .line-link{margin-top:20px}.process-ledger{padding:50px 5%}.ledger article{grid-template-columns:45px 1fr;gap:12px}.ledger article>span{font-size:26px}.ledger h3{font-size:28px}.ledger p{grid-column:2;font-size:12px}.a-contact{padding:50px 5% 30px}.contact-call{font-size:16vw;margin:40px 0}.contact-bottom{display:block}.contact-bottom>a{font-size:14px}.contact-bottom>span{display:block;margin-top:20px;font-size:8px}.a-footer{padding:30px 5%;gap:30px}.a-footer>div{flex-wrap:wrap;gap:18px}.a-footer>span{font-size:8px}.section-coordinate{font-size:9px}#mobile-nav{position:absolute;z-index:25;top:85px;left:0;right:0;background:var(--ink);color:var(--cream);padding:30px 6%;display:grid;gap:25px;font-size:26px}.atelier-inner .mast{padding:50px 5% 40px}.atelier-inner .mast h1{font-size:15vw}.atelier-inner .mast-copy{margin-left:0}.atelier-inner .work-grid{grid-template-columns:1fr;gap:35px}.atelier-inner .topbar nav.open{background:var(--ink);color:var(--cream)}.atelier-inner .card-label h2{font-size:25px}.atelier-inner .project-cover{height:55svh;min-height:300px}.atelier-inner .project-story h2{font-size:42px}.atelier-inner .gallery-open img{max-height:470px}.atelier-inner .site-end .end-title{font-size:12vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.enhanced .a-reveal{opacity:1;transform:none}.material-window>img{transform:none}.large-star{transform:none}}

.assembly-copy h2{font-size:clamp(52px,6vw,100px)}.assembly-copy{min-width:0}.atelier-home .contact-call{color:var(--cream)}.atelier-home .contact-call>span{color:var(--brass)}
@media(max-width:650px){.manifesto h2{font-size:15vw}.work-door>a{font-size:12.8vw}.work-door-bottom{gap:1vw}.assembly-copy h2{font-size:20vw}.contact-call{font-size:14.5vw}}

.atelier-inner .work-index .filter-bar button{color:var(--ink)}.atelier-inner .work-index .filter-bar button[aria-pressed=true]{color:var(--cream);background:var(--ink)}.atelier-inner .work-index .filter-count,.atelier-inner .work-index .card-label span{color:#605747}.atelier-inner .work-index{--line:#191a1740}
@media(max-width:650px){.assembly-copy h2{font-size:19vw}}

.assembly-tiles{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);perspective:1000px;background:var(--ink)}.assembly-tiles i{display:block;background-image:url('assets/atelier-scene.webp');background-size:300% 300%;will-change:transform;transition:transform .25s linear,opacity .25s}.assembly-image.tiled>img{opacity:0}.assembly-image.tiled .photo-label{z-index:4}.assembly-image.tiled .assembly-lines{z-index:3}.motion-paused .assembly-tiles i{transform:none!important;opacity:1!important;transition:none!important}@media(max-width:650px){.assembly-tiles{display:none}.assembly-image.tiled>img{opacity:1}}

.assembly-tiles i{position:relative;overflow:hidden;background-image:none}.assembly-tiles i img{position:absolute;width:300%;height:300%;max-width:none;object-fit:cover;object-position:70% center}

/* Publication motion pass: material depth, measured reveals and page transitions. */
.material-window{perspective:1000px}.material-window img{transition:transform .65s cubic-bezier(.2,.7,.2,1);transform:scale(1.08) translate(var(--mx,0px),var(--my,0px))}
.motion-image{clip-path:inset(0 0 0 0);transition:clip-path 1.2s cubic-bezier(.2,.7,.2,1),filter 1.2s}.motion-image.waiting{clip-path:inset(0 0 100% 0);filter:brightness(.7)}
.expertise-row{background-position:100% 0;background-size:210% 100%;background-image:linear-gradient(90deg,rgba(183,160,122,.17) 50%,transparent 50%);transition:background-position .6s,padding .5s}.expertise-row:hover{background-position:0 0}
@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .3s ease both}::view-transition-new(root){animation:page-in .5s ease both}@keyframes page-out{to{opacity:0;transform:translateY(-12px)}}@keyframes page-in{from{opacity:0;transform:translateY(16px)}}
.motion-paused .motion-image{transition:none;clip-path:none;filter:none}.motion-paused .material-window img{transform:scale(1.08)}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.motion-image{transition:none;clip-path:none;filter:none}}
