/**
 * Sell-your-event landing — unique components (ticket, timeline, bridge).
 * Same palette/fonts as sell-course, different layout language. Scope: .se-page
 */
.se-page {
    --se-ink: #0d1321;
    --se-olive: #273b09;
    --se-lime: #d0e562;
    --se-lime-soft: #edf3d4;
    --se-orange: #ff7f11;
    --se-paper: #fbfdf8;
    --se-tint: #eef1e6;
    --se-line: #d5dbc8;
    --se-muted: #53604d;
    --se-white: #fff;
    --se-radius: 18px;
    --se-section: clamp(52px, 7vw, 88px);
    --se-body: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --se-display: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    background: var(--se-paper);
    color: var(--se-ink);
    font-family: var(--se-body);
    font-size: 1rem;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
.se-page *, .se-page *::before, .se-page *::after { box-sizing: border-box; }
.se-page h1, .se-page h2, .se-page h3, .se-page h4 {
    font-family: var(--se-display); color: var(--se-ink); margin: 0; text-wrap: balance;
}
.se-page h1 { font-size: clamp(2rem, 4.4vw, 3.35rem); line-height: 1.08; font-weight: 700; letter-spacing: -0.03em; }
.se-page h2 { font-size: clamp(1.55rem, 3vw, 2.4rem); line-height: 1.15; font-weight: 700; letter-spacing: -0.025em; }
.se-page h3 { font-size: 1.15rem; line-height: 1.3; font-weight: 650; }
.se-page h4 { font-size: 0.85rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--se-olive); margin-bottom: 0.6rem; }
.se-page p { margin: 0 0 1em; }
.se-page p:last-child { margin-bottom: 0; }
.se-page a { color: var(--se-olive); text-underline-offset: 3px; }
.se-page :focus-visible { outline: 3px solid #a04a00; outline-offset: 3px; border-radius: 4px; }

.se-wrap { width: 100%; max-width: 1240px; padding-inline: 15px; margin-inline: auto; }
@media (max-width: 767px) { .se-wrap { padding-inline: 16px; } }
.se-section { padding: var(--se-section) 0; scroll-margin-top: 90px; }
.se-section--tint { background: var(--se-tint); }
.se-section--slim { padding: clamp(36px, 5vw, 56px) 0; }

.se-eyebrow {
    display: inline-block; margin-bottom: 14px !important;
    font-family: var(--se-display); font-size: 0.72rem; font-weight: 700;
    letter-spacing: 0.14em; text-transform: uppercase; color: var(--se-olive);
}
.se-head { max-width: 100%; margin-bottom: 1.5rem; }
.se-head h2 { margin-bottom: 0.65rem; }
.se-lead { font-size: 1.05rem; color: var(--se-muted); margin-bottom: 0 !important; }

.se-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.se-crumbs ol { display: flex; flex-wrap: wrap; gap: 0.4rem 0.6rem; list-style: none; margin: 0 0 1.4rem; padding: 0; font-size: 0.88rem; color: var(--se-muted); }
.se-crumbs li:not(:last-child)::after { content: '/'; margin-left: 0.6rem; opacity: 0.5; }
.se-crumbs a { color: inherit; text-decoration: none; }
.se-crumbs a:hover { color: var(--se-olive); }

.se-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
    min-height: 48px; padding: 0.7rem 1.25rem; border-radius: 999px;
    font-family: var(--se-display); font-weight: 700; font-size: 0.95rem;
    text-decoration: none; border: 2px solid transparent; cursor: pointer;
}
.se-btn--primary { background: var(--se-lime); color: var(--se-ink); }
.se-btn--primary:hover { background: #c5db4a; color: var(--se-ink); }
.se-btn--ghost { background: transparent; border-color: var(--se-ink); color: var(--se-ink); }
.se-btn--ghost:hover { background: var(--se-ink); color: var(--se-white); }
.se-btn--block { width: 100%; }
.se-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.25rem; }
.se-more { font-weight: 700; }

.se-ticks { list-style: none; margin: 1rem 0 0; padding: 0; }
.se-ticks li { position: relative; padding-left: 1.4rem; margin-bottom: 0.45rem; }
.se-ticks li::before { content: ''; position: absolute; left: 0; top: 0.55em; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--se-olive); }
.se-ticks--muted li::before { background: var(--se-muted); }
.se-ticks--small { font-size: 0.92rem; }

/* Hero + ticket */
.se-hero { padding: clamp(28px, 5vw, 48px) 0 var(--se-section); }
.se-hero__grid { display: grid; gap: clamp(28px, 5vw, 56px); align-items: center; }
@media (min-width: 900px) {
    .se-hero--split .se-hero__grid { grid-template-columns: 1.05fr 0.95fr; }
    .se-hero--split-reverse .se-hero__grid { grid-template-columns: 0.95fr 1.05fr; }
    .se-hero--split-reverse .se-hero__text { order: 2; }
    .se-hero--stacked .se-hero__grid { max-width: 820px; margin-inline: auto; text-align: center; }
    .se-hero--stacked .se-ticks { display: inline-block; text-align: left; }
    .se-hero--stacked .se-actions { justify-content: center; }
}
.se-hero__lead { font-size: 1.12rem; color: var(--se-muted); margin-top: 1rem; }
.se-hero__note { margin-top: 0.85rem; font-size: 0.9rem; color: var(--se-muted); }
/* Buttons + no-card note as one block: the note is centred under the buttons */
.se-hero__cta { display: flex; flex-direction: column; width: fit-content; max-width: 100%; }
.se-page .se-hero__note { margin: 1rem 0 0; text-align: center; }
@media (min-width: 900px) {
    .se-hero--stacked .se-crumbs ol { justify-content: center; }
    .se-hero--stacked .se-hero__cta { margin-inline: auto; }
}

