/* SK Core Builder – premium frontend design system */
.sk-core-page{
  --sk-core-ink:#111827;
  --sk-core-muted:#667085;
  --sk-core-line:rgba(17,24,39,.10);
  --sk-core-surface:#fff;
  --sk-core-soft:#f5f7f8;
  --sk-core-shadow:0 20px 60px rgba(15,23,42,.08);
  --sk-core-shadow-lg:0 35px 100px rgba(15,23,42,.15);
  --sk-core-radius:clamp(18px,2vw,30px);
  --sk-core-radius-sm:16px;
  --sk-core-accent:var(--sk-accent,#2271b1);
  overflow:hidden;color:var(--sk-core-ink)
}
.sk-core-page *{box-sizing:border-box}
.sk-core-page .sk-section{position:relative;padding:clamp(76px,8vw,128px) 0;isolation:isolate}
.sk-core-page .sk-section--compact{padding-top:clamp(42px,5vw,70px);padding-bottom:clamp(42px,5vw,70px)}
.sk-core-page .sk-section--large{padding-top:clamp(105px,11vw,175px);padding-bottom:clamp(105px,11vw,175px)}
.sk-core-page .sk-section--soft{background:linear-gradient(180deg,#f7f8f9 0%,#f2f5f6 100%)}
.sk-core-page .sk-section--dark{background:radial-gradient(circle at 80% 0%,rgba(255,255,255,.08),transparent 32%),linear-gradient(135deg,#0b1118 0%,#121b26 60%,#0c131b 100%);color:#fff}
.sk-core-page .sk-section--accent{background:linear-gradient(135deg,var(--sk-core-accent),color-mix(in srgb,var(--sk-core-accent),#000 24%));color:#fff}
.sk-core-page .sk-section--dark:before,.sk-core-page .sk-section--accent:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.sk-core-page .sk-section--wide>.sk-container{max-width:1460px}
.sk-core-page .sk-section--full>.sk-container{max-width:none;padding-left:0;padding-right:0}
.sk-core-page .sk-container{position:relative;z-index:2}

/* Typography */
.sk-core-section-head{max-width:790px;margin-bottom:clamp(35px,5vw,64px)}
.sk-core-section-head.is-centered{text-align:center;margin-left:auto;margin-right:auto}
.sk-core-section-head h2{font-size:clamp(2.15rem,4.25vw,4.35rem);line-height:.98;letter-spacing:-.045em;margin:.28em 0 .34em;text-wrap:balance}
.sk-core-eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;opacity:.78;margin-bottom:6px}
.sk-core-eyebrow:before{content:"";width:26px;height:2px;border-radius:9px;background:currentColor;opacity:.75}
.sk-core-section-head.is-centered .sk-core-eyebrow:before{display:none}
.sk-core-section-head.is-centered .sk-core-eyebrow{padding:8px 13px;border:1px solid currentColor;border-radius:999px;opacity:.64}
.sk-core-lead{font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.78;color:var(--sk-core-muted)}
.sk-section--dark .sk-core-lead,.sk-section--accent .sk-core-lead{color:rgba(255,255,255,.76)}
.sk-core-lead p:last-child{margin-bottom:0}

/* Buttons */
.sk-core-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.sk-core-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;border-radius:999px;background:var(--sk-core-accent);color:#fff!important;text-decoration:none;font-weight:750;letter-spacing:-.01em;box-shadow:0 10px 24px color-mix(in srgb,var(--sk-core-accent),transparent 76%);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.sk-core-button:after{content:"→";font-size:1.05em;margin-left:10px;transition:transform .25s ease}
.sk-core-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px color-mix(in srgb,var(--sk-core-accent),transparent 68%);filter:brightness(.98)}
.sk-core-button:hover:after{transform:translateX(3px)}
.sk-core-button--secondary{background:rgba(255,255,255,.06);color:inherit!important;border:1px solid currentColor;box-shadow:none;backdrop-filter:blur(8px)}
.sk-section--default .sk-core-button--secondary,.sk-section--soft .sk-core-button--secondary{background:#fff}

/* Hero */
.sk-core-hero{overflow:hidden}
.sk-core-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-210px;top:-200px;background:var(--sk-core-accent);filter:blur(0);opacity:.08;z-index:0}
.sk-core-hero-inner,.sk-core-split,.sk-core-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(44px,7vw,110px);align-items:center}
.sk-core-hero-copy{position:relative;z-index:2}
.sk-core-hero-copy h1{font-size:clamp(3rem,6.3vw,6.5rem);letter-spacing:-.065em;line-height:.91;margin:.26em 0 .3em;text-wrap:balance}
.sk-core-hero-copy .sk-core-lead{max-width:670px;font-size:clamp(1.04rem,1.35vw,1.22rem)}
.sk-core-hero-media,.sk-core-split-media{position:relative}
.sk-core-hero-media:before,.sk-core-split-media:before{content:"";position:absolute;inset:8% -5% -7% 8%;border-radius:var(--sk-core-radius);background:var(--sk-core-accent);opacity:.10;transform:rotate(3deg);z-index:-1}
.sk-core-hero-media img,.sk-core-split-media img,.sk-core-hero-media .sk-core-image-placeholder,.sk-core-split-media .sk-core-image-placeholder{width:100%;display:block;border-radius:var(--sk-core-radius);box-shadow:var(--sk-core-shadow-lg)}
.sk-core-hero-media img{min-height:540px;object-fit:cover}
.sk-core-image-placeholder{position:relative;min-height:460px;overflow:hidden;background:radial-gradient(circle at 70% 25%,color-mix(in srgb,var(--sk-core-accent),#fff 72%),transparent 22%),linear-gradient(145deg,#eef2f4,#dbe2e7)}
.sk-core-image-placeholder:before{content:"";position:absolute;inset:10%;border:1px solid rgba(17,24,39,.09);border-radius:50% 50% 44% 56%/55% 42% 58% 45%;transform:rotate(-16deg)}
.sk-core-image-placeholder:after{content:"IMAGE";position:absolute;left:30px;bottom:27px;font-size:.68rem;font-weight:800;letter-spacing:.18em;color:rgba(17,24,39,.35)}
.sk-core-hero--split .sk-core-hero-media{transform:translateY(12px)}
.sk-core-hero--split .sk-core-hero-media:after{content:"";position:absolute;left:-24px;bottom:42px;width:94px;height:94px;border-radius:24px;background:#fff;box-shadow:var(--sk-core-shadow);z-index:2;background-image:radial-gradient(circle,var(--sk-core-accent) 2px,transparent 2.5px);background-size:13px 13px}
.sk-core-hero--centered{background:radial-gradient(circle at 50% -20%,color-mix(in srgb,var(--sk-core-accent),transparent 84%),transparent 45%)}
.sk-core-hero--centered .sk-core-hero-inner{display:block;text-align:center;max-width:1050px;margin:auto}
.sk-core-hero--centered .sk-core-hero-copy .sk-core-lead{margin-left:auto;margin-right:auto;max-width:800px}
.sk-core-hero--centered .sk-core-actions{justify-content:center}
.sk-core-hero--background{position:relative;min-height:min(850px,88vh);display:flex;align-items:center;padding-top:150px;padding-bottom:120px}
.sk-core-hero--background>.sk-container{position:relative;z-index:2;width:100%}
.sk-core-hero--background .sk-core-hero-inner{display:block;max-width:800px}
.sk-core-hero--background .sk-core-hero-media{position:absolute;inset:0;z-index:-1}
.sk-core-hero--background .sk-core-hero-media:before{display:none}
.sk-core-hero--background .sk-core-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,11,18,.94) 0%,rgba(5,11,18,.75) 45%,rgba(5,11,18,.18) 78%,rgba(5,11,18,.08) 100%)}
.sk-core-hero--background .sk-core-hero-media img,.sk-core-hero--background .sk-core-hero-media .sk-core-image-placeholder{width:100%;height:100%;min-height:100%;object-fit:cover;border-radius:0;box-shadow:none}
.sk-core-hero--background .sk-core-hero-copy{color:#fff}
.sk-core-hero--background .sk-core-lead{color:rgba(255,255,255,.78)}
.sk-core-hero--card .sk-core-hero-inner{position:relative;grid-template-columns:.85fr 1.15fr}
.sk-core-hero--card .sk-core-hero-copy{z-index:3;background:rgba(255,255,255,.96);color:var(--sk-core-ink);padding:clamp(34px,5vw,72px);border-radius:var(--sk-core-radius);box-shadow:var(--sk-core-shadow-lg);margin-right:-120px;border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(18px)}
.sk-core-hero--card .sk-core-hero-media img{min-height:620px}

/* Content / image-text */
.sk-core-image_text .sk-core-section-head{margin-bottom:26px}
.sk-core-split-media img{min-height:500px;object-fit:cover}
.sk-core-image_text--image-right .sk-core-split-media{order:2}
.sk-core-image_text--overlap .sk-core-split{grid-template-columns:1.12fr .88fr;gap:0}
.sk-core-image_text--overlap .sk-core-split-media{z-index:1}
.sk-core-image_text--overlap .sk-core-split-copy{position:relative;z-index:2;background:var(--sk-core-surface);padding:clamp(34px,5vw,68px);margin-left:-70px;border-radius:var(--sk-core-radius);box-shadow:var(--sk-core-shadow-lg);border:1px solid var(--sk-core-line)}
.sk-core-image_text.sk-section--dark .sk-core-split-copy{background:#111a24;border-color:rgba(255,255,255,.08)}
.sk-core-image_text.sk-section--dark .sk-core-split-copy .sk-core-lead{color:rgba(255,255,255,.72)}

/* Cards / grids */
.sk-core-grid{display:grid;gap:24px}
.sk-core-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sk-core-card{position:relative;padding:clamp(26px,3vw,38px);border:1px solid var(--sk-core-line);border-radius:var(--sk-core-radius-sm);background:rgba(255,255,255,.055);box-shadow:0 10px 35px rgba(15,23,42,.035);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;overflow:hidden}
.sk-section--default .sk-core-card,.sk-section--soft .sk-core-card{background:#fff}
.sk-core-card:hover{transform:translateY(-6px);box-shadow:var(--sk-core-shadow);border-color:color-mix(in srgb,var(--sk-core-accent),transparent 72%)}
.sk-core-card h3{font-size:1.27rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.sk-core-card p{line-height:1.72;color:var(--sk-core-muted)}
.sk-section--dark .sk-core-card p,.sk-section--accent .sk-core-card p{color:rgba(255,255,255,.7)}
.sk-core-card-image{display:block;width:calc(100% + clamp(52px,6vw,76px));max-width:none;margin:calc(clamp(26px,3vw,38px) * -1) calc(clamp(26px,3vw,38px) * -1) 27px;aspect-ratio:16/10;object-fit:cover;border-radius:var(--sk-core-radius-sm) var(--sk-core-radius-sm) 0 0;transition:transform .45s ease}
.sk-core-card:hover .sk-core-card-image{transform:scale(1.035)}
.sk-core-text-link{display:inline-flex;gap:8px;align-items:center;text-decoration:none;font-weight:760;margin-top:8px}
.sk-core-text-link span{transition:transform .2s}.sk-core-text-link:hover span{transform:translateX(4px)}

/* Features */
.sk-core-icon{position:relative;display:grid!important;place-items:center;font-size:27px!important;width:58px!important;height:58px!important;margin-bottom:24px;border-radius:17px;background:color-mix(in srgb,var(--sk-core-accent),transparent 90%);color:var(--sk-core-accent);transition:transform .3s ease,background .3s ease}
.sk-core-card:hover .sk-core-icon{transform:rotate(-4deg) scale(1.06);background:color-mix(in srgb,var(--sk-core-accent),transparent 84%)}
.sk-core-features--cards .sk-core-card:after{content:"";position:absolute;width:85px;height:85px;right:-42px;top:-42px;border-radius:50%;background:var(--sk-core-accent);opacity:.07}
.sk-core-features--minimal .sk-core-grid{gap:0;border-top:1px solid var(--sk-core-line)}
.sk-core-features--minimal .sk-core-card{border:0;border-radius:0;box-shadow:none;background:transparent!important;padding:30px 28px;border-bottom:1px solid var(--sk-core-line)}
.sk-core-features--minimal .sk-core-card:hover{transform:none;box-shadow:none;background:rgba(127,127,127,.03)!important}
.sk-core-features--icon-top .sk-core-card{text-align:center;padding-top:42px}
.sk-core-features--icon-top .sk-core-icon{margin-left:auto;margin-right:auto;border-radius:50%}

/* Services */
.sk-core-services--image-cards .sk-core-card{padding-bottom:34px}
.sk-core-services--image-cards .sk-core-card:after{content:"→";position:absolute;right:25px;bottom:22px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--sk-core-accent);color:#fff;font-weight:700}
.sk-core-services--links .sk-core-grid{gap:0;border-top:1px solid var(--sk-core-line)}
.sk-core-services--links .sk-core-card{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:30px;border:0;border-radius:0;box-shadow:none;background:transparent!important;padding:28px 12px;border-bottom:1px solid var(--sk-core-line)}
.sk-core-services--links .sk-core-card:hover{transform:none;box-shadow:none;padding-left:20px;padding-right:20px}
.sk-core-services--links .sk-core-card p{grid-column:1/2;margin-bottom:0}
.sk-core-services--links .sk-core-text-link{grid-column:2;grid-row:1/3;font-size:0}.sk-core-services--links .sk-core-text-link span{font-size:1.5rem}

/* Stats */
.sk-core-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.sk-core-stat{position:relative;text-align:left;padding:30px clamp(22px,3vw,42px);min-width:0}
.sk-core-stat:not(:last-child):after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:currentColor;opacity:.13}
.sk-core-stat strong{font-size:clamp(2.4rem,5vw,5.2rem);letter-spacing:-.06em;display:block;line-height:.9;color:var(--sk-core-accent)}
.sk-section--dark .sk-core-stat strong,.sk-section--accent .sk-core-stat strong{color:#fff}
.sk-core-stat span{display:block;margin-top:14px;opacity:.68;font-size:.9rem;line-height:1.45;max-width:180px}
.sk-core-stats--strip .sk-core-stats-grid{border-top:1px solid currentColor;border-bottom:1px solid currentColor;border-color:rgba(127,127,127,.2)}
.sk-core-stats--cards .sk-core-stats-grid{gap:18px}
.sk-core-stats--cards .sk-core-stat{border:1px solid var(--sk-core-line);border-radius:var(--sk-core-radius-sm);background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.04)}
.sk-section--dark.sk-core-stats--cards .sk-core-stat,.sk-section--accent.sk-core-stats--cards .sk-core-stat{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
.sk-core-stats--cards .sk-core-stat:after{display:none}

/* Gallery / logos */
.sk-core-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sk-core-gallery-item{position:relative;overflow:hidden;border-radius:18px}
.sk-core-gallery-item img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:inherit;transition:transform .5s ease,filter .4s ease}
.sk-core-gallery-item:hover img{transform:scale(1.045)}
.sk-core-gallery--featured{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(160px,1fr)}
.sk-core-gallery--featured .sk-core-gallery-item:first-child{grid-column:span 2;grid-row:span 2}
.sk-core-gallery--featured .sk-core-gallery-item:first-child img{aspect-ratio:1/1}
.sk-core-gallery--masonry{align-items:start}.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(3n+2) img{aspect-ratio:4/5}.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(4n+1) img{aspect-ratio:5/4}
.sk-core-logos .sk-core-gallery{gap:15px}
.sk-core-logos .sk-core-gallery-item{padding:28px;border:1px solid var(--sk-core-line);border-radius:16px;display:flex;align-items:center;justify-content:center;background:#fff;min-height:130px}
.sk-core-logos .sk-core-gallery-item img{object-fit:contain;border-radius:0;max-height:76px;filter:grayscale(1);opacity:.65}.sk-core-logos .sk-core-gallery-item:hover img{filter:grayscale(0);opacity:1;transform:scale(1.03)}
.sk-core-logos--strip .sk-core-gallery{display:flex;flex-wrap:wrap;justify-content:center}.sk-core-logos--strip .sk-core-gallery-item{width:190px}

/* Testimonials */
.sk-core-testimonial{margin:0;padding-top:40px}
.sk-core-testimonial:before{content:"“";position:absolute;left:28px;top:8px;font-family:Georgia,serif;font-size:5rem;line-height:1;color:var(--sk-core-accent);opacity:.22}
.sk-core-testimonial>p{position:relative;font-size:1.08rem;line-height:1.72;color:inherit!important}
.sk-core-testimonial footer{display:flex;flex-direction:column;gap:2px;margin-top:24px;padding-top:18px;border-top:1px solid var(--sk-core-line)}
.sk-core-testimonial footer span{opacity:.6;font-size:.88rem}
.sk-core-testimonials--large-quote .sk-core-grid{display:block;max-width:1000px;margin:auto}.sk-core-testimonials--large-quote .sk-core-testimonial{border:0;box-shadow:none;background:transparent!important;text-align:center;padding:60px 30px 20px}.sk-core-testimonials--large-quote .sk-core-testimonial:hover{transform:none}.sk-core-testimonials--large-quote .sk-core-testimonial:not(:first-child){display:none}.sk-core-testimonials--large-quote .sk-core-testimonial:before{left:50%;top:-10px;transform:translateX(-50%);font-size:8rem}.sk-core-testimonials--large-quote .sk-core-testimonial>p{font-size:clamp(1.6rem,3.4vw,3rem);line-height:1.25;letter-spacing:-.035em}.sk-core-testimonials--large-quote .sk-core-testimonial footer{border:0;align-items:center}
.sk-core-testimonials--compact .sk-core-card{padding:24px;box-shadow:none}.sk-core-testimonials--compact .sk-core-testimonial:before{font-size:3.7rem}

/* Pricing */
.sk-core-price{display:flex;flex-direction:column;min-height:100%}
.sk-core-price h3{font-size:1.4rem}.sk-core-price-value{font-size:clamp(2.5rem,4vw,4rem);font-weight:800;letter-spacing:-.055em;margin:12px 0 20px}.sk-core-price .sk-core-button{margin-top:auto;align-self:flex-start}
.sk-core-pricing--cards .sk-core-card:nth-child(2){transform:translateY(-14px);border-color:color-mix(in srgb,var(--sk-core-accent),transparent 50%);box-shadow:var(--sk-core-shadow)}
.sk-core-pricing--cards .sk-core-card:nth-child(2):before{content:"POPULAR";position:absolute;right:20px;top:18px;padding:6px 9px;border-radius:999px;background:var(--sk-core-accent);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.12em}
.sk-core-pricing--cards .sk-core-card:nth-child(2):hover{transform:translateY(-20px)}
.sk-core-pricing--simple .sk-core-grid{gap:0}.sk-core-pricing--simple .sk-core-card{box-shadow:none;border-radius:0;border-width:0 0 1px;background:transparent!important;padding-left:0;padding-right:0}.sk-core-pricing--simple .sk-core-card:hover{transform:none;box-shadow:none}

/* FAQs */
.sk-core-faqs{max-width:960px;margin:auto}
.sk-core-faq{border:1px solid var(--sk-core-line);background:#fff;border-radius:16px;margin-bottom:12px;overflow:hidden;transition:border-color .25s,box-shadow .25s}
.sk-section--dark .sk-core-faq,.sk-section--accent .sk-core-faq{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.11)}
.sk-core-faq[open]{border-color:color-mix(in srgb,var(--sk-core-accent),transparent 62%);box-shadow:0 14px 36px rgba(15,23,42,.055)}
.sk-core-faq summary{position:relative;cursor:pointer;list-style:none;font-size:1.03rem;font-weight:750;padding:22px 62px 22px 24px}.sk-core-faq summary::-webkit-details-marker{display:none}.sk-core-faq summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--sk-core-accent),transparent 90%);color:var(--sk-core-accent);font-size:1.25rem;transition:transform .25s}.sk-core-faq[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.sk-core-faq>div{padding:0 24px 22px;color:var(--sk-core-muted);line-height:1.72}.sk-section--dark .sk-core-faq>div,.sk-section--accent .sk-core-faq>div{color:rgba(255,255,255,.7)}
.sk-core-faq--two-column .sk-core-faqs{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;align-items:start}.sk-core-faq--two-column .sk-core-faq{margin:0}

/* CTA */
.sk-core-cta-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:45px;padding:clamp(38px,5vw,68px);border-radius:var(--sk-core-radius);overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--sk-core-accent),#111 12%),color-mix(in srgb,var(--sk-core-accent),#000 33%));color:#fff;box-shadow:var(--sk-core-shadow-lg)}
.sk-core-cta-inner:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-130px;top:-210px;border:70px solid rgba(255,255,255,.07)}
.sk-core-cta-inner:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.5px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent 35%,black)}
.sk-core-cta-inner>*{position:relative;z-index:2}.sk-core-cta-inner .sk-core-section-head{margin-bottom:0}.sk-core-cta-inner .sk-core-lead{color:rgba(255,255,255,.76)}.sk-core-cta-inner .sk-core-button{background:#fff;color:#111827!important;box-shadow:none}.sk-core-cta-inner .sk-core-eyebrow{color:#fff}
.sk-core-cta--full>.sk-container{max-width:none;padding-left:0;padding-right:0}.sk-core-cta--full .sk-core-cta-inner{border-radius:0;padding-left:max(28px,calc((100vw - 1240px)/2));padding-right:max(28px,calc((100vw - 1240px)/2))}
.sk-core-cta--split .sk-core-cta-inner{display:grid;grid-template-columns:1fr auto}

/* Contact */
.sk-core-contact-grid{align-items:stretch}
.sk-core-contact-grid>div:first-child{padding:clamp(30px,4vw,52px);border:1px solid var(--sk-core-line);border-radius:var(--sk-core-radius);background:linear-gradient(145deg,#fff,#f8fafb)}
.sk-section--dark .sk-core-contact-grid>div:first-child{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.1)}
.sk-core-contact-grid>div:first-child>p{padding:15px 0;margin:0;border-top:1px solid var(--sk-core-line)}
.sk-core-contact-grid a{text-decoration:none;font-weight:700}
.sk-core-contact-form{padding:0;border-radius:0;background:transparent;box-shadow:none;color:var(--sk-core-ink)}
.sk-core-contact-form>:first-child{margin-top:0}

/* Intro variants */
.sk-core-intro--narrow .sk-core-section-head{max-width:720px}.sk-core-intro--wide .sk-core-section-head{max-width:1040px}.sk-core-intro--wide .sk-core-section-head h2{max-width:950px}
.sk-core-intro--centered .sk-core-section-head{max-width:900px}.sk-core-intro--centered .sk-core-lead{max-width:800px;margin:auto}

/* Spacer */
.sk-core-spacer-inner{height:42px}.sk-core-spacer--small .sk-core-spacer-inner{height:10px}.sk-core-spacer--medium .sk-core-spacer-inner{height:42px}.sk-core-spacer--large .sk-core-spacer-inner{height:96px}

/* WooCommerce blocks inside custom sections */
.sk-core-custom_html ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0!important;padding:0!important}
.sk-core-custom_html ul.products:before,.sk-core-custom_html ul.products:after{display:none!important}
.sk-core-custom_html ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:0 0 22px!important;background:#fff;border:1px solid var(--sk-core-line);border-radius:18px;overflow:hidden;box-shadow:0 10px 32px rgba(15,23,42,.04);transition:transform .3s,box-shadow .3s}
.sk-core-custom_html ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--sk-core-shadow)}
.sk-core-custom_html ul.products li.product img{margin:0 0 20px!important;width:100%!important;aspect-ratio:1/1;object-fit:cover}
.sk-core-custom_html ul.products li.product .woocommerce-loop-product__title,.sk-core-custom_html ul.products li.product .price,.sk-core-custom_html ul.products li.product .button{margin-left:20px!important;margin-right:20px!important}
.sk-core-custom_html ul.products li.product .woocommerce-loop-product__title{font-size:1.04rem!important;padding:0!important}.sk-core-custom_html ul.products li.product .price{font-weight:800;color:var(--sk-core-ink)!important}.sk-core-custom_html ul.products li.product .button{display:inline-flex!important;border-radius:999px!important;padding:11px 17px!important;background:var(--sk-core-accent)!important;color:#fff!important}

@media(max-width:1024px){
 .sk-core-hero-inner,.sk-core-split,.sk-core-contact-grid{gap:45px}
 .sk-core-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sk-core-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}
 .sk-core-stat:nth-child(2):after{display:none}
 .sk-core-custom_html ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sk-core-pricing--cards .sk-core-card:nth-child(2){transform:none}.sk-core-pricing--cards .sk-core-card:nth-child(2):hover{transform:translateY(-6px)}
}
@media(max-width:900px){
 .sk-core-page .sk-section{padding:72px 0}.sk-core-page .sk-section--large{padding-top:92px;padding-bottom:92px}
 .sk-core-hero-inner,.sk-core-split,.sk-core-contact-grid{grid-template-columns:1fr;gap:38px}
 .sk-core-image_text--image-right .sk-core-split-media{order:0}
 .sk-core-image_text--overlap .sk-core-split{grid-template-columns:1fr;gap:0}.sk-core-image_text--overlap .sk-core-split-copy{margin:-65px 22px 0}
 .sk-core-hero--card .sk-core-hero-inner{grid-template-columns:1fr}.sk-core-hero--card .sk-core-hero-copy{margin:0 20px -80px;order:2}.sk-core-hero--card .sk-core-hero-media{order:1}.sk-core-hero--card .sk-core-hero-media img{min-height:520px}
 .sk-core-hero--split .sk-core-hero-media:after{display:none}
 .sk-core-gallery{grid-template-columns:repeat(2,1fr)}
 .sk-core-cta-inner{align-items:flex-start;flex-direction:column}.sk-core-cta--split .sk-core-cta-inner{grid-template-columns:1fr}
 .sk-core-faq--two-column .sk-core-faqs{grid-template-columns:1fr}
}
@media(max-width:640px){
 .sk-core-page .sk-section{padding:60px 0}.sk-core-page .sk-section--large{padding-top:76px;padding-bottom:76px}
 .sk-core-hero-copy h1{font-size:clamp(2.65rem,14vw,4.5rem)}
 .sk-core-section-head h2{font-size:clamp(2rem,10vw,3.25rem)}
 .sk-core-grid--3{grid-template-columns:1fr}
 .sk-core-stats-grid{grid-template-columns:1fr 1fr}.sk-core-stat{padding:23px 12px}.sk-core-stat strong{font-size:2.5rem}.sk-core-stat span{font-size:.78rem}.sk-core-stat:nth-child(odd):after{display:block}.sk-core-stat:nth-child(even):after{display:none}
 .sk-core-gallery{gap:9px}.sk-core-gallery--featured{grid-auto-rows:120px}.sk-core-gallery--featured .sk-core-gallery-item:first-child{grid-column:span 2;grid-row:span 2}
 .sk-core-image_text--overlap .sk-core-split-copy{margin:-42px 12px 0;padding:28px}
 .sk-core-hero--card .sk-core-hero-copy{margin:0 10px -55px;padding:30px}.sk-core-hero--card .sk-core-hero-media img{min-height:420px}
 .sk-core-hero--background{min-height:650px;padding-top:110px;padding-bottom:85px}
 .sk-core-custom_html ul.products{grid-template-columns:1fr 1fr;gap:12px}.sk-core-custom_html ul.products li.product .woocommerce-loop-product__title,.sk-core-custom_html ul.products li.product .price,.sk-core-custom_html ul.products li.product .button{margin-left:13px!important;margin-right:13px!important}.sk-core-custom_html ul.products li.product .button{font-size:.78rem!important}
 .sk-core-services--links .sk-core-card{grid-template-columns:1fr auto}
}


/* =========================================================
   SK Core 1.2 — Premium hero, CTA and information displays
   ========================================================= */

/* Shared premium details */
.sk-core-page .sk-core-button{min-height:50px;padding:14px 24px;gap:10px;box-shadow:0 10px 26px rgba(15,23,42,.12)}
.sk-core-page .sk-core-button--secondary{box-shadow:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.sk-core-page .sk-core-eyebrow{display:inline-flex;align-items:center;gap:10px}
.sk-core-page .sk-core-eyebrow:before{content:"";width:26px;height:1px;background:currentColor;opacity:.55}

/* Full-bleed premium hero family */
.sk-core-hero--background,
.sk-core-hero--image-center,
.sk-core-hero--image-bottom,
.sk-core-hero--glass,
.sk-core-hero--cinematic{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  min-height:clamp(640px,82vh,900px);
  padding-top:0!important;
  padding-bottom:0!important;
  overflow:hidden;
  background:#0c1117;
  color:#fff;
}
.sk-core-hero--background>.sk-container,
.sk-core-hero--image-center>.sk-container,
.sk-core-hero--image-bottom>.sk-container,
.sk-core-hero--glass>.sk-container,
.sk-core-hero--cinematic>.sk-container{width:100%;position:relative;z-index:2;padding-top:clamp(110px,14vh,180px);padding-bottom:clamp(90px,12vh,150px)}
.sk-core-hero--background .sk-core-hero-inner,
.sk-core-hero--image-center .sk-core-hero-inner,
.sk-core-hero--image-bottom .sk-core-hero-inner,
.sk-core-hero--glass .sk-core-hero-inner,
.sk-core-hero--cinematic .sk-core-hero-inner{display:block;position:static}
.sk-core-hero--background .sk-core-hero-media,
.sk-core-hero--image-center .sk-core-hero-media,
.sk-core-hero--image-bottom .sk-core-hero-media,
.sk-core-hero--glass .sk-core-hero-media,
.sk-core-hero--cinematic .sk-core-hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.sk-core-hero--background .sk-core-hero-media img,
.sk-core-hero--image-center .sk-core-hero-media img,
.sk-core-hero--image-bottom .sk-core-hero-media img,
.sk-core-hero--glass .sk-core-hero-media img,
.sk-core-hero--cinematic .sk-core-hero-media img{width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;transform:scale(1.01)}
.sk-core-hero--background .sk-core-hero-media .sk-core-image-placeholder,
.sk-core-hero--image-center .sk-core-hero-media .sk-core-image-placeholder,
.sk-core-hero--image-bottom .sk-core-hero-media .sk-core-image-placeholder,
.sk-core-hero--glass .sk-core-hero-media .sk-core-image-placeholder,
.sk-core-hero--cinematic .sk-core-hero-media .sk-core-image-placeholder{width:100%;height:100%;min-height:100%;border-radius:0;background:linear-gradient(135deg,#121a24,#293443)}
.sk-core-hero--background:after,
.sk-core-hero--image-center:after,
.sk-core-hero--image-bottom:after,
.sk-core-hero--glass:after,
.sk-core-hero--cinematic:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.sk-core-hero--background .sk-core-hero-copy,
.sk-core-hero--image-center .sk-core-hero-copy,
.sk-core-hero--image-bottom .sk-core-hero-copy,
.sk-core-hero--glass .sk-core-hero-copy,
.sk-core-hero--cinematic .sk-core-hero-copy{color:#fff;max-width:760px}
.sk-core-hero--background .sk-core-hero-copy h1,
.sk-core-hero--image-center .sk-core-hero-copy h1,
.sk-core-hero--image-bottom .sk-core-hero-copy h1,
.sk-core-hero--glass .sk-core-hero-copy h1,
.sk-core-hero--cinematic .sk-core-hero-copy h1{font-size:clamp(3rem,6.8vw,7rem);line-height:.94;letter-spacing:-.055em;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.12)}
.sk-core-hero--background .sk-core-lead,
.sk-core-hero--image-center .sk-core-lead,
.sk-core-hero--image-bottom .sk-core-lead,
.sk-core-hero--glass .sk-core-lead,
.sk-core-hero--cinematic .sk-core-lead{max-width:640px;font-size:clamp(1.05rem,1.5vw,1.22rem);color:rgba(255,255,255,.84)}
.sk-core-hero--background .sk-core-button--secondary,
.sk-core-hero--image-center .sk-core-button--secondary,
.sk-core-hero--image-bottom .sk-core-button--secondary,
.sk-core-hero--glass .sk-core-button--secondary,
.sk-core-hero--cinematic .sk-core-button--secondary{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.06)}

/* Left overlay */
.sk-core-hero--background:after{background:linear-gradient(90deg,rgba(6,10,15,.86) 0%,rgba(6,10,15,.66) 40%,rgba(6,10,15,.20) 72%,rgba(6,10,15,.08) 100%),linear-gradient(0deg,rgba(4,7,11,.24),transparent 45%)}
.sk-core-hero--background .sk-core-hero-copy{max-width:720px}

/* Centered editorial overlay */
.sk-core-hero--image-center:after{background:linear-gradient(180deg,rgba(5,8,12,.42),rgba(5,8,12,.56)),radial-gradient(circle at 50% 35%,transparent 0,rgba(0,0,0,.18) 70%)}
.sk-core-hero--image-center>.sk-container{display:flex;justify-content:center;text-align:center}
.sk-core-hero--image-center .sk-core-hero-copy{max-width:980px;margin:auto}
.sk-core-hero--image-center .sk-core-lead{margin-left:auto;margin-right:auto}
.sk-core-hero--image-center .sk-core-actions{justify-content:center}
.sk-core-hero--image-center .sk-core-eyebrow{justify-content:center}

/* Bottom editorial */
.sk-core-hero--image-bottom{align-items:flex-end;min-height:clamp(700px,90vh,980px)}
.sk-core-hero--image-bottom:after{background:linear-gradient(180deg,rgba(5,8,12,.08) 25%,rgba(5,8,12,.30) 55%,rgba(5,8,12,.92) 100%)}
.sk-core-hero--image-bottom>.sk-container{padding-top:200px;padding-bottom:clamp(55px,8vh,100px)}
.sk-core-hero--image-bottom .sk-core-hero-copy{max-width:980px}
.sk-core-hero--image-bottom .sk-core-hero-copy h1{max-width:940px}

/* Glass card overlay */
.sk-core-hero--glass:after{background:linear-gradient(90deg,rgba(5,8,12,.42),rgba(5,8,12,.14))}
.sk-core-hero--glass .sk-core-hero-copy{padding:clamp(30px,5vw,58px);max-width:720px;border:1px solid rgba(255,255,255,.22);border-radius:28px;background:rgba(10,15,22,.46);box-shadow:0 30px 90px rgba(0,0,0,.30);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
.sk-core-hero--glass .sk-core-hero-copy h1{font-size:clamp(2.8rem,5.5vw,5.7rem)}

/* Cinematic */
.sk-core-hero--cinematic{min-height:clamp(720px,92vh,1020px);align-items:flex-end}
.sk-core-hero--cinematic:before{content:"";position:absolute;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);top:clamp(20px,4vw,64px);bottom:clamp(20px,4vw,64px);border:1px solid rgba(255,255,255,.24);z-index:1;pointer-events:none;border-radius:2px}
.sk-core-hero--cinematic:after{background:linear-gradient(180deg,rgba(4,7,10,.08) 10%,rgba(4,7,10,.18) 45%,rgba(4,7,10,.88) 100%)}
.sk-core-hero--cinematic>.sk-container{padding-top:220px;padding-bottom:clamp(80px,10vh,130px)}
.sk-core-hero--cinematic .sk-core-hero-copy{max-width:900px}
.sk-core-hero--cinematic .sk-core-hero-copy h1{font-weight:560;max-width:900px}

/* CTA structure */
.sk-core-cta-shell{position:relative;isolation:isolate}
.sk-core-cta-media{position:absolute;inset:0;z-index:-2;overflow:hidden;border-radius:inherit}
.sk-core-cta-media img,.sk-core-cta-media .sk-core-image-placeholder{width:100%;height:100%;min-height:100%;object-fit:cover;border-radius:inherit}
.sk-core-cta-inner{position:relative;z-index:1}
.sk-core-cta-inner .sk-core-actions{margin-top:0;justify-content:flex-end}

/* Premium gradient CTA */
.sk-core-cta--gradient .sk-core-cta-shell{overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#0f1722 0%,#182738 48%,var(--sk-accent,#2271b1) 150%);box-shadow:0 30px 80px rgba(15,23,42,.16)}
.sk-core-cta--gradient .sk-core-cta-shell:before{content:"";position:absolute;width:420px;height:420px;right:-140px;top:-230px;border-radius:50%;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.sk-core-cta--gradient .sk-core-cta-inner{background:transparent;color:#fff;padding:clamp(36px,6vw,72px)}
.sk-core-cta--gradient .sk-core-section-head{max-width:760px}
.sk-core-cta--gradient .sk-core-button--secondary{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.06)}

/* Glass CTA */
.sk-core-cta--glass{background:linear-gradient(180deg,transparent,rgba(100,110,120,.06),transparent)}
.sk-core-cta--glass .sk-core-cta-shell{padding:1px;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.65),rgba(120,130,140,.15))}
.sk-core-cta--glass .sk-core-cta-inner{border-radius:29px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(15,23,42,.08)}
.sk-section--dark.sk-core-cta--glass .sk-core-cta-inner{background:rgba(16,23,32,.66);color:#fff}

/* Image CTA */
.sk-core-cta--image .sk-core-cta-shell{overflow:hidden;border-radius:30px;min-height:430px;display:flex;align-items:center;background:#111820}
.sk-core-cta--image .sk-core-cta-shell:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,10,15,.88),rgba(6,10,15,.54) 50%,rgba(6,10,15,.12))}
.sk-core-cta--image .sk-core-cta-inner{width:100%;background:transparent;color:#fff;padding:clamp(45px,7vw,85px)}
.sk-core-cta--image .sk-core-section-head{max-width:680px}
.sk-core-cta--image .sk-core-button--secondary{border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.05)}

/* Minimal editorial CTA */
.sk-core-cta--minimal .sk-core-cta-inner{padding:28px 0;border-radius:0;background:transparent;border-top:1px solid rgba(120,130,140,.25);border-bottom:1px solid rgba(120,130,140,.25)}
.sk-core-cta--minimal .sk-core-section-head h2{font-size:clamp(2.2rem,4.6vw,4.6rem);max-width:900px}

/* Existing full/split CTA, refined */
.sk-core-cta--boxed .sk-core-cta-inner{padding:clamp(36px,5vw,60px);border:1px solid rgba(120,130,140,.16);box-shadow:0 24px 60px rgba(20,25,35,.07)}
.sk-core-cta--full .sk-core-cta-shell{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.sk-core-cta--full .sk-core-cta-inner{padding-top:clamp(55px,7vw,90px);padding-bottom:clamp(55px,7vw,90px);background:linear-gradient(135deg,#111923,#1e2937);color:#fff}
.sk-core-cta--split .sk-core-cta-inner{padding:clamp(38px,5vw,64px);border-left:4px solid var(--sk-accent,#2271b1)}

/* Information Display */
.sk-core-info .sk-core-section-head{margin-bottom:clamp(35px,5vw,60px)}
.sk-core-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sk-core-info-item{position:relative;padding:30px;border-radius:20px}
.sk-core-info-item h3{font-size:1.2rem;margin:10px 0 10px;letter-spacing:-.02em}
.sk-core-info-item p{margin:0;color:inherit;opacity:.72;line-height:1.7}
.sk-core-info-icon{width:44px!important;height:44px!important;font-size:24px!important;display:grid!important;place-items:center;border-radius:13px;background:rgba(34,113,177,.10);color:var(--sk-accent,#2271b1);margin-bottom:22px}
.sk-core-info-value{font-size:clamp(1.8rem,3vw,3.3rem);line-height:1;font-weight:760;letter-spacing:-.045em;margin-bottom:16px;color:var(--sk-accent,#2271b1)}

.sk-core-info--premium-cards .sk-core-info-item{background:#fff;border:1px solid rgba(100,110,120,.14);box-shadow:0 16px 45px rgba(15,23,42,.055);transition:transform .25s ease,box-shadow .25s ease}
.sk-core-info--premium-cards .sk-core-info-item:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(15,23,42,.10)}
.sk-section--dark.sk-core-info--premium-cards .sk-core-info-item{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12);box-shadow:none}

.sk-core-info--numbered .sk-core-info-grid{counter-reset:skinfo}
.sk-core-info--numbered .sk-core-info-item{padding:30px 30px 30px 0;border-top:1px solid rgba(120,130,140,.23);border-radius:0}
.sk-core-info--numbered .sk-core-info-value{font-size:1rem;letter-spacing:.08em;font-weight:700;opacity:.55}
.sk-core-info--numbered .sk-core-info-item h3{font-size:1.35rem}

.sk-core-info--split-facts .sk-core-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(120,130,140,.18);border:1px solid rgba(120,130,140,.18);border-radius:24px;overflow:hidden}
.sk-core-info--split-facts .sk-core-info-item{background:var(--sk-surface,#fff);border-radius:0;padding:clamp(28px,4vw,48px)}
.sk-section--dark.sk-core-info--split-facts .sk-core-info-item{background:#141d27}
.sk-core-info--split-facts .sk-core-info-value{font-size:clamp(2.5rem,5vw,5rem)}

.sk-core-info--horizontal .sk-core-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid rgba(120,130,140,.22);border-bottom:1px solid rgba(120,130,140,.22)}
.sk-core-info--horizontal .sk-core-info-item{border-radius:0;padding:30px 26px;border-right:1px solid rgba(120,130,140,.18)}
.sk-core-info--horizontal .sk-core-info-item:last-child{border-right:0}
.sk-core-info--horizontal .sk-core-info-icon{background:transparent;padding:0;width:30px!important;height:30px!important;display:block!important}
.sk-core-info--horizontal .sk-core-info-value{font-size:2.1rem}

.sk-core-info--dark-panels .sk-core-info-grid{gap:14px}
.sk-core-info--dark-panels .sk-core-info-item{min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:linear-gradient(150deg,#101821,#1d2b39);color:#fff;border:1px solid rgba(255,255,255,.08)}
.sk-core-info--dark-panels .sk-core-info-item:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-70px;top:-70px;border:1px solid rgba(255,255,255,.10);box-shadow:0 0 0 42px rgba(255,255,255,.018)}
.sk-core-info--dark-panels .sk-core-info-icon{background:rgba(255,255,255,.08);color:#fff}
.sk-core-info--dark-panels .sk-core-info-value{color:#fff}
.sk-core-info--dark-panels .sk-core-info-item p{color:rgba(255,255,255,.68)}

.sk-core-info--editorial .sk-core-info-grid{grid-template-columns:1fr}
.sk-core-info--editorial .sk-core-info-item{display:grid;grid-template-columns:minmax(90px,150px) minmax(180px,.7fr) 1.3fr;gap:clamp(20px,4vw,60px);align-items:start;padding:28px 0;border-radius:0;border-top:1px solid rgba(120,130,140,.23)}
.sk-core-info--editorial .sk-core-info-item:last-child{border-bottom:1px solid rgba(120,130,140,.23)}
.sk-core-info--editorial .sk-core-info-value{margin:0;font-size:1.15rem;letter-spacing:.02em}
.sk-core-info--editorial .sk-core-info-item h3{margin:0;font-size:1.3rem}

@media(max-width:900px){
  .sk-core-hero--background,.sk-core-hero--image-center,.sk-core-hero--image-bottom,.sk-core-hero--glass,.sk-core-hero--cinematic{min-height:650px}
  .sk-core-hero--background:after{background:linear-gradient(90deg,rgba(6,10,15,.82),rgba(6,10,15,.48)),linear-gradient(0deg,rgba(4,7,11,.42),transparent 60%)}
  .sk-core-hero--glass .sk-core-hero-copy{max-width:640px}
  .sk-core-cta-inner,.sk-core-cta--split .sk-core-cta-inner{display:flex;flex-direction:column;align-items:flex-start}
  .sk-core-cta-inner .sk-core-actions{justify-content:flex-start}
  .sk-core-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sk-core-info--horizontal .sk-core-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sk-core-info--horizontal .sk-core-info-item:nth-child(2){border-right:0}
  .sk-core-info--horizontal .sk-core-info-item:nth-child(-n+2){border-bottom:1px solid rgba(120,130,140,.18)}
}
@media(max-width:620px){
  .sk-core-hero--background,.sk-core-hero--image-center,.sk-core-hero--image-bottom,.sk-core-hero--glass,.sk-core-hero--cinematic{min-height:620px}
  .sk-core-hero--background>.sk-container,.sk-core-hero--image-center>.sk-container,.sk-core-hero--image-bottom>.sk-container,.sk-core-hero--glass>.sk-container,.sk-core-hero--cinematic>.sk-container{padding-top:110px;padding-bottom:70px}
  .sk-core-hero--background .sk-core-hero-copy h1,.sk-core-hero--image-center .sk-core-hero-copy h1,.sk-core-hero--image-bottom .sk-core-hero-copy h1,.sk-core-hero--glass .sk-core-hero-copy h1,.sk-core-hero--cinematic .sk-core-hero-copy h1{font-size:clamp(2.6rem,14vw,4.4rem)}
  .sk-core-hero--glass .sk-core-hero-copy{padding:26px;border-radius:20px}
  .sk-core-hero--cinematic:before{inset:14px}
  .sk-core-info-grid,.sk-core-info--split-facts .sk-core-info-grid,.sk-core-info--horizontal .sk-core-info-grid{grid-template-columns:1fr}
  .sk-core-info--horizontal .sk-core-info-item{border-right:0;border-bottom:1px solid rgba(120,130,140,.18)}
  .sk-core-info--horizontal .sk-core-info-item:last-child{border-bottom:0}
  .sk-core-info--editorial .sk-core-info-item{grid-template-columns:1fr;gap:8px}
  .sk-core-info--editorial .sk-core-info-item p{margin-top:6px}
  .sk-core-cta--image .sk-core-cta-shell{min-height:500px}
}

/* =========================================================
   SK Core 1.3 — refined premium design system
   Keeps 1.1 visual quality, adds 1.2+ variety, fixes full hero overlays
   ========================================================= */
.sk-core-page{
  --sk-core-accent:var(--sk-accent,var(--sk-primary,#2271b1));
  --sk-core-primary:var(--sk-primary,var(--sk-accent,#2271b1));
  --sk-core-text:var(--sk-text,#111827);
  --sk-core-muted:var(--sk-muted,#667085);
  --sk-core-soft:var(--sk-bg-soft,#f5f7f8);
  --sk-core-border:var(--sk-border,rgba(17,24,39,.10));
  --sk-core-radius:var(--sk-radius,24px);
  --sk-core-radius-sm:var(--sk-radius-sm,16px);
}
.sk-core-page .sk-section{scroll-margin-top:110px}
.sk-core-page .sk-core-card,.sk-core-page .sk-core-info-item,.sk-core-page .sk-core-cta-inner{will-change:transform}

/* True full-bleed hero rendering */
.sk-core-hero--background,.sk-core-hero--image-right,.sk-core-hero--image-center,.sk-core-hero--image-bottom,.sk-core-hero--glass,.sk-core-hero--cinematic,.sk-core-hero--panel,.sk-core-hero--editorial{
  position:relative!important;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:clamp(680px,86vh,940px);padding:0!important;background:#0b1118;color:#fff
}
.sk-core-hero-backdrop,.sk-core-hero-overlay{position:absolute;inset:0;pointer-events:none}
.sk-core-hero-backdrop{z-index:0;overflow:hidden;background:#0b1118}
.sk-core-hero-backdrop img,.sk-core-hero-bg-placeholder{width:100%;height:100%;min-height:100%;max-width:none!important;display:block;object-fit:cover;border-radius:0!important;box-shadow:none!important}
.sk-core-hero-bg-placeholder{background:radial-gradient(circle at 72% 28%,color-mix(in srgb,var(--sk-core-accent),transparent 62%),transparent 28%),linear-gradient(135deg,#101923,#263444)}
.sk-core-hero-overlay{z-index:1;background:rgba(5,9,14,.42)}
.sk-core-hero-content{position:relative!important;z-index:3!important;width:100%;padding-top:clamp(130px,16vh,190px);padding-bottom:clamp(105px,13vh,160px)}
.sk-core-hero-content .sk-core-hero-inner{display:block!important;position:relative;z-index:3}
.sk-core-hero-content .sk-core-hero-copy{position:relative;z-index:3;color:#fff;max-width:760px}
.sk-core-hero-content .sk-core-hero-copy h1{font-size:clamp(3.15rem,6.8vw,7.1rem);line-height:.92;letter-spacing:-.062em;margin:.22em 0 .28em;text-wrap:balance;color:#fff;text-shadow:0 3px 28px rgba(0,0,0,.18)}
.sk-core-hero-content .sk-core-lead{max-width:660px;color:rgba(255,255,255,.84);font-size:clamp(1.03rem,1.4vw,1.22rem)}
.sk-core-hero-content .sk-core-eyebrow{color:#fff;opacity:.9}
.sk-core-hero-content .sk-core-button--secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.48);color:#fff!important}

.sk-core-hero--background .sk-core-hero-overlay{background:linear-gradient(90deg,rgba(4,8,13,.92) 0%,rgba(4,8,13,.72) 43%,rgba(4,8,13,.30) 70%,rgba(4,8,13,.12) 100%),linear-gradient(0deg,rgba(4,8,13,.18),transparent 55%)}
.sk-core-hero--image-right .sk-core-hero-overlay{background:linear-gradient(270deg,rgba(4,8,13,.91) 0%,rgba(4,8,13,.68) 43%,rgba(4,8,13,.22) 72%,rgba(4,8,13,.10) 100%)}
.sk-core-hero--image-right .sk-core-hero-content .sk-core-hero-copy{margin-left:auto;text-align:right}
.sk-core-hero--image-right .sk-core-actions{justify-content:flex-end}
.sk-core-hero--image-right .sk-core-eyebrow{justify-content:flex-end}
.sk-core-hero--image-center .sk-core-hero-overlay{background:linear-gradient(180deg,rgba(4,8,13,.45),rgba(4,8,13,.56)),radial-gradient(circle at 50% 42%,rgba(0,0,0,.04),rgba(0,0,0,.30) 75%)}
.sk-core-hero--image-center .sk-core-hero-copy{max-width:990px!important;margin:auto;text-align:center}
.sk-core-hero--image-center .sk-core-lead{margin-left:auto;margin-right:auto}.sk-core-hero--image-center .sk-core-actions{justify-content:center}.sk-core-hero--image-center .sk-core-eyebrow{justify-content:center}
.sk-core-hero--image-bottom{align-items:flex-end;min-height:clamp(720px,92vh,1020px)}
.sk-core-hero--image-bottom .sk-core-hero-overlay{background:linear-gradient(180deg,rgba(4,8,13,.08) 15%,rgba(4,8,13,.24) 50%,rgba(4,8,13,.94) 100%)}
.sk-core-hero--image-bottom .sk-core-hero-content{padding-top:240px;padding-bottom:clamp(70px,9vh,115px)}
.sk-core-hero--image-bottom .sk-core-hero-copy{max-width:980px!important}
.sk-core-hero--glass .sk-core-hero-overlay{background:linear-gradient(90deg,rgba(4,8,13,.50),rgba(4,8,13,.16))}
.sk-core-hero--glass .sk-core-hero-copy{padding:clamp(32px,5vw,62px);max-width:730px!important;border:1px solid rgba(255,255,255,.24);border-radius:calc(var(--sk-core-radius) + 6px);background:linear-gradient(135deg,rgba(12,18,26,.64),rgba(12,18,26,.36));box-shadow:0 34px 100px rgba(0,0,0,.32);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%)}
.sk-core-hero--glass .sk-core-hero-copy:before{content:"";position:absolute;inset:1px;border-radius:inherit;border:1px solid rgba(255,255,255,.06);pointer-events:none}
.sk-core-hero--cinematic{align-items:flex-end;min-height:clamp(760px,94vh,1080px)}
.sk-core-hero--cinematic .sk-core-hero-overlay{background:linear-gradient(180deg,rgba(2,5,8,.04) 15%,rgba(2,5,8,.18) 52%,rgba(2,5,8,.92) 100%)}
.sk-core-hero--cinematic:before{content:"";position:absolute;z-index:2;inset:clamp(20px,3vw,44px);border:1px solid rgba(255,255,255,.28);border-radius:4px;pointer-events:none}
.sk-core-hero--cinematic .sk-core-hero-content{padding-top:240px;padding-bottom:clamp(90px,11vh,135px)}
.sk-core-hero--cinematic .sk-core-hero-copy{max-width:930px!important}
.sk-core-hero--panel .sk-core-hero-overlay{background:linear-gradient(90deg,rgba(3,7,11,.60),rgba(3,7,11,.18))}
.sk-core-hero--panel .sk-core-hero-copy{padding:clamp(38px,6vw,76px);max-width:760px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--sk-core-primary),#081018 28%),color-mix(in srgb,var(--sk-core-primary),#000 46%));border-radius:4px 34px 34px 4px;box-shadow:0 36px 100px rgba(0,0,0,.32)}
.sk-core-hero--panel .sk-core-hero-copy:after{content:"";position:absolute;top:0;bottom:0;left:-100vw;width:100vw;background:inherit}
.sk-core-hero--editorial .sk-core-hero-overlay{background:linear-gradient(90deg,rgba(4,8,13,.80),rgba(4,8,13,.20)),linear-gradient(0deg,rgba(4,8,13,.42),transparent 60%)}
.sk-core-hero--editorial .sk-core-hero-copy{max-width:820px!important;padding-left:clamp(28px,4vw,62px);border-left:1px solid rgba(255,255,255,.5)}
.sk-core-hero--editorial .sk-core-hero-copy:before{content:"";position:absolute;left:-5px;top:0;width:9px;height:80px;background:var(--sk-core-accent);border-radius:999px}

/* Split / centered / floating hero refinements */
.sk-core-hero--split .sk-core-hero-inner{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr)}
.sk-core-hero--split .sk-core-hero-media img{border-radius:calc(var(--sk-core-radius) + 8px);box-shadow:0 38px 110px rgba(15,23,42,.18)}
.sk-core-hero--split .sk-core-hero-media:before{inset:9% -7% -8% 9%;border-radius:calc(var(--sk-core-radius) + 8px);background:linear-gradient(145deg,var(--sk-core-accent),var(--sk-core-primary));opacity:.12}
.sk-core-hero--centered .sk-core-hero-copy h1{max-width:1050px;margin-left:auto;margin-right:auto}
.sk-core-hero--card .sk-core-hero-copy{border:1px solid color-mix(in srgb,var(--sk-core-accent),transparent 88%);box-shadow:0 40px 110px rgba(15,23,42,.16)}

/* Intro variations */
.sk-core-intro--statement .sk-core-section-head{max-width:1120px}.sk-core-intro--statement .sk-core-section-head h2{font-size:clamp(2.7rem,5.6vw,5.8rem);line-height:.98;letter-spacing:-.055em}.sk-core-intro--statement .sk-core-lead{max-width:760px;font-size:1.16rem}
.sk-core-intro--editorial .sk-core-section-head{max-width:none;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,7vw,110px);align-items:start}.sk-core-intro--editorial .sk-core-section-head h2{margin-top:0}.sk-core-intro--editorial .sk-core-lead{padding-top:8px;border-top:1px solid var(--sk-core-border)}

/* Image + text variations */
.sk-core-image_text--framed .sk-core-split-media{padding:clamp(16px,2vw,24px);border:1px solid var(--sk-core-border);border-radius:calc(var(--sk-core-radius) + 8px);background:linear-gradient(145deg,#fff,var(--sk-core-soft));box-shadow:var(--sk-core-shadow)}
.sk-core-image_text--framed .sk-core-split-media img{min-height:480px}
.sk-core-image_text--editorial .sk-core-split{align-items:stretch}.sk-core-image_text--editorial .sk-core-split-media img{height:100%;min-height:580px;border-radius:4px}.sk-core-image_text--editorial .sk-core-split-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(18px,4vw,50px) 0}
.sk-core-image_text--soft-card .sk-core-split{padding:clamp(24px,4vw,52px);border-radius:calc(var(--sk-core-radius) + 12px);background:var(--sk-core-soft)}.sk-core-image_text--soft-card .sk-core-split-media img{min-height:430px}

/* Feature variations */
.sk-core-features--bento .sk-core-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense}.sk-core-features--bento .sk-core-card{grid-column:span 2;min-height:245px}.sk-core-features--bento .sk-core-card:nth-child(1),.sk-core-features--bento .sk-core-card:nth-child(5){grid-column:span 3;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--sk-core-accent),#fff 95%))}.sk-core-features--bento .sk-core-icon{width:54px!important;height:54px!important;display:grid!important;place-items:center;border-radius:17px;background:color-mix(in srgb,var(--sk-core-accent),transparent 90%);color:var(--sk-core-accent)}
.sk-core-features--outlined .sk-core-card{background:transparent!important;box-shadow:none;border:1px solid color-mix(in srgb,var(--sk-core-accent),transparent 78%)}.sk-core-features--outlined .sk-core-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--sk-core-accent);transform:scaleY(.24);transform-origin:top;transition:transform .3s ease}.sk-core-features--outlined .sk-core-card:hover:before{transform:scaleY(1)}
.sk-core-features--accent-cards .sk-core-card{border:0;background:linear-gradient(145deg,color-mix(in srgb,var(--sk-core-accent),#fff 94%),#fff);box-shadow:0 18px 50px color-mix(in srgb,var(--sk-core-accent),transparent 92%)}.sk-core-features--accent-cards .sk-core-card:nth-child(even){background:linear-gradient(145deg,#101923,#172432);color:#fff}.sk-core-features--accent-cards .sk-core-card:nth-child(even) p{color:rgba(255,255,255,.7)}.sk-core-features--accent-cards .sk-core-card:nth-child(even) .sk-core-icon{color:#fff}

/* Service variations */
.sk-core-services--editorial .sk-core-grid{grid-template-columns:1fr}.sk-core-services--editorial .sk-core-card{display:grid;grid-template-columns:minmax(170px,.55fr) 1fr auto;gap:clamp(22px,4vw,60px);align-items:center;padding:28px 0;border-width:1px 0 0;border-radius:0;box-shadow:none!important;background:transparent!important}.sk-core-services--editorial .sk-core-card:last-child{border-bottom:1px solid var(--sk-core-border)}.sk-core-services--editorial .sk-core-card h3{font-size:clamp(1.35rem,2.1vw,2rem);margin:0}.sk-core-services--editorial .sk-core-card p{margin:0}.sk-core-services--editorial .sk-core-card-image{width:100%;height:120px;margin:0;border-radius:14px;object-fit:cover}
.sk-core-services--bento .sk-core-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense}.sk-core-services--bento .sk-core-card{grid-column:span 2;min-height:300px}.sk-core-services--bento .sk-core-card:nth-child(1),.sk-core-services--bento .sk-core-card:nth-child(4){grid-column:span 4}.sk-core-services--bento .sk-core-card-image{aspect-ratio:16/8}
.sk-core-services--overlay-cards .sk-core-card{min-height:430px;padding:0;display:flex;align-items:flex-end;border:0;background:#101820!important;color:#fff;box-shadow:0 25px 70px rgba(15,23,42,.14)}.sk-core-services--overlay-cards .sk-core-card-image{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;border-radius:inherit;opacity:.72;transition:transform .5s ease,opacity .3s ease}.sk-core-services--overlay-cards .sk-core-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,12,.04),rgba(5,8,12,.9));z-index:1}.sk-core-services--overlay-cards .sk-core-card h3,.sk-core-services--overlay-cards .sk-core-card p,.sk-core-services--overlay-cards .sk-core-text-link{position:relative;z-index:2;margin-left:28px;margin-right:28px}.sk-core-services--overlay-cards .sk-core-card h3{margin-top:auto;margin-bottom:10px}.sk-core-services--overlay-cards .sk-core-card p{color:rgba(255,255,255,.75)}.sk-core-services--overlay-cards .sk-core-text-link{margin-bottom:30px;color:#fff}.sk-core-services--overlay-cards .sk-core-card:hover .sk-core-card-image{transform:scale(1.045);opacity:.82}

/* Stats */
.sk-core-stats--floating .sk-core-stats-grid{gap:18px}.sk-core-stats--floating .sk-core-stat{position:relative;padding:34px 24px;border:1px solid var(--sk-core-border);border-radius:20px;background:#fff;box-shadow:0 16px 48px rgba(15,23,42,.06)}.sk-core-stats--floating .sk-core-stat strong{color:var(--sk-core-accent)}
.sk-core-stats--editorial .sk-core-stats-grid{gap:0;border-top:1px solid var(--sk-core-border)}.sk-core-stats--editorial .sk-core-stat{text-align:left;padding:32px 28px 32px 0;border-bottom:1px solid var(--sk-core-border)}.sk-core-stats--editorial .sk-core-stat strong{font-size:clamp(2.8rem,6vw,6.2rem);letter-spacing:-.065em;color:var(--sk-core-accent)}

/* Testimonials */
.sk-core-testimonials--spotlight .sk-core-grid{display:block;max-width:1050px;margin:auto}.sk-core-testimonials--spotlight .sk-core-testimonial{display:none}.sk-core-testimonials--spotlight .sk-core-testimonial:first-child{display:block;position:relative;padding:clamp(42px,7vw,84px);border:0;background:linear-gradient(145deg,#101923,#192735)!important;color:#fff;box-shadow:0 34px 90px rgba(15,23,42,.18)}.sk-core-testimonials--spotlight .sk-core-testimonial:first-child:before{content:"“";position:absolute;right:45px;top:14px;font-size:10rem;line-height:1;color:rgba(255,255,255,.08);font-family:Georgia,serif}.sk-core-testimonials--spotlight .sk-core-testimonial>p{font-size:clamp(1.45rem,3vw,2.5rem);line-height:1.42;max-width:860px}.sk-core-testimonials--spotlight footer span{color:rgba(255,255,255,.62)}

/* CTA variations */
.sk-core-cta--accent-band .sk-core-cta-shell{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:linear-gradient(110deg,var(--sk-core-primary),color-mix(in srgb,var(--sk-core-primary),#000 28%));color:#fff}.sk-core-cta--accent-band .sk-core-cta-inner{max-width:var(--sk-container,1200px);margin:auto;padding:clamp(58px,7vw,90px) max(24px,calc((100vw - var(--sk-container,1200px))/2));background:transparent}.sk-core-cta--accent-band .sk-core-lead{color:rgba(255,255,255,.78)}.sk-core-cta--accent-band .sk-core-button--secondary{border-color:rgba(255,255,255,.46)}
.sk-core-cta--split-image .sk-core-cta-shell{display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border-radius:calc(var(--sk-core-radius) + 10px);background:#101923;min-height:470px}.sk-core-cta--split-image .sk-core-cta-media{position:relative;z-index:1;order:2}.sk-core-cta--split-image .sk-core-cta-media img{position:absolute;inset:0}.sk-core-cta--split-image .sk-core-cta-inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(42px,6vw,80px);background:linear-gradient(145deg,#101923,#172534);color:#fff}.sk-core-cta--split-image .sk-core-section-head{margin-bottom:0}.sk-core-cta--split-image .sk-core-lead{color:rgba(255,255,255,.72)}.sk-core-cta--split-image .sk-core-actions{justify-content:flex-start;margin-top:28px}

/* Information variations */
.sk-core-info--timeline .sk-core-info-grid{grid-template-columns:1fr;max-width:950px;margin:auto;position:relative}.sk-core-info--timeline .sk-core-info-grid:before{content:"";position:absolute;left:25px;top:10px;bottom:10px;width:1px;background:color-mix(in srgb,var(--sk-core-accent),transparent 68%)}.sk-core-info--timeline .sk-core-info-item{padding:8px 0 32px 78px;border-radius:0}.sk-core-info--timeline .sk-core-info-item:before{content:"";position:absolute;left:15px;top:10px;width:21px;height:21px;border-radius:50%;background:var(--sk-core-accent);border:6px solid color-mix(in srgb,var(--sk-core-accent),#fff 84%);box-shadow:0 0 0 1px color-mix(in srgb,var(--sk-core-accent),transparent 58%)}.sk-core-info--timeline .sk-core-info-value{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.sk-core-info--timeline .sk-core-info-item h3{font-size:1.45rem}
.sk-core-info--icon-strip .sk-core-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--sk-core-border);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.05)}.sk-core-info--icon-strip .sk-core-info-item{border-radius:0;text-align:center;padding:34px 24px;border-right:1px solid var(--sk-core-border)}.sk-core-info--icon-strip .sk-core-info-item:last-child{border-right:0}.sk-core-info--icon-strip .sk-core-info-icon{margin-left:auto;margin-right:auto}.sk-core-info--icon-strip .sk-core-info-value{font-size:1.55rem}
.sk-core-info--feature-list .sk-core-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sk-core-info--feature-list .sk-core-info-item{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:start;padding:26px;border:1px solid var(--sk-core-border);background:#fff}.sk-core-info--feature-list .sk-core-info-icon{grid-row:1/span 3;margin:0}.sk-core-info--feature-list .sk-core-info-value,.sk-core-info--feature-list .sk-core-info-item h3,.sk-core-info--feature-list .sk-core-info-item p{grid-column:2}.sk-core-info--feature-list .sk-core-info-value{font-size:1rem;margin:0 0 5px}.sk-core-info--feature-list .sk-core-info-item h3{margin:0 0 8px}

/* Better WooCommerce product cards inside custom HTML */
.sk-core-custom_html ul.products{gap:22px}.sk-core-custom_html ul.products li.product{border:1px solid var(--sk-core-border)!important;border-radius:20px!important;overflow:hidden;background:#fff!important;box-shadow:0 12px 38px rgba(15,23,42,.05)!important;transition:transform .3s ease,box-shadow .3s ease!important}.sk-core-custom_html ul.products li.product:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(15,23,42,.11)!important}.sk-core-custom_html ul.products li.product img{margin:0!important;aspect-ratio:1/1;object-fit:cover}.sk-core-custom_html ul.products li.product .woocommerce-loop-product__title,.sk-core-custom_html ul.products li.product .price,.sk-core-custom_html ul.products li.product .button{margin-left:20px!important;margin-right:20px!important}.sk-core-custom_html ul.products li.product .button{margin-bottom:20px!important;border-radius:999px!important}

@media(max-width:1024px){
 .sk-core-features--bento .sk-core-grid,.sk-core-services--bento .sk-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sk-core-features--bento .sk-core-card,.sk-core-features--bento .sk-core-card:nth-child(1),.sk-core-features--bento .sk-core-card:nth-child(5),.sk-core-services--bento .sk-core-card,.sk-core-services--bento .sk-core-card:nth-child(1),.sk-core-services--bento .sk-core-card:nth-child(4){grid-column:auto}
 .sk-core-info--icon-strip .sk-core-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sk-core-info--icon-strip .sk-core-info-item:nth-child(2){border-right:0}.sk-core-info--icon-strip .sk-core-info-item:nth-child(-n+2){border-bottom:1px solid var(--sk-core-border)}
}
@media(max-width:900px){
 .sk-core-hero--background,.sk-core-hero--image-right,.sk-core-hero--image-center,.sk-core-hero--image-bottom,.sk-core-hero--glass,.sk-core-hero--cinematic,.sk-core-hero--panel,.sk-core-hero--editorial{min-height:650px}.sk-core-hero-content{padding-top:120px;padding-bottom:82px}.sk-core-hero--background .sk-core-hero-overlay,.sk-core-hero--image-right .sk-core-hero-overlay{background:linear-gradient(90deg,rgba(4,8,13,.84),rgba(4,8,13,.48)),linear-gradient(0deg,rgba(4,8,13,.42),transparent 60%)}.sk-core-hero--image-right .sk-core-hero-copy{text-align:left;margin-left:0}.sk-core-hero--image-right .sk-core-actions,.sk-core-hero--image-right .sk-core-eyebrow{justify-content:flex-start}
 .sk-core-hero--split .sk-core-hero-inner{grid-template-columns:1fr}.sk-core-intro--editorial .sk-core-section-head{grid-template-columns:1fr;gap:24px}.sk-core-services--editorial .sk-core-card{grid-template-columns:120px 1fr}.sk-core-services--editorial .sk-core-text-link{grid-column:2}.sk-core-cta--split-image .sk-core-cta-shell{grid-template-columns:1fr}.sk-core-cta--split-image .sk-core-cta-media{min-height:320px;order:0}.sk-core-info--feature-list .sk-core-info-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 .sk-core-hero--background,.sk-core-hero--image-right,.sk-core-hero--image-center,.sk-core-hero--image-bottom,.sk-core-hero--glass,.sk-core-hero--cinematic,.sk-core-hero--panel,.sk-core-hero--editorial{min-height:610px}.sk-core-hero-content{padding-top:105px;padding-bottom:64px}.sk-core-hero-content .sk-core-hero-copy h1{font-size:clamp(2.65rem,14vw,4.35rem)}.sk-core-hero--glass .sk-core-hero-copy,.sk-core-hero--panel .sk-core-hero-copy{padding:26px;border-radius:20px}.sk-core-hero--panel .sk-core-hero-copy:after{display:none}.sk-core-hero--editorial .sk-core-hero-copy{padding-left:22px}.sk-core-hero--cinematic:before{inset:12px}
 .sk-core-features--bento .sk-core-grid,.sk-core-services--bento .sk-core-grid{grid-template-columns:1fr}.sk-core-services--editorial .sk-core-card{grid-template-columns:1fr;gap:15px}.sk-core-services--editorial .sk-core-card-image{height:190px}.sk-core-services--editorial .sk-core-text-link{grid-column:auto}.sk-core-info--icon-strip .sk-core-info-grid{grid-template-columns:1fr}.sk-core-info--icon-strip .sk-core-info-item{border-right:0;border-bottom:1px solid var(--sk-core-border)}.sk-core-info--icon-strip .sk-core-info-item:last-child{border-bottom:0}.sk-core-info--timeline .sk-core-info-item{padding-left:62px}.sk-core-info--timeline .sk-core-info-grid:before{left:20px}.sk-core-info--timeline .sk-core-info-item:before{left:10px}
}

/* =========================================================
   SK Core 1.4 — cinematic section backgrounds & foreground panels
   Optional section settings; existing JSON remains backward compatible.
   ========================================================= */
.sk-core-page .sk-core-section-content{position:relative;z-index:3}
.sk-core-page .sk-core-section-panel{position:relative;z-index:1}
.sk-core-section-backdrop,.sk-core-section-overlay,.sk-core-section-treatment{position:absolute;inset:0;pointer-events:none}
.sk-core-section-backdrop{z-index:0;overflow:hidden;background:#111820}
.sk-core-section-backdrop img{display:block;width:100%;height:100%;max-width:none!important;object-fit:cover;border-radius:0!important;box-shadow:none!important;transform:scale(1.002)}
.sk-core-section-overlay{z-index:1;background:linear-gradient(110deg,rgba(7,11,17,.84),rgba(7,11,17,.52) 55%,rgba(7,11,17,.34))}
.sk-core-section-treatment{z-index:2;overflow:hidden}

/* Background image focal point */
.sk-section-background-position--top .sk-core-section-bg-image{object-position:center top}
.sk-section-background-position--bottom .sk-core-section-bg-image{object-position:center bottom}
.sk-section-background-position--left .sk-core-section-bg-image{object-position:left center}
.sk-section-background-position--right .sk-core-section-bg-image{object-position:right center}
.sk-section-background-position--center .sk-core-section-bg-image{object-position:center center}

/* Overlay families inherit the SK Framework theme palette */
.sk-section-overlay--none .sk-core-section-overlay{display:none}
.sk-section-overlay--dark .sk-core-section-overlay{background:rgba(7,11,17,.64)}
.sk-section-overlay--dark-gradient .sk-core-section-overlay{background:linear-gradient(110deg,rgba(6,10,16,.88) 0%,rgba(6,10,16,.62) 52%,rgba(6,10,16,.32) 100%)}
.sk-section-overlay--primary .sk-core-section-overlay{background:color-mix(in srgb,var(--sk-core-primary) 74%,rgba(5,9,14,.9))}
.sk-section-overlay--primary-gradient .sk-core-section-overlay{background:linear-gradient(115deg,color-mix(in srgb,var(--sk-core-primary) 82%,#06101a) 0%,color-mix(in srgb,var(--sk-core-primary) 60%,rgba(5,9,14,.65)) 48%,rgba(5,9,14,.28) 100%)}
.sk-section-overlay--accent .sk-core-section-overlay{background:color-mix(in srgb,var(--sk-core-accent) 68%,rgba(7,11,17,.88))}
.sk-section-overlay--accent-gradient .sk-core-section-overlay{background:linear-gradient(115deg,color-mix(in srgb,var(--sk-core-accent) 76%,#071018) 0%,color-mix(in srgb,var(--sk-core-accent) 46%,rgba(6,10,16,.7)) 54%,rgba(6,10,16,.28) 100%)}
.sk-section-overlay--duotone .sk-core-section-overlay{background:linear-gradient(120deg,color-mix(in srgb,var(--sk-core-primary) 82%,#071019),color-mix(in srgb,var(--sk-core-accent) 64%,rgba(6,10,16,.78)) 58%,rgba(7,11,17,.48))}
.sk-section-overlay-strength--light .sk-core-section-overlay{opacity:.58}
.sk-section-overlay-strength--medium .sk-core-section-overlay{opacity:.82}
.sk-section-overlay-strength--strong .sk-core-section-overlay{opacity:1}

/* Foreground legibility on photographic backgrounds */
.sk-section--image:not(.sk-section-overlay--none){color:#fff}
.sk-section--image:not(.sk-section-overlay--none) h1,
.sk-section--image:not(.sk-section-overlay--none) h2,
.sk-section--image:not(.sk-section-overlay--none) h3,
.sk-section--image:not(.sk-section-overlay--none) h4{color:#fff}
.sk-section--image:not(.sk-section-overlay--none) .sk-core-lead,
.sk-section--image:not(.sk-section-overlay--none) .sk-core-card p,
.sk-section--image:not(.sk-section-overlay--none) .sk-core-info-item p{color:rgba(255,255,255,.78)}
.sk-section--image:not(.sk-section-overlay--none) .sk-core-eyebrow{color:var(--sk-core-accent)}
.sk-section--image:not(.sk-section-overlay--none) .sk-core-button--secondary{color:#fff!important;border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.08)}

/* Optional decorative background details — intentionally subtle */
.sk-section-background-treatment--mesh .sk-core-section-treatment{opacity:.52;background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--sk-core-accent),transparent 70%),transparent 26%),radial-gradient(circle at 86% 72%,color-mix(in srgb,var(--sk-core-primary),transparent 74%),transparent 30%)}
.sk-section-background-treatment--spotlight .sk-core-section-treatment{background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.18),transparent 42%)}
.sk-section-background-treatment--grid .sk-core-section-treatment{opacity:.18;background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.17) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.sk-section-background-treatment--glow .sk-core-section-treatment:before{content:"";position:absolute;width:min(52vw,720px);height:min(52vw,720px);right:-16%;top:-38%;border-radius:50%;background:var(--sk-core-accent);opacity:.18;filter:blur(75px)}
.sk-section--default.sk-section-background-treatment--mesh .sk-core-section-treatment,
.sk-section--soft.sk-section-background-treatment--mesh .sk-core-section-treatment{opacity:.34}
.sk-section--default.sk-section-background-treatment--spotlight .sk-core-section-treatment,
.sk-section--soft.sk-section-background-treatment--spotlight .sk-core-section-treatment{background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--sk-core-primary),transparent 86%),transparent 46%)}
.sk-section--default.sk-section-background-treatment--grid .sk-core-section-treatment,
.sk-section--soft.sk-section-background-treatment--grid .sk-core-section-treatment{background-image:linear-gradient(var(--sk-core-border) 1px,transparent 1px),linear-gradient(90deg,var(--sk-core-border) 1px,transparent 1px)}

/* Foreground panel options — useful over image backgrounds and for layered compositions */
.sk-section-content-panel--surface .sk-core-section-panel,
.sk-section-content-panel--glass .sk-core-section-panel,
.sk-section-content-panel--dark .sk-core-section-panel,
.sk-section-content-panel--primary .sk-core-section-panel{padding:clamp(28px,5vw,70px);border-radius:calc(var(--sk-core-radius) + 10px)}
.sk-section-content-panel--surface .sk-core-section-panel{background:rgba(255,255,255,.97);color:var(--sk-core-text);box-shadow:0 34px 100px rgba(15,23,42,.16);border:1px solid rgba(255,255,255,.72)}
.sk-section-content-panel--surface .sk-core-section-panel h1,.sk-section-content-panel--surface .sk-core-section-panel h2,.sk-section-content-panel--surface .sk-core-section-panel h3{color:var(--sk-core-text)}
.sk-section-content-panel--surface .sk-core-section-panel .sk-core-lead,.sk-section-content-panel--surface .sk-core-section-panel .sk-core-card p,.sk-section-content-panel--surface .sk-core-section-panel .sk-core-info-item p{color:var(--sk-core-muted)}
.sk-section-content-panel--glass .sk-core-section-panel{background:linear-gradient(135deg,rgba(255,255,255,.19),rgba(255,255,255,.09));border:1px solid rgba(255,255,255,.26);box-shadow:0 34px 100px rgba(0,0,0,.20);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%)}
.sk-section-content-panel--dark .sk-core-section-panel{background:linear-gradient(145deg,rgba(9,15,22,.94),rgba(16,27,38,.93));color:#fff;box-shadow:0 34px 100px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08)}
.sk-section-content-panel--dark .sk-core-section-panel h1,.sk-section-content-panel--dark .sk-core-section-panel h2,.sk-section-content-panel--dark .sk-core-section-panel h3{color:#fff}
.sk-section-content-panel--dark .sk-core-section-panel .sk-core-lead,.sk-section-content-panel--dark .sk-core-section-panel .sk-core-card p,.sk-section-content-panel--dark .sk-core-section-panel .sk-core-info-item p{color:rgba(255,255,255,.72)}
.sk-section-content-panel--primary .sk-core-section-panel{background:linear-gradient(140deg,var(--sk-core-primary),color-mix(in srgb,var(--sk-core-primary),#000 25%));color:#fff;box-shadow:0 34px 100px color-mix(in srgb,var(--sk-core-primary),transparent 72%)}
.sk-section-content-panel--primary .sk-core-section-panel h1,.sk-section-content-panel--primary .sk-core-section-panel h2,.sk-section-content-panel--primary .sk-core-section-panel h3{color:#fff}
.sk-section-content-panel--primary .sk-core-section-panel .sk-core-lead,.sk-section-content-panel--primary .sk-core-section-panel .sk-core-card p,.sk-section-content-panel--primary .sk-core-section-panel .sk-core-info-item p{color:rgba(255,255,255,.78)}

/* Keep cards elegant when an entire section uses photography */
.sk-section--image .sk-core-card,.sk-section--image .sk-core-info-item{border-color:rgba(255,255,255,.16)}
.sk-section--image:not(.sk-section-content-panel--surface) .sk-core-card{background:rgba(10,16,24,.44);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.sk-section--image:not(.sk-section-content-panel--surface) .sk-core-info--premium-cards .sk-core-info-item{background:rgba(10,16,24,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

/* Image + Text becomes a layered foreground composition when used over a section image */
.sk-section--image.sk-core-image_text .sk-core-split{position:relative}
.sk-section--image.sk-core-image_text .sk-core-split-media img{box-shadow:0 32px 95px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.16)}
.sk-section--image.sk-core-image_text:not(.sk-section-content-panel--surface) .sk-core-split-copy{position:relative;padding:clamp(26px,4vw,52px);border-radius:var(--sk-core-radius);background:rgba(8,14,21,.38);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.sk-section--image.sk-core-image_text.sk-section-content-panel--glass .sk-core-split-copy,
.sk-section--image.sk-core-image_text.sk-section-content-panel--dark .sk-core-split-copy,
.sk-section--image.sk-core-image_text.sk-section-content-panel--primary .sk-core-split-copy{background:transparent;border:0;backdrop-filter:none;padding:0}

/* Hero overlay can now be tuned using the same overlay controls in Section Design. */
.sk-core-hero.sk-section-overlay--dark .sk-core-hero-overlay{background:rgba(5,9,14,.68)!important}
.sk-core-hero.sk-section-overlay--primary .sk-core-hero-overlay{background:color-mix(in srgb,var(--sk-core-primary) 70%,rgba(5,9,14,.9))!important}
.sk-core-hero.sk-section-overlay--primary-gradient .sk-core-hero-overlay{background:linear-gradient(110deg,color-mix(in srgb,var(--sk-core-primary) 80%,#06101a),rgba(5,9,14,.62) 58%,rgba(5,9,14,.22))!important}
.sk-core-hero.sk-section-overlay--accent .sk-core-hero-overlay{background:color-mix(in srgb,var(--sk-core-accent) 62%,rgba(5,9,14,.88))!important}
.sk-core-hero.sk-section-overlay--accent-gradient .sk-core-hero-overlay{background:linear-gradient(110deg,color-mix(in srgb,var(--sk-core-accent) 72%,#071018),rgba(5,9,14,.58) 58%,rgba(5,9,14,.20))!important}
.sk-core-hero.sk-section-overlay--duotone .sk-core-hero-overlay{background:linear-gradient(115deg,color-mix(in srgb,var(--sk-core-primary) 78%,#06101a),color-mix(in srgb,var(--sk-core-accent) 48%,rgba(5,9,14,.75)) 60%,rgba(5,9,14,.28))!important}
.sk-core-hero.sk-section-overlay--none .sk-core-hero-overlay{display:none}
.sk-core-hero.sk-section-overlay-strength--light .sk-core-hero-overlay{opacity:.62}
.sk-core-hero.sk-section-overlay-strength--medium .sk-core-hero-overlay{opacity:.84}
.sk-core-hero.sk-section-overlay-strength--strong .sk-core-hero-overlay{opacity:1}

@media (max-width:782px){
 .sk-section-content-panel--surface .sk-core-section-panel,.sk-section-content-panel--glass .sk-core-section-panel,.sk-section-content-panel--dark .sk-core-section-panel,.sk-section-content-panel--primary .sk-core-section-panel{padding:26px 20px;border-radius:20px}
 .sk-section--image.sk-core-image_text:not(.sk-section-content-panel--surface) .sk-core-split-copy{padding:24px 20px}
 .sk-section-background-treatment--grid .sk-core-section-treatment{background-size:42px 42px}
}
/* Hero strength tuning preserves each hero variant's art-directed gradient by default. */
.sk-core-hero.sk-section-overlay-strength--light .sk-core-hero-overlay{opacity:.72}
.sk-core-hero.sk-section-overlay-strength--medium .sk-core-hero-overlay{opacity:1}
.sk-core-hero.sk-section-overlay-strength--strong .sk-core-hero-overlay{opacity:1;box-shadow:inset 0 0 0 9999px rgba(3,7,11,.14)}

/* =========================================================
   SK Core 1.5.1 — layout discipline & responsive polish
   Keeps grids regimented, prevents accidental overflow, and
   repairs editorial information / overlap compositions.
   ========================================================= */
.sk-core-page .sk-container,
.sk-core-page .sk-core-section-panel,
.sk-core-page .sk-core-grid,
.sk-core-page .sk-core-info-grid,
.sk-core-page .sk-core-split,
.sk-core-page .sk-core-card,
.sk-core-page .sk-core-info-item,
.sk-core-page .sk-core-split-copy,
.sk-core-page .sk-core-split-media{min-width:0}

.sk-core-page .sk-core-grid > *,
.sk-core-page .sk-core-info-grid > *{width:100%;max-width:100%}

/* Generic grids should fill rows predictably. */
.sk-core-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.sk-core-grid--3>.sk-core-card{height:100%}
.sk-core-grid--count-1{grid-template-columns:minmax(0,760px);justify-content:center}
.sk-core-grid--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sk-core-grid--count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.sk-core-grid--count-5{grid-template-columns:repeat(6,minmax(0,1fr))}
.sk-core-grid--count-5>*{grid-column:span 2}
.sk-core-grid--count-5>*:nth-child(-n+2){grid-column:span 3}
.sk-core-grid--count-6{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Bento now means visual hierarchy without leaving holes. */
.sk-core-features--bento .sk-core-grid,
.sk-core-services--bento .sk-core-grid{grid-auto-flow:row;align-items:stretch}
.sk-core-features--bento .sk-core-grid--count-6,
.sk-core-services--bento .sk-core-grid--count-6{grid-template-columns:repeat(3,minmax(0,1fr))}
.sk-core-features--bento .sk-core-grid--count-6 .sk-core-card,
.sk-core-services--bento .sk-core-grid--count-6 .sk-core-card{grid-column:auto;min-height:0}
.sk-core-features--bento .sk-core-grid--count-5,
.sk-core-services--bento .sk-core-grid--count-5{grid-template-columns:repeat(6,minmax(0,1fr))}
.sk-core-features--bento .sk-core-grid--count-5 .sk-core-card,
.sk-core-services--bento .sk-core-grid--count-5 .sk-core-card{grid-column:span 2;min-height:0}
.sk-core-features--bento .sk-core-grid--count-5 .sk-core-card:nth-child(-n+2),
.sk-core-services--bento .sk-core-grid--count-5 .sk-core-card:nth-child(-n+2){grid-column:span 3}
.sk-core-features--bento .sk-core-grid--count-4,
.sk-core-services--bento .sk-core-grid--count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.sk-core-features--bento .sk-core-grid--count-4 .sk-core-card,
.sk-core-services--bento .sk-core-grid--count-4 .sk-core-card{grid-column:auto;min-height:0}
.sk-core-features--bento .sk-core-grid--count-3,
.sk-core-services--bento .sk-core-grid--count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sk-core-features--bento .sk-core-grid--count-3 .sk-core-card,
.sk-core-services--bento .sk-core-grid--count-3 .sk-core-card{grid-column:auto;min-height:0}

/* Consistent cards: text wraps instead of driving the grid width. */
.sk-core-card h3,.sk-core-card p,.sk-core-info-item h3,.sk-core-info-copy{overflow-wrap:anywhere}
.sk-core-card p:last-child,.sk-core-info-copy p:last-child{margin-bottom:0}

/* Image + text: overlap is restrained and cannot collide outside its section. */
.sk-core-image_text--overlap .sk-core-split{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:0;align-items:center}
.sk-core-image_text--overlap .sk-core-split-copy{margin-left:clamp(-34px,-2.4vw,-18px);padding:clamp(34px,4.5vw,62px);max-width:100%}
.sk-core-image_text .sk-core-split-copy .sk-core-section-head h2{font-size:clamp(2.05rem,4vw,4rem);line-height:1.01}
.sk-core-image_text .sk-core-split-media img{width:100%;max-width:100%;object-fit:cover}

/* Information components get a stable metadata wrapper. */
.sk-core-info-meta{display:contents}
.sk-core-info-copy{min-width:0}

/* Numbered steps: balanced columns, no orphan card on a desktop row. */
.sk-core-info--numbered .sk-core-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:skinfo}
.sk-core-info--numbered .sk-core-info-item{padding:32px;border:1px solid rgba(120,130,140,.18);border-radius:22px;background:rgba(255,255,255,.035);height:100%}
.sk-section--default.sk-core-info--numbered .sk-core-info-item,
.sk-section--soft.sk-core-info--numbered .sk-core-info-item{background:#fff}
.sk-core-info--numbered .sk-core-info-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.sk-core-info--numbered .sk-core-info-icon{margin:0;flex:0 0 auto}
.sk-core-info--numbered .sk-core-info-value{margin:0;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1;font-weight:850;letter-spacing:-.05em;color:var(--sk-core-accent);opacity:1}
.sk-core-info--numbered .sk-core-info-item h3{margin:0 0 12px;font-size:1.2rem}

/* Editorial information: metadata, heading and copy each occupy one intentional column. */
.sk-core-info--editorial .sk-core-info-grid{grid-template-columns:1fr;gap:0}
.sk-core-info--editorial .sk-core-info-item{display:grid;grid-template-columns:minmax(150px,.45fr) minmax(220px,.8fr) minmax(0,1.35fr);gap:clamp(24px,4vw,64px);align-items:center;padding:30px 0;border-radius:0;border-top:1px solid rgba(120,130,140,.23)}
.sk-core-info--editorial .sk-core-info-item:last-child{border-bottom:1px solid rgba(120,130,140,.23)}
.sk-core-info--editorial .sk-core-info-meta{display:flex;align-items:center;gap:18px;min-width:0}
.sk-core-info--editorial .sk-core-info-icon{margin:0;flex:0 0 auto}
.sk-core-info--editorial .sk-core-info-value{margin:0;font-size:1rem;letter-spacing:.04em;font-weight:800;color:var(--sk-core-accent)}
.sk-core-info--editorial .sk-core-info-item h3{margin:0;font-size:clamp(1.15rem,1.7vw,1.45rem)}
.sk-core-info--editorial .sk-core-info-copy p{margin:0;line-height:1.72}

/* Feature list accounts for the metadata wrapper. */
.sk-core-info--feature-list .sk-core-info-meta{display:flex;grid-row:1/span 2;align-items:flex-start;gap:10px}
.sk-core-info--feature-list .sk-core-info-meta .sk-core-info-icon{margin:0}
.sk-core-info--feature-list .sk-core-info-item h3,.sk-core-info--feature-list .sk-core-info-copy{grid-column:2}

/* Horizontal information follows item count where possible. */
.sk-core-info--horizontal .sk-core-info-grid--count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sk-core-info--horizontal .sk-core-info-grid--count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sk-core-info--horizontal .sk-core-info-grid--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sk-core-info--horizontal .sk-core-info-meta{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.sk-core-info--horizontal .sk-core-info-icon,.sk-core-info--horizontal .sk-core-info-value{margin:0}

@media(max-width:1100px){
 .sk-core-grid--count-5,.sk-core-grid--count-6,.sk-core-features--bento .sk-core-grid--count-5,.sk-core-services--bento .sk-core-grid--count-5,.sk-core-features--bento .sk-core-grid--count-6,.sk-core-services--bento .sk-core-grid--count-6{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sk-core-grid--count-5>*,.sk-core-grid--count-5>*:nth-child(-n+2),.sk-core-features--bento .sk-core-grid--count-5 .sk-core-card,.sk-core-services--bento .sk-core-grid--count-5 .sk-core-card,.sk-core-features--bento .sk-core-grid--count-5 .sk-core-card:nth-child(-n+2),.sk-core-services--bento .sk-core-grid--count-5 .sk-core-card:nth-child(-n+2){grid-column:auto}
 .sk-core-info--numbered .sk-core-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sk-core-image_text--overlap .sk-core-split{grid-template-columns:1fr 1fr;gap:28px}
 .sk-core-image_text--overlap .sk-core-split-copy{margin-left:0}
}
@media(max-width:820px){
 .sk-core-info--editorial .sk-core-info-item{grid-template-columns:minmax(130px,.45fr) minmax(0,1fr);gap:18px 28px;align-items:start}
 .sk-core-info--editorial .sk-core-info-copy{grid-column:2}
 .sk-core-image_text--overlap .sk-core-split{grid-template-columns:1fr}
 .sk-core-image_text--overlap .sk-core-split-media,.sk-core-image_text--overlap .sk-core-split-copy{width:100%}
}
@media(max-width:620px){
 .sk-core-grid--3,.sk-core-grid--count-2,.sk-core-grid--count-4,.sk-core-grid--count-5,.sk-core-grid--count-6,.sk-core-features--bento .sk-core-grid,.sk-core-services--bento .sk-core-grid,.sk-core-info--numbered .sk-core-info-grid{grid-template-columns:1fr}
 .sk-core-info--editorial .sk-core-info-item{grid-template-columns:1fr;gap:10px;padding:25px 0}
 .sk-core-info--editorial .sk-core-info-copy{grid-column:1}
 .sk-core-info--editorial .sk-core-info-meta{margin-bottom:2px}
 .sk-core-info--horizontal .sk-core-info-grid--count-2,.sk-core-info--horizontal .sk-core-info-grid--count-3,.sk-core-info--horizontal .sk-core-info-grid--count-4{grid-template-columns:1fr}
}

/* =========================================================
   SK Core 1.5.2 — collision-proof split layouts + CTA polish
   ========================================================= */

/* Never allow a content component to paint outside its own section. */
.sk-core-page .sk-core-section-content,
.sk-core-page .sk-core-section-panel,
.sk-core-page .sk-core-split,
.sk-core-page .sk-core-cta-shell{max-width:100%}

/* Image + Text "overlap" is now a visual relationship, not a physical collision.
   The image and copy always own separate columns. */
.sk-core-image_text--overlap .sk-core-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,4vw,64px);
  align-items:center;
}
.sk-core-image_text--overlap .sk-core-split-media,
.sk-core-image_text--overlap .sk-core-split-copy{
  position:relative;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
}
.sk-core-image_text--overlap .sk-core-split-media{
  overflow:hidden;
  border-radius:var(--sk-core-radius);
}
.sk-core-image_text--overlap .sk-core-split-media img,
.sk-core-image_text--overlap .sk-core-split-media .sk-core-image-placeholder{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  border-radius:inherit;
}
.sk-core-image_text--overlap .sk-core-split-copy{
  padding:clamp(30px,4vw,54px);
}
.sk-section--image.sk-core-image_text--overlap .sk-core-split-copy{
  background:rgba(8,14,21,.50);
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 24px 70px rgba(0,0,0,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.sk-section-content-panel--surface.sk-core-image_text--overlap .sk-core-split-copy{
  background:#fff;
  border-color:var(--sk-core-border);
  color:var(--sk-core-text);
}

/* Image CTA: one clean photographic banner, no nested outer content panel. */
.sk-core-cta--image.sk-section-content-panel--surface .sk-core-section-panel,
.sk-core-cta--image.sk-section-content-panel--glass .sk-core-section-panel,
.sk-core-cta--image.sk-section-content-panel--dark .sk-core-section-panel,
.sk-core-cta--image.sk-section-content-panel--primary .sk-core-section-panel{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.sk-core-cta--image .sk-core-cta-shell{
  min-height:clamp(390px,48vw,560px);
  display:flex;
  align-items:center;
  overflow:hidden;
  border-radius:clamp(22px,2.5vw,32px);
  background:#101820;
  box-shadow:0 28px 80px rgba(15,23,42,.16);
}
.sk-core-cta--image .sk-core-cta-media{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.sk-core-cta--image .sk-core-cta-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,10,15,.88) 0%,rgba(6,10,15,.70) 42%,rgba(6,10,15,.24) 78%,rgba(6,10,15,.12) 100%);
  pointer-events:none;
}
.sk-core-cta--image .sk-core-cta-media img,
.sk-core-cta--image .sk-core-cta-media .sk-core-image-placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.sk-core-cta--image .sk-core-cta-inner{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  padding:clamp(44px,6vw,82px);
  background:transparent!important;
  color:#fff;
}
.sk-core-cta--image .sk-core-section-head{
  max-width:720px;
  margin:0;
}
.sk-core-cta--image .sk-core-section-head h2{
  max-width:720px;
  margin-bottom:18px;
  color:#fff!important;
  font-size:clamp(2.2rem,4.6vw,4.9rem);
  line-height:1.02;
}
.sk-core-cta--image .sk-core-eyebrow{color:var(--sk-core-accent)!important}
.sk-core-cta--image .sk-core-lead,
.sk-core-cta--image .sk-core-lead p{color:rgba(255,255,255,.80)!important}
.sk-core-cta--image .sk-core-actions{
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.sk-core-cta--image .sk-core-button{
  background:#fff;
  color:#101820!important;
}
.sk-core-cta--image .sk-core-button--secondary{
  color:#fff!important;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.42);
}

/* Keep CTA content from inheriting accidental light-panel heading colours. */
.sk-section--image.sk-core-cta--image .sk-core-cta-inner h2,
.sk-section--image.sk-core-cta--image .sk-core-cta-inner h3{color:#fff!important}

/* General heading discipline for long AI-generated copy. */
.sk-core-page h1,.sk-core-page h2,.sk-core-page h3{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  max-width:100%;
}
.sk-core-page .sk-core-button{max-width:100%}

@media(max-width:900px){
  .sk-core-image_text--overlap .sk-core-split{grid-template-columns:1fr;gap:24px}
  .sk-core-image_text--overlap .sk-core-split-copy{padding:30px}
  .sk-core-cta--image .sk-core-cta-media:after{background:linear-gradient(90deg,rgba(6,10,15,.86),rgba(6,10,15,.58))}
}
@media(max-width:620px){
  .sk-core-image_text--overlap .sk-core-split-copy{padding:24px 20px}
  .sk-core-cta--image .sk-core-cta-shell{min-height:420px;border-radius:20px}
  .sk-core-cta--image .sk-core-cta-inner{padding:36px 24px}
  .sk-core-cta--image .sk-core-section-head h2{font-size:clamp(2rem,10vw,3.25rem)}
  .sk-core-cta--image .sk-core-actions{align-items:stretch}
  .sk-core-cta--image .sk-core-button{width:100%;justify-content:center;text-align:center}
}


/* =========================================================
   SK Core 1.5.3 — intelligent image-background de-duplication
   If an Image + Text section already has a true photographic
   section backdrop, the copy sits openly over that backdrop.
   This avoids a redundant glass/grey panel behind the text.
   ========================================================= */
.sk-section--has-bg-image.sk-core-image_text .sk-core-section-panel{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.sk-section--has-bg-image.sk-core-image_text .sk-core-split-copy,
.sk-section--has-bg-image.sk-core-image_text.sk-section-content-panel--surface .sk-core-split-copy,
.sk-section--has-bg-image.sk-core-image_text.sk-section-content-panel--glass .sk-core-split-copy,
.sk-section--has-bg-image.sk-core-image_text.sk-section-content-panel--dark .sk-core-split-copy,
.sk-section--has-bg-image.sk-core-image_text.sk-section-content-panel--primary .sk-core-split-copy{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:clamp(8px,1.8vw,24px)!important;
}
.sk-section--has-bg-image.sk-core-image_text .sk-core-split-copy h2,
.sk-section--has-bg-image.sk-core-image_text .sk-core-split-copy h3{
  text-wrap:balance;
}
@media (max-width:782px){
  .sk-section--has-bg-image.sk-core-image_text .sk-core-split-copy,
  .sk-section--has-bg-image.sk-core-image_text.sk-section-content-panel--surface .sk-core-split-copy,
  .sk-section--has-bg-image.sk-core-image_text.sk-section-content-panel--glass .sk-core-split-copy,
  .sk-section--has-bg-image.sk-core-image_text.sk-section-content-panel--dark .sk-core-split-copy,
  .sk-section--has-bg-image.sk-core-image_text.sk-section-content-panel--primary .sk-core-split-copy{
    padding:10px 2px!important;
  }
}


/* ==========================================================================
   v1.5.4 — Refined type scale
   Keeps headings premium but prevents AI-authored sections from dominating
   the viewport. These rules intentionally sit at the end of the stylesheet.
   ========================================================================== */
.sk-core-section-head h2{
  font-size:clamp(1.9rem,3.15vw,3.15rem);
  line-height:1.06;
  letter-spacing:-.035em;
  max-width:900px;
}
.sk-core-hero-copy h1,
.sk-core-hero-content .sk-core-hero-copy h1,
.sk-core-hero--background .sk-core-hero-copy h1,
.sk-core-hero--image-center .sk-core-hero-copy h1,
.sk-core-hero--image-bottom .sk-core-hero-copy h1,
.sk-core-hero--glass .sk-core-hero-copy h1,
.sk-core-hero--cinematic .sk-core-hero-copy h1{
  font-size:clamp(2.65rem,5vw,5rem);
  line-height:.98;
  letter-spacing:-.045em;
}
.sk-core-hero--glass .sk-core-hero-copy h1{
  font-size:clamp(2.55rem,4.5vw,4.5rem);
}
.sk-core-intro--statement .sk-core-section-head h2{
  font-size:clamp(2.15rem,3.8vw,3.9rem);
  line-height:1.04;
  letter-spacing:-.04em;
}
.sk-core-image_text .sk-core-split-copy .sk-core-section-head h2{
  font-size:clamp(1.95rem,3vw,3.05rem);
  line-height:1.06;
}
.sk-core-cta--minimal .sk-core-section-head h2,
.sk-core-cta--image .sk-core-section-head h2{
  font-size:clamp(2rem,3.5vw,3.55rem);
  line-height:1.05;
}
@media (max-width: 767px){
  .sk-core-section-head h2{font-size:clamp(1.75rem,8vw,2.5rem)}
  .sk-core-hero-copy h1,
  .sk-core-hero-content .sk-core-hero-copy h1,
  .sk-core-hero--background .sk-core-hero-copy h1,
  .sk-core-hero--image-center .sk-core-hero-copy h1,
  .sk-core-hero--image-bottom .sk-core-hero-copy h1,
  .sk-core-hero--glass .sk-core-hero-copy h1,
  .sk-core-hero--cinematic .sk-core-hero-copy h1{font-size:clamp(2.25rem,11vw,3.35rem)}
  .sk-core-intro--statement .sk-core-section-head h2,
  .sk-core-cta--minimal .sk-core-section-head h2,
  .sk-core-cta--image .sk-core-section-head h2{font-size:clamp(1.9rem,9vw,2.75rem)}
}


/* ==========================================================================
   v1.5.5 — Contact Form 7 + premium contact layouts
   ========================================================================== */
.sk-core-contact .sk-core-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(32px,5vw,76px);
  align-items:start;
}
.sk-core-contact-details,
.sk-core-contact-form-shell{min-width:0}
.sk-core-contact-details .sk-core-section-head{margin-bottom:32px}
.sk-core-contact-methods{display:grid;gap:14px;margin-top:30px}
.sk-core-contact-method{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  gap:15px;
  padding:17px 18px;
  border:1px solid var(--sk-border,rgba(17,24,39,.1));
  border-radius:calc(var(--sk-radius,18px) * .8);
  background:rgba(255,255,255,.72);
  color:var(--sk-text,#111827);
  text-decoration:none;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
a.sk-core-contact-method:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--sk-primary,#111827) 30%,transparent);
  box-shadow:0 14px 34px rgba(17,24,39,.08);
}
.sk-core-contact-method-icon{
  width:46px;height:46px;border-radius:14px;
  display:grid!important;place-items:center;
  background:color-mix(in srgb,var(--sk-primary,#111827) 9%,#fff);
  color:var(--sk-primary,#111827);
  font-size:19px!important;
}
.sk-core-contact-method small{
  display:block;margin:0 0 3px;
  color:var(--sk-muted,#6b7280);
  font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
}
.sk-core-contact-method strong{display:block;font-size:1rem;line-height:1.45;font-weight:700;overflow-wrap:anywhere}
.sk-core-contact-form-shell{
  position:relative;
  padding:clamp(24px,3.5vw,46px);
  border-radius:var(--sk-radius,22px);
  background:#fff;
  border:1px solid rgba(17,24,39,.08);
  box-shadow:0 24px 70px rgba(17,24,39,.10);
}
.sk-core-contact-form-shell:before{
  content:"";position:absolute;inset:-1px auto auto 8%;
  width:84%;height:3px;border-radius:999px;
  background:linear-gradient(90deg,var(--sk-primary,#111827),var(--sk-accent,#c9a85c));
  opacity:.8;
}
.sk-core-contact-form .wpcf7{margin:0}
.sk-core-contact-form .wpcf7-form{margin:0}
.sk-core-contact-form .wpcf7 p{margin:0 0 18px}
.sk-core-contact-form .wpcf7 label{
  display:block;color:var(--sk-text,#111827);
  font-size:.88rem;font-weight:700;line-height:1.4;
}
.sk-core-contact-form .wpcf7-form-control-wrap{display:block;margin-top:8px}
.sk-core-contact-form .wpcf7 input[type="text"],
.sk-core-contact-form .wpcf7 input[type="email"],
.sk-core-contact-form .wpcf7 input[type="tel"],
.sk-core-contact-form .wpcf7 input[type="url"],
.sk-core-contact-form .wpcf7 input[type="number"],
.sk-core-contact-form .wpcf7 input[type="date"],
.sk-core-contact-form .wpcf7 select,
.sk-core-contact-form .wpcf7 textarea{
  width:100%;max-width:none;box-sizing:border-box;
  min-height:54px;
  padding:13px 15px;
  border:1px solid rgba(17,24,39,.14);
  border-radius:12px;
  background:#fff;
  color:var(--sk-text,#111827);
  font:inherit;font-size:.98rem;
  outline:none;
  box-shadow:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.sk-core-contact-form .wpcf7 textarea{min-height:150px;resize:vertical}
.sk-core-contact-form .wpcf7 input:focus,
.sk-core-contact-form .wpcf7 select:focus,
.sk-core-contact-form .wpcf7 textarea:focus{
  border-color:var(--sk-primary,#111827);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--sk-primary,#111827) 11%,transparent);
}
.sk-core-contact-form .wpcf7 input[type="submit"],
.sk-core-contact-form .wpcf7 button[type="submit"]{
  appearance:none;border:0;border-radius:999px;
  min-height:52px;padding:13px 26px;
  background:var(--sk-primary,#111827);
  color:#fff;font:inherit;font-weight:800;cursor:pointer;
  transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
  box-shadow:0 10px 24px color-mix(in srgb,var(--sk-primary,#111827) 22%,transparent);
}
.sk-core-contact-form .wpcf7 input[type="submit"]:hover,
.sk-core-contact-form .wpcf7 button[type="submit"]:hover{transform:translateY(-1px);filter:brightness(1.06)}
.sk-core-contact-form .wpcf7 .wpcf7-spinner{vertical-align:middle}
.sk-core-contact-form .wpcf7-not-valid-tip{font-size:.82rem;margin-top:6px}
.sk-core-contact-form .wpcf7-response-output{
  margin:18px 0 0!important;padding:13px 15px!important;
  border-radius:12px;border-width:1px!important;font-size:.9rem;
}
.sk-core-contact-form .wpcf7-list-item{margin-left:0;margin-right:18px}
.sk-core-contact-form .wpcf7 input[type="checkbox"],
.sk-core-contact-form .wpcf7 input[type="radio"]{accent-color:var(--sk-primary,#111827)}
.sk-core-form-placeholder{
  min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:35px;border:1px dashed rgba(17,24,39,.16);
  border-radius:16px;background:color-mix(in srgb,var(--sk-primary,#111827) 3%,#fff);
}
.sk-core-form-placeholder .dashicons{font-size:30px;width:30px;height:30px;color:var(--sk-primary,#111827);margin-bottom:13px}
.sk-core-form-placeholder strong{font-size:1.15rem}
.sk-core-form-placeholder p{max-width:360px;color:var(--sk-muted,#6b7280);margin:8px auto 0}

/* Contact variants */
.sk-core-contact--cards .sk-core-contact-methods{grid-template-columns:1fr 1fr}
.sk-core-contact--cards .sk-core-contact-method--address{grid-column:1/-1}
.sk-core-contact--form-focus .sk-core-contact-grid{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)}
.sk-core-contact--form-focus .sk-core-contact-form-shell{padding:clamp(28px,4vw,54px)}
.sk-core-contact--minimal .sk-core-contact-form-shell{
  box-shadow:none;border-color:rgba(17,24,39,.09);background:rgba(255,255,255,.7)
}
.sk-core-contact--minimal .sk-core-contact-form-shell:before{display:none}
.sk-core-contact--dark-panel .sk-core-contact-details{
  padding:clamp(28px,4vw,48px);
  border-radius:var(--sk-radius,22px);
  background:var(--sk-primary,#111827);
  color:#fff;
}
.sk-core-contact--dark-panel .sk-core-contact-details h2,
.sk-core-contact--dark-panel .sk-core-contact-details .sk-core-lead{color:#fff}
.sk-core-contact--dark-panel .sk-core-contact-details .sk-core-lead{opacity:.76}
.sk-core-contact--dark-panel .sk-core-contact-method{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);color:#fff}
.sk-core-contact--dark-panel .sk-core-contact-method small{color:rgba(255,255,255,.62)}
.sk-core-contact--dark-panel .sk-core-contact-method-icon{background:rgba(255,255,255,.1);color:var(--sk-accent,#c9a85c)}
.sk-core-contact--image-split.sk-section--has-bg-image .sk-core-contact-details{
  color:#fff;padding:clamp(22px,3vw,38px) 0;
}
.sk-core-contact--image-split.sk-section--has-bg-image .sk-core-contact-details h2,
.sk-core-contact--image-split.sk-section--has-bg-image .sk-core-contact-details .sk-core-lead{color:#fff}
.sk-core-contact--image-split.sk-section--has-bg-image .sk-core-contact-method{background:rgba(10,18,28,.38);border-color:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(12px)}
.sk-core-contact--image-split.sk-section--has-bg-image .sk-core-contact-method small{color:rgba(255,255,255,.65)}
.sk-core-contact--image-split.sk-section--has-bg-image .sk-core-contact-method-icon{background:rgba(255,255,255,.1);color:var(--sk-accent,#c9a85c)}

@media(max-width:900px){
  .sk-core-contact .sk-core-contact-grid,
  .sk-core-contact--form-focus .sk-core-contact-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:600px){
  .sk-core-contact--cards .sk-core-contact-methods{grid-template-columns:1fr}
  .sk-core-contact--cards .sk-core-contact-method--address{grid-column:auto}
  .sk-core-contact-form-shell{padding:22px 18px}
  .sk-core-contact-method{grid-template-columns:42px minmax(0,1fr);padding:14px}
  .sk-core-contact-method-icon{width:42px;height:42px}
  .sk-core-contact-form .wpcf7 input[type="submit"],
  .sk-core-contact-form .wpcf7 button[type="submit"]{width:100%}
}


/* v1.5.6 — reliable dark contact panel specificity */
.sk-core-contact--dark-panel .sk-core-contact-grid > .sk-core-contact-details{
  background:#101821;
  background:linear-gradient(
    145deg,
    color-mix(in srgb,var(--sk-primary,#1a2734) 56%,#0b1118),
    color-mix(in srgb,var(--sk-primary,#1a2734) 24%,#101820)
  );
  border:1px solid rgba(255,255,255,.09);
  color:#fff;
  box-shadow:0 24px 70px rgba(12,18,26,.14);
}
.sk-core-contact--dark-panel .sk-core-contact-grid > .sk-core-contact-details .sk-core-eyebrow,
.sk-core-contact--dark-panel .sk-core-contact-grid > .sk-core-contact-details h2,
.sk-core-contact--dark-panel .sk-core-contact-grid > .sk-core-contact-details .sk-core-lead,
.sk-core-contact--dark-panel .sk-core-contact-grid > .sk-core-contact-details .sk-core-lead p{
  color:#fff!important;
}
.sk-core-contact--dark-panel .sk-core-contact-grid > .sk-core-contact-details .sk-core-lead{opacity:.78}


/* ==========================================================================
   v1.6.0 — balanced premium composition system
   Every substantial component should occupy its space deliberately.
   ========================================================================== */

/* ----- Global section rhythm ----- */
.sk-core-page .sk-section{
  --sk-core-section-max: 1320px;
}
.sk-core-page .sk-core-section-content{
  min-width:0;
}
.sk-core-page .sk-core-section-panel{
  width:100%;
  min-width:0;
}
.sk-core-page .sk-core-section-head{
  margin-bottom:clamp(32px,4vw,54px);
}
.sk-core-page .sk-core-section-head.is-centered{
  max-width:860px;
}
.sk-core-page .sk-core-section-head h2{
  text-wrap:balance;
}
.sk-core-page .sk-core-lead{
  max-width:760px;
}
.sk-core-page .sk-core-section-head.is-centered .sk-core-lead{
  margin-inline:auto;
}
.sk-core-page .sk-core-card,
.sk-core-page .sk-core-info-item{
  min-width:0;
  overflow:hidden;
}

/* ----- Intro: simple variants remain intentionally simple ----- */
.sk-core-intro--narrow .sk-core-section-head{
  max-width:760px;
}
.sk-core-intro--wide .sk-core-section-head{
  max-width:1060px;
}
.sk-core-intro--centered .sk-core-section-head{
  max-width:880px;
}
.sk-core-intro--statement .sk-core-section-head{
  max-width:1080px;
  margin-inline:auto;
  text-align:center;
}
.sk-core-intro--statement .sk-core-lead{
  max-width:800px;
  margin-inline:auto;
}

/* Editorial intro is a purposeful 2-column statement, never four loose cells. */
.sk-core-intro--editorial .sk-core-intro-editorial-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(48px,7vw,110px);
  align-items:start;
  width:100%;
  max-width:1260px;
  margin-inline:auto;
}
.sk-core-intro--editorial .sk-core-intro-editorial-heading{
  min-width:0;
}
.sk-core-intro--editorial .sk-core-intro-editorial-heading h2{
  margin:.28em 0 0;
  font-size:clamp(2rem,3.1vw,3.15rem);
  line-height:1.04;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.sk-core-intro--editorial .sk-core-intro-editorial-copy{
  position:relative;
  min-width:0;
  padding:clamp(22px,3vw,38px) 0 0 clamp(26px,3vw,46px);
  color:var(--sk-core-muted);
  font-size:clamp(1rem,1.4vw,1.16rem);
  line-height:1.8;
}
.sk-core-intro--editorial .sk-core-intro-editorial-copy:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:72px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--sk-primary,#1f3a5f),var(--sk-accent,#c8a96a));
}
.sk-core-intro--editorial .sk-core-intro-editorial-copy p{
  margin:0 0 1.2em;
}
.sk-core-intro--editorial .sk-core-intro-editorial-copy p:last-child{
  margin-bottom:0;
}

/* ----- Repeater grids: balanced by actual item count ----- */
.sk-core-features .sk-core-grid,
.sk-core-services .sk-core-grid,
.sk-core-testimonials .sk-core-grid,
.sk-core-pricing .sk-core-grid,
.sk-core-info .sk-core-info-grid{
  width:100%;
  margin-inline:auto;
}
.sk-core-grid--count-1,
.sk-core-info-grid--count-1{max-width:760px}
.sk-core-grid--count-2,
.sk-core-info-grid--count-2{max-width:1040px}
.sk-core-grid--count-3,
.sk-core-info-grid--count-3{max-width:1240px}
.sk-core-grid--count-4,
.sk-core-info-grid--count-4{max-width:1320px}
.sk-core-grid--count-5,
.sk-core-grid--count-6,
.sk-core-info-grid--count-5,
.sk-core-info-grid--count-6{max-width:1320px}

/* 3 items: always a centred, complete row rather than a left-heavy strip. */
.sk-core-features .sk-core-grid--count-3,
.sk-core-services .sk-core-grid--count-3,
.sk-core-testimonials .sk-core-grid--count-3,
.sk-core-pricing .sk-core-grid--count-3,
.sk-core-info .sk-core-info-grid--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* 4 items: a confident 4-up layout where space permits. */
.sk-core-features .sk-core-grid--count-4,
.sk-core-services .sk-core-grid--count-4,
.sk-core-testimonials .sk-core-grid--count-4,
.sk-core-pricing .sk-core-grid--count-4,
.sk-core-info .sk-core-info-grid--count-4{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

/* 5 items: visually deliberate 2 + 3 rhythm instead of an orphan card. */
.sk-core-features .sk-core-grid--count-5,
.sk-core-services .sk-core-grid--count-5{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.sk-core-features .sk-core-grid--count-5 > :nth-child(-n+2),
.sk-core-services .sk-core-grid--count-5 > :nth-child(-n+2){grid-column:span 3}
.sk-core-features .sk-core-grid--count-5 > :nth-child(n+3),
.sk-core-services .sk-core-grid--count-5 > :nth-child(n+3){grid-column:span 2}

/* 6 items: clean 3 × 2. */
.sk-core-features .sk-core-grid--count-6,
.sk-core-services .sk-core-grid--count-6,
.sk-core-testimonials .sk-core-grid--count-6,
.sk-core-pricing .sk-core-grid--count-6,
.sk-core-info .sk-core-info-grid--count-6{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Equal visual weight inside cards. */
.sk-core-features .sk-core-card,
.sk-core-services .sk-core-card,
.sk-core-pricing .sk-core-card,
.sk-core-testimonials .sk-core-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.sk-core-features .sk-core-card > p:last-of-type,
.sk-core-services .sk-core-card > p:last-of-type{
  margin-bottom:0;
}
.sk-core-services .sk-core-text-link{
  margin-top:auto;
  padding-top:20px;
}

/* ----- Numbered/process information: statement piece ----- */
.sk-core-info--numbered .sk-core-section-head{
  max-width:820px;
}
.sk-core-info--numbered .sk-core-info-grid{
  display:grid;
  gap:clamp(16px,2vw,24px);
  align-items:stretch;
}
.sk-core-info--numbered .sk-core-info-grid--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:980px;
}
.sk-core-info--numbered .sk-core-info-grid--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:1240px;
}
.sk-core-info--numbered .sk-core-info-grid--count-4{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  max-width:1320px;
}
.sk-core-info--numbered .sk-core-info-item{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:340px;
  padding:clamp(26px,3vw,38px);
  border:1px solid rgba(255,255,255,.11);
  border-radius:calc(var(--sk-core-radius) * .92);
  background:
    radial-gradient(circle at 100% 0%,rgba(255,255,255,.06),transparent 36%),
    rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.sk-core-info--numbered .sk-core-info-item:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--sk-accent,#c8a96a) 42%,transparent);
  background:
    radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--sk-accent,#c8a96a) 9%,transparent),transparent 40%),
    rgba(255,255,255,.055);
}
.sk-core-info--numbered .sk-core-info-meta{
  min-height:72px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:26px;
}
.sk-core-info--numbered .sk-core-info-icon{
  width:52px;
  height:52px;
  display:grid!important;
  place-items:center;
  flex:0 0 auto;
  border-radius:15px;
  background:color-mix(in srgb,var(--sk-primary,#1f3a5f) 52%,#0b1118);
  color:var(--sk-accent,#c8a96a);
  font-size:20px!important;
}
.sk-core-info--numbered .sk-core-info-value{
  margin-left:auto;
  color:var(--sk-accent,#c8a96a);
  font-family:var(--sk-font-heading,inherit);
  font-size:clamp(2.2rem,3vw,3.35rem);
  font-weight:850;
  line-height:.9;
  letter-spacing:-.055em;
}
.sk-core-info--numbered .sk-core-info-item h3{
  margin:0 0 14px;
  font-size:clamp(1.08rem,1.35vw,1.3rem);
  line-height:1.2;
  text-wrap:balance;
}
.sk-core-info--numbered .sk-core-info-copy{
  margin-top:auto;
  color:rgba(255,255,255,.69);
  font-size:.96rem;
  line-height:1.72;
}
.sk-core-info--numbered .sk-core-info-copy p{
  margin:0;
}

/* Numbered sections on non-dark backgrounds retain the same composition. */
.sk-core-info--numbered:not(.sk-section--dark):not(.sk-section--accent) .sk-core-info-item{
  border-color:var(--sk-core-line);
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.06);
}
.sk-core-info--numbered:not(.sk-section--dark):not(.sk-section--accent) .sk-core-info-copy{
  color:var(--sk-core-muted);
}

/* ----- Editorial information rows ----- */
.sk-core-info--editorial .sk-core-info-grid{
  max-width:1260px;
  gap:0;
}
.sk-core-info--editorial .sk-core-info-item{
  display:grid;
  grid-template-columns:minmax(150px,.38fr) minmax(220px,.7fr) minmax(0,1.25fr);
  gap:clamp(28px,4vw,68px);
  align-items:start;
  padding:clamp(28px,3.5vw,48px) 0;
  border-top:1px solid var(--sk-core-line);
}
.sk-core-info--editorial .sk-core-info-item:last-child{
  border-bottom:1px solid var(--sk-core-line);
}
.sk-core-info--editorial .sk-core-info-meta{
  display:flex;
  align-items:center;
  gap:16px;
}
.sk-core-info--editorial .sk-core-info-value{
  color:var(--sk-core-accent);
  font-size:1.05rem;
  font-weight:850;
}
.sk-core-info--editorial .sk-core-info-item h3{
  margin:0;
  font-size:clamp(1.15rem,1.5vw,1.4rem);
  line-height:1.25;
}
.sk-core-info--editorial .sk-core-info-copy{
  color:var(--sk-core-muted);
  line-height:1.75;
}
.sk-core-info--editorial .sk-core-info-copy p{margin:0}

/* ----- Horizontal information ----- */
.sk-core-info--horizontal .sk-core-info-grid{
  max-width:1320px;
}
.sk-core-info--horizontal .sk-core-info-item{
  height:100%;
  padding:clamp(24px,2.6vw,34px);
}

/* ----- Feature/service card polish ----- */
.sk-core-features--cards .sk-core-card,
.sk-core-features--icon-top .sk-core-card,
.sk-core-features--outlined .sk-core-card,
.sk-core-services--cards .sk-core-card{
  padding:clamp(26px,2.8vw,38px);
}
.sk-core-features .sk-core-card h3,
.sk-core-services .sk-core-card h3{
  font-size:clamp(1.08rem,1.3vw,1.3rem);
  line-height:1.25;
  text-wrap:balance;
}
.sk-core-features .sk-core-card p,
.sk-core-services .sk-core-card p{
  color:var(--sk-core-muted);
  line-height:1.7;
}

/* ----- CTA discipline ----- */
.sk-core-cta .sk-core-cta-shell{
  max-width:1320px;
  margin-inline:auto;
}
.sk-core-cta .sk-core-cta-inner{
  min-width:0;
}
.sk-core-cta .sk-core-section-head{
  max-width:780px;
  margin-bottom:28px;
}

/* ----- FAQ width and rhythm ----- */
.sk-core-faq .sk-core-faqs,
.sk-core-faqs{
  width:100%;
  max-width:1080px;
  margin-inline:auto;
}

/* ----- Pricing/testimonial discipline ----- */
.sk-core-pricing .sk-core-grid,
.sk-core-testimonials .sk-core-grid{
  align-items:stretch;
}
.sk-core-testimonial{
  justify-content:space-between;
}

/* ----- Responsive balance ----- */
@media(max-width:1080px){
  .sk-core-info--numbered .sk-core-info-grid--count-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:900px;
  }
  .sk-core-features .sk-core-grid--count-4,
  .sk-core-services .sk-core-grid--count-4,
  .sk-core-testimonials .sk-core-grid--count-4,
  .sk-core-pricing .sk-core-grid--count-4,
  .sk-core-info .sk-core-info-grid--count-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sk-core-features .sk-core-grid--count-5,
  .sk-core-services .sk-core-grid--count-5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sk-core-features .sk-core-grid--count-5 > *,
  .sk-core-services .sk-core-grid--count-5 > *{
    grid-column:auto!important;
  }
}
@media(max-width:820px){
  .sk-core-intro--editorial .sk-core-intro-editorial-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .sk-core-intro--editorial .sk-core-intro-editorial-copy{
    padding:26px 0 0;
  }
  .sk-core-info--editorial .sk-core-info-item{
    grid-template-columns:100px minmax(0,1fr);
    gap:18px 24px;
  }
  .sk-core-info--editorial .sk-core-info-copy{
    grid-column:2;
  }
  .sk-core-info--numbered .sk-core-info-grid--count-3,
  .sk-core-info--numbered .sk-core-info-grid--count-4,
  .sk-core-features .sk-core-grid--count-3,
  .sk-core-services .sk-core-grid--count-3,
  .sk-core-testimonials .sk-core-grid--count-3,
  .sk-core-pricing .sk-core-grid--count-3{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:600px){
  .sk-core-info--numbered .sk-core-info-grid,
  .sk-core-info--numbered .sk-core-info-grid--count-2,
  .sk-core-info--numbered .sk-core-info-grid--count-3,
  .sk-core-info--numbered .sk-core-info-grid--count-4,
  .sk-core-features .sk-core-grid,
  .sk-core-services .sk-core-grid,
  .sk-core-testimonials .sk-core-grid,
  .sk-core-pricing .sk-core-grid{
    grid-template-columns:1fr!important;
  }
  .sk-core-info--numbered .sk-core-info-item{
    min-height:0;
  }
  .sk-core-info--editorial .sk-core-info-item{
    grid-template-columns:1fr;
    gap:14px;
  }
  .sk-core-info--editorial .sk-core-info-copy{
    grid-column:auto;
  }
}


/* ==========================================================================
   v1.6.1 — precision layout refinement
   Fixes editorial-grid conflicts, process rhythm, centred statements,
   image-CTA seams and overall section density.
   ========================================================================== */

/* ----- Tighter site-wide vertical rhythm ----- */
.sk-core-page .sk-section{
  padding-top:52px;
  padding-bottom:52px;
}
.sk-core-page .sk-section--large{
  padding-top:64px;
  padding-bottom:64px;
}
.sk-core-page .sk-section--compact{
  padding-top:34px;
  padding-bottom:34px;
}

/* A section heading should introduce the content, not float far above it. */
.sk-core-page .sk-core-section-head{
  margin-bottom:clamp(26px,3vw,40px);
}
.sk-core-page .sk-core-section-head h2{
  margin-top:.24em;
  margin-bottom:.28em;
}
.sk-core-page .sk-core-section-head .sk-core-lead p:last-child{
  margin-bottom:0;
}

/* ----- Truly centred statement / centred content ----- */
.sk-core-intro--statement .sk-core-section-head,
.sk-core-intro--centered .sk-core-section-head,
.sk-core-page .sk-core-section-head.is-centered{
  width:min(100%,1080px);
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.sk-core-intro--statement .sk-core-section-head > *,
.sk-core-intro--centered .sk-core-section-head > *,
.sk-core-page .sk-core-section-head.is-centered > *{
  margin-left:auto;
  margin-right:auto;
}
.sk-core-intro--statement .sk-core-lead,
.sk-core-intro--centered .sk-core-lead,
.sk-core-page .sk-core-section-head.is-centered .sk-core-lead{
  width:100%;
  max-width:800px;
  text-align:center;
}

/* ----- Numbered / process cards: remove artificial vertical voids ----- */
.sk-core-info--numbered .sk-core-info-item{
  min-height:285px;
  padding:clamp(24px,2.5vw,32px);
}
.sk-core-info--numbered .sk-core-info-meta{
  min-height:58px;
  margin-bottom:22px;
}
.sk-core-info--numbered .sk-core-info-item h3{
  margin:0 0 11px;
}
.sk-core-info--numbered .sk-core-info-copy{
  margin-top:0!important;
  padding-top:0;
}
.sk-core-info--numbered .sk-core-info-copy p{
  margin:0;
}
.sk-core-info--numbered .sk-core-info-icon{
  width:50px;
  height:50px;
}

/* ----- Editorial information must remain ROWS regardless of item count ----- */
.sk-core-info--editorial .sk-core-info-grid,
.sk-core-info--editorial .sk-core-info-grid--count-1,
.sk-core-info--editorial .sk-core-info-grid--count-2,
.sk-core-info--editorial .sk-core-info-grid--count-3,
.sk-core-info--editorial .sk-core-info-grid--count-4,
.sk-core-info--editorial .sk-core-info-grid--count-5,
.sk-core-info--editorial .sk-core-info-grid--count-6{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%;
  max-width:1260px;
  gap:0!important;
  margin-inline:auto;
}
.sk-core-info--editorial .sk-core-info-item{
  width:100%;
  min-height:0;
  display:grid!important;
  grid-template-columns:minmax(120px,.35fr) minmax(220px,.72fr) minmax(300px,1.35fr)!important;
  gap:clamp(24px,3.5vw,56px)!important;
  align-items:center;
  padding:clamp(24px,2.8vw,36px) 0;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  border-bottom:0;
  background:transparent!important;
  box-shadow:none!important;
}
.sk-core-info--editorial .sk-core-info-item:first-child{
  border-top:1px solid var(--sk-core-line);
}
.sk-core-info--editorial .sk-core-info-item:last-child{
  border-bottom:1px solid var(--sk-core-line)!important;
}
.sk-core-info--editorial .sk-core-info-meta{
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
}
.sk-core-info--editorial .sk-core-info-icon{
  flex:0 0 auto;
}
.sk-core-info--editorial .sk-core-info-value{
  flex:0 0 auto;
  white-space:nowrap;
}
.sk-core-info--editorial .sk-core-info-item h3{
  min-width:0;
  margin:0;
  text-wrap:balance;
}
.sk-core-info--editorial .sk-core-info-copy{
  min-width:0;
  margin:0!important;
  color:var(--sk-core-muted);
  line-height:1.7;
}
.sk-core-info--editorial .sk-core-info-copy p{
  margin:0;
}

/* ----- Image CTA: photography + pattern are a single seamless canvas ----- */
.sk-core-cta--image .sk-core-cta-shell{
  position:relative;
  isolation:isolate;
  padding:0!important;
  background:#101820;
}
.sk-core-cta--image .sk-core-cta-media{
  position:absolute!important;
  inset:-1px!important;
  width:auto!important;
  height:auto!important;
  border-radius:inherit;
}
.sk-core-cta--image .sk-core-cta-media img,
.sk-core-cta--image .sk-core-cta-media .sk-core-image-placeholder{
  position:absolute;
  inset:0;
  display:block;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-width:none!important;
  border-radius:inherit!important;
  transform:scale(1.002);
}
.sk-core-cta--image .sk-core-cta-media:after{
  inset:0!important;
  border-radius:inherit;
}
.sk-core-cta--image .sk-core-cta-inner:before,
.sk-core-cta--image .sk-core-cta-inner:after,
.sk-core-cta--image .sk-core-cta-shell:after{
  display:none!important;
}
.sk-core-cta--image .sk-core-cta-shell:before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  right:0!important;
  top:0!important;
  border:0!important;
  border-radius:inherit!important;
  box-shadow:none!important;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.4px);
  background-size:18px 18px;
  background-position:0 0;
  opacity:.55;
  -webkit-mask-image:linear-gradient(90deg,transparent 26%,rgba(0,0,0,.35) 50%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 26%,rgba(0,0,0,.35) 50%,#000 100%);
  pointer-events:none;
}
.sk-core-cta--image .sk-core-cta-inner{
  position:relative;
  z-index:2;
}

/* Prevent generic section treatment or panel spacing from introducing a seam. */
.sk-core-cta--image .sk-core-section-panel{
  overflow:visible;
}
.sk-core-cta--image.sk-section-content-panel--surface .sk-core-section-panel,
.sk-core-cta--image.sk-section-content-panel--glass .sk-core-section-panel,
.sk-core-cta--image.sk-section-content-panel--dark .sk-core-section-panel,
.sk-core-cta--image.sk-section-content-panel--primary .sk-core-section-panel{
  padding:0!important;
}

/* ----- General quality safeguards ----- */
.sk-core-page .sk-core-grid,
.sk-core-page .sk-core-info-grid{
  align-items:stretch;
}
.sk-core-page .sk-core-card,
.sk-core-page .sk-core-info-item{
  box-sizing:border-box;
}
.sk-core-page .sk-core-card h3,
.sk-core-page .sk-core-info-item h3{
  overflow-wrap:break-word;
}
.sk-core-page .sk-core-split{
  align-items:center;
}
.sk-core-page .sk-core-split-copy{
  min-width:0;
}
.sk-core-page .sk-core-split-media{
  min-width:0;
  overflow:hidden;
}
.sk-core-page .sk-core-actions{
  row-gap:10px;
}

/* Horizontal info is deliberately compact and vertically balanced. */
.sk-core-info--horizontal .sk-core-info-item{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:0;
}
.sk-core-info--horizontal .sk-core-info-copy{
  margin-top:8px;
}

/* Cards should not get large minimum heights unless the visual style requires it. */
.sk-core-features .sk-core-card,
.sk-core-services .sk-core-card,
.sk-core-testimonials .sk-core-card,
.sk-core-pricing .sk-core-card{
  min-height:0;
}

/* Responsive refinements */
@media(max-width:900px){
  .sk-core-page .sk-section{padding-top:46px;padding-bottom:46px}
  .sk-core-page .sk-section--large{padding-top:54px;padding-bottom:54px}
  .sk-core-page .sk-section--compact{padding-top:30px;padding-bottom:30px}

  .sk-core-info--editorial .sk-core-info-item{
    grid-template-columns:minmax(90px,.3fr) minmax(0,1fr)!important;
    gap:14px 24px!important;
    align-items:start;
  }
  .sk-core-info--editorial .sk-core-info-copy{
    grid-column:2;
  }
}
@media(max-width:620px){
  .sk-core-page .sk-section{padding-top:38px;padding-bottom:38px}
  .sk-core-page .sk-section--large{padding-top:46px;padding-bottom:46px}
  .sk-core-page .sk-section--compact{padding-top:26px;padding-bottom:26px}

  .sk-core-info--numbered .sk-core-info-item{
    min-height:0;
    padding:24px;
  }
  .sk-core-info--editorial .sk-core-info-item{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .sk-core-info--editorial .sk-core-info-copy{
    grid-column:auto;
  }
}


/* ==========================================================================
   v1.6.2 — single-canvas image CTA compositing
   Image, gradient and pattern now share the same rounded clipping surface.
   ========================================================================== */

/* Image only: no overlay belongs to the media element itself. */
.sk-core-cta--image .sk-core-cta-media:after{
  content:none!important;
  display:none!important;
  background:none!important;
}

/* Media fills the shell beneath every visual treatment. */
.sk-core-cta--image .sk-core-cta-media{
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:inherit!important;
}
.sk-core-cta--image .sk-core-cta-media img,
.sk-core-cta--image .sk-core-cta-media .sk-core-image-placeholder{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  transform:none!important;
}

/* One continuous gradient spanning the exact CTA shell. */
.sk-core-cta--image .sk-core-cta-shell:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  border-radius:inherit!important;
  background:
    linear-gradient(
      90deg,
      rgba(6,10,15,.88) 0%,
      rgba(6,10,15,.72) 34%,
      rgba(6,10,15,.42) 62%,
      rgba(6,10,15,.14) 100%
    )!important;
  opacity:1!important;
  pointer-events:none!important;
}

/* Pattern is another full-shell layer, never a partial inner panel. */
.sk-core-cta--image .sk-core-cta-shell:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:inherit!important;
  box-shadow:none!important;
  background:
    radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.35px)!important;
  background-size:18px 18px!important;
  background-position:0 0!important;
  opacity:.48!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 24%,rgba(0,0,0,.32) 48%,#000 100%)!important;
  mask-image:linear-gradient(90deg,transparent 24%,rgba(0,0,0,.32) 48%,#000 100%)!important;
  pointer-events:none!important;
}

/* Content lives cleanly above the two continuous visual layers. */
.sk-core-cta--image .sk-core-cta-inner{
  position:relative!important;
  z-index:3!important;
  background:transparent!important;
}

/* No nested pseudo treatment may reintroduce a second tonal layer. */
.sk-core-cta--image .sk-core-cta-inner:before,
.sk-core-cta--image .sk-core-cta-inner:after{
  content:none!important;
  display:none!important;
}

/* Shell itself owns clipping; no child can create a visible edge seam. */
.sk-core-cta--image .sk-core-cta-shell{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#101820!important;
  background-clip:padding-box!important;
}


/* ==========================================================================
   v1.6.3 — image CTA owns its entire visual canvas
   Prevent the generic SECTION background/overlay/treatment system from
   compositing behind/through an image CTA. This removes the horizontal
   tonal bands visible near the top and bottom of the rounded CTA.
   ========================================================================== */

/*
 * An image CTA already has:
 *   1. .sk-core-cta-media
 *   2. .sk-core-cta-shell:after gradient
 *   3. .sk-core-cta-shell:before pattern
 *
 * Therefore the parent section must NOT paint another photographic backdrop,
 * overlay or treatment. Those generic layers were the remaining source of
 * the lighter/darker horizontal strips.
 */
.sk-core-page .sk-core-cta--image > .sk-core-section-backdrop,
.sk-core-page .sk-core-cta--image > .sk-core-section-overlay,
.sk-core-page .sk-core-cta--image > .sk-core-section-treatment{
  display:none!important;
  content:none!important;
  background:none!important;
  opacity:0!important;
}

/* Keep the section itself neutral; the rounded shell is the visual artwork. */
.sk-core-page .sk-core-cta--image{
  background:transparent!important;
  background-image:none!important;
}

/* No generic section pseudo-element may sit above or below the CTA canvas. */
.sk-core-page .sk-core-cta--image:before,
.sk-core-page .sk-core-cta--image:after{
  content:none!important;
  display:none!important;
  background:none!important;
}

/*
 * The shell is the sole clipping/compositing boundary.
 * contain:paint prevents a browser/backdrop-filter compositing layer from
 * bleeding across the rounded canvas.
 */
.sk-core-page .sk-core-cta--image .sk-core-cta-shell{
  position:relative!important;
  isolation:isolate!important;
  contain:paint!important;
  overflow:hidden!important;
  padding:0!important;
  border:0!important;
  background:#101820!important;
  -webkit-mask-image:-webkit-radial-gradient(white,black)!important;
}

/* Remove any inherited backdrop-filter from wrappers inside image CTAs. */
.sk-core-page .sk-core-cta--image .sk-core-section-content,
.sk-core-page .sk-core-cta--image .sk-core-section-panel,
.sk-core-page .sk-core-cta--image .sk-core-cta-inner{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Force every visual layer to the exact same pixel boundary. */
.sk-core-page .sk-core-cta--image .sk-core-cta-media,
.sk-core-page .sk-core-cta--image .sk-core-cta-shell:before,
.sk-core-page .sk-core-cta--image .sk-core-cta-shell:after{
  inset:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  margin:0!important;
}

/* Avoid sub-pixel scaling seams on the photograph itself. */
.sk-core-page .sk-core-cta--image .sk-core-cta-media img,
.sk-core-page .sk-core-cta--image .sk-core-cta-media .sk-core-image-placeholder{
  inset:0!important;
  transform:none!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}


/* ==========================================================================
   v1.6.4 — image CTA inner wrapper is content-only
   The remaining horizontal light band was the legacy .sk-core-cta-inner
   surface itself. Image CTAs must never give this wrapper a background.
   ========================================================================== */

.sk-core-page .sk-core-cta--image .sk-core-cta-inner{
  position:relative!important;
  z-index:3!important;

  /* content wrapper only — absolutely no visual surface */
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;

  border:0!important;
  outline:0!important;
  border-radius:0!important;

  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;

  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;

  overflow:visible!important;
  isolation:auto!important;

  /* retain only layout spacing */
  width:100%!important;
}

/* Kill any legacy decorative pseudo-elements tied to the inner surface. */
.sk-core-page .sk-core-cta--image .sk-core-cta-inner:before,
.sk-core-page .sk-core-cta--image .sk-core-cta-inner:after{
  content:none!important;
  display:none!important;
  position:static!important;
  inset:auto!important;
  width:0!important;
  height:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  opacity:0!important;
  filter:none!important;
}

/*
 * Some older generic CTA rules target nested descendants. Force the section
 * head itself to remain visually transparent too, while preserving text.
 */
.sk-core-page .sk-core-cta--image .sk-core-cta-inner .sk-core-section-head,
.sk-core-page .sk-core-cta--image .sk-core-cta-inner .sk-core-actions{
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
}

/* Ensure no content panel styling can leak onto the image CTA inner wrapper. */
.sk-core-page .sk-core-cta--image[class*="sk-section-content-panel--"] .sk-core-cta-inner{
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}


/* ==========================================================================
   v1.6.5 — comprehensive responsive safety layer
   Prevents narrow-column text, horizontal overflow and desktop grid leakage.
   ========================================================================== */

/* Universal containment */
.sk-core-page,
.sk-core-page .sk-section,
.sk-core-page .sk-container,
.sk-core-page .sk-core-section-content,
.sk-core-page .sk-core-section-panel,
.sk-core-page .sk-core-grid,
.sk-core-page .sk-core-info-grid,
.sk-core-page .sk-core-split,
.sk-core-page .sk-core-card,
.sk-core-page .sk-core-info-item,
.sk-core-page .sk-core-stat{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}
.sk-core-page img{
  max-width:100%;
}
.sk-core-page h1,
.sk-core-page h2,
.sk-core-page h3,
.sk-core-page p,
.sk-core-page li,
.sk-core-page span,
.sk-core-page strong{
  overflow-wrap:break-word;
  word-break:normal;
}

/* Legacy showcase compatibility: info/stats behaves like a real stats display. */
.sk-core-info--stats .sk-core-section-head{
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.sk-core-info--stats .sk-core-info-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  max-width:1120px;
  margin-inline:auto;
}
.sk-core-info--stats .sk-core-info-item{
  min-width:0;
  min-height:250px;
  padding:32px 28px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  border:1px solid var(--sk-core-line);
  border-radius:var(--sk-core-radius);
  background:#fff;
  box-shadow:0 14px 42px rgba(15,23,42,.05);
}
.sk-core-info--stats .sk-core-info-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:20px;
  min-width:0;
  margin-bottom:18px;
}
.sk-core-info--stats .sk-core-info-icon{
  flex:0 0 auto;
}
.sk-core-info--stats .sk-core-info-value{
  max-width:100%;
  color:var(--sk-core-accent);
  font-size:clamp(2.2rem,4vw,3.7rem);
  font-weight:850;
  line-height:.95;
  letter-spacing:-.045em;
  white-space:normal;
}
.sk-core-info--stats .sk-core-info-item h3{
  width:100%;
  margin:0 0 10px;
  font-size:clamp(1.08rem,1.4vw,1.28rem);
  line-height:1.2;
}
.sk-core-info--stats .sk-core-info-copy{
  width:100%;
  margin-top:auto;
  color:var(--sk-core-muted);
  line-height:1.65;
}

/* Actual Stats section also gets item-count aware safe grids. */
.sk-core-stats .sk-core-stats-grid{
  width:100%;
  max-width:1180px;
  margin-inline:auto;
}
.sk-core-stats .sk-core-stat{
  min-width:0;
}
.sk-core-stats .sk-core-stat strong,
.sk-core-stats .sk-core-stat span{
  display:block;
  max-width:100%;
  white-space:normal;
}

/* Tablet */
@media(max-width:900px){
  /* All 4+ column structures collapse before text gets cramped. */
  .sk-core-page .sk-core-grid--count-4,
  .sk-core-page .sk-core-grid--count-5,
  .sk-core-page .sk-core-grid--count-6,
  .sk-core-page .sk-core-info-grid--count-4,
  .sk-core-page .sk-core-info-grid--count-5,
  .sk-core-page .sk-core-info-grid--count-6,
  .sk-core-stats .sk-core-stats-grid,
  .sk-core-info--stats .sk-core-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .sk-core-info--stats .sk-core-info-item{
    min-height:0;
  }

  .sk-core-page .sk-core-section-head h2{
    max-width:100%;
  }

  .sk-core-page .sk-core-actions{
    flex-wrap:wrap;
  }
}

/* Mobile */
@media(max-width:680px){
  /* Every card/repeater grid becomes one readable column. */
  .sk-core-page .sk-core-grid,
  .sk-core-page .sk-core-grid--2,
  .sk-core-page .sk-core-grid--3,
  .sk-core-page .sk-core-grid--4,
  .sk-core-page [class*="sk-core-grid--count-"],
  .sk-core-page .sk-core-info-grid,
  .sk-core-page [class*="sk-core-info-grid--count-"],
  .sk-core-page .sk-core-stats-grid,
  .sk-core-page .sk-core-info--stats .sk-core-info-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  /* Cards get full width and sane internal spacing. */
  .sk-core-page .sk-core-card,
  .sk-core-page .sk-core-info-item,
  .sk-core-page .sk-core-stat{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:auto!important;
  }

  /* Supply in Numbers / stats */
  .sk-core-info--stats .sk-core-section-head{
    width:100%;
    text-align:center;
  }
  .sk-core-info--stats .sk-core-info-grid{
    gap:14px!important;
  }
  .sk-core-info--stats .sk-core-info-item{
    min-height:0;
    padding:24px 22px;
    align-items:flex-start;
  }
  .sk-core-info--stats .sk-core-info-meta{
    width:100%;
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:16px;
    align-items:center;
    margin-bottom:14px;
  }
  .sk-core-info--stats .sk-core-info-icon{
    width:54px!important;
    height:54px!important;
  }
  .sk-core-info--stats .sk-core-info-value{
    margin:0!important;
    font-size:clamp(2rem,12vw,3rem)!important;
    line-height:1!important;
    white-space:normal!important;
  }
  .sk-core-info--stats .sk-core-info-item h3{
    font-size:1.08rem!important;
    line-height:1.25!important;
  }
  .sk-core-info--stats .sk-core-info-copy{
    margin-top:4px!important;
  }

  /* Real stats section: no squeezed numbers/labels. */
  .sk-core-stats .sk-core-stat{
    padding:24px 20px;
    text-align:left;
  }
  .sk-core-stats .sk-core-stat strong{
    font-size:clamp(2.2rem,13vw,3.5rem);
    line-height:1;
  }

  /* Split layouts always stack cleanly. */
  .sk-core-page .sk-core-split,
  .sk-core-page .sk-core-image_text--overlap .sk-core-split,
  .sk-core-page .sk-core-contact-grid,
  .sk-core-page .sk-core-cta--split-image .sk-core-cta-shell{
    grid-template-columns:minmax(0,1fr)!important;
  }

  /* Editorial/service layouts cannot retain desktop subcolumns. */
  .sk-core-services--editorial .sk-core-card,
  .sk-core-info--editorial .sk-core-info-item{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .sk-core-info--editorial .sk-core-info-copy{
    grid-column:auto!important;
  }

  /* Buttons become touch-friendly without overflowing. */
  .sk-core-page .sk-core-actions{
    width:100%;
    gap:10px;
  }
  .sk-core-page .sk-core-button{
    max-width:100%;
    white-space:normal;
  }

  /* Headings should never exceed viewport width. */
  .sk-core-page .sk-core-section-head,
  .sk-core-page .sk-core-section-head.is-centered,
  .sk-core-page .sk-core-lead{
    width:100%;
    max-width:100%;
  }
  .sk-core-page .sk-core-section-head h2{
    font-size:clamp(1.8rem,9vw,2.65rem);
    line-height:1.08;
  }

  /* FAQ, tables and galleries stay within viewport. */
  .sk-core-page .sk-core-faqs,
  .sk-core-page .sk-core-gallery{
    max-width:100%;
  }
}

/* Small phones */
@media(max-width:430px){
  .sk-core-page .sk-container{
    width:100%;
    padding-left:18px;
    padding-right:18px;
  }

  .sk-core-page .sk-core-card,
  .sk-core-page .sk-core-info-item,
  .sk-core-page .sk-core-stat{
    padding-left:20px;
    padding-right:20px;
  }

  .sk-core-page .sk-core-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .sk-core-page .sk-core-actions .sk-core-button{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .sk-core-info--stats .sk-core-info-meta{
    grid-template-columns:48px minmax(0,1fr);
  }
  .sk-core-info--stats .sk-core-info-icon{
    width:48px!important;
    height:48px!important;
  }
}

/* No horizontal page overflow from a Core section. */
.sk-core-page{
  overflow-x:clip;
}


/* ==========================================================================
   v1.6.6 — service/card media framing
   Images always fill the designed media frame without leaving exposed card
   background, while keeping safe responsive behaviour.
   ========================================================================== */

/* Service cards own a full-width media frame. */
.sk-core-page .sk-core-services .sk-core-card-image{
  position:relative;
  display:block;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:var(--sk-core-soft);
}

/* Standard service cards use a consistent landscape crop. */
.sk-core-page .sk-core-services--cards .sk-core-card-image,
.sk-core-page .sk-core-services--bento .sk-core-card-image{
  aspect-ratio:16/8.4;
  min-height:0!important;
}

/* Image must completely cover the frame. */
.sk-core-page .sk-core-services .sk-core-card-image img,
.sk-core-page .sk-core-services .sk-core-card-image .sk-core-image-placeholder{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  transform:none!important;
}

/* Card itself clips media to the card radius, not the image. */
.sk-core-page .sk-core-services--cards .sk-core-card,
.sk-core-page .sk-core-services--bento .sk-core-card{
  overflow:hidden!important;
}

/* If a card body wrapper exists, it remains independent of media sizing. */
.sk-core-page .sk-core-services .sk-core-card-body{
  min-width:0;
}

/* Editorial service rows retain their own intended media proportions. */
.sk-core-page .sk-core-services--editorial .sk-core-card-image{
  aspect-ratio:auto;
  min-height:220px!important;
}
.sk-core-page .sk-core-services--editorial .sk-core-card-image img,
.sk-core-page .sk-core-services--editorial .sk-core-card-image .sk-core-image-placeholder{
  position:absolute!important;
  inset:0!important;
}

/* Tablet/mobile: keep a comfortable, predictable crop. */
@media(max-width:900px){
  .sk-core-page .sk-core-services--cards .sk-core-card-image,
  .sk-core-page .sk-core-services--bento .sk-core-card-image{
    aspect-ratio:16/9;
  }
}

@media(max-width:680px){
  .sk-core-page .sk-core-services--cards .sk-core-card-image,
  .sk-core-page .sk-core-services--bento .sk-core-card-image{
    aspect-ratio:16/9;
    width:100%!important;
  }

  .sk-core-page .sk-core-services--editorial .sk-core-card-image{
    min-height:200px!important;
  }
}


/* ==========================================================================
   v1.6.7 — restore premium full-bleed service-card imagery
   .sk-core-card-image is the IMG element itself, not a wrapper.
   ========================================================================== */

/* Use one shared padding value so the image can bleed exactly to card edges. */
.sk-core-page .sk-core-services--cards .sk-core-card,
.sk-core-page .sk-core-services--bento .sk-core-card{
  --sk-service-card-pad:clamp(26px,2.8vw,38px);
  padding:var(--sk-service-card-pad)!important;
  overflow:hidden!important;
}

/*
 * Full-bleed image:
 * - extends through the card's left/right/top padding;
 * - fills the complete media width;
 * - leaves a deliberate gap before the title.
 */
.sk-core-page .sk-core-services--cards .sk-core-card > img.sk-core-card-image,
.sk-core-page .sk-core-services--bento .sk-core-card > img.sk-core-card-image{
  position:relative!important;
  inset:auto!important;
  display:block!important;

  width:calc(100% + (var(--sk-service-card-pad) * 2))!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;

  margin:
    calc(var(--sk-service-card-pad) * -1)
    calc(var(--sk-service-card-pad) * -1)
    clamp(24px,2.2vw,30px)!important;

  padding:0!important;
  aspect-ratio:16 / 8.4!important;
  object-fit:cover!important;
  object-position:center!important;

  border-radius:
    calc(var(--sk-core-radius-sm) - 1px)
    calc(var(--sk-core-radius-sm) - 1px)
    0
    0!important;

  background:var(--sk-core-soft);
  transform:none!important;
}

/* Maintain clean title rhythm after media. */
.sk-core-page .sk-core-services--cards .sk-core-card > img.sk-core-card-image + h3,
.sk-core-page .sk-core-services--bento .sk-core-card > img.sk-core-card-image + h3{
  margin-top:0!important;
}

/* Cards without an image still start with normal, balanced top padding. */
.sk-core-page .sk-core-services--cards .sk-core-card > h3:first-child,
.sk-core-page .sk-core-services--bento .sk-core-card > h3:first-child{
  margin-top:0!important;
}

/*
 * Editorial services are structurally different and must not inherit the
 * full-bleed card crop.
 */
.sk-core-page .sk-core-services--editorial .sk-core-card > img.sk-core-card-image{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  max-width:100%!important;
  height:120px!important;
  min-height:120px!important;
  margin:0!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  border-radius:14px!important;
}

/* Overlay cards intentionally use the image as the entire card background. */
.sk-core-page .sk-core-services--overlay-cards .sk-core-card > img.sk-core-card-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}

/* Tablet/mobile keeps the same full-bleed visual language with a 16:9 crop. */
@media(max-width:900px){
  .sk-core-page .sk-core-services--cards .sk-core-card > img.sk-core-card-image,
  .sk-core-page .sk-core-services--bento .sk-core-card > img.sk-core-card-image{
    aspect-ratio:16 / 9!important;
    margin-bottom:24px!important;
  }
}

@media(max-width:680px){
  .sk-core-page .sk-core-services--cards .sk-core-card,
  .sk-core-page .sk-core-services--bento .sk-core-card{
    --sk-service-card-pad:22px;
  }

  .sk-core-page .sk-core-services--cards .sk-core-card > img.sk-core-card-image,
  .sk-core-page .sk-core-services--bento .sk-core-card > img.sk-core-card-image{
    width:calc(100% + 44px)!important;
    margin:-22px -22px 22px!important;
    aspect-ratio:16 / 9!important;
  }

  .sk-core-page .sk-core-services--editorial .sk-core-card > img.sk-core-card-image{
    height:190px!important;
    min-height:190px!important;
  }
}


/* ==========================================================================
   v1.6.8 — contrast, hero containment & variant QA pass
   ========================================================================== */

/* ----- Hero content must always respect a deliberate inner gutter ----- */
.sk-core-page .sk-core-hero-content{
  width:min(100%,var(--sk-container,1320px))!important;
  max-width:var(--sk-container,1320px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:clamp(24px,4vw,58px)!important;
  padding-right:clamp(24px,4vw,58px)!important;
  box-sizing:border-box!important;
}
.sk-core-page .sk-core-hero-copy{
  min-width:0;
  max-width:min(780px,100%);
}
@media(max-width:680px){
  .sk-core-page .sk-core-hero-content{
    padding-left:22px!important;
    padding-right:22px!important;
  }
}

/* ----- Global contrast contract for dark/accent/image sections ----- */
.sk-core-page .sk-section--dark,
.sk-core-page .sk-section--accent,
.sk-core-page .sk-section--image{
  --sk-core-section-fg:#fff;
  --sk-core-section-muted:rgba(255,255,255,.76);
}
.sk-core-page .sk-section--dark .sk-core-section-head h1,
.sk-core-page .sk-section--dark .sk-core-section-head h2,
.sk-core-page .sk-section--dark .sk-core-section-head h3,
.sk-core-page .sk-section--dark .sk-core-card h3,
.sk-core-page .sk-section--dark .sk-core-info-item h3,
.sk-core-page .sk-section--accent .sk-core-section-head h1,
.sk-core-page .sk-section--accent .sk-core-section-head h2,
.sk-core-page .sk-section--accent .sk-core-section-head h3,
.sk-core-page .sk-section--accent .sk-core-card h3,
.sk-core-page .sk-section--accent .sk-core-info-item h3,
.sk-core-page .sk-section--image .sk-core-section-head h1,
.sk-core-page .sk-section--image .sk-core-section-head h2,
.sk-core-page .sk-section--image .sk-core-section-head h3{
  color:#fff!important;
}
.sk-core-page .sk-section--dark .sk-core-lead,
.sk-core-page .sk-section--dark .sk-core-card p,
.sk-core-page .sk-section--dark .sk-core-info-copy,
.sk-core-page .sk-section--accent .sk-core-lead,
.sk-core-page .sk-section--accent .sk-core-card p,
.sk-core-page .sk-section--accent .sk-core-info-copy,
.sk-core-page .sk-section--image .sk-core-lead{
  color:rgba(255,255,255,.76)!important;
}

/* Light cards inside dark sections deliberately revert to dark copy. */
.sk-core-page .sk-section--dark .sk-core-card[style*="background:#fff"],
.sk-core-page .sk-section--dark .sk-core-card.is-light,
.sk-core-page .sk-section--accent .sk-core-card.is-light{
  color:var(--sk-core-text)!important;
}

/* ----- Overlay service cards: explicit readable foreground ----- */
.sk-core-page .sk-core-services--overlay-cards .sk-core-card{
  isolation:isolate;
}
.sk-core-page .sk-core-services--overlay-cards .sk-core-card:after{
  background:linear-gradient(
    180deg,
    rgba(5,8,12,.08) 0%,
    rgba(5,8,12,.32) 40%,
    rgba(5,8,12,.91) 100%
  )!important;
}
.sk-core-page .sk-core-services--overlay-cards .sk-core-card h3,
.sk-core-page .sk-core-services--overlay-cards .sk-core-card p,
.sk-core-page .sk-core-services--overlay-cards .sk-core-text-link{
  color:#fff!important;
  text-shadow:0 1px 14px rgba(0,0,0,.28);
}
.sk-core-page .sk-core-services--overlay-cards .sk-core-card p{
  color:rgba(255,255,255,.78)!important;
}

/* ----- Testimonial quote mark: visible on any background ----- */
.sk-core-page .sk-core-testimonial:before{
  color:var(--sk-core-accent)!important;
  opacity:.32!important;
}
.sk-core-page .sk-section--dark .sk-core-testimonial:before,
.sk-core-page .sk-section--accent .sk-core-testimonial:before,
.sk-core-page .sk-core-testimonials--spotlight .sk-core-testimonial:before{
  color:var(--sk-accent,#c8a96a)!important;
  opacity:.42!important;
}
.sk-core-page .sk-section--dark .sk-core-testimonial,
.sk-core-page .sk-section--accent .sk-core-testimonial{
  color:#fff;
}
.sk-core-page .sk-section--dark .sk-core-testimonial footer span,
.sk-core-page .sk-section--accent .sk-core-testimonial footer span{
  color:rgba(255,255,255,.65)!important;
}

/* ----- Service links with optional imagery ----- */
.sk-core-page .sk-core-services--links .sk-core-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  width:100%;
  max-width:1320px;
  margin-inline:auto;
  border-top:1px solid var(--sk-core-line);
  border-bottom:1px solid var(--sk-core-line);
}
.sk-core-page .sk-core-services--links .sk-core-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  min-width:0;
  padding:clamp(26px,2.5vw,34px) 16px 26px!important;
  border:0!important;
  border-right:1px solid var(--sk-core-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.sk-core-page .sk-core-services--links .sk-core-card:last-child{
  border-right:0!important;
}
.sk-core-page .sk-core-services--links .sk-core-card > img.sk-core-card-image{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 24px!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:14px!important;
  transform:none!important;
}
.sk-core-page .sk-core-services--links .sk-core-card h3{
  margin:0 0 14px!important;
  min-height:0;
}
.sk-core-page .sk-core-services--links .sk-core-card p{
  grid-column:auto!important;
  margin:0 0 20px!important;
}
.sk-core-page .sk-core-services--links .sk-core-text-link{
  grid-column:auto!important;
  grid-row:auto!important;
  margin-top:auto!important;
  padding-top:16px;
  font-size:0;
}
.sk-core-page .sk-core-services--links .sk-core-text-link span{
  font-size:1.5rem;
}
@media(max-width:980px){
  .sk-core-page .sk-core-services--links .sk-core-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sk-core-page .sk-core-services--links .sk-core-card:nth-child(2n){
    border-right:0!important;
  }
  .sk-core-page .sk-core-services--links .sk-core-card:nth-child(-n+2){
    border-bottom:1px solid var(--sk-core-line)!important;
  }
}
@media(max-width:680px){
  .sk-core-page .sk-core-services--links .sk-core-grid{
    grid-template-columns:1fr!important;
  }
  .sk-core-page .sk-core-services--links .sk-core-card{
    border-right:0!important;
    border-bottom:1px solid var(--sk-core-line)!important;
  }
  .sk-core-page .sk-core-services--links .sk-core-card:last-child{
    border-bottom:0!important;
  }
}

/* ----- Split-image CTA must be a complete two-sided component ----- */
.sk-core-page .sk-core-cta--split-image .sk-core-cta-shell{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr)!important;
  min-height:480px!important;
  overflow:hidden!important;
  border-radius:calc(var(--sk-core-radius) + 10px)!important;
  background:#101923!important;
}
.sk-core-page .sk-core-cta--split-image .sk-core-cta-inner{
  position:relative!important;
  z-index:2!important;
  min-width:0;
  padding:clamp(42px,5vw,72px)!important;
  background:linear-gradient(145deg,#101923,#172534)!important;
  color:#fff!important;
}
.sk-core-page .sk-core-cta--split-image .sk-core-section-head h2,
.sk-core-page .sk-core-cta--split-image .sk-core-section-head h3{
  color:#fff!important;
}
.sk-core-page .sk-core-cta--split-image .sk-core-lead{
  color:rgba(255,255,255,.74)!important;
}
.sk-core-page .sk-core-cta--split-image .sk-core-cta-media{
  position:relative!important;
  z-index:1!important;
  order:2!important;
  min-width:0!important;
  min-height:100%!important;
  overflow:hidden!important;
  background:#15202c;
}
.sk-core-page .sk-core-cta--split-image .sk-core-cta-media img,
.sk-core-page .sk-core-cta--split-image .sk-core-cta-media .sk-core-image-placeholder{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}
@media(max-width:900px){
  .sk-core-page .sk-core-cta--split-image .sk-core-cta-shell{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .sk-core-page .sk-core-cta--split-image .sk-core-cta-media{
    order:0!important;
    min-height:300px!important;
  }
}

/* ----- Stats: item count controls the row instead of a hard-coded 4-up grid ----- */
.sk-core-page .sk-core-stats-grid--count-1{
  grid-template-columns:minmax(0,1fr)!important;
  max-width:640px!important;
}
.sk-core-page .sk-core-stats-grid--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:920px!important;
}
.sk-core-page .sk-core-stats-grid--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:1320px!important;
}
.sk-core-page .sk-core-stats-grid--count-4{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  max-width:1320px!important;
}
.sk-core-page .sk-core-stats--editorial .sk-core-stats-grid{
  width:100%;
  margin-inline:auto;
}
.sk-core-page .sk-core-stats--editorial .sk-core-stat{
  padding:30px clamp(22px,2.4vw,34px)!important;
  border-right:1px solid var(--sk-core-border);
}
.sk-core-page .sk-core-stats--editorial .sk-core-stat:first-child{
  padding-left:0!important;
}
.sk-core-page .sk-core-stats--editorial .sk-core-stat:last-child{
  border-right:0;
  padding-right:0!important;
}
@media(max-width:820px){
  .sk-core-page .sk-core-stats-grid--count-3,
  .sk-core-page .sk-core-stats-grid--count-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:600px){
  .sk-core-page [class*="sk-core-stats-grid--count-"]{
    grid-template-columns:1fr!important;
  }
  .sk-core-page .sk-core-stats--editorial .sk-core-stat{
    border-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* ----- Generic unseen-variant protection ----- */
.sk-core-page .sk-section--dark a:not(.sk-core-button),
.sk-core-page .sk-section--accent a:not(.sk-core-button){
  color:inherit;
}
.sk-core-page .sk-section--dark .sk-core-eyebrow,
.sk-core-page .sk-section--accent .sk-core-eyebrow{
  color:var(--sk-accent,#c8a96a)!important;
}
.sk-core-page .sk-section--dark .sk-core-icon,
.sk-core-page .sk-section--dark .sk-core-info-icon,
.sk-core-page .sk-section--accent .sk-core-icon,
.sk-core-page .sk-section--accent .sk-core-info-icon{
  color:var(--sk-accent,#c8a96a)!important;
}
.sk-core-page .sk-section--dark .sk-core-card,
.sk-core-page .sk-section--accent .sk-core-card{
  border-color:rgba(255,255,255,.12);
}


/* ==========================================================================
   v1.6.9 — overlay-card composition, icon-strip contrast, CTA no-media fallback
   ========================================================================== */

/* ----- Overlay service cards: one coherent bottom-aligned content block ----- */
.sk-core-page .sk-core-services--overlay-cards .sk-core-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  min-height:390px!important;
  padding:clamp(26px,2.7vw,34px)!important;
  overflow:hidden!important;
}
.sk-core-page .sk-core-services--overlay-cards .sk-core-card > img.sk-core-card-image{
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
.sk-core-page .sk-core-services--overlay-cards .sk-core-card:after{
  z-index:1!important;
}
.sk-core-page .sk-core-services--overlay-cards .sk-core-card h3,
.sk-core-page .sk-core-services--overlay-cards .sk-core-card p,
.sk-core-page .sk-core-services--overlay-cards .sk-core-text-link{
  position:relative!important;
  z-index:2!important;
  width:100%;
  margin-left:0!important;
  margin-right:0!important;
}
.sk-core-page .sk-core-services--overlay-cards .sk-core-card h3{
  margin-top:0!important;
  margin-bottom:10px!important;
  font-size:clamp(1.22rem,1.6vw,1.5rem)!important;
  line-height:1.16!important;
  text-align:left!important;
}
.sk-core-page .sk-core-services--overlay-cards .sk-core-card p{
  margin:0 0 18px!important;
  max-width:34ch;
  text-align:left!important;
  line-height:1.6!important;
}
.sk-core-page .sk-core-services--overlay-cards .sk-core-text-link{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  text-align:left!important;
}
@media(max-width:680px){
  .sk-core-page .sk-core-services--overlay-cards .sk-core-card{
    min-height:340px!important;
    padding:24px!important;
  }
}

/* ----- Icon strip: its inner panel is intentionally LIGHT even in a dark section ----- */
.sk-core-page .sk-core-info--icon-strip .sk-core-info-grid{
  background:#fff!important;
  color:var(--sk-core-text)!important;
  align-items:stretch;
}
.sk-core-page .sk-core-info--icon-strip .sk-core-info-item{
  min-height:0!important;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:center!important;
  padding:30px 22px!important;
  background:#fff!important;
  color:var(--sk-core-text)!important;
  box-shadow:none!important;
}
.sk-core-page .sk-core-info--icon-strip .sk-core-info-item h3{
  margin:15px 0 8px!important;
  color:var(--sk-core-text)!important;
  font-size:1.06rem!important;
  line-height:1.25!important;
  text-align:center!important;
}
.sk-core-page .sk-core-info--icon-strip .sk-core-info-copy,
.sk-core-page .sk-core-info--icon-strip .sk-core-info-copy p{
  margin:0!important;
  color:var(--sk-core-muted)!important;
  text-align:center!important;
  line-height:1.55!important;
}
.sk-core-page .sk-core-info--icon-strip .sk-core-info-icon{
  color:var(--sk-core-accent)!important;
}
.sk-core-page .sk-core-info--icon-strip .sk-core-info-value{
  color:var(--sk-core-accent)!important;
}
.sk-core-page .sk-core-info--icon-strip .sk-core-section-head h2,
.sk-core-page .sk-core-info--icon-strip .sk-core-section-head h3{
  /* Heading outside the white strip still follows section contrast. */
  color:inherit;
}

/* ----- Split-image CTA: never reserve an empty second column ----- */
.sk-core-page .sk-core-cta--split-image .sk-core-cta-shell--has-media{
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr)!important;
}
.sk-core-page .sk-core-cta--split-image .sk-core-cta-shell--no-media{
  display:block!important;
  min-height:0!important;
  max-width:1180px;
  margin-inline:auto;
}
.sk-core-page .sk-core-cta--split-image .sk-core-cta-shell--no-media .sk-core-cta-inner{
  width:100%!important;
  min-height:420px;
  padding:clamp(44px,6vw,76px)!important;
  background:
    radial-gradient(circle at 86% 12%,rgba(255,255,255,.07),transparent 28%),
    linear-gradient(145deg,#101923,#172534)!important;
}
.sk-core-page .sk-core-cta--split-image .sk-core-cta-shell--no-media .sk-core-cta-inner:after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:min(46%,520px);
  pointer-events:none;
  opacity:.28;
  background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.3px);
  background-size:18px 18px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000);
  mask-image:linear-gradient(90deg,transparent,#000);
}
.sk-core-page .sk-core-cta--split-image .sk-core-cta-shell--no-media .sk-core-section-head,
.sk-core-page .sk-core-cta--split-image .sk-core-cta-shell--no-media .sk-core-actions{
  position:relative;
  z-index:2;
  max-width:720px;
}
@media(max-width:900px){
  .sk-core-page .sk-core-cta--split-image .sk-core-cta-shell--has-media{
    grid-template-columns:1fr!important;
  }
  .sk-core-page .sk-core-cta--split-image .sk-core-cta-shell--no-media .sk-core-cta-inner{
    min-height:0;
  }
}

/* ----- Contrast specificity safeguard for intentionally light inner surfaces ----- */
.sk-core-page .sk-section--dark .sk-core-info--icon-strip .sk-core-info-item h3,
.sk-core-page .sk-section--accent .sk-core-info--icon-strip .sk-core-info-item h3,
.sk-core-page .sk-section--dark .sk-core-info--icon-strip .sk-core-info-copy,
.sk-core-page .sk-section--accent .sk-core-info--icon-strip .sk-core-info-copy,
.sk-core-page .sk-section--dark .sk-core-info--icon-strip .sk-core-info-copy p,
.sk-core-page .sk-section--accent .sk-core-info--icon-strip .sk-core-info-copy p{
  color:var(--sk-core-text)!important;
}
.sk-core-page .sk-section--dark .sk-core-info--icon-strip .sk-core-info-copy,
.sk-core-page .sk-section--accent .sk-core-info--icon-strip .sk-core-info-copy,
.sk-core-page .sk-section--dark .sk-core-info--icon-strip .sk-core-info-copy p,
.sk-core-page .sk-section--accent .sk-core-info--icon-strip .sk-core-info-copy p{
  color:var(--sk-core-muted)!important;
}


/* ==========================================================================
   v1.7.0 — horizontal timeline
   ========================================================================== */

/* Horizontal process timeline: desktop/tablet statement-piece layout. */
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid{
  display:grid!important;
  grid-template-columns:repeat(var(--sk-timeline-cols,4),minmax(0,1fr))!important;
  gap:0!important;
  max-width:none!important;
  width:100%;
  margin:0!important;
  position:relative;
  align-items:start;
}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid:before{
  content:"";
  position:absolute;
  z-index:0;
  left:calc(50% / var(--sk-timeline-cols,4));
  right:calc(50% / var(--sk-timeline-cols,4));
  top:21px;
  height:1px;
  background:color-mix(in srgb,var(--sk-core-accent),transparent 56%);
}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-item{
  position:relative;
  z-index:1;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  min-width:0;
  min-height:0!important;
  padding:0 clamp(18px,2.4vw,34px)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center;
}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-item:before{
  content:"";
  width:42px;
  height:42px;
  flex:0 0 42px;
  margin:0 0 24px;
  border-radius:999px;
  background:var(--sk-core-accent);
  border:10px solid color-mix(in srgb,var(--sk-core-accent),#fff 84%);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--sk-core-accent),transparent 52%);
}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-meta{
  order:1;
  margin:0 0 8px!important;
}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-value{
  margin:0!important;
  color:var(--sk-core-accent)!important;
  font-size:.78rem!important;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-item h3{
  order:2;
  margin:0 0 10px!important;
  color:inherit;
  font-size:clamp(1.18rem,1.5vw,1.42rem)!important;
  line-height:1.2!important;
}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-copy{
  order:3;
  max-width:30ch;
  margin:0 auto!important;
}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-copy p{
  margin:0!important;
  line-height:1.62!important;
}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-icon{
  display:none!important;
}

/* Counts intelligently fill the row rather than leaving dead columns. */
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid--count-2{--sk-timeline-cols:2}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid--count-3{--sk-timeline-cols:3}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid--count-4{--sk-timeline-cols:4}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid--count-5{--sk-timeline-cols:5}
.sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid--count-6{--sk-timeline-cols:6}

/* On narrower screens retain a horizontal feel for 3–4 steps, then switch
   cleanly to the proven vertical timeline on phones. */
@media(max-width:1100px){
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid{
    --sk-timeline-cols:2;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:34px 0!important;
  }
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid:before{display:none}
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-item:after{
    content:"";
    position:absolute;
    z-index:-1;
    top:21px;
    left:50%;
    right:-50%;
    height:1px;
    background:color-mix(in srgb,var(--sk-core-accent),transparent 62%);
  }
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-item:nth-child(2n):after,
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-item:last-child:after{display:none}
}
@media(max-width:680px){
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid{
    display:block!important;
    position:relative;
  }
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-grid:before{
    display:block;
    left:20px;
    right:auto;
    top:10px;
    bottom:10px;
    width:1px;
    height:auto;
  }
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-item{
    display:block!important;
    padding:4px 0 30px 62px!important;
    text-align:left!important;
  }
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-item:before{
    position:absolute;
    left:10px;
    top:3px;
    width:21px;
    height:21px;
    margin:0;
    border-width:6px;
  }
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-item:after{display:none!important}
  .sk-core-page .sk-core-info--timeline-horizontal .sk-core-info-copy{
    max-width:none;
    margin:0!important;
  }
}


/* ==========================================================================
   v1.7.1 — consistent split/media image radii
   All editorial images positioned beside text share the same Core radius.
   ========================================================================== */
.sk-core-page{
  --sk-core-media-radius: 24px;
}

/* Split/editorial media wrappers */
.sk-core-page .sk-core-split-media,
.sk-core-page .sk-core-split-image,
.sk-core-page .sk-core-media,
.sk-core-page .sk-core-image-wrap,
.sk-core-page .sk-core-feature-media,
.sk-core-page .sk-core-content-media,
.sk-core-page .sk-core-editorial-media{
  border-radius:var(--sk-core-media-radius)!important;
  overflow:hidden;
}

/* The image itself receives the radius too, so it remains correct even when
   a template does not use an overflow-clipping wrapper. */
.sk-core-page .sk-core-split-media img,
.sk-core-page .sk-core-split-image img,
.sk-core-page .sk-core-media img,
.sk-core-page .sk-core-image-wrap img,
.sk-core-page .sk-core-feature-media img,
.sk-core-page .sk-core-content-media img,
.sk-core-page .sk-core-editorial-media img,
.sk-core-page .sk-core-split img{
  display:block;
  width:100%;
  border-radius:var(--sk-core-media-radius)!important;
}

/* Common split variants can render the image directly rather than through
   one of the named media wrappers. Keep those consistent as well. */
.sk-core-page [class*="sk-core-split"] > img,
.sk-core-page [class*="sk-core-split"] picture,
.sk-core-page [class*="sk-core-split"] picture img{
  border-radius:var(--sk-core-media-radius)!important;
}
.sk-core-page [class*="sk-core-split"] picture{
  display:block;
  overflow:hidden;
}

/* Slightly tighter radius on small screens so the geometry scales naturally. */
@media(max-width:680px){
  .sk-core-page{--sk-core-media-radius:18px}
}


/* ==========================================================================
   v1.7.2 — media freedom, coherent dark soft-cards, intelligent featured
   galleries, and rounded accent-band CTA
   ========================================================================== */

/* ----- Soft-card split media: decorative skew must not be clipped ----- */
.sk-core-page .sk-core-image_text--soft-card .sk-core-split{
  overflow:visible!important;
}
.sk-core-page .sk-core-image_text--soft-card .sk-core-split-media{
  overflow:visible!important;
  border-radius:0!important;
  padding:12px;
}
.sk-core-page .sk-core-image_text--soft-card .sk-core-split-media img,
.sk-core-page .sk-core-image_text--soft-card .sk-core-split-media .sk-core-image-placeholder{
  width:calc(100% - 24px)!important;
  max-width:calc(100% - 24px)!important;
  margin:0 auto!important;
  border-radius:var(--sk-core-media-radius)!important;
  transform:none!important;
}
/* Keep the decorative underlay safely inside the allocated media column. */
.sk-core-page .sk-core-image_text--soft-card .sk-core-split-media:before{
  inset:20px 4px 2px 22px!important;
  border-radius:var(--sk-core-media-radius)!important;
  transform:rotate(2deg)!important;
}

/* ----- Dark soft-card: one coherent premium surface ----- */
.sk-core-page .sk-core-image_text--soft-card.sk-section--dark .sk-core-split,
.sk-core-page .sk-core-image_text--soft-card.sk-section--accent .sk-core-split{
  background:
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.055),transparent 25%),
    linear-gradient(145deg,#101923,#172534)!important;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 28px 75px rgba(5,10,16,.16);
}
.sk-core-page .sk-core-image_text--soft-card.sk-section--dark .sk-core-split-copy,
.sk-core-page .sk-core-image_text--soft-card.sk-section--accent .sk-core-split-copy{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#fff!important;
  padding:clamp(26px,3.5vw,48px)!important;
}
.sk-core-page .sk-core-image_text--soft-card.sk-section--dark .sk-core-split-copy h2,
.sk-core-page .sk-core-image_text--soft-card.sk-section--dark .sk-core-split-copy h3,
.sk-core-page .sk-core-image_text--soft-card.sk-section--accent .sk-core-split-copy h2,
.sk-core-page .sk-core-image_text--soft-card.sk-section--accent .sk-core-split-copy h3{
  color:#fff!important;
}
.sk-core-page .sk-core-image_text--soft-card.sk-section--dark .sk-core-split-copy .sk-core-lead,
.sk-core-page .sk-core-image_text--soft-card.sk-section--accent .sk-core-split-copy .sk-core-lead{
  color:rgba(255,255,255,.75)!important;
}
.sk-core-page .sk-core-image_text--soft-card.sk-section--dark .sk-core-image-placeholder,
.sk-core-page .sk-core-image_text--soft-card.sk-section--accent .sk-core-image-placeholder{
  background:
    radial-gradient(circle at 66% 28%,rgba(255,255,255,.11),transparent 25%),
    linear-gradient(145deg,#1a2734,#243748)!important;
}
.sk-core-page .sk-core-image_text--soft-card.sk-section--dark .sk-core-image-placeholder:after,
.sk-core-page .sk-core-image_text--soft-card.sk-section--accent .sk-core-image-placeholder:after{
  color:rgba(255,255,255,.32)!important;
}

/* ----- Featured gallery: always uses the available row width ----- */
.sk-core-page .sk-core-gallery--featured{
  display:grid!important;
  width:100%!important;
  max-width:none!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:clamp(170px,16vw,235px)!important;
  grid-auto-flow:dense!important;
  gap:14px!important;
}
.sk-core-page .sk-core-gallery--featured .sk-core-gallery-item{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  grid-column:span 1;
  grid-row:span 1;
}
.sk-core-page .sk-core-gallery--featured .sk-core-gallery-item img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  max-width:none!important;
  object-fit:cover!important;
}

/* 6 images: one large feature + a complete 2x2 supporting block. */
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-6 .sk-core-gallery-item:first-child{
  grid-column:span 2!important;
  grid-row:span 2!important;
}
/* 5 images fills the same complete 4-column / 2-row composition. */
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-5 .sk-core-gallery-item:first-child{
  grid-column:span 2!important;
  grid-row:span 2!important;
}
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(2),
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(3),
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(4),
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(5){
  grid-column:span 1!important;
}
/* 4 items: large feature plus three supporting tiles with the last filling row. */
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-4 .sk-core-gallery-item:first-child{
  grid-column:span 2!important;
  grid-row:span 2!important;
}
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-4 .sk-core-gallery-item:nth-child(4){
  grid-column:span 2!important;
}
/* 3 items: confident 2 + 1 + 1 arrangement, no orphan gap. */
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-3 .sk-core-gallery-item:first-child{
  grid-column:span 2!important;
  grid-row:span 2!important;
}
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-3 .sk-core-gallery-item:nth-child(2),
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-3 .sk-core-gallery-item:nth-child(3){
  grid-column:span 2!important;
}
/* 2 images split the full row evenly. */
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:clamp(260px,27vw,430px)!important;
}
.sk-core-page .sk-core-gallery--featured.sk-core-gallery--count-2 .sk-core-gallery-item{
  grid-column:span 1!important;
  grid-row:span 1!important;
}
@media(max-width:820px){
  .sk-core-page .sk-core-gallery--featured{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:180px!important;
  }
  .sk-core-page .sk-core-gallery--featured .sk-core-gallery-item:first-child{
    grid-column:span 2!important;
    grid-row:span 2!important;
  }
}
@media(max-width:520px){
  .sk-core-page .sk-core-gallery--featured{
    grid-template-columns:1fr!important;
    grid-auto-rows:240px!important;
  }
  .sk-core-page .sk-core-gallery--featured .sk-core-gallery-item,
  .sk-core-page .sk-core-gallery--featured .sk-core-gallery-item:first-child{
    grid-column:span 1!important;
    grid-row:span 1!important;
  }
}

/* ----- Accent-band CTA: rounded statement component, never accidental media ----- */
.sk-core-page .sk-core-cta--accent-band .sk-core-cta-shell{
  width:min(100%,1320px)!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 88% 10%,rgba(255,255,255,.10),transparent 28%),
    linear-gradient(110deg,var(--sk-core-primary),color-mix(in srgb,var(--sk-core-primary),#000 28%))!important;
  color:#fff!important;
  box-shadow:0 28px 75px rgba(15,23,42,.13);
}
.sk-core-page .sk-core-cta--accent-band .sk-core-cta-media{
  display:none!important;
}
.sk-core-page .sk-core-cta--accent-band .sk-core-cta-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(42px,5vw,68px)!important;
  background:transparent!important;
  color:#fff!important;
}
.sk-core-page .sk-core-cta--accent-band .sk-core-section-head h2,
.sk-core-page .sk-core-cta--accent-band .sk-core-section-head h3{
  color:#fff!important;
}
.sk-core-page .sk-core-cta--accent-band .sk-core-lead{
  color:rgba(255,255,255,.78)!important;
}
.sk-core-page .sk-core-cta--accent-band .sk-core-eyebrow{
  color:var(--sk-accent,#c8a96a)!important;
}
@media(max-width:680px){
  .sk-core-page .sk-core-cta--accent-band .sk-core-cta-shell{
    border-radius:22px!important;
  }
  .sk-core-page .sk-core-cta--accent-band .sk-core-cta-inner{
    padding:34px 24px!important;
  }
}


/* ==========================================================================
   v1.7.3 — gallery selector architecture + safe soft-card media transform
   ========================================================================== */

/*
 * IMPORTANT: the outer <section> for a Gallery is itself class="sk-core-gallery".
 * Historical .sk-core-gallery grid rules therefore affected BOTH the section
 * and the real inner gallery grid. The section must remain a normal block.
 */
.sk-core-page section.sk-core-gallery{
  display:block!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  grid-auto-columns:auto!important;
  grid-auto-rows:auto!important;
  grid-auto-flow:row!important;
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  align-items:initial!important;
  justify-items:initial!important;
}

/* Only the gallery nested inside the section panel is the actual image grid. */
.sk-core-page section.sk-core-gallery .sk-core-section-content,
.sk-core-page section.sk-core-gallery .sk-core-section-panel{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
.sk-core-page section.sk-core-gallery .sk-core-section-panel > .sk-core-gallery{
  display:grid!important;
  width:100%!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Featured gallery fully owns its available horizontal canvas. */
.sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured{
  width:100%!important;
  max-width:1320px!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:dense!important;
}

/* The section heading is independent of the image grid. */
.sk-core-page section.sk-core-gallery .sk-core-section-head{
  width:min(100%,900px)!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Responsive featured gallery */
@media(max-width:820px){
  .sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:520px){
  .sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured{
    grid-template-columns:1fr!important;
  }
}

/* ----- Soft-card image: rotation stays INSIDE a safe media canvas ----- */

/* The section and all structural parents must allow the designed image canvas. */
.sk-core-page section.sk-core-image_text--soft-card,
.sk-core-page section.sk-core-image_text--soft-card .sk-container,
.sk-core-page section.sk-core-image_text--soft-card .sk-core-section-content,
.sk-core-page section.sk-core-image_text--soft-card .sk-core-section-panel,
.sk-core-page section.sk-core-image_text--soft-card .sk-core-split{
  overflow:visible!important;
}

/*
 * Keep the actual media column rectangular and roomy. The rotation is applied
 * to the IMAGE, but the image is deliberately inset first, so its rotated
 * corners remain inside the column instead of being chopped by neighbouring
 * layout boundaries.
 */
.sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media{
  position:relative!important;
  overflow:visible!important;
  border-radius:0!important;
  padding:clamp(24px,3vw,38px)!important;
  box-sizing:border-box!important;
}
.sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media img{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  border-radius:var(--sk-core-media-radius)!important;
  transform:rotate(1.7deg)!important;
  transform-origin:center center!important;
  box-shadow:var(--sk-core-shadow-lg)!important;
}

/* Decorative offset card remains behind, but within the media canvas. */
.sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media:before{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:clamp(30px,4vw,48px) clamp(12px,1.5vw,22px) clamp(10px,1.5vw,20px) clamp(30px,3vw,46px)!important;
  border-radius:var(--sk-core-media-radius)!important;
  background:var(--sk-core-accent)!important;
  opacity:.09!important;
  transform:rotate(-2deg)!important;
}

/* Placeholder behaves like the image but is never rotated into clipping. */
.sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media .sk-core-image-placeholder{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  border-radius:var(--sk-core-media-radius)!important;
  transform:none!important;
}

/* Give the copy side enough breathing room from the decorative image. */
.sk-core-page section.sk-core-image_text--soft-card .sk-core-split{
  gap:clamp(34px,5vw,78px)!important;
}

@media(max-width:760px){
  .sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media{
    padding:20px!important;
  }
  .sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media img{
    transform:rotate(1deg)!important;
  }
}


/* ==========================================================================
   v1.7.4 — clean soft-card media + explicit featured gallery compositions
   ========================================================================== */

/* --------------------------------------------------------------------------
   Soft-card image:
   The image itself must NEVER be rotated. A rotated bitmap inside a rounded
   box creates the visual impression that opposite corners have been cut off.
   Keep the photo perfectly axis-aligned and put the editorial tilt behind it.
   -------------------------------------------------------------------------- */
.sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media{
  position:relative!important;
  overflow:visible!important;
  padding:clamp(22px,3vw,36px)!important;
}

.sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media img{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
  rotate:none!important;
  border-radius:var(--sk-core-media-radius)!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  overflow:hidden!important;
  box-shadow:var(--sk-core-shadow-lg)!important;
}

/* Decorative tilted card only — this creates the editorial effect safely. */
.sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media:before{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:clamp(28px,3.6vw,44px) clamp(8px,1vw,16px) clamp(8px,1vw,16px) clamp(28px,2.8vw,42px)!important;
  border-radius:var(--sk-core-media-radius)!important;
  background:color-mix(in srgb,var(--sk-core-accent),#fff 82%)!important;
  opacity:.42!important;
  transform:rotate(-2deg)!important;
  transform-origin:center!important;
}

/* Remove any historical transforms inherited from image-text variants. */
.sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media img:hover{
  transform:none!important;
}

/* --------------------------------------------------------------------------
   Featured gallery:
   Explicit desktop placements for each supported image count.
   This prevents grid auto-placement from leaving a random orphan tile.
   -------------------------------------------------------------------------- */
.sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,clamp(190px,17vw,250px))!important;
  grid-auto-flow:row!important;
  gap:14px!important;
  width:100%!important;
  max-width:1320px!important;
  margin-inline:auto!important;
}

/* Reset every tile before applying count-specific composition. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
}

/* 2 images: clean equal split across the full row. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:clamp(280px,30vw,440px)!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-2 .sk-core-gallery-item:nth-child(1){
  grid-column:1!important;grid-row:1!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-2 .sk-core-gallery-item:nth-child(2){
  grid-column:2!important;grid-row:1!important;
}

/* 3 images: one large feature + two stacked supporting images. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-3 .sk-core-gallery-item:nth-child(1){
  grid-column:1 / span 2!important;
  grid-row:1 / span 2!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-3 .sk-core-gallery-item:nth-child(2){
  grid-column:3 / span 2!important;
  grid-row:1!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-3 .sk-core-gallery-item:nth-child(3){
  grid-column:3 / span 2!important;
  grid-row:2!important;
}

/* 4 images: complete composition — no orphan fourth image. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-4 .sk-core-gallery-item:nth-child(1){
  grid-column:1 / span 2!important;
  grid-row:1 / span 2!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-4 .sk-core-gallery-item:nth-child(2){
  grid-column:3!important;
  grid-row:1!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-4 .sk-core-gallery-item:nth-child(3){
  grid-column:4!important;
  grid-row:1!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-4 .sk-core-gallery-item:nth-child(4){
  grid-column:3 / span 2!important;
  grid-row:2!important;
}

/* 5 images: one large feature + a complete 2 x 2 supporting block. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(1){
  grid-column:1 / span 2!important;
  grid-row:1 / span 2!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(2){
  grid-column:3!important;grid-row:1!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(3){
  grid-column:4!important;grid-row:1!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(4){
  grid-column:3!important;grid-row:2!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(5){
  grid-column:4!important;grid-row:2!important;
}

/* 6 images: balanced 3 x 2 layout rather than forcing one oversized feature. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-6{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,clamp(200px,18vw,270px))!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-6 .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
}

/* Every featured image completely fills its assigned tile. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery-item img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
}

/* Tablet: simple, complete 2-column grid. */
@media(max-width:820px){
  .sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured,
  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-2,
  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-3,
  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-4,
  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-5,
  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-6{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-rows:210px!important;
  }

  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery-item{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* Mobile: one image per row, no partial compositions. */
@media(max-width:520px){
  .sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured,
  .sk-core-page section.sk-core-gallery--featured [class*="sk-core-gallery--count-"]{
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    grid-auto-rows:240px!important;
  }

  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery-item{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}


/* ==========================================================================
   v1.7.5 — predictable featured-gallery packing + clean standard split media
   ========================================================================== */

/* --------------------------------------------------------------------------
   Standard image-left / image-right:
   remove the generic rotated accent plate inherited from old split-media CSS.
   These variants should be clean, modern and axis-aligned.
   -------------------------------------------------------------------------- */
.sk-core-page section.sk-core-image_text--image-left .sk-core-split-media:before,
.sk-core-page section.sk-core-image_text--image-right .sk-core-split-media:before{
  content:none!important;
  display:none!important;
}

.sk-core-page section.sk-core-image_text--image-left .sk-core-split-media,
.sk-core-page section.sk-core-image_text--image-right .sk-core-split-media{
  overflow:hidden!important;
  border-radius:var(--sk-core-media-radius)!important;
  padding:0!important;
  transform:none!important;
}

.sk-core-page section.sk-core-image_text--image-left .sk-core-split-media img,
.sk-core-page section.sk-core-image_text--image-right .sk-core-split-media img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
  rotate:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border-radius:var(--sk-core-media-radius)!important;
}

/* Framed / soft-card variants may still use deliberate decorative layers. */
.sk-core-page section.sk-core-image_text--framed .sk-core-split-media:before,
.sk-core-page section.sk-core-image_text--soft-card .sk-core-split-media:before{
  display:block;
}

/* --------------------------------------------------------------------------
   Featured gallery:
   use simple, complete compositions by count. No orphan tiles, no empty rows.
   -------------------------------------------------------------------------- */
.sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured{
  display:grid!important;
  width:100%!important;
  max-width:1320px!important;
  margin-inline:auto!important;
  gap:14px!important;
  grid-auto-flow:row!important;
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
}

/* Reset all historical spanning. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  aspect-ratio:auto!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery-item img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
}

/* 2 images: one clean row. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-2 .sk-core-gallery-item{
  aspect-ratio:16/10!important;
}

/* 3 images: three equal columns. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-3 .sk-core-gallery-item{
  aspect-ratio:4/3!important;
}

/* 4 images: exact 2 × 2. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-4 .sk-core-gallery-item{
  aspect-ratio:16/9!important;
}

/* 5 images: deliberate 2 + 3 composition. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-5{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(1),
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(2){
  grid-column:span 3!important;
  aspect-ratio:16/9!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(n+3){
  grid-column:span 2!important;
  aspect-ratio:4/3!important;
}

/* 6 images: exact 3 × 2. */
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-6{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-gallery--count-6 .sk-core-gallery-item{
  aspect-ratio:4/3!important;
}

/* Fallback when count class is unavailable: use complete rows, not masonry. */
.sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured:not([class*="sk-core-gallery--count-"]){
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured:not([class*="sk-core-gallery--count-"]) .sk-core-gallery-item{
  aspect-ratio:4/3!important;
}

/* Extra fallback based on actual children, for cached/older markup. */
@supports selector(:has(*)){
  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery--featured:has(.sk-core-gallery-item:nth-child(4):last-child){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery--featured:has(.sk-core-gallery-item:nth-child(4):last-child) .sk-core-gallery-item{
    grid-column:auto!important;
    grid-row:auto!important;
    aspect-ratio:16/9!important;
  }
}

/* Tablet */
@media(max-width:820px){
  .sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured,
  .sk-core-page section.sk-core-gallery--featured [class*="sk-core-gallery--count-"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery-item{
    grid-column:auto!important;
    grid-row:auto!important;
    aspect-ratio:4/3!important;
  }
}

/* Mobile */
@media(max-width:520px){
  .sk-core-page section.sk-core-gallery--featured .sk-core-section-panel > .sk-core-gallery--featured,
  .sk-core-page section.sk-core-gallery--featured [class*="sk-core-gallery--count-"]{
    grid-template-columns:1fr!important;
  }
  .sk-core-page section.sk-core-gallery--featured .sk-core-gallery-item{
    grid-column:auto!important;
    grid-row:auto!important;
    aspect-ratio:16/10!important;
  }
}


/* ==========================================================================
   v1.7.6 — cascading layered image variants
   ========================================================================== */
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split{
  gap:clamp(48px,7vw,96px)!important;
  align-items:center!important;
  overflow:visible!important;
}
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media{order:2}
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  border-radius:0!important;
  padding:clamp(28px,4vw,52px)!important;
}

/* Large rear colour panel */
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media:before,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media:before{
  content:""!important;
  position:absolute!important;
  z-index:-2!important;
  inset:clamp(18px,2vw,30px) clamp(4px,1vw,14px) clamp(4px,1vw,14px) clamp(24px,3vw,48px)!important;
  border-radius:calc(var(--sk-core-media-radius) + 8px)!important;
  background:
    linear-gradient(145deg,
      color-mix(in srgb,var(--sk-core-primary),#fff 88%),
      color-mix(in srgb,var(--sk-core-accent),#fff 78%)
    )!important;
  transform:translate(22px,18px) rotate(2deg)!important;
  opacity:.95!important;
  box-shadow:0 30px 70px rgba(15,23,42,.10)!important;
}

/* Fine dotted cascade / technical texture */
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media:after,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media:after{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  width:46%!important;
  height:48%!important;
  right:0!important;
  bottom:0!important;
  border-radius:24px!important;
  background-image:radial-gradient(color-mix(in srgb,var(--sk-core-primary),transparent 66%) 1px,transparent 1.3px)!important;
  background-size:13px 13px!important;
  transform:translate(7%,10%)!important;
  opacity:.55!important;
}

/* Foreground photo remains clean and perfectly rounded. */
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media img,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media img{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
  border-radius:var(--sk-core-media-radius)!important;
  box-shadow:0 28px 70px rgba(15,23,42,.18)!important;
  object-fit:cover!important;
}

/* Small accent tile gives the composition an intentional layered rhythm. */
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-copy,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-copy{
  position:relative;
}
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-copy:before,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-copy:before{
  content:"";
  position:absolute;
  width:56px;
  height:5px;
  top:-22px;
  left:0;
  border-radius:99px;
  background:linear-gradient(90deg,var(--sk-core-primary),var(--sk-core-accent));
}

/* Mirrored geometry for right-side media */
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media:before{
  inset:clamp(18px,2vw,30px) clamp(24px,3vw,48px) clamp(4px,1vw,14px) clamp(4px,1vw,14px)!important;
  transform:translate(-22px,18px) rotate(-2deg)!important;
}
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media:after{
  right:auto!important;
  left:0!important;
  transform:translate(-7%,10%)!important;
}

@media(max-width:760px){
  .sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media,
  .sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media{
    order:0!important;
    padding:24px!important;
  }
  .sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media:before,
  .sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media:before{
    transform:translate(10px,10px) rotate(1deg)!important;
  }
  .sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media:before{
    transform:translate(-10px,10px) rotate(-1deg)!important;
  }
}


/* ==========================================================================
   v1.7.7 — compact minimal CTA + controlled masonry gallery
   ========================================================================== */

/* --------------------------------------------------------------------------
   Minimal CTA:
   compact editorial statement, not a giant empty two-column banner.
   -------------------------------------------------------------------------- */
.sk-core-page .sk-core-cta--minimal .sk-core-cta-shell{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  min-height:0!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(32px,6vw,84px)!important;
  padding:clamp(34px,4vw,52px)!important;
  border:1px solid var(--sk-core-line)!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(15,23,42,.035),transparent 26%),
    #fff!important;
  box-shadow:0 18px 50px rgba(15,23,42,.06)!important;
}
.sk-core-page .sk-core-cta--minimal .sk-core-cta-inner{
  display:contents!important;
  padding:0!important;
  background:transparent!important;
}
.sk-core-page .sk-core-cta--minimal .sk-core-section-head{
  width:100%!important;
  max-width:760px!important;
  margin:0!important;
  text-align:left!important;
  align-items:flex-start!important;
}
.sk-core-page .sk-core-cta--minimal .sk-core-section-head h2,
.sk-core-page .sk-core-cta--minimal .sk-core-section-head h3{
  margin-bottom:12px!important;
  font-size:clamp(2rem,3.3vw,3.45rem)!important;
  line-height:1.03!important;
  text-wrap:balance;
}
.sk-core-page .sk-core-cta--minimal .sk-core-lead{
  max-width:62ch!important;
  margin:0!important;
  text-align:left!important;
}
.sk-core-page .sk-core-cta--minimal .sk-core-actions{
  margin:0!important;
  padding:0!important;
  flex:0 0 auto;
  justify-content:flex-end!important;
}
.sk-core-page .sk-core-cta--minimal .sk-core-actions .sk-core-button{
  white-space:nowrap;
}
@media(max-width:820px){
  .sk-core-page .sk-core-cta--minimal .sk-core-cta-shell{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:32px 26px!important;
  }
  .sk-core-page .sk-core-cta--minimal .sk-core-actions{
    justify-content:flex-start!important;
  }
}
@media(max-width:520px){
  .sk-core-page .sk-core-cta--minimal .sk-core-cta-shell{
    border-radius:20px!important;
  }
  .sk-core-page .sk-core-cta--minimal .sk-core-actions .sk-core-button{
    width:100%;
    justify-content:center;
  }
}

/* --------------------------------------------------------------------------
   Masonry gallery:
   controlled CSS-grid masonry look with complete rows and predictable spans.
   No free-form absolute positioning or orphaned tiles.
   -------------------------------------------------------------------------- */
.sk-core-page section.sk-core-gallery--masonry{
  display:block!important;
  grid-template-columns:none!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-section-content,
.sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry{
  display:grid!important;
  width:100%!important;
  max-width:1320px!important;
  margin-inline:auto!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:92px!important;
  grid-auto-flow:dense!important;
  gap:14px!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item{
  position:relative!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:var(--sk-core-soft)!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
}

/* Deterministic visual rhythm that always consumes full row width. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+1){
  grid-column:span 6!important;
  grid-row:span 4!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+2){
  grid-column:span 3!important;
  grid-row:span 2!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+3){
  grid-column:span 3!important;
  grid-row:span 2!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+4){
  grid-column:span 3!important;
  grid-row:span 2!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+5){
  grid-column:span 3!important;
  grid-row:span 2!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+6){
  grid-column:span 6!important;
  grid-row:span 3!important;
}

/* Count-specific cleanup prevents final incomplete groups. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:320px!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-2 .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:300px!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-3 .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:280px!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-4 .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-auto-rows:220px!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(1),
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(2){
  grid-column:span 3!important;
  grid-row:span 1!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(n+3){
  grid-column:span 2!important;
  grid-row:span 1!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-6{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:240px!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-6 .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
}

/* Tablet: controlled two-column collage. */
@media(max-width:820px){
  .sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry,
  .sk-core-page section.sk-core-gallery--masonry [class*="sk-core-gallery--count-"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:220px!important;
  }
  .sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* Mobile: full-width images, no collage compression. */
@media(max-width:520px){
  .sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry,
  .sk-core-page section.sk-core-gallery--masonry [class*="sk-core-gallery--count-"]{
    grid-template-columns:1fr!important;
    grid-auto-rows:250px!important;
  }
}


/* ==========================================================================
   v1.7.8 — minimal CTA contrast reset + resilient masonry visibility
   ========================================================================== */

/* ----- Minimal CTA is a LIGHT component regardless of outer section palette ----- */
.sk-core-page .sk-core-cta--minimal .sk-core-cta-shell,
.sk-core-page .sk-section--dark .sk-core-cta--minimal .sk-core-cta-shell,
.sk-core-page .sk-section--accent .sk-core-cta--minimal .sk-core-cta-shell{
  color:var(--sk-core-text)!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(15,23,42,.035),transparent 26%),
    #fff!important;
}
.sk-core-page .sk-core-cta--minimal .sk-core-section-head h1,
.sk-core-page .sk-core-cta--minimal .sk-core-section-head h2,
.sk-core-page .sk-core-cta--minimal .sk-core-section-head h3,
.sk-core-page .sk-section--dark .sk-core-cta--minimal .sk-core-section-head h1,
.sk-core-page .sk-section--dark .sk-core-cta--minimal .sk-core-section-head h2,
.sk-core-page .sk-section--dark .sk-core-cta--minimal .sk-core-section-head h3,
.sk-core-page .sk-section--accent .sk-core-cta--minimal .sk-core-section-head h1,
.sk-core-page .sk-section--accent .sk-core-cta--minimal .sk-core-section-head h2,
.sk-core-page .sk-section--accent .sk-core-cta--minimal .sk-core-section-head h3{
  color:var(--sk-core-text)!important;
  text-shadow:none!important;
}
.sk-core-page .sk-core-cta--minimal .sk-core-lead,
.sk-core-page .sk-core-cta--minimal .sk-core-lead p,
.sk-core-page .sk-section--dark .sk-core-cta--minimal .sk-core-lead,
.sk-core-page .sk-section--dark .sk-core-cta--minimal .sk-core-lead p,
.sk-core-page .sk-section--accent .sk-core-cta--minimal .sk-core-lead,
.sk-core-page .sk-section--accent .sk-core-cta--minimal .sk-core-lead p{
  color:var(--sk-core-muted)!important;
}
.sk-core-page .sk-core-cta--minimal .sk-core-eyebrow{
  color:var(--sk-core-primary)!important;
}

/* ----- Masonry gallery: guaranteed visible geometry for ANY item count ----- */

/* Outer gallery section remains a normal section. */
.sk-core-page section.sk-core-gallery--masonry{
  display:block!important;
}

/* Inner gallery is the only grid. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry{
  display:grid!important;
  width:100%!important;
  max-width:1320px!important;
  margin-inline:auto!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:dense!important;
  grid-auto-rows:88px!important;
  gap:14px!important;
  align-items:stretch!important;
}

/* Every tile has a valid default span so it can NEVER collapse to zero height. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item{
  position:relative!important;
  display:block!important;
  grid-column:span 4!important;
  grid-row:span 3!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:250px!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:var(--sk-core-soft)!important;
}

/* Images are guaranteed to paint the tile. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item img,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item .sk-core-image-placeholder{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  visibility:visible!important;
  border-radius:inherit!important;
}

/* Larger galleries get controlled variation, but the default still works. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+1){
  grid-column:span 6!important;
  grid-row:span 4!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+2),
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+3){
  grid-column:span 3!important;
  grid-row:span 2!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+4),
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+5){
  grid-column:span 3!important;
  grid-row:span 2!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item:nth-child(6n+6){
  grid-column:span 6!important;
  grid-row:span 3!important;
}

/* Exact small-count layouts override the collage pattern. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-1{
  grid-template-columns:1fr!important;
  grid-auto-rows:auto!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-1 .sk-core-gallery-item{
  grid-column:1!important;
  grid-row:auto!important;
  min-height:clamp(320px,38vw,520px)!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-2 .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:clamp(260px,27vw,390px)!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-3 .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:300px!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-4 .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:280px!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(1),
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(2){
  grid-column:span 3!important;
  grid-row:auto!important;
  min-height:285px!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(n+3){
  grid-column:span 2!important;
  grid-row:auto!important;
  min-height:235px!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-6{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-6 .sk-core-gallery-item{
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:255px!important;
}

/* No-image state should be intentional rather than appearing broken. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-0{
  display:none!important;
}

/* Tablet and mobile always become simple complete grids. */
@media(max-width:820px){
  .sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry,
  .sk-core-page section.sk-core-gallery--masonry [class*="sk-core-gallery--count-"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
  }
  .sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:220px!important;
  }
}
@media(max-width:520px){
  .sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry,
  .sk-core-page section.sk-core-gallery--masonry [class*="sk-core-gallery--count-"]{
    grid-template-columns:1fr!important;
  }
  .sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item{
    min-height:250px!important;
  }
}


/* ==========================================================================
   v1.7.9 — isolate masonry from legacy gallery sizing
   ========================================================================== */

/*
 * Historical gallery rules set fixed widths such as 190px on generic
 * .sk-core-gallery-item elements. Masonry must opt out completely.
 */
.sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry{
  display:grid!important;
  width:100%!important;
  max-width:1320px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:0!important;
  gap:16px!important;
  grid-auto-flow:row!important;
  align-items:stretch!important;
  justify-items:stretch!important;
}

/* Absolute reset of every legacy item dimension. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry > .sk-core-gallery-item{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  flex:initial!important;
  flex-basis:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
  overflow:hidden!important;
  border-radius:18px!important;
  aspect-ratio:4/3!important;
}

/* Image always fills its actual grid cell. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry > .sk-core-gallery-item > img,
.sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry > .sk-core-gallery-item > .sk-core-image-placeholder{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  aspect-ratio:auto!important;
  border-radius:inherit!important;
}

/* Complete count-specific layouts. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-1{
  grid-template-columns:1fr!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-1 > .sk-core-gallery-item{
  aspect-ratio:16/8!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-2 > .sk-core-gallery-item{
  aspect-ratio:16/10!important;
}

.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-3 > .sk-core-gallery-item{
  aspect-ratio:4/3!important;
}

/* Four = exact 2 × 2 */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-4 > .sk-core-gallery-item{
  aspect-ratio:16/9!important;
}

/* Five = two large top cards + three equal lower cards */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 > .sk-core-gallery-item:nth-child(1),
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 > .sk-core-gallery-item:nth-child(2){
  grid-column:span 3!important;
  aspect-ratio:16/9!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 > .sk-core-gallery-item:nth-child(n+3){
  grid-column:span 2!important;
  aspect-ratio:4/3!important;
}

/* Six = exact 3 × 2, which matches the current test page. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-6{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-6 > .sk-core-gallery-item{
  aspect-ratio:4/3!important;
}

/* Seven+ uses complete responsive rows, not fixed masonry strips. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-7,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-8,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-9,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-10,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-11,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-12{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Fallback when markup comes from an older cached render without count class. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry:not([class*="sk-core-gallery--count-"]){
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Tablet and phone */
@media(max-width:820px){
  .sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry,
  .sk-core-page section.sk-core-gallery--masonry [class*="sk-core-gallery--count-"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry > .sk-core-gallery-item{
    grid-column:auto!important;
    aspect-ratio:4/3!important;
  }
}
@media(max-width:520px){
  .sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry,
  .sk-core-page section.sk-core-gallery--masonry [class*="sk-core-gallery--count-"]{
    grid-template-columns:1fr!important;
  }
  .sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry > .sk-core-gallery-item{
    aspect-ratio:16/10!important;
  }
}


/* ==========================================================================
   v1.8.0 — editorial gallery sizing
   Replace tiny masonry tiles with substantial, balanced image compositions.
   ========================================================================== */

/*
 * The masonry/gallery section is now intentionally editorial rather than
 * miniature. Each image gets enough area to be visually useful.
 */
.sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry{
  width:100%!important;
  max-width:1320px!important;
  margin-inline:auto!important;
  display:grid!important;
  gap:18px!important;
  align-items:stretch!important;
  justify-items:stretch!important;
}

/* Base tile */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:var(--sk-core-soft)!important;
  box-shadow:0 14px 36px rgba(15,23,42,.05)!important;
}

/* Every image completely fills its allocated frame. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item img,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item .sk-core-image-placeholder{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
}

/* 1 image — hero-like visual */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-1{
  grid-template-columns:1fr!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-1 .sk-core-gallery-item{
  min-height:clamp(420px,42vw,620px)!important;
}

/* 2 images — equal, large */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-2 .sk-core-gallery-item{
  min-height:clamp(340px,31vw,470px)!important;
}

/* 3 images — substantial single row */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-3 .sk-core-gallery-item{
  min-height:clamp(300px,24vw,390px)!important;
}

/* 4 images — clean 2 × 2 */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-4 .sk-core-gallery-item{
  min-height:clamp(300px,27vw,420px)!important;
}

/* 5 images — 2 large top + 3 balanced bottom */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(1),
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(2){
  grid-column:span 3!important;
  min-height:340px!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-5 .sk-core-gallery-item:nth-child(n+3){
  grid-column:span 2!important;
  min-height:250px!important;
}

/* 6 images — large 3 × 2 grid, the current Peptide Bros case */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-6{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-6 .sk-core-gallery-item{
  min-height:clamp(290px,23vw,370px)!important;
}

/* 7–9 images: still keep reasonable visual weight. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-7,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-8,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-9{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-7 .sk-core-gallery-item,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-8 .sk-core-gallery-item,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-9 .sk-core-gallery-item{
  min-height:260px!important;
}

/* 10–12 images: 4 columns, but never thumbnail-sized. */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-10,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-11,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-12{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-10 .sk-core-gallery-item,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-11 .sk-core-gallery-item,
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--count-12 .sk-core-gallery-item{
  min-height:230px!important;
}

/* Fallback for cached markup without count class */
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--masonry:not([class*="sk-core-gallery--count-"]){
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page section.sk-core-gallery--masonry .sk-core-gallery--masonry:not([class*="sk-core-gallery--count-"]) .sk-core-gallery-item{
  min-height:290px!important;
}

/* Tablet */
@media(max-width:900px){
  .sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry,
  .sk-core-page section.sk-core-gallery--masonry [class*="sk-core-gallery--count-"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item{
    grid-column:auto!important;
    min-height:240px!important;
  }
}

/* Mobile */
@media(max-width:560px){
  .sk-core-page section.sk-core-gallery--masonry .sk-core-section-panel > .sk-core-gallery--masonry,
  .sk-core-page section.sk-core-gallery--masonry [class*="sk-core-gallery--count-"]{
    grid-template-columns:1fr!important;
  }
  .sk-core-page section.sk-core-gallery--masonry .sk-core-gallery-item{
    min-height:260px!important;
  }
}


/* ==========================================================================
   v1.8.1 — isolated editorial gallery component
   Replaces legacy masonry markup completely.
   ========================================================================== */

.sk-core-page .sk-core-editorial-gallery{
  display:grid!important;
  width:100%!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:0!important;
  gap:18px!important;
  box-sizing:border-box!important;
  align-items:stretch!important;
}

.sk-core-page .sk-core-editorial-gallery__item{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:var(--sk-core-soft)!important;
  box-shadow:0 18px 44px rgba(15,23,42,.07)!important;
}

.sk-core-page .sk-core-editorial-gallery__item > img,
.sk-core-page .sk-core-editorial-gallery__item > .sk-core-image-placeholder{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
  transform:none!important;
}

/* 1 image */
.sk-core-page .sk-core-editorial-gallery--count-1{
  grid-template-columns:1fr!important;
}
.sk-core-page .sk-core-editorial-gallery--count-1 .sk-core-editorial-gallery__item{
  min-height:clamp(420px,42vw,620px)!important;
}

/* 2 images */
.sk-core-page .sk-core-editorial-gallery--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.sk-core-page .sk-core-editorial-gallery--count-2 .sk-core-editorial-gallery__item{
  min-height:clamp(330px,30vw,470px)!important;
}

/* 3 images */
.sk-core-page .sk-core-editorial-gallery--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page .sk-core-editorial-gallery--count-3 .sk-core-editorial-gallery__item{
  min-height:clamp(290px,23vw,380px)!important;
}

/* 4 images = exact 2 × 2 */
.sk-core-page .sk-core-editorial-gallery--count-4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.sk-core-page .sk-core-editorial-gallery--count-4 .sk-core-editorial-gallery__item{
  min-height:clamp(300px,27vw,420px)!important;
}

/* 5 images = 2 large + 3 supporting */
.sk-core-page .sk-core-editorial-gallery--count-5{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.sk-core-page .sk-core-editorial-gallery--count-5 .sk-core-editorial-gallery__item--1,
.sk-core-page .sk-core-editorial-gallery--count-5 .sk-core-editorial-gallery__item--2{
  grid-column:span 3!important;
  min-height:340px!important;
}
.sk-core-page .sk-core-editorial-gallery--count-5 .sk-core-editorial-gallery__item--3,
.sk-core-page .sk-core-editorial-gallery--count-5 .sk-core-editorial-gallery__item--4,
.sk-core-page .sk-core-editorial-gallery--count-5 .sk-core-editorial-gallery__item--5{
  grid-column:span 2!important;
  min-height:250px!important;
}

/* 6 images = exact 3 × 2 */
.sk-core-page .sk-core-editorial-gallery--count-6{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page .sk-core-editorial-gallery--count-6 .sk-core-editorial-gallery__item{
  min-height:clamp(290px,23vw,375px)!important;
}

/* 7–9 images */
.sk-core-page .sk-core-editorial-gallery--count-7,
.sk-core-page .sk-core-editorial-gallery--count-8,
.sk-core-page .sk-core-editorial-gallery--count-9{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.sk-core-page .sk-core-editorial-gallery--count-7 .sk-core-editorial-gallery__item,
.sk-core-page .sk-core-editorial-gallery--count-8 .sk-core-editorial-gallery__item,
.sk-core-page .sk-core-editorial-gallery--count-9 .sk-core-editorial-gallery__item{
  min-height:260px!important;
}

/* 10–12 images */
.sk-core-page .sk-core-editorial-gallery--count-10,
.sk-core-page .sk-core-editorial-gallery--count-11,
.sk-core-page .sk-core-editorial-gallery--count-12{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.sk-core-page .sk-core-editorial-gallery--count-10 .sk-core-editorial-gallery__item,
.sk-core-page .sk-core-editorial-gallery--count-11 .sk-core-editorial-gallery__item,
.sk-core-page .sk-core-editorial-gallery--count-12 .sk-core-editorial-gallery__item{
  min-height:225px!important;
}

/* Tablet */
@media(max-width:900px){
  .sk-core-page .sk-core-editorial-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sk-core-page .sk-core-editorial-gallery__item{
    grid-column:auto!important;
    min-height:235px!important;
  }
}

/* Mobile */
@media(max-width:560px){
  .sk-core-page .sk-core-editorial-gallery{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .sk-core-page .sk-core-editorial-gallery__item{
    min-height:260px!important;
    border-radius:18px!important;
  }
}

/* Empty masonry gallery: nothing to display. */
.sk-core-page .sk-core-editorial-gallery--count-0{
  display:none!important;
}


/* ==========================================================================
   v1.8.2 — rebuild image_text / overlap correctly
   The photograph itself is NEVER skewed, rotated or clipped diagonally.
   ========================================================================== */

/* Entire overlap composition gets safe breathing room. */
.sk-core-page section.sk-core-image_text--overlap,
.sk-core-page section.sk-core-image_text--overlap .sk-container,
.sk-core-page section.sk-core-image_text--overlap .sk-core-section-content,
.sk-core-page section.sk-core-image_text--overlap .sk-core-section-panel,
.sk-core-page section.sk-core-image_text--overlap .sk-core-split{
  overflow:visible!important;
}

/* Clean two-column alignment. */
.sk-core-page section.sk-core-image_text--overlap .sk-core-split{
  align-items:center!important;
  gap:clamp(46px,6vw,88px)!important;
}

/*
 * Media column is only a positioning canvas.
 * It must NOT clip or transform the actual image.
 */
.sk-core-page section.sk-core-image_text--overlap .sk-core-split-media{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  border-radius:0!important;
  padding:clamp(24px,3vw,38px)!important;
  transform:none!important;
  rotate:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  background:transparent!important;
}

/* REAL IMAGE — straight, rectangular, consistent radius. */
.sk-core-page section.sk-core-image_text--overlap .sk-core-split-media > img{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;

  transform:none!important;
  rotate:none!important;
  translate:none!important;
  scale:none!important;

  clip-path:none!important;
  -webkit-clip-path:none!important;

  border-radius:var(--sk-core-media-radius)!important;
  overflow:hidden!important;
  object-fit:cover!important;
  object-position:center!important;

  box-shadow:0 28px 72px rgba(15,23,42,.16)!important;
}

/*
 * Decorative offset surface behind the image.
 * THIS is where the subtle editorial angle lives.
 */
.sk-core-page section.sk-core-image_text--overlap .sk-core-split-media:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:1!important;

  inset:
    clamp(34px,4vw,52px)
    clamp(5px,1vw,14px)
    clamp(6px,1vw,14px)
    clamp(30px,3vw,46px)!important;

  border-radius:calc(var(--sk-core-media-radius) + 8px)!important;
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb,var(--sk-core-accent),#fff 82%),
      color-mix(in srgb,var(--sk-core-primary),#fff 90%)
    )!important;

  opacity:.65!important;
  transform:translate(16px,14px) rotate(1.4deg)!important;
  transform-origin:center!important;
  box-shadow:0 24px 58px rgba(15,23,42,.08)!important;
}

/* Optional technical pattern behind, never on top of image. */
.sk-core-page section.sk-core-image_text--overlap .sk-core-split-media:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2!important;

  width:38%!important;
  height:38%!important;
  right:2%!important;
  bottom:1%!important;

  border-radius:20px!important;
  background-image:
    radial-gradient(
      color-mix(in srgb,var(--sk-core-primary),transparent 70%) 1px,
      transparent 1.3px
    )!important;
  background-size:13px 13px!important;

  opacity:.38!important;
  transform:translate(10%,12%)!important;
  pointer-events:none!important;
}

/* Placeholder follows the same clean geometry. */
.sk-core-page section.sk-core-image_text--overlap .sk-core-split-media > .sk-core-image-placeholder{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  max-width:100%!important;
  min-height:360px!important;
  margin:0!important;
  transform:none!important;
  rotate:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border-radius:var(--sk-core-media-radius)!important;
  overflow:hidden!important;
}

/* Never let hover effects reintroduce transform on the real image. */
.sk-core-page section.sk-core-image_text--overlap .sk-core-split-media > img:hover{
  transform:none!important;
}

/* Mobile keeps the same clean photo with lighter depth treatment. */
@media(max-width:760px){
  .sk-core-page section.sk-core-image_text--overlap .sk-core-split-media{
    padding:20px!important;
  }

  .sk-core-page section.sk-core-image_text--overlap .sk-core-split-media:before{
    transform:translate(9px,9px) rotate(.8deg)!important;
  }

  .sk-core-page section.sk-core-image_text--overlap .sk-core-split-media:after{
    width:32%!important;
    height:32%!important;
  }
}


/* ==========================================================================
   v1.8.3 — expressive stats, light-panel contrast, square full-width sections
   ========================================================================== */

/* --------------------------------------------------------------------------
   Stats cards: numbers must have meaning, not float alone.
   -------------------------------------------------------------------------- */
.sk-core-page .sk-core-stats--cards .sk-core-stat,
.sk-core-page .sk-core-stats-grid .sk-core-stat{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  min-width:0;
}

.sk-core-page .sk-core-stat-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:54px!important;
  height:54px!important;
  margin:0 0 22px!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--sk-core-accent),#fff 84%)!important;
  color:var(--sk-core-accent)!important;
  font-size:24px!important;
  line-height:1!important;
}

.sk-core-page .sk-core-stat strong{
  display:block!important;
  margin:0 0 12px!important;
}

.sk-core-page .sk-core-stat-title{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--sk-core-text)!important;
  font-size:1.08rem!important;
  line-height:1.3!important;
  font-weight:800!important;
}

.sk-core-page .sk-core-stat-text{
  display:block!important;
  max-width:34ch;
  color:var(--sk-core-muted)!important;
  font-size:.98rem!important;
  line-height:1.58!important;
}

/* Dark stats keep the icon accent but use light copy. */
.sk-core-page .sk-section--dark .sk-core-stat-title,
.sk-core-page .sk-section--accent .sk-core-stat-title{
  color:#fff!important;
}
.sk-core-page .sk-section--dark .sk-core-stat-text,
.sk-core-page .sk-section--accent .sk-core-stat-text{
  color:rgba(255,255,255,.68)!important;
}
.sk-core-page .sk-section--dark .sk-core-stat-icon,
.sk-core-page .sk-section--accent .sk-core-stat-icon{
  background:rgba(255,255,255,.08)!important;
  color:var(--sk-accent,#c8a96a)!important;
}

/* --------------------------------------------------------------------------
   Light inner panels inside dark sections must own a LIGHT colour system.
   This prevents white-on-white text in split/image/text compositions.
   -------------------------------------------------------------------------- */
.sk-core-page .sk-section--dark .sk-core-split-copy[style*="background"],
.sk-core-page .sk-section--dark .sk-core-split-copy.is-light,
.sk-core-page .sk-section--dark .sk-core-content-panel,
.sk-core-page .sk-section--accent .sk-core-split-copy[style*="background"],
.sk-core-page .sk-section--accent .sk-core-split-copy.is-light,
.sk-core-page .sk-section--accent .sk-core-content-panel{
  color:var(--sk-core-text)!important;
}

.sk-core-page .sk-section--dark .sk-core-split-copy[style*="background"] h1,
.sk-core-page .sk-section--dark .sk-core-split-copy[style*="background"] h2,
.sk-core-page .sk-section--dark .sk-core-split-copy[style*="background"] h3,
.sk-core-page .sk-section--dark .sk-core-split-copy.is-light h1,
.sk-core-page .sk-section--dark .sk-core-split-copy.is-light h2,
.sk-core-page .sk-section--dark .sk-core-split-copy.is-light h3,
.sk-core-page .sk-section--accent .sk-core-split-copy[style*="background"] h1,
.sk-core-page .sk-section--accent .sk-core-split-copy[style*="background"] h2,
.sk-core-page .sk-section--accent .sk-core-split-copy[style*="background"] h3,
.sk-core-page .sk-section--accent .sk-core-split-copy.is-light h1,
.sk-core-page .sk-section--accent .sk-core-split-copy.is-light h2,
.sk-core-page .sk-section--accent .sk-core-split-copy.is-light h3{
  color:var(--sk-core-text)!important;
  text-shadow:none!important;
}

.sk-core-page .sk-section--dark .sk-core-split-copy[style*="background"] .sk-core-lead,
.sk-core-page .sk-section--dark .sk-core-split-copy.is-light .sk-core-lead,
.sk-core-page .sk-section--accent .sk-core-split-copy[style*="background"] .sk-core-lead,
.sk-core-page .sk-section--accent .sk-core-split-copy.is-light .sk-core-lead{
  color:var(--sk-core-muted)!important;
}

/* --------------------------------------------------------------------------
   Full-width page backgrounds NEVER get an outer border radius.
   Radius belongs to inner cards/components only.
   -------------------------------------------------------------------------- */
.sk-core-page section.sk-section--full,
.sk-core-page section[data-width="full"],
.sk-core-page .sk-core-faq.sk-section--full,
.sk-core-page section.sk-core-faq{
  border-radius:0!important;
}

/* FAQ background itself stays edge-to-edge; accordion items keep their radius. */
.sk-core-page section.sk-core-faq{
  overflow:visible!important;
}
.sk-core-page section.sk-core-faq .sk-core-faq-item,
.sk-core-page section.sk-core-faq details{
  border-radius:18px!important;
}

/* If a full-width section uses an inner decorative panel, that panel may round. */
.sk-core-page section[data-width="full"] > .sk-container,
.sk-core-page section.sk-section--full > .sk-container{
  border-radius:0!important;
}


/* ==========================================================================
   v1.8.4 — semantic stats + deterministic overlap panel contrast
   ========================================================================== */
.sk-core-page .sk-core-stats-grid .sk-core-stat{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-areas:"icon value" "icon title" "icon text"!important;
  column-gap:20px!important;
  row-gap:5px!important;
  align-content:center!important;
  align-items:start!important;
  min-height:190px!important;
  padding:clamp(28px,3vw,38px)!important;
}
.sk-core-page .sk-core-stats-grid .sk-core-stat-icon{
  grid-area:icon!important;
  width:50px!important;height:50px!important;
  margin:2px 0 0!important;
}
.sk-core-page .sk-core-stats-grid .sk-core-stat strong{
  grid-area:value!important;margin:0!important;line-height:.95!important;
}
.sk-core-page .sk-core-stats-grid .sk-core-stat-title{
  grid-area:title!important;margin:8px 0 0!important;
}
.sk-core-page .sk-core-stats-grid .sk-core-stat-text{
  grid-area:text!important;margin:2px 0 0!important;max-width:36ch!important;
}
.sk-core-page .sk-core-stats-grid .sk-core-stat:not(:has(.sk-core-stat-icon)){
  grid-template-columns:1fr!important;
  grid-template-areas:"value" "title" "text"!important;
}
@media(max-width:480px){
  .sk-core-page .sk-core-stats-grid .sk-core-stat{
    grid-template-columns:1fr!important;
    grid-template-areas:"icon" "value" "title" "text"!important;
    row-gap:9px!important;
  }
}

/* Overlap panel type owns both surface and text colour. */
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--dark .sk-core-section-panel,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--surface .sk-core-section-panel,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--primary .sk-core-section-panel{
  background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;
}
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--dark .sk-core-split-copy{
  background:linear-gradient(145deg,#101923,#182735)!important;
  border:1px solid rgba(255,255,255,.08)!important;color:#fff!important;
}
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--dark .sk-core-split-copy h1,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--dark .sk-core-split-copy h2,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--dark .sk-core-split-copy h3,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--dark .sk-core-split-copy .sk-core-eyebrow{
  color:#fff!important;text-shadow:none!important;
}
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--dark .sk-core-split-copy .sk-core-lead,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--dark .sk-core-split-copy .sk-core-lead p{
  color:rgba(255,255,255,.74)!important;
}
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--surface .sk-core-split-copy{
  background:#fff!important;border:1px solid var(--sk-core-line)!important;color:var(--sk-core-text)!important;
}
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--surface .sk-core-split-copy h1,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--surface .sk-core-split-copy h2,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--surface .sk-core-split-copy h3{
  color:var(--sk-core-text)!important;text-shadow:none!important;
}
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--surface .sk-core-split-copy .sk-core-lead,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--surface .sk-core-split-copy .sk-core-lead p{
  color:var(--sk-core-muted)!important;
}
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--primary .sk-core-split-copy{
  background:linear-gradient(145deg,var(--sk-core-primary),color-mix(in srgb,var(--sk-core-primary),#000 22%))!important;
  color:#fff!important;
}
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--primary .sk-core-split-copy h1,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--primary .sk-core-split-copy h2,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--primary .sk-core-split-copy h3{
  color:#fff!important;
}
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--primary .sk-core-split-copy .sk-core-lead,
.sk-core-page section.sk-core-image_text--overlap.sk-section-content-panel--primary .sk-core-split-copy .sk-core-lead p{
  color:rgba(255,255,255,.77)!important;
}


/* ==========================================================================
   v1.8.5 — consistent content-panel padding for image/text sections
   ========================================================================== */

/*
 * Any explicit content panel is a self-contained visual card and must own
 * its internal spacing. This prevents copy from sitting against panel edges.
 */
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy{
  box-sizing:border-box!important;
  padding:clamp(36px,4.2vw,64px)!important;
  border-radius:24px!important;
  overflow:hidden!important;
}

/* Preserve readable line lengths inside larger panels. */
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy > *,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy > *,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy > *{
  max-width:100%!important;
  box-sizing:border-box!important;
}

.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy h1,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy h2,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy h3,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy h1,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy h2,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy h3,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy h1,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy h2,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy h3{
  max-width:14ch!important;
  margin-top:0!important;
}

/* Keep paragraph rhythm and CTA separation intentional. */
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy .sk-core-lead,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy .sk-core-lead,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy .sk-core-lead{
  max-width:58ch!important;
}

.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy .sk-core-actions,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy .sk-core-actions,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy .sk-core-actions{
  margin-top:clamp(26px,3vw,36px)!important;
}

/* Panel surfaces themselves. */
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy{
  background:linear-gradient(145deg,#101923,#182735)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 28px 72px rgba(15,23,42,.14)!important;
}
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy{
  background:#fff!important;
  color:var(--sk-core-text)!important;
  border:1px solid var(--sk-core-line)!important;
  box-shadow:0 28px 72px rgba(15,23,42,.08)!important;
}
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy{
  background:linear-gradient(
    145deg,
    var(--sk-core-primary),
    color-mix(in srgb,var(--sk-core-primary),#000 22%)
  )!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 28px 72px rgba(15,23,42,.14)!important;
}

/* Reassert contrast after the generic panel rule. */
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy h1,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy h2,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy h3,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy h1,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy h2,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy h3{
  color:#fff!important;
}
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy .sk-core-lead,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy .sk-core-lead p,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy .sk-core-lead,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy .sk-core-lead p{
  color:rgba(255,255,255,.75)!important;
}

.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy h1,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy h2,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy h3{
  color:var(--sk-core-text)!important;
}
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy .sk-core-lead,
.sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy .sk-core-lead p{
  color:var(--sk-core-muted)!important;
}

/* Mobile/tablet padding scales down without feeling cramped. */
@media(max-width:820px){
  .sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy,
  .sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy,
  .sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy{
    padding:34px!important;
    border-radius:22px!important;
  }
}
@media(max-width:520px){
  .sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--dark .sk-core-split-copy,
  .sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--surface .sk-core-split-copy,
  .sk-core-page section[class*="sk-core-image_text--"].sk-section-content-panel--primary .sk-core-split-copy{
    padding:28px 24px!important;
    border-radius:18px!important;
  }
}


/* ==========================================================================
   v1.8.6 — stat-card contrast ownership
   Light stat cards must never inherit white text from dark parent sections.
   ========================================================================== */

/*
 * Default/card/floating stat tiles are LIGHT surfaces unless the variant
 * explicitly renders them dark. Therefore the card itself owns its text
 * palette.
 */
.sk-core-page .sk-core-stats-grid .sk-core-stat{
  color:var(--sk-core-text)!important;
}

.sk-core-page .sk-core-stats-grid .sk-core-stat strong{
  color:var(--sk-core-accent)!important;
}

.sk-core-page .sk-core-stats-grid .sk-core-stat-title,
.sk-core-page .sk-core-stats-grid .sk-core-stat span.sk-core-stat-title{
  color:var(--sk-core-text)!important;
}

.sk-core-page .sk-core-stats-grid .sk-core-stat-text,
.sk-core-page .sk-core-stats-grid .sk-core-stat span.sk-core-stat-text{
  color:var(--sk-core-muted)!important;
}

.sk-core-page .sk-core-stats-grid .sk-core-stat-icon{
  color:var(--sk-core-accent)!important;
}

/*
 * Reassert against section-level dark/accent typography rules.
 * The section heading may be white; the white stat cards are not.
 */
.sk-core-page .sk-section--dark .sk-core-stats-grid .sk-core-stat,
.sk-core-page .sk-section--accent .sk-core-stats-grid .sk-core-stat{
  color:var(--sk-core-text)!important;
}

.sk-core-page .sk-section--dark .sk-core-stats-grid .sk-core-stat-title,
.sk-core-page .sk-section--accent .sk-core-stats-grid .sk-core-stat-title{
  color:var(--sk-core-text)!important;
}

.sk-core-page .sk-section--dark .sk-core-stats-grid .sk-core-stat-text,
.sk-core-page .sk-section--accent .sk-core-stats-grid .sk-core-stat-text{
  color:var(--sk-core-muted)!important;
}

.sk-core-page .sk-section--dark .sk-core-stats-grid .sk-core-stat strong,
.sk-core-page .sk-section--accent .sk-core-stats-grid .sk-core-stat strong,
.sk-core-page .sk-section--dark .sk-core-stats-grid .sk-core-stat-icon,
.sk-core-page .sk-section--accent .sk-core-stats-grid .sk-core-stat-icon{
  color:var(--sk-core-accent)!important;
}

/*
 * Dark stat variants can opt back into a dark tile palette explicitly.
 * This prevents a future dark-card variation from being forced into dark text.
 */
.sk-core-page .sk-core-stats--dark .sk-core-stat,
.sk-core-page .sk-core-stats-grid--dark .sk-core-stat{
  color:#fff!important;
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.sk-core-page .sk-core-stats--dark .sk-core-stat-title,
.sk-core-page .sk-core-stats-grid--dark .sk-core-stat-title{
  color:#fff!important;
}
.sk-core-page .sk-core-stats--dark .sk-core-stat-text,
.sk-core-page .sk-core-stats-grid--dark .sk-core-stat-text{
  color:rgba(255,255,255,.68)!important;
}

/* Make semantic copy clearly visible inside light stat cards. */
.sk-core-page .sk-core-stats-grid .sk-core-stat-title{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}
.sk-core-page .sk-core-stats-grid .sk-core-stat-text{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}


/* ==========================================================================
   v1.8.7 — cascading media stacking hierarchy
   Decorative layers ALWAYS behind the real image.
   ========================================================================== */

/*
 * Cascade wrappers create their own stacking context so decorative elements
 * cannot leak above the foreground photograph.
 */
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
}

/* Decorative rear panel — always behind. */
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media:before,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media:before{
  z-index:0!important;
  pointer-events:none!important;
}

/* Decorative dotted/technical layer — still behind the image. */
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media:after,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media:after{
  z-index:1!important;
  pointer-events:none!important;
}

/* Foreground photograph always wins the stack. */
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media > img,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media > img,
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media > .sk-core-image-placeholder,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media > .sk-core-image-placeholder{
  position:relative!important;
  z-index:5!important;
  isolation:isolate!important;
}

/*
 * Any nested media wrapper used by future cascade variants must also keep the
 * actual image above decorative pseudo-elements.
 */
.sk-core-page [class*="sk-core-image_text--cascade"] .sk-core-split-media{
  position:relative!important;
  isolation:isolate!important;
}
.sk-core-page [class*="sk-core-image_text--cascade"] .sk-core-split-media:before{
  z-index:0!important;
  pointer-events:none!important;
}
.sk-core-page [class*="sk-core-image_text--cascade"] .sk-core-split-media:after{
  z-index:1!important;
  pointer-events:none!important;
}
.sk-core-page [class*="sk-core-image_text--cascade"] .sk-core-split-media > img,
.sk-core-page [class*="sk-core-image_text--cascade"] .sk-core-split-media > .sk-core-image-placeholder{
  position:relative!important;
  z-index:5!important;
}

/*
 * Never use wrapper clipping as a workaround for cascade depth.
 * The decorations can extend outside the image area, but anything underneath
 * the image disappears naturally because the image is higher in the stack.
 */
.sk-core-page [class*="sk-core-image_text--cascade"] .sk-core-split-media{
  clip-path:none!important;
  -webkit-clip-path:none!important;
}

/* Prevent transforms/filters from accidentally creating a higher stacking
   context on decorative layers in historical cascade rules. */
.sk-core-page [class*="sk-core-image_text--cascade"] .sk-core-split-media:before,
.sk-core-page [class*="sk-core-image_text--cascade"] .sk-core-split-media:after{
  mix-blend-mode:normal!important;
}


/* ==========================================================================
   v1.8.8 — hard stacking isolation for cascade image variants
   Foreground image is always above every decorative cascade layer.
   ========================================================================== */

/*
 * The previous z-index patch could still lose when older transforms created
 * independent stacking contexts. This version assigns the stacking order at
 * BOTH wrapper and child levels.
 */

/* Cascade section and split establish a predictable local stack. */
.sk-core-page section.sk-core-image_text--cascade-left,
.sk-core-page section.sk-core-image_text--cascade-right,
.sk-core-page section[class*="sk-core-image_text--cascade"]{
  position:relative!important;
  isolation:isolate!important;
}

.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split{
  position:relative!important;
  isolation:isolate!important;
}

/*
 * Media column itself must sit above any section-level decorative layers.
 * No transform on the wrapper: transforms create avoidable stacking contexts.
 */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media{
  position:relative!important;
  z-index:10!important;
  isolation:isolate!important;
  overflow:visible!important;
  transform:none!important;
  rotate:none!important;
  translate:none!important;
  scale:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
}

/* Rear decorative card. */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media::before{
  position:absolute!important;
  z-index:-2!important;
  pointer-events:none!important;
  isolation:auto!important;
}

/* Technical dots / secondary decoration. */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media::after{
  position:absolute!important;
  z-index:-1!important;
  pointer-events:none!important;
  isolation:auto!important;
}

/*
 * Real media is the foreground surface.
 * Force a new positive stacking context on both image and placeholder.
 */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media > img,
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media > .sk-core-image-placeholder{
  position:relative!important;
  z-index:20!important;
  display:block!important;
  isolation:isolate!important;
  transform:none!important;
  rotate:none!important;
  translate:none!important;
  scale:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
}

/*
 * Historical cascade rules may place decoration on nested wrappers. Any
 * non-image children inside the media column stay below the actual image.
 */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media > :not(img):not(.sk-core-image-placeholder){
  position:relative;
  z-index:0;
}

/*
 * Keep media above neighbouring decorative section layers, but normal relative
 * to the text column.
 */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-copy{
  position:relative!important;
  z-index:10!important;
}

/*
 * Explicit left/right variants: real image foreground, decorative pseudo
 * elements negative. These selectors intentionally duplicate the generic rule
 * at higher specificity to beat older version CSS.
 */
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media::before,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media::before{
  z-index:-2!important;
}
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media::after,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media::after{
  z-index:-1!important;
}
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-split-media > img,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-split-media > img{
  z-index:20!important;
}

/* Mobile retains exactly the same layer order. */
@media(max-width:760px){
  .sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media{
    z-index:10!important;
  }
  .sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media::before{
    z-index:-2!important;
  }
  .sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media::after{
    z-index:-1!important;
  }
  .sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media > img,
  .sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-split-media > .sk-core-image-placeholder{
    z-index:20!important;
  }
}


/* ==========================================================================
   v1.8.9 — cascade rebuilt with explicit DOM layers
   ========================================================================== */

/*
 * IMPORTANT:
 * Cascade variants no longer use pseudo-elements for visible decoration.
 * The explicit .sk-core-cascade-decor siblings are the only visible cascade
 * layers. Old ::before/::after rules are disabled to prevent conflicts.
 */
.sk-core-page section.sk-core-image_text--cascade .sk-core-cascade-media::before,
.sk-core-page section.sk-core-image_text--cascade .sk-core-cascade-media::after,
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-cascade-media::before,
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-cascade-media::after,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-cascade-media::before,
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-cascade-media::after{
  content:none!important;
  display:none!important;
}

/* Stable local stacking context */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-cascade-media{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  padding:clamp(28px,4vw,52px)!important;
  transform:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
}

/* Both decorative elements sit behind the foreground image. */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-cascade-decor{
  position:absolute!important;
  display:block!important;
  pointer-events:none!important;
}

/* Rear offset surface */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-cascade-decor--panel{
  z-index:1!important;
  inset:
    clamp(18px,2vw,30px)
    clamp(4px,1vw,14px)
    clamp(4px,1vw,14px)
    clamp(24px,3vw,48px)!important;
  border-radius:calc(var(--sk-core-media-radius) + 8px)!important;
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb,var(--sk-core-primary),#fff 88%),
      color-mix(in srgb,var(--sk-core-accent),#fff 78%)
    )!important;
  transform:translate(22px,18px) rotate(2deg)!important;
  opacity:.95!important;
  box-shadow:0 30px 70px rgba(15,23,42,.10)!important;
}

/* Technical dot texture */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-cascade-decor--pattern{
  z-index:2!important;
  width:46%!important;
  height:48%!important;
  right:0!important;
  bottom:0!important;
  border-radius:24px!important;
  background-image:
    radial-gradient(
      color-mix(in srgb,var(--sk-core-primary),transparent 66%) 1px,
      transparent 1.3px
    )!important;
  background-size:13px 13px!important;
  transform:translate(7%,10%)!important;
  opacity:.55!important;
}

/*
 * Dedicated foreground wrapper. Since it is a sibling after both decorative
 * elements and has the highest z-index, decoration cannot render over it.
 */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-cascade-foreground{
  position:relative!important;
  z-index:10!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  border-radius:var(--sk-core-media-radius)!important;
  background:var(--sk-core-soft)!important;
  box-shadow:0 28px 70px rgba(15,23,42,.18)!important;
  transform:none!important;
  isolation:isolate!important;
}

.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-cascade-foreground > img,
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-cascade-foreground > .sk-core-image-placeholder{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
  rotate:none!important;
  translate:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border-radius:inherit!important;
  object-fit:cover!important;
}

/* Avoid duplicate shadow/radius from legacy direct-image selectors. */
.sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-cascade-foreground > img{
  box-shadow:none!important;
}

/* Right-side cascade mirrors only the decoration, never the image. */
.sk-core-page section.sk-core-image_text--cascade-right .sk-core-cascade-decor--panel{
  inset:
    clamp(18px,2vw,30px)
    clamp(24px,3vw,48px)
    clamp(4px,1vw,14px)
    clamp(4px,1vw,14px)!important;
  transform:translate(-22px,18px) rotate(-2deg)!important;
}

.sk-core-page section.sk-core-image_text--cascade-right .sk-core-cascade-decor--pattern{
  right:auto!important;
  left:0!important;
  transform:translate(-7%,10%)!important;
}

/* Generic cascade defaults to left geometry. */
.sk-core-page section.sk-core-image_text--cascade .sk-core-cascade-decor--panel,
.sk-core-page section.sk-core-image_text--cascade-left .sk-core-cascade-decor--panel{
  transform:translate(22px,18px) rotate(2deg)!important;
}

/* Responsive */
@media(max-width:760px){
  .sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-cascade-media{
    padding:24px!important;
  }

  .sk-core-page section.sk-core-image_text--cascade .sk-core-cascade-decor--panel,
  .sk-core-page section.sk-core-image_text--cascade-left .sk-core-cascade-decor--panel{
    transform:translate(10px,10px) rotate(1deg)!important;
  }

  .sk-core-page section.sk-core-image_text--cascade-right .sk-core-cascade-decor--panel{
    transform:translate(-10px,10px) rotate(-1deg)!important;
  }

  .sk-core-page section[class*="sk-core-image_text--cascade"] .sk-core-cascade-decor--pattern{
    width:40%!important;
    height:40%!important;
  }
}

/* ========================================================================== 
   v1.9.1 — service spacing, dark bento contrast & refined split facts
   ========================================================================== */

/* Image-card service media needs deliberate breathing room before the title. */
.sk-core-page .sk-core-services--image-cards .sk-core-card > img.sk-core-card-image{
  margin-bottom:clamp(24px,2.2vw,30px)!important;
}
.sk-core-page .sk-core-services--image-cards .sk-core-card > img.sk-core-card-image + h3{
  margin-top:0!important;
}

/* Bento emphasis cards must respect dark/accent section contrast. */
.sk-core-page .sk-section--dark.sk-core-features--bento .sk-core-card:nth-child(1),
.sk-core-page .sk-section--dark.sk-core-features--bento .sk-core-card:nth-child(5),
.sk-core-page .sk-section--accent.sk-core-features--bento .sk-core-card:nth-child(1),
.sk-core-page .sk-section--accent.sk-core-features--bento .sk-core-card:nth-child(5){
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
  border-color:rgba(255,255,255,.13)!important;
  color:#fff!important;
}
.sk-core-page .sk-section--dark.sk-core-features--bento .sk-core-card:nth-child(1) p,
.sk-core-page .sk-section--dark.sk-core-features--bento .sk-core-card:nth-child(5) p,
.sk-core-page .sk-section--accent.sk-core-features--bento .sk-core-card:nth-child(1) p,
.sk-core-page .sk-section--accent.sk-core-features--bento .sk-core-card:nth-child(5) p{
  color:rgba(255,255,255,.72)!important;
}

/* Split facts: polished compact fact cards rather than oversized billboard values. */
.sk-core-page .sk-core-info--split-facts .sk-core-info-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border-radius:24px;
  overflow:hidden;
}
.sk-core-page .sk-core-info--split-facts .sk-core-info-item{
  min-width:0;
  padding:clamp(28px,3vw,42px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
}
.sk-core-page .sk-core-info--split-facts .sk-core-info-icon{
  width:54px!important;
  height:54px!important;
  margin:0 0 28px!important;
  border-radius:16px;
  font-size:25px!important;
}
.sk-core-page .sk-core-info--split-facts .sk-core-info-value{
  max-width:100%;
  margin:0 0 12px;
  font-size:clamp(2rem,3.1vw,3.35rem)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
  overflow-wrap:anywhere;
}
.sk-core-page .sk-core-info--split-facts .sk-core-info-item h3{
  margin:0 0 10px;
  font-size:1.08rem;
  line-height:1.3;
}
.sk-core-page .sk-core-info--split-facts .sk-core-info-item p{
  max-width:34ch;
  font-size:.98rem;
  line-height:1.65;
}

@media(max-width:980px){
  .sk-core-page .sk-core-info--split-facts .sk-core-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sk-core-page .sk-core-info--split-facts .sk-core-info-item:last-child:nth-child(odd){
    grid-column:1 / -1;
  }
}
@media(max-width:680px){
  .sk-core-page .sk-core-services--image-cards .sk-core-card > img.sk-core-card-image{
    margin-bottom:22px!important;
  }
  .sk-core-page .sk-core-info--split-facts .sk-core-info-grid{
    grid-template-columns:1fr;
  }
  .sk-core-page .sk-core-info--split-facts .sk-core-info-item:last-child:nth-child(odd){
    grid-column:auto;
  }
  .sk-core-page .sk-core-info--split-facts .sk-core-info-value{
    font-size:clamp(1.9rem,10vw,2.7rem)!important;
  }
}

/* v1.9.2: Surface-based split-fact cards must keep dark readable copy even when
   the parent section uses photographic-background foreground rules. */
.sk-core-page .sk-section--image .sk-core-info--split-facts .sk-core-info-item,
.sk-core-page .sk-section--accent .sk-core-info--split-facts .sk-core-info-item{
  color:var(--sk-core-text,#18212b)!important;
}
.sk-core-page .sk-section--image .sk-core-info--split-facts .sk-core-info-item h3,
.sk-core-page .sk-section--accent .sk-core-info--split-facts .sk-core-info-item h3{
  color:var(--sk-core-text,#18212b)!important;
}
.sk-core-page .sk-section--image .sk-core-info--split-facts .sk-core-info-item p,
.sk-core-page .sk-section--accent .sk-core-info--split-facts .sk-core-info-item p{
  color:var(--sk-core-muted,#667085)!important;
  opacity:1;
}


/* v1.9.3: split-facts surface contrast.
   Background and variant classes live on the SAME section element, so these
   combined selectors intentionally override photographic foreground rules. */
.sk-core-page .sk-section--image.sk-core-info--split-facts .sk-core-info-item,
.sk-core-page .sk-section--accent.sk-core-info--split-facts .sk-core-info-item{
  color:var(--sk-core-text,#18212b)!important;
}
.sk-core-page .sk-section--image.sk-core-info--split-facts .sk-core-info-item h3,
.sk-core-page .sk-section--accent.sk-core-info--split-facts .sk-core-info-item h3{
  color:var(--sk-core-text,#18212b)!important;
}
.sk-core-page .sk-section--image.sk-core-info--split-facts .sk-core-info-copy,
.sk-core-page .sk-section--image.sk-core-info--split-facts .sk-core-info-copy p,
.sk-core-page .sk-section--accent.sk-core-info--split-facts .sk-core-info-copy,
.sk-core-page .sk-section--accent.sk-core-info--split-facts .sk-core-info-copy p{
  color:var(--sk-core-muted,#667085)!important;
  opacity:1!important;
}

/* SK Core 1.9.5 — mobile hero safe gutters
   Full-width hero sections may intentionally remove the container gutters on desktop,
   but hero copy should always retain a comfortable viewport gutter on phones/tablets. */
@media (max-width:900px){
  .sk-core-page .sk-core-hero.sk-section--full > .sk-container{
    padding-left:clamp(20px,5vw,32px);
    padding-right:clamp(20px,5vw,32px);
  }
}
