:root {
    --dark: #292929;
    --dark-2: #202020;
    --cream: #f5efe3;
    --paper: #ffffff;
    --ink: #171717;
    --muted: #bfc0c7;
    --muted-dark: #6b6d74;
    --purple: #6d35ff;
    --lime: #dfff36;
    --mint: #8ef4c5;
    --peach: #ffb46b;
    --pink: #ff7aa5;
    --blue: #9eb6ff;
    --green: #2e7250;
    --line: rgba(255,255,255,.12);
    --line-dark: rgba(0,0,0,.12);
    --shadow: 0 34px 90px rgba(0,0,0,.26);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--dark);
    color: var(--paper);
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    overflow-x: hidden;
}

body.menu-open {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
}

h1,
h2,
h3,
p {
    margin: 0;
}

.container {
    width: min(1220px, calc(100% - 48px));
    margin-inline: auto;
}

.page-progress {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 120;
    height: 3px;
    width: 0;
    background: var(--lime);
}

.site-header {
    position: fixed;
    top: 18px;
    left: 0;
    right: 0;
    z-index: 100;
    pointer-events: none;
}

.header-inner {
    height: 68px;
    display: flex;
    align-items: center;
    gap: 26px;
    padding: 0 16px 0 18px;
    border-radius: 999px;
    background: rgba(41,41,41,.78);
    border: 1px solid rgba(255,255,255,.13);
    backdrop-filter: blur(18px);
    pointer-events: auto;
}

.brand {
    min-width: max-content;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.brand-badge {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    display: grid;
    place-items: center;
    background: var(--lime);
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
}

.brand strong,
.brand small {
    display: block;
}

.brand strong {
    font-size: 15px;
    font-weight: 900;
}

.brand small {
    color: rgba(255,255,255,.62);
    font-size: 12px;
    margin-top: 1px;
}

.main-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 4px;
}

.main-nav a {
    padding: 11px 14px;
    border-radius: 999px;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    font-weight: 800;
    transition: background .25s ease, color .25s ease;
}

.main-nav a:hover {
    background: rgba(255,255,255,.1);
    color: var(--paper);
}

.nav-cta {
    min-height: 46px;
    padding: 0 19px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: var(--paper);
    color: var(--ink);
    font-size: 13px;
    font-weight: 900;
}

.menu-toggle {
    display: none;
}

.hero-stage {
    position: relative;
    min-height: 100svh;
    padding: 150px 0 90px;
    overflow: hidden;
}

.hero-product {
    background:
        radial-gradient(circle at 78% 32%, rgba(109,53,255,.18), transparent 30%),
        radial-gradient(circle at 90% 80%, rgba(223,255,54,.16), transparent 26%),
        var(--dark);
}

.hero-soft-glow {
    position: absolute;
    left: -12%;
    right: -12%;
    bottom: -34%;
    height: 46%;
    border-radius: 50% 50% 0 0 / 80% 80% 0 0;
    background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
    transform: rotate(-4deg);
}

.hero-product-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    align-items: center;
    gap: 70px;
}

.pill {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.11);
    color: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 900;
}

.dark-pill {
    background: rgba(0,0,0,.08);
    color: var(--purple);
}

.light-pill {
    background: rgba(255,255,255,.14);
    color: var(--lime);
}

.hero-copy h1 {
    max-width: 650px;
    margin-top: 22px;
    font-size: clamp(44px, 5.6vw, 78px);
    line-height: .95;
    letter-spacing: -.072em;
    font-weight: 900;
}

.hero-copy p {
    max-width: 550px;
    margin-top: 22px;
    color: rgba(255,255,255,.76);
    font-size: 19px;
    line-height: 1.36;
    font-weight: 700;
}

.hero-actions {
    display: flex;
    gap: 13px;
    flex-wrap: wrap;
    margin-top: 34px;
}

.btn {
    min-height: 54px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 900;
    transition: transform .25s ease, background .25s ease;
}

.btn:hover {
    transform: translateY(-3px);
}

.btn-light {
    background: var(--paper);
    color: var(--ink);
}

.btn-color {
    background: var(--purple);
    color: var(--paper);
}

.operation-desk {
    position: relative;
    min-height: 620px;
}

.desk-main {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 430px;
    min-height: 540px;
    transform: translate(-50%, -50%) rotate(2deg);
    border-radius: 42px;
    background: var(--paper);
    color: var(--ink);
    box-shadow: var(--shadow);
    overflow: hidden;
    z-index: 4;
}

.desk-browser {
    height: 58px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 18px;
    border-bottom: 1px solid #eee;
}

.browser-dots {
    display: flex;
    gap: 6px;
}

.browser-dots i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ddd;
}

.desk-browser span {
    margin-left: auto;
    color: var(--muted-dark);
    font-size: 12px;
    font-weight: 900;
}

.desk-preview {
    padding: 18px;
}

.preview-hero {
    min-height: 210px;
    border-radius: 30px;
    background: #f3f3f5;
    padding: 22px;
    position: relative;
    overflow: hidden;
}

.flower-mark {
    width: 128px;
    height: 128px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 20%, var(--pink), transparent 20%),
        radial-gradient(circle at 24% 55%, var(--peach), transparent 20%),
        radial-gradient(circle at 76% 55%, var(--lime), transparent 20%),
        radial-gradient(circle at 50% 72%, var(--mint), transparent 18%);
    margin-bottom: 18px;
}

.flower-mark.small {
    width: 92px;
    height: 92px;
}

.preview-hero strong {
    display: block;
    font-size: 25px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 900;
}

.preview-hero small {
    display: block;
    margin-top: 8px;
    color: var(--muted-dark);
    font-weight: 900;
}

.preview-products {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.preview-products span {
    height: 96px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 42%, var(--pink), transparent 18%),
        #f0f0f0;
}

.preview-products span:nth-child(2) {
    background:
        radial-gradient(circle at 50% 42%, var(--lime), transparent 18%),
        #f0f0f0;
}

.preview-products span:nth-child(3) {
    background:
        radial-gradient(circle at 50% 42%, var(--purple), transparent 18%),
        #f0f0f0;
}

.preview-action {
    margin-top: 14px;
    height: 52px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: var(--purple);
    color: var(--paper);
    font-weight: 900;
}

.desk-module {
    position: absolute;
    min-width: 230px;
    padding: 20px;
    border-radius: 28px;
    background: var(--paper);
    color: var(--ink);
    box-shadow: var(--shadow);
    z-index: 5;
}

.desk-module span {
    display: block;
    color: var(--purple);
    font-size: 12px;
    font-weight: 900;
}

.desk-module strong {
    display: block;
    margin-top: 8px;
    font-size: 19px;
    line-height: 1;
    letter-spacing: -.04em;
    font-weight: 900;
}

.module-product {
    left: 0;
    top: 72px;
    transform: rotate(-8deg);
    background: var(--lime);
}

.module-order {
    right: 12px;
    top: 138px;
    transform: rotate(6deg);
    background: var(--peach);
}

.module-delivery {
    left: 42px;
    bottom: 92px;
    transform: rotate(5deg);
    background: var(--blue);
}

.module-campaign {
    right: 0;
    bottom: 58px;
    transform: rotate(-7deg);
    background: var(--mint);
}

.desk-line {
    position: absolute;
    height: 2px;
    background: rgba(255,255,255,.2);
    z-index: 1;
}

.line-one {
    left: 160px;
    top: 160px;
    width: 260px;
    transform: rotate(16deg);
}

.line-two {
    right: 120px;
    top: 240px;
    width: 220px;
    transform: rotate(-22deg);
}

.line-three {
    left: 170px;
    bottom: 175px;
    width: 340px;
    transform: rotate(-8deg);
}

.problem-strip {
    padding: 70px 0;
    background: var(--lime);
    color: var(--ink);
}

.problem-grid {
    display: grid;
    grid-template-columns: 120px 1fr .9fr;
    gap: 36px;
    align-items: start;
}

.problem-grid span {
    color: var(--purple);
    font-weight: 900;
}

