/* =====================================================================
   Studio Karina: the approved design on native Elementor containers and widgets.
   Pages are edited in Elementor. The classes below (Advanced > CSS Classes on each element)
   give each element its approved look; anything changed in Elementor's Style tab is more
   specific and takes precedence. Loaded after main.css (which holds the design tokens,
   header, footer and the shared class names reused here).
   ===================================================================== */
body{--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;--kit-widget-spacing:0px}
body .elementor .e-con{--gap:0px;--row-gap:0px;--column-gap:0px}
body .elementor .elementor-heading-title{font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;text-transform:inherit;margin:0}
body .elementor .elementor-heading-title a{color:inherit;text-decoration:none}
body .elementor .elementor-widget-text-editor p{margin:0 0 18px}
body .elementor .elementor-widget-text-editor > :last-child{margin-bottom:0}
body .elementor .elementor-widget-text-editor a{color:var(--cream)}
body .elementor .elementor-icon-list-items{list-style:none;margin:0;padding:0}
body .elementor .elementor-icon-list-item,body .elementor .elementor-icon-list-text{color:inherit;font-size:inherit}
body .elementor .elementor-icon-list-icon{color:inherit}
body .elementor .elementor-icon-list-icon i{color:inherit;font-size:inherit;width:1em;height:1em}
body .elementor .elementor-widget-image img{display:block}
body .elementor .e-con[id]{scroll-margin-top:calc(var(--header-h,66px) + 16px)}
/* In the editor, show animated-in elements immediately */
.elementor-editor-active .reveal{opacity:1!important;transform:none!important}
/* Rows */
body .elementor .hero__inner,body .elementor .hero__cta,body .elementor .section-head,body .elementor .reels,body .elementor .contact__row,body .elementor .contact__actions,body .elementor .sp-actions,body .elementor .svc-page__cta{--flex-direction:row;--container-widget-width:auto;--container-widget-flex-grow:0}
body .elementor .section-head > .e-con{--width:auto;flex:0 1 auto}
/* Approved spacing under widgets (Elementor resets widget bottom margins with .e-con .elementor-widget.elementor-widget) */
body .elementor .e-con .elementor-widget.elementor-widget.eyebrow{margin-block-end:22px}
body .elementor .about__text .elementor-widget.elementor-widget.h2{margin-block-end:34px}
body .elementor .contact__intro .elementor-widget.elementor-widget.h2{margin-block-end:26px}
body .elementor .sp-text .elementor-widget.elementor-widget.h2{margin-block-end:22px}
body .elementor .e-con .elementor-widget.elementor-widget.sp-area{margin-block-end:18px}
body .elementor .e-con .elementor-widget.elementor-widget.sp-num{margin-block-end:14px}
body .elementor .e-con .elementor-widget.elementor-widget.sp-tagline{margin-block-end:36px}
body .elementor .e-con .elementor-widget.elementor-widget.sp-block__title{margin-block-end:20px}
body .elementor .e-con .elementor-widget.elementor-widget.sp-step__title{margin-block-end:6px}
body .elementor .section-head .section-head__intro{max-width:440px;flex:0 1 440px;margin:0}

/* Buttons (Button widget + class sk-btn, sk-btn--ghost) */
body .elementor .sk-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 36px;border-radius:32px;border:1px solid var(--cream);background:var(--cream);color:var(--ink);fill:var(--ink);font-family:var(--font);font-size:16px;font-weight:400;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease)}
body .elementor .sk-btn .elementor-button:hover,body .elementor .sk-btn .elementor-button:focus-visible{background:transparent;color:var(--cream);fill:var(--cream)}
body .elementor .sk-btn--ghost .elementor-button{background:transparent;color:var(--cream);fill:var(--cream);border-color:var(--cream-60)}
body .elementor .sk-btn--ghost .elementor-button:hover,body .elementor .sk-btn--ghost .elementor-button:focus-visible{background:var(--cream-10);border-color:var(--cream)}
body .elementor .sk-btn .elementor-button-content-wrapper,body .elementor .sp-back .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px;flex-direction:row}
body .elementor .sk-btn .elementor-button-icon{display:inline-flex;font-size:16px;margin:0}
body .elementor .sk-btn--wa .elementor-button-icon{font-size:18px}
body .elementor .sk-textlink .elementor-button{background:none;border:0;border-bottom:1px solid var(--cream-60);border-radius:0;padding:4px 0;min-height:0;font-family:var(--font);font-size:15px;font-weight:300;line-height:1.45;color:var(--cream-80)}
body .elementor .sk-textlink .elementor-button:hover{color:var(--cream);border-color:var(--cream)}

