/* ============================================================
   BLOG - WHY SWIPE APPS ARE FAILING BUSY PROFESSIONALS
   ============================================================ */
.bp-hero {
    position: relative;
    isolation: isolate;
    padding-block: clamp(1.4rem, 4vw, 2.4rem) clamp(3.5rem, 9vw, 6rem);
    background: var(--navy-deep);
    color: var(--ink-onDark);
}
.bp-hero__bg {
    background-image: url("/assets/9e9d9b8b9eded88b8914957cc8d680e7.webp");
    background-position: center;
}
.bp-hero__scrim {
    background: linear-gradient(180deg, rgba(21, 37, 64, 0.62), rgba(21, 37, 64, 0.42) 45%, rgba(21, 37, 64, 0.66));
}
.bp-hero__apron {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: clamp(120px, 20vw, 230px);
    background: var(--crimson-dark);
    border-top: 3px solid var(--gold);
    z-index: 1;
}
.bp-hero__inner { position: relative; z-index: 2; }
.bp-hero .breadcrumbs__list { justify-content: center; }
.bp-hero .breadcrumbs { margin-bottom: 1.4rem; }

.bp-hero__frame {
    position: relative;
    margin: 0 auto;
    width: min(430px, 100%);
    padding: 12px;
    background: var(--navy);
    border: 8px solid var(--crimson);
    outline: 2px solid var(--gold);
    outline-offset: 6px;
    border-radius: 4px;
    box-shadow: var(--shadow-lg);
}
.bp-hero__frame img {
    display: block;
    width: 100%;
    aspect-ratio: 5 / 6;
    object-fit: cover;
    object-position: 50% 28%;
    border: 3px solid var(--cream);
}
.bp-frame__stitch {
    position: absolute;
    inset: 12px;
    width: auto;
    height: auto;
    z-index: 2;
    pointer-events: none;
}

.bp-hero__card {
    position: relative;
    z-index: 3;
    max-width: 720px;
    margin: -62px auto 0;
    padding: clamp(1.2rem, 3.4vw, 2.2rem);
    text-align: center;
    background: rgba(21, 37, 64, 0.95);
    border: 1px solid rgba(199, 154, 60, 0.6);
    border-radius: var(--radius);
    box-shadow: inset 0 0 0 1px rgba(156, 28, 44, 0.65), var(--shadow-lg);
}
.bp-hero__card h1 { color: var(--cream); margin-bottom: 0.5em; }
.bp-hero__deck { color: var(--ink-onDark); font-size: var(--fs-lead); margin-bottom: 1rem; }
.bp-hero .bp-hero__meta {
    color: var(--gold-light);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.76rem;
    font-weight: 700;
    margin: 0;
}

/* Problem band */
.bp-ribbon .ribbon-heading { text-align: center; }
.bp-ribbon .ribbon-heading__plate {
    outline: 2px dashed var(--gold);
    outline-offset: 5px;
    border-radius: 4px 4px 10px 10px;
}
.bp-problem__grid { align-items: start; row-gap: 2.2rem; }
.bp-prose p { color: var(--ink-soft); }
.bp-prose .callout p { color: var(--ink); margin: 0; }

.bp-frame--photo {
    position: relative;
    margin: 0;
    padding: 10px;
    background: var(--navy);
    border: 7px solid var(--crimson);
    outline: 2px solid var(--gold);
    outline-offset: 5px;
    border-radius: 4px;
    box-shadow: var(--shadow);
}
.bp-frame--photo img {
    display: block;
    width: 100%;
    aspect-ratio: 9 / 11;
    object-fit: cover;
    object-position: 60% 40%;
    border: 3px solid var(--cream);
}
.bp-frame--photo .bp-frame__stitch { inset: 10px; }

/* Benefits quadrant */
.bp-quad { position: relative; display: grid; gap: clamp(1.2rem, 3vw, 2rem); }
.bp-quad__rule {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    display: none;
    pointer-events: none;
}
.bp-quad__cell { position: relative; z-index: 1; }
.bp-quad__cell h3 { margin-bottom: 0.5rem; }
.bp-quad__cell p { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }
.bp-quad__cell--art { display: grid; place-items: center; padding-block: 0.6rem; }
.bp-quad__cell--art svg { width: min(210px, 68%); height: auto; }
@media (min-width: 768px) {
    .bp-quad {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(1.6rem, 3.4vw, 2.8rem);
    }
    .bp-quad__rule { display: block; }
    .bp-quad__cell { padding: clamp(0.6rem, 1.8vw, 1.3rem); }
}

/* Solution steps */
.bp-steps { display: grid; gap: 2rem; text-align: center; }
@media (min-width: 768px) {
    .bp-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
}
.bp-step { padding-inline: 0.4rem; }
.bp-step__medallion {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 108px; height: 108px;
    border-radius: 50%;
    background: var(--crimson);
    margin-bottom: 1rem;
    box-shadow: 0 0 0 5px var(--cream), 0 0 0 8px var(--navy), var(--shadow);
}
.bp-step:nth-child(even) .bp-step__medallion {
    background: var(--navy);
    box-shadow: 0 0 0 5px var(--cream), 0 0 0 8px var(--crimson), var(--shadow);
}
.bp-step__rope { position: absolute; inset: 7px; width: auto; height: auto; }
.bp-step__label {
    display: inline-block;
    margin: 0 0 0.7rem;
    padding: 0.35rem 1.2rem;
    font-family: var(--font-sans);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cream);
    background: var(--crimson);
    border-radius: 4px;
    box-shadow: inset 0 0 0 1px rgba(227, 185, 99, 0.85);
}
.bp-step p { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }
.bp-solution .pill-links { margin-top: 2.4rem; max-width: 880px; margin-inline: auto; }
.bp-solution .pill-link { outline: 1px dashed rgba(227, 185, 99, 0.85); outline-offset: -5px; }

/* Case notes */
.bp-notes__wrap { position: relative; }
.bp-notes__cord {
    position: absolute;
    left: 0; right: 0;
    top: 40px;
    width: 100%;
    height: 120px;
    z-index: 0;
    display: none;
    pointer-events: none;
}
@media (min-width: 900px) { .bp-notes__cord { display: block; } }
.bp-notes__list {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 2rem;
}
@media (min-width: 768px) {
    .bp-notes__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
}
.bp-note { text-align: center; }
.bp-note__disc {
    position: relative;
    display: grid;
    place-items: center;
    width: min(172px, 62%);
    aspect-ratio: 1;
    margin: 0 auto 1.1rem;
    padding: 10px;
    border-radius: 50%;
    background: repeating-conic-gradient(from 0deg, var(--crimson) 0 8deg, var(--sand) 8deg 16deg);
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--navy), var(--shadow);
}
.bp-note__disc img,
.bp-note__rosette {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--cream);
    background: var(--cream);
}
.bp-note p { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }

/* Related posts */
.bp-related { display: grid; gap: 1.2rem; }
.bp-related__item {
    display: flex;
    gap: 1.1rem;
    align-items: center;
    padding-bottom: 1.2rem;
    border-bottom: 1px dashed var(--line-crimson);
}
.bp-related__item:last-child { border-bottom: 0; padding-bottom: 0; }
.bp-related__medallion {
    position: relative;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 88px; height: 88px;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 40%, var(--cream), var(--blush));
    box-shadow: 0 0 0 3px var(--cream), 0 0 0 5px rgba(30, 52, 87, 0.35), var(--shadow-sm);
}
.bp-related__ring { position: absolute; inset: 0; width: auto; height: auto; }
.bp-related__title { font-size: 1.12rem; margin: 0 0 0.35rem; }
.bp-related__title a { color: var(--navy-deep); text-decoration: none; }
.bp-related__title a:hover { color: var(--crimson); }
.bp-related__text { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }

/* Conclusion CTA band */
.bp-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    text-align: center;
    padding-block: clamp(3rem, 7vw, 5rem);
    background: var(--crimson-dark);
    border-block: 3px solid var(--gold);
}
.bp-cta__pattern { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.bp-cta__scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(92, 15, 25, 0.86), rgba(92, 15, 25, 0.92));
}
.bp-cta__inner { position: relative; z-index: 2; max-width: 720px; }
.bp-cta h2 { color: var(--cream); }
.bp-cta p { color: #F7EDE1; font-size: var(--fs-lead); margin-bottom: 1.5rem; }
.bp-cta__note { font-size: var(--fs-small) !important; color: #EFE0D2 !important; margin: 1.1rem 0 0 !important; }

/* ============================================================
   POLISH DATING CATEGORY PAGE
   ============================================================ */
.pl-hero { padding-block: clamp(3.2rem, 9vw, 7rem); }
.pl-hero__bg {
    background-image: url("/assets/6f50da26e2a9eb1fde0e0b0d63ad190f.webp");
    background-position: 70% center;
}
.pl-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.9) 44%, rgba(21, 37, 64, 0.5) 66%, rgba(21, 37, 64, 0.16) 100%);
}
.pl-hero__plate {
    border: 1px solid rgba(199, 154, 60, 0.55);
    box-shadow: inset 0 0 0 2px var(--crimson), var(--shadow-lg);
}
.pl-hero__strip {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 28px;
}
@media (min-width: 768px) { .pl-hero__strip { height: 48px; } }
@media (min-width: 1024px) {
    .pl-hero .hero__inner--single { grid-template-columns: minmax(0, 0.56fr); }
}

/* Social proof stat row */
.pl-stats {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(1.4rem, 4vw, 3rem);
    padding-top: 1.4rem;
}
.pl-stats::before {
    content: "";
    position: absolute;
    top: 58px;
    left: 6%;
    right: 6%;
    height: 2px;
    background: repeating-linear-gradient(90deg, var(--gold) 0 10px, transparent 10px 18px);
    z-index: 0;
}
.pl-stats .stat-badge {
    position: relative;
    z-index: 1;
    box-shadow: 0 0 0 5px var(--cream), 0 0 0 7px var(--gold), var(--shadow);
}

/* ============================================================
   SLAVIC DATING - Folk-textile design system
   ============================================================ */

:root {
    /* Surfaces */
    --ivory: #F7F1E6;
    --cream: #FCF7EE;
    --blush: #F4E6E2;
    --sand: #E4C99D;

    /* Structure */
    --crimson: #9C1C2C;
    --crimson-dark: #74131F;
    --crimson-deep: #5C0F19;
    --navy: #1E3457;
    --navy-deep: #152540;
    --gold: #C79A3C;
    --gold-light: #E3B963;
    --blue-verified: #3E6BB5;

    /* Ink */
    --ink: #2B2320;
    --ink-soft: #55473F;
    --ink-onDark: #F6EFE3;
    --ink-onDark-soft: #DCCFBC;

    /* Lines & shadows */
    --line-crimson: rgba(156, 28, 44, 0.32);
    --line-navy: rgba(30, 52, 87, 0.26);
    --shadow-sm: 0 2px 8px rgba(43, 35, 32, 0.10);
    --shadow: 0 12px 28px rgba(43, 35, 32, 0.14);
    --shadow-lg: 0 26px 56px rgba(21, 37, 64, 0.28);
    --glow-gold: 0 0 0 1px rgba(199, 154, 60, 0.55), 0 10px 30px rgba(199, 154, 60, 0.20);

    /* Geometry */
    --radius-sm: 6px;
    --radius: 12px;
    --radius-lg: 22px;
    --container: 1200px;
    --gutter: clamp(1rem, 4vw, 2.5rem);
    --section-y: clamp(3rem, 7vw, 6rem);
    --header-bottom: 70px;

    /* Type */
    --font-serif: 'Cormorant Garamond', 'Times New Roman', Georgia, serif;
    --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    --fs-body: clamp(1rem, 0.97rem + 0.15vw, 1.06rem);
    --fs-lead: clamp(1.06rem, 1rem + 0.4vw, 1.22rem);
    --fs-h1: clamp(2.2rem, 1.5rem + 3.2vw, 4rem);
    --fs-h2: clamp(1.7rem, 1.25rem + 2vw, 2.8rem);
    --fs-h3: clamp(1.15rem, 1.05rem + 0.5vw, 1.42rem);
    --fs-small: clamp(0.85rem, 0.82rem + 0.15vw, 0.93rem);
}

/* ============================================
   OVERFLOW PREVENTION - Safety Net
   ============================================ */
*,
*::before,
*::after { box-sizing: border-box; }

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

[class*="grid"] > *,
[class*="flex"] > * { min-width: 0; }

pre, code, .code-block, [class*="code"] { max-width: 100%; overflow-x: auto; }
pre code, .code-block code { display: block; min-width: 0; }

.table-wrapper,
[class*="table-"] { max-width: 100%; overflow-x: auto; }

p, li, td, th { overflow-wrap: break-word; }

details { height: fit-content; }

:where(p, li, blockquote, figcaption, dd, .prose, .seo-text, article)
  a:not([class]) {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

input, textarea, select { max-width: 100%; }
section { overflow: clip; }

/* ============================================
   BASE
   ============================================ */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

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

body {
    margin: 0;
    background-color: var(--ivory);
    background-image:
        repeating-linear-gradient(90deg, rgba(43, 35, 32, 0.022) 0 2px, transparent 2px 5px),
        repeating-linear-gradient(0deg, rgba(43, 35, 32, 0.018) 0 2px, transparent 2px 5px);
    color: var(--ink);
    font-family: var(--font-sans);
    font-size: var(--fs-body);
    line-height: 1.7;
}

h1, h2, h3, h4 {
    font-family: var(--font-serif);
    font-weight: 700;
    line-height: 1.14;
    margin: 0 0 0.6em;
    color: var(--navy-deep);
    letter-spacing: 0.005em;
}

h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }

p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }

a { color: var(--crimson); }
a:hover { color: var(--crimson-dark); }

ul, ol { padding-left: 1.2rem; }

:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 3px;
}

.sr-only {
    position: absolute;
    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: 1rem;
    top: -60px;
    z-index: 200;
    background: var(--navy);
    color: var(--ink-onDark);
    padding: 0.75rem 1.2rem;
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    text-decoration: none;
    transition: top 0.2s ease;
}
.skip-link:focus { top: 0; color: var(--ink-onDark); }

.container {
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--gutter);
}
.container--narrow { max-width: 860px; }

/* ============================================
   BUTTONS
   ============================================ */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 48px;
    padding: 0.75rem 1.5rem;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    font-family: var(--font-sans);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn--wide { padding-inline: 2.25rem; }

