/* ==========================================================================
   SugarArranged - Monochrome Neo-Brutalist design system
   ========================================================================== */

:root {
    /* Palette */
    --c-bg: #FFFFFF;
    --c-ink: #000000;
    --c-acid: #CCFF00;
    --c-fog: #F3F3F3;
    --c-ink-soft: #262626;
    --c-line: #000000;

    /* Type */
    --font-display: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
    --font-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;

    --fs-xs: 0.8125rem;
    --fs-sm: 0.9375rem;
    --fs-base: 1.0625rem;
    --fs-lg: clamp(1.125rem, 0.4vw + 1.05rem, 1.25rem);
    --fs-h4: clamp(1.05rem, 0.5vw + 0.95rem, 1.25rem);
    --fs-h3: clamp(1.2rem, 0.9vw + 1rem, 1.6rem);
    --fs-h2: clamp(1.65rem, 2.2vw + 1rem, 2.85rem);
    --fs-h1: clamp(2.2rem, 5vw + 0.8rem, 4.6rem);
    --fs-mega: clamp(2.6rem, 7vw + 0.5rem, 6rem);

    /* Structure */
    --bw: 2px;
    --border: var(--bw) solid var(--c-ink);
    --shell: 1320px;
    --pad-x: clamp(1rem, 4vw, 3rem);
    --band-y: clamp(3rem, 7vw, 6.5rem);
    --header-h: 68px;
}

/* ============================================
   RESET / BASE
   ============================================ */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

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

body {
    margin: 0;
    background: var(--c-bg);
    color: var(--c-ink);
    font-family: var(--font-body);
    font-size: var(--fs-base);
    line-height: 1.62;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

body.nav-open { overflow: hidden; }

img, video, iframe, embed, object, svg { max-width: 100%; height: auto; }
img { display: block; }

[class*="grid"] > *, [class*="flex"] > * { min-width: 0; }
pre, code, .code-block { max-width: 100%; overflow-x: auto; }
p, li, td, th { overflow-wrap: break-word; }
details { height: fit-content; }
input, textarea, select { max-width: 100%; font: inherit; }
section { overflow: clip; }

h1, h2, h3, h4 {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -0.02em;
    margin: 0 0 0.5em;
    text-transform: uppercase;
}
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-h4); }

p { margin: 0 0 1rem; }
ul, ol { margin: 0 0 1rem; padding-left: 1.15rem; }

a { color: inherit; }

:where(p, li, blockquote, figcaption, dd, .prose, .rich, article)
  a:not([class]) {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.18em;
    font-weight: 500;
}
:where(p, li, .prose, .rich) a:not([class]):hover {
    background: var(--c-acid);
    text-decoration: none;
}

:focus-visible {
    outline: 3px solid var(--c-ink);
    outline-offset: 2px;
}
.site-footer :focus-visible,
.band--ink :focus-visible,
.marquee--ink :focus-visible { outline-color: var(--c-acid); }

.visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0);
    white-space: nowrap; border: 0;
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 200;
    background: var(--c-acid);
    color: var(--c-ink);
    padding: 0.75rem 1.25rem;
    border: var(--border);
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
}
.skip-link:focus { left: 0; }

/* ============================================
   LAYOUT PRIMITIVES
   ============================================ */
.shell {
    width: 100%;
    max-width: var(--shell);
    margin-inline: auto;
    padding-inline: var(--pad-x);
}

.band { padding-block: var(--band-y); position: relative; }
.band--fog { background: var(--c-fog); }
.band--ink { background: var(--c-ink); color: #fff; }
.band--acid { background: var(--c-acid); }
.band--tight { padding-block: clamp(2rem, 4vw, 3.5rem); }
.band--ink h1, .band--ink h2, .band--ink h3 { color: #fff; }
.band--ink a:not([class]) { color: var(--c-acid); }
.band--ink a:not([class]):hover { background: var(--c-acid); color: var(--c-ink); }

.rule { border: 0; border-top: var(--border); margin: 0; }

.kicker {
    font-family: var(--font-display);
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}
.kicker::before {
    content: "";
    display: inline-block;
    width: 0.7em; height: 0.7em;
    background: var(--c-acid);
    border: 2px solid currentColor;
    margin-right: 0.6em;
    vertical-align: -1px;
}

.sec-head { max-width: 62ch; margin-bottom: clamp(1.75rem, 3vw, 2.75rem); }
.sec-head--center { margin-inline: auto; text-align: center; }
.sec-head__title { margin-bottom: 0.6rem; }
.sec-head__intro { font-size: var(--fs-lg); margin: 0; }

.lead { font-size: var(--fs-lg); }

/* ============================================
   BUTTONS
   ============================================ */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 48px;
    padding: 0.7rem 1.5rem;
    font-family: var(--font-display);
    font-size: var(--fs-sm);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    border: var(--border);
    border-radius: 0;
    background: var(--c-ink);
    color: #fff;
    cursor: pointer;
    transition: background .15s linear, color .15s linear;
}
.btn--ink:hover, .btn--ink:focus-visible { background: var(--c-acid); color: var(--c-ink); }

.btn--acid { background: var(--c-acid); color: var(--c-ink); }
.btn--acid:hover, .btn--acid:focus-visible { background: var(--c-ink); color: #fff; }

.btn--ghost { background: transparent; color: var(--c-ink); }
.btn--ghost:hover, .btn--ghost:focus-visible { background: var(--c-ink); color: #fff; }

.btn--light { background: #fff; color: var(--c-ink); border-color: #fff; }
.btn--light:hover, .btn--light:focus-visible { background: var(--c-acid); border-color: var(--c-acid); }

.btn--lg { min-height: 60px; padding: 1rem 2.25rem; font-size: var(--fs-base); }

/* ============================================
   HEADER
   ============================================ */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--c-bg);
    border-bottom: var(--border);
}

.site-header__bar {
    display: flex;
    align-items: center;
    gap: 1rem;
    max-width: var(--shell);
    margin-inline: auto;
    padding: 0.6rem var(--pad-x);
    min-height: var(--header-h);
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    text-decoration: none;
    flex-shrink: 0;
}
.site-brand__mark { width: 32px; height: 32px; flex: none; }
.site-brand__text {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(1.05rem, 2.4vw, 1.3rem);
    letter-spacing: -0.03em;
    text-transform: uppercase;
}
.site-brand__text em { font-style: normal; color: var(--c-ink-soft); }
.site-footer .site-brand__text { color: #fff; }
.site-footer .site-brand__text em { color: var(--c-acid); }

.header-actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-left: auto;
}

.burger {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 48px;
    height: 48px;
    padding: 0 10px;
    background: var(--c-ink);
    border: var(--border);
    cursor: pointer;
}
.burger__bar {
    display: block;
    height: 3px;
    background: #fff;
    transition: transform .2s linear, opacity .2s linear;
}
.burger[aria-expanded="true"] { background: var(--c-acid); }
.burger[aria-expanded="true"] .burger__bar { background: var(--c-ink); }
.burger[aria-expanded="true"] .burger__bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.burger[aria-expanded="true"] .burger__bar:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] .burger__bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Mobile drawer */
.primary-nav {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: calc(100dvh - 100%);
    background: var(--c-bg);
    border-top: var(--border);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform .25s ease, visibility .25s;
}
.primary-nav.is-open { transform: translateX(0); visibility: visible; }

.primary-nav__list {
    list-style: none;
    margin: 0;
    padding: 0 var(--pad-x) 3rem;
}
.primary-nav__item { border-bottom: var(--border); }

.primary-nav__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    min-height: 56px;
    padding: 0.9rem 0;
    background: none;
    border: 0;
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--c-ink);
    text-align: left;
    cursor: pointer;
}
.primary-nav__link:hover { color: var(--c-ink-soft); }

.nav-dd__chev {
    width: 12px; height: 12px;
    border-right: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
    transform: rotate(45deg);
    transition: transform .2s linear;
    flex: none;
}
[aria-expanded="true"] .nav-dd__chev { transform: rotate(-135deg); }

.nav-dd { display: none; padding-bottom: 1rem; }
.nav-dd.is-open { display: block; }
.nav-dd__list { list-style: none; margin: 0; padding: 0; }
.nav-dd__list a {
    display: block;
    min-height: 48px;
    padding: 0.7rem 0.8rem;
    text-decoration: none;
    font-size: var(--fs-sm);
    font-weight: 500;
    border-left: 4px solid var(--c-ink);
    margin-bottom: 2px;
    background: var(--c-fog);
}
.nav-dd__list a:hover, .nav-dd__list a:focus-visible {
    background: var(--c-acid);
}

.primary-nav__item--drawer-cta { border-bottom: 0; padding-top: 1.25rem; }
.primary-nav__item--drawer-cta .btn { width: 100%; }

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

@media (min-width: 1024px) {
    .primary-nav {
        position: static;
        height: auto;
        width: auto;
        margin-left: auto;
        overflow: visible;
        transform: none;
        visibility: visible;
        border-top: 0;
        background: transparent;
    }
    .primary-nav__list {
        display: flex;
        align-items: center;
        gap: 0.25rem;
        padding: 0;
    }
    .primary-nav__item { border-bottom: 0; position: relative; }
    .primary-nav__item--drawer-cta { display: none; }
    .primary-nav__link {
        min-height: 44px;
        padding: 0.5rem 0.7rem;
        font-size: 0.85rem;
        letter-spacing: 0.08em;
        white-space: nowrap;
    }
    .primary-nav__link:hover { background: var(--c-acid); }
    .nav-dd__chev { width: 8px; height: 8px; border-width: 2px; }

    .nav-dd {
        position: absolute;
        top: calc(100% + 0.55rem);
        left: 0;
        z-index: 120;
        min-width: 290px;
        padding: 0.6rem;
        background: var(--c-bg);
        border: var(--border);
        box-shadow: 8px 8px 0 var(--c-ink);
    }
    .nav-dd--wide {
        left: auto;
        right: 0;
        width: min(760px, calc(100vw - 3rem));
    }
    .nav-dd__list--cols { columns: 3; column-gap: 0.75rem; }
    .nav-dd__list--cols li { break-inside: avoid; }
    .nav-dd__list a { background: transparent; border-left: 4px solid transparent; min-height: 40px; padding: 0.45rem 0.6rem; }
    .nav-dd__list a:hover { border-left-color: var(--c-ink); background: var(--c-acid); }

    .header-actions { margin-left: 1rem; }
    .header-actions .header-cta { display: inline-flex; }
    .burger { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .primary-nav, .burger__bar, .nav-dd__chev { transition: none; }
}

/* ============================================
   BREADCRUMBS
   ============================================ */
.crumbs {
    border-bottom: var(--border);
    background: var(--c-fog);
    font-family: var(--font-display);
}
.crumbs__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0.7rem 0;
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
}
.crumbs__item + .crumbs__item::before {
    content: "/";
    margin-right: 0.75rem;
    color: var(--c-ink-soft);
}
.crumbs__item a { text-decoration: none; }
.crumbs__item a:hover { background: var(--c-acid); }
.crumbs__item [aria-current="page"] { color: var(--c-ink-soft); }

/* ============================================
   STAT STRIP
   ============================================ */
