.ambassador-page { color: #292d34; }
.ambassador-page section[id] { scroll-margin-top: 6rem; }
.ambassador-hero-content { padding-top: 10rem; padding-bottom: 7rem; }
.ambassador-hero .overlay::before { background: rgba(15, 24, 27, .54); }
.ambassador-title { font-size: clamp(2.5rem, 4.5vw, 4.4rem); font-weight: 600; line-height: 1.12; }
.ambassador-title em { display: block; font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; }
.ambassador-intro { font-size: 1.2rem; line-height: 1.7; }
.ambassador-eyebrow { font-size: .8rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.ambassador-rules { background: #1e2128; color: #e2e5e9; }
.ambassador-step { padding: 1.5rem 1.75rem; border-left: 1px solid #626a73; }
.ambassador-step-number { display: block; margin-bottom: 1rem; color: #dbba79; font-size: 2.3rem; font-family: 'Instrument Serif', Georgia, serif; }
.ambassador-step p { line-height: 1.8; }
.ambassador-bonus { padding: 1.25rem; border: 1px solid #626a73; border-radius: .4rem; }
.ambassador-event { padding: 2rem; border: 1px solid #dce0dd; border-radius: .5rem; background: #fff; box-shadow: 0 .4rem 1.5rem rgba(30, 33, 40, .04); gap: .35rem; }
.ambassador-event h3 { line-height: 1.5; }
.ambassador-event-status { color: #00602a; font-size: .85rem; font-weight: 600; }
.ambassador-event-status span { display: inline-block; width: .45rem; height: .45rem; border-radius: 50%; background: currentColor; margin-right: .4rem; }
.ambassador-event .btn { white-space: normal; }
.ambassador-empty { padding: 2rem; border: 1px dashed #a7b0ab; border-radius: .5rem; }
.ambassador-ranking { background: #f3f4f1; }
.ambassador-table-wrapper { border: 1px solid #dce0dd; border-radius: .5rem; background: #fff; overflow-y: hidden; }
.ambassador-table > :not(caption) > * > * { padding: 1.2rem 1.5rem; vertical-align: middle; }
.ambassador-table thead th { color: #fff; background: #1e2128; font-size: .9rem; font-weight: 500; }
.ambassador-table tbody tr:last-child > * { border-bottom: 0; }
.ambassador-place { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; font-weight: 600; }
.ambassador-place-top { background: #f1e5cd; color: #5c4213; }
.ambassador-ranking-note { max-width: 50rem; margin-inline: auto; font-size: .9rem; }
.ambassador-modal .modal-content { border: 0; border-radius: .5rem; }
.ambassador-modal .modal-body, .ambassador-modal .modal-header, .ambassador-modal .modal-footer { padding: 1.5rem; }
.ambassador-modal .modal-body p { line-height: 1.7; }
.ambassador-modal .form-label { font-size: .9em; }
.ambassador-modal .form-control { font-size: 1rem; min-height: 3rem; }
@media (max-width: 767.98px) {
    .ambassador-page, .ambassador-modal { font-size: 1.5rem; }
    .ambassador-hero-content { padding-top: 12rem; padding-bottom: 6rem; }
    .ambassador-title { font-size: 4rem; }
    .ambassador-intro { font-size: 1.6rem; }
    .ambassador-eyebrow, .ambassador-event-status, .ambassador-ranking-note { font-size: 1.3rem; }
    .ambassador-page h2 { font-size: 2.6rem; }
    .ambassador-page h3, .ambassador-modal .modal-title { font-size: 2rem; }
    .ambassador-page .btn, .ambassador-modal .btn { font-size: 1.2rem; }
    .ambassador-modal .form-control { font-size: 1.6rem; min-height: 4.5rem; }
    .ambassador-table > :not(caption) > * > * { padding: 1.2rem .8rem; }
    .ambassador-table thead th { font-size: 1.2rem; }
    .ambassador-place { width: 2.6rem; height: 2.6rem; }
}
