/* ============================================================
   SKINTACITY design system — fidelity layer v2
   Brand tokens, self-hosted fonts, shared animations, and the
   exact section styling cloned from the approved static build.
   ============================================================ */

@font-face{font-family:'Avenir Next';src:url('fonts/AvenirNextCyr-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Avenir Next';src:url('fonts/AvenirNextCyr-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Avenir Next';src:url('fonts/AvenirNextCyr-Demi.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Avenir Next';src:url('fonts/AvenirNextCyr-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --sk-ivory:#F7F4EE; --sk-limestone:#EFEAE2; --sk-taupe:#DDD2C3;
  --sk-espresso:#2D2A28; --sk-charcoal:#353331; --sk-warmgray:#6F6A65;
  --sk-gold:#C7A66B; --sk-white:#FFFFFF;
}

html{scroll-behavior:smooth}
body{background:var(--sk-ivory);font-family:'Avenir Next',sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--sk-gold);color:var(--sk-ivory)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--sk-gold);outline-offset:3px}

/* ---------- animations ---------- */
@keyframes sk-marqueeX{from{transform:translateX(0)}to{transform:translateX(-33.3333%)}}
@keyframes sk-kenburnsSoft{0%{transform:scale(1.05) translate3d(1%,-0.6%,0)}50%{transform:scale(1.11) translate3d(-1%,0.7%,0)}100%{transform:scale(1.05) translate3d(1%,-0.6%,0)}}
@keyframes sk-scrollDot{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(7px);opacity:.4}}

/* ---------- global layout model, identical to the original build ----------
   Sections are full-bleed; content sits in a 1360px box with a clamp(20px,4.5vw,80px) gutter
   INSIDE it. Elementor puts the gutter on the full-width outer wrapper instead, which leaves
   content 80px wider than the original on large screens — so the gutter moves inside the box. */
:is([data-elementor-type="wp-page"] > .e-con, .e-con.sk-nav, .e-con.sk-footer):not(.sk-elixir){padding-left:0!important;padding-right:0!important}
:is([data-elementor-type="wp-page"] > .e-con, .e-con.sk-nav, .e-con.sk-footer):not(.sk-elixir) > .e-con-inner{
  max-width:1360px!important;box-sizing:border-box;padding-left:clamp(20px,4.5vw,80px)!important;padding-right:clamp(20px,4.5vw,80px)!important}
body:not(.sk-inner) [data-elementor-type="wp-page"] > .e-con:not(.sk-hero):not(.sk-elixir):not(.sk-founding):not(.sk-love):not(.sk-legal-banner) > .e-con-inner{
  padding-top:clamp(72px,8vw,112px)!important;padding-bottom:clamp(72px,8vw,112px)!important}
[data-elementor-type="wp-page"] > .e-con.sk-love > .e-con-inner{padding-top:clamp(64px,7vw,96px)!important;padding-bottom:clamp(64px,7vw,96px)!important}
.e-con.sk-footer > .e-con-inner{padding-top:clamp(56px,6vw,80px)!important;padding-bottom:0!important}
/* Nested containers carry no default padding. Elementor adds 10px; the original has none, which is
   what keeps buttons flush with the copy above them and tiles/columns at their original widths. */
:is([data-elementor-type="wp-page"], .elementor-location-header, .elementor-location-footer) .e-con .e-con{
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px}

/* ---------- header: sticky nav (announcement bar scrolls away, nav stays pinned) ---------- */
.elementor-location-header{position:sticky;top:calc(-1 * var(--sk-announce-h, 49px));z-index:50}
body.admin-bar .elementor-location-header{top:calc(32px - var(--sk-announce-h, 49px))}
@media (max-width:782px){body.admin-bar .elementor-location-header{top:calc(46px - var(--sk-announce-h, 49px))}}

/* ---------- header: announcement (full-bleed, one row at every width) ---------- */
.sk-announce{background:var(--sk-charcoal)}
.e-con.sk-announce{padding:10px clamp(14px,2vw,24px)!important}
.sk-announce > .e-con-inner{max-width:none!important;padding:0!important;flex-wrap:nowrap!important;gap:16px!important;align-items:center!important}
.sk-announce > .e-con-inner > .elementor-widget-html{flex:1 1 0!important;min-width:0;width:auto!important;max-width:none!important}
.sk-announce > .e-con-inner > .elementor-widget-button{flex:none!important;width:auto!important}
.sk-announce .sk-marquee-mask{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
.sk-announce .sk-marquee-track{display:flex;align-items:center;gap:52px;width:max-content;animation:sk-marqueeX 28s linear infinite}
.sk-announce .sk-marquee-track span{font-size:13px;letter-spacing:.18em;font-weight:500;color:var(--sk-ivory);white-space:nowrap}
.sk-announce .sk-marquee-track i{color:var(--sk-gold);font-size:10px;font-style:normal}
/* header buttons size from the text's natural line box, as the original (bar 52px tall) */
:is(.sk-announce,.sk-nav) .elementor-button{line-height:normal}

/* ---------- header: nav ---------- */
.sk-nav{background:var(--sk-ivory)}
.e-con.sk-nav{background:rgba(247,244,238,.96)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(199,166,107,.35)}
.e-con.sk-nav > .e-con-inner{padding-top:14px!important;padding-bottom:14px!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;column-gap:20px!important;row-gap:0!important}
.sk-nav .elementor-widget-image{flex:none}
.sk-nav .elementor-widget-image img{width:clamp(80px,7vw,100px)!important;height:auto}
/* the menu widget's parts (links, toggle, panel) lay out as direct items of the nav row */
.sk-nav .elementor-widget-nav-menu{display:contents!important}
.sk-nav .elementor-nav-menu a{font-family:'Avenir Next',sans-serif;font-size:13px;letter-spacing:.11em;font-weight:500;color:var(--sk-warmgray)}
.sk-nav .elementor-nav-menu a:hover{color:var(--sk-gold)}

/* wide nav (1180px and up, as the original): links and the join button grouped at the right */
@media (min-width:1180px){
  .e-con.sk-nav > .e-con-inner{flex-wrap:nowrap!important;column-gap:clamp(12px,1.5vw,28px)!important}
  .sk-nav nav.elementor-nav-menu--main{margin-left:auto}
  .sk-nav .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap;align-items:center;gap:clamp(12px,1.5vw,28px)}
  /* Elementor's clearfix pseudo-element would count as one more gapped flex item */
  .sk-nav .elementor-nav-menu--main .elementor-nav-menu::after{display:none!important}
  .sk-nav .elementor-nav-menu--main a.elementor-item{padding:0!important;line-height:normal;letter-spacing:.11em!important}
  .sk-nav .elementor-nav-menu--main a.elementor-item-active{color:var(--sk-espresso)!important;font-weight:600!important;border-bottom:1.5px solid var(--sk-gold);padding-bottom:4px!important}
  .sk-nav .elementor-widget-button .elementor-button{font-size:13px!important;letter-spacing:.09em!important;padding:10px clamp(12px,1.2vw,18px)!important}
}

/* compact nav (below 1180px): join button + bordered menu button at the right, panel drops below the bar */
@media (max-width:1179px){
  .e-con.sk-nav > .e-con-inner{column-gap:12px!important}
  .sk-nav.e-con nav.elementor-nav-menu--main{display:none!important}
  .sk-nav .elementor-widget-button{order:2;margin-left:auto;display:block!important}
  .sk-nav .elementor-widget-button .elementor-button{font-size:11px!important;letter-spacing:.10em!important;padding:11px 15px!important}
  .sk-nav .elementor-menu-toggle{display:flex!important;order:3;flex:none;width:46px;height:46px;margin:0!important;padding:0;box-sizing:border-box;align-items:center;justify-content:center;border:1px solid rgba(199,166,107,.55);border-radius:0;background:transparent!important;cursor:pointer;transition:background .25s}
  .sk-nav .elementor-menu-toggle:hover{background:rgba(199,166,107,.12)!important}
  .sk-nav .elementor-menu-toggle svg{display:none!important}
  .sk-nav .elementor-menu-toggle::before{content:'';display:block;width:18px;height:14.5px;
    background:linear-gradient(#2D2A28,#2D2A28) 0 0/18px 1.5px no-repeat,linear-gradient(#2D2A28,#2D2A28) 0 6.5px/18px 1.5px no-repeat,linear-gradient(#2D2A28,#2D2A28) 0 13px/18px 1.5px no-repeat}
  .sk-nav .elementor-menu-toggle + nav.elementor-nav-menu--dropdown{display:block!important;order:4;flex:none;box-sizing:border-box;
    width:calc(100% + 2 * clamp(20px,4.5vw,80px));margin:0 calc(-1 * clamp(20px,4.5vw,80px));padding:0 clamp(20px,4.5vw,80px);
    background:#F7F4EE!important;transition:none!important;animation:none!important}
  .sk-nav .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown{margin-top:14px;margin-bottom:-14px;padding-top:6px;padding-bottom:20px;border-top:1px solid rgba(199,166,107,.3)}
  .sk-nav .elementor-nav-menu--dropdown .elementor-nav-menu{display:flex;flex-direction:column}
  .sk-nav .elementor-nav-menu--dropdown a.elementor-item{font-family:'Avenir Next',sans-serif!important;font-size:13px!important;letter-spacing:.14em!important;font-weight:500!important;line-height:normal!important;text-transform:uppercase;
    color:#6F6A65!important;background:transparent!important;padding:16px 0!important;border:0!important;border-bottom:1px solid rgba(199,166,107,.18)!important;justify-content:flex-start}
  .sk-nav .elementor-nav-menu--dropdown li:last-child a.elementor-item{border-bottom:0!important}
  .sk-nav .elementor-nav-menu--dropdown a.elementor-item-active{font-weight:600!important;color:#2D2A28!important}
  .sk-nav .elementor-nav-menu--dropdown a.elementor-item:hover{color:var(--sk-gold)!important}
}

/* ---------- hero ---------- */
.sk-hero{position:relative;overflow:hidden}
.sk-hero::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(38,35,33,.82) 0%,rgba(38,35,33,.62) 20%,rgba(38,35,33,.3) 34%,rgba(38,35,33,.08) 48%,rgba(38,35,33,0) 62%)}
.sk-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:120px;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(53,51,49,0),rgba(53,51,49,.85))}
/* Stack content above the overlay without positioning .e-con-inner: Elementor renders the
   background video inside it, so a positioned inner would clamp the video to the boxed width. */
.sk-hero > .e-con-inner > .elementor-element{position:relative;z-index:2}
.sk-scrollpill{position:absolute;left:0;right:0;bottom:22px;margin:0 auto;width:max-content;z-index:3}
.sk-scrollpill a{display:flex;align-items:center;gap:12px;text-decoration:none;padding:8px 10px}
.sk-scrollpill .sk-mouse{width:24px;height:40px;border:1.5px solid rgba(247,244,238,.6);border-radius:13px;display:flex;justify-content:center;padding-top:8px;box-sizing:border-box}
.sk-scrollpill .sk-dot{width:3px;height:8px;border-radius:2px;background:var(--sk-gold);animation:sk-scrollDot 1.8s ease-in-out infinite}
.sk-scrollpill .sk-label{font-size:10.5px;letter-spacing:.22em;color:rgba(247,244,238,.8)}

/* ---------- scroll reveals (added by skintacity.js; no-JS users see everything) ---------- */
.sk-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.sk-reveal.sk-rev-left{transform:translateX(-34px)}
.sk-reveal.sk-in{opacity:1;transform:none}

/* ---------- shared section bits ---------- */
.sk-eyebrow .elementor-heading-title{font-family:'Avenir Next',sans-serif!important;font-size:12px!important;letter-spacing:.16em!important;font-weight:500!important;color:var(--sk-gold)!important;text-transform:uppercase}
.sk-gold-rule{width:56px;height:1px;background:var(--sk-gold)}
@media (min-width:481px){.sk-nowrap{white-space:nowrap}}
.sk-kenburns img{transform-origin:center;will-change:transform;animation:sk-kenburnsSoft 40s ease-in-out infinite}
.sk-img-arc,
.sk-img-arc .elementor-widget-container{border-radius:0 160px 0 0;overflow:hidden}
.sk-img-arc img{border-radius:0 160px 0 0}

/* link-style CTA (gold arrows) */
.sk-linkcta a{font-family:'Avenir Next',sans-serif;font-size:13px;font-weight:600;letter-spacing:.10em;color:var(--sk-gold);text-decoration:none;text-transform:uppercase}
.sk-linkcta a:hover{color:var(--sk-espresso)}

/* ---------- split layouts ----------
   `.e-con.sk-split` out-ranks Elementor's `.e-con.e-flex > .e-con-inner` (flex-direction from
   the builder setting), which otherwise keeps splits side by side at tablet widths. */
.e-con.sk-split > .e-con-inner{display:flex;flex-direction:row!important;align-items:center;gap:64px;width:100%}
/* columns share the width left after the gap, so the split never exceeds its box */
.sk-split .sk-col-img{flex:0 1 46%;width:auto;min-width:0;align-self:stretch}
.sk-split .sk-col-txt{flex:0 1 54%;width:auto;min-width:0}
.sk-split .sk-col-half{flex:0 1 50%;width:auto;min-width:0}
@media (min-width:1025px){
  /* scales just enough that "MORE THAN A MEDSPA." holds one line at every desktop width */
  #discover .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(40px,4vw,54px)!important}
}
.sk-img-cover{height:100%;overflow:hidden}
.sk-img-cover img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.sk-kenburns img{transform-origin:center;will-change:transform;animation:sk-kenburnsSoft 40s ease-in-out infinite}
/* the brand intro stacks from tablet down; the Elixir split stays side by side until 768, as the original */
@media (max-width:1024px){
  #discover.e-con.sk-split > .e-con-inner{flex-direction:column!important;gap:40px}
  #discover .sk-col-img,#discover .sk-col-txt{flex:none!important;width:100%}
  .sk-img-cover img{min-height:320px}
}
@media (max-width:768px){
  .e-con.sk-split > .e-con-inner{flex-direction:column!important;gap:40px}
  .sk-split .sk-col-img,.sk-split .sk-col-txt,.sk-split .sk-col-half{flex:none!important;width:100%}
}

/* buttons never wrap their label */
.elementor-button{white-space:nowrap}


/* scroll pill: position the WIDGET wrapper against the hero */
.elementor-widget.sk-scrollpill-w{position:absolute!important;left:0;right:0;bottom:22px;margin:0 auto;width:max-content;z-index:3}
.sk-scrollpill{position:static}

/* tiles: portrait crop like the static build, with smooth zoom-out on hover */
.sk-grid-3 .elementor-widget-image{overflow:hidden}
.sk-grid-3 .elementor-widget-image img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transform:scale(1.07);transition:transform .8s cubic-bezier(.22,.61,.36,1)}.sk-grid-3 .e-con:hover .elementor-widget-image img{transform:scale(1)}

/* hero: vertical location marker on the left edge */
.elementor-widget.sk-hero-loc-w{position:absolute!important;left:26px;top:50%;transform:translateY(-50%);width:auto;z-index:3}
.sk-hero-loc{writing-mode:vertical-rl;transform:rotate(180deg);font-family:'Avenir Next',sans-serif;font-size:10px;letter-spacing:.4em;color:rgba(221,210,195,.9);border-right:1px solid rgba(199,166,107,.4);padding-right:14px;text-transform:uppercase;white-space:nowrap}
@media (max-width:1024px){.elementor-widget.sk-hero-loc-w{display:none!important}}

/* ---------- grids (fidelity-controlled responsive) ----------
   Elementor boxed containers wrap content in .e-con-inner, so the grid
   must live on that wrapper when present, else on the container itself. */
.sk-grid-2x2 > .e-con-inner,
.sk-grid-2x2:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:1fr 1fr;gap:34px 36px;width:100%}
.sk-grid-3 > .e-con-inner,
.sk-grid-3:not(:has(> .e-con-inner)){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(36px,4vw,56px) clamp(28px,3vw,44px);width:100%}
/* tile anatomy as the original: image 22px, title 25px + 10px, body 19px/1.7 + 16px, links bottom-aligned */
.sk-grid-3 .e-con{gap:0!important}
.sk-grid-3 .elementor-widget-image{margin-bottom:22px!important}
.sk-grid-3 .elementor-widget-heading{margin-bottom:10px!important}
.sk-grid-3 .elementor-widget-heading .elementor-heading-title{font-size:25px!important}
.sk-grid-3 .elementor-widget-text-editor{flex:1;margin-bottom:16px!important;font-size:19px!important;line-height:1.7!important}
.sk-grid-3 .elementor-widget-text-editor p{margin:0}
@media (max-width:768px){
  .sk-grid-3 .elementor-widget-heading .elementor-heading-title{font-size:22px!important}
  .sk-grid-3 .elementor-widget-text-editor{font-size:16px!important}
}
#experience > .e-con-inner > .elementor-widget-text-editor{margin-bottom:46px}
.sk-grid-4{display:grid!important;grid-template-columns:repeat(4,1fr);gap:0}
@media (max-width:1024px){
  .sk-grid-4{grid-template-columns:1fr 1fr;row-gap:44px}
}
@media (max-width:480px){
  .sk-grid-2x2 > .e-con-inner,
  .sk-grid-2x2:not(:has(> .e-con-inner)){grid-template-columns:1fr}
  .sk-grid-4{grid-template-columns:1fr}
}