/* Hero: the container's own background video (Style > Background > Video) */
body .elementor .hero{--flex-direction:row;--align-items:center;align-items:center}
body .elementor .hero.sk-hero{background-color:#2a2521;background-size:var(--bgv-w,130%) auto!important;background-position:right 10%!important;background-repeat:no-repeat!important}
body .sk-hero > .elementor-background-video-container{z-index:0}
body .sk-hero .elementor-background-video-hosted{position:absolute!important;top:0!important;left:var(--bgv-x,-30%)!important;width:var(--bgv-w,130%)!important;height:100%!important;max-width:none!important;transform:none!important;object-fit:cover;object-position:50% 10%}
body .sk-hero > .elementor-background-video-container::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(20,21,22,.7) 0%,rgba(20,21,22,0) 16%,rgba(20,21,22,0) 80%,rgba(20,21,22,.9) 100%),linear-gradient(to right,rgba(20,21,22,.1) 0%,rgba(20,21,22,.05) 38%,rgba(20,21,22,.62) 56%,rgba(20,21,22,.86) 74%,rgba(20,21,22,.9) 100%)}
body .sk-hero > .e-con{position:relative;z-index:2}
body .sk-hero .bgv__toggle{z-index:3}
body .elementor .hero__inner{--justify-content:flex-end;justify-content:flex-end}
body .elementor .hero__cta{--flex-wrap:wrap;flex-wrap:wrap;gap:12px}
body .elementor .hero__cta .elementor-button{min-width:170px}
body .elementor .sk-meta{font-size:15px;color:var(--cream-80)}
body .elementor .sk-meta .elementor-icon-list-icon{font-size:14px;margin-right:6px}
body .elementor .hero__meta{margin-top:24px}
body .elementor .hero__more{margin-bottom:16px}

/* About + rotating badge (Text Path and Image widgets; only the rotation is custom) */
body .elementor .about__badge{padding:0;overflow:visible}
/* Elementor draws the circle at the full box size; the approved text circle is 79% of the badge */
body .elementor .e-con > .about__badge-text{position:absolute;inset:10.5%;width:79%;height:79%;margin:0}
body .elementor .about__badge-text .e-text-path,body .elementor .about__badge-text svg{width:100%;height:100%;display:block}
body .elementor .about__badge-text svg{animation:spin 26s linear infinite;overflow:visible}
body .elementor .about__badge-text text{fill:rgba(255,248,215,.75);font-family:var(--font);font-size:25.6px;letter-spacing:8.2px;font-weight:300}
body .elementor .about__badge-text path{fill:none;stroke:none}
body .elementor .e-con > .about__badge-mark{width:46%}
body .elementor .about__badge .about__badge-mark img{width:100%;height:auto}
body .elementor .sk-rule{margin-top:40px}
body .elementor .sk-rule .elementor-divider{padding:0;display:block}
body .elementor .sk-rule .elementor-divider-separator{display:block;width:100%;border:0;height:1px;background:var(--cream);opacity:.6;transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--ease)}
body .elementor .sk-rule.is-in .elementor-divider-separator,.elementor-editor-active .sk-rule .elementor-divider-separator{transform:scaleX(1)}
body .elementor .about__sig{margin-top:34px}

/* Selected looks strip (Basic Gallery widget, set moving by main.js) */
body .sk-strip .elementor-image-gallery .gallery{display:flex;gap:28px;width:max-content;margin:0;animation:marquee 60s linear infinite}
body .sk-strip:hover .gallery{animation-play-state:paused}
body .sk-strip .elementor-image-gallery .gallery-item{width:clamp(200px,24vw,352px)!important;max-width:none!important;aspect-ratio:352/490;flex:none;margin:0!important;padding:0!important}
body .sk-strip .gallery-icon img,body .sk-gallery .gallery-icon img{width:100%;height:auto;border:0!important;display:block}
body .sk-strip .gallery-caption,body .sk-gallery .gallery-caption{display:none}