.problem-grid strong {
    font-size: clamp(30px, 4vw, 54px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.problem-grid p {
    color: rgba(23,23,23,.7);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
}

.feature-scene {
    padding: 120px 0;
    overflow: hidden;
}

.scene-products,
.scene-campaign,
.scene-addons {
    background: var(--cream);
    color: var(--ink);
}

.scene-orders,
.scene-delivery,
.scene-blog {
    background: var(--dark);
    color: var(--paper);
}

.scene-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 74px;
    align-items: center;
}

.scene-grid.reverse {
    grid-template-columns: 1fr 1fr;
}

.scene-copy h2 {
    margin-top: 22px;
    font-size: clamp(40px, 5vw, 72px);
    line-height: .95;
    letter-spacing: -.075em;
    font-weight: 900;
}

.scene-copy p {
    margin-top: 22px;
    max-width: 560px;
    color: currentColor;
    opacity: .68;
    font-size: 18px;
    line-height: 1.42;
    font-weight: 750;
}

.scene-visual {
    position: relative;
    min-height: 520px;
    display: grid;
    place-items: center;
}

.editor-window,
.chat-phone,
.campaign-board,
.delivery-console,
.addon-stack,
.blog-paper {
    width: min(100%, 520px);
    border-radius: 42px;
    box-shadow: var(--shadow);
}

.editor-window {
    background: var(--paper);
    color: var(--ink);
    overflow: hidden;
}

.editor-head {
    height: 64px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 22px;
    border-bottom: 1px solid #eee;
}

.editor-head span,
.editor-head em {
    font-size: 13px;
    font-style: normal;
    font-weight: 900;
}

.editor-head em {
    color: var(--green);
}

.product-editor {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 20px;
    padding: 24px;
}

.editor-image {
    height: 170px;
    border-radius: 28px;
    background: #f2f2f2;
    display: grid;
    place-items: center;
}

.editor-fields {
    display: grid;
    align-content: center;
    gap: 14px;
}

.editor-fields i {
    height: 24px;
    border-radius: 999px;
    background: #eee;
}

.editor-fields i:nth-child(1) {
    width: 90%;
}

.editor-fields i:nth-child(2) {
    width: 72%;
}

.editor-fields i:nth-child(3) {
    width: 54%;
}

.category-pills {
    padding: 0 24px 24px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.category-pills span {
    padding: 10px 13px;
    border-radius: 999px;
    background: var(--lime);
    font-size: 12px;
    font-weight: 900;
}

.chat-phone {
    max-width: 380px;
    min-height: 560px;
    background: #111;
    border: 12px solid #050505;
    padding: 18px;
}

.chat-head {
    color: var(--lime);
    font-weight: 900;
    margin-bottom: 22px;
}

.chat-bubble {
    max-width: 82%;
    padding: 14px 16px;
    border-radius: 22px;
    margin-bottom: 12px;
    font-weight: 800;
    font-size: 14px;
    line-height: 1.35;
}

.chat-bubble.left {
    background: rgba(255,255,255,.1);
}

.chat-bubble.right {
    margin-left: auto;
    background: var(--lime);
    color: var(--ink);
}

.chat-input {
    margin-top: 120px;
    height: 50px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    display: grid;
    place-items: center;
    color: rgba(255,255,255,.6);
    font-size: 13px;
    font-weight: 900;
}

.campaign-board {
    position: relative;
    min-height: 500px;
}

.calendar-card,
.campaign-card,
.badge-card {
    position: absolute;
    border-radius: 34px;
    background: var(--paper);
    color: var(--ink);
    box-shadow: var(--shadow);
}

.calendar-card {
    left: 20px;
    top: 40px;
    width: 260px;
    padding: 24px;
    transform: rotate(-5deg);
}

.calendar-card strong {
    display: block;
    font-size: 28px;
    margin-bottom: 18px;
}

.calendar-card div {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 9px;
}

.calendar-card span {
    height: 38px;
    border-radius: 14px;
    background: #eee;
}

.calendar-card span.active {
    background: var(--purple);
}

.campaign-card {
    right: 20px;
    top: 140px;
    width: 300px;
    padding: 26px;
    background: var(--lime);
    transform: rotate(6deg);
}

.campaign-card span,
.campaign-card em {
    font-size: 12px;
    font-weight: 900;
    color: var(--purple);
    font-style: normal;
}

.campaign-card strong {
    display: block;
    margin: 12px 0 34px;
    font-size: 30px;
    line-height: .95;
    letter-spacing: -.06em;
}

.badge-card {
    left: 95px;
    bottom: 44px;
    padding: 20px 24px;
    font-weight: 900;
    background: var(--peach);
    transform: rotate(2deg);
}

.delivery-console {
    background: #111;
    color: var(--paper);
    padding: 36px;
}

.clock-face {
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: var(--lime);
    color: var(--ink);
    display: grid;
    place-items: center;
    margin: 0 auto 36px;
}

.clock-face span {
    font-size: 38px;
    font-weight: 900;
    opacity: .45;
}

.clock-face strong {
    font-size: 92px;
    line-height: .7;
    letter-spacing: -.08em;
}

.delivery-lines {
    display: grid;
    gap: 14px;
}

.delivery-lines div {
    display: flex;
    gap: 12px;
    align-items: center;
    font-weight: 900;
    color: rgba(255,255,255,.74);
}

.delivery-lines span {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--purple);
}

.addon-stack {
    display: grid;
    gap: 12px;
}

.addon-stack div {
    min-height: 92px;
    padding: 0 26px;
    border-radius: 28px;
    background: var(--paper);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: var(--shadow);
    transform: rotate(var(--r, 0deg));
}

.addon-stack div:nth-child(1) {
    --r: -3deg;
    background: var(--lime);
}

.addon-stack div:nth-child(2) {
    --r: 2deg;
    background: var(--blue);
}

.addon-stack div:nth-child(3) {
    --r: -2deg;
    background: var(--mint);
}

.addon-stack div:nth-child(4) {
    --r: 3deg;
    background: var(--peach);
}

.addon-stack span,
.addon-stack em {
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
}

.blog-paper {
    background: var(--paper);
    color: var(--ink);
    padding: 34px;
    transform: rotate(-3deg);
}

.blog-paper span {
    color: var(--purple);
    font-size: 13px;
    font-weight: 900;
}

.blog-paper strong {
    display: block;
    margin-top: 14px;
    font-size: 38px;
    line-height: .95;
    letter-spacing: -.07em;
}

.blog-paper i {
    display: block;
    height: 18px;
    border-radius: 999px;
    background: #e8e8e8;
    margin-top: 20px;
}

.blog-paper i:nth-of-type(2) {
    width: 80%;
}

.blog-paper i:nth-of-type(3) {
    width: 62%;
}

.blog-paper em {
    display: inline-flex;
    margin-top: 34px;
    padding: 11px 14px;
    border-radius: 999px;
    background: var(--lime);
    color: var(--ink);
    font-style: normal;
    font-size: 13px;
    font-weight: 900;
}

.scene-section {
    padding: 120px 0;
    background: var(--dark);
    overflow: hidden;
}

.payment-visual {
    position: relative;
    min-height: 460px;
}

.pay-card {
    position: absolute;
    width: 330px;
    min-height: 190px;
    border-radius: 34px;
    padding: 26px;
    background: var(--paper);
    color: var(--ink);
    box-shadow: var(--shadow);
}

.pay-card span {
    font-size: 13px;
    font-weight: 900;
    color: var(--purple);
}

.pay-card strong {
    display: block;
    margin-top: 12px;
    font-size: 34px;
    line-height: .95;
    letter-spacing: -.06em;
    font-weight: 900;
}

.pay-card em {
    position: absolute;
    left: 26px;
    bottom: 24px;
    color: var(--muted-dark);
    font-style: normal;
    font-weight: 900;
}

.main-pay {
    left: 0;
    top: 0;
    transform: rotate(-4deg);
}

.paytr-card {
    right: 30px;
    top: 112px;
    background: var(--lime);
    transform: rotate(5deg);
}

.done-card {
    left: 80px;
    bottom: 0;
    background: var(--purple);
    color: var(--paper);
    transform: rotate(-2deg);
}

.done-card span,
.done-card em {
    color: rgba(255,255,255,.72);
}

.process-journey {
    padding: 110px 0;
    background: var(--cream);
    color: var(--ink);
}

.journey-head {
    max-width: 720px;
}

.journey-head h2 {
    margin-top: 22px;
    font-size: clamp(42px, 5vw, 74px);
    line-height: .95;
    letter-spacing: -.07em;
    font-weight: 900;
}

.journey-track {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 3px solid var(--ink);
    border-bottom: 3px solid var(--ink);
}

.journey-step {
    min-height: 220px;
    padding: 24px;
    border-right: 3px solid var(--ink);
}

.journey-step:last-child {
    border-right: 0;
}

.journey-step span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--purple);
    color: var(--paper);
    font-weight: 900;
    margin-bottom: 32px;
}

.journey-step strong {
    display: block;
    font-size: 28px;
    letter-spacing: -.06em;
    font-weight: 900;
}

.journey-step p {
    margin-top: 10px;
    color: var(--muted-dark);
    font-weight: 750;
}

.final-stage {
    padding: 80px 0 120px;
    background: var(--cream);
    color: var(--ink);
}

.final-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    min-height: 280px;
    padding: 40px 52px;
    border-radius: 52px;
    background: var(--lime);
}

.final-wrap h2 {
    max-width: 720px;
    margin-top: 18px;
    font-size: clamp(40px, 5vw, 72px);
    line-height: .95;
    letter-spacing: -.07em;
    font-weight: 900;
}

.site-footer {
    padding: 70px 0 30px;
    background: var(--dark);
    color: var(--paper);
    border-top: 1px solid rgba(255,255,255,.1);
}

.footer-stage {
    display: grid;
    grid-template-columns: .7fr 1.1fr .5fr;
    gap: 56px;
    align-items: start;
}

.footer-big strong {
    display: block;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.06em;
    font-weight: 900;
}

.footer-big p {
    max-width: 620px;
    margin-top: 18px;
    color: rgba(255,255,255,.62);
    font-weight: 700;
}

.footer-links {
    display: grid;
    gap: 12px;
}

.footer-links a {
    color: rgba(255,255,255,.7);
    font-weight: 800;
}

.footer-bottom {
    margin-top: 48px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.1);
    display: flex;
    justify-content: space-between;
    color: rgba(255,255,255,.48);
    font-size: 13px;
    font-weight: 800;
}

.mobile-cta {
    display: none;
}

.reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .75s cubic-bezier(.2,.8,.2,1), transform .75s cubic-bezier(.2,.8,.2,1);
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 980px) {
    .container {
        width: min(100% - 30px, 1220px);
    }

    .site-header {
        top: 12px;
    }

    .header-inner {
        height: 62px;
    }

    .brand small {
        display: none;
    }

    .menu-toggle {
        margin-left: auto;
        width: 44px;
        height: 44px;
        display: grid;
        place-items: center;
        background: var(--paper);
        border: 0;
        border-radius: 50%;
    }

    .menu-toggle i {
        width: 18px;
        height: 2px;
        display: block;
        background: var(--ink);
        margin: 2px 0;
    }

    .main-nav {
        position: fixed;
        left: 16px;
        right: 16px;
        top: 84px;
        display: none;
        padding: 14px;
        border-radius: 28px;
        background: rgba(41,41,41,.97);
        border: 1px solid rgba(255,255,255,.14);
        flex-direction: column;
        align-items: stretch;
    }

    .main-nav.is-open {
        display: flex;
    }

    .main-nav a {
        padding: 14px;
    }

    .nav-cta {
        display: none;
    }

    .hero-stage {
        padding: 120px 0 72px;
    }

    .hero-product-grid,
    .scene-grid,
    .scene-grid.reverse,
    .footer-stage {
        grid-template-columns: 1fr;
    }

    .hero-copy h1 {
        font-size: 42px;
    }

    .hero-copy p {
        font-size: 16px;
    }

    .operation-desk {
        min-height: 720px;
    }

    .desk-main {
        width: min(100%, 380px);
    }

    .desk-module {
        min-width: 180px;
    }

    .module-product {
        left: 0;
        top: 20px;
    }

    .module-order {
        right: 0;
        top: 112px;
    }

    .module-delivery {
        left: 0;
        bottom: 70px;
    }

    .module-campaign {
        right: 0;
        bottom: 18px;
    }

    .problem-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .feature-scene,
    .scene-section,
    .process-journey {
        padding: 72px 0;
    }

    .scene-visual {
        min-height: auto;
    }

    .product-editor {
        grid-template-columns: 1fr;
    }

    .campaign-board {
        min-height: 560px;
    }

    .payment-visual {
        min-height: auto;
        display: grid;
        gap: 14px;
    }

    .pay-card,
    .main-pay,
    .paytr-card,
    .done-card {
        position: relative;
        inset: auto;
        width: 100%;
        transform: none;
    }

    .journey-track {
        grid-template-columns: 1fr;
    }

    .journey-step {
        border-right: 0;
        border-bottom: 3px solid var(--ink);
    }

    .journey-step:last-child {
        border-bottom: 0;
    }

    .final-wrap {
        flex-direction: column;
        align-items: flex-start;
        border-radius: 38px;
        padding: 34px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 8px;
        padding-bottom: 70px;
    }

    .mobile-cta {
        position: fixed;
        left: 16px;
        right: 16px;
        bottom: 14px;
        z-index: 100;
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: var(--purple);
        color: var(--paper);
        font-weight: 900;
        box-shadow: 0 18px 40px rgba(0,0,0,.28);
    }
}

