/* SoSculpt theme styles. Layout and type sizes live in Elementor; this file holds the design system,
   patterns Elementor can't express, and tablet/phone layout classes (inside max-width queries only). */
:root{--ss-noir:#121010;--ss-cocoa:#221C1C;--ss-shell:#F3EAE7;--ss-blush:#D9A9A0;--ss-taupe:#948886;--ss-ink:#615A59;--ss-line:rgba(148,136,134,.6);
  --ss-serif:"Silk Serif","Cormorant Garamond",Georgia,"Times New Roman",serif;--ss-sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--ss-script:"Mrs Saint Delafield","Brush Script MT",cursive;
  --ss-header:116px;--ss-offset:116px;--ss-gut:max(40px,calc((100vw - 1440px)/2))}
@media (max-width:1024px){:root{--ss-header:72px;--ss-offset:72px;--ss-gut:24px}}
html{scroll-behavior:auto!important;overflow-x:clip}
body.ss-site{margin:0;background:var(--ss-noir);color:var(--ss-shell);font-family:var(--ss-sans);font-weight:300;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ss-site *,.ss-site *::before,.ss-site *::after{box-sizing:border-box}
.ss-site [id]{scroll-margin-top:calc(var(--ss-offset) + 16px)}
.ss-main{padding-top:var(--ss-header);min-height:50vh}
.admin-bar .ss-main{padding-top:var(--ss-header)}
.ss-skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:var(--ss-shell);color:var(--ss-noir);padding:10px 14px}
.ss-skip:focus{left:8px}
.ss-site a{color:inherit}
.ss-site .elementor-widget-text-editor p{margin:0}
.ss-site .elementor-widget-text-editor p+p{margin-top:.8em}
.ss-site .elementor-widget-text-editor a{color:var(--ss-blush)}
.ss-site .elementor-heading-title em,.ss-site .ss-heading em{font-style:italic;font-family:inherit}
.ss-site .elementor-heading-title .ss-accent{color:var(--ss-blush)}
.ss-site img{max-width:100%;height:auto}
/* Elementor gives containers and widgets a 0.4s transform transition; GSAP drives these, so turn it off. */
.ss-site .ss-scene-pin,.ss-site .ss-scene-copy,.ss-site .ss-stage,.ss-site .ss-stage-wrap,.ss-site [class*="ss-layer"],.ss-site .ss-scene-machine,.ss-site .ss-glow,.ss-site .ss-hero-copy,.ss-site .ss-tag-w,.ss-site .ss-callout-w,.ss-site .ss-machines,.ss-site .pin-spacer>*{--e-con-transform-transition-duration:0s;--e-transform-transition-duration:0s;transition:none}
.ss-sec{position:relative}
.ss-hero,.ss-product-hero,.ss-scene,.ss-glow-host{overflow:clip}
.ss-on-light{color:var(--ss-noir)}

/* ---------- Header ---------- */
.ss-header{position:fixed;z-index:100;top:0;left:0;right:0;height:var(--ss-header);background:rgba(18,16,16,.94);transition:background-color .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease}
.admin-bar .ss-header{top:32px}
.ss-header.is-scrolled{background:rgba(18,16,16,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.ss-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 var(--ss-gut)}
.ss-logo{display:inline-flex;color:var(--ss-shell);line-height:0}
.ss-logo svg{height:55px;width:auto;display:block;fill:currentColor}
.ss-logo img{max-height:55px;width:auto}
.ss-header__nav{display:flex;align-items:center;gap:44px}
.ss-header__link{font:300 14px/1.4 var(--ss-sans);letter-spacing:.02em;color:var(--ss-shell);text-decoration:none}
.ss-header__link:hover,.ss-header__link:focus-visible{color:var(--ss-blush)}
.ss-header__actions{display:flex;gap:12px}
.ss-header__mobile{display:none;gap:10px}
.ss-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--ss-shell);background:transparent;color:var(--ss-shell);padding:0;cursor:pointer;border-radius:0}
.ss-iconbtn svg{width:18px;height:18px;fill:currentColor}
.ss-iconbtn svg path[stroke]{fill:none}
#ss-menu-open svg{width:20px;height:12px}
@media (max-width:1024px){.ss-header__nav{display:none}.ss-header__mobile{display:flex}.ss-logo svg{height:30px}.ss-header__inner{padding:0 24px}}
@media (max-width:600px){.admin-bar .ss-header{top:0}.admin-bar .ss-header:not(.is-scrolled){top:46px}}
@media screen and (max-width:782px) and (min-width:601px){.admin-bar .ss-header{top:46px}}

