/* Premium spa intro, ambient icons and page-shift animations */
html.dc-transitioning, html.dc-transitioning body{pointer-events:none}.dc-public-page{overflow-x:hidden}.dc-public-page main,.dc-public-page .site-header,.dc-public-page .site-footer{position:relative;z-index:2}.spa-ambient-layer{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.spa-ambient-icon{position:absolute;width:clamp(46px,4.4vw,74px);height:clamp(46px,4.4vw,74px);display:grid;place-items:center;border:1.5px solid rgba(201,159,80,.24);border-radius:999px;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.70),rgba(255,240,233,.24));box-shadow:0 18px 48px rgba(91,54,67,.10);opacity:.24;filter:none;animation:spaFloat var(--float-duration,22s) ease-in-out infinite;animation-delay:var(--float-delay,0s);transform:translate3d(0,0,0)}.spa-ambient-icon svg{width:60%;height:60%;stroke:rgba(118,64,76,.95);fill:none;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}.spa-ambient-icon:nth-child(2n) svg{stroke:rgba(201,159,80,.96)}.spa-ambient-icon:nth-child(3n){border-radius:24px;opacity:.20}.spa-ambient-icon:nth-child(4n){background:radial-gradient(circle,rgba(255,255,255,.6),rgba(231,168,151,.12))}@keyframes spaFloat{0%,100%{transform:translate3d(0,0,0) rotate(var(--start-rot,0deg)) scale(1)}25%{transform:translate3d(18px,-28px,0) rotate(calc(var(--start-rot,0deg) + 7deg)) scale(1.04)}50%{transform:translate3d(-14px,-58px,0) rotate(calc(var(--start-rot,0deg) - 9deg)) scale(.96)}75%{transform:translate3d(10px,-26px,0) rotate(calc(var(--start-rot,0deg) + 4deg)) scale(1.02)}}
.spa-page-transition{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:0;visibility:hidden;background:rgba(255,250,247,.88);backdrop-filter:blur(7px);transition:opacity .30s ease,visibility .30s ease}.spa-page-transition:before{content:'';position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:999px;border:2px solid rgba(201,159,80,.24);border-top-color:rgba(201,159,80,.92);animation:dcSoftSpin .72s linear infinite}.spa-page-transition:after{content:'';position:absolute;left:50%;top:50%;width:140px;height:1px;margin:44px 0 0 -70px;background:linear-gradient(90deg,transparent,rgba(201,159,80,.65),transparent);transform:scaleX(.45);opacity:.7;transition:transform .30s ease}.spa-page-transition.is-active{opacity:1;visibility:visible}.spa-page-transition.is-active:after{transform:scaleX(1)}@keyframes dcSoftSpin{to{transform:rotate(360deg)}}body.dc-page-enter main,body.dc-page-enter .site-footer{animation:dcPageEnter .54s cubic-bezier(.2,.9,.2,1) both}@keyframes dcPageEnter{from{opacity:0;filter:blur(5px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:none}}
.spa-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,rgba(255,240,236,.98),transparent 30%),radial-gradient(circle at 82% 80%,rgba(201,159,80,.25),transparent 34%),linear-gradient(135deg,#fffaf7,#f8e8e1 45%,#f4dbd1);overflow:hidden;transition:opacity .75s ease,visibility .75s ease}.spa-intro.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.spa-intro-canvas{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.55),transparent 29%)}.spa-intro-canvas:before,.spa-intro-canvas:after{content:'';position:absolute;border-radius:999px;filter:blur(42px);opacity:.6;animation:introGlow 4.8s ease-in-out infinite alternate}.spa-intro-canvas:before{width:36vw;height:36vw;left:-8vw;top:12vh;background:#ffd9ce}.spa-intro-canvas:after{width:42vw;height:42vw;right:-10vw;bottom:8vh;background:#d7b668}.spa-intro-content{position:relative;width:min(620px,calc(100% - 40px));text-align:center;padding:42px 30px;border-radius:36px;background:rgba(255,255,255,.33);border:1px solid rgba(255,255,255,.58);box-shadow:0 38px 110px rgba(98,49,62,.18);backdrop-filter:blur(18px);animation:introCard .9s cubic-bezier(.2,.9,.2,1) both}.spa-intro-logo{width:112px;height:112px;margin:0 auto 22px;border-radius:999px;padding:10px;background:#fff;box-shadow:0 20px 60px rgba(87,45,58,.18);position:relative;animation:logoReveal 1.35s ease both}.spa-intro-logo:before{content:'';position:absolute;inset:-10px;border-radius:inherit;border:1px solid rgba(201,159,80,.5);animation:lotusPulse 2.3s ease-in-out infinite}.spa-intro-logo img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.spa-intro-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;color:#9d4f5d;font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem}.spa-intro-kicker:before,.spa-intro-kicker:after{content:'';width:32px;height:1px;background:#c99f50}.spa-intro-title{font-family:Lustria,Georgia,serif;font-size:clamp(2rem,5.6vw,4rem);line-height:1.05;color:#2b1826;margin:0}.spa-intro-title span{font-family:'Alex Brush',cursive;color:#c5796e;font-size:1.18em}.spa-intro-text{color:#74616a;margin:16px auto 28px;max-width:470px;line-height:1.75}.spa-intro-progress{height:7px;border-radius:999px;background:rgba(80,45,57,.12);overflow:hidden;margin:0 auto 18px;max-width:380px}.spa-intro-progress span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#e99a8d,#c99f50,#f5df9f);animation:introProgress 4.7s cubic-bezier(.22,.8,.22,1) forwards}.spa-intro-skip{border:1px solid rgba(91,54,67,.18);border-radius:999px;padding:12px 22px;background:rgba(255,255,255,.68);color:#462736;font-weight:800;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.spa-intro-skip:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(91,54,67,.14)}.spa-petal,.spa-steam,.spa-candle{position:absolute;pointer-events:none}.spa-petal{width:18px;height:12px;background:linear-gradient(135deg,#f8b5ad,#fff4ef);border-radius:80% 20% 80% 20%;box-shadow:0 10px 20px rgba(176,95,107,.12);opacity:.72;animation:petalDrift var(--dur,7s) linear infinite;animation-delay:var(--delay,0s);left:var(--left,10%);top:var(--top,8%)}.spa-steam{width:8px;height:70px;border-radius:999px;border-left:2px solid rgba(158,99,112,.18);filter:blur(.5px);animation:steamRise var(--dur,4s) ease-in-out infinite;animation-delay:var(--delay,0s);left:var(--left,50%);bottom:var(--bottom,12%)}.spa-candle{width:22px;height:52px;border-radius:8px 8px 4px 4px;background:linear-gradient(#fff6e8,#e5c9a8);left:var(--left,15%);bottom:var(--bottom,15%);box-shadow:0 0 45px rgba(255,180,88,.35)}.spa-candle:before{content:'';position:absolute;left:50%;top:-16px;width:12px;height:20px;transform:translateX(-50%);border-radius:70% 30% 70% 30%;background:linear-gradient(#fff9ba,#f6a34e);animation:flame 1.1s ease-in-out infinite alternate}@keyframes introProgress{to{width:100%}}@keyframes introGlow{to{transform:translateY(-24px) scale(1.06)}}@keyframes introCard{from{opacity:0;transform:translateY(24px) scale(.96);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes logoReveal{0%{opacity:0;transform:scale(.6) rotate(-18deg)}60%{transform:scale(1.06) rotate(4deg)}100%{opacity:1;transform:scale(1) rotate(0)}}@keyframes lotusPulse{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.16);opacity:.1}}@keyframes petalDrift{0%{transform:translate3d(0,-20vh,0) rotate(0);opacity:0}12%{opacity:.72}100%{transform:translate3d(var(--x,70px),105vh,0) rotate(460deg);opacity:0}}@keyframes steamRise{0%,100%{transform:translateY(0) scaleX(1);opacity:.08}50%{transform:translateY(-60px) scaleX(1.8);opacity:.38}}@keyframes flame{to{transform:translateX(-50%) scale(1.12) rotate(5deg)}}
.btn,.service-card,.feature-card,.membership-card,.testimonial-card,.contact-card,.soft-card,.policy-content{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.btn:hover,.service-card:hover,.feature-card:hover,.membership-card:hover,.testimonial-card:hover,.contact-card:hover,.soft-card:hover{transform:translateY(-4px)}.soft-card,.contact-card,.policy-content,.feature-card,.membership-card,.testimonial-card{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,248,245,.86));backdrop-filter:blur(10px)}.section-soft,.section-blush{position:relative;overflow:hidden}.section-soft:before,.section-blush:before{content:'';position:absolute;inset:auto -10% 8% auto;width:34vw;height:34vw;min-width:260px;min-height:260px;border-radius:999px;background:radial-gradient(circle,rgba(233,154,141,.14),transparent 66%);pointer-events:none}@media (max-width:720px){.spa-intro-content{padding:34px 22px}.spa-intro-logo{width:88px;height:88px}.spa-intro-text{font-size:.95rem}.spa-ambient-icon{opacity:.12}.spa-page-transition:after{letter-spacing:.18em}.spa-candle{display:none}}@media (prefers-reduced-motion:reduce){.spa-intro,.spa-intro *,.spa-ambient-icon,.spa-page-transition,body.dc-page-enter main,body.dc-page-enter .site-footer{animation:none!important;transition:none!important}.spa-intro-progress span{width:100%}}