.stat-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
    border: var(--border);
    background: var(--c-bg);
}
.stat-strip__cell {
    padding: 1rem 1.1rem;
    border-right: var(--border);
    border-bottom: var(--border);
}
.stat-strip__cell:last-child { border-right: 0; }
.stat-strip__cell.is-accent { background: var(--c-acid); }
.stat-strip__value {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(1.25rem, 2vw, 1.8rem);
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
}
.stat-strip__label {
    display: block;
    margin-top: 0.35rem;
    font-size: var(--fs-xs);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 500;
}
.stat-strip--ink { border-color: #fff; background: transparent; }
.stat-strip--ink .stat-strip__cell { border-color: #fff; color: #fff; }
.stat-strip--ink .stat-strip__cell.is-accent { background: var(--c-acid); color: var(--c-ink); }

@media (min-width: 768px) {
    .stat-strip__cell { border-bottom: 0; }
}

/* ============================================
   MARQUEE
   ============================================ */
.marquee {
    overflow: hidden;
    border-block: var(--border);
    background: var(--c-ink);
    color: #fff;
    padding: 0.6rem 0;
}
.marquee--acid { background: var(--c-acid); color: var(--c-ink); border-color: var(--c-ink); }
.marquee__track {
    display: flex;
    width: max-content;
    animation: marquee-run 34s linear infinite;
}
.marquee--rev .marquee__track { animation-direction: reverse; }
.marquee__group { display: flex; align-items: center; }
.marquee__item {
    font-family: var(--font-display);
    font-size: clamp(1rem, 2vw, 1.6rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    padding-inline: 1rem;
}
.marquee__dot {
    width: 10px; height: 10px;
    background: var(--c-acid);
    flex: none;
}
.marquee--acid .marquee__dot { background: var(--c-ink); }

@keyframes marquee-run {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .marquee__track { animation: none; }
}

/* ============================================
   FRAMED IMAGE
   ============================================ */
.frame {
    margin: 0;
    border: var(--border);
    background: var(--c-fog);
    position: relative;
}
.frame img { width: 100%; height: 100%; object-fit: cover; }
.frame--offset { box-shadow: 10px 10px 0 var(--c-acid); }

/* ============================================
   FEATURE CARDS
   ============================================ */
.card-grid {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
    border: var(--border);
}
.card-grid > * {
    border-right: var(--border);
    border-bottom: var(--border);
    margin: 0;
}
.card-grid--gapped {
    gap: clamp(1rem, 2vw, 1.5rem);
    border: 0;
}
.card-grid--gapped > * { border: var(--border); }

.fcard {
    position: relative;
    padding: clamp(1.25rem, 2.5vw, 2rem);
    background: var(--c-bg);
    transition: background .15s linear, color .15s linear;
}
.fcard:hover { background: var(--c-ink); color: #fff; }
.fcard:hover .fcard__title { color: #fff; }
.fcard:hover .fcard__glyph { background: var(--c-acid); color: var(--c-ink); }
.fcard__index {
    position: absolute;
    top: 0.75rem; right: 0.9rem;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.15em;
}
.fcard__glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px; height: 56px;
    border: var(--border);
    background: var(--c-acid);
    margin-bottom: 1rem;
}
.fcard__glyph .icon { width: 28px; height: 28px; }
.fcard__title { margin-bottom: 0.5rem; font-size: var(--fs-h4); }
.fcard__text { margin: 0; font-size: var(--fs-sm); }

.icon { width: 24px; height: 24px; }

/* ============================================
   PROFILE CARDS
   ============================================ */
.profile-grid {
    display: grid;
    gap: clamp(1rem, 2vw, 1.5rem);
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
}
.pcard {
    display: flex;
    flex-direction: column;
    border: var(--border);
    background: var(--c-bg);
    transition: background .15s linear, color .15s linear;
}
.pcard:hover { background: var(--c-ink); color: #fff; }
.pcard:hover .pcard__name { color: #fff; }
.pcard:hover .pcard__cta { background: var(--c-acid); color: var(--c-ink); border-top-color: var(--c-acid); }
.pcard__media { position: relative; border-bottom: var(--border); }
.pcard__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.pcard__badge {
    position: absolute;
    top: 0; left: 0;
    width: 22px; height: 22px;
    background: var(--c-acid);
    border-right: var(--border);
    border-bottom: var(--border);
}
.pcard__name {
    margin: 0;
    padding: 0.7rem 0.9rem 0.2rem;
    font-size: var(--fs-h4);
}
.pcard__meta {
    margin: 0;
    padding: 0 0.9rem;
    font-family: var(--font-display);
    font-size: var(--fs-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.pcard__line {
    margin: 0.5rem 0 1rem;
    padding: 0 0.9rem;
    font-size: var(--fs-sm);
    flex: 1 1 auto;
}
.pcard__cta {
    margin-top: auto;
    min-height: 48px;
    background: var(--c-ink);
    color: #fff;
    border: 0;
    border-top: var(--border);
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-size: var(--fs-xs);
    cursor: pointer;
}
.pcard__cta:hover { background: var(--c-acid); color: var(--c-ink); }

.demo-note {
    font-family: var(--font-display);
    font-size: var(--fs-xs);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-left: 6px solid var(--c-acid);
    padding-left: 0.75rem;
    margin-bottom: 1.25rem;
}

/* ============================================
   ACCORDION
   ============================================ */
.acc { display: grid; grid-template-columns: 1fr; align-items: start; }
.acc__item {
    border: var(--border);
    margin-top: -2px;
    background: var(--c-bg);
    align-self: start;
}
.acc__item:first-child { margin-top: 0; }
.acc__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 56px;
    padding: 0.9rem 1rem;
    cursor: pointer;
    list-style: none;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-h4);
    text-transform: uppercase;
    letter-spacing: -0.01em;
}
.acc__q::-webkit-details-marker { display: none; }
.acc__q:hover { background: var(--c-acid); }
.acc__item[open] > .acc__q { background: var(--c-ink); color: #fff; }
.acc__ind {
    position: relative;
    width: 20px; height: 20px;
    flex: none;
}
.acc__ind::before,
.acc__ind::after {
    content: "";
    position: absolute;
    background: currentColor;
}
.acc__ind::before { top: 8px; left: 0; width: 20px; height: 4px; }
.acc__ind::after { left: 8px; top: 0; width: 4px; height: 20px; transition: transform .18s linear; }
.acc__item[open] .acc__ind::after { transform: scaleY(0); }
.acc__item[open] .acc__ind::before { background: var(--c-acid); }
.acc__a {
    padding: 1rem;
    border-top: var(--border);
    background: var(--c-fog);
}
.acc__a > :last-child { margin-bottom: 0; }
@media (prefers-reduced-motion: reduce) {
    .acc__ind::after { transition: none; }
}

/* ============================================
   COMPARISON TABLE
   ============================================ */
.cmp-wrap {
    overflow-x: auto;
    border: var(--border);
    background: var(--c-bg);
}
.cmp {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    font-size: var(--fs-sm);
}
.cmp__caption {
    caption-side: top;
    text-align: left;
    padding: 0.85rem 1rem;
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--fs-xs);
    border-bottom: var(--border);
    background: var(--c-fog);
}
.cmp th, .cmp td {
    padding: 0.85rem 1rem;
    border: 1px solid var(--c-ink);
    text-align: left;
    vertical-align: middle;
}
.cmp thead th {
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--fs-xs);
    background: var(--c-ink);
    color: #fff;
}
.cmp thead th.is-us { background: var(--c-acid); color: var(--c-ink); }
.cmp tbody th { font-weight: 500; font-family: var(--font-body); background: var(--c-bg); }
.cmp td.is-us { background: var(--c-fog); font-weight: 500; }

.mark {
    display: inline-block;
    width: 18px; height: 18px;
    border: var(--border);
}
.mark--yes { background: var(--c-acid); }
.mark--no { background: transparent; }

/* ============================================
   STEP CHAIN / TIMELINE
   ============================================ */
.chain {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: clamp(1.25rem, 3vw, 2rem);
}
.chain__rail {
    position: absolute;
    left: 27px;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--c-ink);
    z-index: 0;
}
.chain__rail::after {
    content: "";
    position: absolute;
    left: 4px; top: 0; bottom: 0;
    width: 8px;
    background: var(--c-acid);
}
.chain__step {
    position: relative;
    z-index: 1;
    padding-left: 76px;
}
.chain__node {
    position: absolute;
    left: 0; top: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px; height: 56px;
    background: var(--c-ink);
    color: #fff;
    border: var(--border);
    box-shadow: 6px 6px 0 var(--c-acid);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.15rem;
}
.chain__title { margin-bottom: 0.4rem; font-size: var(--fs-h4); }
.chain__text { margin: 0; font-size: var(--fs-sm); }

@media (min-width: 1024px) {
    .chain--row { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .chain--row .chain__rail {
        left: 0; right: 0; top: 28px;
        bottom: auto;
        width: auto; height: 4px;
    }
    .chain--row .chain__rail::after { left: 0; right: 0; top: 4px; bottom: auto; height: 8px; width: auto; }
    .chain--row .chain__step { padding-left: 0; padding-top: 76px; }
    .chain--row .chain__node { left: 0; top: 0; }
    .chain--row.chain--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ============================================
   TIPS
   ============================================ */
.tips {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: var(--border);
}
.tips__item {
    display: flex;
    gap: 1rem;
    padding: 1.1rem 0;
    border-bottom: var(--border);
}
.tips__glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px; height: 56px;
    flex: none;
    background: var(--c-ink);
    color: var(--c-acid);
    border: var(--border);
}
.tips__glyph .icon { width: 26px; height: 26px; }
.tips__item:hover .tips__glyph { background: var(--c-acid); color: var(--c-ink); }
.tips__title { font-size: var(--fs-h4); margin-bottom: 0.3rem; }
.tips__text { margin: 0; font-size: var(--fs-sm); }

@media (min-width: 768px) {
    .tips { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(1.5rem, 3vw, 3rem); }
}

/* ============================================
   QUOTES
   ============================================ */
.quote-grid {
    display: grid;
    gap: clamp(1rem, 2vw, 1.5rem);
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
}
.qcard {
    margin: 0;
    padding: 1.25rem;
    border: var(--border);
    background: var(--c-bg);
    position: relative;
}
.band--ink .qcard { background: transparent; border-color: #fff; color: #fff; }
.qcard__text { margin: 0 0 0.9rem; font-size: var(--fs-base); }
.qcard__text::before {
    content: "“";
    display: block;
    font-family: var(--font-display);
    font-size: 3rem;
    line-height: 0.7;
    color: var(--c-acid);
    margin-bottom: 0.4rem;
}
.qcard__cite {
    font-family: var(--font-display);
    font-style: normal;
    font-size: var(--fs-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 700;
}

/* ============================================
   LINK GRID
   ============================================ */
.lgrid-block { margin-bottom: 1.5rem; }
.lgrid-block__title {
    font-size: var(--fs-h4);
    margin-bottom: 0.9rem;
}
.lgrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
    border: var(--border);
}
.lgrid__cell {
    border-right: var(--border);
    border-bottom: var(--border);
    margin: -1px 0 0 -1px;
}
.lgrid__cell a {
    display: flex;
    align-items: center;
    min-height: 56px;
    padding: 0.7rem 1rem;
    text-decoration: none;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: var(--c-bg);
}
.lgrid__cell a:hover, .lgrid__cell a:focus-visible {
    background: var(--c-ink);
    color: var(--c-acid);
}
.lgrid-block--ink .lgrid { border-color: #fff; }
.lgrid-block--ink .lgrid__cell { border-color: #fff; }
.lgrid-block--ink .lgrid__cell a { background: transparent; color: #fff; }
.lgrid-block--ink .lgrid__cell a:hover { background: var(--c-acid); color: var(--c-ink); }

/* ============================================
   CALLOUT
   ============================================ */
.callout {
    border: var(--border);
    border-left: 12px solid var(--c-acid);
    padding: 1.1rem 1.25rem;
    background: var(--c-fog);
    margin-bottom: 1.5rem;
}
.callout--ink { background: var(--c-ink); color: #fff; }
.callout--ink .callout__title { color: #fff; }
.callout--acid { background: var(--c-acid); border-left-color: var(--c-ink); }
.callout__title { font-size: var(--fs-h4); margin-bottom: 0.4rem; }
.callout__text { margin: 0; }

/* ============================================
   SUBSCRIBE / NEWSLETTER
   ============================================ */
.subscribe {
    background: var(--c-ink);
    color: #fff;
    padding: clamp(1rem, 2vw, 1.5rem);
}
.subscribe__inner {
    border: 2px solid #fff;
    padding: clamp(1.5rem, 4vw, 3rem);
    max-width: var(--shell);
    margin-inline: auto;
}
.subscribe__title { color: #fff; margin-bottom: 0.6rem; }
.subscribe__text { max-width: 60ch; margin-bottom: 1.5rem; }
.subscribe__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: stretch;
}
.subscribe__input {
    flex: 1 1 240px;
    min-height: 52px;
    padding: 0.7rem 0.25rem;
    background: transparent;
    color: #fff;
    border: 0;
    border-bottom: 2px solid #fff;
    font-size: var(--fs-base);
}
.subscribe__input::placeholder { color: #c9c9c9; }
.subscribe__input:focus-visible { outline: 3px solid var(--c-acid); outline-offset: 2px; }
.subscribe__submit {
    min-height: 52px;
    padding: 0.7rem 1.75rem;
    background: var(--c-acid);
    color: var(--c-ink);
    border: 2px solid var(--c-acid);
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
}
.subscribe__submit:hover { background: #fff; border-color: #fff; }

/* ============================================
   CTA BAND
   ============================================ */
.cta-band { padding-block: clamp(2.5rem, 6vw, 5rem); border-block: var(--border); }
.cta-band--acid { background: var(--c-acid); }
.cta-band--ink { background: var(--c-ink); color: #fff; }
.cta-band--ink .cta-band__title { color: #fff; }
.cta-band__inner { text-align: center; }
.cta-band__title { font-size: var(--fs-mega); margin-bottom: 0.75rem; }
.cta-band__text { max-width: 58ch; margin-inline: auto; margin-bottom: 1.75rem; font-size: var(--fs-lg); }

/* ============================================
   PROSE / LEGAL
   ============================================ */
.prose { max-width: 74ch; }
.prose h2 { margin-top: 2.25rem; }
.prose h3 { margin-top: 1.75rem; font-size: var(--fs-h4); }
.prose li { margin-bottom: 0.4rem; }

.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
    border: var(--border);
    background: var(--c-fog);
}
.info-grid > * {
    padding: 1.1rem 1.25rem;
    border-right: 1px solid var(--c-ink);
    border-bottom: 1px solid var(--c-ink);
    margin: 0;
}
.info-grid h3 { font-size: var(--fs-h4); margin-bottom: 0.4rem; }
.info-grid h3::after {
    content: "";
    display: block;
    width: 40px; height: 6px;
    background: var(--c-acid);
    margin-top: 0.4rem;
}

/* ============================================
   SPLIT / ZIGZAG ROWS
   ============================================ */
.split {
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
}
@media (min-width: 1024px) {
    .split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .split--reverse > :first-child { order: 2; }
    .split--media-stretch { align-items: stretch; }
    .split--media-stretch .frame { height: 100%; }
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
    background: var(--c-ink);
    color: #fff;
    border-top: var(--border);
    padding-block: clamp(2.5rem, 5vw, 4rem) 2rem;
    font-size: var(--fs-sm);
}
.site-footer__grid {
    display: grid;
    gap: clamp(1.75rem, 3vw, 2.5rem);
    grid-template-columns: 1fr;
}
.site-footer__pitch { max-width: 40ch; margin-bottom: 1.25rem; }
.site-footer__title {
    font-size: var(--fs-xs);
    letter-spacing: 0.2em;
    color: var(--c-acid);
    margin-bottom: 0.9rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #fff;
}
.site-footer__list, .site-footer__citylist, .site-footer__legal {
    list-style: none;
    margin: 0;
    padding: 0;
}
.site-footer__list li, .site-footer__citylist li { margin-bottom: 0.15rem; }
.site-footer a {
    display: inline-block;
    padding: 0.35rem 0;
    min-height: 32px;
    text-decoration: none;
    color: #fff;
}
.site-footer__list a:hover,
.site-footer__citylist a:hover,
.site-footer__legal a:hover { color: var(--c-acid); text-decoration: underline; }

.site-footer__cities {
    margin-top: clamp(2rem, 4vw, 3rem);
    padding-top: 1.5rem;
    border-top: 2px solid #fff;
}
.site-footer__citylist {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
    gap: 0 1.5rem;
}

.site-footer__base {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 2px solid #fff;
}
.site-footer__base p { margin: 0; }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.site-footer__disclaimer {
    margin: 1rem 0 0;
    font-size: var(--fs-xs);
    color: #d6d6d6;
    max-width: 78ch;
}

@media (min-width: 768px) {
    .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
}

/* ============================================
   HOMEPAGE - HERO
   ============================================ */
.hero { padding-block: 0; border-bottom: var(--border); }
.hero__grid { display: grid; grid-template-columns: 1fr; }
.hero__copy {
    position: relative;
    padding: clamp(2.25rem, 6vw, 4.5rem) var(--pad-x);
}
.hero__lattice {
    position: absolute;
    top: 0; left: 0;
    width: 72px;
    height: 100%;
    display: none;
}
.hero__copy-inner { position: relative; z-index: 1; }
.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 2rem;
}
.hero__stats { margin-top: 1.5rem; }
.hero__media {
    min-height: 62vw;
    border-top: var(--border);
    background-image: url("/assets/f711646e2cfe22a9eee50620a483913d.webp");
    background-size: cover;
    background-position: 72% 45%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .hero__media { min-height: 48vw; }
}
@media (min-width: 1024px) {
    .hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
    .hero__copy { padding-inline: var(--pad-x) 0; }
    .hero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .hero__lattice { display: block; left: auto; right: 100%; width: 0; }
    .hero__media {
        min-height: 640px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}
@media (min-width: 1440px) {
    .hero__lattice { display: block; width: 96px; left: max(0px, calc((100vw - var(--shell)) / 2 - 96px)); }
}

/* ============================================
   HOMEPAGE - WHY US
   ============================================ */
.why { position: relative; }
.why__wiring { display: none; }
.why__grid { position: relative; z-index: 1; }
.why__foot { margin-top: clamp(1.5rem, 3vw, 2.25rem); max-width: 78ch; }
.why__foot p { margin-bottom: 1.25rem; }

@media (min-width: 1024px) {
    .why { padding-left: 120px; }
    .why__wiring {
        display: block;
        position: absolute;
        top: 0; left: 0;
        width: 120px;
        height: 100%;
        z-index: 0;
    }
}

/* ============================================
   HOMEPAGE - CATEGORIES + QUIZ
   ============================================ */
.explore { display: grid; gap: clamp(2rem, 5vw, 3.5rem); }
.explore__col { min-width: 0; }
@media (min-width: 1024px) {
    .explore { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); align-items: start; }
}

.catrows { border: var(--border); margin-bottom: 1.5rem; }
.catrow {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 52px;
    text-decoration: none;
    color: var(--c-ink);
    border-bottom: var(--border);
    transition: background .15s linear, color .15s linear;
}
.catrow:last-child { border-bottom: 0; }
.catrow:hover, .catrow:focus-visible { background: var(--c-ink); color: #fff; }
.catrow:hover .catrow__label { color: var(--c-acid); }
.catrow__media {
    border-right: var(--border);
    background: var(--c-ink);
    overflow: hidden;
}
.catrow__media img { width: 100%; height: 100%; object-fit: cover; }
.catrow__media--solid {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-acid);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
}
.catrow__body { padding: 0.85rem 1rem; }
.catrow__label {
    display: block;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-h4);
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin-bottom: 0.25rem;
}
.catrow__text { display: block; font-size: var(--fs-sm); }
.catrow__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: var(--border);
}
@media (min-width: 480px) {
    .catrow { grid-template-columns: 120px minmax(0, 1fr) 56px; }
}

.quiz__heading { font-size: var(--fs-h2); }
.quiz {
    position: relative;
    border: var(--border);
    background: var(--c-bg);
    padding: clamp(1.1rem, 2.5vw, 1.75rem);
    overflow: hidden;
}
.quiz__grid-bg { position: absolute; inset: 0; width: 100%; height: 100%; }
.quiz__inner { position: relative; z-index: 1; }
.quiz__bars { display: flex; gap: 6px; margin-bottom: 1.25rem; }
.quiz__bar { flex: 1 1 0; height: 16px; border: var(--border); background: #fff; }
.quiz__bar.is-on { background: var(--c-acid); }
.quiz__q {
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: var(--fs-h4);
    margin-bottom: 0.9rem;
}
.quiz__options { display: grid; grid-template-columns: 1fr; gap: 0.6rem; }
@media (min-width: 520px) { .quiz__options { grid-template-columns: 1fr 1fr; } }
.quiz__opt {
    min-height: 48px;
    padding: 0.7rem 0.85rem;
    text-align: left;
    background: #fff;
    color: var(--c-ink);
    border: var(--border);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
}
.quiz__opt:hover, .quiz__opt:focus-visible { background: var(--c-ink); color: var(--c-acid); }
.quiz__summary {
    border: var(--border);
    background: var(--c-acid);
    padding: 0.9rem 1rem;
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    min-height: 48px;
}
.quiz__summary:empty::before { content: "Your terms will appear here"; }
.quiz__note { font-size: var(--fs-sm); }
.quiz__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }

/* ============================================
   HOMEPAGE - SUCCESS STORIES
   ============================================ */
.stories { display: grid; grid-template-columns: 1fr; border-bottom: var(--border); }
.stories__media { min-height: 300px; }
.stories__media img { width: 100%; height: 100%; object-fit: cover; object-position: 30% 50%; }
.stories__panel {
    background: var(--c-ink);
    color: #fff;
    padding: clamp(1.75rem, 5vw, 3.25rem) var(--pad-x);
}
.stories__panel h2, .stories__panel h3 { color: #fff; }
.stories__panel a { color: var(--c-acid); }
.stories__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 1.5rem 0;
}
@media (min-width: 600px) { .stories__grid { grid-template-columns: 1fr 1fr; } }
.scard { border: 2px solid #fff; padding: 1rem; }
.scard__mark {
    font-family: var(--font-display);
    font-size: 3rem;
    line-height: 0.6;
    color: var(--c-acid);
    margin: 0 0 0.5rem;
}
.scard__title { font-size: var(--fs-h4); margin-bottom: 0.4rem; }
.scard__text { font-size: var(--fs-sm); margin-bottom: 0.6rem; }
.scard__meta {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--fs-xs);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--c-acid);
}
@media (min-width: 1024px) {
    .stories { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
    .stories__media { min-height: 100%; }
    .stories__panel { padding-right: max(var(--pad-x), calc((100vw - var(--shell)) / 2 + var(--pad-x))); }
}

/* ============================================
   HOMEPAGE - SAFETY + COMPARISON
   ============================================ */
.safety-cmp { display: grid; grid-template-columns: 1fr; border-bottom: var(--border); }
.safety {
    position: relative;
    overflow: hidden;
    background: var(--c-ink);
    color: #fff;
    padding: clamp(1.75rem, 5vw, 3.25rem) var(--pad-x);
}
.safety h2, .safety h3 { color: #fff; }
.safety__head { position: relative; z-index: 1; max-width: 52ch; }
.safety__seal {
    position: absolute;
    left: 50%;
    bottom: -60px;
    transform: translateX(-50%);
    width: min(420px, 92%);
    height: auto;
    z-index: 0;
}
.safety__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: 1.75rem;
}
@media (min-width: 600px) { .safety__grid { grid-template-columns: 1fr 1fr; column-gap: 1.5rem; } }
.safety__block { padding: 1.1rem 0; border-top: 2px solid #fff; }
.safety__block h3 {
    color: var(--c-acid);
    font-size: var(--fs-h4);
    margin-bottom: 0.4rem;
}
.safety__block p { font-size: var(--fs-sm); margin: 0; }
.safety .btn { position: relative; z-index: 1; }

.cmp-half { padding: clamp(1.75rem, 5vw, 3.25rem) var(--pad-x); }
.cmp-half h2 { font-size: var(--fs-h2); }
.cmp-scroll { position: relative; margin-bottom: 1.5rem; }
.cmp-scroll::after {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 10px;
    background: var(--c-ink);
    pointer-events: none;
}
@media (min-width: 900px) { .cmp-scroll::after { display: none; } }
.cmp-half .btn { margin-top: 0.5rem; }

@media (min-width: 1024px) {
    .safety-cmp { grid-template-columns: 1fr 1fr; }
    .safety { padding-left: max(var(--pad-x), calc((100vw - var(--shell)) / 2 + var(--pad-x))); }
    .cmp-half {
        padding-right: max(var(--pad-x), calc((100vw - var(--shell)) / 2 + var(--pad-x)));
        border-left: var(--border);
    }
}

/* ============================================
   HOMEPAGE - FAQ + CLOSING
   ============================================ */
.faq-band .acc__item[open] {
    border-left: 10px solid var(--c-acid);
}
.closing-line {
    margin: 1.5rem 0;
    font-size: var(--fs-lg);
    max-width: 72ch;
}
.newsletter-wrap .band--ink { border-top: 2px solid #fff; }

/* ============================================
   CATEGORY - SUGAR DADDY LANDING
   ============================================ */
.vhero { padding-block: clamp(1.75rem, 4vw, 3rem) 0; border-bottom: var(--border); }
.vhero__grid { display: grid; grid-template-columns: 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); }
.vhero__vault { display: none; }
.vhero__copy { min-width: 0; }
.vhero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.vhero__media {
    position: relative;
    min-height: 68vw;
    border: var(--border);
    background-image: url("/assets/d9a0fbc1231e723310ff8859418c5db3.webp");
    background-size: cover;
    background-position: 74% 38%;
    background-repeat: no-repeat;
}
.vhero__media::after {
    content: "";
    position: absolute;
    inset: 10px;
    border: 2px solid var(--c-acid);
    pointer-events: none;
}

.vhero__media--cougar {
    background-image: url("/assets/9403c5ea99769f94ea3d28a6141ee0bb.webp");
    background-position: 76% 38%;
}

.vhero__media--toyboy {
    background-image: url("/assets/4592d2fb40f5b9dc0f79a9f8c71d0102.webp");
    background-position: 78% 42%;
}

.vhero__base { position: relative; margin-top: clamp(1.75rem, 4vw, 2.75rem); padding-bottom: clamp(2rem, 4vw, 3rem); }
.vhero__base .stat-strip { border-left: 0; border-right: 0; }
.vhero__base .stat-strip__cell:last-child { border-right: 0; }

.shield-cta {
    position: relative;
    z-index: 2;
    display: block;
    width: 190px;
    min-height: 96px;
    margin: 0 auto 0.9rem;
    padding: 1rem 0.75rem 2rem;
    background: var(--c-ink);
    color: var(--c-acid);
    border: 0;
    cursor: pointer;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-sm);
    line-height: 1.2;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    clip-path: polygon(0 0, 100% 0, 100% 60%, 50% 100%, 0 60%);
    transition: background .15s linear, color .15s linear;
}
.shield-cta:hover, .shield-cta:focus-visible { background: var(--c-acid); color: var(--c-ink); }

@media (min-width: 768px) {
    .shield-cta { margin-bottom: -48px; }
    .vhero__base .stat-strip__cell { padding-top: 3.5rem; }
    .vhero__media { min-height: 48vw; }
}
@media (min-width: 1024px) {
    .vhero__grid {
        grid-template-columns: 190px minmax(0, 1fr) minmax(0, 1.05fr);
        align-items: center;
    }
    .vhero__vault { display: block; }
    .vhero__vault svg { width: 100%; height: auto; display: block; }
    .vhero__media { min-height: 560px; }
}

/* --- meaning --- */
.meaning { position: relative; }
.meaning__word {
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    font-size: clamp(3.25rem, 13vw, 9rem);
    line-height: 0.78;
    letter-spacing: -0.05em;
    color: transparent;
    -webkit-text-stroke: 2px var(--c-ink);
    margin: 0 0 0.5rem;
    margin-left: -0.06em;
    white-space: nowrap;
}
.meaning__cols { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start; }
.meaning__aside .callout:last-child { margin-bottom: 0; }
@media (min-width: 1024px) {
    .meaning__cols { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
    .meaning__word { margin-left: -0.1em; }
}

/* --- verification row --- */
.vrow {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 3vw, 2rem);
}
.vrow__connector { display: none; }
.vrow__card,
.vrow__center {
    position: relative;
    z-index: 1;
    border: var(--border);
    padding: 3.5rem clamp(1.25rem, 2.5vw, 1.9rem) clamp(1.25rem, 2.5vw, 1.9rem);
    background: var(--c-bg);
}
.vrow__center {
    background: var(--c-ink);
    color: #fff;
    padding-top: clamp(1.5rem, 3vw, 2.25rem);
}
.vrow__center h3 { color: var(--c-acid); }
.vrow__claim {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-h4);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--c-acid);
    margin-bottom: 0.9rem;
}
.vrow__card h3, .vrow__center h3 { font-size: var(--fs-h3); margin-bottom: 0.5rem; }
.vrow__card p, .vrow__center p { margin-bottom: 0; font-size: var(--fs-sm); }
.vrow__plate {
    position: absolute;
    top: 26px;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: var(--c-ink);
    color: var(--c-acid);
    border: var(--border);
}
.vrow__plate .icon { transform: rotate(-45deg); width: 26px; height: 26px; }

@media (min-width: 1024px) {
    .vrow { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; }
    .vrow__connector {
        display: block;
        position: absolute;
        top: 66px;
        left: 0;
        right: 0;
        height: 10px;
        background: var(--c-ink);
        z-index: 0;
    }
    .vrow__connector::before,
    .vrow__connector::after {
        content: "";
        position: absolute;
        top: -9px;
        width: 0;
        height: 0;
        border-top: 14px solid transparent;
        border-bottom: 14px solid transparent;
    }
    .vrow__connector::before { left: 0; border-right: 18px solid var(--c-ink); }
    .vrow__connector::after { right: 0; border-left: 18px solid var(--c-ink); }
    .vrow__card { padding-top: clamp(1.5rem, 3vw, 2rem); }
    .vrow__card--left .vrow__plate { top: 71px; left: 0; }
    .vrow__card--right .vrow__plate { top: 71px; left: 100%; }
}

/* --- comparison table, brutalist fill --- */
.cmp-brutal .cmp td.is-us { background: var(--c-acid); color: var(--c-ink); font-weight: 700; }
.cmp-brutal .cmp td.is-us .mark--yes { background: var(--c-ink); border-color: var(--c-ink); }
.cmp-brutal .cmp td:not(.is-us) { background: var(--c-ink); color: #fff; border-color: #fff; }
.cmp-brutal .cmp td:not(.is-us) .mark { border-color: #fff; }
.cmp-brutal .cmp td:not(.is-us) .mark--no { position: relative; }
.cmp-brutal .cmp td:not(.is-us) .mark--no::before,
.cmp-brutal .cmp td:not(.is-us) .mark--no::after {
    content: "";
    position: absolute;
    left: 1px;
    top: 6px;
    width: 12px;
    height: 2px;
    background: #fff;
}
.cmp-brutal .cmp td:not(.is-us) .mark--no::before { transform: rotate(45deg); }
.cmp-brutal .cmp td:not(.is-us) .mark--no::after { transform: rotate(-45deg); }
.cmp-brutal .cmp tbody th { background: var(--c-bg); }
.cmp-brutal__note {
    font-family: var(--font-display);
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-left: 6px solid var(--c-acid);
    padding-left: 0.75rem;
    margin: 1rem 0 1.5rem;
}

/* --- coverage --- */
.coverage__foot { margin-top: 1.5rem; max-width: 78ch; }

/* --- trust panel --- */
.trust { border: var(--border); background: var(--c-ink); color: #fff; }
.trust .marquee { border-top: 0; border-bottom: var(--border); }
.trust__body { padding: clamp(1.5rem, 4vw, 2.75rem); }
.trust__body h2, .trust__body h3 { color: #fff; }
.trust__body > p { max-width: 68ch; }
.trust__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 clamp(1.5rem, 3vw, 2.5rem);
    margin: 1.5rem 0;
}
.trust__block { padding: 1.1rem 0; border-top: 4px solid var(--c-acid); }
.trust__block h3 { color: var(--c-acid); font-size: var(--fs-h4); margin-bottom: 0.4rem; }
.trust__block p { margin: 0; font-size: var(--fs-sm); }
@media (min-width: 768px) {
    .trust__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --- FAQ, plated indicator --- */
.faq-brutal .acc__q { padding-right: 0.8rem; }
.faq-brutal .acc__ind {
    width: 36px;
    height: 36px;
    background: var(--c-ink);
    color: #fff;
    border: var(--border);
}
.faq-brutal .acc__ind::before { top: 15px; left: 7px; width: 20px; height: 4px; }
.faq-brutal .acc__ind::after { left: 15px; top: 7px; width: 4px; height: 20px; }
.faq-brutal .acc__item[open] > .acc__q { background: var(--c-acid); color: var(--c-ink); }
.faq-brutal .acc__item[open] { border-left: 10px solid var(--c-ink); }

/* ============================================
   CATEGORY - SUGAR BABY LANDING
   ============================================ */
.sbhero { padding-block: clamp(1.75rem, 4vw, 3rem) 0; border-bottom: var(--border); }
.sbhero__grid { display: grid; grid-template-columns: 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); }
.sbhero__media {
    position: relative;
    min-height: 78vw;
    border: var(--border);
    background-image: url("/assets/1e7c21cc323423ddcea8bd0a0ed5aeef.webp");
    background-size: cover;
    background-position: 28% 42%;
    background-repeat: no-repeat;
    box-shadow: 10px 10px 0 var(--c-acid);
}
.sbhero__rings { display: none; }
.sbhero__copy { min-width: 0; }
.sbhero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }

@media (min-width: 768px) {
    .sbhero__media { min-height: 52vw; }
}
@media (min-width: 1024px) {
    .sbhero__grid {
        grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 190px;
        align-items: center;
    }
    .sbhero__media { min-height: 560px; }
    .sbhero__rings { display: block; }
    .sbhero__rings svg { width: 100%; height: auto; display: block; }
}

/* --- free access split panel --- */
.fa-split { display: grid; grid-template-columns: 1fr; border: var(--border); margin-top: 1.5rem; }
.fa-split__left { padding: clamp(1.5rem, 3vw, 2.25rem); border-bottom: var(--border); }
.fa-split__left p:last-child { margin-bottom: 0; }
.fa-split__right {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(2rem, 5vw, 3rem);
    background: var(--c-acid);
    text-align: center;
}
.fa-split__stat {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    font-size: clamp(2rem, 6vw, 3.25rem);
    line-height: 0.95;
    letter-spacing: -0.02em;
}
@media (min-width: 768px) {
    .fa-split { grid-template-columns: 1.2fr 1fr; }
    .fa-split__left { border-bottom: 0; border-right: var(--border); }
}

/* --- messaging bars --- */
.msg-bars { list-style: none; margin: 0 0 1.5rem; padding: 0; border: var(--border); border-bottom: 0; }
.msg-bar { display: flex; align-items: stretch; border-bottom: var(--border); }
.msg-bar__index {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    flex: none;
    background: var(--c-ink);
    color: var(--c-acid);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.15rem;
    border-right: var(--border);
}
.msg-bar__body { padding: 1rem 1.1rem; }
.msg-bar__body p { margin: 0; font-size: var(--fs-sm); }
.msg-bar__body strong { font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.02em; }

/* ============================================
   CATEGORY - SUGAR MAMA LANDING
   ============================================ */
.smhero { padding-block: clamp(1.75rem, 4vw, 3rem) 0; border-bottom: var(--border); }
.smhero__grid { display: grid; grid-template-columns: 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); }
.smhero__vault { display: none; }
.smhero__copy { min-width: 0; }
.smhero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.smhero__media {
    position: relative;
    min-height: 68vw;
    border: var(--border);
    background-image: url("/assets/9a597bde2e0710376fab4005e5b7c8cc.webp");
    background-size: cover;
    background-position: 78% 40%;
    background-repeat: no-repeat;
}
.smhero__media::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 2px solid var(--c-acid);
    pointer-events: none;
}
.smhero__media::after {
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    width: 52px;
    height: 52px;
    background: var(--c-ink);
    clip-path: polygon(0 0, 100% 0, 0 100%);
}

.smhero__base { position: relative; margin-top: clamp(1.75rem, 4vw, 2.75rem); padding-bottom: clamp(2rem, 4vw, 3rem); }
.smhero__base .stat-strip { border-left: 0; border-right: 0; }

@media (min-width: 768px) {
    .smhero__media { min-height: 48vw; }
    .smhero__base .stat-strip__cell { padding-top: 3.5rem; }
}
@media (min-width: 1024px) {
    .smhero__grid {
        grid-template-columns: 190px minmax(0, 1fr) minmax(0, 1.05fr);
        align-items: center;
    }
    .smhero__vault { display: block; }
    .smhero__vault svg { width: 100%; height: auto; display: block; }
    .smhero__media { min-height: 560px; }
}

/* --- scam red-flag bars --- */
.warn-list { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.warn-item { display: flex; align-items: stretch; border: var(--border); margin-top: -2px; }
.warn-item:first-child { margin-top: 0; }
.warn-item__plate {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    flex: none;
    background: var(--c-ink);
    color: var(--c-acid);
    border-right: var(--border);
}
.warn-item__plate .icon { width: 26px; height: 26px; }
.warn-item__body { padding: 1rem 1.1rem; }
.warn-item__body p { margin: 0; font-size: var(--fs-sm); }
.warn-item__body strong {
    display: block;
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 0.3rem;
    font-size: var(--fs-sm);
}

/* ============================================
   RELATED CATEGORY PANELS (toy boy landing)
   ============================================ */
.relcat-grid {
    display: grid;
    grid-template-columns: 1fr;
    border: var(--border);
    margin-bottom: 1.5rem;
}
.relcat {
    display: block;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    text-decoration: none;
    color: var(--c-ink);
    border-bottom: var(--border);
    transition: background .15s linear, color .15s linear;
}
.relcat:last-child { border-bottom: 0; }
.relcat:hover, .relcat:focus-visible { background: var(--c-ink); color: #fff; }
.relcat:hover .relcat__title, .relcat:focus-visible .relcat__title { color: var(--c-acid); }
.relcat .kicker { margin-bottom: 0.6rem; }
.relcat__title { font-size: var(--fs-h3); margin-bottom: 0.6rem; }
.relcat__text { margin: 0; font-size: var(--fs-sm); }

@media (min-width: 768px) {
    .relcat-grid { grid-template-columns: 1fr 1fr; }
    .relcat { border-bottom: 0; border-right: var(--border); }
    .relcat:last-child { border-right: 0; }
}

/* ============================================
   LOCAL - LAS VEGAS
   ============================================ */
.lvhero { padding-block: 0; border-bottom: var(--border); }
.lvhero__grid { display: grid; grid-template-columns: 1fr; }
.lvhero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.lvhero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
}
.lvhero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/98337d86f18ebd1394acd66be95baaac.webp");
    background-size: cover;
    background-position: 68% 45%;
    background-repeat: no-repeat;
}
.lvhero__media--atlanta {
    background-image: url("/assets/2484bc1dc01bf264f0b4f20d6aa97807.webp");
    background-position: 82% 40%;
}
.lvhero__media--sanantonio {
    background-image: url("/assets/d795c47b8424dd4000107665cd867ae2.webp");
    background-position: 78% 45%;
}
.lvhero__media--denver {
    background-image: url("/assets/4613f91e0a0598a575471666ae505371.webp");
    background-position: 70% 42%;
}
.lvhero__media--portland {
    background-image: url("/assets/3b606a1f82acb4a12bfd3d3b9acc9799.webp");
    background-position: 74% 38%;
}
.lvhero__media--dallas {
    background-image: url("/assets/1f9cd571de465408976127357c87ecb6.webp");
    background-position: 78% 40%;
}
.lvhero__media--columbus {
    background-image: url("/assets/4e557384c82a858973872cf496f2c02d.webp");
    background-position: 32% 40%;
}

@media (min-width: 768px) {
    .lvhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .lvhero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .lvhero__copy { padding-inline: var(--pad-x) 0; }
    .lvhero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 60px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .lvhero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* --- flanking edge panels --- */
.lvedge { display: grid; grid-template-columns: 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); }
.lvedge__panel { display: none; }
.lvedge__rows { display: grid; gap: clamp(2rem, 5vw, 3.5rem); min-width: 0; }

@media (min-width: 768px) {
    .lvedge { grid-template-columns: 78px minmax(0, 1fr) 78px; align-items: stretch; }
    .lvedge__panel {
        display: block;
        border: var(--border);
        background: var(--c-fog);
    }
    .lvedge__panel svg { width: 100%; height: 100%; display: block; }
}
@media (min-width: 1280px) {
    .lvedge { grid-template-columns: 104px minmax(0, 1fr) 104px; column-gap: clamp(2rem, 3vw, 3rem); }
}

/* --- tips: circular badges + desktop divider --- */
.tipswrap .tips__glyph { border-radius: 50%; }
@media (min-width: 768px) {
    .tipswrap { position: relative; }
    .tipswrap::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 2px;
        margin-left: -1px;
        background: var(--c-ink);
    }
    .tipswrap .tips { position: relative; z-index: 1; }
}

/* --- FAQ bars on fog --- */
.faq-brutal--fog .acc__item > .acc__q { background: var(--c-fog); }
.faq-brutal--fog .acc__item > .acc__q:hover { background: var(--c-acid); }
.faq-brutal--fog .acc__item[open] > .acc__q { background: var(--c-acid); }
.faq-brutal--fog .acc__a { background: var(--c-bg); }

/* --- related links band --- */
.relband > .shell > p { max-width: 74ch; margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.relband__cols { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }
.relband .lgrid-block:last-child { margin-bottom: 0; }
@media (min-width: 900px) {
    .relband__cols { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
    .relband__cols > :first-child {
        padding-right: clamp(1.5rem, 3vw, 2.5rem);
        border-right: 2px solid var(--c-acid);
    }
}

/* ============================================
   LOCAL - NEW YORK
   ============================================ */
.nyhero { padding-block: 0; border-bottom: var(--border); }
.nyhero__grid { display: grid; grid-template-columns: 1fr; }
.nyhero__dial { display: none; }
.nyhero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.nyhero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.5rem; }
.nyhero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 0;
}
.nyhero__trust-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.nyhero__trust-item .icon { width: 20px; height: 20px; flex: none; }
.nyhero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/4808b04d314b8655630a52b12f57d81d.webp");
    background-size: cover;
    background-position: 70% 40%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .nyhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .nyhero__grid { grid-template-columns: 96px minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .nyhero__dial { display: block; border-right: var(--border); background: var(--c-fog); }
    .nyhero__dial svg { width: 100%; height: 100%; display: block; }
    .nyhero__copy { padding-inline: var(--pad-x) 0; }
    .nyhero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .nyhero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* --- benefit rows (zigzag with flanking panels) --- */
.ny-benefits { position: relative; }
.ny-benefits__flank { display: none; }
.ny-rows { display: grid; gap: clamp(2.5rem, 5vw, 4rem); }
.benefit-block {
    position: relative;
    border: var(--border);
    padding: clamp(1.5rem, 3vw, 2.25rem);
    background: var(--c-bg);
}
.benefit-block__index {
    position: absolute;
    top: -14px;
    left: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--c-acid);
    border: var(--border);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
}
.benefit-block h3 { margin-top: 0.5rem; }
.benefit-block p:last-child { margin-bottom: 0; }

@media (min-width: 768px) {
    .ny-benefits { padding-inline: 96px; }
    .ny-benefits__flank {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        width: 80px;
        border: var(--border);
        background: var(--c-fog);
    }
    .ny-benefits__flank--left { left: 0; }
    .ny-benefits__flank--right { right: 0; }
    .ny-benefits__flank svg { width: 100%; height: 100%; display: block; }
}

/* --- tips + FAQ shared split band --- */
.split-band {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(2rem, 4vw, 3rem);
    position: relative;
    align-items: start;
}
.split-band__col { min-width: 0; }
@media (min-width: 768px) {
    .split-band { grid-template-columns: 1fr 1fr; }
    .split-band::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 2px;
        margin-left: -1px;
        background: var(--c-ink);
    }
}

/* ============================================
   LOCAL - SUGAR BABY HOUSTON
   ============================================ */
.sbhhero { padding-block: 0; border-bottom: var(--border); }
.sbhhero__grid { display: grid; grid-template-columns: 1fr; }
.sbhhero__dial { display: none; }
.sbhhero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.sbhhero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.75rem; }
.sbhhero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/3a2c227ef6e5747ba3a3e9fd8c9d24f8.webp");
    background-size: cover;
    background-position: 74% 42%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .sbhhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .sbhhero__grid { grid-template-columns: 96px minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .sbhhero__dial { display: block; border-right: var(--border); background: var(--c-fog); }
    .sbhhero__dial svg { width: 100%; height: 100%; display: block; }
    .sbhhero__copy { padding-inline: var(--pad-x) 0; }
    .sbhhero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .sbhhero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* --- related links, acid-framed inverted band --- */
.relband--framed { border: 2px solid var(--c-acid); }
.relband--framed .lgrid__cell a { position: relative; }
.relband--framed .lgrid__cell a::after {
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 6px;
    height: 2px;
    background: var(--c-acid);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .18s linear;
}
.relband--framed .lgrid__cell a:hover::after,
.relband--framed .lgrid__cell a:focus-visible::after { transform: scaleX(1); }

/* ============================================
   LOCAL - LOS ANGELES
   ============================================ */
.lahero__media {
    background-image: url("/assets/384abf6a512d6b4e41c157918627a17f.webp");
    background-size: cover;
    background-position: 66% 38%;
    background-repeat: no-repeat;
}
.tips--round .tips__glyph { border-radius: 50%; }

/* ============================================
   LOCAL - NASHVILLE
   ============================================ */
.nshhero { border-bottom: var(--border); }
.nshhero__grid { display: grid; grid-template-columns: 1fr; }
.nshhero__panel {
    background: var(--c-ink);
    color: #fff;
    padding: clamp(2rem, 5vw, 4rem) var(--pad-x);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.nshhero__panel h1,
.nshhero__panel p { color: #fff; }
.nshhero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
}
.nshhero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/0b2558f2b8bc4f4ca813a05c8c32e3e1.webp");
    background-size: cover;
    background-position: 82% 42%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .nshhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .nshhero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: stretch; }
    .nshhero__media { min-height: 600px; border-top: 0; border-left: var(--bw) solid var(--c-ink); }
}

/* ============================================
   LOCAL - SEATTLE
   ============================================ */
.sthero { padding-block: 0; border-bottom: var(--border); }
.sthero__grid { display: grid; grid-template-columns: 1fr; }
.sthero__panel {
    background: var(--c-ink);
    color: #fff;
    padding: clamp(2.25rem, 6vw, 4.5rem) var(--pad-x);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.sthero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
}
.sthero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/263d5cba78e329cf7a0da56052b9b067.webp");
    background-size: cover;
    background-position: 78% 40%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .sthero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .sthero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); align-items: stretch; }
    .sthero__media { min-height: 600px; border-top: 0; border-left: var(--bw) solid var(--c-ink); }
}

/* --- allowance factor cards --- */
.factor-grid { display: grid; grid-template-columns: 1fr; border: var(--border); margin-bottom: 1.5rem; }
.factor-card { padding: 1.5rem; border-bottom: var(--border); }
.factor-card:last-child { border-bottom: 0; }
.factor-card--accent { background: var(--c-acid); color: var(--c-ink); }
.factor-card h3 { font-size: var(--fs-h4); margin-bottom: 0.5rem; }
.factor-card p { margin: 0; font-size: var(--fs-sm); }
@media (min-width: 768px) {
    .factor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .factor-card { border-bottom: 0; border-right: var(--border); }
    .factor-card:last-child { border-right: 0; }
}

/* ============================================
   LOCAL - DENVER
   ============================================ */
.dvhero { padding-block: 0; border-bottom: var(--border); }
.dvhero__grid { display: grid; grid-template-columns: 1fr; }
.dvhero__panel {
    background: var(--c-ink);
    color: #fff;
    padding: clamp(2.25rem, 6vw, 4.5rem) var(--pad-x);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.dvhero__panel h1, .dvhero__panel p { color: #fff; }
.dvhero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
}
.dvhero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/84ca4f3fc3ea6b8a0c57c4262690859e.webp");
    background-size: cover;
    background-position: 68% 40%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .dvhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .dvhero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); align-items: stretch; }
    .dvhero__media { min-height: 600px; border-top: 0; border-left: var(--bw) solid var(--c-ink); }
}

/* --- offset frame, acid block behind lower-left corner --- */
.frame--offset-left { box-shadow: -10px 10px 0 var(--c-acid); }

/* --- vertical rule between split columns --- */
.split--ruled { position: relative; }
@media (min-width: 1024px) {
    .split--ruled::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 2px;
        margin-left: -1px;
        background: var(--c-ink);
    }
}