/* ---------- Mobile menu ---------- */
.ss-menu{position:fixed;inset:0;z-index:200;background:var(--ss-noir);display:flex;flex-direction:column;overflow:auto;clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.65,0,.35,1)}
.ss-menu[hidden]{display:none}
.ss-menu.is-open{clip-path:inset(0 0 0 0)}
.ss-menu__top{height:72px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.ss-menu__top .ss-logo svg{height:30px}
#ss-menu-close svg{width:16px;height:16px}
.ss-menu__links{display:flex;flex-direction:column;padding:32px 24px 0}
.ss-menu__link{display:flex;flex-direction:column;gap:4px;padding:20px 0;border-bottom:1px solid var(--ss-line);text-decoration:none;color:var(--ss-shell)}
.ss-menu__title{font:400 30px/1.1 var(--ss-serif)}
.ss-menu__desc{font:300 12px/1.5 var(--ss-sans);color:var(--ss-taupe)}
.ss-menu__link--small{font:300 16px/1.7 var(--ss-sans);padding:18px 0}
.ss-menu__actions{display:flex;flex-direction:column;gap:12px;padding:32px 24px}
.ss-menu .ss-menu__link,.ss-menu .ss-menu__actions>*{transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.ss-menu:not(.is-open) .ss-menu__link,.ss-menu:not(.is-open) .ss-menu__actions>*{opacity:0;transform:translateY(24px)}
.ss-menu.is-open .ss-menu__link:nth-child(2),.ss-menu.is-open .ss-menu__actions>*:nth-child(1){transition-delay:.07s}
.ss-menu.is-open .ss-menu__link:nth-child(3),.ss-menu.is-open .ss-menu__actions>*:nth-child(2){transition-delay:.14s}
.ss-menu.is-open .ss-menu__actions>*:nth-child(3){transition-delay:.21s}
html.ss-menu-open{overflow:hidden}

/* ---------- Buttons (theme markup and Elementor buttons with ss-btn-* classes; immune to kit button styles) ---------- */
body.ss-site .ss-btn,body.ss-site .elementor-widget-button[class*="ss-btn-"] .elementor-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:60px;padding:19px 40px;border:1px solid transparent;border-radius:0;
  font:400 14px/1.4 var(--ss-sans)!important;letter-spacing:.02em!important;text-transform:none!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease;white-space:nowrap}
body.ss-site .elementor-widget-button[class*="ss-btn-"] .elementor-button .elementor-button-content-wrapper{gap:10px}
body.ss-site .ss-btn--primary,body.ss-site .elementor-widget-button.ss-btn-primary .elementor-button{background:var(--ss-blush)!important;color:var(--ss-noir)!important;border-color:var(--ss-blush)!important}
body.ss-site .ss-btn--primary:hover,body.ss-site .ss-btn--primary:focus-visible,body.ss-site .elementor-widget-button.ss-btn-primary .elementor-button:hover,body.ss-site .elementor-widget-button.ss-btn-primary .elementor-button:focus-visible{background:var(--ss-shell)!important;border-color:var(--ss-shell)!important;color:var(--ss-noir)!important}
body.ss-site .ss-btn--outline-light,body.ss-site .elementor-widget-button.ss-btn-secondary .elementor-button{background:transparent!important;color:var(--ss-shell)!important;border-color:var(--ss-shell)!important}
body.ss-site .ss-btn--outline-light:hover,body.ss-site .ss-btn--outline-light:focus-visible,body.ss-site .elementor-widget-button.ss-btn-secondary .elementor-button:hover,body.ss-site .elementor-widget-button.ss-btn-secondary .elementor-button:focus-visible{background:var(--ss-shell)!important;color:var(--ss-noir)!important}
body.ss-site .ss-btn--outline-dark,body.ss-site .elementor-widget-button.ss-btn-dark .elementor-button{background:transparent!important;color:var(--ss-noir)!important;border-color:var(--ss-noir)!important}
body.ss-site .ss-btn--outline-dark:hover,body.ss-site .ss-btn--outline-dark:focus-visible,body.ss-site .elementor-widget-button.ss-btn-dark .elementor-button:hover,body.ss-site .elementor-widget-button.ss-btn-dark .elementor-button:focus-visible{background:var(--ss-noir)!important;color:var(--ss-shell)!important}
body.ss-site .elementor-widget-button.ss-btn-link .elementor-button{min-height:0;padding:0!important;background:transparent!important;border:0!important;color:var(--ss-blush)!important}
body.ss-site .elementor-widget-button.ss-btn-link .elementor-button:hover{color:var(--ss-shell)!important}
body.ss-site .ss-btn--wa{padding:19px 24px}
.ss-btn__icon{display:inline-flex;width:18px;height:18px}
.ss-btn__icon svg{width:18px;height:18px;fill:currentColor}
.ss-btn--block{width:100%}
body.ss-site .ss-btn:focus-visible,body.ss-site .elementor-button:focus-visible{outline:2px solid var(--ss-blush);outline-offset:3px}
/* Shine: primary buttons catch the light once as they arrive */
body.ss-site .elementor-widget-button.ss-btn-primary .elementor-button::after,body.ss-site .ss-btn--primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);pointer-events:none}
body.ss-site .ss-shine-on::after,body.ss-site .ss-shine-on .elementor-button::after{animation:ss-shine 1.2s ease}
@keyframes ss-shine{to{transform:translateX(120%)}}
@media (max-width:1024px){body.ss-site .elementor-widget-button[class*="ss-btn-"]:not(.ss-btn-link) .elementor-button{width:100%}body.ss-site .ss-actions .ss-btn,body.ss-site .ss-wa-w .ss-btn{width:100%}}

