@font-face{font-family:Craft Sans;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2');font-weight:300 600;font-style:normal;font-display:swap}
body.craft-home{--paper:#080909;--ink:#f1f1eb;--muted:#aaa9a2;--line:#353736;--yellow:#f1f1eb;--craft-edge:clamp(24px,3.4vw,64px);background:#080909;color:#f1f1eb;font-family:Craft Sans,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.5}
.craft-home *{box-sizing:border-box}
.craft-home h1,.craft-home h2,.craft-home h3{font-family:inherit;font-weight:300;letter-spacing:-.045em;line-height:1.04;margin:0}
.craft-home p,.craft-home figure{margin:0}
.craft-home img{display:block;max-width:100%;width:100%;height:auto;border-radius:0}
.craft-home a{color:inherit}
.craft-home [hidden]{display:none!important}
.craft-home :focus-visible{outline:2px solid currentColor;outline-offset:6px}
.craft-home .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.craft-home .site-header{position:sticky;top:0;z-index:40;background:#080909;border-bottom:1px solid #303232;height:88px;padding:0 var(--craft-edge);gap:20px}
.craft-home .wordmark{font-size:25px;font-weight:500;letter-spacing:-1.3px;color:#f1f1eb}
.craft-home .wordmark span{font-weight:400}
.craft-home .wordmark small{font-size:8px;letter-spacing:4px;margin-top:10px}
.craft-home .desktop-nav{font-size:13px;gap:30px}
.craft-home .desktop-nav a:hover{opacity:.7}
.craft-home .header-actions{gap:14px}
.craft-home .craft-phone{white-space:nowrap;font-variant-numeric:tabular-nums}
.craft-home .motion-toggle{display:none;background:transparent;color:#f1f1eb;border-color:#747670}
@media(min-width:960px){.craft-home.motion-ready .motion-toggle{display:block}}
.craft-home .button,.craft-home .text-link{border-radius:8px;min-height:46px;padding:12px 20px;font:400 13px/1.4 Craft Sans,Helvetica Neue,Arial,sans-serif;letter-spacing:0;border:1px solid currentColor;background:transparent;color:inherit;text-decoration:none;transition:background 160ms ease,color 160ms ease}
.craft-home .button.primary{background:#f1f1eb;color:#080909;border-color:#f1f1eb}
.craft-home .button.secondary{background:transparent;color:inherit;border:1px solid currentColor}
.craft-home .button:hover{background:#f1f1eb;color:#080909;border-color:#f1f1eb;transform:none}
.craft-home .button.primary:hover{background:#c9cbc4;border-color:#c9cbc4}
.craft-home .reading-progress{background:#d3d4cc;height:2px}
.craft-home .skip{background:#f1f1eb;color:#080909;border-radius:8px}
.craft-home .mobile-menu{position:relative}
.craft-home .mobile-menu summary{border:1px solid #747670;color:inherit;background:transparent;border-radius:8px;padding:10px 12px;min-height:44px;list-style:none;font-size:13px;white-space:nowrap}
.craft-home .mobile-menu summary span{margin-left:8px}
.craft-home .mobile-menu nav{position:absolute;right:0;top:52px;width:260px;padding:20px;display:grid;gap:10px;background:#080909;color:#f1f1eb;border:1px solid #747670;border-radius:8px;z-index:50}
.craft-home main{overflow:visible}
.craft-kicker{font-size:11px;line-height:1.6;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.craft-section{padding:110px var(--craft-edge)}
.craft-section h2{font-size:clamp(44px,6.5vw,100px)}
.craft-section-heading{margin-bottom:64px}
.craft-section-heading>.craft-kicker{margin-bottom:30px}
.craft-section-heading>p:not(.craft-kicker){max-width:34ch;margin:30px 0 0;font-size:18px;color:#bfc0b9}
.craft-home section[id],.craft-home figure[id]{scroll-margin-top:110px}
/* The complete vertical document is the default. */
.film-stage{padding:46px var(--craft-edge) 0}
.film-kicker{display:flex;justify-content:space-between;gap:24px;margin-bottom:38px}
.film-opening h1{font-size:clamp(54px,7.4vw,116px);max-width:1230px;line-height:.99;letter-spacing:-.055em}
.film-opening h1>span{color:#aaa9a2}
.film-introduction{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:36px 0 42px}
.film-introduction>p{font-size:16px;color:#bfc0b9;max-width:34ch;line-height:1.5}
.film-track{display:grid;gap:54px}
.film-shot{min-width:0;position:relative}
.film-shot img{aspect-ratio:16/9;object-fit:cover;object-position:center}
.film-shot figcaption{padding:24px 0 10px;display:grid;grid-template-columns:1fr 2fr;gap:24px;border-bottom:1px solid #353736}
.film-shot figcaption h2{font-size:clamp(24px,3.2vw,48px);padding-bottom:22px}
.film-interface{display:none}
/* One bounded photographic sequence, controlled by native page scrolling. */
@media(min-width:960px) and (min-height:700px){
 .craft-film.is-cinematic{height:calc(100svh + 1350px);position:relative}
 .is-cinematic .film-stage{position:sticky;top:88px;height:calc(100svh - 88px);min-height:612px;overflow:hidden;padding:38px var(--craft-edge) 0;isolation:isolate}
 .is-cinematic .film-opening{position:relative;z-index:2;transform:translateY(calc(var(--film-expand,0) * -65px));opacity:calc(1 - var(--film-expand,0));pointer-events:auto}
 .is-cinematic .film-opening.is-out{pointer-events:none}
 .is-cinematic .film-kicker{margin-bottom:30px}
 .is-cinematic .film-opening h1{font-size:clamp(64px,7.15vw,110px)}
 .is-cinematic .film-introduction{margin:26px 0 0}
 .is-cinematic .film-window{--film-rest-top:max(53%,clamp(350px,30vw,400px));position:absolute;top:calc(var(--film-rest-top) - var(--film-expand,0) * (var(--film-rest-top) - 9%));bottom:94px;left:calc(var(--craft-edge) * (1 - var(--film-expand,0)));right:calc(var(--craft-edge) * (1 - var(--film-expand,0)));overflow:hidden;z-index:1;background:#080909}
 .is-cinematic .film-track{display:flex;width:300%;height:100%;gap:0;transform:translate3d(calc(var(--film-travel,0) * -66.666667%),0,0)}
 .is-cinematic .film-shot{width:33.333333%;height:100%;flex-shrink:0}
 .is-cinematic .film-shot img{width:100%;height:100%;object-fit:cover}
 .is-cinematic .film-shot figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .is-cinematic .film-interface{display:flex;align-items:center;justify-content:space-between;gap:20px;position:absolute;bottom:0;left:var(--craft-edge);right:var(--craft-edge);height:94px;z-index:3;background:#080909}
 .film-readout{min-width:240px}
 .film-readout .craft-kicker{color:#bfc0b9;font-size:10px}
 .film-readout p{font-size:17px;margin-top:5px}
 .film-controls{display:flex;align-items:center;gap:8px}
 .film-controls button{font:400 12px/1.4 Craft Sans,Arial,sans-serif;min-height:44px;background:transparent;border:1px solid #656760;border-radius:8px;color:#f1f1eb;padding:10px 14px}
 .film-controls button span{margin-right:8px;color:#bfc0b9}
 .film-controls button[aria-current=true]{background:#f1f1eb;color:#080909;border-color:#f1f1eb}
 .film-controls button[aria-current=true] span{color:#52544f}
 .film-controls button:hover{border-color:#f1f1eb}
 .film-scroll-note{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#bfc0b9}
}
.craft-practice{border-top:1px solid #353736;margin-top:80px;padding-top:70px;padding-bottom:130px}
.craft-practice>.craft-kicker{margin-bottom:42px}
.craft-practice-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:11vw;align-items:start}
.craft-practice-grid>div>p{max-width:43ch;color:#bfc0b9;font-size:17px;margin:22px 0 32px}
.craft-practice-grid .craft-lead{font-size:clamp(24px,2.65vw,40px);line-height:1.25;color:#f1f1eb;margin-top:2px;letter-spacing:-.025em;font-weight:300}
.craft-services{background:#f1f1eb;color:#111412}
.craft-services .button:hover,.craft-journal .button:hover{background:#111412;color:#f1f1eb;border-color:#111412}
.craft-services-grid{display:grid;grid-template-columns: .85fr 1.15fr;gap:8vw;align-items:start}
.craft-service-photo{position:sticky;top:128px}
.craft-service-photo img{aspect-ratio:4/5;object-fit:cover;object-position:36% center}
.craft-service-photo figcaption{font-size:12px;padding-top:13px;color:#4c524a}
.craft-service{display:grid;grid-template-columns:28px 1fr auto;align-items:start;gap:18px;padding:28px 0 30px;border-top:1px solid #b7bcb1}
.craft-service:last-child{border-bottom:1px solid #b7bcb1}
.craft-number{font-size:12px;padding-top:8px}
.craft-service h3{font-size:clamp(24px,2.3vw,35px);line-height:1.1;margin-bottom:12px}
.craft-service p{font-size:14px;line-height:1.6;color:#4c524a;max-width:30ch}
.craft-service .button{padding:10px 14px;font-size:12px;min-height:44px}
.craft-inspiration{padding-top:130px;padding-bottom:130px}
.craft-gallery{display:grid;grid-template-columns:1.25fr .85fr;gap:6vw;align-items:start;margin-bottom:52px}
.craft-gallery-large img{aspect-ratio:5/6;object-fit:cover;object-position:57% center}
.craft-gallery-small{margin-top:180px!important}
.craft-gallery-small img{aspect-ratio:4/5;object-fit:cover;object-position:52% center}
.craft-gallery figcaption{margin-top:25px}
.craft-gallery h3{font-size:clamp(30px,3vw,47px);margin-top:12px;line-height:1.12}
.craft-gallery .craft-kicker{color:#bfc0b9}
.craft-journal{background:#aaa69a;color:#111412}
.craft-journal-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:60px}
.craft-journal-heading h2{font-size:clamp(44px,5.5vw,80px);margin-top:22px}
.craft-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.craft-guide{border-top:1px solid #f1f1eb;padding-top:22px}
.craft-guide img{aspect-ratio:4/3;object-fit:cover}
.craft-guide .craft-kicker{margin-top:26px;color:#2e342c;letter-spacing:.075em}
.craft-guide h3{font-size:clamp(26px,2.5vw,37px);line-height:1.13;min-height:2.3em;margin:13px 0 25px}
.craft-areas.areas-section{background:#080909;color:#f1f1eb;display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:120px var(--craft-edge);margin:0;border:0}
.craft-areas h2{margin:26px 0}
.craft-areas>div>p:not(.craft-kicker){font-size:16px;color:#bfc0b9}
.craft-town-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center}
.craft-town-list .button{font-size:18px;min-height:66px;justify-content:flex-start;padding:16px 20px;border-color:#646760}
.craft-area-copy{align-self:center}
.craft-area-copy p{max-width:32ch;color:#bfc0b9;font-size:20px;line-height:1.5;margin:0 0 28px}
.craft-contact{border-top:1px solid #353736;padding-top:78px;padding-bottom:92px}
.craft-contact h2{font-size:clamp(64px,9.5vw,148px);line-height:.97;max-width:1200px;margin:40px 0 56px;letter-spacing:-.06em}
.craft-contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px}
.craft-contact-bottom>p{max-width:35ch;color:#bfc0b9;font-size:17px}
.craft-contact-actions{display:flex;gap:14px;flex-wrap:wrap}
.craft-home .site-footer{padding:55px var(--craft-edge) 24px;border-top:1px solid #353736;background:#080909;color:#f1f1eb}
.craft-footer-top{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:35px;align-items:start;padding-bottom:60px}
.craft-footer-top p{font-size:13px;line-height:1.9;color:#bfc0b9;overflow-wrap:anywhere}
.craft-footer-top nav{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:13px}
.craft-home .footer-bottom{border-top:1px solid #353736;padding-top:24px;display:flex;align-items:center;gap:24px;justify-content:space-between;color:#bfc0b9;font-size:11px}
.craft-home .footer-bottom .button{font-size:12px;min-height:44px;padding:10px 16px}
@media(max-width:1100px){.craft-home .desktop-nav{gap:20px}.film-scroll-note{display:none}.craft-services-grid{gap:5vw}.craft-service{grid-template-columns:23px 1fr;gap:12px}.craft-service .button{grid-column:2;justify-self:start}.craft-practice-grid{gap:6vw}.craft-guide-grid{gap:22px}}
@media(max-width:959px){.craft-home .site-header{height:80px}.craft-home .desktop-nav{display:none}.craft-home .mobile-menu{display:block}.film-stage{padding-top:38px}.film-kicker{margin-bottom:35px}.film-opening h1{font-size:clamp(48px,8.3vw,78px)}.craft-section{padding:80px var(--craft-edge)}.craft-section h2{font-size:clamp(42px,7vw,68px)}.craft-practice{margin-top:50px}.craft-services-grid{grid-template-columns:.85fr 1.15fr}.craft-service-photo{top:104px}.craft-gallery-small{margin-top:100px!important}.craft-gallery{gap:30px}.craft-areas.areas-section{padding:80px var(--craft-edge);gap:35px}.craft-town-list{grid-template-columns:1fr}.craft-town-list .button{min-height:50px;font-size:16px}.craft-contact h2{font-size:clamp(62px,10vw,96px)}.craft-contact-bottom{align-items:start;flex-direction:column}.craft-footer-top{grid-template-columns:1fr 1.2fr}.craft-footer-top nav{grid-column:1/-1}.craft-home .footer-bottom{flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:700px){.craft-home{--craft-edge:22px}.craft-home .site-header{gap:10px;padding:0 20px}.craft-home .wordmark{font-size:22px}.craft-home .header-actions{gap:8px}.craft-home .header-cta{display:none}.craft-home .motion-toggle{width:42px;height:44px}.craft-home .mobile-menu summary{min-height:44px}.film-kicker{flex-direction:column;gap:5px;font-size:10px;margin-bottom:32px}.film-opening h1{font-size:clamp(41px,10.6vw,68px);line-height:1.03;letter-spacing:-.05em}.film-introduction{align-items:start;flex-direction:column;margin:28px 0 32px;gap:20px}.film-introduction p{font-size:15px;max-width:32ch}.film-shot img{aspect-ratio:4/3}.film-track{gap:38px}.film-shot figcaption{display:block;padding:18px 0 0}.film-shot figcaption h2{font-size:27px;margin-top:10px;padding-bottom:20px}.craft-section{padding:66px var(--craft-edge)}.craft-section-heading{margin-bottom:36px}.craft-section-heading>.craft-kicker{margin-bottom:22px}.craft-section-heading>p:not(.craft-kicker){font-size:16px;margin-top:24px}.craft-practice-grid{grid-template-columns:1fr;gap:26px}.craft-practice>.craft-kicker{margin-bottom:26px}.craft-practice-grid .craft-lead{font-size:27px}.craft-practice-grid>div>p{font-size:16px;margin-top:16px}.craft-services-grid{grid-template-columns:1fr;gap:34px}.craft-service-photo{position:static}.craft-service-photo img{aspect-ratio:4/3;object-position:center}.craft-service{grid-template-columns:24px 1fr auto;padding:23px 0;gap:12px}.craft-service h3{font-size:24px}.craft-service p{font-size:14px}.craft-service .button{grid-column:2;grid-row:auto}.craft-gallery{grid-template-columns:1fr;gap:46px;margin-bottom:34px}.craft-gallery-large img{aspect-ratio:4/5}.craft-gallery-small{margin-top:0!important}.craft-gallery-small img{aspect-ratio:4/3}.craft-gallery h3{font-size:34px}.craft-journal-heading{align-items:start;flex-direction:column;gap:25px;margin-bottom:38px}.craft-guide-grid{grid-template-columns:1fr;gap:40px}.craft-guide h3{font-size:31px;min-height:0;margin-bottom:20px}.craft-guide img{aspect-ratio:16/10}.craft-areas.areas-section{grid-template-columns:1fr;padding:66px var(--craft-edge);gap:30px}.craft-town-list{grid-template-columns:1fr 1fr;gap:10px}.craft-town-list .button{font-size:14px;padding:12px;min-height:54px}.craft-contact h2{font-size:clamp(54px,12vw,78px);margin:30px 0 32px}.craft-contact-bottom>p{font-size:16px}.craft-contact-actions{width:100%;flex-direction:column;align-items:stretch}.craft-footer-top{grid-template-columns:1fr;gap:28px;padding-bottom:36px}.craft-footer-top nav{grid-column:auto}.craft-home .footer-bottom{gap:18px}.craft-home .footer-bottom p{width:100%}}
@media(prefers-reduced-motion:reduce){.craft-home *{scroll-behavior:auto!important;transition:none!important}}
html.motion-paused:has(.craft-home){scroll-behavior:auto!important}
@media(max-width:959px){.craft-home .motion-toggle,.craft-home .header-cta{display:none}}
@media(max-width:700px){.craft-home .site-header{gap:8px}.craft-home .header-actions{gap:6px}.craft-home .craft-phone{padding:10px 9px;min-height:44px;font-size:12px}.craft-home .mobile-menu summary{padding:10px;font-size:12px}}
@media(max-width:359px){.craft-home .site-header{padding:0 16px;gap:6px}.craft-home .wordmark{font-size:20px}.craft-home .header-actions{gap:5px}.craft-home .craft-phone{padding:10px 7px;font-size:11px}.craft-home .mobile-menu summary{padding:10px 8px}.craft-home .mobile-menu summary span{margin-left:4px}}
@media print{.craft-film{height:auto!important}.film-stage{position:static!important;height:auto!important;overflow:visible!important}.film-opening{transform:none!important;opacity:1!important}.film-window{position:static!important}.film-track{display:block!important;width:auto!important;transform:none!important}.film-shot{width:auto!important;height:auto!important;margin-bottom:30px!important}.film-shot figcaption{position:static!important;clip:auto!important;width:auto!important;height:auto!important;margin:0!important;white-space:normal!important}.film-interface{display:none!important}}
