/**
 * Syscodes glass + motion layer.
 * Loaded after components.css: refines the existing design, does not replace it.
 * Brand palette only (pink / plum / ink), no blues.
 */

:root {
 --sc-nav-h: 60px;
 --sc-nav-top: 26px;
 --sc-nav-offset: calc(var(--sc-nav-h) + var(--sc-nav-top));

 --sc-fs-h2: clamp(1.9rem, 3.4vw, 2.9rem);
 --sc-radius-lg: 28px;
 --sc-radius-xl: 36px;

 --sc-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
 --sc-ease-spring: cubic-bezier(0.34, 1.45, 0.64, 1);

 /* Light glass (cards on the ambient page background) */
 --sc-glass-bg: rgba(255, 255, 255, 0.58);
 --sc-glass-bg-strong: rgba(255, 255, 255, 0.8);
 --sc-glass-border: rgba(255, 255, 255, 0.85);
 --sc-glass-filter: blur(20px) saturate(170%);
 --sc-glass-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.95),
 inset 0 -1px 0 rgba(255, 255, 255, 0.35),
 0 0 0 1px rgba(14, 12, 27, 0.04),
 0 22px 44px -22px rgba(74, 16, 48, 0.22);
 --sc-glass-shadow-hover:
 inset 0 1px 0 rgba(255, 255, 255, 1),
 inset 0 -1px 0 rgba(255, 255, 255, 0.4),
 0 0 0 1px rgba(200, 25, 109, 0.1),
 0 34px 60px -24px rgba(74, 16, 48, 0.3);

 /* Dark glass (plans, hero) */
 --sc-glass-dark-bg: linear-gradient(
 150deg,
 rgba(255, 255, 255, 0.13) 0%,
 rgba(255, 255, 255, 0.045) 60%,
 rgba(255, 255, 255, 0.08) 100%
 );
 --sc-glass-dark-border: rgba(255, 255, 255, 0.16);
 --sc-glass-dark-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.32),
 inset 0 -1px 0 rgba(255, 255, 255, 0.06),
 0 24px 50px -20px rgba(0, 0, 0, 0.55);

 --sc-glare: rgba(245, 112, 176, 0.16);
}

html {
 scroll-behavior: smooth;
 scroll-padding-top: calc(var(--sc-nav-offset) + 16px);
}

/* Cross-page fade (browsers without support simply navigate as usual). */
@view-transition {
 navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
 animation-duration: 0.32s;
 animation-timing-function: var(--sc-ease-out);
}

::selection {
 background: rgba(200, 25, 109, 0.22);
}

/* ========== Ambient page backdrop (gives the glass something to refract) ========== */
.sc-site {
 position: relative;
 isolation: isolate;
 background: #fcf9fb;
}

.sc-site::before {
 content: "";
 position: fixed;
 inset: 0;
 z-index: -1;
 pointer-events: none;
 background:
 radial-gradient(46vmax 46vmax at 4% 8%, rgba(245, 112, 176, 0.24), transparent 68%),
 radial-gradient(40vmax 40vmax at 98% 30%, rgba(255, 184, 150, 0.22), transparent 68%),
 radial-gradient(44vmax 44vmax at 22% 96%, rgba(200, 25, 109, 0.13), transparent 68%),
 radial-gradient(34vmax 34vmax at 82% 88%, rgba(155, 15, 82, 0.1), transparent 68%);
}

.sc-feature-grid,
.sc-feature-grid--tinted,
.sc-reel,
.sc-partners,
.sc-movie,
.sc-video-carousel,
.sc-faq,
.sc-blog-latest,
.sc-coverage,
.sc-page-hero {
 background: transparent;
}

/* Section headings: tighter, calmer, balanced */
.sc-feature-grid__title,
.sc-plans__title,
.sc-reel__title,
.sc-partners__title,
.sc-movie__title,
.sc-faq__title,
.sc-blog-latest__title,
.sc-coverage__title,
.sc-page-hero__title,
.sc-service-form__head h2 {
 font-weight: 600;
 letter-spacing: -0.035em;
 line-height: 1.08;
 text-wrap: balance;
}

.sc-feature-grid__head,
.sc-plans__head,
.sc-reel__head,
.sc-partners__head,
.sc-movie__head,
.sc-faq__head {
 margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

/* ========== Scroll reveal (animation based, so hover transitions stay instant) ========== */
.sc-reveal {
 opacity: 1;
 transform: none;
 transition: none;
}

.sc-reveal-delay-1 { --sc-i: 1; }
.sc-reveal-delay-2 { --sc-i: 2; }
.sc-reveal-delay-3 { --sc-i: 3; }
.sc-reveal-delay-4 { --sc-i: 4; }

@media (prefers-reduced-motion: no-preference) {
 .sc-js .sc-reveal:not(.is-visible) {
 opacity: 0;
 }

 .sc-reveal.is-visible {
 animation: sc-rise 0.9s var(--sc-ease-out) backwards;
 animation-delay: calc(var(--sc-i, 0) * 80ms);
 }

 .sc-js [data-sc-inview]:not(.is-inview) .sc-plan-card {
 opacity: 0;
 }

 /* Plan cards re-run this every time a state / type panel is shown. */
 .is-inview .sc-plans__type.is-active .sc-plan-card {
 animation: sc-rise 0.75s var(--sc-ease-out) backwards;
 }

 .sc-plan-card:nth-child(2) { animation-delay: 60ms; }
 .sc-plan-card:nth-child(3) { animation-delay: 120ms; }
 .sc-plan-card:nth-child(4) { animation-delay: 180ms; }
 .sc-plan-card:nth-child(5) { animation-delay: 240ms; }

 .is-inview .sc-plans__type.is-active .sc-plans__intro {
 animation: sc-fade 0.6s var(--sc-ease-out) backwards;
 }
}

@keyframes sc-rise {
 from {
 opacity: 0;
 transform: translate3d(0, 26px, 0) scale(0.975);
 filter: blur(6px);
 }
 to {
 opacity: 1;
 transform: none;
 filter: blur(0);
 }
}

@keyframes sc-fade {
 from { opacity: 0; }
 to { opacity: 1; }
}

/* ========== Pointer-tracked sheen on glass cards ========== */
.sc-glare {
 position: relative;
}

.sc-glare::after {
 content: "";
 position: absolute;
 inset: 0;
 z-index: 2;
 border-radius: inherit;
 pointer-events: none;
 background: radial-gradient(
 260px circle at var(--mx, 50%) var(--my, 0%),
 var(--sc-glare),
 transparent 68%
 );
 opacity: 0;
 transition: opacity 0.45s var(--sc-ease-out);
}

@media (hover: hover) {
 .sc-glare:hover::after {
 opacity: 1;
 }
}

/* ========== Buttons ========== */
.sc-btn {
 transition:
 background 0.25s var(--sc-ease-out),
 color 0.25s var(--sc-ease-out),
 border-color 0.25s var(--sc-ease-out),
 box-shadow 0.3s var(--sc-ease-out),
 transform 0.35s var(--sc-ease-spring);
 -webkit-tap-highlight-color: transparent;
}

.sc-btn:active {
 transform: scale(0.96);
 transition-duration: 0.1s;
}

.sc-btn--primary {
 background: linear-gradient(180deg, #d92a7d 0%, var(--sc-color-primary-strong) 100%);
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.32),
 0 1px 2px rgba(155, 15, 82, 0.3),
 0 10px 22px -10px rgba(200, 25, 109, 0.6);
}

.sc-btn--primary:hover {
 background: linear-gradient(180deg, var(--sc-color-primary-strong) 0%, var(--sc-color-primary-deep) 100%);
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.3),
 0 1px 2px rgba(155, 15, 82, 0.35),
 0 16px 28px -10px rgba(200, 25, 109, 0.7);
}