/* ---------- Small patterns ---------- */
.ss-rule{display:block;width:48px;height:2px;background:var(--ss-rule,var(--ss-blush));transform-origin:0 50%}
.ss-sec--cta .ss-rule,.ss-sec--thanks .ss-rule{margin:0 auto}
.ss-hr{display:block;width:100%;height:1px;background:var(--ss-taupe)}
.ss-hr--noir{background:var(--ss-noir)}
.ss-vrule{display:block;width:1px;height:18px;background:var(--ss-taupe)}
.ss-quote svg{width:28px;height:22px;color:var(--ss-blush);fill:currentColor;display:block}
.ss-quote--sm svg{width:24px;height:19px}
.ss-google svg{width:128px;height:19px;display:block}
.ss-finance{display:flex;align-items:center;gap:10px;margin:0;font:300 13px/1.55 var(--ss-sans);color:var(--ss-shell)}
.ss-finance__tick svg{width:16px;height:16px;display:block}
.ss-finance strong{font-weight:400;color:var(--ss-blush);letter-spacing:.01em;margin-right:6px}
@media (max-width:1024px){.ss-finance{align-items:flex-start;font-size:12px;line-height:1.5}.ss-finance__text{display:flex;flex-direction:column;gap:2px}.ss-finance strong{margin:0}}
.ss-reviewer{display:flex;align-items:center;gap:14px}
.ss-reviewer img{width:48px;height:48px;object-fit:cover;border:1px solid var(--ss-blush);flex:none}
.ss-reviewer strong{display:block;font:400 13px/1.5 var(--ss-sans);letter-spacing:.01em;color:var(--ss-shell)}
.ss-reviewer span span{display:block;font:300 13px/1.55 var(--ss-sans);color:var(--ss-taupe)}
.ss-label .elementor-widget-container,.ss-label p{letter-spacing:.01em}
.ss-instagram,.ss-contact-line a,.ss-legal a{text-decoration:none}
.ss-instagram{font:300 16px/1.75 var(--ss-sans);color:var(--ss-taupe)}
.ss-footer-links,.ss-contact-lines{display:flex;flex-direction:column;gap:14px;font:300 16px/1.75 var(--ss-sans);color:var(--ss-shell)}
.ss-footer-links a,.ss-contact-line a{color:var(--ss-shell);text-decoration:none}
.ss-footer-links a:hover,.ss-contact-line a:hover,.ss-legal a:hover{color:var(--ss-blush)}
.ss-footer-logo svg{height:48px;width:auto;fill:var(--ss-shell);display:block}
.ss-legal{display:flex;gap:32px;font:300 13px/1.55 var(--ss-sans);color:var(--ss-taupe)}
@media (max-width:1024px){.ss-footer-links,.ss-contact-lines{font-size:15px;gap:12px}.ss-footer-logo svg{height:34px}.ss-legal{gap:24px;font-size:12px}}

/* ---------- Glow ---------- */
.ss-glow{pointer-events:none;z-index:0}
.ss-anim-live .ss-hero .ss-glow__shape,.ss-anim-live .ss-scene .ss-glow__shape,.ss-anim-live .ss-hero .ss-machine img,.ss-anim-live .ss-scene-machine img{will-change:transform,opacity;backface-visibility:hidden}
.ss-glow__shape{display:block;width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(217,169,160,.5),rgba(217,169,160,.13) 55%,rgba(217,169,160,0))}
.ss-glow--scene .ss-glow__shape{background:radial-gradient(closest-side,rgba(217,169,160,.42),rgba(217,169,160,.10) 55%,rgba(217,169,160,0))}
.ss-glow--product .ss-glow__shape{background:radial-gradient(closest-side,rgba(217,169,160,.45),rgba(217,169,160,.11) 55%,rgba(217,169,160,0))}
.ss-glow--soft .ss-glow__shape{background:radial-gradient(closest-side,rgba(217,169,160,.32),rgba(217,169,160,.06) 60%,rgba(217,169,160,0))}
.ss-sec--cta .ss-glow__shape{aspect-ratio:1.6}
.ss-glow-host>.e-con-inner>*:not(.ss-glow),.ss-glow-host>*:not(.ss-glow){position:relative;z-index:1}

/* ---------- Machine stages, name tags, callouts, size lines ---------- */
.ss-stage{position:relative}
.ss-stage>.elementor-element{z-index:2}
.ss-stage>.ss-glow{z-index:0}
.ss-stage>.ss-layer-back{z-index:1}
.ss-stage>.ss-layer-front{z-index:3}
.ss-stage>.ss-callout-w,.ss-stage>.ss-tag-w,.ss-stage>.ss-sizeline-w{z-index:5!important}
.ss-stage .ss-machine img,.ss-machine img{width:100%;height:auto;display:block}
.ss-tag{display:flex;flex-direction:column;align-items:center;gap:8px;font:300 13px/1.55 var(--ss-sans);color:var(--ss-shell);white-space:nowrap}
.ss-tag__line{display:block;width:1px;height:var(--ss-tag-line,56px);background:var(--ss-blush);transform-origin:50% 0}
.ss-tag__point{display:block;width:6px;height:6px;background:var(--ss-blush)}
.ss-tag--sm .ss-tag,.ss-tag--sm{--ss-tag-line:18px}
.ss-tag--sm .ss-tag{font-size:12px;gap:5px}
.ss-tag--sm .ss-tag__point{width:4px;height:4px}
.ss-callout{display:flex;align-items:center;gap:12px;width:100%}
.ss-callout__point{flex:none;width:6px;height:6px;background:var(--ss-blush)}
.ss-callout__line{flex:1 1 auto;height:1px;min-width:16px;background:var(--ss-blush)}
.ss-callout__text{flex:none;max-width:170px;font:300 13px/1.55 var(--ss-sans);color:var(--ss-shell)}
.ss-callout--left .ss-callout__text{text-align:right}
.ss-callout__tag{flex:none;background:var(--ss-blush);color:var(--ss-noir);font:400 13px/1.5 var(--ss-sans);letter-spacing:.01em;padding:7px 12px;white-space:nowrap}
.ss-sizeline{display:flex;flex-direction:column;align-items:center;gap:10px}
.ss-sizeline__rule{position:relative;display:block;width:100%;height:11px}
.ss-sizeline__rule::before{content:"";position:absolute;left:0;right:0;top:5px;height:1px;background:var(--ss-taupe)}
.ss-sizeline__rule::after{content:"";position:absolute;inset:0;border-left:1px solid var(--ss-taupe);border-right:1px solid var(--ss-taupe)}
.ss-sizeline__text{font:300 13px/1.55 var(--ss-sans);color:var(--ss-taupe);white-space:nowrap}
@media (min-width:1025px) and (max-width:1365px){.ss-callout__text{max-width:130px;font-size:12px}.ss-callout__tag,.ss-tag{font-size:12px}}

