:root{--paper:#f3efe5;--ink:#211f1a;--gold:#b16d35;--muted:#645e54;--border:#d7cfc0;--ease:cubic-bezier(.18,.75,.18,1);--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}img{width:100%;height:100%;object-fit:cover;display:block}figure,p,h1,h2,h3{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #b16d35;outline-offset:5px}section[id]{scroll-margin-top:20px}.wrap{width:min(100% - 96px,1440px);margin-inline:auto}.skip{position:fixed;top:10px;left:10px;z-index:20;background:white;padding:10px;transform:translateY(-150%)}.skip:focus{transform:none}.reading{position:fixed;z-index:10;top:0;left:0;height:3px;background:#c88345;width:100%;transform:scaleX(0);transform-origin:left}
.header{height:88px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;gap:13px;align-items:center;font-weight:900;font-size:16px;line-height:1;letter-spacing:.065em;white-space:nowrap}.brand-sub{display:block;font-size:10px;letter-spacing:.31em;margin-top:6px}.roofmark{width:38px;height:32px;display:block;background:#ad6839;clip-path:polygon(0 59%,49% 3%,100% 59%,91% 70%,49% 24%,9% 70%,0 59%,0 84%,49% 35%,100% 84%,91% 96%,49% 55%,9% 96%,0 84%)}nav{display:flex;gap:clamp(18px,3vw,48px);align-items:center;font-size:14px;font-weight:600}nav a,.text-link{transition:color .2s}nav a:hover,.text-link:hover{color:var(--gold)}.menu{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border-radius:2px;padding:13px 17px;font-size:14px;font-weight:700;min-height:48px;transition:background .3s,color .3s;white-space:nowrap}.button span,.text-link span{display:inline-block;transition:transform .3s var(--ease)}.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}.dark{background:var(--ink);color:#fff9ed}.dark:hover{background:#754426}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#e8c3a2}
.hero-copy{padding:clamp(58px,8vw,127px) 0 33px}.label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.label span{display:inline-block;background:var(--gold);width:7px;height:7px;border-radius:50%;flex:none}.hero h1,h2{font:400 clamp(55px,8.6vw,145px)/.89 var(--serif);letter-spacing:-.045em}.hero h1{margin:23px 0 25px}.line{display:block;overflow:hidden;padding:0 .09em .13em 0;margin-bottom:-.105em}.line>span{display:block}.hero em,h2 em{font-weight:400;color:var(--gold)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-top:38px}.hero-bottom p{max-width:340px;color:var(--muted);line-height:1.45}.media{position:relative;overflow:hidden;background:#5c5b4a}.hero-photo{height:clamp(330px,47vw,695px)}.hero-photo img{height:110%;position:absolute;top:-5%;object-position:center 52%;transform:translateY(var(--hero-shift,0px))}.image-link{position:absolute;bottom:17px;right:17px;display:flex;gap:18px;align-items:center;background:var(--paper);padding:10px 14px;font-size:13px;font-weight:700}.image-link:hover{background:#ead3bb}
.area{display:flex;gap:34px;align-items:center;justify-content:space-between;padding-block:26px;border-bottom:1px solid var(--border)}.area p{display:flex;gap:clamp(8px,1.6vw,24px);align-items:center;flex-wrap:wrap;font-size:14px;font-weight:600}.area i{width:3px;height:3px;border-radius:50%;background:var(--gold)}.section{padding-block:clamp(73px,10vw,152px)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:42px}.section-top p:last-child{max-width:285px;color:var(--muted)}h2{font-size:clamp(51px,7vw,108px);margin-top:17px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card .media{aspect-ratio:1.27}.card img{transition:transform .7s var(--ease)}.card:hover img,.card:focus-visible img{transform:scale(1.085)}.card-info{padding:16px 0 18px;display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid var(--border)}.card h3{font:400 clamp(25px,3vw,42px)/1.1 var(--serif);letter-spacing:-.02em}.card p{color:var(--muted);font-size:14px;margin-top:7px}.arrow{flex:none;display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--border);border-radius:50%;transition:background .3s,color .3s}.card:hover .arrow{background:var(--ink);color:white}
.craft{background:#262820;color:#f5efe3;padding-block:clamp(67px,9vw,130px)}.craft-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,7vw,110px);align-items:start}.craft-visual{position:sticky;top:42px}.showcase{height:clamp(350px,48vw,680px)}.showcase img{transform:scale(var(--showcase-scale,1));transform-origin:55% 52%}.photo-note{margin-top:9px;color:#d1c8b6;font-size:11px}.craft .label,.craft-copy p{color:#ded6c8}.craft h2 em{color:#e0ad7f}.craft-copy>div:first-child>p:last-child{margin-top:25px;max-width:435px}.craft-items{margin:30px 0}.craft-items details{border-top:1px solid #5b5c50;padding:13px 0}.craft-items details:last-child{border-bottom:1px solid #5b5c50}.craft-items summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:17px;font-weight:600;list-style:none}.craft-items summary::-webkit-details-marker{display:none}.craft-items summary span{transition:transform .3s}.craft-items details[open] summary span{transform:rotate(45deg)}.craft-items details p{padding:10px 20px 5px 0;font-size:14px;max-width:385px}
.about{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:44px}.about-copy{max-width:440px;color:var(--muted)}.about-copy p+p{margin-top:15px}.text-link{display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:2px;font-weight:700}.about-copy .text-link{margin-top:22px;color:var(--ink)}.estimate{background:#dfbd9c}.estimate-inner{padding-block:clamp(62px,8vw,120px)}.estimate h2 em{color:#713d20}.estimate-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.footer{background:var(--ink);color:var(--paper);padding:42px 0 22px}.footer-main,.footer-end{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.footer-end{border-top:1px solid #5d5549;margin-top:30px;padding-top:17px;font-size:13px;color:#d8cdb9}
.motion .line>span{animation:title-in .95s both var(--ease)}.motion .line:nth-child(2)>span{animation-delay:.12s}.motion .intro{animation:intro-in .85s .15s both var(--ease)}.motion .hero-photo{animation:photo-in 1.05s .16s both var(--ease)}.motion .reveal{opacity:0;transform:translateY(36px);transition:transform .85s var(--ease),opacity .65s ease;transition-delay:var(--delay,0ms)}.motion .reveal.shown{transform:none;opacity:1}.motion .card:nth-child(2){--delay:90ms}.motion .card:nth-child(3){--delay:180ms}.motion .card .media{clip-path:inset(10% 0 0);transition:clip-path 1s var(--ease)}.motion .card.shown .media{clip-path:inset(0)}
@keyframes title-in{from{transform:translateY(108%) skewY(5deg);opacity:0}to{transform:none;opacity:1}}@keyframes intro-in{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}@keyframes photo-in{from{clip-path:inset(8% 8% 10%);opacity:.35}to{clip-path:inset(0);opacity:1}}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}.header{gap:16px}nav{gap:19px}.cards{gap:13px}.craft-inner{gap:30px}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.header{height:68px;position:relative}.header-cta{display:none}.header nav{gap:12px;flex-wrap:wrap}.js .menu{display:block;border:1px solid var(--border);padding:7px 10px;background:transparent;font-size:14px}.js .header nav{display:none}.js .header nav.open{display:grid;position:absolute;z-index:5;inset:100% 0 auto;padding:17px;background:var(--paper);border:1px solid var(--border);gap:12px}.hero-copy{padding-top:46px}.hero h1{font-size:clamp(47px,11vw,80px)}.hero-bottom,.area,.section-top{align-items:start;flex-direction:column;gap:15px}.hero-bottom{margin-top:28px}.hero-photo{height:clamp(290px,70vw,470px)}.hero-photo img{object-position:56% center}.section-top{margin-bottom:24px}.cards,.craft-inner,.about{grid-template-columns:1fr}.cards{gap:28px}.card .media{aspect-ratio:1.47}.craft-visual{position:relative;top:auto}.showcase{height:clamp(260px,69vw,440px)}.about{gap:22px}.footer-main{align-items:start;flex-direction:column}.motion .card:nth-child(n){--delay:0ms}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}.motion .card .media{clip-path:none}.hero-photo img,.showcase img{transform:none}}
.button span,.text-link span,.arrow{font-family:"DejaVu Sans",sans-serif}
@media(min-width:721px){.craft-copy{min-height:clamp(560px,60vw,880px);display:flex;flex-direction:column;align-items:start}.craft-items{width:100%;margin-top:clamp(30px,6vw,96px)}}