/* image columns fill their split height (cover crop like the static build) */
.sk-col-img > .e-con-inner,
.sk-col-img .elementor-widget,
.sk-col-img .elementor-widget-container,
.sk-col-img .sk-img-cover{height:100%}

/* why columns: gold divider between columns, per breakpoint like the static build */
.sk-why-col{text-align:center;padding:0 clamp(16px,2.4vw,36px);border-right:1px solid rgba(199,166,107,.35)}
.sk-why-col:last-child{border-right:none}
@media (max-width:1024px) and (min-width:481px){
  .sk-why-col{border-right:none}
  .sk-why-col:nth-child(odd){border-right:1px solid rgba(199,166,107,.35)}
}
@media (max-width:480px){
  .sk-why-col{border-right:none;border-bottom:1px solid rgba(199,166,107,.35);padding-bottom:32px;margin-bottom:32px}
  .sk-why-col:last-child{border-bottom:none;margin-bottom:0}
}
.sk-why-col svg{margin-bottom:18px}
.sk-why-col .sk-why-label{font-size:13px;font-weight:600;letter-spacing:.16em;color:var(--sk-espresso);margin-bottom:12px;text-transform:uppercase}
.sk-why-col p{font-size:19px;line-height:1.7;color:var(--sk-warmgray);margin:0}

