:root {
    --pec-black: #090a0c;
    --pec-charcoal: #111319;
    --pec-ink: #171a20;
    --pec-gold: #c9a86a;
    --pec-gold-soft: #e4cf9d;
    --pec-ivory: #f5f0e7;
    --pec-muted: #aaa59b;
    --pec-line: rgba(201, 168, 106, .28);
}

.pec-shell {
    background: var(--pec-black);
    color: var(--pec-ivory);
    min-height: 72vh;
    overflow: hidden;
}

.pec-gate {
    position: relative;
    min-height: 72vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 72px 24px 64px;
    background:
        radial-gradient(circle at 50% 0%, rgba(201,168,106,.10), transparent 35%),
        linear-gradient(145deg, #0a0b0e 0%, #111319 48%, #08090b 100%);
}

.pec-gate::before {
    content: "";
    position: absolute;
    inset: 20px;
    border: 1px solid rgba(201, 168, 106, .14);
    pointer-events: none;
}

.pec-gate__inner {
    position: relative;
    z-index: 2;
    width: min(820px, 100%);
    text-align: center;
}

.pec-eyebrow {
    font-size: 11px;
    letter-spacing: .34em;
    color: var(--pec-gold-soft);
    margin-bottom: 26px;
}

.pec-monogram {
    width: 74px;
    height: 74px;
    margin: 0 auto 26px;
    border: 1px solid rgba(201,168,106,.55);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    letter-spacing: .08em;
    color: var(--pec-gold-soft);
    box-shadow: 0 0 0 9px rgba(201,168,106,.025), 0 22px 60px rgba(0,0,0,.35);
}

.pec-title {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    font-size: clamp(38px, 6vw, 66px);
    line-height: 1.04;
    letter-spacing: -.025em;
    color: #fffaf0;
}

.pec-subtitle {
    margin: 14px 0 0;
    font-size: 14px;
    letter-spacing: .12em;
    color: var(--pec-gold-soft);
}

.pec-rule {
    width: 210px;
    height: 1px;
    margin: 32px auto;
    background: linear-gradient(90deg, transparent, var(--pec-line), transparent);
    position: relative;
}

.pec-rule span {
    width: 5px;
    height: 5px;
    border: 1px solid var(--pec-gold);
    background: var(--pec-black);
    transform: rotate(45deg);
    position: absolute;
    left: calc(50% - 3px);
    top: -2px;
}

.pec-copy {
    max-width: 650px;
    margin: 0 auto;
    color: #c8c3b8;
    font-size: 15px;
    line-height: 1.85;
}

.pec-access-card {
    width: min(500px, 100%);
    margin: 34px auto 24px;
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    align-items: stretch;
    border: 1px solid rgba(201,168,106,.26);
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
    backdrop-filter: blur(10px);
    box-shadow: 0 28px 70px rgba(0,0,0,.28);
}

.pec-access-card__meta {
    padding: 18px 24px 17px;
    text-align: left;
}

.pec-access-card__meta--right { text-align: right; }

.pec-access-card__meta span {
    display: block;
    font-size: 9px;
    letter-spacing: .24em;
    color: var(--pec-muted);
    margin-bottom: 7px;
}

.pec-access-card__meta strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 500;
    color: var(--pec-gold-soft);
}

.pec-access-card__divider {
    background: rgba(201,168,106,.22);
}

.pec-member-state {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 2px 0 15px;
    color: #c8c3b8;
    font-size: 12px;
}

.pec-member-state__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #9bc28f;
    box-shadow: 0 0 14px rgba(155,194,143,.45);
}

.pec-primary-btn {
    width: min(410px, 100%);
    min-height: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 13px 22px;
    border: 1px solid var(--pec-gold);
    background: linear-gradient(180deg, #d7bc82 0%, #b89455 100%);
    color: #11100d;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 11px;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.pec-primary-btn:not(:disabled):hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 36px rgba(201,168,106,.18);
    filter: brightness(1.04);
    color: #11100d;
}

.pec-primary-btn:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.pec-secondary-row {
    margin-top: 14px;
    color: #8f8b82;
    font-size: 12px;
}

.pec-secondary-row a {
    color: var(--pec-gold-soft);
    text-decoration: none;
    border-bottom: 1px solid rgba(228,207,157,.35);
    margin-left: 5px;
}

.pec-note {
    margin: 11px auto 0;
    color: #77736b;
    font-size: 11px;
}

.pec-value-strip {
    margin-top: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: #77736b;
    font-size: 9px;
    letter-spacing: .18em;
}

.pec-value-strip i {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(201,168,106,.55);
}

.pec-ambient {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: .16;
    pointer-events: none;
}

.pec-ambient-one {
    width: 260px;
    height: 260px;
    background: #a9864c;
    top: 8%;
    left: 7%;
}

.pec-ambient-two {
    width: 320px;
    height: 320px;
    background: #80643a;
    right: 4%;
    bottom: 0;
    opacity: .10;
}

@media (max-width: 640px) {
    .pec-gate {
        min-height: 76vh;
        padding: 56px 18px 46px;
    }

    .pec-gate::before { inset: 10px; }
    .pec-eyebrow { font-size: 9px; letter-spacing: .24em; }
    .pec-copy { font-size: 13px; line-height: 1.75; }
    .pec-access-card__meta { padding: 15px 16px; }
    .pec-access-card__meta strong { font-size: 18px; }
    .pec-value-strip { gap: 8px; flex-wrap: wrap; }
}