/* Final balanced icon, homepage-spacing, and pleasant inner-page animation refinements */
body[data-spa-home="true"] .section{padding:78px 0}
body[data-spa-home="true"] .section-head{margin-bottom:38px}
body[data-spa-home="true"] .section-head p{margin-top:12px}
body[data-spa-home="true"] .hero-card{margin-top:42px}
body[data-spa-home="true"] .welcome-grid{gap:52px}
body[data-spa-home="true"] .image-stack{min-height:470px}
body[data-spa-home="true"] .image-stack .main-img{height:455px}
body[data-spa-home="true"] .image-stack .float-img{height:220px}
body[data-spa-home="true"] .cta-band{padding:78px 0}
.dc-public-page .reveal{will-change:opacity,transform,filter;filter:blur(4px);transform:translateY(22px) scale(.985);transition:opacity .72s cubic-bezier(.2,.75,.2,1),transform .72s cubic-bezier(.2,.75,.2,1),filter .72s cubic-bezier(.2,.75,.2,1)}
.dc-public-page .reveal.visible{filter:blur(0);transform:none}
.dc-public-page .service-card,.dc-public-page .feature-card,.dc-public-page .membership-card,.dc-public-page .testimonial-card,.dc-public-page .contact-card,.dc-public-page .price-card,.dc-public-page .cat-card{transition:transform .34s cubic-bezier(.2,.75,.2,1),box-shadow .34s ease,border-color .34s ease,filter .34s ease}
.dc-public-page .service-card:hover,.dc-public-page .feature-card:hover,.dc-public-page .membership-card:hover,.dc-public-page .testimonial-card:hover,.dc-public-page .contact-card:hover,.dc-public-page .price-card:hover,.dc-public-page .cat-card:hover{filter:saturate(1.04);box-shadow:0 22px 56px rgba(91,54,67,.14)}
.dc-public-page .btn{transition:transform .28s ease,box-shadow .28s ease,background-color .28s ease,border-color .28s ease,color .28s ease}
.dc-public-page .btn:hover{transform:translateY(-3px)}
.dc-public-page .form-field input,.dc-public-page .form-field textarea{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.dc-public-page .form-field input:focus,.dc-public-page .form-field textarea:focus{transform:translateY(-1px)}
@media (max-width:820px){body[data-spa-home="true"] .section{padding:58px 0}body[data-spa-home="true"] .section-head{margin-bottom:28px}body[data-spa-home="true"] .hero-card{margin-top:30px}.spa-ambient-icon{width:clamp(38px,11vw,58px);height:clamp(38px,11vw,58px);opacity:.16}.spa-ambient-icon svg{stroke-width:2.2}}

/* Gap cleanup, adaptive background icons, and spa-mist page transition refinements */
body[data-spa-home="true"] .hero{min-height:92vh}
body[data-spa-home="true"] .hero-content{padding-top:calc(var(--header-h) + 18px);padding-bottom:34px}
body[data-spa-home="true"] .hero-copy h1{margin-bottom:14px}
body[data-spa-home="true"] .hero-copy p{margin-bottom:22px}
body[data-spa-home="true"] .hero-card{margin-top:28px}
body[data-spa-home="true"] .hero-card-item{padding:18px 22px}
body[data-spa-home="true"] .section{padding:58px 0}
body[data-spa-home="true"] .section-head{margin-bottom:26px}
body[data-spa-home="true"] .section-head p{margin-top:9px;line-height:1.68}
body[data-spa-home="true"] .welcome-grid{gap:38px}
body[data-spa-home="true"] .image-stack{min-height:410px}
body[data-spa-home="true"] .image-stack .main-img{height:405px}
body[data-spa-home="true"] .image-stack .float-img{height:188px;border-width:9px}
body[data-spa-home="true"] .feature-card,
body[data-spa-home="true"] .testimonial-card{padding:26px}
body[data-spa-home="true"] .cta-band{padding:62px 0}
body[data-spa-home="true"] .cta-band p{margin:12px auto 22px}
body[data-spa-home="true"] .site-footer{padding:56px 0 24px}
body[data-spa-home="true"] .footer-bottom{margin-top:34px;padding-top:18px}

.spa-ambient-icon{width:clamp(40px,3.7vw,62px);height:clamp(40px,3.7vw,62px);opacity:.22;border:1.6px solid rgba(181,136,71,.25);background:radial-gradient(circle at 36% 28%,rgba(255,252,244,.52),rgba(214,176,104,.14) 58%,rgba(142,93,68,.06));box-shadow:0 14px 34px rgba(82,54,42,.10),0 0 22px rgba(210,174,96,.08)}
.spa-ambient-icon svg{width:61%;height:61%;stroke:rgba(132,91,55,.82);stroke-width:2.45}
.spa-ambient-icon:nth-child(2n) svg{stroke:rgba(188,143,69,.84)}
.spa-ambient-icon:nth-child(3n) svg{stroke:rgba(148,96,86,.78)}
.spa-ambient-icon:nth-child(3n){opacity:.19;border-radius:20px}
.spa-ambient-icon:nth-child(4n){background:radial-gradient(circle at 40% 28%,rgba(255,248,231,.42),rgba(196,145,97,.12) 65%,rgba(135,83,73,.06))}
html[data-theme="dark"] .spa-ambient-icon{opacity:.24;border-color:rgba(219,188,123,.24);background:radial-gradient(circle at 36% 30%,rgba(255,239,190,.14),rgba(209,168,91,.10) 58%,rgba(255,255,255,.025));box-shadow:0 14px 36px rgba(0,0,0,.18),0 0 28px rgba(217,178,96,.09)}
html[data-theme="dark"] .spa-ambient-icon svg{stroke:rgba(226,198,139,.72)}
html[data-theme="dark"] .spa-ambient-icon:nth-child(2n) svg{stroke:rgba(236,220,178,.66)}
html[data-theme="dark"] .spa-ambient-icon:nth-child(3n) svg{stroke:rgba(222,174,154,.62)}

.spa-page-transition{background:radial-gradient(circle at 50% 46%,rgba(255,247,232,.94),rgba(255,240,231,.80) 34%,rgba(247,226,212,.70) 60%,rgba(53,35,48,.18));backdrop-filter:blur(9px) saturate(1.02);transition:opacity .34s ease,visibility .34s ease}
html[data-theme="dark"] .spa-page-transition{background:radial-gradient(circle at 50% 46%,rgba(61,44,50,.82),rgba(38,28,38,.78) 45%,rgba(19,15,20,.74));backdrop-filter:blur(10px) saturate(1.05)}
.spa-page-transition:before{content:'✦';left:50%;top:50%;width:78px;height:78px;margin:-39px 0 0 -39px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(201,159,80,.42);background:radial-gradient(circle,rgba(255,255,255,.76),rgba(247,219,181,.34) 52%,rgba(201,159,80,.10));box-shadow:0 0 0 14px rgba(201,159,80,.08),0 26px 70px rgba(90,53,56,.16);color:#b8873e;font-size:30px;line-height:1;animation:spaLotusBreathe 1.15s ease-in-out infinite alternate}
html[data-theme="dark"] .spa-page-transition:before{background:radial-gradient(circle,rgba(255,241,198,.18),rgba(204,159,83,.16) 54%,rgba(255,255,255,.04));box-shadow:0 0 0 14px rgba(225,190,116,.08),0 24px 70px rgba(0,0,0,.28);color:#e2c58a;border-color:rgba(225,190,116,.34)}
.spa-page-transition:after{content:'';left:50%;top:50%;width:210px;height:54px;margin:28px 0 0 -105px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(201,159,80,.24),transparent 64%);filter:blur(9px);transform:scaleX(.55) translateY(4px);opacity:.62;animation:spaMistDrift 1.15s ease-in-out infinite alternate}
.spa-page-transition.is-active:after{transform:scaleX(1) translateY(-3px)}
@keyframes spaLotusBreathe{from{transform:scale(.92) rotate(-5deg);opacity:.74}to{transform:scale(1.08) rotate(5deg);opacity:1}}
@keyframes spaMistDrift{from{opacity:.34;filter:blur(12px)}to{opacity:.75;filter:blur(7px)}}
body.dc-page-enter main,body.dc-page-enter .site-footer{animation:dcSpaPageEnter .58s cubic-bezier(.22,.85,.2,1) both}
@keyframes dcSpaPageEnter{from{opacity:0;filter:blur(7px);transform:translateY(16px)}to{opacity:1;filter:blur(0);transform:none}}

@media (max-width:820px){
  body[data-spa-home="true"] .hero{min-height:auto;padding:118px 0 44px}
  body[data-spa-home="true"] .hero-content{padding-top:0;padding-bottom:0}
  body[data-spa-home="true"] .section{padding:46px 0}
  body[data-spa-home="true"] .section-head{margin-bottom:22px}
  body[data-spa-home="true"] .hero-card{margin-top:24px}
  body[data-spa-home="true"] .welcome-grid{gap:28px}
  .spa-ambient-icon{width:clamp(34px,8.5vw,50px);height:clamp(34px,8.5vw,50px);opacity:.17}
  html[data-theme="dark"] .spa-ambient-icon{opacity:.20}
  .spa-page-transition:before{width:64px;height:64px;margin:-32px 0 0 -32px;font-size:25px}
  .spa-page-transition:after{width:170px;margin-left:-85px}
}

/* Dark-mode correction for animation-layer card background overrides */
html[data-theme="dark"] .soft-card,
html[data-theme="dark"] .contact-card,
html[data-theme="dark"] .policy-content,
html[data-theme="dark"] .feature-card,
html[data-theme="dark"] .membership-card,
html[data-theme="dark"] .testimonial-card{
  background:linear-gradient(180deg, rgba(36,27,39,.96), rgba(47,34,51,.92));
  border-color:var(--line);
  color:var(--text);
}