.btn--gold {
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    color: #2A1E06;
    border-color: rgba(92, 15, 25, 0.35);
    box-shadow: var(--shadow-sm);
}
.btn--gold:hover { box-shadow: var(--glow-gold); color: #2A1E06; }

.btn--crimson {
    background: var(--crimson);
    color: #FFF6EC;
    border-color: var(--crimson-deep);
}
.btn--crimson:hover { background: var(--crimson-dark); color: #FFF6EC; }

.btn--navy {
    background: var(--navy);
    color: var(--ink-onDark);
    border-color: rgba(199, 154, 60, 0.5);
}
.btn--navy:hover { background: var(--navy-deep); color: var(--ink-onDark); }

.btn--outline {
    background: rgba(252, 247, 238, 0.10);
    color: var(--ink-onDark);
    border: 1.5px solid rgba(246, 239, 227, 0.75);
}
.btn--outline:hover { background: rgba(252, 247, 238, 0.2); color: #FFF; }

.btn--ghost {
    background: transparent;
    color: var(--crimson);
    border: 1.5px solid var(--line-crimson);
    min-height: 44px;
    padding: 0.55rem 1.1rem;
    font-size: 0.9rem;
}
.btn--ghost:hover { background: var(--blush); color: var(--crimson-dark); }

/* ============================================
   HEADER + NAVIGATION
   ============================================ */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--cream);
    border-bottom: 2px solid var(--crimson);
    box-shadow: 0 2px 0 0 var(--gold), var(--shadow-sm);
}

.header-inner {
    max-width: var(--container);
    margin-inline: auto;
    padding: 0.6rem var(--gutter);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    text-decoration: none;
    flex: 0 0 auto;
}
.site-brand__mark { display: inline-flex; }
.site-brand__text {
    font-family: var(--font-serif);
    font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.8rem);
    font-weight: 700;
    color: var(--crimson);
    letter-spacing: 0.01em;
    white-space: nowrap;
}
.site-brand__text em { font-style: normal; color: var(--navy); }

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

.nav-toggle {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 46px;
    height: 46px;
    padding: 0 10px;
    background: var(--navy);
    border: 1px solid var(--gold);
    border-radius: var(--radius-sm);
    cursor: pointer;
}
.nav-toggle__bar {
    display: block;
    height: 2px;
    width: 100%;
    background: var(--ink-onDark);
    transition: transform 0.25s ease, opacity 0.2s ease;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-link {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 48px;
    padding: 0.4rem 0.55rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--navy-deep);
    text-decoration: none;
    cursor: pointer;
}
.nav-link:hover { color: var(--crimson); }

.nav-link--toggle { list-style: none; }
.nav-link--toggle::-webkit-details-marker { display: none; }

.nav-chevron {
    width: 9px; height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform 0.2s ease;
}
.nav-dropdown[open] > .nav-link--toggle .nav-chevron {
    transform: rotate(225deg) translate(-2px, -2px);
}

.nav-dropdown__menu {
    list-style: none;
    margin: 0;
    padding: 0.4rem 0 0.6rem 0.6rem;
}
.nav-dropdown__menu a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0.35rem 0.6rem;
    font-size: 0.92rem;
    font-weight: 500;
    color: var(--ink);
    text-decoration: none;
    border-left: 2px solid var(--line-crimson);
}
.nav-dropdown__menu a:hover { color: var(--crimson); background: var(--blush); }

.nav-cta { width: 100%; margin-top: 1.25rem; }

/* Mobile drawer */
@media (max-width: 1023.98px) {
    .site-nav {
        position: fixed;
        left: 0; right: 0;
        top: var(--header-bottom);
        bottom: 0;
        height: auto;
        z-index: 90;
        background: var(--ivory);
        border-top: 1px solid var(--line-crimson);
        padding: 1.25rem var(--gutter) 3rem;
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    }
    .site-nav.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .nav-item { border-bottom: 1px dashed var(--line-crimson); }
    .header-actions .header-cta { display: none; }
}

@media (min-width: 1024px) {
    .nav-toggle { display: none; }
    .site-nav {
        display: flex;
        align-items: center;
        margin-left: auto;
    }
    .nav-list {
        display: flex;
        align-items: center;
        gap: 0.15rem;
    }
    .nav-item { position: relative; }
    .nav-dropdown { position: relative; align-self: center; }
    .nav-dropdown__menu {
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        min-width: 268px;
        background: var(--cream);
        border: 1px solid var(--line-crimson);
        border-top: 3px solid var(--crimson);
        border-radius: var(--radius-sm);
        box-shadow: var(--shadow);
        padding: 0.35rem;
        z-index: 40;
    }
    .nav-dropdown__menu a {
        min-height: 44px;
        border-left: 0;
        border-radius: 4px;
    }
    .nav-cta { display: none; }
    .header-actions { margin-left: 0.8rem; }
}

body.nav-open { overflow: hidden; }

/* ============================================
   SECTION SHELLS & BANDS
   ============================================ */
.section {
    position: relative;
    padding-block: var(--section-y);
}
.section--cream { background: var(--cream); }
.section--ivory { background: var(--ivory); }
.section--blush { background: var(--blush); }

.section--navy {
    background: var(--navy-deep);
    color: var(--ink-onDark);
}
.section--crimson {
    background: var(--crimson-dark);
    color: var(--ink-onDark);
}
.section--navy h1, .section--navy h2, .section--navy h3,
.section--crimson h1, .section--crimson h2, .section--crimson h3 { color: var(--cream); }
.section--navy a:not(.btn), .section--crimson a:not(.btn) { color: var(--gold-light); }

.section__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}
.section__scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.section__scrim--navy { background: linear-gradient(90deg, rgba(21, 37, 64, 0.94) 0%, rgba(21, 37, 64, 0.78) 45%, rgba(21, 37, 64, 0.35) 100%); }
.section__scrim--crimson { background: linear-gradient(180deg, rgba(92, 15, 25, 0.86), rgba(92, 15, 25, 0.7)); }
.section__scrim--soft { background: linear-gradient(180deg, rgba(21, 37, 64, 0.35), rgba(21, 37, 64, 0.72)); }
.section > .container { position: relative; z-index: 2; }

.weave-navy {
    background-color: var(--navy-deep);
    background-image:
        repeating-linear-gradient(45deg, rgba(199, 154, 60, 0.12) 0 8px, transparent 8px 16px),
        repeating-linear-gradient(-45deg, rgba(156, 28, 44, 0.20) 0 10px, transparent 10px 20px);
}
.weave-crimson {
    background-color: var(--crimson-dark);
    background-image:
        repeating-linear-gradient(45deg, rgba(252, 247, 238, 0.10) 0 9px, transparent 9px 18px),
        repeating-linear-gradient(-45deg, rgba(30, 52, 87, 0.35) 0 12px, transparent 12px 24px);
}

/* Folk border strip (used at section seams) */
.folk-strip {
    height: 28px;
    background-color: var(--cream);
    background-image:
        repeating-linear-gradient(135deg, var(--crimson) 0 10px, transparent 10px 20px),
        repeating-linear-gradient(45deg, var(--navy) 0 10px, transparent 10px 20px);
    border-block: 2px solid var(--gold);
}
@media (min-width: 768px) { .folk-strip { height: 46px; } }

/* ============================================
   HERO
   ============================================ */
.hero {
    position: relative;
    isolation: isolate;
    padding-block: clamp(3rem, 9vw, 7rem);
    color: var(--ink-onDark);
    background: var(--navy-deep);
}
.hero__inner {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 2rem;
}
.hero__plate {
    background: rgba(21, 37, 64, 0.82);
    border: 1px solid rgba(199, 154, 60, 0.55);
    box-shadow: inset 0 0 0 1px rgba(156, 28, 44, 0.7), var(--shadow-lg);
    border-radius: var(--radius);
    padding: clamp(1.4rem, 3vw, 2.5rem);
}
.hero h1 { color: var(--cream); margin-bottom: 0.5em; }
.hero__lead {
    font-size: var(--fs-lead);
    color: var(--ink-onDark);
    max-width: 58ch;
}
.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.4rem;
}
.hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius);
}

@media (min-width: 1024px) {
    .hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); align-items: center; }
    .hero__inner--single { grid-template-columns: minmax(0, 0.62fr); }
}

/* ============================================
   BREADCRUMBS
   ============================================ */
.breadcrumbs { margin-bottom: 1rem; }
.breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: var(--fs-small);
}
.breadcrumbs__item + .breadcrumbs__item::before {
    content: "◆";
    color: var(--gold);
    margin-right: 0.45rem;
    font-size: 0.62em;
    vertical-align: middle;
}
.breadcrumbs a { color: var(--crimson); text-decoration: underline; text-underline-offset: 0.15em; }
.breadcrumbs span[aria-current] { color: var(--ink-soft); }
.breadcrumbs--dark a { color: var(--gold-light); }
.breadcrumbs--dark span[aria-current] { color: var(--ink-onDark-soft); }

/* ============================================
   SECTION TITLES / RIBBON
   ============================================ */
.section-title { margin-bottom: clamp(1.6rem, 3vw, 2.6rem); }
.section-title--center { text-align: center; margin-inline: auto; max-width: 780px; }
.section-title--left { text-align: left; }
.section-title__kicker {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--crimson);
    margin-bottom: 0.55rem;
}
.section--navy .section-title__kicker,
.section--crimson .section-title__kicker { color: var(--gold-light); }
.section-title__heading { margin-bottom: 0.45em; }
.section-title__lead { font-size: var(--fs-lead); color: var(--ink-soft); margin: 0; }
.section--navy .section-title__lead,
.section--crimson .section-title__lead { color: var(--ink-onDark-soft); }

.ribbon-heading { margin-bottom: 1.4rem; }
.ribbon-heading__plate {
    display: inline-block;
    position: relative;
    background: var(--crimson);
    color: var(--cream);
    padding: 0.5em 1.6em;
    border-radius: 4px;
    box-shadow: inset 0 0 0 1px rgba(227, 185, 99, 0.8), var(--shadow-sm);
}
.ribbon-heading__plate::before,
.ribbon-heading__plate::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 18px;
    height: 1px;
    border-top: 2px dashed var(--gold);
}
.ribbon-heading__plate::before { left: -22px; }
.ribbon-heading__plate::after { right: -22px; }

/* ============================================
   GRIDS
   ============================================ */
.grid { display: grid; gap: clamp(1rem, 2.4vw, 1.9rem); }
.grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }
.grid--split { grid-template-columns: minmax(0, 1fr); align-items: center; }
@media (min-width: 900px) {
    .grid--split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .grid--split-wide { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
}

.media-frame {
    position: relative;
    border: 3px solid var(--crimson);
    outline: 1px solid var(--gold);
    outline-offset: 6px;
    border-radius: 4px;
    background: var(--cream);
    padding: 8px;
    box-shadow: var(--shadow);
}
.media-frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 1px dashed var(--line-navy);
}
.media-frame--tall img { aspect-ratio: 3 / 4; }
.media-frame--wide img { aspect-ratio: 4 / 3; }

/* ============================================
   ICONS
   ============================================ */
.folk-icon { display: inline-flex; line-height: 0; }
.folk-icon--crimson { color: var(--crimson); }
.folk-icon--navy { color: var(--navy); }
.folk-icon--gold { color: var(--gold); }
.folk-icon--cream { color: var(--cream); }

/* ============================================
   CHIPS / BADGES
   ============================================ */
.trust-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 0;
}
.trust-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.85rem;
    font-size: var(--fs-small);
    font-weight: 600;
    border-radius: 999px;
    background: rgba(252, 247, 238, 0.12);
    border: 1px solid rgba(199, 154, 60, 0.7);
    color: var(--ink-onDark);
}
.trust-chip::before {
    content: "";
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--gold-light);
}
.section--cream .trust-chip,
.section--ivory .trust-chip {
    background: var(--cream);
    color: var(--ink);
    border-color: var(--line-crimson);
}

.stat-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.35rem;
    padding: 1.4rem 1rem;
    border-radius: 50%;
    aspect-ratio: 1;
    justify-content: center;
    background: var(--crimson);
    color: var(--cream);
    border: 3px solid var(--navy);
    box-shadow: 0 0 0 5px var(--cream), var(--shadow);
    max-width: 190px;
    margin-inline: auto;
}
.stat-badge__value { font-family: var(--font-serif); font-size: 1.7rem; font-weight: 700; line-height: 1.1; }
.stat-badge__label { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.04em; }

.trust-badge {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    padding: 1rem 1.1rem;
    border-radius: var(--radius-sm);
    background: rgba(252, 247, 238, 0.08);
    border: 1px solid rgba(199, 154, 60, 0.45);
}
.trust-badge__title { font-size: 1.05rem; margin: 0 0 0.3rem; color: inherit; font-family: var(--font-sans); font-weight: 700; }
.trust-badge__text { font-size: var(--fs-small); margin: 0; color: inherit; }
.section--cream .trust-badge,
.section--ivory .trust-badge { background: var(--cream); border-color: var(--line-crimson); box-shadow: var(--shadow-sm); }

.trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    font-size: var(--fs-small);
    font-weight: 600;
}
.trust-strip li { display: inline-flex; align-items: center; gap: 0.4rem; }
.trust-strip__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 3px rgba(199, 154, 60, 0.22); }

/* ============================================
   CARDS
   ============================================ */
