@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/2e482247ef29dcb9-s.0z23a3hpu8ttr.woff2)format("woff2");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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/068feab4deafcd0f-s.02aqyp7acl16b.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/db545dba463279ae-s.p.14a9xpaqsbppk.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:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.iX1fDW_className{font-family:Archivo,Archivo Fallback;font-style:normal}.iX1fDW_variable{--font-archivo:"Archivo", "Archivo Fallback"}
@font-face{font-family:Yeseva One;font-style:normal;font-weight:400;font-display:swap;src:url(../media/57b2bbce874f9d86-s.2ck8ox0qrysu4.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Yeseva One;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a3bb0bf1b5c922b5-s.0y3klgxaw2tk2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Yeseva One;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ade52284deeaa85e-s.1-edfsd0u9ar-.woff2)format("woff2");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:Yeseva One;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a0065da4879b9a15-s.2cbtr-f04zedx.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Yeseva One;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f0235ff28260a036-s.p.1hbp3bcesc-00.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:Yeseva One Fallback;src:local(Arial);ascent-override:79.67%;descent-override:20.9%;line-gap-override:0.0%;size-adjust:114.85%}.sRcOeW_className{font-family:Yeseva One,Yeseva One Fallback;font-style:normal;font-weight:400}.sRcOeW_variable{--font-yeseva:"Yeseva One", "Yeseva One Fallback"}
:root{--navy-50:#f2f5fe;--navy-100:#e2e7f9;--navy-200:#c7d0ef;--navy-300:#a3afde;--navy-400:#7987c9;--navy-500:#5361b0;--navy-600:#3a4598;--navy-700:#2b337d;--navy-800:#1f2561;--navy-900:#151a48;--navy-950:#0d1031;--copper-50:#fff2e8;--copper-100:#fbe3d2;--copper-200:#f3cbae;--copper-300:#e4ad84;--copper-400:#d19261;--copper-500:#c1804c;--copper-600:#a36737;--copper-700:#865227;--copper-800:#683f1d;--copper-900:#4c2d13;--copper-950:#321c0a;--ink-50:#f9fafc;--ink-100:#f1f2f6;--ink-200:#e0e1e6;--ink-300:#c8cad1;--ink-400:#9c9ea5;--ink-500:#787a82;--ink-600:#585a64;--ink-700:#3f424c;--ink-800:#2b2d37;--ink-900:#1b1e28;--ink-950:#10121c;--bg:#fff;--surface:var(--ink-100);--raised:#fff;--field:var(--navy-900);--field-deep:var(--navy-950);--text:var(--ink-950);--heading:var(--navy-900);--muted:var(--ink-600);--muted-on-dark:var(--navy-200);--line:var(--ink-200);--line-input:var(--ink-500);--line-on-dark:var(--navy-700);--accent-text:var(--copper-700);--accent-on-dark:var(--copper-300);--action:var(--copper-400);--action-hover:var(--copper-300);--action-label:var(--navy-950);--roof:var(--copper-500);--roof-on-dark:var(--copper-400);--focus:var(--navy-600);--focus-on-dark:var(--copper-300);--error:#af2b25;--success:#2b7440;--font-sans:var(--font-archivo), "Helvetica Neue", Arial, system-ui, sans-serif;--font-mark:var(--font-yeseva), Georgia, serif;--fs-display:clamp(2.75rem, 1.6rem + 4.6vw, 5.5rem);--fs-figure:clamp(3rem, 1.4rem + 6.4vw, 6.75rem);--fs-h2:clamp(2rem, 1.35rem + 2.6vw, 3.5rem);--fs-h3:clamp(1.375rem, 1.15rem + .9vw, 1.875rem);--fs-h4:1.1875rem;--fs-lead:clamp(1.1875rem, 1.1rem + .4vw, 1.4375rem);--fs-body:clamp(1.0625rem, 1.03rem + .15vw, 1.125rem);--fs-small:.9375rem;--fs-label:.875rem;--fs-quote:clamp(1.75rem, 1.2rem + 2.2vw, 3rem);--condensed:87%;--wide:112%;--s-1:6px;--s-2:12px;--s-3:18px;--s-4:24px;--s-5:36px;--s-6:48px;--s-7:72px;--s-8:96px;--section:clamp(72px, 8vw, 132px);--gutter:clamp(16px, 4vw, 48px);--max:1280px;--edge:max(var(--gutter), calc((100vw - var(--max)) / 2));--header-h:120px;--radius-sm:4px;--radius-md:8px;--stroke:2px;--shadow-layer:0 12px 32px #0d10312e, 0 2px 6px #0d10311f;--dur-fast:.18s;--dur-base:.35s;--dur-slow:.7s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--travel-sm:12px;--travel-md:20px;--travel-lg:32px}@media (min-width:768px){:root{--header-h:76px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-h)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;font-stretch:100%;line-height:1.6;overflow-x:clip}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4{color:var(--heading);text-wrap:balance}p,li,dd{text-wrap:pretty}img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}address{font-style:normal}::selection{background:var(--copper-200);color:var(--navy-950)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.hero :focus-visible,.case :focus-visible,.quote-card :focus-visible,.site-footer :focus-visible{outline-color:var(--focus-on-dark)}main:focus{outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;left:var(--s-2);top:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--radius-sm);background:var(--navy-900);color:#fff;font-weight:600;text-decoration:none;position:fixed;translate:0 -200%}.skip-link:focus{outline-color:var(--focus-on-dark);translate:none}.h2{font-size:var(--fs-h2);letter-spacing:-.02em;font-weight:800;line-height:1.05;font-stretch:var(--condensed)}.h3{font-size:var(--fs-h3);letter-spacing:-.01em;font-weight:600;line-height:1.15}.h4{font-size:var(--fs-h4);font-weight:600;line-height:1.25}.h2 em,.hero__title em,.pullquote em{color:var(--accent-text);font-style:normal}.lead{font-size:var(--fs-lead);line-height:1.5}.eyebrow{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);color:var(--accent-text);font-size:var(--fs-label);font-weight:600;line-height:1.3;font-stretch:var(--wide);letter-spacing:.08em;text-transform:uppercase;display:flex}.eyebrow .peak{color:var(--roof);flex:none}.eyebrow--on-dark{color:var(--accent-on-dark)}.eyebrow--on-dark .peak{color:var(--roof-on-dark)}.text-link,.link-on-dark{align-items:center;gap:var(--s-1);color:var(--accent-text);transition:background-size var(--dur-base) var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/0% 2px no-repeat;font-weight:600;text-decoration:none;display:inline-flex}.text-link{min-height:44px}.link-on-dark{color:var(--accent-on-dark)}.text-link:hover,.link-on-dark:hover{background-size:100% 2px}.text-link svg,.link-on-dark svg{flex:none}.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.section--alt{background:var(--surface)}section[id]{scroll-margin-top:var(--header-h)}@media (min-width:1024px){.grid-12{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}}.btn{min-height:48px;padding:var(--s-2) 22px;border-radius:var(--radius-sm);text-align:center;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), translate var(--dur-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{translate:0 -2px}.btn svg{flex:none}.btn--primary{background:var(--action);color:var(--action-label)}.btn--primary:hover{background:var(--action-hover)}.btn--on-light{border-color:var(--copper-600)}.btn--on-dark{border-color:var(--copper-400)}.btn--secondary{border:var(--stroke) solid var(--navy-900);color:var(--navy-900);background:0 0}.btn--secondary:hover{background:var(--navy-50)}.btn--secondary-dark{border-color:var(--copper-300);color:#fff}.btn--secondary-dark:hover{background:var(--navy-800)}.btn--block{width:100%}.icon-btn{border:1px solid var(--line);background:var(--raised);width:44px;height:44px;color:var(--navy-900);transition:background-color var(--dur-fast) var(--ease-out);border-radius:999px;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:var(--navy-50)}.js .reveal{opacity:0;translate:0 var(--travel-md);transition:opacity var(--dur-slow) var(--ease-out), translate var(--dur-slow) var(--ease-out)}.js .reveal--rise-lg{translate:0 var(--travel-lg)}.js .reveal--fade{translate:none}.js .reveal.in,.js .reveal--clip{opacity:1;translate:none}.js .reveal-rows>*{opacity:0;translate:0 var(--travel-sm);transition:opacity var(--dur-slow) var(--ease-out), translate var(--dur-slow) var(--ease-out)}.js .reveal-rows.in>*{opacity:1;translate:none}.reveal-rows>:nth-child(2){transition-delay:60ms}.reveal-rows>:nth-child(3){transition-delay:.12s}.reveal-rows>:nth-child(4){transition-delay:.18s}.reveal-rows>:nth-child(5){transition-delay:.24s}.reveal-rows>:nth-child(6){transition-delay:.3s}.site-header{z-index:50;background:var(--bg);transition:box-shadow var(--dur-base) var(--ease-out);position:sticky;top:0}.site-header[data-scrolled]{box-shadow:0 1px 0 var(--line)}.header__bar{align-items:center;gap:var(--s-2);height:64px;display:flex}.wordmark{color:var(--navy-900);font-family:var(--font-mark);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;margin-right:auto;font-size:clamp(1rem,.85rem + .6vw,1.375rem);line-height:1;text-decoration:none}.header__nav{display:none}.header__nav ul{gap:var(--s-1);margin:0;padding:0;list-style:none;display:flex}.nav-link{min-height:44px;color:var(--ink-800);font-size:var(--fs-small);background:linear-gradient(var(--roof), var(--roof)) no-repeat 10px calc(100% - 8px) / 0% 2px;transition:background-size var(--dur-base) var(--ease-out), color var(--dur-fast);align-items:center;padding-inline:10px;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover{color:var(--navy-900);background-size:calc(100% - 20px) 2px}.header__actions{align-items:center;gap:var(--s-2);display:flex}.header__phone{align-items:center;gap:var(--s-1);min-height:44px;color:var(--navy-900);font-size:var(--fs-small);white-space:nowrap;font-weight:600;text-decoration:none;display:inline-flex}.header__phone svg{color:var(--accent-text)}.header__phone:hover span{text-underline-offset:4px;text-decoration:underline}.header__cta{min-height:44px;font-size:var(--fs-small);white-space:nowrap;padding:10px 18px;display:none}.header__cta-row{padding-bottom:var(--s-2)}.header__cta-row .btn{min-height:44px}@media (max-width:379px){.header__phone svg{display:none}}@media (min-width:768px){.header__bar{gap:var(--s-4);height:76px}.header__cta{display:inline-flex}.header__cta-row{display:none}}@media (min-width:1200px){.header__nav{display:block}.wordmark{margin-right:var(--s-2)}.header__actions{margin-left:auto}.header__toggle{display:none}}.menu{z-index:100;background:var(--bg);overscroll-behavior:contain;position:fixed;inset:0;overflow-y:auto}.menu__bar{justify-content:space-between;align-items:center;height:64px;display:flex}.menu__body{padding-bottom:var(--s-6)}.menu__list{margin:var(--s-2) 0 0;padding:0;list-style:none}.menu__list a{border-bottom:1px solid var(--line);min-height:56px;color:var(--navy-900);font-size:1.5rem;font-weight:800;font-stretch:var(--condensed);letter-spacing:-.01em;align-items:center;text-decoration:none;display:flex}.menu__list a:hover{color:var(--accent-text)}.menu__foot{gap:var(--s-2);margin-top:var(--s-5);display:grid}.menu__contact{align-items:center;gap:var(--s-1);min-height:44px;color:var(--navy-900);font-weight:600;display:inline-flex}.menu__contact svg{color:var(--accent-text)}.hero{background:var(--field);color:#fff;position:relative;overflow:hidden}.hero__grid{gap:var(--s-6);padding-top:clamp(40px,6vw,88px);display:grid}.hero__title{margin-bottom:var(--s-4);color:#fff;font-size:var(--fs-display);letter-spacing:-.025em;font-weight:800;line-height:1;font-stretch:var(--condensed)}.hero__title em{color:var(--accent-on-dark)}.mask-line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.mask-line>span{display:inline-block}.hero__lead{max-width:34em;color:var(--navy-100)}.hero__ctas{gap:var(--s-2);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.hero__cta{display:none}.trust{gap:var(--s-2);margin:var(--s-5) 0 0;padding:var(--s-4) 0 0;border-top:1px solid var(--line-on-dark);color:#fff;font-size:var(--fs-small);font-weight:500;list-style:none;display:grid}.trust li{align-items:center;gap:var(--s-2);display:flex}.trust__stars{color:var(--accent-on-dark);gap:2px;display:inline-flex}.trust__stars svg{width:16px;height:16px}.hero__media{height:clamp(260px,64vw,520px);margin-inline:calc(-1 * var(--gutter));margin-top:var(--s-4);position:relative}.hero__photo{clip-path:polygon(0 18%,50% 0,100% 18%,100% 100%,0 100%);position:absolute;inset:0}.hero__photo img{object-fit:cover;object-position:55% 40%}.hero__roof{width:100%;height:18%;display:flex;position:absolute;top:-12px;left:0}.hero__roof svg{width:50%;height:100%;overflow:visible}.hero__roof polyline{fill:none;stroke:var(--roof-on-dark);stroke-width:var(--stroke);stroke-linecap:square}@media (min-width:768px){.hero__cta{display:inline-flex}.trust{justify-content:start;gap:var(--s-4);border-top:0;grid-template-columns:repeat(3,minmax(0,auto));padding-top:0}.trust li{align-items:flex-start;gap:var(--s-1);max-width:15em;padding-left:var(--s-3);border-left:1px solid var(--line-on-dark);flex-direction:column;line-height:1.35}}@media (min-width:1024px){.hero__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;padding-top:0}.hero__copy{padding-block:var(--s-8);grid-column:1/span 6}.hero__media{height:min(calc(100svh - var(--header-h) - 48px), 760px);min-height:520px;margin:0 calc(-1 * var(--edge)) 0 var(--s-4);grid-column:7/-1;align-self:end}}@keyframes seq-fade{0%{opacity:0}}@keyframes seq-rise{0%{translate:0 105%}}@keyframes seq-up{0%{opacity:0;translate:0 var(--travel-sm)}}@keyframes seq-open{0%{clip-path:polygon(0 18%,50% 0,100% 18%,100% 18%,0 18%)}}@keyframes seq-wipe-l{0%{clip-path:inset(-4px 100% -4px -4px)}to{clip-path:inset(-4px)}}@keyframes seq-wipe-r{0%{clip-path:inset(-4px -4px -4px 100%)}to{clip-path:inset(-4px)}}.seq-label{animation:seq-fade var(--dur-base) var(--ease-out) both}.seq-line{animation:seq-rise var(--dur-slow) var(--ease-out) 80ms both}.seq-line--2{animation-delay:.16s}.seq-photo{animation:seq-open .8s var(--ease-out) .1s both}.seq-roof-l{animation:seq-wipe-l .6s var(--ease-out) .22s both}.seq-roof-r{animation:seq-wipe-r .6s var(--ease-out) .22s both}.seq-lead{animation:seq-up var(--dur-base) var(--ease-out) .28s both}.seq-ctas{animation:seq-up var(--dur-base) var(--ease-out) .36s both}.seq-trust{animation:seq-up var(--dur-base) var(--ease-out) .44s both}.work{background:var(--bg);padding-block:var(--section);position:relative}.work__layout{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.work__intro{margin-bottom:var(--s-5)}.work__lede{margin-top:var(--s-3);max-width:28em;color:var(--muted);font-size:var(--fs-lead);line-height:1.5}.skip-past{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-past:focus{width:auto;height:auto;margin-top:var(--s-3);clip:auto;color:var(--accent-text);font-weight:600;display:inline-flex;position:static}.work__track{padding-top:64px;position:relative}.work__roof{pointer-events:none;max-width:none;position:absolute;top:0;left:0;overflow:visible}.work__roof path{fill:none;stroke:var(--roof);stroke-width:var(--stroke);stroke-linecap:square;stroke-linejoin:miter}.work__list{gap:var(--s-6);margin:0;padding:0;list-style:none;display:grid}.work__frame figure{margin:0}.work__photo{aspect-ratio:3/2;background:var(--ink-100);overflow:hidden}.work__photo img{object-fit:cover;width:100%;height:100%;transition:scale var(--dur-slow) var(--ease-out)}.work__frame:hover .work__photo img{scale:1.04}.work__frame figcaption{margin-top:var(--s-2);color:var(--muted);font-size:var(--fs-small);line-height:1.4}@media (max-width:1023px){.work__frame--wide{display:none}}.work__end{max-width:480px;position:relative}.work__peak{color:var(--roof-on-dark);position:absolute;top:28px;left:28px}.work__peak polyline{fill:none;stroke:currentColor;stroke-width:var(--stroke);stroke-linecap:square}.quote-card{border-radius:var(--radius-md);background:var(--field);color:#fff;padding:84px 28px 28px}.quote-card__title{color:#fff;font-size:var(--fs-h3);font-weight:800;line-height:1.15;font-stretch:var(--condensed);letter-spacing:-.01em}.quote-card__text{margin:var(--s-2) 0 var(--s-4);color:var(--muted-on-dark)}.quote-card__call{margin-top:var(--s-3);min-height:44px}.work--stack .work__list{padding-left:12px}.work--stack .work__end{margin-left:-12px;margin-top:calc((min(100% + 12px, 480px) + 16px) / 4 + var(--s-5))}@media (min-width:1024px){.work__list{gap:var(--s-7) var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr))}.work__end{width:min(100%,440px);margin-top:var(--s-4);grid-column:1/-1}.work--pinned{padding:0}.work--pinned .work__sticky{top:var(--header-h);height:calc(100vh - var(--header-h));align-items:center;display:flex;position:sticky;overflow:hidden}.work--pinned .work__layout{align-items:center;gap:var(--s-6);max-width:none;padding:0 0 0 var(--edge);grid-template-columns:minmax(240px,20rem) minmax(0,1fr);margin:0;display:grid}.work--pinned .work__intro{margin:0}.work--pinned .work__viewport{margin-left:calc(-1 * var(--s-6));padding-left:var(--s-6);-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--s-6));mask-image:linear-gradient(to right, transparent, #000 var(--s-6));overflow:hidden}.work--pinned .work__track{padding-top:72px}.work--pinned .work__list{align-items:flex-start;gap:var(--s-4);width:max-content;padding-right:var(--edge);display:flex}.work--pinned .work__frame{width:min(50vw, calc((100vh - var(--header-h) - 240px) * 1.5));flex:none}.work--pinned .work__end{flex:none;width:clamp(340px,28vw,420px);margin:0}}.services__grid{gap:var(--s-6);display:grid}.services__head .lead{margin-top:var(--s-4);color:var(--heading);font-weight:500}.services__head p+p{margin-top:var(--s-3);color:var(--muted)}.services__pointer{margin-top:var(--s-4)}.services__list{margin:0;padding:0;list-style:none;display:grid}.services__item{padding-block:var(--s-4);border-top:1px solid var(--ink-300)}.services__item p{margin-top:var(--s-1);color:var(--muted)}@media (min-width:768px){.services__list{column-gap:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.services__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.services__head{top:calc(var(--header-h) + var(--s-5));grid-column:1/span 5;align-self:start;position:sticky}.services__list{grid-column:7/-1}}.case{--pitch:6vw;z-index:1;margin-top:calc(-1 * var(--pitch));padding:calc(var(--pitch) + var(--section)) 0 var(--section);background:var(--field);color:#fff;clip-path:polygon(0 var(--pitch), 50% 0, 100% var(--pitch), 100% 100%, 0 100%);position:relative}.case__roof{width:100%;height:var(--pitch);position:absolute;top:0;left:0;overflow:visible}.case__roof polyline{fill:none;stroke:var(--roof-on-dark);stroke-width:4px}.js .case__roof{clip-path:inset(-4px 50%);transition:clip-path .9s var(--ease-out)}.js .case:has(.case__figs.in) .case__roof{clip-path:inset(-4px)}.case__grid{gap:var(--s-6);display:grid}.case__figs{gap:var(--s-3);align-content:start;display:grid}.fig{gap:var(--s-1);display:grid}.fig__label{color:var(--muted-on-dark);font-size:var(--fs-small);font-weight:600}.fig__clip{padding-bottom:.04em;display:block;overflow:hidden}.fig__num{font-size:var(--fs-figure);letter-spacing:-.03em;font-weight:800;line-height:.95;font-stretch:var(--condensed);font-variant-numeric:tabular-nums;display:block}.fig__num--accent{color:var(--accent-on-dark)}.case__arrow{width:32px;height:32px;color:var(--roof-on-dark);rotate:90deg}.js .case__figs.reveal{opacity:1;translate:none}.js .case__figs .fig__num{transition:translate var(--dur-slow) var(--ease-out);translate:0 105%}.js .case__figs .fig+.case__arrow+.fig .fig__num{transition-delay:.15s}.js .case__figs.in .fig__num{translate:none}.case__copy .h2{color:#fff}.case__copy>p:not(.eyebrow){margin-top:var(--s-4);max-width:38em;color:var(--navy-100)}.case__copy .case__note{padding-left:var(--s-3);border-left:var(--stroke) solid var(--roof-on-dark);color:#fff;font-weight:600}.case__copy .link-on-dark{margin-top:var(--s-4);min-height:44px}@media (min-width:1024px){.case{--pitch:3vw}.case__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}.case__figs{grid-column:1/span 6}.case__copy{grid-column:8/-1}}.packages__grid{gap:var(--s-5);display:grid}.packages__head p{margin-top:var(--s-3);color:var(--muted);max-width:28em}.packages__list{border-bottom:1px solid var(--ink-300);margin:0;padding:0;list-style:none}.pkg{padding-block:var(--s-5);border-top:1px solid var(--ink-300)}.pkg__summary{margin-top:var(--s-2);max-width:40em;color:var(--ink-800)}.pkg .text-link,.pkg .disclosure{margin-top:var(--s-2)}.pkg__detail+.pkg__detail{margin-top:var(--s-4)}.pkg__sub{margin-bottom:var(--s-1);font-size:var(--fs-h4);font-weight:600}.pkg__detail p{color:var(--ink-800);max-width:40em}.budget{width:100%;max-width:420px;margin-top:var(--s-3);border-collapse:collapse;font-variant-numeric:tabular-nums}.budget th,.budget td{border-bottom:1px solid var(--line);text-align:left;padding:8px 0;font-weight:400}.budget td{text-align:right}.budget tfoot th,.budget tfoot td{border-bottom:0;border-top:var(--stroke) solid var(--navy-900);color:var(--heading);font-weight:800}.steps{margin:var(--s-2) 0 0;gap:var(--s-2);max-width:40em;color:var(--ink-800);padding-left:1.4em;display:grid}.steps ::marker{color:var(--accent-text);font-weight:800}.steps strong{color:var(--heading)}.disclosure__toggle{min-height:44px;color:var(--accent-text);background:0 0;border:0;align-items:center;gap:10px;padding:0;font-weight:600;display:inline-flex}.disclosure__toggle:hover span{text-underline-offset:4px;text-decoration:underline}.disclosure__icon{fill:none;stroke:currentColor;stroke-width:2px;width:16px;height:16px;transition:rotate var(--dur-base) var(--ease-in-out)}.disclosure.is-open .disclosure__icon{rotate:45deg}.disclosure__panel{overflow:hidden}.disclosure__inner{padding-top:var(--s-3)}.disclosure__inner>p+p{margin-top:var(--s-3)}@media (min-width:1024px){.packages__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.packages__head{grid-column:1/span 4}.packages__list{grid-column:5/-1}}.mold__grid{gap:var(--s-6);display:grid}.mold__copy .lead{margin-block:var(--s-4) var(--s-5)}.mold__copy .h3{margin-bottom:var(--s-2)}.mold__copy p:not(.lead){color:var(--ink-800);max-width:40em}.mold__fig{max-width:320px}.mold__fig figcaption{margin-top:var(--s-2);color:var(--muted);font-size:var(--fs-small)}@media (min-width:1024px){.mold__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.mold__copy{grid-column:1/span 7}.mold__fig{grid-column:9/-1;align-self:center}}.about__grid{gap:var(--s-6);display:grid}.about__photo{clip-path:polygon(0 14%,50% 0,100% 14%,100% 100%,0 100%)}.about__photo img{aspect-ratio:3/4;object-fit:cover;width:100%}.js .about__media .about__photo{clip-path:polygon(0 100%,50% 100%,100% 100%,100% 100%,0 100%);transition:clip-path .9s var(--ease-out)}.js .about__media.in .about__photo{clip-path:polygon(0 14%,50% 0,100% 14%,100% 100%,0 100%)}.pullquote{margin:var(--s-4) 0 var(--s-5);padding:0}.pullquote p{color:var(--heading);font-size:var(--fs-quote);letter-spacing:-.015em;font-weight:600;line-height:1.12;font-stretch:var(--condensed);text-wrap:balance}.about__copy>p+p,.about__copy .disclosure{margin-top:var(--s-3)}.about__copy>p:not(.lead){color:var(--ink-800)}.creds{gap:0 var(--s-4);margin-top:var(--s-5);display:grid}.creds__item{padding-block:var(--s-3);border-top:1px solid var(--line)}.creds dt{color:var(--muted);font-size:var(--fs-label);font-weight:600}.creds dd{color:var(--heading);margin-top:2px;font-weight:600;line-height:1.35}@media (min-width:768px){.creds{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.about__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.about__media{top:calc(var(--header-h) + var(--s-5));grid-column:1/span 5;align-self:start;position:sticky}.about__copy{grid-column:7/-1}}.reviews{padding-top:0}.reviews__head{padding-top:var(--section);border-top:1px solid var(--line)}.stars{margin-bottom:var(--s-3);color:var(--copper-600);gap:4px;display:inline-flex}.stars svg{width:22px;height:22px}.reviews__grid{gap:var(--s-5);margin-top:var(--s-6);display:grid}.review,.review blockquote{margin:0}.review p{color:var(--ink-800)}.review--lead p{color:var(--heading);font-size:var(--fs-lead);font-weight:500;line-height:1.5}.review figcaption{margin-top:var(--s-3);color:var(--muted);font-size:var(--fs-small)}.review figcaption strong{margin-right:var(--s-1);color:var(--heading)}@media (min-width:1024px){.reviews__grid{column-gap:var(--s-4);row-gap:var(--s-5);grid-template-columns:repeat(12,minmax(0,1fr))}.review--lead{padding-right:var(--s-5);border-right:1px solid var(--line);grid-area:span 2/1/auto/span 7}.review:not(.review--lead){padding-left:var(--s-4);grid-column:8/-1}}.contact__grid{gap:var(--s-6);display:grid}.contact__info .lead{margin-top:var(--s-3);color:var(--ink-800)}.contact__list{gap:var(--s-3);margin-top:var(--s-5);display:grid}.contact__list dt{color:var(--muted);font-size:var(--fs-label);font-weight:600}.contact__list dd{color:var(--heading);overflow-wrap:anywhere;font-weight:500}.contact__list .text-link{min-height:0}.contact__big{font-size:var(--fs-h3);font-weight:800;font-stretch:var(--condensed)}.form-card{border-radius:var(--radius-md);background:var(--raised);padding:clamp(24px,4vw,40px)}.form-card__title{margin-bottom:var(--s-4)}.form,.form__row{gap:var(--s-1);display:grid}.field{position:relative}.field label{justify-content:space-between;gap:var(--s-2);color:var(--muted);pointer-events:none;font-size:.8125rem;font-weight:600;display:flex;position:absolute;top:9px;left:15px;right:15px}.field__opt{color:var(--muted);font-weight:400}.field input,.field textarea{border:1px solid var(--line-input);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;transition:border-color var(--dur-fast);background:#fff;padding:30px 14px 10px;font-size:1.0625rem;font-weight:500;display:block}.field textarea{resize:vertical;min-height:140px}.field input:hover,.field textarea:hover{border-color:var(--ink-700)}.field input:focus-visible,.field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:0;border-color:var(--focus)}.field [aria-invalid=true]{border:2px solid var(--error)}.field__msg{align-items:flex-start;gap:var(--s-1);min-height:1.75em;color:var(--error);font-size:var(--fs-small);padding-top:4px;font-weight:500;line-height:1.35;display:flex}.field__msg svg{flex:none;width:18px;height:18px}.form__submit{margin-top:var(--s-2);justify-self:start}.form-done{gap:var(--s-2);justify-items:start;display:grid}.form-done:focus{outline:none}.form-done>svg{color:var(--success)}.form-done a{color:var(--accent-text);font-weight:600}@media (min-width:640px){.form__row{gap:var(--s-2);grid-template-columns:1fr 1fr}}@media (min-width:1024px){.contact__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.contact__info{grid-column:1/span 5}.form-card{grid-column:7/-1}}.site-footer{padding:var(--s-8) 0 var(--s-5);background:var(--field-deep);color:var(--navy-100);font-size:var(--fs-small);position:relative}.roofline--footer{left:0;top:var(--s-4);width:100%;height:40px;position:absolute;overflow:visible}.roofline--footer polyline{fill:none;stroke:var(--roof-on-dark);stroke-width:var(--stroke)}.footer__grid{gap:var(--s-5);padding-top:var(--s-5);display:grid}.logo-tile{padding:var(--s-1);border-radius:var(--radius-sm);background:#fff;display:inline-block}.logo-tile img{width:90px;height:90px}.footer__tagline{margin-top:var(--s-3);color:#fff;max-width:22em;font-weight:500}.footer__head{margin-bottom:var(--s-2);color:var(--accent-on-dark);font-size:var(--fs-label);font-weight:600;font-stretch:var(--wide);letter-spacing:.08em;text-transform:uppercase}.footer__list,.footer__links{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.footer__label{color:var(--navy-300);font-size:var(--fs-label);display:block}.footer__list .link-on-dark{color:#fff;font-size:1rem}.footer__links{gap:0 var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr))}.footer__links .link-on-dark{color:#fff;min-height:44px;font-weight:500}.footer__area{max-width:20em}.footer__legal{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--navy-800);color:var(--navy-300)}@media (min-width:1024px){.footer__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.footer__brand{grid-column:1/span 4}.footer__col:nth-child(2){grid-column:5/span 3}.footer__col:nth-child(3){grid-column:8/span 2}.footer__col:nth-child(4){grid-column:10/-1}}.nf{padding-block:var(--s-8) calc(var(--s-8) + var(--s-5));text-align:center}.nf__inner{justify-items:center;display:grid}.nf__gable{width:min(240px,60vw);height:auto}.nf__gable polyline{fill:none;stroke:var(--roof);stroke-width:3px;stroke-linecap:square}.nf__code{margin-top:var(--s-4);color:var(--accent-text);font-size:var(--fs-label);font-weight:600;font-stretch:var(--wide);letter-spacing:.08em}.nf__title{margin-top:var(--s-2);font-size:var(--fs-h2);font-weight:800;line-height:1.05;font-stretch:var(--condensed);letter-spacing:-.02em}.nf__actions{justify-content:center;gap:var(--s-2);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.nf__call{margin-top:var(--s-4);color:var(--muted)}.preview-toast{z-index:1000;max-width:min(320px,100vw - 24px);padding:var(--s-2) 16px;border-top:var(--stroke) solid var(--copper-400);border-radius:var(--radius-sm);background:var(--navy-900);color:#fff;font-family:var(--font-sans);box-shadow:var(--shadow-layer);pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-size:.9375rem;font-weight:500;line-height:1.35;position:fixed;top:0;left:0;transform:translateY(8px)}.preview-toast[data-state=open]{opacity:1;transform:none}.preview-toast__live{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.js .reveal,.js .reveal-rows>*,.js .case__figs .fig__num{opacity:1;translate:none}.js .about__media .about__photo{clip-path:polygon(0 14%,50% 0,100% 14%,100% 100%,0 100%)}.js .case__roof{clip-path:none}.btn:hover{translate:none}.preview-toast{transition:opacity .12s linear;transform:none}}