@media (hover: hover) {
 .sc-btn:hover:not(:active) {
 transform: translateY(-1px);
 }
}

.sc-btn--ghost,
.sc-about-cta .sc-btn--ghost {
 background: var(--sc-glass-bg);
 border: 1px solid var(--sc-glass-border);
 box-shadow: var(--sc-glass-shadow);
 -webkit-backdrop-filter: var(--sc-glass-filter);
 backdrop-filter: var(--sc-glass-filter);
}

.sc-btn--outline {
 border-width: 1.5px;
}

.sc-btn__spinner {
 display: none;
}

/* ========== Header: floating glass capsule ========== */
.sc-header {
 position: sticky;
 top: 0;
 z-index: 100;
 height: auto;
 padding-top: var(--sc-nav-top);
 margin-bottom: calc(-1 * var(--sc-nav-offset));
 background: none;
 border: 0;
 pointer-events: none;
 /* No view-transition-name here: it would cut the glass off from the page behind it. */
}

.sc-header__inner {
 position: relative;
 height: var(--sc-nav-h);
 padding: 0 0.6rem 0 1.4rem;
 border-radius: 999px;
 pointer-events: auto;
}

/* The glass sits on its own layer so dropdowns can blur the page too. */
.sc-header__glass {
 position: absolute;
 inset: 0;
 z-index: 0;
 border-radius: inherit;
 background: linear-gradient(
 180deg,
 rgba(255, 255, 255, 0.72) 0%,
 rgba(255, 255, 255, 0.5) 100%
 );
 -webkit-backdrop-filter: blur(18px) saturate(180%);
 backdrop-filter: blur(18px) saturate(180%);
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.95),
 inset 0 -1px 0 rgba(255, 255, 255, 0.45),
 inset 0 0 0 1px rgba(255, 255, 255, 0.4),
 0 0 0 1px rgba(14, 12, 27, 0.05),
 0 10px 30px -12px rgba(14, 12, 27, 0.25);
 transition: background 0.4s var(--sc-ease-out), box-shadow 0.4s var(--sc-ease-out);
}

/* Specular rim: brighter top-left and bottom-right, like light across a lens. */
.sc-header__glass::after {
 content: "";
 position: absolute;
 inset: 0;
 border-radius: inherit;
 padding: 1px;
 background: linear-gradient(
 115deg,
 rgba(255, 255, 255, 0.95) 0%,
 rgba(255, 255, 255, 0.15) 28%,
 rgba(255, 255, 255, 0) 55%,
 rgba(255, 255, 255, 0.75) 100%
 );
 -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
 -webkit-mask-composite: xor;
 mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
 pointer-events: none;
}

.sc-header.is-scrolled .sc-header__glass {
 background: linear-gradient(
 180deg,
 rgba(255, 255, 255, 0.82) 0%,
 rgba(255, 255, 255, 0.66) 100%
 );
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.95),
 inset 0 -1px 0 rgba(255, 255, 255, 0.45),
 inset 0 0 0 1px rgba(255, 255, 255, 0.4),
 0 0 0 1px rgba(14, 12, 27, 0.06),
 0 18px 40px -16px rgba(14, 12, 27, 0.32);
}

.sc-header__left,
.sc-header__right {
 position: relative;
 z-index: 1;
}

.sc-nav {
 gap: 0.15rem;
}

.sc-nav a {
 padding: 0.5rem 0.8rem;
 color: var(--sc-color-ink);
 transition: color 0.2s ease, background 0.25s var(--sc-ease-out), transform 0.3s var(--sc-ease-spring);
}

.sc-nav a:hover,
.sc-nav a:focus-visible {
 background: rgba(14, 12, 27, 0.06);
 color: var(--sc-color-primary-strong);
}

.sc-nav a:active {
 transform: scale(0.96);
}

.sc-nav a[aria-current="page"] {
 color: var(--sc-color-primary-strong);
 background: rgba(200, 25, 109, 0.09);
}

.sc-nav__caret {
 width: 7px;
 height: 7px;
 margin-top: -3px;
 border: 0;
 border-right: 1.5px solid currentColor;
 border-bottom: 1.5px solid currentColor;
 transform: rotate(45deg);
 transition: transform 0.3s var(--sc-ease-out);
}

.sc-nav__item--has-children:hover .sc-nav__caret,
.sc-nav__item--has-children:focus-within .sc-nav__caret {
 transform: translateY(3px) rotate(225deg);
}

.sc-nav__dropdown {
 top: calc(100% + 1.1rem);
 left: -0.5rem;
 min-width: 290px;
 padding: 0.5rem;
 background: rgba(255, 255, 255, 0.78);
 border: 1px solid rgba(255, 255, 255, 0.85);
 border-radius: 22px;
 -webkit-backdrop-filter: blur(28px) saturate(180%);
 backdrop-filter: blur(28px) saturate(180%);
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.95),
 0 0 0 1px rgba(14, 12, 27, 0.05),
 0 28px 60px -20px rgba(14, 12, 27, 0.35);
 transform: translateY(-6px) scale(0.97);
 transform-origin: 2rem top;
 transition:
 opacity 0.25s var(--sc-ease-out),
 transform 0.35s var(--sc-ease-spring),
 visibility 0.25s;
}

/* Hover bridge across the gap between link and menu. */
.sc-nav__dropdown::before {
 content: "";
 position: absolute;
 left: 0;
 right: 0;
 top: -1.2rem;
 height: 1.2rem;
}

.sc-nav__item--has-children:hover > .sc-nav__dropdown,
.sc-nav__item--has-children:focus-within > .sc-nav__dropdown {
 transform: none;
}

.sc-nav__dropdown a {
 padding: 0.7rem 0.9rem;
 border-radius: 14px;
}

.sc-header__cta {
 min-height: 42px;
}

/* Menu toggle: two bars that cross into a close mark. */
.sc-menu-toggle {
 position: relative;
 width: 44px;
 height: 44px;
 border-radius: 50%;
 transition: background 0.25s var(--sc-ease-out), transform 0.3s var(--sc-ease-spring);
}

.sc-menu-toggle:hover {
 background: rgba(14, 12, 27, 0.06);
}

.sc-menu-toggle:active {
 transform: scale(0.92);
}

.sc-menu-toggle__bars {
 position: relative;
 display: block;
 width: 20px;
 height: 12px;
}

.sc-menu-toggle__bars i {
 position: absolute;
 left: 0;
 width: 100%;
 height: 2px;
 border-radius: 2px;
 background: currentColor;
 transition: transform 0.4s var(--sc-ease-spring), top 0.4s var(--sc-ease-spring);
}

.sc-menu-toggle__bars i:first-child { top: 0; }
.sc-menu-toggle__bars i:last-child { top: 10px; }

.sc-menu-toggle[aria-expanded="true"] .sc-menu-toggle__bars i:first-child {
 top: 5px;
 transform: rotate(45deg);
}

.sc-menu-toggle[aria-expanded="true"] .sc-menu-toggle__bars i:last-child {
 top: 5px;
 transform: rotate(-45deg);
}

