@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-condensed-latin-600-normal.DepVgxBB.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-600-normal.BFJEwTuo.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/barlow-condensed-latin-700-normal.v1xN8_Wq.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-700-normal.Dmwat-ge.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/barlow-latin-400-normal.qiz4-Cze.woff2)format("woff2"),url(/_astro/barlow-latin-400-normal.fsAxiSwU.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/barlow-latin-500-normal.BPAOfeC8.woff2)format("woff2"),url(/_astro/barlow-latin-500-normal.C1h8hMer.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-latin-600-normal.DILqtrty.woff2)format("woff2"),url(/_astro/barlow-latin-600-normal.CNwfPWQD.woff)format("woff")}:root{--ink:#00244c;--ink-soft:#004a9b;--paper:#fff;--paper-dim:#d9e4f0;--muted:#99b7d7;--line:#99b7d73d;--accent:#004a9b;--accent-hover:#0b5cc0;--accent-light:#7fb3ea;--terra:#a84b26;--terra-light:#e8875f;--font-display:"Barlow Condensed", "Arial Narrow", sans-serif;--font-body:"Barlow", system-ui, sans-serif;--font-mono:"Barlow Condensed", "Arial Narrow", sans-serif;--gutter:clamp(1.25rem, 4vw, 4.5rem);--header-height:5.75rem}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{color:var(--paper);background:var(--ink);font-family:var(--font-body);margin:0;font-size:17px;line-height:1.55;overflow-x:hidden}body:before{z-index:20;pointer-events:none;opacity:.026;content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{color:var(--paper);background:var(--accent)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent-light);outline-offset:4px}.skip-link{z-index:200;color:var(--ink);background:var(--paper);padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.mono,.eyebrow{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.86rem;font-weight:600;line-height:1.35}.section-shell{width:min(100%,1600px);padding-inline:var(--gutter);margin-inline:auto}.button{min-height:3.75rem;font-family:var(--font-body);letter-spacing:.01em;border:1px solid #0000;justify-content:space-between;align-items:center;gap:2.2rem;padding:.9rem 1.2rem;font-size:1rem;font-weight:600;transition:color .18s,background .18s,border-color .18s,transform .18s;display:inline-flex}.button span{font-size:1.2rem}.button-primary{color:var(--paper);background:var(--accent)}.button-outline{border-color:currentColor}@media (hover:hover){.button:hover{transform:translateY(-2px)}.button-primary:hover{background:var(--accent-hover)}.button-outline:hover{color:var(--ink);background:var(--paper)}}.site-header{z-index:100;width:100%;height:var(--header-height);padding-inline:var(--gutter);border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;transition:height .25s,background .25s,border-color .25s,backdrop-filter .25s;display:grid;position:fixed;top:0;left:0}.site-header.is-scrolled{border-bottom-color:var(--line);backdrop-filter:blur(16px);background:#00244cd1;height:4.75rem}.brand{align-items:center;gap:.65rem;width:max-content;display:inline-flex}.brand-logo-shell{box-shadow:none;background:0 0;border:0;padding:0;transition:opacity .25s}.site-header.is-scrolled .brand-logo-shell{padding:0}.brand-logo{filter:brightness(0)invert();opacity:.96;width:clamp(7rem,10vw,8.5rem);height:auto;display:block}.brand-name{font-family:var(--font-display);letter-spacing:.02em;font-size:2rem;font-weight:600;line-height:.8}.brand-name small{font-family:var(--font-body);letter-spacing:.32em;text-transform:uppercase;margin-top:.3rem;font-size:.62rem;font-weight:500;display:block}.site-header nav{font-family:var(--font-body);align-items:center;gap:clamp(1rem,3vw,3.2rem);font-size:.98rem;font-weight:500;display:flex}.site-header nav a,.header-call{transition:color .18s}.site-header nav a:hover,.header-call:hover{color:var(--accent-light)}.header-call{font-family:var(--font-display);text-align:right;justify-self:end}.header-call span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:600;display:block}.header-call strong{letter-spacing:.02em;font-size:1.35rem;font-weight:700}.roof-experience{isolation:isolate;background:var(--ink);height:500svh;min-height:3000px;position:relative}.roof-stage{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden}.roof-stage:after{z-index:2;pointer-events:none;content:"";background:linear-gradient(90deg,#00244c8f 0%,#0000 48%,#00244c29 100%);position:absolute;inset:0}.roof-canvas{width:100%;height:100%;position:absolute;inset:0}.roof-vignette{z-index:1;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 12rem #00142ab8}.hero-kicker{top:calc(var(--header-height) + 2rem);left:var(--gutter);z-index:4;color:var(--paper-dim);margin:0;position:absolute}.roof-chapters{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.roof-chapter{top:50%;left:var(--gutter);opacity:0;width:min(47rem,52vw);transition:opacity .48s,transform .65s cubic-bezier(.2,.8,.2,1);position:absolute;transform:translateY(calc(2rem - 50%))}.roof-chapter.is-active{opacity:1;pointer-events:auto;transform:translateY(-50%)}.chapter-index{color:var(--terra-light);margin:0 0 1.8rem}.roof-chapter h1,.roof-chapter h2{max-width:14ch;font-family:var(--font-display);letter-spacing:-.005em;text-wrap:balance;text-transform:uppercase;margin:0;font-size:clamp(2.8rem,min(4.9vw,7.8vh),5.1rem);font-weight:700;line-height:.95}.roof-chapter h1{max-width:12ch}.swap-line{white-space:nowrap;min-height:.95em;display:block}.swap:before{content:attr(data-text)}.swap:after{content:"";vertical-align:-.04em;background:var(--terra-light);width:.07em;height:.78em;margin-left:.06em;animation:1s step-end infinite swap-caret;display:inline-block}.swap.is-typing:after{animation:none}@keyframes swap-caret{50%{opacity:0}}.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}.chapter-copy{max-width:29rem;color:var(--paper-dim);margin:1.8rem 0 0;font-size:clamp(.9rem,1.2vw,1.08rem);line-height:1.65}.chapter-warm h2{color:var(--terra-light)}.chapter-dark h2{color:#c7cbc8}.hero-cta{pointer-events:auto;width:max-content;margin-top:1.35rem;display:none}.material-nav{right:var(--gutter);z-index:6;gap:1.4rem;display:flex;position:absolute;bottom:3rem}.material-nav button{color:var(--muted);cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0 0 .55rem;position:relative}.material-nav button:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .25s,color .25s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.2)}.material-nav button.is-active{color:var(--paper)}.material-nav button.is-active:after,.material-nav button:hover:after{transform:scaleX(1)}.scroll-cue{bottom:3rem;left:var(--gutter);z-index:6;color:var(--muted);writing-mode:vertical-rl;align-items:center;gap:.8rem;display:flex;position:absolute}.scroll-cue i{background:var(--line);width:1px;height:3rem;display:block;overflow:hidden}.scroll-cue i b{background:var(--paper);transform-origin:top;width:100%;height:100%;transition:transform .12s linear;display:block;transform:scaleY(0)}.hero-aside{top:50%;right:var(--gutter);z-index:4;color:var(--muted);text-align:right;transform-origin:100%;flex-direction:column;gap:.45rem;display:flex;position:absolute;transform:rotate(90deg)translate(50%)}.hero-aside span:first-child{color:var(--terra-light)}.projects{color:var(--ink);background:var(--paper);margin-top:-1px;padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(5rem,9vw,9rem);position:relative}.projects .eyebrow,.projects .section-heading h2 em{color:var(--terra)}.projects .section-heading>p:last-child,.projects .projects-heading-copy>p:last-child{color:var(--ink)}.section-heading{max-width:78rem;padding-bottom:clamp(4rem,7vw,7rem);display:block}.eyebrow{color:var(--terra-light);margin:0}.section-heading h2,.expertise-intro h2,.contact-copy h2{font-family:var(--font-display);letter-spacing:-.005em;text-transform:uppercase;margin:0;font-size:clamp(2.2rem,3.8vw,3.9rem);font-weight:700;line-height:.96}.section-heading h2 em,.expertise-intro h2 em,.contact-copy h2 em{color:var(--terra-light);font-style:normal}.section-heading>p:last-child,.expertise-intro>p:last-child,.contact-copy>p:not(.eyebrow){color:var(--paper-dim);margin:0;font-size:.96rem;line-height:1.75}.section-heading h2,.expertise-intro h2{margin-top:1.4rem}.section-heading>p:last-child,.projects-heading-copy>p:last-child,.expertise-intro>p:last-child{max-width:42rem;margin-top:1.6rem}.projects-heading{justify-content:space-between;align-items:flex-end;gap:2.5rem;display:flex}.projects-heading-copy{min-width:0}.projects-heading-cta{flex-shrink:0}.carousel-toolbar{justify-content:space-between;align-items:center;padding-bottom:1.25rem;display:flex}.carousel-toolbar p{color:var(--ink-soft);margin:0}.carousel-controls{gap:.55rem;display:flex}.carousel-controls button{width:3rem;height:3rem;color:var(--ink);background:var(--paper);cursor:pointer;border:1px solid #00244c38;place-items:center;font-size:1.1rem;display:grid}@media (hover:hover){.carousel-controls button:hover{color:var(--paper);background:var(--ink)}}.carousel-track{padding:.4rem max(var(--gutter), calc((100vw - 1600px) / 2 + var(--gutter))) 1.8rem;scroll-padding-inline:max(var(--gutter), calc((100vw - 1600px) / 2 + var(--gutter)));scrollbar-color:var(--accent) #00244c1a;scrollbar-width:thin;grid-auto-columns:clamp(18rem,28vw,25rem);grid-auto-flow:column;gap:1.25rem;display:grid;overflow-x:auto}.carousel-slide{aspect-ratio:4/5;background:var(--ink-soft);margin:0;position:relative;overflow:hidden;box-shadow:0 1.2rem 2.4rem #00142a29}.carousel-slide img{object-fit:cover;filter:saturate(.88)contrast(1.04);width:100%;height:100%;transition:filter .35s,transform .7s cubic-bezier(.2,.7,.2,1);display:block}.carousel-slide:hover img{filter:saturate()contrast(1.02);transform:scale(1.025)}.carousel-slide:after{pointer-events:none;content:"";background:linear-gradient(#0000 70%,#00142ac7);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff1a}.carousel-slide figcaption{z-index:1;color:var(--paper);position:absolute;bottom:1rem;left:1rem}.expertise{color:var(--ink);background:var(--paper);padding-block:clamp(7rem,12vw,12rem)}.expertise-intro{max-width:78rem;padding-bottom:clamp(5rem,8vw,8rem);display:block}.expertise-intro h2 em,.expertise .eyebrow{color:var(--terra)}.expertise-intro>p:last-child{color:var(--ink)}.bento{grid-template-rows:minmax(12rem,auto) minmax(12rem,auto) minmax(10rem,auto);grid-template-columns:1.35fr 1fr 1fr;gap:.9rem;display:grid}.bento-photo{background:var(--ink-soft);grid-area:1/1/3;margin:0;position:relative;overflow:hidden;box-shadow:0 1.2rem 2.4rem #00142a29}.bento-photo img{object-fit:cover;width:100%;height:100%;display:block}.bento-photo figcaption{z-index:1;color:var(--paper);position:absolute;bottom:1rem;right:1rem}.bento-google{color:var(--paper);background:var(--ink);flex-direction:column;grid-area:3/1;justify-content:flex-end;gap:.3rem;padding:1.3rem;display:flex;box-shadow:0 1.1rem 2.2rem #00142a2e}.google-label{align-items:center;gap:.45rem;display:inline-flex}.google-mark{flex-shrink:0;width:1.05rem;height:1.05rem;display:block}.reviews-score .google-mark,.bento-google .google-mark{width:1.25rem;height:1.25rem}.bento-google strong{font-family:var(--font-display);font-size:3.2rem;font-weight:700;line-height:.85}.bento-tile{background:#f4f7fb;border:1px solid #00244c1f;flex-direction:column;justify-content:space-between;gap:.75rem;min-height:11rem;padding:1.25rem;display:flex;box-shadow:0 .85rem 1.7rem #00142a14}.bento-tile h3,.bento-tile p{margin:0}.bento-tile h3{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.45rem,2vw,1.85rem);font-weight:700;line-height:.95}.bento-tile p{color:var(--ink);font-size:.92rem;line-height:1.5}.reviews{background:var(--ink);padding-block:clamp(4rem,8vw,7rem)}.reviews-layout{grid-template-columns:minmax(13rem,.72fr) minmax(0,2.3fr);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.reviews-score{top:calc(var(--header-height) + 1.4rem);position:sticky}.reviews-rating{align-items:baseline;gap:.4rem;margin:1rem 0 .35rem;display:flex}.reviews-rating strong{font-family:var(--font-display);font-size:clamp(3rem,5vw,4.2rem);font-weight:700;line-height:.85}.reviews-rating span,.reviews-count{color:var(--muted);margin:0}.reviews-marquee{flex-direction:column;gap:.9rem;min-width:0;display:flex;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.reviews-rail{gap:.9rem;width:max-content;animation:48s linear infinite reviews-shift;display:flex}.reviews-rail-b{animation-duration:64s;animation-direction:reverse}.reviews-marquee:hover .reviews-rail,.reviews-marquee:focus-within .reviews-rail{animation-play-state:paused}@keyframes reviews-shift{0%{transform:translate(0)}to{transform:translate(-33.333%)}}.review-card{width:21rem;min-height:14.8rem;color:inherit;border:1px solid var(--line);background:#ffffff08;flex-direction:column;flex:0 0 21rem;margin:0;padding:1.35rem 1.3rem 1.15rem;text-decoration:none;transition:border-color .18s,background .18s;display:flex;box-shadow:0 1.2rem 2.4rem #00081652}.review-card:hover,.review-card:focus-visible{background:#ffffff0e;border-color:#7fb3ea73}.review-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:.8rem;margin:0;display:flex}.review-stars{color:var(--terra-light);letter-spacing:.16em;font-size:1.2rem;line-height:1}.review-meta .google-mark{width:1.2rem;height:1.2rem}.review-quote{color:var(--paper-dim);flex:auto;margin:.85rem 0 1.15rem;font-size:.95rem;line-height:1.6}.review-card footer{flex-direction:column;gap:.2rem;margin-top:auto;display:flex}.review-card cite{font-style:normal;font-weight:600}.review-card footer .mono{color:var(--muted)}.contact{background:#00244c;padding-block:clamp(7rem,13vw,13rem) 0;position:relative;overflow:hidden}.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(30rem,1.15fr);gap:clamp(4rem,9vw,10rem);display:grid;position:relative}.contact-copy h2{margin-top:1.7rem}.contact-copy>p:not(.eyebrow){max-width:29rem;margin-top:2rem}.direct-contact{border-top:1px solid var(--line);margin-top:4rem}.direct-contact a{border-bottom:1px solid var(--line);padding-block:1.2rem;display:block}.direct-contact span{color:var(--muted);margin-bottom:.3rem;display:block}.direct-contact strong{font-family:var(--font-display);overflow-wrap:anywhere;font-size:clamp(1.6rem,2.5vw,2.6rem);font-weight:700;line-height:1;transition:color .18s}.direct-contact a:hover strong{color:var(--accent-light)}.quote-form{border:1px solid var(--line);background:#ffffff09;grid-template-columns:1fr 1fr;gap:1.4rem 1.2rem;padding:clamp(1.5rem,3vw,3rem);display:grid;box-shadow:0 1.6rem 3rem #00081661}.field{grid-column:1/-1}.field-half{grid-column:auto}.field label{color:var(--paper-dim);font-family:var(--font-body);margin-bottom:.55rem;font-size:.95rem;font-weight:600;display:block}.field label span{color:var(--terra-light)}.field input,.field select,.field textarea{width:100%;color:var(--paper);background:0 0;border:0;border-bottom:1px solid #ffffff4d;border-radius:0;outline:none;transition:border-color .18s,background .18s}.field input,.field select{height:3.2rem}.field textarea{resize:vertical;min-height:7.5rem;padding-top:.9rem}.field select option{color:var(--ink);background:var(--paper)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-light);background:#ffffff09}.field input::placeholder,.field textarea::placeholder{color:#8fa6c0}.form-footer{grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;display:flex}.form-footer p,.form-status{color:var(--muted);margin:0}.form-status{min-height:1em;color:var(--terra-light);grid-column:1/-1}.button:disabled{cursor:wait;opacity:.55}.location{grid-template-columns:.65fr 1.35fr;gap:clamp(3rem,8vw,9rem);margin-top:clamp(7rem,12vw,12rem);padding-bottom:clamp(7rem,10vw,10rem);display:grid}.location-details{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.location address{color:var(--paper-dim);margin:2rem 0;font-size:1.05rem;font-style:normal;line-height:1.7}.location address strong{color:var(--paper)}.location-details>p:not(.eyebrow){color:var(--paper-dim)}.text-link{font-family:var(--font-body);border-bottom:1px solid;margin-top:1rem;padding-bottom:.35rem;font-size:1rem;font-weight:600}.text-link:hover{color:var(--accent-light)}.map-shell{border:1px solid var(--line);background:#00345f;min-height:30rem;position:relative;overflow:hidden}.map-shell iframe{filter:grayscale()invert(.88)contrast(.9);border:0;width:100%;height:100%;min-height:30rem;display:block}.map-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:1.7rem;display:flex;position:absolute;inset:0}.map-placeholder p{color:var(--paper-dim)}.map-cross{border:1px solid var(--accent-light);border-radius:50%;width:2.4rem;height:2.4rem;position:relative}.map-cross:before,.map-cross:after{content:"";background:var(--accent-light);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-cross:before{width:4.5rem;height:1px}.map-cross:after{width:1px;height:4.5rem}.site-footer{border-top:1px solid var(--line);background:#00244c;padding-block:2.5rem}.footer-grid{grid-template-columns:1.2fr 1fr 1fr auto;align-items:start;gap:2rem;display:grid}.footer-grid p{color:var(--muted);margin:0;line-height:1.7}.footer-grid details{max-width:26rem;color:var(--muted)}.footer-grid summary{cursor:pointer;color:var(--paper-dim);list-style-position:outside}.footer-grid details p{margin-top:1rem;font-size:.8rem}.footer-brand .brand-name{color:var(--paper)}.reveal{opacity:0;transition:opacity .7s,transform .85s cubic-bezier(.2,.7,.2,1);transform:translateY(2rem)}.reveal.is-visible{opacity:1;transform:translateY(0)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-notice{color:var(--muted);grid-column:1/-1;margin:0;font-size:.9rem;line-height:1.5}.form-notice a{text-underline-offset:.18em;text-decoration:underline}.faq{padding-block:clamp(5rem,10vw,9rem)}.faq-list{border-top:1px solid var(--line);margin-top:3rem}.faq-item{border-bottom:1px solid var(--line);padding-block:1.4rem}.faq-item summary{cursor:pointer;font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:clamp(1.08rem,2vw,1.25rem);font-weight:600;line-height:1.35;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item p{max-width:42rem;color:var(--paper-dim);margin:1rem 0 0}.legal-page{max-width:52rem;padding-top:calc(var(--header-height) + 4rem);padding-bottom:6rem}.legal-page h1{font-family:var(--font-display);text-transform:uppercase;margin:.8rem 0 2rem;font-size:clamp(3.5rem,8vw,6rem);font-weight:700;line-height:.85}.legal-page h2{font-family:var(--font-display);text-transform:uppercase;margin:2.5rem 0 .8rem;font-size:2rem;font-weight:700}.legal-page p,.legal-page li{color:var(--paper-dim);line-height:1.7}.legal-page a:not(.button){text-underline-offset:.2em;text-decoration:underline}.legal-updated{color:var(--muted);margin-top:3rem}.legal-page ul{padding-left:1.1rem}.legal-actions{flex-wrap:wrap;gap:1rem;margin-top:2.5rem;display:flex}.footer-legal,.footer-legal nav{flex-direction:column;align-items:flex-start;gap:.65rem;display:flex}.footer-credit{margin-top:.45rem}.footer-legal a{color:var(--paper-dim);transition:color .18s}.footer-legal a:hover{color:var(--accent-light)}.mobile-call{display:none}@media (width<=1050px){.section-heading,.expertise-intro{grid-template-columns:1fr 3fr}.section-heading>p:last-child,.expertise-intro>p:last-child{grid-column:2;max-width:34rem}.contact-grid{grid-template-columns:1fr 1.25fr;gap:3rem}.footer-grid{grid-template-columns:1fr 1fr}.reviews-layout{grid-template-columns:1fr}.reviews-score{position:static}}@media (width<=820px){:root{--header-height:4.8rem}body{padding-bottom:4.25rem}.site-header{grid-template-columns:1fr auto}.site-header nav,.header-call span{display:none}.roof-experience{height:430svh;min-height:2500px}.roof-stage:after{background:linear-gradient(#0000 45%,#00244cd1 100%)}.hero-kicker{top:calc(var(--header-height) + 1.25rem)}.roof-chapter{width:calc(100% - var(--gutter) * 2);top:auto;bottom:10.5rem;transform:translateY(1.5rem)}.roof-chapter.is-active{transform:translateY(0)}.roof-chapter h1,.roof-chapter h2{font-size:clamp(2.3rem,10vw,3.4rem);line-height:.96}.hero-cta{min-height:3.25rem;display:inline-flex}.projects-heading{display:block}.projects-heading-cta{display:none}.bento{grid-template-rows:none;grid-template-columns:1fr 1fr}.bento-photo,.bento-google{grid-area:auto/1/auto/-1}.bento-photo{min-height:18rem}.review-card{flex-basis:17.5rem;width:17.5rem;min-height:15.2rem}.chapter-copy{max-width:33rem;margin-top:1.2rem}.hero-aside,.scroll-cue{display:none}.material-nav{bottom:5.25rem;right:auto;left:var(--gutter)}.carousel-track{grid-auto-columns:min(72vw,24rem)}.contact-grid,.location{grid-template-columns:1fr}.contact-copy{grid-template-columns:1fr 1fr;gap:0 2rem;display:grid}.contact-copy .eyebrow,.contact-copy h2{grid-column:1/-1}.direct-contact{margin-top:2rem}.location-details{grid-template-columns:1fr 1fr;gap:0 2rem;display:grid}.location-details .eyebrow,.location-details .text-link{grid-column:1/-1}.mobile-call{z-index:120;height:3.25rem;color:var(--paper);backdrop-filter:blur(10px);font-family:var(--font-body);background:#004a9bf5;border:1px solid #ffffff3d;justify-content:center;align-items:center;gap:.65rem;font-size:1.02rem;font-weight:600;display:flex;position:fixed;bottom:.8rem;left:.8rem;right:.8rem;box-shadow:0 1rem 3rem #0000005c}.mobile-call svg{flex-shrink:0;width:1.1rem;height:1.1rem}}@media (width<=620px){.header-call{display:none}.site-header{grid-template-columns:1fr}.roof-chapter{bottom:10.5rem}.bento,.bento-photo,.bento-google{grid-column:1}.bento{grid-template-columns:1fr}.chapter-copy{max-width:95%;font-size:.95rem;line-height:1.5}.material-nav{gap:1rem;bottom:5.25rem}.section-heading,.expertise-intro{display:block}.section-heading h2,.expertise-intro h2,.contact-copy h2,.section-heading>p:last-child,.expertise-intro>p:last-child{margin-top:1.7rem}.carousel-track{grid-auto-columns:82vw;gap:.9rem}.carousel-controls button{width:2.75rem;height:2.75rem}.contact-copy{display:block}.quote-form{grid-template-columns:1fr}.field-half{grid-column:1/-1}.form-footer{flex-direction:column;align-items:stretch}.location-details{display:block}.map-shell,.map-shell iframe{min-height:23rem}.footer-grid{grid-template-columns:1fr}}@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}.roof-experience{height:100svh;min-height:680px}.roof-stage{position:relative}.roof-chapter{display:none}.roof-chapter[data-roof-chapter="3"]{display:block}.scroll-cue,.material-nav{display:none}.reveal{opacity:1;transform:none}.reviews-marquee{overflow:visible;mask-image:none}.reviews-rail{grid-template-columns:repeat(auto-fit,minmax(16.5rem,1fr));width:100%;display:grid;animation:none!important}.reviews-rail .review-card[aria-hidden=true]{display:none}.review-card{flex:auto;width:auto}}