/* Services list rows (container link + Heading, Heading and Icon widgets) */
body .elementor .svc__link{text-decoration:none;color:inherit}
body .elementor .e-con > .elementor-widget.svc__icon{width:65px;height:65px;border-radius:50%;border:1px solid var(--cream-60);display:grid;place-items:center;transition:background .3s var(--ease),border-color .3s}
body .elementor .svc__icon .elementor-icon-wrapper{line-height:0}
body .elementor .svc__icon .elementor-icon{font-size:20px;color:var(--cream);transition:transform .4s var(--ease)}
body .elementor .svc__link:hover .svc__icon,body .elementor .svc__link:focus-visible .svc__icon{background:var(--cream-10)!important;border-color:var(--cream)!important}
body .elementor .svc__link:hover .svc__icon .elementor-icon{transform:translateX(4px)}
body .elementor .svc__sub{margin-top:10px}

/* Portfolio gallery (Basic Gallery widget with lightbox) */
body .sk-gallery .elementor-image-gallery .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.6vw,40px);margin:0}
body .sk-gallery .elementor-image-gallery .gallery-item{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
body .sk-gallery .gallery-item{aspect-ratio:293/420}
body .sk-gallery .gallery-item:nth-child(odd){aspect-ratio:293/460}
body .sk-gallery .gallery-item:nth-child(3n+2){transform:translateY(clamp(0px,6vw,80px))}
body .sk-gallery .gallery-icon a{display:block;position:relative;cursor:zoom-in}
body .sk-gallery .gallery-icon a::after{content:"View";position:absolute;right:16px;bottom:16px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;background:var(--cream);color:var(--ink);padding:6px 12px;border-radius:999px;opacity:0;transform:translateY(6px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
body .sk-gallery .gallery-icon a:hover::after,body .sk-gallery .gallery-icon a:focus-visible::after{opacity:1;transform:none}
body .sk-gallery .gallery-icon a:hover img{transform:scale(1.04)}
body .elementor .portfolio__foot{--align-items:center;align-items:center}

/* Makeup in Motion (Video widget + the approved reel controls from main.js) */
body .elementor .reels{justify-content:center;gap:clamp(16px,4vw,48px)}
body .sk-reel .elementor-wrapper{position:relative;aspect-ratio:9/16;overflow:hidden;background:var(--bg-2);border-radius:2px}
body .sk-reel .elementor-wrapper video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent;cursor:pointer}
body .elementor .reel__caption{margin-top:14px;font-size:14px;color:var(--cream-60);text-align:center}

/* Contact */
body .elementor .contact__row{justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--cream-10);font-size:15px}
body .elementor .contact__label{color:var(--cream-60)}
body .elementor .contact__value{text-align:right}
body .elementor .contact__value a{border-bottom:1px solid var(--cream-60)}
body .elementor .contact__value a:hover{border-color:var(--cream)}
body .elementor .contact__actions{--flex-wrap:wrap;flex-wrap:wrap;gap:12px}
body .elementor .notice .elementor-icon-list-item{align-items:flex-start;gap:10px;line-height:1.5}
body .elementor .notice .elementor-icon-list-icon{font-size:16px;margin:2px 0 0}
body .elementor .sk-form .form__small,body .elementor .sk-form .form__privacy{margin-top:14px}
body .elementor .form__privacy a{color:var(--cream);text-underline-offset:3px}

/* Service pages */
body .elementor .sp-back .elementor-button{display:inline-flex;align-items:center;background:none;border:0;border-radius:0;min-height:0;padding:6px 0;font-family:var(--font);font-size:14px;font-weight:300;line-height:1.45;color:var(--cream-60)}
body .elementor .sp-back .elementor-button:hover{color:var(--cream)}
body .elementor .sp-back .elementor-button-content-wrapper{gap:8px}
body .elementor .sp-back .elementor-button-icon{font-size:16px;margin:0;transition:transform .3s var(--ease)}
body .elementor .sp-back .elementor-button:hover .elementor-button-icon{transform:translateX(-3px)}
body .elementor .sp-actions{--flex-wrap:wrap;flex-wrap:wrap;gap:12px}
body .elementor .sp-actions .elementor-button{padding:0 28px}
body .elementor .sp-photo a{display:block;cursor:zoom-in}
body .elementor .sp-photo img{border-radius:14px}
body .elementor .sp-photo a:hover img{transform:scale(1.03)}
body .elementor .sp-content h3{font-size:clamp(20px,1.9vw,26px);font-weight:300;line-height:1.25;margin:0 0 20px}
body .elementor .sp-block__title{font-size:14px;line-height:1.4}
body .elementor .sp-list .elementor-icon-list-items{display:grid;gap:12px}
body .elementor .sp-list .elementor-icon-list-item{align-items:flex-start;padding:0;color:var(--cream-80);font-size:16px;line-height:1.5}
body .elementor .sp-list .elementor-icon-list-icon{font-size:12px;margin:6px 14px 0 0;color:var(--cream)}
body .elementor .sp-steps{border-top:1px solid var(--cream-10)}
body .elementor .sp-step{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--cream-10)}
body .elementor .sp-step__n{color:var(--cream-60);font-size:18px}
body .elementor .sp-step__title{font-weight:400;font-size:18px}
body .elementor .sp-step__desc{color:var(--cream-80);line-height:1.55}
body .elementor .sp-step__desc p{margin:0}
/* Service photo carousel (Image Carousel widget): arrows and dots together under the photo */
body .elementor .sk-carousel .elementor-image-carousel-wrapper.swiper{padding-bottom:58px}
body .sk-carousel .swiper-slide-image{border-radius:14px;width:100%;height:auto}
body .sk-carousel .swiper-slide a{display:block;cursor:zoom-in}
body .sk-carousel .elementor-swiper-button{top:auto!important;bottom:0;transform:none!important;width:40px;height:40px;border-radius:50%;border:1px solid var(--cream-60);background:none;color:var(--cream)!important;display:grid;place-items:center;font-size:16px;transition:background .25s}
body .sk-carousel .elementor-swiper-button:hover{background:var(--cream-10)}
body .sk-carousel .elementor-swiper-button svg{fill:var(--cream)!important;width:14px;height:14px}
body .sk-carousel .elementor-swiper-button-prev{left:calc(50% - 92px)!important;right:auto!important}
body .sk-carousel .elementor-swiper-button-next{right:calc(50% - 92px)!important;left:auto!important}
body .sk-carousel .swiper-pagination{bottom:12px!important;top:auto!important;left:0;right:0}
body .sk-carousel .swiper-pagination-bullet{width:7px;height:7px;margin:0 8.5px!important;background:var(--cream-60);opacity:.55}
body .sk-carousel .swiper-pagination-bullet-active{background:var(--cream);opacity:1;transform:scale(1.15)}
body .elementor .svc-page__cta{--flex-wrap:wrap;flex-wrap:wrap;gap:12px}
body .elementor .svc-page__cta .elementor-button{padding:0 28px}
body .elementor .svc-page .sp-note{margin-top:18px}

