.local-hero{background:var(--ink);color:var(--cream)}
.local-hero-media{position:relative;min-height:min(780px,88vh);overflow:hidden}
.local-hero-media>img{width:100%;height:min(780px,88vh);min-height:620px;object-fit:cover;object-position:center 48%;display:block;filter:saturate(1.3) contrast(1.06)}
.local-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(38,28,29,.76) 0%,rgba(38,28,29,.24) 53%,rgba(38,28,29,.08) 100%)}
.local-heading{position:absolute;inset:0;z-index:1;display:flex;align-items:center}
.local-title-card{max-width:660px;padding:clamp(2rem,5vw,4.5rem);background:rgba(38,28,29,.9);border:1px solid rgba(255,255,255,.18)}
.local-title-card h1{margin:.5rem 0 1rem;font-family:var(--serif);font-size:clamp(3.4rem,7vw,6.8rem);font-weight:500;line-height:.86;letter-spacing:-.045em}
.local-title-card>p:not(.eyebrow){font-size:clamp(1rem,1.6vw,1.25rem);letter-spacing:.02em}
.section-index{margin:0;color:var(--rose);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.local-intro,.local-place,.local-faq{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:clamp(2rem,7vw,7rem);padding-top:clamp(5rem,10vw,9rem);padding-bottom:clamp(5rem,10vw,9rem)}
.local-intro h2,.local-section-heading h2,.local-place h2,.expertise-inner h2,.local-faq h2,.local-cta h2{margin:0 0 1.4rem;font-family:var(--serif);font-size:clamp(2.45rem,5vw,4.6rem);font-weight:500;line-height:.96;letter-spacing:-.035em}
.local-intro p:not(.section-index),.local-place p,.expertise-inner p,.local-faq p{font-size:1rem;line-height:1.85}
.local-offers{padding:clamp(5rem,9vw,8rem) 0;background:#efe8df}
.local-section-heading{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:clamp(2rem,7vw,7rem);margin-bottom:3rem}
.local-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(38,28,29,.22);border-left:1px solid rgba(38,28,29,.22)}
.local-card{min-height:300px;padding:clamp(1.7rem,4vw,3rem);border-right:1px solid rgba(38,28,29,.22);border-bottom:1px solid rgba(38,28,29,.22);color:var(--ink);text-decoration:none;transition:background .2s,color .2s,transform .2s}
.local-card:hover{background:var(--rose);color:#fff;transform:translateY(-3px)}
.local-card>span{display:block;margin-bottom:3rem;font-size:.7rem;letter-spacing:.14em}
.local-card h3{margin:0 0 1rem;font-family:var(--serif);font-size:clamp(1.9rem,3vw,2.9rem);font-weight:500}
.local-card p{max-width:34rem;line-height:1.7}
.local-card strong{display:inline-block;margin-top:1.1rem;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.local-schedule{padding:clamp(5rem,9vw,8rem) 0;background:var(--ink);color:var(--cream)}
.local-schedule .section-index{color:#d7bdb0}
.local-schedule .local-section-heading{align-items:start}
.local-schedule .local-section-heading h2{margin-bottom:.7rem}
.local-schedule .local-section-heading p:not(.section-index){max-width:42rem;line-height:1.7}
.schedule-list{border-top:1px solid rgba(255,255,255,.32)}
.schedule-day{display:grid;grid-template-columns:1fr 1.2fr 2fr auto;gap:1.5rem;align-items:center;padding:1.8rem 0;border-bottom:1px solid rgba(255,255,255,.32)}
.schedule-day>span{font-size:.95rem}.schedule-day>span:nth-child(2){font-weight:600;white-space:nowrap}
.schedule-day h3{margin:0 0 .3rem;font-family:var(--serif);font-weight:500;font-size:clamp(1.75rem,3vw,2.55rem)}
.schedule-day h3 a,.schedule-arrow{color:inherit;text-decoration:none}.schedule-day h3 a:hover,.schedule-arrow:hover{text-decoration:underline;text-underline-offset:5px}
.schedule-day p{margin:0;line-height:1.6;color:#e3d8d1}.schedule-arrow{font-size:1.5rem}
.schedule-location{margin:1.7rem 0 0;font-size:.95rem;line-height:1.6}
.schedule-enquiry{margin:1rem 0 0;line-height:1.7}.schedule-enquiry a{color:inherit;text-underline-offset:5px}
.schedule-preview{margin-top:3rem;padding:clamp(1.5rem,4vw,2.5rem);border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.055)}
.schedule-preview .eyebrow{color:#e4c5b5}.schedule-preview h3{margin:.75rem 0;font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1.05}
.schedule-preview p:not(.eyebrow){max-width:48rem;line-height:1.75}.schedule-preview a{color:inherit;text-underline-offset:5px}
.schedule-preview.winterfit-detail-photo{position:relative;isolation:isolate;min-height:650px;display:flex;flex-direction:column;justify-content:flex-end;background-image:linear-gradient(180deg,rgba(25,29,33,.12) 0%,rgba(32,25,27,.62) 38%,rgba(27,19,21,.98) 100%),url('assets/winterfit-ski.webp');background-size:cover;background-position:center 60%;border-color:rgba(255,255,255,.48);text-shadow:0 2px 12px rgba(0,0,0,.8)}
@media(max-width:720px){.schedule-preview.winterfit-detail-photo{min-height:780px;background-position:57% center}}
.local-place{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}
.place-note{align-self:start;padding:2.2rem;background:var(--ink);color:var(--cream)}
.place-note p{font-size:.93rem;line-height:1.75}.place-note a,.expertise-inner a{color:inherit;font-weight:600;text-underline-offset:4px}
.local-expertise{padding:clamp(5rem,9vw,8rem) 0;background:var(--rose);color:#fff}
.expertise-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,8vw,8rem)}
.local-expertise .section-index{color:#ead5cb}
.local-faq details{border-top:1px solid rgba(38,28,29,.2);padding:1.25rem 0}
.local-faq details:last-child{border-bottom:1px solid rgba(38,28,29,.2)}
.local-faq summary{cursor:pointer;font-family:var(--serif);font-size:1.45rem;font-weight:600}
.local-faq details p{margin-bottom:0}
.local-cta{padding:clamp(5rem,9vw,8rem) 0;background:var(--ink);color:var(--cream)}
.local-cta-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:clamp(2rem,8vw,8rem);align-items:end}
.local-cta p:not(.eyebrow){max-width:42rem;line-height:1.7}.local-mail{color:var(--cream);text-underline-offset:5px}
.local-nap{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;align-items:center;padding-top:2rem;font-size:.78rem}.local-nap a{color:inherit}
@media (max-width:760px){
  .local-hero-media,.local-hero-media>img{height:720px;min-height:720px}.local-hero-media>img{object-position:58% center}.local-hero-media::after{background:linear-gradient(0deg,rgba(38,28,29,.82),rgba(38,28,29,.08) 68%)}
  .local-heading{align-items:flex-end;padding-bottom:1.25rem}.local-title-card{width:100%;padding:1.6rem}.local-title-card h1{font-size:clamp(3rem,13vw,4.6rem)}
  .local-intro,.local-section-heading,.local-place,.expertise-inner,.local-faq,.local-cta-inner{grid-template-columns:1fr;gap:1.5rem}.local-card-grid{grid-template-columns:1fr}.local-card{min-height:0}.local-card>span{margin-bottom:2rem}
  .schedule-day{grid-template-columns:1fr auto;gap:.45rem 1rem}.schedule-day>span:first-child{grid-column:1}.schedule-day>span:nth-child(2){grid-column:1;font-size:1.05rem}.schedule-day>div{grid-column:1;margin-top:.55rem}.schedule-arrow{grid-column:2;grid-row:1 / span 3}
  .local-nap{align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){.local-card{transition:none}}