/* Mobile menu: glass sheet that drops out of the capsule. */
.sc-mobile-panel {
 display: block;
 position: absolute;
 top: calc(100% + 8px);
 left: var(--sc-gutter);
 right: var(--sc-gutter);
 max-height: calc(100vh - var(--sc-nav-offset) - 24px);
 max-height: calc(100svh - var(--sc-nav-offset) - 24px);
 overflow-y: auto;
 overscroll-behavior: contain;
 padding: 0.9rem;
 border: 1px solid rgba(255, 255, 255, 0.85);
 border-radius: var(--sc-radius-lg);
 background: rgba(255, 255, 255, 0.8);
 -webkit-backdrop-filter: blur(30px) saturate(180%);
 backdrop-filter: blur(30px) saturate(180%);
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.95),
 0 0 0 1px rgba(14, 12, 27, 0.05),
 0 30px 60px -20px rgba(14, 12, 27, 0.4);
 opacity: 0;
 visibility: hidden;
 transform: translateY(-12px) scale(0.97);
 transform-origin: top right;
 pointer-events: none;
 transition:
 opacity 0.3s var(--sc-ease-out),
 transform 0.45s var(--sc-ease-spring),
 visibility 0.3s;
}

.sc-mobile-panel.is-open {
 opacity: 1;
 visibility: visible;
 transform: none;
 pointer-events: auto;
}

.sc-mobile-panel .sc-nav a {
 display: flex;
 padding: 0.8rem 0.9rem;
 font-size: 1rem;
 border-radius: 14px;
 white-space: normal;
}

.sc-nav__mobile-sub {
 margin: 0.1rem 0 0.5rem 0.9rem;
 border-left: 1.5px solid rgba(200, 25, 109, 0.22);
}

.sc-mobile-panel .sc-nav__mobile-sub a {
 padding: 0.55rem 0.8rem;
 font-size: 0.9rem;
}

.sc-mobile-panel__ctas {
 padding-top: 0.75rem;
 border-top: 1px solid rgba(14, 12, 27, 0.07);
}

@media (prefers-reduced-motion: no-preference) {
 .sc-mobile-panel.is-open .sc-nav > li,
 .sc-mobile-panel.is-open .sc-mobile-panel__ctas {
 animation: sc-rise 0.5s var(--sc-ease-out) backwards;
 }

 .sc-mobile-panel.is-open .sc-nav > li:nth-child(2) { animation-delay: 40ms; }
 .sc-mobile-panel.is-open .sc-nav > li:nth-child(3) { animation-delay: 80ms; }
 .sc-mobile-panel.is-open .sc-nav > li:nth-child(4) { animation-delay: 120ms; }
 .sc-mobile-panel.is-open .sc-nav > li:nth-child(5) { animation-delay: 160ms; }
 .sc-mobile-panel.is-open .sc-mobile-panel__ctas { animation-delay: 200ms; }
}

@media (max-width: 899px) {
 :root {
 --sc-nav-h: 54px;
 --sc-nav-top: 16px;
 }

 .sc-header__inner {
 padding: 0 0.35rem 0 1.15rem;
 }
}

/* ========== Hero ========== */
.sc-hero {
 height: auto;
 min-height: max(600px, 100vh);
 min-height: max(600px, 100svh);
 max-height: none;
 padding-top: var(--sc-nav-offset);
}

/* The banner fills the whole first screen on every device. */
@media (min-width: 900px) {
 .sc-hero {
 height: 100vh;
 height: 100svh;
 min-height: 620px;
 max-height: none;
 }
}

.sc-hero__scrim {
 background:
 linear-gradient(
 100deg,
 rgba(14, 12, 27, 0.62) 0%,
 rgba(14, 12, 27, 0.4) 34%,
 rgba(14, 12, 27, 0.12) 60%,
 rgba(155, 15, 82, 0.06) 82%,
 rgba(14, 12, 27, 0.04) 100%
 ),
 linear-gradient(180deg, rgba(14, 12, 27, 0.28) 0%, rgba(14, 12, 27, 0) 26%, rgba(14, 12, 27, 0) 62%, rgba(14, 12, 27, 0.5) 100%);
}

.sc-hero__inner {
 padding: 2rem 0 clamp(2.75rem, 7vw, 5rem);
}

.sc-hero__title {
 margin-bottom: 1.1rem;
 font-weight: 600;
 letter-spacing: -0.04em;
}

@media (min-width: 1000px) {
 .sc-hero__line {
 font-size: clamp(2rem, 3.6vw, 3rem);
 }

 .sc-hero__line--emphasis {
 font-size: clamp(2.6rem, 5vw, 4rem);
 }
}

.sc-hero__sub {
 margin-bottom: 1.6rem;
 color: rgba(255, 255, 255, 0.9);
}

/* Feasibility field: clear glass capsule over the photo. */
.sc-coverage-form__field {
 padding: 0.35rem;
 background: linear-gradient(180deg, rgba(255, 255, 255, 0.26) 0%, rgba(255, 255, 255, 0.14) 100%);
 border: 1px solid rgba(255, 255, 255, 0.38);
 border-radius: 24px;
 -webkit-backdrop-filter: blur(22px) saturate(170%);
 backdrop-filter: blur(22px) saturate(170%);
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.55),
 inset 0 -1px 0 rgba(255, 255, 255, 0.1),
 0 22px 48px -18px rgba(0, 0, 0, 0.55);
 transition: border-color 0.3s var(--sc-ease-out), box-shadow 0.3s var(--sc-ease-out), background 0.3s var(--sc-ease-out);
}

.sc-coverage-form__field:focus-within {
 border-color: rgba(255, 255, 255, 0.75);
 background: linear-gradient(180deg, rgba(255, 255, 255, 0.32) 0%, rgba(255, 255, 255, 0.2) 100%);
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.6),
 0 0 0 4px rgba(245, 112, 176, 0.28),
 0 22px 48px -18px rgba(0, 0, 0, 0.55);
}

.sc-coverage-form input[type="text"] {
 min-height: 48px;
 padding: 0.75rem 1.1rem;
 color: #fff;
 border-radius: 18px;
}

.sc-coverage-form input[type="text"]::placeholder {
 color: rgba(255, 255, 255, 0.82);
}

.sc-coverage-form input[type="text"]:focus-visible {
 box-shadow: none;
}

.sc-coverage-form .sc-btn {
 min-height: 48px;
 border-radius: 18px;
}

@media (min-width: 640px) {
 .sc-coverage-form__field,
 .sc-coverage-form input[type="text"],
 .sc-coverage-form .sc-btn {
 border-radius: 999px;
 }

 .sc-coverage-form .sc-btn {
 padding-inline: 1.6rem;
 }
}

.sc-hero__hint {
 display: flex;
 align-items: center;
 gap: 0.55rem;
 margin-top: 0.35rem;
 padding-left: 0.4rem;
 font-size: 0.8125rem;
 letter-spacing: 0.01em;
 color: rgba(255, 255, 255, 0.82);
}

.sc-hero__dot {
 position: relative;
 flex-shrink: 0;
 width: 8px;
 height: 8px;
 border-radius: 50%;
 background: var(--sc-color-primary);
 box-shadow: 0 0 10px rgba(245, 112, 176, 0.9);
}

.sc-hero__dot::after {
 content: "";
 position: absolute;
 inset: 0;
 border-radius: 50%;
 background: var(--sc-color-primary);
 animation: sc-ping 2.4s var(--sc-ease-out) infinite;
}

