@font-face{font-family:"Estedad";font-style:normal;font-weight:300 600;font-display:swap;src:url("assets/fonts/estedad-fa.woff2") format("woff2")}:root{--ink:#17130f;--ink2:#211c17;--paper:#f4f1ea;--paper2:#e9e4da;--stone:#a99a88;--wood:#8b6040;--line:rgba(23,19,15,.18);--gutter:clamp(24px,5vw,72px);--font:"Estedad",Tahoma,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ink);font-family:var(--font);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}.dark{background:var(--ink);color:var(--paper)}.light{background:var(--paper);color:var(--ink)}::selection{background:var(--wood);color:#fff}.skip-link{position:fixed;top:8px;right:8px;z-index:200;padding:10px 16px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.grain{position:fixed;inset:0;z-index:120;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.scroll-progress{position:fixed;inset:0 0 auto;height:2px;z-index:130}.scroll-progress span{display:block;width:0;height:100%;background:#b18a68}
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:76px;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);transition:.35s}.site-header.scrolled{height:62px;background:rgba(23,19,15,.88);backdrop-filter:blur(16px)}.brand{justify-self:start;font-size:24px;font-weight:500}.desktop-nav{display:flex;gap:32px;font-size:12px}.desktop-nav a,.header-cta{position:relative}.desktop-nav a:after,.header-cta:after{content:"";position:absolute;right:0;bottom:-7px;width:0;height:1px;background:currentColor;transition:width .3s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.header-cta:hover:after{width:100%}.header-cta{justify-self:end;font-size:11px}.header-cta span{margin-right:14px}.menu-button,.mobile-menu{display:none}
.hero{position:relative;min-height:760px;height:100svh;overflow:hidden}.hero-image{position:absolute;inset:0;width:62%;object-position:center}.hero-panel{position:absolute;inset:0 0 0 auto;width:58%;background:linear-gradient(135deg,#241e18,#100d0a)}.hero-panel:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 70%,rgba(128,91,61,.15),transparent 42%)}.hero-content{position:relative;z-index:2;height:100%;padding:clamp(120px,18vh,190px) var(--gutter) 80px;display:flex;flex-direction:column;align-items:flex-start}.section-label{margin:0;font-size:10px;font-weight:400;letter-spacing:.02em;color:var(--stone)}.hero h1{margin:auto 0;font-size:clamp(58px,6.7vw,104px);font-weight:300;line-height:1.22;letter-spacing:-.055em}.hero-note{font-size:12px;line-height:2;color:rgba(255,255,255,.5)}.scroll-cue{position:absolute;z-index:3;bottom:42px;left:var(--gutter);font-size:10px;color:rgba(255,255,255,.62)}.scroll-cue span{margin-right:18px}
.signature{position:relative;min-height:720px;padding:90px var(--gutter);overflow:hidden}.signature-copy{width:62%;margin:60px 0 0 auto}.signature h2{margin:0;font-size:clamp(46px,5.2vw,78px);font-weight:300;line-height:1.34;letter-spacing:-.045em}.signature-copy>p{max-width:510px;margin:34px 0 0 auto;color:#746c62;font-size:12px;line-height:2}.signature-image{position:absolute;left:7vw;top:140px;width:min(30vw,430px);height:520px;margin:0;overflow:hidden}.material-bars{position:absolute;right:var(--gutter);bottom:52px;display:flex;gap:8px}.material-bars i{width:56px;height:7px;background:var(--wood)}.material-bars i+ i{width:28px;background:#d0c8ba}
.gallery-section{padding:78px 0 54px;min-height:1040px;overflow:hidden}.gallery-heading{padding:0 var(--gutter);display:grid;grid-template-columns:.8fr 1.8fr .8fr;align-items:end}.gallery-heading>div{text-align:right}.gallery-heading h2{margin:12px 0 8px;font-size:clamp(42px,4.3vw,64px);font-weight:300;letter-spacing:-.04em}.gallery-heading>div p,.drag-hint{margin:0;font-size:11px;color:var(--stone)}.drag-hint{justify-self:start}.drag-hint span{margin-right:10px}.gallery-shell{position:relative;margin-top:62px}.project-rail{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 var(--gutter) 18px;direction:ltr;cursor:grab}.project-rail::-webkit-scrollbar{display:none}.project-rail.dragging{cursor:grabbing;scroll-snap-type:none}.project-card{flex:0 0 min(44vw,640px);scroll-snap-align:start;direction:rtl}.project-card.portrait{flex-basis:min(31vw,440px)}.project-card.medium{flex-basis:min(38vw,520px)}.project-card img{height:610px;filter:saturate(.88);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s}.project-card:hover img{transform:scale(1.015);filter:saturate(1)}.project-card>div{position:relative;padding:16px 0 0;display:grid;grid-template-columns:34px 1fr;column-gap:12px}.project-card span{grid-row:1/3;font-size:9px;color:var(--wood);direction:ltr;text-align:left}.project-card h3{margin:0;font-size:16px;font-weight:500}.project-card p{margin:4px 0 0;font-size:10px;color:var(--stone)}.gallery-progress{width:280px;height:2px;margin:20px var(--gutter) 0 0;background:rgba(169,154,136,.24)}.gallery-progress span{display:block;width:20%;height:100%;background:var(--wood);transition:transform .12s linear;transform-origin:right}.gallery-arrow{position:absolute;z-index:4;top:285px;width:46px;height:46px;border-radius:50%;border:1px solid currentColor;background:rgba(23,19,15,.72);color:#fff;cursor:pointer;opacity:0;transition:opacity .3s,transform .3s}.gallery-shell:hover .gallery-arrow,.gallery-arrow:focus-visible{opacity:1}.gallery-arrow:hover{transform:scale(1.08)}.gallery-arrow.previous{right:18px}.gallery-arrow.next{left:18px}.gallery-modern .gallery-arrow{background:rgba(244,241,234,.84);color:var(--ink)}
.transition-experience{position:relative;height:620px;background:var(--paper);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.transition-image{height:100%;overflow:hidden;direction:ltr}.transition-image img{transform:scale(1.04);transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}.transition-experience.is-visible .transition-image img{transform:scale(1)}.transition-copy{padding:80px 8vw;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.transition-copy h2{margin:32px 0 16px;font-size:clamp(48px,5vw,74px);font-weight:300;line-height:1.35;letter-spacing:-.05em}.transition-copy>p:not(.section-label){font-size:11px;color:#766e65}.transition-copy i{display:block;width:min(100%,420px);height:2px;background:var(--wood);margin:54px 0}.transition-copy a{align-self:flex-start;font-size:11px}.transition-copy a span{margin-right:14px}.transition-veil{position:absolute;z-index:1;top:0;bottom:0;left:35%;width:30%;background:linear-gradient(90deg,transparent,rgba(23,19,15,.7),transparent);transform:translateX(-55%);opacity:.6;pointer-events:none}.transition-experience.is-visible .transition-veil{animation:veil 1.7s ease-in-out forwards}.transition-experience.is-visible .transition-copy i{animation:line 1.2s .25s ease-out both}@keyframes veil{to{transform:translateX(75%);opacity:1}}@keyframes line{from{transform:scaleX(.1)}to{transform:none}}
.process{padding:90px var(--gutter) 110px;min-height:760px}.process-title{margin:50px 0 64px;text-align:right}.process-title h2{margin:0;font-size:clamp(48px,5vw,76px);font-weight:300;letter-spacing:-.045em}.process-title p{margin:34px 0 0;color:#867d72;font-size:20px;word-spacing:14px}.process-image{height:250px;margin:0;overflow:hidden}.contact{position:relative;min-height:980px;display:grid;grid-template-columns:39% 61%;overflow:hidden}.contact-image{height:980px}.contact-copy{padding:110px 8vw;display:flex;flex-direction:column;justify-content:center}.contact-copy h2{margin:58px 0 40px;font-size:clamp(56px,6vw,92px);font-weight:300;line-height:1.28;letter-spacing:-.055em}.contact-copy>p:not(.section-label){max-width:420px;color:rgba(255,255,255,.44);font-size:11px;line-height:2}.contact-link{margin-top:70px;padding:20px 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);font-size:18px}.contact-link span{float:left}.contact footer{position:absolute;right:var(--gutter);left:var(--gutter);bottom:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;color:rgba(255,255,255,.38);font-size:9px}
.reveal{opacity:1;transform:none;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal{opacity:0;transform:translateY(24px)}.motion-ready .reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:2px solid #bd936e;outline-offset:5px}
@media(max-width:900px){
  :root{--mobile-gutter:clamp(20px,6.15vw,28px)}
  .site-header{height:68px;grid-template-columns:1fr auto;padding:0 var(--mobile-gutter);border-bottom-color:rgba(255,255,255,.14)}
  .site-header.scrolled{height:58px;background:rgba(23,19,15,.8);backdrop-filter:blur(18px)}
  .desktop-nav,.header-cta{display:none}.brand{font-size:23px}
  .menu-button{display:block;border:0;background:none;color:inherit;width:48px;height:48px;margin-left:-8px;padding:13px 8px;touch-action:manipulation}
  .menu-button span{display:block;width:26px;height:1px;background:currentColor;margin:8px auto;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .35s}
  .menu-button.active span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-button.active span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .mobile-menu{display:flex;position:fixed;inset:0;z-index:90;background:linear-gradient(145deg,#211b16,#100d0a 72%);color:#fff;padding:112px var(--mobile-gutter) 48px;opacity:0;pointer-events:none;transition:opacity .55s ease}
  .mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu nav{width:100%;display:flex;flex-direction:column;justify-content:center}
  .mobile-menu a{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:clamp(25px,7vw,32px);opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
  .mobile-menu.open a{opacity:1;transform:none}.mobile-menu.open a:nth-child(2){transition-delay:.05s}.mobile-menu.open a:nth-child(3){transition-delay:.1s}.mobile-menu.open a:nth-child(4){transition-delay:.15s}.mobile-menu.open a:nth-child(5){transition-delay:.2s}.mobile-menu small{font-size:9px;opacity:.45}
  .hero{min-height:620px;height:100svh;height:100dvh;isolation:isolate}
  .hero-image{inset:0;width:100%;height:100%;object-position:42% center;transform:scale(1.025);animation:mobileImageSettle 1.4s cubic-bezier(.2,.7,.2,1) both}
  .hero-panel{inset:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(16,13,10,.94) 0%,rgba(16,13,10,.54) 34%,rgba(16,13,10,.1) 60%,rgba(16,13,10,.72) 100%)}
  .hero-panel:after{background:linear-gradient(90deg,rgba(16,13,10,.08),rgba(16,13,10,.62) 88%)}
  .hero-content{padding:108px var(--mobile-gutter) 46px;align-items:stretch}
  .hero h1{max-width:8em;margin:clamp(90px,18vh,154px) 0 auto;font-size:clamp(49px,13.6vw,62px);line-height:1.31;letter-spacing:-.055em;text-shadow:0 2px 28px rgba(0,0,0,.28)}
  .hero-note{align-self:flex-end;margin:0;max-width:180px;line-height:1.9;color:rgba(255,255,255,.62)}
  .scroll-cue{right:auto;left:var(--mobile-gutter);bottom:36px}.scroll-cue span{margin-right:12px}
  .signature{min-height:0;padding:86px var(--mobile-gutter) 112px}
  .signature-copy{width:100%;margin:46px 0 0}.signature h2{max-width:8.6em;font-size:clamp(39px,10.6vw,48px);line-height:1.43}
  .signature-copy>p{max-width:290px;margin:28px 0 0 auto;font-size:11px;line-height:2.05}
  .signature-image{position:relative;left:auto;top:auto;width:66vw;max-width:310px;height:min(72vh,520px);min-height:420px;margin:72px calc(var(--mobile-gutter)*-1) 0 auto;overflow:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 1.25s cubic-bezier(.2,.7,.2,1)}
  .signature-image.is-visible{clip-path:inset(0)}.signature-image img{object-position:50% center;transform:scale(1.035);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.signature-image.is-visible img{transform:scale(1)}
  .material-bars{right:auto;left:var(--mobile-gutter);bottom:66px}.material-bars i{width:46px}.material-bars i+i{width:24px}
  .gallery-section{min-height:auto;padding:76px 0 72px}.gallery-heading{padding:0 var(--mobile-gutter);grid-template-columns:1fr;gap:20px}.gallery-heading>div{text-align:right}
  .gallery-heading h2{font-size:clamp(39px,10.7vw,48px);line-height:1.35}.gallery-heading>div p{max-width:290px;line-height:1.9}
  .drag-hint{justify-self:auto;display:flex;align-items:center;gap:12px;font-size:10px}.drag-hint span{margin:0;animation:swipeCue 2s ease-in-out 1.2s 2}
  .gallery-shell{margin-top:42px}.project-rail{padding:0 var(--mobile-gutter) 16px;gap:14px;scroll-padding-inline:var(--mobile-gutter);touch-action:pan-x pan-y;cursor:auto;direction:rtl}
  .project-card{flex-basis:84vw}.project-card:nth-child(5n+2){flex-basis:78vw}.project-card.portrait{flex-basis:69vw}.project-card.medium{flex-basis:75vw}.project-card:nth-child(5n){flex-basis:86vw}
  .project-card img{height:auto;aspect-ratio:4/5;object-position:center;filter:saturate(.88);transform:scale(1.018);transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .55s,opacity .55s}
  .project-card.wide img{aspect-ratio:4/3}.project-card.portrait img{aspect-ratio:3/4}.project-card.medium img{aspect-ratio:4/5}.project-card.is-active img{transform:scale(1);filter:saturate(1)}
  .project-card>div{padding-top:13px;grid-template-columns:30px 1fr;opacity:.58;transform:translateY(5px);transition:opacity .55s,transform .6s cubic-bezier(.2,.7,.2,1)}.project-card.is-active>div{opacity:1;transform:none}
  .project-card h3{font-size:15px}.gallery-arrow{display:none}.gallery-progress{position:relative;width:calc(100% - var(--mobile-gutter)*2);height:1px;margin:22px var(--mobile-gutter) 0;background:rgba(169,154,136,.24)}.gallery-progress span{width:100%;transform:scaleX(.1)}
  .gallery-modern{padding-top:92px}.gallery-modern .project-rail{gap:18px}.gallery-modern .project-card:nth-child(even){margin-top:46px}.gallery-modern .project-card img{box-shadow:0 16px 32px rgba(61,48,34,.06)}
  .transition-experience{height:88svh;min-height:680px;max-height:860px;display:block;background:var(--ink)}
  .transition-image{position:absolute;inset:0;height:100%}.transition-image img{object-position:44% center;transform:scale(1.08)}.transition-experience.is-visible .transition-image img{transform:scale(1.01)}
  .transition-veil{inset:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(23,19,15,.05),rgba(23,19,15,.48) 48%,rgba(244,241,234,.94) 100%);transform:none;opacity:1}.transition-experience.is-visible .transition-veil{animation:none}
  .transition-copy{height:100%;padding:86px var(--mobile-gutter) 62px;justify-content:flex-end;color:var(--paper)}.transition-copy .section-label{color:#c5a282}.transition-copy h2{max-width:8em;margin:24px 0 14px;font-size:clamp(48px,13vw,60px);line-height:1.34;text-shadow:0 2px 24px rgba(0,0,0,.25)}
  .transition-copy>p:not(.section-label){color:rgba(255,255,255,.66)}.transition-copy i{width:100%;margin:34px 0 26px}.transition-copy a{color:var(--ink)}
  .process{min-height:0;padding:88px var(--mobile-gutter) 108px}.process-title{margin:46px 0 58px;text-align:right}.process-title h2{font-size:clamp(44px,11.8vw,54px);line-height:1.42}
  .process-steps{margin:44px 0 0!important;display:flex;flex-direction:column;align-items:flex-start;gap:0;font-size:17px!important;word-spacing:0!important;color:#756d64!important}.process-steps span{position:relative;padding:0 0 30px}.process-steps span:not(:last-child):after{content:"";position:absolute;right:.35em;top:30px;width:1px;height:20px;background:var(--wood);opacity:.55}
  .process-image{height:min(128vw,560px);margin:0 calc(var(--mobile-gutter)*-1);overflow:hidden;background:#6e573f}.process-image img{object-position:58% center;filter:saturate(.84) brightness(.68) contrast(1.12);transform:scale(1.04);transition:transform 1.35s cubic-bezier(.2,.7,.2,1)}.process-image.is-visible img{transform:scale(1)}
  .contact{min-height:100svh;display:block;isolation:isolate}.contact-image{position:absolute;inset:0;height:100%;z-index:-2}.contact-image img{object-position:50% center}.contact:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,14,11,.22),rgba(17,14,11,.58) 46%,#100d0a 84%)}
  .contact-copy{min-height:100svh;padding:92px var(--mobile-gutter) 174px;justify-content:flex-end}.contact-copy h2{max-width:7.5em;margin:34px 0 28px;font-size:clamp(49px,13.3vw,62px);line-height:1.35}.contact-copy>p:not(.section-label){color:rgba(255,255,255,.62)}
  .contact-link{margin-top:46px;min-height:58px;padding:18px 0;font-size:17px}.contact footer{right:var(--mobile-gutter);left:var(--mobile-gutter);bottom:28px;flex-wrap:wrap;gap:14px}.grain{display:none}
}
@media(max-width:520px){.contact footer a:last-child{display:none}}
@keyframes mobileImageSettle{from{transform:scale(1.07)}to{transform:scale(1.025)}}@keyframes swipeCue{0%,100%{transform:translateX(0)}45%{transform:translateX(-9px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.project-rail{scroll-behavior:auto!important}}