@media (max-width: 560px) {
    .hero-copy h1,
    .problem-grid strong,
    .scene-copy h2,
    .journey-head h2,
    .final-wrap h2 {
        font-size: 36px;
    }

    .btn {
        width: 100%;
    }

    .desk-main {
        width: 310px;
        min-height: 500px;
    }

    .operation-desk {
        min-height: 650px;
    }

    .preview-products span {
        height: 76px;
    }

    .desk-module {
        padding: 16px;
    }

    .desk-module strong {
        font-size: 15px;
    }

    .chat-phone {
        min-height: 500px;
    }

    .clock-face {
        width: 210px;
        height: 210px;
    }

    .clock-face strong {
        font-size: 74px;
    }
}

.system-mark {
    width: 128px;
    height: 128px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 28% 28%, var(--purple), transparent 18%),
        radial-gradient(circle at 72% 30%, var(--lime), transparent 18%),
        radial-gradient(circle at 36% 72%, var(--peach), transparent 18%),
        radial-gradient(circle at 72% 72%, var(--mint), transparent 18%),
        #ececf1;
    margin-bottom: 18px;
}

.system-mark.small {
    width: 92px;
    height: 92px;
    border-radius: 26px;
}


/* ===== Uploaded media areas ===== */

.hero-media-wrap,
.scene-visual {
    position: relative;
}

.media-frame {
    width: min(100%, 620px);
    border-radius: 42px;
    overflow: hidden;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .24);
    border: 1px solid rgba(255,255,255,.14);
    background: #fff;
    color: #171717;
}

.media-hero {
    transform: rotate(2deg);
}

.media-light {
    background: #fff;
    color: #171717;
}

.media-dark {
    background: #161616;
    color: #fff;
    border-color: rgba(255,255,255,.12);
}

.media-top {
    height: 58px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.media-dark .media-top {
    border-bottom-color: rgba(255,255,255,.1);
}

.media-top span {
    font-size: 13px;
    font-weight: 900;
    opacity: .82;
}

.media-top em {
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--lime);
    color: #171717;
}

.media-canvas {
    position: relative;
    aspect-ratio: 16 / 11;
    background:
        radial-gradient(circle at 25% 25%, rgba(109,53,255,.18), transparent 24%),
        radial-gradient(circle at 75% 70%, rgba(223,255,54,.22), transparent 24%),
        #f3f4f7;
    overflow: hidden;
}

.media-dark .media-canvas {
    background:
        radial-gradient(circle at 25% 25%, rgba(109,53,255,.26), transparent 24%),
        radial-gradient(circle at 75% 70%, rgba(223,255,54,.16), transparent 24%),
        #101010;
}

.media-canvas img,
.media-canvas video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.media-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 36px;
}

.media-placeholder span {
    display: inline-flex;
    justify-self: center;
    min-height: 30px;
    align-items: center;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(109,53,255,.12);
    color: var(--purple);
    font-size: 12px;
    font-weight: 900;
}

.media-dark .media-placeholder span {
    background: rgba(255,255,255,.1);
    color: var(--lime);
}

.media-placeholder strong {
    display: block;
    max-width: 420px;
    margin-top: 14px;
    font-size: clamp(26px, 4vw, 44px);
    line-height: .98;
    letter-spacing: -.06em;
    font-weight: 900;
}

.media-placeholder small {
    display: block;
    margin-top: 14px;
    color: #6f7178;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 800;
}

.media-dark .media-placeholder small {
    color: rgba(255,255,255,.58);
}

@media (max-width: 980px) {
    .media-frame {
        width: 100%;
        border-radius: 32px;
    }

    .media-hero {
        transform: none;
    }

    .media-canvas {
        aspect-ratio: 4 / 3;
    }
}

@media (max-width: 560px) {
    .media-top {
        height: auto;
        min-height: 56px;
        align-items: flex-start;
        flex-direction: column;
        padding: 14px;
    }

    .media-canvas {
        aspect-ratio: 1 / 1;
    }

    .media-placeholder {
        padding: 24px;
    }

    .media-placeholder strong {
        font-size: 26px;
    }
}


/* ===== Florist panel detail page ===== */

.sector-hero {
    position: relative;
    min-height: 92svh;
    padding: 150px 0 96px;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 32%, rgba(109,53,255,.18), transparent 30%),
        radial-gradient(circle at 90% 80%, rgba(223,255,54,.16), transparent 26%),
        var(--dark);
}

.sector-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: .84fr 1.16fr;
    align-items: center;
    gap: 70px;
}

.sector-hero-copy h1 {
    max-width: 680px;
    margin-top: 22px;
    font-size: clamp(44px, 5.6vw, 78px);
    line-height: .95;
    letter-spacing: -.072em;
    font-weight: 900;
}

.sector-hero-copy p {
    max-width: 560px;
    margin-top: 22px;
    color: rgba(255,255,255,.76);
    font-size: 19px;
    line-height: 1.36;
    font-weight: 700;
}

.sector-hero-media {
    display: flex;
    justify-content: flex-end;
}

.panel-summary {
    padding: 72px 0;
    background: var(--lime);
    color: var(--ink);
}

.summary-grid {
    display: grid;
    grid-template-columns: 130px 1.1fr .9fr;
    gap: 36px;
    align-items: start;
}

.summary-grid span {
    color: var(--purple);
    font-weight: 900;
}

.summary-grid strong {
    font-size: clamp(30px, 4vw, 54px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.summary-grid p {
    color: rgba(23,23,23,.7);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
}

.panel-feature-section {
    padding: 120px 0;
}

.light-feature {
    background: var(--cream);
    color: var(--ink);
}

.dark-feature {
    background: var(--dark);
    color: var(--paper);
}

.panel-feature-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 74px;
    align-items: center;
}

.panel-feature-grid.reverse {
    grid-template-columns: 1fr 1fr;
}

.panel-copy h2 {
    margin-top: 22px;
    font-size: clamp(40px, 5vw, 72px);
    line-height: .95;
    letter-spacing: -.075em;
    font-weight: 900;
}

.panel-copy p {
    margin-top: 22px;
    max-width: 560px;
    color: currentColor;
    opacity: .68;
    font-size: 18px;
    line-height: 1.42;
    font-weight: 750;
}

.panel-copy ul {
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 11px;
}

.panel-copy li {
    position: relative;
    padding-left: 24px;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 850;
    color: currentColor;
    opacity: .82;
}

.panel-copy li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--purple);
}

.dark-feature .panel-copy li::before {
    background: var(--lime);
}

.panel-media {
    position: relative;
}

.florist-capabilities {
    padding: 110px 0;
    background: var(--cream);
    color: var(--ink);
}

.capabilities-head {
    max-width: 760px;
}

.capabilities-head h2 {
    margin-top: 22px;
    font-size: clamp(40px, 5vw, 72px);
    line-height: .95;
    letter-spacing: -.075em;
    font-weight: 900;
}

.capability-grid {
    margin-top: 52px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.capability-card {
    min-height: 250px;
    padding: 26px;
    border-radius: 32px;
    background: var(--paper);
    color: var(--ink);
    box-shadow: 0 24px 70px rgba(0,0,0,.08);
}

.capability-card span {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--purple);
    color: var(--paper);
    display: grid;
    place-items: center;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 42px;
}

.capability-card strong {
    display: block;
    font-size: 24px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 900;
}

.capability-card p {
    margin-top: 12px;
    color: var(--muted-dark);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 750;
}

.florist-final {
    padding: 80px 0 120px;
    background: var(--cream);
    color: var(--ink);
}

.florist-final-box {
    min-height: 300px;
    padding: 48px 54px;
    border-radius: 52px;
    background: var(--lime);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 46px;
}

.florist-final-box h2 {
    max-width: 780px;
    margin-top: 18px;
    font-size: clamp(40px, 5vw, 72px);
    line-height: .95;
    letter-spacing: -.075em;
    font-weight: 900;
}

.florist-final-box p {
    max-width: 620px;
    margin-top: 20px;
    color: rgba(23,23,23,.72);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.42;
}

@media (max-width: 980px) {
    .sector-hero {
        padding: 120px 0 72px;
    }

    .sector-hero-grid,
    .panel-feature-grid,
    .panel-feature-grid.reverse,
    .summary-grid {
        grid-template-columns: 1fr;
    }

    .sector-hero-media {
        justify-content: stretch;
    }

    .sector-hero-copy h1 {
        font-size: 42px;
    }

    .sector-hero-copy p {
        font-size: 16px;
    }

    .panel-feature-section,
    .florist-capabilities {
        padding: 72px 0;
    }

    .capability-grid {
        grid-template-columns: 1fr;
    }

    .florist-final-box {
        flex-direction: column;
        align-items: flex-start;
        border-radius: 38px;
        padding: 34px;
    }
}

@media (max-width: 560px) {
    .sector-hero-copy h1,
    .summary-grid strong,
    .panel-copy h2,
    .capabilities-head h2,
    .florist-final-box h2 {
        font-size: 36px;
    }

    .florist-final-box .btn {
        width: 100%;
    }
}


/* ===== Product detail layout v2 ===== */

.product-detail-page {
    padding: 135px 0 70px;
    background:
        radial-gradient(circle at 84% 18%, rgba(109,53,255,.16), transparent 28%),
        radial-gradient(circle at 10% 82%, rgba(223,255,54,.12), transparent 26%),
        var(--dark);
    color: var(--paper);
}

.product-top {
    position: relative;
    z-index: 2;
}

.product-breadcrumb {
    display: flex;
    gap: 10px;
    align-items: center;
    color: rgba(255,255,255,.54);
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 34px;
}

.product-breadcrumb a:hover {
    color: var(--lime);
}

.product-breadcrumb strong {
    color: var(--paper);
}

.product-intro-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 70px;
    align-items: start;
}

.product-label {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.11);
    color: var(--lime);
    font-size: 12px;
    font-weight: 900;
}

.product-intro h1 {
    max-width: 820px;
    margin-top: 20px;
    font-size: clamp(34px, 4.4vw, 58px);
    line-height: 1;
    letter-spacing: -.065em;
    font-weight: 900;
}

.product-intro p {
    max-width: 720px;
    margin-top: 22px;
    color: rgba(255,255,255,.72);
    font-size: 18px;
    line-height: 1.42;
    font-weight: 720;
}

.product-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 30px;
}

.product-light-btn {
    background: rgba(255,255,255,.09);
    color: var(--paper);
    border: 1px solid rgba(255,255,255,.14);
}

.product-side {
    position: sticky;
    top: 110px;
    border-radius: 34px;
    padding: 24px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.13);
    backdrop-filter: blur(18px);
}

.side-status span,
.side-list small {
    display: block;
    color: rgba(255,255,255,.56);
    font-size: 12px;
    font-weight: 900;
}

.side-status strong {
    display: block;
    margin-top: 8px;
    font-size: 26px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 900;
}

