/* Opening service/location copy and progressive, finite motion. */
.hero h1{font-size:clamp(48px,5.25vw,80px)}
.brand-promise{font:500 italic 25px/1.25 var(--serif);color:var(--gold);margin:-5px 0 20px}
.hero .lede{font-size:14px;max-width:465px;line-height:1.8}
.hero .lede a{text-decoration-color:#795146;text-decoration-thickness:1px;text-underline-offset:3px}
.hero .lede a:hover{color:var(--gold);text-decoration-color:var(--gold)}
.brand{position:relative;overflow:hidden;isolation:isolate}
.brand:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 38%,#f9dda488 48%,#fff4d9bb 50%,transparent 61%) 140% 0/250% 100% no-repeat;mask:url('./assets/hailias-blue-ridge-logo-20260909.svg') center/contain no-repeat;pointer-events:none;opacity:0}
.service-card{position:relative;isolation:isolate;scroll-margin-top:140px}
.service-card:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 35% 0%,#d5a65124,transparent 70%);opacity:0}
.service-card:after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--coral),var(--gold));transform:scaleX(0);transform-origin:left;pointer-events:none}
.service-card:hover:before,.service-card:focus-within:before{opacity:1}
.service-card:hover:after,.service-card:focus-within:after{transform:scaleX(1)}
.service-card:focus-within{outline:1px solid var(--gold);outline-offset:-1px}
@media(prefers-reduced-motion:no-preference){
 .hero-copy>.eyebrow{animation:hero-arrive 650ms cubic-bezier(.2,.7,.2,1) both}
 .hero-copy>h1{animation:hero-arrive 750ms 60ms cubic-bezier(.2,.7,.2,1) both}
 .hero-copy>.brand-promise,.hero-copy>.lede{animation:hero-arrive 800ms 100ms cubic-bezier(.2,.7,.2,1) both}
 .hero-actions,.trust-line{animation:hero-arrive 850ms 150ms cubic-bezier(.2,.7,.2,1) both}
 .brand img{animation:logo-arrive 900ms ease-out both;transition:transform 350ms ease,filter 350ms ease}
 .brand:after{animation:logo-sheen 1300ms 600ms ease-in-out both}
 .brand:hover:after,.brand:focus-visible:after{animation:logo-sheen-hover 1100ms ease-in-out both}
 .brand:hover img,.brand:focus-visible img{filter:drop-shadow(0 0 7px #e9c78330)}
 .service-card{transition:transform 320ms cubic-bezier(.2,.7,.2,1),box-shadow 320ms ease}
 .service-card:before,.service-card:after{transition:opacity 320ms ease,transform 450ms ease}
 .service-icon{transition:transform 400ms cubic-bezier(.2,.7,.2,1),border-color 300ms ease}
 .service-card:focus-within .service-icon{transform:rotate(-5deg) scale(1.07);border-color:var(--gold)}
 .service-card a>span{transition:transform 300ms ease}
 .service-card:focus-within a>span{transform:translate(3px,-3px)}
 @media(hover:hover) and (pointer:fine){
  .service-card:hover{transform:translateY(-7px);box-shadow:0 15px 28px #0005;z-index:2}
  .service-card:hover .service-icon{transform:rotate(-5deg) scale(1.07);border-color:var(--gold)}
  .service-card:hover a>span{transform:translate(3px,-3px)}
 }
}
@keyframes hero-arrive{from{transform:translateY(14px)}to{transform:translateY(0)}}
@keyframes logo-arrive{from{scale:.96;opacity:.75}to{scale:1;opacity:1}}
@keyframes logo-sheen{0%{background-position:140% 0;opacity:0}25%{opacity:1}75%{opacity:1}100%{background-position:-40% 0;opacity:0}}
@keyframes logo-sheen-hover{0%{background-position:140% 0;opacity:0}25%{opacity:1}75%{opacity:1}100%{background-position:-40% 0;opacity:0}}
@media(max-width:720px){.hero h1{font-size:clamp(41px,10.2vw,66px)}.brand-promise{font-size:22px;margin-top:0;margin-bottom:15px}.hero .lede{font-size:13px;line-height:1.8}.hero-copy{padding-top:38px;padding-bottom:32px}.hero-actions{margin:23px 0}.service-card{scroll-margin-top:115px}}
@media(prefers-reduced-motion:reduce){.brand:after{display:none}.hero-copy>*,.brand img,.service-card,.service-icon,.about-brand img{animation:none!important;transition:none!important;transform:none!important;translate:none!important;scale:none!important}.service-card:before,.service-card:after,.service-card a>span{transition:none!important}}
