:root{--paper:#f6efe4;--linen:#fbf7f1;--sand:#ecdfcb;--sand-deep:#e2cfb3;--clay:#c0623b;--clay-deep:#9e4a2a;--ember:#e08a4f;--bronze:#a8814f;--ink:#2a1f17;--ink-soft:#5d4d40;--ink-mute:#8a7868;--line:#2a1f171f;--cream:#fff8ee;--serif:"Fraunces", "Times New Roman", serif;--sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--gutter:clamp(16px, 4.5vw, 64px);--max:1320px;--nav-h:80px;--radius:22px;--ease:cubic-bezier(.22, 1, .36, 1);--hero-len:8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--paper);overflow-x:clip}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}body{background:var(--paper);color:var(--ink-soft);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;font-weight:400;line-height:1.7;overflow-x:clip}body.is-loading{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;letter-spacing:-.015em;margin:0;font-weight:400;line-height:1.04}em{color:var(--clay);font-style:italic;font-weight:300}::selection{background:var(--clay);color:var(--cream)}:focus-visible{outline:2px solid var(--clay);outline-offset:3px}.container{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{color:var(--clay);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.7em;margin:0 0 1.2rem;font-size:.74rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:linear-gradient(90deg, var(--ember), var(--clay));border-radius:2px;width:26px;height:1.5px}.btn{min-height:50px;font:600 .84rem/1 var(--sans);letter-spacing:.02em;white-space:nowrap;cursor:pointer;isolation:isolate;transition:transform .4s var(--ease), box-shadow .4s var(--ease), color .4s var(--ease), background-color .4s var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 1.7rem;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";z-index:-1;transition:transform .8s var(--ease);background:linear-gradient(110deg,#0000 30%,#fff8ee59 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn:hover{transform:translateY(-2px)}.btn:hover:after{transform:translate(120%)}.btn--clay{color:var(--cream);background:linear-gradient(135deg, var(--ember), var(--clay) 55%, var(--clay-deep));box-shadow:0 14px 32px -16px #9e4a2acc}.btn--clay:hover{box-shadow:0 20px 40px -16px #9e4a2ae6}.btn--glass{color:var(--cream);background:#2a1f1738;border-color:#fff8ee73}.btn--glass:hover{background:#2a1f1766}.logo{color:var(--cream);transition:color .5s var(--ease);align-items:center;gap:.7rem;display:inline-flex}.logo__mark{width:34px;height:34px;color:var(--ember);flex-shrink:0}.logo__text{font-family:var(--serif);letter-spacing:.01em;font-size:1.45rem;font-weight:500;line-height:.95;display:grid}.logo__text small{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;opacity:.75;font-size:.58rem;font-weight:600}.loader{z-index:100;background:radial-gradient(circle at 50% 45%, var(--linen), var(--sand) 75%);place-content:center;justify-items:center;gap:1.2rem;display:grid;position:fixed;inset:0}.loader__mark{width:60px;height:60px;color:var(--clay);animation:1.8s ease-in-out infinite rise}.loader__label{color:var(--ink-soft);font-family:var(--serif);margin:0;font-size:1.05rem;font-style:italic}.loader__label span{color:var(--clay);font-variant-numeric:tabular-nums}.loader__bar{background:#2a1f171a;border-radius:3px;width:200px;height:3px;overflow:hidden}.loader__bar span{background:linear-gradient(90deg, var(--ember), var(--clay));transform-origin:0;height:100%;transition:transform .3s;display:block;transform:scaleX(0)}@keyframes rise{50%{opacity:.7;transform:translateY(-5px)}}.nav{z-index:50;height:var(--nav-h);color:var(--cream);transition:color .5s var(--ease), height .5s var(--ease);position:fixed;inset:0 0 auto}.nav:before{content:"";z-index:-1;transition:opacity .5s var(--ease);background:linear-gradient(#2a1f178c,#2a1f1700);position:absolute;inset:0}.nav:after{content:"";z-index:-1;opacity:0;transition:opacity .5s var(--ease);background:#fbf7f1f0;position:absolute;inset:0;box-shadow:0 10px 30px -20px #2a1f1766}.nav.is-light{color:var(--ink)}.nav.is-light:before{opacity:0}.nav.is-light:after{opacity:1}.nav.is-light .logo{color:var(--ink)}.nav.is-light .btn--glass{color:var(--ink);border-color:var(--line);background:0 0}.nav.is-light .btn--glass:hover{border-color:var(--clay);color:var(--clay)}.nav__inner{justify-content:space-between;align-items:center;gap:2rem;height:100%;display:flex}.nav__menu{align-items:center;gap:clamp(1.2rem,2.6vw,2.4rem);margin-left:auto;display:flex}.nav__menu a:not(.btn){opacity:.85;padding:.3rem 0;font-size:.9rem;font-weight:500;transition:opacity .3s;position:relative}.nav__menu a:not(.btn):after{content:"";background:var(--ember);width:5px;height:5px;transition:transform .4s var(--ease);border-radius:50%;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)scale(0)}.nav__menu a:not(.btn):hover,.nav__menu a.is-active{opacity:1}.nav__menu a.is-active:after,.nav__menu a:not(.btn):hover:after{transform:translate(-50%)scale(1)}.nav__cta-mobile,.nav__toggle{display:none}.nav__toggle{width:46px;height:46px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:50%;position:relative}.nav__toggle span{height:1.5px;transition:transform .4s var(--ease);background:currentColor;position:absolute;left:14px;right:14px}.nav__toggle span:first-child{transform:translateY(-3px)}.nav__toggle span:last-child{transform:translateY(3px)}.nav.is-open .nav__toggle span:first-child{transform:rotate(45deg)}.nav.is-open .nav__toggle span:last-child{transform:rotate(-45deg)}.hero{height:calc((var(--hero-len) + 2) * 100svh);position:relative}.hero__stage{background:var(--ink);height:100svh;position:sticky;top:0;overflow:hidden}.hero__canvas{transform-origin:50%;width:100%;height:100%;display:block;position:absolute;inset:0}.hero__shade{pointer-events:none;background:linear-gradient(#2a1f1773 0%,#0000 18%),radial-gradient(70% 60% at 50% 45%,#e08a4f1a,#0000 70%),linear-gradient(#0000 45%,#2a1f1740 68%,#2a1f17d1 100%),radial-gradient(80% 90%,#0000 55%,#2a1f1773 100%);position:absolute;inset:0}.hero__steps{pointer-events:none;position:absolute;inset:0 0 0 50%;transform:translate(-50%)}.step{color:#fff8eedb;opacity:0;visibility:hidden;text-shadow:0 2px 18px #2a1f178c;will-change:transform, opacity;width:min(470px,40%);position:absolute;bottom:clamp(110px,17vh,170px)}.step--intro{opacity:1;visibility:visible;width:min(600px,52%)}.step--left{left:var(--gutter)}.step--right{right:var(--gutter);text-align:right}.kicker{color:var(--sand);letter-spacing:.24em;text-transform:uppercase;align-items:baseline;gap:.75rem;margin:0 0 .9rem;font-size:.74rem;font-weight:600;display:inline-flex}.kicker span{color:var(--ember);font-family:var(--serif);letter-spacing:0;font-size:1.5rem;font-style:italic;font-weight:300}.step__title{color:var(--cream);margin-bottom:.9rem;font-size:clamp(2rem,3.6vw,3.4rem);font-weight:300}.step--intro .step__title{font-size:clamp(2.6rem,5vw,4.6rem)}.step__title em{color:#f3b07c}.step__text{max-width:40ch;margin:0;font-size:.98rem}.step--right .step__text{margin-left:auto}.step--right .facts,.step--right .materials{justify-content:flex-end}.step__actions{pointer-events:auto;text-shadow:none;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem;display:flex}.facts{justify-content:flex-start;gap:2rem;margin:1.2rem 0 0;display:flex}.facts div{margin:0}.facts dt{color:var(--cream);font-family:var(--serif);font-size:1.6rem;line-height:1}.facts dd{color:var(--sand);letter-spacing:.16em;text-transform:uppercase;margin:.3rem 0 0;font-size:.7rem}.materials{flex-wrap:wrap;justify-content:flex-start;gap:.45rem;margin:1.1rem 0 0;padding:0;list-style:none;display:flex}.materials li{text-shadow:none;background:#2a1f1740;border:1px solid #fff8ee59;border-radius:999px;padding:.3rem .85rem;font-size:.78rem}.chapters{width:min(760px, calc(100% - 2 * var(--gutter)));pointer-events:none;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:18px 0 0;list-style:none;display:grid;position:absolute;bottom:clamp(26px,5vh,46px);left:50%;transform:translate(-50%)}.chapters:before,.chapters__fill{content:"";background:#fff8ee38;border-radius:2px;height:2px;position:absolute;top:0;left:0;right:0}.chapters__fill{background:linear-gradient(90deg, var(--ember), #f3b07c);transform-origin:0;transform:scaleX(0)}.chapters li{color:#fff8ee80;letter-spacing:.12em;text-align:center;text-transform:uppercase;transition:color .5s var(--ease);font-size:.72rem;font-weight:500}.chapters li.is-active{color:var(--cream)}.scroll-cue{right:var(--gutter);color:#fff8eebf;letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.72rem;display:flex;position:absolute;bottom:clamp(26px,5vh,46px)}.scroll-cue i{border:1.5px solid;border-radius:12px;width:22px;height:34px;position:relative}.scroll-cue i:after{content:"";background:var(--ember);width:3px;height:7px;animation:wheel 1.8s var(--ease) infinite;border-radius:2px;position:absolute;top:7px;left:50%;transform:translate(-50%)}@keyframes wheel{0%{opacity:0;transform:translate(-50%,-3px)}30%{opacity:1}to{opacity:0;transform:translate(-50%,10px)}}.manifesto{z-index:2;background:linear-gradient(to bottom, transparent 0, #f6efe499 22vh, var(--paper) 48vh);margin-top:-100svh;padding:clamp(10rem,30vh,16rem) 0 clamp(5rem,12vw,9rem);position:relative}.manifesto__text{max-width:24ch;color:var(--ink);font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4.6vw,4.2rem);font-weight:300;line-height:1.12}.manifesto__text .w{color:#2a1f1729;transition:color .2s linear}.manifesto__text .w.is-on{color:var(--ink)}.manifesto__text .w.is-accent.is-on{color:var(--clay);font-style:italic}.manifesto__sign{color:var(--ink-mute);font-family:var(--serif);margin:2.2rem 0 0;font-style:italic}.section{padding:clamp(5rem,11vw,9rem) 0;position:relative}.section__head{max-width:720px;margin-bottom:clamp(2.6rem,6vw,4.2rem)}.section__title{font-size:clamp(2.2rem,4.6vw,4rem);font-weight:300}.section__lead{max-width:48ch;margin:1.2rem 0 0;font-size:1.05rem}.services{background:linear-gradient(to bottom, var(--paper), var(--linen) 60%, var(--paper))}.service-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem);display:grid}.service{grid-column:span 2}.service--wide{grid-column:span 3}.service{border-radius:var(--radius);isolation:isolate;min-height:clamp(320px,38vw,470px);position:relative;overflow:hidden;box-shadow:0 30px 60px -40px #2a1f178c}.service figure{z-index:-1;margin:0;position:absolute;inset:0}.service img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease)}.service:hover img{transform:scale(1.06)}.service:after{content:"";z-index:-1;background:linear-gradient(#0000,#2a1f171a 40%,#2a1f17d1);position:absolute;inset:0}.service__body{color:#fff8eed1;padding:clamp(1.4rem,3vw,2.2rem);position:absolute;bottom:0;left:0;right:0}.service__num{color:#f3b07c;font-family:var(--serif);margin-bottom:.4rem;font-style:italic;display:block}.service h3{color:var(--cream);margin-bottom:.5rem;font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:300}.service p{opacity:.88;max-width:42ch;transition:opacity .5s var(--ease), transform .5s var(--ease);margin:0;font-size:.95rem;transform:translateY(0)}.method{background:radial-gradient(ellipse 60% 50% at 85% 20%, #e08a4f1f, transparent 70%), var(--sand)}.method__grid{grid-template-columns:1fr 1.15fr;align-items:start;gap:clamp(2.5rem,7vw,7rem);display:grid}.method__head{top:calc(var(--nav-h) + 3rem);position:sticky}.timeline{gap:clamp(2.6rem,6vh,4rem);margin:0;padding:0 0 0 3rem;list-style:none;display:grid;position:relative}.timeline:before,.timeline__line{content:"";background:#2a1f171f;border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:7px}.timeline__line{background:linear-gradient(to bottom, var(--ember), var(--clay));transform-origin:top;transform:scaleY(0)}.phase{position:relative}.phase__dot{border:2px solid var(--clay);background:var(--sand);width:14px;height:14px;transition:background .5s var(--ease), box-shadow .5s var(--ease);border-radius:50%;position:absolute;top:4px;left:calc(1px - 3rem)}.phase.is-on .phase__dot{background:var(--clay);box-shadow:0 0 0 6px #c0623b26}.phase__when{color:var(--clay);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .3rem;font-size:.74rem;font-weight:600}.phase h3{margin-bottom:.5rem;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400}.phase p:last-child{max-width:46ch;margin:0}.projects{background:linear-gradient(to bottom, var(--sand), var(--paper) 40%);padding:clamp(5rem,10vw,8rem) 0 clamp(4rem,8vw,6rem);position:relative;overflow:hidden}.projects__head{margin-bottom:clamp(2rem,4vw,3rem)}.projects__track{width:max-content;padding-inline:var(--gutter);will-change:transform;gap:clamp(1rem,2vw,1.8rem);display:flex}.project{aspect-ratio:4/3;border-radius:var(--radius);isolation:isolate;width:clamp(300px,46vw,680px);position:relative;overflow:hidden;box-shadow:0 30px 60px -40px #2a1f1799}.project:nth-child(2n){margin-top:clamp(1.5rem,5vw,4rem)}.project img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease);transform:scale(1.08)}.project:hover img{transform:scale(1.12)}.project:after{content:"";background:linear-gradient(#0000 50%,#2a1f17bf);position:absolute;inset:0}.project__info{z-index:1;color:var(--sand);position:absolute;bottom:1.4rem;left:1.6rem;right:1.6rem}.project h3{color:var(--cream);font-size:clamp(1.4rem,2.4vw,2rem);font-weight:300}.project p{margin:.3rem 0 0;font-size:.85rem}.numbers{color:var(--cream);background:linear-gradient(120deg, var(--clay-deep), var(--clay) 45%, var(--ember));padding:clamp(5rem,10vw,8rem) 0;position:relative;overflow:hidden}.numbers__bg{object-fit:cover;mix-blend-mode:soft-light;opacity:.55;will-change:transform;width:100%;height:120%;position:absolute;inset:-10% 0}.numbers__grid{grid-template-columns:repeat(4,1fr);gap:2rem;display:grid;position:relative}.number__value{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:clamp(3rem,6.5vw,5.6rem);font-weight:300;line-height:1;display:block}.number p{color:#fff8eed1;letter-spacing:.08em;text-transform:uppercase;margin:.7rem 0 0;font-size:.86rem}.contact{background:radial-gradient(ellipse 50% 60% at 10% 90%, #e08a4f24, transparent 70%), linear-gradient(to bottom, var(--paper), var(--linen))}.contact__grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:clamp(2.5rem,6vw,6rem);display:grid}.contact__list{gap:1rem;margin:2.4rem 0 0;padding:0;list-style:none;display:grid}.contact__list li{border-bottom:1px solid var(--line);color:var(--ink);gap:.1rem;padding-bottom:1rem;font-size:1.05rem;display:grid}.contact__list span{color:var(--ink-mute);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:600}.contact__list a:hover{color:var(--clay)}.quote{border-radius:var(--radius);background:var(--cream);grid-template-columns:1fr 1fr;gap:1.1rem;padding:clamp(1.6rem,3.5vw,2.6rem);display:grid;box-shadow:0 40px 80px -50px #2a1f178c,inset 0 0 0 1px #2a1f170f}.field{gap:.4rem;display:grid}.field--full{grid-column:1/-1}.field label{color:var(--ink);font-size:.8rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--linen);width:100%;color:var(--ink);font:inherit;border-radius:12px;padding:.85rem 1rem;transition:border-color .3s,box-shadow .3s,background .3s}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--clay);background:#fff;outline:none;box-shadow:0 0 0 4px #c0623b24}.quote__msg{min-height:1.4em;color:var(--clay-deep);margin:0;font-size:.92rem}.quote__msg.is-error{color:#b3261e}.footer{color:#fff8eeb3;background:radial-gradient(ellipse 60% 80% at 100% 0%, #c0623b40, transparent 70%), var(--ink);padding:clamp(4rem,8vw,6rem) 0 2rem}.footer__grid{grid-template-columns:1.6fr 1fr 1.2fr 1fr;gap:2.5rem;padding-bottom:3rem;display:grid}.logo--light{color:var(--cream)}.footer__claim{font-family:var(--serif);margin:1rem 0 0;font-size:1.2rem;font-style:italic}.footer h3{color:var(--ember);font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.8rem;font-size:.72rem;font-weight:600}.footer p{margin:0}.footer a:hover{color:var(--cream)}.socials{gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.socials a{width:42px;height:42px;transition:background .3s ease, border-color .3s ease, transform .4s var(--ease);border:1px solid #fff8ee33;border-radius:50%;place-items:center;display:grid}.socials a:hover{border-color:var(--clay);background:var(--clay);transform:translateY(-3px)}.socials svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.footer__bottom{border-top:1px solid #fff8ee1f;flex-wrap:wrap;justify-content:space-between;gap:.8rem;padding-top:1.6rem;font-size:.8rem;display:flex}@media (max-width:1024px){.numbers__grid{grid-template-columns:repeat(2,1fr);gap:2.6rem 1.5rem}.footer__grid{grid-template-columns:1fr 1fr}}@media (max-width:860px){:root{--nav-h:66px}.nav__cta{display:none}.nav__toggle{z-index:2;display:block}.nav__menu{color:var(--ink);background:radial-gradient(circle at 50% 30%, var(--linen), var(--sand));opacity:0;visibility:hidden;transition:opacity .5s var(--ease), visibility .5s;flex-direction:column;justify-content:center;gap:1.6rem;margin:0;position:fixed;inset:0}.nav.is-open{color:var(--ink)}.nav.is-open .nav__menu{opacity:1;visibility:visible}.nav__menu a:not(.btn){font-family:var(--serif);font-size:2rem;font-weight:300}.nav__cta-mobile{margin-top:.8rem;display:inline-flex}.step,.step--intro{left:var(--gutter);right:var(--gutter);bottom:calc(env(safe-area-inset-bottom,0px) + 96px);text-align:left;width:auto}.step--right .step__text{margin-left:0}.facts,.materials{justify-content:flex-start}.step__title{font-size:clamp(1.8rem,8vw,2.4rem)}.step--intro .step__title{font-size:clamp(2.2rem,10vw,3rem)}.step__text{font-size:.9rem}.step__actions .btn{flex:1;padding-inline:1rem}.chapters{bottom:calc(env(safe-area-inset-bottom,0px) + 34px)}.chapters li span,.scroll-cue{display:none}.service-grid{grid-template-columns:1fr}.service,.service--wide{grid-column:auto}.service{min-height:340px}.method__grid,.contact__grid{grid-template-columns:1fr}.method__head{position:static}.projects__track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:auto;padding-bottom:1rem;overflow-x:auto}.projects__track::-webkit-scrollbar{display:none}.project{scroll-snap-align:center;flex:none;width:82vw}.project:nth-child(2n){margin-top:0}}@media (max-width:600px){.quote{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr;gap:2rem}.footer__bottom{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