/* ---------- Heroes ---------- */
.ss-hero-inner{position:relative}
.ss-hero-stage .ss-layer-front img{object-fit:cover}
@media (min-width:1025px){.ss-sec--hero .ss-stage-wrap{pointer-events:none}.ss-sec--hero .ss-stage-wrap .ss-callout-w,.ss-sec--hero .ss-stage-wrap .ss-tag-w{pointer-events:auto}}

/* ---------- Mobile feature ticks (2 x 3) ---------- */
.ss-ticks-grid .elementor-icon-list-items{display:grid!important;grid-template-columns:1fr 1fr;gap:16px}
.ss-ticks-grid .elementor-icon-list-item{margin:0!important;padding:0!important}

/* ---------- Machine scenes ---------- */
.ss-scene-pin{z-index:0}
.ss-scene-copy{position:relative;z-index:1}
@media (max-width:1024px){
  .ss-scene .ss-scene-pin{position:sticky!important;top:var(--ss-offset);z-index:0}
  .admin-bar .ss-scene .ss-scene-pin{top:calc(var(--ss-offset) + 46px)}
  .ss-scene .ss-ticks-grid,.ss-scene .ss-scene-copy{position:relative;z-index:1}
  .ss-scene .ss-scene-copy::before{content:"";position:absolute;left:-24px;right:-24px;top:-32px;bottom:-56px;width:auto!important;height:auto!important;background:linear-gradient(to bottom,transparent,var(--ss-sec-bg,var(--ss-noir)) 48px);z-index:-1;pointer-events:none;opacity:1;mix-blend-mode:normal;border:0}
  .ss-scene .ss-ticks-grid::before{content:"";position:absolute;inset:-12px -24px;background:var(--ss-sec-bg,var(--ss-noir));opacity:.0;z-index:-1}
  .ss-bg-cocoa-t{--ss-sec-bg:var(--ss-cocoa)}
  body .elementor .e-con.ss-bg-cocoa-t,body .elementor .e-con.ss-bg-cocoa-t:not(.elementor-motion-effects-element-type-background){background-color:var(--ss-cocoa)!important}
  body .elementor .e-con.ss-bg-noir-t,body .elementor .e-con.ss-bg-noir-t:not(.elementor-motion-effects-element-type-background){background-color:var(--ss-noir)!important}
  .ss-scene--bf .ss-earn-card{background-color:var(--ss-noir)!important}
}

/* ---------- Proof bar / fade ticker ---------- */
@media (max-width:1024px){
  .ss-fade-ticker.is-ticking{display:grid!important}
  .ss-fade-ticker.is-ticking>.ss-tick-item{grid-area:1/1;opacity:0;transition:opacity .4s ease}
  .ss-fade-ticker.is-ticking>.ss-tick-item.is-on{opacity:1}
  .ss-fade-ticker .ss-marks{grid-area:2/1;gap:6px;margin-top:20px}
  .ss-fade-ticker:not(.is-ticking){gap:24px!important}
}
.ss-marks{display:none}
.ss-marks i{display:block;height:2px;width:6px;background:rgba(18,16,16,.35);transition:width .4s ease,background-color .4s ease}
.ss-marks i.is-on{width:20px;background:var(--ss-noir)}
@media (max-width:1024px){.ss-fade-ticker.is-ticking .ss-marks{display:flex}}

/* ---------- Carousels ---------- */
.ss-dots{display:none;gap:8px;margin-top:24px}
.ss-dots i{display:block;height:2px;width:6px;background:var(--ss-taupe);transition:width .3s ease,background-color .3s ease}
.ss-dots i.is-on{width:20px;background:var(--ss-blush)}
.ss-carousel,.ss-swipe{scrollbar-width:none}
.ss-carousel::-webkit-scrollbar,.ss-swipe::-webkit-scrollbar{display:none}
@media (min-width:1025px){
  .ss-carousel{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;cursor:grab}
  .ss-carousel>.e-con{flex:0 0 calc((100% - 80px) / 3)!important;scroll-snap-align:start;max-width:none!important}
  .ss-carousel.is-dragging{cursor:grabbing;scroll-snap-type:none}
  .ss-arrows{display:flex;gap:12px}
  .ss-arrow{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(243,234,231,.4);color:var(--ss-shell);cursor:pointer;padding:0;border-radius:0;transition:border-color .2s ease,opacity .2s ease}
  .ss-arrow:hover:not(:disabled){border-color:var(--ss-shell)}
  .ss-arrow:disabled{opacity:.35;cursor:default}
  .ss-arrow svg{width:7px;height:14px}
  .ss-ba-grid>.e-con{flex:1 1 0!important}
  .ss-ba-2x2>.e-con{flex:0 0 calc(50% - 6px)!important}
}
@media (max-width:1024px){
  .ss-arrows{display:none}
  .ss-swipe{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-left:-24px!important;margin-right:-24px!important;padding-left:24px!important;padding-right:24px!important;scroll-padding:0 24px;width:calc(100% + 48px)!important;max-width:none!important;align-self:stretch}
  .ss-swipe>.e-con{scroll-snap-align:start;flex:0 0 300px!important;width:300px!important;max-width:78vw!important}
  .ss-swipe.ss-ba-grid>.e-con,.ss-swipe.ss-ba-2x2>.e-con{flex-basis:280px!important;width:280px!important}
  .ss-swipe+.ss-dots,.ss-carousel+.ss-dots{display:flex}
  .ss-clinic{background:var(--ss-noir)!important}
}
.ss-clinic{background:var(--ss-cocoa);border:1px solid var(--ss-blush)}
.ss-clinic__person{display:flex;align-items:flex-end;gap:20px}
.ss-clinic__person img{width:216px;height:270px;object-fit:cover;flex:none}
.ss-clinic__name strong{display:block;font:400 13px/1.5 var(--ss-sans);letter-spacing:.01em;color:var(--ss-shell)}
.ss-clinic__name span{display:block;font:300 13px/1.55 var(--ss-sans);color:var(--ss-blush)}
@media (max-width:1024px){.ss-clinic__person{gap:16px}.ss-clinic__person img{width:120px;height:150px}}
.ss-ba-img img{width:100%;aspect-ratio:1;object-fit:cover;display:block}