/* value grid (brand intro) */
.sk-val .sk-gold-tick{width:28px;height:1px;background:var(--sk-gold);margin-bottom:14px}
.sk-val .sk-val-label{font-size:13px;font-weight:600;letter-spacing:.14em;color:var(--sk-espresso);margin-bottom:9px;text-transform:uppercase}
.sk-val p{font-size:19px;line-height:1.65;color:var(--sk-warmgray);margin:0}

/* value cells: gold tick above each bold label (standalone, no wrapper class needed) */
.sk-gold-tick{width:28px;height:1px;background:var(--sk-gold);margin-bottom:14px}
.sk-val-label{font-family:'Avenir Next',sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--sk-espresso);margin-bottom:9px;text-transform:uppercase}

/* elixir: image bleeds flush to the left edge and full section height, like the original */
.e-con.sk-elixir{padding:0!important}
.e-con.sk-elixir > .e-con-inner{max-width:100%;gap:0!important;align-items:stretch!important;padding:0!important}
.sk-elixir .sk-col-img{flex:0 0 50%;width:50%;align-self:stretch;position:relative;min-height:680px;padding:0!important;margin:0}
.sk-elixir .sk-col-img .sk-img-cover,
.sk-elixir .sk-col-img .elementor-widget,
.sk-elixir .sk-col-img .elementor-widget-container{position:static}
.sk-elixir .sk-col-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;min-height:0}
.sk-elixir .sk-col-txt{flex:0 0 50%;width:50%;box-sizing:border-box;padding:clamp(56px,7vw,110px) clamp(28px,5vw,90px);justify-content:center}
.sk-elixir h2 em{font-style:italic}
@media (max-width:768px){
  .sk-elixir .sk-col-img,.sk-elixir .sk-col-txt{width:100%}
  .sk-elixir .sk-col-txt{padding:48px 24px 64px}
  /* stacked: the image area is exactly the photo's height (no 680px desktop column, no empty band),
     and the photo fills its own frame instead of a collapsed wrapper */
  .sk-elixir .sk-col-img{min-height:0!important;height:auto!important}
  .sk-elixir .sk-col-img .sk-img-cover{position:relative!important;height:clamp(260px,72vw,420px)!important;overflow:hidden}
  .sk-elixir .sk-col-img .sk-img-cover img{position:absolute;inset:0;width:100%;height:100%!important;min-height:0!important;object-fit:cover}
}

