@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");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}:root{--color-action-blue:#b45d3c;--color-action-blue-focus:#c87452;--color-paper:#f2efe5;--color-paper-bright:#faf8f1;--color-paper-muted:#e5e2d8;--color-ink:#111;--color-ink-muted:#565650;--color-dark:#1b1b1a;--color-on-dark:#faf8f1;--color-on-dark-muted:#d6d3c9;--color-hairline:#11111138;--font-sans:"Geist Variable", Geist, Arial, Helvetica, system-ui, sans-serif;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-pill:9999px;--content-max:1440px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-paper);scroll-padding-top:88px}body{color:var(--color-ink);background:var(--color-paper);font-family:var(--font-sans);letter-spacing:-.035em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.45}body,button,input,select,textarea{font-family:var(--font-sans)}a{color:inherit}button,input,select,textarea{font-size:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-action-blue-focus);outline-offset:4px}img,video{max-width:100%;display:block}p,h1,h2,h3,blockquote,figure{text-wrap:pretty}.utility-screen-reader-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.layout-container{width:min(100%, var(--content-max));margin-inline:auto;padding-inline:clamp(20px,4vw,64px)}.layout-scroll-story{z-index:1;position:relative}.component-site-header{z-index:20;width:100%;color:var(--color-ink);backdrop-filter:blur(14px);background:#f2efe5c7;position:fixed;top:0}.component-site-header__inner{justify-content:space-between;align-items:center;min-height:82px;display:flex}.component-site-header__brand{color:var(--color-ink);align-items:center;text-decoration:none;display:inline-flex}.component-site-header__logo{width:184px;height:auto;display:block}.component-site-header__list{gap:clamp(20px,3.3vw,58px);margin:0;padding:0;list-style:none;display:flex}.component-site-header__link{color:var(--color-ink);letter-spacing:-.055em;padding:31px 0 29px;font-size:clamp(14px,1.5vw,18px);font-weight:500;text-decoration:none;transition:color .16s;display:block;position:relative}.component-site-header__link:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:21px;left:0;right:0;transform:scaleX(0)}.component-site-header__link:hover,.component-site-header__link[aria-current=page]{color:var(--color-action-blue)}.component-site-header__link:hover:after,.component-site-header__link[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.component-site-header__menu-toggle,.component-site-header__menu-icon--close{display:none}section{scroll-margin-top:88px}.component-roof-build-canvas,.component-roof-build-canvas__poster,.component-roof-build-canvas__video,.component-roof-build-canvas__scrim,.component-roof-build-canvas__fade{width:100%;height:100%;position:fixed;inset:0}.component-roof-build-canvas{z-index:0;pointer-events:none;background:var(--color-paper-muted);overflow:hidden}.component-roof-build-canvas__poster,.component-roof-build-canvas__video{object-fit:cover;filter:saturate(.62)contrast(1.05);object-position:72% 50%}.component-roof-build-canvas__poster{opacity:.7}.component-roof-build-canvas__video{opacity:0;transition:opacity .5s}.component-roof-build-canvas.state-video-ready .component-roof-build-canvas__video{opacity:1}.component-roof-build-canvas.state-video-ready .component-roof-build-canvas__poster{opacity:.04}.component-roof-build-canvas__scrim{background:#f2efe524}.component-roof-build-canvas__fade{background:linear-gradient(90deg,#f2efe594 0%,#f2efe561 19%,#f2efe51f 42%,#f2efe500 72%),linear-gradient(#f2efe500 18%,#f2efe51f 52%,#f2efe561 82%,#f2efe5a3 100%)}.section-hero{min-height:100svh;color:var(--color-ink);position:relative;overflow:hidden}.section-hero__background{z-index:0;object-fit:cover;object-position:72% 50%;filter:saturate(.78)contrast(1.04);width:100%;height:100%;position:absolute;inset:0}.section-hero:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#f2efe500 0%,#f2efe5b3 28%,#f2efe5f5 52%,#f2efe5fa 100%);height:clamp(520px,72vh,820px);position:absolute;bottom:-12svh;left:0;right:0}.section-hero__inner{z-index:2;text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:clamp(16px,2vw,32px);min-height:100svh;padding-bottom:0;display:flex;position:relative}.section-hero__primary{max-width:860px;margin-top:auto;transform:translateY(-10svh)}.section-hero__eyebrow,.component-section-heading__eyebrow,.section-not-found__eyebrow{color:var(--color-ink);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;font-size:11px;font-weight:700;line-height:1.2}.section-hero__eyebrow span{color:var(--color-action-blue);padding-inline:5px}.section-hero__title{letter-spacing:-.09em;text-wrap:balance;max-width:800px;margin:0;font-size:clamp(52px,6.5vw,104px);font-weight:500;line-height:.92}.section-hero__subtitle{max-width:520px;color:var(--color-ink);opacity:.82;margin:18px 0 0;font-size:clamp(16px,1.5vw,20px);line-height:1.45}.section-hero__actions,.section-not-found__actions{flex-wrap:wrap;justify-content:flex-start;gap:10px;margin-top:24px;display:flex}.section-hero__trust-note{color:var(--color-ink-muted);letter-spacing:.1em;text-transform:uppercase;margin:22px 0 0;font-size:11px;font-weight:700}.section-hero__trust-note span{color:var(--color-action-blue);padding-inline:7px}.section-hero__service-line{backdrop-filter:blur(8px);background:#faf8f18c;grid-template-columns:repeat(3,1fr);width:100%;display:grid;transform:translateY(-4svh);box-shadow:0 18px 28px #f2efe557}.section-hero__service-line span{letter-spacing:.12em;text-align:center;text-transform:uppercase;padding:15px 0;font-size:11px;font-weight:700}.section-hero__scroll-note{z-index:2;color:var(--color-ink);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700;position:absolute;bottom:28px;right:clamp(20px,4vw,64px)}.section-hero__scroll-note span{color:var(--color-action-blue);margin-left:8px;font-size:16px}.component-button{border:1px solid var(--color-ink);border-radius:var(--radius-pill);letter-spacing:-.02em;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:11px 18px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:transform .16s,background-color .16s,color .16s;display:inline-flex}.component-button:hover{transform:translateY(-2px)}.component-button:active{transform:scale(.97)}.component-button--primary{color:#fff;border-color:var(--color-action-blue);background:var(--color-action-blue)}.component-button--primary:hover{color:#fff;background:var(--color-ink);border-color:var(--color-ink)}.component-button--secondary{color:var(--color-ink);background:#faf8f199}.component-button--secondary:hover{color:#fff;background:var(--color-ink)}.component-button__icon{font-size:16px;transition:transform .16s;display:inline-flex}.component-button:hover .component-button__icon{transform:translate(2px)}.component-section-heading{max-width:620px}.component-section-heading__title{letter-spacing:-.075em;text-wrap:balance;margin:0;font-size:clamp(37px,4.6vw,66px);font-weight:500;line-height:.98}.component-section-heading__intro{max-width:480px;color:var(--color-ink-muted);margin:20px 0 0;font-size:17px;line-height:1.48}.component-section-heading--dark .component-section-heading__eyebrow,.component-section-heading--dark .component-section-heading__intro{color:inherit}.component-chapter{position:relative}.component-chapter__stage{background:var(--color-paper-muted);position:relative;overflow:hidden}.component-chapter__poster{object-fit:cover;object-position:72% 50%;filter:saturate(.62)contrast(1.05);width:100%;height:clamp(320px,58vh,640px);display:block}.component-chapter__atmosphere{display:none}.component-chapter__panels{gap:clamp(44px,6vw,84px);padding:clamp(44px,6vw,84px) clamp(20px,4vw,64px);display:grid}.component-chapter__panel{margin:0}.component-chapter__eyebrow{color:var(--color-ink);letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:700;line-height:1.2}.component-chapter__eyebrow span{color:var(--color-action-blue);padding-inline:5px}.component-chapter__eyebrow--accent{color:var(--color-action-blue)}.component-chapter__title{max-width:620px;color:var(--color-ink);letter-spacing:-.09em;text-wrap:balance;margin:0;font-size:clamp(42px,5.6vw,88px);font-weight:500;line-height:.94}.component-chapter__panel-title{max-width:560px;color:var(--color-ink);letter-spacing:-.07em;text-wrap:balance;margin:0;font-size:clamp(30px,3.4vw,52px);font-weight:500;line-height:1}.component-chapter__panel-text{max-width:470px;color:var(--color-ink-muted);margin:20px 0 0;font-size:clamp(16px,1.5vw,19px);line-height:1.5}.component-chapter__panel-text--lead{max-width:560px;color:var(--color-ink);letter-spacing:-.03em;font-size:clamp(20px,2.2vw,30px);line-height:1.35}.component-review__mark{color:var(--color-action-blue);font-family:Georgia,serif;font-size:58px;line-height:.64}.component-review__quote{max-width:560px;color:var(--color-ink);letter-spacing:-.035em;margin:26px 0 30px;font-size:clamp(20px,2.2vw,30px);line-height:1.3}.component-review__footer{color:var(--color-ink-muted);gap:3px;font-size:14px;display:grid}.component-review__footer strong{color:var(--color-ink);font-weight:700}.component-service__meta{align-items:center;gap:14px;margin-bottom:34px;display:flex}.component-service__number{color:var(--color-action-blue);letter-spacing:.08em;font-size:13px;font-weight:700}.component-service__icon{border:1px solid var(--color-hairline);width:40px;height:40px;color:var(--color-ink);border-radius:50%;place-items:center;display:grid}.component-service__link{color:var(--color-action-blue);align-items:center;gap:8px;margin-top:30px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.component-service__link span{transition:transform .16s}.component-service__link:hover span{transform:translate(3px)}.component-chapter__panel--wide{align-items:center;gap:clamp(24px,4vw,72px);width:100%;max-width:none;display:grid}.component-chapter__visual img{object-fit:cover;filter:saturate(.8)contrast(1.04);width:100%;height:clamp(260px,46vh,520px);mask-image:radial-gradient(115% 115% at 55%,#000 58%,#0000 94%)}.component-blog__status{color:var(--color-ink-muted);margin:28px 0 0;font-size:13px}@media (width>=834px){.component-chapter__panel--wide{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}.component-chapter.state-chapter-active{height:400svh}.component-chapter.state-chapter-active .component-chapter__stage{background:0 0;height:100svh;position:sticky;top:0}.component-chapter.state-chapter-active .component-chapter__poster{display:none}.component-chapter.state-chapter-active .component-chapter__atmosphere{pointer-events:none;background:linear-gradient(90deg,#f2efe5b8 0%,#f2efe57a 18%,#f2efe52e 42%,#f2efe50a 68%,#f2efe500 88%);display:block;position:absolute;inset:0}.component-chapter.state-chapter-active .component-chapter__panels{align-items:center;gap:0;padding:0 clamp(20px,4vw,64px);display:grid;position:absolute;inset:0}.component-chapter.state-chapter-active .component-chapter__panel{grid-area:1/1;max-width:680px}html.state-chapter-motion-ready .component-chapter__poster{display:none}html.state-performance-constrained .component-site-header,html.state-performance-constrained .section-hero__service-line,html.state-performance-constrained .component-contact-form,html.state-performance-constrained .component-site-footer{backdrop-filter:none}html.state-performance-constrained .component-roof-build-canvas__poster,html.state-performance-constrained .component-roof-build-canvas__video,html.state-performance-constrained .component-chapter__poster,html.state-performance-constrained .component-chapter__visual img{filter:none}html.state-performance-constrained .component-chapter__visual img{mask-image:none}.component-text-link{color:var(--color-action-blue);align-items:center;gap:10px;margin-top:32px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.component-text-link svg{transition:transform .16s}.component-text-link:hover svg{transform:translate(3px)}.section-contact{padding-block:clamp(64px,9vw,140px);position:relative}.section-contact:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#f2efe58c 0%,#f2efe5eb 25%,#f2efe5fa 60%);position:absolute;inset:0}.section-contact__layout{z-index:2;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(48px,8vw,120px);display:grid;position:relative}.section-contact__title{letter-spacing:-.09em;text-wrap:balance;max-width:430px;margin:0;font-size:clamp(42px,5.2vw,72px);font-weight:500;line-height:.93}.section-contact__description{max-width:380px;color:var(--color-ink-muted);margin:22px 0 0;font-size:18px}.section-contact__email{color:var(--color-action-blue);margin-top:30px;font-size:16px;font-weight:700;text-decoration:none;display:inline-block}.section-contact__email:hover{text-underline-offset:4px;text-decoration:underline}.component-contact-form{backdrop-filter:blur(14px);background:#faf8f1b8;border-radius:24px;padding:clamp(24px,3.7vw,48px)}.component-contact-form__eyebrow{margin:0 0 var(--space-2);color:var(--color-action-blue);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.component-contact-form__title{letter-spacing:-.06em;margin:0;font-size:clamp(26px,2.4vw,34px);font-weight:500}.component-contact-form__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin-top:38px;display:grid}.component-contact-form__field{gap:8px;font-size:13px;font-weight:700;display:grid}.component-contact-form__field small{color:var(--color-ink-muted);font-weight:400}.component-contact-form__field--full{grid-column:1/-1}.component-contact-form input,.component-contact-form select,.component-contact-form textarea{width:100%;color:var(--color-ink);border:0;border-bottom:1px solid var(--color-hairline);background:0 0;border-radius:0;outline:0;padding:12px 0;transition:border-color .16s}.component-contact-form textarea{resize:vertical}.component-contact-form input:focus,.component-contact-form select:focus,.component-contact-form textarea:focus{border-color:var(--color-action-blue)}.component-contact-form__actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:38px;display:flex}.component-contact-form__fallback,.component-contact-form__status{color:var(--color-ink-muted);margin:0;font-size:13px}.component-contact-form__fallback a{color:var(--color-action-blue)}.component-contact-form__status{min-height:21px;color:var(--color-action-blue);margin-top:16px}.component-site-footer{z-index:1;color:var(--color-ink-muted);backdrop-filter:blur(10px);background:linear-gradient(#f2efe500 0%,#f2efe5eb 30%);padding-block:72px 24px;position:relative}.component-site-footer__inner{grid-template-columns:1.25fr 1fr 1fr;align-items:start;gap:32px;display:grid}.component-site-footer__brand{width:184px;height:auto;margin:0;display:block}.component-site-footer__note,.component-site-footer__contact{margin:9px 0 0;font-size:14px}.component-site-footer__contact{gap:5px;display:grid}.component-site-footer__contact a,.component-site-footer__navigation a{color:var(--color-ink);text-decoration:none}.component-site-footer__contact a:hover,.component-site-footer__navigation a:hover{color:var(--color-action-blue)}.component-site-footer__navigation{grid-template-columns:repeat(2,1fr);gap:10px 16px;font-size:14px;display:grid}.component-site-footer__legal{color:var(--color-ink-muted);justify-content:space-between;gap:20px;margin-top:48px;padding-top:28px;font-size:12px;display:flex}.section-not-found{min-height:100svh;color:var(--color-ink);background:var(--color-paper);place-items:center;display:grid}.section-not-found__content{text-align:center;max-width:760px;padding-top:82px}.section-not-found__eyebrow{color:var(--color-action-blue)}.section-not-found__title{letter-spacing:-.09em;margin:0;font-size:clamp(52px,8vw,96px);font-weight:500;line-height:.92}.section-not-found__description{max-width:540px;color:var(--color-ink-muted);margin:26px auto 0;font-size:19px}@media (width<=1068px){.section-contact__layout{grid-template-columns:1fr;gap:48px}.component-chapter__panel--wide{grid-template-columns:1fr}}@media (width<=833px){.component-site-header,.section-hero__service-line,.component-contact-form,.component-site-footer{backdrop-filter:none}.component-roof-build-canvas__scrim{background:0 0}.component-roof-build-canvas__fade,.component-chapter.state-chapter-active .component-chapter__atmosphere{display:none}.component-chapter.state-chapter-active .component-chapter__panel{z-index:0;color:#fff;text-shadow:0 1px 12px #00000047;margin-inline:-24px;padding:20px 24px 24px;position:relative}.component-chapter.state-chapter-active .component-chapter__panel:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(90deg,#111111c7 0%,#11111180 48%,#1110 100%);position:absolute;inset:-50svh -30vw}.component-chapter.state-chapter-active .component-chapter__eyebrow,.component-chapter.state-chapter-active .component-chapter__title,.component-chapter.state-chapter-active .component-chapter__panel-title,.component-chapter.state-chapter-active .component-chapter__panel-text,.component-chapter.state-chapter-active .component-review__quote,.component-chapter.state-chapter-active .component-review__footer,.component-chapter.state-chapter-active .component-review__footer strong,.component-chapter.state-chapter-active .component-blog__status,.component-chapter.state-chapter-active .component-section-heading__eyebrow,.component-chapter.state-chapter-active .component-section-heading__intro{color:inherit}.component-chapter.state-chapter-active .component-service__icon{color:inherit;border-color:#ffffff80}.component-roof-build-canvas__poster,.component-roof-build-canvas__video,.component-chapter__poster,.component-chapter__visual img{filter:none}.component-chapter__visual img{mask-image:none}.component-roof-build-canvas__poster,.component-roof-build-canvas__video{object-position:60% 45%}.section-hero__background{object-position:62% 45%}.component-site-header__inner{min-height:64px}.component-site-header__logo{width:148px}.component-site-header__menu-toggle{width:44px;height:44px;color:var(--color-ink);background:0 0;border:0;place-items:center;padding:0;display:grid}.component-site-header__menu-icon--close,.component-site-header[data-menu-open=true] .component-site-header__menu-icon--open{display:none}.component-site-header[data-menu-open=true] .component-site-header__menu-icon--close{display:block}.component-site-header__navigation{visibility:hidden;opacity:0;pointer-events:none;background:#f2efe5f7;max-height:0;transition:max-height .24s,opacity .18s,visibility .18s;position:absolute;top:64px;left:0;right:0;overflow:hidden}.component-site-header[data-menu-open=true] .component-site-header__navigation{visibility:visible;opacity:1;pointer-events:auto;max-height:390px}.component-site-header__list{gap:0;padding:6px 20px 20px;display:grid}.component-site-header__link{padding:16px 0;font-size:18px}.component-site-header__link:after{display:none}section{scroll-margin-top:72px}.component-site-footer__inner{grid-template-columns:repeat(2,1fr);display:grid}.component-site-footer__navigation{grid-column:1/-1}}@media (width<=640px){.layout-container{padding-inline:16px}.section-hero__primary{transform:translateY(-6svh)}.section-hero__inner{text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:14px;padding-bottom:0;display:flex}.section-hero__title{font-size:clamp(40px,12vw,64px)}.section-hero__actions{margin-top:18px}.section-hero__subtitle{margin-top:24px;font-size:17px}.section-hero__actions{flex-direction:column}.section-hero__actions .component-button{width:100%}.section-hero__service-line{flex:none}.section-hero__scroll-note{display:none}.component-section-heading__title{font-size:38px}.component-chapter__panels{padding:48px 16px}.component-chapter__title{font-size:clamp(40px,12vw,58px)}.component-contact-form__fields{grid-template-columns:1fr}.component-contact-form__field--full{grid-column:auto}.component-contact-form__actions{flex-direction:column;align-items:stretch}.component-contact-form__actions .component-button{width:100%}.component-site-footer__inner{grid-template-columns:1fr}.component-site-footer__navigation{grid-column:auto}.component-site-footer__legal{flex-direction:column;gap:6px}}@media (height<=820px){.section-hero__title{font-size:clamp(40px,5.6vw,84px)}.section-hero__subtitle{margin-top:14px}.section-hero__actions{margin-top:18px}.section-hero__service-line span{padding:10px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