@keyframes sc-ping {
 0% { transform: scale(1); opacity: 0.7; }
 80%, 100% { transform: scale(3.2); opacity: 0; }
}

.sc-feasibility-msg {
 border-radius: 20px;
 -webkit-backdrop-filter: blur(22px) saturate(170%);
 backdrop-filter: blur(22px) saturate(170%);
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 18px 40px -18px rgba(0, 0, 0, 0.5);
}

@media (prefers-reduced-motion: no-preference) {
 .sc-feasibility-msg:not([hidden]) {
 animation: sc-rise 0.5s var(--sc-ease-out) backwards;
 }
}

/* Hero photos drift slower than the page as they scroll away. */
@media (prefers-reduced-motion: no-preference) {
 @supports (animation-timeline: view()) {
 .sc-hero__media img,
 .sc-service-hero__media img {
 animation: sc-parallax linear both;
 animation-timeline: view();
 animation-range: exit 0% exit 100%;
 }
 }
}

@keyframes sc-parallax {
 from { transform: translate3d(0, 0, 0) scale(1.05); }
 to { transform: translate3d(0, 14%, 0) scale(1.12); }
}

/* ========== Plans (dark glass over drifting light) ========== */
.sc-plans {
 position: relative;
 isolation: isolate;
 overflow: hidden;
 background: #0e0c1b;
}

.sc-plans::before,
.sc-plans::after {
 content: "";
 position: absolute;
 z-index: -1;
 border-radius: 50%;
 pointer-events: none;
 filter: blur(70px);
}

.sc-plans::before {
 top: 8%;
 left: -6%;
 width: min(620px, 70vw);
 aspect-ratio: 1;
 background: radial-gradient(circle, rgba(200, 25, 109, 0.75), rgba(200, 25, 109, 0) 68%);
}

.sc-plans::after {
 right: -8%;
 bottom: 2%;
 width: min(680px, 80vw);
 aspect-ratio: 1;
 background: radial-gradient(circle, rgba(245, 112, 176, 0.5), rgba(155, 15, 82, 0.18) 45%, rgba(155, 15, 82, 0) 70%);
}

@media (hover: hover) and (min-width: 900px) and (prefers-reduced-motion: no-preference) {
 .sc-plans::before {
 animation: sc-drift-a 26s ease-in-out infinite alternate;
 }

 .sc-plans::after {
 animation: sc-drift-b 32s ease-in-out infinite alternate;
 }
}

@keyframes sc-drift-a {
 to { transform: translate3d(22vw, 18%, 0) scale(1.15); }
}

@keyframes sc-drift-b {
 to { transform: translate3d(-24vw, -16%, 0) scale(0.9); }
}

.sc-plans > .sc-container {
 width: min(100% - (var(--sc-gutter) * 2), var(--sc-container-wide));
 max-width: var(--sc-container-wide);
}

/* State picker: glass track, the selection is a lens that slides between options. */
.sc-plans__states {
 position: relative;
 width: fit-content;
 max-width: 100%;
 margin-inline: auto;
 padding: 5px;
 gap: 2px;
 border-radius: 28px;
 background: rgba(255, 255, 255, 0.07);
 border: 1px solid rgba(255, 255, 255, 0.12);
 -webkit-backdrop-filter: blur(20px) saturate(160%);
 backdrop-filter: blur(20px) saturate(160%);
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.sc-plan-state {
 position: relative;
 z-index: 1;
 min-height: 40px;
 border: 0;
 color: rgba(255, 255, 255, 0.72);
 transition: color 0.3s var(--sc-ease-out), transform 0.3s var(--sc-ease-spring), background 0.3s var(--sc-ease-out);
 -webkit-tap-highlight-color: transparent;
}

.sc-plan-state:hover {
 color: #fff;
}

.sc-plan-state:active {
 transform: scale(0.95);
}

.sc-plan-state:focus-visible {
 outline: 2px solid var(--sc-color-primary);
 outline-offset: 2px;
}

.sc-plan-state.is-active {
 background: linear-gradient(180deg, #d92a7d, var(--sc-color-primary-strong));
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 8px 20px -8px rgba(200, 25, 109, 0.9);
}

.sc-plans__states.has-indicator .sc-plan-state.is-active {
 background: transparent;
 box-shadow: none;
}

.sc-plans__states.has-indicator::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: var(--ind-w, 0);
 height: var(--ind-h, 0);
 border-radius: 999px;
 background: linear-gradient(180deg, #e0358a, var(--sc-color-primary-strong));
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.45),
 inset 0 -1px 0 rgba(255, 255, 255, 0.12),
 0 10px 24px -8px rgba(200, 25, 109, 0.95);
 transform: translate3d(var(--ind-x, 0), var(--ind-y, 0), 0);
 transition:
 transform 0.55s var(--sc-ease-spring),
 width 0.45s var(--sc-ease-out),
 height 0.45s var(--sc-ease-out);
}

.sc-plans__states.has-indicator.is-instant::before {
 transition: none;
}

/* Homes / SME switch */
.sc-switch {
 width: 58px;
 height: 32px;
}

.sc-switch__slider {
 background: rgba(255, 255, 255, 0.16);
 box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16), inset 0 2px 6px rgba(0, 0, 0, 0.25);
 transition: background 0.35s var(--sc-ease-out);
}

.sc-switch__slider::before {
 width: 26px;
 height: 26px;
 left: 3px;
 top: 3px;
 border-radius: 999px;
 background: linear-gradient(180deg, #fff, #f1eef2);
 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35), inset 0 1px 0 #fff;
 transition: transform 0.45s var(--sc-ease-spring), width 0.25s var(--sc-ease-out);
}

.sc-switch:active .sc-switch__slider::before {
 width: 32px;
}

.sc-switch input:checked + .sc-switch__slider::before {
 transform: translateX(26px);
}

.sc-switch:active input:checked + .sc-switch__slider::before {
 transform: translateX(20px);
}

.sc-plans__toggle-label {
 transition: color 0.3s var(--sc-ease-out);
}

.sc-plans__intro h3 {
 font-size: 1.35rem;
 letter-spacing: -0.02em;
}

.sc-plans__grid {
 gap: 1.15rem;
}

@media (min-width: 1200px) {
 .sc-plans__grid:has(> :nth-child(5):last-child) {
 grid-template-columns: repeat(5, 1fr);
 gap: 1rem;
 }
}

.sc-plan-card {
 --sc-glare: rgba(255, 255, 255, 0.13);
 gap: 1rem;
 padding: 1.6rem 1.35rem 1.4rem;
 border-radius: var(--sc-radius-lg);
 background: var(--sc-glass-dark-bg);
 border: 1px solid var(--sc-glass-dark-border);
 -webkit-backdrop-filter: blur(26px) saturate(160%);
 backdrop-filter: blur(26px) saturate(160%);
 box-shadow: var(--sc-glass-dark-shadow);
 transition:
 transform 0.5s var(--sc-ease-spring),
 box-shadow 0.4s var(--sc-ease-out),
 border-color 0.4s var(--sc-ease-out);
}

@media (hover: hover) {
 .sc-plan-card:hover {
 transform: translateY(-6px);
 border-color: rgba(255, 255, 255, 0.3);
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.4),
 inset 0 -1px 0 rgba(255, 255, 255, 0.08),
 0 34px 60px -22px rgba(0, 0, 0, 0.7),
 0 0 0 1px rgba(245, 112, 176, 0.18);
 }
}