/* ============================================
   LOCAL - HOUSTON
   ============================================ */
.hohero { padding-block: 0; border-bottom: var(--border); }
.hohero__grid { display: grid; grid-template-columns: 1fr; }
.hohero__panel {
    background: var(--c-ink);
    color: #fff;
    padding: clamp(2.25rem, 6vw, 4.5rem) var(--pad-x);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hohero__panel h1, .hohero__panel p { color: #fff; }
.hohero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
}
.hohero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/32f83a341c88d3c1abee9a2cb335c687.webp");
    background-size: cover;
    background-position: 72% 42%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .hohero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .hohero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); align-items: stretch; }
    .hohero__media { min-height: 600px; border-top: 0; border-left: var(--bw) solid var(--c-ink); }
}

/* ============================================
   LOCAL - CHICAGO
   ============================================ */
.chihero { padding-block: 0; border-bottom: var(--border); }
.chihero__grid { display: grid; grid-template-columns: 1fr; }
.chihero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.chihero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.75rem; }
.chihero__hl {
    background: var(--c-acid);
    color: var(--c-ink);
    padding: 0 0.15em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.chihero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/dadada7608723f31941589d210177f8b.webp");
    background-size: cover;
    background-position: 30% 42%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .chihero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .chihero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .chihero__copy { padding-inline: var(--pad-x) 0; }
    .chihero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 60px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .chihero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* ============================================
   LOCAL - SAN DIEGO
   ============================================ */
.sdhero { padding-block: 0; border-bottom: var(--border); }
.sdhero__grid { display: grid; grid-template-columns: 1fr; }
.sdhero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); position: relative; }
.sdhero__stroke { color: transparent; -webkit-text-stroke: 2px var(--c-ink); }
.sdhero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.75rem; align-items: center; }
.sdhero__cta-wrap { position: relative; display: inline-block; }
.sdhero__cta-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--c-acid);
    transition: transform .15s linear;
    z-index: 0;
}
.sdhero__cta-wrap .btn { position: relative; z-index: 1; }
.sdhero__cta-wrap:hover::before, .sdhero__cta-wrap:focus-within::before { transform: translate(6px, 6px); }
.sdhero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/e5e805ba79ab7a93745e24b35f748d1a.webp");
    background-size: cover;
    background-position: 70% 40%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .sdhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .sdhero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .sdhero__copy { padding-inline: var(--pad-x) 0; }
    .sdhero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .sdhero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* --- benefits: flanking edge panels, stair-step blocks --- */
