@font-face{font-family:Space;src:url('fonts/space-grotesk-latin.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:DM;src:url('fonts/dm-sans-latin.woff2') format('woff2');font-weight:100 1000;font-display:swap}

/* Editorial architecture: generous type, quiet surfaces, documentary imagery. */
:root{--blue:#123da6;--blue-dark:#0c2e80;--red:#bd382e;--ink:#18262d;--muted:#59636a;--paper:#f4f3ef;--line:#dcded9;--display:Space,Arial,sans-serif;--body:DM,Arial,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:#fcfcfa;color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--red);outline-offset:5px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
::selection{background:#c5d6ff}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.06;letter-spacing:-.055em}
h1{font-size:clamp(52px,6.4vw,96px);margin-bottom:30px}
h2{font-size:clamp(34px,3.5vw,54px);margin-bottom:25px}
h3{font-size:26px;letter-spacing:-.04em}
p{margin-bottom:24px}p:last-child{margin-bottom:0}
.container{max-width:1392px;width:calc(100% - 112px);margin-inline:auto}
.section{padding-block:112px}
.eyebrow{font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.11em;color:var(--blue);margin-bottom:27px}
.lead{font-size:19px;line-height:1.7;max-width:730px;color:var(--muted)}
.small{font-size:13px;line-height:1.7;color:var(--muted)}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.skip-link{position:fixed;top:0;left:15px;z-index:100;transform:translateY(-150%);padding:12px 24px;background:var(--blue);color:white}
.skip-link:focus{transform:translateY(0)}
.topbar{background:#182d39;color:#fff;font-size:11px;letter-spacing:.015em}
.topbar .container{display:flex;align-items:center;justify-content:space-between;min-height:34px}
.topbar a{display:flex;gap:12px;align-items:center}.topbar .status-dot{color:#cadcc1;width:5px;height:5px}.topbar strong{font-weight:500;margin-left:16px}
.header{background:#fcfcfaf5;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:30px;height:94px}
.brand{width:211px;flex-shrink:0}.brand img{width:100%}
.header nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:13px;font-weight:500}
.header nav>a{position:relative;padding-block:13px;white-space:nowrap}
.header nav>a:after{content:'';position:absolute;bottom:6px;left:0;width:0;height:2px;background:var(--blue);transition:width .2s}
.header nav>a:hover:after,.header nav>a[aria-current]:after{width:100%}
.language-link{border-left:1px solid var(--line);padding-left:20px}
.header-cta{border:1px solid var(--blue);color:var(--blue);font-size:12px;font-weight:600;display:flex;gap:24px;align-items:center;padding:12px 18px;white-space:nowrap}
.header-cta:hover{background:var(--blue);color:white}.menu-toggle{display:none}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--blue);color:#fff;padding:18px 24px;border:1px solid var(--blue);font-size:13px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}
.button span{font-size:21px;line-height:1}.button:hover{background:var(--blue-dark);transform:translateY(-2px)}
.button.secondary{background:transparent;color:var(--blue)}.button.secondary:hover{background:var(--blue);color:#fff}
.text-link{display:inline-flex;align-items:center;gap:28px;font-size:14px;font-weight:600;padding-bottom:6px;border-bottom:1px solid currentColor}.text-link:hover{color:var(--red)}

/* The opening is a typographic masthead followed by a panoramic roof study. */
.hero{padding-top:52px;padding-bottom:0}
.hero-copy{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:end;padding-bottom:43px;animation:copy-entry .6s ease-out both}
.hero h1{font-size:clamp(62px,6.8vw,104px);line-height:1.01;margin:0;letter-spacing:-.065em}
.hero .eyebrow{margin-bottom:24px}
.hero-summary{padding-bottom:4px;max-width:490px;justify-self:end}
.hero-description{font-size:22px;line-height:1.45;letter-spacing:-.025em;margin-bottom:13px}
.hero-location{font-size:11px;color:var(--muted);margin-bottom:24px;letter-spacing:.025em}
.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}
.hero-actions .button{font-size:12px;padding:16px 20px;gap:24px}
.call-link{font-size:14px;font-weight:500;line-height:1.6;white-space:nowrap}.call-link span{display:block;font-size:10px;font-weight:400;color:var(--muted)}
.hero-art{position:relative;background:#d8ddd6;isolation:isolate}
.hero-architecture img{width:100%;height:470px;object-fit:cover;object-position:50% 43%;filter:saturate(.82) contrast(1.035)}
.hero-architecture figcaption{font-size:10px;padding-top:11px;line-height:1.6;color:var(--muted)}
.hero-video{display:block;width:100%;height:470px;object-fit:cover;object-position:50% 51%;background:#182d39}
.film-toggle{position:absolute;left:27px;bottom:93px;border:1px solid #ffffffb0;background:#182d39e8;color:white;display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 18px;font-size:12px;cursor:pointer}
.film-toggle:hover{background:var(--blue)}.film-icon{font-size:14px;width:16px}.film-toggle:focus-visible{outline-color:white;box-shadow:0 0 0 7px var(--blue-dark)}
.hero-art.is-playing:before{display:none}.hero-art.is-playing .art-caption{visibility:hidden}
.art-caption{position:absolute;left:26px;right:26px;top:23px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:white;z-index:1}
.hero-art:before{content:'';position:absolute;inset:0 0 auto;height:120px;background:linear-gradient(#091a1bc2,transparent);pointer-events:none}
.art-tag{position:absolute;bottom:93px;right:28px;max-width:calc(100% - 56px);background:#fcfcfa;padding:23px 27px;border-top:3px solid var(--red)}
.art-tag>span{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}.art-tag strong{font-family:var(--display);font-size:19px;font-weight:400;letter-spacing:-.025em}.art-tag strong span{margin-left:30px;color:var(--blue)}
.hero-art figcaption{background:#fcfcfa;padding-top:10px;color:var(--muted);font-size:10px;letter-spacing:.01em}
.hero-proof{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:22px 27px;font-size:11px}
.hero-proof>span:first-child:before{content:'';display:inline-block;width:16px;height:2px;background:var(--red);margin-right:11px;vertical-align:middle}
.hero-proof>a{color:var(--blue);padding:5px 0}.hero-proof>a span{margin-left:25px}
@keyframes copy-entry{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

.trust-band{background:var(--paper);border-block:1px solid var(--line);padding-block:34px}
.trust-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:32px;align-items:center}
.trust-grid>p{font-family:var(--display);font-size:23px;line-height:1.25;letter-spacing:-.04em;margin:0}.trust-grid em{font-style:normal;color:var(--blue)}
.trust-grid>div{border-left:1px solid #cfd3cc;padding-left:27px}.trust-grid strong,.trust-grid span{display:block}.trust-grid strong{font-size:12px;font-weight:500;margin-bottom:6px}.trust-grid span{font-size:11px;color:var(--muted)}
.section-heading{max-width:690px}.section-heading>p:not(.eyebrow){max-width:480px;color:var(--muted);font-size:15px}
.services-overview{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}.services-overview .button{margin-top:12px}
.service-list{counter-reset:service}
.service-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 2px;border-bottom:1px solid var(--line);font-family:var(--display);font-size:23px;letter-spacing:-.035em;transition:padding .2s,color .2s}
.service-row:first-child{border-top:1px solid var(--line)}.service-row>span:last-child{font-family:var(--body);font-size:23px;color:var(--blue)}.service-row:hover{padding-left:12px;color:var(--blue)}
.service-list .service-row:before{counter-increment:service;content:'0' counter(service);font:10px var(--body);color:var(--muted);align-self:center;margin-right:2px}
.service-list .service-row>span:first-child{margin-right:auto}

/* Warranty comparison: a typographic index rather than simulated materials. */
.materials-section{padding-block:96px 106px;background:#182d39;color:white}
.materials-section .section-heading{max-width:none;display:grid;grid-template-columns:1.2fr 1fr;column-gap:80px;align-items:end;margin-bottom:48px}
.materials-section .eyebrow{grid-column:1/-1;color:#bbcced}.materials-section h2{margin:0}.materials-section .section-heading>p:last-child{margin:0;color:#ccd4d7;max-width:415px}
.material-explorer{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid #ffffff38;padding-top:38px;min-height:380px}
.material-explorer:not(.is-interactive){grid-template-columns:1fr;max-width:700px}.material-fallback p{font-size:14px}.material-fallback a{display:block;font:24px/1.5 var(--display);padding-block:13px;border-bottom:1px solid #ffffff38}
.material-stage .eyebrow{font-size:10px;margin-bottom:20px}
.tabs{display:flex;gap:28px}
.tabs button{display:flex;align-items:center;gap:11px;text-align:left;padding:12px 0 16px;border:0;border-bottom:1px solid #ffffff38;background:transparent;color:#cdd7dc;font:26px/1.2 var(--display);letter-spacing:-.045em;min-height:48px}
.tabs button>span:first-child{font:11px var(--body);letter-spacing:0;color:#c1cbd0}
.tabs button>span:last-child{margin-left:auto;font-size:23px;opacity:0}
.tabs button[aria-selected=true]{color:white;border-color:#98b6f5}.tabs button[aria-selected=true]>span:last-child{opacity:1}.tabs button:hover{background:#ffffff08}
.material-visual{margin-top:24px}.material-visual img{width:100%;height:260px;object-fit:cover}.material-visual figcaption{font-size:10px;color:#c1cbd0;margin-top:12px}
.material-stage>.small{max-width:330px;font-size:11px;margin-top:23px;color:#c1cbd0}
.material-info{border-left:1px solid #ffffff38;padding-left:66px;padding-top:30px;align-self:center}
.warranty{display:flex;gap:18px;align-items:baseline;margin-bottom:20px}
.warranty strong{font:400 132px/.95 var(--display);letter-spacing:-.08em}.warranty>span{max-width:100px;font-size:13px;line-height:1.4;color:#d7e2ed}
.material-info h3{font-size:29px;margin-bottom:14px}.material-info #material-copy{max-width:420px;color:#d2dcdf;font-size:14px;margin-bottom:18px}.material-info .small{font-size:11px;max-width:350px;color:#c1cbd0}.material-info .text-link{font-size:12px;color:white}
.materials-section :is(a,button,[tabindex]):focus-visible{outline-color:white;box-shadow:0 0 0 7px #182d39}

.roof-guide-section{background:var(--paper);padding-block:76px;margin-bottom:0;border-top:1px solid var(--line)}
.roof-guide{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.roof-guide h2{margin-bottom:22px}.roof-guide>div>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:450px}
.guide-art{align-self:stretch;min-width:0;display:flex;flex-direction:column}.guide-art img{width:100%;height:100%;min-height:540px;max-height:760px;object-fit:cover;object-position:56% center}.guide-art figcaption{margin-top:auto}
.guide-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-block:26px}
.guide-controls button{display:flex;align-items:center;justify-content:space-between;gap:15px;background:transparent;border:1px solid #b8bfbc;color:var(--ink);font-size:12px;line-height:1.5;text-align:left;padding:14px 16px;min-height:63px;transition:background .2s,color .2s}
.guide-controls button>span:last-child{color:var(--blue);font-size:19px}.guide-controls button:hover{border-color:var(--blue)}.guide-controls button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:white}.guide-controls button[aria-pressed=true]>span{color:white}
.guide-result{border-top:1px solid #aab6b4;border-left:2px solid var(--red);padding:24px 0 0 24px;min-height:245px}.guide-result .eyebrow{font-size:9px;margin-bottom:12px}.guide-result h3{font-size:27px;margin-bottom:14px}.guide-result>p:not(.eyebrow){font-size:13px;line-height:1.75;color:var(--muted);max-width:450px;margin-bottom:17px}.guide-result .text-link{font-size:12px}
.roof-guide .guide-disclaimer{font-size:10px!important;margin-top:18px;margin-bottom:0}.guide-disclaimer a{text-decoration:underline;white-space:nowrap}
body[data-page=services] .roof-guide-section{margin-bottom:70px}

.story-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:center}
.story-art,.detail-art{position:relative;min-width:0}
.story-art img{width:100%;aspect-ratio:1.08;object-fit:cover;object-position:52% center}
.image-label{display:block;position:static;padding:12px 0 0;font-size:10px;line-height:1.6;color:var(--muted)}
.story-grid .section-heading>p:last-child{margin-bottom:25px}
.film-story .hero-art{background:transparent;display:block;min-width:0}.film-story .hero-art:before{display:none}.film-story .hero-video{height:auto;aspect-ratio:16/9;object-fit:contain;filter:saturate(.8)}
.film-story .film-toggle{position:static;width:100%;margin-top:12px;min-height:52px;justify-content:flex-start;background:#182d39;border:0}.film-duration{margin-left:auto;font-size:10px;font-weight:400;letter-spacing:.1em;color:#ccd9de}.film-story .hero-art figcaption{padding-top:12px;font-size:10px;line-height:1.6}.film-story .section-heading h2{font-size:clamp(34px,3.1vw,48px)}
.guide-art img{filter:saturate(.8) contrast(1.035)}
.process{background:var(--paper);border-block:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:45px}
.steps article{border-top:1px solid #b8c0bf;padding-top:20px}
.steps article>span{color:var(--blue);font:13px var(--display);display:block;margin-bottom:44px}.steps h3{font-size:26px;max-width:280px}.steps p{color:var(--muted);font-size:14px;max-width:330px}
.faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px}
.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:15px;font-weight:500;padding:23px 0}.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:24px;font-weight:300;color:var(--blue);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}
.answer{color:var(--muted);font-size:14px;padding:0 35px 23px 0;max-width:800px}
.closing{background:var(--blue);color:white;padding-block:88px}
.closing-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:100px;align-items:center}.closing .eyebrow{color:#dce5fc}.closing h2{margin:0;font-size:clamp(35px,3.6vw,55px)}
.closing p:not(.eyebrow){font-size:14px;color:#e0e7f7;max-width:340px}.closing .button{background:#fff;color:var(--blue);border-color:white}.closing .button:hover{background:#dce6ff}.closing .text-link{display:table;margin-top:20px;font-size:16px}
.footer{padding-top:60px;background:var(--paper)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:50px;padding-bottom:45px;border-bottom:1px solid var(--line)}
.footer-brand{width:211px;flex-shrink:0}.footer-top p{font:22px/1.35 var(--display);letter-spacing:-.04em;margin:0}.footer-phone{font:27px var(--display);letter-spacing:-.04em;color:var(--blue);white-space:nowrap}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:45px;padding-block:44px}.footer-grid h2{font:600 11px var(--body);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px}
.footer-grid a{display:table;font-size:12px;color:var(--muted);margin-bottom:8px}.footer-grid a:hover{color:var(--blue);text-decoration:underline}.footer-grid p{font-size:12px;color:var(--muted)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:22px;font-size:10px;color:var(--muted)}
.floating-contact{position:fixed;z-index:20;bottom:22px;right:22px;background:var(--blue);color:white;border:1px solid #ffffff70;box-shadow:0 4px 18px #182d3920;padding:13px 18px;font-size:12px;font-weight:500}
.floating-contact{display:flex;align-items:center;gap:9px}.floating-contact svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none}
body[data-page=contact] .floating-contact{display:none}
.closing a:focus-visible,.topbar a:focus-visible,.floating-contact:focus-visible,.header-cta:focus-visible,.button:focus-visible{outline:3px solid white;outline-offset:3px;box-shadow:0 0 0 6px var(--blue-dark)}

/* Interior pages retain the same architectural rhythm and practical content. */
.page-intro{padding-top:72px;padding-bottom:62px;border-bottom:1px solid var(--line);margin-bottom:45px}.page-intro h1{max-width:1120px}.page-intro .lead{margin-bottom:0}
.service-directory{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);counter-reset:directory}
.service-card{padding:35px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:250px;transition:background .2s}.service-card:hover{background:var(--paper)}
.roof-icon{display:block;font:12px var(--display);color:var(--blue)}.roof-icon:before{counter-increment:directory;content:'0' counter(directory)}
.service-card h2{font-size:27px;letter-spacing:-.045em;margin-top:33px;margin-bottom:13px}.service-card h2 a{display:flex;justify-content:space-between;gap:20px}.service-card h2 span{color:var(--blue)}.service-card p{font-size:14px;color:var(--muted)}
.note-panel{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:75px;padding:50px}.note-panel h2{font-size:35px}.note-panel>p{font-size:15px;color:var(--muted);align-self:center}.note-panel .eyebrow{margin-bottom:15px}
.about-story>div>p{font-size:15px;color:var(--muted)}
.reasons-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.reason-list{list-style:none;margin:0;padding:0}.reason-list li{padding:17px 0;border-bottom:1px solid var(--line);font-size:14px;display:flex;gap:20px}.reason-list span{color:var(--blue)}
.testimonial-section{background:var(--paper)}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.testimonials figure{margin:0;border-top:1px solid #aeb9bd;padding-top:28px}.testimonials blockquote{margin:0 0 28px;font:23px/1.5 var(--display);letter-spacing:-.03em}.testimonials figcaption{font-size:12px;color:var(--muted)}
.faq-page{max-width:900px;padding-top:10px}
.service-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:start}.detail-art img{width:100%;aspect-ratio:1.15;object-fit:cover}.detail-aside{padding:40px;background:var(--paper)}.detail-aside h2{font-size:36px}.detail-aside>p:not(.eyebrow){font-size:14px;color:var(--muted)}.detail-aside .small{margin-top:22px}
.related-services{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;margin-top:36px}.related-services .service-row{font-size:20px}.related-services .service-row:nth-child(2){border-top:1px solid var(--line)}
.service-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-top:75px}.service-notes article{border-top:1px solid #aeb8b7;padding-top:24px}.service-notes .eyebrow{display:block;font-size:11px;margin-bottom:25px}.service-notes h2{font-size:27px;letter-spacing:-.04em;line-height:1.2}.service-notes p{font-size:14px;color:var(--muted)}.related-section{padding-top:0}.related-section h2{font-size:34px}.related-services{grid-template-columns:repeat(3,1fr);gap:35px}.related-services .service-row{border-top:1px solid var(--line);align-items:start}
.legal{max-width:850px;padding-top:10px}.legal h2{font-size:29px;margin-top:40px}.legal p{color:var(--muted);font-size:15px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;padding-bottom:90px;align-items:start}
.availability{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--blue);margin-bottom:27px}.contact-details h2{font-size:38px}.big-phone{display:block;color:var(--blue);font:40px/1.2 var(--display);letter-spacing:-.045em;margin-block:25px 18px}
.contact-details>.text-link{font-size:13px}.contact-details dl{margin-block:37px}.contact-details dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-top:23px}.contact-details dd{margin:5px 0 0;color:var(--muted);font-size:14px}.contact-details .small{max-width:350px}
.contact-form{background:var(--paper);padding:40px}.contact-form h2{font-size:31px;margin-bottom:15px}.contact-form>p{font-size:14px;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:500;margin-bottom:8px}
.field input,.field select,.field textarea{display:block;width:100%;min-height:48px;border:1px solid #aab1af;background:#fcfcfa;color:var(--ink);border-radius:0;padding:12px;font-size:16px}.field textarea{resize:vertical;min-height:120px}
.form-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.form-actions .button{font-size:12px;padding:15px 17px;gap:15px}.contact-form .small{font-size:11px;margin-top:20px}.contact-form .small a{text-decoration:underline}
#form-status{font-size:14px;color:var(--blue);margin-top:20px;overflow-wrap:anywhere}#form-status:empty{display:none}
.contact-form button:disabled{cursor:not-allowed;opacity:.65}.contact-form noscript p{padding:15px;border:1px solid var(--red);font-size:14px}.contact-form noscript a{text-decoration:underline}

@media(min-width:1600px){.hero-copy{grid-template-columns:1.35fr 1fr}.hero-video{height:520px}}
@media(max-width:1200px){
 .container{width:calc(100% - 72px)}.header-inner{gap:22px}.brand{width:185px}.header nav{gap:18px}.header-cta{padding:12px 14px;gap:12px}
 .hero-copy{gap:30px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:clamp(60px,6.8vw,83px)}.hero-description{font-size:20px}.hero-actions{gap:15px}.hero-video{height:420px}.roof-guide{gap:55px}
 .services-overview,.faq-grid{gap:65px}.story-grid{gap:55px}.trust-grid{gap:22px}.trust-grid>div{padding-left:20px}.trust-grid>p{font-size:21px}.material-explorer{gap:50px}.material-info{padding-left:40px}.contact-layout{gap:50px}.footer-top{gap:40px}
}
@media(max-width:980px){
 .header-inner{height:82px}.header nav{gap:15px;font-size:12px}.header-cta{display:none}.brand{width:190px}
 .hero{padding-top:40px}.hero h1{font-size:64px}.hero-copy{grid-template-columns:1.1fr 1fr;gap:28px}.hero-description{font-size:19px}.hero-video{height:395px}.hero-proof{font-size:10px;gap:15px}.hero-proof>a{display:none}.roof-guide{gap:35px}.guide-controls{grid-template-columns:1fr}.guide-art img{min-height:650px}.tabs{gap:19px}.tabs button{font-size:22px}
 .trust-grid{grid-template-columns:1fr 1fr;row-gap:25px}.trust-grid>p{padding-left:20px}.section{padding-block:80px}.services-overview{gap:40px}.service-row{font-size:20px}
 .materials-section{padding-block:75px}.material-explorer{gap:35px}.material-info{padding-left:30px}.warranty strong{font-size:112px}.warranty>span{font-size:12px}.material-info h3{font-size:26px}
 .story-grid{gap:40px}.story-grid .section-heading h2{font-size:35px}.steps{gap:35px}.steps h3{font-size:23px}.faq-grid{gap:40px}.closing-grid{gap:50px}
 .footer-top{gap:25px}.footer-brand{width:180px}.footer-phone{font-size:21px}.footer-grid{gap:25px}
 .service-card{padding:30px 23px}.service-card h2{font-size:23px}.contact-layout{grid-template-columns:.85fr 1.15fr;gap:35px}.contact-form{padding:28px}.contact-details h2{font-size:31px}.big-phone{font-size:33px}
 .note-panel{gap:40px;padding:38px}.testimonials{gap:30px}.testimonials blockquote{font-size:20px}.detail-aside{padding:30px}.detail-aside h2{font-size:31px}.service-detail{gap:35px}
}
@media(max-width:760px){
 .hero-architecture img{height:310px;object-position:50% 39%}.hero-architecture figcaption{font-size:9px}.film-story .hero-video{height:auto}.film-story .film-toggle{margin-top:12px;min-height:52px}.film-story .hero-art figcaption{font-size:9px}.film-story .section-heading h2{font-size:36px}
 .service-notes{grid-template-columns:1fr;gap:30px}.service-notes article{padding-top:22px}.service-notes h2{font-size:27px;margin-bottom:16px}.service-notes .eyebrow{margin-bottom:15px}.related-section h2{font-size:31px}
 .header:not(.nav-ready) .header-inner{height:auto;min-height:76px;flex-wrap:wrap;padding-block:15px}
 .header:not(.nav-ready) .menu-toggle{display:none}
 .header:not(.nav-ready) nav{display:flex;position:static;flex-basis:100%;padding:10px 0 0;box-shadow:none;border-bottom:0;flex-direction:row;flex-wrap:wrap;gap:8px 22px;font-size:14px}
 .header:not(.nav-ready) nav .language-link{border:0;margin:0}
 html{scroll-padding-top:95px}.container{width:calc(100% - 40px)}h1{font-size:51px}h2{font-size:36px}.section{padding-block:65px}
 .topbar{font-size:9px}.topbar .container{justify-content:center;min-height:30px}.topbar .container>span{display:none}.topbar strong{margin-left:0}.topbar a{gap:8px}
 .header-inner{height:76px;justify-content:space-between}.brand{width:185px}.menu-toggle{display:flex;gap:12px;align-items:center;background:transparent;border:1px solid var(--line);font-size:12px;padding:10px 13px;min-height:44px}.menu-toggle i{width:17px;height:10px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] i{transform:rotate(-45deg)}
 .header nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fcfcfa;margin:0;padding:16px 25px 28px;box-shadow:0 12px 15px #14213010;border-bottom:1px solid var(--line);font-size:17px;flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav>a{padding:12px 0}.header nav>a:after{bottom:7px}.header nav>a[aria-current]:after{width:25px}.header nav .language-link{border-left:0;border-top:1px solid var(--line);margin-top:12px;font-size:14px}
 .hero{padding-top:34px}.hero-copy{display:block;padding-bottom:29px}.hero .eyebrow{font-size:10px;margin-bottom:22px}.hero h1{font-size:clamp(49px,9.7vw,73px);line-height:1.04;letter-spacing:-.065em;margin-bottom:25px}.hero-summary{max-width:none;padding:0}.hero-description{font-size:18px;line-height:1.5;margin-bottom:10px}.hero-location{font-size:10px;margin-bottom:22px}.hero-actions{gap:17px}.hero-actions .button{font-size:11px;padding:16px;gap:20px}.call-link{font-size:13px}.call-link span{font-size:9px}
 .hero-video{height:365px;object-position:49% center}.art-caption{left:17px;right:17px;top:17px;font-size:9px}.art-caption>span:first-child{display:none}.art-caption>span:last-child{margin-left:auto}.art-tag{bottom:145px;right:16px;padding:17px 19px;max-width:calc(100% - 32px)}.art-tag>span{font-size:10px}.art-tag strong{font-size:17px}.art-tag strong span{margin-left:18px}.hero-art figcaption{font-size:9px;padding-top:10px;min-height:39px}.hero-proof{padding-block:18px 23px;flex-direction:column;align-items:flex-start;gap:5px;font-size:10px}.film-toggle{left:16px;bottom:83px;padding:12px 15px;font-size:11px}
 .hero-art{display:grid;grid-template-columns:auto 1fr;gap:0 10px;background:transparent}.hero-video{grid-column:1/-1}.hero-art:before{height:90px}.film-toggle{position:static;grid-column:1;align-self:start;margin-top:12px;min-height:52px}.art-tag{position:static;grid-column:2;display:flex;align-items:center;justify-content:space-between;max-width:none;min-height:52px;padding:10px 13px!important;border:1px solid var(--line);border-top:2px solid var(--red);margin-top:12px}.art-tag>span{display:none}.art-tag strong{font-size:12px!important;line-height:1.4}.art-tag strong span{margin-left:8px}.hero-art figcaption{grid-column:1/-1;padding-top:12px}.floating-contact{display:none}
 .trust-band{padding-block:28px}.trust-grid{gap:25px 18px}.trust-grid>p{font-size:21px;padding-left:0}.trust-grid>div{padding-left:15px}.trust-grid strong{font-size:11px}.trust-grid span{font-size:10px}.trust-grid>div:nth-child(3){border-left:0;padding-left:0}
 .services-overview,.story-grid,.faq-grid,.closing-grid,.reasons-grid,.contact-layout,.service-detail{grid-template-columns:1fr;gap:35px}.section-heading>p:not(.eyebrow){font-size:14px}.eyebrow{margin-bottom:22px;font-size:10px}.services-overview .button{margin-top:4px}.service-row{font-size:21px;padding-block:20px}
 .materials-section{padding-block:61px}.materials-section .section-heading{display:block;margin-bottom:34px}.materials-section h2{margin-bottom:22px}.materials-section .section-heading>p:last-child{max-width:500px}.material-explorer{grid-template-columns:1fr;gap:30px;padding-top:27px}.material-stage .eyebrow{margin-bottom:14px}
 .roof-guide-section{padding-block:57px}.roof-guide{grid-template-columns:1fr;gap:34px}.guide-controls{grid-template-columns:1fr 1fr}.guide-art img{min-height:0;height:330px;object-position:center 45%}.guide-result{min-height:235px}.guide-result h3{font-size:27px}.guide-controls button{font-size:11px;padding:12px;gap:9px;min-height:64px}.material-visual img{height:245px}
 .tabs{flex-direction:row;gap:23px}.tabs button{font-size:22px;gap:9px;padding:12px 0;min-height:48px}.tabs button>span:first-child{font-size:9px}.tabs button>span:last-child{display:none}.material-stage>.small{margin-top:18px;max-width:none}.material-info{border-left:0;border-top:1px solid #ffffff38;padding:30px 0 0}.warranty strong{font-size:115px}.warranty>span{max-width:none}.material-info #material-copy{max-width:500px}
 .story-art img{aspect-ratio:1.12}.story-grid .section-heading h2{font-size:36px}.image-label{font-size:9px;padding-top:10px}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.steps article{position:relative;padding-left:46px;padding-top:24px}.steps article>span{position:absolute;left:0;top:28px;margin:0}.steps h3{font-size:25px;max-width:none;margin-bottom:14px}.steps p{max-width:500px}.faq-list summary{font-size:14px;padding-block:21px}.closing{padding-block:63px}.closing-grid{gap:29px}.closing h2{font-size:37px}.closing p:not(.eyebrow){max-width:500px}
 .footer{padding-top:43px}.footer-top{flex-wrap:wrap;gap:25px;padding-bottom:30px}.footer-top p{font-size:19px}.footer-brand{width:180px}.footer-phone{font-size:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:27px 22px;padding-block:32px}.footer-grid h2{font-size:10px;margin-bottom:17px}.footer-bottom{font-size:9px;flex-wrap:wrap;gap:10px;padding-bottom:80px}.floating-contact{bottom:14px;right:14px;padding:12px 16px;font-size:11px}
 .page-intro{padding-top:43px;padding-bottom:37px;margin-bottom:32px}.page-intro h1{font-size:clamp(43px,7.8vw,60px);margin-bottom:25px}.page-intro .lead{font-size:16px}.service-directory{grid-template-columns:1fr 1fr}.service-card{padding:26px 20px;min-height:225px}.service-card h2{font-size:23px;margin-top:28px}.service-card p{font-size:13px}.note-panel{grid-template-columns:1fr;gap:20px;padding:29px}.note-panel h2{font-size:31px}.note-panel>p{font-size:14px}
 .testimonials{grid-template-columns:1fr;gap:35px;margin-top:35px}.testimonials blockquote{font-size:24px;margin-bottom:19px}.faq-page{padding-top:5px}.detail-art img{aspect-ratio:1.25}.detail-aside{padding:28px}.detail-aside h2{font-size:33px}.related-services{grid-template-columns:1fr;gap:0}.related-services .service-row{font-size:20px}.related-services .service-row:nth-child(2){border-top:0}
 .contact-layout{padding-bottom:60px;gap:39px}.contact-details h2{font-size:36px}.big-phone{font-size:39px}.contact-form{padding:27px 22px}.contact-form h2{font-size:29px}.form-grid{gap:20px 15px}.field input,.field select,.field textarea{font-size:16px}.form-actions{flex-direction:column;align-items:stretch}.form-actions .button{padding:16px 18px;font-size:12px}.legal{padding-top:0}.legal h2{font-size:27px}.legal p{font-size:14px}
}
@media(max-width:390px){
 .brand{width:170px}.header-inner{gap:15px}.hero h1{font-size:clamp(43px,12.6vw,49px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.call-link span{display:inline;margin-right:8px}.hero-video{height:325px}.art-tag strong{font-size:15px}.art-tag{padding:15px;max-width:calc(100% - 24px);right:12px}.hero-art figcaption{min-height:42px}
 .trust-grid{gap:24px 15px}.trust-grid>p{font-size:19px}.tabs{gap:17px}.tabs button{font-size:20px;gap:7px}.warranty strong{font-size:105px}.service-directory{grid-template-columns:1fr}.service-card{min-height:200px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-intro h1{font-size:42px}.contact-form{padding:25px 18px}.big-phone{font-size:35px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