.feature-card {
    background: var(--cream);
    border: 1px solid var(--line-crimson);
    border-radius: var(--radius);
    padding: clamp(1.1rem, 2.2vw, 1.7rem);
    box-shadow: var(--shadow-sm);
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.feature-card::after {
    content: "";
    position: absolute;
    inset: 7px;
    border: 1px dashed rgba(30, 52, 87, 0.28);
    border-radius: 8px;
    pointer-events: none;
}
.feature-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.feature-card__title { margin: 0.7rem 0 0.5rem; }
.feature-card__text { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }
.feature-card__link { display: inline-block; margin-top: 0.8rem; font-weight: 600; font-size: var(--fs-small); }

.section--navy .feature-card,
.section--crimson .feature-card {
    background: rgba(252, 247, 238, 0.07);
    border-color: rgba(199, 154, 60, 0.5);
    color: var(--ink-onDark);
}
.section--navy .feature-card__text,
.section--crimson .feature-card__text { color: var(--ink-onDark-soft); }

/* Profile card */
.profile-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.45rem;
    background: var(--cream);
    border: 1px solid var(--crimson);
    border-radius: var(--radius);
    padding: 1.2rem 1rem 1.4rem;
    box-shadow: var(--shadow-sm);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    height: 100%;
}
.profile-card:hover { transform: translateY(-4px); box-shadow: var(--shadow), var(--glow-gold); }
.profile-card__ring {
    position: relative;
    width: min(180px, 78%);
    aspect-ratio: 1;
    border-radius: 50%;
    padding: 9px;
    margin-bottom: 0.5rem;
    background:
        repeating-conic-gradient(from 0deg, var(--navy) 0 7deg, var(--sand) 7deg 14deg);
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--crimson), var(--shadow-sm);
}
.profile-card__photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--cream);
    display: block;
}
.profile-card__badge {
    position: absolute;
    top: -4px;
    right: -4px;
    line-height: 0;
    filter: drop-shadow(0 2px 4px rgba(21, 37, 64, 0.35));
}
.profile-card__name { margin: 0.2rem 0 0.1rem; font-size: 1.24rem; }
.profile-card__location {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: var(--fs-small);
    color: var(--ink-soft);
    margin: 0;
}
.profile-card__interests { font-size: var(--fs-small); color: var(--ink-soft); margin: 0.3rem 0 0.8rem; }
.profile-card .btn { margin-top: auto; }

/* Testimonial */
.testimonial-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--cream);
    border: 1px solid var(--line-crimson);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    height: 100%;
    color: var(--ink);
}
.testimonial-card__image { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.testimonial-card__quote { margin: 0; padding: 1.2rem 1.2rem 0.6rem; }
.testimonial-card__quote p { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }
.testimonial-card__author {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: auto 0 0;
    padding: 0.9rem 1.2rem 1.2rem;
    border-top: 1px solid var(--line-navy);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--navy);
}
.testimonial-card__avatar {
    width: 34px; height: 34px;
    border-radius: 50%;
    background: repeating-conic-gradient(from 0deg, var(--crimson) 0 10deg, var(--sand) 10deg 20deg);
    border: 2px solid var(--cream);
    box-shadow: 0 0 0 1px var(--line-crimson);
    flex: 0 0 auto;
}

/* Post card */
.post-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 0.9rem 0;
    border-bottom: 1px dashed var(--line-crimson);
}
.post-card__thumb {
    flex: 0 0 auto;
    width: 78px; height: 78px;
    border-radius: 50%;
    background-color: var(--blush);
    background-size: cover;
    background-position: center;
    box-shadow: 0 0 0 3px var(--cream), 0 0 0 5px var(--crimson), 0 0 0 8px rgba(30, 52, 87, 0.35);
}
.post-card__title { font-size: 1.12rem; margin: 0 0 0.3rem; }
.post-card__title a { text-decoration: none; color: var(--navy-deep); }
.post-card__title a:hover { color: var(--crimson); }
.post-card__text { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }

/* ============================================
   NUMBERED LIST + TIMELINE
   ============================================ */
.numbered-list {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
}
.numbered-list::before {
    content: "";
    position: absolute;
    left: 21px;
    top: 24px;
    bottom: 24px;
    width: 2px;
    background: linear-gradient(180deg, var(--crimson), var(--gold));
}
.numbered-list__item {
    position: relative;
    display: flex;
    gap: 1rem;
    padding-bottom: 1.6rem;
}
.numbered-list__marker {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 44px; height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--crimson);
    color: var(--cream);
    font-family: var(--font-serif);
    font-size: 1.25rem;
    font-weight: 700;
    box-shadow: 0 0 0 3px var(--cream), 0 0 0 4px var(--gold);
}
.numbered-list__title { margin: 0.35rem 0 0.35rem; font-size: 1.18rem; }
.numbered-list__text { margin: 0; font-size: var(--fs-small); color: var(--ink-soft); }
.section--navy .numbered-list__text,
.section--crimson .numbered-list__text { color: var(--ink-onDark-soft); }

.timeline {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.6rem;
}
.timeline__cord {
    position: absolute;
    inset-inline: 0;
    top: 34px;
    z-index: 0;
    display: none;
    color: var(--crimson);
}
.timeline__cord svg { width: 100%; height: 44px; display: block; }
.timeline__step {
    position: relative;
    z-index: 1;
    text-align: center;
    padding-inline: 0.4rem;
}
.timeline__medallion {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 72px; height: 72px;
    border-radius: 50%;
    background: var(--navy);
    color: var(--cream);
    margin-bottom: 0.8rem;
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--crimson), var(--shadow-sm);
}
.timeline__step:nth-child(odd) .timeline__medallion { background: var(--crimson); box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--navy), var(--shadow-sm); }
.timeline__number {
    position: absolute;
    right: -6px; bottom: -6px;
    width: 26px; height: 26px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--gold);
    color: #2A1E06;
    font-size: 0.8rem;
    font-weight: 700;
    border: 2px solid var(--cream);
}
.timeline__title { font-size: 1.1rem; margin: 0 0 0.4rem; }
.timeline__text { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }
.section--navy .timeline__text,
.section--crimson .timeline__text { color: var(--ink-onDark-soft); }

@media (min-width: 768px) {
    .timeline--horizontal { grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 1.2rem; }
    .timeline--horizontal .timeline__cord { display: block; }
}

/* ============================================
   PILL LINKS / MEDALLIONS / GARLAND
   ============================================ */
.pill-links { list-style: none; margin: 1.4rem 0 0; padding: 0; display: grid; gap: 0.8rem; }
.pill-links__row { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; }
.pill-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.55rem 1.2rem;
    border-radius: 999px;
    background: var(--navy);
    color: var(--cream);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: inset 0 0 0 1px rgba(227, 185, 99, 0.75), var(--shadow-sm);
}
.pill-link:hover { background: var(--navy-deep); color: #FFF; }
.pill-links__leader { flex: 1 1 40px; min-width: 24px; border-bottom: 2px dotted var(--line-crimson); }
.pill-links__note { font-size: var(--fs-small); color: var(--ink-soft); flex: 1 1 220px; }
.section--navy .pill-links__note, .section--crimson .pill-links__note { color: var(--ink-onDark-soft); }

.medallion-row { position: relative; padding-top: 1.6rem; overflow-x: auto; }
.medallion-row__rail {
    position: absolute;
    top: 10px; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--gold) 12%, var(--gold) 88%, transparent);
}
.medallion-row__list {
    display: flex;
    gap: clamp(0.8rem, 2.4vw, 1.8rem);
    list-style: none;
    margin: 0;
    padding: 0 0 1rem;
    scroll-snap-type: x mandatory;
}
.medallion-row__item {
    flex: 0 0 auto;
    width: 148px;
    text-align: center;
    scroll-snap-align: center;
}
.medallion { display: block; text-decoration: none; }
.medallion__cord {
    display: block;
    width: 2px;
    height: 20px;
    margin: 0 auto;
    background: var(--crimson);
}
.medallion__disc {
    display: grid;
    place-items: center;
    width: 120px; height: 120px;
    margin: 0 auto;
    border-radius: 50%;
    padding: 0.6rem;
    background: var(--crimson);
    color: var(--cream);
    font-family: var(--font-serif);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: 0 0 0 4px var(--sand), 0 0 0 6px var(--cream), var(--shadow);
    transition: transform 0.2s ease;
}
.medallion-row__item:nth-child(even) .medallion__disc { background: var(--navy); }
.medallion:hover .medallion__disc { transform: translateY(-4px) scale(1.03); }
.medallion__note { display: block; font-size: 0.78rem; color: var(--ink-soft); margin-top: 0.5rem; }
.section--navy .medallion__note, .section--crimson .medallion__note { color: var(--ink-onDark-soft); }

.tag-garland { position: relative; padding-top: 1.4rem; }
.tag-garland__cord { position: absolute; top: 0; left: 0; width: 100%; height: 34px; }
.tag-garland__list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8rem 1.1rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.tag-garland__item:nth-child(even) { margin-top: 1.1rem; }
.tag-garland__tag {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.5rem 1.1rem;
    border-radius: 6px 6px 14px 14px;
    background: var(--crimson);
    color: var(--cream);
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: inset 0 0 0 1px rgba(227, 185, 99, 0.8), var(--shadow-sm);
}
.tag-garland__item:nth-child(even) .tag-garland__tag { background: var(--navy); }
.tag-garland__tag:hover { color: #FFF; transform: translateY(-2px); }

/* ============================================
   CHECKLIST
   ============================================ */
.checklist {
    background: var(--cream);
    border: 2px solid var(--crimson);
    border-radius: var(--radius);
    padding: clamp(1.1rem, 2.4vw, 1.8rem);
    box-shadow: var(--shadow-sm);
}
.checklist__title { margin-top: 0; }
.checklist__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.checklist__item { display: flex; gap: 0.7rem; align-items: flex-start; font-size: var(--fs-small); }
.checklist__mark {
    flex: 0 0 auto;
    width: 24px; height: 24px;
    display: grid;
    place-items: center;
    background: var(--navy);
    color: var(--cream);
    border-radius: 4px;
}
.section--navy .checklist {
    background: rgba(252, 247, 238, 0.06);
    color: var(--ink-onDark);
    border-color: rgba(199, 154, 60, 0.6);
    border-style: dashed;
}

/* ============================================
   COMPARISON TABLE
   ============================================ */
.table-wrapper { border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.compare-table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    background: var(--cream);
    font-size: var(--fs-small);
}
.compare-table thead th {
    background: var(--crimson);
    color: var(--cream);
    font-family: var(--font-sans);
    font-weight: 700;
    text-align: center;
    padding: 0.9rem 0.8rem;
    border-right: 1px solid rgba(252, 247, 238, 0.22);
}
.compare-table thead th:first-child { text-align: left; }
.compare-table thead th.is-highlight { background: var(--crimson-deep); box-shadow: inset 0 4px 0 0 var(--gold); }
.compare-table tbody th {
    text-align: left;
    font-weight: 600;
    color: var(--navy-deep);
    padding: 0.8rem;
    border-bottom: 1px solid var(--line-crimson);
    background: rgba(244, 230, 226, 0.5);
}
.compare-table tbody td {
    text-align: center;
    padding: 0.8rem;
    border-bottom: 1px solid var(--line-crimson);
    color: var(--ink-soft);
}
.compare-table tbody tr:nth-child(even) td { background: rgba(244, 230, 226, 0.42); }
.compare-table td.is-highlight { background: rgba(199, 154, 60, 0.13); }
.compare-table tbody tr:nth-child(even) td.is-highlight { background: rgba(199, 154, 60, 0.2); }
.mark { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; }
.mark--yes { color: var(--navy); background: rgba(30, 52, 87, 0.12); }
.mark--no { color: var(--crimson); background: rgba(156, 28, 44, 0.1); }

/* ============================================
   FAQ ACCORDION
   ============================================ */
.faq { display: grid; gap: 0.8rem; align-items: start; }
.faq__item {
    background: var(--cream);
    border: 1px solid var(--line-crimson);
    border-left: 4px solid var(--crimson);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-sm);
    align-self: start;
}
.faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 56px;
    padding: 0.9rem 1.1rem;
    cursor: pointer;
    font-family: var(--font-serif);
    font-size: clamp(1.05rem, 1rem + 0.35vw, 1.25rem);
    font-weight: 700;
    color: var(--navy-deep);
    list-style: none;
}
.faq__question::-webkit-details-marker { display: none; }
.faq__chevron { color: var(--crimson); transition: transform 0.2s ease; line-height: 0; }
.faq__item[open] .faq__chevron { transform: rotate(180deg); }
.faq__item[open] { box-shadow: var(--shadow); }
.faq__answer {
    padding: 0 1.1rem 1.1rem;
    border-top: 1px dashed var(--line-crimson);
    padding-top: 0.9rem;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.section--navy .faq__item, .section--crimson .faq__item { background: rgba(252, 247, 238, 0.94); }

@media (prefers-reduced-motion: reduce) {
    .faq__chevron { transition: none; }
}

/* ============================================
   STITCH DIVIDER
   ============================================ */
.stitch-divider {
    display: block;
    margin: clamp(1.6rem, 4vw, 2.8rem) auto;
    max-width: 280px;
}
.stitch-divider svg { width: 100%; height: 22px; }
.stitch-divider--crimson { color: var(--crimson); }
.stitch-divider--gold { color: var(--gold); }
.stitch-divider--cream { color: var(--cream); }

/* ============================================
   CTA BAND
   ============================================ */
.cta-band {
    position: relative;
    isolation: isolate;
    padding-block: clamp(2.6rem, 6vw, 4.6rem);
    background: var(--crimson-dark);
    color: var(--cream);
    text-align: center;
    border-block: 3px solid var(--gold);
}
.cta-band__weave {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        repeating-linear-gradient(45deg, rgba(252, 247, 238, 0.12) 0 12px, transparent 12px 24px),
        repeating-linear-gradient(-45deg, rgba(30, 52, 87, 0.45) 0 16px, transparent 16px 32px);
}
.cta-band__inner { position: relative; z-index: 1; max-width: 760px; }
.cta-band__title { color: var(--cream); margin-bottom: 0.4em; }
.cta-band__text { color: #F7EDE1; margin-bottom: 1.6rem; font-size: var(--fs-lead); }
.cta-band__secondary { margin-top: 1rem; font-size: var(--fs-small); }
.cta-band__secondary a { color: var(--gold-light); }

/* ============================================
   PROSE HELPERS
   ============================================ */
.prose { max-width: 72ch; }
.prose h2 { margin-top: 1.6em; }
.prose h3 { margin-top: 1.4em; }
.prose ul, .prose ol { margin: 0 0 1.2em; display: grid; gap: 0.45rem; }
.lead { font-size: var(--fs-lead); color: var(--ink-soft); }
.meta-line {
    font-size: var(--fs-small);
    color: var(--ink-soft);
    letter-spacing: 0.03em;
}
.callout {
    background: var(--blush);
    border-left: 4px solid var(--gold);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    padding: 1.1rem 1.3rem;
    margin: 1.6rem 0;
    font-size: var(--fs-small);
}
blockquote.pull {
    margin: 1.8rem 0;
    padding: 1.2rem 1.4rem;
    border-left: 4px solid var(--crimson);
    background: var(--cream);
    font-family: var(--font-serif);
    font-size: 1.25rem;
    line-height: 1.5;
}

/* ============================================
   REVEAL (progressive enhancement only)
   ============================================ */
html.has-reveal .reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
html.has-reveal .reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* ============================================
   HOMEPAGE
   ============================================ */

/* Hero */
.home-hero { padding-block: clamp(3rem, 10vw, 8rem); }
.home-hero__bg {
    background-image: url("/assets/e4e4850c69db37e8a8f6e1e44ae1b39e.webp");
    background-position: 65% center;
}
.home-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.88) 38%, rgba(21, 37, 64, 0.55) 66%, rgba(21, 37, 64, 0.32) 100%);
}
.home-hero__stitch {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 3;
    width: 100%;
    height: 12px;
    opacity: 1;
}