.sdedge { display: grid; grid-template-columns: 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); }
.sdedge__panel { display: none; }
.sdedge__rows { display: grid; gap: clamp(2.5rem, 5vw, 4rem); min-width: 0; }
.sdblock { border: var(--border); padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--c-bg); }
.sdblock--offset { margin-top: clamp(1.5rem, 3vw, 2.5rem); }

@media (min-width: 768px) {
    .sdedge { grid-template-columns: 78px minmax(0, 1fr) 78px; align-items: stretch; }
    .sdedge__panel {
        display: block;
        border: var(--border);
        background: var(--c-fog);
    }
    .sdedge__panel svg { width: 100%; height: 100%; display: block; }
}
@media (min-width: 1280px) {
    .sdedge { grid-template-columns: 104px minmax(0, 1fr) 104px; column-gap: clamp(2rem, 3vw, 3rem); }
}

/* --- profile grid: top-right lime verification tick --- */
.sdprofile-grid .pcard__badge { display: none; }
.sdprofile-grid .pcard__media { position: relative; }
.sdprofile-grid .pcard__media::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 34px;
    height: 34px;
    background-color: var(--c-acid);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 12l5 5 11-11' fill='none' stroke='%23000' stroke-width='3'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
    border-left: var(--border);
    border-bottom: var(--border);
}