/* ---------- Video players ---------- */
.ss-video-frame .elementor-wrapper{border:1px solid var(--ss-blush);background:var(--ss-cocoa)}
.ss-video-frame--training .elementor-wrapper{--video-aspect-ratio:1.1759;aspect-ratio:635/540}
.ss-video-frame--included .elementor-wrapper{--video-aspect-ratio:1.14;aspect-ratio:570/500}
.ss-player .elementor-wrapper{position:relative;overflow:hidden}
.ss-player video{width:100%;height:100%;object-fit:cover;display:block}
.ss-player__play,.ss-player__corner{position:absolute;display:flex;align-items:center;justify-content:center;background:rgba(18,16,16,.6);border:1px solid rgba(243,234,231,.6);cursor:pointer;padding:0;border-radius:0;transition:opacity .3s ease,transform .3s ease;color:var(--ss-blush)}
.ss-player__play{width:96px;height:96px;left:50%;top:50%;transform:translate(-50%,-50%)}
.ss-player__play svg{width:28px;height:32px;margin-left:5px}
.ss-player__corner{width:48px;height:48px;left:20px;bottom:20px;opacity:0;pointer-events:none;border-color:rgba(243,234,231,.45);color:var(--ss-shell)}
.ss-player__corner svg{width:14px;height:14px}
.ss-player__corner--pause svg{width:12px;height:16px}
.ss-player.is-playing .ss-player__play{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.85)}
.ss-player.is-playing .ss-player__corner{opacity:1;pointer-events:auto}
.ss-player__play:focus-visible,.ss-player__corner:focus-visible{outline:2px solid var(--ss-blush);outline-offset:3px}
@media (max-width:1024px){.ss-player__play{width:72px;height:72px}.ss-player__play svg{width:22px;height:26px}.ss-player__corner{width:44px;height:44px;left:14px;bottom:14px}}

/* ---------- FAQs (Elementor accordion) ---------- */
body.ss-site .ss-faq-acc .elementor-accordion-item{border:0!important;border-top:1px solid var(--ss-line)!important}
body.ss-site .ss-faq-acc .elementor-accordion-item:last-child{border-bottom:1px solid var(--ss-line)!important}
body.ss-site .ss-faq-acc .elementor-tab-title{padding:22px 0!important;border:0!important;display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:24px;background:none!important;cursor:pointer}
body.ss-site .ss-faq-acc .elementor-tab-title a{color:inherit;text-decoration:none}
body.ss-site .ss-faq-acc .elementor-accordion-icon{flex:none;width:20px;font-size:16px;text-align:right}
body.ss-site .ss-faq-acc .elementor-accordion-icon svg{width:16px;height:16px}
body.ss-site .ss-faq-acc .elementor-tab-content{padding:0 0 22px!important;border:0!important;background:none!important}
body.ss-site .ss-faq-acc .elementor-tab-content p{margin:0}

/* ---------- Treatment, spec, compare ---------- */
.ss-menu-list .ss-treatment:last-child{border-bottom:1px solid var(--ss-line)}
.ss-spec .ss-spec-row:last-of-type{border-bottom:1px solid var(--ss-line)}
.ss-compare-card .ss-hr{background:var(--ss-taupe)}
@media (min-width:1025px){.ss-compare-track>.e-con{flex:1 1 0!important}}

