:root {
    --primary: #5f4a99;
    --primary-dark: #4f3d83;
    --primary-light: #5f4a99;
    --primary-soft: rgba(95, 74, 153, .1);
    --primary-softer: rgba(95, 74, 153, .045);
    --dark: #5f4a99;
    --dark-2: #5f4a99;
    --dark-3: #5f4a99;
    --text: #352b50;
    --text-2: #675f78;
    --text-3: #928a9f;
    --bg-soft: #f6f5f5;
    --bg-purple: rgba(95, 74, 153, .07);
    --border: rgba(95, 74, 153, .14);
    --border-2: rgba(95, 74, 153, .18);
    --font: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --display: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --shadow-p: 0 10px 30px rgba(95, 74, 153, .2);
    --safe-top: env(safe-area-inset-top, 0px);
    --safe-right: env(safe-area-inset-right, 0px);
    --safe-bottom: env(safe-area-inset-bottom, 0px);
    --safe-left: env(safe-area-inset-left, 0px);
}

html {
    scroll-padding-top: calc(82px + var(--safe-top));
}

body {
    min-height: 100vh;
    min-height: 100dvh;
    color: var(--text);
    background: #fff;
    font-family: var(--font);
    overflow-x: clip;
    -webkit-tap-highlight-color: rgba(95, 74, 153, .12);
    text-rendering: optimizeLegibility;
}

body.lp-menu-open { overflow: hidden; }
.w-home { overflow: clip; }
.w-home img { max-width: 100%; height: auto; }
.w-home h1, .w-home h2, .w-home h3, .w-home strong { font-family: var(--display); }
.w-home section[id] { scroll-margin-top: calc(82px + var(--safe-top)); }

:is(a, button):focus-visible {
    outline: 3px solid rgba(95, 74, 153, .5);
    outline-offset: 3px;
}

.w-shell {
    width: min(1180px, calc(100% - max(16px, var(--safe-left)) - max(16px, var(--safe-right))));
    max-width: 1180px;
    margin-inline: auto;
}

.w-section { padding: 72px 0; }
.w-reveal { opacity: 0; transform: translateY(16px); transition: opacity .5s ease, transform .5s ease; transition-delay: calc(var(--w-delay, 0) * 70ms); }
.w-reveal.is-visible { opacity: 1; transform: none; }

.w-bullet-leaf { width: .8em; height: .8em; flex: none; display: inline-block; vertical-align: -.05em; fill: currentColor; }

.w-divider { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 0; background: var(--bg-soft); color: var(--border-2); }
.w-divider svg { fill: currentColor; }
.w-divider svg:nth-child(1) { width: 12px; height: 12px; transform: rotate(-18deg); }
.w-divider svg:nth-child(2) { width: 18px; height: 18px; color: var(--primary); opacity: .5; }
.w-divider svg:nth-child(3) { width: 12px; height: 12px; transform: rotate(18deg); }
.w-divider-spin { animation: wkSpinSlow 40s linear infinite; transform-origin: center; }

.w-kicker, .w-overline {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--primary);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.5;
    text-transform: uppercase;
}

.w-kicker { max-width: 100%; }
.w-overline { margin-bottom: 16px; }