/* --- related links: chevron marker before each entry --- */
.relband--chevron .lgrid__cell a { position: relative; padding-left: 2rem; }
.relband--chevron .lgrid__cell a::before {
    content: "";
    position: absolute;
    left: 1rem;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-50%) rotate(-45deg);
}

/* ============================================
   LOCAL - MIAMI
   ============================================ */
.mihero { padding-block: 0; border-bottom: var(--border); }
.mihero__grid { display: grid; grid-template-columns: 1fr; }
.mihero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.mihero__hl {
    background: var(--c-acid);
    color: var(--c-ink);
    padding: 0 0.15em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.mihero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
}
.mihero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/45ef096128333e1ef6231fbe8618e8ba.webp");
    background-size: cover;
    background-position: 32% 40%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .mihero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .mihero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .mihero__copy { padding-inline: var(--pad-x) 0; }
    .mihero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .mihero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* ============================================
   LOCAL - SUGAR BABY CHICAGO
   ============================================ */
.sbchero { padding-block: 0; border-bottom: var(--border); }
.sbchero__grid { display: grid; grid-template-columns: 1fr; }
.sbchero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.sbchero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.75rem; }
.sbchero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/aa5096d976d4dbbbb84bed3bf62ed287.webp");
    background-size: cover;
    background-position: 32% 40%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .sbchero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .sbchero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .sbchero__copy { padding-inline: var(--pad-x) 0; }
    .sbchero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .sbchero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

.split--stagger { margin-top: clamp(1rem, 3vw, 2rem); }

/* ============================================
   LOCAL - PHOENIX
   ============================================ */
.phhero { padding-block: 0; border-bottom: var(--border); }
.phhero__grid { display: grid; grid-template-columns: 1fr; }
.phhero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.phhero__hl {
    background: var(--c-acid);
    color: var(--c-ink);
    padding: 0 0.15em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.phhero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.75rem; }
.phhero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/4139594a0f3016c15c5017c548826a37.webp");
    background-size: cover;
    background-position: 26% 42%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .phhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .phhero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .phhero__copy { padding-inline: var(--pad-x) 0; }
    .phhero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .phhero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* --- benefits: flanking panels + stair-step blocks --- */
.phedge { display: grid; grid-template-columns: 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); }
.phedge__panel { display: none; }
.phedge__rows { display: grid; gap: clamp(2.5rem, 5vw, 4rem); min-width: 0; }

@media (min-width: 768px) {
    .phedge { grid-template-columns: 78px minmax(0, 1fr) 78px; align-items: stretch; }
    .phedge__panel {
        display: block;
        border: var(--border);
        background: var(--c-fog);
    }
    .phedge__panel svg { width: 100%; height: 100%; display: block; }
}
@media (min-width: 1024px) {
    .phedge__rows .split:nth-child(2) { margin-left: 6%; }
}
@media (min-width: 1280px) {
    .phedge { grid-template-columns: 104px minmax(0, 1fr) 104px; column-gap: clamp(2rem, 3vw, 3rem); }
}

/* --- profile grid: lime verification tick, reusable --- */
.profile-grid--verified .pcard__badge { display: none; }
.profile-grid--verified .pcard__media { position: relative; }
.profile-grid--verified .pcard__media::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 34px;
    height: 34px;
    background-color: var(--c-acid);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 12l5 5 11-11' fill='none' stroke='%23000' stroke-width='3'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
    border-left: var(--border);
    border-bottom: var(--border);
}

/* --- tips: square tiles --- */
.phtips .tips__glyph { border-radius: 0; }

/* ============================================
   LOCAL - ORLANDO
   ============================================ */
.orhero { border-bottom: var(--border); }
.orhero__grid { display: grid; grid-template-columns: 1fr; }
.orhero__seal {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    background: var(--c-acid);
    border-bottom: var(--border);
}
.orhero__seal svg { width: min(160px, 60vw); height: auto; display: block; }
.orhero__copy {
    padding: clamp(2rem, 5vw, 3.5rem) var(--pad-x);
    border-bottom: var(--border);
    background: #fff;
    text-align: center;
}
.orhero__copy-inner { max-width: 60ch; margin-inline: auto; }
.orhero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}
.orhero__media {
    min-height: 64vw;
    background-image: url("/assets/63a0f6f440207623cd1de369b4a7f979.webp");
    background-size: cover;
    background-position: 74% 40%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .orhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .orhero__grid {
        grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1.1fr);
        align-items: stretch;
    }
    .orhero__seal { border-bottom: 0; border-right: var(--border); }
    .orhero__copy {
        border-bottom: 0;
        border-right: var(--border);
        text-align: left;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .orhero__copy-inner { margin-inline: 0; }
    .orhero__actions { justify-content: flex-start; }
    .orhero__media { min-height: 600px; }
}

.marquee:hover .marquee__track { animation-play-state: paused; }

.ortips .tips__glyph { border-radius: 50%; }

/* ============================================
   LOCAL - SUGAR BABY DALLAS
   ============================================ */
.orhero__media--sbdallas {
    background-image: url("/assets/786a10ba4946e08a6f0845da46c5cf89.webp");
    background-position: 74% 42%;
}

.dal-tips .tips__glyph { border-radius: 50%; }

.relband--slide .lgrid__cell a {
    transition: transform .15s linear, background .15s linear, color .15s linear;
}
.relband--slide .lgrid__cell a:hover,
.relband--slide .lgrid__cell a:focus-visible {
    transform: translateX(8px);
}

/* ============================================
   LOCAL - SUGAR BABY ATLANTA
   ============================================ */
.orhero__media--sbatlanta {
    background-image: url("/assets/0b84b635dd202ee2e8ec43e02abd3415.webp");
    background-position: 78% 35%;
}

.atl-card {
    border: var(--border);
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    background: var(--c-bg);
    transition: background .15s linear, color .15s linear;
}
.atl-card:hover { background: var(--c-ink); color: #fff; }
.atl-card h3 { margin-bottom: 0.5rem; }
.atl-card p:last-child { margin-bottom: 0; }

.frame--offset-dark { box-shadow: 6px 6px 0 var(--c-ink); }

/* ============================================
   LOCAL - SUGAR BABY SEATTLE
   ============================================ */
.sbsea-hero { border-bottom: var(--border); }
.sbsea-hero__grid { display: grid; grid-template-columns: 1fr; }
.sbsea-hero__graphic {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    background: var(--c-acid);
    border-bottom: var(--border);
}
.sbsea-hero__graphic svg { width: min(200px, 55vw); height: auto; display: block; }
.sbsea-hero__card {
    padding: clamp(2rem, 5vw, 3.5rem) var(--pad-x);
    background: var(--c-bg);
    border-bottom: var(--border);
}
.sbsea-hero__card-inner { max-width: 46ch; }
.sbsea-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.sbsea-hero__media {
    min-height: 64vw;
    background-image: url("/assets/9f99adde4b6861e4edd3d99790ac9edd.webp");
    background-size: cover;
    background-position: 68% 42%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .sbsea-hero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .sbsea-hero__grid {
        grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1fr);
        align-items: stretch;
    }
    .sbsea-hero__graphic { border-bottom: 0; border-right: var(--border); }
    .sbsea-hero__card {
        border-bottom: 0;
        border-right: var(--border);
        display: flex;
        align-items: center;
    }
    .sbsea-hero__media { min-height: 100%; }
}

/* ============================================
   LOCAL - SUGAR BABY SAN DIEGO
   ============================================ */
.orhero__media--sbsandiego {
    background-image: url("/assets/155629624af5be5e6ac9ca29a2567cef.webp");
    background-position: 72% 35%;
}

.priv-panel {
    padding: clamp(1.5rem, 3vw, 2.25rem);
    background: var(--c-fog);
}
.priv-panel__row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-top: 1px solid var(--c-ink);
    font-size: var(--fs-sm);
}
.priv-panel__row:first-child { border-top: 0; padding-top: 0; }
.priv-panel__row .icon { flex: none; margin-top: 0.1em; }

/* ============================================
   LOCAL - SUGAR BABY BOSTON
   ============================================ */
.bsbhero { padding-block: 0; border-bottom: var(--border); }
.bsbhero__grid { display: grid; grid-template-columns: 1fr; }
.bsbhero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.bsbhero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.75rem; }
.bsbhero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/c4702a4202cdda371fce59150d90d8b9.webp");
    background-size: cover;
    background-position: 70% 40%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .bsbhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .bsbhero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .bsbhero__copy { padding-inline: var(--pad-x) 0; }
    .bsbhero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .bsbhero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* --- hero-to-section connector rule --- */
.bsb-divider { border-bottom: var(--border); background: var(--c-bg); }
.bsb-divider svg { display: block; width: 100%; height: 24px; }

/* --- benefits: hatched flanking panels with rotated stat label --- */
.bsbedge { display: grid; grid-template-columns: 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); }
.bsbedge__panel { display: none; }
.bsbedge__rows { display: grid; gap: clamp(2.5rem, 5vw, 4rem); min-width: 0; }

@media (min-width: 768px) {
    .bsbedge { grid-template-columns: 78px minmax(0, 1fr) 78px; align-items: stretch; }
    .bsbedge__panel {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
        border: var(--border);
        background: var(--c-fog);
    }
    .bsbedge__hatch { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.5; }
    .bsbedge__stat {
        position: relative;
        z-index: 1;
        margin: 0;
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        font-family: var(--font-display);
        font-weight: 700;
        font-size: var(--fs-xs);
        letter-spacing: 0.1em;
        text-transform: uppercase;
        text-align: center;
        background: var(--c-acid);
        padding: 1rem 0.4rem;
        border: var(--border);
    }
}
@media (min-width: 1280px) {
    .bsbedge { grid-template-columns: 104px minmax(0, 1fr) 104px; column-gap: clamp(2rem, 3vw, 3rem); }
}

/* --- profile cards: acid corner notch --- */
.profile-grid--boston .pcard { position: relative; }
.profile-grid--boston .pcard::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background: var(--c-acid);
    border-right: var(--border);
    border-bottom: var(--border);
    z-index: 2;
}

/* ============================================
   LOCAL - SUGAR BABY ORLANDO
   ============================================ */