/* Vertical ticket on every screen: stub with the date on top, tear line, details below */
.se-ticket {
    display: grid; grid-template-columns: 1fr;
    width: 100%; max-width: 400px; margin-inline: auto; text-align: left;
    background: var(--se-ink); color: var(--se-white);
    border-radius: 22px; overflow: hidden;
    box-shadow: 0 22px 48px rgba(13, 19, 33, 0.2);
}
.se-ticket__stub {
    position: relative; padding: 1.4rem 1.5rem 1.25rem;
    background: linear-gradient(160deg, #1a2438, #0d1321);
    border-bottom: 2px dashed rgba(255,255,255,0.22);
    display: flex; flex-direction: column; gap: 0.3rem;
}
.se-ticket__stub::before, .se-ticket__stub::after {
    content: ''; position: absolute; bottom: -10px; width: 20px; height: 20px;
    background: var(--se-paper); border-radius: 50%;
}
.se-ticket__stub::before { left: -10px; }
.se-ticket__stub::after { right: -10px; }
.se-ticket__label { font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.7; }
.se-ticket__date { font-family: var(--se-display); font-size: 2rem; line-height: 1.05; font-weight: 700; }
.se-ticket__time { font-size: 0.95rem; color: var(--se-lime); }
.se-ticket__body { padding: 1.35rem 1.5rem 1.5rem; display: flex; flex-direction: column; gap: 0.85rem; }
.se-ticket__title { font-family: var(--se-display); font-weight: 650; font-size: 1.1rem; margin: 0; }
.se-ticket__meta { display: grid; gap: 0.45rem; margin: 0; font-size: 0.9rem; }
.se-ticket__meta div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 0.4rem; }
.se-ticket__meta dt { opacity: 0.65; }
.se-ticket__meta dd { margin: 0; font-weight: 600; }
.se-ticket__price { font-family: var(--se-display); font-size: 1.75rem; font-weight: 700; color: var(--se-lime); }
.se-ticket__cta {
    display: flex; justify-content: center; padding: 0.7rem 1rem;
    border-radius: 999px; background: var(--se-lime); color: var(--se-ink);
    font-weight: 700; font-size: 0.95rem;
}
.se-ticket__caption { margin-top: 0.75rem; font-size: 0.82rem; color: var(--se-muted); text-align: center; }
/* Stacked hero: landscape ticket (stub left, tear line, details right) */
@media (min-width: 640px) {
    .se-hero--stacked .se-ticket { grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); max-width: 660px; }
    .se-hero--stacked .se-ticket__stub {
        justify-content: center; padding: 1.5rem;
        border-bottom: 0; border-right: 2px dashed rgba(255,255,255,0.22);
    }
    .se-hero--stacked .se-ticket__stub::before,
    .se-hero--stacked .se-ticket__stub::after { left: auto; right: -11px; }
    .se-hero--stacked .se-ticket__stub::before { top: -10px; bottom: auto; }
    .se-hero--stacked .se-ticket__stub::after { bottom: -10px; }
    .se-hero--stacked .se-ticket__body { padding: 1.35rem 1.5rem; }
}

/* Facts strip */
/* Facts — compact 3-up strip, no company/legal (footer handles that) */
.se-facts { padding: 0.5rem 0 1.5rem; }
/* Highlighted panel: reads as "these features are live now", not as another page band */
.se-facts__panel {
    padding: clamp(1.1rem, 2.4vw, 1.6rem);
    border-radius: 24px;
    background:
        radial-gradient(90% 140% at 100% 0%, rgba(208, 229, 98, 0.45) 0%, rgba(208, 229, 98, 0) 55%),
        var(--se-lime-soft);
    border: 1px solid #d9e5a8;
    box-shadow: 0 14px 34px rgba(39, 59, 9, 0.08);
}
.se-facts__label {
    font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em;
    text-transform: uppercase; color: var(--se-muted); margin: 0 0 0.7rem !important;
}
.se-facts__list {
    list-style: none; margin: 0; padding: 0;
    display: grid; gap: 0.65rem;
    grid-template-columns: 1fr;
}
@media (min-width: 700px) {
    .se-facts__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
}
@media (min-width: 1100px) {
    .se-facts__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.se-facts__item {
    display: flex; flex-direction: column; gap: 0.3rem;
    padding: 0.85rem 0.95rem;
    border-radius: 14px; border: 1px solid var(--se-line);
    background: var(--se-white); min-height: 100%;
}
.se-facts__item strong {
    display: block; font-family: var(--se-display);
    font-size: 0.95rem; line-height: 1.25; letter-spacing: -0.01em;
}
.se-facts__item span { font-size: 0.86rem; color: var(--se-muted); line-height: 1.45; }
/* Icon + title on one line, text below across the full card width */
.se-facts__item:has(.se-facts__icon) {
    display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 0.7rem; row-gap: 0.6rem; align-content: start;
}
.se-facts__item:has(.se-facts__icon) strong { align-self: center; }
.se-facts__item:has(.se-facts__icon) > span:not(.se-facts__icon) { grid-column: 1 / -1; }
.se-facts__icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 10px;
    background: var(--se-lime-soft); color: var(--se-olive);
}
.se-page .se-facts__label {
    display: flex; align-items: center; gap: 0.55rem;
    margin: 0 0 1rem !important;
    font-size: clamp(1.1rem, 1.6vw, 1.3rem); font-weight: 700; letter-spacing: -0.01em; text-transform: none; color: var(--se-ink);
}
.se-page .se-facts__label::before {
    content: ""; flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%;
    background: #3f8f2f; box-shadow: 0 0 0 4px rgba(63, 143, 47, 0.18);
}
.se-facts__panel .se-facts__item { border-color: rgba(39, 59, 9, 0.12); box-shadow: 0 2px 8px rgba(13, 19, 33, 0.04); }
.se-facts__panel .se-facts__icon { background: var(--se-olive); color: var(--se-lime); }

