/* Approved light homepage surfaces. Dark colours and layout remain unchanged. */
html.sm-spa-home[data-sm-theme="light"] #philosophy,
html.sm-spa-home[data-sm-theme="light"] .comparison-section,
html.sm-spa-home[data-sm-theme="light"] .home-reviews {background:#f5f0e7}
html.sm-spa-home[data-sm-theme="light"] .practitioner-band,
html.sm-spa-home[data-sm-theme="light"] .contact-banner {background:#eae0d3}
html.sm-spa-home[data-sm-theme="light"] .collection,
html.sm-spa-home[data-sm-theme="light"] #guide,
html.sm-spa-home[data-sm-theme="light"] .jewel-signature,
html.sm-spa-home[data-sm-theme="light"] .clinic-qr,
html.sm-spa-home[data-sm-theme="light"] .guide-box,
html.sm-spa-home[data-sm-theme="light"] .cream .guide-box {background:#f5f0e7}
html.sm-spa-home[data-sm-theme="light"] .quote-band {background:#e1d5c5}
/* Section planes never fade or translate; only their contents animate. */
html.sm-spa-home main>section:not(.hero),
html.sm-spa-home .contact-banner {opacity:1;transition:none;animation:none}
html.sm-spa-home main>section:not(.hero) .finish-reveal,
html.sm-spa-home main>section:not(.hero) .finish-image,
html.sm-spa-home .contact-banner .finish-reveal {animation:none!important;opacity:1;translate:none}
html.sm-spa-home .spa-photo-drift {translate:0 var(--spa-photo-y,0px);will-change:translate}
html.sm-spa-home .pill,
html.sm-spa-home .text-link {transition:background .3s ease,color .3s ease,border-color .3s ease,transform .4s cubic-bezier(.2,.65,.3,1)}
html.sm-spa-home .treatment-card {transition:box-shadow .45s ease,border-color .45s ease}
html.sm-spa-home .treatment-card>img {transition:transform 1.25s cubic-bezier(.2,.65,.3,1)}
html.sm-spa-home .treatment-card:hover>img {transform:scale(1.035)}
html.sm-spa-home.motion-paused .spa-photo-drift {translate:none!important;will-change:auto}
html.sm-spa-home.motion-paused .treatment-card>img {transition:none;transform:none}
@media(prefers-reduced-motion:reduce){
 html.sm-spa-home .spa-photo-drift {translate:none!important;will-change:auto}
 html.sm-spa-home .treatment-card>img {transition:none;transform:none}
}
html.sm-spa-home[data-sm-theme="light"] .treatment-card:hover {box-shadow:0 12px 28px #62564316}
/* Transparent at the portrait edge, with a soft translucent veil towards the top. */
html.sm-spa-home[data-sm-theme="light"] .nav-bar {
 background:linear-gradient(0deg,rgba(245,240,231,0) 0%,rgba(245,240,231,.08) 55%,rgba(245,240,231,.30) 100%);
 -webkit-backdrop-filter:none;
 backdrop-filter:none;
 border-color:transparent;
 box-shadow:none;
}
/* Original text position; no separate panel interrupts the continuous portrait blend. */
html.sm-spa-home[data-sm-theme="light"] .principles {
 background:transparent;
 -webkit-backdrop-filter:none;
 backdrop-filter:none;
 border-color:transparent;
 box-shadow:none;
}
html.sm-spa-home[data-sm-theme="light"] .principles {
 color:#302d28;
 font-weight:500;
 text-shadow:0 1px 2px rgba(245,240,231,.55);
}
/* Match the lighter hero button's warm ivory across the navigation and hero phrases. */
html.sm-spa-home[data-sm-theme="light"] {--hero-light-button-colour:#f5f0e7}
html.sm-spa-home[data-sm-theme="light"] .header .brand-mobile-lockup,
html.sm-spa-home[data-sm-theme="light"] .header .brand-emblem {
 filter:url('/images/brand/hero-ivory-logo-filter.svg#ivory');
}
html.sm-spa-home[data-sm-theme="light"] .header .brand-title,
html.sm-spa-home[data-sm-theme="light"] .header .brand-title small,
html.sm-spa-home[data-sm-theme="light"] .header .nav-links a,
html.sm-spa-home[data-sm-theme="light"] .header .phone-link,
html.sm-spa-home[data-sm-theme="light"] .header .menu-button,
html.sm-spa-home[data-sm-theme="light"] .header .nav-actions>.pill,
html.sm-spa-home[data-sm-theme="light"] .principles,
html.sm-spa-home[data-sm-theme="light"] .principles svg {
 color:var(--hero-light-button-colour);
}
html.sm-spa-home[data-sm-theme="light"] .header .nav-actions>.pill {border-color:var(--hero-light-button-colour)}
html.sm-spa-home[data-sm-theme="light"] .header .nav-links a,
html.sm-spa-home[data-sm-theme="light"] .header .phone-link,
html.sm-spa-home[data-sm-theme="light"] .principles {text-shadow:0 1px 3px rgba(48,40,31,.25)}
/* Soft light entering from the physical viewport edges; clear through the centre. */
html.sm-spa-home[data-sm-theme="light"] body::after {
 content:"";
 position:fixed;inset:0;z-index:60;
 pointer-events:none;
 background:
  linear-gradient(to bottom,rgba(248,244,236,.72) 0,rgba(248,244,236,.26) 22px,rgba(248,244,236,0) 88px),
  linear-gradient(to top,rgba(248,244,236,.80) 0,rgba(248,244,236,.30) 24px,rgba(248,244,236,0) 100px),
  linear-gradient(to right,rgba(248,244,236,.58) 0,rgba(248,244,236,.18) 20px,rgba(248,244,236,0) 90px),
  linear-gradient(to left,rgba(248,244,236,.58) 0,rgba(248,244,236,.18) 20px,rgba(248,244,236,0) 90px);
}
@media(max-width:760px){
 html.sm-spa-home[data-sm-theme="light"] body::after {
  background:
   linear-gradient(to bottom,rgba(248,244,236,.88) 0,rgba(248,244,236,.32) 22px,rgba(248,244,236,0) 78px),
   linear-gradient(to top,rgba(248,244,236,.92) 0,rgba(248,244,236,.36) 24px,rgba(248,244,236,0) 94px),
   linear-gradient(to right,rgba(248,244,236,.76) 0,rgba(248,244,236,.24) 10px,rgba(248,244,236,0) 44px),
   linear-gradient(to left,rgba(248,244,236,.76) 0,rgba(248,244,236,.24) 10px,rgba(248,244,236,0) 44px);
 }
}
@media print {html.sm-spa-home[data-sm-theme="light"] body::after{display:none}}

/* Dark homepage: the same continuous portrait geometry as light mode. */
html.sm-spa-home[data-sm-theme="dark"] .site { overflow-x:clip; }
html.sm-spa-home[data-sm-theme="dark"] .hero {
 --sm-header-height:120px;
 --sm-after-height:280px;
 overflow:visible;
 z-index:0;
}
html.sm-spa-home[data-sm-theme="dark"] .hero-image {
 top:var(--sm-image-top,calc(0px - var(--sm-header-height)));
 height:var(--sm-image-height,calc(100% + var(--sm-header-height) + var(--sm-after-height)));
 filter:saturate(.98) brightness(1.03);
 -webkit-mask-image:linear-gradient(180deg,#000 0px,#000 var(--sm-fade-start,78%),transparent var(--sm-fade-end,97%)),radial-gradient(ellipse 78% 120% at 50% 45%,#000 35%,#000 55%,#0009 85%,transparent 100%);
 mask-image:linear-gradient(180deg,#000 0px,#000 var(--sm-fade-start,78%),transparent var(--sm-fade-end,97%)),radial-gradient(ellipse 78% 120% at 50% 45%,#000 35%,#000 55%,#0009 85%,transparent 100%);
 -webkit-mask-composite:source-in;
 mask-composite:intersect;
}
html.sm-spa-home[data-sm-theme="dark"] .hero-shade {
 top:calc(0px - var(--sm-header-height));
 bottom:calc(0px - var(--sm-after-height));
 background:linear-gradient(180deg,rgba(24,28,29,.18) 0%,rgba(24,28,29,.12) 22%,rgba(24,28,29,.16) 60%,rgba(24,28,29,.24) 79%,rgba(24,28,29,.66) 94%,#181c1d 100%),linear-gradient(90deg,rgba(24,28,29,.2),transparent 28%,transparent 72%,rgba(24,28,29,.2));
}
html.sm-spa-home[data-sm-theme="dark"] .hero h1,
html.sm-spa-home[data-sm-theme="dark"] .hero .description,
html.sm-spa-home[data-sm-theme="dark"] .hero-consultation {
 text-shadow:0 2px 10px rgba(0,0,0,.65),0 0 24px rgba(0,0,0,.35);
}
html.sm-spa-home[data-sm-theme="dark"] .principles,
html.sm-spa-home[data-sm-theme="dark"] .clinic-confidence { position:relative;z-index:1;background:transparent; }
html.sm-spa-home[data-sm-theme="dark"] .principles {
 -webkit-backdrop-filter:none;
 backdrop-filter:none;
 border-color:rgba(208,182,144,.12);
 text-shadow:0 1px 6px rgba(0,0,0,.8);
}
html.sm-spa-home[data-sm-theme="dark"] .confidence-grid,
html.sm-spa-home[data-sm-theme="dark"] .confidence-grid>a { background:transparent; }
html.sm-spa-home[data-sm-theme="dark"] .confidence-grid>a {
 text-shadow:0 1px 5px rgba(0,0,0,.8);
}
html.sm-spa-home[data-sm-theme="dark"] .confidence-grid>a:hover,
html.sm-spa-home[data-sm-theme="dark"] .confidence-grid>a:focus-visible { background:rgba(24,28,29,.28); }
html.sm-spa-home[data-sm-theme="dark"] .confidence-source { text-shadow:0 1px 5px rgba(0,0,0,.8); }

/* Finish the portrait blend behind the trust strip, before the next section. */
html.sm-spa-home[data-sm-theme="dark"] .home-answer { position:relative;z-index:1; }
html.sm-spa-home[data-sm-theme="dark"] .home-answer::before {
 content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;
 transform:translateX(-50%);background:#181c1d;z-index:-1;pointer-events:none;
}
