@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 900;font-display:swap;src:url('/_c/fonts/montserrat-variable.woff2') format('woff2')}
@font-face{font-family:'Architects Daughter';font-style:normal;font-weight:400;font-display:swap;src:url('/_c/fonts/architects-daughter.woff2') format('woff2')}

body.home-page{--font-main:'Montserrat',Arial,Helvetica,sans-serif;--font-pencil:'Architects Daughter','Comic Sans MS',cursive;--font-script:'Dancing Script','Brush Script MT',cursive;font-family:var(--font-main)}
body.home-page :is(h1,h2,h3,h4,h5,h6):not(.script):not(.heading-accent){font-family:var(--font-main);font-weight:900;font-style:normal;letter-spacing:-.5px}
body.home-page h1:not(.script){letter-spacing:-1px}
body.home-page :is(h3,h4,h5,h6):not(.script):not(.heading-accent){font-weight:800;letter-spacing:-.2px}

/* pencil accents */
body.home-page .hero-foot .heritage,
body.home-page .hero-foot p,
body.home-page h1 :is(em,i),body.home-page h2 :is(em,i),body.home-page h3 :is(em,i),
body.home-page .heading-accent,
body.home-page .consult-promise,
body.home-page .consult-promise span,
body.home-page .review.review-carousel blockquote,
body.home-page .review blockquote,
body.home-page .stats strong,
body.home-page .steps li>span,
body.home-page .approach summary>span{font-family:var(--font-pencil);font-style:normal;font-weight:400;letter-spacing:.3px;text-shadow:none}

body.home-page .hero-foot .heritage{display:inline-block;transform:rotate(-1.5deg)}
body.home-page h2 :is(em,i){display:inline-block;transform:rotate(-1.5deg);font-size:1.02em;letter-spacing:0}
body.home-page .eyebrow{font-family:var(--font-pencil);font-weight:400;font-size:clamp(20px,1.7vw,25px);letter-spacing:.6px;text-transform:none}

/* "Colorado's Premier" matches the header consult button's cursive */
body.home-page .hero .script{font-family:var(--font-script);font-style:normal;font-weight:600;font-size:clamp(34px,4.2vw,62px);letter-spacing:0;display:inline-block;transform:rotate(-2deg)}

/* hero: auto-advancing slideshow without the prev/next arrows */
body.home-page .hero.slideshow :is([data-prev],[data-next]){display:none}