.hero-metrics {
    list-style: none;
    margin: 1.6rem 0 0;
    padding: 1.1rem 0 0;
    border-top: 1px dashed rgba(227, 185, 99, 0.6);
    display: grid;
    gap: 0.9rem;
}
.hero-metric { display: grid; gap: 0.15rem; }
.hero-metric__label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gold-light);
}
.hero-metric__value {
    font-size: var(--fs-small);
    color: var(--ink-onDark);
}
@media (min-width: 768px) {
    .hero-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
}

/* Trust metric coils */
.coil-grid { align-items: start; }
.coil-block { text-align: center; padding: 0 0.4rem; }
.coil-block__art { display: block; line-height: 0; margin-bottom: 0.4rem; }
.coil-block__art svg { display: inline-block; }
.coil-block__title { margin: 0.7rem 0 0.5rem; font-size: 1.24rem; }
.coil-block__text { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }

/* Why choose */
.why-choose { align-items: center; row-gap: 2.4rem; }
.why-choose__figure { margin: 0; }
.why-choose__caption {
    font-size: var(--fs-small);
    color: var(--ink-soft);
    text-align: center;
    margin-top: 1.4rem;
    font-style: italic;
}
.why-choose__body h2 { margin-bottom: 0.5em; }
.why-choose__body > p { margin-bottom: 1.6rem; }
.why-choose__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 0.4rem;
}

/* Featured profiles */
.profile-grid { align-items: stretch; }
.profile-grid__note {
    max-width: 62ch;
    margin: 2rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.section-actions {
    display: flex;
    justify-content: center;
    margin-top: 1.6rem;
}

/* Categories band */
.categories-band__bg {
    background-image: url("/assets/5f9e586d00eb602c742cbf6fadd0258c.webp");
    background-position: center;
}
.categories-band .medallion-row { padding-top: 2rem; }
.categories-band__hint {
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-onDark-soft);
    margin: 0.4rem 0 0;
}
.medallion-dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.6rem;
}
.medallion-dots__dot {
    width: 9px; height: 9px;
    border-radius: 50%;
    background: rgba(246, 239, 227, 0.45);
}
.medallion-dots__dot.is-active { background: var(--gold-light); }
@media (min-width: 1024px) {
    .medallion-dots, .categories-band__hint { display: none; }
    .categories-band .medallion-row__list { justify-content: center; flex-wrap: wrap; row-gap: 1.6rem; }
}

/* Match quiz */
.quiz-panel {
    position: relative;
    isolation: isolate;
    border-radius: var(--radius);
    padding: clamp(1rem, 3vw, 1.8rem);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
}
.quiz-panel__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: var(--crimson-dark);
    background-image: url("/assets/b84d24a131ee2f438fd363a8a2ba4040.webp");
    background-size: cover;
    background-position: center;
}
.quiz-panel__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(92, 15, 25, 0.78);
}
.quiz-panel__ornament {
    position: absolute;
    top: 6%;
    bottom: 6%;
    width: 26px;
    z-index: 1;
    display: none;
}
.quiz-panel__ornament--left { left: 10px; }
.quiz-panel__ornament--right { right: 10px; transform: scaleX(-1); }
@media (min-width: 768px) {
    .quiz-panel__ornament { display: block; }
}

.quiz-panel__inner {
    position: relative;
    z-index: 2;
    background: rgba(92, 15, 25, 0.55);
    border: 2px solid var(--gold);
    outline: 1px dashed rgba(252, 247, 238, 0.7);
    outline-offset: 6px;
    border-radius: var(--radius-sm);
    padding: clamp(1.1rem, 3vw, 2rem);
    box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.35);
    margin: 8px clamp(8px, 4vw, 42px);
}
.quiz-panel__title {
    color: var(--cream);
    text-align: center;
    margin-bottom: 1.2rem;
}

.quiz-rows { display: grid; gap: 0.75rem; }
.quiz-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: flex-end;
}
.quiz-row__field { flex: 1 1 220px; display: grid; gap: 0.3rem; }
.quiz-row__label {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold-light);
}
.quiz-row__select {
    width: 100%;
    min-height: 46px;
    padding: 0.55rem 0.8rem;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(227, 185, 99, 0.7);
    background: rgba(21, 37, 64, 0.9);
    color: var(--ink-onDark);
    font-family: var(--font-sans);
    font-size: 0.94rem;
}
.quiz-row__select option { color: var(--ink); background: var(--cream); }
.quiz-row__check { flex: 0 0 auto; min-width: 104px; min-height: 46px; padding-block: 0.5rem; }
.quiz-row.is-checked .quiz-row__check {
    background: var(--gold);
    color: #2A1E06;
    border-color: var(--crimson-deep);
}

.quiz-progress { margin-top: 1.4rem; }
.quiz-progress__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cream);
    margin-bottom: 0.45rem;
}
.quiz-progress__track {
    height: 14px;
    border-radius: 999px;
    background: var(--cream);
    border: 1px solid var(--gold);
    overflow: hidden;
}
.quiz-progress__fill {
    display: block;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--gold-light), var(--gold));
    transition: width 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
    .quiz-progress__fill { transition: none; }
}

.quiz-result {
    margin-top: 1.3rem;
    padding-top: 1.1rem;
    border-top: 1px dashed rgba(252, 247, 238, 0.6);
    text-align: center;
}
.quiz-result__text {
    color: var(--cream);
    font-family: var(--font-serif);
    font-size: 1.25rem;
    line-height: 1.4;
    margin-bottom: 1rem;
}

/* Success stories */
.stories__wrap { position: relative; }
.stories__cord {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    display: none;
    pointer-events: none;
}
.stories__grid { position: relative; z-index: 1; align-items: stretch; }
.stories__note {
    max-width: 62ch;
    margin: 2rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.section--navy .stories__note,
.section--crimson .stories__note { color: var(--ink-onDark-soft); }
.section--navy .stories__note a,
.section--crimson .stories__note a { color: var(--gold-light); }
@media (min-width: 900px) {
    .stories__cord { display: block; }
}

/* How it works footer */
.timeline-section__footer {
    max-width: 68ch;
    margin: 2.4rem auto 0;
    text-align: center;
}
.timeline-section__footer p { font-size: var(--fs-small); color: var(--ink-soft); }

/* Safety */
.safety { position: relative; }
.safety__bg {
    background-image: url("/assets/8e2e6f991d2048e95232397b69f407ed.webp");
    background-position: center;
}
.safety__border {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 26px;
    z-index: 2;
    display: none;
}
.safety__border--left { left: 6px; }
.safety__border--right { right: 6px; transform: scaleX(-1); }
@media (min-width: 1024px) {
    .safety__border { display: block; }
}

.safety__layout { align-items: start; row-gap: 2rem; }
.safety__emblem { text-align: center; }
.safety__emblem img {
    width: min(300px, 72%);
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 18px 32px rgba(0, 0, 0, 0.45));
}
.safety__lead { font-size: var(--fs-lead); color: var(--ink-onDark); }
.safety__rows { display: grid; gap: 0.9rem; margin-top: 1.4rem; }
.safety-row {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    background: rgba(21, 37, 64, 0.55);
    border: 1px solid rgba(252, 247, 238, 0.5);
    border-left: 4px solid var(--crimson);
    border-radius: var(--radius-sm);
    padding: 1rem 1.1rem;
}
.safety-row__badge {
    flex: 0 0 auto;
    width: 42px; height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--crimson);
    box-shadow: 0 0 0 2px var(--gold);
}
.safety-row__title { color: var(--cream); font-size: 1.1rem; margin: 0 0 0.35rem; }
.safety-row__text { font-size: var(--fs-small); color: var(--ink-onDark); margin: 0; }
.safety__badges { margin-top: 1.6rem; }

/* Comparison note */
.compare-note {
    max-width: 62ch;
    margin: 1.6rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}

/* FAQ note */
.faq-note {
    margin-top: 1.6rem;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}

/* Join community band */
.join-band {
    position: relative;
    isolation: isolate;
    text-align: center;
    border-block: 3px solid var(--gold);
    padding-block: clamp(3rem, 7vw, 5.5rem);
}
.join-band__bg {
    background-image: url("/assets/05cb5ce42e2356b46ee3c9371736d605.webp");
    background-position: center;
}
.join-band__inner { position: relative; z-index: 2; }
.join-band__plate {
    max-width: 720px;
    margin-inline: auto;
    padding: clamp(1.5rem, 4vw, 2.8rem);
    background: rgba(92, 15, 25, 0.88);
    border: 2px solid var(--gold);
    outline: 1px solid rgba(227, 185, 99, 0.55);
    outline-offset: 7px;
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
}
.join-band__plate h2 { color: var(--cream); }
.join-band__plate p { color: #F7EDE1; font-size: var(--fs-lead); }
.join-band__plate .btn { margin-top: 0.6rem; }
.join-band__note {
    margin-top: 1.1rem !important;
    font-size: var(--fs-small) !important;
    color: #EFE0D2 !important;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
    background: var(--navy-deep);
    color: var(--ink-onDark);
    border-top: 4px solid var(--crimson);
    box-shadow: inset 0 4px 0 0 var(--gold);
    padding-top: clamp(2.4rem, 5vw, 4rem);
}
.footer-grid {
    display: grid;
    gap: 2rem;
    padding-bottom: 2.4rem;
}
.footer-brand {
    font-family: var(--font-serif);
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--gold-light);
    display: block;
    margin-bottom: 0.6rem;
}
.footer-brand em { font-style: normal; color: var(--cream); }
.footer-note { font-size: var(--fs-small); color: var(--ink-onDark-soft); max-width: 42ch; }
.footer-heading {
    font-family: var(--font-sans);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold-light);
    margin: 0 0 0.9rem;
}
.footer-heading--spaced { margin-top: 1.6rem; }
.footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.15rem; }
.footer-links a {
    display: block;
    padding: 0.4rem 0;
    font-size: var(--fs-small);
    color: var(--ink-onDark-soft);
    text-decoration: none;
}
.footer-links a:hover { color: var(--gold-light); text-decoration: underline; }
.site-footer .trust-strip { color: var(--ink-onDark); }

.footer-bottom {
    border-top: 1px solid rgba(199, 154, 60, 0.35);
    background: rgba(0, 0, 0, 0.18);
    padding-block: 1.1rem;
}
.footer-bottom__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    justify-content: space-between;
    font-size: 0.82rem;
    color: var(--ink-onDark-soft);
}
.footer-bottom__inner p { margin: 0; }

@media (min-width: 640px) {
    .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .footer-grid { grid-template-columns: 1.3fr 1fr 1.3fr 1fr; gap: 2.5rem; }
}

/* ============================================
   UKRAINIAN DATING CATEGORY PAGE
   ============================================ */
.ua-hero { padding-block: clamp(3.2rem, 9vw, 7rem); }
.ua-hero__bg {
    background-image: url("/assets/8de61149548b3c14bb9df2d79f808682.webp");
    background-position: 72% center;
}
.ua-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.9) 42%, rgba(21, 37, 64, 0.55) 64%, rgba(21, 37, 64, 0.18) 100%);
}
.ua-hero__plate .breadcrumbs { margin-bottom: 1.1rem; }
.breadcrumbs--dark .breadcrumbs__item span { color: var(--ink-onDark-soft); }
.ua-hero__strip {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 28px;
}
@media (min-width: 768px) { .ua-hero__strip { height: 48px; } }
@media (min-width: 1024px) {
    .ua-hero .hero__inner--single { grid-template-columns: minmax(0, 0.56fr); }
}

/* Embroidery ribbon divider */
.ua-ribbon {
    display: block;
    width: 100%;
    height: 30px;
    border-block: 2px solid var(--gold);
}
@media (min-width: 768px) { .ua-ribbon { height: 44px; } }

/* Status badges */
.ua-badge {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1.25rem 1.1rem;
    border-radius: var(--radius);
    background: linear-gradient(160deg, rgba(30, 52, 87, 0.97), rgba(21, 37, 64, 0.92));
    border: 1px solid rgba(199, 154, 60, 0.65);
    box-shadow: inset 0 1px 0 0 rgba(227, 185, 99, 0.45), var(--shadow-sm);
    color: var(--ink-onDark);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ua-badge:hover { transform: translateY(-4px); box-shadow: var(--glow-gold); }
.ua-badge__medallion {
    width: 46px; height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--crimson);
    color: var(--cream);
    box-shadow: 0 0 0 2px var(--gold), inset 0 2px 6px rgba(0, 0, 0, 0.35);
}
.ua-badge__title {
    font-family: var(--font-sans);
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--cream);
    margin: 0;
}
.ua-badge__text { font-size: var(--fs-small); color: var(--ink-onDark-soft); margin: 0; }

/* Cultural triptych */
.ua-culture { align-items: start; }
.ua-culture__col { text-align: center; padding-inline: 0.3rem; }
.ua-culture__icon { display: block; margin: 0 auto 0.6rem; }
.ua-culture__col h3 { margin-bottom: 0.55rem; }
.ua-culture__col p {
    font-size: var(--fs-small);
    color: var(--ink-soft);
    text-align: left;
    margin: 0;
}

/* Intro paragraphs & notes */
.ua-intro {
    max-width: 72ch;
    margin-inline: auto;
    margin-bottom: 1.4rem;
    color: var(--ink-soft);
}
.ua-note {
    max-width: 66ch;
    margin: 1.8rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}

/* Profile grid */
.ua-profiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.7rem, 2vw, 1.5rem);
    align-items: stretch;
}
@media (min-width: 768px) { .ua-profiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ua-profiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Six-step flow */
.ua-flow { position: relative; }
.ua-flow__cord {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    display: none;
    pointer-events: none;
}
.ua-flow__list {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.8rem;
}
@media (min-width: 768px) { .ua-flow__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
    .ua-flow__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.4rem 1.8rem; }
    .ua-flow__cord { display: block; }
}
.ua-step { text-align: center; padding-inline: 0.4rem; }
.ua-step__medallion {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 74px; height: 74px;
    border-radius: 50%;
    background: var(--navy);
    color: var(--cream);
    margin-bottom: 0.8rem;
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--crimson), var(--shadow-sm);
}
.ua-step:nth-child(even) .ua-step__medallion {
    background: var(--crimson);
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--navy), var(--shadow-sm);
}