.sbohero { padding-block: 0; border-bottom: var(--border); }
.sbohero__grid { display: grid; grid-template-columns: 1fr; }
.sbohero__copy { position: relative; padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.sbohero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.75rem; }
.sbohero__corner { position: absolute; width: 40px; height: 40px; }
.sbohero__corner--tl { top: 14px; left: 14px; }
.sbohero__corner--br { bottom: 14px; right: 14px; transform: rotate(180deg); }
.sbohero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/91ac1429b83f2bd7774235fa63427bcd.webp");
    background-size: cover;
    background-position: 30% 45%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .sbohero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .sbohero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .sbohero__copy { padding-inline: var(--pad-x) 0; }
    .sbohero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .sbohero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* --- benefit rows: tab breaking out of top-left corner --- */
.sbo-row { position: relative; border: var(--border); padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--c-bg); margin-top: 16px; }
.sbo-row:first-child { margin-top: 0; }
.sbo-row::before {
    content: "";
    position: absolute;
    top: -16px;
    left: 22px;
    width: 52px;
    height: 16px;
    background: var(--c-acid);
    border: var(--border);
    border-bottom: 0;
}

/* --- profile grid top rail --- */
.sbo-profiles { border-top: 4px solid var(--c-ink); padding-top: clamp(1.5rem, 3vw, 2rem); }

/* --- tips: vertical divider between columns --- */
.sbo-tips { position: relative; }
@media (min-width: 768px) {
    .sbo-tips::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 2px;
        margin-left: -1px;
        background: var(--c-ink);
    }
    .sbo-tips .tips { position: relative; z-index: 1; }
}

/* ============================================
   LOCAL - COUGAR DATING MIAMI
   ============================================ */
.cmhero { padding-block: 0; border-bottom: var(--border); }
.cmhero__grid { display: grid; grid-template-columns: 1fr; }
.cmhero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.cmhero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.5rem; }
.cmhero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/f79fe32d8934c2a014259ca7f4e43c66.webp");
    background-size: cover;
    background-position: 78% 42%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .cmhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .cmhero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .cmhero__copy { padding-inline: var(--pad-x) 0; }
    .cmhero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .cmhero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* --- profile grid: acid triangle corner marker --- */
.profile-grid--tri .pcard { position: relative; }
.profile-grid--tri .pcard::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 22px 22px;
    border-color: transparent transparent var(--c-acid) transparent;
    z-index: 2;
}

/* ============================================
   LOCAL - TAMPA
   ============================================ */
.lvhero__media--tampa {
    position: relative;
    background-image: url("/assets/babe6f206436fd61f485f182d7b099aa.webp");
    background-size: cover;
    background-position: 74% 42%;
    background-repeat: no-repeat;
}

.tampa-corner {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 3px;
    background: #fff;
    border: var(--border);
    z-index: 2;
}
.tampa-corner .icon { width: 100%; height: 100%; color: var(--c-ink); }
.tampa-corner--tl { top: 10px; left: 10px; }
.tampa-corner--tr { top: 10px; right: 10px; }
.tampa-corner--bl { bottom: 10px; left: 10px; }
.tampa-corner--br { bottom: 10px; right: 10px; }

.flag-list { list-style: none; margin: 0 0 1rem; padding: 0; }
.flag-list li {
    position: relative;
    padding-left: 1.6rem;
    margin-bottom: 0.55rem;
    font-size: var(--fs-sm);
}
.flag-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.4em;
    width: 10px;
    height: 10px;
    background: var(--c-ink);
}
.flag-list li:hover::before { background: var(--c-acid); }

/* ============================================
   LOCAL - INDIANAPOLIS
   ============================================ */
.lvhero__media--indianapolis {
    background-image: url("/assets/8a0764df92b7f26422b2e690b6e0529e.webp");
    background-position: 76% 35%;
}

.lvhero__bracket { display: none; }
@media (min-width: 1024px) {
    .lvhero__bracket {
        display: block;
        position: absolute;
        left: 0;
        top: clamp(2rem, 5vw, 4rem);
        bottom: clamp(2rem, 5vw, 4rem);
        width: 18px;
    }
    .lvhero__bracket svg { width: 100%; height: 100%; display: block; }
    .lvhero__copy { position: relative; padding-left: calc(var(--pad-x) + 30px); }
}

.indy-row { border: var(--border); padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--c-bg); }
.indy-row--fog { background: var(--c-fog); }

.profile-grid--railed { position: relative; padding-top: 16px; }
.profile-grid--railed::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--c-ink);
}
.profile-grid--railed .pcard { position: relative; }

/* ============================================
   BLOG - CUT THE SMALL TALK
   ============================================ */
.bphero { padding-block: clamp(1.25rem, 3vw, 2.5rem); }
.bphero__frame {
    position: relative;
    border: var(--border);
    padding: clamp(0.6rem, 2vw, 2rem);
    background: var(--c-bg);
}
.bphero__gridlines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.bphero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    border: var(--border);
}
.bphero__panel {
    background: var(--c-ink);
    color: #fff;
    padding: clamp(1.5rem, 4vw, 3rem);
}
.bphero__panel h1 { color: #fff; }
.bphero__keyline {
    display: block;
    width: 120px;
    height: 10px;
    background: var(--c-acid);
    margin: 0 0 1.25rem;
}
.bphero__deck { font-size: var(--fs-lg); margin-bottom: 1.25rem; }
.bphero__byline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.25rem;
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    font-family: var(--font-display);
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-acid);
}
.bphero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/5f236e5e8010ccfe1300fd892414a14e.webp");
    background-size: cover;
    background-position: 74% 45%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .bphero__media { min-height: 44vw; }
}
@media (min-width: 1024px) {
    .bphero__inner { grid-template-columns: 1fr 1fr; align-items: stretch; }
    .bphero__media {
        min-height: 540px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* --- two-column editorial split with centre rule --- */
.bpsplit {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.75rem, 4vw, 3rem);
    align-items: start;
}
.bpsplit__col { position: relative; z-index: 1; min-width: 0; }
.bpsplit__col--fog {
    background: var(--c-fog);
    padding: clamp(1.25rem, 2.5vw, 2rem);
}
@media (min-width: 1024px) {
    .bpsplit { grid-template-columns: 1fr 1fr; column-gap: clamp(2rem, 4vw, 3.5rem); }
    .bpsplit::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 2px;
        margin-left: -1px;
        background: var(--c-ink);
        z-index: 0;
    }
}