/* hero: Landscape · Design · Construction respond to hover but go nowhere */
body.home-page .hero-sub-item{display:inline-block;cursor:default;transition:color .25s ease,transform .25s ease,text-shadow .25s ease}
body.home-page .hero-sub-item:hover{color:#a6e0c6;transform:translateY(-2px);text-shadow:0 0 14px rgb(40 103 91 / 90%),0 2px 6px rgb(0 0 0 / 70%)}

/* Design / Build cards: deeper shade so overlaid text reads */
body.home-page .feature-grid .photo-card::after{background:linear-gradient(180deg,rgb(6 20 17 / 32%) 0%,rgb(6 20 17 / 62%) 38%,rgb(6 20 17 / 92%) 100%)}
@media(min-width:761px){
  body.home-page .feature-grid .photo-card :is(h2,p,.eyebrow){text-shadow:0 2px 10px rgb(0 0 0 / 75%),0 1px 2px rgb(0 0 0 / 85%)}
  body.home-page .feature-grid .photo-card p:not(.eyebrow){color:#f2f4ef}
}

/* three-leaf mark: only as a divider after the intro and above the closing consult heading */
body.home-page main h2::before{content:none}
body.home-page .consult-story h2::before{content:""}
body.home-page .leaf-divider{display:flex;align-items:center;justify-content:center;gap:22px;max-width:560px;margin:0 auto 46px;padding:0 24px}
body.home-page .leaf-divider::before,body.home-page .leaf-divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#5f7d70)}
body.home-page .leaf-divider::after{background:linear-gradient(90deg,#5f7d70,transparent)}
body.home-page .leaf-divider span{flex:0 0 auto;width:120px;height:50px;background:url('/_c/images/odc-logo.png') no-repeat -6px -29px/320px 160px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}
@media(max-width:600px){body.home-page .leaf-divider{margin-bottom:32px}body.home-page .leaf-divider span{width:96px;height:40px;background-size:256px 128px;background-position:-4.8px -23.2px}}

/* Phones: two-line headline ("Outdoor Living" / "Experts") set higher so the fire pit in the first hero photo stays visible */
@media(max-width:760px){
  body.home-page .hero .hero-copy{justify-content:flex-end;padding-top:90px;padding-bottom:218px}
  body.home-page .hero .script{font-size:30px;margin-bottom:6px}
  body.home-page .hero h1:not(.script){font-size:clamp(28px,9.8vw,44px);line-height:1.04;white-space:nowrap;margin-bottom:14px}
}

/* Tablet/desktop: same idea as phones. The fire pit's top sits at 59.63% of the hero photo, which is
   cover-cropped, so its position depends on the hero's width and height. Anchor the text block's
   bottom there (minus 4px) using the hero as a size container. */
@media(min-width:761px){
  body.home-page .hero.slideshow{container-type:size}
  body.home-page .hero .hero-copy{justify-content:flex-end;padding-top:110px;
    padding-bottom:calc(min(40.371vh, 50vh - 6.4131vw) - 4px);
    padding-bottom:calc(min(40.371cqh, 50cqh - 6.4131cqw) - 4px)}
  body.home-page .hero .hero-sub{margin-bottom:0}
}

/* ===== Service area map (replaces the featured-projects slider on the homepage) ===== */
body.home-page .service-map{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px);align-items:center;max-width:1320px;margin:0 auto;padding:clamp(60px,8vw,110px) 6%}
body.home-page .service-map-copy h2{font-size:clamp(30px,3.3vw,48px);line-height:1.06;margin:0 0 18px}
body.home-page .service-map-copy>p:not(.eyebrow){color:var(--muted);line-height:1.75;max-width:520px;margin:0}
.area-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:24px 0 30px;padding:0}
.area-chips a{display:inline-block;padding:7px 13px;border:1px solid #3c4942;border-radius:999px;color:var(--ink);font-size:13px;text-decoration:none;transition:border-color .2s,color .2s,background .2s,transform .2s}
.area-chips a:hover,.area-chips a:focus-visible,.area-chips a.is-lit{border-color:#a6e0c6;color:#a6e0c6;background:rgb(40 103 91 / 28%);transform:translateY(-1px)}
.service-map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}

.co-map{position:relative;perspective:1600px;cursor:pointer}
.co-map-stage{transform:rotateX(var(--rx,14deg)) rotateY(var(--ry,0deg)) rotateZ(-2.5deg);transform-origin:50% 60%;transition:transform .45s cubic-bezier(.2,.8,.2,1);will-change:transform}
.co-map-svg{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 28px 36px rgb(0 0 0 / 50%))}
.co-county{fill:#232c29;stroke:#3a4641;stroke-width:1.1;stroke-linejoin:round;transition:fill .25s}
.co-county:not(.is-served):hover{fill:#28322e}
.co-county.is-served{fill:#2a5047;stroke:#4f8374}
.co-county.is-served:hover,.co-county.is-served.is-active{fill:#3d8a79}
.co-state{fill:none;stroke:#d6c48c;stroke-width:2.6;stroke-linejoin:round;pointer-events:none}
.co-city-hit{fill:transparent}
.co-city-dot{fill:var(--cream);stroke:#122e29;stroke-width:2.5;transform-box:fill-box;transform-origin:center;transition:transform .2s,fill .2s}
.co-city:hover .co-city-dot,.co-city.is-active .co-city-dot{transform:scale(1.45);fill:#a6e0c6}
.co-denver-dot{fill:#ffffcc;stroke:#122e29;stroke-width:2.5}
.co-denver-pulse{fill:none;stroke:#ffffcc;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:co-pulse 2.6s ease-out infinite}
@keyframes co-pulse{0%{transform:scale(1);opacity:.9}75%,100%{transform:scale(3.2);opacity:0}}
.co-pin-body{fill:#fffde6;stroke:#122e29;stroke-width:1.5;filter:drop-shadow(0 6px 8px rgb(0 0 0 / 45%));transition:transform .25s;transform-box:fill-box;transform-origin:50% 100%}
.co-denver:hover .co-pin-body{transform:scale(1.06)}
.co-map-tip{position:absolute;z-index:3;margin:0;transform:translate(-50%,calc(-100% - 12px));background:#fffde6;color:#122e29;padding:7px 12px;border-radius:7px;font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:0 8px 20px rgb(0 0 0 / 45%)}
.co-map-tip::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:#fffde6;transform:translateX(-50%) rotate(45deg)}
.co-map-legend{display:flex;align-items:center;justify-content:center;gap:9px;margin:26px 0 0;color:var(--muted);font-size:13px}
.co-map-swatch{width:16px;height:16px;border-radius:3px;background:#2a5047;border:1px solid #4f8374}
@media(prefers-reduced-motion:reduce){.co-map-stage{transition:none}.co-denver-pulse{animation:none;opacity:0}}

/* slide-out panel */
.area-panel{position:fixed;top:0;right:0;bottom:0;z-index:90;width:min(430px,92vw);overflow-y:auto;overscroll-behavior:contain;background:#16201d;border-left:1px solid #3c4942;box-shadow:-24px 0 60px rgb(0 0 0 / 50%);padding:38px 30px 44px;transform:translateX(105%);transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.area-panel.is-open{transform:none}
.area-panel-backdrop{position:fixed;inset:0;z-index:89;background:rgb(8 14 12 / 58%);opacity:0;transition:opacity .3s}
body.area-panel-open .area-panel-backdrop{opacity:1}
body.area-panel-open{overflow:hidden}
.area-panel-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid #4c675c;background:transparent;color:var(--cream);font-size:24px;line-height:1;cursor:pointer}
.area-panel-close:hover{background:#28675b}
body.home-page .area-panel h2{font-size:28px;line-height:1.1;margin:0 0 10px;padding-right:40px}
.area-panel-intro{color:var(--muted);line-height:1.6;margin:0 0 22px}
.area-group{padding:16px 0 16px 14px;border-left:3px solid transparent;border-top:1px solid #2c3833;transition:border-color .3s,background .3s}
.area-group.is-focus{border-left-color:#a6e0c6;background:rgb(40 103 91 / 16%)}
body.home-page .area-group h3{font-size:16px;margin:0 0 10px;letter-spacing:.2px}
.area-group h3 a{color:var(--cream);text-decoration:none}
.area-group h3 a:hover{color:#a6e0c6}
.area-group ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.area-group li a{display:inline-block;padding:5px 11px;border-radius:999px;background:#1f2a26;border:1px solid #33413b;color:var(--ink);font-size:13px;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.area-group li a:hover,.area-group li a:focus-visible{background:#28675b;border-color:#3d8a79;color:#fffde6}
.area-panel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px;padding-top:22px;border-top:1px solid #2c3833}

@media(max-width:900px){
  body.home-page .service-map{grid-template-columns:1fr}
  .co-map{order:-1;max-width:640px;margin:0 auto;width:100%}
}
@media(max-width:760px){
  .area-panel{top:auto;left:0;width:100%;max-height:84vh;border-left:0;border-top:1px solid #3c4942;border-radius:18px 18px 0 0;padding:30px 22px calc(34px + env(safe-area-inset-bottom));transform:translateY(105%)}
  .area-panel.is-open{transform:none}
}
.area-panel-close{position:sticky;top:-22px;float:right;z-index:2;margin:-16px -8px 0 12px;background:#16201d;box-shadow:0 0 0 6px #16201d}

/* ===== Zoomed Front Range map (v2) ===== */
.co-map-stage{transform:rotateX(var(--rx,8deg)) rotateY(var(--ry,0deg)) rotateZ(-1.5deg)}
.co-bg{fill:#1b2421}
.co-county{stroke-width:1.5}
.co-county.is-served{fill:#27493f;stroke:#4f8374}
.co-frame-line{fill:none;stroke:#d6c48c;stroke-width:3;pointer-events:none}
.co-terrain{font-family:var(--font-pencil);font-size:26px;letter-spacing:4px;text-transform:uppercase;fill:rgb(255 255 204 / 32%);pointer-events:none}
.co-label{font-family:var(--font-main);font-size:15px;font-weight:700;fill:#f0f2ed;paint-order:stroke;stroke:#14201c;stroke-width:4px;stroke-linejoin:round;pointer-events:none;transition:fill .2s}
.co-city.is-active .co-label,.co-city:hover .co-label{fill:#a6e0c6}
.co-city-dot{transform-box:fill-box}
.co-edge{cursor:pointer}
.co-edge rect{fill:#122e29;stroke:#d6c48c;stroke-width:1.5;transition:fill .2s}
.co-edge text{font-family:var(--font-main);font-size:15px;font-weight:700;fill:#fffde6;pointer-events:none}
.co-edge:hover rect{fill:#28675b}
.co-hq{cursor:pointer}
.co-hq-leader{fill:none;stroke:#fffde6;stroke-width:2.5;stroke-dasharray:2 8;stroke-linecap:round;opacity:.85}
.co-hq-dot{fill:#fffde6;stroke:#122e29;stroke-width:3}
.co-hq-pulse{fill:none;stroke:#fffde6;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:co-pulse 2.6s ease-out infinite}
.co-hq-badge{animation:co-float 4.5s ease-in-out infinite}
.co-hq-glow{fill:url(#co-hq-glowg);opacity:.8;transition:opacity .3s}
.co-hq:hover .co-hq-glow{opacity:1}
.co-hq-ring{fill:url(#co-hq-ringg);stroke:#fffde6;stroke-width:3;filter:drop-shadow(0 8px 10px rgb(0 0 0 / 50%));transition:stroke-width .25s}
.co-hq:hover .co-hq-ring{stroke-width:5}
.co-hq-face{fill:#fffde6}
.co-hq-inner{fill:none;stroke:#3d8a79;stroke-width:1.5;stroke-dasharray:3 4}
.co-hq-tag rect{fill:#122e29;stroke:#a6e0c6;stroke-width:1.5}
.co-hq-tag text{font-family:var(--font-main);font-size:14px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;fill:#fffde6}
@keyframes co-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.co-hq-badge,.co-hq-pulse{animation:none}}

/* Phones/tablets: heading on top, then the map, then the city chips and buttons (desktop layout unchanged) */
@media(max-width:900px){
  body.home-page .service-map{gap:0}
  body.home-page .service-map-copy{display:contents}
  body.home-page .co-map{order:1;margin:30px auto 8px}
  body.home-page .area-chips{order:2}
  body.home-page .service-map-actions{order:3}
}

/* ===== Map zoom / pan ===== */
.co-map-svg{--z:1;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.co-zoom{transform-origin:0 0;transition:transform .28s ease}
.co-k{transform:scale(calc(1 / var(--z)));transition:transform .28s ease}
.co-map.is-dragging .co-zoom,.co-map.is-dragging .co-k{transition:none}
.co-county,.co-hq-leader{vector-effect:non-scaling-stroke}
.co-map.is-zoomed .co-map-svg{touch-action:none;cursor:grab}
.co-map.is-dragging .co-map-svg{cursor:grabbing}
.co-zoom-ctrl{position:absolute;top:14px;right:14px;z-index:4;display:flex;flex-direction:column;gap:6px}
.co-zoom-ctrl button{width:40px;height:40px;display:grid;place-items:center;padding:0;border-radius:10px;border:1px solid #d6c48c;background:rgb(18 46 41 / 92%);color:#fffde6;font:700 22px/1 var(--font-main);cursor:pointer;box-shadow:0 4px 12px rgb(0 0 0 / 40%);transition:background .2s,transform .12s}
.co-zoom-ctrl button:hover{background:#28675b}
.co-zoom-ctrl button:active{transform:translateY(1px)}
.co-zoom-ctrl button:disabled{opacity:.4;cursor:default}
.co-zoom-ctrl button[data-zoom="reset"]{font-size:18px}
.co-zoom-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);margin:0;padding:6px 12px;border-radius:999px;background:rgb(18 46 41 / 88%);color:#fffde6;font-size:12px;pointer-events:none;opacity:0;transition:opacity .3s}
.co-zoom-hint.is-shown{opacity:1}
@media(prefers-reduced-motion:reduce){.co-zoom,.co-k{transition:none}}

/* ===== Full-state map: screen-constant markers + zoom-revealed labels ===== */
.co-map-svg{--lk:.57;--mk:.55;--tk:.4}
.co-lk{transform:scale(var(--lk));transition:transform .28s ease}
.co-mk{transform:scale(var(--mk));transition:transform .28s ease}
.co-tk{transform:scale(var(--tk));transition:transform .28s ease}
.co-map.is-dragging .co-lk,.co-map.is-dragging .co-mk,.co-map.is-dragging .co-tk{transition:none}
.co-state{fill:none;stroke:#d6c48c;stroke-width:2.5;vector-effect:non-scaling-stroke;pointer-events:none}
.co-mountains{pointer-events:none}
.co-city .co-label{display:none}
.co-city.t0 .co-label,.lv1 .co-city.t1 .co-label,.lv2 .co-city.t2 .co-label,.lv3 .co-city.t3 .co-label{display:inline}
.co-city.t2,.co-city.t3{display:none}
.lv1 .co-city.t2,.lv2 .co-city.t3{display:inline}
.co-map.is-zoomed .co-map-svg{touch-action:pan-y;cursor:grab}
.co-map.is-exploring .co-map-stage{transform:none}
.co-touch-hint{display:none}
@media(hover:none){.co-touch-hint{display:inline}}
@media(prefers-reduced-motion:reduce){.co-lk,.co-mk,.co-tk{transition:none}}

/* About-us → service-area transition: tighter spacing with a soft fading rule */
body.home-page section.intro{padding-bottom:clamp(36px,4vw,56px)}
body.home-page .service-map{padding-top:clamp(40px,4.5vw,64px)}
.section-rule{position:relative;height:1px;width:min(1100px,88%);margin:0 auto;background:linear-gradient(90deg,transparent,rgb(166 210 189 / 40%) 22%,rgb(166 210 189 / 40%) 78%,transparent)}
.section-rule span{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#a6e0c6;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #1c2220,0 0 14px rgb(166 224 198 / 55%)}
@media(max-width:600px){.co-zoom-ctrl{top:10px;right:10px;gap:5px}.co-zoom-ctrl button{width:34px;height:34px;font-size:19px;border-radius:9px}.co-zoom-ctrl button[data-zoom="reset"]{font-size:15px}}
/* Touch: the map owns gestures so the page doesn't scroll while zooming/dragging it */
.co-map-svg,.co-map.is-zoomed .co-map-svg{touch-action:none;overscroll-behavior:contain}

/* "Colorado's Premier": warm glow + a band of light sweeping left to right */
body.home-page .hero .script{position:relative;text-shadow:0 2px 8px rgb(0 0 0 / 55%),0 0 22px rgb(255 236 170 / 35%)}
body.home-page .hero .script::after{content:attr(data-shine);position:absolute;inset:0;pointer-events:none;color:transparent;text-shadow:none;background:linear-gradient(100deg,transparent 42%,rgb(255 255 235 / 0) 44%,rgb(255 255 240 / 95%) 50%,rgb(255 255 235 / 0) 56%,transparent 58%);background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;animation:odc-shine 4.5s ease-in-out 1s infinite}
@keyframes odc-shine{0%{background-position:100% 0}55%,100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){body.home-page .hero .script::after{animation:none;content:none}}
/* stronger, visible version of the sweep: gold→white band across the letters + a golden flare travelling behind them */
body.home-page .hero .script{isolation:isolate}
body.home-page .hero .script::after{background:linear-gradient(100deg,transparent 38%,rgb(255 214 110 / 0) 41%,rgb(255 214 110 / 95%) 46%,#fff 50%,rgb(255 214 110 / 95%) 54%,rgb(255 214 110 / 0) 59%,transparent 62%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text}
body.home-page .hero .script::before{content:"";position:absolute;z-index:-1;top:-35%;bottom:-35%;left:-20%;width:34%;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at center,rgb(255 226 150 / 60%) 0%,rgb(255 214 110 / 25%) 40%,transparent 70%);filter:blur(8px);opacity:0;animation:odc-flare 4.5s ease-in-out 1s infinite}
@keyframes odc-flare{0%{left:-25%;opacity:0}8%{opacity:1}47%{opacity:1}55%,100%{left:95%;opacity:0}}
@media(prefers-reduced-motion:reduce){body.home-page .hero .script::before{animation:none;content:none}}
/* Final: no animation inside the letters — just a glowing circle of light that keeps travelling across behind them */
body.home-page .hero .script::after{content:none;animation:none}
body.home-page .hero .script::before{top:50%;bottom:auto;left:-15%;width:auto;height:150%;aspect-ratio:1;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,rgb(255 244 205 / 85%) 0%,rgb(255 222 140 / 45%) 30%,rgb(255 214 110 / 15%) 55%,transparent 70%);filter:blur(4px);animation:odc-orb 3.6s ease-in-out 0.6s infinite}
@keyframes odc-orb{0%{left:-15%;opacity:0}12%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
/* Final (per request): shine travels inside the letters (gold→white band, left to right); no glowing circle */
body.home-page .hero .script::before{content:none;animation:none}
body.home-page .hero .script::after{content:attr(data-shine);animation:odc-shine 4.5s ease-in-out 1s infinite}
@media(prefers-reduced-motion:reduce){body.home-page .hero .script::after{animation:none;content:none}}
/* Continuous shine: loops without a pause, steady speed, wider/brighter band so it reads on phones too */
body.home-page .hero .script::after{background:linear-gradient(100deg,transparent 30%,rgb(255 210 100 / 0) 36%,rgb(255 210 100) 44%,#fff 50%,rgb(255 210 100) 56%,rgb(255 210 100 / 0) 64%,transparent 70%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:odc-shine-loop 3.2s linear infinite}
@keyframes odc-shine-loop{from{background-position:100% 0}to{background-position:0 0}}
@media(prefers-reduced-motion:reduce){body.home-page .hero .script::after{animation:none;content:none}}
body.home-page .hero .eyebrow{font-size:clamp(22px,2.1vw,30px)}

/* Hero headline: "Experts" sits under "Outdoor", followed by the three-leaf mark at letter height with the same gold→white shine */
body.home-page .hero h1 .h1-line{display:block}
body.home-page .hero h1{text-align:left}
body.home-page .hero h1 .h1-line-leaf{display:flex;align-items:center;gap:.22em}
body.home-page .hero .hero-leaves{position:relative;flex:none;height:.86em;aspect-ratio:242/100;background:url('/_c/images/odc-leaves.png') center/contain no-repeat;filter:drop-shadow(0 2px 8px rgb(0 0 0 / 45%))}
body.home-page .hero .hero-leaves::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgb(255 210 100 / 0) 36%,rgb(255 210 100 / 90%) 44%,#fff 50%,rgb(255 210 100 / 90%) 56%,rgb(255 210 100 / 0) 64%,transparent 70%);background-size:250% 100%;-webkit-mask:url('/_c/images/odc-leaves.png') center/contain no-repeat;mask:url('/_c/images/odc-leaves.png') center/contain no-repeat;animation:odc-shine-loop 3.2s linear infinite;mix-blend-mode:screen}
@media(prefers-reduced-motion:reduce){body.home-page .hero .hero-leaves::after{animation:none;content:none}}
/* Centered second line, and each leaf lights up in its own color (blue, green, orange) as the band passes */
body.home-page .hero h1{text-align:center}
body.home-page .hero h1 .h1-line-leaf{justify-content:center}
body.home-page .hero .hero-leaves::after{mix-blend-mode:screen;
  background:linear-gradient(90deg,#8cc4ff 0 33%,#7ff0bd 33% 66%,#ffb88c 66% 100%);
  -webkit-mask:url('/_c/images/odc-leaves.png') center/contain no-repeat,linear-gradient(100deg,transparent 36%,#000 46%,#000 54%,transparent 64%) 100% 0/250% 100% no-repeat;
  -webkit-mask-composite:source-in;
  mask:url('/_c/images/odc-leaves.png') center/contain no-repeat,linear-gradient(100deg,transparent 36%,#000 46%,#000 54%,transparent 64%) 100% 0/250% 100% no-repeat;
  mask-composite:intersect;
  animation:odc-leaf-shine 3.2s linear infinite}
@keyframes odc-leaf-shine{from{-webkit-mask-position:center,100% 0;mask-position:center,100% 0}to{-webkit-mask-position:center,0 0;mask-position:center,0 0}}
/* Softer leaf light: no added shadow blur, narrower band, gentle overlay blend so edges stay crisp */
body.home-page .hero .hero-leaves{filter:none}
body.home-page .hero .hero-leaves::after{mix-blend-mode:overlay;opacity:.75;
  -webkit-mask:url('/_c/images/odc-leaves.png') center/contain no-repeat,linear-gradient(100deg,transparent 42%,#000 48%,#000 52%,transparent 58%) 100% 0/250% 100% no-repeat;
  -webkit-mask-composite:source-in;
  mask:url('/_c/images/odc-leaves.png') center/contain no-repeat,linear-gradient(100deg,transparent 42%,#000 48%,#000 52%,transparent 58%) 100% 0/250% 100% no-repeat;
  mask-composite:intersect}
/* "Let's take life outside": still photo that fades from green into black (no video) */
body.home-page .consult-video-preview::after{background:linear-gradient(180deg,rgb(18 46 41 / 62%) 0%,rgb(10 28 23 / 78%) 55%,#000 100%)}
/* "Colorado's Premier": level (no tilt), a bit larger on desktop */
body.home-page .hero .script{transform:none}
@media(min-width:761px){body.home-page .hero .script{font-size:clamp(44px,5.2vw,78px)}}