.w-actions { display: flex; flex-direction: column; gap: 10px; }
.w-button {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 11px 17px;
    border: 1px solid transparent;
    border-radius: 11px;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    touch-action: manipulation;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.w-button-primary { color: #fff; background: var(--primary); box-shadow: var(--shadow-p); }
.w-button-primary:hover { color: #fff; background: var(--primary-dark); }
.w-button-secondary { color: var(--primary); background: #fff; border-color: var(--border-2); }
.w-button-secondary:hover { color: var(--primary); background: var(--primary-softer); }
.w-button-white { color: var(--primary); background: #fff; }
.w-button-outline-white { color: #fff; border-color: rgba(255, 255, 255, .34); }
.w-button-outline-white:hover { color: #fff; background: rgba(255, 255, 255, .1); }

/* Mobile navigation is the default */
.lp-header {
    padding: max(10px, var(--safe-top)) max(12px, var(--safe-right)) 0 max(12px, var(--safe-left));
}

.lp-nav {
    width: 100%;
    height: 56px;
    padding: 0 6px 0 14px;
    gap: 10px;
    border-radius: 18px;
}

.lp-brand { gap: 8px; font-size: 1.1rem; }
.lp-brand img { width: 32px; height: 32px; }
.lp-nav-links, .lp-nav-actions { display: none; }
.lp-hamburger { width: 44px; height: 44px; display: flex; touch-action: manipulation; }

.lp-mobile-menu {
    position: fixed;
    top: calc(max(10px, var(--safe-top)) + 64px);
    left: max(12px, var(--safe-left));
    right: max(12px, var(--safe-right));
    max-height: 0;
    margin: 0;
    padding-bottom: var(--safe-bottom);
    overflow: hidden auto;
    overscroll-behavior: contain;
    visibility: hidden;
    opacity: 0;
    border-radius: 16px;
    transform: translateY(-8px);
    transition: max-height .28s ease, opacity .2s ease, transform .2s ease, visibility .2s;
}

.lp-mobile-menu.open {
    max-height: calc(100dvh - max(10px, var(--safe-top)) - 80px - var(--safe-bottom));
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.lp-mobile-menu ul { padding: 12px 12px 0; }
.lp-mobile-menu li a { min-height: 44px; display: flex; align-items: center; padding: 10px 12px; }
.lp-mobile-cta { padding: 12px; }
.lp-mobile-cta .lp-btn { min-height: 46px; }

/* Hero */
.w-hero {
    position: relative;
    overflow: hidden;
    padding: calc(92px + var(--safe-top)) 0 0;
    background: var(--bg-soft);
}

.w-hero-glow {
    position: absolute;
    inset: -10% -10% auto auto;
    width: 60%;
    height: 70%;
    background: radial-gradient(circle at 70% 20%, rgba(95, 74, 153, .12), transparent 65%);
    pointer-events: none;
    animation: wkBreathe 7s ease-in-out infinite;
}

.w-hero-leaves { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.w-hero-leaves svg {
    position: absolute;
    color: var(--primary);
    fill: currentColor;
    opacity: .06;
}
.w-hero-leaves svg:nth-child(1) { width: 220px; height: 220px; right: -60px; top: -40px; animation: wkFloat 11s ease-in-out infinite alternate; }
.w-hero-leaves svg:nth-child(2) { width: 140px; height: 140px; left: -30px; top: 30%; opacity: .05; fill: none; stroke: currentColor; animation: wkFloat 9s ease-in-out infinite alternate -3s; }
.w-hero-leaves svg:nth-child(3) { width: 170px; height: 170px; right: 8%; bottom: -60px; animation: wkFloat 13s ease-in-out infinite alternate -5s; }

.w-hero-layout {
    min-height: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
    position: relative;
    z-index: 1;
    padding: 38px 0 52px;
}

.w-hero-copy { min-width: 0; }
.w-hero-copy h1 {
    max-width: 100%;
    margin: 18px 0;
    color: var(--primary);
    font-size: clamp(2.75rem, 14vw, 4.5rem);
    line-height: .96;
    letter-spacing: -.065em;
    overflow-wrap: anywhere;
}

.w-hero-copy h1 span { color: transparent; -webkit-text-stroke: 1.25px var(--primary); }
.w-hero-copy > p { max-width: 630px; color: var(--text-2); font-size: .94rem; line-height: 1.68; }
.w-hero-copy .w-actions { align-items: flex-start; margin: 26px 0 30px; }
.w-hero-copy .w-button { width: min(100%, 252px); }

.w-proof { display: flex; align-items: flex-start; flex-direction: column; gap: 12px; }
.w-proof-icons { display: flex; }
.w-proof-icons span {
    width: 36px;
    height: 36px;
    margin-left: -7px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--primary);
    border: 2px solid #fff;
    border-radius: 50%;
    font-size: .58rem;
    font-weight: 700;
}
.w-proof-icons span:first-child { margin-left: 0; background: rgba(95, 74, 153, .72); }
.w-proof-icons span:nth-child(2) { background: rgba(95, 74, 153, .84); }
.w-proof-icons span:last-child { color: var(--primary); background: #fff; }
.w-stars { color: var(--primary); font-size: .76rem; letter-spacing: .1em; }
.w-proof small { display: block; margin-top: 3px; color: var(--text-2); font-size: .72rem; }

.w-hero-card {
    min-width: 0;
    padding: 28px 22px;
    position: relative;
    color: #fff;
    background: var(--primary);
    border-radius: 22px 6px 22px 22px;
    box-shadow: 12px 12px 0 rgba(95, 74, 153, .09);
}
.w-hero-card::before { content: ''; position: absolute; width: 42px; height: 42px; right: 0; top: 0; background: var(--bg-soft); border-radius: 0 0 0 22px; }
.w-card-label { display: block; color: rgba(255, 255, 255, .66); font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.w-card-number { display: block; margin: 15px 0 3px; color: #fff; font-size: clamp(3.5rem, 18vw, 5rem); line-height: 1; letter-spacing: -.08em; }
.w-hero-card > p { color: rgba(255, 255, 255, .74); font-size: .82rem; line-height: 1.6; }
.w-card-line { height: 1px; margin: 22px 0 7px; background: rgba(255, 255, 255, .18); }
.w-hero-card li { display: flex; align-items: center; gap: 11px; padding: 12px 0; color: rgba(255, 255, 255, .78); border-bottom: 1px solid rgba(255, 255, 255, .12); font-size: .76rem; }
.w-hero-card li:last-child { border: 0; }
.w-hero-card li i { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; background: rgba(255, 255, 255, .12); border-radius: 9px; }
.w-hero-card li strong { display: inline; color: #fff; }

.w-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); position: relative; z-index: 2; margin-inline: -16px; background: #fff; border-block: 1px solid var(--border); }
.w-stats div { min-width: 0; padding: 18px 16px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.w-stats div:nth-child(2n) { border-right: 0; }
.w-stats div:nth-last-child(-n + 2) { border-bottom: 0; }
.w-stats strong { display: block; color: var(--primary); font-size: 1.25rem; }
.w-stats span { display: block; margin-top: 3px; color: var(--text-3); font-size: .64rem; line-height: 1.35; }

/* Audience */
.w-audience { padding: 28px 0 34px; background: #fff; border-bottom: 1px solid var(--border); }
.w-audience p { margin-bottom: 15px; color: var(--text-3); text-align: center; font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.w-audience-list { display: flex; gap: 8px; overflow-x: auto; margin-inline: -16px; padding: 0 16px 6px; scrollbar-width: none; scroll-snap-type: x proximity; }
.w-audience-list::-webkit-scrollbar { display: none; }
.w-audience-list span { min-height: 38px; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; color: var(--primary); background: var(--primary-softer); border: 1px solid var(--border); border-radius: 999px; font-size: .7rem; font-weight: 600; scroll-snap-align: start; }
.w-audience-list i { font-size: .62rem; }

/* Shared headings */
.w-section-head { max-width: 640px; margin-bottom: 36px; }
.w-section-head h2 { color: var(--primary); font-size: clamp(2.25rem, 11vw, 3.1rem); line-height: 1.04; letter-spacing: -.055em; }
.w-section-head h2 span { font-weight: 600; }
.w-section-head > p { max-width: 550px; margin-top: 16px; color: var(--text-2); font-size: .88rem; line-height: 1.68; }
.w-section-head-center { margin-inline: auto; text-align: center; }
.w-section-head-center .w-overline { justify-content: center; }
.w-section-head-center > p { margin-inline: auto; }

/* Features */
.w-features { background: #fff; }
.w-features > .w-shell { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; }
.w-feature-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; position: relative; padding-left: 42px; }
.w-feature-grid::before { content: ''; position: absolute; left: 13px; top: 18px; bottom: 18px; width: 1px; background: var(--primary-muted, rgba(95, 74, 153, .18)); }
.w-feature { min-width: 0; min-height: 190px; display: flex; flex-direction: column; position: relative; padding: 22px 18px; background: var(--bg-soft); border: 1px solid transparent; border-radius: 16px; }
.w-feature-main { min-height: 360px; color: #fff; background: var(--primary); }
.w-feature-top { display: flex; align-items: center; justify-content: space-between; color: var(--primary); }
.w-feature-top span { width: 28px; height: 28px; display: grid; place-items: center; position: absolute; z-index: 2; left: -42px; top: 20px; color: var(--primary); background: #fff; border: 1px solid var(--border-2); border-radius: 50%; box-shadow: 0 0 0 5px #fff; font: 700 .55rem var(--display); }
.w-feature-top span::after {
    content: '';
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 9px;
    height: 9px;
    background: var(--primary);
    opacity: .5;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M100 15 C130 45 145 90 100 165 C55 90 70 45 100 15 Z'/%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 200 200'%3E%3Cpath d='M100 15 C130 45 145 90 100 165 C55 90 70 45 100 15 Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.w-feature-top i { width: 42px; height: 42px; display: grid; place-items: center; background: #fff; border-radius: 11px; font-size: .95rem; }
.w-feature-main .w-feature-top { color: #fff; }
.w-feature-main .w-feature-top i { color: var(--primary); }
.w-feature h3 { max-width: 440px; margin: 13px 0 7px; color: var(--primary); font-size: 1.12rem; letter-spacing: -.025em; }
.w-feature > p { max-width: 500px; color: var(--text-2); font-size: .81rem; line-height: 1.65; }
.w-feature-main h3 { margin-top: auto; color: #fff; font-size: clamp(1.75rem, 9vw, 2.5rem); line-height: 1.08; }
.w-feature-main > p { color: rgba(255, 255, 255, .74); }
.w-feature-main ul { display: grid; gap: 9px; margin-top: 22px; }
.w-feature-main li { color: rgba(255, 255, 255, .84); font-size: .75rem; }
.w-feature-main li i { width: 19px; height: 19px; display: inline-grid; place-items: center; margin-right: 6px; color: var(--primary); background: #fff; border-radius: 50%; font-size: .5rem; }
.w-feature-main > a { width: fit-content; min-height: 44px; display: inline-flex; align-items: center; margin-top: 20px; color: #fff; font-size: .78rem; font-weight: 700; }
.w-feature-metric { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; margin-top: 15px; color: var(--primary); font-size: 1.55rem; letter-spacing: -.04em; }
.w-feature-metric small { color: var(--text-3); font: 500 .64rem var(--font); letter-spacing: 0; }
.w-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 15px; }
.w-tags span { padding: 6px 9px; color: var(--primary); background: #fff; border: 1px solid var(--border); border-radius: 999px; font-size: .62rem; font-weight: 700; }

/* Benefits */
.w-benefits { background: var(--bg-soft); }
.w-benefits-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 34px; }
.w-benefit-list { border-top: 1px solid var(--border-2); }
.w-benefit { min-width: 0; display: grid; grid-template-columns: 24px 40px minmax(0, 1fr); align-items: start; gap: 10px; padding: 24px 0; border-bottom: 1px solid var(--border-2); }
.w-benefit > span { color: var(--text-3); font: 700 .58rem var(--display); }
.w-benefit > i { width: 40px; height: 40px; display: grid; place-items: center; color: #fff; background: var(--primary); border-radius: 11px; font-size: .85rem; }
.w-benefit h3 { margin-bottom: 6px; color: var(--primary); font-size: 1rem; }
.w-benefit p { color: var(--text-2); font-size: .8rem; line-height: 1.62; }

/* Pricing */
.w-pricing { background: #fff; }
.w-price-grid { max-width: 960px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: auto; }
.w-price { min-width: 0; display: flex; flex-direction: column; position: relative; padding: 26px 20px; color: var(--text); background: var(--bg-soft); border: 1px solid var(--border); border-radius: 18px; }
.w-price-featured { color: #fff; background: var(--primary); }
.w-price-heading span { color: var(--primary); font-weight: 700; }
.w-price-heading p { margin-top: 6px; color: var(--text-2); font-size: .75rem; line-height: 1.5; }
.w-price-featured .w-price-heading span { color: #fff; }
.w-price-featured .w-price-heading p { color: rgba(255, 255, 255, .68); }
.w-price-value { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 6px; margin: 24px 0; color: var(--primary); }
.w-price-value sup { align-self: flex-start; margin-top: 7px; font-size: .68rem; font-weight: 700; }
.w-price-value strong { font-size: clamp(2.7rem, 13vw, 3.3rem); line-height: .9; letter-spacing: -.07em; overflow-wrap: anywhere; }
.w-price-value small { color: var(--text-3); }
.w-price-featured .w-price-value, .w-price-featured .w-price-value small { color: #fff; }
.w-price ul { display: grid; gap: 11px; padding: 21px 0; border-top: 1px solid var(--border-2); }
.w-price li { display: flex; align-items: center; gap: 8px; color: var(--text-2); font-size: .76rem; }
.w-price li i { width: 19px; height: 19px; flex: 0 0 19px; display: grid; place-items: center; color: #fff; background: var(--primary); border-radius: 50%; font-size: .5rem; }
.w-price li.is-off { opacity: .45; }
.w-price li.is-off i { color: var(--primary); background: transparent; border: 1px solid var(--border-2); }
.w-price-featured ul { border-color: rgba(255, 255, 255, .18); }
.w-price-featured li { color: rgba(255, 255, 255, .84); }
.w-price-featured li i { color: var(--primary); background: #fff; }
.w-price .w-button { margin-top: auto; }
.w-popular { width: fit-content; margin-bottom: 16px; padding: 6px 9px; color: var(--primary); background: #fff; border-radius: 999px; font-size: .61rem; font-weight: 700; }

/* Testimonials */
.w-testimonials { background: var(--bg-soft); }
.w-quotes { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.w-quote { min-width: 0; min-height: 290px; display: flex; flex-direction: column; padding: 24px 20px; background: #fff; border: 1px solid var(--border); border-radius: 17px; }
.w-quote:nth-child(2) { color: #fff; background: var(--primary); }
.w-quote:nth-child(2) .w-stars, .w-quote:nth-child(2) strong { color: #fff; }
.w-quote:nth-child(2) blockquote, .w-quote:nth-child(2) small { color: rgba(255, 255, 255, .74); }
.w-quote blockquote { margin: auto 0; color: var(--text-2); font-size: .86rem; line-height: 1.7; }
.w-quote footer { display: flex; align-items: center; gap: 10px; padding-top: 18px; border-top: 1px solid var(--border); }
.w-quote:nth-child(2) footer { border-color: rgba(255, 255, 255, .18); }
.w-quote footer > span { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; color: #fff; background: var(--primary); border-radius: 50%; font-size: .62rem; font-weight: 700; }
.w-quote:nth-child(2) footer > span { color: var(--primary); background: #fff; }
.w-quote footer strong, .w-quote footer small { display: block; }
.w-quote footer strong { color: var(--primary); font-size: .78rem; }
.w-quote footer small { margin-top: 2px; color: var(--text-3); font-size: .66rem; }

/* CTA and footer */
.w-final { position: relative; overflow: hidden; padding: 78px 0 calc(78px + var(--safe-bottom)); color: #fff; background: var(--primary); text-align: center; }
.w-final-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 40%, rgba(255, 255, 255, .1), transparent 65%);
    pointer-events: none;
    animation: wkBreathe 8s ease-in-out infinite;
}
.w-final-blob { position: absolute; fill: rgba(255, 255, 255, .08); pointer-events: none; }
.w-final-blob-a { width: 280px; height: 280px; left: -170px; top: -150px; animation: wkFloat 14s ease-in-out infinite alternate; }
.w-final-blob-b { width: 250px; height: 250px; right: -150px; bottom: -170px; animation: wkFloatReverse 12s ease-in-out infinite alternate -4s; }
.w-final .w-shell { position: relative; z-index: 1; }
.w-final .w-overline { color: rgba(255, 255, 255, .68); }
.w-final h2 { margin: 7px 0 16px; color: #fff; font-size: clamp(2.5rem, 12vw, 3.5rem); line-height: 1; letter-spacing: -.06em; }
.w-final > div > p { color: rgba(255, 255, 255, .72); font-size: .86rem; }
.w-final .w-actions { margin: 28px 0 24px; }
.w-perks { display: flex; flex-direction: column; justify-content: center; gap: 9px; color: rgba(255, 255, 255, .66); font-size: .69rem; }
.w-perks i { margin-right: 5px; color: #fff; }

.lp-footer { padding-bottom: var(--safe-bottom); background: #fff; border-top: 0; }
.lp-container { padding-inline: max(20px, var(--safe-left)) max(20px, var(--safe-right)); }
.lp-footer-grid { grid-template-columns: 1fr; gap: 28px; }
.lp-footer-logo span, .lp-footer-col-title { color: var(--primary); }
.lp-footer-brand p, .lp-footer-links a, .lp-footer-bottom p, .lp-footer-legal a { color: var(--text-3); }
.lp-footer-socials a { min-width: 44px; min-height: 44px; color: var(--primary); border-color: var(--border); }
.lp-footer-links a { min-height: 40px; display: inline-flex; align-items: center; }
.lp-footer-bottom { align-items: center; flex-direction: column; gap: 12px; text-align: center; border-color: var(--border); }
.lp-footer-legal { flex-wrap: wrap; justify-content: center; gap: 16px; }

@media (min-width: 521px) {
    .w-shell { width: min(1180px, calc(100% - max(20px, var(--safe-left)) - max(20px, var(--safe-right)))); }
    .w-actions { flex-direction: row; flex-wrap: wrap; }
    .w-button { width: auto; min-height: 50px; }
    .w-hero-copy .w-button { width: auto; }
    .w-proof { align-items: center; flex-direction: row; }
    .w-hero-card { padding: 32px 28px; }
    .w-feature { padding: 25px 24px; }
    .w-price, .w-quote { padding: 30px 26px; }
    .w-perks { flex-direction: row; flex-wrap: wrap; gap: 18px; }
    .w-final .w-actions { justify-content: center; }
}

@media (min-width: 769px) {
    html { scroll-padding-top: calc(96px + var(--safe-top)); }
    .w-home section[id] { scroll-margin-top: calc(96px + var(--safe-top)); }
    .w-shell { width: min(1180px, calc(100% - max(32px, var(--safe-left)) - max(32px, var(--safe-right)))); }
    .w-section { padding: 96px 0; }

    .lp-header { padding: max(16px, var(--safe-top)) max(20px, var(--safe-right)) 0 max(20px, var(--safe-left)); }
    .lp-nav { max-width: 1200px; height: 64px; padding: 0 10px 0 22px; gap: 20px; border-radius: 999px; }
    .lp-brand { font-size: 1.22rem; }
    .lp-brand img { width: 36px; height: 36px; }
    .lp-nav-links { display: flex; }
    .lp-nav-actions { display: flex; }
    .lp-hamburger, .lp-mobile-menu { display: none; }

    .w-hero { padding-top: calc(112px + var(--safe-top)); }
    .w-hero-layout { gap: 48px; padding: 54px 0 68px; }
    .w-hero-copy h1 { font-size: clamp(4rem, 9vw, 5.6rem); }
    .w-stats { margin-inline: 0; border: 1px solid var(--border); border-radius: 18px 18px 0 0; }
    .w-stats div { padding: 22px 24px; }
    .w-audience-list { margin-inline: 0; padding-inline: 0; }
    .w-section-head { margin-bottom: 48px; }
    .w-section-head h2 { font-size: clamp(3rem, 6vw, 4rem); }
    .w-feature-grid { padding-left: 58px; }
    .w-feature-grid::before { left: 17px; }
    .w-feature-top span { left: -58px; width: 36px; height: 36px; box-shadow: 0 0 0 6px #fff; }
    .w-feature-main { min-height: 390px; }
    .w-benefit { grid-template-columns: 30px 48px 1fr; gap: 16px; padding: 30px 0; }
    .w-benefit > i { width: 46px; height: 46px; }
    .w-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .w-popular { position: absolute; right: 22px; top: 22px; margin: 0; }
    .w-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .w-quote:last-child { grid-column: 1 / -1; }
    .w-final { padding: 100px 0 calc(100px + var(--safe-bottom)); }
    .w-final h2 { font-size: clamp(3.5rem, 7vw, 4.8rem); }
    .lp-footer-grid { grid-template-columns: 1.3fr repeat(3, 1fr); }
    .lp-footer-bottom { align-items: center; flex-direction: row; text-align: left; }
}

@media (min-width: 961px) {
    .w-section { padding: 116px 0; }
    .w-hero::before { width: 680px; height: 680px; right: -260px; top: -220px; border-width: 120px; }
    .w-hero-layout { min-height: 590px; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); align-items: center; gap: 64px; padding-bottom: 76px; }
    .w-hero-copy h1 { font-size: clamp(4.6rem, 7vw, 6.4rem); }
    .w-hero-card { max-width: none; padding: 36px; }
    .w-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .w-stats div { border-bottom: 0; }
    .w-stats div:nth-child(2) { border-right: 1px solid var(--border); }
    .w-features > .w-shell { grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr); align-items: start; gap: 72px; }
    .w-features .w-section-head, .w-benefits .w-section-head { position: sticky; top: 120px; margin-bottom: 0; }
    .w-benefits-layout { grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); align-items: start; gap: 76px; }
    .w-quotes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
    .w-quote, .w-quote:last-child { grid-column: auto; min-height: 350px; }
}

@media (min-width: 1200px) {
    .lp-nav { gap: 28px; }
    .w-hero-layout { gap: 78px; }
    .w-features > .w-shell { gap: 96px; }
    .w-benefits-layout { gap: 100px; }
}

@media (max-width: 380px) {
    .w-shell { width: min(1180px, calc(100% - max(12px, var(--safe-left)) - max(12px, var(--safe-right)))); }
    .w-hero-copy h1 { font-size: 2.65rem; }
    .w-stats { margin-inline: -12px; }
    .w-feature-grid { padding-left: 36px; }
    .w-feature-top span { left: -36px; width: 25px; height: 25px; }
    .w-feature-grid::before { left: 11px; }
    .w-benefit { grid-template-columns: 20px 36px minmax(0, 1fr); gap: 8px; }
    .w-benefit > i { width: 36px; height: 36px; }
}

@media (display-mode: standalone) {
    body { overscroll-behavior-y: none; }
    .lp-header { padding-top: max(10px, var(--safe-top)); }
    .lp-footer { padding-bottom: max(16px, var(--safe-bottom)); }
}

@media (pointer: coarse) {
    :is(a, button, input, select, textarea) { touch-action: manipulation; }
    .lp-nav-links a, .lp-footer-legal a { min-height: 44px; display: inline-flex; align-items: center; }
}

@media (hover: hover) {
    .w-button:hover, .w-feature:hover, .w-quote:hover { transform: translateY(-2px); }
    .w-feature { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
    .w-feature:hover { transform: translateY(-6px); box-shadow: var(--shadow-p); border-color: var(--border-2); }
    .w-feature:hover .w-feature-top i { transform: rotate(-6deg) scale(1.08); }
    .w-feature-top i { transition: transform .3s ease; }
    .w-price { transition: transform .3s ease, box-shadow .3s ease; }
    .w-price:not(.w-price-featured):hover { transform: translateY(-6px); box-shadow: var(--shadow-p); }
    .w-quote { transition: transform .3s ease, box-shadow .3s ease; }
    .w-quote:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(95, 74, 153, .12); }
    .w-button-primary:hover, .w-button-white:hover { transform: translateY(-1px) scale(1.02); }
}

@keyframes wkFloat {
    0% { transform: translate(0, 0) rotate(0deg); }
    50% { transform: translate(-14px, 10px) rotate(6deg); }
    100% { transform: translate(10px, -12px) rotate(-4deg); }
}

@keyframes wkFloatReverse {
    0% { transform: translate(0, 0) rotate(180deg); }
    50% { transform: translate(14px, -10px) rotate(186deg); }
    100% { transform: translate(-10px, 12px) rotate(174deg); }
}

@keyframes wkBreathe {
    0%, 100% { opacity: .6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.08); }
}

@keyframes wkSpinSlow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
    .w-reveal { opacity: 1; transform: none; }
    .w-hero-leaves svg, .w-final-blob, .w-hero-glow, .w-final-glow, .w-divider-spin { animation: none !important; }
    .w-hero-glow, .w-final-glow { opacity: .6; }
}

@media (prefers-contrast: more) {
    :root { --border: rgba(95, 74, 153, .35); --border-2: rgba(95, 74, 153, .5); }
    .w-button, .lp-nav, .w-feature, .w-price, .w-quote { box-shadow: none; }
}