.bpcols { columns: 1; column-gap: clamp(1.25rem, 2vw, 2rem); }
.bpcols p { break-inside: avoid; margin-bottom: 1rem; font-size: var(--fs-sm); }
.bpcols strong {
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
@media (min-width: 640px) { .bpcols { columns: 3; } }

/* --- side-by-side comparison panels --- */
.cmp2 {
    display: grid;
    grid-template-columns: 1fr;
    border: var(--border);
    margin-bottom: 1.5rem;
}
.cmp2__panel { padding: clamp(1.25rem, 2.5vw, 1.75rem); background: var(--c-bg); }
.cmp2__panel--dark { background: var(--c-ink); color: #fff; border-top: var(--border); }
.cmp2__head {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-h4);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 0.5rem;
}
.cmp2__panel--dark .cmp2__head { color: var(--c-acid); }
.cmp2__row {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.9rem 0;
    border-top: 2px solid var(--c-ink);
}
.cmp2__panel--dark .cmp2__row { border-top-color: #fff; }
.cmp2__row p { margin: 0; font-size: var(--fs-sm); }
.cmp2__glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: none;
    border: var(--border);
    background: var(--c-bg);
    color: var(--c-ink);
}
.cmp2__panel--dark .cmp2__glyph {
    background: var(--c-acid);
    border-color: var(--c-acid);
}
@media (min-width: 640px) {
    .cmp2 { grid-template-columns: 1fr 1fr; }
    .cmp2__panel--dark { border-top: 0; border-left: var(--border); }
}

/* --- data cards, chart and ring gauges --- */
.bpdata { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1rem; }
.bpdata__card,
.bpring {
    border: var(--border);
    background: var(--c-fog);
    padding: clamp(0.9rem, 2vw, 1.25rem);
}
.bpdata__card svg,
.bpring svg { display: block; width: 100%; height: auto; }
.bpdata__rings { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.bpring { text-align: center; }
.bpring__label {
    margin: 0.6rem 0 0;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.bpdata__caption {
    border: var(--border);
    background: var(--c-ink);
    color: #fff;
    padding: 0.9rem 1.1rem;
    font-size: var(--fs-sm);
    margin: 0 0 1.25rem;
}
.bpfaq { margin-top: clamp(2rem, 4vw, 3rem); }

/* --- conclusion banner beside related card row --- */
.closeband {
    display: grid;
    grid-template-columns: 1fr;
    border-bottom: var(--border);
}
.closeband__banner {
    display: flex;
    flex-direction: column;
    background: var(--c-ink);
    color: #fff;
}
.closeband__ticker .marquee { border-top: 0; }
.closeband__ticker .marquee__item { color: var(--c-acid); }
.closeband__body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.75rem, 5vw, 3.25rem) var(--pad-x);
}
.closeband__body h2 { color: #fff; }
.closeband__body p { max-width: 52ch; margin-bottom: 1.75rem; }
.closeband__body .btn { align-self: flex-start; text-align: center; }
.closeband__cards { padding: clamp(1.75rem, 5vw, 3.25rem) var(--pad-x); }

@media (min-width: 1024px) {
    .closeband { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
    .closeband__body { padding-left: max(var(--pad-x), calc((100vw - var(--shell)) / 2 + var(--pad-x))); }
    .closeband__cards {
        border-left: var(--border);
        padding-right: max(var(--pad-x), calc((100vw - var(--shell)) / 2 + var(--pad-x)));
    }
}

.rcards { display: grid; grid-template-columns: 1fr; gap: clamp(1rem, 2vw, 1.5rem); }
@media (min-width: 600px) { .rcards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rcard {
    display: flex;
    flex-direction: column;
    border: var(--border);
    background: var(--c-bg);
}
.rcard img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-bottom: var(--border);
}
.rcard__body { padding: 0.9rem 1rem 1.1rem; flex: 1 1 auto; }
.rcard__title { font-size: var(--fs-h4); margin-bottom: 0.4rem; }
.rcard__text { margin: 0; font-size: var(--fs-sm); }
.rcard__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: auto;
    padding: 0.6rem 0.9rem;
    text-align: center;
    text-decoration: none;
    background: var(--c-ink);
    color: #fff;
    border-top: var(--border);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.rcard__cta:hover, .rcard__cta:focus-visible { background: var(--c-acid); color: var(--c-ink); }

/* --- newsletter strip, squared white input --- */
.bp-news .subscribe__input {
    background: #fff;
    color: var(--c-ink);
    border: var(--border);
    padding: 0.7rem 1rem;
}
.bp-news .subscribe__input::placeholder { color: #4a4a4a; }

/* ============================================
   BLOG - EXECUTIVES ON SUGAR PLATFORMS
   ============================================ */
.exhero { padding-block: 0; border-bottom: var(--border); }
.exhero__grid { display: grid; grid-template-columns: 1fr; }
.exhero__panel {
    position: relative;
    background: var(--c-ink);
    color: #fff;
    padding: clamp(2.25rem, 6vw, 4.5rem) var(--pad-x);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.exhero__panel h1, .exhero__panel p { color: #fff; }
.exhero__ticks {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 14px;
    height: 100%;
}
.exhero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.5rem; }
.exhero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/8899303befd7deba93a1d0f68081ef19.webp");
    background-size: cover;
    background-position: 74% 40%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .exhero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .exhero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); align-items: stretch; }
    .exhero__panel { padding-left: calc(var(--pad-x) + 14px); }
    .exhero__ticks { display: block; }
    .exhero__media { min-height: 600px; border-top: 0; border-left: var(--bw) solid var(--c-ink); }
}

/* ============================================
   BLOG - OPPORTUNITY COST DATING
   ============================================ */
.bphero__panel { position: relative; overflow: hidden; }
.bphero__panelgrid { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; opacity: 0.16; }
.bphero__panel-inner { position: relative; z-index: 1; }

.bphero__media--mathdating {
    background-image: url("/assets/d47e666ff9bfa03d3fa5b4b941c70915.webp");
    background-position: 68% 45%;
}

.scenario-list {
    display: grid;
    border: var(--border);
    margin-bottom: 1.5rem;
}
.scenario {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    padding: clamp(1.25rem, 3vw, 1.75rem);
    border-bottom: var(--border);
}
.scenario:last-child { border-bottom: 0; }
.scenario__num {
    flex: none;
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 0.8;
    font-size: clamp(3rem, 8vw, 5rem);
    color: transparent;
    -webkit-text-stroke: 2px var(--c-ink);
}
.scenario__body h3 { margin-bottom: 0.5rem; }
.scenario__body p { margin: 0; font-size: var(--fs-sm); }

/* ============================================
   BLOG - SUGAR CONTRACTS EXPLAINED
   ============================================ */
.bphero__media--contracts {
    background-image: url("/assets/07ff05ec17d10464830987b0781f1daf.webp");
    background-position: 76% 40%;
}

.myth-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
}
@media (min-width: 900px) {
    .myth-split { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
}

.myth-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border: var(--border);
    border-bottom: 0;
    background: var(--c-bg);
}
.myth-row { border-bottom: var(--border); }
.myth-row__myth {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    margin: 0;
    padding: 0.9rem 1rem 0.5rem;
    font-size: var(--fs-sm);
}
.myth-row__myth strong {
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-right: 0.3em;
}
.myth-row__reality {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    margin: 0;
    padding: 0.5rem 1rem 0.9rem;
    background: var(--c-ink);
    color: #fff;
    font-size: var(--fs-sm);
}
.myth-row__reality strong {
    font-family: var(--font-display);
    text-transform: uppercase;
    color: var(--c-acid);
    letter-spacing: 0.04em;
    margin-right: 0.3em;
}
.myth-row__glyph { flex: none; width: 22px; height: 22px; }
.myth-row__glyph .icon { width: 22px; height: 22px; }

/* ============================================
   BLOG - TRANSPARENCY ADVANTAGE
   ============================================ */
.bphero__arrows {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    display: none;
}
@media (min-width: 1024px) {
    .bphero__arrows { display: block; }
}

.bphero__media--transparency {
    background-image: url("/assets/f053917830ba0cdd405754d50d9c93ca.webp");
    background-position: 78% 38%;
}

.tr-close {
    background: var(--c-ink);
    color: #fff;
    border-bottom: var(--border);
}
.tr-close .marquee { border-top: 0; }
.tr-close__body {
    padding: clamp(2.5rem, 6vw, 4.5rem) 0;
    text-align: center;
}
.tr-close__body h2 { color: #fff; }
.tr-close__body p {
    max-width: 60ch;
    margin: 0 auto 1.75rem;
    font-size: var(--fs-lg);
}

/* ============================================
   BLOG - DATING ALGORITHMS ARE BROKEN
   ============================================ */
.bphero__media--algorithms {
    background-image: url("/assets/78b0d119a1ca86ee3878e526c1c96d80.webp");
    background-position: 74% 40%;
}

.tri-col {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    border-top: var(--border);
    padding-top: 1.5rem;
    margin-top: 1.5rem;
}
.tri-col p { font-size: var(--fs-sm); margin: 0; }
@media (min-width: 768px) {
    .tri-col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tri-col > * { padding-inline: 1.25rem; border-left: 1px solid var(--c-ink); }
    .tri-col > *:first-child { border-left: 0; padding-left: 0; }
}

.invert-card {
    border: var(--border);
    background: var(--c-bg);
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    transition: background .15s linear, color .15s linear;
}
.invert-card:hover { background: var(--c-ink); color: #fff; }
.invert-card h2 { margin-bottom: 0.75rem; }

.dab-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.75rem, 3vw, 2.25rem);
    margin-top: 1.5rem;
}
.dab-card {
    position: relative;
    border: var(--border);
    padding: clamp(1.5rem, 3vw, 2rem);
    background: var(--c-bg);
    overflow: visible;
    transition: background .15s linear, color .15s linear;
}
.dab-card:hover { background: var(--c-ink); color: #fff; }
.dab-card:hover .dab-num { color: transparent; -webkit-text-stroke-color: var(--c-acid); }
.dab-num {
    position: absolute;
    top: -0.55em;
    left: -0.1em;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(3rem, 7vw, 4.5rem);
    line-height: 0.8;
    color: transparent;
    -webkit-text-stroke: 2px var(--c-ink);
    z-index: 0;
}
.dab-card__body { position: relative; z-index: 1; padding-top: 1.5rem; }
.dab-card__body h3 { margin-bottom: 0.5rem; }
.dab-card__body p { margin: 0; font-size: var(--fs-sm); }
@media (min-width: 768px) {
    .dab-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.scrim-band { position: relative; overflow: hidden; background-color: var(--c-ink); padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.scrim-band__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.scrim-band__scrim {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.78);
}
.scrim-band__inner { position: relative; z-index: 1; color: #fff; max-width: 64ch; }
.scrim-band__inner h2 { color: #fff; }
.scrim-band__inner p { margin: 0; font-size: var(--fs-lg); }
.scrim-band__rule { display: block; width: 100px; height: 8px; background: var(--c-acid); margin-bottom: 1.25rem; }

.final-band {
    border: var(--border);
    border-left: 12px solid var(--c-acid);
    background: var(--c-ink);
    color: #fff;
    padding: clamp(1.75rem, 4vw, 2.75rem);
    margin-top: 2rem;
}
.final-band h2 { color: var(--c-acid); }
.final-band p { max-width: 62ch; margin-bottom: 1.5rem; }
.final-band__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 2px solid #fff;
}
.final-band__links a {
    color: var(--c-acid);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: underline;
}
.final-band__links a:hover { background: var(--c-acid); color: var(--c-ink); }

/* ============================================
   BLOG - NEGOTIATING LIFE ON YOUR TERMS
   ============================================ */
.nlt-hero { padding-block: clamp(1.5rem, 4vw, 3rem); border-bottom: var(--border); }
.nlt-hero__grid { display: grid; grid-template-columns: 1fr; gap: clamp(2rem, 4vw, 3rem); align-items: center; }
.nlt-hero__meta {
    font-family: var(--font-display);
    font-size: var(--fs-xs);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-ink-soft);
    margin-bottom: 0.75rem;
}
.nlt-hero__deck { font-size: var(--fs-lg); margin-bottom: 1.5rem; }
.nlt-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.nlt-hero__frame { position: relative; margin: 10px 0 10px 10px; z-index: 1; }
.nlt-hero__frame::before {
    content: "";
    position: absolute;
    top: -10px; left: -10px;
    width: 100%; height: 100%;
    border: var(--border);
    z-index: -1;
}
.nlt-hero__frame img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: var(--border);
    position: relative;
    z-index: 1;
}
.nlt-hero__frame::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -10px;
    height: 10px;
    background: var(--c-acid);
    z-index: 2;
}
@media (min-width: 1024px) {
    .nlt-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
}

.nlt-intro { border-top: 2px solid var(--c-ink); padding-top: clamp(1.5rem, 3vw, 2.25rem); }
.nlt-intro__cols { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.nlt-intro__cols p { font-size: var(--fs-sm); margin: 0; }
@media (min-width: 768px) {
    .nlt-intro__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nlt-intro__cols > * { padding-inline: 1.25rem; border-left: 1px solid var(--c-ink); }
    .nlt-intro__cols > *:first-child { border-left: 0; padding-left: 0; }
}

.nlt-def-card {
    border: var(--border);
    background: var(--c-acid);
    padding: clamp(1.5rem, 3vw, 2.25rem);
    margin-bottom: 1rem;
}
.nlt-def-card p { margin: 0; font-size: var(--fs-lg); }
.nlt-def-disclaimer {
    background: var(--c-ink);
    color: #fff;
    border: var(--border);
    border-top: 0;
    padding: 1rem 1.25rem;
    font-size: var(--fs-sm);
    margin: 0 0 1.5rem;
}
.nlt-def-disclaimer a { color: var(--c-acid); }

.nlt-fields { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.nlt-fields li {
    border: var(--border);
    border-left: 8px solid var(--c-acid);
    padding: 0.9rem 1.1rem;
    margin-top: -2px;
    background: var(--c-bg);
    transition: background .15s linear, color .15s linear;
}
.nlt-fields li:first-child { margin-top: 0; }
.nlt-fields li:hover { background: var(--c-ink); color: #fff; border-left-color: var(--c-acid); }
.nlt-fields li strong {
    display: block;
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 0.2rem;
    font-size: var(--fs-sm);
}
.nlt-fields li p { margin: 0; font-size: var(--fs-sm); }

.nlt-trust { border: var(--border); display: grid; grid-template-columns: 1fr; margin: 1.5rem 0; }
.nlt-trust__panel { padding: clamp(1.25rem, 2.5vw, 1.75rem); }
.nlt-trust__panel--dark { background: var(--c-ink); color: #fff; border-top: var(--border); }
.nlt-trust__panel--dark h3 { color: var(--c-acid); }
.nlt-trust__row {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.85rem 0;
    border-top: 1px solid var(--c-ink);
}
.nlt-trust__panel--dark .nlt-trust__row { border-top-color: #fff; }
.nlt-trust__row:first-child { border-top: 0; padding-top: 0; }
.nlt-trust__row p { margin: 0; font-size: var(--fs-sm); }
.nlt-trust__glyph { flex: none; width: 22px; height: 22px; }
.nlt-trust__panel--dark .nlt-trust__glyph { color: var(--c-acid); }
@media (min-width: 768px) {
    .nlt-trust { grid-template-columns: 1fr 1fr; }
    .nlt-trust__panel--dark { border-top: 0; border-left: var(--border); }
}

.nlt-examples { display: grid; grid-template-columns: 1fr; border: var(--border); margin-top: 1.5rem; }
.nlt-example { position: relative; padding: clamp(1.5rem, 3vw, 2rem); border-bottom: var(--border); overflow: visible; }
.nlt-example:last-child { border-bottom: 0; }
.nlt-example__num {
    position: absolute;
    top: -0.5em;
    left: -0.05em;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(3rem, 7vw, 4.5rem);
    line-height: 0.8;
    color: transparent;
    -webkit-text-stroke: 2px var(--c-ink);
    z-index: 0;
}
.nlt-example__body { position: relative; z-index: 1; padding-top: 1.5rem; }
.nlt-example__body h3 { margin-bottom: 0.5rem; }
.nlt-example__body p { margin: 0; font-size: var(--fs-sm); }
@media (min-width: 768px) {
    .nlt-examples { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nlt-example { border-bottom: 0; border-right: var(--border); }
    .nlt-example:last-child { border-right: 0; }
}

.scrim-band__bg--negotiate {
    background-image: url("/assets/a15c991e81f2265e76acdc2af65ad03d.webp");
}

/* ============================================
   ABOUT - HERO
   ============================================ */
.ab-hero { padding-block: 0; border-bottom: var(--border); }
.ab-hero__grid { display: grid; grid-template-columns: 1fr; }
.ab-hero__copy { position: relative; padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.ab-hero__gridlines { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; display: none; }
.ab-hero__copy-inner { position: relative; z-index: 1; }
.ab-hero__highlight {
    background: var(--c-acid);
    padding: 0 0.15em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.ab-hero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/9269dc604fe5e66e14996b3e31c83442.webp");
    background-size: cover;
    background-position: 72% 40%;
    background-repeat: no-repeat;
}
.ab-hero__trust {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--c-ink);
    color: #fff;
}
.ab-hero__trust li {
    flex: 1 1 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 56px;
    padding: 0.75rem 1rem;
    text-align: center;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-left: 2px solid var(--c-acid);
}
.ab-hero__trust li:first-child { border-left: 0; }

@media (min-width: 768px) {
    .ab-hero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .ab-hero__gridlines { display: block; opacity: 0.6; }
    .ab-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: stretch; }
    .ab-hero__copy { padding-inline: var(--pad-x) 0; }
    .ab-hero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .ab-hero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* ============================================
   ABOUT - ORIGIN STORY
   ============================================ */
.ab-origin { position: relative; }
.ab-origin__connector { display: none; }
.ab-origin__list {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.ab-origin__step {
    position: relative;
    z-index: 1;
    border: var(--border);
    padding: 2.5rem clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.25rem, 2.5vw, 1.75rem);
    background: var(--c-bg);
    overflow: hidden;
}
.ab-origin__step--mid { background: var(--c-ink); color: #fff; }
.ab-origin__step--mid h3 { color: #fff; }
.ab-origin__num {
    position: absolute;
    top: -0.5em;
    left: 0.1em;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(3rem, 7vw, 4.5rem);
    line-height: 0.8;
    color: transparent;
    -webkit-text-stroke: 2px var(--c-ink);
    z-index: 0;
}
.ab-origin__step--mid .ab-origin__num { -webkit-text-stroke-color: var(--c-acid); }
.ab-origin__step h3 { position: relative; z-index: 1; margin-top: 1.1rem; font-size: var(--fs-h4); margin-bottom: 0.5rem; }
.ab-origin__step p { position: relative; z-index: 1; margin: 0; font-size: var(--fs-sm); }

@media (min-width: 768px) {
    .ab-origin__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ab-origin__step { margin-left: -2px; }
    .ab-origin__step:first-child { margin-left: 0; }
    .ab-origin__connector {
        display: block;
        position: absolute;
        top: 38px;
        left: 0;
        right: 0;
        height: 6px;
        background: var(--c-ink);
        z-index: 0;
    }
    .ab-origin__connector::after {
        content: "";
        position: absolute;
        right: -2px;
        top: -7px;
        width: 0;
        height: 0;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 14px solid var(--c-acid);
    }
}

/* ============================================
   ABOUT - DIFFERENTIATORS
   ============================================ */
.ab-diff { border: var(--border); }
.ab-diff__row { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--c-ink); }
.ab-diff__row:first-child { border-top: 0; }
.ab-diff__label {
    padding: 0.85rem 1.1rem;
    background: var(--c-ink);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.ab-diff__label--us { background: var(--c-acid); color: var(--c-ink); }
.ab-diff__cell {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 1rem 1.1rem;
    font-size: var(--fs-sm);
}
.ab-diff__cell .icon { flex: none; margin-top: 0.15em; width: 20px; height: 20px; }
.ab-diff__cell--fog { background: var(--c-fog); }

@media (min-width: 640px) {
    .ab-diff__row { grid-template-columns: 1fr 1fr; }
    .ab-diff__cell--fog { border-left: var(--border); }
    .ab-diff__label--us { border-left: var(--border); }
}

/* ============================================
   CONTACT - HERO
   ============================================ */
.ct-hero { padding-block: 0; border-bottom: var(--border); }
.ct-hero__grid { display: grid; grid-template-columns: 1fr; }
.ct-hero__media {
    position: relative;
    min-height: 64vw;
    border-bottom: var(--border);
    background-image: url("/assets/6fd3a5138460fa65458eca11e7c41d34.webp");
    background-size: cover;
    background-position: 30% 40%;
    background-repeat: no-repeat;
}
.ct-hero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.ct-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }

@media (min-width: 768px) {
    .ct-hero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .ct-hero__grid {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        align-items: stretch;
        position: relative;
    }
    .ct-hero__media { min-height: 560px; border-bottom: 0; border-right: var(--bw) solid var(--c-ink); }
    .ct-hero__copy { display: flex; flex-direction: column; justify-content: center; padding-left: clamp(2rem, 4vw, 3.5rem); }
    .ct-hero__grid::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc(90% - 3px);
        width: 6px;
        background: var(--c-acid);
        z-index: 2;
    }
}

/* ============================================
   CONTACT - PRIVACY PANEL
   ============================================ */
.ct-privacy {
    position: relative;
    overflow: hidden;
    background: var(--c-ink);
    color: #fff;
    padding-block: clamp(2.5rem, 5vw, 4rem);
    border-block: var(--border);
}
.ct-privacy h2 { color: #fff; }
.ct-privacy__inner { position: relative; z-index: 1; max-width: 66ch; }
.ct-privacy__inner a { color: var(--c-acid); }
.ct-privacy__mark {
    position: absolute;
    top: 50%;
    right: -30px;
    transform: translateY(-50%);
    width: min(320px, 60vw);
    height: auto;
    opacity: 0.18;
    z-index: 0;
    pointer-events: none;
}

/* ============================================
   FAQ PAGE
   ============================================ */
.faq-hero { padding-block: 0; border-bottom: var(--border); }
.faq-hero__grid { display: grid; grid-template-columns: 1fr; }
.faq-hero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.faq-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1.75rem;
}
.faq-chip {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.5rem 1rem;
    border: var(--border);
    background: #fff;
    color: var(--c-ink);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
}
.faq-chip:hover, .faq-chip:focus-visible { background: var(--c-acid); }
.faq-hero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/0f6b3a22305218ac5035a4bc9d1888fb.webp");
    background-size: cover;
    background-position: 72% 40%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .faq-hero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .faq-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .faq-hero__copy { padding-inline: var(--pad-x) 0; }
    .faq-hero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .faq-hero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* --- pricing group: heavy left rule with rotated label --- */
.faq-rule-group {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}
.faq-rule-group__label {
    display: none;
}
.faq-rule-group__body { min-width: 0; }
@media (min-width: 768px) {
    .faq-rule-group { grid-template-columns: 32px minmax(0, 1fr); align-items: stretch; }
    .faq-rule-group__label {
        display: flex;
        align-items: center;
        justify-content: center;
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        font-family: var(--font-display);
        font-weight: 700;
        font-size: var(--fs-xs);
        letter-spacing: 0.16em;
        text-transform: uppercase;
        background: var(--c-ink);
        color: var(--c-acid);
        border-left: 6px solid var(--c-ink);
    }
}

/* --- verification group: acid badge icon before each question --- */
.faq-verified-acc .acc__q-text { display: flex; align-items: center; }
.faq-badge-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 22px;
    height: 22px;
    margin-right: 0.6rem;
    color: var(--c-acid);
}
.faq-verified-acc .acc__item[open] .faq-badge-ico { color: var(--c-acid); }

.faq-cta__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

/* ============================================
   HOW IT WORKS - HERO
   ============================================ */
.hiw-hero { padding-block: 0; border-bottom: var(--border); }
.hiw-hero__grid { display: grid; grid-template-columns: 1fr; }
.hiw-hero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.hiw-hero__mark {
    background: var(--c-acid);
    padding: 0 0.12em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.hiw-hero__hatch { width: min(220px, 55%); height: 14px; margin: 0.9rem 0 1.5rem; overflow: hidden; }
.hiw-hero__hatch svg { display: block; width: 100%; height: 100%; }
.hiw-hero__stats { margin-top: 1.5rem; }
.hiw-hero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/c88951bb0f491d9eaf18e1bff9915a2c.webp");
    background-size: cover;
    background-position: 74% 38%;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .hiw-hero__media { min-height: 46vw; }
}
@media (min-width: 1024px) {
    .hiw-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .hiw-hero__copy { padding-inline: var(--pad-x) 0; display: flex; flex-direction: column; justify-content: center; }
    .hiw-hero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .hiw-hero__media {
        min-height: 600px;
        border-top: 0;
        border-left: var(--bw) solid var(--c-ink);
    }
}

/* ============================================
   HOW IT WORKS - VERIFICATION DEEP DIVE
   ============================================ */
.vdeep {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
}
.vdeep__copy p:last-child { margin-bottom: 0; }
.vdeep__cards { display: grid; gap: 1rem; }
.vdeep__card {
    position: relative;
    overflow: hidden;
    border: var(--border);
    background: var(--c-bg);
    padding: clamp(1.1rem, 2.5vw, 1.5rem);
}
.vdeep__card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    background: var(--c-acid);
    clip-path: polygon(100% 0, 100% 100%, 0 0);
}
.vdeep__card h3 { font-size: var(--fs-h4); margin-bottom: 0.4rem; padding-right: 1.5rem; }
.vdeep__card p { margin: 0; font-size: var(--fs-sm); }
@media (min-width: 900px) {
    .vdeep { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
}

/* ============================================
   HOW IT WORKS - COMPARISON TABLE FILL
   ============================================ */
.cmp-verify .cmp thead th.is-us { background: var(--c-acid); color: var(--c-ink); }
.cmp-verify .cmp td.is-us { background: var(--c-acid); color: var(--c-ink); font-weight: 700; }
.cmp-verify .cmp td:not(.is-us) { background: var(--c-fog); }

/* ============================================
   HOW IT WORKS - PROOF BAND
   ============================================ */
.proof-band { background: var(--c-ink); color: #fff; border-block: var(--border); padding-block: clamp(2rem, 5vw, 3.5rem); }
.proof-band h2 { color: #fff; margin-bottom: 1.5rem; }
.proof-band__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.proof-band__item { padding: 0 0 1.25rem; }
.proof-band__value {
    display: block;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(2rem, 5vw, 3rem);
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
}
.proof-band__label { display: block; margin-top: 0.5rem; font-size: var(--fs-sm); max-width: 30ch; }
.proof-band__item a { text-decoration: none; color: inherit; display: block; }
.proof-band__item a:hover .proof-band__value,
.proof-band__item a:focus-visible .proof-band__value { color: var(--c-acid); }
@media (min-width: 768px) {
    .proof-band__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .proof-band__item { border-left: 2px solid var(--c-acid); padding-left: 1.5rem; }
    .proof-band__item:first-child { border-left: 0; padding-left: 0; }
}

/* ============================================
   PRIVACY POLICY PAGE
   ============================================ */
.pp-hero { padding-block: 0; border-bottom: var(--border); }
.pp-hero__grid { display: grid; grid-template-columns: 1fr; }
.pp-hero__copy { padding: clamp(2rem, 5vw, 4rem) var(--pad-x); }
.pp-hero__updated {
    font-family: var(--font-display);
    font-size: var(--fs-xs);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-ink-soft);
    margin-bottom: 0.9rem;
}
.pp-hero__media {
    min-height: 52vw;
    border-top: var(--border);
    background-image: url("/assets/db5e89613755e956a3ea28662ac54a80.webp");
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
}

@media (min-width: 768px) {
    .pp-hero__media { min-height: 38vw; }
}
@media (min-width: 1024px) {
    .pp-hero__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: stretch; }
    .pp-hero__media { min-height: 420px; border-top: 0; border-left: var(--bw) solid var(--c-ink); }
}

.pp-section { padding-block: var(--band-y); }
.pp-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
}
.pp-index { border: var(--border); background: var(--c-fog); padding: 1.25rem 1.5rem; }
.pp-index__title { font-size: var(--fs-h4); margin-bottom: 0.75rem; }
.pp-index__list { list-style: none; margin: 0; padding: 0; }
.pp-index__list li { border-top: 1px solid var(--c-ink); }
.pp-index__list li:first-child { border-top: 0; }
.pp-index__list a {
    display: block;
    padding: 0.6rem 0.1rem;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-sm);
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: background .15s linear, padding-left .15s linear;
}
.pp-index__list a:hover, .pp-index__list a:focus-visible {
    background: var(--c-acid);
    padding-left: 0.5rem;
}
.pp-body { min-width: 0; }

@media (min-width: 1024px) {
    .pp-layout { grid-template-columns: 260px minmax(0, 1fr); }
    .pp-index { position: sticky; top: calc(var(--header-h) + 1.5rem); }
}

.pp-block {
    position: relative;
    padding: clamp(1.5rem, 3vw, 2rem) 0 clamp(1.5rem, 3vw, 2rem) clamp(2.75rem, 7vw, 4.5rem);
    border-top: var(--border);
}
.pp-block:first-child { border-top: 0; padding-top: 0; }
.pp-block__num {
    position: absolute;
    left: 0;
    top: clamp(1.25rem, 3vw, 1.75rem);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(2.25rem, 6vw, 3.5rem);
    line-height: 0.8;
    color: transparent;
    -webkit-text-stroke: 2px var(--c-ink);
}
.pp-block:first-child .pp-block__num { top: 0; }
.pp-block h2 { margin-bottom: 0.6rem; }
.pp-block h3 { font-size: var(--fs-h4); margin-top: 1rem; margin-bottom: 0.3rem; }
.pp-block p { font-size: var(--fs-sm); }

.pp-block--panel {
    background: var(--c-fog);
    border: var(--border);
    padding: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2rem) clamp(2.75rem, 7vw, 4.5rem);
    margin-top: clamp(1.5rem, 3vw, 2rem);
}
.pp-diagram-wrap { position: relative; }
.pp-diagram { position: absolute; top: 0; right: 0; width: 84px; height: 64px; }

.pp-rights { list-style: none; margin: 1rem 0 0; padding: 0; border: var(--border); }
.pp-rights li { display: flex; gap: 0.75rem; align-items: flex-start; padding: 1rem 1.1rem; border-top: 1px solid var(--c-ink); }
.pp-rights li:first-child { border-top: 0; }
.pp-rights li::before {
    content: "";
    flex: none;
    width: 12px;
    height: 12px;
    margin-top: 0.35em;
    background: var(--c-acid);
    border: 2px solid var(--c-ink);
}
.pp-rights strong {
    display: block;
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: var(--fs-sm);
    margin-bottom: 0.2rem;
}
.pp-rights p { margin: 0; font-size: var(--fs-sm); }

.pp-cookie-callout {
    background: var(--c-ink);
    color: #fff;
    border: var(--border);
    padding: 1.1rem 1.35rem;
    margin-top: 1.1rem;
}
.pp-cookie-callout p { margin: 0; font-size: var(--fs-sm); }
.pp-cookie-callout a { color: var(--c-acid); text-decoration: underline; text-underline-offset: 0.18em; }
.pp-cookie-callout a:hover { background: var(--c-acid); color: var(--c-ink); }

.pp-contact-links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; margin-top: 1rem; }
.pp-contact-links a {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}
.pp-contact-links a:hover { background: var(--c-acid); }

/* ============================================
   TERMS & CONDITIONS PAGE
   ============================================ */
.tc-hero { padding-block: 0; border-bottom: var(--border); }
.tc-hero__grid { display: grid; grid-template-columns: 1fr; }
.tc-hero__copy { position: relative; padding: clamp(2rem, 5vw, 4rem) var(--pad-x); overflow: hidden; }
.tc-hero__gridlines { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; display: none; opacity: 0.5; }
.tc-hero__copy-inner { position: relative; z-index: 1; }
.tc-hero__highlight { background: var(--c-acid); padding: 0 0.15em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.tc-hero__meta { font-family: var(--font-display); font-size: var(--fs-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-ink-soft); margin: 1rem 0 0; }
.tc-hero__jump { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.tc-hero__jump a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.5rem 0.9rem;
    border: var(--border);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--c-ink);
}
.tc-hero__jump a:hover, .tc-hero__jump a:focus-visible { background: var(--c-ink); color: var(--c-acid); }
.tc-hero__media {
    min-height: 64vw;
    border-top: var(--border);
    background-image: url("/assets/7b376acea856329ced7d52953eea1497.webp");
    background-size: cover;
    background-position: 60% 45%;
    background-repeat: no-repeat;
}
@media (min-width: 768px) {
    .tc-hero__media { min-height: 44vw; }
}
@media (min-width: 1024px) {
    .tc-hero__gridlines { display: block; }
    .tc-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; }
    .tc-hero__copy { padding-inline: var(--pad-x) 0; }
    .tc-hero__copy-inner {
        width: 100%;
        max-width: calc(var(--shell) / 2 + 40px);
        margin-left: auto;
        padding-right: clamp(2rem, 4vw, 3.5rem);
    }
    .tc-hero__media { min-height: 560px; border-top: 0; border-left: var(--bw) solid var(--c-ink); }
}

.tc-clause {
    position: relative;
    border: var(--border);
    border-left: 6px solid var(--c-acid);
    background: var(--c-fog);
    padding: 2.75rem clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.25rem, 2.5vw, 1.75rem);
    margin-top: 1.5rem;
}
.tc-clause__num {
    position: absolute;
    top: -18px;
    left: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--c-ink);
    color: #fff;
    border: var(--border);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1rem;
}
.tc-clause p:last-child { margin-bottom: 0; }