/* K-1 visa card */
.ua-visa {
    position: relative;
    background: var(--navy-deep);
    border: 2px solid var(--gold);
    border-radius: var(--radius);
    padding: clamp(1.3rem, 3vw, 2.2rem);
    color: var(--ink-onDark);
    box-shadow: inset 0 8px 26px rgba(199, 154, 60, 0.22), var(--shadow-lg);
}
.ua-visa::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px dashed rgba(252, 247, 238, 0.55);
    border-radius: var(--radius-sm);
    pointer-events: none;
}
.ua-visa__corner { position: absolute; top: 16px; z-index: 2; line-height: 0; }
.ua-visa__corner--left { left: 18px; }
.ua-visa__corner--right { right: 18px; }
.ua-visa__inner { position: relative; z-index: 1; padding-top: 2.6rem; }
.ua-visa h2, .ua-visa h3 { color: var(--cream); }
.ua-visa p { color: var(--ink-onDark); }
.ua-visa__list {
    list-style: none;
    padding: 0;
    margin: 1.3rem 0 1.3rem;
    display: grid;
    gap: 0.7rem;
}
.ua-visa__list li {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 0.8rem;
    font-size: var(--fs-small);
    color: var(--ink-onDark);
    border-left: 3px solid var(--crimson);
    padding-left: 0.8rem;
}
.ua-visa__stage {
    flex: 0 0 auto;
    min-width: 72px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.76rem;
    color: var(--gold-light);
}
.ua-visa__note { font-size: var(--fs-small); color: var(--ink-onDark-soft) !important; margin: 0; }
.ua-visa a { color: var(--gold-light); }

/* Join community band */
.ua-join {
    position: relative;
    isolation: isolate;
    text-align: center;
    background: var(--crimson-dark);
    border-block: 3px solid var(--gold);
    padding-block: clamp(3rem, 7vw, 5rem);
    overflow: hidden;
}
.ua-join__weave { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.ua-join__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(92, 15, 25, 0.84), rgba(21, 37, 64, 0.88));
}
.ua-join__inner { position: relative; z-index: 2; max-width: 760px; }
.ua-join h2 { color: var(--cream); }
.ua-join p { color: #F7EDE1; font-size: var(--fs-lead); margin-bottom: 1.6rem; }
.ua-join a { color: var(--gold-light); }

/* ============================================
   RUSSIAN DATING CATEGORY PAGE
   ============================================ */
.ru-hero { padding-block: clamp(3.2rem, 9vw, 7rem); }
.ru-hero__bg {
    background-image: url("/assets/e80c8512efa4bb9e70aa6178ef00dae8.webp");
    background-position: 78% center;
}
.ru-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.9) 44%, rgba(21, 37, 64, 0.5) 66%, rgba(21, 37, 64, 0.15) 100%);
}
.ru-hero__plate {
    border: 2px solid var(--crimson);
    box-shadow: inset 0 0 0 1px rgba(199, 154, 60, 0.5), var(--shadow-lg);
}
.ru-hero__strip {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 28px;
}
@media (min-width: 768px) { .ru-hero__strip { height: 48px; } }
@media (min-width: 1024px) {
    .ru-hero .hero__inner--single { grid-template-columns: minmax(0, 0.56fr); }
}

/* Legitimacy badges */
.ru-badges { align-items: stretch; }
.ru-badge {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1.25rem 1.1rem;
    border-radius: var(--radius);
    background: linear-gradient(160deg, rgba(30, 52, 87, 0.97), rgba(21, 37, 64, 0.92));
    border: 1px solid transparent;
    border-image: linear-gradient(160deg, var(--gold-light), var(--gold)) 1;
    box-shadow: inset 0 1px 0 0 rgba(227, 185, 99, 0.45), var(--shadow-sm);
    color: var(--ink-onDark);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ru-badge:hover { transform: translateY(-4px); box-shadow: var(--glow-gold); }
.ru-badge__medallion {
    width: 46px; height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--crimson);
    color: var(--cream);
    box-shadow: 0 0 0 2px var(--gold), inset 0 2px 6px rgba(0, 0, 0, 0.35);
}
.ru-badge__title {
    font-family: var(--font-sans);
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--cream);
    margin: 0;
}
.ru-badge__text { font-size: var(--fs-small); color: var(--ink-onDark-soft); margin: 0; }

/* Cultural triptych */
.ru-culture { align-items: start; }
.ru-culture__col { text-align: center; padding-inline: 0.3rem; }
.ru-culture__icon { display: block; margin: 0 auto 0.6rem; }
.ru-culture__col h3 { margin-bottom: 0.55rem; }
.ru-culture__col p {
    font-size: var(--fs-small);
    color: var(--ink-soft);
    text-align: left;
    margin: 0;
}

/* Ribbon divider */
.ru-ribbon {
    display: block;
    width: 100%;
    height: 30px;
    border-block: 2px solid var(--gold);
}
@media (min-width: 768px) { .ru-ribbon { height: 44px; } }

/* Intro / note text */
.ru-intro {
    max-width: 72ch;
    margin-inline: auto;
    margin-bottom: 1.4rem;
    color: var(--ink-soft);
    text-align: center;
}
.ru-note {
    max-width: 66ch;
    margin: 1.8rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.section--navy .ru-note { color: var(--ink-onDark-soft); }
.section--navy .ru-note a { color: var(--gold-light); }

/* Profile grid */
.ru-profiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.7rem, 2vw, 1.5rem);
    align-items: stretch;
}
@media (min-width: 768px) { .ru-profiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ru-profiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Safety card */
.ru-safety {
    position: relative;
    max-width: 760px;
    margin: 0 auto;
    background: rgba(21, 37, 64, 0.7);
    border: 1px dashed rgba(246, 239, 227, 0.55);
    border-radius: var(--radius);
    padding: clamp(1.2rem, 3vw, 2rem);
    box-shadow: inset 0 3px 0 0 rgba(199, 154, 60, 0.55), var(--shadow-lg);
}
.ru-safety__title { color: var(--cream); margin-top: 0; text-align: center; }
.ru-safety__list { list-style: none; margin: 1.1rem 0 0; padding: 0; display: grid; gap: 0.9rem; }
.ru-safety__item {
    display: flex;
    gap: 0.8rem;
    align-items: flex-start;
    font-size: var(--fs-small);
    color: var(--ink-onDark);
}
.ru-safety__item strong { color: var(--cream); }
.ru-safety__glyph { flex: 0 0 auto; line-height: 0; margin-top: 0.15rem; }

/* Success stories band */
.ru-stories {
    position: relative;
    background: var(--crimson-dark);
    border-block: 3px solid var(--gold);
    padding-block: clamp(2.6rem, 6vw, 4.6rem);
    color: var(--ink-onDark);
}
.ru-stories h2 { color: var(--cream); }
.ru-stories .section-title__kicker { color: var(--gold-light); }
.ru-stories .section-title__lead { color: var(--ink-onDark-soft); }
.ru-stories__grid { align-items: start; }
.ru-story-card {
    position: relative;
    background: var(--cream);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    padding-bottom: 1.4rem;
}
.ru-story-card__photo {
    width: 100%;
    aspect-ratio: 10 / 7;
    object-fit: cover;
    display: block;
}
.ru-story-card__avatar {
    position: relative;
    display: block;
    width: 56px; height: 56px;
    margin: -28px auto 0.6rem;
    border-radius: 50%;
    background: repeating-conic-gradient(from 0deg, var(--crimson) 0 10deg, var(--sand) 10deg 20deg);
    border: 4px solid var(--cream);
    box-shadow: var(--shadow);
}
.ru-story-card__body { padding-inline: 1.3rem; }
.ru-story-card__quote { margin: 0 0 0.9rem; }
.ru-story-card__quote p { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }
.ru-story-card__author {
    margin: 0;
    padding-top: 0.8rem;
    border-top: 1px solid var(--line-navy);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--navy);
}

/* Join community band */
.ru-join {
    position: relative;
    isolation: isolate;
    text-align: center;
    background: var(--crimson-dark);
    border-block: 3px solid var(--gold);
    padding-block: clamp(3rem, 7vw, 5rem);
    overflow: hidden;
}
.ru-join__weave { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.ru-join__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(92, 15, 25, 0.85), rgba(21, 37, 64, 0.88));
}
.ru-join__inner { position: relative; z-index: 2; max-width: 760px; margin-inline: auto; }
.ru-join h2 { color: var(--cream); }
.ru-join p { color: #F7EDE1; font-size: var(--fs-lead); margin-bottom: 1.6rem; }
.ru-join a { color: var(--gold-light); }

/* ============================================================
   ROMANIAN DATING CATEGORY PAGE
   ============================================================ */
.ro-hero { padding-block: clamp(3.2rem, 9vw, 7rem); }
.ro-hero__bg {
    background-image: url("/assets/7e821ae0c74c00125e5f9242d4d61671.webp");
    background-position: 74% center;
}
.ro-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.9) 44%, rgba(21, 37, 64, 0.5) 66%, rgba(21, 37, 64, 0.16) 100%);
}
.ro-hero__plate {
    border: 1px solid rgba(199, 154, 60, 0.55);
    box-shadow: inset 0 0 0 2px var(--crimson), var(--shadow-lg);
}
.ro-hero__strip {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 28px;
}
@media (min-width: 768px) { .ro-hero__strip { height: 48px; } }
@media (min-width: 1024px) {
    .ro-hero .hero__inner--single { grid-template-columns: minmax(0, 0.56fr); }
}

/* Trust cards */
.ro-badges { align-items: stretch; }
.ro-badge {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1.25rem 1.1rem;
    border-radius: var(--radius);
    background: linear-gradient(160deg, rgba(30, 52, 87, 0.97), rgba(21, 37, 64, 0.92));
    border: 1px solid rgba(199, 154, 60, 0.65);
    box-shadow: inset 0 1px 0 0 rgba(227, 185, 99, 0.45), var(--shadow-sm);
    color: var(--ink-onDark);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ro-badge:hover { transform: translateY(-4px); box-shadow: var(--glow-gold); }
.ro-badge__medallion {
    width: 46px; height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--crimson);
    color: var(--cream);
    box-shadow: 0 0 0 2px var(--gold), inset 0 2px 6px rgba(0, 0, 0, 0.35);
}
.ro-badge__title {
    font-family: var(--font-sans);
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--cream);
    margin: 0;
}
.ro-badge__text { font-size: var(--fs-small); color: var(--ink-onDark-soft); margin: 0; }

/* Cultural triptych */
.ro-culture { align-items: start; }
.ro-culture__col { text-align: center; padding-inline: 0.3rem; }
.ro-culture__icon { display: block; margin: 0 auto 0.6rem; }
.ro-culture__col h3 { margin-bottom: 0.55rem; }
.ro-culture__col p {
    font-size: var(--fs-small);
    color: var(--ink-soft);
    text-align: left;
    margin: 0;
}

/* Ribbon divider */
.ro-ribbon {
    display: block;
    width: 100%;
    height: 30px;
    border-block: 2px solid var(--gold);
}
@media (min-width: 768px) { .ro-ribbon { height: 44px; } }

/* Intro / note text */
.ro-intro {
    max-width: 72ch;
    margin-inline: auto;
    margin-bottom: 1.4rem;
    color: var(--ink-soft);
}
.ro-note {
    max-width: 66ch;
    margin: 1.8rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.section--navy .ro-note { color: var(--ink-onDark-soft); }
.section--navy .ro-note a { color: var(--gold-light); }

/* Profile grid */
.ro-profiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.7rem, 2vw, 1.5rem);
    align-items: stretch;
}
@media (min-width: 768px) { .ro-profiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ro-profiles { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* Safety card */
.ro-safety {
    position: relative;
    max-width: 760px;
    margin: 0 auto;
    background: rgba(21, 37, 64, 0.7);
    border: 1px dashed rgba(246, 239, 227, 0.55);
    border-radius: var(--radius);
    padding: clamp(1.2rem, 3vw, 2rem);
    box-shadow: inset 0 3px 0 0 rgba(199, 154, 60, 0.55), var(--shadow-lg);
}
.ro-safety__title { color: var(--cream); margin-top: 0; text-align: center; }
.ro-safety__list { list-style: none; margin: 1.1rem 0 0; padding: 0; display: grid; gap: 0.9rem; }
.ro-safety__item {
    display: flex;
    gap: 0.8rem;
    align-items: flex-start;
    font-size: var(--fs-small);
    color: var(--ink-onDark);
}
.ro-safety__item strong { color: var(--cream); }
.ro-safety__glyph { flex: 0 0 auto; line-height: 0; margin-top: 0.15rem; }

/* Success stories band */
.ro-stories {
    position: relative;
    background: var(--crimson-dark);
    border-block: 3px solid var(--gold);
    padding-block: clamp(2.6rem, 6vw, 4.6rem);
    color: var(--ink-onDark);
}
.ro-stories h2 { color: var(--cream); }
.ro-stories .section-title__kicker { color: var(--gold-light); }
.ro-stories .section-title__lead { color: var(--ink-onDark-soft); }
.ro-stories__grid { align-items: start; }
.ro-story-card {
    position: relative;
    background: var(--cream);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    padding-bottom: 1.4rem;
}
.ro-story-card__photo {
    width: 100%;
    aspect-ratio: 10 / 7;
    object-fit: cover;
    display: block;
}
.ro-story-card__avatar {
    position: relative;
    display: block;
    width: 56px; height: 56px;
    margin: -28px auto 0.6rem;
    border-radius: 50%;
    background: repeating-conic-gradient(from 0deg, var(--crimson) 0 10deg, var(--sand) 10deg 20deg);
    border: 4px solid var(--cream);
    box-shadow: var(--shadow);
}
.ro-story-card__body { padding-inline: 1.3rem; }
.ro-story-card__quote { margin: 0 0 0.9rem; }
.ro-story-card__quote p { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }
.ro-story-card__author {
    margin: 0;
    padding-top: 0.8rem;
    border-top: 1px solid var(--line-navy);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--navy);
}

/* Join community band */
.ro-join {
    position: relative;
    isolation: isolate;
    text-align: center;
    background: var(--crimson-dark);
    border-block: 3px solid var(--gold);
    padding-block: clamp(3rem, 7vw, 5rem);
    overflow: hidden;
}
.ro-join__weave { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.ro-join__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(92, 15, 25, 0.85), rgba(21, 37, 64, 0.88));
}
.ro-join__inner { position: relative; z-index: 2; max-width: 760px; margin-inline: auto; }
.ro-join h2 { color: var(--cream); }
.ro-join p { color: #F7EDE1; font-size: var(--fs-lead); margin-bottom: 1.6rem; }
.ro-join a { color: var(--gold-light); }

/* ============================================================
   BULGARIAN DATING CATEGORY PAGE
   ============================================================ */
.blg-hero { padding-block: clamp(3.2rem, 9vw, 7rem); }
.blg-hero__bg {
    background-image: url("/assets/6f50da26e2a9eb1fde0e0b0d63ad190f.webp");
    background-position: 68% center;
}
.blg-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.9) 42%, rgba(21, 37, 64, 0.52) 66%, rgba(21, 37, 64, 0.16) 100%);
}
.blg-hero__plate {
    border: 1px solid rgba(199, 154, 60, 0.55);
    box-shadow: inset 0 0 0 2px var(--crimson), var(--shadow-lg);
}
.blg-hero__strip {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 28px;
}
@media (min-width: 768px) { .blg-hero__strip { height: 48px; } }
@media (min-width: 1024px) {
    .blg-hero .hero__inner--single { grid-template-columns: minmax(0, 0.58fr); }
}

