/* Smooth Studio – structure. Colours and fonts come from the preset file. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--font-head);line-height:1.12;margin:0 0 .5em;font-weight:var(--head-weight);letter-spacing:var(--head-track)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ss-skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.6em 1em;z-index:100}
.ss-skip:focus{left:0}
.ss-wrap{width:min(1240px,100% - 2.5rem);margin-inline:auto}
.ss-narrow{width:min(820px,100% - 2.5rem)}
.ss-content{padding-block:3rem}
.ss-full{width:100%}
.ss-full>*{max-width:none}

/* Buttons */
.ss-btn{display:inline-block;background:var(--accent);color:var(--on-accent);padding:.9em 1.6em;border-radius:var(--btn-radius);font-weight:700;text-decoration:none;border:2px solid var(--accent);transition:transform .15s,box-shadow .15s,background .15s;line-height:1.1}
.ss-btn:hover,.ss-btn:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px -8px var(--accent)}
.ss-btn-sm{padding:.65em 1.1em;font-size:.95rem}
.ss-btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.ss-btn-ghost:hover{box-shadow:none;background:rgba(255,255,255,.12)}

/* Header */
.ss-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.ss-header-in{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:1rem}
.ss-brand{font-family:var(--font-head);font-weight:var(--head-weight);font-size:1.3rem;color:var(--ink);text-decoration:none;letter-spacing:var(--head-track)}
.ss-brand img{max-height:48px;width:auto}
.ss-nav{display:flex;align-items:center;gap:1.4rem}
.ss-nav ul{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.ss-nav a:not(.ss-btn){color:var(--ink);text-decoration:none;font-weight:600}
.ss-nav a:not(.ss-btn):hover{color:var(--accent)}
.ss-burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.ss-burger i,.ss-burger i::before,.ss-burger i::after{content:"";position:absolute;left:10px;right:10px;height:2px;background:var(--ink);transition:.2s}
.ss-burger i{top:21px}.ss-burger i::before{left:0;right:0;top:-7px}.ss-burger i::after{left:0;right:0;top:7px}

/* Hero */
.ss-hero{position:relative;color:#fff;background:var(--hero-bg) center/cover;min-height:min(86vh,760px);display:flex;align-items:center;overflow:hidden;isolation:isolate}
.ss-hero::before{content:"";position:absolute;inset:0;background:var(--hero-overlay);z-index:-1}
.ss-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ss-hero-in{padding-block:5rem}
.ss-hero h1{font-size:clamp(2.6rem,7vw,5.6rem);max-width:14ch;color:#fff}
.ss-kicker{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:.85rem;margin:0 0 1rem;opacity:.9}
.ss-lead{font-size:clamp(1.05rem,2vw,1.35rem);max-width:46ch;margin:0 0 2rem;opacity:.95}
.ss-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:0 0 2rem}
.ss-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.6rem}
.ss-chips li{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);border-radius:99px;padding:.35em 1em;font-size:.9rem}

/* Sections */
.ss-section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.ss-alt{background:var(--surface)}
.ss-h2{font-size:clamp(1.9rem,4vw,3rem)}
.ss-sub{color:var(--muted);max-width:60ch;margin:0 0 2.2rem}

/* Cards */
.ss-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.4rem}
.ss-card{display:flex;flex-direction:column;background:var(--card);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.ss-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.ss-card-img{display:block;aspect-ratio:4/3;background:var(--surface);overflow:hidden}
.ss-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ss-card:hover .ss-card-img img{transform:scale(1.06)}
.ss-card-body{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem 1.4rem;flex:1}
.ss-card-body strong{font-family:var(--font-head);font-size:1.25rem}
.ss-card-body span{color:var(--muted);font-size:.95rem}
.ss-card-body em{margin-top:auto;padding-top:.6rem;font-style:normal;font-weight:700;color:var(--accent)}

/* Steps */
.ss-steps{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.4rem}
.ss-steps li{display:flex;flex-direction:column;gap:.4rem;padding:1.5rem;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}
.ss-steps b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-family:var(--font-head)}
.ss-steps strong{font-family:var(--font-head);font-size:1.2rem}
.ss-steps span{color:var(--muted)}