.side-list {
    display: grid;
    gap: 16px;
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.side-list strong {
    display: block;
    margin-top: 6px;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 850;
}

.side-button {
    min-height: 50px;
    margin-top: 24px;
    border-radius: 999px;
    background: var(--lime);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.product-media-band {
    margin-top: 54px;
}

.product-media-band .media-frame {
    width: 100%;
    transform: none;
}

.product-media-band .media-canvas {
    aspect-ratio: 16 / 7;
}

.product-anchor-nav {
    position: sticky;
    top: 0;
    z-index: 80;
    background: rgba(32,32,32,.86);
    backdrop-filter: blur(18px);
    border-top: 1px solid rgba(255,255,255,.1);
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.anchor-inner {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 12px 0;
}

.anchor-inner a {
    min-width: max-content;
    padding: 10px 14px;
    border-radius: 999px;
    color: rgba(255,255,255,.68);
    font-size: 13px;
    font-weight: 900;
}

.anchor-inner a:hover {
    background: rgba(255,255,255,.1);
    color: var(--paper);
}

.product-summary-slab {
    padding: 72px 0;
    background: var(--lime);
    color: var(--ink);
}

.summary-slab-grid {
    display: grid;
    grid-template-columns: 130px 1.1fr .9fr;
    gap: 36px;
    align-items: start;
}

.summary-slab-grid span {
    color: var(--purple);
    font-weight: 900;
}

.summary-slab-grid strong {
    font-size: clamp(28px, 3.8vw, 50px);
    line-height: .98;
    letter-spacing: -.065em;
    font-weight: 900;
}

.summary-slab-grid p {
    color: rgba(23,23,23,.72);
    font-size: 18px;
    line-height: 1.38;
    font-weight: 800;
}

.detail-feature-list {
    background: var(--cream);
    color: var(--ink);
    padding: 100px 0 40px;
}

.detail-section-head {
    max-width: 760px;
    margin-bottom: 48px;
}

.detail-section-head span,
.workflow-title span,
.module-head span,
.seo-copy span,
.faq-title span,
.product-final-box span {
    display: inline-flex;
    color: var(--purple);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.detail-section-head h2,
.workflow-title h2,
.module-head h2,
.seo-copy h2,
.faq-title h2,
.product-final-box h2 {
    margin-top: 14px;
    font-size: clamp(32px, 4vw, 56px);
    line-height: .98;
    letter-spacing: -.065em;
    font-weight: 900;
}

.detail-feature-row {
    display: grid;
    grid-template-columns: .86fr 1.14fr;
    gap: 70px;
    align-items: center;
    padding: 68px 0;
    border-top: 2px solid var(--ink);
}

.detail-feature-row.reverse {
    grid-template-columns: 1.14fr .86fr;
}

.detail-feature-row.reverse .detail-feature-text {
    order: 1;
}

.detail-feature-row.reverse .detail-feature-media {
    order: 2;
}

.detail-feature-text > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--purple);
    color: var(--paper);
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 24px;
}

.detail-feature-text h3 {
    font-size: clamp(30px, 3.5vw, 48px);
    line-height: 1;
    letter-spacing: -.065em;
    font-weight: 900;
}

.detail-feature-text p {
    margin-top: 18px;
    color: var(--muted-dark);
    font-size: 17px;
    line-height: 1.48;
    font-weight: 750;
}

.detail-feature-text ul {
    display: grid;
    gap: 10px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.detail-feature-text li {
    position: relative;
    padding-left: 22px;
    color: var(--ink);
    font-size: 15px;
    font-weight: 850;
}

.detail-feature-text li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--lime);
    outline: 2px solid var(--purple);
}

.detail-feature-media .media-frame {
    transform: none;
}

.workflow-section {
    padding: 100px 0;
    background: var(--dark);
    color: var(--paper);
}

.workflow-grid {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 70px;
    align-items: start;
}

.workflow-title {
    position: sticky;
    top: 112px;
}

.workflow-title span {
    color: var(--lime);
}

.workflow-steps {
    display: grid;
    gap: 14px;
}

.workflow-step {
    min-height: 136px;
    padding: 24px;
    border-radius: 30px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    display: grid;
    grid-template-columns: 64px 210px 1fr;
    gap: 22px;
    align-items: center;
}

.workflow-step span {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--lime);
    color: var(--ink);
    display: grid;
    place-items: center;
    font-weight: 900;
}

.workflow-step strong {
    font-size: 22px;
    line-height: 1;
    letter-spacing: -.045em;
    font-weight: 900;
}

.workflow-step p {
    color: rgba(255,255,255,.64);
    font-weight: 720;
    line-height: 1.42;
}

.module-section {
    padding: 100px 0;
    background: var(--cream);
    color: var(--ink);
}

.module-head {
    max-width: 740px;
    margin-bottom: 48px;
}

.module-layout {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 56px;
    align-items: start;
}

.module-media {
    position: sticky;
    top: 112px;
}

.module-media .media-frame {
    transform: none;
}

.module-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.module-card {
    min-height: 190px;
    padding: 24px;
    border-radius: 30px;
    background: var(--paper);
    box-shadow: 0 24px 70px rgba(0,0,0,.08);
}

.module-card strong {
    display: block;
    font-size: 22px;
    line-height: 1;
    letter-spacing: -.045em;
    font-weight: 900;
}

.module-card p {
    margin-top: 12px;
    color: var(--muted-dark);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 750;
}

.seo-section {
    padding: 100px 0;
    background: var(--dark);
    color: var(--paper);
}

.seo-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.seo-copy span {
    color: var(--lime);
}

.seo-copy p {
    margin-top: 18px;
    color: rgba(255,255,255,.66);
    font-size: 17px;
    line-height: 1.48;
    font-weight: 740;
}

.seo-media .media-frame {
    transform: none;
}

.faq-section {
    padding: 100px 0;
    background: var(--cream);
    color: var(--ink);
}

.faq-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 70px;
    align-items: start;
}

.faq-title {
    position: sticky;
    top: 112px;
}

.faq-list {
    display: grid;
    gap: 12px;
}

.faq-list details {
    border-radius: 26px;
    background: var(--paper);
    box-shadow: 0 18px 50px rgba(0,0,0,.06);
    overflow: hidden;
}