/* Status badges */
.blg-badges { align-items: stretch; }
.blg-badge {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1.25rem 1.1rem;
    border-radius: var(--radius);
    background: linear-gradient(160deg, rgba(30, 52, 87, 0.97), rgba(21, 37, 64, 0.92));
    border: 1px solid rgba(199, 154, 60, 0.65);
    box-shadow: inset 0 1px 0 0 rgba(227, 185, 99, 0.45), var(--shadow-sm);
    color: var(--ink-onDark);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.blg-badge:hover { transform: translateY(-4px); box-shadow: var(--glow-gold); }
.blg-badge__medallion {
    width: 46px; height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--crimson);
    color: var(--cream);
    box-shadow: 0 0 0 2px var(--gold), inset 0 2px 6px rgba(0, 0, 0, 0.35);
}
.blg-badge__title {
    font-family: var(--font-sans);
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--cream);
    margin: 0;
}
.blg-badge__text { font-size: var(--fs-small); color: var(--ink-onDark-soft); margin: 0; }

/* Cultural triptych */
.blg-culture { align-items: start; }
.blg-culture__col { text-align: center; padding-inline: 0.3rem; }
.blg-culture__icon { display: block; margin: 0 auto 0.6rem; }
.blg-culture__col h3 { margin-bottom: 0.55rem; }
.blg-culture__col p {
    font-size: var(--fs-small);
    color: var(--ink-soft);
    text-align: left;
    margin: 0;
}

/* Ribbon divider */
.blg-ribbon {
    display: block;
    width: 100%;
    height: 30px;
    border-block: 2px solid var(--gold);
}
@media (min-width: 768px) { .blg-ribbon { height: 44px; } }

/* Intro / note text */
.blg-intro {
    max-width: 72ch;
    margin-inline: auto;
    margin-bottom: 1.4rem;
    color: var(--ink-soft);
}
.blg-note {
    max-width: 66ch;
    margin: 1.8rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.section--navy .blg-note { color: var(--ink-onDark-soft); }
.section--navy .blg-note a { color: var(--gold-light); }

/* Profile grid */
.blg-profiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.7rem, 2vw, 1.5rem);
    align-items: stretch;
}
@media (min-width: 768px) { .blg-profiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .blg-profiles { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* Pricing table emphasis */
.blg-pricing .table-wrapper .compare-table thead th.is-highlight {
    border-top: 4px solid var(--gold);
    box-shadow: inset 0 4px 0 0 var(--gold), 0 -4px 14px rgba(199, 154, 60, 0.28);
}
.compare-table tbody td.is-highlight { padding-block: 1rem; font-weight: 600; color: var(--navy-deep); }

/* Five-step flow */
.blg-flow { position: relative; }
.blg-flow__cord {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    display: none;
    pointer-events: none;
}
.blg-flow__list {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.8rem;
}
@media (min-width: 768px) { .blg-flow__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
    .blg-flow__list { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.6rem 1.2rem; }
    .blg-flow__cord { display: block; }
}
.blg-step { text-align: center; padding-inline: 0.3rem; }
.blg-step__medallion {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 70px; height: 70px;
    border-radius: 50%;
    background: var(--navy);
    color: var(--cream);
    margin-bottom: 0.8rem;
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--crimson), var(--shadow-sm);
}
.blg-step:nth-child(even) .blg-step__medallion {
    background: var(--crimson);
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--navy), var(--shadow-sm);
}

/* Join community band */
.blg-join {
    position: relative;
    isolation: isolate;
    text-align: center;
    background: var(--crimson-dark);
    border-block: 3px solid var(--gold);
    padding-block: clamp(3rem, 7vw, 5rem);
    overflow: hidden;
}
.blg-join__weave { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.blg-join__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(92, 15, 25, 0.84), rgba(21, 37, 64, 0.88));
}
.blg-join__inner { position: relative; z-index: 2; max-width: 760px; margin-inline: auto; }
.blg-join h2 { color: var(--cream); }
.blg-join p { color: #F7EDE1; font-size: var(--fs-lead); margin-bottom: 1.6rem; }
.blg-join a { color: var(--gold-light); }

/* ============================================================
   SLOVAKIAN DATING CATEGORY PAGE
   ============================================================ */
.sk-hero { padding-block: clamp(3.2rem, 9vw, 7rem); }
.sk-hero__bg {
    background-image: url("/assets/0be7a0de453780aa814024a560ac03bc.webp");
    background-position: 68% center;
}
.sk-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.9) 42%, rgba(21, 37, 64, 0.52) 66%, rgba(21, 37, 64, 0.16) 100%);
}
.sk-hero__ornament {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0.4;
    pointer-events: none;
}
.sk-hero__plate {
    position: relative;
    z-index: 2;
    border: 1px solid rgba(199, 154, 60, 0.55);
    box-shadow: inset 0 0 0 2px var(--crimson), var(--shadow-lg);
}
.sk-hero__strip {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 28px;
}
@media (min-width: 768px) { .sk-hero__strip { height: 48px; } }
@media (min-width: 1024px) {
    .sk-hero .hero__inner--single { grid-template-columns: minmax(0, 0.56fr); }
}

/* Intro / note text */
.sk-intro {
    max-width: 72ch;
    margin-inline: auto;
    margin-bottom: 1.4rem;
    color: var(--ink-soft);
}
.sk-note {
    max-width: 66ch;
    margin: 1.8rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.section--navy .sk-note,
.section--crimson .sk-note { color: var(--ink-onDark-soft); }
.sk-verify-grid { align-items: center; margin-top: 2.4rem; }

/* Cultural media frame */
.sk-culture-media { max-width: 900px; margin: 0 auto 2.2rem; }

/* Pricing cards */
.sk-pricing-grid {
    display: grid;
    gap: clamp(1.2rem, 2.6vw, 1.8rem);
    align-items: end;
    margin-top: 0.6rem;
}
@media (min-width: 768px) {
    .sk-pricing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.sk-pricing-card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    background: var(--cream);
    border: 1px solid var(--line-crimson);
    border-radius: var(--radius);
    padding: 1.6rem 1.4rem;
    box-shadow: var(--shadow-sm);
}
.sk-pricing-card--promoted {
    position: relative;
    background: linear-gradient(180deg, #FFFDF8, var(--cream));
    border: 2px solid var(--gold);
    box-shadow: var(--glow-gold), var(--shadow-lg);
    border-radius: var(--radius-lg) var(--radius-lg) var(--radius) var(--radius);
}
@media (min-width: 768px) {
    .sk-pricing-card--promoted { transform: translateY(-16px); }
}
.sk-pricing-card--promoted::before {
    content: "Most Popular";
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--crimson);
    color: var(--cream);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.35rem 0.95rem;
    border-radius: 999px;
    box-shadow: var(--shadow-sm);
    white-space: nowrap;
}
.sk-pricing-card__tier {
    font-family: var(--font-serif);
    font-size: 1.32rem;
    color: var(--navy-deep);
    margin: 0.2rem 0 0;
}
.sk-pricing-card__desc { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }
.sk-pricing-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.sk-pricing-card__list li { display: flex; gap: 0.55rem; align-items: flex-start; }

/* Safety glow wrapper */
.sk-safety-glow {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    border-radius: var(--radius);
    background:
        radial-gradient(circle at center, rgba(199, 154, 60, 0.28), transparent 68%),
        rgba(252, 247, 238, 0.05);
    border: 1px dashed rgba(199, 154, 60, 0.55);
    padding: 1.6rem;
}
.sk-safety-glow .trust-chips { justify-content: center; }

/* Join community band */
.sk-join {
    position: relative;
    isolation: isolate;
    text-align: center;
    background: var(--crimson-dark);
    border-block: 3px solid var(--gold);
    padding-block: clamp(3rem, 7vw, 5rem);
    overflow: hidden;
}
.sk-join__weave { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.sk-join__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(92, 15, 25, 0.85), rgba(21, 37, 64, 0.88));
}
.sk-join__inner { position: relative; z-index: 2; max-width: 760px; margin-inline: auto; }
.sk-join h2 { color: var(--cream); }
.sk-join p { color: #F7EDE1; font-size: var(--fs-lead); margin-bottom: 1.6rem; }
.sk-join a { color: var(--gold-light); }

/* ============================================================
   HUNGARIAN DATING CATEGORY PAGE
   ============================================================ */
.hu-hero { padding-block: clamp(3.2rem, 9vw, 7rem); }
.hu-hero__bg {
    background-image: url("/assets/6f50da26e2a9eb1fde0e0b0d63ad190f.webp");
    background-position: 78% center;
}
.hu-hero__pattern {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0.55;
    pointer-events: none;
}
.hu-hero__scrim {
    z-index: 2;
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.9) 44%, rgba(21, 37, 64, 0.5) 66%, rgba(21, 37, 64, 0.16) 100%);
}
.hu-hero .hero__inner { position: relative; z-index: 3; }
.hu-hero__plate {
    border: 1px solid rgba(199, 154, 60, 0.55);
    box-shadow: inset 0 0 0 2px var(--crimson), var(--shadow-lg);
}
.hu-hero__strip {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 28px;
}
@media (min-width: 768px) { .hu-hero__strip { height: 48px; } }
@media (min-width: 1024px) {
    .hu-hero .hero__inner--single { grid-template-columns: minmax(0, 0.58fr); }
}

/* Ribbon divider */
.hu-ribbon {
    display: block;
    width: 100%;
    height: 30px;
    border-block: 2px solid var(--gold);
}
@media (min-width: 768px) { .hu-ribbon { height: 44px; } }

/* Intro / note text */
.hu-intro {
    max-width: 72ch;
    margin-inline: auto;
    margin-bottom: 1.4rem;
    color: var(--ink-soft);
}
.hu-note {
    max-width: 66ch;
    margin: 1.8rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.section--navy .hu-note,
.section--crimson .hu-note { color: var(--ink-onDark-soft); }
.section--navy .hu-note a,
.section--crimson .hu-note a { color: var(--gold-light); }

/* Cultural media + triptych */
.hu-culture-media { max-width: 900px; margin: 0 auto 2.2rem; }
.hu-culture { align-items: start; }
.hu-culture__col { text-align: center; padding-inline: 0.3rem; }
.hu-culture__icon { display: block; margin: 0 auto 0.6rem; }
.hu-culture__col h3 { margin-bottom: 0.55rem; }
.hu-culture__col p {
    font-size: var(--fs-small);
    color: var(--ink-soft);
    text-align: left;
    margin: 0;
}

/* Profile grid */
.hu-profiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.7rem, 2vw, 1.5rem);
    align-items: stretch;
}
@media (min-width: 768px) { .hu-profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .hu-profiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Comparison - promoted middle column */
.hu-compare .compare-table thead th.is-highlight {
    position: relative;
    background: var(--crimson-deep);
    border-radius: 10px 10px 0 0;
    transform: translateY(-6px);
    box-shadow: 0 0 0 1px rgba(199, 154, 60, 0.7), 0 -8px 22px rgba(199, 154, 60, 0.3);
}
.hu-compare .compare-table tbody td.is-highlight {
    background: rgba(199, 154, 60, 0.16);
    font-weight: 600;
    color: var(--navy-deep);
}
.hu-compare .compare-table tbody tr:nth-child(even) td.is-highlight { background: rgba(199, 154, 60, 0.24); }

/* Trust panel with layered glow */
.hu-trust-panel {
    position: relative;
    isolation: isolate;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border-radius: var(--radius-lg);
    background: var(--navy-deep);
    overflow: hidden;
}
.hu-trust-panel::before,
.hu-trust-panel::after {
    content: "";
    position: absolute;
    z-index: 0;
    border-radius: 50%;
    filter: blur(14px);
}
.hu-trust-panel::before {
    width: 320px; height: 320px;
    top: -90px; left: -70px;
    background: radial-gradient(circle, rgba(199, 154, 60, 0.35), transparent 70%);
}
.hu-trust-panel::after {
    width: 360px; height: 360px;
    bottom: -110px; right: -90px;
    background: radial-gradient(circle, rgba(156, 28, 44, 0.4), transparent 70%);
}
.hu-trust-panel .grid { position: relative; z-index: 1; }

.hu-badge {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1.25rem 1.1rem;
    border-radius: var(--radius);
    background: linear-gradient(160deg, rgba(30, 52, 87, 0.97), rgba(21, 37, 64, 0.92));
    border: 1px solid rgba(199, 154, 60, 0.65);
    box-shadow: inset 0 1px 0 0 rgba(227, 185, 99, 0.45), var(--shadow-sm);
    color: var(--ink-onDark);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hu-badge:hover { transform: translateY(-4px); box-shadow: var(--glow-gold); }
.hu-badge__medallion {
    width: 46px; height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--crimson);
    color: var(--cream);
    box-shadow: 0 0 0 2px var(--gold), inset 0 2px 6px rgba(0, 0, 0, 0.35);
}
.hu-badge__title {
    font-family: var(--font-sans);
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--cream);
    margin: 0;
}
.hu-badge__text { font-size: var(--fs-small); color: var(--ink-onDark-soft); margin: 0; }