/* Videos (click to play) */
.ss-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.4rem}
.ss-videos figure{margin:0}
.ss-videos figcaption{padding:.7rem .2rem;font-weight:700}
.ss-video{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;cursor:pointer;background:var(--surface) center/cover;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.ss-video iframe,.ss-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.ss-play{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:var(--accent);box-shadow:0 8px 30px rgba(0,0,0,.3);transition:transform .2s}
.ss-play::after{content:"";position:absolute;left:31px;top:23px;border-left:24px solid var(--on-accent);border-top:15px solid transparent;border-bottom:15px solid transparent}
.ss-video:hover .ss-play{transform:scale(1.1)}

/* Before / after */
.ss-split{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:center}
.ss-ba{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);user-select:none}
.ss-ba-img{position:absolute;inset:0;background:var(--surface) center/cover}
.ss-ba-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ss-ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ss-ba::after{content:"";position:absolute;top:0;bottom:0;left:var(--pos);width:3px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.4);pointer-events:none}
.ss-ba-tag{position:absolute;top:1rem;background:rgba(0,0,0,.55);color:#fff;font-size:.8rem;padding:.25em .8em;border-radius:99px;pointer-events:none}
.ss-ba-tag-l{left:1rem}.ss-ba-tag-r{right:1rem}

/* FAQ */
details{background:var(--card);border-radius:calc(var(--radius) / 1.5);padding:1rem 1.3rem;margin-bottom:.8rem;box-shadow:var(--shadow)}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::after{content:"+";color:var(--accent);font-size:1.4rem;line-height:1}
details[open] summary::after{content:"–"}
summary::-webkit-details-marker{display:none}
details p{margin:.8rem 0 0;color:var(--muted)}

/* Final call to action */
.ss-final{background:var(--final-bg);color:#fff;text-align:center;padding-block:clamp(3.5rem,8vw,6rem)}
.ss-final h2{font-size:clamp(2rem,5vw,3.6rem);color:#fff}
.ss-final .ss-btn{margin:.3rem}

/* Treatment page */
.ss-treat{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;padding-block:3rem;align-items:start}
.ss-treat-media img{border-radius:var(--radius);width:100%}
.ss-treat .ss-content{padding:0}
.ss-meta{display:flex;gap:.6rem;flex-wrap:wrap}
.ss-meta span{background:var(--surface);padding:.3em .9em;border-radius:99px;font-weight:700;font-size:.9rem}

/* Footer */
.ss-footer{background:var(--footer-bg);color:#e9e9ee;padding-top:3.5rem;font-size:.95rem}
.ss-footer a{color:#fff}
.ss-foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}
.ss-foot-h{display:block;margin-bottom:.6rem;font-family:var(--font-head);font-size:1.1rem;color:#fff}
.ss-footer p{margin:.2rem 0}
.ss-legal{border-top:1px solid rgba(255,255,255,.15);margin-top:2.5rem;padding-block:1.4rem;font-size:.82rem;opacity:.8}

/* Sticky mobile book button */
.ss-sticky-book{display:none}

/* Placeholders shown until real photos are added */
.ss-ph{background:var(--ph) !important}
.ss-ph-0{--ph:linear-gradient(135deg,var(--ph-a),var(--ph-b))}
.ss-ph-1{--ph:linear-gradient(135deg,var(--ph-b),var(--ph-c))}
.ss-ph-2{--ph:linear-gradient(135deg,var(--ph-c),var(--ph-a))}
.ss-ph-3{--ph:linear-gradient(160deg,var(--ph-a),var(--ph-c))}
.ss-ph-4{--ph:linear-gradient(200deg,var(--ph-b),var(--ph-a))}
.ss-ph-5{--ph:linear-gradient(135deg,var(--ph-c),var(--ph-b))}
.ss-ph-6{--ph:linear-gradient(120deg,var(--ph-a),var(--ph-b))}
.ss-ph-7{--ph:linear-gradient(150deg,var(--ph-b),var(--ph-c))}

/* WordPress core block alignment for full width pages */
.alignfull{width:100vw;margin-left:calc(50% - 50vw);max-width:100vw}
.alignwide{width:min(1240px,100% - 2.5rem);margin-inline:auto}

@media (max-width:860px){
	.ss-burger{display:block}
	.ss-nav{position:absolute;left:0;right:0;top:100%;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;padding:1rem 1.25rem 1.4rem;border-bottom:1px solid var(--line);display:none}
	.ss-nav.is-open{display:flex}
	.ss-nav ul{flex-direction:column;gap:0}
	.ss-nav li a{display:block;padding:.8rem 0;border-bottom:1px solid var(--line)}
	.ss-nav .ss-btn{margin-top:1rem;text-align:center}
	.ss-split,.ss-treat{grid-template-columns:1fr;gap:1.6rem}
	.ss-sticky-book{display:block;position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;text-align:center;background:var(--accent);color:var(--on-accent);padding:1em;border-radius:var(--btn-radius);font-weight:700;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.3)}
	body{padding-bottom:5rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}}