.faq-list summary {
    cursor: pointer;
    padding: 22px 24px;
    font-size: 18px;
    font-weight: 900;
    list-style: none;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-list p {
    padding: 0 24px 24px;
    color: var(--muted-dark);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 750;
}

.product-final-cta {
    padding: 80px 0 120px;
    background: var(--cream);
    color: var(--ink);
}

.product-final-box {
    min-height: 300px;
    padding: 48px 54px;
    border-radius: 52px;
    background: var(--lime);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 46px;
}

.product-final-box p {
    max-width: 620px;
    margin-top: 20px;
    color: rgba(23,23,23,.72);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.42;
}

@media (max-width: 980px) {
    .product-detail-page {
        padding: 118px 0 54px;
    }

    .product-intro-grid,
    .summary-slab-grid,
    .detail-feature-row,
    .detail-feature-row.reverse,
    .workflow-grid,
    .module-layout,
    .seo-grid,
    .faq-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .product-side,
    .workflow-title,
    .module-media,
    .faq-title {
        position: static;
    }

    .product-media-band .media-canvas {
        aspect-ratio: 4 / 3;
    }

    .detail-feature-row.reverse .detail-feature-text,
    .detail-feature-row.reverse .detail-feature-media {
        order: initial;
    }

    .detail-feature-list,
    .workflow-section,
    .module-section,
    .seo-section,
    .faq-section {
        padding: 72px 0;
    }

    .detail-feature-row {
        padding: 48px 0;
    }

    .workflow-step {
        grid-template-columns: 1fr;
    }

    .module-cards {
        grid-template-columns: 1fr;
    }

    .product-final-box {
        flex-direction: column;
        align-items: flex-start;
        border-radius: 38px;
        padding: 34px;
    }
}

@media (max-width: 560px) {
    .product-intro h1,
    .summary-slab-grid strong,
    .detail-section-head h2,
    .workflow-title h2,
    .module-head h2,
    .seo-copy h2,
    .faq-title h2,
    .product-final-box h2 {
        font-size: 34px;
    }

    .detail-feature-text h3 {
        font-size: 30px;
    }

    .product-actions .btn,
    .product-final-box .btn {
        width: 100%;
    }
}


/* ===== Panels catalog page ===== */

.catalog-page {
    padding: 135px 0 72px;
    background:
        radial-gradient(circle at 78% 18%, rgba(109,53,255,.16), transparent 28%),
        radial-gradient(circle at 12% 84%, rgba(223,255,54,.12), transparent 26%),
        var(--dark);
    color: var(--paper);
}

.catalog-breadcrumb {
    display: flex;
    gap: 10px;
    align-items: center;
    color: rgba(255,255,255,.54);
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 34px;
}

.catalog-breadcrumb a:hover {
    color: var(--lime);
}

.catalog-breadcrumb strong {
    color: var(--paper);
}

.catalog-hero {
    max-width: 900px;
}

.catalog-hero span,
.active-panel-copy > span,
.coming-head span,
.catalog-system-copy span,
.catalog-final-box span {
    display: inline-flex;
    color: var(--lime);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.catalog-hero h1 {
    max-width: 820px;
    margin-top: 20px;
    font-size: clamp(38px, 5vw, 68px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.catalog-hero p {
    max-width: 720px;
    margin-top: 22px;
    color: rgba(255,255,255,.72);
    font-size: 18px;
    line-height: 1.42;
    font-weight: 720;
}

.active-panel-showcase {
    padding: 100px 0;
    background: var(--cream);
    color: var(--ink);
}

.active-panel-grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 70px;
    align-items: center;
}

.active-panel-copy > span,
.coming-head span,
.catalog-system-copy span,
.catalog-final-box span {
    color: var(--purple);
}

.active-panel-copy h2,
.coming-head h2,
.catalog-system-copy h2,
.catalog-final-box h2 {
    margin-top: 14px;
    font-size: clamp(34px, 4.5vw, 62px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.active-panel-copy p,
.catalog-system-copy p,
.catalog-final-box p {
    margin-top: 20px;
    color: var(--muted-dark);
    font-size: 17px;
    line-height: 1.48;
    font-weight: 750;
}

.active-panel-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 28px 0;
}

.active-panel-tags em {
    font-style: normal;
    padding: 10px 13px;
    border-radius: 999px;
    background: var(--lime);
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
}

.active-panel-media .media-frame {
    transform: none;
}

.coming-panels {
    padding: 100px 0;
    background: var(--dark);
    color: var(--paper);
}

.coming-head {
    max-width: 720px;
}

.coming-head span {
    color: var(--lime);
}

.panel-roadmap {
    margin-top: 52px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 3px solid var(--paper);
    border-bottom: 3px solid var(--paper);
}

.roadmap-item {
    min-height: 340px;
    padding: 26px;
    border-right: 3px solid var(--paper);
}

.roadmap-item:last-child {
    border-right: 0;
}

.roadmap-status {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: var(--lime);
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 42px;
}

.roadmap-item strong {
    display: block;
    font-size: 28px;
    line-height: .98;
    letter-spacing: -.06em;
    font-weight: 900;
}

.roadmap-item p {
    margin-top: 14px;
    color: rgba(255,255,255,.64);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 730;
}

.roadmap-line {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px;
}

.roadmap-line span {
    padding: 8px 10px;
    border-radius: 999px;
    background: var(--purple);
    color: var(--paper);
    font-size: 11px;
    font-weight: 900;
}

.catalog-system-section {
    padding: 100px 0;
    background: var(--cream);
    color: var(--ink);
}

.catalog-system-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 70px;
    align-items: center;
}

.system-flow {
    display: grid;
    gap: 14px;
}

.system-flow div {
    min-height: 92px;
    padding: 0 24px;
    border-radius: 28px;
    background: var(--paper);
    box-shadow: 0 22px 60px rgba(0,0,0,.07);
    display: grid;
    grid-template-columns: 70px 1fr;
    align-items: center;
    gap: 18px;
}

.system-flow span {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--purple);
    color: var(--paper);
    font-size: 13px;
    font-weight: 900;
}

.system-flow strong {
    font-size: 24px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 900;
}

.catalog-final {
    padding: 80px 0 120px;
    background: var(--cream);
    color: var(--ink);
}

.catalog-final-box {
    min-height: 300px;
    padding: 48px 54px;
    border-radius: 52px;
    background: var(--lime);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 46px;
}

.catalog-final-box span {
    color: var(--purple);
}

.catalog-final-box h2 {
    max-width: 760px;
}

.catalog-final-box p {
    max-width: 620px;
}

@media (max-width: 980px) {
    .catalog-page {
        padding: 118px 0 54px;
    }

    .active-panel-grid,
    .catalog-system-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .active-panel-showcase,
    .coming-panels,
    .catalog-system-section {
        padding: 72px 0;
    }

    .panel-roadmap {
        grid-template-columns: 1fr;
    }

    .roadmap-item {
        min-height: auto;
        border-right: 0;
        border-bottom: 3px solid var(--paper);
    }

    .roadmap-item:last-child {
        border-bottom: 0;
    }

    .roadmap-status {
        margin-bottom: 26px;
    }

    .catalog-final-box {
        flex-direction: column;
        align-items: flex-start;
        border-radius: 38px;
        padding: 34px;
    }
}

@media (max-width: 560px) {
    .catalog-hero h1,
    .active-panel-copy h2,
    .coming-head h2,
    .catalog-system-copy h2,
    .catalog-final-box h2 {
        font-size: 34px;
    }

    .catalog-final-box .btn {
        width: 100%;
    }

    .system-flow div {
        grid-template-columns: 1fr;
        padding: 22px;
    }
}


/* ===== Pricing page ===== */

.pricing-page {
    padding: 135px 0 72px;
    background:
        radial-gradient(circle at 78% 18%, rgba(109,53,255,.16), transparent 28%),
        radial-gradient(circle at 12% 84%, rgba(223,255,54,.12), transparent 26%),
        var(--dark);
    color: var(--paper);
}

.pricing-breadcrumb {
    display: flex;
    gap: 10px;
    align-items: center;
    color: rgba(255,255,255,.54);
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 34px;
}

.pricing-breadcrumb a:hover {
    color: var(--lime);
}

.pricing-breadcrumb strong {
    color: var(--paper);
}

.pricing-hero-grid {
    display: grid;
    grid-template-columns: 1fr 390px;
    gap: 70px;
    align-items: end;
}

.pricing-hero span,
.setup-copy span,
.compare-head span,
.payment-prep-copy span,
.pricing-faq-title span {
    display: inline-flex;
    color: var(--lime);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.pricing-hero h1 {
    max-width: 850px;
    margin-top: 20px;
    font-size: clamp(38px, 5vw, 68px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.pricing-hero p {
    max-width: 720px;
    margin-top: 22px;
    color: rgba(255,255,255,.72);
    font-size: 18px;
    line-height: 1.42;
    font-weight: 720;
}

.pricing-note {
    border-radius: 34px;
    padding: 26px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(18px);
}

.pricing-note strong {
    display: block;
    font-size: 24px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 900;
}

.pricing-note p {
    margin-top: 12px;
    color: rgba(255,255,255,.66);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 750;
}

.pricing-switch-section {
    padding: 28px 0;
    background: var(--lime);
    color: var(--ink);
}

.pricing-switch {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: space-between;
}

.pricing-switch > span {
    font-weight: 900;
}

.pricing-switch p {
    color: rgba(23,23,23,.7);
    font-size: 14px;
    font-weight: 800;
}

.billing-toggle {
    padding: 6px;
    border-radius: 999px;
    background: rgba(0,0,0,.08);
    display: flex;
    gap: 4px;
}

.billing-toggle button {
    border: 0;
    border-radius: 999px;
    min-height: 40px;
    padding: 0 18px;
    cursor: pointer;
    background: transparent;
    color: var(--ink);
    font-weight: 900;
}

.billing-toggle button.active {
    background: var(--paper);
}

.plans-section {
    padding: 100px 0;
    background: var(--cream);
    color: var(--ink);
}

.plans-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    align-items: stretch;
}

.plan-card {
    position: relative;
    min-height: 620px;
    padding: 28px;
    border-radius: 38px;
    background: var(--paper);
    box-shadow: 0 24px 70px rgba(0,0,0,.08);
    display: flex;
    flex-direction: column;
}

.plan-card.featured {
    background: var(--dark);
    color: var(--paper);
    transform: translateY(-18px);
}

.popular-badge {
    position: absolute;
    right: 22px;
    top: 22px;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--lime);
    color: var(--ink);
    display: flex;
    align-items: center;
    font-size: 12px;
    font-weight: 900;
}

.plan-head span {
    display: block;
    color: var(--purple);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 14px;
}

.plan-card.featured .plan-head span {
    color: var(--lime);
}

.plan-head strong {
    display: block;
    font-size: 36px;
    line-height: .95;
    letter-spacing: -.07em;
    font-weight: 900;
}

.plan-head p {
    margin-top: 14px;
    color: var(--muted-dark);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 750;
}

.plan-card.featured .plan-head p {
    color: rgba(255,255,255,.64);
}

.plan-price {
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid rgba(0,0,0,.12);
}

.plan-card.featured .plan-price {
    border-top-color: rgba(255,255,255,.14);
}

.plan-price small {
    display: block;
    color: var(--muted-dark);
    font-size: 12px;
    font-weight: 900;
}

.plan-card.featured .plan-price small {
    color: rgba(255,255,255,.58);
}

.plan-price strong {
    display: block;
    margin-top: 8px;
    font-size: 52px;
    line-height: .92;
    letter-spacing: -.08em;
    font-weight: 900;
}

.plan-price em {
    display: block;
    margin-top: 8px;
    color: var(--muted-dark);
    font-size: 13px;
    font-style: normal;
    font-weight: 850;
}

.plan-card.featured .plan-price em {
    color: rgba(255,255,255,.58);
}

.plan-card ul {
    margin: 30px 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}

.plan-card li {
    position: relative;
    padding-left: 24px;
    color: var(--muted-dark);
    font-size: 14px;
    line-height: 1.4;
    font-weight: 800;
}

.plan-card.featured li {
    color: rgba(255,255,255,.72);
}

.plan-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--purple);
}

.plan-card.featured li::before {
    background: var(--lime);
}

.plan-button {
    min-height: 52px;
    margin-top: auto;
    border-radius: 999px;
    background: var(--purple);
    color: var(--paper);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.plan-card.featured .plan-button {
    background: var(--lime);
    color: var(--ink);
}

.setup-fee-section,
.compare-section,
.payment-prep-section,
.pricing-faq-section {
    padding: 100px 0;
}

.setup-fee-section,
.compare-section,
.pricing-faq-section {
    background: var(--cream);
    color: var(--ink);
}

.payment-prep-section {
    background: var(--dark);
    color: var(--paper);
}

.setup-grid,
.payment-prep-grid,
.pricing-faq-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 70px;
    align-items: start;
}

.setup-copy span,
.compare-head span,
.pricing-faq-title span {
    color: var(--purple);
}

.payment-prep-copy span {
    color: var(--lime);
}

.setup-copy h2,
.compare-head h2,
.payment-prep-copy h2,
.pricing-faq-title h2 {
    margin-top: 14px;
    font-size: clamp(34px, 4.5vw, 62px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.setup-copy p,
.payment-prep-copy p {
    margin-top: 20px;
    color: var(--muted-dark);
    font-size: 17px;
    line-height: 1.48;
    font-weight: 750;
}

.payment-prep-copy p {
    color: rgba(255,255,255,.66);
}

.setup-card {
    border-radius: 38px;
    padding: 28px;
    background: var(--paper);
    box-shadow: 0 24px 70px rgba(0,0,0,.08);
    display: grid;
    gap: 18px;
}

.setup-card small {
    color: var(--purple);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.setup-card div {
    padding-top: 18px;
    border-top: 1px solid rgba(0,0,0,.1);
}

.setup-card strong {
    display: block;
    font-size: 22px;
    letter-spacing: -.045em;
    font-weight: 900;
}

.setup-card span {
    display: block;
    margin-top: 7px;
    color: var(--muted-dark);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 750;
}

.compare-head {
    max-width: 720px;
    margin-bottom: 42px;
}

.compare-table {
    border-radius: 36px;
    background: var(--paper);
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(0,0,0,.08);
}

.compare-row {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 18px;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(0,0,0,.08);
    align-items: center;
}

.compare-row:last-child {
    border-bottom: 0;
}

.compare-row.head {
    background: var(--dark);
    color: var(--paper);
    font-size: 13px;
    font-weight: 900;
}

.compare-row span {
    font-weight: 850;
}

.compare-row strong {
    font-size: 14px;
    font-weight: 900;
    color: var(--purple);
}

.compare-row.head strong,
.compare-row.head span {
    color: var(--paper);
}

.payment-flow-card {
    display: grid;
    gap: 14px;
}

.payment-flow-card div {
    min-height: 92px;
    padding: 0 24px;
    border-radius: 28px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    display: grid;
    grid-template-columns: 70px 1fr;
    align-items: center;
    gap: 18px;
}

.payment-flow-card span {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--lime);
    color: var(--ink);
    font-size: 13px;
    font-weight: 900;
}

.payment-flow-card strong {
    font-size: 24px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 900;
}

.pricing-faq-title {
    position: sticky;
    top: 112px;
}

.pricing-faq-list {
    display: grid;
    gap: 12px;
}

.pricing-faq-list details {
    border-radius: 26px;
    background: var(--paper);
    box-shadow: 0 18px 50px rgba(0,0,0,.06);
    overflow: hidden;
}

.pricing-faq-list summary {
    cursor: pointer;
    padding: 22px 24px;
    font-size: 18px;
    font-weight: 900;
    list-style: none;
}

.pricing-faq-list summary::-webkit-details-marker {
    display: none;
}

.pricing-faq-list p {
    padding: 0 24px 24px;
    color: var(--muted-dark);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 750;
}

@media (max-width: 980px) {
    .pricing-page {
        padding: 118px 0 54px;
    }

    .pricing-hero-grid,
    .setup-grid,
    .payment-prep-grid,
    .pricing-faq-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .pricing-switch {
        flex-direction: column;
        align-items: flex-start;
    }

    .plans-grid {
        grid-template-columns: 1fr;
    }

    .plan-card.featured {
        transform: none;
    }

    .setup-fee-section,
    .compare-section,
    .payment-prep-section,
    .pricing-faq-section,
    .plans-section {
        padding: 72px 0;
    }

    .compare-table {
        overflow-x: auto;
    }

    .compare-row {
        min-width: 760px;
    }

    .pricing-faq-title {
        position: static;
    }
}

@media (max-width: 560px) {
    .pricing-hero h1,
    .setup-copy h2,
    .compare-head h2,
    .payment-prep-copy h2,
    .pricing-faq-title h2 {
        font-size: 34px;
    }

    .plan-price strong {
        font-size: 44px;
    }

    .billing-toggle {
        width: 100%;
    }

    .billing-toggle button {
        flex: 1;
    }
}


/* ===== Pricing panel selector ===== */

.panel-picker-section {
    padding: 92px 0 80px;
    background: var(--cream);
    color: var(--ink);
}

.panel-picker-head {
    max-width: 760px;
    margin-bottom: 36px;
}

.panel-picker-head span,
.plans-title span,
.soon-panel-box span {
    display: inline-flex;
    color: var(--purple);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.panel-picker-head h2,
.plans-title h2,
.soon-panel-box h2 {
    margin-top: 14px;
    font-size: clamp(34px, 4.5vw, 62px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.panel-picker-head p,
.soon-panel-box p {
    max-width: 620px;
    margin-top: 18px;
    color: var(--muted-dark);
    font-size: 17px;
    line-height: 1.45;
    font-weight: 750;
}

.panel-picker-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.panel-pick {
    min-height: 260px;
    text-align: left;
    border: 0;
    cursor: pointer;
    padding: 24px;
    border-radius: 34px;
    background: var(--paper);
    color: var(--ink);
    box-shadow: 0 24px 70px rgba(0,0,0,.07);
    transition: transform .24s ease, background .24s ease, color .24s ease, box-shadow .24s ease;
}

.panel-pick:hover {
    transform: translateY(-6px);
}

.panel-pick.active {
    background: var(--dark);
    color: var(--paper);
    box-shadow: 0 34px 90px rgba(0,0,0,.22);
}

.panel-pick span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(109,53,255,.1);
    color: var(--purple);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.panel-pick.active span {
    background: var(--lime);
    color: var(--ink);
}

.panel-pick strong {
    display: block;
    margin-top: 28px;
    font-size: 28px;
    line-height: .96;
    letter-spacing: -.06em;
    font-weight: 900;
}

.panel-pick p {
    margin-top: 14px;
    color: var(--muted-dark);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 750;
}

.panel-pick.active p {
    color: rgba(255,255,255,.66);
}

.panel-pick em {
    display: inline-flex;
    margin-top: 26px;
    font-style: normal;
    color: var(--purple);
    font-size: 13px;
    font-weight: 900;
}

.panel-pick.active em {
    color: var(--lime);
}

.selected-panel-bar {
    padding: 24px 0;
    background: var(--lime);
    color: var(--ink);
}

.selected-panel-inner {
    display: flex;
    justify-content: space-between;
    gap: 26px;
    align-items: center;
}

.selected-panel-inner span {
    display: block;
    color: var(--purple);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.selected-panel-inner strong {
    display: block;
    margin-top: 5px;
    font-size: 28px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 900;
}

.selected-panel-inner p {
    max-width: 560px;
    color: rgba(23,23,23,.7);
    font-size: 15px;
    line-height: 1.4;
    font-weight: 800;
}

.plans-title {
    max-width: 720px;
    margin-bottom: 38px;
}

.soon-panel-section {
    padding: 90px 0 120px;
    background: var(--cream);
    color: var(--ink);
}

.soon-panel-section.is-hidden,
[data-pricing-content].is-hidden,
.selected-panel-bar.is-hidden {
    display: none;
}

.soon-panel-box {
    min-height: 320px;
    padding: 48px 54px;
    border-radius: 52px;
    background: var(--lime);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 46px;
}

.soon-panel-box p {
    max-width: 640px;
}

@media (max-width: 980px) {
    .panel-picker-section {
        padding: 72px 0;
    }

    .panel-picker-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .selected-panel-inner,
    .soon-panel-box {
        flex-direction: column;
        align-items: flex-start;
    }

    .soon-panel-box {
        border-radius: 38px;
        padding: 34px;
    }
}

@media (max-width: 560px) {
    .panel-picker-grid {
        grid-template-columns: 1fr;
    }

    .panel-pick {
        min-height: auto;
    }

    .panel-picker-head h2,
    .plans-title h2,
    .soon-panel-box h2 {
        font-size: 34px;
    }

    .soon-panel-box .btn {
        width: 100%;
    }
}


.panel-plan-group.is-hidden {
    display: none !important;
}


/* ===== Checkout pages ===== */

.checkout-page {
    padding: 135px 0 110px;
    background:
        radial-gradient(circle at 78% 18%, rgba(109,53,255,.16), transparent 28%),
        radial-gradient(circle at 12% 84%, rgba(223,255,54,.12), transparent 26%),
        var(--dark);
    color: var(--paper);
}

.checkout-breadcrumb {
    display: flex;
    gap: 10px;
    align-items: center;
    color: rgba(255,255,255,.54);
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 34px;
}

.checkout-breadcrumb a:hover {
    color: var(--lime);
}

.checkout-breadcrumb strong {
    color: var(--paper);
}

.checkout-grid {
    display: grid;
    grid-template-columns: 1fr 410px;
    gap: 70px;
    align-items: start;
}

.checkout-label {
    display: inline-flex;
    color: var(--lime);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.checkout-form-area h1 {
    max-width: 760px;
    margin-top: 16px;
    font-size: clamp(36px, 4.5vw, 62px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.checkout-form-area p {
    max-width: 720px;
    margin-top: 20px;
    color: rgba(255,255,255,.68);
    font-size: 17px;
    line-height: 1.48;
    font-weight: 720;
}

.checkout-form {
    margin-top: 36px;
    padding: 28px;
    border-radius: 36px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(18px);
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.checkout-form label {
    display: grid;
    gap: 8px;
}

.checkout-form label span {
    color: rgba(255,255,255,.7);
    font-size: 13px;
    font-weight: 900;
}

.checkout-form input,
.checkout-form textarea {
    width: 100%;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    color: var(--paper);
    border-radius: 18px;
    min-height: 56px;
    padding: 0 16px;
    outline: none;
    font: inherit;
    font-weight: 750;
}

.checkout-form textarea {
    padding: 16px;
    resize: vertical;
}

.full-label {
    margin-top: 16px;
}

.checkout-submit {
    width: 100%;
    min-height: 58px;
    margin-top: 22px;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    background: var(--lime);
    color: var(--ink);
    font-size: 15px;
    font-weight: 900;
}

.checkout-errors {
    margin-top: 24px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255, 122, 165, .16);
    border: 1px solid rgba(255, 122, 165, .28);
}

.checkout-errors strong {
    display: block;
    margin-bottom: 8px;
}

.checkout-errors ul {
    margin: 0;
    padding-left: 18px;
}

.checkout-summary-card {
    position: sticky;
    top: 110px;
    padding: 26px;
    border-radius: 36px;
    background: var(--paper);
    color: var(--ink);
    box-shadow: 0 34px 90px rgba(0,0,0,.22);
}

.summary-top span,
.summary-lines span,
.summary-total span {
    display: block;
    color: var(--purple);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.summary-top strong {
    display: block;
    margin-top: 10px;
    font-size: 34px;
    line-height: .95;
    letter-spacing: -.065em;
    font-weight: 900;
}

.summary-top p {
    margin-top: 12px;
    color: var(--muted-dark);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 750;
}

.summary-lines {
    display: grid;
    gap: 14px;
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid rgba(0,0,0,.1);
}

.summary-lines div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
}

.summary-lines strong {
    text-align: right;
    font-size: 14px;
    font-weight: 900;
}

.summary-total {
    margin-top: 24px;
    padding: 20px;
    border-radius: 24px;
    background: var(--lime);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.summary-total strong {
    font-size: 28px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 900;
}

.checkout-summary-card ul {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.checkout-summary-card li {
    position: relative;
    padding-left: 22px;
    color: var(--muted-dark);
    font-size: 14px;
    line-height: 1.4;
    font-weight: 800;
}

.checkout-summary-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--purple);
}

.checkout-complete-page {
    min-height: 100svh;
    padding: 150px 0 110px;
    background:
        radial-gradient(circle at 70% 20%, rgba(109,53,255,.16), transparent 28%),
        radial-gradient(circle at 20% 84%, rgba(223,255,54,.12), transparent 26%),
        var(--dark);
    color: var(--paper);
    display: flex;
    align-items: center;
}

.complete-box {
    padding: 50px;
    border-radius: 48px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(18px);
}

.complete-box > span {
    display: inline-flex;
    color: var(--lime);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.complete-box h1 {
    margin-top: 18px;
    font-size: clamp(42px, 5vw, 72px);
    line-height: .95;
    letter-spacing: -.075em;
    font-weight: 900;
}

.complete-box p {
    max-width: 760px;
    margin-top: 20px;
    color: rgba(255,255,255,.68);
    font-size: 17px;
    line-height: 1.48;
    font-weight: 740;
}

.complete-summary {
    margin-top: 36px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.complete-summary div {
    min-height: 120px;
    padding: 20px;
    border-radius: 26px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.1);
}

.complete-summary small {
    display: block;
    color: rgba(255,255,255,.58);
    font-size: 12px;
    font-weight: 900;
}

.complete-summary strong {
    display: block;
    margin-top: 12px;
    font-size: 20px;
    line-height: 1.05;
    letter-spacing: -.04em;
    font-weight: 900;
}

.complete-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 34px;
}

@media (max-width: 980px) {
    .checkout-page,
    .checkout-complete-page {
        padding: 118px 0 72px;
    }

    .checkout-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .checkout-summary-card {
        position: static;
    }

    .form-grid,
    .complete-summary {
        grid-template-columns: 1fr;
    }

    .complete-box {
        padding: 34px;
        border-radius: 36px;
    }
}

@media (max-width: 560px) {
    .checkout-form-area h1,
    .complete-box h1 {
        font-size: 34px;
    }

    .checkout-form {
        padding: 20px;
        border-radius: 28px;
    }

    .complete-actions .btn {
        width: 100%;
    }
}


/* ===== PayTR payment pages ===== */

.payment-page,
.payment-result-page {
    min-height: 100svh;
    padding: 145px 0 110px;
    background:
        radial-gradient(circle at 78% 18%, rgba(109,53,255,.16), transparent 28%),
        radial-gradient(circle at 12% 84%, rgba(223,255,54,.12), transparent 26%),
        var(--dark);
    color: var(--paper);
}

.payment-grid {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 60px;
    align-items: start;
}

.payment-copy {
    position: sticky;
    top: 120px;
}

.payment-copy span,
.payment-result-box span {
    display: inline-flex;
    color: var(--lime);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.payment-copy h1,
.payment-result-box h1 {
    margin-top: 18px;
    font-size: clamp(38px, 5vw, 68px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.payment-copy p,
.payment-result-box p {
    max-width: 620px;
    margin-top: 20px;
    color: rgba(255,255,255,.68);
    font-size: 17px;
    line-height: 1.48;
    font-weight: 740;
}

.payment-summary-mini {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 32px;
}

.payment-summary-mini div {
    min-height: 120px;
    padding: 20px;
    border-radius: 26px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.1);
}

.payment-summary-mini small {
    display: block;
    color: rgba(255,255,255,.56);
    font-size: 12px;
    font-weight: 900;
}

.payment-summary-mini strong {
    display: block;
    margin-top: 12px;
    font-size: 24px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 900;
}

.paytr-frame-wrap {
    min-height: 620px;
    padding: 22px;
    border-radius: 36px;
    background: var(--paper);
    color: var(--ink);
    box-shadow: 0 34px 90px rgba(0,0,0,.22);
}

#paytriframe {
    min-height: 620px;
}

.paytr-error {
    padding: 34px;
    border-radius: 28px;
    background: #fff2f2;
    color: #171717;
}

.paytr-error strong {
    display: block;
    font-size: 28px;
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 900;
}

.paytr-error p {
    margin-top: 14px;
    color: #8a2a2a;
    font-weight: 800;
    line-height: 1.45;
}

.paytr-error small {
    display: block;
    margin-top: 14px;
    color: #6b6d74;
    font-weight: 800;
}

.payment-result-box {
    padding: 50px;
    border-radius: 48px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(18px);
}

.payment-result-box .btn {
    margin-top: 32px;
}

@media (max-width: 980px) {
    .payment-page,
    .payment-result-page {
        padding: 118px 0 72px;
    }

    .payment-grid {
        grid-template-columns: 1fr;
    }

    .payment-copy {
        position: static;
    }

    .payment-summary-mini {
        grid-template-columns: 1fr;
    }

    .paytr-frame-wrap {
        min-height: 520px;
    }

    #paytriframe {
        min-height: 520px;
    }

    .payment-result-box {
        padding: 34px;
        border-radius: 36px;
    }
}

@media (max-width: 560px) {
    .payment-copy h1,
    .payment-result-box h1 {
        font-size: 34px;
    }

    .paytr-frame-wrap {
        padding: 12px;
        border-radius: 26px;
    }
}


/* ===== Dynamic panels catalog ===== */

.dynamic-active-section {
    padding: 100px 0;
    background: var(--cream);
    color: var(--ink);
}

.dynamic-section-head {
    max-width: 760px;
    margin-bottom: 44px;
}

.dynamic-section-head span {
    display: inline-flex;
    color: var(--purple);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.dynamic-section-head h2 {
    margin-top: 14px;
    font-size: clamp(34px, 4.5vw, 62px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.dynamic-section-head.dark-head span {
    color: var(--lime);
}

.active-dynamic-grid {
    display: grid;
    gap: 24px;
}

.active-dynamic-card {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 50px;
    align-items: center;
    padding: 34px;
    border-radius: 46px;
    background: var(--paper);
    box-shadow: 0 24px 70px rgba(0,0,0,.08);
}

.panel-status-line {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.panel-status-line span {
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--lime);
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 900;
}

.panel-status-line em {
    color: var(--muted-dark);
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
}

.active-card-copy h3 {
    margin: 22px 0 0;
    font-size: clamp(34px, 4vw, 58px);
    line-height: .95;
    letter-spacing: -.07em;
    font-weight: 900;
}

.active-card-copy p {
    margin-top: 20px;
    color: var(--muted-dark);
    font-size: 17px;
    line-height: 1.46;
    font-weight: 750;
}

.panel-mini-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 26px;
}

.panel-mini-tags strong {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #f3f3f6;
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 900;
}

.panel-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.catalog-light-btn {
    background: #f3f3f6;
    color: var(--ink);
}

.active-card-media .media-frame {
    width: 100%;
    transform: none;
}

.dynamic-soon-section {
    padding: 100px 0;
    background: var(--dark);
    color: var(--paper);
}

.dynamic-soon-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 3px solid var(--paper);
    border-bottom: 3px solid var(--paper);
}

.dynamic-soon-card {
    min-height: 340px;
    padding: 26px;
    border-right: 3px solid var(--paper);
    display: flex;
    flex-direction: column;
}

.dynamic-soon-card:last-child {
    border-right: 0;
}

.soon-card-top {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-bottom: 46px;
}

.soon-card-top span {
    min-height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: var(--lime);
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 900;
}

.soon-card-top em {
    color: rgba(255,255,255,.32);
    font-style: normal;
    font-size: 28px;
    line-height: 1;
    font-weight: 900;
}

.dynamic-soon-card h3 {
    margin: 0;
    font-size: 28px;
    line-height: .98;
    letter-spacing: -.06em;
    font-weight: 900;
}

.dynamic-soon-card p {
    margin-top: 14px;
    color: rgba(255,255,255,.64);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 730;
}

.soon-card-bottom {
    margin-top: auto;
    padding-top: 28px;
}

.soon-card-bottom strong {
    display: block;
    color: var(--lime);
    font-size: 13px;
    font-weight: 900;
}

.soon-card-bottom small {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,.48);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 750;
}

@media (max-width: 1100px) {
    .dynamic-soon-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dynamic-soon-card:nth-child(2n) {
        border-right: 0;
    }

    .dynamic-soon-card {
        border-bottom: 3px solid var(--paper);
    }

    .dynamic-soon-card:nth-last-child(-n+2) {
        border-bottom: 0;
    }
}

@media (max-width: 980px) {
    .dynamic-active-section,
    .dynamic-soon-section {
        padding: 72px 0;
    }

    .active-dynamic-card {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 24px;
        border-radius: 34px;
    }
}

@media (max-width: 620px) {
    .dynamic-soon-grid {
        grid-template-columns: 1fr;
    }

    .dynamic-soon-card,
    .dynamic-soon-card:nth-child(2n) {
        border-right: 0;
        border-bottom: 3px solid var(--paper);
    }

    .dynamic-soon-card:last-child {
        border-bottom: 0;
    }

    .panel-card-actions .btn {
        width: 100%;
    }
}


/* ===== Home dynamic panel catalog ===== */

.home-panel-catalog-section {
    padding: 110px 0;
    background: var(--cream);
    color: var(--ink);
}

.home-panel-head {
    max-width: 780px;
    margin-bottom: 48px;
}

.home-panel-head span {
    display: inline-flex;
    color: var(--purple);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.home-panel-head h2 {
    margin-top: 14px;
    font-size: clamp(38px, 5vw, 72px);
    line-height: .94;
    letter-spacing: -.075em;
    font-weight: 900;
}

.home-panel-head p {
    max-width: 680px;
    margin-top: 20px;
    color: var(--muted-dark);
    font-size: 17px;
    line-height: 1.48;
    font-weight: 750;
}

.home-panel-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.home-panel-card {
    min-height: 360px;
    padding: 26px;
    border-radius: 34px;
    background: var(--paper);
    box-shadow: 0 24px 70px rgba(0,0,0,.08);
    display: flex;
    flex-direction: column;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}

.home-panel-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 34px 90px rgba(0,0,0,.14);
}

.home-panel-card.is-active {
    background: var(--dark);
    color: var(--paper);
}

.home-panel-card-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 44px;
}

.home-panel-card-top span {
    min-height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    background: rgba(109,53,255,.1);
    color: var(--purple);
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.home-panel-card.is-active .home-panel-card-top span {
    background: var(--lime);
    color: var(--ink);
}

.home-panel-card-top em {
    color: rgba(23,23,23,.24);
    font-style: normal;
    font-size: 28px;
    line-height: 1;
    font-weight: 900;
}

.home-panel-card.is-active .home-panel-card-top em {
    color: rgba(255,255,255,.28);
}

.home-panel-card h3 {
    margin: 0;
    font-size: 30px;
    line-height: .96;
    letter-spacing: -.065em;
    font-weight: 900;
}

.home-panel-card p {
    margin-top: 14px;
    color: var(--muted-dark);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 730;
}

.home-panel-card.is-active p {
    color: rgba(255,255,255,.66);
}

.home-panel-plan-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.home-panel-plan-tags strong {
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f3f3f6;
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 900;
}

.home-panel-card.is-active .home-panel-plan-tags strong {
    background: rgba(255,255,255,.1);
    color: var(--paper);
}

.home-panel-card-bottom {
    margin-top: auto;
    padding-top: 30px;
}

.home-panel-card-bottom a {
    min-height: 46px;
    padding: 0 16px;
    border-radius: 999px;
    background: var(--purple);
    color: var(--paper);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 900;
}

.home-panel-card.is-active .home-panel-card-bottom a {
    background: var(--lime);
    color: var(--ink);
}

.home-panel-card-bottom small {
    color: var(--muted-dark);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 800;
}

.home-panel-empty {
    grid-column: 1 / -1;
    padding: 28px;
    border-radius: 28px;
    background: var(--paper);
    color: var(--muted-dark);
    font-weight: 850;
}

@media (max-width: 1100px) {
    .home-panel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .home-panel-catalog-section {
        padding: 72px 0;
    }

    .home-panel-grid {
        grid-template-columns: 1fr;
    }

    .home-panel-card {
        min-height: auto;
    }

    .home-panel-card-bottom a {
        width: 100%;
    }
}


/* ===== Dynamic sector panel detail ===== */

.dynamic-panel-detail-hero {
    padding: 135px 0 90px;
    background:
        radial-gradient(circle at 82% 22%, rgba(109,53,255,.18), transparent 30%),
        var(--dark);
    color: var(--paper);
    overflow: hidden;
}

.detail-breadcrumb {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 48px;
    color: rgba(255,255,255,.56);
    font-size: 13px;
    font-weight: 850;
}

.detail-breadcrumb a {
    color: rgba(255,255,255,.68);
}

.detail-breadcrumb strong {
    color: var(--lime);
}

.dynamic-detail-grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 58px;
    align-items: center;
}

.dynamic-detail-copy > span,
.dynamic-panel-final-box span {
    display: inline-flex;
    color: var(--lime);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.dynamic-detail-copy h1 {
    margin-top: 18px;
    font-size: clamp(48px, 7vw, 98px);
    line-height: .9;
    letter-spacing: -.085em;
    font-weight: 900;
}

.dynamic-detail-copy p {
    max-width: 640px;
    margin-top: 24px;
    color: rgba(255,255,255,.68);
    font-size: 18px;
    line-height: 1.48;
    font-weight: 750;
}

.dynamic-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.detail-light-btn {
    background: rgba(255,255,255,.1);
    color: var(--paper);
}

.dynamic-detail-media .media-frame {
    transform: none;
}

.dynamic-panel-info-section {
    padding: 100px 0;
    background: var(--cream);
    color: var(--ink);
}

.dynamic-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.dynamic-info-card {
    min-height: 320px;
    padding: 28px;
    border-radius: 34px;
    background: var(--paper);
    box-shadow: 0 24px 70px rgba(0,0,0,.08);
}

.dynamic-info-card span {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: var(--lime);
    color: var(--ink);
    display: grid;
    place-items: center;
    font-size: 13px;
    font-weight: 900;
}

.dynamic-info-card h2 {
    margin-top: 52px;
    font-size: 30px;
    line-height: .96;
    letter-spacing: -.06em;
    font-weight: 900;
}

.dynamic-info-card p {
    margin-top: 16px;
    color: var(--muted-dark);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 740;
}

.dynamic-panel-plans-section {
    padding: 100px 0;
    background: var(--paper);
    color: var(--ink);
}

.dynamic-panel-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.dynamic-panel-plan-card {
    position: relative;
    min-height: 520px;
    padding: 28px;
    border-radius: 34px;
    background: #f7f7fa;
    border: 2px solid transparent;
    display: flex;
    flex-direction: column;
}

.dynamic-panel-plan-card.featured {
    background: var(--dark);
    color: var(--paper);
    border-color: var(--lime);
}

.dynamic-panel-plan-card .plan-badge {
    width: max-content;
    min-height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    background: var(--lime);
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.dynamic-panel-plan-card h3 {
    margin: 26px 0 0;
    font-size: 34px;
    line-height: .95;
    letter-spacing: -.065em;
    font-weight: 900;
}

.dynamic-panel-plan-card p {
    margin-top: 14px;
    color: var(--muted-dark);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 740;
}

.dynamic-panel-plan-card.featured p {
    color: rgba(255,255,255,.66);
}

.dynamic-plan-price {
    margin-top: 28px;
}

.dynamic-plan-price strong {
    font-size: 44px;
    line-height: 1;
    letter-spacing: -.07em;
    font-weight: 900;
}

.dynamic-plan-price span {
    color: var(--muted-dark);
    font-size: 13px;
    font-weight: 850;
}

.dynamic-panel-plan-card.featured .dynamic-plan-price span {
    color: rgba(255,255,255,.56);
}

.dynamic-panel-plan-card ul {
    display: grid;
    gap: 10px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.dynamic-panel-plan-card li {
    color: var(--muted-dark);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 800;
}

.dynamic-panel-plan-card li::before {
    content: "✓";
    margin-right: 8px;
    color: var(--purple);
    font-weight: 900;
}

.dynamic-panel-plan-card.featured li {
    color: rgba(255,255,255,.74);
}

.dynamic-panel-plan-card.featured li::before {
    color: var(--lime);
}

.dynamic-panel-plan-card > a {
    min-height: 52px;
    margin-top: auto;
    border-radius: 999px;
    background: var(--purple);
    color: var(--paper);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 900;
}

.dynamic-panel-plan-card.featured > a {
    background: var(--lime);
    color: var(--ink);
}

.dynamic-panel-empty {
    grid-column: 1 / -1;
    padding: 30px;
    border-radius: 28px;
    background: #f7f7fa;
    color: var(--muted-dark);
    font-weight: 850;
}

.dynamic-panel-final {
    padding: 100px 0;
    background: var(--cream);
    color: var(--ink);
}

.dynamic-panel-final-box {
    display: flex;
    justify-content: space-between;
    gap: 34px;
    align-items: center;
    padding: 42px;
    border-radius: 42px;
    background: var(--dark);
    color: var(--paper);
}

.dynamic-panel-final-box h2 {
    margin-top: 14px;
    max-width: 760px;
    font-size: clamp(34px, 4.5vw, 62px);
    line-height: .96;
    letter-spacing: -.07em;
    font-weight: 900;
}

.dynamic-panel-final-box p {
    max-width: 680px;
    margin-top: 18px;
    color: rgba(255,255,255,.66);
    font-size: 16px;
    line-height: 1.48;
    font-weight: 740;
}

@media (max-width: 980px) {
    .dynamic-panel-detail-hero {
        padding: 120px 0 70px;
    }

    .dynamic-detail-grid,
    .dynamic-info-grid,
    .dynamic-panel-plans {
        grid-template-columns: 1fr;
    }

    .dynamic-panel-final-box {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 620px) {
    .dynamic-detail-copy h1 {
        font-size: 46px;
    }

    .dynamic-detail-actions .btn,
    .dynamic-panel-final-box .btn {
        width: 100%;
    }

    .dynamic-info-card,
    .dynamic-panel-plan-card,
    .dynamic-panel-final-box {
        border-radius: 28px;
        padding: 24px;
    }
}


/* ===== Dynamic modules and FAQ ===== */

.dynamic-modules-section {
    padding: 100px 0;
    background: var(--dark);
    color: var(--paper);
}

.dynamic-modules-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 54px;
    align-items: start;
}

.dynamic-modules-copy span,
.dynamic-faq-section .dynamic-section-head span {
    display: inline-flex;
    color: var(--lime);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.dynamic-modules-copy h2 {
    margin-top: 14px;
    font-size: clamp(36px, 5vw, 70px);
    line-height: .94;
    letter-spacing: -.075em;
    font-weight: 900;
}

.dynamic-modules-copy p {
    margin-top: 20px;
    color: rgba(255,255,255,.66);
    font-size: 17px;
    line-height: 1.48;
    font-weight: 740;
}

.dynamic-modules-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dynamic-modules-list div {
    min-height: 130px;
    padding: 22px;
    border-radius: 28px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.1);
}

.dynamic-modules-list span {
    display: block;
    color: var(--lime);
    font-size: 12px;
    font-weight: 900;
}

.dynamic-modules-list strong {
    display: block;
    margin-top: 28px;
    font-size: 20px;
    line-height: 1.05;
    letter-spacing: -.045em;
    font-weight: 900;
}

.dynamic-faq-section {
    padding: 100px 0;
    background: var(--cream);
    color: var(--ink);
}

.dynamic-faq-section .dynamic-section-head span {
    color: var(--purple);
}

.dynamic-faq-list {
    display: grid;
    gap: 14px;
}

.dynamic-faq-item {
    padding: 26px;
    border-radius: 28px;
    background: var(--paper);
    box-shadow: 0 20px 60px rgba(0,0,0,.06);
}

.dynamic-faq-item h3 {
    margin: 0;
    font-size: 24px;
    line-height: 1.05;
    letter-spacing: -.05em;
    font-weight: 900;
}

.dynamic-faq-item p {
    margin: 12px 0 0;
    color: var(--muted-dark);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 740;
}

@media (max-width: 980px) {
    .dynamic-modules-grid,
    .dynamic-modules-list {
        grid-template-columns: 1fr;
    }
}


/* ===== Dynamic site header / footer from settings ===== */

.dynamic-site-header {
    position: fixed;
    inset: 16px 0 auto;
    z-index: 100;
    pointer-events: none;
}

.dynamic-header-inner {
    min-height: 72px;
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(32, 32, 32, .78);
    border: 1px solid rgba(255,255,255,.10);
    backdrop-filter: blur(20px);
    box-shadow: 0 24px 70px rgba(0,0,0,.16);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    pointer-events: auto;
}

.dynamic-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--paper);
    min-width: max-content;
}

.dynamic-brand span {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: var(--lime);
    color: var(--ink);
    display: grid;
    place-items: center;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
}

.dynamic-brand img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 14px;
    background: rgba(255,255,255,.08);
}

.dynamic-brand strong {
    font-size: 15px;
    font-weight: 900;
    letter-spacing: -.03em;
}

.dynamic-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}

.dynamic-nav a {
    min-height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    color: rgba(255,255,255,.74);
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    font-weight: 850;
}

.dynamic-nav a:hover {
    background: rgba(255,255,255,.08);
    color: var(--paper);
}

.dynamic-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dynamic-whatsapp,
.dynamic-header-cta {
    min-height: 46px;
    padding: 0 16px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 900;
}

.dynamic-whatsapp {
    background: rgba(255,255,255,.10);
    color: var(--paper);
}

.dynamic-header-cta {
    background: var(--lime);
    color: var(--ink);
}

.dynamic-menu-toggle {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    display: none;
    place-items: center;
    padding: 0;
}

.dynamic-menu-toggle span {
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: var(--paper);
    display: block;
}

.dynamic-menu-toggle span + span {
    margin-top: 5px;
}

.dynamic-site-footer {
    padding: 90px 0 28px;
    background: var(--dark);
    color: var(--paper);
}

.dynamic-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr .7fr .8fr .7fr;
    gap: 44px;
}

.dynamic-footer-brand p {
    max-width: 420px;
    margin-top: 22px;
    color: rgba(255,255,255,.62);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 740;
}

.footer-brand-link {
    color: var(--paper);
}

.dynamic-footer-col {
    display: grid;
    align-content: start;
    gap: 10px;
}

.dynamic-footer-col h3 {
    margin: 0 0 10px;
    color: var(--lime);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 900;
}

.dynamic-footer-col a,
.dynamic-footer-col p {
    margin: 0;
    color: rgba(255,255,255,.66);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 760;
}

.dynamic-footer-col a:hover {
    color: var(--paper);
}

.dynamic-footer-bottom {
    margin-top: 64px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.10);
    display: flex;
    justify-content: space-between;
    gap: 18px;
    color: rgba(255,255,255,.46);
    font-size: 13px;
    font-weight: 800;
}

.dynamic-footer-bottom strong {
    color: rgba(255,255,255,.72);
}

@media (max-width: 980px) {
    .dynamic-site-header {
        inset: 10px 0 auto;
    }

    .dynamic-header-inner {
        border-radius: 26px;
        align-items: center;
    }

    .dynamic-menu-toggle {
        display: grid;
    }

    .dynamic-nav {
        position: absolute;
        top: calc(100% + 10px);
        left: 20px;
        right: 20px;
        padding: 14px;
        border-radius: 24px;
        background: rgba(32, 32, 32, .96);
        border: 1px solid rgba(255,255,255,.10);
        backdrop-filter: blur(18px);
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
    }

    body.dynamic-menu-open .dynamic-nav {
        display: flex;
    }

    .dynamic-nav a {
        width: 100%;
        justify-content: center;
        background: rgba(255,255,255,.06);
    }

    .dynamic-whatsapp {
        display: none;
    }

    .dynamic-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 620px) {
    .dynamic-brand strong {
        display: none;
    }

    .dynamic-header-cta {
        display: none;
    }

    .dynamic-footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .dynamic-footer-bottom {
        flex-direction: column;
    }
}

