/* latin-ext */
@font-face {
  font-family: 'Arima Madurai';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('assets/fonts/t5t7IRoeKYORG0WNMgnC3seB1ZXtupKmfyca.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Arima Madurai';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('assets/fonts/t5t7IRoeKYORG0WNMgnC3seB1ZXtupymfw.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Arima Madurai';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/t5tmIRoeKYORG0WNMgnC3seB3TDPr6OH.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Arima Madurai';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/t5tmIRoeKYORG0WNMgnC3seB3T7Prw.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Arima Madurai';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('assets/fonts/t5t7IRoeKYORG0WNMgnC3seB1c3supKmfyca.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Arima Madurai';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('assets/fonts/t5t7IRoeKYORG0WNMgnC3seB1c3supymfw.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Arima Madurai';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('assets/fonts/t5t7IRoeKYORG0WNMgnC3seB1YXqupKmfyca.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Arima Madurai';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('assets/fonts/t5t7IRoeKYORG0WNMgnC3seB1YXqupymfw.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Arima Madurai';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('assets/fonts/t5t7IRoeKYORG0WNMgnC3seB1ZnpupKmfyca.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Arima Madurai';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('assets/fonts/t5t7IRoeKYORG0WNMgnC3seB1Znpupymfw.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{
  --ink:#17221f; --muted:#5c6f66; --cream:#fffaf0; --paper:#fffef8; --sand:#ead9bf;
  --sage:#5bb5a5; --teal:#0d6f6c; --aqua:#53c9c1; --plum:#6c285e; --orchid:#9b4fa0; --gold:#c88f3d;
  --shadow:0 22px 70px rgba(24,47,43,.16); --radius:30px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:'Arima Madurai', system-ui, sans-serif;color:var(--ink);background:
 radial-gradient(circle at 8% 5%, rgba(83,201,193,.28), transparent 28%),
 radial-gradient(circle at 95% 12%, rgba(155,79,160,.18), transparent 32%),
 linear-gradient(180deg,#fffaf0 0%,#f6eee0 42%,#f7fbf7 100%);font-size:18px;line-height:1.55;}
a{color:inherit;text-decoration:none}.container{width:min(1160px, calc(100% - 36px));margin:auto}.nav{position:sticky;top:0;z-index:50;background:rgba(255,250,240,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(13,111,108,.12)}.nav-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{font-size:34px;font-weight:800;letter-spacing:.07em;line-height:1;color:#102b29}.brand span{display:block;font:inherit;font-size:13px;letter-spacing:.42em;color:#102b29;margin-top:6px;text-align:center}.links{display:flex;gap:28px;align-items:center;font-weight:800;font-size:15px;letter-spacing:.08em}.links a{position:relative}.links a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--sage),var(--orchid));transform:scaleX(0);transition:.25s}.links a:hover:after,.links a.active:after{transform:scaleX(1)}.book{background:linear-gradient(135deg,var(--teal),var(--sage));color:white;padding:12px 18px;border-radius:999px;box-shadow:0 12px 26px rgba(13,111,108,.22)}
.hero{position:relative;min-height:690px;display:grid;place-items:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,31,29,.72),rgba(10,31,29,.28),rgba(255,250,240,.10)),url('assets/shanti-room.jpg') center/cover no-repeat;filter:saturate(1.05)}.hero:after{content:"";position:absolute;width:680px;height:680px;right:-190px;bottom:-260px;background:url('assets/shanti-Mandala-original-smaller-2000-1024x1024.jpg') center/contain no-repeat;opacity:.34;mix-blend-mode:screen;animation:float 18s ease-in-out infinite}.hero-content{position:relative;color:white;text-align:center;padding:80px 0;text-shadow:0 5px 25px rgba(0,0,0,.30)}.eyebrow{letter-spacing:.34em;text-transform:uppercase;font-weight:800;color:#b7fff2;font-size:14px}.hero h1{font-size:clamp(58px,9vw,126px);line-height:.88;margin:22px 0 18px;font-weight:800;letter-spacing:.06em}.hero p{font-size:clamp(22px,3vw,36px);max-width:760px;margin:0 auto 32px}.cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:999px;font-weight:800;letter-spacing:.06em;border:1px solid rgba(255,255,255,.35)}.btn.primary{background:linear-gradient(135deg,var(--plum),var(--orchid));color:white;box-shadow:0 16px 36px rgba(108,40,94,.28)}.btn.light{background:rgba(255,255,255,.16);color:white;backdrop-filter:blur(12px)}
.section{position:relative;padding:92px 0}.section-title{text-align:center;margin-bottom:42px}.section-title h1,.section-title h2{font-size:clamp(44px,6vw,76px);line-height:.95;margin:0;color:#183532}.section-title p{max-width:690px;margin:16px auto 0;color:var(--muted);font-size:21px}.mandala-bg{position:absolute;inset:auto auto -180px -160px;width:420px;height:420px;background:url('assets/shanti-Mandala-original-smaller-2000-1024x1024.jpg') center/contain no-repeat;opacity:.13;pointer-events:none}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.card{background:rgba(255,254,248,.82);border:1px solid rgba(13,111,108,.13);box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}.about-copy{padding:44px}.about-copy h2{font-size:52px;line-height:1;margin:0 0 18px}.portrait{height:560px;object-fit:cover;width:100%;object-position:50% 20%;display:block}.room-card img{width:100%;height:370px;object-fit:cover;display:block}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.stat{padding:18px;border-radius:20px;background:linear-gradient(135deg,rgba(91,181,165,.18),rgba(155,79,160,.12));font-weight:800;text-align:center}.stat span{display:block;font-size:13px;color:var(--muted);font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{padding:30px;position:relative;min-height:260px}.service:before{content:"";position:absolute;right:18px;top:18px;width:82px;height:82px;background:url('assets/shanti-Mandala-original-smaller-2000-1024x1024.jpg') center/contain no-repeat;opacity:.18}.service h3{font-size:34px;line-height:1.05;margin:0 0 10px;color:var(--plum)}.service p{color:var(--muted);margin:0}.service .price{margin-top:18px;font-weight:800;color:var(--teal)}
.price-hero{padding:80px 0 30px;background:linear-gradient(135deg,rgba(13,111,108,.12),rgba(155,79,160,.12))}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;align-items:start}.price-column{display:flex;flex-direction:column;gap:22px}.price-card{padding:30px}.price-card.compact{min-height:0}.price-card h2{font-size:35px;line-height:1.05;text-align:center;margin:0 0 20px;color:#5a244e}.price-card h2:after{content:"";display:block;margin:14px auto 0;width:110px;height:16px;background:url('assets/shanti-Mandala-original-smaller-2000-1024x1024.jpg') center/contain no-repeat;opacity:.65}.item{display:grid;grid-template-columns:1fr auto;gap:14px;padding:9px 0;border-bottom:1px dashed rgba(13,111,108,.26)}.item strong{letter-spacing:.02em}.item .euro{font-weight:800;color:#102b29;white-space:nowrap}.desc{font-size:15px;color:var(--muted);margin:4px 0 10px}.feature{padding:28px;border-radius:26px;background:linear-gradient(135deg,rgba(91,181,165,.14),rgba(255,255,255,.6));margin-top:16px}.feature h3{margin:0 0 10px;font-size:27px;color:var(--teal)}.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.package{padding:34px;background:linear-gradient(145deg,rgba(255,254,248,.9),rgba(235,249,246,.75))}.package h3{font-size:34px;color:var(--plum);margin:0 0 8px}.package .big{font-size:42px;color:var(--teal);font-weight:800}.gallery{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:18px}.gallery img{width:100%;height:330px;object-fit:cover;border-radius:26px;box-shadow:var(--shadow)}.gallery img:first-child{height:680px;grid-row:span 2}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reviews img{width:100%;border-radius:24px;box-shadow:var(--shadow)}.footer{background:#061d1b;color:#eafffb;padding:50px 0;margin-top:50px}.footer-inner{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:26px}.social img{width:46px;height:46px;margin-right:10px}.small{font-size:15px;opacity:.8}@keyframes float{50%{transform:translateY(-28px) rotate(8deg)}}
@media(max-width:850px){.nav-inner{height:auto;padding:16px 0;align-items:flex-start}.links{gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.book{padding:9px 12px}.split,.price-grid,.grid,.package-grid,.footer-inner{grid-template-columns:1fr}.price-column{gap:18px}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{height:auto;grid-row:auto}.reviews{grid-template-columns:1fr}.hero{min-height:620px}.section{padding:64px 0}.about-copy{padding:28px}.portrait{height:auto}.brand{font-size:25px}.price-card{padding:22px}.hero h1{font-size:56px}.hero p{font-size:22px}}

/* v5 polish: one-line logo, subtler mandalas, professional motion */
.brand{display:inline-flex;align-items:baseline;gap:.22em;white-space:nowrap;color:#102b29;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.brand span{display:inline;font:inherit;font-size:inherit;letter-spacing:inherit;color:inherit;margin:0;text-align:inherit}
.nav .brand{font-size:34px}.footer .brand{font-size:31px;color:#fff!important}.hero h1{white-space:nowrap}.card{position:relative;isolation:isolate;transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease}.card:hover{transform:translateY(-5px);box-shadow:0 30px 90px rgba(24,47,43,.22);border-color:rgba(91,181,165,.38)}
.service{overflow:hidden}.service:before{right:-22px;top:-26px;width:112px;height:112px;opacity:.105;transform:rotate(-12deg);transition:transform .55s ease, opacity .35s ease}.service:after{content:"";position:absolute;left:-46px;bottom:-58px;width:145px;height:145px;background:url('assets/shanti-Mandala-original-smaller-2000-1024x1024.jpg') center/contain no-repeat;opacity:.055;z-index:-1;transition:transform .7s ease, opacity .35s ease}.service:hover:before{transform:rotate(6deg) scale(1.04);opacity:.15}.service:hover:after{transform:rotate(-10deg) scale(1.06);opacity:.09}
.price-card,.package{overflow:hidden}.price-card:before,.package:before{content:"";position:absolute;right:-42px;top:-50px;width:150px;height:150px;background:url('assets/shanti-Mandala-original-smaller-2000-1024x1024.jpg') center/contain no-repeat;opacity:.07;z-index:-1;transition:transform .65s ease, opacity .35s ease}.price-card:after,.package:after{content:"";position:absolute;left:-64px;bottom:-72px;width:190px;height:190px;background:url('assets/shanti-Mandala-original-smaller-2000-1024x1024.jpg') center/contain no-repeat;opacity:.04;z-index:-1;transition:transform .75s ease, opacity .35s ease}.price-card:hover:before,.package:hover:before{transform:rotate(12deg) scale(1.04);opacity:.105}.price-card:hover:after,.package:hover:after{transform:rotate(-8deg) scale(1.05);opacity:.07}.price-card h2:after{width:38px;height:38px;margin:9px auto 0;opacity:.32;border-radius:999px;filter:saturate(.82)}
.btn,.book{transition:transform .28s ease, box-shadow .28s ease, filter .28s ease, background-color .28s ease}.btn:hover,.book:hover{transform:translateY(-2px);filter:saturate(1.08) brightness(1.06);box-shadow:0 18px 36px rgba(13,111,108,.25)}.book:hover,.book:focus-visible{color:#fff}.links a{transition:color .25s ease}.links a:hover{color:var(--teal)}.links .book,.links .book:hover,.links .book:focus-visible{color:#fff}
.hero:after{animation:float 18s ease-in-out infinite, slowSpin 44s linear infinite}.mandala-bg{animation:softPulse 9s ease-in-out infinite}.grid .card,.price-card,.package,.about-copy,.gallery img,.reviews img{animation:fadeLift .65s ease both}.grid .card:nth-child(2),.price-card:nth-child(2),.package:nth-child(2){animation-delay:.08s}.grid .card:nth-child(3),.price-card:nth-child(3),.package:nth-child(3){animation-delay:.16s}.grid .card:nth-child(4),.price-card:nth-child(4),.package:nth-child(4){animation-delay:.24s}.grid .card:nth-child(5){animation-delay:.32s}.grid .card:nth-child(6){animation-delay:.4s}
@keyframes fadeLift{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes slowSpin{to{rotate:360deg}}@keyframes softPulse{50%{opacity:.2;transform:scale(1.025)}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:850px){.nav .brand{font-size:26px}.footer .brand{font-size:25px}.hero h1{white-space:nowrap}.brand span{font-size:inherit;letter-spacing:inherit}.service:before{width:82px;height:82px;right:-18px;top:-20px}.service:after{width:110px;height:110px}.price-card:before,.package:before{width:110px;height:110px}.price-card:after,.package:after{width:135px;height:135px}.nav-inner{align-items:center}.links{justify-content:flex-end}}
@media(max-width:520px){.nav-inner{display:block}.links{margin-top:14px;justify-content:flex-start}.nav .brand{font-size:24px}.hero h1{font-size:48px}}


/* v6 advanced treatment pages */
.price-section{padding-bottom:38px}.price-grid.balanced{align-items:start}.advanced-band{padding-top:58px;background:
 radial-gradient(circle at 20% 10%, rgba(83,201,193,.22), transparent 28%),
 radial-gradient(circle at 90% 2%, rgba(108,40,94,.12), transparent 32%),
 linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,250,240,.78));}
.advanced-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.advanced-card{display:flex;flex-direction:column;min-height:100%;overflow:hidden;color:inherit}.advanced-media{height:230px;background:linear-gradient(135deg,rgba(91,181,165,.24),rgba(155,79,160,.18));position:relative;overflow:hidden}.advanced-media img{width:100%;height:100%;object-fit:cover;display:block}.advanced-media.mandala-media:before{content:"";position:absolute;inset:-80px;background:url('assets/shanti-Mandala-original-smaller-2000-1024x1024.jpg') center/contain no-repeat;opacity:.72;animation:slowSpin 70s linear infinite}.advanced-media.room-glow{background:linear-gradient(135deg,rgba(13,111,108,.32),rgba(155,79,160,.22)),url('assets/shanti-room.jpg') center/cover no-repeat}.advanced-copy{padding:26px}.advanced-copy h3{font-size:34px;line-height:1.05;color:var(--plum);margin:0 0 12px}.advanced-copy p{color:var(--muted);margin:0 0 18px}.advanced-copy strong{display:block;color:var(--teal);font-size:20px;margin-bottom:14px}.advanced-copy span{font-weight:800;color:var(--plum)}.treatment-hero{padding:88px 0;background:radial-gradient(circle at 85% 0%, rgba(155,79,160,.14), transparent 34%),linear-gradient(135deg,#fffaf0,#eef9f6)}.treatment-hero-grid{display:grid;grid-template-columns:1fr .78fr;gap:44px;align-items:center}.treatment-hero h1{font-size:clamp(52px,7vw,96px);line-height:.92;margin:14px 0 22px;color:#183532}.treatment-hero p{font-size:22px;color:var(--muted)}.eyebrow.dark{color:var(--teal);text-shadow:none}.cta-row.left{justify-content:flex-start}.btn.teal{background:linear-gradient(135deg,var(--teal),var(--sage));color:#fff}.treatment-photo{height:520px}.treatment-photo img{width:100%;height:100%;object-fit:cover;display:block}.treatment-detail{align-items:stretch}.big-price{font-size:30px;font-weight:800;color:var(--teal);margin:0 0 20px}.clean-list{padding-left:0;list-style:none;margin:0}.clean-list li{padding:13px 0 13px 34px;border-bottom:1px dashed rgba(13,111,108,.2);position:relative}.clean-list li:before{content:"✦";position:absolute;left:0;color:var(--plum)}.language-card h3{font-size:24px;color:var(--teal);margin:18px 0 6px}.advanced-grid.mini .advanced-link{padding:28px;text-align:center;font-size:30px;font-weight:800;color:var(--plum)}
@media(max-width:850px){.advanced-grid,.treatment-hero-grid{grid-template-columns:1fr}.treatment-photo{height:auto}.advanced-media{height:210px}.treatment-hero{padding:64px 0}.cta-row.left{justify-content:center}.treatment-hero{text-align:center}}

/* v7 premium treatment update */
.hero:before{background:linear-gradient(90deg,rgba(10,31,29,.68),rgba(10,31,29,.32),rgba(255,250,240,.08));z-index:1;filter:none}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(1.05) contrast(1.02)}.hero:after{display:none!important}.hero-content{z-index:2}.hero .ambient-glow{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 35% 35%,rgba(91,181,165,.18),transparent 34%),radial-gradient(circle at 72% 25%,rgba(155,79,160,.16),transparent 30%);animation:softHeroGlow 12s ease-in-out infinite;pointer-events:none}.brand,.brand span{font-family:'Arima Madurai',system-ui,sans-serif!important;color:#102b29!important}.footer .brand,.footer .brand span{color:#eafffb!important}.brand span{display:inline!important}.treatment-logo{max-width:min(420px,88%);height:auto;display:block;margin:0 0 26px}.treatment-logo.oxygen{max-width:min(500px,94%)}.circadia-logo{max-width:260px;height:auto;margin:24px auto 0;display:block;opacity:.86}.switch-hero,.oxygen-hero{background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(238,249,246,.70)),url('assets/responsive/soapy-bg-960.jpg') center/cover no-repeat}.switch-hero .treatment-photo,.oxygen-hero .treatment-photo{background:rgba(255,255,255,.74);padding:20px}.switch-hero .treatment-photo img{object-fit:contain;background:#e8f0f4}.oxygen-hero .treatment-photo img{object-fit:contain}.oxygen-bubbles{background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(241,250,250,.75)),url('assets/responsive/soapy-bg-960.jpg') center/cover fixed no-repeat}.before-after{padding:18px;background:#fff;border-radius:28px}.before-after img{width:100%;height:auto;border-radius:20px;display:block}.brand-strip{display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap;padding:26px;border-radius:28px;background:rgba(255,255,255,.72);border:1px solid rgba(13,111,108,.11);box-shadow:var(--shadow)}.brand-strip img{max-height:86px;max-width:260px;object-fit:contain}.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.journey .step{padding:28px;text-align:center}.journey .step strong{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--sage));color:white;margin-bottom:14px}.advanced-media.logo-media{display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(238,249,246,.78)),url('assets/responsive/soapy-bg-960.jpg') center/cover no-repeat;padding:30px}.advanced-media.logo-media img{width:82%;height:auto;object-fit:contain}.advanced-media.logo-media.oxygen img{width:92%}.advanced-media.celluma-glow img{filter:saturate(1.16);transition:transform .55s ease,filter .55s ease}.advanced-card:hover .advanced-media.celluma-glow img{transform:scale(1.04);filter:saturate(1.25) brightness(1.04)}.mandala-bg{background-image:url('assets/mandala white transparent background.png');opacity:.16}.footer{position:relative;overflow:hidden}.footer:after{content:"";position:absolute;right:-120px;bottom:-180px;width:420px;height:420px;background:url('assets/mandala white transparent background.png') center/contain no-repeat;opacity:.055;pointer-events:none}.btn.primary,.btn.teal,.book{position:relative;overflow:hidden}.btn.primary:after,.btn.teal:after,.book:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.28) 45%,transparent 70%);transform:translateX(-120%);transition:transform .65s ease}.btn.primary:hover:after,.btn.teal:hover:after,.book:hover:after{transform:translateX(120%)}@keyframes softHeroGlow{50%{opacity:.62;transform:scale(1.03)}}@media(max-width:850px){.treatment-logo,.treatment-logo.oxygen{margin-left:auto;margin-right:auto}.journey{grid-template-columns:1fr}.brand-strip img{max-height:70px}.hero-video{object-position:center}.switch-hero,.oxygen-hero{text-align:center}}

/* v9 treatment updates: static hero image with slow luxury zoom, branded Circadia pages */
.hero{overflow:hidden;background:#102b29;}
.hero-zoom{position:absolute;inset:0;z-index:0;overflow:hidden;transform-origin:center center;animation:kenBurnsShanti 10s ease-in-out infinite alternate;filter:saturate(1.04) contrast(1.02);background:none!important;background-image:none!important;}
.hero-zoom picture{position:absolute;inset:0;display:block;width:100%;height:100%;}
.hero-zoom img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center center;}
.hero-video{display:none!important;}
.hero:before{z-index:1;}
.hero .ambient-glow{z-index:1;}
@keyframes kenBurnsShanti{0%{transform:scale(1.02) translate3d(0,0,0)}100%{transform:scale(1.12) translate3d(-1.6%, -1.2%, 0)}}

.switch-hero,.oxygen-hero{background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(238,249,246,.78)),url('assets/responsive/soapy-bg-960.jpg') center/cover no-repeat!important;}
.treatment-intro{position:relative;}
.circadia-mark{display:block;width:min(245px,62vw);height:auto;margin:0 0 20px;opacity:.92;filter:drop-shadow(0 14px 24px rgba(12,29,56,.10));}
.treatment-logo{display:block;max-width:min(410px,82vw);height:auto;margin:0 0 22px!important;filter:drop-shadow(0 12px 22px rgba(12,29,56,.09));}
.treatment-logo.oxygen{max-width:min(500px,86vw);}
.treatment-logo.switch{max-width:min(360px,76vw);}
.treatment-hero h1{font-size:clamp(44px,5.7vw,82px);}
.before-after{padding:14px;background:rgba(255,255,255,.78);backdrop-filter:blur(10px);}
.before-after img{border-radius:18px;box-shadow:0 16px 42px rgba(15,46,43,.16);}
.brand-strip img[src*="mandala-white"]{max-height:130px;opacity:.72;}
.oxygen-bubbles{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(241,250,250,.82)),url('assets/responsive/soapy-bg-960.jpg') center/cover fixed no-repeat!important;}
.advanced-media.logo-media{display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(238,249,246,.78)),url('assets/responsive/soapy-bg-960.jpg') center/cover no-repeat;padding:30px;}
.advanced-media.logo-media img{width:82%;height:auto;object-fit:contain;}
.advanced-media.logo-media.oxygen img{width:92%;}
.advanced-media.logo-media.switch img{width:72%;max-width:300px;}
.advanced-media.logo-media:before{content:"";position:absolute;right:-36px;bottom:-58px;width:150px;height:150px;background:url('assets/mandala-white.png') center/contain no-repeat;opacity:.28;}
@media(max-width:850px){.circadia-mark,.treatment-logo{margin-left:auto!important;margin-right:auto!important}.hero-zoom{animation-duration:14s}.hero-zoom img{object-position:34% top}.treatment-hero-grid{text-align:center}.cta-row.left{justify-content:center}}


/* v10 Circadia treatment-page hierarchy */
.result-panel{align-self:start;display:flex;flex-direction:column;align-items:center;gap:22px;}
.circadia-result-logo{width:min(230px,62vw);height:auto;display:block;opacity:.94;filter:drop-shadow(0 16px 24px rgba(12,29,56,.10));}
.result-panel .treatment-photo.before-after{height:auto!important;width:100%;padding:18px;background:rgba(255,255,255,.82);border-radius:28px;box-shadow:0 26px 70px rgba(20,48,45,.15);}
.result-panel .before-after img{width:100%;height:auto!important;object-fit:contain;display:block;border-radius:18px;transition:transform .7s ease, filter .7s ease;}
.result-panel .before-after:hover img{transform:scale(1.018);filter:saturate(1.04) contrast(1.02);}
.treatment-intro .circadia-mark{display:none!important;}
.switch-hero .treatment-photo,.oxygen-hero .treatment-photo{background:rgba(255,255,255,.82);}
@media(max-width:850px){.result-panel{gap:16px}.circadia-result-logo{width:min(210px,58vw);}.result-panel .treatment-photo.before-after{max-width:680px;margin-inline:auto;}.treatment-hero-grid{gap:34px;}}


/* v11 wider hero image — delivered via responsive <picture>, not CSS background */
.hero-zoom{animation-duration:10s;animation-timing-function:ease-in-out;background:none!important;background-image:none!important;}
@media(max-width:850px){.hero-zoom{animation-duration:14s}.hero-zoom img{object-position:34% top;}}
@media(max-width:520px){.hero-zoom{transform-origin:28% center}.hero-zoom img{object-position:26% top;}}


/* v12 home refinement */
.home-advanced{padding-top:86px;padding-bottom:96px;}
.home-advanced .advanced-grid{align-items:stretch;}
.home-advanced .advanced-card{transform:translateY(0);transition:transform .45s ease, box-shadow .45s ease, border-color .45s ease;}
.home-advanced .advanced-card:hover{transform:translateY(-8px);box-shadow:0 30px 80px rgba(24,47,43,.20);border-color:rgba(91,181,165,.32);}
.about-room{object-position:center center;}


/* v13 launch-ready SEO/contact/language polish */
.brand{display:inline-flex!important;white-space:nowrap!important;gap:.24em!important;align-items:baseline!important;letter-spacing:.07em!important;text-transform:uppercase!important;color:#102b29!important;}
.brand span{display:inline!important;font:inherit!important;color:inherit!important;letter-spacing:inherit!important;margin:0!important;}
.nav .brand{font-size:34px;line-height:1;}
.footer .brand,.footer .brand span{color:#eafffb!important;}
.lang-switch{display:inline-flex;align-items:center;gap:6px;padding:4px 6px;border-radius:999px;background:rgba(13,111,108,.08);border:1px solid rgba(13,111,108,.10);}
.lang-switch a{width:26px;height:26px;padding:0;border-radius:50%;overflow:hidden;flex:0 0 auto;font-size:0;line-height:0;color:transparent;letter-spacing:0;background-color:transparent;background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px rgba(16,43,41,.14);transition:transform .2s ease,box-shadow .2s ease;}
.lang-switch a:hover{transform:scale(1.08);}
.lang-switch a.active{background-color:transparent;color:transparent;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--teal);}
.lang-switch a:after{display:none!important;}
.lang-switch a[data-lang="en"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2030%22%3E%3Crect%20width%3D%2260%22%20height%3D%2230%22%20fill%3D%22%23012169%22%2F%3E%3Cpath%20d%3D%22M0%200l60%2030M60%200L0%2030%22%20stroke%3D%22%23fff%22%20stroke-width%3D%226%22%2F%3E%3Cpath%20d%3D%22M0%200l60%2030M60%200L0%2030%22%20stroke%3D%22%23C8102E%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M30%200v30M0%2015h60%22%20stroke%3D%22%23fff%22%20stroke-width%3D%2210%22%2F%3E%3Cpath%20d%3D%22M30%200v30M0%2015h60%22%20stroke%3D%22%23C8102E%22%20stroke-width%3D%226%22%2F%3E%3C%2Fsvg%3E");}
.lang-switch a[data-lang="es"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2040%22%3E%3Crect%20width%3D%2260%22%20height%3D%2240%22%20fill%3D%22%23AA151B%22%2F%3E%3Crect%20y%3D%2210%22%20width%3D%2260%22%20height%3D%2220%22%20fill%3D%22%23F1BF00%22%2F%3E%3C%2Fsvg%3E");}
.lang-switch a[data-lang="no"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2016%22%3E%3Crect%20width%3D%2222%22%20height%3D%2216%22%20fill%3D%22%23BA0C2F%22%2F%3E%3Crect%20x%3D%226%22%20width%3D%224%22%20height%3D%2216%22%20fill%3D%22%23fff%22%2F%3E%3Crect%20y%3D%226%22%20width%3D%2222%22%20height%3D%224%22%20fill%3D%22%23fff%22%2F%3E%3Crect%20x%3D%227%22%20width%3D%222%22%20height%3D%2216%22%20fill%3D%22%2300205B%22%2F%3E%3Crect%20y%3D%227%22%20width%3D%2222%22%20height%3D%222%22%20fill%3D%22%2300205B%22%2F%3E%3C%2Fsvg%3E");}
.contact-section{position:relative;padding:90px 0 30px;background:linear-gradient(180deg,rgba(255,250,240,.35),rgba(238,249,246,.72));}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch;}
.contact-card{padding:34px;background:rgba(255,254,248,.90);}
.contact-card h2{font-size:clamp(38px,5vw,62px);line-height:.98;margin:10px 0 12px;color:#183532;}
.contact-card p{color:var(--muted);}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:#17322f;font-size:16px;}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(13,111,108,.22);border-radius:16px;padding:12px 14px;background:rgba(255,255,255,.86);font-family:'Arima Madurai',system-ui,sans-serif;font-size:17px;color:#17221f;outline:none;transition:border-color .25s ease, box-shadow .25s ease;}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:rgba(91,181,165,.75);box-shadow:0 0 0 4px rgba(91,181,165,.16);}
.contact-form .wide,.contact-form textarea,.form-note,.form-status{grid-column:1/-1;}
.captcha-label{grid-column:1/2;}
.captcha-question{display:inline-block;margin-left:6px;color:var(--teal);font-weight:800;}
.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.contact-form button{border:0;justify-self:start;cursor:pointer;}
.form-note{font-size:14px!important;margin:0!important;opacity:.82;}
.form-status{font-size:15px!important;margin:0!important;color:var(--plum)!important;font-weight:800;}
.map-card{display:flex;flex-direction:column;overflow:hidden;background:rgba(255,254,248,.92);}
.map-card iframe{width:100%;height:360px;border:0;filter:saturate(.96) contrast(.98);}
.map-copy{padding:28px;}
.map-copy h3{font-size:32px;line-height:1;margin:0 0 12px;color:var(--plum);}
.footer a{color:#eafffb;text-decoration:underline;text-decoration-color:rgba(234,255,251,.28);text-underline-offset:4px;}
.thank-you{max-width:760px;text-align:center;margin-inline:auto;}
@media(max-width:980px){.links{gap:14px}.contact-grid{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.captcha-label{grid-column:1/-1}.nav .brand{font-size:28px}}
@media(max-width:640px){.links{font-size:12px}.nav .brand{font-size:24px}.contact-section{padding-top:64px}.contact-card{padding:24px}.map-card iframe{height:300px}.hero h1{white-space:nowrap}}
/* brand stays left + large beside burger on small screens */

/* Mobile nav: compact bar + language control + burger panel */
.nav-toggle{
  display:none;
  appearance:none;
  border:0;
  background:transparent;
  color:#102b29;
  width:44px;
  height:44px;
  padding:0;
  border-radius:12px;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex:0 0 auto;
  transition:background .2s ease;
}
.nav-toggle:hover,
.nav-toggle:focus-visible{background:rgba(13,111,108,.10);outline:none}
.nav-toggle-bars,
.nav-toggle-bars:before,
.nav-toggle-bars:after{
  display:block;
  width:22px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  position:relative;
  transition:transform .22s ease,opacity .18s ease,background .18s ease;
}
.nav-toggle-bars:before,
.nav-toggle-bars:after{content:"";position:absolute;left:0}
.nav-toggle-bars:before{top:-7px}
.nav-toggle-bars:after{top:7px}
.nav.is-open .nav-toggle-bars{background:transparent}
.nav.is-open .nav-toggle-bars:before{top:0;transform:rotate(45deg)}
.nav.is-open .nav-toggle-bars:after{top:0;transform:rotate(-45deg)}

.nav-inner{justify-content:flex-start;gap:18px}
.links{margin-left:auto}
.lang-control{position:relative;flex:0 0 auto;display:flex;align-items:center;margin-left:2px}
.lang-control-btn{
  display:none;
  appearance:none;
  border:1px solid rgba(13,111,108,.18);
  background:rgba(13,111,108,.08);
  color:#102b29;
  min-height:40px;
  min-width:40px;
  padding:4px 8px 4px 5px;
  border-radius:999px;
  align-items:center;
  gap:6px;
  cursor:pointer;
  font:inherit;
  font-weight:800;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.lang-control-btn:hover,
.lang-control-btn:focus-visible{
  background:rgba(13,111,108,.14);
  border-color:rgba(13,111,108,.28);
  outline:none;
}
.lang-control.is-open .lang-control-btn{
  background:#fff;
  border-color:rgba(13,111,108,.34);
  box-shadow:0 0 0 3px rgba(13,111,108,.12);
}
.lang-control-flag{
  width:26px;
  height:26px;
  border-radius:50%;
  flex:0 0 auto;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:inset 0 0 0 1px rgba(16,43,41,.14);
}
.lang-control-caret{
  width:0;
  height:0;
  margin-left:2px;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid #102b29;
  opacity:.72;
  transition:transform .2s ease;
}
.lang-control.is-open .lang-control-caret{transform:rotate(180deg)}
.lang-control-panel{display:contents}
.lang-control-label,
.lang-option-name,
.lang-option-code{display:none}
.lang-control-flag[data-lang="en"],
.lang-switch a[data-lang="en"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2030%22%3E%3Crect%20width%3D%2260%22%20height%3D%2230%22%20fill%3D%22%23012169%22%2F%3E%3Cpath%20d%3D%22M0%200l60%2030M60%200L0%2030%22%20stroke%3D%22%23fff%22%20stroke-width%3D%226%22%2F%3E%3Cpath%20d%3D%22M0%200l60%2030M60%200L0%2030%22%20stroke%3D%22%23C8102E%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M30%200v30M0%2015h60%22%20stroke%3D%22%23fff%22%20stroke-width%3D%2210%22%2F%3E%3Cpath%20d%3D%22M30%200v30M0%2015h60%22%20stroke%3D%22%23C8102E%22%20stroke-width%3D%226%22%2F%3E%3C%2Fsvg%3E")}
.lang-control-flag[data-lang="es"],
.lang-switch a[data-lang="es"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2040%22%3E%3Crect%20width%3D%2260%22%20height%3D%2240%22%20fill%3D%22%23AA151B%22%2F%3E%3Crect%20y%3D%2210%22%20width%3D%2260%22%20height%3D%2220%22%20fill%3D%22%23F1BF00%22%2F%3E%3C%2Fsvg%3E")}
.lang-control-flag[data-lang="no"],
.lang-switch a[data-lang="no"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2016%22%3E%3Crect%20width%3D%2222%22%20height%3D%2216%22%20fill%3D%22%23BA0C2F%22%2F%3E%3Crect%20x%3D%226%22%20width%3D%224%22%20height%3D%2216%22%20fill%3D%22%23fff%22%2F%3E%3Crect%20y%3D%226%22%20width%3D%2222%22%20height%3D%224%22%20fill%3D%22%23fff%22%2F%3E%3Crect%20x%3D%227%22%20width%3D%222%22%20height%3D%2216%22%20fill%3D%22%2300205B%22%2F%3E%3Crect%20y%3D%227%22%20width%3D%2222%22%20height%3D%222%22%20fill%3D%22%2300205B%22%2F%3E%3C%2Fsvg%3E")}

@media(max-width:850px){
  .nav{overflow:visible}
  .nav-inner{
    position:relative;
    flex-wrap:nowrap;
    justify-content:space-between;
    align-items:center;
    height:64px;
    padding:0;
    gap:8px;
  }
  .nav .brand{
    display:inline-flex!important;
    justify-content:flex-start;
    width:auto;
    max-width:calc(100% - 150px);
    margin:0;
    margin-right:auto;
    font-size:26px;
    line-height:1;
    text-align:left;
  }
  .nav-toggle,
  .lang-control-btn{
    display:inline-flex;
    height:44px;
    min-height:44px;
    border-radius:12px;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    border:1px solid rgba(13,111,108,.18);
    background:rgba(13,111,108,.08);
  }
  .nav-toggle{
    width:44px;
    min-width:44px;
    padding:0;
  }
  .lang-control-btn{
    width:auto;
    min-width:44px;
    padding:0 8px 0 7px;
    gap:5px;
  }
  .lang-control-caret{
    display:block;
    width:0;
    height:0;
    margin:0;
    border-left:4px solid transparent;
    border-right:4px solid transparent;
    border-top:5px solid currentColor;
    opacity:.78;
    flex:0 0 auto;
  }
  .lang-control-flag{width:22px;height:22px;margin:0}
  .lang-control-panel{
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    width:min(240px,calc(100vw - 24px));
    padding:12px;
    border-radius:18px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(13,111,108,.14);
    box-shadow:0 18px 40px rgba(24,47,43,.16);
    backdrop-filter:blur(16px);
    z-index:70;
  }
  .lang-control.is-open .lang-control-panel{display:block}
  .lang-control-label{
    display:block;
    margin:0 0 10px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--teal);
  }
  .lang-control .lang-switch{
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:0;
    border:0;
    background:transparent;
  }
  .lang-control .lang-switch a,
  .lang-control-option{
    width:100%;
    height:auto;
    min-height:44px;
    padding:8px 10px;
    border-radius:14px;
    display:flex!important;
    align-items:center;
    gap:10px;
    overflow:visible;
    font-size:15px;
    font-weight:800;
    color:#102b29;
    letter-spacing:0;
    background-color:rgba(13,111,108,.05);
    background-image:none!important;
    box-shadow:none;
  }
  .lang-control .lang-switch a:before,
  .lang-control-option:before{
    content:"";
    width:26px;
    height:26px;
    border-radius:50%;
    flex:0 0 auto;
    background-size:cover;
    background-position:center;
    box-shadow:inset 0 0 0 1px rgba(16,43,41,.14);
  }
  .lang-control .lang-switch a[data-lang="en"]:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2030%22%3E%3Crect%20width%3D%2260%22%20height%3D%2230%22%20fill%3D%22%23012169%22%2F%3E%3Cpath%20d%3D%22M0%200l60%2030M60%200L0%2030%22%20stroke%3D%22%23fff%22%20stroke-width%3D%226%22%2F%3E%3Cpath%20d%3D%22M0%200l60%2030M60%200L0%2030%22%20stroke%3D%22%23C8102E%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M30%200v30M0%2015h60%22%20stroke%3D%22%23fff%22%20stroke-width%3D%2210%22%2F%3E%3Cpath%20d%3D%22M30%200v30M0%2015h60%22%20stroke%3D%22%23C8102E%22%20stroke-width%3D%226%22%2F%3E%3C%2Fsvg%3E")}
  .lang-control .lang-switch a[data-lang="es"]:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2040%22%3E%3Crect%20width%3D%2260%22%20height%3D%2240%22%20fill%3D%22%23AA151B%22%2F%3E%3Crect%20y%3D%2210%22%20width%3D%2260%22%20height%3D%2220%22%20fill%3D%22%23F1BF00%22%2F%3E%3C%2Fsvg%3E")}
  .lang-control .lang-switch a[data-lang="no"]:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2016%22%3E%3Crect%20width%3D%2222%22%20height%3D%2216%22%20fill%3D%22%23BA0C2F%22%2F%3E%3Crect%20x%3D%226%22%20width%3D%224%22%20height%3D%2216%22%20fill%3D%22%23fff%22%2F%3E%3Crect%20y%3D%226%22%20width%3D%2222%22%20height%3D%224%22%20fill%3D%22%23fff%22%2F%3E%3Crect%20x%3D%227%22%20width%3D%222%22%20height%3D%2216%22%20fill%3D%22%2300205B%22%2F%3E%3Crect%20y%3D%227%22%20width%3D%2222%22%20height%3D%222%22%20fill%3D%22%2300205B%22%2F%3E%3C%2Fsvg%3E")}
  .lang-option-name{
    display:inline;
    flex:1;
    text-align:left;
    color:#102b29;
    font-size:15px;
    letter-spacing:.02em;
  }
  .lang-option-code{
    display:inline;
    font-size:12px;
    letter-spacing:.08em;
    color:#5c6f66;
  }
  .lang-control .lang-switch a.active,
  .lang-control-option.active{
    background:rgba(13,111,108,.12);
    box-shadow:inset 0 0 0 1.5px var(--teal);
  }
  .links{
    display:none;
    position:absolute;
    left:50%;
    right:auto;
    top:100%;
    width:100vw;
    margin:0;
    padding:14px max(18px, calc((100vw - 1160px)/2 + 18px)) 18px;
    transform:translateX(-50%);
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    background:rgba(255,255,255,.98);
    border-bottom:1px solid rgba(13,111,108,.14);
    box-shadow:0 18px 40px rgba(24,47,43,.14);
    backdrop-filter:blur(16px);
    z-index:60;
  }
  .nav.is-open .links{display:flex}
  .links::after{display:none}
  .links > a:not(.book),
  .links .book{order:0;margin-top:0}
  .links > a{
    width:100%;
    padding:13px 12px;
    border-radius:14px;
    font-size:15px;
    letter-spacing:.06em;
  }
  .links > a:after{display:none!important}
  .links > a:not(.book):hover,
  .links > a:not(.book).active{background:rgba(13,111,108,.08);color:var(--teal)}
  .links .book:hover,
  .links .book:focus-visible{color:#fff;background:var(--teal);filter:brightness(1.08)}
  .links .book{
    display:flex;
    justify-content:center;
    margin-top:8px;
    padding:13px 18px;
    text-align:center;
  }
  .links .book:after{display:none!important}
  body.nav-open{overflow:hidden}
}
@media(max-width:520px){
  .nav-inner{display:flex;flex-direction:row;align-items:center;height:60px}
  .nav .brand{font-size:24px;max-width:calc(100% - 120px)}
  .nav-toggle,
  .lang-control-btn{
    height:42px;
    min-height:42px;
  }
  .nav-toggle{
    width:42px;
    min-width:42px;
  }
  .lang-control-btn{
    min-width:42px;
    padding:0 7px 0 6px;
  }
}

/* (mobile transparent top nav rules live at end of file so they win the cascade) */

/* v13 final asset alias/launch polish */
.switch-hero,.oxygen-hero,.oxygen-bubbles,.advanced-media.logo-media{background-image:linear-gradient(135deg,rgba(255,255,255,.88),rgba(238,249,246,.78)),url('assets/responsive/soapy-bg-960.jpg')!important;}
.mandala-bg,.footer:after{background-image:url('assets/mandala-white.png')!important;}
@media(max-width:1120px){.links{gap:12px;font-size:13px}.nav .brand{font-size:29px}.lang-switch a{width:24px;height:24px}}

/* v14: circular flag language switch */
.lang-switch a{white-space:nowrap;}


/* v18: complete multilingual treatment guides, active tabs and brand carousel */
:root{--site-nav-height:82px}
.advanced-media.logo-media.celluma{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(238,249,246,.86)),url('assets/responsive/soapy-bg-960.jpg') center/cover no-repeat!important}
.advanced-media.logo-media.celluma img{width:90%;max-width:350px;height:auto;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(12,29,56,.08))}
.treatment-logo.celluma-logo{max-width:min(480px,88vw);margin-bottom:18px!important}
.treatment-guide-hero .treatment-photo:not(.before-after) img{width:100%;height:100%;min-height:430px;object-fit:cover;display:block}
.page-jump{position:sticky;top:var(--site-nav-height);z-index:44;background:rgba(255,254,248,.94);border-top:1px solid rgba(13,111,108,.10);border-bottom:1px solid rgba(13,111,108,.16);backdrop-filter:blur(16px);box-shadow:0 10px 28px rgba(24,47,43,.08)}
.page-jump-inner{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:11px 0;scrollbar-width:none;overscroll-behavior-inline:contain;scroll-behavior:smooth}
.page-jump-inner::-webkit-scrollbar{display:none}
.page-jump a{white-space:nowrap;padding:8px 13px;border-radius:999px;font-size:14px;font-weight:800;color:#234642;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.page-jump a:hover{background:rgba(91,181,165,.15);color:var(--teal)}
.page-jump a.active,.page-jump a[aria-current="location"]{background:linear-gradient(135deg,var(--teal),var(--sage));color:#fff;box-shadow:0 7px 18px rgba(13,111,108,.20)}
.page-jump a.active:hover,.page-jump a[aria-current="location"]:hover{color:#fff}
.treatment-section{scroll-margin-top:calc(var(--site-nav-height) + 72px);padding:84px 0}
.treatment-tint{background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(233,248,244,.72))}
.treatment-copy.narrow{max-width:900px;text-align:center}
.treatment-copy h2,.section-heading-left h2{font-size:clamp(40px,5vw,66px);line-height:.98;margin:8px 0 20px;color:#183532}
.treatment-copy>p{font-size:20px;color:var(--muted);max-width:820px;margin:0 auto 14px}
.section-kicker{margin:0;text-transform:uppercase;letter-spacing:.22em;font-weight:800;font-size:13px;color:var(--teal)}
.section-heading-left{max-width:850px;margin-bottom:34px}
.treatment-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.treatment-stat{padding:24px 18px;border:1px solid rgba(13,111,108,.14);border-radius:24px;background:rgba(255,254,248,.86);box-shadow:0 15px 45px rgba(24,47,43,.09)}
.treatment-stat strong{display:block;font-size:28px;line-height:1.1;color:var(--plum)}
.treatment-stat span{display:block;margin-top:5px;color:var(--muted);font-size:15px;font-weight:700}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.benefit-card{padding:28px;border:1px solid rgba(13,111,108,.14);border-radius:26px;background:rgba(255,254,248,.88);box-shadow:0 15px 42px rgba(24,47,43,.09)}
.benefit-card h3{font-size:27px;line-height:1.05;margin:0 0 10px;color:var(--plum)}
.benefit-card p{margin:0;color:var(--muted)}
.suitability-grid,.aftercare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.info-panel{padding:34px;overflow:visible}
.info-panel:hover{transform:none}
.info-panel h3{font-size:30px;line-height:1.08;margin:0 0 18px;color:var(--teal)}
.info-panel.caution h3{color:var(--plum)}
.check-list{padding:0;margin:0;list-style:none;display:grid;gap:12px}
.check-list li{position:relative;padding-left:28px;color:#344b46}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--teal);font-weight:800}
.info-panel.caution .check-list li:before{content:"!";width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:rgba(108,40,94,.12);color:var(--plum);font-size:12px;top:4px}
.clinical-note{margin:22px 0 0;padding:15px 17px;border-radius:16px;background:rgba(108,40,94,.08);color:#56324f;font-size:15px;font-weight:700}
.treatment-steps{list-style:none;padding:0;margin:0;display:grid;gap:15px;counter-reset:none}
.treatment-steps li{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:start;padding:22px;border-radius:24px;background:rgba(255,254,248,.88);border:1px solid rgba(13,111,108,.14);box-shadow:0 12px 34px rgba(24,47,43,.08)}
.treatment-steps li>span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--teal),var(--sage));color:#fff;font-size:23px;font-weight:800}
.treatment-steps h3{font-size:27px;line-height:1.08;margin:2px 0 6px;color:#183532}
.treatment-steps p{margin:0;color:var(--muted)}
.price-options{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.price-option{padding:30px;border-radius:28px;text-align:center;background:linear-gradient(145deg,rgba(255,254,248,.96),rgba(235,249,246,.84));border:1px solid rgba(13,111,108,.15);box-shadow:0 18px 52px rgba(24,47,43,.11)}
.price-option h3{font-size:28px;line-height:1.06;margin:0 0 8px;color:var(--plum)}
.price-option p{min-height:48px;margin:0;color:var(--muted)}
.price-option strong{display:block;margin-top:14px;font-size:36px;line-height:1;color:var(--teal)}
.course-explainer{max-width:900px;margin:28px auto 0;padding:22px 25px;border-radius:22px;background:rgba(13,111,108,.09);color:#264640;text-align:center;font-size:19px;font-weight:600}
.center-cta{text-align:center;margin-top:26px}
.faq-wrap{max-width:920px}
.faq-list{display:grid;gap:12px}
.faq-list details{border:1px solid rgba(13,111,108,.16);border-radius:20px;background:rgba(255,254,248,.90);box-shadow:0 10px 30px rgba(24,47,43,.07);overflow:hidden}
.faq-list summary{cursor:pointer;list-style:none;padding:20px 58px 20px 22px;font-size:20px;font-weight:800;color:#183532;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:28px;color:var(--teal)}
.faq-list details[open] summary:after{content:"–"}
.faq-list details p{margin:0;padding:0 22px 22px;color:var(--muted)}
.related-treatments{padding-top:72px;padding-bottom:78px}
.advanced-link.current{outline:3px solid rgba(91,181,165,.42);outline-offset:3px}
.brand-carousel{overflow:hidden;padding:30px 0 25px;background:linear-gradient(180deg,rgba(255,254,248,.72),rgba(236,247,244,.88));border-top:1px solid rgba(13,111,108,.10)}
.brand-carousel-title{text-align:center;margin:0 0 16px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}
.brand-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.brand-track{width:max-content;display:flex;animation:brandScroll 30s linear infinite}
.brand-set{display:flex;align-items:center;gap:30px;padding-right:30px}
.brand-logo{width:175px;height:70px;margin:0;display:grid;place-items:center;flex:0 0 auto;padding:8px 12px}
.brand-logo img{max-width:100%;max-height:54px;width:auto;height:auto;display:block;opacity:.72;filter:grayscale(1);transition:opacity .2s ease,transform .2s ease}
.brand-logo:hover img{opacity:.94;transform:scale(1.025)}
.brand-marquee:hover .brand-track,.brand-marquee:focus .brand-track,.brand-marquee:focus-within .brand-track{animation-play-state:paused}
.social{display:flex;align-items:center;gap:10px}
.social a{display:inline-flex;border-radius:50%;transition:transform .2s ease,opacity .2s ease}
.social a:hover,.social a:focus-visible{transform:translateY(-3px);outline:2px solid rgba(183,255,242,.65);outline-offset:3px}
.social img{margin:0}
@keyframes brandScroll{to{transform:translateX(-50%)}}
@media(max-width:900px){.benefit-grid{grid-template-columns:repeat(2,1fr)}.price-options{grid-template-columns:1fr}.price-option p{min-height:0}.treatment-guide-hero .treatment-photo:not(.before-after) img{min-height:0;height:auto}.page-jump{top:var(--site-nav-height)}}
@media(max-width:700px){.treatment-section{padding:62px 0}.treatment-stats,.benefit-grid,.suitability-grid,.aftercare-grid{grid-template-columns:1fr}.treatment-stats{gap:10px}.treatment-stat{padding:18px}.treatment-steps li{grid-template-columns:44px 1fr;padding:18px;gap:13px}.treatment-steps li>span{width:42px;height:42px;font-size:19px}.treatment-steps h3{font-size:23px}.page-jump a{font-size:13px;padding:7px 11px}.brand-logo{width:145px;height:62px}.brand-set{gap:18px;padding-right:18px}.brand-track{animation-duration:24s}}
@media(prefers-reduced-motion:reduce){.brand-track{animation:none}.brand-set[aria-hidden="true"]{display:none}.page-jump-inner{scroll-behavior:auto}}
.chat-float{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
button.chat-float-btn,button.book-bar-btn,a.book-bar-btn{appearance:none;-webkit-appearance:none;border:0;font-family:inherit;cursor:pointer;text-decoration:none}
.chat-float-btn{display:inline-flex;align-items:center;justify-content:center;gap:0;width:52px;height:52px;padding:0;overflow:hidden;border-radius:999px;color:#fff;font-weight:800;letter-spacing:.04em;white-space:nowrap;box-shadow:0 10px 24px rgba(16,43,41,.22);transition:width .22s ease,padding .22s ease,gap .22s ease,filter .2s ease,transform .2s ease}
.chat-float-btn svg{width:22px;height:22px;fill:#fff;display:block;flex:0 0 auto}
.chat-float-btn span{max-width:0;opacity:0;overflow:hidden;transition:max-width .22s ease,opacity .18s ease}
.chat-float-btn:hover,.chat-float-btn:focus-visible{width:auto;padding:12px 16px;gap:8px;color:#fff;filter:brightness(1.05);transform:translateY(-1px)}
.chat-float-btn:hover span,.chat-float-btn:focus-visible span{max-width:8rem;opacity:1}
.wa-button{background:#128C7E}
.messenger-button{background:#0866FF}
.call-button{background:var(--teal)}
.book-bar{display:none}
@media(max-width:720px){
  .chat-float{display:none}
  .book-bar{
    display:block;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:60;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.96);
    border-top:1px solid rgba(13,111,108,.14);
    backdrop-filter:blur(16px);
    box-shadow:0 -12px 32px rgba(24,47,43,.14);
    transform:translateY(110%);
    animation:bookBarSlideUp .7s cubic-bezier(.22,1,.36,1) .2s forwards;
  }
  .book-bar-title{margin:0 0 8px;text-align:center;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#234642;line-height:1.2}
  .book-bar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  button.book-bar-btn,a.book-bar-btn{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    box-sizing:border-box;
    width:100%;
    min-height:62px;
    padding:9px 6px;
    border-radius:16px;
    border:1px solid transparent;
    color:#fff!important;
    font-size:12px;
    font-weight:800;
    letter-spacing:0;
    line-height:1.2;
    text-align:center;
    box-shadow:0 8px 18px rgba(24,47,43,.14);
  }
  .book-bar-btn svg{width:20px;height:20px;fill:#fff;display:block;flex:0 0 auto}
  .book-bar-btn span{display:block;width:100%;white-space:nowrap;overflow:visible}
  .book-bar-btn.call-button{
    background:linear-gradient(160deg,#14918d,var(--teal));
    border-color:rgba(13,111,108,.28);
    box-shadow:0 8px 18px rgba(13,111,108,.22);
  }
  .book-bar-btn.wa-button{
    background:linear-gradient(160deg,#25D366,#128C7E);
    border-color:rgba(18,140,126,.28);
    box-shadow:0 8px 18px rgba(18,140,126,.22);
  }
  .book-bar-btn.messenger-button{
    background:linear-gradient(160deg,#4f8cff,#0866FF);
    border-color:rgba(8,102,255,.28);
    box-shadow:0 8px 18px rgba(8,102,255,.22);
  }
  .book-bar-btn:hover,.book-bar-btn:focus-visible{
    color:#fff!important;
    filter:brightness(1.06);
    transform:translateY(-1px);
  }
  body.has-book-bar{padding-bottom:124px}
}
@keyframes bookBarSlideUp{
  from{transform:translateY(110%)}
  to{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .chat-float-btn,.chat-float-btn span{transition:none}
  .book-bar{animation:none;transform:none}
}


/* V19: subtle themed section headings, exact map link and refined treatment logos */
.section-title.themed-section-title{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(38px,5vw,66px) clamp(22px,5vw,64px);
  border-radius:32px;
  border:1px solid rgba(13,111,108,.13);
  background:rgba(255,254,248,.88);
  box-shadow:0 20px 58px rgba(24,47,43,.11);
}
.section-title.themed-section-title::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:linear-gradient(135deg,rgba(255,255,255,.86),rgba(238,249,246,.82)),var(--section-title-image);
  background-size:cover;
  background-position:var(--section-title-position,center);
  filter:saturate(.82) contrast(.94);
}
.section-title.themed-section-title::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 14% 18%,rgba(91,181,165,.13),transparent 34%),radial-gradient(circle at 88% 78%,rgba(155,79,160,.10),transparent 35%);
  pointer-events:none;
}
.section-title.themed-section-title h2,
.section-title.themed-section-title h1{position:relative;text-shadow:0 2px 18px rgba(255,255,255,.96)}
.section-title.themed-section-title p{position:relative;color:#405d59}
.price-hero .section-title.themed-section-title{margin-bottom:0}
.map-profile-row{margin:18px 0 0}
.map-profile-link{display:inline-flex;align-items:center;font-weight:800;color:var(--teal);text-decoration:none;border-bottom:1px solid rgba(13,111,108,.28);padding-bottom:3px}
.map-profile-link:hover{color:var(--plum);border-color:rgba(155,79,160,.38)}
.advanced-media.logo-media.switch img,
.advanced-media.logo-media.oxygen img{filter:drop-shadow(0 12px 24px rgba(18,49,74,.12))}
@media(max-width:640px){
  .section-title.themed-section-title{padding:34px 18px;border-radius:24px}
  .section-title.themed-section-title p{font-size:18px}
}


/* Version 20: package navigation, aligned footer and Circadia brand mark */
.package{display:flex;flex-direction:column;align-items:flex-start}
.package-logo-wrap{height:44px;width:100%;display:flex;align-items:center;margin:-3px 0 13px}
.package-logo-link{display:inline-flex;align-items:center;max-width:205px;min-height:38px}
.package-logo{display:block;max-width:195px;max-height:36px;width:auto;height:auto;object-fit:contain;object-position:left center;opacity:.30;filter:grayscale(.28) saturate(.72);transition:opacity .25s ease,transform .25s ease,filter .25s ease}
.package:hover .package-logo,.package-logo-link:focus-visible .package-logo{opacity:.48;filter:grayscale(.08) saturate(.9);transform:translateY(-1px)}
.package ul{width:100%;margin-bottom:22px}
.package-more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding:10px 15px;border-radius:999px;background:rgba(13,111,108,.10);border:1px solid rgba(13,111,108,.18);color:var(--teal);font-weight:800;line-height:1.2;transition:background .2s ease,color .2s ease,transform .2s ease}
.package-more:after{content:"→";font-size:1.08em;transition:transform .2s ease}
.package-more:hover,.package-more:focus-visible{background:var(--teal);color:#fff;transform:translateY(-1px)}
.package-more:hover:after,.package-more:focus-visible:after{transform:translateX(3px)}
.footer-inner{align-items:start}
.footer-inner>div{min-width:0}
.footer .brand,.footer h3{margin:0 0 18px;line-height:1.15}
.footer h3{padding-top:3px}
.footer p{margin-top:0}
.footer .social{display:flex;align-items:center;min-height:46px}
.brand-logo.circadia-brand img{max-height:62px;opacity:.66}
@media(max-width:850px){
  .footer-inner{gap:34px}
  .footer .brand,.footer h3{margin-bottom:13px}
  .footer h3{padding-top:0}
  .package-logo-wrap{height:40px}
  .package-logo{max-height:33px;max-width:180px}
}


/* Version 21: consistent themed section headers and five-star review artwork */
.section-title.themed-section-title{
  width:100%;
}
.section-title.themed-section-title:not([style]){
  --section-title-image:url('assets/responsive/header1-960.jpg');
  --section-title-position:center;
}
.section-title.review-section-title::before{
  background-image:linear-gradient(135deg,rgba(255,255,255,.67),rgba(255,250,240,.58)),var(--section-title-image);
  background-position:center;
  filter:saturate(.94) contrast(.98);
}
.section-title.review-section-title::after{
  background:radial-gradient(circle at 50% 70%,rgba(200,143,61,.13),transparent 39%),radial-gradient(circle at 15% 18%,rgba(91,181,165,.12),transparent 35%),radial-gradient(circle at 87% 75%,rgba(155,79,160,.08),transparent 34%);
}
.section-title.review-section-title h2{
  color:#183532;
  text-shadow:0 2px 22px rgba(255,255,255,.98);
}
.section-title.review-section-title p{
  color:#405851;
  font-weight:700;
}
@media(max-width:640px){
  .section-title.review-section-title::before{background-size:auto 100%;}
}


/* V22 service-to-price navigation and advanced treatment cards */
.service{display:flex;flex-direction:column}
.service h3 a{color:inherit;text-decoration:none}
.service h3 a:hover{color:var(--teal)}
.service-detail-link{position:relative;z-index:2;display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:auto;padding-top:18px;color:var(--plum);font-weight:800;text-decoration:none;transition:color .2s ease,transform .2s ease}
.service-detail-link:hover{color:var(--teal);transform:translateX(4px)}
.service .service-detail-link + .service-price-link{margin-top:8px;padding-top:0}
.service-price-link{position:relative;z-index:2;display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:auto;padding-top:22px;color:var(--plum);font-weight:800;text-decoration:none;transition:color .2s ease,transform .2s ease}
.service-price-link:hover{color:var(--teal);transform:translateX(4px)}
.price-card[id]{scroll-margin-top:118px;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.price-card[id]:target{border-color:rgba(13,111,108,.55);box-shadow:0 24px 70px rgba(13,111,108,.22);transform:translateY(-3px)}
.services-advanced{padding-top:54px;background:linear-gradient(180deg,rgba(238,249,246,.46),rgba(255,250,240,0))}
.services-treatment-grid{align-items:stretch}
.service-treatment-card{transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease}
.service-treatment-card:hover{transform:translateY(-7px);box-shadow:0 28px 76px rgba(24,47,43,.19);border-color:rgba(91,181,165,.34)}
.service-treatment-card .advanced-copy{display:flex;flex:1;flex-direction:column}
.service-treatment-card .advanced-copy strong{margin-top:auto}
.service-treatment-card .advanced-media.celluma img{width:86%;max-height:150px}
@media(max-width:850px){.price-card[id]{scroll-margin-top:160px}.services-advanced{padding-top:38px}.service-price-link{padding-top:18px}}


/* V24: cleaner, more cohesive homepage flow */
.home-page{
  --home-surface:#ffffff;
  --home-soft:#f4f7f3;
  --home-line:rgba(24,53,50,.11);
  --home-shadow:0 18px 48px rgba(24,47,43,.10);
  background:#fafbf8;
}
.home-page .section{padding:76px 0;}
.home-page .home-about{
  padding-top:74px;
  padding-bottom:74px;
  background:linear-gradient(180deg,#fbfcf9 0%,#f7f8f4 100%);
}
.home-page .home-about .mandala-bg{display:none;}
.home-page .home-about .split{
  grid-template-columns:1.03fr .97fr;
  gap:0;
  align-items:stretch;
  overflow:hidden;
  background:var(--home-surface);
  border:1px solid var(--home-line);
  border-radius:30px;
  box-shadow:var(--home-shadow);
}
.home-page .home-about .split>.card{
  min-width:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none!important;
}
.home-page .home-about .about-copy{
  --about-title:clamp(22px, 5.2vw, 62px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(38px,5vw,64px);
  min-width:0;
}
.home-page .home-about .about-copy h2{
  position:relative;
  margin:0 0 24px;
  color:#1b3531;
  font-size:var(--about-title);
  letter-spacing:-.025em;
  white-space:nowrap;
  max-width:100%;
}
.home-page .home-about .about-copy h2:after{
  content:"";
  display:block;
  width:58px;
  height:3px;
  margin-top:18px;
  border-radius:999px;
  background:var(--teal);
  opacity:.72;
}
.home-page .home-about .about-copy p{
  max-width:630px;
  margin:0 0 15px;
  color:#435650;
  font-size:17px;
  line-height:1.62;
}
.home-page .home-about .split>.card:last-child{
  border-left:1px solid var(--home-line);
}
.home-page .home-about .portrait{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  object-position:center;
}
.home-page .home-about .stats{
  gap:10px;
  margin-top:28px;
}
.home-page .home-about .stat{
  padding:16px 12px;
  border:1px solid rgba(13,111,108,.10);
  border-radius:16px;
  background:#f4f7f4;
  color:#28443f;
  box-shadow:none;
}
.home-page .home-about .stat span{
  margin-top:2px;
  color:#687a73;
  font-size:12px;
}

.home-page .section-title.themed-section-title{
  width:min(820px,calc(100% - 36px));
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.home-page .section-title.themed-section-title::before,
.home-page .section-title.themed-section-title::after{display:none!important;}
.home-page .section-title.themed-section-title h2,
.home-page .section-title.themed-section-title h1{
  color:#1b3531;
  font-size:clamp(43px,5vw,66px);
  letter-spacing:-.025em;
  text-shadow:none;
}
.home-page .section-title.themed-section-title h2:after,
.home-page .section-title.themed-section-title h1:after{
  content:"";
  display:block;
  width:54px;
  height:3px;
  margin:18px auto 0;
  border-radius:999px;
  background:var(--teal);
  opacity:.68;
}
.home-page .section-title.themed-section-title p{
  max-width:720px;
  margin-top:18px;
  color:#50645e;
  font-size:19px;
  line-height:1.55;
  font-weight:400;
}

.home-page .home-services{
  background:#fff;
  border-top:1px solid rgba(24,53,50,.07);
  border-bottom:1px solid rgba(24,53,50,.07);
}
.home-page .home-services .section-title{margin-bottom:34px;}
.home-page .home-services .grid{gap:18px;}
.home-page .home-services .service{
  min-height:230px;
  padding:30px 28px 26px;
  border:1px solid var(--home-line);
  border-radius:22px;
  background:#fcfdfb;
  box-shadow:0 10px 28px rgba(24,47,43,.075),inset 0 3px 0 rgba(13,111,108,.38);
  transform:none;
}
.home-page .home-services .service:before,
.home-page .home-services .service:after{display:none;}
.home-page .home-services .service:hover{
  transform:translateY(-3px);
  border-color:rgba(13,111,108,.20);
  box-shadow:0 16px 36px rgba(24,47,43,.11),inset 0 3px 0 rgba(13,111,108,.55);
}
.home-page .home-services .service h3{
  margin-bottom:12px;
  color:#274941;
  font-size:30px;
  letter-spacing:-.015em;
}
.home-page .home-services .service p{
  color:#60716b;
  font-size:16px;
  line-height:1.6;
}
.home-page .home-services .service .price{
  margin-top:auto;
  padding-top:22px;
  color:#0d6f6c;
  font-size:16px;
}

.home-page .home-advanced{
  padding-top:78px;
  padding-bottom:82px;
  background:#f3f6f2;
  border-bottom:1px solid rgba(24,53,50,.07);
}
.home-page .home-advanced .section-title{margin-bottom:36px;}
.home-page .home-advanced .advanced-grid{gap:18px;}
.home-page .home-advanced .advanced-card{
  border:1px solid var(--home-line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 34px rgba(24,47,43,.08);
  transform:none;
}
.home-page .home-advanced .advanced-card:hover{
  transform:translateY(-4px);
  border-color:rgba(13,111,108,.21);
  box-shadow:0 18px 42px rgba(24,47,43,.12);
}
.home-page .home-advanced .advanced-media{
  height:185px;
  border-bottom:1px solid rgba(24,53,50,.08);
}
.home-page .home-advanced .advanced-media.logo-media{
  padding:28px;
  background:#fafcf9!important;
}
.home-page .home-advanced .advanced-media.logo-media:before{display:none;}
.home-page .home-advanced .advanced-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:28px;
}
.home-page .home-advanced .advanced-copy h3{
  margin-bottom:12px;
  color:#274941;
  font-size:30px;
  letter-spacing:-.015em;
}
.home-page .home-advanced .advanced-copy p{
  color:#60716b;
  font-size:16px;
  line-height:1.58;
}
.home-page .home-advanced .advanced-copy strong{
  margin-top:auto;
  color:#0d6f6c;
  font-size:17px;
}
.home-page .home-advanced .advanced-copy span{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:2px;
  color:#6c285e;
  font-size:15px;
}

.home-page .home-reviews{
  padding-top:78px;
  padding-bottom:40px;
  background:#fff;
  overflow-x:clip;
}
.home-page .home-reviews .reviews-cta{margin-bottom:8px;}
.home-page .home-reviews .section-title{margin-bottom:34px;}
.home-page .google-reviews{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  max-width:980px;
  margin-inline:auto;
}
.home-page .google-review-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:26px 24px 22px;
  border:1px solid var(--home-line);
  border-radius:22px;
  background:linear-gradient(160deg,#fff 0%,#f7fbf9 100%);
  box-shadow:0 10px 30px rgba(24,47,43,.07);
  text-decoration:none;
  color:inherit;
  transition:transform .25s ease, box-shadow .25s ease;
  min-height:100%;
}
.home-page .google-review-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(24,47,43,.11);
}
.home-page .reviews-swipe-hint{
  display:none;
}
.home-page .google-review-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.home-page .google-stars{
  color:#c4a035;
  letter-spacing:.08em;
  font-size:16px;
  line-height:1;
}
.home-page .google-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#5f6368;
}
.home-page .google-badge::before{
  content:"";
  width:14px;
  height:14px;
  border-radius:50%;
  background:
    conic-gradient(from -30deg,#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0);
}
.home-page .google-review-card blockquote{
  margin:0;
  font-size:15.5px;
  line-height:1.55;
  color:#243936;
  flex:1;
  display:-webkit-box;
  -webkit-line-clamp:7;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-page .google-review-card cite{
  font-style:normal;
  font-weight:700;
  color:var(--teal);
  font-size:15px;
  margin-top:auto;
}
.home-page .reviews-cta{
  display:flex;
  justify-content:center;
  margin-top:28px;
}
.home-page .home-instagram{
  padding-top:72px;
  padding-bottom:88px;
  background:linear-gradient(180deg,#f7faf8 0%,#fff 55%);
  border-top:1px solid rgba(24,53,50,.06);
  overflow-x:clip;
}
.home-page .home-instagram .section-title{margin-bottom:34px;}
.home-page .home-instagram > .container{
  max-width:1180px;
}
.home-page .home-instagram .reviews-cta{margin-top:36px;}
.instagram-carousel{
  --ig-gap:20px;
  --ig-card:272px;
  --ig-arrow:44px;
  position:relative;
  margin:0 auto;
  width:min(100%, calc(var(--ig-card) * 3 + var(--ig-gap) * 2 + var(--ig-arrow) * 2 + 24px));
  padding:0 calc(var(--ig-arrow) + 8px);
  box-sizing:border-box;
}
.instagram-carousel .ig-viewport{
  width:calc(var(--ig-card) * 3 + var(--ig-gap) * 2);
  max-width:100%;
  margin:0 auto;
  overflow:hidden;
}
.instagram-carousel .ig-track{
  display:flex;
  align-items:stretch;
  gap:var(--ig-gap);
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:0;
  margin:0;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none !important;
  -ms-overflow-style:none;
}
.instagram-carousel .ig-track::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
.instagram-carousel .ig-slide{
  box-sizing:border-box;
  flex:0 0 var(--ig-card);
  width:var(--ig-card);
  height:var(--ig-card);
  min-width:var(--ig-card);
  max-width:var(--ig-card);
  scroll-snap-align:start;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(24,53,50,.1);
  background:#1b3532;
  box-shadow:0 10px 24px rgba(24,47,43,.1);
  position:relative;
  text-decoration:none;
  color:#fff;
  display:block;
  transition:box-shadow .25s ease;
}
.instagram-carousel .ig-slide:hover{
  box-shadow:0 14px 30px rgba(24,47,43,.16);
}
.instagram-carousel .ig-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  pointer-events:none;
}
.instagram-carousel .ig-reel-badge{
  position:absolute;
  top:10px;
  right:10px;
  width:32px;
  height:32px;
  border-radius:50%;
  background:rgba(13,111,108,.92);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
  pointer-events:none;
}
.instagram-carousel .ig-slide-meta{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:26px 12px 11px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.2;
  background:linear-gradient(180deg, transparent, rgba(8,28,26,.82));
  pointer-events:none;
}
.instagram-carousel .ig-slide-meta > span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}
.instagram-carousel .ig-slide-meta > span:last-child{
  flex:0 0 auto;
  opacity:.92;
}
.instagram-carousel .ig-nav{
  position:absolute;
  top:calc(var(--ig-card) / 2);
  transform:translateY(-50%);
  z-index:3;
  width:var(--ig-arrow);
  height:var(--ig-arrow);
  border-radius:50%;
  border:1px solid rgba(13,111,108,.25);
  background:#fff;
  color:var(--teal);
  font-size:26px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(24,47,43,.12);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.instagram-carousel .ig-prev{left:0;}
.instagram-carousel .ig-next{right:0;}
.instagram-carousel .ig-nav:hover{background:rgba(13,111,108,.08);}
.instagram-carousel .ig-nav:disabled{opacity:.35;cursor:default;}
.instagram-carousel .ig-swipe-hint,
.instagram-carousel .ig-dots{display:none;}
.instagram-consent{display:none !important;}
@media(max-width:1100px){
  .instagram-carousel{--ig-card:240px;}
}
@media(max-width:980px){
  .instagram-carousel{
    --ig-card:min(248px, calc(50vw - 56px));
    --ig-gap:16px;
    width:min(100%, calc(var(--ig-card) * 2 + var(--ig-gap) + var(--ig-arrow) * 2 + 24px));
  }
  .instagram-carousel .ig-viewport{
    width:calc(var(--ig-card) * 2 + var(--ig-gap));
  }
}
@media(max-width:900px){
  .home-page .google-reviews{
    display:flex;
    grid-template-columns:none;
    gap:14px;
    max-width:none;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:6px 18px 18px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:18px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .home-page .google-reviews::-webkit-scrollbar{display:none;}
  .home-page .google-review-card{
    flex:0 0 min(78vw, 340px);
    width:min(78vw, 340px);
    min-height:0;
    scroll-snap-align:start;
    box-shadow:0 12px 28px rgba(24,47,43,.1);
  }
  .home-page .google-review-card:hover{transform:none;}
  .home-page .google-review-card blockquote{
    -webkit-line-clamp:8;
    font-size:15px;
  }
  .home-page .reviews-swipe-hint{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:2px auto 0;
    font-size:12px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:rgba(24,53,50,.45);
  }
  .home-page .reviews-swipe-hint::after{
    content:"›";
    font-size:18px;
    line-height:1;
    animation:igSwipeNudge 1.4s ease-in-out infinite;
  }
}
@media(max-width:720px){
  .instagram-carousel{
    --ig-gap:12px;
    --ig-peek:16px;
    --ig-card:calc(100vw - var(--ig-peek) - 88px);
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:0;
  }
  .instagram-carousel .ig-viewport{
    width:100%;
    overflow:hidden;
  }
  .instagram-carousel .ig-track{
    gap:var(--ig-gap);
    padding:4px var(--ig-peek) 10px;
    scroll-padding-inline:var(--ig-peek);
    overscroll-behavior-x:contain;
    touch-action:pan-x;
  }
  .instagram-carousel .ig-slide{
    flex:0 0 var(--ig-card);
    width:var(--ig-card);
    height:var(--ig-card);
    min-width:var(--ig-card);
    max-width:var(--ig-card);
    scroll-snap-align:start;
    border-radius:18px;
  }
  .instagram-carousel .ig-nav{display:none;}
  .instagram-carousel .ig-slide-meta{font-size:10px;padding:22px 10px 10px;}
  .instagram-carousel .ig-swipe-hint{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:10px 0 0;
    font-size:12px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:rgba(24,53,50,.45);
  }
  .instagram-carousel .ig-swipe-hint::after{
    content:"›";
    font-size:18px;
    line-height:1;
    animation:igSwipeNudge 1.4s ease-in-out infinite;
  }
  .instagram-carousel .ig-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    width:min(180px, 46vw);
    height:4px;
    margin:14px auto 0;
    padding:0;
    border-radius:999px;
    background:rgba(13,111,108,.14);
    overflow:hidden;
    gap:0;
  }
  .instagram-carousel .ig-dot{
    flex:1 1 0;
    width:auto;
    height:100%;
    min-width:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    cursor:pointer;
  }
  .instagram-carousel .ig-dot.is-active{
    background:var(--teal);
  }
  .home-page .home-instagram .reviews-cta{margin-top:28px;}
  .home-page .google-review-card{
    flex-basis:min(78vw, 340px);
    width:min(78vw, 340px);
    padding:22px 20px 18px;
  }
}
@keyframes igSwipeNudge{
  0%,100%{transform:translateX(0);opacity:.55}
  50%{transform:translateX(5px);opacity:1}
}

.home-page .home-contact{
  padding-top:80px;
  background:#f5f7f3;
  border-top:1px solid rgba(24,53,50,.07);
}
.home-page .home-contact .contact-card,
.home-page .home-contact .map-card{
  border:1px solid var(--home-line);
  background:#fff;
  box-shadow:0 14px 40px rgba(24,47,43,.09);
}

@media(max-width:850px){
  .home-page .section{padding:60px 0;}
  .home-page .home-about{padding-top:58px;padding-bottom:58px;}
  .home-page .home-about .split{grid-template-columns:1fr;border-radius:16px;}
  .home-page .home-about .split>.card:last-child{border-left:0;border-top:1px solid var(--home-line);}
  .home-page .home-about .portrait{height:auto;min-height:0;max-height:520px;}
  .home-page .home-about .stats{display:none;}
  .home-page .home-services .service{
    min-height:0;
    border-radius:12px;
    border-top:3px solid rgba(13,111,108,.42);
    box-shadow:0 8px 22px rgba(24,47,43,.07);
  }
  .home-page .home-services .service:hover{
    border-top-color:rgba(13,111,108,.62);
    box-shadow:0 12px 28px rgba(24,47,43,.1);
  }
  .home-page .home-advanced{padding-top:60px;padding-bottom:64px;}
  .home-page .home-reviews{padding-top:60px;padding-bottom:64px;}
  .home-page .home-contact{padding-top:64px;}
}
@media(max-width:620px){
  .home-page .home-about .about-copy{padding:32px 24px;}
  .home-page .section-title.themed-section-title{width:min(100% - 32px,820px);}
  .home-page .home-services .service,
  .home-page .home-advanced .advanced-copy{padding:24px;}
  .home-page .home-advanced .advanced-media{height:165px;}
}

/* V25: cleaner visual system applied consistently across the full website */
:root{
  --clean-page:#fafbf8;
  --clean-soft:#f3f6f2;
  --clean-surface:#ffffff;
  --clean-line:rgba(24,53,50,.11);
  --clean-line-strong:rgba(13,111,108,.20);
  --clean-shadow:0 12px 34px rgba(24,47,43,.085);
  --clean-shadow-hover:0 18px 44px rgba(24,47,43,.12);
  --clean-radius:22px;
}
body{
  background:var(--clean-page);
}
.nav{
  background:rgba(255,255,255,.95);
  border-bottom:1px solid var(--clean-line);
  box-shadow:0 4px 18px rgba(24,47,43,.045);
}
.book{
  background:var(--teal);
  box-shadow:0 9px 22px rgba(13,111,108,.18);
}
.btn.primary{
  background:var(--plum);
  box-shadow:0 11px 26px rgba(108,40,94,.20);
}
.btn.teal{background:var(--teal);box-shadow:0 11px 26px rgba(13,111,108,.18)}
.card{
  border:1px solid var(--clean-line);
  border-radius:var(--clean-radius);
  background:var(--clean-surface);
  box-shadow:var(--clean-shadow);
}
.card:hover{
  transform:none;
  border-color:var(--clean-line);
  box-shadow:var(--clean-shadow);
}
.mandala-bg,
.service:before,.service:after,
.price-card:before,.price-card:after,
.package:before,.package:after,
.footer:after{display:none!important}

/* Plain, centered title blocks replace the mixed photographic title panels. */
.section-title{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.section-title.themed-section-title{
  width:min(850px,100%);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.section-title.themed-section-title::before,
.section-title.themed-section-title::after{display:none!important}
.section-title.themed-section-title h1,
.section-title.themed-section-title h2{
  color:#1b3531;
  font-size:clamp(43px,5vw,66px);
  letter-spacing:-.025em;
  text-shadow:none;
}
.section-title.themed-section-title h1:after,
.section-title.themed-section-title h2:after{
  content:"";
  display:block;
  width:54px;
  height:3px;
  margin:18px auto 0;
  border-radius:999px;
  background:var(--teal);
  opacity:.68;
}
.section-title.themed-section-title p{
  max-width:720px;
  margin:18px auto 0;
  color:#50645e;
  font-size:19px;
  line-height:1.55;
  font-weight:400;
}
.home-page .home-advanced .section-title{
  margin-left:auto;
  margin-right:auto;
}

/* Inner page framework */
body:not(.home-page) .section{padding:76px 0}
body:not(.home-page) .price-hero{
  padding:72px 0 62px;
  background:var(--clean-soft);
  border-bottom:1px solid var(--clean-line);
}
body:not(.home-page) .price-hero .section-title{margin-bottom:0}
body:not(.home-page) .price-section{padding-top:72px;padding-bottom:72px}
body:not(.home-page) .advanced-band,
body:not(.home-page) .services-advanced{
  padding-top:76px;
  padding-bottom:80px;
  background:var(--clean-soft);
  border-top:1px solid rgba(24,53,50,.07);
  border-bottom:1px solid rgba(24,53,50,.07);
}
body:not(.home-page) .advanced-band .section-title,
body:not(.home-page) .services-advanced .section-title{margin-bottom:36px}

/* General service cards */
body:not(.home-page) .grid{gap:18px}
body:not(.home-page) .service{
  min-height:235px;
  padding:29px 27px 25px;
  border-radius:var(--clean-radius);
  background:#fff;
  box-shadow:var(--clean-shadow);
}
body:not(.home-page) .service:hover{
  transform:translateY(-3px);
  border-color:var(--clean-line-strong);
  box-shadow:var(--clean-shadow-hover);
}
body:not(.home-page) .service h3{
  margin-bottom:12px;
  color:#274941;
  font-size:30px;
  letter-spacing:-.015em;
}
body:not(.home-page) .service p{
  color:#60716b;
  font-size:16px;
  line-height:1.6;
}
body:not(.home-page) .service-price-link{
  padding-top:20px;
  color:var(--teal);
}

/* Price list */
.price-grid{gap:18px}
.price-column{gap:18px}
.price-card{
  padding:30px;
  border-radius:var(--clean-radius);
  background:#fff;
  box-shadow:var(--clean-shadow);
}
.price-card:hover{transform:none;border-color:var(--clean-line);box-shadow:var(--clean-shadow)}
.price-card h2{
  margin:0 0 20px;
  color:#274941;
  font-size:32px;
  text-align:left;
  letter-spacing:-.012em;
}
.price-card h2:after{
  width:46px;
  height:3px;
  margin:13px 0 0;
  border-radius:999px;
  background:var(--teal);
  opacity:.55;
}
.item{
  padding:11px 0;
  border-bottom:1px solid rgba(24,53,50,.10);
}
.item:last-child{border-bottom:0}
.feature{
  padding:22px;
  border:1px solid rgba(13,111,108,.10);
  border-radius:17px;
  background:var(--clean-soft);
}
.feature h3{color:#274941}
.price-card[id]:target{
  border-color:rgba(13,111,108,.45);
  box-shadow:0 17px 42px rgba(13,111,108,.16);
  transform:none;
}

/* Packages */
.package-grid{gap:18px}
.package{
  padding:31px;
  border-radius:var(--clean-radius);
  background:#fff;
  box-shadow:var(--clean-shadow);
}
.package:hover{
  transform:translateY(-3px);
  border-color:var(--clean-line-strong);
  box-shadow:var(--clean-shadow-hover);
}
.package h3{
  color:#274941;
  font-size:32px;
  letter-spacing:-.012em;
}
.package .big{color:var(--teal);font-size:39px}
.package-logo{opacity:.42;filter:grayscale(.38) saturate(.65)}
.package-more{
  border-color:rgba(13,111,108,.16);
  background:#f2f7f4;
}

/* Advanced-treatment cards */
.advanced-grid{gap:18px}
.advanced-card{
  border-radius:var(--clean-radius);
  background:#fff;
  box-shadow:var(--clean-shadow);
}
.advanced-card:hover,
.service-treatment-card:hover{
  transform:translateY(-4px);
  border-color:var(--clean-line-strong);
  box-shadow:var(--clean-shadow-hover);
}
.advanced-media{
  height:195px;
  border-bottom:1px solid rgba(24,53,50,.08);
  background:#f7faf7;
}
.advanced-media.logo-media,
.advanced-media.logo-media.celluma{
  padding:28px;
  background:#f7faf7!important;
}
.advanced-media.logo-media:before,
.advanced-media.mandala-media:before{display:none!important}
.advanced-copy{padding:27px}
.advanced-copy h3{
  margin-bottom:11px;
  color:#274941;
  font-size:30px;
  letter-spacing:-.015em;
}
.advanced-copy p{color:#60716b;font-size:16px;line-height:1.58}
.advanced-copy strong{color:var(--teal);font-size:18px}
.advanced-copy span{color:var(--plum);font-size:15px}

/* Detailed treatment pages */
.treatment-hero,
.switch-hero,
.oxygen-hero{
  padding:76px 0;
  background:var(--clean-soft)!important;
  border-bottom:1px solid var(--clean-line);
}
.treatment-hero-grid{gap:48px}
.treatment-hero h1{
  color:#1b3531;
  font-size:clamp(48px,6vw,80px);
  letter-spacing:-.025em;
}
.treatment-hero p{color:#50645e;font-size:20px;line-height:1.58}
.treatment-photo,
.switch-hero .treatment-photo,
.oxygen-hero .treatment-photo{
  height:500px;
  padding:12px;
  overflow:hidden;
  border:1px solid var(--clean-line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--clean-shadow);
}
.treatment-photo img,
.before-after img{border-radius:15px}
.page-jump{
  background:rgba(255,255,255,.96);
  border-top:0;
  border-bottom:1px solid var(--clean-line);
  box-shadow:0 7px 20px rgba(24,47,43,.055);
}
.page-jump a{color:#38534d}
.page-jump a:hover{background:#edf5f1}
.page-jump a.active,
.page-jump a[aria-current="location"]{
  background:var(--teal);
  box-shadow:0 5px 14px rgba(13,111,108,.16);
}
.treatment-section{padding:76px 0}
.treatment-tint{
  background:var(--clean-soft);
  border-top:1px solid rgba(24,53,50,.065);
  border-bottom:1px solid rgba(24,53,50,.065);
}
.treatment-copy h2,.section-heading-left h2{
  color:#1b3531;
  font-size:clamp(39px,4.6vw,59px);
  letter-spacing:-.02em;
}
.section-heading-left{margin-bottom:30px}
.treatment-stat,
.benefit-card,
.info-panel,
.treatment-steps li,
.price-option,
.faq-list details{
  border:1px solid var(--clean-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 9px 26px rgba(24,47,43,.065);
}
.treatment-stat{padding:22px 18px}
.treatment-stat strong{color:#274941}
.benefit-card{padding:26px}
.benefit-card h3,
.price-option h3{color:#274941}
.info-panel{padding:31px}
.info-panel h3{color:#274941}
.info-panel.caution h3{color:var(--plum)}
.clinical-note{border:1px solid rgba(108,40,94,.09);background:#faf4f8}
.treatment-steps li{padding:21px}
.treatment-steps li>span{background:var(--teal)}
.price-option{padding:28px;background:#fff}
.price-option strong{color:var(--teal)}
.course-explainer{
  border:1px solid rgba(13,111,108,.10);
  border-radius:18px;
  background:#eef5f1;
}
.faq-list details{box-shadow:0 7px 20px rgba(24,47,43,.055)}
.related-treatments{padding-top:72px;padding-bottom:76px}
.advanced-link.current{outline:2px solid rgba(13,111,108,.30);outline-offset:3px}

/* Contact, brands and footer */
.contact-section{
  padding:78px 0 70px;
  background:var(--clean-soft);
  border-top:1px solid rgba(24,53,50,.07);
}
.contact-card,.map-card{
  border-radius:var(--clean-radius);
  background:#fff;
  box-shadow:var(--clean-shadow);
}
.contact-card:hover,.map-card:hover{transform:none;box-shadow:var(--clean-shadow)}
.contact-card{padding:32px}
.contact-card h2{color:#1b3531;letter-spacing:-.02em}
.contact-form input,.contact-form select,.contact-form textarea{
  border-color:rgba(24,53,50,.15);
  border-radius:12px;
  background:#fff;
}
.map-card iframe{filter:saturate(.82) contrast(.96)}
.map-copy h3{color:#274941}
.brand-carousel{
  padding:27px 0 23px;
  background:#fff;
  border-top:1px solid var(--clean-line);
}
.footer{margin-top:0;padding:48px 0;background:#0b2421}

/* Keep the V24 homepage, with its title alignment corrected, in the same system. */
.home-page .home-advanced .section-title.themed-section-title{
  margin-left:auto;
  margin-right:auto;
}
.home-page .home-contact{padding-bottom:70px}
.home-page .brand-carousel{background:#fff}
.home-page .footer{margin-top:0}

@media(max-width:850px){
  body:not(.home-page) .section,
  .treatment-section{padding:60px 0}
  body:not(.home-page) .price-hero{padding:58px 0 52px}
  body:not(.home-page) .advanced-band,
  body:not(.home-page) .services-advanced{padding:60px 0 64px}
  .price-card,.package,.contact-card,.info-panel{padding:24px}
  .treatment-hero,.switch-hero,.oxygen-hero{padding:60px 0;text-align:center}
  .treatment-photo,.switch-hero .treatment-photo,.oxygen-hero .treatment-photo{height:auto;min-height:0}
  .contact-section{padding:64px 0 58px}
}
@media(max-width:620px){
  .section-title.themed-section-title{width:100%}
  .section-title.themed-section-title h1,
  .section-title.themed-section-title h2{font-size:clamp(38px,12vw,52px)}
  body:not(.home-page) .service,.advanced-copy{padding:24px}
  .advanced-media{height:165px}
  .price-card h2,.package h3{font-size:29px}
  .treatment-stat,.benefit-card,.treatment-steps li,.price-option{padding:20px}
}

/* V25 contact-grid containment */
.contact-grid>*{min-width:0}
.contact-form label{min-width:0}
.contact-form input,.contact-form select,.contact-form textarea{min-width:0;max-width:100%}
.contact-form select{width:100%}

/* V26: restrained botanical detailing and Celluma logo treatment */
.price-section .advanced-media.logo-media.celluma{
  background:#f8fbf8!important;
  padding:34px 30px;
}
.price-section .advanced-media.logo-media.celluma img{
  width:min(92%,390px);
  max-width:390px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 10px 20px rgba(24,53,50,.07));
}

/* Very light botanical linework: present in selected areas, never behind dense text. */
body:not(.home-page) .price-hero,
.home-page .home-services,
body:not(.home-page) .advanced-band,
body:not(.home-page) .services-advanced,
.contact-section,
.treatment-guide #benefits,
.treatment-guide #aftercare{
  background-repeat:no-repeat;
}
body:not(.home-page) .price-hero{
  background-image:url('assets/leaf-sprig.svg');
  background-position:right max(18px,calc((100vw - 1160px)/2 - 34px)) center;
  background-size:clamp(170px,20vw,275px) auto;
}
.home-page .home-services{
  background-image:url('assets/leaf-sprig-mirror.svg');
  background-position:left -45px bottom -105px;
  background-size:250px auto;
}
body:not(.home-page) .advanced-band,
body:not(.home-page) .services-advanced{
  background-image:url('assets/leaf-sprig-mirror.svg');
  background-position:left -62px bottom -122px;
  background-size:265px auto;
}
.contact-section{
  background-image:url('assets/leaf-sprig.svg');
  background-position:right -68px bottom -128px;
  background-size:280px auto;
}
.treatment-guide #benefits{
  background-image:url('assets/leaf-sprig.svg');
  background-position:right -78px bottom -145px;
  background-size:290px auto;
}
.treatment-guide #aftercare{
  background-image:url('assets/leaf-sprig-mirror.svg');
  background-position:left -75px bottom -145px;
  background-size:290px auto;
}

@media(max-width:700px){
  body:not(.home-page) .price-hero{
    background-position:right -68px center;
    background-size:190px auto;
  }
  .home-page .home-services,
  body:not(.home-page) .advanced-band,
  body:not(.home-page) .services-advanced{
    background-position:left -90px bottom -125px;
    background-size:220px auto;
  }
  .contact-section,
  .treatment-guide #benefits,
  .treatment-guide #aftercare{
    background-size:225px auto;
  }
}

/* Mobile density: restore card inset, shrink block vertical padding */
@media(max-width:850px){
  body:not(.home-page) .price-hero{padding:28px 0 18px}
  body:not(.home-page) .section,
  .treatment-section,
  .home-page .section{padding:28px 0}
  body:not(.home-page) .price-section{padding-top:28px;padding-bottom:28px}
  body:not(.home-page) .advanced-band,
  body:not(.home-page) .services-advanced{padding:36px 0}
  .section-title{margin-bottom:20px}
  body:not(.home-page) .advanced-band .section-title,
  body:not(.home-page) .services-advanced .section-title{margin-bottom:20px}
  .section-title.themed-section-title{
    width:min(850px,100%);
    padding:0 8px;
    box-sizing:border-box;
  }
  .section-title.themed-section-title h1:after,
  .section-title.themed-section-title h2:after{margin-top:12px}
  .section-title.themed-section-title p{margin-top:12px;font-size:17px;padding:0 4px}
  .contact-section{padding:40px 0 34px}
  .treatment-hero,.switch-hero,.oxygen-hero{padding:40px 0}

  .grid,
  body:not(.home-page) .grid{gap:12px}
  .card.service,
  body:not(.home-page) .service,
  .home-page .home-services .service{
    min-height:0;
    padding:24px 28px 22px;
  }
  .advanced-copy{padding:24px 28px}
  .price-card,.package,.contact-card,.info-panel{padding:24px 28px}
  .service-price-link,
  body:not(.home-page) .service-price-link{padding-top:14px}
}
@media(max-width:520px){
  body:not(.home-page) .price-hero{padding:16px 0 10px}
  body:not(.home-page) .section,
  .treatment-section,
  .home-page .section{padding:16px 0 20px}
  body:not(.home-page) .advanced-band,
  body:not(.home-page) .services-advanced{padding:24px 0 28px}
  .section-title.themed-section-title h1,
  .section-title.themed-section-title h2{font-size:clamp(34px,10vw,44px)}
  .card.service,
  body:not(.home-page) .service,
  .home-page .home-services .service,
  .advanced-copy{
    padding:22px 28px 20px;
  }
  body:not(.home-page) .service h3{font-size:26px;margin-bottom:8px}
  body:not(.home-page) .service p{font-size:15px;line-height:1.5}
}

/* Legal pages */
.legal-page{padding-top:36px}
.legal-copy{padding:34px 36px 40px;max-width:860px;margin:0 auto}
.legal-copy h2{font-size:28px;margin:28px 0 10px;color:#274941}
.legal-copy h3{font-size:20px;margin:22px 0 8px;color:#1b3531}
.legal-copy p,.legal-copy li{color:#50645e;font-size:17px;line-height:1.6}
.legal-copy ul{padding-left:1.2em;margin:0 0 12px}
.legal-updated{font-size:14px;color:#687a73;margin:0 0 18px}
.legal-table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:15px}
.legal-table th,.legal-table td{border:1px solid var(--clean-line,rgba(24,53,50,.11));padding:10px 12px;text-align:left;vertical-align:top}
.legal-table th{background:rgba(13,111,108,.06);color:#274941}
.footer-legal{margin:10px 0 6px;font-size:14px}
.footer-legal a{color:#eafffb;text-decoration:underline;text-decoration-color:rgba(234,255,251,.35);text-underline-offset:3px}

/* Soft site mask until cookie choice is made */
html.consent-pending body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:75;
  background:rgba(16,43,41,.18);
  backdrop-filter:blur(5px) saturate(.92);
  -webkit-backdrop-filter:blur(5px) saturate(.92);
  pointer-events:auto;
}
html.consent-pending{overflow:hidden}
html.consent-pending body{overflow:hidden}

/* Consent bar — compact, non-blocking */
.consent-root{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:80;pointer-events:none}
.consent-card{
  pointer-events:auto;
  width:min(720px,100%);
  margin:0 auto;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(13,111,108,.16);
  box-shadow:0 16px 40px rgba(24,47,43,.18);
  backdrop-filter:blur(14px);
}
.consent-card p{margin:0 0 12px;color:#405d59;font-size:14px;line-height:1.45}
.consent-card a{color:var(--teal);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.consent-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.consent-actions .btn{padding:10px 14px;font-size:13px;letter-spacing:.04em;border:0;cursor:pointer}
.consent-actions .btn.light-consent{
  background:rgba(13,111,108,.08);
  color:#234642;
  border:1px solid rgba(13,111,108,.14);
}
.consent-actions .consent-linkish{
  appearance:none;border:0;background:transparent;color:var(--teal);font:inherit;font-weight:800;font-size:13px;cursor:pointer;padding:8px 4px;text-decoration:underline;text-underline-offset:2px;
}
.consent-panel{display:none;margin-top:12px;padding-top:12px;border-top:1px solid rgba(13,111,108,.12)}
.consent-card.is-customizing .consent-panel{display:block}
.consent-option{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font-size:14px;color:#405d59}
.consent-option input{margin-top:3px;accent-color:var(--teal)}
.consent-option strong{display:block;color:#1b3531;font-size:14px}
.consent-option span{display:block;font-size:13px;line-height:1.4}
body.has-book-bar .consent-root{bottom:calc(128px + env(safe-area-inset-bottom,0px))}
@media(max-width:520px){
  .consent-root{left:8px;right:8px}
  .consent-card{padding:12px}
  .consent-actions .btn{flex:1 1 auto;justify-content:center}
  .legal-copy{padding:24px 20px 28px}
}

/* Maps gated behind consent */
.map-consent{
  min-height:280px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:28px 20px;
  background:linear-gradient(135deg,rgba(13,111,108,.08),rgba(255,255,255,.9));
  border-radius:0;
}
.map-consent p{margin:0 0 14px;color:#405d59;max-width:28rem;font-size:15px}

/* Mobile: home hero fills the first viewport under the sticky nav */
@media(max-width:850px){
  .hero{
    min-height:calc(100svh - var(--site-nav-height, 64px));
    min-height:calc(100dvh - var(--site-nav-height, 64px));
    box-sizing:border-box;
  }
  .hero-content{
    padding:clamp(24px,5vh,48px) 0;
    width:min(1160px, calc(100% - 36px));
  }
  body.has-book-bar .hero-content{
    padding-bottom:calc(18px + 78px + env(safe-area-inset-bottom,0px));
  }
  .hero h1{font-size:clamp(44px,11vw,56px);margin:16px 0 12px}
  .hero p{font-size:clamp(17px,4.4vw,22px);margin:0 auto 24px;max-width:34rem}
  .hero .eyebrow{font-size:12px;letter-spacing:.28em}
  .hero .cta-row{gap:10px}
  .hero .btn{padding:12px 18px;font-size:13px}
}
@media(max-width:520px){
  .hero{
    min-height:calc(100svh - var(--site-nav-height, 60px));
    min-height:calc(100dvh - var(--site-nav-height, 60px));
  }
  .hero h1{font-size:clamp(40px,11.5vw,50px)}
  .hero p{font-size:clamp(16px,4.2vw,19px);line-height:1.35}
}

/* Home about lands cleanly under sticky nav after hero snap */
.home-page .home-about{
  scroll-margin-top:var(--site-nav-height, 64px);
}


/* Booking modal — WhatsApp / Messenger first */
body.booking-open{overflow:hidden;touch-action:none}
body.booking-open .book-bar,
body.booking-open .chat-float{display:none!important}
.booking-slot[hidden]{display:none!important}
.booking-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}
.booking-modal[hidden]{display:none!important}
.booking-modal-backdrop{position:absolute;inset:0;background:rgba(16,43,41,.55);backdrop-filter:blur(6px)}
.booking-modal-dialog{position:relative;z-index:1;width:min(560px,100%);max-height:min(92vh,860px);display:flex;flex-direction:column;border-radius:28px;background:linear-gradient(165deg,rgba(255,254,248,.98),rgba(238,249,246,.96));border:1px solid rgba(13,111,108,.16);box-shadow:0 28px 80px rgba(16,43,41,.28);overflow:hidden}
.booking-modal-scroll{overflow:auto;padding:24px 22px 12px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1 1 auto;min-height:0}
.booking-modal-dialog .eyebrow{margin:0}
.booking-modal-dialog h2{font-size:clamp(28px,5vw,40px);line-height:1.05;margin:8px 0 8px;color:#183532}
.booking-modal-lead{margin:0 0 4px;color:var(--muted);font-size:15px;line-height:1.45}
.booking-modal-close{position:absolute;top:10px;right:12px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.82);color:#183532;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(16,43,41,.12)}
.booking-modal-close:hover,.booking-modal-close:focus-visible{background:#fff;outline:2px solid rgba(91,181,165,.55);outline-offset:2px}
.booking-step-label{margin:8px 0 0;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#3f6a64}
.booking-progress{display:flex;gap:6px;margin:10px 0 4px}
.booking-progress-dot{width:8px;height:8px;border-radius:50%;background:rgba(13,111,108,.18)}
.booking-progress-dot.is-done{background:rgba(13,111,108,.45)}
.booking-progress-dot.is-active{background:var(--teal);box-shadow:0 0 0 3px rgba(91,181,165,.22)}
.booking-form{margin-top:12px}
.booking-step{display:grid;gap:14px}
.booking-step[hidden]{display:none!important}
.booking-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.booking-hint-inline{margin:0 0 10px}
.booking-confirm-note{margin:0;padding:14px 16px;border-radius:18px;background:rgba(91,181,165,.14);border:1px solid rgba(13,111,108,.16);color:#17322f;font-weight:700;font-size:15px;line-height:1.45}
.booking-modal-footer{flex:0 0 auto;padding:12px 22px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(13,111,108,.10);background:rgba(255,254,248,.96)}
.booking-nav-row{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}
.booking-nav-row .btn{width:100%;justify-content:center;text-align:center;border:0;cursor:pointer}
.booking-nav-row [data-booking-back][hidden],
.booking-nav-row [data-booking-next][hidden]{display:none!important}
.booking-nav-row:has([data-booking-back][hidden]),
.booking-nav-row:has([data-booking-next][hidden]){grid-template-columns:1fr}
.booking-modal-footer .booking-channel-row{margin-top:10px}
.booking-modal-footer .booking-nav-row:has([data-booking-next][hidden]) + .booking-channel-row{margin-top:10px}
.booking-channel-row[hidden]{display:none!important}
.booking-hint{display:block;font-size:13px;font-weight:700;color:var(--muted);margin:4px 0 0;letter-spacing:0;text-transform:none}
.booking-slot{display:grid;grid-template-columns:1fr;gap:16px}
.booking-chip-group{margin:0;padding:0;border:0;min-width:0}
.booking-chip-group legend{font-weight:800;color:#17322f;font-size:16px;margin:0 0 10px;padding:0}
.booking-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.booking-chip{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:8px!important;padding:10px 14px;border-radius:999px;border:1px solid rgba(13,111,108,.22);background:rgba(255,255,255,.86);font-weight:800;cursor:pointer;user-select:none;margin:0}
.booking-chip input{accent-color:var(--teal);width:auto;margin:0;flex:0 0 auto}
.booking-chip:has(input:checked){border-color:rgba(13,111,108,.55);background:rgba(91,181,165,.16);box-shadow:0 0 0 3px rgba(91,181,165,.14)}
.booking-form fieldset.wide{grid-column:1/-1}
.booking-preview-wrap{margin-top:16px}
.booking-preview-label{margin:0 0 8px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#234642}
.booking-preview{margin:0;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(13,111,108,.14);white-space:pre-wrap;word-break:break-word;font-family:'Arima Madurai',system-ui,sans-serif;font-size:15px;line-height:1.45;color:#17322f;max-height:160px;overflow:auto}
.booking-channel-row{display:grid;grid-template-columns:1fr;gap:10px;margin-top:0}
.booking-send-label{margin:0;text-align:center;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#3f6a64}
.booking-channel-row .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:14px 16px;border:0;border-radius:16px;cursor:pointer;color:#fff!important;font-size:16px;font-weight:800;box-shadow:0 10px 22px rgba(16,43,41,.16)}
.booking-channel-row .btn svg{width:22px;height:22px;fill:currentColor;flex:0 0 auto}
.booking-wa{background:#128C7E!important}
.booking-messenger{background:#0866FF!important}
.booking-wa:hover,.booking-messenger:hover{filter:brightness(1.05);color:#fff!important;transform:translateY(-1px)}
.booking-modal .form-status{margin-top:10px!important}
@media(max-width:640px){
  .booking-modal{padding:0;place-items:stretch}
  .booking-modal-dialog{width:100%;max-height:100%;min-height:100%;border-radius:0}
  .booking-modal-scroll{padding:18px 16px 10px}
  .booking-modal-dialog h2{font-size:clamp(26px,7vw,34px)}
  .booking-modal-lead{font-size:14px}
  .booking-modal-footer{padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px))}
  .booking-channel-row{grid-template-columns:1fr}
  .booking-chip{padding:9px 12px;font-size:14px}
  .booking-preview{max-height:140px}
  .booking-confirm-note{font-size:14px;padding:12px 14px}
}
@media(prefers-reduced-motion:reduce){
  .booking-modal-backdrop{backdrop-filter:none}
}


.contact-card .cta-row{margin-top:22px;justify-content:flex-start}
.contact-card .cta-row .btn{cursor:pointer;font:inherit;font-weight:800;letter-spacing:.06em;border:1px solid rgba(255,255,255,.35);appearance:none;-webkit-appearance:none}
.contact-card > p{max-width:36ch}


/* ==================== V28.3 ==================== */

/* Item 23: ® superscript */
.tm{font-size:.55em;vertical-align:super;line-height:0;font-weight:inherit;}

/* Item 4: Policy page body layout */
.policy-body{text-align:left;max-width:720px;margin-inline:auto;}
.policy-subheading{font-size:22px;color:var(--teal);margin:28px 0 8px;font-weight:700;}

/* Item 25: Hero CTAs — solid, high-contrast */
.hero .cta-row{gap:14px;}
.hero .cta-row .btn.teal{
  background:linear-gradient(135deg,#0d6f6c,#1a9a8f);
  border:1.5px solid rgba(255,255,255,.28);
  color:#fff;
  font-weight:800;
  letter-spacing:.05em;
  padding:16px 28px;
  box-shadow:0 14px 36px rgba(0,0,0,.35), 0 0 0 1px rgba(13,111,108,.25);
  backdrop-filter:none;
}
.hero .cta-row .btn.teal:hover{
  background:linear-gradient(135deg,#118a86,#22b5a8);
  color:#fff;
  border-color:rgba(255,255,255,.45);
  box-shadow:0 18px 42px rgba(0,0,0,.4);
}
.hero .cta-row .btn.teal+.btn.teal{
  background:rgba(255,255,255,.94);
  color:#0a2f2c;
  border-color:rgba(255,255,255,.95);
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}
.hero .cta-row .btn.teal+.btn.teal:hover{
  background:#fff;
  color:#062421;
}

/* Item 26: Hero wordmark fills available width on one line; eyebrow stays ~1/5 of it */
.hero-content{
  --hero-mark:min(106px, calc((100vw - 76px) / 7.75));
}
.hero h1{
  font-size:var(--hero-mark)!important;
  font-weight:600!important;
  letter-spacing:.045em!important;
  white-space:nowrap!important;
  max-width:100%;
  line-height:1!important;
  margin:18px 0 16px!important;
}
.hero .eyebrow{
  font-size:calc(var(--hero-mark) * .28)!important;
  letter-spacing:.26em!important;
  color:#fff!important;
  font-weight:600!important;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}
/* Soft scrim so the tagline stays readable on busy photo areas */
.hero .hero-content > p{
  position:relative;
  isolation:isolate;
  color:rgba(255,255,255,.96);
  text-shadow:
    0 1px 2px rgba(0,0,0,.5),
    0 3px 16px rgba(0,0,0,.4);
}
.hero .hero-content > p:before{
  content:"";
  position:absolute;
  inset:-10px -32px;
  z-index:-1;
  background:radial-gradient(ellipse at center, rgba(6,18,16,.42) 0%, rgba(6,18,16,.16) 52%, transparent 74%);
  pointer-events:none;
}

/* Item 27: Reduce heading weights on page titles site-wide */
.section-title h1,.section-title h2,.price-hero .section-title h1,.treatment-hero h1,.price-hero h1{font-weight:500;}

/* Item 6: Services grid — 2-col at tablet, 1-col at mobile */
.services-main-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(min-width:521px) and (max-width:900px){.services-main-grid{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:520px){.services-main-grid{grid-template-columns:1fr!important;}}

/* Item 7: Firming Peptide featured card on facials page */
.firming-featured{border:1.5px solid rgba(13,111,108,.22);border-radius:var(--radius);padding:36px 40px;background:linear-gradient(135deg,rgba(91,181,165,.12),rgba(255,250,240,.92));margin-top:4px;}
.firming-featured h2{font-size:clamp(28px,4vw,44px);color:#183532;margin:0 0 12px;font-weight:600;}
.firming-featured p{color:var(--muted);font-size:19px;margin:0 0 18px;}
.firming-featured-meta{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0 22px;}
.firming-featured-stat{padding:14px 22px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid rgba(13,111,108,.14);text-align:center;}
.firming-featured-stat strong{display:block;font-size:26px;color:var(--teal);line-height:1;}
.firming-featured-stat span{font-size:13px;color:var(--muted);}
@media(max-width:640px){.firming-featured{padding:24px 22px;}.firming-featured-meta{gap:12px;}}

/* Item 13: Firming Peptide single price summary */
.price-single-summary{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;padding:28px 32px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(91,181,165,.10),rgba(255,250,240,.94));border:1px solid rgba(13,111,108,.15);margin:16px auto 24px;max-width:640px;text-align:left;}
.price-single-summary .price-amt{font-size:54px;font-weight:800;color:var(--teal);line-height:1;}
.price-single-summary .price-detail{color:var(--muted);}
.price-single-summary .price-detail strong{display:block;font-size:22px;color:#183532;font-weight:600;margin-bottom:6px;}
@media(max-width:600px){.price-single-summary{flex-direction:column;text-align:center;padding:22px;}}

/* Firming Peptide page: balanced centred layout */
.firming-page .page-jump-inner{
  justify-content:center;
}
.firming-page .section-heading-left{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.firming-page .section-heading-left h2{margin-left:auto;margin-right:auto;}
.firming-page .faq-wrap .section-heading-left{text-align:center;}
.firming-page .treatment-stats,
.treatment-stats.stats-2{
  grid-template-columns:repeat(2,minmax(0,240px));
  justify-content:center;
  justify-items:stretch;
  gap:18px;
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
}
.firming-page .treatment-stat{text-align:center;}
.firming-page .course-explainer{margin-left:auto;margin-right:auto;}
.firming-page .benefit-grid{max-width:980px;margin-inline:auto;}
.firming-page .faq-list{max-width:820px;margin-inline:auto;text-align:left;}
.firming-page #prices .container > .section-heading-left{text-align:center;}
@media(max-width:700px){
  .firming-page .treatment-stats,
  .treatment-stats.stats-2{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:420px;
    gap:12px;
  }
}

/* Firming Peptide full-bleed hero */
.firming-hero{
  position:relative;
  min-height:clamp(440px, 52vw, 580px);
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:#0b2422;
}
.firming-hero-media{
  position:absolute;
  inset:0;
  overflow:hidden;
  transform:scale(1.02);
}
.firming-hero-media picture,
.firming-hero-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.firming-hero-media img{
  object-fit:cover;
  object-position:center center;
}
.firming-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(105deg,
      rgba(6,24,22,.92) 0%,
      rgba(6,24,22,.86) 28%,
      rgba(6,24,22,.62) 48%,
      rgba(6,24,22,.32) 72%,
      rgba(6,24,22,.22) 100%),
    linear-gradient(180deg, rgba(6,24,22,.28) 0%, transparent 40%, rgba(6,24,22,.4) 100%);
  pointer-events:none;
}
.firming-hero-content{
  position:relative;
  z-index:2;
  max-width:620px;
  padding:78px 0 70px;
  text-shadow:0 2px 20px rgba(0,0,0,.45);
}
.firming-hero-content .eyebrow{
  color:#c9f3ea;
  letter-spacing:.28em;
  font-weight:700;
  font-size:13px;
  margin:0 0 14px;
  text-shadow:0 1px 10px rgba(0,0,0,.4);
}
.firming-hero-content h1{
  font-size:clamp(36px, 5.2vw, 64px);
  line-height:1.02;
  font-weight:600;
  letter-spacing:.02em;
  margin:0 0 16px;
  color:#fff;
  max-width:14ch;
}
.firming-hero-content > p{
  font-size:clamp(17px, 2vw, 21px);
  line-height:1.45;
  margin:0 0 28px;
  color:rgba(255,255,255,.92);
  max-width:38ch;
  font-weight:500;
}
.firming-hero-content .cta-row{justify-content:flex-start; gap:12px;}
.firming-hero-content .btn.teal{
  box-shadow:0 12px 28px rgba(0,0,0,.28);
}
.firming-hero-content .btn.hero-ghost{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
  box-shadow:none;
}
.firming-hero-content .btn.hero-ghost:hover{
  background:rgba(255,255,255,.22);
  color:#fff;
  filter:none;
  transform:translateY(-2px);
}
.firming-page .page-jump{
  border-top:1px solid rgba(24,53,50,.08);
}
@media(max-width:850px){
  .firming-hero{min-height:520px; align-items:flex-end;}
  .firming-hero-media img{object-position:28% center;}
  .firming-hero-overlay{
    background:
      linear-gradient(180deg, rgba(6,24,22,.35) 0%, rgba(6,24,22,.72) 48%, rgba(6,24,22,.9) 100%),
      linear-gradient(90deg, rgba(6,24,22,.55), rgba(6,24,22,.2));
  }
  .firming-hero-content{
    max-width:100%;
    padding:48px 0 56px;
    text-align:left;
  }
  .firming-hero-content h1{max-width:none; font-size:clamp(32px, 9vw, 46px);}
  .firming-hero-content > p{max-width:36ch;}
  .firming-hero-content .cta-row{justify-content:flex-start;}
}
@media(max-width:520px){
  .firming-hero{min-height:560px;}
  .firming-hero-media img{object-position:22% center;}
  .firming-hero-content .cta-row .btn{width:100%; justify-content:center;}
}


/* ===== Oct 2026 polish: prices mobile order, policy headers, CTA gaps, hero ===== */

/* Mobile price list order: Hands, Feet, IBX, Facials, Massage, then the rest.
   Desktop 2-column DOM order is unchanged. */
@media(max-width:850px){
  .price-grid,
  .price-grid.balanced{
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .price-grid .price-column{
    display:contents;
  }
  .price-grid .price-card{width:100%;}
  /* EN */
  .price-grid #hands{order:1;}
  .price-grid #feet{order:2;}
  .price-grid #ibx{order:3;}
  .price-grid #facials{order:4;}
  .price-grid #massage{order:5;}
  .price-grid #brows-lashes{order:6;}
  .price-grid #waxing{order:7;}
  /* ES */
  .price-grid #manos{order:1;}
  .price-grid #pies{order:2;}
  .price-grid #faciales{order:4;}
  .price-grid #masaje{order:5;}
  .price-grid #cejas-pestanas{order:6;}
  .price-grid #depilacion{order:7;}
  /* NO */
  .price-grid #hender{order:1;}
  .price-grid #fotter{order:2;}
  .price-grid #hudpleie{order:4;}
  .price-grid #massasje{order:5;}
  .price-grid #bryn-vipper{order:6;}
  .price-grid #harfjerning{order:7;}
}

/* Policy section labels slightly clearer than body, without shouting */
.policy-body .section-kicker{
  font-size:16px;
  letter-spacing:.14em;
  font-weight:800;
  margin:0 0 12px;
  color:var(--teal);
}
.policy-body p{
  font-size:16px;
  line-height:1.65;
  color:#2a3f3b;
  margin:0 0 14px;
}
.policy-body .policy-subheading{
  font-size:19px;
  margin:26px 0 8px;
  font-weight:700;
  color:#1b3531;
}
.policy-body > section + section .section-kicker{margin-top:8px;}

/* Stacked buttons need consistent gaps */
.center-cta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px;
}
.cta-row{gap:14px;}
@media(max-width:720px){
  .center-cta,
  .cta-row,
  .contact-card .cta-row,
  .firming-hero-content .cta-row,
  .hero .cta-row{
    gap:12px;
  }
  .center-cta .btn,
  .firming-hero-content .cta-row .btn{
    margin:0;
  }
}

/* Hero wordmark: keep one line; size from --hero-mark above (as large as fits) */
.hero h1{
  white-space:nowrap !important;
  max-width:100%;
}
@media(max-width:520px){
  .hero-content{
    --hero-mark:min(84px, calc((100vw - 88px) / 7.75));
  }
  .hero h1{margin:14px 0 12px!important;}
}


/* Two-card course pricing: centre the pair like .stats-2 */
.price-options.price-options-2{
  grid-template-columns:repeat(2,minmax(0,320px));
  justify-content:center;
  justify-items:stretch;
  gap:18px;
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:720px){
  .price-options.price-options-2{
    grid-template-columns:1fr;
    max-width:420px;
    gap:12px;
  }
}

/* ==================== END V28.3 ==================== */

/* Mobile: fixed overlay nav — transparent over hero until scroll */
@media(max-width:850px){
  .nav{
    position:fixed!important;
    top:0;
    left:0;
    right:0;
    width:100%;
    transition:background .28s ease,border-color .28s ease,box-shadow .28s ease,backdrop-filter .28s ease;
  }
  /* Keep page content clear of the fixed bar (homepage hero goes under it) */
  body{padding-top:var(--site-nav-height, 60px);}
  body.home-page{padding-top:0;}

  .nav.is-top:not(.is-open){
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    border-bottom:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    pointer-events:none;
  }
  .nav.is-top:not(.is-open) .container,
  .nav.is-top:not(.is-open) .nav-inner{
    background:transparent!important;
    box-shadow:none!important;
    justify-content:flex-end!important;
    gap:10px;
    pointer-events:none;
  }
  .nav.is-top:not(.is-open) .brand{
    display:none!important;
  }
  .nav.is-top:not(.is-open) .lang-control,
  .nav.is-top:not(.is-open) .nav-toggle{
    pointer-events:auto;
  }
  .nav.is-top:not(.is-open) .lang-control{
    margin-left:0!important;
  }
  .home-page .nav.is-top:not(.is-open) .nav-toggle,
  .home-page .nav.is-top:not(.is-open) .lang-control-btn{
    height:44px;
    min-height:44px;
    border-radius:12px;
    color:#fff;
    background:rgba(8,24,22,.28);
    border:1px solid rgba(255,255,255,.32);
    box-shadow:none;
  }
  .home-page .nav.is-top:not(.is-open) .nav-toggle{
    width:44px;
    min-width:44px;
    padding:0;
  }
  .home-page .nav.is-top:not(.is-open) .lang-control-btn{
    width:auto;
    min-width:44px;
    padding:0 8px 0 7px;
  }
  .home-page .nav.is-top:not(.is-open) .nav-toggle:hover,
  .home-page .nav.is-top:not(.is-open) .nav-toggle:focus-visible,
  .home-page .nav.is-top:not(.is-open) .lang-control-btn:hover,
  .home-page .nav.is-top:not(.is-open) .lang-control-btn:focus-visible{
    background:rgba(8,24,22,.42);
    border-color:rgba(255,255,255,.45);
  }
  .home-page .nav.is-top:not(.is-open) .lang-control-flag{
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
  }
  .home-page .nav.is-top:not(.is-open) .lang-control-caret{
    border-top-color:#fff;
    opacity:.9;
  }
}

/* Opening hours + privacy email reveal (not used as general contact) */
.opening-hours{margin:10px 0 14px;color:inherit;}
.footer .opening-hours{opacity:.92;margin:8px 0 12px;}
.map-copy .opening-hours{color:var(--muted);}
.email-cloak{
  display:inline;
  margin:0;
  padding:0;
  border:0;
  background:none;
  color:var(--teal);
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  cursor:pointer;
}
.email-cloak:hover{color:var(--plum);}
.email-revealed{font-weight:700;word-break:break-all;}
.legal-copy .email-cloak{color:var(--teal);}