.sc-plan-card__name {
 font-size: 1.1rem;
 letter-spacing: -0.01em;
}

.sc-plan-card__loc {
 font-size: 0.8rem;
 letter-spacing: 0.04em;
 text-transform: uppercase;
 color: var(--sc-color-primary);
}

.sc-plan-card__price {
 flex-wrap: wrap;
}

.sc-plan-card__amount {
 font-size: 2.1rem;
 font-weight: 600;
 letter-spacing: -0.04em;
 line-height: 1;
}

.sc-plan-card__features {
 gap: 0.6rem;
 padding-top: 1rem;
 border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.sc-plan-card__features li {
 position: relative;
 padding: 0 0 0 1.6rem;
 background: none;
 border-radius: 0;
 line-height: 1.4;
}

.sc-plan-card__features li::before {
 content: "";
 position: absolute;
 left: 0;
 top: 0.12em;
 width: 1.05rem;
 height: 1.05rem;
 background: var(--sc-color-primary);
 -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.7-9.3a1 1 0 0 0-1.4-1.4L9 10.6 7.7 9.3a1 1 0 0 0-1.4 1.4l2 2a1 1 0 0 0 1.4 0l4-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
 mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.7-9.3a1 1 0 0 0-1.4-1.4L9 10.6 7.7 9.3a1 1 0 0 0-1.4 1.4l2 2a1 1 0 0 0 1.4 0l4-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.sc-plan-card__note {
 margin-top: auto;
}

.sc-plans__empty {
 border-radius: var(--sc-radius-lg);
 border: 1px solid var(--sc-glass-dark-border);
 background: var(--sc-glass-dark-bg);
 -webkit-backdrop-filter: blur(26px) saturate(160%);
 backdrop-filter: blur(26px) saturate(160%);
}

/* ========== Light glass cards ========== */
.sc-feature-card,
.sc-faq__item,
.sc-service-card,
.sc-blog-card,
.sc-service-form__card,
.sc-service-article__list li,
.sc-blog-cta,
.sc-blog-related li a,
.sc-table-wrap {
 background: var(--sc-glass-bg);
 border: 1px solid var(--sc-glass-border);
 -webkit-backdrop-filter: var(--sc-glass-filter);
 backdrop-filter: var(--sc-glass-filter);
 box-shadow: var(--sc-glass-shadow);
}

.sc-feature-card,
.sc-service-card,
.sc-blog-card {
 transition:
 transform 0.5s var(--sc-ease-spring),
 box-shadow 0.4s var(--sc-ease-out),
 background 0.4s var(--sc-ease-out);
}

@media (hover: hover) {
 .sc-feature-card:hover,
 .sc-service-card:hover,
 .sc-blog-card:hover {
 transform: translateY(-6px);
 background: rgba(255, 255, 255, 0.72);
 box-shadow: var(--sc-glass-shadow-hover);
 }
}

/* Feature cards */
.sc-feature-card {
 gap: 0.85rem;
 padding: 1.75rem 1.5rem;
 border-radius: var(--sc-radius-lg);
}

.sc-feature-card__icon {
 width: 54px;
 height: 54px;
 border-radius: 17px;
 background: linear-gradient(150deg, #fff 0%, var(--sc-color-primary-soft) 100%);
 box-shadow:
 inset 0 1px 0 #fff,
 0 0 0 1px rgba(200, 25, 109, 0.1),
 0 10px 20px -10px rgba(200, 25, 109, 0.55);
 transition: transform 0.5s var(--sc-ease-spring);
}

.sc-feature-card:hover .sc-feature-card__icon {
 transform: scale(1.08) rotate(-4deg);
}

.sc-feature-card__title {
 letter-spacing: -0.015em;
}

.sc-feature-card__text {
 font-size: 0.975rem;
 line-height: 1.6;
}

/* Reel */
.sc-reel__card {
 border-radius: var(--sc-radius-lg);
}

.sc-reel__label {
 left: 0.85rem;
 bottom: 0.85rem;
 padding: 0.4rem 0.85rem;
 background: rgba(255, 255, 255, 0.2);
 border: 1px solid rgba(255, 255, 255, 0.36);
 -webkit-backdrop-filter: blur(14px) saturate(170%);
 backdrop-filter: blur(14px) saturate(170%);
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
 text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

/* Media frames */
.sc-partners__figure,
.sc-movie__figure,
.sc-video-carousel__track,
.sc-coverage__map-wrap {
 border-radius: var(--sc-radius-lg);
 box-shadow:
 0 0 0 1px rgba(14, 12, 27, 0.05),
 0 30px 60px -28px rgba(74, 16, 48, 0.38);
}

.sc-partners__figure {
 padding: clamp(0.5rem, 1.2vw, 0.9rem);
 background: var(--sc-glass-bg);
 border: 1px solid var(--sc-glass-border);
 -webkit-backdrop-filter: var(--sc-glass-filter);
 backdrop-filter: var(--sc-glass-filter);
 box-shadow: var(--sc-glass-shadow);
}

.sc-partners__figure img {
 border-radius: calc(var(--sc-radius-lg) - 10px);
}

.sc-movie__figure img {
 transition: transform 1.2s var(--sc-ease-out);
}

.sc-movie__figure:hover img {
 transform: scale(1.025);
}

/* Video carousel */
.sc-video-carousel__slide {
 transition: opacity 0.5s var(--sc-ease-out);
}

.sc-video-carousel__btn {
 width: 46px;
 height: 46px;
 background: var(--sc-glass-bg);
 border: 1px solid var(--sc-glass-border);
 -webkit-backdrop-filter: var(--sc-glass-filter);
 backdrop-filter: var(--sc-glass-filter);
 box-shadow: var(--sc-glass-shadow);
 transition:
 background 0.25s var(--sc-ease-out),
 color 0.25s var(--sc-ease-out),
 transform 0.35s var(--sc-ease-spring);
}

.sc-video-carousel__btn:active {
 transform: scale(0.9);
}

.sc-video-carousel__dot {
 width: 8px;
 height: 8px;
 transition: width 0.4s var(--sc-ease-spring), background 0.3s var(--sc-ease-out);
}

.sc-video-carousel__dot.is-active {
 width: 26px;
 transform: none;
}

/* FAQ */
.sc-faq__list {
 gap: 0.75rem;
}

.sc-faq__item {
 border-radius: 22px;
 overflow: hidden;
 transition: background 0.35s var(--sc-ease-out), box-shadow 0.35s var(--sc-ease-out);
}

.sc-faq__item[open] {
 background: var(--sc-glass-bg-strong);
 box-shadow: var(--sc-glass-shadow-hover);
}

.sc-faq__question {
 padding: 1.2rem 1.4rem;
 letter-spacing: -0.01em;
 transition: color 0.25s var(--sc-ease-out);
 -webkit-tap-highlight-color: transparent;
}

.sc-faq__question:hover,
.sc-faq__item[open] .sc-faq__question {
 color: var(--sc-color-primary-strong);
}

.sc-faq__question:focus-visible {
 outline: 2px solid var(--sc-color-primary-strong);
 outline-offset: -4px;
 border-radius: 22px;
}

.sc-faq__icon {
 width: 30px;
 height: 30px;
 border-radius: 50%;
 background: rgba(200, 25, 109, 0.09);
 transition: transform 0.5s var(--sc-ease-spring), background 0.3s var(--sc-ease-out);
}

.sc-faq__icon::before {
 top: 14px;
 left: 9px;
 width: 12px;
}

.sc-faq__icon::after {
 top: 9px;
 left: 14px;
 height: 12px;
}

.sc-faq__item[open] .sc-faq__icon {
 transform: rotate(180deg);
 background: rgba(200, 25, 109, 0.16);
}

.sc-faq__answer {
 padding: 0 1.4rem 1.35rem;
}

@media (prefers-reduced-motion: no-preference) {
 .sc-faq__item[open] .sc-faq__answer {
 animation: sc-faq-in 0.5s var(--sc-ease-out) backwards;
 }

 @supports (interpolate-size: allow-keywords) {
 .sc-faq__item {
 interpolate-size: allow-keywords;
 }

 .sc-faq__item::details-content {
 block-size: 0;
 overflow: hidden;
 transition: block-size 0.45s var(--sc-ease-out), content-visibility 0.45s allow-discrete;
 }

 .sc-faq__item[open]::details-content {
 block-size: auto;
 }
 }
}

@keyframes sc-faq-in {
 from { opacity: 0; transform: translateY(-6px); }
 to { opacity: 1; transform: none; }
}

/* Service + blog cards */
.sc-service-card,
.sc-blog-card {
 border-radius: var(--sc-radius-lg);
}

.sc-service-card__media,
.sc-blog-card__media {
 margin: 0.5rem 0.5rem 0;
 border-radius: calc(var(--sc-radius-lg) - 8px);
}

.sc-service-card__media img,
.sc-blog-card__media img {
 transition: transform 0.9s var(--sc-ease-out);
}

.sc-service-card:hover .sc-service-card__media img,
.sc-blog-card:hover .sc-blog-card__media img {
 transform: scale(1.06);
}

.sc-service-card__body,
.sc-blog-card__body {
 padding: 1.2rem 1.3rem 1.45rem;
}

.sc-service-card__title,
.sc-blog-card__title {
 font-weight: 600;
 letter-spacing: -0.015em;
}

.sc-blog-latest__grid .sc-blog-card__title {
 font-size: 1.05rem;
}

.sc-blog-card__more,
.sc-blog-latest__all {
 display: inline-flex;
 align-items: center;
 gap: 0.3rem;
}

.sc-blog-card__more::after,
.sc-blog-latest__all::after {
 content: "\2192";
 transition: transform 0.35s var(--sc-ease-spring);
}

.sc-blog-card__more:hover,
.sc-blog-latest__all:hover {
 text-decoration: none;
}

.sc-blog-card:hover .sc-blog-card__more::after,
.sc-blog-latest__all:hover::after {
 transform: translateX(4px);
}

.sc-blog-pagination .nav-links {
 display: inline-flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 0.4rem;
}

.sc-blog-pagination .page-numbers {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 42px;
 min-height: 42px;
 padding: 0 0.85rem;
 border-radius: 999px;
 font-weight: 500;
 color: var(--sc-color-ink);
 text-decoration: none;
 background: var(--sc-glass-bg);
 border: 1px solid var(--sc-glass-border);
 box-shadow: var(--sc-glass-shadow);
 transition: transform 0.35s var(--sc-ease-spring), background 0.25s var(--sc-ease-out), color 0.25s var(--sc-ease-out);
}

.sc-blog-pagination a.page-numbers:hover {
 transform: translateY(-2px);
 color: var(--sc-color-primary-strong);
}

.sc-blog-pagination .page-numbers.current {
 background: var(--sc-color-primary-strong);
 border-color: var(--sc-color-primary-strong);
 color: #fff;
}

/* Coverage chips */
.sc-coverage__list li {
 padding: 0.4rem 0.85rem;
 background: var(--sc-glass-bg);
 border: 1px solid var(--sc-glass-border);
 box-shadow: var(--sc-glass-shadow);
}

/* ========== Inner pages ========== */
.sc-page-hero {
 padding-top: calc(var(--sc-nav-offset) + clamp(3rem, 7vw, 5rem));
 padding-bottom: clamp(2.5rem, 6vw, 4rem);
}

.sc-page-hero__title {
 font-size: clamp(2.3rem, 5vw, 3.75rem);
}

.sc-page-placeholder {
 max-width: 40rem;
 font-size: clamp(1.02rem, 1.5vw, 1.15rem);
}

.sc-article__header {
 padding-top: calc(var(--sc-nav-offset) + clamp(2.5rem, 6vw, 3.5rem));
}

.sc-article__title {
 font-weight: 600;
 letter-spacing: -0.035em;
 line-height: 1.12;
 text-wrap: balance;
}

.sc-article__featured,
.sc-blog-figure img {
 border-radius: var(--sc-radius-lg);
 box-shadow: 0 30px 60px -28px rgba(74, 16, 48, 0.38);
}

.sc-service-hero {
 isolation: isolate;
}

.sc-service-hero__scrim {
 background:
 linear-gradient(
 180deg,
 rgba(14, 12, 27, 0.4) 0%,
 rgba(14, 12, 27, 0.12) 30%,
 rgba(107, 11, 57, 0.42) 62%,
 rgba(14, 12, 27, 0.9) 100%
 );
}

.sc-service-hero__inner {
 padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

.sc-service-hero__crumb {
 display: inline-flex;
 align-items: center;
 gap: 0.4rem;
 margin-bottom: 1rem;
 padding: 0.4rem 0.9rem;
 border-radius: 999px;
 background: rgba(255, 255, 255, 0.16);
 border: 1px solid rgba(255, 255, 255, 0.3);
 -webkit-backdrop-filter: blur(16px) saturate(170%);
 backdrop-filter: blur(16px) saturate(170%);
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.sc-page-hero .sc-service-hero__crumb {
 background: var(--sc-glass-bg);
 border-color: var(--sc-glass-border);
 box-shadow: var(--sc-glass-shadow);
}

.sc-page-hero .sc-service-hero__crumb a {
 color: var(--sc-color-primary-strong) !important;
}

.sc-service-hero__title {
 font-size: clamp(2rem, 4.6vw, 3.4rem);
 font-weight: 600;
 letter-spacing: -0.04em;
 line-height: 1.05;
 text-wrap: balance;
}

.sc-service-article h2 {
 font-size: 1.5rem;
 font-weight: 600;
 letter-spacing: -0.025em;
}

.sc-service-article__list {
 gap: 0.7rem;
}

.sc-service-article__list li {
 position: relative;
 padding: 1rem 1.15rem 1rem 3rem;
 border-radius: 18px;
 transition: transform 0.45s var(--sc-ease-spring);
}

.sc-service-article__list li::before {
 content: "";
 position: absolute;
 left: 1.1rem;
 top: 1.05rem;
 width: 1.25rem;
 height: 1.25rem;
 background: var(--sc-color-primary-strong);
 -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.7-9.3a1 1 0 0 0-1.4-1.4L9 10.6 7.7 9.3a1 1 0 0 0-1.4 1.4l2 2a1 1 0 0 0 1.4 0l4-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
 mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.7-9.3a1 1 0 0 0-1.4-1.4L9 10.6 7.7 9.3a1 1 0 0 0-1.4 1.4l2 2a1 1 0 0 0 1.4 0l4-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (hover: hover) {
 .sc-service-article__list li:hover {
 transform: translateX(4px);
 }
}

.sc-service-form__card {
 border-radius: var(--sc-radius-lg);
 padding: clamp(1.35rem, 3vw, 2rem);
}

.sc-blog-cta {
 border-radius: var(--sc-radius-lg);
 padding: clamp(1.35rem, 3vw, 1.9rem);
 background:
 linear-gradient(135deg, rgba(200, 25, 109, 0.1), rgba(245, 112, 176, 0.14)),
 var(--sc-glass-bg);
}

.sc-blog-related li a {
 border-radius: 16px;
 transition: transform 0.4s var(--sc-ease-spring), background 0.25s var(--sc-ease-out);
}

.sc-blog-related li a:hover {
 transform: translateX(4px);
}

.sc-table-wrap {
 border-radius: 20px;
}

.sc-table th {
 background: rgba(255, 255, 255, 0.5);
}

/* ========== Request modal ========== */
.sc-modal__backdrop {
 background: rgba(14, 12, 27, 0.4);
 -webkit-backdrop-filter: blur(14px) saturate(140%);
 backdrop-filter: blur(14px) saturate(140%);
}

.sc-modal__dialog {
 border: 1px solid rgba(255, 255, 255, 0.85);
 border-radius: 32px;
 background: rgba(255, 255, 255, 0.88);
 -webkit-backdrop-filter: blur(30px) saturate(180%);
 backdrop-filter: blur(30px) saturate(180%);
 box-shadow:
 inset 0 1px 0 #fff,
 0 0 0 1px rgba(14, 12, 27, 0.05),
 0 40px 90px -20px rgba(14, 12, 27, 0.55);
 padding: 1.9rem 1.6rem 1.9rem;
}

.sc-modal__title {
 font-weight: 600;
 letter-spacing: -0.03em;
}

.sc-modal__close {
 top: 0.9rem;
 right: 0.9rem;
 width: 36px;
 height: 36px;
 font-size: 1.4rem;
 background: rgba(14, 12, 27, 0.06);
 transition: background 0.25s var(--sc-ease-out), transform 0.4s var(--sc-ease-spring), color 0.25s;
}

.sc-modal__close:hover {
 background: rgba(14, 12, 27, 0.1);
 transform: rotate(90deg);
}

.sc-modal .forminator-input,
.sc-modal .forminator-select--field,
.sc-modal .forminator-textarea {
 border-radius: 14px !important;
}

@media (prefers-reduced-motion: no-preference) {
 .sc-modal:not([hidden]) .sc-modal__backdrop {
 animation: sc-fade 0.35s var(--sc-ease-out) backwards;
 }

 .sc-modal:not([hidden]) .sc-modal__dialog {
 animation: sc-modal-in 0.55s var(--sc-ease-spring) backwards;
 }

 .sc-modal.is-closing .sc-modal__backdrop {
 animation: sc-fade 0.22s ease-in reverse forwards;
 }

 .sc-modal.is-closing .sc-modal__dialog {
 animation: sc-modal-out 0.22s ease-in forwards;
 }
}

@keyframes sc-modal-in {
 from { opacity: 0; transform: translate3d(0, 24px, 0) scale(0.94); }
 to { opacity: 1; transform: none; }
}

@keyframes sc-modal-out {
 to { opacity: 0; transform: translate3d(0, 16px, 0) scale(0.96); }
}

@media (max-width: 689px) {
 .sc-modal__dialog {
 border-radius: 28px 28px 0 0;
 }

 @keyframes sc-modal-in {
 from { opacity: 0; transform: translate3d(0, 60%, 0); }
 to { opacity: 1; transform: none; }
 }

 @keyframes sc-modal-out {
 to { opacity: 0; transform: translate3d(0, 40%, 0); }
 }
}

/* ========== Footer ========== */
.sc-footer {
 position: relative;
 isolation: isolate;
 overflow: hidden;
 padding-top: clamp(2.5rem, 6vw, 4rem);
 background:
 radial-gradient(60% 90% at 0% 0%, rgba(245, 112, 176, 0.38), transparent 62%),
 radial-gradient(55% 90% at 100% 100%, rgba(14, 12, 27, 0.5), transparent 65%),
 linear-gradient(160deg, #a81260 0%, var(--sc-color-primary-deep) 45%, #5e0932 100%);
}

.sc-footer__contact {
 display: grid;
 grid-template-columns: 1fr;
 gap: 0.35rem;
 margin-bottom: clamp(2rem, 5vw, 3rem);
 padding: 0.5rem;
 border-radius: var(--sc-radius-lg);
 background: linear-gradient(150deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.07) 100%);
 border: 1px solid rgba(255, 255, 255, 0.22);
 -webkit-backdrop-filter: blur(22px) saturate(160%);
 backdrop-filter: blur(22px) saturate(160%);
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.38),
 0 24px 50px -24px rgba(14, 12, 27, 0.6);
 font-style: normal;
}

@media (min-width: 800px) {
 .sc-footer__contact {
 grid-template-columns: 1.5fr 1.15fr 1fr;
 }
}

.sc-footer__contact-item {
 display: flex;
 align-items: center;
 gap: 0.9rem;
 min-width: 0;
 padding: 0.9rem 1rem;
 border-radius: calc(var(--sc-radius-lg) - 8px);
 color: #fff;
 text-decoration: none;
 transition: background 0.3s var(--sc-ease-out), transform 0.4s var(--sc-ease-spring);
}

.sc-footer__contact-item:hover,
.sc-footer__contact-item:focus-visible {
 background: rgba(255, 255, 255, 0.12);
 color: #fff;
 outline: none;
}

.sc-footer__contact-item:active {
 transform: scale(0.98);
}

.sc-footer__contact-icon {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
 width: 46px;
 height: 46px;
 border-radius: 15px;
 background: rgba(255, 255, 255, 0.16);
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
 transition: transform 0.5s var(--sc-ease-spring);
}

.sc-footer__contact-item:hover .sc-footer__contact-icon {
 transform: scale(1.08) rotate(-4deg);
}

.sc-footer__contact-icon svg {
 width: 22px;
 height: 22px;
 fill: none;
 stroke: currentColor;
 stroke-width: 1.7;
 stroke-linecap: round;
 stroke-linejoin: round;
}

.sc-footer__contact-text {
 display: flex;
 flex-direction: column;
 gap: 0.15rem;
 min-width: 0;
}

.sc-footer__contact-label {
 font-size: 0.72rem;
 font-weight: 600;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: var(--sc-color-primary-blush);
}

.sc-footer__contact-value {
 font-size: 0.95rem;
 font-weight: 500;
 line-height: 1.4;
 overflow-wrap: anywhere;
}

.sc-footer__heading {
 font-size: 0.78rem;
 letter-spacing: 0.08em;
 color: var(--sc-color-primary-blush);
}

.sc-footer__links {
 gap: 0.55rem;
}

.sc-footer__links a {
 display: inline-block;
 transition: color 0.25s var(--sc-ease-out), transform 0.4s var(--sc-ease-spring);
}

.sc-footer__links a:hover {
 color: #fff;
 transform: translateX(4px);
}

.sc-footer__bottom {
 background: rgba(14, 12, 27, 0.22);
}

/* ========== WhatsApp float ========== */
.sc-wa-float {
 box-shadow:
 inset 0 1px 0 rgba(255, 255, 255, 0.4),
 0 14px 30px -10px rgba(14, 12, 27, 0.4),
 0 4px 12px rgba(37, 211, 102, 0.35);
 transition: transform 0.45s var(--sc-ease-spring), box-shadow 0.3s var(--sc-ease-out), background 0.25s var(--sc-ease-out);
}

.sc-wa-float:hover {
 transform: translateY(-3px) scale(1.03);
}

.sc-wa-float:active {
 transform: scale(0.95);
}

@media (prefers-reduced-motion: no-preference) {
 .sc-wa-float {
 animation: sc-rise 0.8s var(--sc-ease-out) 0.9s backwards;
 }
}

/* ========== Fallbacks ========== */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
 :root {
 --sc-glass-bg: rgba(255, 255, 255, 0.92);
 }

 .sc-header__glass,
 .sc-nav__dropdown,
 .sc-mobile-panel,
 .sc-modal__dialog {
 background: rgba(255, 255, 255, 0.97);
 }

 .sc-plan-card,
 .sc-plans__empty {
 background: #1d1a2c;
 }

 .sc-coverage-form__field {
 background: rgba(14, 12, 27, 0.6);
 }
}

@media (prefers-reduced-transparency: reduce) {
 :root {
 --sc-glass-bg: #fff;
 --sc-glass-bg-strong: #fff;
 }

 .sc-header__glass,
 .sc-nav__dropdown,
 .sc-mobile-panel,
 .sc-modal__dialog {
 background: #fff;
 -webkit-backdrop-filter: none;
 backdrop-filter: none;
 }

 .sc-plan-card,
 .sc-plans__empty {
 background: #1d1a2c;
 -webkit-backdrop-filter: none;
 backdrop-filter: none;
 }

 .sc-coverage-form__field {
 background: rgba(14, 12, 27, 0.72);
 -webkit-backdrop-filter: none;
 backdrop-filter: none;
 }
}

@media (prefers-reduced-motion: reduce) {
 html {
 scroll-behavior: auto;
 }

 .sc-site *,
 .sc-site *::before,
 .sc-site *::after {
 animation-duration: 0.01ms !important;
 animation-iteration-count: 1 !important;
 transition-duration: 0.01ms !important;
 }

 ::view-transition-group(*),
 ::view-transition-old(*),
 ::view-transition-new(*) {
 animation: none !important;
 }
}

/* ========== Image sizing (style.css forces height:auto on every img) ========== */
.sc-site .sc-logo img {
 height: 32px;
 width: auto;
 max-width: none;
}

.sc-site .sc-footer__logo img {
 height: 30px;
 width: auto;
 max-width: none;
}

@media (max-width: 899px) {
 .sc-site .sc-logo img {
 height: 27px;
 }
}

.sc-site .sc-hero__media img,
.sc-site .sc-service-hero__media img,
.sc-site .sc-service-card__media img,
.sc-site .sc-blog-card__media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}

/* One typeface throughout: headings were falling back to the parent theme's font. */
.sc-site h1,
.sc-site h2,
.sc-site h3,
.sc-site h4 {
 font-family: var(--sc-font);
}

/* ========== Forms (Forminator) ========== */
.sc-modal .forminator-ui .forminator-input,
.sc-modal .forminator-ui select,
.sc-modal .forminator-ui .forminator-textarea,
.sc-service-form__card .forminator-ui .forminator-input,
.sc-service-form__card .forminator-ui select,
.sc-service-form__card .forminator-ui .forminator-textarea {
 min-height: 48px;
 padding-inline: 0.95rem !important;
 border: 1px solid rgba(14, 12, 27, 0.14) !important;
 border-radius: 14px !important;
 background-color: rgba(255, 255, 255, 0.75) !important;
 box-shadow: inset 0 1px 2px rgba(14, 12, 27, 0.04) !important;
 font-family: var(--sc-font) !important;
 transition: border-color 0.25s var(--sc-ease-out), box-shadow 0.25s var(--sc-ease-out), background-color 0.25s var(--sc-ease-out);
}

.sc-modal .forminator-ui .forminator-input:focus,
.sc-modal .forminator-ui select:focus,
.sc-modal .forminator-ui .forminator-textarea:focus,
.sc-service-form__card .forminator-ui .forminator-input:focus,
.sc-service-form__card .forminator-ui select:focus,
.sc-service-form__card .forminator-ui .forminator-textarea:focus {
 border-color: var(--sc-color-primary-strong) !important;
 background-color: #fff !important;
 box-shadow: 0 0 0 4px rgba(200, 25, 109, 0.16) !important;
 outline: none !important;
}

.sc-modal .forminator-button-submit,
.sc-service-form__card .forminator-button-submit {
 min-height: 48px;
 padding-inline: 1.6rem !important;
 border-radius: 999px !important;
 background: linear-gradient(180deg, #d92a7d 0%, var(--sc-color-primary-strong) 100%) !important;
 color: #fff !important;
 font-weight: 600 !important;
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32), 0 10px 22px -10px rgba(200, 25, 109, 0.6) !important;
 transition: transform 0.35s var(--sc-ease-spring), box-shadow 0.3s var(--sc-ease-out) !important;
}

.sc-modal .forminator-button-submit:active,
.sc-service-form__card .forminator-button-submit:active,
.sc-footer__newsletter .forminator-button-submit:active {
 transform: scale(0.96);
}

.sc-footer__newsletter .forminator-ui .forminator-input {
 min-height: 48px;
 padding-inline: 1rem !important;
 border: 1px solid rgba(255, 255, 255, 0.3) !important;
 border-radius: 999px !important;
 background-color: rgba(255, 255, 255, 0.12) !important;
 color: #fff !important;
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
 transition: border-color 0.25s var(--sc-ease-out), background-color 0.25s var(--sc-ease-out), box-shadow 0.25s var(--sc-ease-out);
}

.sc-footer__newsletter .forminator-ui .forminator-input::placeholder {
 color: rgba(255, 255, 255, 0.7) !important;
}

.sc-footer__newsletter .forminator-ui .forminator-input:focus {
 border-color: #fff !important;
 background-color: rgba(255, 255, 255, 0.18) !important;
 box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.16) !important;
 outline: none !important;
}

.sc-footer__newsletter .forminator-button-submit {
 min-height: 46px;
 padding-inline: 1.5rem !important;
 background: #fff !important;
 border-color: #fff !important;
 color: var(--sc-color-primary-deep) !important;
 box-shadow: 0 10px 24px -10px rgba(14, 12, 27, 0.6) !important;
 transition: transform 0.35s var(--sc-ease-spring), background 0.25s var(--sc-ease-out) !important;
}

.sc-footer__newsletter .forminator-button-submit:hover {
 background: var(--sc-color-primary-soft) !important;
}

/* Keep the copyright line clear of the floating WhatsApp button. */
.sc-footer__bottom {
 padding-bottom: 4.75rem;
}

@media (min-width: 690px) {
 .sc-footer__bottom {
 padding-bottom: 1.1rem;
 }

 .sc-footer__copy {
 margin-right: max(0px, calc(190px - (100vw - min(100vw - (var(--sc-gutter) * 2), var(--sc-container))) / 2));
 }
}

/* Article heading hierarchy: h3 sits below h2. */
.sc-article__content h2 {
 font-size: clamp(1.4rem, 2.4vw, 1.7rem);
 font-weight: 600;
 letter-spacing: -0.025em;
 line-height: 1.2;
}

.sc-article__content h3 {
 margin: 1.6rem 0 0.5rem;
 font-size: 1.12rem;
 font-weight: 600;
 letter-spacing: -0.01em;
 line-height: 1.35;
 color: var(--sc-color-ink);
}

.sc-article__content .sc-blog-cta ul {
 margin-bottom: 0;
}