/* ============================================================
   MOLDOVAN DATING CATEGORY PAGE
   ============================================================ */
.md-hero { padding-block: clamp(3.2rem, 9vw, 7rem); }
.md-hero__bg {
    background-image: url("/assets/cb1a1bb5ee0ae68451038bb2857efaeb.webp");
    background-position: 78% center;
}
.md-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.9) 42%, rgba(21, 37, 64, 0.5) 66%, rgba(21, 37, 64, 0.16) 100%);
}
.md-hero__ornament {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0.32;
    pointer-events: none;
}
.md-hero__plate {
    border: 1px solid rgba(199, 154, 60, 0.55);
    box-shadow: inset 0 0 0 2px var(--crimson), var(--shadow-lg);
}
.md-hero__strip {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 28px;
}
@media (min-width: 768px) { .md-hero__strip { height: 48px; } }
@media (min-width: 1024px) {
    .md-hero .hero__inner--single { grid-template-columns: minmax(0, 0.58fr); }
}

/* Ribbon divider */
.md-ribbon {
    display: block;
    width: 100%;
    height: 30px;
    border-block: 2px solid var(--gold);
}
@media (min-width: 768px) { .md-ribbon { height: 44px; } }

/* Intro / note text */
.md-intro {
    max-width: 72ch;
    margin-inline: auto;
    margin-bottom: 1.4rem;
    color: var(--ink-soft);
}
.md-note {
    max-width: 66ch;
    margin: 1.8rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.section--navy .md-note, .section--crimson .md-note { color: var(--ink-onDark-soft); }
.section--navy .md-note a, .section--crimson .md-note a { color: var(--gold-light); }

/* Cultural media + triptych */
.md-culture-media { max-width: 900px; margin: 0 auto 2.2rem; }
.md-culture { align-items: start; }
.md-culture__col { text-align: center; padding-inline: 0.3rem; }
.md-culture__icon {
    display: grid;
    place-items: center;
    width: 64px; height: 64px;
    margin: 0 auto 0.7rem;
    border-radius: 50%;
    background: var(--cream);
    box-shadow: var(--shadow-sm);
}
.md-culture__col h3 { margin-bottom: 0.55rem; }
.md-culture__col p {
    font-size: var(--fs-small);
    color: var(--ink-soft);
    text-align: left;
    margin: 0;
}

/* Profile grid */
.md-profiles {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: clamp(0.9rem, 2vw, 1.6rem);
    align-items: stretch;
}
@media (min-width: 768px) { .md-profiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Verification split */
.md-verify-grid { align-items: start; }

/* Join community band */
.md-join {
    position: relative;
    isolation: isolate;
    text-align: center;
    background: var(--crimson-dark);
    border-block: 3px solid var(--gold);
    padding-block: clamp(3rem, 7vw, 5rem);
    overflow: hidden;
}
.md-join__weave { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.md-join__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(92, 15, 25, 0.85), rgba(21, 37, 64, 0.88));
}
.md-join__inner { position: relative; z-index: 2; max-width: 760px; margin-inline: auto; }
.md-join h2 { color: var(--cream); }
.md-join p { color: #F7EDE1; font-size: var(--fs-lead); margin-bottom: 1.6rem; }
.md-join a { color: var(--gold-light); }

/* ============================================================
   BELARUSIAN DATING CATEGORY PAGE
   ============================================================ */
.blr-hero { padding-block: clamp(3.2rem, 9vw, 7rem); }
.blr-hero__bg {
    background-image: url("/assets/6bb21fcde81b40a9382054017c603ade.webp");
    background-position: 72% center;
}
.blr-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.9) 42%, rgba(21, 37, 64, 0.5) 66%, rgba(21, 37, 64, 0.16) 100%);
}
.blr-hero__ornament {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    pointer-events: none;
}
.blr-hero .hero__inner { position: relative; z-index: 2; }
.blr-hero__plate {
    border: 1px solid rgba(199, 154, 60, 0.55);
    box-shadow: inset 0 0 0 2px var(--crimson), var(--shadow-lg);
}
.blr-hero__strip {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 28px;
}
@media (min-width: 768px) { .blr-hero__strip { height: 48px; } }
@media (min-width: 1024px) {
    .blr-hero .hero__inner--single { grid-template-columns: minmax(0, 0.56fr); }
}

/* Intro / note text */
.blr-intro {
    max-width: 72ch;
    margin-inline: auto;
    margin-bottom: 1.4rem;
    color: var(--ink-soft);
}
.blr-note {
    max-width: 66ch;
    margin: 1.8rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}
.section--navy .blr-note, .section--crimson .blr-note { color: var(--ink-onDark-soft); }
.section--navy .blr-note a, .section--crimson .blr-note a { color: var(--gold-light); }

/* Cultural triptych */
.blr-culture-lead {
    max-width: 72ch;
    margin: 0 auto 1.6rem;
    text-align: center;
    color: var(--ink-soft);
}
.blr-culture { align-items: start; }
.blr-culture__card { text-align: center; padding-inline: 0.3rem; }
.blr-culture__medallion {
    display: grid;
    place-items: center;
    width: 72px; height: 72px;
    margin: 0 auto 0.8rem;
    border-radius: 50%;
    background: var(--cream);
    box-shadow: var(--shadow-sm), inset 0 0 0 2px var(--gold);
}
.blr-culture__card h3 { margin-bottom: 0.5rem; }
.blr-culture__card p {
    font-size: var(--fs-small);
    color: var(--ink-soft);
    text-align: left;
    margin: 0;
}
.blr-culture-media { max-width: 900px; margin: 2.2rem auto 0; }

/* Profile grid */
.blr-profiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.7rem, 2vw, 1.5rem);
    align-items: stretch;
}
@media (min-width: 768px) { .blr-profiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Comparison - elevated cream promoted column */
.blr-compare .compare-table thead th.is-highlight {
    position: relative;
    background: var(--cream);
    color: var(--navy-deep);
    border-radius: 14px 14px 0 0;
    transform: translateY(-10px);
    box-shadow: 0 0 0 2px var(--gold), 0 -10px 26px rgba(199, 154, 60, 0.35);
    z-index: 2;
}
.blr-compare .compare-table tbody td.is-highlight {
    background: rgba(252, 247, 238, 0.9);
    font-weight: 600;
    color: var(--navy-deep);
    box-shadow: inset 0 0 0 1px rgba(199, 154, 60, 0.35);
}
.blr-compare .compare-table tbody tr:nth-child(even) td.is-highlight { background: rgba(252, 247, 238, 0.75); }

/* Five-node meeting-process flow */
.blr-flow { position: relative; }
.blr-flow__cord {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    display: none;
    pointer-events: none;
}
.blr-flow__list {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.8rem;
}
@media (min-width: 768px) { .blr-flow__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
    .blr-flow__list { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.6rem 1.2rem; }
    .blr-flow__cord { display: block; }
}
.blr-step { text-align: center; padding-inline: 0.3rem; }
.blr-step__medallion {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 70px; height: 70px;
    border-radius: 50%;
    background: var(--navy);
    color: var(--cream);
    margin-bottom: 0.8rem;
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--crimson), var(--shadow-sm);
}
.blr-step:nth-child(even) .blr-step__medallion {
    background: var(--crimson);
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--navy), var(--shadow-sm);
}

/* Safety glow panel */
.blr-safety-panel {
    position: relative;
    isolation: isolate;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border-radius: var(--radius-lg);
    background: var(--navy-deep);
    overflow: hidden;
}
.blr-safety-panel::before,
.blr-safety-panel::after {
    content: "";
    position: absolute;
    z-index: 0;
    border-radius: 50%;
    filter: blur(14px);
}
.blr-safety-panel::before {
    width: 300px; height: 300px;
    top: -90px; left: -70px;
    background: radial-gradient(circle, rgba(199, 154, 60, 0.35), transparent 70%);
}
.blr-safety-panel::after {
    width: 340px; height: 340px;
    bottom: -100px; right: -80px;
    background: radial-gradient(circle, rgba(156, 28, 44, 0.4), transparent 70%);
}
.blr-safety-panel > * { position: relative; z-index: 1; }
.blr-safety-panel .checklist {
    background: rgba(252, 247, 238, 0.06);
    color: var(--ink-onDark);
    border-color: rgba(199, 154, 60, 0.6);
    border-style: dashed;
}
.blr-safety-panel .checklist__title { color: var(--cream); }
.blr-safety-panel .trust-chips { justify-content: center; margin-top: 1.6rem; }

/* ============================================================
   BLOG - INTENTIONAL MARRIAGE-MINDED DATING 2026
   ============================================================ */
.imd-hero__bg {
    background-image: url("/assets/db5b6ad9915b9f87e23ffec556f4a639.webp");
    background-position: 30% 65%;
}

/* ============================================================
   BLOG - CROSS-CULTURAL RELATIONSHIPS MYTHS
   ============================================================ */
.ccm-hero__bg {
    background-image: url("/assets/2672e554e277afa26a4c39ec8971cefb.webp");
    background-position: center;
}

/* ============================================================
   BLOG - NAVIGATING TIME ZONES: COMMUNICATION ROUTINES
   ============================================================ */
.tz-hero__bg {
    background-image: url("/assets/b27bb0d70945fba459a94bc9acd259d7.webp");
    background-position: center;
}
.bp-quad__cell > .folk-icon {
    display: block;
    margin-bottom: 0.6rem;
}
.tz-related__thumb {
    flex: 0 0 auto;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 0 0 3px var(--cream), 0 0 0 5px rgba(30, 52, 87, 0.35), var(--shadow-sm);
}
.tz-related__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ============================================================
   BLOG - FROM FIRST MESSAGE TO RELOCATION SUCCESS
   ============================================================ */
.fm-hero__bg {
    background-image: url("/assets/8d071a70b872d876f7ce35e521470804.webp");
    background-position: center;
}

.fm-cost-table {
    outline: 2px dashed var(--gold);
    outline-offset: 6px;
    border-radius: var(--radius);
}

.fm-related__photo {
    position: relative;
    flex: 0 0 auto;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 0 0 3px var(--cream), 0 0 0 5px rgba(30, 52, 87, 0.35), var(--shadow-sm);
}
.fm-related__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ============================================================
   COOKIE POLICY PAGE
   ============================================================ */
.ck-hero { padding-block: clamp(2.6rem, 7vw, 5.5rem); }
.ck-hero__bg {
    background-image: url("/assets/b5a9d8cd34086d179ea12ac5bdfb94a3.webp");
    background-position: center;
}
.ck-hero__scrim {
    background: linear-gradient(180deg, rgba(21, 37, 64, 0.28) 0%, rgba(21, 37, 64, 0.78) 55%, rgba(21, 37, 64, 0.94) 100%);
}
.ck-hero__plate { max-width: 640px; }
.ck-hero__meta {
    color: var(--gold-light) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0.4rem 0 1rem !important;
}
@media (min-width: 1024px) {
    .ck-hero .hero__inner--single { grid-template-columns: minmax(0, 0.6fr); }
}

/* Types grid with braided cord */
.ck-types-wrap { position: relative; }
.ck-types-cord {
    position: absolute;
    left: 0; right: 0;
    top: 168px;
    z-index: 0;
    display: none;
    pointer-events: none;
}
@media (min-width: 900px) { .ck-types-cord { display: block; } }
.ck-types-grid { position: relative; z-index: 1; align-items: stretch; }
.ck-card {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1.3rem 1.1rem;
    border-radius: var(--radius);
    background: linear-gradient(160deg, rgba(30, 52, 87, 0.97), rgba(21, 37, 64, 0.92));
    border: 1px solid rgba(199, 154, 60, 0.65);
    box-shadow: inset 0 1px 0 0 rgba(227, 185, 99, 0.45), var(--shadow-sm);
    color: var(--ink-onDark);
}
.ck-card__title { font-size: 1.05rem; margin: 0.3rem 0 0.15rem; color: var(--cream); }
.ck-card__text { font-size: var(--fs-small); color: var(--ink-onDark-soft); margin: 0; }

/* Why we use cookies list */
.ck-why-list {
    list-style: none;
    margin: 1.2rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.8rem;
}
.ck-why-list li {
    position: relative;
    padding-left: 1.6rem;
    font-size: var(--fs-body);
    color: var(--ink-soft);
}
.ck-why-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5em;
    width: 9px; height: 9px;
    border-radius: 50%;
    background: var(--crimson);
    box-shadow: 0 0 0 3px rgba(156, 28, 44, 0.18);
}

/* Managing cookies timeline */
.ck-timeline-wrap { position: relative; padding-top: 0.6rem; }
.ck-timeline__cord {
    position: absolute;
    left: 0; right: 0;
    top: 34px;
    width: 100%;
    height: 20px;
    z-index: 0;
    display: none;
}
@media (min-width: 700px) { .ck-timeline__cord { display: block; } }
.ck-timeline__list {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.8rem;
}
@media (min-width: 700px) {
    .ck-timeline__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.ck-timeline__step { text-align: center; padding-inline: 0.4rem; position: relative; }
.ck-timeline__medallion {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 68px; height: 68px;
    border-radius: 50%;
    background: var(--crimson);
    color: var(--cream);
    font-family: var(--font-serif);
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 0.8rem;
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--gold), var(--shadow-sm);
}
.ck-timeline__step.is-active .ck-timeline__medallion {
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--gold), 0 0 0 16px rgba(199, 154, 60, 0.22), var(--shadow);
}
.ck-timeline__title { font-size: 1.05rem; margin: 0 0 0.4rem; }
.ck-timeline__text { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }
.ck-manage-note {
    max-width: 66ch;
    margin: 2rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-soft);
}

/* ============================================================
   FAQ PAGE
   ============================================================ */
.fq-hero { padding-block: clamp(3rem, 8vw, 6.5rem); }
.fq-hero__bg {
    background-image: url("/assets/e4e4850c69db37e8a8f6e1e44ae1b39e.webp");
    background-position: 62% center;
}
.fq-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.88) 40%, rgba(21, 37, 64, 0.5) 66%, rgba(21, 37, 64, 0.16) 100%);
}
@media (min-width: 1024px) {
    .fq-hero .hero__inner--single { grid-template-columns: minmax(0, 0.6fr); }
}

/* Trust stats row */
.fq-stats-row { position: relative; padding-top: 1.2rem; }
.fq-stats-row__rail {
    position: absolute;
    top: 58px;
    left: 6%;
    right: 6%;
    height: 2px;
    background: repeating-linear-gradient(90deg, var(--crimson) 0 10px, transparent 10px 18px);
    z-index: 0;
}

