/* A quieter welcome; the animated service portraits carry the brand story. */
body .hero{min-height:0;padding:clamp(72px,8vw,118px) 24px clamp(68px,7vw,102px)}
body .hero .hero-copy{max-width:1100px}
body .hero .eyebrow{font-size:12px;letter-spacing:.12em}
body .hero h1{margin:24px auto 28px}
body .hero .hero-description{max-width:46ch;font-size:18px;line-height:1.65}
body .hero .hero-local{margin-top:20px}
body #seasons .season-art{aspect-ratio:500/490}
body .closing{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:50px;text-align:left;padding:85px max(5.6vw,24px) 65px;background:var(--olive);color:var(--cream)}
body .closing h2{font:clamp(58px,6.5vw,96px)/1.02 var(--serif);letter-spacing:-.025em;margin:0}
.closing .closing-invitation{justify-self:end;min-width:260px}
.closing-invitation p{font:17px/1.7 var(--sans);margin:0 0 24px;color:#f6f2e9cf}
.closing .closing-link{display:flex;align-items:center;justify-content:space-between;gap:65px;width:100%;padding:12px 0 14px;background:none;border:0;border-bottom:1px solid #f6f2e97a;color:var(--cream);font:22px/1.3 var(--sans);cursor:pointer}
.closing-link span{transition:transform .2s ease}
.closing-link:hover span{transform:translate(3px,-3px)}
/* The signature is the footer's only visual gesture. */
body .welcome-footer{display:flex;flex-direction:column;align-items:center;gap:44px;padding:68px max(5.6vw,24px) 16px;background:var(--olive);color:var(--cream);position:relative}
body .welcome-footer::before{content:"";position:absolute;top:0;left:max(5.6vw,24px);right:max(5.6vw,24px);height:1px;background:#f6f2e929}
body .welcome-footer .footer-logo{display:block;position:relative;width:clamp(260px,30vw,380px);max-width:100%;aspect-ratio:880/560;overflow:hidden;min-height:0}
.welcome-footer .footer-logo img{position:absolute;width:122.7273%;height:auto;max-width:none;left:-11.3636%;top:-40%}
body .welcome-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0;padding:0;color:#f6f2e9c4;width:100%;font:12px/1.5 var(--sans)}
.welcome-footer .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;gap:8px;color:inherit;font:12px/1.5 var(--sans)}
.welcome-footer .footer-bottom a:hover{color:var(--cream);text-decoration:underline;text-underline-offset:5px}
.welcome-footer :focus-visible,.closing :focus-visible{outline:2px solid #e5ce9b;outline-offset:5px}
@media(max-width:760px){
 body .hero{padding:58px 24px 62px}
 body .hero .eyebrow{font-size:10px;letter-spacing:.09em}
 body .hero .hero-description{font-size:16px;max-width:32ch}
 body .hero h1{margin:24px auto}
 body .closing{grid-template-columns:1fr;padding:56px 24px 40px;gap:30px}
 body .closing h2{font-size:clamp(50px,12vw,72px)}
 .closing .closing-invitation{justify-self:stretch;min-width:0}
 .closing-invitation p{font-size:16px;margin-bottom:16px}
 .closing .closing-link{font-size:20px}
 body .welcome-footer{padding:48px 24px 14px;gap:34px}
 body .welcome-footer .footer-logo{width:260px;max-width:85%}
 body .welcome-footer .footer-bottom{gap:12px;flex-wrap:wrap;font-size:11px}
 .welcome-footer .footer-bottom a{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.closing-link span{transition:none}.closing-link:hover span{transform:none}}
