@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap');

/*
 * Images use public URLs instead of PHP-generated data URIs. This keeps HTML
 * small and lets Apache and browsers cache each image. The /public prefix is
 * correct while Apache's document root is the project root; private/todo.md
 * records the required /assets migration if the document root moves to public/.
 */

/* General Reset */
body, h1, h2, h3, p, ul, li, a {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    background-color: #fdfdfd;
    color: #333;
}

/* Header and Navigation */
header {
    background-color: #780000;
    color: white;
    padding: 10px 0;
}
nav .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
nav a {
    text-decoration: none;
    color: white;
    margin: 0 15px;
    font-weight: bold;
}
nav a:hover {
    color: #ffcccc;
}
nav .navbar-brand {
    font-family: 'Playfair Display', serif;
}
body {
    font-family: Arial, sans-serif;
}
.hero {
    /* The template supplies a versioned derivative through --hero-image. */
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), var(--hero-image, none) no-repeat center center;
    background-size: cover;
    color: white;
    text-align: center;
    padding: 100px 20px;
}
.event-card img {
    height: 248px;
    object-fit: cover;
}
/* Footer */
footer {
    background-color: #780000;
    color: white;
    padding: 20px 0;
}
footer .container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
footer p {
    margin: 10px 0;
}
footer ul {
    list-style: none;
    display: flex;
    gap: 15px;
}
footer ul li a {
    text-decoration: none;
    color: white;
}
footer ul li a:hover {
    color: #ffcccc;
}


.card-text {
    padding-bottom: 10px;
}



/* Custom CSS to change the primary button color */
.btn-primary {
    background-color: #780000; /* Complementary green to #990000 */
    border-color: #780000;    /* Match border color */
    color: #ffffff;           /* White text for contrast */
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #a61306; /* Darker shade of green for hover/active states */
    border-color: #a61306;    /* Match border color */
}
.btn-success {
    background-color: #a61306; /* Darker shade of green for hover/active states */
    border-color: #a61306;    /* Match border color */
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: #850c01; /* Darker shade of green for hover/active states */
    border-color: #850c01;    /* Match border color */
}

.btn.disabled, .btn:disabled, fieldset:disabled .btn {
    background-color: #7c514f;
}

/* The ribbons */

.corner-ribbon{
    width: 90px;
    background: #e43;
    position: absolute;
    top: 5px;
    left: -12px;
    text-align: center;
    line-height: 50px;
    letter-spacing: 1px;
    color: #f0f0f0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

/* Custom styles */

.corner-ribbon.sticky{
    position: fixed;
}

.corner-ribbon.shadow{
    box-shadow: 0 0 3px rgba(0,0,0,.3);
}

.corner-ribbon.bottom-left{
    top: auto;
    bottom: 25px;
    left: -50px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

/* Contact page */
.contact-hero {
    background:
        linear-gradient(135deg, rgba(82, 0, 0, 0.96), rgba(166, 19, 6, 0.88)),
        var(--contact-hero-image, none) center 42% / cover;
    color: #fff;
    padding: 88px 20px 96px;
}

.contact-hero h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.4rem, 6vw, 4.5rem);
    line-height: 1.05;
    margin: 10px auto 20px;
    max-width: 850px;
}

.contact-hero p {
    font-size: 1.15rem;
    margin: 0 auto;
    max-width: 680px;
    opacity: 0.92;
}

.contact-eyebrow {
    color: #ffd6d2;
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.contact-section {
    background: #fff9f8;
}

.contact-intro > h2,
.contact-card > h2 {
    color: #780000;
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 2.75rem);
    margin-bottom: 16px;
}

.contact-intro > p,
.contact-form-lead {
    color: #625b5a;
    font-size: 1.05rem;
    margin-bottom: 32px;
}

.contact-detail {
    border-top: 1px solid #ead8d5;
    display: flex;
    gap: 18px;
    padding: 22px 0;
}

.contact-detail-number {
    color: #a61306;
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    padding-top: 4px;
}

.contact-detail h3 {
    color: #3b2826;
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    margin-bottom: 5px;
}

.contact-detail p {
    color: #706563;
    margin: 0;
}

.contact-card {
    background: #fff;
    border: 1px solid #f0dfdc;
    border-radius: 18px;
    box-shadow: 0 20px 55px rgba(74, 16, 10, 0.1);
    padding: clamp(28px, 5vw, 50px);
}

.contact-form .form-label {
    color: #3b2826;
    font-weight: 600;
}

.contact-form .form-control,
.contact-form .form-select {
    border-color: #d8c5c2;
    border-radius: 9px;
    padding: 12px 14px;
}

.contact-form .form-control:focus,
.contact-form .form-select:focus {
    border-color: #a61306;
    box-shadow: 0 0 0 0.2rem rgba(166, 19, 6, 0.12);
}

.contact-privacy-note {
    color: #786d6b;
    font-size: 0.84rem;
}

.contact-match-note {
    background: #fff4f2;
    border-left: 3px solid #a61306;
    border-radius: 0 8px 8px 0;
    color: #66504d;
    font-size: 0.9rem;
    padding: 12px 15px;
}

.contact-card-complete {
    align-items: center;
    display: flex;
    min-height: 520px;
}

.contact-thank-you {
    animation: contactThankYouIn 500ms ease-out both;
    text-align: center;
    width: 100%;
}

.contact-thank-you-mark {
    align-items: center;
    background: #780000;
    border: 8px solid #f9e7e4;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 2rem;
    height: 88px;
    justify-content: center;
    margin: 0 auto 24px;
    width: 88px;
}

.contact-thank-you h2 {
    color: #780000;
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3rem);
    margin: 12px 0 16px;
}

.contact-thank-you p {
    color: #625b5a;
    font-size: 1.1rem;
    margin: 0 auto;
    max-width: 520px;
}

