/* tpl-02: water-blue, white and natural wood imagery. Scoped to this template. */
body.spa-detail-page:has(.spa-landing) { background:#fcfdfc; }
.spa-landing { --ink:#193a42; --muted:#51666b; --water:#eaf2f2; color:var(--ink); }
.spa-landing h1,.spa-landing h2 { font-weight:500; letter-spacing:-.045em; line-height:1.22; word-break:keep-all; }
.spa-landing h2 { font-size:clamp(30px,3.2vw,46px); }
.spa-landing p { word-break:keep-all; }
.landing-width { width:min(1180px,calc(100% - 80px)); margin-inline:auto; }
.landing-hero { position:relative; min-height:760px; height:90svh; max-height:1000px; display:flex; align-items:center; background:#314547; color:white; overflow:hidden; }
.landing-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--hero-focus,62% 50%); }
.landing-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,32,37,.83),rgba(13,32,37,.46) 48%,rgba(13,32,37,.06)); }
.landing-hero-content { position:relative; z-index:1; width:min(1260px,100%); margin:auto; padding:130px 40px 90px; }
.landing-back { display:inline-block; margin-bottom:46px; font-size:13px; color:#e1e8e7; padding:10px 0; }
.landing-name { font-size:clamp(26px,2.4vw,34px); font-weight:700; color:var(--landing-accent,#FFD49A); margin-bottom:20px; }
.landing-name span { margin-left:16px; font-size:14px; font-weight:400; color:#fff; opacity:.8; }
.spa-landing h1 { font-size:clamp(44px,5.1vw,72px); max-width:780px; margin-bottom:28px; }
.landing-lead { max-width:460px; font-size:18px; line-height:1.85; color:#edf2f0; }
.landing-actions { display:flex; flex-wrap:wrap; align-items:center; gap:26px; margin-top:34px; }
.landing-button { border:1px solid transparent; border-radius:4px; background:var(--ink); color:white; min-height:52px; padding:14px 28px; font:600 15px/1.5 var(--font-family); cursor:pointer; display:inline-flex; justify-content:center; align-items:center; }
.landing-hero .landing-button { background:#fff; color:var(--ink); }
.landing-button:hover { background:#2e5861; color:white; }
.landing-hero-link,.landing-text-link { display:inline-flex; align-items:center; min-height:44px; font-size:14px; gap:12px; text-decoration:underline; text-underline-offset:6px; }
.landing-image-label { position:absolute; z-index:1; right:24px; bottom:18px; font-size:11px; color:#fff; padding:4px 8px; background:rgba(13,32,37,.55); }
.landing-nav { display:flex; align-items:center; justify-content:center; gap:40px; border-bottom:1px solid #dbe5e4; padding:17px 24px; background:white; }
.landing-nav span { margin-right:auto; font-weight:600; }
.landing-nav a { min-height:44px; display:flex; align-items:center; font-size:14px; }
.landing-intro { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding-block:110px; }
.landing-intro:not(:has(figure)) { grid-template-columns:1fr; max-width:820px; gap:0; }
.landing-intro p,.landing-story-copy p { font-size:17px; line-height:1.95; color:var(--muted); }
.landing-intro ul { display:flex; flex-wrap:wrap; list-style:none; gap:12px 24px; margin-top:26px; font-size:13px; }
.landing-intro li::before { content:"✓"; margin-right:8px; color:#427277; }
.landing-stories { padding-bottom:100px; }
.landing-story { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; margin-bottom:90px; }
.landing-story:last-child { margin-bottom:0; }
.landing-story:nth-child(odd) figure { order:2; }
.landing-story figure { position:relative; }
.landing-story img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block; border-radius:3px; }
.landing-story figcaption { color:var(--muted); font-size:11px; margin-top:8px; }
.landing-story-copy h2 { margin-bottom:26px; }
.landing-story-copy .landing-text-link { margin-top:24px; }
.landing-treatments { padding:100px 0; background:var(--water); }
.landing-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:48px; margin-bottom:46px; }
.landing-section-heading p { max-width:420px; color:var(--muted); line-height:1.85; }
.landing-menu { list-style:none; border-top:1px solid #b9cecf; }
.landing-menu li { display:flex; justify-content:space-between; gap:30px; align-items:center; border-bottom:1px solid #cbdcdd; padding:26px 0; }
.landing-menu h3 { font-size:20px; font-weight:600; margin-bottom:5px; }
.landing-menu p { font-size:14px; color:var(--muted); }
.landing-menu-price { text-align:right; flex-shrink:0; }
.landing-menu-price strong { display:block; font-size:23px; font-weight:500; }
.landing-menu-price small { font-size:12px; }
.landing-menu-price s { font-size:13px; color:var(--muted); }
.landing-menu-footer { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-top:28px; }
.landing-menu-footer p { font-size:13px; color:var(--muted); }
.landing-video { padding-top:100px; }
.landing-video-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,440px); gap:90px; align-items:center; }
.landing-video-copy p { max-width:540px; margin-top:28px; color:var(--muted); line-height:1.85; }
.landing-video-media { min-width:0; }
.landing-video-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:6px; }
.landing-video-track::-webkit-scrollbar { display:none; }
.landing-video-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-margin-top:var(--site-header-h); }
.landing-video-frame { width:100%; overflow:hidden; border-radius:6px; background:#10272c; box-shadow:0 18px 52px rgba(13,32,37,.16); }
.landing-video video { display:block; width:100%; height:auto; max-height:72svh; aspect-ratio:9/16; object-fit:contain; background:#10272c; }
.landing-video-slide figcaption { margin-top:12px; color:var(--muted); font-size:13px; }
.landing-video-nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.landing-video-dot { display:inline-flex; align-items:center; min-height:38px; padding:8px 15px; border:1px solid #b9cecf; border-radius:999px; color:var(--ink); font-size:13px; text-decoration:none; }
.landing-video-dot:hover,.landing-video-dot:focus-visible { background:var(--water); border-color:var(--ink); }
.landing-gallery { padding-block:100px; }
.landing-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.landing-gallery img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block; }
.landing-gallery figcaption { margin-top:12px; color:var(--muted); font-size:13px; }
.landing-visit { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; padding-bottom:100px; }
.landing-visit img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.landing-visit dl { margin:30px 0 16px; }
.landing-visit dl div { margin:18px 0; }
.landing-visit dt { font-size:12px; color:var(--muted); margin-bottom:4px; }
.landing-visit dd { font-size:15px; }
.landing-final { text-align:center; background:#dcebec; padding:90px 24px; }
.landing-final p { margin:24px auto; max-width:540px; color:var(--muted); }
.spa-landing [id] { scroll-margin-top:var(--site-header-h); }
@media(min-width:761px) { html[lang=en] .spa-landing h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; } }
@media(max-width:900px) { .landing-video-layout { grid-template-columns:1fr; gap:40px; } .landing-video-media { width:min(440px,100%); } .landing-story,.landing-intro,.landing-visit { gap:40px; } .landing-section-heading { display:block; } .landing-section-heading p { margin-top:22px; } }
@media(max-width:760px) {
 .landing-width { width:calc(100% - 40px); }
 .landing-hero { min-height:710px; height:92svh; max-height:850px; align-items:flex-end; }
 .landing-hero-content { padding:110px 24px 65px; }
 .landing-hero::after { background:linear-gradient(0deg,rgba(13,32,37,.9),rgba(13,32,37,.4) 65%,rgba(13,32,37,.1)); }
 .landing-hero-image { object-position:var(--hero-focus-mobile,60% 50%); }
 .landing-back { margin-bottom:32px; }
 .spa-landing h1 { font-size:clamp(36px,8.8vw,52px); }
 .landing-lead { font-size:16px; }
 .landing-nav { gap:22px; padding:10px 16px; }
 .landing-nav span { display:none; }
 .landing-nav a { font-size:12px; }
 .landing-intro,.landing-story,.landing-visit { grid-template-columns:1fr; gap:28px; }
 .landing-intro { padding-block:64px; }
 .landing-story { margin-bottom:65px; }
 .landing-story:nth-child(odd) figure { order:0; }
 .landing-story-copy { padding:0 6px; }
 .landing-stories { padding-bottom:64px; }
 .landing-treatments,.landing-gallery { padding-block:64px; }
 .landing-video { padding-top:64px; }
 .landing-video-layout { gap:32px; }
 .landing-menu li { align-items:flex-start; gap:16px; }
 .landing-menu h3 { font-size:16px; }
 .landing-menu p { font-size:13px; }
 .landing-menu-price strong { font-size:18px; }
 .landing-menu-footer { display:block; }
 .landing-menu-footer .landing-button { width:100%; margin-top:24px; }
 .landing-gallery-grid { grid-template-columns:repeat(2,1fr); gap:22px 14px; }
 .landing-visit { padding-bottom:64px; }
 .landing-final { padding:64px 24px; }
}

.landing-comparison { padding:24px 28px; margin-bottom:34px; background:#fff; border-left:3px solid #427277; }
.landing-comparison h3 { font-size:18px; margin-bottom:10px; font-weight:600; }
.landing-comparison p { max-width:850px; font-size:15px; line-height:1.85; color:var(--muted); }
.landing-includes { margin-top:12px; max-width:720px; }
.landing-includes summary { cursor:pointer; padding:8px 0; font-size:13px; font-weight:600; min-height:40px; }
.landing-includes p { padding:8px 0; line-height:1.9; }

.landing-intro { align-items:center; }
.landing-intro img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block; }
.landing-intro figcaption { font-size:11px; color:var(--muted); margin-top:8px; }
.landing-intro h2 { margin-bottom:24px; }
.landing-intro .landing-text-link { margin-top:20px; }
.landing-menu li:target { background:#fff; outline:2px solid #427277; outline-offset:8px; }