/* FAQ groups */
.fq-group { margin-bottom: clamp(1.8rem, 4vw, 2.6rem); }
.fq-group:last-child { margin-bottom: 0; }
.fq-group__heading {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1rem;
    font-size: 1.3rem;
}

/* Visa snapshot grid */
.fq-visa-grid { align-items: start; margin-top: 2.4rem; row-gap: 1.8rem; }
.fq-visa-grid .checklist {
    background: rgba(252, 247, 238, 0.06);
    color: var(--ink-onDark);
    border-color: rgba(199, 154, 60, 0.6);
    border-style: dashed;
}
.fq-visa-grid .checklist__item { color: var(--ink-onDark); }

/* ============================================================
   ABOUT US PAGE
   ============================================================ */
.ab-hero { padding-block: clamp(3rem, 8vw, 6.5rem); }
.ab-hero__bg {
    background-image: url("/assets/77a7bbab070a2c61273030415e5076c3.webp");
    background-position: center;
}
.ab-hero__scrim {
    background: linear-gradient(90deg, rgba(21, 37, 64, 0.96) 0%, rgba(21, 37, 64, 0.86) 32%, rgba(21, 37, 64, 0.4) 62%, rgba(21, 37, 64, 0.12) 100%);
}
.ab-hero__plate { max-width: 600px; }
@media (min-width: 1024px) {
    .ab-hero .hero__inner--single { grid-template-columns: minmax(0, 0.55fr); }
}

/* Compliance band with tiled diamond texture */
.ab-compliance { position: relative; isolation: isolate; }
.ab-compliance__pattern {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0.14;
    background-image:
        repeating-linear-gradient(45deg, var(--gold) 0 2px, transparent 2px 22px),
        repeating-linear-gradient(-45deg, var(--gold) 0 2px, transparent 2px 22px);
}
.ab-compliance__inner { position: relative; z-index: 1; }
.ab-compliance__prose {
    max-width: 74ch;
    margin: 0 auto;
    text-align: left;
}
.ab-compliance__prose p { color: var(--ink-onDark-soft); }
.ab-compliance__prose a { color: var(--gold-light); }

/* Anti-scam band */
.ab-antiscam__bg {
    background-image: url("/assets/0484c17c96b3034d52cc829766531327.webp");
    background-position: center;
}
.ab-antiscam__emblem {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem 0;
}
.ab-antiscam__emblem svg {
    filter: drop-shadow(0 18px 32px rgba(0, 0, 0, 0.45));
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.ct-hero { padding-block: clamp(3rem, 8vw, 6.5rem); }
.ct-hero__bg {
    background-image: url("/assets/61a85dc6c654657dfcbdc9141b2cf362.webp");
    background-position: center;
}
.ct-hero__scrim {
    background: linear-gradient(90deg, rgba(21, 37, 64, 0.96) 0%, rgba(21, 37, 64, 0.86) 34%, rgba(21, 37, 64, 0.38) 64%, rgba(21, 37, 64, 0.1) 100%);
}
.ct-hero__plate { max-width: 620px; }
@media (min-width: 1024px) {
    .ct-hero .hero__inner--single { grid-template-columns: minmax(0, 0.56fr); }
}

/* Channels */
.ct-channels { align-items: stretch; }

/* Support hours band */
.ct-hours { position: relative; }
.ct-hours__grid {
    position: relative;
    display: grid;
    gap: 2rem;
}
.ct-hours__cord { display: none; }
@media (min-width: 768px) {
    .ct-hours__grid { grid-template-columns: 1fr auto 1fr; align-items: start; }
    .ct-hours__cord { display: block; width: 26px; }
}
.ct-hours__col h3 { color: var(--cream); margin-bottom: 0.5rem; font-size: 1.15rem; }
.ct-hours__col p { color: var(--ink-onDark-soft); font-size: var(--fs-small); margin: 0; }
.ct-hours__col a { color: var(--gold-light); }

/* Account requests */
.ct-account {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0 0 0 1.6rem;
    display: grid;
    gap: 1.4rem;
    max-width: 760px;
    margin-inline: auto;
}
.ct-account::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 6px;
    bottom: 18px;
    width: 2px;
    background: linear-gradient(180deg, var(--crimson), var(--gold));
}
.ct-account__row { position: relative; }
.ct-account__row::before {
    content: "";
    position: absolute;
    left: -1.6rem;
    top: 6px;
    width: 10px; height: 10px;
    border-radius: 50%;
    background: var(--crimson);
    box-shadow: 0 0 0 3px var(--cream), 0 0 0 4px var(--line-crimson);
}
.ct-account__row:last-child::after {
    content: "";
    position: absolute;
    left: -1.68rem;
    top: 26px;
    width: 14px; height: 14px;
    border-radius: 50%;
    border: 2px solid var(--gold);
}
.ct-account__row h3 { margin: 0 0 0.4rem; font-size: 1.1rem; }
.ct-account__row p { margin: 0; font-size: var(--fs-small); color: var(--ink-soft); }

/* Safety note box */
.ct-safety {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    background: var(--cream);
    border: 3px dashed var(--crimson);
    border-radius: var(--radius);
    padding: clamp(1.4rem, 3vw, 2.2rem);
    box-shadow: var(--shadow-sm);
}
.ct-safety__badge {
    position: absolute;
    top: -22px;
    left: 22px;
    width: 48px; height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--navy);
    box-shadow: 0 0 0 3px var(--cream), 0 0 0 5px var(--gold);
}
.ct-safety__title { margin-top: 0.6rem; }
.ct-safety p { color: var(--ink-soft); margin: 0; }
.ct-safety a { text-decoration: underline; }

/* ============================================================
   HOW IT WORKS PAGE
   ============================================================ */
.hiw-hero { padding-block: clamp(3rem, 8vw, 6.5rem); }
.hiw-hero__bg {
    background-image: url("/assets/9b1de0b40f655e791b0b774522ea390e.webp");
    background-position: 68% center;
}
.hiw-hero__scrim {
    background: linear-gradient(100deg, rgba(21, 37, 64, 0.95) 0%, rgba(21, 37, 64, 0.88) 40%, rgba(21, 37, 64, 0.48) 66%, rgba(21, 37, 64, 0.14) 100%);
}
@media (min-width: 1024px) {
    .hiw-hero .hero__inner--single { grid-template-columns: minmax(0, 0.56fr); }
}

/* Steps timeline */
.hiw-steps__wrap { position: relative; }
.hiw-steps__ribbon {
    position: absolute;
    top: 14px;
    left: 0;
    width: 100%;
    height: auto;
    max-height: 84px;
    object-fit: contain;
    z-index: 0;
    pointer-events: none;
    opacity: 0.9;
    display: none;
}
@media (min-width: 768px) { .hiw-steps__ribbon { display: block; } }

.hiw-steps__list {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.8rem;
}
@media (min-width: 768px) { .hiw-steps__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .hiw-steps__list { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.4rem; } }

.hiw-step { text-align: center; padding-inline: 0.3rem; }
.hiw-step__medallion {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 72px; height: 72px;
    border-radius: 50%;
    background: var(--crimson);
    color: var(--cream);
    margin-bottom: 0.8rem;
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--navy), var(--shadow-sm);
}
.hiw-step:nth-child(even) .hiw-step__medallion {
    background: var(--navy);
    box-shadow: 0 0 0 4px var(--cream), 0 0 0 6px var(--crimson), var(--shadow-sm);
}
.hiw-step__number {
    position: absolute;
    right: -4px; bottom: -4px;
    width: 24px; height: 24px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--gold);
    color: #2A1E06;
    font-size: 0.74rem;
    font-weight: 700;
    border: 2px solid var(--cream);
}
.hiw-step__title { font-size: 1.08rem; margin: 0 0 0.4rem; }
.hiw-step__text { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }

/* Trust band closing note */
.hiw-trust__note {
    max-width: 62ch;
    margin: 1.8rem auto 0;
    text-align: center;
    font-size: var(--fs-small);
    color: var(--ink-onDark-soft);
}

/* Meeting proof */
.hiw-meeting { align-items: center; row-gap: 2rem; }
.hiw-meeting__figure { margin: 0; }
.hiw-meeting__frame { transform: rotate(-1.4deg); }
.hiw-meeting__body h2 { margin-bottom: 0.5em; }
.hiw-meeting__body p { color: var(--ink-soft); }

/* ============================================================
   TERMS & CONDITIONS PAGE
   ============================================================ */
.tc-hero { padding-block: clamp(2.6rem, 7vw, 5.5rem); }
.tc-hero__bg {
    background-image: url("/assets/34f8344ff17b6baecb531ee849ce1af6.webp");
    background-position: 72% center;
}
.tc-hero__scrim {
    background: linear-gradient(90deg, rgba(11, 15, 25, 0.92) 0%, rgba(11, 15, 25, 0.66) 34%, rgba(11, 15, 25, 0.24) 62%, transparent 82%);
}
.tc-hero__glow {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 3px;
    z-index: 3;
    background: linear-gradient(90deg, transparent, var(--gold-light) 30%, var(--gold-light) 70%, transparent);
    box-shadow: 0 0 14px 2px rgba(234, 179, 8, 0.5);
}
.tc-hero__meta {
    color: var(--gold-light) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0.4rem 0 1rem !important;
}
@media (min-width: 1024px) {
    .tc-hero .hero__inner--single { grid-template-columns: minmax(0, 0.6fr); }
}

/* Profile standards cards */
.tc-standards { align-items: stretch; }
.tc-standard-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1.4rem 1.2rem;
    background: var(--navy-deep);
    border: 1px solid var(--gold);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    color: var(--ink-onDark);
}
.tc-standard-card__icon { line-height: 0; }
.tc-standard-card__title { color: var(--cream); font-size: 1.05rem; margin: 0.3rem 0 0.2rem; }
.tc-standard-card__text { font-size: var(--fs-small); color: var(--ink-onDark-soft); margin: 0; }

/* Prohibited conduct panel */
.tc-prohibited {
    position: relative;
    isolation: isolate;
    padding-block: clamp(2.4rem, 6vw, 4rem);
    background: linear-gradient(120deg, var(--crimson-dark), var(--navy-deep));
    color: var(--ink-onDark);
}
.tc-prohibited__cord {
    position: absolute;
    left: 0; right: 0;
    width: 100%;
    height: 20px;
    z-index: 1;
}
.tc-prohibited__cord--top { top: 0; }
.tc-prohibited__cord--bottom { bottom: 0; }
.tc-prohibited__title {
    color: var(--cream);
    text-align: center;
    margin-bottom: 1.6rem;
}
.tc-prohibited__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.9rem;
    max-width: 980px;
    margin-inline: auto;
}
.tc-prohibited__list li {
    font-size: var(--fs-small);
    color: var(--ink-onDark);
    border-left: 3px solid var(--gold);
    padding-left: 0.9rem;
}
.tc-prohibited__list li strong { color: var(--cream); }
@media (min-width: 768px) {
    .tc-prohibited__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 2rem; }
}

/* Moderation & closure */
.tc-mod-layout { align-items: center; row-gap: 2rem; }
.tc-mod-copy p { color: var(--ink-onDark-soft); }
.tc-mod-copy a { color: var(--gold-light); }
.tc-mod-figure {
    position: relative;
    margin: 0;
    border: 3px double var(--gold);
    border-radius: var(--radius);
    padding: 8px;
    background: var(--navy);
}
.tc-mod-figure img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: 4px;
}
.tc-mod-corner {
    position: absolute;
    z-index: 2;
    line-height: 0;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.4));
}
.tc-mod-corner--tl { top: -4px; left: -4px; }
.tc-mod-corner--br { bottom: -4px; right: -4px; transform: rotate(180deg); }

/* ============================================================
   PRIVACY POLICY PAGE
   ============================================================ */
.pp-hero { padding-block: clamp(2.6rem, 7vw, 5.5rem); }
.pp-hero__bg {
    background-image: url("/assets/34f8344ff17b6baecb531ee849ce1af6.webp");
    background-position: 78% center;
}
.pp-hero__scrim {
    background: linear-gradient(90deg, rgba(11, 15, 25, 0.9) 0%, rgba(11, 15, 25, 0.6) 32%, rgba(11, 15, 25, 0.2) 58%, transparent 78%);
}
.pp-hero__glow {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 3px;
    z-index: 3;
    background: linear-gradient(90deg, transparent, var(--gold-light) 30%, var(--gold-light) 70%, transparent);
    box-shadow: 0 0 14px 2px rgba(234, 179, 8, 0.55);
}
.pp-hero__plate { max-width: 640px; }
.pp-hero__meta {
    color: var(--gold-light) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0.4rem 0 1rem !important;
}
@media (min-width: 1024px) {
    .pp-hero .hero__inner--single { grid-template-columns: minmax(0, 0.58fr); }
}

/* IMBRA split */
.pp-imbra__grid { align-items: center; row-gap: 2.2rem; }
.pp-imbra__figure { position: relative; margin: 0; }
.pp-imbra__corner {
    position: absolute;
    z-index: 3;
    line-height: 0;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}
.pp-imbra__corner--tl { top: -6px; left: -6px; }
.pp-imbra__corner--br { bottom: -6px; right: -6px; transform: rotate(180deg); }
.pp-imbra__panel {
    background: rgba(21, 37, 64, 0.7);
    border: 1px solid rgba(199, 154, 60, 0.5);
    border-radius: var(--radius);
    padding: clamp(1.3rem, 3vw, 2rem);
    box-shadow: inset 0 0 0 1px rgba(156, 28, 44, 0.4), var(--shadow);
}
.pp-imbra__panel h2 { color: var(--cream); margin-bottom: 0.6em; }
.pp-imbra__panel p { color: var(--ink-onDark-soft); }
.pp-imbra__panel a { color: var(--gold-light); }

/* Payment strip */
.pp-payment {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(120deg, var(--crimson-dark), var(--navy-deep));
    padding-block: clamp(2.2rem, 5vw, 3.4rem);
    color: var(--ink-onDark);
    text-align: center;
    border-block: 2px solid var(--gold);
}
.pp-payment__cord {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.pp-payment__inner { position: relative; z-index: 1; max-width: 760px; margin-inline: auto; }
.pp-payment h2 { color: var(--cream); }
.pp-payment p { color: var(--ink-onDark-soft); margin: 0; }
.pp-payment a { color: var(--gold-light); }