/* elixir points: two columns with small gold lines (not checkmarks) */
.sk-checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 28px}
.sk-checks div{display:flex;align-items:center;gap:12px;font-size:16px;color:#DDD2C3;padding:6px 0}
.sk-checks b{width:20px;height:1px;background:var(--sk-gold);flex:none}
@media (max-width:600px){.sk-checks{grid-template-columns:1fr}}

/* love letters strip: quote narrows to two lines, roomier rhythm */
.sk-quote .elementor-heading-title,
.elementor-widget.sk-quote h1,.elementor-widget.sk-quote h2,.elementor-widget.sk-quote div.elementor-heading-title{max-width:700px;margin:0 auto}

/* ---------- founding list: section spec taken 1:1 from the original ---------- */
.e-con.sk-founding{position:relative;overflow:hidden;padding:clamp(72px,8vw,112px) 0!important}
/* Photo spans the section's full height and meets the page's right edge (the art widget
   positions against .sk-founding because .e-con-inner is left unpositioned). */
.elementor-widget.sk-founding-art{position:absolute!important;top:0;right:0;bottom:0;width:34%;margin:0;z-index:0}
.sk-founding-art .elementor-widget-container{height:100%}
.sk-founding-art img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.elementor-widget.sk-founding-art::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#DDD2C3 0%,rgba(221,210,195,.55) 40%,rgba(221,210,195,.08) 100%)}
.sk-founding > .e-con-inner{display:grid!important;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px)!important;align-items:center!important;
  max-width:1360px;margin:0 auto;padding:0 clamp(20px,4.5vw,80px)!important;box-sizing:border-box}
