:root{--paper:#faf9f6;--ink:#151818;--border:#dedbd4;--site-width:1240px;--header-height:72px}
.wrap{width:min(calc(100% - 104px),var(--site-width))}
section[id]{scroll-margin-top:calc(var(--header-height) + 12px)}
.header{position:fixed;inset:0 0 auto;height:var(--header-height);z-index:12;border:0;color:white;background:transparent;transition:background .4s,color .4s,box-shadow .4s}
.header.solid,.header.expanded{background:var(--paper);color:var(--ink);box-shadow:0 1px 0 var(--border)}
.header-layout{height:100%;display:flex;justify-content:space-between;position:relative}
.header-brand{display:flex;align-items:center;justify-content:space-between;background:var(--paper);color:var(--ink);padding:0 18px;gap:35px;width:min(33%,360px)}
.header .desktop-nav{display:flex;gap:clamp(18px,4vw,58px);align-items:center}
.desktop-nav a,.outline,.feature-tag{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.16em}
.desktop-nav a{position:relative}.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{transform:scaleX(1)}
.header .menu{display:grid;place-items:center;background:transparent;border:0;padding:0;width:44px;height:44px;cursor:pointer;flex:none}
.hamburger,.hamburger::before,.hamburger::after{display:block;width:21px;height:1px;background:currentColor;transition:transform .35s var(--ease),background .2s}.hamburger{position:relative}.hamburger::before,.hamburger::after{content:"";position:absolute;inset:0;transform:translateY(-5px)}.hamburger::after{transform:translateY(5px)}.menu[aria-expanded=true] .hamburger{background:transparent}.menu[aria-expanded=true] .hamburger::before{transform:rotate(45deg)}.menu[aria-expanded=true] .hamburger::after{transform:rotate(-45deg)}
.header #main-nav{position:absolute;inset:100% 0 auto;display:grid;grid-template-columns:1.35fr .65fr;gap:45px;background:var(--paper);color:var(--ink);padding:clamp(22px,5vw,64px);border:1px solid var(--border);box-shadow:0 14px 30px #0002;opacity:0;visibility:hidden;transform:translateY(-12px);clip-path:inset(0 0 100%);transition:clip-path .5s var(--ease),transform .5s var(--ease),opacity .35s,visibility .5s}
.header #main-nav.open{opacity:1;visibility:visible;transform:none;clip-path:inset(0)}
.menu-primary,.menu-secondary{display:grid;gap:10px}.menu-primary a{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);font-size:clamp(21px,3vw,40px);letter-spacing:-.04em}.menu-primary span{font:16px "DejaVu Sans",sans-serif;align-self:center}.menu-secondary{align-self:end}.menu-secondary .label{margin-bottom:5px}
.hero{min-height:max(690px,100svh);display:grid;align-items:center;position:relative;color:#fff;isolation:isolate;background:#29332d}
.hero .hero-photo{position:absolute;inset:0;height:100%;z-index:-2;background:#29332d}.hero-photo img{height:112%;top:-6%;object-position:center 53%;transform:translateY(var(--hero-shift,0px)) scale(var(--hero-scale,1))}
.hero::after,.project-banner::after,.project-card::after{content:"";position:absolute;inset:0;pointer-events:none}.hero::after{z-index:-1;background:linear-gradient(90deg,#101713bf 0%,#10171371 43%,#1017132b 75%),linear-gradient(0deg,#0b100b4f,transparent 35%,transparent 76%,#0b100b58)}
.hero-layout{position:relative;min-height:inherit;display:flex;align-items:center;background:repeating-linear-gradient(90deg,#ffffff25 0 1px,transparent 1px 33.333%);border-right:1px solid #ffffff25}
.hero-copy{padding:calc(var(--header-height) + 35px) 0 130px;position:relative}.hero .label,.project-banner .label{color:#fff}.hero h1{font:700 clamp(54px,7vw,105px)/.95 var(--sans);letter-spacing:-.08em;margin:24px 0 16px}.hero-description{margin:0 0 24px;color:#f5f3ed;font-size:clamp(15px,1.6vw,19px);max-width:420px}
.outline{border:1px solid #ffffff80;border-radius:30px;color:white;min-height:46px;padding:10px 17px;background:#17211a45;transition:color .3s,background .3s,border-color .3s}.outline:hover{background:white;color:var(--ink);border-color:white}
.hero-scroll{position:absolute;right:16px;bottom:42px;width:58px;height:58px;display:grid;place-items:center;border:1px solid #ffffff8a;border-radius:50%;transition:background .3s,color .3s,transform .3s}.hero-scroll:hover{background:white;color:var(--ink);transform:translateY(4px)}
.hero-feature{position:absolute;bottom:0;left:0;display:flex;align-items:center;gap:22px;background:var(--paper);color:var(--ink);min-height:92px;padding-right:22px;transition:background .3s}.hero-feature:hover{background:#eee9df}.hero-feature small,.hero-feature strong{display:block}.hero-feature small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.hero-feature strong{font-size:14px}.feature-tag{align-self:stretch;display:grid;place-items:center;padding-inline:clamp(22px,5.5vw,85px);background:#eeeee8}.feature-arrow{font-family:"DejaVu Sans",sans-serif}
.area{border-bottom-color:var(--border)}h2,.card h3{font-family:var(--sans);font-weight:700;letter-spacing:-.065em}h2{font-size:clamp(47px,6.6vw,93px);line-height:.96}h2 em{font-style:normal;font-weight:inherit}.section-top{align-items:end}.card h3{font-size:clamp(24px,2.5vw,37px)}.card .media{aspect-ratio:1.35}.craft{background:#181d1b}
.projects{padding-bottom:clamp(55px,7vw,100px)}.project-banner{isolation:isolate;display:grid;place-items:center;text-align:center;min-height:clamp(290px,35vw,520px);color:white}.project-banner img{position:absolute;inset:0;z-index:-2;transform:scale(var(--banner-scale,1.02))}.project-banner::after{z-index:-1;background:linear-gradient(#1118,#111a)}.project-banner-copy{padding:30px}.project-banner .label{justify-content:center}.project-banner h2{font-size:clamp(38px,6vw,82px);margin-bottom:24px}
.project-links{width:90%;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);background:#eeeee8;text-align:center}.project-links a{padding:18px 5px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.10em;transition:background .3s}.project-links a:hover{background:#e1d8c9}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:clamp(40px,8vw,110px);align-items:start}.project-card{aspect-ratio:.95;position:relative;display:block;overflow:hidden;color:white;background:#262925;isolation:isolate}.project-card:nth-child(2){margin-top:-25px;--delay:100ms}.project-card:nth-child(3){--delay:190ms}.project-card::after{z-index:-1;background:linear-gradient(transparent 25%,#10130fdb)}.project-card img{position:absolute;inset:0;z-index:-2;transition:transform .8s var(--ease)}.project-card:hover img,.project-card:focus-visible img{transform:scale(1.1)}.project-card div{position:absolute;inset:auto 18px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px}.project-card h3{font-size:clamp(17px,2.3vw,31px);line-height:1.1;letter-spacing:-.045em}.project-caption{font-size:11px;color:var(--muted);margin-top:12px}
.footer{background:#101614;color:#f2f0e8;padding:0 0 22px}.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-right:1px solid #ffffff20}.footer-column{display:flex;flex-direction:column;align-items:stretch;justify-content:start;gap:0;border-left:1px solid #ffffff20;padding:clamp(45px,8vw,112px) clamp(16px,3vw,42px) 46px}.footer-column:nth-child(2){padding-top:clamp(52px,11vw,152px);--delay:100ms}.footer-column:nth-child(3){padding-top:clamp(58px,14vw,190px);--delay:200ms}.footer-column .brand{align-self:start}.footer-column p:not(.label){margin-top:17px;font-size:14px;color:#cbcfc7;max-width:290px}.footer .label{color:#cccfc6;margin-bottom:12px}.footer-column a:not(.brand){display:flex;justify-content:space-between;gap:8px;padding:12px 0;border-top:1px solid #ffffff20;font-size:14px;transition:color .3s,padding .3s}.footer-column a:not(.brand):hover{padding-left:7px;color:#e0ad7f}.footer-end{margin-top:0}
.motion .hero-feature,.motion .hero-scroll{animation:intro-in 1s .4s both var(--ease)}.motion .hero-photo{animation:hero-open 1.3s both var(--ease)}.motion .project-banner{clip-path:inset(10% 7% 10%);transition:clip-path 1.1s var(--ease),opacity .8s,transform .9s var(--ease)}.motion .project-banner.shown{clip-path:inset(0)}.motion .project-card,.motion .card{transform:translateY(58px) perspective(900px) rotateX(8deg);transform-origin:top}.motion .project-card.shown,.motion .card.shown{transform:none}
@keyframes hero-open{from{opacity:.15;clip-path:inset(0 3% 3%)}to{opacity:1;clip-path:inset(0)}}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}.header-brand{width:auto;gap:24px}}
@media(max-width:720px){:root{--header-height:64px}.wrap{width:calc(100% - 36px)}.header .header-layout{width:100%}.header-brand{width:100%}.header .desktop-nav{display:none}.header #main-nav{grid-template-columns:1fr;gap:22px;max-height:calc(100svh - var(--header-height));overflow:auto}.hero{min-height:max(640px,100svh)}.hero-layout{background:linear-gradient(90deg,#ffffff22 0 1px,transparent 1px);border-right:1px solid #ffffff22}.hero h1{font-size:clamp(38px,9.8vw,69px)}.hero-photo img{object-position:58% 50%}.hero-feature{gap:12px;padding-right:12px;min-height:72px}.feature-tag{padding-inline:12px}.hero-scroll{width:44px;height:44px;right:7px;bottom:86px}.hero-copy{padding-bottom:115px}.project-grid{grid-template-columns:1fr;gap:12px}.project-card{aspect-ratio:1.45}.project-card:nth-child(2){margin-top:0}.project-links{width:100%}.project-links a{font-size:9px}.footer-grid{grid-template-columns:1fr;border:none}.footer-column:nth-child(n){border-left:0;padding:23px 0;--delay:0ms}.footer-column:first-child{padding-top:45px}.motion .project-card:nth-child(n){--delay:0ms}}
@media(prefers-reduced-motion:reduce){.motion .project-banner{clip-path:none}.hero-photo img,.project-banner img{transform:none}}
.reading{z-index:13}.header:has(.header-brand .menu[aria-expanded=true]) .desktop-nav a{color:var(--ink)}html:not(.js) .header .menu{display:none}
.estimate{background:#181d1b;color:white;position:relative;isolation:isolate}.estimate::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#161c18 5%,#161c18ed 37%,#161c1866 100%),url("assets/showcase.webp") center 61%/cover}.estimate .label{color:#e7e2d7}.estimate h2 em{color:#e0ad7f}.estimate .dark{background:var(--paper);color:var(--ink)}.estimate .dark:hover{background:#e0ad7f}.estimate .text-link:hover{color:#e0ad7f}
.motion .section-top h2,.motion .craft-copy h2,.motion .about h2,.motion .estimate h2{clip-path:inset(0 0 100%);transform:translateY(15px);transition:clip-path .9s var(--ease),transform .9s var(--ease)}.motion .shown h2{clip-path:inset(0);transform:none}
@media(max-width:720px){html:not(.js) .header .desktop-nav{display:flex;padding:0 8px;color:var(--ink);background:var(--paper);gap:9px}.estimate::before{background:linear-gradient(90deg,#161c18ec,#161c188e),url("assets/showcase.webp") center/cover}}
@media(prefers-reduced-motion:reduce){.motion .section-top h2,.motion .craft-copy h2,.motion .about h2,.motion .estimate h2{clip-path:none;transform:none}}
.footer-column a span,.menu-secondary a span,.project-card div span{font-family:"DejaVu Sans",sans-serif}