/* Elementor lightbox (portfolio and service photos) */
.elementor-lightbox .elementor-slideshow__description{font-family:var(--font);font-size:14px;color:var(--cream-80)}
.elementor-lightbox .elementor-slideshow__counter{font-family:var(--font);letter-spacing:.1em;font-size:13px}

/* Responsive: the approved breakpoints (Elementor tablet = 900px, mobile = 600px) */
@media (max-width:1180px) and (min-width:901px){
  body .elementor .about__badge{left:-24px;width:104px;height:104px}
}
@media (max-width:900px){
  body .elementor .hero{--flex-direction:column;display:block}
  body .elementor .hero.sk-hero{background-size:100% var(--bgv-h)!important;background-position:50% 20%!important}
  body .sk-hero > .elementor-background-video-container{height:var(--bgv-h);bottom:auto}
  body .sk-hero .elementor-background-video-hosted{left:0!important;width:100%!important;height:var(--bgv-h)!important;object-position:50% 20%}
  body .sk-hero > .elementor-background-video-container::after{background:linear-gradient(to bottom,rgba(20,21,22,.55) 0,rgba(20,21,22,0) 90px,rgba(20,21,22,0) calc(var(--bgv-h) - 240px),rgba(20,21,22,.92) calc(var(--bgv-h) - 50px),var(--bg) var(--bgv-h))}
  body .elementor .hero__inner{--flex-direction:column;display:block}
  body .elementor .hero__cta{--justify-content:center;justify-content:center}
  body .elementor .hero__text .sk-meta .elementor-icon-list-item{justify-content:center}
  body .elementor .hero__more{align-items:center}
  body .elementor .section-head{--flex-direction:column;--align-items:flex-start;align-items:flex-start}
  body .elementor .section-head .section-head__intro{flex:none}
  body .elementor .about__badge{left:-12px;bottom:36px}
  body .sk-gallery .elementor-image-gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  body .sk-gallery .gallery-item:nth-child(3n+2){transform:none}
  body .sk-gallery .gallery-item:nth-child(even){transform:translateY(40px)}
  body .elementor .reel{width:min(320px,45vw)}
}
@media (max-width:600px){
  body .elementor .hero__cta{--flex-direction:column;--align-items:stretch;align-items:stretch;max-width:340px;margin-left:auto;margin-right:auto}
  body .elementor .hero__cta .elementor-button{min-width:0;width:100%}
  body .elementor .about__badge{width:92px;height:92px;left:-8px;bottom:28px}
  body .elementor .contact__actions,body .elementor .sp-actions,body .elementor .svc-page__cta{--flex-direction:column;--align-items:stretch;align-items:stretch}
  body .elementor .contact__actions .elementor-button,body .elementor .sp-actions .elementor-button,body .elementor .svc-page__cta .elementor-button{width:100%}
  body .elementor .svc__link{grid-template-columns:1fr 44px;gap:12px 16px;padding:26px 0}
  body .elementor .svc__num{grid-column:1/-1;font-size:18px}
  body .elementor .e-con > .elementor-widget.svc__icon{width:44px;height:44px;grid-column:2;grid-row:2}
  body .elementor .sp-step{grid-template-columns:40px 1fr}
  body .sk-gallery .elementor-image-gallery .gallery{gap:10px}
  body .sk-gallery .gallery-item:nth-child(even){transform:translateY(24px)}
  body .sk-gallery .gallery-icon a::after{opacity:1;transform:none;right:8px;bottom:8px;font-size:11px;padding:4px 9px}
  body .elementor .reels{gap:10px;--flex-wrap:nowrap;flex-wrap:nowrap}
  body .elementor .reel{width:50%}
}
@media (prefers-reduced-motion:reduce){
  body .sk-strip .elementor-image-gallery .gallery{animation:none}
  body .sk-strip{overflow-x:auto}
  body .elementor .about__badge-text svg{animation:none}
  body .elementor .sk-rule .elementor-divider-separator{transform:none}
}
/* Top-level containers that use the page width class */
body .elementor > .e-con.wrap{max-width:calc(var(--wrap) + var(--gutter)*2);margin-left:auto;margin-right:auto}
body .elementor .e-con > .sp-back{display:flex;line-height:0}

/* Questions (FAQ): homepage section #faq and the "Questions" block on each service page.
   Each item is a container (sk-faq__item) with a Heading (sk-faq__q) and a Text Editor (sk-faq__a). */
body .elementor .faq{padding-bottom:var(--section)}
body .elementor .sk-faq{border-top:1px solid var(--cream-10)}
body .elementor .sk-faq__item{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:12px clamp(24px,5vw,72px);padding:30px 0;border-bottom:1px solid var(--cream-10)}
body .elementor .sk-faq__q{font-size:clamp(19px,1.7vw,24px);font-weight:300;line-height:1.3;color:var(--cream)}
body .elementor .sk-faq__a{font-size:16px;line-height:1.6;color:var(--cream-80)}
body .elementor .sk-faq__a p{margin:0 0 12px}
body .elementor .sk-faq__a a{color:var(--cream);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body .elementor .sp-text .sk-faq__item{grid-template-columns:1fr;gap:8px;padding:22px 0}
body .elementor .sp-text .sk-faq__q{font-size:18px;font-weight:400}
@media (max-width:900px){
  body .elementor .sk-faq__item{grid-template-columns:1fr;gap:8px;padding:24px 0}
}