@keyframes contactThankYouIn {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.contact-honeypot {
    left: -10000px;
    position: absolute;
    top: auto;
}

.admin-recipient-combobox { z-index: 5; }
.admin-recipient-results { top: calc(100% + .25rem); max-height: 22rem; overflow-y: auto; z-index: 20; }
.admin-recipient-results small { color: var(--bs-secondary-color); overflow-wrap: anywhere; }
.admin-message-history small { overflow-wrap: anywhere; }

@media (max-width: 767.98px) {
    .contact-hero {
        padding: 68px 18px 74px;
    }

    .contact-card {
        border-radius: 14px;
    }
}

/* International matchmaking vertical */
.matchmaking-subnav { background: #fff9f8; border-bottom: 1px solid var(--pp-border); font: 600 .82rem/1.2 'Poppins', sans-serif; padding: 10px 0; }
.matchmaking-subnav a, .matchmaking-subnav .link-button { color: #5d4643; text-decoration: none; }
.matchmaking-subnav a:hover, .matchmaking-subnav .link-button:hover { color: var(--pp-burgundy); }
.matchmaking-subnav-brand { color: var(--pp-burgundy) !important; font-family: 'Playfair Display', serif; font-size: 1.05rem; }
.matchmaking-subnav-brand i { color: var(--pp-red); margin-right: 5px; }
.link-button { background: none; border: 0; font: inherit; padding: 0; }
.matchmaking-hero { background: radial-gradient(circle at 82% 12%, rgba(255,214,210,.25), transparent 34%), linear-gradient(135deg, #4b0000, #8d0b05 62%, #b33b27); color: #fff; padding: clamp(76px, 10vw, 130px) 0; }
.matchmaking-hero h1, .matchmaking-member-header h1 { color: #fff; font-size: clamp(2.7rem, 6vw, 5rem); line-height: 1; margin: 10px 0 22px; max-width: 850px; }
.matchmaking-hero p, .matchmaking-member-header p { color: rgba(255,255,255,.88); font-size: 1.12rem; max-width: 680px; }
.matchmaking-trust-card { align-items: flex-start; backdrop-filter: blur(9px); background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); border-radius: 18px; display: flex; gap: 18px; padding: 28px; }
.matchmaking-trust-card i { font-size: 2rem; }
.matchmaking-trust-card strong, .matchmaking-trust-card span { display: block; }
.matchmaking-trust-card strong { font-family: 'Playfair Display', serif; font-size: 1.25rem; }
.matchmaking-trust-card span { color: rgba(255,255,255,.8); margin-top: 5px; }
.matchmaking-browser h2 { color: var(--pp-burgundy); font-size: clamp(2rem,4vw,3rem); }
.matchmaking-filters { align-items: end; display: flex; flex-wrap: wrap; gap: 12px; }
.matchmaking-filters label { color: var(--pp-muted); font: 600 .7rem/1.2 'Poppins',sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.matchmaking-filters label span { display: block; margin-bottom: 5px; }
.matchmaking-filters .form-select { min-width: 155px; }
.matchmaking-filters.is-loading { opacity: .55; pointer-events: none; }
.profile-grid { display: grid; gap: 22px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.profile-preview-card { background: #fff; border: 1px solid var(--pp-border); border-radius: 16px; box-shadow: 0 12px 36px rgba(74,16,10,.08); overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.profile-preview-card:hover { box-shadow: 0 20px 48px rgba(74,16,10,.14); transform: translateY(-3px); }
.profile-preview-photo { aspect-ratio: 3/4; background: #eee6e3; overflow: hidden; position: relative; }
.profile-preview-photo img, .demo-portrait { height: 100%; object-fit: cover; width: 100%; }
.demo-portrait { background-image: url('/public/assets/img/matchmaking/demo-contact-sheet.png'); background-repeat: no-repeat; background-size: 400% 200%; }
.demo-label { background: rgba(40,24,22,.75); bottom: 10px; color: #fff; font: 600 .6rem/1 'Poppins',sans-serif; left: 10px; letter-spacing: .08em; padding: 7px 9px; position: absolute; text-transform: uppercase; }
.profile-preview-copy { padding: 18px; }
.profile-preview-copy h3 { color: var(--pp-ink); font-size: 1.4rem; margin: 0; }
.profile-preview-copy .bi-patch-check-fill { color: var(--pp-red); }
.profile-preview-copy p { color: var(--pp-muted); font-size: .88rem; margin-top: 4px; }
.matchmaking-gate { align-items: center; background: #fff; border: 1px solid var(--pp-border); border-left: 5px solid var(--pp-red); border-radius: 14px; box-shadow: var(--pp-shadow); display: flex; gap: 30px; justify-content: space-between; padding: clamp(28px,5vw,48px); }
.matchmaking-gate h2 { color: var(--pp-burgundy); font-size: clamp(1.8rem,3vw,2.5rem); }
.matchmaking-gate p { color: var(--pp-copy); margin: 7px 0 0; max-width: 720px; }
.matchmaking-step { background: #fff; border: 1px solid var(--pp-border); border-radius: 16px; height: 100%; padding: 32px; }
.matchmaking-step > span { color: var(--pp-red); font: 600 .75rem/1 'Poppins',sans-serif; letter-spacing: .16em; }
.matchmaking-step h3 { color: var(--pp-burgundy); font-size: 1.6rem; margin: 12px 0 7px; }
.matchmaking-step p { color: var(--pp-copy); }
.matchmaking-auth-shell { align-items: center; background: radial-gradient(circle at top right, #ffe1dd, transparent 35%), #fff9f8; display: flex; justify-content: center; min-height: 680px; padding: 60px 20px; }
.matchmaking-auth-card, .matchmaking-form-card, .matchmaking-profile-sidebar, .matchmaking-admin-card, .matchmaking-order-card { background: #fff; border: 1px solid var(--pp-border); border-radius: 18px; box-shadow: var(--pp-shadow); padding: clamp(28px,5vw,48px); }
.matchmaking-auth-card { max-width: 510px; width: 100%; }
.matchmaking-auth-card h1, .matchmaking-form-card h2, .matchmaking-admin-card h2 { color: var(--pp-burgundy); font-size: clamp(2rem,4vw,2.75rem); margin-bottom: 10px; }
.matchmaking-auth-card > p { color: var(--pp-copy); margin-bottom: 28px; }
.matchmaking-auth-foot { border-top: 1px solid var(--pp-divider); margin: 28px 0 0 !important; padding-top: 20px; text-align: center; }
.matchmaking-form-card { max-width: 960px; }
.matchmaking-form .form-label { color: var(--pp-ink); display: block; font-weight: 600; margin: 0; width: 100%; }
.matchmaking-form .form-control, .matchmaking-form .form-select { border-color: #d8c5c2; border-radius: 9px; margin-top: 7px; padding: 12px 14px; }
.matchmaking-form .form-control:focus, .matchmaking-form .form-select:focus { border-color: var(--pp-red); box-shadow: 0 0 0 .2rem rgba(166,19,6,.12); }
.matchmaking-form [data-error-for], .form-check [data-error-for] { color: #b42318; display: block; font-size: .78rem; min-height: 1.1em; padding-top: 3px; }
.matchmaking-success { padding: 40px 10px; text-align: center; }
.matchmaking-success > i { color: var(--pp-burgundy); display: block; font-size: 4rem; margin-bottom: 18px; }
.matchmaking-success h2 { color: var(--pp-burgundy); font-size: 2.5rem; }
.matchmaking-success p { color: var(--pp-copy); margin: 12px auto 24px; max-width: 600px; }
.matchmaking-member-header { background: linear-gradient(135deg,#4b0000,var(--pp-red)); color: #fff; padding: 68px 0 74px; }
.matchmaking-member-header h1 { font-size: clamp(2.4rem,5vw,4rem); }
.matchmaking-count { color: var(--pp-muted); font: 600 .75rem/1 'Poppins',sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.member-profile-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.member-bio { display: -webkit-box; font-size: .95rem !important; -webkit-box-orient: vertical; -webkit-line-clamp: 4; margin: 14px 0 !important; overflow: hidden; }
.member-profile-card dl { border-top: 1px solid var(--pp-divider); margin: 12px 0 18px; padding-top: 10px; }
.member-profile-card dl div { display: grid; font-size: .8rem; grid-template-columns: 72px 1fr; margin: 5px 0; }
.member-profile-card dt { color: var(--pp-muted); }.member-profile-card dd { color: var(--pp-ink); margin: 0; }
.member-directory-filters { align-items: end; background: #fff; border: 1px solid var(--pp-border); border-radius: 14px; padding: 18px; }
.member-directory-filters .form-control { border-color: #d8c5c2; min-width: 170px; }
.member-directory-filters .directory-exclusion { background: #fff9f8; border: 1px solid var(--pp-border); border-radius: 9px; padding: 9px 12px; text-transform: none; }.directory-exclusion > span:first-child { text-transform: uppercase; }.directory-exclusion .form-check { color: var(--pp-ink); font-size: .72rem; font-weight: 500; letter-spacing: 0; margin: 4px 0 0; text-transform: none; }
.member-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; }
.member-badges span { align-items: center; background: #fff3f1; border: 1px solid #edcbc6; border-radius: 100px; color: var(--pp-burgundy); display: inline-flex; font: 600 .66rem/1.25 'Poppins',sans-serif; gap: 5px; padding: 7px 9px; }
.member-badges-large span { font-size: .72rem; padding: 8px 11px; }
.member-profile-title { color: #fff; }
.member-profile-title p { color: rgba(255,255,255,.82); }
.member-profile-back { color: #fff; display: inline-block; font-weight: 600; margin-bottom: 18px; }
.member-profile-back:hover { color: #fff; opacity: .8; }
.member-profile-gallery { display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.member-profile-gallery-photo { aspect-ratio: 3/4; background: #eee6e3; border-radius: 14px; overflow: hidden; }
.member-profile-gallery-photo.is-primary { grid-column: 1/-1; }
.member-profile-gallery-photo img { height: 100%; object-fit: cover; width: 100%; }
.member-profile-detail { max-width: none; }
.member-profile-detail h2 { margin-top: 8px; }
.member-profile-bio { color: var(--pp-copy); font-size: 1rem; line-height: 1.8; margin: 24px 0; }
.member-profile-facts { border-bottom: 1px solid var(--pp-divider); border-top: 1px solid var(--pp-divider); margin: 24px 0; padding: 12px 0; }
.member-profile-facts div { display: grid; gap: 18px; grid-template-columns: 110px 1fr; padding: 9px 0; }
.member-profile-facts dt { color: var(--pp-muted); font-size: .78rem; text-transform: uppercase; }
.member-profile-facts dd { color: var(--pp-ink); margin: 0; }
.member-introduction-note { align-items: flex-start; background: var(--pp-blush); border: 1px solid var(--pp-border); border-radius: 12px; display: flex; gap: 14px; margin: 24px 0; padding: 18px; }
.member-introduction-note i { color: var(--pp-red); font-size: 1.5rem; }.member-introduction-note p { color: var(--pp-muted); margin: 4px 0 0; }
.member-language-editor { border: 1px solid var(--pp-border); border-radius: 12px; padding: 18px; }.member-language-editor legend { color: var(--pp-burgundy); float: none; font: 700 1.25rem/1.2 'Playfair Display',serif; padding: 0 6px; width: auto; }.member-language-row { background: #fff9f8; border: 1px solid #ead7d3; border-radius: 10px; padding: 14px; }.member-language-row .form-select { margin-top: 8px; }.member-languages { color: var(--pp-ink) !important; font-size: .78rem !important; }
.profile-placeholder, .account-photo { align-items: center; background: #f3e8e6; color: #b48781; display: flex; font-size: 5rem; height: 100%; justify-content: center; }
.matchmaking-empty { background: #fff; border: 1px solid var(--pp-border); border-radius: 16px; margin-bottom: 30px; padding: 48px; text-align: center; }.matchmaking-empty i { color: var(--pp-red); font-size: 2rem; }
.matchmaking-profile-sidebar { position: sticky; top: 24px; text-align: center; }.matchmaking-profile-sidebar h2 { color: var(--pp-burgundy); font-size: 1.6rem; margin-top: 18px; }.matchmaking-profile-sidebar h3 { color: var(--pp-ink); font-size: 1.1rem; }
.account-photo { aspect-ratio: 1; border-radius: 50%; margin: 0 auto; max-width: 220px; overflow: hidden; }.account-photo img { height: 100%; object-fit: cover; width: 100%; }
.status-pill { background: #eee; border-radius: 100px; display: inline-block; font: 600 .66rem/1 'Poppins',sans-serif; letter-spacing: .07em; padding: 7px 10px; text-transform: uppercase; white-space: nowrap; }.status-approved,.status-completed,.status-active { background: #e4f4df; color: #315e2c; }.status-pending { background: #fff0d1; color: #805b00; }.status-rejected,.status-failed { background: #fee5e2; color: #8f261d; }
.matchmaking-order-card { position: sticky; top: 24px; }.checkout-line { align-items: start; display: flex; gap: 20px; justify-content: space-between; padding: 18px 0; }.checkout-line span { color: var(--pp-muted); display: block; font-size: .85rem; margin-top: 4px; }.checkout-optional { display: none; }.checkout-optional.is-selected { display: flex; }.checkout-total { align-items: center; display: flex; justify-content: space-between; }.checkout-total strong { color: var(--pp-burgundy); font: 700 2rem/1 'Playfair Display',serif; }.matchmaking-order-card > p { color: var(--pp-muted); font-size: .8rem; margin-top: 18px; }
.privacy-upgrade { align-items: start; background: var(--pp-blush); border: 1px solid var(--pp-border); border-radius: 12px; display: flex; gap: 12px; margin: 20px 0; padding: 18px; }.privacy-upgrade small { color: var(--pp-muted); display: block; margin-top: 4px; }.privacy-upgrade input { margin-top: 4px; }.checkout-security { color: var(--pp-muted); font-size: .78rem; margin-top: 14px; text-align: center; }#square-card-container { margin: 18px 0; min-height: 90px; }
.admin-metrics { display: grid; gap: 18px; grid-template-columns: repeat(3,1fr); }.admin-metrics > div { background: #fff; border: 1px solid var(--pp-border); border-radius: 14px; padding: 24px; }.admin-metrics span,.admin-metrics strong { display: block; }.admin-metrics span { color: var(--pp-muted); font-size: .8rem; }.admin-metrics strong { color: var(--pp-burgundy); font: 700 2.2rem/1.2 'Playfair Display',serif; }.admin-search { max-width: 260px; }.matchmaking-admin-card { max-width: none; }.matchmaking-admin-card td small { color: var(--pp-muted); display: block; }.admin-actions { display: flex; flex-wrap: wrap; gap: 6px; }

@media (max-width: 991.98px) { .profile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.member-profile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.matchmaking-gate { align-items: flex-start; flex-direction: column; }.matchmaking-profile-sidebar,.matchmaking-order-card { position: static; } }
@media (max-width: 575.98px) { .matchmaking-subnav .container { align-items: flex-start !important; flex-direction: column; }.profile-grid,.member-profile-grid,.admin-metrics { grid-template-columns: 1fr; }.matchmaking-filters { align-items: stretch; flex-direction: column; }.matchmaking-filters label,.matchmaking-filters .form-select,.matchmaking-filters .form-control { width: 100%; }.matchmaking-hero { padding: 68px 0; }.matchmaking-form-card,.matchmaking-auth-card,.matchmaking-profile-sidebar,.matchmaking-admin-card,.matchmaking-order-card { border-radius: 12px; padding: 24px; }.admin-search { max-width: 100%; }.member-profile-gallery { grid-template-columns: 1fr; }.member-profile-gallery-photo.is-primary { grid-column: auto; } }

/* ============================================================
   Shared contact-page visual system
   Applied to non-contact views while preserving original artwork.
   ============================================================ */

:root {
    --pp-burgundy: #780000;
    --pp-red: #a61306;
    --pp-red-dark: #850c01;
    --pp-ink: #3b2826;
    --pp-copy: #625b5a;
    --pp-muted: #706563;
    --pp-blush: #fff9f8;
    --pp-blush-strong: #fff4f2;
    --pp-border: #f0dfdc;
    --pp-divider: #ead8d5;
    --pp-accent-light: #ffd6d2;
    --pp-shadow: 0 20px 55px rgba(74, 16, 10, 0.10);
}

html {
    scroll-behavior: smooth;
}

body {
    background: #fff;
    color: var(--pp-ink);
    font-family: Arial, sans-serif;
    line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6,
.card-title {
    /*color: var(--pp-ink);*/
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    letter-spacing: -0.015em;
}

p,
.card-text,
li {
    /*color: var(--pp-copy);*/
}

/* Site navigation */
body > header {
    background: #fff;
    color: var(--pp-ink);
    padding: 0;
}

.navbar {
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom: 1px solid var(--pp-border);
    padding: 12px 0;
}

.navbar .container {
    max-width: 1200px;
}

.navbar-brand,
.navbar-brand:hover,
.navbar-brand:focus {
    color: var(--pp-burgundy);
    margin: 0;
}

.navbar-brand h1 {
    color: var(--pp-burgundy);
    font-size: clamp(1.55rem, 3vw, 2rem);
    line-height: 1;
    margin: 0;
}

.navbar-nav .nav-link {
    color: #594644;
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.045em;
    margin: 0 0 0 22px;
    padding: 10px 2px !important;
    position: relative;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.active {
    color: var(--pp-burgundy);
}

.navbar-nav .nav-link.active::after {
    background: var(--pp-red);
    bottom: 3px;
    content: '';
    height: 2px;
    left: 2px;
    position: absolute;
    right: 2px;
}

.site-auth-cta { background: var(--pp-burgundy); border: 1px solid var(--pp-burgundy); border-radius: 999px; color: #fff; flex:0 0 auto; font: 600 .78rem/1 'Poppins',sans-serif; letter-spacing: .035em; margin: 0 0 0 20px; padding: 11px 17px; white-space: nowrap; }
.site-auth-cta:hover,.site-auth-cta:focus { background: var(--pp-red); border-color: var(--pp-red); color: #fff; }

/* Contact-derived eyebrow/label treatment */
.section-eyebrow {
    color: var(--pp-red);
    display: inline-block;
    font-family: 'Poppins', sans-serif;
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.section-intro {
    margin: 0 auto 42px;
    max-width: 760px;
}

.section-intro h2 {
    color: var(--pp-burgundy);
    font-size: clamp(2rem, 4vw, 2.75rem);
    line-height: 1.12;
    margin-bottom: 16px;
}

.section-intro p {
    color: var(--pp-copy);
    font-size: 1.05rem;
    margin: 0;
}

.site-section-soft {
    background: var(--pp-blush);
}

.site-section-white {
    background: #fff;
}

/* Main home hero receives its optimized source URL from the PHP template. */
.hero {
    background:
        linear-gradient(135deg, rgba(82, 0, 0, 0.94), rgba(166, 19, 6, 0.82)),
        var(--hero-image, none) center center / cover no-repeat;
    color: #fff;
    padding: 96px 20px 104px;
    position: relative;
    text-align: center;
}

.hero .hero-content {
    position: relative;
    z-index: 1;
}

.hero h1,
.hero h2 {
    color: #fff;
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.5rem, 6vw, 4.6rem);
    line-height: 1.05;
    margin: 10px auto 20px;
    max-width: 900px;
}

.hero h2 {
    font-size: clamp(2.25rem, 5vw, 3.8rem);
}

.hero p {
    color: rgba(255, 255, 255, 0.93);
    font-size: 1.15rem;
    margin: 0 auto 28px;
    max-width: 700px;
}

.hero .contact-eyebrow,
.page-title-band .contact-eyebrow {
    color: var(--pp-accent-light);
}

.featured-event-hero {
    border-radius: 18px;
    box-shadow: var(--pp-shadow);
    min-height: 480px;
    overflow: hidden;
    padding: 95px 24px;
}

/* Interior page hero: same typography and colors as contact, no new graphic asset. */
.page-title-band {
    background: linear-gradient(135deg, #520000, var(--pp-red));
    color: #fff;
    padding: 82px 20px 90px;
}

.page-title-band h1 {
    color: #fff;
    font-size: clamp(2.4rem, 6vw, 4.4rem);
    line-height: 1.05;
    margin: 10px auto 20px;
    max-width: 900px;
}

.page-title-band p {
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.15rem;
    margin: 0 auto;
    max-width: 720px;
}

.compact-title-band {
    padding-bottom: 68px;
    padding-top: 64px;
}

/* Cards borrow the exact surface language of .contact-card. */
.editorial-card,
.event-card,
.cta-card {
    background: #fff;
    border: 1px solid var(--pp-border);
    border-radius: 18px;
    box-shadow: var(--pp-shadow);
}

.editorial-card {
    padding: 30px;
}

.editorial-card .contact-detail-number {
    display: inline-block;
    margin-bottom: 10px;
}

.editorial-card > h3 {
    color: var(--pp-ink);
    font-size: 1.35rem;
    margin-bottom: 8px;
}

.editorial-card > p {
    margin: 0;
}

.editorial-card-large {
    padding: clamp(28px, 5vw, 50px);
}

.editorial-card-large .contact-detail:first-child {
    border-top: 0;
    padding-top: 0;
}

.about-legacy-card,
.developer-card {
    max-width: 900px;
}

/* Event imagery remains visible and prominent. */
.event-card {
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.event-card:hover {
    box-shadow: 0 24px 65px rgba(74, 16, 10, 0.15);
    transform: translateY(-3px);
}

.event-card img {
    display: block;
    height: 280px;
    object-fit: cover;
    width: 100%;
}

.event-card .card-body {
    padding: 28px;
}

.event-card .card-title {
    color: var(--pp-burgundy);
    font-size: clamp(1.55rem, 3vw, 2rem);
    line-height: 1.15;
    margin: 2px 0 12px;
}

.event-card .card-text {
    color: var(--pp-copy);
    font-size: 1rem;
    margin-bottom: 22px;
    padding-bottom: 0;
}

.event-list-image {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 240px;
    width: 100%;
}

/* Contact-style CTA surface */
.cta-card {
    padding: clamp(32px, 6vw, 64px);
}

.cta-card h2 {
    color: var(--pp-burgundy);
    font-size: clamp(2rem, 4vw, 3rem);
    margin: 4px auto 16px;
    max-width: 760px;
}

.cta-card p {
    font-size: 1.05rem;
    margin: 0 auto 26px;
    max-width: 680px;
}

/* Buttons use the contact page's burgundy/red states. */
.btn {
    border-radius: 9px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding: 10px 18px;
}

.btn-lg {
    padding: 12px 24px;
}

.btn-primary,
.btn-success {
    background: var(--pp-burgundy);
    border-color: var(--pp-burgundy);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background: var(--pp-red);
    border-color: var(--pp-red);
    color: #fff;
}

.btn-outline-primary {
    border-color: var(--pp-burgundy);
    color: var(--pp-burgundy);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--pp-burgundy);
    border-color: var(--pp-burgundy);
    color: #fff;
}

/* Existing status ribbons, refined to the contact palette. */
.corner-ribbon {
    background: var(--pp-red);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 42px;
    text-transform: uppercase;
    z-index: 3;
}

.corner-ribbon-live {
    background: #516f3c;
    color: #fff;
}

/* Developer utility styling */
.developer-output {
    background: #2e2221;
    border-radius: 12px;
    color: #fff4f2;
    max-height: 520px;
    overflow: auto;
    padding: 22px;
}

.developer-code {
    border-color: #d8c5c2;
    border-radius: 9px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    min-height: 720px;
    padding: 18px;
}

.developer-code:focus {
    border-color: var(--pp-red);
    box-shadow: 0 0 0 0.2rem rgba(166, 19, 6, 0.12);
}

/* Footer: preserve existing Bootstrap icon graphics and make them visible. */
.footer,
footer {
    background: var(--pp-burgundy);
    color: #fff;
    padding: 48px 0 24px;
}

.footer .container,
footer .container {
    display: block;
}

.footer h5,
footer h5 {
    color: #fff;
    font-size: 1.25rem;
    margin-bottom: 14px;
}

.footer p,
.footer li,
footer p,
footer li {
    color: rgba(255, 255, 255, 0.82);
}

.footer ul,
footer ul {
    display: block;
}

.footer a,
footer a {
    color: #ffd6d2;
    margin: 0;
    text-decoration: none;
}

.footer a:hover,
footer a:hover {
    color: #fff;
}

.footer .social-icons {
    display: flex;
    gap: 14px;
    margin-top: 16px;
}

.footer .social-icons a,
.footer .social-icons a.text-dark {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 50%;
    color: #fff !important;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.footer hr {
    border-color: rgba(255, 255, 255, 0.2);
    margin: 18px 0 10px;
}

@media (max-width: 991.98px) {
    .navbar-nav .nav-link {
        margin-left: 0;
    }

    .navbar-nav .nav-link.active::after {
        display: none;
    }

    .navbar-brand{order:1}.site-auth-cta{font-size:.68rem;margin:0 8px 0 auto;order:2;padding:9px 11px}.navbar-toggler{order:3}.navbar-collapse{order:4;width:100%}
}

@media (max-width: 420px) { .navbar-brand h1{font-size:1.35rem}.site-auth-cta{font-size:.62rem;padding:8px 9px}.navbar-toggler{padding:.25rem .45rem} }

@media (max-width: 767.98px) {
    .row.g-5 { --bs-gutter-x: 1.5rem; }

    .hero {
        padding: 72px 18px 78px;
    }

    .page-title-band {
        padding: 68px 18px 74px;
    }

    .featured-event-hero {
        border-radius: 14px;
        min-height: 420px;
        padding: 72px 18px;
    }

    .editorial-card,
    .event-card,
    .cta-card {
        border-radius: 14px;
    }

    .event-card img,
    .event-list-image {
        height: 230px;
    }
}

/* Matchmaking-first homepage */
.home-matchmaking-hero {
    background:
        radial-gradient(circle at 86% 8%, rgba(255, 214, 210, 0.18), transparent 28%),
        radial-gradient(circle at 12% 90%, rgba(191, 78, 56, 0.2), transparent 32%),
        linear-gradient(135deg, #390000 0%, #700400 48%, #9d180d 100%);
    color: #fff;
    overflow: hidden;
    padding: clamp(78px, 9vw, 132px) 0;
}

.home-matchmaking-hero h1 {
    color: #fff;
    font-size: clamp(3rem, 6.4vw, 5.55rem);
    line-height: 0.98;
    margin: 14px 0 24px;
    max-width: 760px;
}

.home-hero-lead {
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp(1.08rem, 2vw, 1.24rem);
    line-height: 1.75;
    max-width: 680px;
}

.home-events-link {
    color: #ffd6d2;
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    margin-top: 22px;
    text-decoration: none;
}

.home-events-link:hover { color: #fff; }
.home-events-link i { margin-right: 7px; }

.home-trust-row {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
    margin-top: 30px;
    padding-top: 22px;
}

.home-trust-row span {
    color: rgba(255, 255, 255, 0.78);
    font: 500 0.76rem/1.2 'Poppins', sans-serif;
}

.home-trust-row i { color: #ffd6d2; margin-right: 6px; }

.home-method-card {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 22px;
    box-shadow: 0 28px 70px rgba(28, 0, 0, 0.28);
    color: var(--pp-copy);
    margin: 0 auto;
    max-width: 590px;
    padding: clamp(28px, 5vw, 46px);
}

.home-method-kicker {
    color: var(--pp-red);
    display: block;
    font: 700 0.7rem/1.2 'Poppins', sans-serif;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.home-method-card h2 { color: var(--pp-burgundy); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.08; }
.home-method-list { display: grid; gap: 6px; margin: 24px 0; }
.home-method-list article { align-items: flex-start; border-top: 1px solid var(--pp-divider); display: flex; gap: 14px; padding: 15px 0 9px; }
.home-method-list i { color: var(--pp-red); font-size: 1.25rem; margin-top: 2px; }
.home-method-list strong, .home-method-list span { display: block; }
.home-method-list strong { color: var(--pp-ink); font-family: 'Playfair Display', serif; }
.home-method-list span { color: var(--pp-muted); font-size: 0.82rem; margin-top: 2px; }
.home-method-card > a { color: var(--pp-burgundy); font: 700 0.82rem/1.2 'Poppins', sans-serif; text-decoration: none; }
.home-method-card > a:hover { color: var(--pp-red); }

.home-profile-collage {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 auto;
    max-width: 590px;
    padding: 18px;
    position: relative;
}

.home-profile-collage::before {
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    content: '';
    inset: -42px;
    pointer-events: none;
    position: absolute;
}

.home-profile-tile {
    background: #fff;
    border: 5px solid #fff;
    border-radius: 16px;
    box-shadow: 0 22px 52px rgba(28, 0, 0, 0.28);
    overflow: hidden;
    position: relative;
}

.home-profile-tile-1 { transform: translateY(18px) rotate(-1.5deg); }
.home-profile-tile-2 { transform: translateY(-12px) rotate(1.4deg); }
.home-profile-tile-3 { transform: translateY(16px) rotate(1deg); }
.home-profile-tile-4 { transform: translateY(-14px) rotate(-1deg); }

.home-profile-face,
.home-preview-face {
    background-image: var(--profile-sheet);
    background-repeat: no-repeat;
    background-size: 400% 200%;
}

.home-profile-face { aspect-ratio: 4 / 4.6; }

.home-profile-tile > div:last-child {
    background: #fff;
    padding: 12px 13px 13px;
}

.home-profile-tile strong,
.home-profile-tile span { display: block; }
.home-profile-tile strong { color: var(--pp-ink); font: 700 1rem/1.2 'Playfair Display', serif; }
.home-profile-tile span { color: var(--pp-muted); font-size: 0.68rem; margin-top: 3px; }

.home-collage-note {
    align-items: center;
    background: #fff9f8;
    border: 1px solid #f0dfdc;
    border-radius: 12px;
    bottom: -24px;
    box-shadow: 0 16px 38px rgba(33, 0, 0, 0.22);
    display: grid;
    grid-template-columns: auto 1fr;
    left: 50%;
    min-width: 250px;
    padding: 13px 16px;
    position: absolute;
    transform: translateX(-50%);
    z-index: 4;
}

.home-collage-note i { color: var(--pp-red); font-size: 1.4rem; grid-row: 1 / 3; margin-right: 10px; }
.home-collage-note strong { color: var(--pp-ink); font: 700 0.9rem/1.2 'Playfair Display', serif; }
.home-collage-note span { color: var(--pp-muted); font-size: 0.63rem; }

.home-intent-strip { background: #fff1ef; border-bottom: 1px solid #f0dfdc; padding: 20px 0; }
.home-intent-strip p { color: #654d4a; margin: 0 auto; max-width: 1000px; text-align: center; }
.home-intent-strip strong { color: var(--pp-burgundy); }

.home-section-title {
    color: var(--pp-burgundy);
    font-size: clamp(2.25rem, 4.7vw, 3.7rem);
    line-height: 1.05;
    margin: 0;
}

.home-section-lead { color: var(--pp-copy); font-size: 1.04rem; margin: 0; }

.home-foundation-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-foundation-grid article { background: #fff; border: 1px solid var(--pp-border); border-radius: 16px; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 42px); }
.home-foundation-grid i { color: var(--pp-red); font-size: 1.8rem; }
.home-foundation-grid h3 { color: var(--pp-burgundy); font-size: 1.55rem; margin: 18px 0 10px; }
.home-foundation-grid p { color: var(--pp-copy); }
.home-foundation-grid a { color: var(--pp-burgundy); font: 700 0.8rem/1.2 'Poppins', sans-serif; margin-top: auto; text-decoration: none; }
.home-foundation-grid a:hover { color: var(--pp-red); }

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

.home-preview-card {
    background: #fff;
    border: 1px solid var(--pp-border);
    border-radius: 15px;
    box-shadow: 0 12px 34px rgba(74, 16, 10, 0.08);
    overflow: hidden;
}

.home-preview-face { aspect-ratio: 3 / 4; }
.home-preview-card > div:last-child { padding: 17px; }
.home-preview-card h3 { color: var(--pp-ink); font-size: 1.35rem; margin: 0 0 4px; }
.home-preview-card p { color: var(--pp-muted); font-size: 0.78rem; margin: 0; }

.home-path-card {
    background: #fff;
    border: 1px solid var(--pp-border);
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    padding: clamp(30px, 5vw, 52px);
}

.home-path-primary { border-top: 5px solid var(--pp-burgundy); box-shadow: var(--pp-shadow); }
.home-path-events { background: #fffaf9; }
.home-path-icon { align-items: center; background: #f9e7e4; border-radius: 50%; color: var(--pp-burgundy); display: flex; font-size: 1.55rem; height: 52px; justify-content: center; margin-bottom: 24px; width: 52px; }
.home-path-card h3 { color: var(--pp-burgundy); font-size: clamp(1.8rem, 3vw, 2.5rem); margin-bottom: 14px; }
.home-path-card > p { color: var(--pp-copy); margin-bottom: 22px; }
.home-feature-list { list-style: none; margin: 0 0 28px; }
.home-feature-list li { color: var(--pp-copy); margin: 9px 0; }
.home-feature-list i { color: var(--pp-red); margin-right: 9px; }

.home-process { counter-reset: home-process; display: grid; gap: 0; grid-template-columns: repeat(3, 1fr); }
.home-process article { border-top: 1px solid var(--pp-divider); display: flex; gap: 20px; padding: 30px 28px 10px 0; position: relative; }
.home-process article:not(:last-child)::after { background: var(--pp-divider); content: ''; height: 1px; position: absolute; right: 0; top: -1px; width: 28px; }
.home-process article > span { color: var(--pp-red); font: 600 0.72rem/1.4 'Poppins', sans-serif; letter-spacing: 0.12em; }
.home-process h3 { color: var(--pp-ink); font-size: 1.4rem; margin: 0 0 8px; }
.home-process p { color: var(--pp-copy); margin: 0; }

.home-events-section { background: #f7efed; }
.home-event-card { background: #fff; border: 1px solid var(--pp-border); border-radius: 16px; box-shadow: 0 12px 32px rgba(74, 16, 10, 0.07); overflow: hidden; }
.home-event-card img { aspect-ratio: 1.45 / 1; height: auto; object-fit: cover; width: 100%; }
.home-event-card > div { padding: 24px; }
.home-event-card span { color: var(--pp-red); font: 600 0.68rem/1 'Poppins', sans-serif; letter-spacing: 0.12em; text-transform: uppercase; }
.home-event-card h3 { color: var(--pp-burgundy); font-size: 1.5rem; margin: 10px 0 8px; }
.home-event-card p { color: var(--pp-copy); margin-bottom: 16px; }
.home-event-card a { color: var(--pp-burgundy); font: 600 0.82rem/1 'Poppins', sans-serif; text-decoration: none; }
.home-event-card a:hover { color: var(--pp-red); }

.home-final-cta {
    align-items: center;
    background: radial-gradient(circle at 82% 0, rgba(255, 214, 210, 0.18), transparent 35%), linear-gradient(135deg, #4a0000, #921008);
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(74, 16, 10, 0.2);
    color: #fff;
    display: flex;
    gap: 40px;
    justify-content: space-between;
    padding: clamp(36px, 6vw, 68px);
}

.home-final-cta h2 { color: #fff; font-size: clamp(2.1rem, 4vw, 3.4rem); margin: 8px 0 12px; }
.home-final-cta p { color: rgba(255, 255, 255, 0.84); margin: 0; max-width: 650px; }
.home-final-cta > div:last-child { flex-shrink: 0; }

@media (max-width: 991.98px) {
    .home-matchmaking-hero { padding-bottom: 100px; }
    .home-method-card { margin-top: 35px; }
    .home-foundation-grid { grid-template-columns: 1fr; }
    .home-profile-collage { margin-top: 35px; }
    .home-preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-process { grid-template-columns: 1fr; }
    .home-process article { padding-right: 0; }
    .home-process article:not(:last-child)::after { display: none; }
    .home-final-cta { align-items: flex-start; flex-direction: column; }
    .home-final-cta > div:last-child { flex-shrink: 1; }
}

@media (max-width: 575.98px) {
    .home-matchmaking-hero { padding: 66px 0 92px; }
    .home-matchmaking-hero h1 { font-size: clamp(2.65rem, 14vw, 4rem); }
    .home-trust-row { flex-direction: column; }
    .home-profile-collage { gap: 9px; padding: 5px; }
    .home-profile-tile { border-width: 3px; border-radius: 10px; }
    .home-profile-tile > div:last-child { padding: 9px; }
    .home-profile-tile strong { font-size: 0.8rem; }
    .home-profile-tile span { font-size: 0.56rem; }
    .home-collage-note { bottom: -36px; min-width: 225px; }
    .home-preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-preview-card > div:last-child { padding: 12px; }
    .home-preview-card h3 { font-size: 1.05rem; }
    .home-preview-card p { font-size: 0.67rem; }
    .home-path-card { border-radius: 14px; }
    .home-final-cta { border-radius: 14px; }
}
/* Matchmaking platform additions */
textarea,
textarea.form-control {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: block;
}

.mobile-program-nav {
    margin: .9rem 0 .25rem;
    padding: .9rem;
    border: 1px solid rgba(126, 13, 35, .18);
    border-radius: .75rem;
    background: #f7eef0;
}
.mobile-program-label { display:block; margin-bottom:.45rem; color:#7e0d23; font-weight:800; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.mobile-program-nav a { display:block; padding:.42rem .2rem; color:#382b2e; text-decoration:none; }
.mobile-program-nav a + a { border-top:1px solid rgba(126,13,35,.09); }

.footer-blessing { margin-top:1rem; padding-top:.8rem; border-top:1px solid rgba(255,255,255,.2); }
.footer-blessing > span:not(.visually-hidden) { display:block; font-size:1.25rem; font-weight:700; }
.footer-blessing small { display:block; opacity:.8; }

.matchmaking-entry-shell .container { max-width:1050px; }
.new-member-entry-card { padding:clamp(1.75rem,4vw,3rem); border-radius:1rem; color:#fff; background:linear-gradient(145deg,#741126,#a5203d); box-shadow:0 20px 45px rgba(55,12,22,.18); }
.new-member-entry-card small { display:block; margin-top:1rem; opacity:.85; }

.application-language-switch,.candidate-language-switch { display:flex; justify-content:center; gap:.35rem; margin:1rem 0; }
.application-language-switch a,.candidate-language-switch a { padding:.45rem .8rem; border:1px solid currentColor; border-radius:999px; color:inherit; text-decoration:none; }
.application-language-switch a[aria-current="page"] { background:#fff; color:#741126; }
.application-localized-guide { padding:1rem; margin-bottom:1rem; border-left:4px solid #8f1630; background:#fff7f8; }

.application-video-card { overflow:hidden; }
.application-video-preview,.video-recorder-stage video { width:100%; max-height:430px; object-fit:contain; border-radius:.75rem; background:#151515; }
.video-recorder-stage { min-height:250px; display:grid; place-items:center; border-radius:.75rem; background:#151515; overflow:hidden; }
.video-recorder-timer { margin:1rem 0 .35rem; font-size:1.25rem; font-variant-numeric:tabular-nums; font-weight:800; }
.video-recorder-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.video-recorder-actions [data-video-stop] { background:#b00020; border-color:#b00020; color:#fff; font-weight:800; box-shadow:0 4px 14px rgba(176,0,32,.28); }
.video-recorder-actions [data-video-stop]:hover,.video-recorder-actions [data-video-stop]:focus { background:#870018; border-color:#870018; color:#fff; }
body.ajax-page-loading { cursor:progress; }
body.ajax-page-loading main { opacity:.62; transition:opacity .16s ease; pointer-events:none; }
.ajax-page-notice { position:relative; z-index:2; }
.admin-video-review { padding:.75rem; border:1px solid #e3d7da; border-radius:.65rem; background:#fff; }
.admin-video-review video { display:block; width:100%; max-height:220px; margin:.6rem 0; object-fit:contain; background:#111; }

.premium-photo-hero { position:relative; isolation:isolate; min-height:clamp(500px,60vw,680px); display:flex; align-items:center; background-image:var(--experience-hero); background-size:cover; background-position:center; }
.premium-photo-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,12,18,.72) 0%,rgba(8,12,18,.5) 30%,rgba(8,12,18,.2) 54%,rgba(8,12,18,0) 74%); }
.premium-hero-copy { width:min(610px,56%); color:#fff; }
.editorial-disclosure { padding-top:.65rem; font-size:.85rem; color:#6b6264; }

.method-book-hero .container { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:clamp(2rem,6vw,5rem); align-items:center; }
.method-book-visual img { display:block; width:100%; height:auto; max-height:620px; object-fit:contain; margin:auto; filter:drop-shadow(0 20px 28px rgba(0,0,0,.28)); }

.philippines-candidate-hero { padding:clamp(5rem,10vw,8rem) 0; color:#fff; background:linear-gradient(135deg,#651126,#a32643); }
.philippines-candidate-hero .container { max-width:900px; }
.philippines-candidate-hero h1 { max-width:850px; }
.candidate-language-switch { justify-content:flex-start; }
.candidate-closing-cta { padding:4rem 0; background:#fff4f6; }
.candidate-closing-cta small { display:block; max-width:760px; margin:1.25rem auto 0; }

@media (max-width: 991.98px) {
    .site-header .navbar-collapse { order:4; flex-basis:100%; }
    .method-book-hero .container { grid-template-columns:1fr; }
    .method-book-visual { order:2; }
    .method-book-visual img { max-width:460px; }
}

@media (max-width: 575.98px) {
    .premium-photo-hero { min-height:620px; align-items:flex-end; background-position:65% center; }
    .premium-photo-hero::before { background:linear-gradient(180deg,rgba(8,12,18,.18) 0%,rgba(8,12,18,.62) 45%,rgba(8,12,18,.9) 100%); }
    .premium-hero-copy { width:100%; }
    .video-recorder-stage { min-height:45vh; }
}

/* Keep the owner-supplied editorial image above legacy experience fallbacks. */
.experience-hero.premium-photo-hero,
.jet-hero.premium-photo-hero {
    background-image: var(--experience-hero);
    background-size: cover;
    background-position: center;
}

@media (max-width: 575.98px) {
    .experience-hero.premium-photo-hero,
    .jet-hero.premium-photo-hero { background-position:65% center; }
}
.matchmaking-empty-state{grid-column:1/-1;text-align:center;padding:3rem;border:1px dashed rgba(159,29,53,.3);border-radius:1rem;background:#fff}.matchmaking-empty-state i{font-size:2.25rem;color:#9f1d35}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.pricing-card{background:#fff;border:1px solid rgba(56,35,29,.12);border-radius:1rem;padding:1.5rem;display:flex;flex-direction:column;align-items:flex-start}.pricing-card-featured{border-color:#9f1d35;box-shadow:0 14px 35px rgba(95,27,38,.1)}.pricing-card .btn{margin-top:auto}.pricing-amount{font-family:Georgia,serif;font-size:1.55rem;color:#6f1629;margin:.4rem 0}.pricing-commitment,.pricing-disclosure{font-size:.9rem;color:#6c625d}.consent-panel{background:#fff8f6;border:1px solid #ead8d3;border-radius:.85rem;padding:1.25rem}.consent-panel h3{color:#681426;font-size:1.25rem}.consent-panel p,.consent-panel .form-check-label{font-size:.9rem}.consent-panel a,.matchmaking-form .form-check-label a,.pricing-disclosure a{color:#7f142a;font-weight:700}@media(max-width:767px){.pricing-grid{grid-template-columns:1fr}.matchmaking-form input,.matchmaking-form select,.matchmaking-form textarea{font-size:16px}}

.pricing-comparison-wrap{overflow-x:auto;background:#fff;border:1px solid rgba(56,35,29,.12);border-radius:1rem;box-shadow:0 14px 35px rgba(95,27,38,.06)}
.pricing-comparison-table{width:100%;min-width:1050px;border-collapse:separate;border-spacing:0}
.pricing-comparison-table th,.pricing-comparison-table td{padding:1rem;vertical-align:top;border-right:1px solid #eee3df;border-bottom:1px solid #eee3df}
.pricing-comparison-table thead th{background:#fff8f6;min-width:185px}
.pricing-comparison-table thead th:first-child{min-width:145px}
.pricing-comparison-table thead strong,.pricing-comparison-table thead small{display:block}
.pricing-comparison-table thead strong{font-family:Georgia,serif;font-size:1.25rem;color:#681426;margin:.25rem 0}
.pricing-comparison-table tbody th{color:#681426;background:#fffaf8}
.pricing-comparison-table tr:last-child th,.pricing-comparison-table tr:last-child td{border-bottom:0}
.pricing-comparison-table th:last-child,.pricing-comparison-table td:last-child{border-right:0}
.pricing-details-list dt{color:#681426;margin-top:1rem}.pricing-details-list dd{margin-bottom:0}
.pricing-experiences>h2{font-family:Georgia,serif;color:#38231d}
.admin-plan-details{background:#fff8f6;border:1px solid #ead8d3;border-radius:.75rem;padding:.8rem 1rem}
.admin-plan-details summary{cursor:pointer;font-weight:700;color:#681426}
.application-language-editor{border:1px solid #ead8d3;border-radius:1rem;padding:1.25rem;background:#fffaf8}
.application-language-editor legend{float:none;width:auto;padding:0 .35rem;margin:0;font-family:Georgia,serif;color:#681426;font-size:1.35rem}
.language-application-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.language-application-card{background:#fff;border:1px solid #ead8d3;border-radius:.8rem;padding:1rem}
.language-application-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.8rem}
.language-application-heading>div{display:flex;flex-wrap:wrap;gap:.65rem;font-size:.85rem}
.language-proficiency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.language-proficiency-grid .form-label{font-size:.8rem;margin:0}
.simple-language-editor>.form-label{max-width:520px;width:100%}
.simple-language-additional{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #ead8d3}
.simple-language-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem 1rem}
.simple-language-options .form-check{margin:0;min-width:0}
.simple-language-options input:disabled+span{opacity:.5}
.field-error,[data-error-for]{color:#842029;font-size:.875em}
.experience-inquiry-card{max-width:960px}
@media(max-width:767px){
 .modal-dialog-mobile-sheet{margin:auto 0 0;max-width:none;min-height:100%;display:flex;align-items:flex-end}
 .modal-dialog-mobile-sheet .modal-content{border-radius:1.25rem 1.25rem 0 0;max-height:88vh;overflow-y:auto}
 .language-application-grid,.language-proficiency-grid{grid-template-columns:1fr}
 .simple-language-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .language-application-heading{display:block}
 .language-application-heading>div{margin-top:.65rem}
}
@media(max-width:480px){.simple-language-options{grid-template-columns:1fr}}

/* Curated Matchmaking: page-specific editorial hero with a protected copy area. */
.public-program-hero.curated-matchmaking-hero{
 position:relative;
 isolation:isolate;
 min-height:clamp(520px,58vw,680px);
 display:flex;
 align-items:center;
 background-color:#2d090d;
 background-image:var(--curated-matchmaking-hero);
 background-position:center;
 background-size:cover;
}
.public-program-hero.curated-matchmaking-hero::before{
 content:"";
 position:absolute;
 inset:0;
 z-index:-1;
 background:linear-gradient(90deg,rgba(30,5,8,.98) 0%,rgba(48,7,12,.9) 34%,rgba(48,7,12,.46) 52%,rgba(30,5,8,.08) 73%);
}
.curated-matchmaking-hero-copy{width:min(650px,54%)}
.curated-matchmaking-hero h1{line-height:1.02;margin:.65rem 0 1.15rem}
.curated-matchmaking-hero p{color:rgba(255,255,255,.9);line-height:1.65;margin-bottom:1.7rem}
@media(max-width:767px){
 .curated-matchmaking-hero{
  min-height:600px;
  align-items:flex-end;
  background-position:68% center;
  padding:4rem 0 3rem;
 }
 .curated-matchmaking-hero::before{background:linear-gradient(180deg,rgba(28,4,7,.24) 0%,rgba(35,5,9,.55) 38%,rgba(35,5,9,.96) 72%,rgba(28,4,7,.99) 100%)}
 .curated-matchmaking-hero-copy{width:100%}
 .curated-matchmaking-hero h1{font-size:clamp(2.55rem,12vw,3.65rem);max-width:11ch}
 .curated-matchmaking-hero p{font-size:1.03rem;line-height:1.55}
 .curated-matchmaking-hero .btn{width:100%}
}

.application-progress{background:rgba(255,255,255,.2);border-radius:999px;height:10px;margin:.8rem 0 .5rem;max-width:620px;overflow:hidden}.application-progress span{background:#fff;border-radius:inherit;display:block;height:100%}.interview-booking-card{align-items:center;background:#fff;border:1px solid #e3d3cf;border-left:5px solid #8e1830;border-radius:1rem;display:flex;gap:2rem;justify-content:space-between;padding:clamp(1.5rem,4vw,2.5rem)}.interview-booking-card h2{color:#681426}.interview-booking-card p{margin-bottom:0;max-width:720px}.application-photo-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.application-photo-card{background:#fff8f6;border:1px solid #ead8d3;border-radius:.8rem;padding:.75rem}.application-photo-card.is-primary{border-color:#8e1830;box-shadow:0 0 0 2px rgba(142,24,48,.08)}.application-photo-frame{aspect-ratio:4/5;border-radius:.55rem;overflow:hidden}.application-photo-frame img{height:100%;object-fit:cover;object-position:var(--focal-x,50%) var(--focal-y,50%);transform:scale(var(--photo-zoom,1));transform-origin:var(--focal-x,50%) var(--focal-y,50%);width:100%}.application-photo-card>strong{display:block;margin:.6rem 0}.photo-focal-form{border-top:1px solid #ead8d3;margin-top:.7rem;padding-top:.7rem}.photo-focal-form label{display:block;font-size:.72rem}.photo-focal-form input[type=range]{width:100%}@media(max-width:767px){.interview-booking-card{align-items:stretch;flex-direction:column}.application-photo-grid{grid-template-columns:1fr}}

/* Release One public-program navigation and content */
.public-secondary-nav{background:#681426;color:#fff;border-top:1px solid rgba(255,255,255,.15)}.public-secondary-shell{display:block!important;padding-top:.55rem!important;padding-bottom:.55rem!important}.public-secondary-links{align-items:center;gap:1.2rem;width:100%}.public-secondary-nav a{color:#fff;text-decoration:none;font-size:.9rem;margin:0;white-space:nowrap}.public-secondary-nav a:hover,.public-secondary-nav a:focus,.public-secondary-nav a.active{text-decoration:underline;color:#fff}.public-secondary-nav small{opacity:.72}.public-secondary-buy{margin-left:auto!important;background:#a52640;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:.35rem .8rem;color:#fff!important;font-weight:700}.public-secondary-toggle{align-items:center;background:transparent;border:0;color:#fff;display:flex;font-weight:700;justify-content:space-between;padding:.35rem 0;width:100%}.public-secondary-toggle i{transition:transform .2s}.public-secondary-toggle[aria-expanded=true] i{transform:rotate(180deg)}.public-program-hero{background:linear-gradient(135deg,#681426,#9f1d35);color:#fff;padding:clamp(4rem,8vw,7rem) 0}.public-program-hero h1{font-family:Georgia,serif;font-size:clamp(2.6rem,6vw,5rem);max-width:900px}.public-program-hero p{font-size:1.2rem;max-width:760px}.public-prose{max-width:980px}.public-prose>h2{font-family:Georgia,serif;color:#641426;margin-top:2rem}.public-prose>h2:first-child{margin-top:0}.public-process{display:grid;gap:1rem;padding-left:1.25rem}.program-price{font-family:Georgia,serif;font-size:clamp(1.7rem,4vw,2.6rem);margin:1.5rem 0}.program-price small{display:block;font-family:inherit;font-size:1rem;opacity:.85}.coming-soon-pill{display:inline-block;background:#fff;color:#681426;border-radius:999px;padding:.55rem 1rem;font-weight:700}.book-placeholder{aspect-ratio:3/4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center;padding:2rem;color:#fff;background:linear-gradient(145deg,#2f1017,#8b1d35);border-radius:.4rem;box-shadow:0 18px 45px rgba(46,16,23,.22)}.book-placeholder i{font-size:3rem}.book-placeholder strong{font-family:Georgia,serif;font-size:1.5rem}.book-placeholder span{font-size:.85rem;opacity:.75}.legal-copy{max-width:900px}.legal-copy h2{font-size:1.55rem}.legal-copy h3{color:#641426;font-family:Georgia,serif;font-size:1.25rem;margin-top:1.6rem}.legal-copy li{margin-bottom:.55rem}.legal-copy .legal-table{font-size:.92rem;min-width:680px}.legal-checkbox{list-style:none;margin-left:-1.25rem}.jurisdiction-checkout-notice{background:#fff8ed;border:2px solid #9b2438;border-radius:.85rem;margin:0 0 1.25rem;padding:1rem 1.15rem}.jurisdiction-checkout-notice p:first-child{margin-top:0}.jurisdiction-checkout-notice p:last-child{margin-bottom:0}.safety-authorization-card{max-width:820px}.experience-hero{background:linear-gradient(135deg,#174b45,#27776d)}.jet-hero{background:linear-gradient(135deg,#17213f,#4b376f)}@media(max-width:991px){.public-secondary-links{align-items:stretch!important;padding:.55rem 0 .25rem}.public-secondary-links a{border-top:1px solid rgba(255,255,255,.16);display:block;padding:.72rem 0}.public-secondary-buy{background:transparent;border:0;border-radius:0;margin-left:0!important}.member-account-links{align-items:stretch!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.member-account-links a,.member-account-links form,.member-account-links button{margin:0;width:100%}.member-account-links a,.member-account-links button{display:block;padding:.5rem;text-align:left}}
.candidate-country-menu{position:relative}.candidate-country-menu>summary{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.38rem;list-style:none;white-space:nowrap}.candidate-country-menu>summary::-webkit-details-marker{display:none}.candidate-country-menu.active>summary{text-decoration:underline}.candidate-country-arrows{font-size:1rem;font-weight:800;line-height:1}.candidate-country-options{background:#fff;border:1px solid #e3d2cd;border-radius:.7rem;box-shadow:0 14px 32px rgba(40,8,14,.25);display:none;left:0;min-width:210px;overflow:hidden;padding:.35rem;position:absolute;top:calc(100% + .55rem);z-index:1080}.candidate-country-menu[open] .candidate-country-options,.candidate-country-menu:hover .candidate-country-options,.candidate-country-menu:focus-within .candidate-country-options{display:grid}.candidate-country-options a{border-radius:.45rem;color:#4b1420!important;padding:.6rem .7rem}.candidate-country-options a:hover,.candidate-country-options a:focus,.candidate-country-options a[aria-current=page]{background:#f6e9ec;color:#681426!important;text-decoration:none}.mobile-candidate-country-menu{border-bottom:1px solid rgba(126,13,35,.09);border-top:1px solid rgba(126,13,35,.09);margin:.25rem 0}.mobile-candidate-country-menu>summary{color:#681426;cursor:pointer;font-weight:700;list-style:none;padding:.55rem .2rem}.mobile-candidate-country-menu>summary::-webkit-details-marker{display:none}.mobile-candidate-country-menu>div{display:grid;padding:0 0 .45rem .8rem}.mobile-program-nav .mobile-candidate-country-menu a{border:0;padding:.42rem .2rem}

.member-account-nav .container{justify-content:flex-end}.member-account-links{align-items:center;display:flex;flex-wrap:wrap;gap:.85rem}.member-account-links a,.member-account-links .link-button{font-size:.78rem;margin:0}

.prosperous-pairs-blessing{background:#fff7f5;border-bottom:1px solid #ead8d3;border-top:1px solid #ead8d3;color:#681426;text-align:center}.prosperous-pairs-blessing .container{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem .75rem;justify-content:center;padding-bottom:.65rem;padding-top:.65rem}.prosperous-pairs-blessing i{color:#a52640;font-size:.8rem}.prosperous-pairs-blessing p{font-family:Georgia,serif;font-size:1rem;margin:0}.blessing-translation{color:#766761;font-size:.75rem}.blessing-rotator{display:grid;flex:0 1 min(760px,calc(100% - 2rem));min-height:1.5em;place-items:center}.blessing-message{grid-area:1/1;opacity:0;transition:opacity .9s ease-in-out}.blessing-message.is-active{opacity:1}.home-editorial-section{background:#fff8f6}.home-editorial-section h2{color:#681426;font-size:clamp(2rem,4vw,3rem)}.editorial-disclosure{color:#766761;display:block}.home-editorial-portraits{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.home-editorial-portraits figure{background:#fff;border:1px solid #e6d5d0;border-radius:1rem;box-shadow:0 16px 35px rgba(74,16,10,.09);margin:0;overflow:hidden;position:relative}.home-editorial-portraits img{aspect-ratio:4/5;display:block;height:auto;object-fit:cover;width:100%}.home-editorial-portraits figcaption{background:rgba(70,16,28,.88);bottom:.7rem;color:#fff;font-size:.72rem;font-weight:700;left:.7rem;letter-spacing:.08em;padding:.4rem .65rem;position:absolute;text-transform:uppercase}.pairing-code-cover{margin:0}.pairing-code-cover img{border-radius:.45rem;box-shadow:0 22px 55px rgba(46,16,23,.25);display:block;height:auto;width:100%}.pairing-code-cover figcaption{color:#766761;font-size:.75rem;margin-top:.75rem;text-align:center}.pairing-code-toc{columns:2;gap:2rem}.pairing-code-toc li{break-inside:avoid;margin-bottom:.55rem}.pairing-code-preview{background:#fff8f6;border-left:4px solid #8e1830;margin:2rem 0;padding:1.5rem}.pairing-code-preview blockquote{color:#681426;font-family:Georgia,serif;font-size:1.25rem}.pairing-code-release{border-top:1px solid #ead8d3;padding-top:1.5rem}.pairing-code-release strong{color:#681426}.pairing-code-release p{margin:.5rem 0 1rem}@media(prefers-reduced-motion:reduce){.blessing-message{display:none;transition:none}.blessing-message:first-child{display:block;opacity:1}}@media(max-width:575.98px){.home-editorial-portraits{gap:.65rem}.pairing-code-toc{columns:1}.prosperous-pairs-blessing .container{display:block}.prosperous-pairs-blessing i{display:block;margin-bottom:.25rem}.blessing-translation{display:block;margin-top:.2rem}.blessing-rotator{min-height:3em;width:100%}}

/* Membership and recurring billing */
.billing-environment{border-left:4px solid #0d6efd}.billing-summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.5rem 0 0}.billing-summary-grid>div{background:#fff8f6;border:1px solid #ead8d3;border-radius:.75rem;padding:1rem}.billing-summary-grid dt{color:#766761;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}.billing-summary-grid dd{color:#4b181f;font-weight:700;margin:.25rem 0 0}.billing-details{border-top:1px solid #ead8d3;margin-top:1rem;padding-top:1rem}.billing-details summary{color:#78182b;cursor:pointer;font-weight:700}.square-card-host{background:#fff;border:1px solid #d9cbc7;border-radius:.6rem;margin-top:1rem;min-height:92px;padding:.65rem}.billing-plan-options{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.5rem 0}.billing-plan-option{background:#fff;border:1px solid #dfcfca;border-radius:.75rem;cursor:pointer;padding:1rem}.billing-plan-option:has(input:checked){border-color:#8e1830;box-shadow:0 0 0 3px rgba(142,24,48,.08)}.billing-plan-option>span{display:grid;gap:.2rem;margin-left:1.6rem}.billing-plan-option b{color:#681426}.billing-plan-option small{color:#6f625d}.billing-plan-option.is-disabled{background:#f3efed;cursor:not-allowed;opacity:.72}.billing-cancel-card{border-top:4px solid #8e1830}@media(max-width:767px){.billing-summary-grid,.billing-plan-options{grid-template-columns:1fr}.matchmaking-subnav .container{align-items:flex-start!important;flex-direction:column}.matchmaking-subnav .container>div{flex-wrap:wrap}}

.coupon-code-editor{background:#fff8f6;border:1px solid #ead8d3;border-radius:.8rem;padding:1rem}.coupon-code-editor legend{color:#681426;font-family:Georgia,serif;font-size:1.25rem;font-weight:700}.coupon-code-row{align-items:end;display:flex;gap:.75rem;margin-bottom:.75rem}.coupon-code-row .form-label{margin:0}.billing-coupon-quote .billing-summary-grid{margin-top:0}@media(max-width:575px){.coupon-code-row{align-items:stretch;flex-direction:column}.coupon-code-row .btn{align-self:flex-start}}

/* Removable Release-One public-interface translator */
.website-language-bar{background:#fff7f5;border-bottom:1px solid #ead8d3;color:#4b181f;position:relative;z-index:10}.website-language-inner{align-items:center;display:flex;gap:.8rem;justify-content:flex-end;min-height:46px;padding-bottom:.4rem;padding-top:.4rem}.website-language-label{font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.website-language-options{background:#fff;border:1px solid #d9c3bd;border-radius:999px;display:inline-flex;padding:2px}.website-language-options button{background:transparent;border:0;border-radius:999px;color:#681426;font-size:.78rem;font-weight:700;padding:.35rem .75rem}.website-language-options button[aria-pressed=true]{background:#681426;color:#fff}.website-language-options button:focus-visible{outline:3px solid rgba(104,20,38,.25);outline-offset:2px}.website-language-bar.translation-unavailable .website-language-options{opacity:.55}.website-language-bar.translation-unavailable button{cursor:not-allowed}@media(max-width:575.98px){.website-language-inner{justify-content:center}.website-language-label{font-size:.7rem}.website-language-options button{padding:.32rem .62rem}}

/* Release-One administration pipeline */
.admin-section-heading{align-items:flex-end;display:flex;justify-content:space-between}.admin-member-search.is-loading{opacity:.62}.admin-pipeline{gap:1rem;grid-template-columns:repeat(7,minmax(245px,1fr));overflow-x:auto;padding-bottom:1rem}.admin-pipeline-column{background:#f7efed;border:1px solid #ead8d3;border-radius:14px;min-width:245px;padding:.75rem}.admin-pipeline-column>header{align-items:center;display:flex;justify-content:space-between;padding:.25rem .25rem .75rem}.admin-pipeline-column h3{font-size:1rem;margin:0}.admin-pipeline-column>header span{background:#681426;border-radius:999px;color:#fff;font-size:.7rem;padding:.25rem .5rem}.admin-pipeline-stack,.admin-review-list{display:grid;gap:.75rem}.admin-pipeline-card{background:#fff;border:1px solid #e4d2cd;border-radius:11px;box-shadow:0 6px 18px rgba(74,16,10,.05);padding:.9rem}.admin-pipeline-card small{color:#706563;display:block;font-size:.7rem}.admin-pipeline-facts{border-bottom:1px solid #eee0dc;border-top:1px solid #eee0dc;margin:.75rem 0;padding:.35rem 0}.admin-pipeline-facts div{display:flex;gap:.5rem;justify-content:space-between;padding:.2rem 0}.admin-pipeline-facts dt{color:#706563;font-size:.65rem;text-transform:uppercase}.admin-pipeline-facts dd{font-size:.72rem;margin:0;text-align:right}.admin-pipeline-empty{color:#756862;font-size:.78rem;margin:.75rem;text-align:center}.admin-plan-form{border-top:1px solid #ead8d3;margin-top:1rem;padding-top:1rem}.admin-reference-row{align-items:center;border-top:1px solid #ead8d3;display:grid;gap:.45rem;grid-template-columns:42px 1fr 84px auto auto auto;padding:.6rem 0}.admin-reference-row label{font-size:.7rem;white-space:nowrap}@media(max-width:767px){.admin-section-heading{align-items:flex-start;flex-direction:column}.admin-review-list{grid-template-columns:1fr}.admin-reference-row{grid-template-columns:42px 1fr}.admin-reference-row>*{min-width:0}.admin-reference-row button{grid-column:2}}

/* Checkpoint 047 shared notices, member manager, admin navigation, and hero. */
.global-ajax-notice{position:sticky;top:76px;z-index:1040;margin:.75rem auto;width:min(1120px,calc(100% - 2rem));border:1px solid #d8c7c2;border-left:5px solid #681426;border-radius:.7rem;background:#fff;box-shadow:0 12px 30px rgba(52,19,18,.16);display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem}.global-ajax-notice[hidden]{display:none}.global-ajax-notice.notice-success{border-left-color:#277451}.global-ajax-notice.notice-danger{border-left-color:#a21c31}.global-ajax-notice.notice-warning{border-left-color:#a86c00}.global-ajax-notice button{border:0;background:transparent;font-size:1.4rem;line-height:1}
.admin-guide-panel,.admin-control-section{background:#fff;border:1px solid #e4d3ce;border-radius:1rem;box-shadow:0 10px 28px rgba(70,18,24,.05)}.admin-guide-panel>summary,.admin-control-section>summary{cursor:pointer;padding:1rem 1.2rem;color:#681426}.admin-guide-panel>div,.admin-control-body{padding:0 1.2rem 1.2rem}.admin-section-help{background:#fff8f6;border:1px solid #ead8d3;border-radius:.75rem;margin:.75rem 0 1.25rem;padding:.65rem .85rem}.admin-section-help summary{cursor:pointer;color:#681426;font-weight:700}.admin-section-help p{margin:.6rem 0 0}.admin-section-toggle{align-items:center;background:#681426;border:0;border-radius:.75rem .75rem 0 0;color:#fff;display:flex;gap:.7rem;justify-content:space-between;padding:.8rem 1rem;width:100%;text-align:left}.admin-section-toggle>span:first-child{font-family:Georgia,serif;font-size:1.1rem}.admin-collapsible-body{padding-top:1rem}.admin-section-dock{position:fixed;z-index:1030;bottom:0;left:0;right:0;background:rgba(47,10,17,.97);box-shadow:0 -8px 24px rgba(0,0,0,.2);display:flex;gap:.35rem;overflow-x:auto;padding:.55rem max(.75rem,calc((100vw - 1320px)/2))}.admin-section-dock button,.admin-sections-drawer button{background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;font-size:.72rem;white-space:nowrap;padding:.45rem .7rem}.matchmaking-admin-card[data-admin-section]:last-child{margin-bottom:6rem}.admin-sections-mobile-toggle,.admin-sections-drawer{display:none}
.member-record-hero{background:linear-gradient(135deg,#3b0710,#82182d);color:#fff;padding:2.4rem 0}.member-record-hero a{color:#fff}.member-record-identity{align-items:center;display:grid;gap:1.25rem;grid-template-columns:auto 1fr auto;margin-top:1rem}.member-record-identity>img{border:3px solid rgba(255,255,255,.7);border-radius:50%;height:112px;object-fit:cover;width:112px}.member-record-statuses{display:flex;flex-wrap:wrap;gap:.45rem}.member-record-statuses span{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:.73rem;padding:.35rem .6rem}.member-record-actions{display:flex;flex-direction:column;gap:.5rem}.member-record-alerts{background:#fff8e5;border-left:5px solid #b87800;border-radius:.8rem;margin-bottom:1.2rem;padding:1rem}.member-record-alerts ul{margin-bottom:0}.member-record-section-nav{display:flex;gap:.4rem;overflow:auto;margin-bottom:1.2rem}.member-record-section-nav button{background:#fff;border:1px solid #d9c7c1;border-radius:999px;color:#681426;white-space:nowrap;padding:.4rem .7rem}.admin-control-section{margin-bottom:1rem;scroll-margin-top:150px}.admin-control-section>summary{display:flex;justify-content:space-between}.admin-control-section>summary>span{display:flex;align-items:center;gap:.6rem}.admin-control-section>summary small{background:#681426;color:#fff;border-radius:999px;padding:.2rem .45rem}.member-record-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.member-record-facts>div{background:#fff8f6;border:1px solid #ead8d3;border-radius:.65rem;padding:.75rem}.member-record-facts dt{color:#766761;font-size:.68rem;text-transform:uppercase}.member-record-facts dd{margin:.25rem 0 0;overflow-wrap:anywhere}.member-record-row{border-top:1px solid #ead8d3;padding:1rem 0}.member-record-row small{display:block;color:#766761}.member-record-row video{display:block;max-width:600px;width:100%;margin:.75rem 0}.member-record-media-thumb{border-radius:.5rem;height:140px;object-fit:cover;width:112px}.staff-preview-banner{background:#ffefb9;border-bottom:1px solid #d9b95e;padding:.8rem 0}.member-preview-photos{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0}.member-preview-photos img{aspect-ratio:4/5;border-radius:.7rem;object-fit:cover;width:100%}.admin-incomplete-reasons{background:#fff5dd;border-radius:.5rem;font-size:.75rem;margin:.5rem 0;padding:.55rem}.admin-incomplete-reasons ul{margin-bottom:0;padding-left:1rem}
.philippines-candidate-hero{min-height:clamp(570px,56vw,760px);display:flex;align-items:center;background-color:#2c1112!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:center right!important}.philippines-candidate-hero .container{max-width:1200px!important}.philippines-candidate-hero .container>p,.philippines-candidate-hero h1{max-width:630px}.philippines-candidate-hero h1{font-size:clamp(2.7rem,5.5vw,5rem);line-height:1.02}
.singapore-candidate-hero{align-items:center;background-color:#2c1112!important;background-position:center right!important;background-repeat:no-repeat!important;background-size:cover!important;color:#fff;display:flex;min-height:clamp(570px,56vw,760px);padding:clamp(5rem,10vw,8rem) 0}.singapore-candidate-hero .container{max-width:1200px!important}.singapore-candidate-hero .container>p,.singapore-candidate-hero h1{max-width:650px}.singapore-candidate-hero h1{font-size:clamp(2.6rem,5.2vw,4.8rem);line-height:1.04}.candidate-editorial-disclosure{display:block;font-size:.78rem;margin-top:1rem;max-width:560px;opacity:.82}
@media(max-width:991px){.admin-section-dock{display:none}.admin-sections-mobile-toggle{display:block;position:fixed;z-index:1032;bottom:1rem;right:1rem;background:#681426;border:0;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25);color:#fff;padding:.7rem 1rem}.admin-sections-drawer{position:fixed;z-index:1031;bottom:4.7rem;right:1rem;width:min(330px,calc(100vw - 2rem));max-height:65vh;overflow:auto;background:#3a0a12;border-radius:1rem;box-shadow:0 12px 30px rgba(0,0,0,.3);padding:.7rem}.admin-sections-drawer:not([hidden]){display:grid;gap:.45rem}.admin-sections-drawer button{text-align:left}.member-record-identity{grid-template-columns:auto 1fr}.member-record-actions{grid-column:1/-1;flex-direction:row}.member-record-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.global-ajax-notice{top:58px}}
@media(max-width:575px){.member-record-identity{display:block}.member-record-identity>img{margin-bottom:1rem}.member-record-actions{flex-direction:column;margin-top:1rem}.member-record-facts,.member-preview-photos{grid-template-columns:1fr}.philippines-candidate-hero,.singapore-candidate-hero{align-items:flex-end;min-height:680px;padding:3.5rem 0 2.5rem!important;position:relative}.philippines-candidate-hero{background-position:68% center!important}.singapore-candidate-hero{background-position:66% center!important}.philippines-candidate-hero::before,.singapore-candidate-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,18,.25) 0%,rgba(8,12,18,.5) 38%,rgba(8,12,18,.94) 72%,rgba(8,12,18,.98) 100%);z-index:0}.philippines-candidate-hero .container,.singapore-candidate-hero .container{position:relative;z-index:1}.philippines-candidate-hero h1,.singapore-candidate-hero h1{font-size:clamp(2.35rem,10.5vw,3.5rem)}}

/* Checkpoint 048: roomy pipeline cards, click-to-load review video, and full-width messaging. */
.admin-pipeline{grid-template-columns:repeat(7,minmax(340px,1fr))}
.admin-pipeline-column{isolation:isolate;min-width:340px;overflow:hidden}
.admin-pipeline-card{min-width:0;overflow:hidden;position:relative}
.admin-pipeline-card .d-flex>div,.admin-pipeline-facts dd,.admin-incomplete-reasons li{min-width:0;overflow-wrap:anywhere}
.admin-pipeline-card .status-pill{flex:0 1 auto;max-width:48%;overflow-wrap:anywhere;text-align:center;white-space:normal}
.admin-video-review{min-width:0;overflow:hidden}
.admin-video-review-heading{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between}
.admin-video-review-heading>div:first-child{display:grid;gap:.35rem;min-width:0}
.admin-video-review-heading .status-pill{max-width:100%;width:max-content}
.admin-video-review-controls{display:flex;flex-wrap:wrap;gap:.4rem}
.admin-video-review video[hidden]{display:none!important}
.admin-window-expand-bar{align-items:center;border-bottom:1px solid #ead8d3;display:flex;justify-content:flex-end;padding:.55rem 1rem}
body.admin-window-expanded-open{overflow:hidden}
.admin-window-expanded{background:#fff!important;border:1px solid #d7c4be!important;border-radius:1rem!important;box-shadow:0 24px 70px rgba(30,8,12,.35)!important;box-sizing:border-box!important;height:auto!important;inset:clamp(.5rem,1.5vw,1.25rem)!important;margin:0!important;max-height:none!important;max-width:none!important;overflow:auto!important;position:fixed!important;width:auto!important;z-index:1070!important}
.admin-window-expanded>.admin-section-toggle,.admin-window-expanded>summary{background:#681426;color:#fff;position:sticky;top:0;z-index:2}
.admin-window-expanded>.admin-window-expand-bar{background:#fff;position:sticky;top:3.2rem;z-index:2}
.admin-window-expanded>.admin-collapsible-body,.admin-control-section.admin-window-expanded>.admin-control-body{display:block!important;padding:1rem 1.2rem 2rem}
.admin-video-review.admin-window-expanded{padding:clamp(1rem,3vw,2.5rem)}
.admin-video-review.admin-window-expanded video{max-height:62vh;width:100%}
.admin-message-form label,.admin-message-form textarea,.member-message-form label,.member-message-form textarea{box-sizing:border-box;width:100%}
.member-record-form label,.member-record-form textarea{box-sizing:border-box;width:100%}
.analytics-range-nav{display:flex;flex-wrap:wrap;gap:.5rem}.analytics-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1rem}.analytics-metric-grid article{background:#fff;border:1px solid #ead4d0;border-radius:1rem;container-type:inline-size;min-width:0;overflow:hidden;padding:1.25rem}.analytics-metric-grid span{display:block;color:#665653;font-size:clamp(.72rem,5.5cqw,.85rem);font-weight:700;letter-spacing:.04em;overflow-wrap:anywhere;text-transform:uppercase}.analytics-metric-grid strong{display:block;color:#8f0000;font-family:Georgia,serif;font-size:clamp(1.75rem,18cqw,2.6rem);font-variant-numeric:tabular-nums;line-height:1.05;margin-top:.55rem;max-width:100%;overflow-wrap:anywhere}.analytics-metric-grid .analytics-rate-metric strong{font-size:clamp(1.35rem,11cqw,2.6rem);white-space:nowrap}.analytics-dashboard code{white-space:normal;overflow-wrap:anywhere}
@media(max-width:1199.98px) and (min-width:992px){.admin-pipeline{grid-template-columns:repeat(7,minmax(320px,1fr))}.admin-pipeline-column{min-width:320px}}

/* Checkpoint 049: defer protected Member Record media and minimize initial layout. */
.admin-image-review{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}
.admin-image-review .member-record-media-thumb{display:block;margin:0}
.admin-member-record .admin-control-section:not([open]) .admin-control-body{display:none}

/* Checkpoint 076: explicit first-party anonymous analytics choices. */
.footer-privacy-choices{background:transparent;border:0;color:#fff;padding:0;text-decoration:underline}.footer-privacy-choices:hover,.footer-privacy-choices:focus{color:#fff;text-decoration-thickness:2px}
.analytics-consent{background:rgba(255,255,255,.98);border-top:4px solid #8f0011;bottom:0;box-shadow:0 -14px 38px rgba(43,12,15,.2);left:0;padding:1.15rem;position:fixed;right:0;z-index:1090}.analytics-consent[hidden]{display:none}.analytics-consent-inner{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;margin:0 auto;max-width:1180px}.analytics-consent h2{color:#7d0717;font-size:1.45rem;margin:0 0 .35rem}.analytics-consent p{font-size:.88rem;margin:0;max-width:790px}.analytics-consent a{color:#7d0717;font-weight:700}.analytics-consent-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.analytics-consent-actions .btn{min-height:46px}.analytics-consent-status{color:#681426;font-weight:700;grid-column:1/-1;min-height:1.2em}.analytics-consent.is-saving{opacity:.86}
@media(max-width:767px){.analytics-consent{max-height:72vh;overflow:auto}.analytics-consent-inner{grid-template-columns:1fr}.analytics-consent-actions{justify-content:stretch}.analytics-consent-actions .btn{width:100%}.analytics-consent-status{grid-column:1}}

/* Checkpoint 079: accessible show/hide controls for every password field. */
.pp-password-control{display:block;position:relative;width:100%}.pp-password-control>input{padding-right:4.75rem;width:100%}.pp-password-toggle{align-items:center;background:#fff7f5;border:1px solid #cda9a2;border-radius:.45rem;color:#78182b;display:inline-flex;font-size:.75rem;font-weight:800;justify-content:center;line-height:1;min-height:36px;min-width:58px;padding:.45rem .65rem;position:absolute;right:.42rem;top:50%;transform:translateY(-50%);z-index:2}.pp-password-toggle:hover{background:#f4e3df;color:#5d0d1c}.pp-password-toggle:focus-visible{box-shadow:0 0 0 .2rem rgba(120,24,43,.2);outline:2px solid #78182b;outline-offset:1px}.pp-password-toggle[aria-pressed=true]{background:#78182b;border-color:#78182b;color:#fff}.pp-password-control input[type=password]::-ms-reveal,.pp-password-control input[type=password]::-ms-clear{display:none}
