.hero-slider-visual{min-width:0;align-self:center}.hero-carousel{position:relative;aspect-ratio:1;overflow:hidden;border-radius:85px 18px 0 0;background:#e8eee2;isolation:isolate}.hero-track{position:relative;width:100%;height:100%}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity var(--hero-duration,600ms) ease,visibility var(--hero-duration,600ms) ease;z-index:0}.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-slide.fit-contain img{object-fit:contain}.hero-slide.focus-left img{object-position:left center}.hero-slide.focus-right img{object-position:right center}.hero-slider-visual .visual-label{z-index:5;pointer-events:none}.hero-slider-visual .visual-bottom{position:relative}.hero-image-counter{white-space:nowrap;font-variant-numeric:tabular-nums}.hero-slider-visual .hero-image-caption{line-height:1.65}
.effect-zoom .hero-slide{transform:scale(1.07);transition:opacity var(--hero-duration,600ms) ease,visibility var(--hero-duration,600ms) ease,transform var(--hero-duration,600ms) ease}.effect-zoom .hero-slide.is-active{transform:scale(1)}.effect-slide .hero-track{display:flex;transform:translateX(calc(var(--slide-index,0) * -100%));transition:transform var(--hero-duration,600ms) ease}.effect-slide .hero-slide{position:relative;inset:auto;flex:0 0 100%;height:100%;opacity:1;visibility:visible;transition:none}.effect-none .hero-slide{transition:none}
.hero-slider-controls[hidden]{display:none}.hero-arrow{position:absolute;z-index:6;top:50%;transform:translateY(-50%);width:42px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff65;border-radius:8px;background:#143c30c9;color:#fff;font:32px/1 Georgia,serif;cursor:pointer;box-shadow:0 3px 12px #0b2f2420}.hero-arrow:hover{background:#143c30}.hero-prev{left:13px}.hero-next{right:13px}.hero-pagination{position:absolute;z-index:6;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;max-width:calc(100% - 30px);padding:3px 9px;border:1px solid #ffffff38;border-radius:22px;background:#143c30bf}.hero-dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0}.hero-dots button{width:25px;height:32px;padding:0;display:flex;justify-content:center;align-items:center;border:0;border-radius:14px;background:transparent;cursor:pointer}.hero-dots button span{width:7px;height:7px;background:#ffffff80;border-radius:6px;transition:width .2s,background .2s}.hero-dots button[aria-current=true] span{width:18px;background:#e1edbf}.hero-playback{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid #ffffff60;border-radius:50%;color:#fff;background:transparent;font:13px/1 sans-serif;cursor:pointer}.hero-carousel button:focus-visible{outline:3px solid #f9d777;outline-offset:3px}.hero-slider-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hero-no-images{grid-template-columns:1fr!important}.hero-no-images .hero-copy{max-width:850px}.hero-slide-editor{border:1px solid var(--line);border-radius:12px;padding:22px;margin:20px 0;background:#fafbf7}.hero-slide-editor .media-preview{width:230px;height:150px;object-fit:cover;border-radius:10px;margin-bottom:15px}
@media(max-width:760px){.hero-carousel{aspect-ratio:1.15;border-top-left-radius:60px}.hero-arrow{width:36px;height:42px}.hero-prev{left:10px}.hero-next{right:10px}.hero-pagination{bottom:12px}.hero-dots button{width:24px}.hero-slider-visual .visual-bottom{padding:15px}.hero-slide-editor{padding:15px}}
@media(prefers-reduced-motion:reduce){.hero-track,.hero-slide,.hero-dots button span{transition:none!important}.effect-zoom .hero-slide{transform:none}}

.hero-playback[hidden]{display:none}
.hero-image-change{margin:12px 0;border:0;padding:0}.hero-image-change>summary{display:inline-block;cursor:pointer;list-style:none}.hero-image-change[open]{padding:16px;border:1px solid var(--line);border-radius:10px}.hero-image-change p{font-size:12px}

/* Homepage hero: sculpted image frame and a single, staggered introduction. */
.hero-slider-visual.home-photo-visual{padding:10px 10px 0;border:1px solid #cbd8bf;border-radius:96px 26px 26px 26px;background:linear-gradient(145deg,#f4f7eb,#dde8cf);box-shadow:0 28px 65px -32px #173f3266,0 5px 18px #173f3210;isolation:isolate}
.hero-slider-visual::before{content:"";position:absolute;inset:-12px 18px 20px -12px;border:1px solid #91a66c66;border-radius:108px 32px 32px 32px;pointer-events:none;z-index:-1}
.hero-slider-visual .hero-carousel{border-radius:85px 17px 15px 15px;box-shadow:0 1px 0 #ffffffa6;outline:1px solid #183e3212}
.hero-slider-visual .hero-slide img{max-height:none}
.hero-slider-visual .visual-label{top:30px;right:29px;padding:10px 14px;border:1px solid #ffffff40;border-radius:30px;background:#173f32df;color:#f3f7e9;box-shadow:0 6px 20px #0c30252b;letter-spacing:1.5px}
.hero-slider-visual .visual-label .dot{background:#d9eaa4;box-shadow:0 0 0 4px #d9eaa41a}
.hero-slider-visual .visual-bottom{align-items:center;min-height:67px;padding:17px 14px;border:0;background:transparent;gap:16px}
.hero-slider-visual .hero-image-counter{font-size:11px;font-weight:600;letter-spacing:1.2px;color:#31573b}
.hero-slider-visual .hero-image-caption{font-size:9px;max-width:340px;color:#53694d}
.hero-slider-visual .visual-bottom>span:last-child{width:29px;height:29px;display:grid;place-items:center;border:1px solid #94a98088;border-radius:50%;flex-shrink:0;color:#31573b}
.hero-slider-visual .hero-arrow{width:42px;height:42px;border-radius:50%;background:#f9fbf0ed;color:#214e3b;border-color:#ffffffbd;box-shadow:0 5px 20px #143c3030;transition:background .2s,box-shadow .2s}
.hero-slider-visual .hero-arrow:hover{background:#e3edce;box-shadow:0 6px 22px #143c3055}
.hero-slider-visual .hero-pagination{padding:4px 11px;background:#173f32df;box-shadow:0 5px 20px #143c302b;backdrop-filter:blur(8px)}
.hero-title-line{display:block}
.hero-enhanced .hero-title-line{animation:hero-line-arrive .85s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.12s + var(--line-order,0) * .15s)}
.hero-copy h1 em{background:linear-gradient(#b6c88d,#b6c88d) left 96% / 100% 2px no-repeat;padding-bottom:.035em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-enhanced .hero-copy>.eyebrow{animation:hero-soft-arrive .7s ease both}
.hero-enhanced .hero-copy>p{animation:hero-soft-arrive .85s .58s both}
.hero-enhanced .hero-copy>.actions{animation:hero-soft-arrive .85s .72s both}
.hero-enhanced .home-service-note,.hero-enhanced .hero-note{animation:hero-soft-arrive .85s .84s both}
.hero-enhanced .hero-slider-visual{animation:hero-frame-arrive 1.05s .2s cubic-bezier(.2,.7,.2,1) both}
.hero-copy .actions .button{box-shadow:0 7px 18px #214f3b18;transition:background .2s,box-shadow .2s}
.hero-copy .actions .button:hover{box-shadow:0 9px 24px #214f3b30}
.hero-copy .actions .button span{transition:transform .2s}.hero-copy .actions .button:hover span{transform:translate(2px,-2px)}
@keyframes hero-line-arrive{from{opacity:0;transform:translateY(23px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes hero-soft-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-frame-arrive{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){
.hero-slider-visual.home-photo-visual{padding:7px 7px 0;border-radius:68px 22px 22px 22px}
.hero-slider-visual::before{inset:-8px 12px 15px -8px;border-radius:76px 27px 27px 27px}
.hero-slider-visual .hero-carousel{border-radius:60px 15px 13px 13px}
.hero-slider-visual .visual-label{top:22px;right:20px;padding:8px 11px;font-size:7px;letter-spacing:1px}
.hero-slider-visual .visual-bottom{padding:14px 8px;gap:10px;min-height:67px}
.hero-slider-visual .hero-image-counter{font-size:9px;letter-spacing:.4px}
.hero-slider-visual .hero-image-caption{font-size:8px}
.hero-slider-visual .hero-arrow{width:36px;height:36px}
.hero-slider-visual .visual-bottom>span:last-child{width:25px;height:25px}
}
@media(prefers-reduced-motion:reduce){
.hero-enhanced .hero-title-line,.hero-enhanced .hero-copy>.eyebrow,.hero-enhanced .hero-copy>p,.hero-enhanced .hero-copy>.actions,.hero-enhanced .home-service-note,.hero-enhanced .hero-note,.hero-enhanced .hero-slider-visual{animation:none!important}
.hero-copy .actions .button:hover span{transform:none}
}
/* Image-filled heading requested by the site owner. Scoped to the hero only. */
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
.hero-copy h1.masked-text .hero-title-line{color:transparent;background-color:#24563f;background-image:linear-gradient(#123e32a1,#123e32a1),url('hero-text-texture.jpg');background-size:200% auto;background-position:0 50%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation-name:hero-line-arrive,animate-background;animation-duration:.85s,5s;animation-timing-function:cubic-bezier(.2,.7,.2,1),linear;animation-delay:calc(.12s + var(--line-order,0) * .15s),0s;animation-iteration-count:1,infinite;animation-direction:normal,alternate;animation-fill-mode:both,none}
.hero-copy h1.masked-text em{background:none;color:inherit;-webkit-text-fill-color:inherit}
}
@keyframes animate-background{0%{background-position:0 50%}100%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.hero-copy h1.masked-text .hero-title-line{animation:none!important;background-position:50% 50%}}
@media(forced-colors:active){.hero-copy h1.masked-text .hero-title-line{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText;animation:none!important}}

/* Image-only banner: no caption strip or playback control. */
.hero-slider-visual.home-photo-visual{padding-bottom:10px}
@media(max-width:760px){.hero-slider-visual.home-photo-visual{padding-bottom:7px}}
/* Scheme posters contain lettering and portraits: preserve the entire artwork. */
.hero-slider-visual.scheme-banners{border-radius:20px;padding:8px}.hero-slider-visual.scheme-banners::before{display:none}.scheme-banners .hero-carousel{aspect-ratio:3/2;border-radius:13px}.scheme-banners .hero-slide img{object-fit:contain;object-position:center}.scheme-banners .effect-zoom .hero-slide,.scheme-banners .effect-zoom .hero-slide.is-active{transform:none}.scheme-banners .hero-arrow{top:auto;bottom:10px;transform:none;width:30px;height:30px;font-size:23px}.scheme-banners .hero-pagination{bottom:10px}

/* Balance the introduction with the wider scheme artwork. */
.public-site .hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:42px;padding-top:38px;padding-bottom:45px}
.public-site .hero-copy{min-width:0;padding-top:0}
.public-site .hero h1{font-size:clamp(40px,4vw,56px);line-height:1.1;margin-bottom:20px}
.public-site .hero-copy>.eyebrow{margin-bottom:18px}
.public-site .hero-copy>p{font-size:14px;line-height:1.8;margin-bottom:23px;max-width:470px}
.public-site .hero .home-service-note{margin-top:20px}
.public-site .hero .hero-note{margin-top:19px}
.public-site .hero-slider-visual{width:100%;max-width:none;justify-self:stretch}
html[lang=te] .public-site .hero h1{font-size:clamp(30px,3vw,42px);line-height:1.5}
@media(min-width:761px) and (max-width:1050px){.public-site .hero{gap:28px}.public-site .hero h1{font-size:42px}.public-site .hero .actions{gap:17px;flex-wrap:wrap}}
@media(max-width:760px){
 .public-site .hero{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:26px;padding-bottom:32px}
 .public-site .hero-copy{display:contents}
 .public-site .hero-copy>.eyebrow{order:1;margin:0}
 .public-site .hero h1{order:2;font-size:clamp(34px,8.5vw,48px);margin:0}
 .public-site .hero-slider-visual{order:3;max-width:640px;justify-self:center}
 .public-site .hero-copy>p{order:4;margin:0;max-width:none}
 .public-site .hero-copy>.actions{order:5;gap:20px}
 .public-site .hero .home-service-note{order:6;margin:0}
 .public-site .hero .hero-note{order:7;margin:0}
 html[lang=te] .public-site .hero h1{font-size:clamp(28px,7vw,36px)}
}