/* ---------- Calculator ---------- */
.ss-calc{display:grid;grid-template-columns:minmax(0,560fr) minmax(0,760fr);gap:clamp(48px,6.25vw,120px);align-items:start;color:var(--ss-shell)}
.ss-calc__controls{display:flex;flex-direction:column;gap:28px;position:relative}
.ss-calc .ss-heading{margin:0;font:400 clamp(42px,2.917vw,56px)/1.1 var(--ss-serif);letter-spacing:-.005em;color:var(--ss-shell)}
.ss-calc__intro{margin:0;font:300 18px/1.7 var(--ss-sans);color:var(--ss-shell)}
body.ss-site .ss-calc button{font-family:var(--ss-sans);text-transform:none;letter-spacing:.02em;box-shadow:none;border-radius:0;cursor:pointer;min-height:0;line-height:1.4}
.ss-calc__toggle{display:flex}
body.ss-site .ss-calc__toggle button{padding:14px 28px;font-size:14px;font-weight:400;background:transparent;color:var(--ss-taupe);border:1px solid var(--ss-taupe)}
body.ss-site .ss-calc__toggle button:hover{color:var(--ss-shell);border-color:var(--ss-shell);background:transparent}
body.ss-site .ss-calc__toggle button[aria-pressed="true"]{background:var(--ss-blush);border-color:var(--ss-blush);color:var(--ss-noir)}
.ss-calc__presets{display:flex;flex-wrap:wrap;align-items:center;gap:20px;font:300 13px/1.55 var(--ss-sans);color:var(--ss-taupe)}
body.ss-site .ss-calc__presets button{padding:0;background:none;border:0;color:var(--ss-blush);font-size:14px;font-weight:400}
body.ss-site .ss-calc__presets button:hover,body.ss-site .ss-calc__presets button:focus-visible{color:var(--ss-shell);background:none}
.ss-calc__sliders{display:flex;flex-direction:column;gap:16px}
.ss-slider{display:flex;flex-direction:column;gap:12px}
.ss-slider.is-hidden{display:none}
.ss-slider__row{display:flex;justify-content:space-between;align-items:baseline}
.ss-slider__row label{font:300 16px/1.75 var(--ss-sans);color:var(--ss-shell)}
.ss-slider__val{font:400 24px/1.25 var(--ss-serif);color:var(--ss-shell)}
.ss-slider__range{position:relative;height:14px;touch-action:pan-y;cursor:pointer}
.ss-slider__range input{position:absolute;inset:-8px 0;width:100%;height:30px;margin:0;opacity:0;cursor:pointer;z-index:2;-webkit-appearance:none;appearance:none}
.ss-slider__rail{position:absolute;left:0;right:0;top:7px;height:1px;background:var(--ss-taupe)}
.ss-slider__fill{position:absolute;left:0;top:6px;height:2px;background:var(--ss-blush)}
.ss-slider__knob{position:absolute;top:0;width:14px;height:14px;margin-left:-7px;background:var(--ss-shell);transition:transform .15s ease}
.ss-slider__range.is-drag .ss-slider__knob,.ss-slider__range:hover .ss-slider__knob{transform:scale(1.15)}
.ss-slider__range input:focus-visible~.ss-slider__knob{outline:2px solid var(--ss-blush);outline-offset:3px}
.ss-calc__results{background:var(--ss-cocoa);padding:44px;display:flex;flex-direction:column;gap:22px}
.ss-calc__label{margin:0;font:400 13px/1.5 var(--ss-sans);letter-spacing:.01em;color:var(--ss-taupe)}
.ss-calc__month{display:flex;flex-direction:column;gap:4px}
.ss-calc__month-fig{font:400 clamp(72px,5.208vw,100px)/1 var(--ss-serif);letter-spacing:-.015em;color:var(--ss-shell)}
.ss-calc__month-l{font:400 24px/1.25 var(--ss-serif);color:var(--ss-blush)}
.ss-calc__divider{display:block;height:1px;background:var(--ss-taupe)}
.ss-calc__pair{display:flex;gap:64px}
.ss-calc__pair>div{display:flex;flex-direction:column;gap:4px}
.ss-calc__fig{font:400 clamp(40px,2.708vw,52px)/1 var(--ss-serif);letter-spacing:-.005em;color:var(--ss-shell)}
.ss-calc__cap{font:300 16px/1.75 var(--ss-sans);color:var(--ss-taupe)}
.ss-calc__note{margin:0;font:300 13px/1.55 var(--ss-sans);color:var(--ss-taupe)}
.ss-calc__cta{align-self:flex-start}
.ss-calc__bar{display:none}
@media (max-width:1024px){
  .ss-calc{grid-template-columns:1fr;gap:32px}
  .ss-calc__controls{gap:22px}
  .ss-calc .ss-heading{font-size:32px}
  .ss-calc__intro{font-size:16px;line-height:1.65}
  .ss-slider__row label{font-size:15px;line-height:1.7}.ss-slider__val{font-size:21px}
  .ss-calc__results{padding:24px;gap:18px}
  .ss-calc__month-fig{font-size:60px}.ss-calc__month-l{font-size:21px}
  .ss-calc__fig{font-size:36px}.ss-calc__cap{font-size:15px}.ss-calc__pair{gap:32px}
  body.ss-site .ss-calc__cta{align-self:stretch;width:100%}
  .ss-calc.is-bar-on .ss-calc__bar{display:flex;animation:ss-bar-in .35s cubic-bezier(.2,.8,.2,1)}
  .ss-calc__bar{position:fixed;left:0;right:0;bottom:0;z-index:90;justify-content:space-between;align-items:center;padding:14px 24px calc(14px + env(safe-area-inset-bottom,0px));background:rgba(18,16,16,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--ss-line);font:300 13px/1.5 var(--ss-sans);color:var(--ss-taupe)}
  @keyframes ss-bar-in{from{transform:translateY(100%)}}
  .ss-calc__bar strong{font:400 24px/1 var(--ss-serif);color:var(--ss-shell)}
}

