:root{--paper:#f9f9f5;--ink:#161b11;--green:#678c47;--muted:#777971}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;letter-spacing:-.045em}button,a,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}h1,h2,h3,p,figure,blockquote{margin:0}img{display:block;max-width:100%;object-fit:cover}button:focus-visible,a:focus-visible{outline:3px solid #91b96d;outline-offset:5px}h1,h2,h3{letter-spacing:-.06em;line-height:1.02}h2{font-size:58px;font-weight:600}h3{font-weight:500}.wrap{width:86.14%;max-width:1440px;margin-inline:auto}.skip{position:fixed;top:-60px;z-index:100;background:white;color:#111;padding:15px}.skip:focus{top:0}.hero{height:62.5vw;max-height:1045px;min-height:700px;position:relative;color:#f3f3ed;background:#161b11 url('assets/hero-optimized.webp') center/cover}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#161b11 0%,transparent 55%)}nav{position:relative;display:flex;align-items:center;justify-content:space-between;height:100px;gap:30px;font-size:16px;z-index:3}.brand{display:flex;align-items:center;font-size:27px;font-weight:500;letter-spacing:-.075em;white-space:nowrap}.brand img{width:36px;height:38px;margin-right:6px;object-fit:contain}.nav-center,.nav-right{display:flex;align-items:center;gap:42px}.nav-right{gap:24px}.outline{border:1px solid #bbc0b0;border-radius:30px;padding:6px 14px}.outline span{margin-left:12px}.menu{display:none}.hero-copy{position:absolute;left:6.93%;bottom:18%;margin:0}.tag{display:inline-flex;align-items:center;border:1px solid #c3c7bd;border-radius:30px;padding:2px 7px;font-size:14px;line-height:1;letter-spacing:-.035em;font-weight:400;color:#72766d}.tag:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:4px}.hero .tag{color:#c3c6be;border-color:#697263;background:#ffffff0b}.hero h1{font-size:60px;font-weight:500;margin:15px 0 25px;line-height:.99;letter-spacing:-.065em}.hero-copy>p{color:#adb2a6;font-size:20px;line-height:1.5;letter-spacing:-.04em}.actions{display:flex;gap:35px;align-items:center;margin-top:22px}.green{background:var(--green);color:#f9f9f5;border-radius:40px;padding:17px 25px;box-shadow:0 4px 9px #5c7f4760,0 14px 50px #678c4750;font-size:20px;letter-spacing:-.045em;display:inline-flex;align-items:center;justify-content:center;gap:15px}.green:hover{background:#739b50}.text-button{font-size:20px;padding:10px 0}.text-button span{margin-left:10px}.mood-row{position:absolute;bottom:7%;left:6.93%;display:flex;align-items:center;justify-content:space-between;color:#aab0a0;font-size:16px}.moods{width:240px;display:flex;justify-content:end;flex-wrap:wrap;gap:8px}.moods :is(button,.trust-item){border:1px solid #555e49;border-radius:25px;padding:3px 7px;font-size:16px;line-height:1}.moods :is(button,.trust-item)[aria-pressed=true]{background:#678c47;color:white}.how{padding-top:100px;display:grid;grid-template-columns:1.1fr .91fr;gap:10%;align-items:start}.how h2{margin:16px 0 40px}.how-left>img{width:100%;aspect-ratio:593/389;border-radius:20px}.how-right{padding-top:61px}.lead{font-size:20px;line-height:1.5;color:var(--muted);letter-spacing:-.035em}.steps{list-style:none;padding:0;margin:45px 0 36px;display:grid;gap:20px}.steps li{display:flex;position:relative;gap:13px;padding-left:26px}.steps li:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:8px;background:#e0e3db}.steps li.active:before{background:var(--green)}.steps li.active h3,.steps li.active .step-icon{color:var(--green)}.step-icon{font-size:27px;width:20px;flex-shrink:0;line-height:1}.steps h3{font-size:20px;margin:2px 0 13px;letter-spacing:-.045em;font-weight:600}.steps p{font-size:16px;line-height:1.5;color:var(--muted);letter-spacing:-.035em}.features{padding-top:100px}.section-head{text-align:center}.section-head h2{margin:18px 0 23px}.section-head>p{font-size:20px;line-height:1.25;color:var(--muted);letter-spacing:-.04em}.learn{display:inline-block;font-size:24px;font-weight:500;margin-top:20px}.learn span{margin-left:8px}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:42px}.features-grid article{position:relative}.features-grid article+article:before{content:'';position:absolute;left:-15px;top:32px;height:150px;width:1px;background:#ccd0c5}.feature-icon{display:grid;place-items:center;background:#e9ede2;width:50px;height:50px;border-radius:16px;font-size:30px}.features-grid h3{font-size:26px;line-height:.98;margin:23px 0}.features-grid p{font-size:16px;line-height:1.45;color:var(--muted);letter-spacing:-.04em}.community{padding-top:100px}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.articles>article>img{width:100%;aspect-ratio:389/291;border-radius:20px}.articles h3{font-size:26px;line-height:1.1;margin:24px 0 16px;min-height:57px}.byline{font-size:20px;color:var(--muted);white-space:nowrap}.byline b{color:var(--green);font-weight:600}.excerpt{font-size:16px;color:var(--muted);line-height:1.5;height:110px;overflow:hidden;margin-top:16px;mask-image:linear-gradient(#000 40%,transparent)}.metadata{display:flex;gap:25px;font-size:16px;color:#666b60;margin:20px 0 24px}.reading{width:100%;border:1px solid #c7cbc1;border-radius:40px;padding:12px;font-size:21px;letter-spacing:-.045em}.reading:hover{background:#edf0e8}.more{display:flex;margin:40px auto 0}.team{padding-top:100px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.portrait{display:block;width:100%;padding:0}.portrait img{width:100%;aspect-ratio:389/487;border-radius:20px}.team-grid h3{font-size:26px;margin-top:20px}.team-grid p{font-size:16px;color:var(--muted);margin-top:8px}.dots{display:flex;gap:5px;width:max-content;margin:40px auto 0;padding:6px;background:#efefeb;border-radius:20px}.dots button{width:9px;height:9px;background:#d8dad3;border-radius:50%;padding:0}.dots .selected{background:var(--green)}.numbers{padding-top:95px;text-align:center}.numbers h2{font-size:39px}.numbers>p{font-size:22px;line-height:1.2;color:var(--muted);margin-top:23px}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:25px}.stats>div{position:relative}.stats>div+div:before{content:'';position:absolute;left:0;top:15px;bottom:10px;width:1px;background:#ccd0c5}.stats strong{font-size:62px;letter-spacing:-.07em;line-height:1.2}.stats strong span{color:var(--green)}.stats p{font-size:20px;color:var(--muted);margin-top:4px}.testimonial{padding-top:105px;display:grid;grid-template-columns:1fr 3fr;gap:30px;padding-bottom:75px}.testimonial-side{display:flex;flex-direction:column;align-items:start;justify-content:space-between}.arrows{display:flex;gap:12px}.arrows button{width:52px;height:52px;border:1px solid #72776d;border-radius:50%;font-size:26px;color:#73796d}.arrows button:first-child{opacity:.4}.testimonial blockquote{font-size:39px;line-height:1.2;letter-spacing:-.05em;color:#888b82;font-weight:500}.author{display:flex;gap:12px;align-items:center;margin-top:42px}.author img{width:44px;height:44px;border-radius:50%}.author strong{font-size:20px;letter-spacing:-.04em}.author p{font-size:16px;color:var(--muted);margin-top:4px}.closing{background:#101609 url('assets/footer-optimized.webp') center bottom/100% auto no-repeat;color:var(--paper);position:relative;padding-top:260px;padding-bottom:100px}.closing:before{content:'';position:absolute;inset:0 0 auto;height:270px;background:linear-gradient(var(--paper),#f9f9f5aa 25%,transparent)}.final-cta{text-align:center;position:relative}.final-cta h2{font-size:78px;line-height:.99;letter-spacing:-.06em;color:#d6d8cd;font-weight:600}.final-cta p{font-size:21px;color:#adb2a1;margin:28px 20px 22px}.closing footer{position:relative;max-width:1000px;width:72%;margin:95px auto 0;padding:0 30px 30px;border-radius:20px;background:#10160940}.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:35px}.footer-grid .brand{font-size:27px}.footer-grid .brand img{width:35px}.footer-grid h3{font-size:20px;margin:12px 0 25px}.footer-grid p,.footer-grid a:not(.brand),.footer-grid button{font-size:16px;color:#a6ad9a;letter-spacing:-.035em;line-height:1.5}.footer-grid>div:first-child>p{margin-top:24px}.footer-grid button,.footer-grid a:not(.brand){display:block;text-align:left;padding:0;margin-bottom:12px}.footer-grid>div:last-child>button{overflow-wrap:anywhere}.footer-grid b{color:#eee}.footer-bottom{display:flex;justify-content:space-between;font-size:12px;color:#b0b5a7;margin-top:105px}.attribution{font-size:10px;color:#8d9780;margin-top:20px;letter-spacing:0}.attribution a{text-decoration:underline}dialog{border:0;border-radius:25px;max-width:540px;width:90%;padding:40px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#101609aa;backdrop-filter:blur(5px)}dialog h2{font-size:35px;margin:24px 0}dialog p{font-size:17px;line-height:1.5;color:#68715f;letter-spacing:-.025em;margin-bottom:25px}.close{position:absolute;right:18px;top:12px;font-size:30px}dialog .green{font-size:16px}
@media(min-width:1650px){.hero-copy{left:calc((100% - 1440px)/2)}.mood-row{left:calc((100% - 1440px)/2)}}
@media(max-width:1100px){h2{font-size:46px}.hero h1{font-size:52px}.hero-copy>p{font-size:17px}.green,.text-button{font-size:16px}.hero{min-height:650px}.nav-center{gap:22px}.brand{font-size:23px}.nav-right{gap:15px}.how{gap:7%;padding-top:80px}.how-right{padding-top:45px}.lead{font-size:17px}.steps{margin-top:30px;gap:15px}.steps h3{font-size:17px}.steps p{font-size:14px}.features-grid h3{font-size:22px}.features-grid p{font-size:14px}.section-head>p{font-size:17px}.articles h3{font-size:22px}.byline{font-size:16px}.team-grid h3{font-size:22px}.stats strong{font-size:49px}.stats p{font-size:16px}.testimonial blockquote{font-size:32px}.closing footer{width:86.14%}.final-cta h2{font-size:68px}.footer-grid{gap:25px}}
@media(max-width:760px){.wrap{width:88%}nav{height:80px}.nav-center{display:none}.nav-right{margin-left:auto}.nav-right>button:first-child{display:none}.nav-right .outline{font-size:13px}.menu{display:block;font-size:22px;padding:0}.brand{font-size:21px}.brand img{width:29px;height:31px}.open .nav-center{display:flex;position:absolute;left:0;right:0;top:75px;padding:25px;background:#161b11;border:1px solid #52603f;border-radius:15px;justify-content:space-between}.hero{min-height:760px;height:100svh;max-height:940px;background-position:60% center}.hero-copy{left:6%;bottom:22%;width:88%}.hero h1{font-size:clamp(37px,7vw,52px);line-height:1.02;letter-spacing:-.06em}.hero-copy>p{font-size:16px;line-height:1.4;max-width:520px}.desktop{display:none}.hero .tag{font-size:10px}.hero:before{background:linear-gradient(0deg,#161b11 0%,#161b1199 50%,transparent)}.actions{gap:18px;flex-wrap:wrap}.green{font-size:14px;padding:15px 20px}.text-button{font-size:13px}.mood-row{left:6%;bottom:6%;display:block;width:88%;font-size:14px}.moods{margin-top:20px;justify-content:start;width:auto;gap:8px}.moods :is(button,.trust-item){font-size:13px}.how{grid-template-columns:1fr;gap:32px;padding-top:60px}.how h2{font-size:42px;margin-bottom:28px}.how-right{padding-top:0}.lead{font-size:18px}.steps h3{font-size:20px}.steps p{font-size:16px}.steps{gap:25px}.how-right>.green{font-size:16px}.features,.community,.team{padding-top:75px}h2{font-size:40px}.tag{font-size:11px}.section-head>p{font-size:16px;line-height:1.4}.learn{font-size:20px}.features-grid{grid-template-columns:1fr 1fr;gap:35px 25px}.features-grid article+article:before{display:none}.features-grid h3{font-size:23px}.features-grid p{font-size:15px}.articles{grid-template-columns:1fr;gap:40px}.articles h3{font-size:26px;min-height:0;margin-top:20px}.byline{font-size:18px}.excerpt{font-size:16px;height:85px}.metadata{margin:15px 0;font-size:14px}.reading{font-size:18px}.team-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.team-grid article{min-width:83%;scroll-snap-align:center}.team-grid h3{font-size:24px}.team-grid p{font-size:15px}.numbers{padding-top:65px}.numbers h2{font-size:30px}.numbers>p{font-size:17px}.stats{grid-template-columns:1fr 1fr;gap:30px 10px}.stats>div:nth-child(3):before{display:none}.stats strong{font-size:45px}.stats p{font-size:14px}.testimonial{padding-top:75px;grid-template-columns:1fr;gap:25px;padding-bottom:30px}.testimonial-side{flex-direction:row;align-items:center}.arrows button{width:36px;height:36px;font-size:20px}.testimonial blockquote{font-size:28px}.author{margin-top:25px}.closing{padding-top:180px;padding-bottom:40px;background-size:auto 750px}.closing:before{height:190px}.final-cta h2{font-size:49px}.final-cta p{font-size:17px;margin:25px 6%;line-height:1.4}.closing footer{width:88%;padding:0;margin-top:70px;background:transparent}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid h3{font-size:18px;margin-bottom:20px}.footer-grid p,.footer-grid a:not(.brand),.footer-grid button{font-size:15px}.footer-bottom{margin-top:50px;gap:25px;flex-wrap:wrap}.attribution{font-size:10px;line-height:1.5}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:761px){nav{height:70px}.hero h1{font-size:58px;font-weight:400;letter-spacing:-.065em}.hero-copy>p{font-weight:300}.community{padding-top:45px}.team{padding-top:45px}.numbers{padding-top:72px}.testimonial{padding-top:73px}}.feature-icon svg{width:28px;height:28px}.step-icon svg{width:23px;height:23px}.brand{font-weight:400}
@media(max-width:760px){nav{gap:12px}.nav-right .outline{white-space:nowrap;font-size:12px;padding:7px 10px}.nav-right .outline span{margin-left:3px}}

/* Homepage roofing navigation */
nav .nav-center{gap:24px;white-space:nowrap}nav .nav-center>button,nav .nav-trigger{font-size:14px}.nav-dropdown{position:relative}.nav-trigger{display:flex;align-items:center;gap:7px;padding:12px 0}.nav-submenu{position:absolute;top:100%;left:-18px;min-width:185px;background:#f9f9f5;color:#202b1b;border:1px solid #dce0d4;border-radius:13px;box-shadow:0 12px 35px #0003;padding:8px;z-index:10}.nav-submenu[hidden]{display:none}.nav-submenu :is(button,a){display:block;width:100%;text-align:left;padding:12px;border-radius:7px;font-size:14px}.nav-submenu :is(button,a):hover,.nav-submenu :is(button,a):focus-visible{background:#e5ebda}.nav-trigger[aria-expanded="true"] span{transform:rotate(180deg)}
@media(min-width:761px) and (max-width:1100px){nav{gap:18px}.nav-center{gap:14px!important}nav .brand{font-size:20px}nav .nav-center>button,nav .nav-trigger{font-size:12px}}
@media(max-width:760px){nav.open .nav-center{flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100vh - 110px);overflow:auto}.nav-center>button,.nav-trigger{text-align:left;padding:12px 0!important;font-size:16px!important}.nav-trigger{width:100%;justify-content:space-between}.nav-submenu{position:static;margin:0 0 8px;box-shadow:none;min-width:0}.nav-right>button.outline:first-child{display:block}}

nav .urban-brand{flex-shrink:0}nav .urban-brand img{width:205px;height:58px;margin:0;object-fit:contain}@media(max-width:760px){nav .urban-brand img{width:145px;height:48px}}

nav .placeholder-brand{white-space:nowrap;flex-shrink:0}.placeholder-symbol{display:block;width:36px;height:38px;flex-shrink:0;margin-right:6px;background:#c1e52c;-webkit-mask:url('assets/logo.png') center/contain no-repeat;mask:url('assets/logo.png') center/contain no-repeat}@media(max-width:760px){.placeholder-symbol{width:29px;height:31px}nav .placeholder-brand{font-size:20px}}

/* Hero review revisions */
.hero .nav-right .outline:hover,.hero .nav-right .outline:focus-visible{background:#C6F729;color:#000;border-color:#C6F729}.hero .nav-right .outline{transition:background .18s,color .18s,border-color .18s}.hero{height:min(55vw,100svh);min-height:580px;max-height:100svh}.hero-copy{bottom:23%}.hero h1{margin-bottom:22px}.hero .actions{margin-top:0}.mood-row{justify-content:flex-end}.placeholder-symbol{background:#C6F729}@media(max-width:760px){.hero{height:100svh;min-height:560px;max-height:none}.hero-copy{bottom:24%}}@media(max-height:600px) and (min-width:761px){.hero{min-height:100svh}.hero-copy{bottom:20%}.hero h1{font-size:46px}.hero .tag{font-size:11px}.mood-row{bottom:4%}}

/* Move the homepage hero content group down 15px. */
.hero .hero-copy{transform:translateY(30px)}

/* Services: Original concept framework, foundation styling. */
.home-services{padding-top:90px;padding-bottom:20px}.home-services .section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:40px}.home-services h2{margin-top:20px;font-size:54px;font-weight:500}.home-services .section-heading>p{font-size:18px;line-height:1.5;color:var(--muted);padding-bottom:5px}.home-services .service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-services .service-tile{height:465px;border-radius:24px;position:relative;overflow:hidden;color:#f9f9f5;isolation:isolate;display:block}.home-services .service-tile>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.home-services .service-tile:first-child>img{object-position:72% 60%}.home-services .service-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#161b11ed,transparent 85%);z-index:0}.home-services .tile-copy{position:absolute;bottom:30px;left:28px;right:28px;z-index:1}.home-services .tile-number{font-size:12px;color:#d4dfc4;letter-spacing:.06em}.home-services h3{font-size:36px;letter-spacing:-.055em;margin-top:12px;font-weight:500}.home-services .tile-reveal{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s,opacity .35s}.home-services .tile-reveal p{font-size:16px;line-height:1.5;color:#d0d5c7;margin:18px 0}.home-services .tile-cta{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#C6F729;border-top:1px solid #ffffff35;padding-top:16px}.home-services .tile-cta b{font-size:21px;font-weight:400}.home-services .tile-arrow{position:absolute;top:22px;right:22px;width:42px;height:42px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;font-size:22px;z-index:1;transition:background .3s,color .3s}.home-services .service-tile:hover img,.home-services .service-tile:focus-visible img{transform:scale(1.05)}.home-services .service-tile:hover .tile-reveal,.home-services .service-tile:focus-visible .tile-reveal{max-height:220px;opacity:1}.home-services .image-note{font-size:11px;line-height:1.5;color:var(--muted);margin-top:18px;letter-spacing:0}@media(max-width:1000px){.home-services .service-grid{gap:16px}.home-services .tile-copy{left:22px;right:22px}.home-services .service-tile{height:420px}.home-services h2{font-size:46px}}@media(max-width:760px){.home-services{padding-top:60px}.home-services .section-heading{display:block;margin-bottom:28px}.home-services h2{font-size:42px}.home-services .section-heading>p{font-size:16px;margin-top:20px}.home-services .service-grid{grid-template-columns:1fr;gap:20px}.home-services .service-tile{height:430px}.home-services .tile-reveal{max-height:220px;opacity:1}}@media(hover:none){.home-services .tile-reveal{max-height:220px;opacity:1}}@media(prefers-reduced-motion:reduce){.home-services .service-tile>img,.home-services .tile-reveal,.home-services .tile-arrow{transition:none}}
/* HOME-10 / Link 01: softer Roofing card accents. */
.home-services .service-tile .tile-cta{color:#fff}

/* Softer accents for the Roofing service card. */
.home-services .service-tile .tile-cta{color:#fff}

/* HOME-06: natural spacing around the plus signs. */
.numbers .stats strong{white-space:nowrap}
.numbers .stats .stat-value{color:inherit}
.numbers .stats .stat-plus{letter-spacing:normal;white-space:pre;word-spacing:-.12em}

/* HOME-06 and HOME-11: compact Impact followed by the ORIGINAL-03 About layout. */
.numbers{padding-top:48px}
.numbers>p{margin-top:0}
.home-about{display:grid;grid-template-columns:.45fr 1fr;gap:60px;padding-top:90px}
.home-about>div:first-child{padding-top:8px}
.home-about h2{font-size:clamp(38px,4.3vw,64px)}
.home-about h2 em{font-style:normal;color:var(--green)}
.home-about-bottom{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:40px;margin-top:30px}
.home-about-bottom>p{font-size:20px;line-height:1.5;letter-spacing:-.035em;color:var(--muted);max-width:490px}
.home-about-link{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:18px;line-height:1.3;padding:12px 0;border-bottom:1px solid #c3c7bd}
.home-about-link span{font-size:25px;color:var(--green)}
.home-about-link:hover{color:var(--green)}
@media(max-width:1100px){.home-about{grid-template-columns:.3fr 1fr;gap:30px}.home-about-bottom{gap:25px}.home-about-bottom>p{font-size:18px}}
@media(max-width:850px){.home-about{grid-template-columns:1fr;gap:22px;padding-top:70px}.home-about>div:first-child{padding-top:0}}
@media(max-width:760px){.numbers{padding-top:32px}.home-about{padding-top:60px}.home-about h2{font-size:40px}.home-about-bottom{grid-template-columns:1fr;gap:20px;margin-top:24px}.home-about-bottom>p{font-size:17px}.home-about-link{justify-self:start;font-size:17px;gap:25px}}

/* HOME-12: compact, neutral company promises. */
.home-promise{padding-top:60px}
.promise-heading{margin-bottom:28px}
.promise-heading h2{font-size:44px;font-weight:500;margin-top:16px}
.promise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.promise-tile{min-width:0;padding:24px;border:1px solid #e3e4df;border-radius:20px;background:#f0f1ed;color:var(--ink);display:flex;flex-direction:column;gap:18px}
.promise-icon{width:30px;height:30px;color:var(--green);flex-shrink:0}
.promise-tile h3{font-size:23px;line-height:1.15;font-weight:500;letter-spacing:-.045em}
.promise-tile p{font-size:16px;line-height:1.45;letter-spacing:-.025em;color:#68715f;margin-top:10px}
@media(max-width:1100px){.promise-grid{gap:16px}.promise-tile{padding:22px}.promise-tile h3{font-size:22px}}
@media(max-width:850px){.promise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home-promise{padding-top:45px}.promise-heading{margin-bottom:24px}.promise-heading h2{font-size:36px}.promise-grid{grid-template-columns:1fr;gap:14px}.promise-tile{padding:22px;gap:14px}.promise-tile h3{font-size:23px}}

/* HOME-12: gentle movement of tile contents on hover. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .home-promise .promise-tile>.promise-icon,.home-promise .promise-tile>div{transition:transform .3s cubic-bezier(.2,.65,.3,1)}
  .home-promise .promise-tile:hover>.promise-icon,.home-promise .promise-tile:hover>div{transform:translateY(-6px)}
}

/* HOME-10: keep the corner arrows white in every interaction state. */
.home-services .service-tile .tile-arrow{color:#fff;background:transparent;border-color:#ffffff70;transition:none}

/* HOME-03: equal weight for the three experience highlights. */
#support .features-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
#support .feature-icon{color:var(--green)}
#support .features-grid article+article:before{left:-20px}
@media(max-width:760px){#support .features-grid{grid-template-columns:1fr;gap:32px}#support .features-grid article{display:grid;grid-template-columns:50px 1fr;column-gap:18px}#support .feature-icon{grid-row:1/3}#support .features-grid h3{margin:0 0 12px}#support .features-grid h3 br{display:none}#support .features-grid p{grid-column:2}}

/* Soft sage halo on homepage section-label dots. */
main .tag::before{box-shadow:0 0 0 2px #678c4714,0 0 6px 2px #678c4740}

/* HOME-03: centered feature content and sage Learn More link. */
#support .features-grid article{text-align:center}
#support .feature-icon{margin-inline:auto}
#support .learn{color:#000;font-size:20px}
#support .learn:hover{color:var(--green)}
@media(max-width:760px){#support .learn{font-size:18px}}
@media(max-width:760px){#support .features-grid article{display:block}#support .features-grid h3{margin:20px 0 12px}}

/* HOME-08 / HOME-09: Mediva contact and footer layouts in the foundation palette. */
.home-contact{margin:0 20px 20px;padding:48px 5%;border-radius:24px;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;background:linear-gradient(90deg,#161b11ed,#161b1180),url('assets/contact-home-optimized.webp') center/cover;color:var(--paper)}
.home-contact .tag{color:#d6ddce;border-color:#ffffff50}
.home-contact h2{font-size:52px;font-weight:500;margin-top:22px}
.home-contact .contact-intro>p{font-size:18px;line-height:1.5;margin-top:24px;max-width:360px;color:#d3dacb}
.home-contact .phone-slot{display:flex;flex-direction:column;gap:10px;margin-top:40px;font-size:16px;color:#d3dacb}
.home-contact .phone-slot strong{font-size:22px;font-weight:500;color:var(--paper)}
.home-contact .phone-slot small{font-size:13px}
.home-contact .contact-form{padding:32px;background:var(--paper);color:var(--ink);border-radius:20px}
.home-contact .contact-form>h3{font-size:28px;line-height:1.15;margin-bottom:12px}
.home-contact .form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.home-contact label{display:block;min-width:0;margin:18px 0;font-size:14px;line-height:1.4;letter-spacing:-.02em}
.home-contact input,.home-contact select{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #bdc6b3;padding:12px 0;background:transparent;color:var(--ink);font:inherit;font-size:16px;border-radius:0}
.home-contact input:focus-visible,.home-contact select:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.home-contact .green{width:100%;font-size:17px;margin-top:16px;justify-content:space-between;box-shadow:none}
.home-contact .preview-note{display:block;font-size:12px;color:var(--muted);letter-spacing:0;margin-top:16px;line-height:1.4}
.home-contact .form-status{font-size:15px;line-height:1.5;margin-top:14px;color:var(--green)}
.home-contact .form-status:empty{display:none}
.home-footer{background:#101609;color:#e9eddf;padding:65px 0 28px}
.home-footer .footer-grid{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:30px}
.home-footer .brand{font-size:24px;white-space:normal}
.home-footer .footer-grid h3{font-size:14px;text-transform:uppercase;letter-spacing:.025em;font-weight:400;color:#b8c1ad;margin:4px 0 24px}
.home-footer .footer-grid p{font-size:15px;line-height:1.5;margin:24px 0 18px;color:#b8c1ad}
.home-footer .footer-grid a:not(.brand),.home-footer .footer-grid button,.home-footer .footer-grid>div>span{font-size:14px;color:#d2d8ca;display:block;background:none;padding:0;text-align:left;margin:0 0 14px;line-height:1.4}
.home-footer .footer-grid a:hover,.home-footer .footer-grid button:hover{text-decoration:underline}
.home-footer .footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px}
.home-footer .footer-legal button{padding:0;background:none;color:inherit;font:inherit;text-align:left}
.home-footer .footer-legal button:hover{text-decoration:underline}
.home-footer .footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid #ffffff25;font-size:12px;line-height:1.5;gap:25px;color:#aeb9a2}
@media(max-width:1100px){.home-contact{gap:40px;padding:40px}.home-contact h2{font-size:44px}}
@media(max-width:760px){.home-contact{margin:0 12px 15px;padding:30px 24px;grid-template-columns:1fr;gap:32px;border-radius:20px}.home-contact h2{font-size:40px}.home-contact .contact-form{padding:24px}.home-contact .form-row{grid-template-columns:1fr;gap:0}.home-contact .phone-slot{margin-top:28px}.home-footer{padding-top:45px}.home-footer .footer-grid{grid-template-columns:1fr 1fr;gap:30px 24px}.home-footer .footer-grid>div:last-child{grid-column:auto}.home-footer .footer-bottom{flex-direction:column;margin-top:35px;gap:12px}}

@media(max-width:900px){.home-footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-footer .footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:760px){.home-footer .footer-legal{justify-content:flex-start}}
@media(max-width:420px){.home-footer .footer-grid{grid-template-columns:1fr 1fr}}


/* HOME-09: align the footer navigation with the consultation form. */
.home-footer>.wrap{width:auto;max-width:none;margin:0 20px;padding-inline:5vw}
.home-footer .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9%}
.home-footer .footer-grid>.footer-identity{grid-column:auto}
.home-footer .footer-navigation{display:flex;justify-content:space-between;gap:24px}
.home-footer .footer-navigation>div{min-width:0}
.home-footer .footer-navigation>div:last-child{text-align:left}
.home-footer .footer-navigation>div:last-child a,.home-footer .footer-navigation>div:last-child button{text-align:left}
.home-footer .footer-logo{display:block;width:min(100%,420px);line-height:0;margin-top:-26px;margin-left:-22px}
.home-footer .footer-logo img{display:block;width:100%;height:auto}
.home-footer .footer-identity p{font-size:18px;line-height:1.5;margin:0 0 18px}
.home-footer .footer-identity>span{font-size:16px}
@media(max-width:1100px){
 .home-footer>.wrap{padding-inline:40px}
 .home-footer .footer-grid{gap:40px}
 .home-footer .footer-navigation{gap:18px}
}
@media(max-width:760px){
 .home-footer>.wrap{margin-inline:12px;padding-inline:24px}
 .home-footer .footer-grid{grid-template-columns:1fr;gap:35px}
 .home-footer .footer-grid>.footer-identity{grid-column:auto}
 .home-footer .footer-logo{width:min(100%,360px);margin-left:-18px}
 .home-footer .footer-navigation{gap:20px}
 .home-footer .footer-identity p{font-size:17px}
}
@media(max-width:420px){
 .home-footer .footer-navigation{flex-wrap:wrap;gap:28px 20px}
 .home-footer .footer-navigation>div{flex:1 0 40%}
 .home-footer .footer-navigation>div:last-child,.home-footer .footer-navigation>div:last-child a,.home-footer .footer-navigation>div:last-child button{text-align:left}
}

.home-footer .footer-contact p{font-size:14px;line-height:1.4;color:#d2d8ca;margin:0 0 14px;overflow-wrap:anywhere}


/* HOME-01: compact trust labels aligned with the hero actions. */
.hero{height:calc(min(55vw,100svh) - 20px);min-height:560px;max-height:calc(100svh - 20px)}
.hero .mood-row{bottom:calc(23% - 15px);pointer-events:none}
.hero .moods{width:250px;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:auto}
.hero .moods :is(button,.trust-item){width:max-content;max-width:100%;padding:5px 10px}
@media(max-width:760px){
 .hero{height:calc(100svh - 20px);min-height:540px;max-height:none}
 .hero .mood-row{bottom:6%}
 .hero .moods{width:100%;flex-direction:row;justify-content:flex-start;align-items:center;margin-top:0}
}
@media(max-height:600px) and (min-width:761px){
 .hero{min-height:calc(100svh - 20px)}
 .hero .mood-row{bottom:calc(20% - 15px)}
}


/* HOME-01: two-by-two trust labels with a soft sage halo. */
.hero .moods{display:grid;grid-template-columns:max-content max-content;width:max-content;max-width:100%;gap:10px;justify-items:end;align-items:center}
.hero .moods :is(button,.trust-item){border-color:#678c4780;box-shadow:0 0 0 1px #678c471a,0 0 12px 2px #678c4738}
@media(max-width:760px){
 .hero .moods{grid-template-columns:minmax(0,max-content) minmax(0,max-content);justify-items:start;gap:10px 8px}
 .hero .moods :is(button,.trust-item){line-height:1.2;text-align:center}
}

/* Move the trust labels down with the hero copy. */
.hero .mood-row{transform:translateY(15px)}


/* Homepage readability: relaxed supporting text, original tight headlines. */
.home-page{--muted:#62685e}
.home-page p,
.home-page .hero nav .nav-center,
.home-page .hero nav .nav-center button,
.home-page .hero nav .nav-right button,
.home-page .hero .moods :is(button,.trust-item),
.home-page .home-contact label,
.home-page .home-contact input,
.home-page .home-contact select,
.home-page .home-footer .footer-navigation a,
.home-page .home-footer .footer-navigation button,
.home-page .home-footer .footer-bottom{letter-spacing:-.015em}
.home-page .home-about p,
.home-page .promise-tile p,
.home-page .steps p{color:#62685e}
.home-page .testimonial blockquote{color:#62685e}

/* Centered Maryland roof concept photography for the homepage hero. */
.home-page .hero{background-image:url('assets/hero-maryland-roof-v6-optimized.webp');background-position:center center}

.home-page .hero:before{background:linear-gradient(0deg,#161b11 0%,#161b1173 40%,#161b111a 72%,#161b1160 100%)}

/* Brighter hero eyebrow for legibility over the photograph. */
.home-page .hero .hero-copy>.tag{color:#fff;border-color:#ffffff80;background:#161b1159}

/* HOME-02 heading follows HOME-12 type size. */
.home-page #how:not(.roof-process-aligned) h2{font-size:44px}
@media(max-width:600px){.home-page #how:not(.roof-process-aligned) h2{font-size:36px}}

/* ARTICLE-06 footer palette, preserving the shared footer layout. */
.home-footer .footer-grid h3{color:#e9eddf}
.home-footer .footer-grid a:not(.brand),.home-footer .footer-grid button,.home-footer .footer-grid p,.home-footer .footer-grid>div>span{color:#a4ae97}
.home-footer .footer-bottom{color:#929f82;border-top-color:#ffffff20}

.home-contact .consult-form>.green{display:flex;width:fit-content;max-width:100%;margin:16px auto 0;padding-inline:28px;justify-content:center;text-align:center}

/* Compact, coordinated hero actions at every breakpoint. */
.home-page .hero .actions .green,.home-page .hero .actions .text-button{font-size:18px;line-height:1.25;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.home-page .hero .actions .green{padding:14px 22px}
.home-page .hero .actions .text-button{padding:14px 0}
@media(max-width:1100px){.home-page .hero .actions .green,.home-page .hero .actions .text-button{font-size:15px;min-height:46px}.home-page .hero .actions .green{padding:13px 20px}}
@media(max-width:760px){.home-page .hero .actions .green,.home-page .hero .actions .text-button{font-size:12px;min-height:44px}.home-page .hero .actions .green{padding:12px 18px}.home-page .hero .actions .text-button{padding:12px 0}}

nav .nav-trigger .nav-chevron{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex:0 0 12px;line-height:1;transform-origin:center}nav .nav-chevron svg{display:block;width:12px;height:12px}