.tc-rulesnote { margin-top: 1.5rem; max-width: 74ch; }

.tc-escort { position: relative; overflow: hidden; background: var(--c-ink); color: #fff; border-top: 8px solid var(--c-acid); padding-block: clamp(2.5rem, 5vw, 4rem); }
.tc-escort h2 { color: #fff; }
.tc-escort__stripe {
    height: 14px;
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
    background-image: repeating-linear-gradient(45deg, var(--c-acid) 0 10px, var(--c-ink) 10px 20px);
    border-bottom: 2px solid var(--c-acid);
}
.tc-escort__inner { position: relative; z-index: 1; max-width: 68ch; }
.tc-escort__inner p { margin: 0; font-size: var(--fs-lg); }
.tc-escort__glyph {
    display: block;
    width: 90px;
    height: 90px;
    color: var(--c-acid);
    margin-bottom: 1.25rem;
}
@media (min-width: 1024px) {
    .tc-escort__glyph {
        position: absolute;
        left: -50px;
        top: 50%;
        transform: translateY(-50%);
        width: 220px;
        height: 220px;
        margin-bottom: 0;
        z-index: 0;
        opacity: 0.9;
    }
    .tc-escort__inner { padding-left: 140px; }
}

.tc-deftable { border: var(--border); background: var(--c-bg); margin-top: 1.5rem; }
.tc-deftable__row { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--c-ink); }
.tc-deftable__row:first-child { border-top: 0; }
.tc-deftable__term {
    padding: 0.85rem 1.1rem;
    background: var(--c-fog);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.tc-deftable__desc { padding: 0.85rem 1.1rem; font-size: var(--fs-sm); }
@media (min-width: 640px) {
    .tc-deftable__row { grid-template-columns: 220px minmax(0, 1fr); }
    .tc-deftable__desc { border-left: 1px solid var(--c-ink); }
}

.tc-connector { display: block; width: 100%; height: 20px; margin: 1.5rem 0 0.5rem; }

/* ============================================
   COOKIE POLICY PAGE
   ============================================ */
.ck-hero { border-bottom: var(--border); }
.ck-hero__grid { padding-block: clamp(1.5rem, 3vw, 2.5rem); }
.ck-hero__inner { display: grid; grid-template-columns: 1fr; border: var(--border); }
.ck-hero__copy { padding: clamp(1.75rem, 4vw, 3rem) var(--pad-x); }
.ck-hero__media { border-top: var(--border); min-height: 60vw; overflow: hidden; }
.ck-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 1024px) {
    .ck-hero__inner { grid-template-columns: 1.1fr 1fr; align-items: stretch; }
    .ck-hero__media { border-top: 0; border-left: var(--bw) solid var(--c-ink); min-height: 460px; }
}

.ck-answer {
    border: var(--border);
    background: var(--c-fog);
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    margin: 1.25rem 0 1.5rem;
}
.ck-answer__lede {
    display: inline;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-lg);
    background: var(--c-acid);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: 0 0.2em;
}
.ck-answer p { margin: 0.75rem 0 0; font-size: var(--fs-sm); }
.ck-answer p:first-child { margin-top: 0; }

.ck-cat-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 1.5rem; }
.ck-cat {
    position: relative;
    border: var(--border);
    background: var(--c-bg);
    padding: 2.75rem 1.5rem 1.5rem;
    transition: background .15s linear, color .15s linear;
}
.ck-cat:hover { background: var(--c-ink); color: #fff; }
.ck-cat__tag {
    position: absolute;
    top: 0;
    left: 0;
    background: var(--c-ink);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.4rem 0.75rem;
}
.ck-cat:hover .ck-cat__tag { background: var(--c-acid); color: var(--c-ink); }
.ck-cat__icon { width: 42px; height: 42px; display: block; margin-bottom: 0.9rem; }
.ck-cat h3 { font-size: var(--fs-h4); margin-bottom: 0.5rem; }
.ck-cat p { margin: 0; font-size: var(--fs-sm); }
@media (min-width: 768px) {
    .ck-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.ck-connector { display: block; width: 100%; height: 28px; margin: 0.5rem 0 1.5rem; }

.ck-steps { list-style: none; margin: 0 0 1.5rem; padding: 0; border-top: var(--border); }
.ck-steps li { display: flex; gap: 1rem; align-items: flex-start; padding: 0.85rem 0; border-bottom: 1px solid var(--c-ink); }
.ck-steps__num {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--c-ink);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--fs-sm);
}
.ck-steps p { margin: 0; font-size: var(--fs-sm); padding-top: 0.35rem; }

.ck-closing { background: var(--c-fog); border-top: 6px solid var(--c-ink); padding-block: clamp(2rem, 4vw, 3rem); }
.ck-closing p { max-width: 74ch; margin-bottom: 1rem; }
.ck-closing p:last-child { margin-bottom: 0; }

/* ============================================
   MOTION SAFETY
   ============================================ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}