/* ---------- Enquiry form (immune to kit input/button styles) ---------- */
.ss-form{display:flex;flex-direction:column;gap:32px;color:var(--ss-shell)}
.ss-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ss-form__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ss-form__error{padding:12px 16px;border:1px solid var(--ss-blush);font:300 14px/1.5 var(--ss-sans)}
.ss-field{display:flex;flex-direction:column;gap:12px;margin:0}
body.ss-site .ss-form label,body.ss-site .ss-form legend{font:400 13px/1.5 var(--ss-sans);letter-spacing:.01em;color:var(--ss-shell);padding:0;margin:0}
body.ss-site .ss-form input[type=text],body.ss-site .ss-form input[type=email],body.ss-site .ss-form input[type=tel],body.ss-site .ss-form textarea{width:100%;background:transparent!important;border:0!important;border-bottom:1px solid var(--ss-shell)!important;border-radius:0!important;box-shadow:none!important;outline:0;padding:0 0 14px!important;margin:0;color:var(--ss-shell)!important;font:300 16px/1.75 var(--ss-sans)!important;min-height:0;height:auto}
body.ss-site .ss-form textarea{min-height:101px;resize:vertical;padding-bottom:72px!important}
body.ss-site .ss-form ::placeholder{color:var(--ss-taupe);opacity:1}
body.ss-site .ss-form input:focus,body.ss-site .ss-form textarea:focus{border-bottom-color:var(--ss-blush)!important}
body.ss-site .ss-form [aria-invalid=true]{border-bottom-color:#E59A8C!important}
.ss-field__err{font:300 13px/1.4 var(--ss-sans);color:#E9B3A8}
.ss-field__err:empty{display:none}
.ss-choice{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.ss-choice__options{display:flex;flex-wrap:wrap;gap:16px}
.ss-choice__options--chips{gap:12px}
.ss-option,.ss-chip{position:relative;cursor:pointer}
.ss-option input,.ss-chip input,.ss-check input{position:absolute;opacity:0;width:1px;height:1px}
.ss-option span{display:flex;align-items:center;justify-content:center;min-width:234px;height:60px;padding:0 16px;border:1px solid var(--ss-taupe);font:400 14px/1.4 var(--ss-sans);letter-spacing:.02em;color:var(--ss-shell);transition:background-color .2s,border-color .2s,color .2s}
.ss-option input:checked+span{background:rgba(217,169,160,.12);border-color:var(--ss-blush);color:var(--ss-blush)}
.ss-chip span{display:inline-flex;align-items:center;padding:12px 20px;border:1px solid var(--ss-taupe);font:400 14px/1.4 var(--ss-sans);letter-spacing:.02em;color:var(--ss-shell);transition:background-color .2s,border-color .2s,color .2s}
.ss-chip input:checked+span{background:var(--ss-blush);border-color:var(--ss-blush);color:var(--ss-noir)}
.ss-option input:focus-visible+span,.ss-chip input:focus-visible+span,.ss-check input:focus-visible~.ss-check__box{outline:2px solid var(--ss-blush);outline-offset:3px}
.ss-option:hover span,.ss-chip:hover span{border-color:var(--ss-shell)}
.ss-check{margin:0}
body.ss-site .ss-check label{display:flex;gap:14px;align-items:flex-start;font:300 16px/1.75 var(--ss-sans);letter-spacing:0;cursor:pointer}
.ss-check__box{flex:none;width:20px;height:20px;margin-top:4px;border:1px solid var(--ss-shell);display:inline-flex;align-items:center;justify-content:center}
.ss-check input:checked~.ss-check__box{background:var(--ss-blush);border-color:var(--ss-blush)}
.ss-check input:checked~.ss-check__box::after{content:"";width:10px;height:6px;border-left:1.6px solid var(--ss-noir);border-bottom:1.6px solid var(--ss-noir);transform:rotate(-45deg) translate(1px,-1px)}
.ss-check a{color:var(--ss-blush)}
.ss-form__submit{display:flex;align-items:center;gap:24px}
.ss-form__promise{margin:0;max-width:300px;font:300 13px/1.55 var(--ss-sans);color:var(--ss-taupe)}
body.ss-site .ss-form button[type=submit].is-busy{opacity:.7;cursor:progress}
@media (max-width:1024px){
  .ss-form{gap:28px}.ss-form__row{grid-template-columns:1fr;gap:24px}
  .ss-choice__options--machines{flex-direction:column;gap:10px}.ss-option span{min-width:0;width:100%;height:56px}
  .ss-form__submit{flex-direction:column;align-items:stretch;gap:12px}.ss-form__submit .ss-btn{width:100%}.ss-form__promise{max-width:none}
}

/* ---------- Shared block placeholder in the editor ---------- */
.ss-block-placeholder{display:flex;flex-direction:column;gap:6px;padding:28px 24px;background:repeating-linear-gradient(45deg,#f3eae7,#f3eae7 10px,#ebe0dc 10px,#ebe0dc 20px);border:1px dashed #948886;color:#121010;font:400 14px/1.5 var(--ss-sans)}
.ss-block-placeholder strong{font-size:15px}
.ss-block-placeholder a{color:#121010;font-weight:400;text-decoration:underline}
.ss-block-missing{padding:16px;border:1px dashed var(--ss-blush);color:var(--ss-blush)}

/* ---------- Toast, curtain, intro ---------- */
.ss-toast{visibility:hidden;position:fixed;z-index:300;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));width:min(560px,calc(100vw - 48px));transform:translate(-50%,160%);background:var(--ss-shell);color:var(--ss-noir);padding:16px 18px;font:400 14px/1.5 var(--ss-sans);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.ss-toast.is-on{visibility:visible;transform:translate(-50%,0)}
.ss-curtain{position:fixed;inset:0;z-index:400;background:var(--ss-noir);display:flex;align-items:center;justify-content:center;pointer-events:none;transform:translateY(100%);transition:transform .5s cubic-bezier(.65,0,.35,1)}
.ss-curtain__logo{width:150px;height:auto;fill:var(--ss-shell);opacity:0;transition:opacity .25s ease .3s}
.ss-curtain.is-covering{transform:translateY(0)}
.ss-curtain.is-covering .ss-curtain__logo{opacity:1}
.ss-curtain-in .ss-curtain{transform:translateY(0);transition:none}
.ss-curtain-in .ss-curtain .ss-curtain__logo{opacity:1}
.ss-curtain.is-leaving{transform:translateY(-100%);transition:transform .55s cubic-bezier(.65,0,.35,1)}
.ss-curtain.is-leaving .ss-curtain__logo{opacity:0;transition-delay:0s}
.ss-intro{display:none;position:fixed;inset:0;z-index:450;background:var(--ss-noir);align-items:center;justify-content:center;transition:clip-path .8s cubic-bezier(.65,0,.35,1);clip-path:inset(0 0 0 0)}
.ss-intro-on .ss-intro{display:flex}
.ss-intro__glow{position:absolute;width:520px;height:520px;left:50%;top:50%;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(closest-side,rgba(217,169,160,.5),rgba(217,169,160,.13) 55%,rgba(217,169,160,0));opacity:0;transform:scale(.9);transition:opacity 1.2s ease,transform 1.2s ease}
.ss-intro__logo{position:relative;width:180px;height:auto;fill:var(--ss-shell);opacity:0;filter:blur(6px);transform:scale(.94);transition:opacity 1s ease .15s,filter 1s ease .15s,transform 1s cubic-bezier(.2,.8,.2,1) .15s}
.ss-intro.is-playing .ss-intro__glow{opacity:1;transform:scale(1.1)}
.ss-intro.is-playing .ss-intro__logo{opacity:1;filter:none;transform:none}
.ss-intro.is-leaving{clip-path:inset(0 0 100% 0)}
.ss-intro.is-leaving .ss-intro__logo{opacity:0;transform:translateY(-10px);transition:opacity .4s ease,transform .4s ease}

/* ---------- Motion pre-hide (hero only, removed by motion.js or after the 2s failsafe) ---------- */
.ss-anim .ss-hero .ss-hero-fade,.ss-anim .ss-hero .ss-tag-w,.ss-anim .ss-hero .ss-callout-w,.ss-anim .ss-hero .ss-glow,
.ss-anim .ss-product-hero .ss-hero-fade,.ss-anim .ss-product-hero .ss-callout-w,.ss-anim .ss-product-hero .ss-glow,.ss-anim .ss-product-hero .ss-sizeline-w,.ss-anim .ss-product-hero .ss-ticks{opacity:0}
.ss-anim .ss-hero .ss-layer-headline .elementor-heading-title,.ss-anim .ss-product-hero .ss-hero-title .elementor-heading-title{opacity:0}
/* Machines start lowered and dimmed (not invisible), so the browser paints the largest image straight away. */
.ss-anim .ss-layer-front img{transform:translateY(140px);opacity:.6}
.ss-anim .ss-layer-back img{transform:translateY(90px);opacity:.6}
.ss-mask{display:inline-block;vertical-align:baseline;clip-path:inset(-.4em -.25em 0 -.25em)}
.ss-w{display:inline-block;will-change:transform}
@media (prefers-reduced-motion:reduce){.ss-anim *{opacity:1!important}.ss-menu,.ss-toast,.ss-curtain{transition:none}.ss-intro,.ss-curtain{display:none!important}}

/* ---------- Plain pages ---------- */
.ss-prose{max-width:760px;margin:0 auto;padding:96px 24px;font:300 17px/1.75 var(--ss-sans)}
.ss-prose h1{font:400 56px/1.1 var(--ss-serif);margin:0 0 24px}
.ss-footer-fallback{background:var(--ss-cocoa);padding:72px var(--ss-gut) 40px;display:flex;flex-direction:column;gap:48px;color:var(--ss-shell)}
.ss-footer-fallback__top{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}
.ss-footer-fallback__top p{color:var(--ss-taupe);max-width:320px}
.ss-footer-fallback__cols{display:flex;gap:96px}
.ss-footer-fallback__cols>div{display:flex;flex-direction:column;gap:14px}
.ss-footer-fallback a{color:var(--ss-shell);text-decoration:none}
.ss-footer-fallback__bottom{display:flex;justify-content:space-between;border-top:1px solid var(--ss-line);padding-top:28px;font-size:13px;color:var(--ss-taupe)}
.ss-label{color:var(--ss-blush)}

/* ---------- Laptop widths (1025–1600px): side margins shrink to 40px, so machine stages that reach into the
   margin are scaled down as one unit to stay on screen (callouts, tags and price tags included). ---------- */
@media (min-width:1025px) and (max-width:1600px){
  .elementor .e-con.ss-wrap-hero{width:calc(47.22% + var(--ss-gut) - 8px)!important}
  .elementor .e-con.ss-wrap-product{width:calc(52.08% + var(--ss-gut) - 8px)!important}
  .elementor .e-con.ss-wrap-scene{width:100%!important;margin-left:0!important}
  .ss-scene--bf .elementor .e-con.ss-wrap-scene,.ss-scene--bf .e-con.ss-wrap-scene{width:100%!important}
}
@media (min-width:1025px) and (max-width:1365px){
  .elementor .e-con.ss-product-hero .ss-hero-copy,.ss-product-hero .e-con.ss-hero-copy{width:42%!important;--width:42%!important}
}
