/* Inner pages reuse homepage components from style.css and premium.css.
   This file only defines layouts and controls unique to those pages. */
.inner-main{overflow:hidden}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:#e5ede4;font-size:10px;margin-bottom:17px}
.breadcrumbs a:hover,.breadcrumbs a:focus-visible{color:#fff;text-decoration:underline;text-decoration-color:var(--red)}
.inner-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.inner-card.service-card,.inner-card.service-card:nth-child(n+4){grid-column:auto}
.inner-card-image{display:flex;align-items:center;justify-content:center}
.inner-card-symbol{display:grid;place-items:center;width:66px;height:66px;border:1px solid var(--red);border-radius:50%;color:var(--red)}
.inner-card-symbol svg{width:34px;height:34px}
.inner-card-copy .explore{width:100%}
.inner-split-reverse .inner-photo{order:2}
.inner-photo{padding-bottom:8px}
.inner-photo>img{height:auto;aspect-ratio:1;object-fit:cover;object-position:center;filter:none}
.point-icon{display:grid;place-items:center;margin:0 auto 23px;color:#ff0004;border:1px solid #dfc69966;border-radius:50%;width:62px;height:62px;background:#ffffff08}
.inner-cta{margin:0}
.inner-main .cta-parallax h2{white-space:normal}
.areas-hub .area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:25px}
.areas-hub .area-list a{display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 13px;border:1px solid var(--red);border-radius:3px;background:linear-gradient(145deg,#02340e,#105724);color:#fff;font-size:11px;box-shadow:0 14px 30px #02340e33;transition:transform .3s,border-color .3s,box-shadow .3s}
.areas-hub .area-list a:hover,.areas-hub .area-list a:focus-visible{transform:translateY(-3px);border-color:#f44d59;box-shadow:0 0 12px #d8243240}
.areas-hub .area-list svg{width:18px;height:18px;color:var(--red)}
.review-fallback{text-align:center;font-size:12px;color:#4f5d51;margin:14px auto 0}
.review-fallback a{color:var(--red);text-decoration:underline}
.resource-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.resource-nav a{border:1px solid var(--red);border-radius:3px;padding:8px 13px;font-size:11px;color:#fff;background:linear-gradient(145deg,#02340e,#105724)}
.resource-nav a:hover{transform:translateY(-3px);border-color:#f44d59}
.resource-guide{scroll-margin-top:115px;max-width:900px;border-top:1px solid #d8243266}
.resource-guide h3{font-size:31px;margin:31px 0 10px}
.resource-guide .explore{margin-top:10px}
@media(max-width:980px){.inner-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.hero .breadcrumbs{justify-content:center;margin-bottom:15px}.inner-card-grid{grid-template-columns:1fr}.inner-split-reverse .inner-photo{order:0}.areas-hub .area-list{grid-template-columns:1fr}}
.work-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.work-featured-grid figure{margin:0}
.work-featured-grid img{display:block;width:100%;height:320px;object-fit:cover}
.work-featured-grid figcaption{padding:15px 17px;color:#fff;font-size:13px;font-weight:700}
.project-showcases{display:grid;gap:clamp(28px,4vw,58px)}
.project-showcase{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,1.45fr);gap:clamp(24px,4vw,50px);align-items:center;padding:clamp(18px,3vw,32px);border:1px solid #d82432;border-radius:5px;}
.project-copy{text-align:center}
.project-kicker{margin:0 0 18px}
.project-copy h3{margin:0 0 16px;color:#fff;font-family:var(--heading);font-size:31px;line-height:1.04}
.project-copy>p:not(.project-kicker){color:#dce9de;font-size:12px;line-height:1.9}
.project-viewer{min-width:0;outline:none}
.project-viewer:focus-visible{border-radius:6px;box-shadow:0 0 0 3px #d8243280}
.project-image-frame{position:relative;height:min(52vw,610px);min-height:390px;border:1px solid #d82432;border-radius:6px;overflow:hidden;background:#021607;box-shadow:0 0 20px #d824323b}
.project-image-frame img{display:block;width:100%;height:100%;object-fit:contain}
.project-image-frame [data-project-counter]{position:absolute;right:14px;bottom:14px;padding:8px 12px;border:1px solid #d82432;border-radius:100px;background:#031a0de0;color:#fff;font-size:11px;font-weight:800}
[data-project-caption]{min-height:25px;margin:12px 0;color:#dce6dc;font-size:13px;font-weight:700;text-align:center}
.project-controls{display:flex;justify-content:space-between;gap:12px}
.project-controls button{min-width:120px}
.project-thumbnails{display:grid;grid-auto-flow:column;grid-auto-columns:90px;gap:9px;margin-top:13px;padding-bottom:9px;overflow-x:auto}
.project-thumbnails button{height:74px;padding:3px;border:2px solid transparent;border-radius:5px;background:#061e0d;cursor:pointer;opacity:.7}
.project-thumbnails button.is-active,.project-thumbnails button:focus-visible{border-color:#d82432;opacity:1}
.project-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}
.work-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.work-video-card{overflow:hidden;border:1px solid #d82432;border-radius:5px}
.work-video-play,.work-video-frame{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#021607;overflow:hidden;cursor:pointer}
.work-video-play img{display:block;width:100%;height:100%;object-fit:cover}
.work-video-play span{position:absolute;display:grid;place-items:center;width:58px;height:58px;border:1px solid #fff;border-radius:50%;background:#a81722e8;color:#fff;font-size:25px;padding-left:3px;box-shadow:0 0 18px #d8243260}
.work-video-frame iframe{width:100%;height:100%;border:0}
.work-video-card h3{padding:15px 17px;color:#fff;font-size:31px}
@media(max-width:980px){.work-featured-grid,.work-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-showcase{grid-template-columns:1fr}.project-image-frame{height:min(75vw,590px)}}
@media(max-width:650px){.work-featured-grid,.work-video-grid{grid-template-columns:1fr}.work-featured-grid img{height:270px}.project-showcase{padding:13px;gap:20px}.project-copy h3{font-size:31px}.project-image-frame{height:min(100vw,480px);min-height:0}.project-thumbnails{grid-auto-columns:75px}.project-thumbnails button{height:64px}.project-controls button{flex:1;min-width:0}}

/* Estimate page follows the approved sticky contact and full form reference. */
.estimate-page-body .inner-main{overflow:visible;background:#031d0d}
.estimate-page-body .estimate-hero{display:block;overflow:visible;min-height:100svh;isolation:isolate;text-align:left}
.estimate-hero #hero-video{position:fixed;inset:0;width:100%;height:100lvh;object-fit:cover;z-index:-2}
.estimate-hero .hero-shade{background:linear-gradient(90deg,#031d0dc9,#031d0d8a);position:absolute;inset:0;z-index:-1}
.estimate-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);align-items:start;gap:65px;width:min(1240px,100%);padding:34px 32px 42px}
.estimate-copy{position:sticky;top:145px;align-self:start;min-width:0}
.estimate-copy .breadcrumbs{justify-content:flex-start;margin:0 0 18px;color:#fff}
.estimate-page-body .estimate-copy h1{max-width:700px;margin:0 0 8px;color:#fff;font:800 clamp(48px,4.9vw,74px)/.98 var(--heading);letter-spacing:-.02em;text-transform:uppercase;white-space:normal}
.estimate-hero .estimate-location-heading{max-width:700px;margin:0 0 24px;font-size:clamp(38px,3.8vw,58px);line-height:1.03;letter-spacing:-.01em}
.estimate-location-heading>span{display:block;background:linear-gradient(0deg,#5daf72,#e4f4db);background-clip:text;-webkit-background-clip:text;color:transparent}
.estimate-location-heading>span+span{margin-top:5px}
.estimate-copy>p{max-width:700px;margin:0;color:#edf6ed;font-size:16px;line-height:1.9;text-shadow:0 3px 14px #0007}
.estimate-trust{display:grid;gap:8px;width:100%;max-width:430px;margin:24px 0 0}
.estimate-trust>span{display:flex;justify-content:flex-start;align-items:center;gap:12px;min-height:54px;padding:5px 4px;color:#fff;font-size:clamp(13px,1vw,16px);font-weight:800;line-height:1.2}
.estimate-trust img{width:36px;height:36px;object-fit:contain}
.estimate-contact{display:grid;gap:10px;width:100%;max-width:430px;margin-top:25px}
.estimate-contact a{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:47px;padding:10px 15px;color:#fff;font-size:13px;font-weight:700;line-height:1.2;text-align:center;background:linear-gradient(135deg,#ffffff24,#ffffff0d);border:1px solid #ffffff5c;border-radius:5px;box-shadow:inset 0 1px 0 #ffffff24,0 8px 24px #0002;backdrop-filter:blur(8px)}
.estimate-contact a:hover,.estimate-contact a:focus-visible{background:#ffffff30;border-color:#d82432}
.estimate-contact a span:last-child{overflow-wrap:anywhere}
.estimate-contact svg,.estimate-contact a>span:first-child{color:#f05d67}
.estimate-copy .estimate-hours{margin:14px 0 0;font-size:14px;line-height:1.7}
.estimate-form-card{min-width:0;height:auto;padding:24px 16px 0;border:2px solid #d82432;border-radius:5px;background:transparent;color:#fff;box-shadow:0 0 10px #d82432b3,0 0 26px #d8243266,inset 0 0 8px #d8243233;text-align:center;scroll-margin-top:145px}
.estimate-form-card>h2{margin:0 0 12px;color:#fff;font-size:clamp(32px,2.8vw,42px);line-height:1.06}
.estimate-form-card>p{margin:0 auto 12px;color:#dceadc;font-size:14px;line-height:1.7}
.estimate-form-card iframe{display:block;width:100%;background:transparent;color-scheme:light}
.estimate-page-body footer{margin-top:0}
@media(max-width:1100px){.estimate-layout{grid-template-columns:1fr;gap:30px;padding:45px 24px 40px}.estimate-copy{position:static}.estimate-copy .breadcrumbs{justify-content:center}.estimate-form-card{max-width:700px;width:100%;margin:auto}.estimate-page-body .estimate-copy h1{font-size:clamp(42px,8vw,62px)}.estimate-hero .estimate-location-heading{font-size:clamp(30px,5.5vw,40px)}}
@media(max-width:650px){.estimate-layout{padding:32px 17px 30px}.estimate-page-body .estimate-copy h1{font-size:clamp(38px,11vw,52px)}.estimate-hero .estimate-location-heading{font-size:clamp(24px,7vw,29px)}.estimate-copy>p{font-size:14px;line-height:1.75}.estimate-trust{gap:6px}.estimate-trust>span{min-height:58px;font-size:clamp(12px,3.5vw,15px)}.estimate-contact a{font-size:12px}.estimate-copy .estimate-hours{font-size:12px}.estimate-form-card{padding:22px 8px 0;scroll-margin-top:105px}.estimate-hero .video-toggle{top:15px;bottom:auto}}
@media(prefers-reduced-motion:reduce){.estimate-hero #hero-video{position:absolute;height:100%}}
/* Resources, centered hero and complete linked articles. */
.resources-page .resources-hero,.resources-page .resources-hero .hero-layout{min-width:0;max-width:100%}
@media(max-width:650px){.resources-page .resources-hero .hero-layout{width:calc(100vw - 40px)}.resources-page .resources-hero .breadcrumbs{justify-content:center}}
.resource-article-page .resources-hero .hero-layout{grid-template-columns:minmax(0,900px);justify-content:center;text-align:center}
.resource-article-page .resources-hero .hero-content{width:100%;max-width:900px;text-align:center}
.resource-article-page .resources-hero .hero-content>p{margin-inline:auto}
.resource-article-page .resources-hero .breadcrumbs,.resource-article-page .resources-hero .badges{justify-content:center}
.resource-article-page .resources-hero h1{white-space:normal}
.resource-library{text-align:center;overflow:hidden}
.resource-library .section-heading{max-width:850px;margin-inline:auto}
.resource-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin-top:38px}
.resource-card{position:relative;grid-column:span 2;display:flex;flex-direction:column;align-items:center;min-height:390px;padding:30px 23px 24px;overflow:hidden;border:1px solid #d82432;border-radius:6px;background:linear-gradient(155deg,#116329,#0a4a1b 44%,#02340e);color:#fff;text-align:center;box-shadow:0 18px 42px #00170838,inset 0 1px 0 #ffffff2e;transition:transform .38s,box-shadow .38s,border-color .3s}
.resource-card:nth-child(4){grid-column:2 / span 2}.resource-card:nth-child(5){grid-column:4 / span 2}
.resource-card:before{content:'';position:absolute;inset:-45% auto -45% -35%;width:20%;background:linear-gradient(100deg,transparent,#ffffff66,transparent);transform:skew(-18deg);transition:left .75s;pointer-events:none}
.resource-card>p{margin:0 0 17px;color:#bde4be;font-size:11px;font-weight:900;letter-spacing:.1em}
.resource-card h3{margin:0 0 13px;color:#fff;font-size:clamp(22px,2vw,29px);line-height:1.08}
.resource-card>span{display:block;color:#fff;font-size:14px;line-height:1.55}
.resource-card>small{margin-top:auto;padding-top:23px;color:#d5efd4;font-size:10px;font-weight:900;letter-spacing:.13em}
.resource-card>a{margin-top:15px;padding:11px 16px;border:1px solid #d82432;border-radius:5px;color:#fff;font-size:11px;font-weight:900;letter-spacing:.09em}
.guide-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.68fr);gap:clamp(28px,5vw,64px);align-items:start;text-align:left}
.guide-article{padding:clamp(24px,4vw,48px);border:1px solid #d8243280;border-radius:6px;background:#072811;box-shadow:0 22px 58px #00170833}
.guide-article>.eyebrow,.guide-article>h2{text-align:left}
.guide-article>h2{margin-bottom:18px}
.guide-intro{font-size:18px;font-weight:700;line-height:1.65}
.guide-article section{padding:26px 0;border-top:1px solid #ffffff26}
.guide-article section:first-of-type{margin-top:28px}
.guide-article section h2{margin:0 0 12px;font-size:clamp(24px,3vw,34px);text-align:left}
.guide-article section p{margin:0;color:#dceadc;font-size:16px;line-height:1.75}
.guide-sidebar{position:sticky;top:145px;display:grid;gap:18px}
.guide-sidebar>div{padding:25px;border:1px solid #d82432;border-radius:6px;background:linear-gradient(145deg,#0a3218,#041b0b);box-shadow:0 16px 38px #00170833}
.guide-sidebar .eyebrow{text-align:left;margin-bottom:10px}
.guide-sidebar h3{margin:0 0 10px;color:#fff;font-size:28px;text-transform:uppercase}
.guide-sidebar p:not(.eyebrow){color:#dceadc;line-height:1.65}
.guide-sidebar .button{display:flex;margin-top:14px;width:100%}
.guide-sidebar>div>a:not(.button){display:block;padding:12px 0;border-bottom:1px solid #ffffff26;color:#dceadc;font-size:13px;font-weight:800;line-height:1.45}
.guide-sidebar>div>a.all-guides{margin-top:8px;border:0;color:#f05d67;font-size:11px;letter-spacing:.1em}
@media(hover:hover){.resource-card:hover,.resource-card:focus-within{transform:translateY(-8px);border-color:#f05d67;box-shadow:0 27px 64px #0017084d,0 0 28px #d824322e}.resource-card:hover:before,.resource-card:focus-within:before{left:125%}.resource-card>a:hover,.resource-card>a:focus-visible{background:#ffffff24;border-color:#fff}}
@media(max-width:1050px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-card,.resource-card:nth-child(n){grid-column:auto}.resource-card:last-child{grid-column:1 / -1;width:calc((100% - 18px)/2);justify-self:center}}
@media(max-width:850px){.guide-layout{grid-template-columns:1fr}.guide-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.resource-grid{grid-template-columns:1fr;gap:14px;margin-top:24px}.resource-card,.resource-card:last-child{width:100%;grid-column:auto;min-height:330px;padding:26px 20px 21px}.resource-card h3{font-size:26px}.guide-sidebar{grid-template-columns:1fr}.guide-article{padding:24px 20px}.guide-intro{font-size:16px}.guide-article section p{font-size:14px}}
/* The Our Work content uses the complete available viewport width. */
.work-page .inner-main>.section.wrap{width:100%;max-width:none;margin-inline:0;padding-inline:24px}
@media(max-width:650px){.work-page .inner-main>.section.wrap{width:100%;padding-inline:12px}}

.estimate-hero .estimate-location-heading>span{background:linear-gradient(0deg,#5daf72,#e4f4db)!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
.hero h2 .hero-title-top{display:block;width:100%;max-width:none;white-space:nowrap;line-height:1.05;overflow:hidden}
.hero h2 .hero-title-top>.hero-title-fit{display:inline-block;max-width:none;width:max-content;white-space:nowrap;font-size:inherit;line-height:inherit;transform-origin:left center;vertical-align:top}
.hero h2 .hero-title-top+br{display:none}
.estimate-hero .estimate-location-heading .hero-title-top{margin:0;line-height:1.05}
.project-thumbnails{grid-auto-columns:90px}
.project-thumbnails button{height:74px;border:2px solid transparent;background:#082d14}
@media(max-width:650px){.project-thumbnails{grid-auto-columns:75px}.project-thumbnails button{height:64px}}
.work-page .work-featured-grid>figure.service-card,.work-page .work-video-grid>.work-video-card.service-card{grid-column:auto;width:auto;min-width:0}
.work-page .project-showcases>.project-showcase.service-card{grid-column:auto;width:100%;min-width:0}
@media(min-width:981px){.subservice-grid>.service-card:last-child{grid-column:3 / span 2}}
