@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_1b06896d-module__gFk9Aa__className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:italic;font-weight:400}.instrument_serif_1b06896d-module__gFk9Aa__variable{--font-serif:"Instrument Serif", "Instrument Serif Fallback"}
:root{--limewash:#f2efe8;--slate:#1f2326;--clay:#a5573a;--stone:#6f6c66;--hairline:#dad5cc;--on-slate-2:#f2efe8a8;--on-slate-rule:#f2efe829;--sans:"Switzer", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:var(--font-serif), "Times New Roman", serif;--margin:clamp(20px, 5.56vw, 136px);--gutter:clamp(16px, 1.67vw, 36px);--section:clamp(96px, 10.4vw, 200px);--nav-h:80px;--radius:2px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-rise:cubic-bezier(.293, -.006, 0, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%}body{background:var(--limewash);color:var(--slate);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:clamp(18px,.42vw + 12px,21px);font-weight:400;line-height:1.65}h1,h2,h3,p,ul,ol,figure,blockquote{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--clay);outline-offset:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}::selection{background:var(--slate);color:var(--limewash)}.wrap{max-width:2560px;padding-inline:var(--margin);margin:0 auto}.section{padding-block:var(--section)}.section--rule{position:relative}.section--rule:before{content:"";width:calc(100% - var(--margin) * 2);transform-origin:0;border-top:1px solid var(--hairline);transition:transform 1.2s var(--ease-in-out);position:absolute;top:0;left:50%;transform:translate(-50%)}.js .section--rule:not([data-visible]):before{transform:translate(-50%)scaleX(0)}.heading{letter-spacing:-.035em;max-width:14ch;font-size:clamp(40px,4.45vw,92px);font-weight:600;line-height:1.02}.heading--narrow{max-width:17ch}.heading em,.hero__serif{font-family:var(--serif);letter-spacing:-.01em;font-style:italic;font-weight:400}.heading em{white-space:nowrap;font-size:1.1em;line-height:0}.nowrap{white-space:nowrap}.btn{border-radius:var(--radius);background:var(--clay);height:56px;color:var(--limewash);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:background-color .2s ease, transform .16s var(--ease-out);border:0;justify-content:center;align-items:center;padding:0 28px;font-size:16px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--slate)}}.btn--sm{height:44px;padding:0 20px;font-size:15px}.btn--block{width:100%}.textlink{text-decoration:underline;-webkit-text-decoration-color:var(--hairline);text-decoration-color:var(--hairline);text-underline-offset:6px;font-size:16px;font-weight:500;text-decoration-thickness:1px;transition:text-decoration-color .2s}@media (hover:hover) and (pointer:fine){.textlink:hover{-webkit-text-decoration-color:var(--slate);text-decoration-color:var(--slate)}}.nav{z-index:50;background:var(--limewash);border-bottom:1px solid var(--hairline);position:relative}.nav__inner{height:var(--nav-h);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.wordmark{letter-spacing:-.025em;white-space:nowrap;justify-self:start;font-size:19px;font-weight:600}.nav__links{gap:40px;font-size:15px;font-weight:500;display:flex}.nav__links a{padding-block:6px;position:relative}.nav__links a:after{content:"";transform-origin:0;height:1px;transition:transform .25s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.nav__links a:hover:after{transform:scaleX(1)}}.nav__actions{justify-self:end;align-items:center;gap:28px;display:flex}.nav__phone{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:500}.nav__mobile,.menu{display:none}.hero{min-height:clamp(720px, calc(100svh - var(--nav-h)), 920px);align-items:center;display:flex;position:relative;overflow:hidden}.hero__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));width:100%;padding-block:96px 120px;display:grid}.hero__copy{z-index:1;grid-column:1/span 6;position:relative}.hero__title{flex-direction:column;font-weight:600;display:flex}.hero__line{margin-bottom:-.1em;padding:0 .12em .1em 0;display:block;overflow:hidden}.hero__line>span{animation:line-rise 1.1s var(--ease-out) both;display:block}.hero__line:first-child>span{animation-delay:.12s}.hero__line:nth-child(2)>span{animation-delay:.22s}.hero__sub{animation:fade-rise .9s var(--ease-out) .42s both}.hero__ctas{animation:fade-rise .9s var(--ease-out) .52s both}.hero__caps{letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(52px,5.7vw,118px);line-height:.92}.hero__serif{margin-top:.04em;font-size:clamp(60px,6.7vw,138px);line-height:1.02}.hero__sub{max-width:30em;color:var(--stone);margin-top:36px;font-size:18px;line-height:1.65}.hero__ctas{flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:44px;display:flex}.hero__media{top:56px;bottom:0;right:0;left:calc(50% + var(--gutter) / 2);background:var(--hairline);--roof:polygon(0 100%, 0 64%, 20% 64%, 20% 44%, 42% 44%, 42% 22%, 66% 22%, 66% 0, 100% 0, 100% 100%);--roof-flat:polygon(0 100%, 0 100%, 20% 100%, 20% 100%, 42% 100%, 42% 100%, 66% 100%, 66% 100%, 100% 100%, 100% 100%);clip-path:var(--roof);animation:roof-rise 1.4s var(--ease-in-out) .15s both;position:absolute}.hero__media img{object-fit:cover;object-position:40% 30%;filter:saturate(.38)contrast(1.05)brightness(.96);animation:settle 1.8s var(--ease-out) .15s both}.setup{text-align:center;padding-block:160px}.setup__statement{letter-spacing:-.03em;text-wrap:balance;max-width:19em;margin:0 auto;font-size:clamp(30px,3.35vw,68px);font-weight:500;line-height:1.16}.setup__note{color:var(--stone);margin-top:32px}.rebuild{background:var(--slate);height:400svh;position:relative}.rebuild__pin{height:100svh;color:var(--limewash);position:sticky;top:0;overflow:hidden}.rebuild__poster,.rebuild__canvas{width:100%;height:100%;position:absolute;inset:0}.rebuild__poster{object-fit:cover}.rebuild__canvas{opacity:0;transition:opacity .4s;display:block}.rebuild__canvas[data-ready=true]{opacity:1}.rebuild__content{width:fit-content;max-width:100%;padding:44px clamp(40px, 4vw, 72px) 56px var(--margin);background:var(--slate);position:absolute;bottom:0;left:0}.rebuild__tabs{flex-wrap:wrap;gap:12px 40px;display:flex}.rebuild__tabs button{letter-spacing:-.01em;opacity:.5;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:12px;padding:0;font-size:17px;font-weight:500;transition:opacity .3s;display:inline-flex}@media (hover:hover) and (pointer:fine){.rebuild__tabs button:hover{opacity:.75}}.rebuild__tabs button[data-active=true]{opacity:1}.rebuild__num{font-variant-numeric:tabular-nums;font-size:14px}.rebuild__bodies{max-width:22em;margin-top:28px;display:grid}.rebuild__bodies p{letter-spacing:-.02em;opacity:0;transition:opacity .5s var(--ease-out), transform .7s var(--ease-out);grid-area:1/1;font-size:clamp(22px,2.1vw,40px);font-weight:500;line-height:1.3;transform:translateY(10px)}.rebuild__bodies p[data-active=true]{opacity:1;transition-delay:.1s;transform:none}.rebuild__progress{background:#f2efe833;height:3px;position:absolute;bottom:0;left:0;right:0}.rebuild__progress span{background:var(--limewash);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.corners{padding-top:var(--section)}.corners__inner{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));min-height:clamp(640px,50vw,1100px);display:grid}.corners__intro{z-index:1;grid-area:1/1/auto/span 8;position:relative}.corners__intro .heading{max-width:12.5em}.corners__lede{max-width:24em;color:var(--stone);margin-top:28px}.corners__foot{max-width:17em;color:var(--stone);grid-area:1/1/auto/span 3;align-self:end;padding-bottom:44px;font-size:16px}.corners__bars{align-self:stretch;column-gap:calc(var(--gutter) * 3);grid-area:1/4/auto/-1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;display:grid}.corners__bar{--bar-bg:var(--slate);height:var(--bar-h);background:var(--bar-bg);color:var(--limewash);clip-path:inset(0);transition:clip-path 1.4s var(--ease-rise);transition-delay:calc(var(--stagger,0) * 80ms + var(--i,0) * .14s);padding:24px 22px}.corners__bar--1{--bar-h:35%;--bar-bg:color-mix(in srgb, var(--slate) 14%, var(--limewash));color:var(--slate)}.corners__bar--2{--bar-h:60%;--bar-bg:color-mix(in srgb, var(--slate) 34%, var(--limewash));color:var(--slate)}.corners__bar--3{--bar-h:82%;--bar-bg:color-mix(in srgb, var(--slate) 72%, var(--limewash))}.corners__bar--4{--bar-h:100%}.js .corners__bars:not([data-visible]) .corners__bar{clip-path:inset(100% 0 0)}.corners__text{transition:opacity .6s var(--ease-out), transform .8s var(--ease-out);transition-delay:calc(var(--stagger,0) * 80ms + var(--i,0) * .14s + .7s)}.js .corners__bars:not([data-visible]) .corners__text{opacity:0;transform:translateY(12px)}.corners__when{opacity:.75;font-size:14px;display:block}.corners__bar h3{letter-spacing:-.02em;margin-top:12px;font-size:clamp(18px,1.4vw,28px);font-weight:600;line-height:1.2}.corners__bar p{opacity:.85;margin-top:8px;font-size:clamp(15px,1.05vw,20px);line-height:1.45}.whatwedo{--card-w:26vw;background:var(--clay);color:var(--limewash);padding:clamp(80px,6.7vw,140px) 0 clamp(96px,7.8vw,160px);overflow:hidden}.whatwedo .heading{max-width:none}.whatwedo__head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.whatwedo__controls{align-items:center;gap:12px;display:flex}.whatwedo__count{font-variant-numeric:tabular-nums;margin-right:16px;font-size:15px}.whatwedo__arrow{border-radius:var(--radius);width:48px;height:48px;color:var(--limewash);cursor:pointer;transition:background-color .2s ease, transform .16s var(--ease-out);background:0 0;border:1px solid #f2efe866;padding:0;position:relative}.whatwedo__arrow:before,.whatwedo__arrow:after{content:"";position:absolute;top:50%;left:50%}.whatwedo__arrow:before{background:currentColor;width:16px;height:1.5px;transform:translate(-50%,-50%)}.whatwedo__arrow:after{border-top:1.5px solid;border-right:1.5px solid;width:8px;height:8px;transform:translate(-1px,-50%)rotate(45deg)}.whatwedo__arrow--prev:after{transform:translate(-7px,-50%)rotate(-135deg)}.whatwedo__arrow:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.whatwedo__arrow:hover{background:#f2efe81f}}.carousel{height:calc(var(--card-w) * 1.3136);touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:opacity .9s var(--ease-out), transform 1.1s var(--ease-out);margin-top:56px;position:relative}.js .carousel:not([data-visible]){opacity:0;transform:translateY(40px)}.carousel__card{width:var(--card-w);border-radius:var(--radius);cursor:pointer;height:100%;transition:transform 1.1s var(--ease-in-out);background:#1f23264d;position:absolute;top:0;left:50%;overflow:hidden}.carousel__card[data-active=true]{cursor:default}.carousel__card img{object-fit:cover;filter:saturate(.5)brightness(.72);transition:filter 1.1s var(--ease-in-out)}.carousel__card[data-active=true] img{filter:saturate(.8)brightness()}.whatwedo__captions{text-align:center;justify-items:center;margin-top:40px;display:grid}.whatwedo__caption{opacity:0;max-width:34em;transition:opacity .4s var(--ease-out), transform .6s var(--ease-out);grid-area:1/1;transform:translateY(10px)}.whatwedo__caption[data-active=true]{opacity:1;transition-delay:.45s;transform:none}.whatwedo__caption h3{letter-spacing:-.025em;font-size:clamp(24px,1.95vw,40px);font-weight:600;line-height:1.15}.whatwedo__num{font-variant-numeric:tabular-nums;vertical-align:.3em;margin-right:14px;font-size:15px;font-weight:500}.whatwedo__caption p{margin-top:12px}.whatwedo__time{margin-top:12px;font-size:15px;font-weight:500;display:block}.survey__img{clip-path:inset(0);transition:clip-path 1.3s var(--ease-in-out)}.survey__img img{object-fit:cover;filter:saturate(.6);transition:transform 1.7s var(--ease-out)}.js [data-reveal]:not([data-visible])>.survey__img{clip-path:inset(100% 0 0)}.js [data-reveal]:not([data-visible])>.survey__img img{transform:scale(1.1)}.work{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;row-gap:96px;margin-top:88px;display:grid}.work__img{border-radius:var(--radius);background:var(--hairline);clip-path:inset(0 0 0 0 round var(--radius));transition:clip-path 1.2s var(--ease-in-out);transition-delay:calc(var(--stagger,0) * 80ms);position:relative;overflow:hidden}.work__img img{object-fit:cover;filter:saturate(.78);transition:transform 1.6s var(--ease-out);transition-delay:calc(var(--stagger,0) * 80ms)}.js .work__item:not([data-visible]) .work__img{clip-path:inset(100% 0 0 0 round var(--radius))}.js .work__item:not([data-visible]) .work__img img{transform:scale(1.12)}.work__item figcaption.r{--d:.45s}@media (hover:hover) and (pointer:fine){.work__item[data-visible]:hover .work__img img{transition-delay:0s;transform:scale(1.025)}}.work__item figcaption{color:var(--stone);margin-top:16px;font-size:15px}.work__town{color:var(--slate);font-weight:600}.work__item--1{grid-column:1/span 7}.work__item--1 .work__img{aspect-ratio:4/3}.work__item--2{grid-column:9/span 4;margin-top:200px}.work__item--2 .work__img{aspect-ratio:4/5}.work__item--3{grid-column:1/span 4}.work__item--3 .work__img{aspect-ratio:4/5}.work__item--4{grid-column:6/span 7;margin-top:120px}.work__item--4 .work__img{aspect-ratio:3/2}.work__item--5{grid-column:2/span 6}.work__item--5 .work__img{aspect-ratio:3/2}.work__note{color:var(--stone);grid-column:9/span 4;align-self:end;padding-bottom:44px;font-size:16px}.survey{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;display:grid}.survey__copy{grid-column:1/span 6}.survey .heading{max-width:none}.timeline{margin-top:clamp(48px,4vw,80px);padding-left:52px;position:relative}.timeline:before{content:"";border-left:1px solid var(--slate);transform-origin:top;transition:transform 1.4s var(--ease-in-out);position:absolute;top:10px;bottom:10px;left:5px}.js .timeline:not([data-visible]):before{transform:scaleY(0)}.timeline li{padding-bottom:clamp(36px,3vw,56px);position:relative}.timeline li:last-child{padding-bottom:0}.timeline li.r{--d:calc(var(--i,0) * .28s + .12s)}.timeline li:before{content:"";background:var(--limewash);border:1px solid var(--slate);width:11px;height:11px;position:absolute;top:6px;left:-52px}.timeline__num{color:var(--stone);font-variant-numeric:tabular-nums;font-size:15px;display:block}.timeline h3{letter-spacing:-.025em;margin-top:8px;font-size:clamp(24px,1.8vw,36px);font-weight:600;line-height:1.15}.timeline p{max-width:24em;color:var(--stone);margin-top:10px}.survey__media{margin-right:calc(-1 * var(--margin));flex-direction:column;grid-column:7/-1;display:flex}.survey__img{flex:1;min-height:520px;position:relative;overflow:hidden}.survey__media figcaption{max-width:30em;color:var(--stone);margin-top:16px;font-size:15px}.review blockquote{text-indent:-.42em}.review figcaption{flex-direction:column;font-size:15px;line-height:1.5;display:flex}.review__name{font-weight:600}.review__meta{color:var(--stone)}.reviews__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;margin-top:clamp(56px,5vw,96px);display:grid}.review--lead{grid-column:1/span 7}.review--lead blockquote{letter-spacing:-.03em;font-size:clamp(30px,3vw,60px);font-weight:500;line-height:1.18}.review--lead figcaption{margin-top:36px}.reviews__pair{grid-column:9/-1}.reviews__pair .review{border-top:1px solid var(--hairline);padding-top:32px}.reviews__pair .review+.review{margin-top:48px}.reviews__pair blockquote{letter-spacing:-.015em;font-size:clamp(20px,1.4vw,26px);line-height:1.45}.reviews__pair figcaption{margin-top:24px}.areas{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}.areas .heading{grid-column:1/span 6}.areas__lede{max-width:30em;color:var(--stone);grid-column:8/-1}.towns{columns:2;column-gap:var(--gutter);letter-spacing:-.01em;margin-top:32px;font-size:18px;line-height:1.9;display:none}.towns__more{color:var(--stone)}.area-map{--map-w:100%;--map-left:0%;--map-tx:0%;--map-ty:-50%;margin-top:clamp(56px,5vw,96px)}.area-map__stage{aspect-ratio:3568/1489;background:var(--limewash);border-block:1px solid var(--hairline);transition:opacity 1s var(--ease-out);position:relative;overflow:hidden}.area-map__layer{top:50%;left:var(--map-left);width:var(--map-w);transform:translate(var(--map-tx), var(--map-ty));position:absolute}.area-map__base{mix-blend-mode:multiply;filter:grayscale()invert()brightness(2.6)invert()}.area-map__lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.area-map__ring{fill:none;stroke:var(--slate);stroke-opacity:.4;stroke-width:.06px;stroke-dasharray:.3 .35;transform-box:fill-box;transform-origin:50%;transition:opacity .9s var(--ease-out), transform 1.4s var(--ease-out);transition-delay:calc(var(--i,0) * .16s + .3s)}.area-map__route{stroke:var(--slate);stroke-opacity:.55;stroke-width:.08px;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--ease-in-out);transition-delay:calc(var(--i,0) * 80ms + .5s)}.area-map__ring-label{background:var(--limewash);color:var(--stone);white-space:nowrap;transition:opacity .6s var(--ease-out);transition-delay:calc(var(--i,0) * .16s + .9s);padding:2px 6px;font-size:13px;position:absolute;transform:translate(-50%,-50%)}.area-map__town{background:var(--slate);outline:3px solid var(--limewash);width:11px;height:11px;transition:opacity .4s var(--ease-out), transform .6s var(--ease-out);transition-delay:calc(var(--i,0) * 80ms + 1s);border-radius:50%;margin:-5.5px 0 0 -5.5px;position:absolute}.area-map__label{border-radius:var(--radius);background:var(--limewash);letter-spacing:-.01em;white-space:nowrap;padding:4px 9px;font-size:clamp(14px,1vw,19px);font-weight:500;position:absolute}.area-map__label:before{content:"";background:var(--slate);position:absolute}[data-side=e]>.area-map__label{top:50%;left:calc(100% + 24px);transform:translateY(-50%)}[data-side=e]>.area-map__label:before{width:18px;height:1px;top:50%;right:100%}[data-side=w]>.area-map__label{top:50%;right:calc(100% + 24px);transform:translateY(-50%)}[data-side=w]>.area-map__label:before{width:18px;height:1px;top:50%;left:100%}[data-side=n]>.area-map__label{bottom:calc(100% + 22px);left:50%;transform:translate(-50%)}[data-side=n]>.area-map__label:before{width:1px;height:16px;top:100%;left:50%}[data-side=s]>.area-map__label{top:calc(100% + 22px);left:50%;transform:translate(-50%)}[data-side=s]>.area-map__label:before{width:1px;height:16px;bottom:100%;left:50%}.area-map__yard{background:var(--clay);outline:3px solid var(--limewash);width:16px;height:16px;transition:opacity .5s var(--ease-out), transform .7s var(--ease-out);margin:-8px 0 0 -8px;transition-delay:.25s;position:absolute}.area-map__plate{border-radius:var(--radius);background:var(--slate);color:var(--limewash);white-space:nowrap;text-align:right;flex-direction:column;padding:10px 14px 11px;display:flex;position:absolute;top:calc(100% + 24px);right:50%}.area-map__plate:before{content:"";background:var(--slate);width:1px;height:18px;position:absolute;bottom:100%;right:0}.area-map__plate strong{letter-spacing:-.01em;font-size:clamp(15px,1.05vw,20px);font-weight:600}.area-map__plate span{color:var(--on-slate-2);font-size:13px}.area-map__credit{padding-inline:var(--margin);color:var(--stone);text-align:right;margin-top:10px;font-size:12px}.js .area-map:not([data-visible]) .area-map__stage{opacity:0}.js .area-map:not([data-visible]) .area-map__ring{opacity:0;transform:scale(.85)}.js .area-map:not([data-visible]) .area-map__route{stroke-dashoffset:1px}.js .area-map:not([data-visible]) .area-map__ring-label{opacity:0}.js .area-map:not([data-visible]) .area-map__town,.js .area-map:not([data-visible]) .area-map__yard{opacity:0;transform:scale(.4)}.faqs{column-gap:var(--gutter);margin-top:var(--section);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.faqs__intro{grid-column:1/span 5;align-self:start;position:sticky;top:48px}.faqs__aside{max-width:22em;color:var(--stone);margin-top:28px}.faqs__aside a{color:var(--slate);white-space:nowrap;font-weight:500}.faqs__list{grid-column:7/-1;padding-top:8px}.faq{border-top:1px solid var(--hairline)}.faq__item{border-bottom:1px solid var(--hairline)}.faq__item button{text-align:left;letter-spacing:-.015em;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:28px 0;font-size:20px;font-weight:500;line-height:1.35;display:flex}.faq__mark{flex:none;width:14px;height:14px;position:relative}.faq__mark:before,.faq__mark:after{content:"";width:100%;height:1.5px;transition:transform .25s var(--ease-out);background:currentColor;margin-top:-.75px;position:absolute;top:50%;left:0}.faq__mark:after{transform:rotate(90deg)}.faq__item[data-open=true] .faq__mark:after{transform:rotate(0)}.faq__answer{transition:grid-template-rows .28s var(--ease-out);grid-template-rows:0fr;display:grid}.faq__answer>div{overflow:hidden}.faq__item[data-open=true] .faq__answer{grid-template-rows:1fr}.faq__answer p{max-width:34em;color:var(--stone);opacity:0;transition:opacity .2s var(--ease-out), transform .28s var(--ease-out);padding-bottom:32px;transform:translateY(-4px)}.faq__item[data-open=true] .faq__answer p{opacity:1;transition-delay:60ms;transform:none}.enquire-section{--col:calc((100vw - var(--margin) * 2 - var(--gutter) * 11) / 12);--steps:polygon(0 0, 36% 0, 36% 16%, 60% 16%, 60% 32%, 82% 32%, 82% 48%, 100% 48%, 100% 100%, 0 100%);--steps-flat:polygon(0 100%, 36% 100%, 36% 100%, 60% 100%, 60% 100%, 82% 100%, 82% 100%, 100% 100%, 100% 100%, 0 100%);padding-block:var(--section);position:relative;overflow:hidden}.enquire__media{width:calc(50% - var(--gutter) * 1.5 - var(--col));position:absolute;top:0;bottom:0;left:0}.enquire__img{background:var(--hairline);clip-path:var(--steps);transition:clip-path 1.5s var(--ease-in-out);position:absolute;inset:0}.js .enquire-section:not([data-visible]) .enquire__img{clip-path:var(--steps-flat)}.enquire__img img{object-fit:cover;object-position:50% 40%;filter:saturate(.5)contrast(1.04)}.enquire__plate{bottom:0;left:var(--margin);background:var(--slate);color:var(--limewash);padding:32px 40px 36px;position:absolute}.enquire__plate-label{color:var(--on-slate-2);font-size:15px;display:block}.enquire__phone{letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:6px;font-size:clamp(28px,2.6vw,38px);font-weight:600;line-height:1.1;display:block}.enquire__hours{color:var(--on-slate-2);margin-top:8px;font-size:15px}.enquire{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.enquire__intro{grid-column:7/span 6}.enquire__intro .heading{max-width:12em}.enquire__lede{max-width:26em;color:var(--stone);margin-top:28px}.wizard{grid-column:7/span 6;margin-top:clamp(40px,3.3vw,64px)}.wizard__top{align-items:flex-end;gap:20px;display:flex}.wizard__progress{align-items:flex-end;gap:5px;display:flex}.wizard__progress li{width:22px;height:calc(var(--n) * 7px);background:var(--hairline);position:relative;overflow:hidden}.wizard__progress li:first-child{--n:1}.wizard__progress li:nth-child(2){--n:2}.wizard__progress li:nth-child(3){--n:3}.wizard__progress li:nth-child(4){--n:4}.wizard__progress span{background:var(--slate);transform-origin:bottom;transition:transform .5s var(--ease-in-out), background-color .3s ease;position:absolute;inset:0;transform:scaleY(0)}.wizard__progress [data-state=done] span,.wizard__progress [data-state=current] span{transform:scaleY(1)}.wizard__progress [data-state=current] span{background:var(--clay)}.wizard__where{font-size:15px;font-weight:500;line-height:1}.wizard__where span{color:var(--stone);font-variant-numeric:tabular-nums;margin-right:12px}.wizard__recap{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.wizard__recap button{border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;animation:fade .4s var(--ease-out) both;background:0 0;padding:6px 12px;font-size:14px;transition:border-color .2s}@media (hover:hover) and (pointer:fine){.wizard__recap button:hover{border-color:var(--slate)}}.wizard__panel{animation:step-in .48s var(--ease-out) both;margin-top:36px}.wizard__q{letter-spacing:-.025em;font-size:clamp(24px,1.95vw,36px);font-weight:600;line-height:1.15}.wizard__q:focus{outline:none}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.choice{border:1px solid var(--hairline);border-radius:var(--radius);text-align:left;cursor:pointer;animation:fade-rise .5s var(--ease-out) both;animation-delay:calc(var(--i,0) * 40ms + .12s);transition:border-color .2s ease, background-color .2s ease, color .2s ease, transform .16s var(--ease-out);background:0 0;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.choice:last-child:nth-child(odd){grid-column:1/-1}.choice:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.choice:hover{border-color:var(--slate)}}.choice[aria-pressed=true]{border-color:var(--slate);background:var(--slate);color:var(--limewash)}.choice__label{letter-spacing:-.01em;font-size:clamp(17px,1.2vw,21px);font-weight:500;display:block}.choice__hint{color:var(--stone);margin-top:6px;font-size:14px;line-height:1.45;transition:color .2s;display:block}.choice[aria-pressed=true] .choice__hint{color:var(--on-slate-2)}.choice__mark{border:1px solid;flex:none;width:14px;height:14px;margin-top:5px;position:relative}.choice__mark:after{content:"";transition:transform .2s var(--ease-out);background:currentColor;position:absolute;inset:3px;transform:scale(0)}.choice[aria-pressed=true] .choice__mark:after{transform:scale(1)}.wizard__fields{gap:28px;margin-top:28px;display:grid}.wizard__fields--pair{column-gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr))}.field__msg{min-height:20px;color:var(--clay);margin-top:6px;font-size:14px}.field[data-invalid=true] input{border-bottom-color:var(--clay)}.wizard__nav{justify-content:space-between;align-items:center;gap:24px;margin-top:32px;display:flex}.wizard__nav .textlink{cursor:pointer;background:0 0;border:0;padding:0}.wizard__small{color:var(--stone);margin-top:16px;font-size:14px}.wizard__done h3{letter-spacing:-.03em;font-size:clamp(28px,2.2vw,40px);font-weight:600}.wizard__done h3:focus{outline:none}.wizard__done>p{max-width:28em;color:var(--stone);margin-top:16px}.wizard__done a{color:var(--slate);white-space:nowrap;font-weight:500}.wizard__done dl{border-top:1px solid var(--hairline);margin:32px 0 0}.wizard__done dl div{border-bottom:1px solid var(--hairline);justify-content:space-between;gap:24px;padding:14px 0;font-size:16px;display:flex}.wizard__done dt{color:var(--stone)}.wizard__done dd{text-align:right;margin:0;font-weight:500}.field{flex-direction:column;display:flex;position:relative}.field:before{content:"";border-top:1px solid var(--slate);transform-origin:0;transition:transform .25s var(--ease-out);pointer-events:none;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.field:focus-within:before{transform:scaleX(1)}.field:has(.field__msg):before{bottom:26px}.field--full{grid-column:1/-1}.field label,.field__label{font-size:15px;font-weight:500}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--hairline);appearance:none;background:0 0;border-radius:0;width:100%;padding:12px 0 14px;font-size:18px;line-height:1.4}.field input:focus,.field select:focus,.field textarea:focus{outline:none}.field textarea{resize:vertical;min-height:96px;display:block}.field textarea::placeholder{color:var(--stone);opacity:.7}.field--select{position:relative}.field--select select{cursor:pointer;padding-right:28px}.field--select select:invalid{color:var(--stone)}.field--select:after{content:"";border-right:1.5px solid var(--slate);border-bottom:1.5px solid var(--slate);pointer-events:none;width:7px;height:7px;position:absolute;bottom:24px;right:4px;transform:rotate(45deg)}.upload{border-bottom:1px solid var(--hairline);cursor:pointer;align-items:baseline;gap:20px;margin-top:12px;padding-bottom:14px;display:flex}.upload input{opacity:0;width:1px;height:1px;position:absolute}.upload__btn{text-decoration:underline;-webkit-text-decoration-color:var(--hairline);text-decoration-color:var(--hairline);text-underline-offset:6px;flex:none;font-size:16px;font-weight:500;transition:text-decoration-color .2s}@media (hover:hover) and (pointer:fine){.upload:hover .upload__btn{-webkit-text-decoration-color:var(--slate);text-decoration-color:var(--slate)}}.upload__hint{min-width:0;color:var(--stone);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.footer{background:var(--slate);color:var(--limewash);padding:120px 0 44px}.footer__top{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.footer__brand{grid-column:1/span 5}.footer__brand .wordmark{font-size:24px}.footer__brand p{max-width:22em;color:var(--on-slate-2);margin-top:16px}.footer__col:nth-of-type(2){grid-column:6/span 2}.footer__col:nth-of-type(3){grid-column:8/span 2}.footer__col:nth-of-type(4){grid-column:10/span 3}.footer__col h3{letter-spacing:-.01em;font-size:15px;font-weight:600}.footer__col ul{color:var(--on-slate-2);gap:10px;margin-top:20px;font-size:15px;line-height:1.5;display:grid}.footer__col a{transition:color .25s var(--ease-out)}.footer__col a:hover{color:var(--limewash)}.footer__bottom{border-top:1px solid var(--on-slate-rule);color:var(--on-slate-2);justify-content:space-between;gap:24px;margin-top:120px;padding-top:28px;font-size:14px;display:flex}.js .r{transition:opacity .7s var(--ease-out), transform .9s var(--ease-out);transition-delay:calc(var(--stagger,0) * 80ms + var(--i,0) * 70ms + var(--d,0s))}.js [data-reveal]:not([data-visible]) .r,.js .r[data-reveal]:not([data-visible]){opacity:0;transform:translateY(24px)}.w{display:inline-block}.js .w{transition:opacity .6s var(--ease-out), transform .8s var(--ease-out);transition-delay:calc(var(--stagger,0) * 80ms + var(--w,0) * 55ms)}.js [data-reveal]:not([data-visible]) .w{opacity:0;transform:translateY(.4em)}.js .words [data-word]{opacity:.18}@keyframes line-rise{0%{transform:translateY(105%)}}@keyframes fade-rise{0%{opacity:0;transform:translateY(16px)}}@keyframes step-in{0%{opacity:0;transform:translateX(calc(var(--dir,1) * 32px))}}@keyframes fade{0%{opacity:0}}@keyframes roof-rise{0%{clip-path:var(--roof-flat)}}@keyframes settle{0%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.js .words [data-word]{opacity:1!important}}@media (max-width:1240px){.nav__links{gap:28px}.nav__actions{gap:20px}}@media (max-width:1080px){.nav__phone{display:none}.corners__bars{column-gap:calc(var(--gutter) * 1.5)}.corners__bar{padding:20px 16px}}@media (max-width:900px){:root{--margin:20px;--section:96px;--nav-h:64px}body{font-size:17px}.heading{font-size:clamp(36px,10vw,44px);line-height:1.04}.nav__links,.nav__actions{display:none}.nav__inner{grid-template-columns:1fr auto}.wordmark{font-size:17px}.nav__mobile{align-items:center;gap:20px;display:flex}.nav__call,.nav__toggle{font-size:15px;font-weight:500}.nav__toggle{cursor:pointer;text-align:right;background:0 0;border:0;min-width:44px;height:44px;padding:0}.menu{top:var(--nav-h);height:calc(100svh - var(--nav-h));padding:12px var(--margin) 32px;background:var(--limewash);opacity:0;visibility:hidden;transition:opacity .3s var(--ease-out), transform .4s var(--ease-out), visibility 0s linear .4s;flex-direction:column;justify-content:space-between;display:flex;position:fixed;left:0;right:0;transform:translateY(-8px)}.menu[data-open=true]{opacity:1;visibility:visible;transition:opacity .3s var(--ease-out), transform .4s var(--ease-out), visibility 0s;transform:none}.menu__links{flex-direction:column;display:flex}.menu__links a{border-bottom:1px solid var(--hairline);letter-spacing:-.03em;padding:18px 0;font-size:30px;font-weight:600;line-height:1.1}.menu__foot{flex-direction:column;gap:16px;display:flex}.menu__links a,.menu__foot{opacity:0;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);transform:translateY(12px)}.menu[data-open=true] .menu__links a,.menu[data-open=true] .menu__foot{opacity:1;transition-duration:.4s;transition-delay:calc(var(--i,0) * 50ms + 60ms);transform:none}.menu__phone{letter-spacing:-.02em;margin-top:8px;font-size:24px;font-weight:600}.menu__hours{color:var(--stone);margin-top:-12px;font-size:15px}.hero{min-height:0;display:block}.hero__grid{padding-block:56px 48px;display:block}.hero__caps{font-size:clamp(40px,11.6vw,56px)}.hero__serif{font-size:clamp(46px,13.2vw,64px)}.hero__sub{margin-top:24px;font-size:17px}.hero__ctas{flex-direction:column;align-items:stretch;gap:20px;margin-top:32px}.hero__ctas .textlink{align-self:flex-start}.hero__media{height:440px;margin-left:var(--margin);--roof:polygon(0 100%, 0 58%, 26% 58%, 26% 38%, 52% 38%, 52% 18%, 78% 18%, 78% 0, 100% 0, 100% 100%);--roof-flat:polygon(0 100%, 0 100%, 26% 100%, 26% 100%, 52% 100%, 52% 100%, 78% 100%, 78% 100%, 100% 100%, 100% 100%);position:relative;inset:auto}.setup{text-align:left;padding-block:104px}.setup__statement{font-size:30px;line-height:1.18}.setup__note{margin-top:24px}.rebuild__content{width:100%;padding:28px var(--margin) 36px}.rebuild__tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.rebuild__tabs button{text-align:left;flex-direction:column;gap:2px;font-size:14px;line-height:1.25}.rebuild__num{font-size:13px}.rebuild__bodies{margin-top:24px}.rebuild__bodies p{font-size:21px;line-height:1.32}.corners{padding-bottom:var(--section)}.corners__inner{min-height:0;display:block}.corners__bars{margin-top:48px;display:block}.corners__bar,.corners__bar--1,.corners__bar--2,.corners__bar--3{height:auto;color:var(--slate);border-top:1px solid var(--hairline);background:0 0;grid-template-columns:40px 1fr;align-items:end;column-gap:20px;padding:20px 0;display:grid}.corners__bar:before{content:"";width:40px;height:var(--swatch-h);background:var(--bar-bg)}.corners__bar--1{--swatch-h:32px}.corners__bar--2{--swatch-h:52px}.corners__bar--3{--swatch-h:72px}.corners__bar--4{--swatch-h:92px}.corners__bar p{opacity:1;color:var(--stone)}.corners__foot{margin-top:32px;padding-bottom:0}.whatwedo{--card-w:66vw;padding:80px 0 88px}.whatwedo__head{flex-wrap:wrap}.carousel{margin-top:40px}.whatwedo__captions{margin-top:28px}.whatwedo__caption h3{font-size:22px}.work{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:48px;margin-top:56px}.work__item--1,.work__item--4{grid-column:1/-1;margin-top:0}.work__item--2{grid-column:2/-1;margin-top:0}.work__item--3{grid-column:1/span 5}.work__item--5{grid-column:1/-1}.work__note{grid-column:1/-1;padding-bottom:0}.survey{display:block}.timeline{margin-top:40px;padding-left:40px}.timeline li:before{left:-40px}.timeline li{padding-bottom:36px}.timeline h3{font-size:22px}.survey__media{margin-top:56px;margin-right:calc(-1 * var(--margin))}.survey__img{aspect-ratio:4/5;flex:none;min-height:0}.reviews__grid{margin-top:48px;display:block}.review--lead blockquote{font-size:28px;line-height:1.22}.review--lead figcaption{margin-top:24px}.reviews__pair{margin-top:56px}.reviews__pair .review+.review{margin-top:40px}.reviews__pair blockquote{font-size:20px}.areas{display:block}.areas__lede{margin-top:24px}.area-map{--map-w:400%;--map-left:50%;--map-tx:-63.6%;--map-ty:-50.95%;margin-top:40px}.area-map__stage{aspect-ratio:auto;height:540px}.area-map__ring-label{display:none}.area-map__label,.area-map__plate strong{font-size:14px}.area-map__credit{text-align:left}.towns,.faqs{display:block}.faqs__intro{position:static}.faqs__list{margin-top:32px;padding-top:0}.faq__item button{padding:24px 0;font-size:18px}.enquire-section{padding-top:0}.enquire__media{width:100%;height:440px;position:relative}.enquire__plate{left:var(--margin);padding:22px 24px 26px}.enquire{padding-top:64px;display:block}.enquire__phone{font-size:28px}.wizard{margin-top:40px}.choices,.wizard__fields--pair{grid-template-columns:1fr}.choice{padding:16px 18px}.footer{padding-top:88px}.footer__top{grid-template-columns:1fr 1fr;row-gap:48px}.footer__brand,.footer__col:nth-of-type(4){grid-column:1/-1}.footer__col:nth-of-type(2),.footer__col:nth-of-type(3){grid-column:span 1}.footer__bottom{flex-direction:column;gap:6px;margin-top:72px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__line>span,.hero__media,.hero__media img{animation:none}.hero__copy,.hero__media{animation:.5s both fade}.hero__sub,.hero__ctas,.wizard__panel,.choice{animation-name:fade}.js [data-reveal]:not([data-visible]) .r,.js .r[data-reveal]:not([data-visible]),.js .work__item:not([data-visible]) .work__img img,.rebuild__canvas,.rebuild__bodies p,.faq__answer p,.menu,.menu__links a,.menu__foot{transform:none}.js .work__item:not([data-visible]) .work__img{clip-path:inset(0 0 0 0 round var(--radius));opacity:0}.work__img{transition:opacity .5s}.section--rule:before,.timeline:before,.area-map__ring,.area-map__route{transition:none}.js .section--rule:not([data-visible]):before{transform:translate(-50%)}.js .timeline:not([data-visible]):before,.js .area-map:not([data-visible]) .area-map__ring,.js .area-map:not([data-visible]) .area-map__town,.js .area-map:not([data-visible]) .area-map__yard,.js [data-reveal]:not([data-visible]) .w,.js .carousel:not([data-visible]){transform:none}.js .area-map:not([data-visible]) .area-map__route{stroke-dashoffset:0}.corners__bar,.survey__img,.enquire__img{transition:opacity .5s}.js .corners__bars:not([data-visible]) .corners__bar,.js [data-reveal]:not([data-visible])>.survey__img{clip-path:inset(0);opacity:0}.js [data-reveal]:not([data-visible])>.survey__img img,.js .corners__bars:not([data-visible]) .corners__text{transform:none}.js .enquire-section:not([data-visible]) .enquire__img{clip-path:var(--steps);opacity:0}.carousel__card{transition:none}.btn:active{transform:none}}
