/* Heated driveway editorial layout. Intentionally scoped to one page. */
.hd-page{overflow-x:clip}
.hd-page main{overflow-x:clip}
.hd-page .hd-container{width:calc(100% - 120px);max-width:1510px;margin-inline:auto}
.hd-page .hd-section{padding:clamp(78px,8vw,132px) 0}
.hd-page .hd-kicker{margin:0 0 22px;font:700 11px/1.5 Archivo,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.hd-page .hd-kicker-dark{color:#44614b}
.hd-page .hd-title{font:700 clamp(38px,4.45vw,70px)/1.1 Archivo,Arial,sans-serif;letter-spacing:-.055em;margin:0;text-wrap:balance;color:#17231c}
.hd-page .hd-copy p{color:#4c5b50;font-size:16px;line-height:1.8;margin:0 0 20px}
.hd-page .hd-copy p:last-child{margin-bottom:0}
.hd-page .hd-section-header{max-width:850px;margin-bottom:50px}
.hd-page .hd-section-header>p:last-child{font-size:16px;line-height:1.85;color:#526155;margin:22px 0 0;max-width:690px}
.hd-page .hd-hero{height:88svh;min-height:650px;max-height:900px;isolation:isolate;background:#101d17}
.hd-page .hd-hero-media{position:absolute;inset:0;z-index:0;background:#111b15}
.hd-page .hd-hero-media .ambient-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;filter:brightness(.78) saturate(.86)}
.hd-page .hd-hero-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(2,10,7,.76),rgba(2,10,7,.43) 67%,rgba(2,10,7,.15)),linear-gradient(0deg,rgba(2,10,7,.55),transparent 50%)}
.hd-page .hd-hero-content{height:100%;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:126px 0 70px}
.hd-page .hd-hero h1{font:700 clamp(58px,6.5vw,104px)/1.04 Archivo,Arial,sans-serif;letter-spacing:-.064em;max-width:1100px;margin:0 0 23px;color:#fff;text-wrap:balance}
.hd-page .hd-hero-tail{display:block}
.hd-page .hd-hero-lead{font-size:17px;line-height:1.7;color:#f2f5f1;max-width:560px;margin:0 0 29px}
.hd-page .hd-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hd-page .hd-btn{min-height:54px;display:inline-flex;gap:27px;align-items:center;justify-content:space-between;padding:14px 22px;font:700 13px Archivo,Arial,sans-serif;text-decoration:none;border:1px solid transparent;white-space:normal}
.hd-page .hd-btn svg{width:17px;height:17px;flex-shrink:0}
.hd-page .hd-btn-primary{background:#f7f8f4;color:#142119;border-color:#f7f8f4}
.hd-page .hd-btn-primary:hover{background:#dfe9dc}
.hd-page .hd-btn-quiet{color:#fff;background:rgba(2,12,8,.2);border-color:rgba(255,255,255,.65)}
.hd-page .hd-btn-quiet:hover{background:#ffffff24}
.hd-page .hd-intro{background:#f5f4f0}
.hd-page .hd-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.78fr);gap:clamp(50px,9vw,145px);align-items:start}
.hd-page .hd-intro .hd-title{max-width:850px}
.hd-page .hd-feature-image{margin:58px 0 0}
.hd-page .hd-feature-image img{width:100%;height:clamp(340px,42vw,610px);object-fit:cover;object-position:center 55%;display:block;background:#1c2c24}
.hd-page .hd-feature-image figcaption{font-size:11px;line-height:1.6;color:#68736a;margin-top:10px}
.hd-page .hd-benefits{background:#e9eee7}
.hd-page .hd-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.hd-page .hd-three article{border-top:1px solid #a4b8a6;padding-top:25px}
.hd-page .hd-index{font:700 11px Archivo,Arial,sans-serif;color:#44614b}
.hd-page .hd-three h3{font:700 27px/1.17 Archivo,Arial,sans-serif;letter-spacing:-.03em;margin:25px 0 13px}
.hd-page .hd-three p,.hd-page .hd-system-grid p,.hd-page .hd-detail p,.hd-page .hd-step-grid p{font-size:14px;line-height:1.8;color:#4e5c52;margin:0}
.hd-page .hd-systems{background:#f5f4f0}
.hd-page .hd-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.hd-page .hd-system-grid article{background:#fff;border:1px solid #d9dfd7;padding:34px}
.hd-page .hd-overline{font:700 10px/1.3 Archivo,Arial,sans-serif!important;color:#3d654b!important;letter-spacing:.12em;margin:0 0 24px!important}
.hd-page .hd-system-grid h3{font:700 29px/1.15 Archivo,Arial,sans-serif;letter-spacing:-.04em;margin:0 0 16px}
.hd-page .hd-inline-link{display:inline-flex;align-items:center;gap:20px;margin-top:30px;padding-bottom:8px;border-bottom:1px solid #42614a;font:700 13px Archivo,Arial,sans-serif;color:#233f2d}
.hd-page .hd-inline-link svg{width:16px;height:16px}
.hd-page .hd-design{background:#fff}
.hd-page .hd-design-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(55px,7vw,112px);align-items:center}
.hd-page .hd-design-photo{height:620px;min-width:0;background:#e7e9e1}
.hd-page .hd-design-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hd-page .hd-design-content .hd-title{margin-bottom:29px}
.hd-page .hd-detail{padding:19px 0;border-top:1px solid #d7dfd5}
.hd-page .hd-detail h3{font:700 18px/1.3 Archivo,Arial,sans-serif;margin:0 0 8px}
.hd-page .hd-steps{background:#e9eee7}
.hd-page .hd-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.hd-page .hd-step-grid article{border-top:1px solid #a8bbaa;padding-top:22px}
.hd-page .hd-step-grid article>span{font:700 11px Archivo,Arial,sans-serif;color:#496d50}
.hd-page .hd-step-grid h3{font:700 24px/1.2 Archivo,Arial,sans-serif;margin:23px 0 12px;letter-spacing:-.03em}
.hd-page .hd-faq{background:#f5f4f0}
.hd-page .hd-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(55px,9vw,150px);align-items:start}
.hd-page .hd-faq-intro{font-size:15px;line-height:1.8;color:#556257;margin-top:22px;max-width:390px}
.hd-page .hd-faq-list{border-top:1px solid #bac6b9}
.hd-page .hd-faq-list details{border-bottom:1px solid #bac6b9;padding:20px 0}
.hd-page .hd-faq-list summary{display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font:700 18px/1.4 Archivo,Arial,sans-serif;color:#1b2920}
.hd-page .hd-faq-list summary::-webkit-details-marker{display:none}
.hd-page .hd-faq-list summary::after{content:'+';font:400 26px Archivo,Arial,sans-serif;flex-shrink:0;color:#466749}
.hd-page .hd-faq-list details[open] summary::after{content:'−'}
.hd-page .hd-faq-list details p{font-size:14px;line-height:1.8;color:#526157;margin:16px 0 0}
.hd-page .hd-final{position:relative;isolation:isolate;min-height:540px;background:#132018;color:#fff;display:flex;align-items:center}
.hd-page .hd-final-image{position:absolute;inset:0;z-index:0}
.hd-page .hd-final-image img{display:block;width:100%;height:100%;object-fit:cover}
.hd-page .hd-final-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,18,11,.85),rgba(6,18,11,.25)),linear-gradient(0deg,rgba(5,15,8,.33),transparent)}
.hd-page .hd-final-content{position:relative;z-index:2;padding-block:90px}
.hd-page .hd-final h2{font:700 clamp(45px,5.7vw,80px)/1.09 Archivo,Arial,sans-serif;letter-spacing:-.05em;color:#fff;max-width:820px;margin:0 0 20px}
.hd-page .hd-final-content>p:not(.hd-kicker){font-size:16px;line-height:1.75;color:#eff3ee;margin:0 0 28px;max-width:500px}
@media(max-width:980px){
 .hd-page .hd-intro-grid,.hd-page .hd-design-grid,.hd-page .hd-faq-grid{grid-template-columns:1fr;gap:30px}
 .hd-page .hd-design-photo{height:440px}
 .hd-page .hd-three,.hd-page .hd-step-grid{gap:22px}
}
@media(max-width:680px){
 .hd-page .hd-container{width:calc(100% - 40px)}
 .hd-page .hd-section{padding:70px 0}
 .hd-page .hd-hero{height:auto;min-height:700px;max-height:none}
 .hd-page .hd-hero-content{min-height:700px;padding:145px 0 75px;justify-content:center}
 .hd-page .hd-hero h1{font-size:clamp(43px,10.7vw,61px);letter-spacing:-.054em;line-height:1.07;margin:0 0 20px;max-width:100%}
 .hd-page .hd-hero-tail{display:inline}
 .hd-page .hd-kicker{font-size:10px;letter-spacing:.13em;margin-bottom:18px}
 .hd-page .hd-hero-tail{display:block}
.hd-page .hd-hero-lead{font-size:15px;line-height:1.67;margin:0 0 28px;max-width:100%}
 .hd-page .hd-hero-actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}
 .hd-page .hd-btn{width:100%;min-height:54px}
 .hd-page .hd-title{font-size:clamp(35px,8.7vw,45px);line-height:1.12;letter-spacing:-.045em}
 .hd-page .hd-copy p,.hd-page .hd-section-header>p:last-child{font-size:15px;line-height:1.72}
 .hd-page .hd-section-header{margin-bottom:32px}
 .hd-page .hd-intro-grid{gap:22px}
 .hd-page .hd-feature-image{margin:33px 0 0}
 .hd-page .hd-feature-image img{height:260px}
 .hd-page .hd-feature-image figcaption{font-size:10px}
 .hd-page .hd-three,.hd-page .hd-step-grid,.hd-page .hd-system-grid{grid-template-columns:1fr;gap:21px}
 .hd-page .hd-three article,.hd-page .hd-step-grid article{padding-top:20px}
 .hd-page .hd-three h3,.hd-page .hd-step-grid h3{margin:14px 0 9px;font-size:23px}
 .hd-page .hd-system-grid article{padding:25px 22px}
 .hd-page .hd-system-grid h3{font-size:25px}
 .hd-page .hd-design-grid{gap:31px}
 .hd-page .hd-design-photo{height:310px}
 .hd-page .hd-design-content .hd-title{margin-bottom:24px}
 .hd-page .hd-detail{padding:17px 0}
 .hd-page .hd-faq-grid{gap:30px}
 .hd-page .hd-faq-list details{padding:17px 0}
 .hd-page .hd-faq-list summary{font-size:16px}
 .hd-page .hd-final{min-height:460px}
 .hd-page .hd-final-content{padding-block:75px}
 .hd-page .hd-final h2{font-size:clamp(40px,9vw,53px)}
}
@media(max-width:360px){.hd-page .hd-hero h1{font-size:40px}}
