:root {
    --cer-ink: #14251f;
    --cer-green: #0d4637;
    --cer-green-dark: #082f25;
    --cer-green-soft: #e5eee8;
    --cer-cream: #f5f2e9;
    --cer-paper: #fffdf8;
    --cer-line: #ced0c7;
    --cer-muted: #5f6b65;
    --cer-gold: #d99a2b;
    --cer-rust: #91351f;
    --cer-shadow: 0 14px 42px rgba(20, 62, 45, .07);
}

/* Unified account entrance and plan management. */
.cer-account-shell{max-width:1120px;margin:0 auto;padding:clamp(1rem,3vw,2.5rem);color:#eaf7f2}
.cer-account-hero{position:relative;overflow:hidden;padding:clamp(2rem,6vw,5rem);border:1px solid rgba(102,255,199,.22);border-radius:28px;background:radial-gradient(circle at 88% 14%,rgba(70,234,175,.2),transparent 29%),linear-gradient(135deg,#061c17,#0d3128 58%,#09211c);box-shadow:0 30px 80px rgba(1,15,12,.28)}
.cer-account-hero h1{max-width:760px;margin:.2rem 0 .75rem;font-size:clamp(2.35rem,7vw,5.7rem);line-height:.95;letter-spacing:-.055em;color:#fff}
.cer-account-hero p:not(.cer-portal-kicker){max-width:720px;margin:0;color:#bcd4cb;font-size:1.08rem;line-height:1.7}
.cer-account-card{margin-top:1.15rem;padding:clamp(1.3rem,3vw,2.25rem);border:1px solid rgba(82,194,153,.2);border-radius:22px;background:linear-gradient(150deg,rgba(11,42,35,.98),rgba(6,29,24,.98));box-shadow:0 20px 55px rgba(1,15,12,.17)}
.cer-account-card--form{max-width:700px;margin:1.25rem auto 0}
.cer-account-card h1,.cer-account-card h2{color:#fff}.cer-account-card p{color:#bad0c8;line-height:1.65}
.cer-account-card .cer-venue-form{display:grid;gap:1.1rem}.cer-account-card .cer-venue-form>label{display:grid;gap:.45rem;color:#eaf7f2;font-weight:700}.cer-account-card input,.cer-account-card select{width:100%;min-height:50px;border:1px solid rgba(123,214,181,.28);border-radius:12px;background:#061f19;color:#fff;padding:.8rem .9rem}.cer-account-card input:focus,.cer-account-card select:focus{outline:2px solid #51e8b1;outline-offset:2px}
.cer-password-wrap{display:grid;grid-template-columns:1fr auto;gap:.55rem}.cer-password-toggle,.cer-link-button{border:0;background:transparent;color:#66f4bf;text-decoration:underline;cursor:pointer;font-weight:800}.cer-account-terms,.cer-account-signin,.cer-plan-muted{font-size:.88rem;color:#90aaa0!important}.cer-account-terms a,.cer-account-signin a,.cer-plan-ledger a{color:#66f4bf}
.cer-account-college{max-width:900px;margin:1.2rem auto;padding:1.1rem 1.25rem;border:1px solid rgba(230,191,87,.25);border-radius:18px;background:#112a23;color:#eaf7f2}.cer-account-college summary{cursor:pointer;font-weight:900;color:#f5d878}.cer-account-college div{padding:.8rem 0 0}.cer-account-college h2{color:#fff}
.cer-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.cer-account-grid .cer-account-card{display:flex;flex-direction:column}.cer-account-grid .cer-account-card form{margin-top:auto}.cer-account-card.is-current{border-color:#5ff0bc;box-shadow:inset 0 0 0 1px rgba(95,240,188,.45),0 20px 55px rgba(1,15,12,.17)}
.cer-plan-tag{display:inline-flex;align-self:flex-start;padding:.35rem .6rem;border:1px solid rgba(95,240,188,.35);border-radius:999px;color:#73f4c4;font-size:.7rem;font-weight:950;letter-spacing:.09em}.cer-plan-status{display:inline-flex;color:#70efbd;margin-top:auto}.cer-plan-current{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cer-plan-current div{display:grid;gap:.25rem}.cer-plan-current span{color:#8fa99f;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.cer-plan-current strong{color:#fff;font-size:1.2rem}.cer-plan-ledger{display:grid;gap:.7rem;margin:1rem 0}.cer-plan-ledger>div{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:.9rem;border-radius:13px;background:rgba(255,255,255,.04)}
.cer-account-resend{text-align:center;margin-top:1rem}.cer-venue-claim-card{border-color:rgba(230,191,87,.35)}.cer-new-venue-fields{display:grid;gap:1rem;padding:1rem;border-radius:14px;background:rgba(255,255,255,.035)}
@media(max-width:900px){.cer-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cer-account-shell{padding:.75rem}.cer-account-hero{border-radius:20px}.cer-account-grid{grid-template-columns:1fr}.cer-plan-current,.cer-plan-ledger>div{grid-template-columns:1fr}.cer-password-wrap{grid-template-columns:1fr}.cer-password-toggle{justify-self:start}}

.cer-venue-hero,
.cer-venue-panel,
.cer-product-card,
.cer-event-card,
.cer-table-wrap {
    box-sizing: border-box;
    border: 1px solid var(--cer-line);
    border-radius: 0;
    background: var(--cer-paper);
    color: var(--cer-ink);
    box-shadow: var(--cer-shadow);
}

.cer-venue-hero {
    position: relative;
    overflow: hidden;
    margin: clamp(1.25rem, 3vw, 2rem) 0 clamp(2rem, 5vw, 4rem);
    padding: clamp(1.5rem, 5vw, 4.25rem);
    border-top: 8px solid var(--cer-green);
    background:
        radial-gradient(circle at 88% 16%, rgba(217, 154, 43, .16) 0 10%, transparent 10.5%),
        linear-gradient(135deg, var(--cer-paper) 0%, #f7f2e5 100%);
}

.cer-venue-hero::after {
    position: absolute;
    right: clamp(1rem, 4vw, 3rem);
    bottom: clamp(.5rem, 2vw, 1.5rem);
    color: rgba(13, 70, 55, .1);
    content: "\1F4E1";
    font-size: clamp(4rem, 12vw, 9rem);
    line-height: 1;
    pointer-events: none;
}

.cer-venue-hero > * {
    position: relative;
    z-index: 1;
}

.cer-venue-hero h1,
.cer-venue-auth h1,
.cer-dashboard-head h1,
.cer-venue-section > h1,
.cer-venue-section > h2,
.cer-venue-panel > h1,
.cer-venue-panel > h2,
.cer-product-card h2,
.cer-product-card h3,
.cer-event-card h3 {
    color: var(--cer-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    letter-spacing: -.025em;
}

.cer-venue-hero h1 {
    max-width: 18ch;
    margin: .25rem 0 .85rem;
    font-size: clamp(2.25rem, 6vw, 4.75rem);
    line-height: .98;
}

.cer-venue-hero > p:not(.cer-venue-eyebrow) {
    max-width: 65ch;
    margin-bottom: 0;
    color: #344840;
    font-size: clamp(1rem, 2vw, 1.22rem);
    line-height: 1.65;
}

.cer-venue-eyebrow {
    margin: 0 0 .55rem;
    color: var(--cer-green);
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.cer-venue-actions,
.cer-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    align-items: center;
}

.cer-venue-actions {
    margin-top: 1.5rem;
}

.cer-venue-button {
    display: inline-flex;
    min-height: 48px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: .78rem 1.1rem;
    border: 2px solid var(--cer-green);
    border-radius: 0;
    font: inherit;
    font-weight: 850;
    line-height: 1.1;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color .16s ease, color .16s ease, transform .16s ease;
}

.cer-venue-button:hover,
.cer-venue-button:focus-visible {
    transform: translateY(-1px);
}

.cer-venue-button:focus-visible,
.cer-venue-form input:focus,
.cer-venue-form select:focus,
.cer-venue-form textarea:focus,
.cer-product-form input:focus,
.cer-product-form select:focus,
.cer-claim-form textarea:focus,
.cer-venue-search input:focus {
    outline: 3px solid rgba(217, 154, 43, .5);
    outline-offset: 2px;
}

.cer-venue-primary {
    background: var(--cer-green);
    color: #fff !important;
}

.cer-venue-primary:hover,
.cer-venue-primary:focus-visible {
    border-color: var(--cer-green-dark);
    background: var(--cer-green-dark);
}

.cer-venue-secondary {
    background: transparent;
    color: var(--cer-green) !important;
}

.cer-venue-secondary:hover,
.cer-venue-secondary:focus-visible {
    background: var(--cer-green);
    color: #fff !important;
}

.cer-venue-section {
    margin: clamp(2rem, 5vw, 4rem) 0;
}

.cer-venue-section > h2 {
    margin: 0 0 .45rem;
    font-size: clamp(1.65rem, 3vw, 2.45rem);
}

.cer-venue-section > h2 + p {
    max-width: 74ch;
    color: var(--cer-muted);
}

.cer-venue-panel,
.cer-product-card {
    padding: clamp(1rem, 3vw, 1.65rem);
}

.cer-product-grid,
.cer-metric-grid,
.cer-event-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.cer-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .8rem;
    border-top: 5px solid var(--cer-green);
}

.cer-product-card:has(.cer-product-form) {
    border-top-color: var(--cer-gold);
}

.cer-product-card h2,
.cer-product-card h3,
.cer-product-card p,
.cer-product-card ul {
    margin: 0;
}

.cer-product-card .cer-product-form {
    margin-top: auto;
    padding-top: .35rem;
}

.cer-product-price {
    color: var(--cer-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.45rem;
    font-weight: 700;
}

.cer-benefits {
    padding-left: 1.25rem;
}

.cer-benefits li + li {
    margin-top: .4rem;
}

.cer-venue-form,
.cer-product-form,
.cer-claim-form {
    display: grid;
    gap: 1rem;
}

.cer-product-form {
    padding-top: .85rem;
    border-top: 1px solid var(--cer-line);
}

.cer-product-form::before {
    color: var(--cer-muted);
    content: "Secure checkout handled by Stripe";
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .025em;
}

.cer-venue-auth {
    max-width: 720px;
    margin: clamp(1.5rem, 4vw, 3rem) auto;
    border-top: 8px solid var(--cer-green);
}

.cer-venue-form label,
.cer-product-form label,
.cer-claim-form label {
    display: grid;
    gap: .42rem;
    color: var(--cer-ink);
    font-weight: 760;
}

.cer-venue-form input,
.cer-venue-form select,
.cer-venue-form textarea,
.cer-product-form input,
.cer-product-form select,
.cer-claim-form textarea,
.cer-venue-search input {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: .72rem .8rem;
    border: 1px solid #9da89f;
    border-radius: 0;
    background: #fffefb;
    color: var(--cer-ink);
    font: inherit;
}

.cer-venue-form input:disabled,
.cer-venue-form select:disabled,
.cer-venue-form textarea:disabled {
    background: #e9e7df;
    color: #59635e;
}

.cer-venue-form textarea,
.cer-claim-form textarea {
    min-height: 120px;
    resize: vertical;
}

.cer-venue-form small,
.cer-product-form small,
.cer-claim-form small {
    color: var(--cer-muted);
    font-weight: 400;
    line-height: 1.45;
}

.cer-check {
    display: flex !important;
    grid-template-columns: none !important;
    gap: .6rem !important;
    align-items: flex-start;
}

.cer-check input {
    width: auto !important;
    min-height: auto !important;
    margin-top: .25rem;
}

.cer-hp {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.cer-venue-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .7rem;
}

.cer-venue-list {
    display: grid;
    gap: 1rem;
}

.cer-venue-result {
    display: grid;
    grid-template-columns: minmax(190px, .7fr) minmax(240px, 1.3fr);
    gap: 1.25rem;
    align-items: start;
}

.cer-venue-result h3,
.cer-venue-result p {
    margin: 0;
}

.cer-dashboard-head,
.cer-dashboard-summary {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.cer-dashboard-head {
    margin: clamp(1.25rem, 3vw, 2rem) 0;
    padding: clamp(1rem, 3vw, 1.75rem) 0;
    border-top: 8px solid var(--cer-green);
    border-bottom: 1px solid var(--cer-line);
}

.cer-dashboard-head h1 {
    margin: 0;
    font-size: clamp(2.1rem, 5vw, 4rem);
    line-height: 1;
}

.cer-dashboard-summary {
    border-left: 5px solid var(--cer-gold);
}

.cer-dashboard-summary > div:last-child {
    display: grid;
    gap: .35rem;
    justify-items: end;
}

.cer-venue-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0 0 1rem;
    border-bottom: 2px solid var(--cer-green);
}

.cer-venue-tabs a,
.cer-status,
.cer-category-list span {
    display: inline-flex;
    padding: .48rem .75rem;
    border: 1px solid var(--cer-line);
    border-bottom: 0;
    border-radius: 0;
    background: var(--cer-paper);
    color: var(--cer-green);
    font-size: .82rem;
    font-weight: 780;
    text-decoration: none;
}

.cer-venue-tabs .is-active {
    border-color: var(--cer-green);
    background: var(--cer-green);
    color: #fff;
}

.cer-metric-grid,
.cer-owner-metrics {
    margin: 1rem 0 2rem;
}

.cer-metric-grid > div,
.cer-owner-metrics > article,
.cer-owner-metrics > .cer-owner-metric-link > article {
    display: grid;
    gap: .2rem;
    padding: 1.15rem;
    border: 1px solid var(--cer-green);
    border-radius: 0;
    background: var(--cer-green);
    color: #fff;
    box-shadow: none;
}

.cer-owner-metric-link {
    color: inherit;
    text-decoration: none;
}

.cer-owner-metric-link > article {
    height: 100%;
    box-sizing: border-box;
    transition: transform .16s ease, background .16s ease;
}

.cer-owner-metric-link:hover > article,
.cer-owner-metric-link:focus > article {
    background: #17634f;
    transform: translateY(-2px);
}

.cer-metric-grid strong,
.cer-owner-metrics strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 4vw, 2.55rem);
}

.cer-metric-grid span,
.cer-owner-metrics span {
    color: #dbe9df;
}

.cer-owner-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.cer-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.cer-table-wrap {
    overflow-x: auto;
    box-shadow: none;
}

.cer-venue-table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
}

.cer-venue-table th,
.cer-venue-table td {
    padding: .85rem;
    border-bottom: 1px solid #dedfd8;
    text-align: left;
    vertical-align: top;
}

.cer-venue-table th {
    background: var(--cer-green);
    color: #fff;
    font-size: .75rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cer-notice {
    margin: 1rem 0;
    padding: .9rem 1rem;
    border: 1px solid #94ad9c;
    border-left: 6px solid var(--cer-green);
    border-radius: 0;
    background: #edf5ef;
    color: var(--cer-ink);
}

.cer-notice-error {
    border-color: #d4a599;
    border-left-color: var(--cer-rust);
    background: #fff1ed;
}

.cer-event-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cer-event-card {
    overflow: hidden;
}

.cer-event-card img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.cer-event-card > div {
    padding: 1rem;
}

.cer-event-card h3 {
    margin: 0;
}

.cer-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.cer-claim-status {
    display: grid;
    gap: .45rem;
    padding: 0;
    list-style: none;
}

.cer-claim-status li {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
    padding: .65rem 0;
    border-bottom: 1px solid var(--cer-line);
}

@media (max-width: 1000px) {
    .cer-product-grid,
    .cer-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cer-event-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .cer-product-grid,
    .cer-metric-grid,
    .cer-event-grid,
    .cer-form-grid,
    .cer-venue-result,
    .cer-owner-metrics {
        grid-template-columns: 1fr;
    }

    .cer-dashboard-head,
    .cer-dashboard-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .cer-dashboard-summary > div:last-child {
        justify-items: start;
    }

    .cer-venue-search {
        grid-template-columns: 1fr;
    }

    .cer-venue-button {
        width: 100%;
    }

    .cer-venue-actions > .cer-venue-button {
        flex: 1 1 190px;
    }

    .cer-venue-hero {
        padding: 1.35rem 1rem 4rem;
    }
}

/* Premium partner portals — four plan-specific workspaces. */
.cer-portal-app,
.cer-portal-app * {
    box-sizing: border-box;
}

.cer-portal-app {
    --portal-accent: var(--cer-green);
    --portal-accent-dark: var(--cer-green-dark);
    --portal-tint: #e8efe9;
    width: min(1240px, 100%);
    margin: 1.5rem auto 4rem;
    color: var(--cer-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.cer-portal-artist {
    --portal-accent: #6b2f46;
    --portal-accent-dark: #472031;
    --portal-tint: #f3e9ec;
}

.cer-portal-venue {
    --portal-accent: #1f5a4a;
    --portal-accent-dark: #123c31;
    --portal-tint: #e6efea;
}

.cer-portal-pro {
    --portal-accent: var(--cer-gold);
    --portal-accent-dark: #b87914;
    --portal-tint: #f4ead4;
}

.cer-portal-header {
    display: flex;
    min-height: 180px;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: clamp(1.35rem, 4vw, 2.75rem);
    border: 1px solid var(--cer-line);
    border-top: 8px solid var(--portal-accent);
    background:
        linear-gradient(120deg, rgba(255,255,255,.96), rgba(255,253,248,.88)),
        repeating-linear-gradient(90deg, transparent 0 28px, rgba(20,37,31,.025) 28px 29px);
    box-shadow: 0 24px 60px rgba(20, 37, 31, .09);
}

.cer-portal-pro .cer-portal-header {
    border-color: #345448;
    border-top-color: var(--cer-gold);
    background:
        radial-gradient(circle at 82% 20%, rgba(217,154,43,.22), transparent 22%),
        linear-gradient(135deg, #0b3027, #10251f 68%, #071d18);
    color: #f8f1df;
}

.cer-portal-pro .cer-portal-header h1,
.cer-portal-pro .cer-portal-header p {
    color: inherit;
}

.cer-portal-identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1.25rem;
}

.cer-portal-identity h1 {
    margin: .2rem 0 .4rem;
    color: var(--cer-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 5vw, 4.25rem);
    letter-spacing: -.045em;
    line-height: .95;
}

.cer-portal-identity p {
    margin: 0;
}

.cer-portal-monogram,
.cer-directory-monogram {
    display: inline-grid;
    width: clamp(68px, 9vw, 104px);
    aspect-ratio: 1;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--portal-accent);
    background: var(--portal-accent);
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 700;
    letter-spacing: -.04em;
}

.cer-portal-pro .cer-portal-monogram {
    border-color: var(--cer-gold);
    background: transparent;
    color: var(--cer-gold);
}

.cer-portal-monogram--venue {
    font-size: 2.4rem;
}

.cer-portal-header__actions {
    display: grid;
    gap: .75rem;
    justify-items: end;
}

.cer-plan-badge,
.cer-priority-chip,
.cer-preview-control {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .4rem;
    padding: .48rem .72rem;
    border: 1px solid var(--portal-accent, var(--cer-green));
    background: transparent;
    color: var(--portal-accent, var(--cer-green));
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .11em;
    line-height: 1.1;
    text-transform: uppercase;
}

.cer-plan-badge.is-pro,
.cer-priority-chip {
    border-color: var(--cer-gold);
    background: var(--cer-gold);
    color: #13221d;
}

.cer-portal-nav {
    position: sticky;
    z-index: 5;
    top: 32px;
    display: flex;
    overflow-x: auto;
    margin: 0 0 2rem;
    border: 1px solid var(--cer-line);
    border-top: 0;
    background: rgba(255, 253, 248, .96);
    box-shadow: 0 12px 28px rgba(20, 37, 31, .06);
    scrollbar-width: thin;
}

.cer-portal-nav a {
    flex: 0 0 auto;
    padding: .88rem 1.05rem;
    border-right: 1px solid var(--cer-line);
    color: var(--cer-ink);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .045em;
    text-decoration: none;
    text-transform: uppercase;
}

.cer-portal-nav a:hover,
.cer-portal-nav a:focus-visible {
    background: var(--portal-tint);
    color: var(--portal-accent-dark);
}

.cer-portal-nav .is-gold,
.cer-portal-nav--pro a:hover,
.cer-portal-nav--pro a:focus-visible {
    background: var(--cer-gold);
    color: #13221d;
}

.cer-portal-nav--pro {
    border-color: #315146;
    background: #0b3027;
}

.cer-portal-nav--pro a {
    border-right-color: #315146;
    color: #f5ecdb;
}

.cer-portal-kicker {
    margin: 0 0 .5rem;
    color: var(--portal-accent, var(--cer-green));
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.cer-portal-pro .cer-portal-kicker {
    color: var(--cer-gold);
}

.cer-portal-section {
    margin: clamp(2.5rem, 7vw, 5.75rem) 0;
    scroll-margin-top: 100px;
}

.cer-portal-section h2,
.cer-portal-section h3,
.cer-pro-hero h2,
.cer-portal-callout h2,
.cer-profile-studio h2,
.cer-submission-studio h2,
.cer-pro-gate h1,
.cer-directory-luxury h1,
.cer-directory-card h2 {
    color: var(--cer-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    letter-spacing: -.035em;
}

.cer-portal-section h2,
.cer-pro-hero h2,
.cer-profile-studio h2,
.cer-submission-studio h2 {
    margin: .1rem 0 .65rem;
    font-size: clamp(1.9rem, 4vw, 3.35rem);
    line-height: 1.03;
}

.cer-portal-section__head {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr);
    gap: clamp(1rem, 4vw, 3rem);
    align-items: end;
    margin-bottom: 1.35rem;
}

.cer-portal-section__head > p {
    margin: 0;
    color: var(--cer-muted);
    line-height: 1.7;
}

.cer-portal-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}

.cer-portal-metrics article {
    position: relative;
    min-height: 178px;
    overflow: hidden;
    padding: 1.15rem;
    border: 1px solid var(--cer-line);
    background: var(--cer-paper);
}

.cer-portal-metrics article::after {
    position: absolute;
    right: -22px;
    bottom: -42px;
    width: 90px;
    height: 90px;
    border: 18px solid var(--portal-tint);
    border-radius: 50%;
    content: "";
}

.cer-portal-metrics span,
.cer-portal-metrics small {
    position: relative;
    z-index: 1;
    display: block;
}

.cer-portal-metrics span {
    color: var(--portal-accent-dark);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cer-portal-metrics strong {
    position: relative;
    z-index: 1;
    display: block;
    margin: .9rem 0 .6rem;
    color: var(--cer-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.1rem, 5vw, 3.6rem);
    line-height: .9;
}

.cer-portal-metrics small {
    max-width: 20ch;
    color: var(--cer-muted);
    line-height: 1.35;
}

.cer-portal-metrics--pro article {
    border-color: #375448;
    background: #0d332a;
    color: #f7f1e5;
}

.cer-portal-metrics--pro article::after {
    border-color: rgba(217,154,43,.15);
}

.cer-portal-metrics--pro span,
.cer-portal-metrics--pro strong {
    color: var(--cer-gold);
}

.cer-portal-metrics--pro small {
    color: #cedbd5;
}

.cer-portal-callout,
.cer-portal-split,
.cer-pro-hero,
.cer-profile-studio,
.cer-submission-studio,
.cer-pro-gate,
.cer-analytics-vault {
    display: grid;
    gap: clamp(1.25rem, 4vw, 3rem);
}

.cer-portal-callout {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    margin: 2rem 0;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid #90aa9a;
    border-left: 8px solid var(--cer-green);
    background: #edf4ef;
}

.cer-portal-callout h2,
.cer-portal-callout p {
    margin: .2rem 0;
}

.cer-portal-callout--locked,
.cer-portal-limit-lock {
    border-color: #d8b5ab;
    border-left: 8px solid var(--cer-rust);
    background: #fff1ed;
}

.cer-portal-lock-chip {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .7rem 1rem;
    border: 1px solid #9f4933;
    background: #9f4933;
    color: #fff;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .08em;
}

.cer-portal-limit-lock {
    margin-block: 2rem;
}

.cer-portal-split {
    grid-template-columns: minmax(0, 1.6fr) minmax(260px, .7fr);
    align-items: start;
}

.cer-portal-aside,
.cer-portal-lock {
    padding: clamp(1.2rem, 3vw, 1.75rem);
    border: 1px solid var(--cer-line);
    border-top: 6px solid var(--portal-accent);
    background: var(--cer-paper);
    box-shadow: var(--cer-shadow);
}

.cer-portal-aside--gold,
.cer-portal-lock {
    border-top-color: var(--cer-gold);
    background: #fcf5e8;
}

.cer-portal-aside h3,
.cer-portal-lock h3 {
    margin: .7rem 0;
    font-size: 1.45rem;
}

.cer-portal-aside p,
.cer-portal-aside li,
.cer-portal-lock p {
    color: #46584f;
    line-height: 1.6;
}

.cer-portal-aside ul {
    padding-left: 1.2rem;
}

.cer-portal-icon {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--portal-accent);
    color: var(--portal-accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
}

.cer-portal-fine {
    padding-top: .8rem;
    border-top: 1px solid var(--cer-line);
    font-size: .83rem;
}

.cer-membership-atelier {
    padding: clamp(1.2rem, 4vw, 2.5rem);
    border: 1px solid var(--cer-line);
    background: #f0ece3;
}

.cer-membership-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.cer-membership-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .8rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--cer-line);
    border-top: 7px solid var(--portal-accent);
    background: var(--cer-paper);
    box-shadow: 0 18px 38px rgba(20,37,31,.08);
}

.cer-membership-card.is-featured {
    border-color: #c58b25;
    border-top-color: var(--cer-gold);
    background: linear-gradient(145deg, #fffdf8, #fbf2df);
}

.cer-membership-card h3 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3rem);
}

.cer-membership-card h3 small {
    font-family: Inter, sans-serif;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .03em;
}

.cer-membership-card ul {
    margin: 0;
    padding-left: 1.2rem;
    color: #405149;
}

.cer-membership-ribbon {
    position: absolute;
    top: 0;
    right: 0;
    padding: .42rem .65rem;
    background: var(--cer-gold);
    color: #15231e;
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .11em;
}

.cer-show-ledger {
    display: grid;
    border-top: 1px solid var(--cer-line);
}

.cer-show-ledger article {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 1rem .15rem;
    border-bottom: 1px solid var(--cer-line);
}

.cer-show-ledger article > div {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .2rem .65rem;
}

.cer-show-ledger small {
    grid-column: 2;
    color: var(--cer-muted);
}

.cer-status-dot {
    width: 10px;
    height: 10px;
    margin-top: .35rem;
    border-radius: 50%;
    background: #7f8b86;
}

.cer-status-dot.is-approved {
    background: #2d725b;
}

.cer-status-dot.is-pending {
    background: var(--cer-gold);
}

.cer-status-dot.is-rejected {
    background: var(--cer-rust);
}

.cer-ledger-status {
    display: inline-flex;
    width: fit-content;
    padding: .35rem .55rem;
    border: 1px solid var(--cer-line);
    background: #f2f0e9;
    color: #3f5048;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cer-pro-hero {
    grid-template-columns: minmax(0, 1fr) 180px;
    align-items: center;
    padding: clamp(1.5rem, 5vw, 4rem);
    border: 1px solid #315146;
    background:
        linear-gradient(115deg, rgba(13,51,42,.98), rgba(8,31,25,.98)),
        repeating-linear-gradient(45deg, transparent 0 14px, rgba(217,154,43,.06) 14px 15px);
    color: #eaf1ed;
}

.cer-pro-hero h2 {
    max-width: 17ch;
    color: #fff8e8;
    font-size: clamp(2.35rem, 6vw, 5rem);
    line-height: .96;
}

.cer-pro-hero p:not(.cer-portal-kicker) {
    max-width: 62ch;
    color: #cbd8d2;
    line-height: 1.7;
}

.cer-pro-seal {
    display: grid;
    width: 170px;
    aspect-ratio: 1;
    place-content: center;
    border: 1px solid var(--cer-gold);
    outline: 1px solid rgba(217,154,43,.45);
    outline-offset: -9px;
    color: var(--cer-gold);
    text-align: center;
}

.cer-pro-seal span,
.cer-pro-seal small {
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.cer-pro-seal strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.8rem;
}

.cer-optimization-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.cer-optimization-grid article {
    min-height: 230px;
    padding: 1.35rem;
    border: 1px solid var(--cer-line);
    background: var(--cer-paper);
}

.cer-optimization-grid article > span {
    color: var(--cer-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
}

.cer-optimization-grid h3 {
    margin: 2rem 0 .65rem;
    font-size: 1.45rem;
}

.cer-optimization-grid p {
    color: var(--cer-muted);
    line-height: 1.6;
}

.cer-profile-studio {
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    align-items: start;
}

.cer-profile-preview {
    position: sticky;
    top: 100px;
    min-height: 560px;
    padding: clamp(1.25rem, 4vw, 2.25rem);
    border: 1px solid var(--cer-line);
    border-top: 8px solid var(--portal-accent);
    background:
        radial-gradient(circle at 88% 8%, var(--portal-tint), transparent 32%),
        var(--cer-paper);
    box-shadow: 0 28px 60px rgba(20,37,31,.1);
}

.cer-profile-preview.is-pro {
    border-color: #c18a2b;
    border-top-color: var(--cer-gold);
    background:
        radial-gradient(circle at 88% 8%, rgba(217,154,43,.24), transparent 32%),
        linear-gradient(145deg, #fffdf8, #f9f0dd);
}

.cer-profile-preview__mark {
    display: grid;
    width: 100px;
    aspect-ratio: 1;
    place-items: center;
    margin: 2rem 0 1rem;
    border: 1px solid var(--portal-accent);
    background: var(--portal-accent);
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 700;
}

.cer-profile-preview h2 {
    margin: 1.5rem 0 .25rem;
}

.cer-profile-preview__location,
.cer-directory-location {
    color: var(--portal-accent-dark);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cer-profile-preview > p:not(.cer-portal-kicker):not(.cer-profile-preview__location) {
    color: #43544c;
    line-height: 1.75;
}

.cer-profile-links {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: 1.25rem;
}

.cer-profile-links span {
    padding: .35rem .55rem;
    border: 1px solid var(--cer-line);
    background: #f4f1e9;
    font-size: .68rem;
    font-weight: 800;
}

.cer-profile-editor {
    padding: clamp(1.25rem, 4vw, 2.5rem);
    border: 1px solid var(--cer-line);
    background: var(--cer-paper);
}

.cer-profile-editor > p:not(.cer-portal-kicker) {
    color: var(--cer-muted);
    line-height: 1.7;
}

.cer-luxury-form fieldset {
    min-width: 0;
    margin: 0;
    padding: 1.15rem;
    border: 1px solid var(--cer-line);
    background: #fbfaf5;
}

.cer-luxury-form legend {
    padding: 0 .55rem;
    color: var(--portal-accent-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.1rem;
    font-weight: 700;
}

.cer-submission-studio {
    grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
    padding: clamp(1.25rem, 4vw, 2.5rem);
    border: 1px solid var(--cer-line);
    border-top: 8px solid var(--portal-accent);
    background: var(--cer-paper);
    box-shadow: var(--cer-shadow);
}

.cer-submission-studio__intro {
    padding-right: clamp(0rem, 3vw, 2rem);
    border-right: 1px solid var(--cer-line);
}

.cer-submission-studio__intro p,
.cer-submission-studio__intro li {
    color: var(--cer-muted);
    line-height: 1.65;
}

.cer-submission-studio__intro ol {
    padding-left: 1.25rem;
}

.cer-portal-table {
    overflow-x: auto;
    border: 1px solid var(--cer-line);
    background: var(--cer-paper);
}

.cer-portal-table table {
    width: 100%;
    min-width: 580px;
    border-collapse: collapse;
}

.cer-portal-table th,
.cer-portal-table td {
    padding: .9rem;
    border-bottom: 1px solid var(--cer-line);
    text-align: left;
}

.cer-portal-table th {
    background: #102f27;
    color: #f7f0df;
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cer-portal-table tr:last-child td {
    border-bottom: 0;
}

.cer-portal-empty,
.cer-preview-control {
    padding: 1rem;
    border: 1px dashed #9ca8a2;
    background: #f5f2ea;
    color: #44544d;
}

.cer-preview-control {
    display: block;
    width: 100%;
    font-size: .75rem;
    letter-spacing: normal;
    line-height: 1.55;
    text-transform: none;
}

.cer-preview-control p {
    margin: .35rem 0 0;
}

.cer-preview-banner {
    display: flex;
    width: min(1240px, 100%);
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem auto;
    padding: .85rem 1rem;
    border: 1px solid #b5832f;
    border-left: 7px solid var(--cer-gold);
    background: #fff6df;
    color: #3f3522;
    font-size: .82rem;
}

.cer-analytics-vault {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr);
    align-items: center;
    overflow: hidden;
    padding: clamp(1.3rem, 4vw, 2.75rem);
    border: 1px solid #2e574a;
    background: linear-gradient(135deg, #0d3a2f, #071f1a);
    color: #e8f0eb;
}

.cer-analytics-vault h2 {
    color: #fff8e8;
}

.cer-analytics-vault p {
    max-width: 65ch;
    color: #c5d5ce;
    line-height: 1.7;
}

.cer-vault-blur {
    display: grid;
    gap: .75rem;
    filter: blur(8px);
    opacity: .72;
}

.cer-vault-blur span {
    padding: 1rem;
    border: 1px solid var(--cer-gold);
    color: var(--cer-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.5rem;
}

.cer-pro-gate {
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
    min-height: 680px;
    align-items: center;
    margin: 2rem auto 4rem;
    padding: clamp(1.5rem, 6vw, 5rem);
    border: 1px solid #315247;
    background:
        radial-gradient(circle at 82% 20%, rgba(217,154,43,.18), transparent 26%),
        linear-gradient(135deg, #0b3329, #071f1a);
    color: #e7f0eb;
}

.cer-pro-gate h1 {
    max-width: 14ch;
    color: #fff7e7;
    font-size: clamp(2.6rem, 7vw, 5.7rem);
    line-height: .92;
}

.cer-pro-gate p,
.cer-pro-gate li {
    color: #c9d8d1;
    line-height: 1.7;
}

.cer-pro-gate__visual {
    display: grid;
    min-height: 410px;
    place-content: center;
    border: 1px solid var(--cer-gold);
    outline: 1px solid rgba(217,154,43,.35);
    outline-offset: -14px;
    color: var(--cer-gold);
    text-align: center;
}

.cer-pro-gate__visual span,
.cer-pro-gate__visual small {
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.cer-pro-gate__visual strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 10vw, 7rem);
    line-height: 1;
}

.cer-directory-luxury {
    width: min(1240px, 100%);
    margin: 2rem auto 5rem;
}

.cer-directory-head {
    padding: clamp(1.5rem, 5vw, 4rem);
    border-top: 8px solid var(--cer-green);
    background: linear-gradient(135deg, #0d4335, #0a2c24);
    color: #f4eee0;
}

.cer-directory-head h1 {
    max-width: 16ch;
    margin: .2rem 0 .7rem;
    color: #fff8e8;
    font-size: clamp(2.5rem, 7vw, 5.5rem);
    line-height: .94;
}

.cer-directory-head p:not(.cer-venue-eyebrow) {
    max-width: 68ch;
    color: #cbd9d3;
    line-height: 1.7;
}

.cer-directory-tools {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.35rem clamp(1rem, 4vw, 2.25rem);
    border: 1px solid var(--cer-line);
    border-top: 0;
    background: var(--cer-paper);
    box-shadow: 0 18px 42px rgba(20,37,31,.075);
}

.cer-directory-search {
    flex: 1 1 760px;
    margin: 0;
}

.cer-directory-search > label {
    display: block;
    margin-bottom: .45rem;
    color: var(--cer-ink);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.cer-directory-search__controls {
    display: flex;
    align-items: stretch;
    gap: .65rem;
}

.cer-directory-search input[type="search"] {
    min-width: 0;
    flex: 1 1 360px;
    padding: .8rem 1rem;
    border: 1px solid #aeb8b3;
    border-radius: 0;
    background: #fffdf7;
    color: var(--cer-ink);
    font: inherit;
}

.cer-directory-search input[type="search"]:focus {
    border-color: var(--cer-green);
    outline: 3px solid rgba(14,83,65,.16);
    outline-offset: 1px;
}

.cer-new-venue-field[hidden] {
    display: none !important;
}

.cer-venue-selection small,
.cer-new-venue-field small {
    display: block;
    margin-top: .4rem;
    color: var(--cer-muted);
    font-size: .82rem;
    line-height: 1.45;
}

.cer-owner-request-badge {
    display: block;
    width: max-content;
    margin: .35rem 0;
    padding: .22rem .42rem;
    border: 1px solid #76847d;
    color: #46534d;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .06em;
}

.cer-owner-request-badge.is-new {
    border-color: #bd8930;
    background: #fff7e7;
    color: #754b08;
}

.cer-directory-search .cer-venue-button {
    white-space: nowrap;
}

.cer-directory-clear {
    align-self: center;
    color: var(--cer-green);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.cer-directory-count {
    flex: 0 1 320px;
    margin: 0;
    color: var(--cer-muted);
    font-size: .9rem;
    line-height: 1.45;
    text-align: right;
}

.cer-directory-count p {
    margin: 0;
}

.cer-directory-count a {
    display: inline-block;
    margin-top: .35rem;
    color: var(--cer-green);
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.cer-directory-empty .cer-venue-actions {
    justify-content: center;
}

.cer-directory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.cer-directory-card {
    position: relative;
    display: flex;
    min-height: 390px;
    flex-direction: column;
    padding: 1.35rem;
    border: 1px solid var(--cer-line);
    border-top: 6px solid #79857f;
    background: var(--cer-paper);
    box-shadow: 0 18px 42px rgba(20,37,31,.075);
}

.cer-directory-card.is-pro {
    border-color: #bd8930;
    border-top-color: var(--cer-gold);
    background:
        radial-gradient(circle at 90% 8%, rgba(217,154,43,.18), transparent 28%),
        var(--cer-paper);
}

.cer-directory-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

.cer-directory-monogram {
    width: 58px;
    background: var(--cer-green);
    font-size: 1.4rem;
}

.cer-directory-card.is-pro .cer-directory-monogram {
    background: var(--cer-gold);
    color: #15241e;
}

.cer-directory-card h2 {
    margin: 2rem 0 .35rem;
    font-size: clamp(1.45rem, 3vw, 2.1rem);
}

.cer-directory-card > p:not(.cer-directory-location) {
    color: var(--cer-muted);
    line-height: 1.65;
}

.cer-directory-card .cer-venue-button {
    margin-top: auto;
}

.cer-directory-empty {
    margin-top: 1.25rem;
    padding: clamp(1.5rem, 5vw, 3rem);
    border: 1px solid var(--cer-line);
    border-top: 6px solid var(--cer-gold);
    background: var(--cer-paper);
    text-align: center;
}

.cer-directory-empty h2 {
    margin: .25rem 0 .5rem;
    color: var(--cer-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 4vw, 3rem);
}

.cer-directory-pagination {
    margin-top: 2rem;
}

.cer-directory-pagination ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cer-directory-pagination ul.page-numbers li {
    margin: 0;
}

.cer-directory-pagination a.page-numbers,
.cer-directory-pagination span.page-numbers {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: .55rem .8rem;
    border: 1px solid var(--cer-line);
    background: var(--cer-paper);
    color: var(--cer-green);
    font-weight: 800;
    text-decoration: none;
}

.cer-directory-pagination a.page-numbers:hover,
.cer-directory-pagination a.page-numbers:focus,
.cer-directory-pagination span.page-numbers.current {
    border-color: var(--cer-green);
    background: var(--cer-green);
    color: #fff8e8;
}

.cer-portal-entry {
    width: min(860px, 100%);
    margin: 2rem auto 4rem;
    padding: clamp(1.5rem, 6vw, 4rem);
    border: 1px solid var(--cer-line);
    border-top: 8px solid var(--cer-green);
    background: var(--cer-paper);
    box-shadow: var(--cer-shadow);
}

.cer-portal-entry h1 {
    margin: .2rem 0 .8rem;
    color: var(--cer-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.3rem, 6vw, 4.5rem);
    letter-spacing: -.04em;
    line-height: .96;
}

@media (max-width: 1000px) {
    .cer-portal-metrics,
    .cer-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cer-profile-studio,
    .cer-submission-studio,
    .cer-pro-gate {
        grid-template-columns: 1fr;
    }

    .cer-profile-preview {
        position: relative;
        top: auto;
        min-height: 0;
    }

    .cer-submission-studio__intro {
        padding-right: 0;
        padding-bottom: 1rem;
        border-right: 0;
        border-bottom: 1px solid var(--cer-line);
    }

    .cer-pro-gate__visual {
        min-height: 280px;
    }
}

@media (max-width: 760px) {
    .cer-directory-tools {
        align-items: stretch;
        flex-direction: column;
    }

    .cer-directory-search {
        flex-basis: auto;
    }

    .cer-directory-search__controls {
        flex-wrap: wrap;
    }

    .cer-directory-search input[type="search"] {
        flex-basis: 100%;
        width: 100%;
    }

    .cer-directory-search .cer-venue-button {
        flex: 1 1 auto;
    }

    .cer-directory-count {
        flex-basis: auto;
        text-align: left;
    }
}

@media (max-width: 720px) {
    .cer-portal-header,
    .cer-portal-identity,
    .cer-preview-banner,
    .cer-show-ledger article {
        align-items: flex-start;
        flex-direction: column;
    }

    .cer-portal-header__actions {
        width: 100%;
        justify-items: stretch;
    }

    .cer-portal-nav {
        top: 0;
    }

    .cer-portal-section__head,
    .cer-portal-metrics,
    .cer-membership-grid,
    .cer-portal-split,
    .cer-pro-hero,
    .cer-optimization-grid,
    .cer-analytics-vault,
    .cer-directory-grid,
    .cer-portal-callout {
        grid-template-columns: 1fr;
    }

    .cer-portal-callout {
        align-items: stretch;
    }

    .cer-pro-seal {
        width: 138px;
    }

    .cer-profile-preview__mark {
        width: 78px;
    }

    .cer-portal-monogram {
        width: 72px;
    }

    .cer-pro-gate {
        min-height: 0;
        padding: 1.4rem;
    }
}

.cer-feature-marketplace {
    border-top: 4px solid var(--cer-gold);
}

.cer-feature-products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.cer-feature-products article {
    padding: 1.25rem;
    border: 1px solid var(--cer-line);
    background: var(--cer-paper);
    box-shadow: var(--cer-shadow);
}

.cer-feature-products article.is-gold {
    border-color: var(--cer-gold);
    background: linear-gradient(145deg, #fffdf8, #fff6df);
}

.cer-feature-products article > span,
.cer-feature-products article > strong {
    color: var(--cer-green);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cer-feature-products article > strong {
    color: var(--cer-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    letter-spacing: 0;
    text-transform: none;
}

.cer-feature-checkout {
    display: grid;
    gap: 1.25rem;
    padding: clamp(1rem, 3vw, 2rem);
    border: 1px solid var(--cer-line);
    background: #fffdf8;
}

.cer-feature-calendar-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.5rem 0 1rem;
}

.cer-feature-calendar-head h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
}

.cer-feature-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    font-size: .78rem;
}

.cer-feature-legend span {
    padding: .3rem .5rem;
    border-left: 4px solid var(--cer-green);
    background: var(--cer-green-soft);
}

.cer-feature-legend .is-low {
    border-color: var(--cer-gold);
    background: #fff6df;
}

.cer-feature-legend .is-full {
    border-color: #8a3125;
    background: #f8eae5;
}

.cer-feature-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(88px, 1fr));
    gap: .6rem;
    max-height: 440px;
    padding: .2rem .35rem .35rem .2rem;
    overflow: auto;
}

.cer-feature-day {
    display: grid;
    gap: .1rem;
    min-height: 88px;
    padding: .7rem;
    border: 1px solid var(--cer-line);
    border-left: 4px solid var(--cer-green);
    background: #fff;
    cursor: pointer;
}

.cer-feature-day:has(input:checked) {
    outline: 3px solid var(--cer-gold);
    outline-offset: 1px;
    background: #fff8e7;
}

.cer-feature-day.is-low {
    border-left-color: var(--cer-gold);
}

.cer-feature-day.is-full {
    border-left-color: #8a3125;
    background: #f1efeb;
    color: var(--cer-muted);
    cursor: not-allowed;
}

.cer-feature-day input {
    width: 1rem;
    height: 1rem;
    margin: 0 0 .2rem;
}

.cer-feature-day span,
.cer-feature-day small {
    line-height: 1.2;
}

.cer-purchase-consent {
    padding: .9rem;
    border-left: 4px solid var(--cer-gold);
    background: #fff8e7;
    font-size: .88rem;
}

.cer-legal-version {
    display: block;
    color: var(--cer-muted);
}

.cer-legal-footer {
    display: flex;
    justify-content: center;
    gap: .55rem;
    padding: .75rem 1rem 1.5rem;
    color: var(--cer-muted);
    font-size: .74rem;
}

.cer-legal-footer a {
    color: inherit;
}

.cer-legal-page {
    width: min(780px, calc(100% - 2rem));
    margin: 2rem auto;
    padding: clamp(1rem, 4vw, 3rem);
    border: 1px solid var(--cer-line);
    background: var(--cer-paper);
    box-shadow: var(--cer-shadow);
}

.cer-pro-event-example {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 1.25rem;
    margin: 1rem 0 2rem;
    padding: 1.5rem;
    border: 1px solid var(--cer-gold);
    background: linear-gradient(135deg, #fffdf8, #fff5d8);
}

.cer-pro-event-star {
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    border: 1px solid #b87900;
    border-radius: 50%;
    background: #fff;
    color: #b87900;
    font-size: 2.2rem;
    box-shadow: 0 8px 30px rgba(184, 121, 0, .16);
}

@media (max-width: 900px) {
    .cer-feature-calendar {
        grid-template-columns: repeat(4, minmax(88px, 1fr));
    }
}

@media (max-width: 720px) {
    .cer-feature-products,
    .cer-feature-calendar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cer-feature-calendar-head,
    .cer-pro-event-example {
        align-items: stretch;
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .cer-feature-calendar {
        max-height: 520px;
    }
}

@media (max-width: 420px) {
    .cer-feature-calendar {
        grid-template-columns: 1fr;
    }
}

/* Public historical event archive. */
.cer-event-archive-page .page-shell > header {
    display: none;
}

.cer-event-archive {
    width: min(1180px, calc(100% - 2rem));
    margin: 1.5rem auto 4rem;
    color: var(--cer-ink);
}

.cer-event-archive__hero {
    position: relative;
    overflow: hidden;
    padding: clamp(1.5rem, 5vw, 4rem);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 28px;
    background: radial-gradient(circle at 85% 15%, rgba(215,164,40,.22), transparent 30%), linear-gradient(145deg, #102f29, #061b17);
    color: #fffdf8;
    box-shadow: 0 24px 60px rgba(8,36,31,.18);
}

.cer-event-archive__hero h1 {
    max-width: 780px;
    margin: .15rem 0 .75rem;
    color: #fffdf8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.2rem, 6vw, 4.8rem);
    line-height: .98;
}

.cer-event-archive__hero > p:not(.cer-venue-eyebrow) {
    max-width: 720px;
    color: #d9e6df;
    font-size: clamp(1rem, 2vw, 1.18rem);
}

.cer-event-archive__hero .cer-venue-button {
    margin-top: .8rem;
}

.cer-event-archive__section {
    padding: clamp(1.25rem, 4vw, 3rem) 0;
}

.cer-event-archive__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.cer-event-archive__heading h2,
.cer-event-archive__heading p {
    margin: 0;
}

.cer-event-archive__heading h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 4vw, 2.5rem);
}

.cer-event-archive__heading p {
    color: var(--cer-muted);
}

.cer-event-archive__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.cer-event-archive-card {
    display: grid;
    grid-template-columns: minmax(128px, 34%) 1fr;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--cer-line);
    border-radius: 18px;
    background: #fffdf8;
    box-shadow: 0 10px 28px rgba(8,36,31,.07);
}

.cer-event-archive-card__image {
    display: grid;
    min-height: 220px;
    place-items: center;
    overflow: hidden;
    background: linear-gradient(145deg, #143f35, #08241e);
    font-size: 2.5rem;
}

.cer-event-archive-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.78);
}

.cer-event-archive-card__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 1.1rem;
}

.cer-event-archive-card__body h3 {
    margin: .2rem 0 .45rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.28rem;
    line-height: 1.15;
}

.cer-event-archive-card__body h3 a,
.cer-event-archive-card__link {
    color: var(--cer-ink);
}

.cer-event-archive-card__body > p {
    margin: .2rem 0 .65rem;
    color: var(--cer-muted);
    font-size: .91rem;
}

.cer-event-archive-card__place {
    color: var(--cer-green) !important;
    font-weight: 700;
}

.cer-event-archive-card__link {
    margin-top: auto;
    font-weight: 800;
}

.cer-event-archive__empty {
    padding: 2rem;
    border: 1px dashed var(--cer-line);
    border-radius: 18px;
    background: var(--cer-paper);
    text-align: center;
}

.cer-event-archive__pagination ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem;
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
}

.cer-event-archive__pagination a,
.cer-event-archive__pagination span {
    display: grid;
    min-width: 42px;
    min-height: 42px;
    padding: .55rem .75rem;
    place-items: center;
    border: 1px solid var(--cer-line);
    border-radius: 999px;
    background: #fff;
    color: var(--cer-ink);
    text-decoration: none;
}

.cer-event-archive__pagination .current {
    border-color: var(--cer-green);
    background: var(--cer-green);
    color: #fff;
}

@media (max-width: 820px) {
    .cer-event-archive__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .cer-event-archive {
        width: min(100% - 1rem, 1180px);
        margin-top: .5rem;
    }

    .cer-event-archive__hero {
        border-radius: 20px;
    }

    .cer-event-archive__heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .cer-event-archive-card {
        grid-template-columns: 1fr;
    }

    .cer-event-archive-card__image {
        min-height: 190px;
        max-height: 230px;
    }
}