/* Before / after — SaaS-style comparison: topic · usual way (muted) · SelfGrow (accent column) */
.se-compare { display: grid; gap: 0.75rem; margin-top: 1.75rem; }
.se-compare__head { display: none; }
.se-compare__row {
    display: grid; gap: 0;
    border: 1px solid var(--se-line); border-radius: 18px; overflow: hidden;
    background: var(--se-white);
}
.se-compare__cell { display: flex; align-items: flex-start; gap: 0.6rem; padding: 0.85rem 1.1rem; font-size: 0.95rem; line-height: 1.5; }
.se-compare__cell--topic {
    padding-bottom: 0.25rem;
    font: 700 0.78rem/1.3 var(--se-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--se-olive);
}
.se-compare__cell--before { color: #6b7466; }
.se-compare__cell--before .se-compare__icon { color: #b8a597; }
.se-compare__cell--after { background: #1f300a; color: #f4f8e6; font-weight: 500; }
.se-compare__cell--after .se-compare__icon { color: var(--se-lime); }
.se-compare__icon { flex: 0 0 auto; margin-top: 0.2rem; }
.se-compare__brand {
    display: inline-flex; align-items: center; gap: 0.45rem;
}
.se-compare__brand::before {
    content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--se-lime);
    box-shadow: 0 0 0 3px rgba(208, 229, 98, 0.25);
}
@media (min-width: 860px) {
    /* One table: rows share columns; the SelfGrow column reads as a single highlighted panel */
    .se-compare {
        gap: 0; border: 1px solid var(--se-line); border-radius: 22px; overflow: hidden;
        background: var(--se-white); box-shadow: 0 16px 40px rgba(13, 19, 33, 0.06);
    }
    .se-compare__head,
    .se-compare__row {
        display: grid; grid-template-columns: minmax(150px, 0.55fr) minmax(0, 1fr) minmax(0, 1.15fr);
        border: 0; border-radius: 0;
    }
    .se-compare__head { background: var(--se-tint); }
    .se-compare__head .se-compare__cell {
        padding: 0.95rem 1.4rem;
        font: 700 0.8rem/1.3 var(--se-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--se-muted);
    }
    .se-compare__head .se-compare__cell--after {
        color: var(--se-white); letter-spacing: 0.04em;
        background: linear-gradient(160deg, #2a4410, #1f300a);
    }
    .se-compare__row + .se-compare__row .se-compare__cell--topic,
    .se-compare__row + .se-compare__row .se-compare__cell--before { border-top: 1px solid var(--se-line); }
    .se-compare__row + .se-compare__row .se-compare__cell--after { border-top: 1px solid rgba(255, 255, 255, 0.08); }
    .se-compare__cell { padding: 1.15rem 1.4rem; align-items: center; }
    .se-compare__cell--topic {
        padding-bottom: 1.15rem;
        font-size: 0.98rem; letter-spacing: 0; text-transform: none; color: var(--se-ink);
    }
    .se-compare__icon { margin-top: 0; }
}
@media (max-width: 799px) {
    .se-compare__row .se-compare__cell--after { border-top: 1px dashed var(--se-line); }
    .se-compare__head .se-compare__cell--after { border-top: 1px solid var(--se-line); }
}
.se-compare__note {
    margin-top: 0.9rem; color: var(--se-muted); font-size: 0.9rem;
    max-width: 62ch; line-height: 1.5;
}

/* Timeline rail — 3 equal columns desktop, vertical mobile */
.se-rail { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.se-rail__item { display: flex; flex-direction: column; min-width: 0; }

/* Step header: number · phase name · line to the next phase */
.se-rail__marker { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.85rem; }
.se-rail__dot {
    flex: 0 0 auto; width: 2.1rem; height: 2.1rem; border-radius: 12px;
    display: inline-flex; align-items: center; justify-content: center;
    font: 700 0.9rem/1 var(--se-display);
    background: var(--se-olive); color: var(--se-lime);
    box-shadow: 0 6px 14px rgba(13, 19, 33, 0.14);
}
.se-rail__item:nth-child(2) .se-rail__dot { background: var(--se-ink); }
.se-rail__item:nth-child(3) .se-rail__dot { background: var(--se-orange); color: var(--se-white); }
.se-rail__label {
    flex: 0 0 auto; font: 700 0.78rem/1 var(--se-display);
    letter-spacing: 0.1em; text-transform: uppercase; color: var(--se-ink);
}
.se-rail__line {
    flex: 1; height: 2px; min-width: 1rem; border-radius: 2px;
    background: linear-gradient(90deg, var(--se-olive), #c9d4b1);
}
.se-rail__item:last-child .se-rail__line { background: linear-gradient(90deg, #c9d4b1, transparent); }

.se-rail__card {
    border: 1px solid var(--se-line); border-radius: var(--se-radius);
    background: var(--se-white); padding: 1.15rem 1.15rem 1.2rem;
    display: flex; flex-direction: column; gap: 0.6rem; height: 100%;
    box-shadow: 0 10px 26px rgba(13, 19, 33, 0.05);
}
.se-rail__card h3 { font-size: 1.12rem; line-height: 1.25; }
.se-rail__intro { margin: 0 !important; font-size: 0.92rem; color: var(--se-muted); line-height: 1.5; }
.se-rail__cols { display: grid; gap: 0.75rem; margin-top: 0.25rem; }
.se-rail__col { padding: 0.8rem 0.85rem; border-radius: 12px; background: var(--se-tint); }
.se-rail__col--you { background: #f7f4ef; }
.se-rail__col h4 { margin-bottom: 0.45rem; }
.se-rail__col .se-ticks { margin-top: 0; }
.se-rail__col .se-ticks li { font-size: 0.88rem; margin-bottom: 0.3rem; }
.se-rail__note {
    margin: auto 0 0 !important; padding-top: 0.6rem;
    font-size: 0.82rem; color: var(--se-muted); line-height: 1.45;
    border-top: 1px dashed var(--se-line);
}
.se-rail__note:empty { display: none; }

/* Mobile: segmented switch, one phase visible */
.se-rail-switch {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px;
    margin: 0 0 1rem; padding: 4px; border-radius: 14px;
    background: var(--se-white); border: 1px solid var(--se-line);
}
.se-rail-switch__btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
    min-height: 44px; padding: 0 0.4rem; border: 0; border-radius: 10px;
    background: transparent; color: var(--se-muted); cursor: pointer;
    font: 700 0.86rem/1.1 var(--se-display);
}
.se-rail-switch__n {
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.35rem; height: 1.35rem; border-radius: 7px; font-size: 0.74rem;
    background: var(--se-tint); color: var(--se-olive);
}
.se-rail-switch__btn[aria-selected="true"] { background: var(--se-ink); color: var(--se-white); }
.se-rail-switch__btn[aria-selected="true"] .se-rail-switch__n { background: var(--se-lime); color: var(--se-ink); }
.se-rail-switch__btn:focus-visible { outline: 3px solid var(--se-orange); outline-offset: 2px; }
@media (max-width: 959px) {
    .se-rail__item:not(.is-active) { display: none; }
    .se-rail__marker { display: none; }
}

@media (min-width: 960px) {
    .se-rail-switch { display: none; }
    /* Rows shared by the 3 cards: header · title · intro · SelfGrow box · "you" box · note */
    .se-rail {
        grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(6, auto);
        column-gap: 1.25rem; row-gap: 0;
    }
    .se-rail__item { display: grid; grid-row: span 6; grid-template-rows: subgrid; }
    .se-rail__card { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0.6rem; }
    .se-rail__cols { display: contents; }
    .se-rail__col:first-of-type { margin-top: 0.25rem; }
    .se-rail__note { grid-row: 5; margin: 0 !important; align-self: end; }
    /* the line continues through the gap and stops just before the next number */
    .se-rail__item:not(:last-child) .se-rail__line { margin-right: calc(-1.25rem + 0.6rem); }
}

/* Formats — equal 2×2 cards, no tab void */
.se-formats {
    display: grid; gap: 0.85rem;
    grid-template-columns: 1fr;
}
@media (min-width: 700px) {
    .se-formats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.se-format {
    position: relative;
    display: flex; flex-direction: column; gap: 0.45rem;
    padding: 1.15rem 1.15rem 1.2rem; padding-top: 1.35rem;
    border: 1px solid var(--se-line); border-radius: var(--se-radius);
    background: var(--se-white); min-height: 100%;
}
.se-format__n {
    position: absolute; top: 0.85rem; right: 0.95rem;
    width: 1.65rem; height: 1.65rem; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--se-display); font-weight: 700; font-size: 0.78rem;
    background: var(--se-lime); color: var(--se-ink);
}
.se-format__label {
    margin: 0 !important; font-size: 0.72rem; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase; color: var(--se-olive);
    padding-right: 2rem;
}
.se-format h3 { font-size: 1.12rem; line-height: 1.25; padding-right: 1.5rem; }
.se-format__intro { margin: 0 !important; font-size: 0.94rem; color: var(--se-muted); }
.se-format__for {
    margin: 0 !important; font-size: 0.9rem;
    padding: 0.45rem 0.6rem; border-radius: 8px; background: var(--se-tint);
}
.se-format__for span { font-weight: 700; color: var(--se-olive); }
.se-format__steps {
    margin: 0.35rem 0 0; padding-left: 1.15rem; flex: 1;
}
.se-format__steps li { margin-bottom: 0.35rem; font-size: 0.92rem; }
.se-format__limit {
    margin: 0.35rem 0 0 !important; font-size: 0.84rem; color: var(--se-muted);
    padding-top: 0.55rem; border-top: 1px dashed var(--se-line);
}
.se-format__link {
    margin-top: 0.35rem; font-weight: 700; font-size: 0.92rem;
    text-decoration: none; color: var(--se-olive);
}
.se-format__link:hover { text-decoration: underline; }

/* Path */
/* Attendee journey — stepper: icons on a connecting line; steps SelfGrow runs itself get the accent */
.se-journey {
    --se-j-marker: 52px;
    position: relative; list-style: none; margin: 1.75rem 0 0; padding: 0;
    display: grid; gap: 0;
}
.se-journey__step {
    position: relative; display: grid; grid-template-columns: var(--se-j-marker) minmax(0, 1fr);
    column-gap: 1rem; padding-bottom: 1.5rem;
}
.se-journey__step:last-child { padding-bottom: 0; }
/* vertical connector on mobile */
.se-journey__step:not(:last-child)::before {
    content: ''; position: absolute; left: calc(var(--se-j-marker) / 2 - 1px); top: var(--se-j-marker); bottom: 0;
    width: 2px; background: linear-gradient(180deg, var(--se-line), #c3cfa6);
}
.se-journey__marker {
    position: relative; z-index: 1;
    display: inline-flex; align-items: center; justify-content: center;
    width: var(--se-j-marker); height: var(--se-j-marker); border-radius: 16px;
    background: var(--se-white); color: var(--se-olive);
    border: 1.5px solid #c9d4b1; box-shadow: 0 6px 16px rgba(13, 19, 33, 0.06);
}
.se-journey__step--auto .se-journey__marker {
    background: linear-gradient(160deg, #2a4410, #1f300a); color: var(--se-lime); border-color: transparent;
    box-shadow: 0 10px 22px rgba(31, 48, 10, 0.25);
}
.se-journey__body {
    padding: 0.95rem 1.1rem 1.05rem; border-radius: 16px;
    background: var(--se-white); border: 1px solid var(--se-line);
}
.se-journey__step--auto .se-journey__body { border-color: #cfdc93; background: #fafcef; }
.se-journey__meta { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.45rem !important; }
.se-journey__num { font: 700 0.78rem/1 var(--se-display); color: var(--se-muted); letter-spacing: 0.06em; }
.se-journey__who {
    padding: 0.2rem 0.55rem; border-radius: 999px;
    background: var(--se-tint); color: var(--se-muted);
    font: 700 0.68rem/1.2 var(--se-display); letter-spacing: 0.06em; text-transform: uppercase;
}
.se-journey__step--auto .se-journey__who { background: var(--se-lime); color: var(--se-ink); }
.se-journey__body h3 { font-size: 1.04rem; line-height: 1.3; margin-bottom: 0.35rem; }
.se-journey__text { margin: 0 !important; font-size: 0.9rem; line-height: 1.5; color: var(--se-muted); }

@media (min-width: 1000px) {
    /* Rows shared by all five steps: marker · meta · title · text, so every line sits at the same height */
    .se-journey {
        --se-j-gap: 1.25rem;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        grid-template-rows: calc(var(--se-j-marker) + 1.25rem) auto auto 1fr;
        column-gap: var(--se-j-gap); row-gap: 0;
    }
    /* line runs exactly from the first to the last marker centre */
    .se-journey::before {
        content: ''; position: absolute; top: calc(var(--se-j-marker) / 2 - 1px); height: 2px;
        left: calc((100% - 4 * var(--se-j-gap)) / 10);
        right: calc((100% - 4 * var(--se-j-gap)) / 10);
        background: linear-gradient(90deg, #c9d4b1 0%, var(--se-olive) 40%, var(--se-olive) 60%, #c9d4b1 100%);
    }
    .se-journey__step {
        grid-row: span 4; display: grid; grid-template-rows: subgrid;
        grid-template-columns: 1fr; padding-bottom: 0; justify-items: center;
    }
    .se-journey__step:not(:last-child)::before { display: none; }
    .se-journey__marker { align-self: start; }
    .se-journey__body {
        grid-row: 2 / span 3; display: grid; grid-template-rows: subgrid; row-gap: 0;
        width: 100%; padding: 1.15rem 1.15rem 1.3rem; text-align: center; align-content: start;
    }
    .se-journey__meta { justify-content: center; margin: 0 0 0.7rem !important; }
    .se-journey__body h3 {
        align-self: start; margin-bottom: 0.5rem; font-size: 1.02rem; text-wrap: balance;
    }
    .se-journey__text { align-self: start; font-size: 0.88rem; text-wrap: pretty; }
}

/* Edge cases under the stepper */
.se-journey__edge {
    margin-top: 1.75rem; padding: clamp(1rem, 2.2vw, 1.4rem);
    border-radius: 20px; background: var(--se-white); border: 1px solid var(--se-line);
}
.se-page .se-journey__edge-title {
    margin: 0 0 0.9rem; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--se-muted);
}
.se-journey__edge-grid { display: grid; gap: 0.75rem; }
@media (min-width: 760px) { .se-journey__edge-grid { grid-template-columns: 1fr 1fr; } }
.se-journey__case {
    display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 0.85rem; align-items: start;
    padding: 0.9rem 1rem; border-radius: 14px; background: var(--se-paper);
}
.se-journey__case-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 12px; background: #fff1e2; color: #b45a07;
}
.se-journey__case strong { display: block; margin-bottom: 0.2rem; font-family: var(--se-display); font-size: 0.98rem; }
.se-journey__case p { margin: 0 !important; font-size: 0.9rem; line-height: 1.5; color: var(--se-muted); }

/* Course bridge — problem vs flow diagram, steps, use cases, footer with caveats + CTA */
.se-bridge__intro { display: grid; gap: 1rem; margin-top: 1.75rem; }
@media (min-width: 900px) { .se-bridge__intro { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 1.25rem; } }

.se-bridge__pains {
    display: flex; flex-direction: column;
    padding: 1.3rem 1.35rem; border-radius: 20px;
    background: #fff7ef; border: 1px solid #f3dcc4;
}
.se-page .se-bridge__pains h3 {
    margin: 0 0 0.9rem; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #a14a00;
}
.se-bridge__pains ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
@media (min-width: 900px) {
    /* spread the four pains over the height of the flow panel next to it */
    .se-bridge__pains ul { flex: 1; align-content: space-between; gap: 0; padding: 0.25rem 0; }
    .se-bridge__pains li { padding: 0.55rem 0; border-bottom: 1px solid #f3dcc4; }
    .se-bridge__pains li:last-child { border-bottom: 0; }
}
.se-bridge__pains li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 0.6rem; align-items: start; font-size: 0.95rem; line-height: 1.45; }
.se-bridge__pains li svg {
    width: 22px; height: 22px; padding: 4px; border-radius: 7px; margin-top: 0.05rem;
    background: #fde2c8; color: #b45a07;
}

.se-bridge__flow {
    margin: 0; padding: 1.3rem 1.35rem 1.2rem; border-radius: 20px; color: #f4f8e6;
    background:
        radial-gradient(120% 120% at 100% 0%, rgba(208, 229, 98, 0.18) 0%, rgba(208, 229, 98, 0) 55%),
        linear-gradient(160deg, #22370b 0%, #1a2a07 100%);
    box-shadow: 0 18px 40px rgba(26, 42, 7, 0.22);
    display: flex; flex-direction: column;
}
.se-bridge__flow-title {
    margin-bottom: 1.1rem; font: 700 0.78rem/1.2 var(--se-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--se-lime);
}
.se-bridge__nodes { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; flex: 1; align-content: center; }
.se-bridge__node {
    position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 0.8rem; align-items: center;
    padding: 0.75rem 0.85rem; border-radius: 14px;
    background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.1);
}
.se-bridge__node strong { font-family: var(--se-display); font-size: 1rem; color: #fff; }
.se-bridge__node > span:last-child { grid-column: 2; font-size: 0.85rem; color: rgba(244, 248, 230, 0.72); }
.se-bridge__node-icon {
    grid-row: span 2; display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; border-radius: 12px; background: var(--se-lime); color: #1a2a07;
}
/* arrows between nodes (vertical on mobile) */
.se-bridge__node:not(:last-child)::after {
    content: ''; position: absolute; left: calc(0.85rem + 22px - 5px); bottom: -0.9rem;
    width: 10px; height: 0.9rem;
    background: linear-gradient(var(--se-lime), var(--se-lime)) center / 2px 100% no-repeat;
}
.se-bridge__flow-note {
    margin: 1rem 0 0 !important; padding-top: 0.8rem; border-top: 1px dashed rgba(255, 255, 255, 0.18);
    font-size: 0.84rem; color: rgba(244, 248, 230, 0.75);
}
@media (min-width: 900px) {
    .se-bridge__nodes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
    .se-bridge__node {
        grid-template-columns: 1fr; grid-template-rows: auto auto auto; align-content: start;
        justify-items: center; text-align: center; row-gap: 0.4rem;
        padding: 1.2rem 0.75rem 1.1rem;
    }
    .se-bridge__node > span:last-child { grid-column: 1; }
    .se-bridge__node-icon { grid-row: auto; margin-bottom: 0.25rem; }
    .se-bridge__node:not(:last-child)::after {
        left: auto; right: -1.5rem; top: 50%; bottom: auto; width: 1.5rem; height: 12px; transform: translateY(-50%);
        background:
            linear-gradient(var(--se-lime), var(--se-lime)) left center / calc(100% - 6px) 2px no-repeat,
            conic-gradient(from 225deg at 100% 50%, var(--se-lime) 0 90deg, transparent 0) right center / 6px 12px no-repeat;
    }
}

/* Steps: swipeable row on phones, 2 columns on tablets, 4 aligned columns on desktop */
.se-bridge-flow { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: 0.85rem; }
@media (max-width: 699px) {
    .se-bridge-flow {
        grid-auto-flow: column; grid-auto-columns: 82%; gap: 0.75rem;
        overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
        margin-inline: -16px; padding: 0.25rem 16px 0.75rem; scroll-padding-inline: 16px;
        scrollbar-width: none;
    }
    .se-bridge-flow::-webkit-scrollbar { display: none; }
    .se-bridge-flow li { scroll-snap-align: start; }
}
@media (min-width: 700px) { .se-bridge-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) {
    .se-bridge-flow { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto auto 1fr; gap: 0 1rem; }
    .se-bridge-flow li { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0.55rem; }
}
.se-bridge-flow li {
    display: flex; flex-direction: column; gap: 0.55rem;
    padding: 1.1rem 1.15rem 1.2rem; border-radius: 18px; background: var(--se-white);
    border: 1px solid var(--se-line); box-shadow: 0 8px 22px rgba(13, 19, 33, 0.04);
}
.se-bridge-flow__head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.se-bridge-flow__n { font: 800 1.05rem/1 var(--se-display); color: #b9c79a; letter-spacing: 0.02em; }
.se-bridge-flow li h3 { margin: 0; font-size: 1.02rem; line-height: 1.3; text-wrap: balance; }
.se-bridge-flow li p { margin: 0 !important; font-size: 0.9rem; line-height: 1.5; color: var(--se-muted); }
.se-bridge-tag {
    display: inline-flex; align-self: start; padding: 0.22rem 0.55rem; border-radius: 999px;
    font: 700 0.68rem/1.2 var(--se-display); letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap;
}
.se-bridge-tag--manual { background: var(--se-lime-soft); color: var(--se-olive); }
.se-bridge-tag--auto { background: #e5f5ea; color: #1d6b3a; }
.se-bridge-tag--external { background: #ece8fb; color: #4a3a8a; }

/* Use cases */
.se-page .se-bridge__subtitle { margin: 2rem 0 0.85rem; font-size: 1.15rem; }
.se-bridge-models { display: grid; gap: 0.85rem; }
@media (min-width: 800px) { .se-bridge-models { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
.se-bridge-models article {
    display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 0.85rem; row-gap: 0.25rem; align-content: start;
    padding: 1.1rem 1.15rem; border-radius: 18px; background: var(--se-tint); border: 1px solid #dfe5cf;
}
.se-bridge-models__icon {
    grid-row: span 2; display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 12px; background: var(--se-white); color: var(--se-olive);
    box-shadow: 0 4px 10px rgba(13, 19, 33, 0.06);
}
.se-page .se-bridge-models h4 { margin: 0.1rem 0 0; font-size: 1rem; letter-spacing: 0; text-transform: none; color: var(--se-ink); }
.se-bridge-models p { margin: 0 !important; font-size: 0.9rem; line-height: 1.5; color: var(--se-muted); }

/* Footer: caveats + CTA */
.se-bridge__footer {
    display: grid; gap: 1.25rem; align-items: center; margin-top: 1.75rem;
    padding: 1.25rem 1.35rem; border-radius: 20px; background: var(--se-white); border: 1px solid var(--se-line);
}
@media (min-width: 960px) { .se-bridge__footer { grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; } }
.se-page .se-bridge-limits h3 {
    display: flex; align-items: center; gap: 0.4rem; margin: 0 0 0.55rem;
    font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--se-muted);
}
.se-bridge-limits ul { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.25rem; font-size: 0.9rem; color: var(--se-muted); }
.se-bridge__actions { margin: 0; flex-wrap: wrap; }
@media (min-width: 960px) { .se-bridge__actions { justify-content: flex-end; } }

/* Pricing — same visual language as homepage single-pricing (mirrored in sell-course.css) */
.se-plans {
    display: grid; gap: 1.25rem; margin: 1.5rem 0 2rem; align-items: stretch;
    padding-top: 0.75rem;
}
@media (min-width: 900px) {
    .se-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }
}
.se-plans[hidden] { display: none; }
.se-plan {
    position: relative; display: flex; flex-direction: column; min-height: 100%;
    padding: 0; text-align: center;
    border: 2px solid #d8dde4; border-radius: 22px;
    background: var(--se-white);
    box-shadow: 0 8px 22px rgba(13, 19, 33, 0.04);
}
.se-plan__inner {
    display: flex; flex-direction: column; height: 100%;
    padding: clamp(20px, 2.6vw, 28px);
}
.se-plan__name {
    margin: 0 0 12px; color: #111827;
    font-size: clamp(1.55rem, 2.3vw, 1.9rem); line-height: 1.08; font-weight: 700;
}
.se-plan__desc {
    margin: 0 auto 10px; max-width: 92%;
    color: #5a6571; font-size: 1.05rem; line-height: 1.35;
}
.se-plan__price {
    margin: 4px 0 !important;
    font-size: clamp(2.3rem, 3.6vw, 2.8rem); font-weight: 800;
    color: #2b3f10; line-height: 1; font-family: var(--se-display);
}
.se-plan__period {
    margin: 0 0 6px !important; color: #4b5563; font-weight: 700; font-size: 1.05rem;
}
.se-plan__vat { display: block; margin-top: 2px; font-size: 0.92rem; font-weight: 600; }
.se-plan__fee {
    margin: 0 0 6px !important; color: #374151;
    font-size: 0.95rem; font-weight: 600; line-height: 1.35;
}
.se-plan__fee--zero { color: #1f7a34; }
.se-plan__trial {
    margin: 0 0 10px !important; color: #374151;
    font-size: 0.95rem; font-weight: 600; line-height: 1.35;
}
.se-plan__features {
    list-style: none; margin: 0 0 20px; padding: 0;
    text-align: left; display: grid; gap: 9px;
}
.se-plan__features li {
    display: flex; align-items: flex-start; gap: 10px;
    font-size: 0.95rem; color: #111827; line-height: 1.4;
}
.se-plan__check {
    color: #57c45d; flex: 0 0 auto; margin-top: 3px;
}
.se-plan__cta {
    margin-top: auto; width: 100%; min-height: 56px;
    border-radius: 12px !important; font-size: 1.1rem; font-weight: 700;
}
.se-plan .se-btn--ghost {
    background: var(--se-white); border-color: #d8dde4; color: var(--se-ink);
}
.se-plan .se-btn--ghost:hover {
    border-color: var(--se-olive); color: var(--se-olive);
}

.se-plan--featured {
    border-color: #2a480e;
    background:
        radial-gradient(120% 100% at 100% 0%, rgba(208, 229, 98, 0.12) 0%, rgba(39, 59, 9, 0) 46%),
        linear-gradient(160deg, #1a2a05 0%, #243b0a 52%, #1a2a05 100%);
    box-shadow: 0 16px 30px rgba(18, 33, 5, 0.35);
    transform: translateY(-10px);
}
.se-plan--featured::before {
    content: attr(data-most-popular);
    position: absolute; left: 50%; top: -14px; transform: translateX(-50%);
    background: #f18934; color: #fff; border-radius: 999px;
    padding: 6px 14px; font-size: 0.76rem; font-weight: 800;
    letter-spacing: 0.05em; text-transform: uppercase; white-space: nowrap;
}
.se-plan--featured .se-plan__name,
.se-plan--featured .se-plan__desc,
.se-plan--featured .se-plan__price,
.se-plan--featured .se-plan__period,
.se-plan--featured .se-plan__fee,
.se-plan--featured .se-plan__trial,
.se-plan--featured .se-plan__features li {
    color: #fff;
}
.se-plan--featured .se-plan__fee--zero { color: #d0e562; }
.se-plan--featured .se-plan__check { color: #d0e562; }
.se-plan--featured .se-plan__cta,
.se-plan--featured .se-btn--primary {
    background: #ff7f11; border-color: #ff7f11; color: #0d1321;
}
.se-plan--featured .se-plan__cta:hover,
.se-plan--featured .se-btn--primary:hover {
    background: #f18934; border-color: #f18934; color: #0d1321;
}

.se-calc {
    padding: 1.45rem 1.5rem; border-radius: 22px; border: 2px solid #d8dde4;
    background: var(--se-white);
}
.se-calc__inputs { display: grid; gap: 0.85rem; margin: 0.85rem 0; }
@media (min-width: 560px) { .se-calc__inputs { grid-template-columns: 1fr 1fr; } }
.se-calc label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 0.35rem; }
.se-calc input {
    width: 100%; min-height: 46px; border: 1px solid var(--se-line); border-radius: 12px;
    padding: 0.5rem 0.8rem; font: inherit; background: var(--se-paper);
}
.se-calc__revenue { font-weight: 700; font-family: var(--se-display); }
.se-calc__rows { display: grid; gap: 0.5rem; margin: 0.85rem 0; }
.se-calc__row {
    display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); gap: 0.75rem; align-items: center;
    padding: 0.6rem 0.75rem; border-radius: 12px; background: var(--se-tint);
}
.se-calc__row output { text-align: right; font-variant-numeric: tabular-nums; }
.se-calc__row--head {
    background: none; padding-block: 0; font-size: 0.78rem; font-weight: 700;
    letter-spacing: 0.04em; text-transform: uppercase; color: var(--se-muted);
}
.se-calc__row--head span + span { text-align: right; }
.se-calc__plan { min-width: 0; }
.se-calc__warn { display: block; margin-top: 2px; font-size: 0.78rem; font-weight: 600; color: #a14a00; }
.se-calc__row.is-over { opacity: 0.78; }
.se-calc__row.is-lowest { background: var(--se-lime-soft); font-weight: 700; box-shadow: inset 0 0 0 2px #b9cf45; }
.se-calc__best { font-size: 0.92rem; color: var(--se-olive); font-weight: 600; }
.se-calc__note { font-size: 0.85rem; color: var(--se-muted); }

/* Pricing: key promises above the cards */
.se-pricing__highlights {
    list-style: none; margin: 1.25rem 0 0; padding: 0;
    display: flex; flex-wrap: wrap; gap: 0.5rem 0.65rem;
}
.se-pricing__highlights li {
    display: inline-flex; align-items: center; gap: 0.45rem;
    padding: 0.45rem 0.85rem; border-radius: 999px;
    background: var(--se-white); border: 1px solid var(--se-line);
    font-size: 0.92rem; font-weight: 600; color: var(--se-ink);
}
.se-pricing__highlights svg { color: #3f8f2f; flex: 0 0 auto; }

/* Month / year switch */
.se-period {
    display: inline-flex; gap: 4px; margin: 1.5rem 0 0.25rem; padding: 4px;
    border-radius: 999px; background: var(--se-white); border: 1px solid var(--se-line);
}
.se-period__btn {
    display: inline-flex; align-items: center; gap: 0.45rem;
    min-height: 40px; padding: 0 1.1rem; border: 0; border-radius: 999px;
    background: transparent; color: var(--se-ink); font: 700 0.95rem var(--se-display); cursor: pointer;
}
.se-period__btn[aria-selected="true"] { background: var(--se-ink); color: var(--se-white); }
.se-period__badge {
    padding: 2px 8px; border-radius: 999px; background: var(--se-lime); color: var(--se-ink);
    font-size: 0.72rem; font-weight: 800;
}
.se-period__btn:focus-visible { outline: 3px solid var(--se-orange); outline-offset: 2px; }

.se-plan__savings { margin: 0 0 8px !important; color: #1f7a34; font-weight: 700; font-size: 0.92rem; }
.se-plan--featured .se-plan__savings { color: #d0e562; }

/* Plan limits: one KPI strip, value on top, label below, "i" in the corner */
.se-plan__stats {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 1rem 0 0.9rem; border: 1px solid #e3e8dc; border-radius: 14px; background: #f8faf4;
}
.se-plan__stat {
    position: relative; display: flex; flex-direction: column-reverse; align-items: center; gap: 3px;
    min-width: 0; padding: 0.8rem 0.4rem 0.7rem; text-align: center;
}
.se-plan__stat + .se-plan__stat { border-left: 1px solid #e3e8dc; }
.se-plan__stat dt {
    margin: 0; font-size: 0.76rem; font-weight: 600; line-height: 1.2; color: #6b7280;
}
.se-plan__stat dd {
    margin: 0; font: 700 1.35rem/1.05 var(--se-display); letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums; color: var(--se-ink); white-space: nowrap;
}
.se-plan__stat .se-tip { position: absolute; top: 2px; right: 2px; width: 22px; height: 22px; margin: 0; opacity: 0.7; }
.se-plan__stat .se-tip:hover, .se-plan__stat .se-tip[aria-expanded="true"] { opacity: 1; }
.se-plan__stat .se-tip svg { width: 13px; height: 13px; }
.se-plan--featured .se-plan__stats { border-color: rgba(255, 255, 255, 0.16); background: rgba(255, 255, 255, 0.05); }
.se-plan--featured .se-plan__stat + .se-plan__stat { border-left-color: rgba(255, 255, 255, 0.16); }
.se-plan--featured .se-plan__stat dt { color: rgba(255, 255, 255, 0.7); }
.se-plan--featured .se-plan__stat dd { color: #fff; }

.se-plan__fee { display: flex; align-items: center; justify-content: center; gap: 4px; }
.se-plan__label { flex: 1 1 auto; }

/* "i" hint */
.se-tip-host { position: relative; }
.se-tip {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 28px; height: 28px; margin: -5px -6px -5px 0; padding: 0;
    border: 0; border-radius: 50%; background: transparent; color: #6b7280; cursor: help;
}
.se-tip:hover, .se-tip[aria-expanded="true"] { color: var(--se-olive); background: rgba(39, 59, 9, 0.08); }
.se-tip:focus-visible { outline: 2px solid var(--se-orange); outline-offset: 1px; }
.se-plan--featured .se-tip { color: rgba(255, 255, 255, 0.75); }
.se-plan--featured .se-tip:hover,
.se-plan--featured .se-tip[aria-expanded="true"] { color: #d0e562; background: rgba(255, 255, 255, 0.1); }
.se-tip__bubble {
    position: absolute; z-index: 30; left: 0; right: 0; bottom: calc(100% + 8px);
    padding: 10px 12px; border-radius: 10px;
    background: var(--se-ink); color: #fff;
    font: 400 0.85rem/1.45 var(--se-body); text-align: left; text-transform: none; letter-spacing: 0;
    box-shadow: 0 12px 28px rgba(13, 19, 33, 0.28);
}
.se-tip__bubble[hidden] { display: none; }
.se-plan__stat .se-tip__bubble { white-space: normal; overflow-wrap: break-word; }
.se-plan--featured .se-tip__bubble { background: #fff; color: var(--se-ink); }
.se-plan__stats .se-tip__bubble { left: 0; right: auto; width: min(260px, 72vw); }
.se-plan__stat:nth-child(2) .se-tip__bubble { left: auto; right: 0; }
@media (prefers-reduced-motion: no-preference) {
    .se-tip__bubble { animation: se-tip-in 0.14s ease-out; }
    @keyframes se-tip-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 899px) {
    .se-plans { grid-template-columns: 1fr; gap: 1.6rem; padding-top: 1rem; }
    .se-plan--featured { transform: none; box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
    .se-plan--featured { transform: none; }
}

/* Pricing — compact layout (overrides above) */
.se-pricing__highlights { margin-top: 1rem; }
.se-plans { margin: 1.25rem 0 1rem; }
/* Room for the lifted popular plan + its badge below the highlight chips / period switch */
@media (min-width: 900px) { .se-plans { margin-top: 2.5rem; } }
.se-plan__inner { padding: 1.35rem 1.35rem 1.4rem; text-align: left; }
.se-plan__top { min-height: 4.6rem; text-align: center; }
.se-plan__name { margin: 0 0 0.3rem; font-size: 1.35rem; }
.se-plan__desc {
    margin: 0 !important; max-width: none; font-size: 0.9rem; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* Price on one row, centred: big whole euros, raised cents + €, period at the baseline */
.se-plan__pricing { margin: 1rem 0 0.1rem; text-align: center; }
.se-plan__price {
    display: flex; align-items: flex-end; justify-content: center; flex-wrap: wrap; column-gap: 0.15rem;
    margin: 0 !important; font: 800 2.75rem/1 var(--se-display); letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
}
.se-plan__amount { line-height: 0.9; }
.se-plan__fraction { align-self: flex-start; font-size: 0.42em; font-weight: 700; letter-spacing: 0; line-height: 1.1; }
.se-plan__period {
    margin: 0 0 0.1rem 0.35rem !important; font: 600 0.92rem/1 var(--se-body); letter-spacing: 0; color: #6b7280;
}
.se-plan--featured .se-plan__period { color: rgba(255, 255, 255, 0.75); }
.se-plan__old { align-self: center; margin-right: 0.45rem; font-size: 0.4em; font-weight: 600; letter-spacing: 0; opacity: 0.55; }
.se-plan__pricing .se-plan__savings { margin: 0.45rem 0 0 !important; }
.se-plan__stats .se-tip__bubble { width: min(240px, 70vw); }
.se-plan__stat:nth-child(2) .se-tip__bubble { left: 50%; right: auto; translate: -50% 0; }
.se-plan__stat:nth-child(3) .se-tip__bubble { left: auto; right: 0; }
.se-plan__terms { display: grid; gap: 0.2rem; min-height: 2.6rem; align-content: start; }
.se-plan__fee, .se-plan__trial { margin: 0 !important; justify-content: flex-start; font-size: 0.88rem; }
.se-plan__payments {
    display: grid; gap: 0.4rem; margin: 0.75rem 0 0.85rem; padding-top: 0.75rem;
    border-top: 1px solid #e6eadf;
}
.se-plan--featured .se-plan__payments { border-top-color: rgba(255, 255, 255, 0.14); }
.se-plan__payments-label { font: 700 0.68rem/1 var(--se-display); letter-spacing: 0.08em; text-transform: uppercase; color: #6b7280; }
.se-plan--featured .se-plan__payments-label { color: rgba(255, 255, 255, 0.7); }
.se-plan__payments p { margin: 0 !important; font-size: 0.86rem; font-weight: 600; line-height: 1.45; color: var(--se-ink); }
.se-plan--featured .se-plan__payments p { color: #fff; }
.se-plan__features { gap: 4px; margin: 0 0 1.1rem; }
.se-plan__features li { font-size: 0.88rem; gap: 8px; }
.se-plan__check { margin-top: 2px; }
.se-plan__cta { min-height: 48px; font-size: 1rem; }

/* Phones: plans become a swipeable row (popular plan centred by script) */
@media (max-width: 899px) {
    .se-plans {
        display: grid; grid-auto-flow: column; grid-auto-columns: 86%; grid-template-columns: none;
        gap: 0.75rem; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
        margin-inline: -16px; padding: 1.1rem 16px 0.75rem; scroll-padding-inline: 16px;
        scrollbar-width: none;
    }
    .se-plans::-webkit-scrollbar { display: none; }
    .se-plans[hidden] { display: none; }
    .se-plan { scroll-snap-align: center; }
    .se-calc__inputs { grid-template-columns: 1fr 1fr; align-items: end; }
}

/* No-card trial: slim strip under the plans */
.se-trial-strip {
    display: grid; gap: 0.9rem; align-items: center; margin: 0 0 1rem;
    padding: 1rem 1.25rem; border-radius: 18px;
    background: linear-gradient(135deg, #121826 0%, var(--se-ink) 60%, #1a2410 100%); color: #fff;
}
.se-trial-strip__text { display: grid; gap: 0.15rem; }
.se-trial-strip strong { font-family: var(--se-display); font-size: 1.05rem; }
.se-trial-strip span { font-size: 0.9rem; color: rgba(255, 255, 255, 0.78); }
.se-trial-strip__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.1rem; }
.se-trial-strip .se-btn { min-height: 44px; }
.se-trial-strip .se-more { color: var(--se-lime); font-size: 0.92rem; }
@media (min-width: 900px) { .se-trial-strip { grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; } }

/* Calculator: inputs left, results right */
.se-calc { display: grid; gap: 1rem 1.75rem; padding: 1.25rem 1.35rem; }
.se-calc h3 { font-size: 1.1rem; margin: 0; }
.se-calc__inputs { margin: 0.75rem 0 0.6rem; }
.se-calc__revenue { margin: 0 0 0.5rem !important; }
.se-calc__note { margin: 0 !important; font-size: 0.8rem; line-height: 1.45; }
.se-calc__rows { margin: 0 0 0.5rem; gap: 0.4rem; }
.se-calc__row { padding: 0.5rem 0.75rem; }
.se-calc__best { margin: 0 !important; }
@media (min-width: 900px) { .se-calc { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: start; } }

/* Alternatives */
.se-alts { display: grid; gap: 0.85rem; }
@media (min-width: 800px) { .se-alts { grid-template-columns: repeat(2, 1fr); } }
.se-alt { padding: 1.15rem; border-radius: var(--se-radius); border: 1px solid var(--se-line); background: var(--se-white); }
.se-alt--ours { background: var(--se-ink); color: var(--se-white); border-color: var(--se-ink); grid-column: 1 / -1; }
.se-alt--ours h3 { color: var(--se-lime); }
.se-alt--ours .se-more { color: var(--se-lime); }

/* Trust */
.se-trust-grid { display: grid; gap: 0.85rem; }
@media (min-width: 800px) { .se-trust-grid { grid-template-columns: repeat(3, 1fr); } }
.se-trust-grid article { padding: 1.1rem; border-radius: var(--se-radius); background: var(--se-white); border: 1px solid var(--se-line); }
.se-trust-contact {
    margin-top: 1.25rem; padding: 1.15rem 1.25rem; border-radius: var(--se-radius);
    background: var(--se-lime-soft); display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between;
}

/* FAQ — centred card accordion, scoped so global details/summary rules cannot break layout */
.se-head--center { margin-inline: auto; text-align: center; }
.se-page .se-faq { max-width: 48rem; margin-inline: auto; }
.se-page .se-faq__list { display: grid; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.se-page .se-faq__list details {
    margin: 0; padding: 0; border-radius: 16px;
    background: var(--se-white); border: 1px solid var(--se-line);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.se-page .se-faq__list details:hover { border-color: #c9d4b1; }
.se-page .se-faq__list details[open] { border-color: #c9d4b1; box-shadow: 0 10px 26px rgba(13, 19, 33, 0.06); }
.se-page .se-faq__list summary {
    display: flex; align-items: center; justify-content: space-between;
    gap: 1rem; width: 100%; box-sizing: border-box;
    min-height: 3.5rem; padding: 1rem 1.25rem;
    cursor: pointer; list-style: none; border-radius: 16px;
    font-family: var(--se-display); font-weight: 650; font-size: 1.02rem;
    line-height: 1.35; color: var(--se-ink);
    background: transparent; border: 0;
}
.se-page .se-faq__list summary:focus-visible { outline: 3px solid var(--se-orange); outline-offset: 2px; }
.se-page .se-faq__list summary::-webkit-details-marker,
.se-page .se-faq__list summary::marker { display: none; content: ''; }
.se-page .se-faq__list summary::after {
    content: '+'; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
    width: 1.9rem; height: 1.9rem; border-radius: 50%;
    background: var(--se-tint); color: var(--se-olive);
    font-size: 1.2rem; font-weight: 500; line-height: 1;
}
.se-page .se-faq__list details[open] summary::after { content: '−'; background: var(--se-olive); color: var(--se-lime); }
.se-page .se-faq__list details > p {
    margin: 0; padding: 0 1.25rem 1.15rem;
    font-size: 0.96rem; line-height: 1.6; color: var(--se-muted);
}
.se-page .se-faq__contact {
    margin-top: 1.5rem !important; text-align: center; font-size: 0.95rem; color: var(--se-muted);
}
.se-page .se-faq__contact a { font-weight: 700; }
@media (max-width: 700px) {
    .se-page .se-faq__list summary { font-size: 0.98rem; padding: 0.9rem 1rem; }
    .se-page .se-faq__list details > p { padding: 0 1rem 1rem; }
}

/* Related */
.se-related { display: grid; gap: 0.75rem; }
@media (min-width: 800px) { .se-related { grid-template-columns: repeat(3, 1fr); } }
.se-related__card {
    display: flex; flex-direction: column; gap: 0.45rem; padding: 1.1rem;
    border-radius: var(--se-radius); border: 1px solid var(--se-line); background: var(--se-white);
    text-decoration: none; color: inherit;
}
.se-related__card:hover { border-color: var(--se-olive); }
.se-related__card span { color: var(--se-muted); font-size: 0.92rem; }

/* Final */
.se-final {
    padding: var(--se-section) 0;
    background: linear-gradient(135deg, #1a2438 0%, #0d1321 55%, #273b09 140%);
    color: var(--se-white); text-align: center;
}
.se-final h2 { color: var(--se-white); max-width: 18ch; margin-inline: auto; margin-bottom: 0.75rem; }
.se-final p { max-width: 42ch; margin-inline: auto; opacity: 0.9; }
.se-final--wide h2 { max-width: 28ch; }
.se-final .se-actions { justify-content: center; }
.se-final .se-btn--ghost { border-color: rgba(255,255,255,0.55); color: var(--se-white); }
.se-final .se-btn--ghost:hover { background: var(--se-white); color: var(--se-ink); }

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