.sk-founding > .e-con-inner > .e-con{position:relative;z-index:1;width:auto!important;min-width:0}

.sk-founding-left .sk-eyebrow .elementor-heading-title{color:#8a6f3f!important;font-weight:600!important}
.sk-founding-left .elementor-widget-heading h2.elementor-heading-title{margin-bottom:6px}
.sk-founding-left .elementor-widget-text-editor{color:#5d564d!important}

.sk-founding .sk-col-form{background:#F7F4EE;border-top:2px solid var(--sk-gold);padding:clamp(28px,3vw,40px) clamp(24px,2.6vw,38px)!important}

/* form fields: 12px column gap, 14px row gap, 15px field padding — as the original */
.sk-form .elementor-form-fields-wrapper{margin:0 -6px -14px!important}
.sk-form .elementor-field-group{padding:0 6px!important;margin-bottom:14px!important}
.sk-form .elementor-field-group .elementor-field{background:#FFFFFF;border:1px solid var(--sk-taupe);border-radius:0;color:var(--sk-espresso);font-family:'Avenir Next',sans-serif;font-size:15px;padding:15px}
.sk-form .elementor-field:focus{border-color:var(--sk-gold)}
.sk-form .elementor-field-label{display:none}
.sk-form .elementor-field-type-select .elementor-select-wrapper{padding:0!important;border:none!important;background:transparent!important}
.sk-form .elementor-select-wrapper .select-caret-down-wrapper{display:none}
.sk-form .elementor-select-wrapper select{width:100%;padding:15px 12px;border:1px solid var(--sk-taupe);background:#FFFFFF;border-radius:0;
  font-family:'Avenir Next',sans-serif;font-size:15px;color:var(--sk-espresso);-webkit-appearance:menulist;appearance:auto}
.sk-form .elementor-select-wrapper select:focus{border-color:var(--sk-gold)}
.sk-form .elementor-field-type-acceptance{margin-top:4px}
.sk-form .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:10px}
.sk-form .elementor-field-type-acceptance input[type=checkbox]{width:18px;height:18px;margin:4px 0 0;accent-color:var(--sk-gold);flex:none}
.sk-form .elementor-field-type-acceptance label{font-size:13px;line-height:1.6;color:var(--sk-warmgray)}
.sk-form .elementor-field-type-submit{margin-top:4px}
.sk-form .elementor-button{background-color:var(--sk-espresso)!important;color:var(--sk-ivory)!important;font-family:'Avenir Next',sans-serif!important;font-size:13px!important;font-weight:600!important;letter-spacing:.10em!important;padding:18px 0!important;width:100%;border-radius:0!important;text-transform:uppercase;transition:background .3s}
.sk-form .elementor-button:hover{background-color:var(--sk-gold)!important;color:var(--sk-espresso)!important}

@media (max-width:768px){
  .elementor-widget.sk-founding-art{display:none!important}
  .sk-founding > .e-con-inner{grid-template-columns:1fr}
}

/* ---------- footer ---------- */
.sk-footer{background:var(--sk-charcoal)}
.sk-footer-links{display:flex;justify-content:center;gap:clamp(18px,2.6vw,36px);flex-wrap:wrap;row-gap:14px}
.sk-footer-links a{font-size:13px;letter-spacing:.12em;color:var(--sk-taupe);text-decoration:none;text-transform:uppercase;transition:color .25s}
.sk-footer-links a:hover{color:var(--sk-gold)}
.sk-footer p{font-size:12.5px;line-height:1.75;color:#A8A099}
.sk-footer .elementor-widget-html:has(.sk-footer-bottom){align-self:stretch;width:100%}
.sk-footer-bottom{display:flex;align-items:center;justify-content:center;text-align:center;gap:20px 32px;flex-wrap:wrap;padding:20px 0;border-top:1px solid rgba(221,210,195,.14)}
.sk-footer-bottom span,.sk-footer-bottom a{font-size:13px;color:#A8A099;text-decoration:none}
.sk-footer-bottom a:hover{color:var(--sk-gold)}
/* the original's spacing: logo 34 · links 34 · note 16 · note 30 · bottom bar, text on its natural line box */
.e-con.sk-footer > .e-con-inner{gap:0!important}
.sk-footer > .e-con-inner > .elementor-widget:nth-child(1),
.sk-footer > .e-con-inner > .elementor-widget:nth-child(2){margin-bottom:34px}
.sk-footer > .e-con-inner > .elementor-widget:nth-child(3){margin-bottom:16px}
.sk-footer > .e-con-inner > .elementor-widget:nth-child(4){margin-bottom:30px}
.sk-footer-links,.sk-footer-bottom{line-height:normal}
/* the original's tablet/phone rule p{font-size:17px} reaches the footer notes too */
@media (max-width:768px){.sk-footer p{font-size:17px!important}}

/* ---------- footer utility pages (Privacy, Terms, Accessibility, Policies) ---------- */
.e-con.sk-legal-banner{background:var(--sk-espresso)}
[data-elementor-type="wp-page"] > .e-con.sk-legal-banner > .e-con-inner{
  padding-top:clamp(72px,7.5vw,104px)!important;padding-bottom:clamp(52px,5.5vw,76px)!important;gap:0!important}
.sk-legal-banner .elementor-widget-heading:has(h1){margin-top:18px}
.sk-legal-banner h1.elementor-heading-title{font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:clamp(38px,5vw,58px);line-height:1.1;color:var(--sk-ivory);margin:0 0 22px}
.sk-legal-banner .sk-gold-rule{margin-bottom:26px}
.sk-legal-lede p{font-size:19px;line-height:1.75;color:var(--sk-taupe);max-width:640px;margin:0}
.sk-legal-meta p{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sk-gold);margin:22px 0 0}

.e-con.sk-legal{background:var(--sk-ivory)}
.sk-legal .sk-legal-sec{max-width:820px}
.sk-legal .sk-legal-num .elementor-heading-title{font-family:'Avenir Next',sans-serif;font-size:12px;
  letter-spacing:.2em;font-weight:500;color:var(--sk-gold)}
.sk-legal h2.elementor-heading-title{font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:clamp(25px,2.9vw,33px);line-height:1.2;color:var(--sk-espresso);margin:0}
.sk-legal .elementor-widget-text-editor{font-family:'Avenir Next',sans-serif;font-size:18px;line-height:1.8;color:var(--sk-warmgray)}
.sk-legal .elementor-widget-text-editor p{margin:0 0 18px}
.sk-legal .elementor-widget-text-editor p:last-child{margin-bottom:0}
.sk-legal .elementor-widget-text-editor strong{color:var(--sk-espresso);font-weight:500}
.sk-legal ul{margin:0 0 18px;padding:0;list-style:none}
.sk-legal ul:last-child{margin-bottom:0}
.sk-legal li{position:relative;padding-left:26px;margin-bottom:11px}
.sk-legal li::before{content:'';position:absolute;left:0;top:14px;width:11px;height:1px;background:var(--sk-gold)}
.sk-legal a{color:var(--sk-espresso);text-decoration:none;border-bottom:1px solid rgba(199,166,107,.65);transition:color .25s}
.sk-legal a:hover{color:var(--sk-gold)}
/* unresolved details stay visible until they are filled in */
.sk-fill{background:rgba(199,166,107,.2);border-bottom:1px dashed var(--sk-gold);padding:1px 5px;color:var(--sk-espresso)}
.sk-legal-meta .sk-fill{color:var(--sk-ivory);background:rgba(199,166,107,.28)}
.sk-legal [id]{scroll-margin-top:var(--anchor-offset,150px)}
@media (max-width:768px){
  .sk-legal .elementor-widget-text-editor{font-size:17px}
  .sk-legal-lede p{font-size:17px}
}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
}
