/* Core Comfort: photo-led page templates. Shared with the approved homepage. */
:focus-visible{outline:3px solid #bd541c;outline-offset:4px}main{min-height:55vh}.page-hero{position:relative;min-height:570px;overflow:hidden;color:white;border-radius:32px 32px 100px 32px;isolation:isolate;background:var(--navy)}.page-hero-photo{position:absolute;inset:0;z-index:-2}.page-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.page-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,28,49,.94) 4%,rgba(6,28,49,.82) 43%,rgba(6,28,49,.13) 100%)}.page-hero-inner{max-width:1060px;padding:30px 60px 60px}.page-hero h1{font-size:clamp(35px,4.35vw,63px);max-width:850px;line-height:1.13;text-wrap:balance}.page-hero .eyebrow{margin-top:65px;color:#b9d8f5}.page-subtitle{font-size:18px;line-height:1.65;margin-top:23px;max-width:700px}.page-hero .actions{margin-top:30px}.breadcrumbs{display:flex;gap:12px;align-items:center;font-size:12px;color:#d5e4f2;flex-wrap:wrap}.breadcrumbs a{text-underline-offset:4px}.page-hero .button.white{background:transparent;border:1px solid #ffffffa0;color:white;box-shadow:none}.service-nav{display:flex;gap:13px;flex-wrap:wrap;padding:23px 0 24px;border-bottom:1px solid var(--line)}.service-nav a{border:1px solid var(--line);border-radius:18px;padding:8px 17px;text-decoration:none;font-size:14px}.service-nav a:hover{background:var(--light)}.article-section,.imported-content{padding:65px 6%}.article-copy{max-width:1120px;margin:auto;line-height:1.85}.article-copy p{margin:0 0 23px;max-width:850px;font-size:17px;color:#425a6e}.article-copy a{color:var(--blue);text-underline-offset:4px}.article-copy li{padding:5px 0;max-width:930px}.article-copy ul,.article-copy ol{padding-left:24px;margin:20px 0 36px}.article-copy h2{font-size:clamp(28px,3.2vw,43px);max-width:850px}.article-copy h3{font-size:24px;max-width:830px}.photo-heading{display:flex;gap:28px;align-items:center;margin:42px 0 24px;break-after:avoid}.photo-heading .headline-photo{flex:0 0 140px;width:140px;height:112px;object-fit:cover;border-radius:30px 30px 52px 30px}.photo-heading.heading-3{gap:20px;margin:30px 0 20px}.heading-3 .headline-photo{flex-basis:75px;width:75px;height:72px;border-radius:22px 22px 32px 22px}.intro-copy{border-left:4px solid var(--red);padding-left:27px;margin-bottom:40px}.resource-links{display:flex;flex-wrap:wrap;gap:12px}.resource-links a{padding:13px 20px;border:1px solid var(--line);border-radius:17px;line-height:1.5;text-decoration:none}.resource-links a:hover{background:var(--light)}.imported-content>.article-copy>section,.imported-content>.article-copy>div>section{padding:0 0 35px;margin-bottom:28px;border-bottom:1px solid var(--line)}.article-copy .content-photo{width:100%;max-width:720px;max-height:450px;object-fit:cover;border-radius:30px 80px 30px 30px;margin:22px 0 32px}.article-copy details{padding:20px 0;border-bottom:1px solid var(--line)}.article-copy summary{cursor:pointer;font-weight:700}.article-copy .button{color:white;display:inline-flex;margin:8px 8px 14px 0}.article-copy .button:visited{color:white}.article-copy .inline-quote{background:#eef4f9;border:1px solid var(--line);padding:28px;border-radius:28px;margin:30px 0}.table-scroll{overflow-x:auto;max-width:100%;margin:26px 0 38px;border:1px solid var(--line);border-radius:20px}.table-scroll table{border-collapse:collapse;font-size:14px;min-width:650px;width:100%}.table-scroll th{background:var(--navy);color:white;font-size:12px;text-align:left;line-height:1.5;padding:16px}.table-scroll td{padding:13px 16px;border-bottom:1px solid var(--line);white-space:normal;min-width:110px}.table-scroll tr:nth-child(even){background:#f3f7fa}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.directory-grid a{border:1px solid var(--line);padding:22px;border-radius:20px;text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600}.directory-grid a:hover{background:var(--light);border-color:var(--blue)}.directory-grid a span{color:var(--red);font-size:22px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px}.contact-layout,.calculator-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:start}.contact-layout .photo-heading{margin-top:0}.contact-layout .photo-heading .headline-photo{display:none}.contact-layout h2{font-size:37px}.contact-layout .contact-photo{width:100%;height:320px;object-fit:cover;object-position:center 28%;border-radius:35px 80px 35px 35px;margin:25px 0}.contact-phone{font-size:25px;font-weight:700;margin:25px 0 12px}.quote-form{background:#f1f6fa;padding:32px;border:1px solid var(--line);border-radius:30px 60px 30px 30px;display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-form label{font-size:14px;font-weight:600;display:grid;gap:7px}.quote-form input,.quote-form select,.quote-form textarea{font:400 16px/1.5 'DM Sans',sans-serif;padding:13px;border:1px solid #8fabbf;border-radius:12px;background:white;color:var(--navy);width:100%;min-height:49px}.quote-form textarea{resize:vertical}.quote-form label.consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;font-weight:400;line-height:1.6}.quote-form input[type=checkbox]{width:20px;min-height:20px;flex:0 0 20px;margin:3px 0}.quote-form button{border:0;cursor:pointer}.quote-form button:disabled{opacity:.65;cursor:wait}.form-status{font-size:14px;line-height:1.7}.form-status:empty{display:none}.form-status[data-state=error]{color:#9e192e}.form-status[data-state=success]{color:#145533}.booking-section{background:#edf4fa;border-radius:70px 0 70px 0}.booking-section .photo-heading{margin-top:0}.booking-section .actions{margin:25px 0}.sizing-result{background:var(--navy);color:white;border-radius:30px 80px 30px 30px;overflow:hidden;margin-top:40px;padding:0 28px 30px}.sizing-result>img{width:calc(100% + 56px);max-width:none;margin:0 -28px 28px;height:270px;object-fit:cover}.sizing-result h2{font-size:34px;margin-bottom:16px}.sizing-result p{margin:16px 0}.sizing-result .fine{font-size:13px;color:#c3d6e7}.sizing-number{font:700 50px/1.15 'Roboto Slab',serif;color:#acd7fb}.catalog-tools{display:flex;gap:10px;flex-wrap:wrap;padding:0 0 20px}.catalog-tools input{padding:15px;border:1px solid var(--line);border-radius:16px;font:inherit;min-width:240px;flex:1}.catalog-tools button{border:1px solid var(--line);padding:10px 20px;background:white;border-radius:16px;cursor:pointer}.catalog-tools button[aria-pressed=true]{color:white;background:var(--navy)}.article-copy>div{max-width:100%}.article-copy .photo-heading h2,.article-copy .photo-heading h3{color:var(--navy)}.article-copy a:empty{display:none}
@media(max-width:1000px){.page-hero-inner{padding:26px 35px 45px}.page-hero:after{background:linear-gradient(90deg,#061c31ef,#061c319c)}.page-hero h1{max-width:740px}.directory-grid{grid-template-columns:1fr 1fr}.contact-layout,.calculator-layout{gap:5%;grid-template-columns:1fr 1.2fr}.form-grid{grid-template-columns:1fr}.quote-form{padding:25px}.nav-links{gap:13px}}
@media(max-width:700px){.page-hero{min-height:620px;border-radius:25px 25px 65px 25px}.page-hero:after{background:linear-gradient(180deg,#061c3133,#061c31de 45%,#061c31fa)}.page-hero-inner{padding:23px 25px 40px}.page-hero .eyebrow{margin-top:140px;font-size:10px}.page-hero h1{font-size:36px}.page-subtitle{font-size:15px}.page-hero .actions{gap:12px}.page-hero .button{font-size:12px;padding:13px 16px}.service-nav{gap:8px;padding:18px 0}.service-nav a{font-size:12px;padding:8px 12px}.article-section,.imported-content{padding:35px 6%}.article-copy p{font-size:15px}.article-copy li{font-size:15px}.photo-heading{gap:17px;margin:30px 0 22px}.photo-heading .headline-photo{flex-basis:85px;width:85px;height:87px;border-radius:24px 24px 38px 24px}.article-copy h2{font-size:27px}.article-copy h3{font-size:22px}.photo-heading.heading-3{gap:14px}.heading-3 .headline-photo{flex-basis:60px;width:60px;height:63px}.intro-copy{padding-left:18px}.directory-grid{grid-template-columns:1fr}.contact-layout,.calculator-layout{grid-template-columns:1fr;gap:30px}.contact-layout h2{font-size:33px}.contact-layout .contact-photo{height:260px}.quote-form{padding:25px 20px}.quote-form .form-grid{grid-template-columns:1fr}.footer-links{margin:22px 0}.article-copy .content-photo{max-height:300px;border-radius:24px 50px 24px 24px}.sizing-result{margin:0}.booking-section .photo-heading h2{font-size:32px}.table-scroll{margin-right:0}.breadcrumbs{font-size:10px}.site-header .nav-actions .button{font-size:12px}.utility .wrap{font-size:9px}}
.content-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:30px 0}.article-copy a.content-card{display:block;padding:26px;border:1px solid var(--line);border-radius:26px 48px 26px 26px;text-decoration:none;background:#f4f8fb}.content-card .photo-heading{margin-top:0}.content-card p{font-size:14px}.content-card .photo-heading h3{font-size:22px}.content-card:hover{border-color:var(--blue);background:#eaf2f8}.home-seo{background:#f4f8fb;border-radius:60px 0 60px 0}.home-seo .article-copy>section{padding:25px 0 40px;border-bottom:1px solid var(--line)}@media(max-width:700px){.content-card-grid{grid-template-columns:1fr}.article-copy a.content-card{padding:22px}.home-seo{border-radius:40px 0 40px 0}}

.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.native-quote{margin-top:48px}.native-quote .photo-heading .headline-photo{display:none}.native-quote .quote-form{color:var(--navy)}.native-quote .contact-photo{height:350px}.quote-form .form-status{margin:0}.quote-form a{color:var(--blue)}
/* Homepage: original project photography and layouts matched to the opening. */
.home-photo-stories{overflow:hidden}.home-photo-stories .section-heading h2{max-width:720px}.home-photo-stories .eyebrow{color:var(--red)}.home-photo-stories .heading-side p{font-size:16px;line-height:1.75}.home-space-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.home-space-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:30px 65px 30px 30px;overflow:hidden}.home-space-card .home-project-photo{height:320px;overflow:hidden}.home-project-photo img{height:100%;width:100%;object-fit:cover}.home-space-card:nth-child(2){border-radius:65px 30px 30px 30px}.home-project-copy{padding:28px}.home-project-copy h3{font-size:25px;line-height:1.25;margin:0 0 16px;color:var(--navy)}.home-project-copy p{font-size:16px;line-height:1.75;color:#425a6e;margin:0 0 24px}.home-project-copy .text-link{font-size:15px;line-height:1.5;display:inline-block}.home-service-menu{background:var(--light);border-radius:80px 0 80px 0;margin:30px 0}.home-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.home-service-row{display:grid;grid-template-columns:minmax(125px,.7fr) minmax(0,1.3fr);overflow:hidden;background:white;border-radius:28px;border:1px solid #d5e3ed;min-width:0}.home-service-row .home-project-photo{min-height:310px}.home-service-row .home-project-copy{padding:26px}.home-service-row h3{font-size:23px}.home-service-row p{font-size:16px;line-height:1.65}.home-install-faq .faq-photo{align-self:start;min-height:600px}.home-install-faq .faq-photo>img{width:100%;height:600px;object-fit:cover}.home-install-faq .faq-photo .eyebrow{color:#beddf5}.home-install-faq .faq-list summary{font-size:18px;line-height:1.5}.home-install-faq .faq-list p{font-size:16px;line-height:1.8}.home-install-faq .actions{margin-top:28px;flex-wrap:wrap}.home-valley{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--navy);color:#fff;border-radius:35px 90px 35px 35px;overflow:hidden;margin-top:20px;margin-bottom:90px}.home-valley-photo{min-height:600px;position:relative}.home-valley-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:48% center}.home-valley-copy{padding:55px 48px;background-image:repeating-radial-gradient(ellipse at 120% 0%,transparent 0 33px,#ffffff09 34px 35px,transparent 36px 62px)}.home-valley-copy .eyebrow{color:#b3d6f5}.home-valley-copy h2{font-size:clamp(30px,3vw,43px);line-height:1.2;color:#fff;margin-bottom:22px}.home-valley-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#d8e8f5;margin-bottom:27px}.home-city-links{display:flex;flex-wrap:wrap;gap:10px}.home-city-links a{display:block;padding:9px 15px;background:#ffffff0a;border:1px solid #ffffff45;border-radius:50px;font-size:14px;color:white;text-decoration:none}.home-city-links a:hover{background:#fff;color:var(--navy)}
@media(max-width:1050px){.home-service-row{grid-template-columns:140px minmax(0,1fr)}.home-service-row .home-project-copy{padding:22px}.home-space-card .home-project-photo{height:260px}.home-valley-copy{padding:38px 30px}.home-project-copy{padding:24px}}
@media(max-width:800px){.home-space-grid{grid-template-columns:1fr;gap:25px}.home-space-card{display:grid;grid-template-columns:40% 60%;border-radius:28px}.home-space-card:nth-child(2){border-radius:28px}.home-space-card .home-project-photo{height:100%;min-height:290px}.home-service-grid{grid-template-columns:1fr}.home-service-row{grid-template-columns:36% minmax(0,1fr)}.home-service-row .home-project-photo{min-height:270px}.home-valley{grid-template-columns:1fr;border-radius:30px 65px 30px 30px}.home-valley-photo{min-height:330px}.home-valley-photo img{object-position:center 52%}.home-install-faq .faq-photo,.home-install-faq .faq-photo>img{min-height:400px;height:400px}}
@media(max-width:480px){.home-space-card{display:block}.home-space-card .home-project-photo{height:300px;min-height:0}.home-project-copy{padding:25px}.home-service-row{display:block}.home-service-row .home-project-photo{height:245px;min-height:0}.home-service-row .home-project-copy{padding:25px}.home-valley-copy{padding:32px 24px}.home-valley-photo{min-height:280px}.home-service-menu{border-radius:45px 0 45px 0}.home-city-links a{padding:10px 13px}.home-photo-stories .section-heading h2{font-size:32px}}

.hero.truck-hero .hero-image img{object-position:center 48%}.page-hero.truck-hero .page-hero-photo img{object-position:center 48%}@media(max-width:580px){.hero.truck-hero .hero-image img{object-position:60% top}.page-hero.truck-hero .page-hero-photo img{object-position:62% center}}
