/* ============================================================
   FoodLegal Marketing Site — style_marketing.css
   Sits on top of Bootstrap 3.3.6. No CSS variables (IE compat).
   Fonts: Cormorant Garamond (display) + DM Sans (body) via Google Fonts.
   ============================================================ */

/* ── Palette ─────────────────────────────────────────────── */
/* Navy: #0d1e2c  Steel: #2e5f7e  Gold: #b8923a  Cream: #f7f9fb */

/* ── Base ────────────────────────────────────────────────── */
body {
    font-family: 'DM Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.65;
    color: #0d1e2c;
    background: #f7f9fb;
    -webkit-font-smoothing: antialiased;
}

a { color: #2e5f7e; }
a:hover, a:focus { color: #0d1e2c; text-decoration: none; }

h1, h2, h3, h4, h5, h6,
.display-heading {
    font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #0d1e2c;
}

/* ── Utility ──────────────────────────────────────────────── */
.text-navy    { color: #0d1e2c; }
.text-steel   { color: #2e5f7e; }
.text-gold    { color: #b8923a; }
.text-muted   { color: #5a7a8e; }
.bg-navy      { background-color: #0d1e2c; }
.bg-navy-mid  { background-color: #132534; }
.bg-steel-50  { background-color: #f0f7fb; }
.bg-cream     { background-color: #f7f9fb; }
.bg-white     { background-color: #ffffff; }
.border-gold  { border-color: #b8923a !important; }

/* ── Section spacing ─────────────────────────────────────── */
.section-pad        { padding: 72px 0; }
.section-pad-sm     { padding: 48px 0; }
.section-pad-dark   { padding: 72px 0; background-color: #0d1e2c; }

/* ── Section label (small uppercase eyebrow) ─────────────── */
.section-label {
    display: inline-block;
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #2e5f7e;
    margin-bottom: 10px;
}
.section-label-light { color: #e8c87a; }
.section-label::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 1px;
    background: #b8923a;
    vertical-align: middle;
    margin-right: 8px;
    margin-bottom: 2px;
}

/* ── Section title ───────────────────────────────────────── */
.section-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 46px;
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: -0.025em;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 16px;
}
.section-title em {
    font-style: italic;
    color: #2e5f7e;
}
.section-title-light       { color: #ffffff; }
.section-title-light em    { color: #e8c87a; }

@media (max-width: 767px) {
    .section-title { font-size: 32px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .section-title { font-size: 38px; }
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn-gold {
    background-color: #b8923a;
    border-color: #b8923a;
    color: #0d1e2c;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.04em;
    padding: 11px 24px;
    border-radius: 3px;
    -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.btn-gold:hover, .btn-gold:focus {
    background-color: #e8c87a;
    border-color: #e8c87a;
    color: #0d1e2c;
}
.btn-navy {
    background-color: #1a3347;
    border-color: #1a3347;
    color: #ffffff;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.04em;
    padding: 11px 24px;
    border-radius: 3px;
    -webkit-transition: background-color 0.2s ease;
    transition: background-color 0.2s ease;
}
.btn-navy:hover, .btn-navy:focus {
    background-color: #2e5f7e;
    border-color: #2e5f7e;
    color: #ffffff;
}
.btn-outline-white {
    background-color: transparent;
    border: 1px solid rgba(255,255,255,0.38);
    color: #ffffff;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.04em;
    padding: 11px 24px;
    border-radius: 3px;
    -webkit-transition: border-color 0.2s ease, background-color 0.2s ease;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}
.btn-outline-white:hover, .btn-outline-white:focus {
    border-color: rgba(255,255,255,0.75);
    background-color: rgba(255,255,255,0.07);
    color: #ffffff;
}
.btn-ghost-steel {
    background-color: transparent;
    border: 1px solid rgba(13,30,44,0.18);
    color: #2e5f7e;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    padding: 11px 24px;
    border-radius: 3px;
    -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.btn-ghost-steel:hover, .btn-ghost-steel:focus {
    background-color: #f0f7fb;
    border-color: #2e5f7e;
    color: #0d1e2c;
}

/* ── NAV ─────────────────────────────────────────────────── */
.navbar-marketing {
    background-color: #0d1e2c;
    border: none;
    border-radius: 0;
    margin-bottom: 0;
    min-height: 68px;
}
.navbar-marketing .navbar-brand {
    padding: 12px 15px;
    height: 68px;
    line-height: 44px;
}
.navbar-marketing .navbar-brand img {
    height: 44px;
    width: auto;
}
.navbar-marketing .navbar-nav > li > a {
    color: rgba(255,255,255,0.8);
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.01em;
    padding: 24px 13px;
    line-height: 20px;
    -webkit-transition: color 0.2s ease, background-color 0.2s ease;
    transition: color 0.2s ease, background-color 0.2s ease;
}
.navbar-marketing .navbar-nav > li > a:hover,
.navbar-marketing .navbar-nav > li > a:focus {
    color: #ffffff;
    background-color: rgba(255,255,255,0.07);
}
.navbar-marketing .navbar-nav > li.active > a,
.navbar-marketing .navbar-nav > li.active > a:hover {
    color: #ffffff;
    background-color: rgba(255,255,255,0.07);
}
.navbar-marketing .navbar-nav > .nav-cta > a {
    background-color: #b8923a;
    color: #0d1e2c !important;
    font-weight: 500;
    margin: 15px 8px;
    padding: 8px 18px !important;
    border-radius: 3px;
}
.navbar-marketing .navbar-nav > .nav-cta > a:hover {
    background-color: #e8c87a;
    color: #0d1e2c !important;
}
.navbar-marketing .navbar-toggle {
    border-color: rgba(255,255,255,0.3);
    margin-top: 17px;
}
.navbar-marketing .navbar-toggle .icon-bar { background-color: #fff; }
.navbar-marketing .navbar-collapse { border-top-color: rgba(255,255,255,0.1); }
.navbar-marketing .dropdown-menu {
    background-color: #132534;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 6px;
    padding: 4px 0;
    min-width: 160px;
}
.navbar-marketing .dropdown-menu > li > a {
    color: rgba(255,255,255,0.75);
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    padding: 9px 18px;
}
.navbar-marketing .dropdown-menu > li > a:hover {
    background-color: rgba(255,255,255,0.08);
    color: #ffffff;
}

/* ── HERO ────────────────────────────────────────────────── */
.hero-marketing {
    position: relative;
    background-color: #0d1e2c;
    overflow: hidden;
    min-height: 460px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.hero-marketing .hero-bg {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: cover;
    background-position: center 30%;
    opacity: 0.22;
}
.hero-marketing .hero-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: -webkit-linear-gradient(135deg, rgba(13,30,44,0.93) 40%, rgba(13,30,44,0.55) 100%);
    background: linear-gradient(135deg, rgba(13,30,44,0.93) 40%, rgba(13,30,44,0.55) 100%);
}
.hero-marketing .hero-content {
    position: relative;
    z-index: 2;
    padding: 90px 0 70px;
    width: 100%;
}
.hero-eyebrow {
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #e8c87a;
    margin-bottom: 16px;
}
.hero-eyebrow::before {
    content: '';
    display: inline-block;
    width: 22px;
    height: 1px;
    background: #b8923a;
    vertical-align: middle;
    margin-right: 8px;
    margin-bottom: 2px;
}
.hero-marketing h1 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 56px;
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin-top: 0;
    margin-bottom: 20px;
}
.hero-marketing h1 em { font-style: italic; color: #e8c87a; }
.hero-marketing p.hero-desc {
    font-size: 15px;
    color: rgba(255,255,255,0.68);
    max-width: 480px;
    margin-bottom: 28px;
    font-weight: 300;
    line-height: 1.7;
}
.hero-stat-num {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 34px;
    font-weight: 500;
    color: #ffffff;
    line-height: 1;
}
.hero-stat-label {
    font-size: 11px;
    color: rgba(255,255,255,0.45);
    margin-top: 3px;
    letter-spacing: 0.04em;
}

@media (max-width: 767px) {
    .hero-marketing h1 { font-size: 34px; }
    .hero-marketing { min-height: 340px; }
    .hero-marketing .hero-content { padding: 60px 0 48px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .hero-marketing h1 { font-size: 42px; }
}

/* ── EVENTS STRIP ────────────────────────────────────────── */
.events-strip {
    background-color: #132534;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    overflow: hidden;
}
.events-strip-label {
    display: inline-block;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #e8c87a;
    padding: 14px 22px 14px 0;
    border-right: 1px solid rgba(255,255,255,0.1);
    margin-right: 20px;
    vertical-align: middle;
    white-space: nowrap;
}
.events-strip-list {
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
    overflow-x: auto;
    max-width: calc(100% - 120px);
}
.event-strip-pill {
    display: inline-block;
    padding: 12px 18px;
    border-right: 1px solid rgba(255,255,255,0.06);
    vertical-align: middle;
    text-decoration: none;
}
.event-strip-pill:hover { background-color: rgba(255,255,255,0.04); text-decoration: none; }
.event-strip-badge {
    display: inline-block;
    background-color: #b8923a;
    color: #0d1e2c;
    font-size: 10px;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 2px;
    letter-spacing: 0.04em;
    margin-right: 8px;
    vertical-align: middle;
}
.event-strip-title {
    font-size: 12px;
    color: rgba(255,255,255,0.72);
    vertical-align: middle;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}
.event-strip-pill:hover .event-strip-title { color: #fff; }

/* ── SERVICE CARDS ───────────────────────────────────────── */
.service-card {
    display: block;
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    padding: 28px 22px 44px;
    position: relative;
    text-decoration: none;
    color: #0d1e2c;
    min-height: 220px;
    -webkit-transition: background-color 0.2s ease, -webkit-transform 0.2s ease;
    transition: background-color 0.2s ease, transform 0.2s ease;
}
.service-card:hover {
    background-color: #f0f7fb;
    color: #0d1e2c;
    text-decoration: none;
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
}
.service-card.service-card-dark {
    background-color: #1a3347;
}
.service-card.service-card-dark:hover { background-color: #2e5f7e; }
.service-card-num {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 34px;
    color: #d4eaf4;
    line-height: 1;
    margin-bottom: 12px;
}
.service-card.service-card-dark .service-card-num { color: rgba(255,255,255,0.15); }
.service-card-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
    font-weight: 500;
    color: #0d1e2c;
    margin-bottom: 8px;
    line-height: 1.2;
}
.service-card.service-card-dark .service-card-name { color: #ffffff; }
.service-card-desc {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.65;
}
.service-card.service-card-dark .service-card-desc { color: rgba(255,255,255,0.55); }
.service-card-arrow {
    position: absolute;
    bottom: 16px;
    right: 16px;
    width: 26px;
    height: 26px;
    border: 1px solid rgba(13,30,44,0.15);
    border-radius: 50%;
    text-align: center;
    line-height: 24px;
    font-size: 12px;
    color: #5a7a8e;
}
.service-card.service-card-dark .service-card-arrow { border-color: rgba(255,255,255,0.25); color: rgba(255,255,255,0.6); }

/* ── CPG TAGS ────────────────────────────────────────────── */
.cpg-tags-wrap {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 6px;
    padding: 18px 20px;
    margin-bottom: 20px;
}
.cpg-tags-label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #5a7a8e;
    margin-bottom: 10px;
}
.cpg-tag {
    display: inline-block;
    font-size: 11px;
    color: #2e5f7e;
    background-color: #f0f7fb;
    border: 1px solid #d4eaf4;
    padding: 4px 10px;
    border-radius: 20px;
    margin: 3px 3px 3px 0;
}

/* ── BULLETIN CARDS ──────────────────────────────────────── */
.bulletin-card {
    display: block;
    background-color: #f7f9fb;
    border: 1px solid rgba(13,30,44,0.1);
    padding: 24px 20px 44px;
    position: relative;
    text-decoration: none;
    color: #0d1e2c;
    min-height: 180px;
    -webkit-transition: background-color 0.2s ease;
    transition: background-color 0.2s ease;
}
.bulletin-card:hover {
    background-color: #f0f7fb;
    color: #0d1e2c;
    text-decoration: none;
}
.bulletin-tag {
    display: inline-block;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #2e5f7e;
    background-color: #d4eaf4;
    padding: 3px 8px;
    border-radius: 2px;
    margin-bottom: 10px;
}
.bulletin-card-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    color: #0d1e2c;
    line-height: 1.3;
    margin-bottom: 10px;
}
.bulletin-card.bulletin-card-featured .bulletin-card-title { font-size: 22px; }
.bulletin-card-text {
    font-size: 12px;
    color: #5a7a8e;
    line-height: 1.65;
}
.bulletin-read-more {
    position: absolute;
    bottom: 14px;
    left: 20px;
    font-size: 11px;
    font-weight: 500;
    color: #2e5f7e;
}

/* ── BULLETIN CTA STRIP ──────────────────────────────────── */
.bulletin-cta-strip {
    background-color: #f0f7fb;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 8px;
    padding: 24px 28px;
    margin-top: 24px;
}
.bulletin-cta-strip h4 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 4px;
}
.bulletin-cta-strip p { font-size: 13px; color: #5a7a8e; margin-bottom: 0; }

/* ── INHOUSE SECTION ─────────────────────────────────────── */
.inhouse-feature-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 14px;
}
.inhouse-feature-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #b8923a;
    margin-top: 7px;
    margin-right: 12px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.inhouse-feature-text { font-size: 13px; color: rgba(255,255,255,0.65); line-height: 1.6; }
.inhouse-feature-text strong { color: #ffffff; font-weight: 500; }
.inhouse-img-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}
.inhouse-img-wrap img {
    width: 100%;
    display: block;
    -webkit-filter: brightness(0.83) saturate(0.85);
    filter: brightness(0.83) saturate(0.85);
}
.inhouse-img-badge {
    position: absolute;
    bottom: 16px;
    left: 16px;
    right: 16px;
    background-color: rgba(13,30,44,0.88);
    border: 1px solid rgba(184,146,58,0.3);
    border-radius: 7px;
    padding: 12px 16px;
}
.inhouse-badge-icon {
    display: inline-block;
    width: 34px;
    height: 34px;
    background-color: #b8923a;
    border-radius: 4px;
    text-align: center;
    line-height: 34px;
    font-size: 15px;
    margin-right: 10px;
    vertical-align: middle;
    color: #0d1e2c;
}
.inhouse-badge-lbl {
    font-size: 10px;
    color: #e8c87a;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    display: block;
}
.inhouse-badge-val {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 16px;
    color: #ffffff;
    font-weight: 500;
    display: block;
    margin-top: 1px;
}

/* ── ABOUT / STAT CARDS ──────────────────────────────────── */
.stat-card {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    padding: 20px 16px;
}
.stat-card-num {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    color: #2e5f7e;
    line-height: 1;
    margin-bottom: 4px;
}
.stat-card-label { font-size: 11px; color: #5a7a8e; line-height: 1.4; }
.about-quote {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
    font-style: italic;
    color: #1a3347;
    line-height: 1.45;
    border-left: 2px solid #b8923a;
    padding-left: 18px;
    margin: 20px 0;
}
.award-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 7px;
    padding: 16px;
    margin-top: 20px;
    text-decoration: none;
    -webkit-transition: -webkit-box-shadow 0.2s ease;
    transition: box-shadow 0.2s ease;
}
.award-card:hover { -webkit-box-shadow: 0 4px 18px rgba(13,30,44,0.1); box-shadow: 0 4px 18px rgba(13,30,44,0.1); text-decoration: none; }
.award-card img { width: 56px; height: 56px; -o-object-fit: contain; object-fit: contain; margin-right: 14px; -ms-flex-negative: 0; flex-shrink: 0; }
.award-card-lbl { font-size: 10px; color: #5a7a8e; letter-spacing: 0.06em; text-transform: uppercase; }
.award-card-val  { font-size: 13px; font-weight: 500; color: #0d1e2c; margin-top: 3px; line-height: 1.35; }

/* ── EVENTS SECTION ──────────────────────────────────────── */
.event-type-card {
    background-color: #f7f9fb;
    border: 1px solid rgba(13,30,44,0.1);
    padding: 22px 18px 36px;
    margin-bottom: 2px;
}
.event-type-card img {
    width: 100%;
    aspect-ratio: 3/2;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 14px;
    -webkit-filter: saturate(0.75);
    filter: saturate(0.75);
    display: block;
    height: 140px;
}
.event-type-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 19px;
    font-weight: 500;
    color: #0d1e2c;
    margin-bottom: 7px;
}
.event-type-desc { font-size: 12px; color: #5a7a8e; line-height: 1.6; }
.upcoming-event-row {
    background-color: #f7f9fb;
    border: 1px solid rgba(13,30,44,0.1);
    padding: 18px 24px;
    margin-bottom: 2px;
    text-decoration: none;
    display: block;
    -webkit-transition: background-color 0.2s ease;
    transition: background-color 0.2s ease;
}
.upcoming-event-row:hover { background-color: #f0f7fb; text-decoration: none; }
.upcoming-event-date { font-size: 11px; font-weight: 500; color: #b8923a; letter-spacing: 0.06em; margin-bottom: 3px; }
.upcoming-event-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    color: #0d1e2c;
}
.event-dur-badge {
    display: inline-block;
    font-size: 10px;
    background-color: #f0f7fb;
    border: 1px solid rgba(13,30,44,0.1);
    color: #2e5f7e;
    padding: 3px 9px;
    border-radius: 20px;
    font-weight: 500;
    margin-left: 8px;
    vertical-align: middle;
}

/* ── CONTACT SECTION ─────────────────────────────────────── */
.contact-detail-icon {
    display: inline-block;
    width: 36px;
    height: 36px;
    background-color: rgba(255,255,255,0.08);
    border-radius: 4px;
    text-align: center;
    line-height: 36px;
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    margin-right: 12px;
    vertical-align: middle;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.contact-detail-lbl { font-size: 10px; color: #e8c87a; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 2px; }
.contact-detail-val { font-size: 13px; color: rgba(255,255,255,0.78); }
.contact-detail-val a { color: rgba(255,255,255,0.78); }
.contact-detail-val a:hover { color: #ffffff; }
.contact-form-wrap {
    background-color: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    padding: 28px;
}
.contact-form-wrap .form-control {
    background-color: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 3px;
    color: #ffffff;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    -webkit-box-shadow: none;
    box-shadow: none;
    height: 40px;
}
.contact-form-wrap .form-control::-webkit-input-placeholder { color: rgba(255,255,255,0.3); }
.contact-form-wrap .form-control:-ms-input-placeholder { color: rgba(255,255,255,0.3); }
.contact-form-wrap .form-control::placeholder { color: rgba(255,255,255,0.3); }
.contact-form-wrap .form-control:focus {
    border-color: #b8923a;
    background-color: rgba(255,255,255,0.1);
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #ffffff;
}
.contact-form-wrap textarea.form-control { height: auto; min-height: 90px; }
.contact-form-wrap label {
    font-size: 10px;
    color: rgba(255,255,255,0.55);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 5px;
}
.contact-form-wrap select.form-control option { background-color: #132534; color: #fff; }

/* ── FOOTER ──────────────────────────────────────────────── */
.footer-marketing {
    background-color: #0d1e2c;
    border-top: 1px solid rgba(255,255,255,0.07);
    padding: 48px 0 24px;
}
.footer-logo {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 26px;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    letter-spacing: -0.02em;
}
.footer-logo em { font-style: italic; color: #e8c87a; font-weight: 400; }
.footer-logo img { height: 38px; width: auto; }
.footer-tagline { font-size: 13px; color: rgba(255,255,255,0.45); margin-top: 10px; max-width: 260px; line-height: 1.6; }
.footer-col-title {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #e8c87a;
    margin-bottom: 14px;
}
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 8px; }
.footer-links a { font-size: 13px; color: rgba(255,255,255,0.52); text-decoration: none; -webkit-transition: color 0.2s ease; transition: color 0.2s ease; }
.footer-links a:hover { color: rgba(255,255,255,0.9); }
.footer-event-item { margin-bottom: 12px; }
.footer-event-date { font-size: 10px; color: #e8c87a; letter-spacing: 0.04em; margin-bottom: 2px; }
.footer-event-name { font-size: 13px; color: rgba(255,255,255,0.55); line-height: 1.35; }
.footer-event-name:hover { color: rgba(255,255,255,0.9); text-decoration: none; }
.footer-divider {
    border-top: 1px solid rgba(255,255,255,0.07);
    margin-top: 32px;
    padding-top: 20px;
}
.footer-copy { font-size: 12px; color: rgba(255,255,255,0.3); }
.footer-bottom-links { text-align: right; }
.footer-bottom-links a { font-size: 12px; color: rgba(255,255,255,0.3); margin-left: 16px; text-decoration: none; -webkit-transition: color 0.2s ease; transition: color 0.2s ease; }
.footer-bottom-links a:hover { color: rgba(255,255,255,0.7); }

/* ── COOKIE BANNER ───────────────────────────────────────── */
.cookie-banner {
    position: fixed;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #132534;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 7px;
    padding: 14px 22px;
    z-index: 9999;
    max-width: 600px;
    width: calc(100% - 32px);
    -webkit-box-shadow: 0 8px 32px rgba(0,0,0,0.25);
    box-shadow: 0 8px 32px rgba(0,0,0,0.25);
}
.cookie-banner p { font-size: 12px; color: rgba(255,255,255,0.62); margin: 0; line-height: 1.5; }
.cookie-banner a { color: #e8c87a; }

/* ── SHARED HELPERS ──────────────────────────────────────── */
.divider-gold {
    border: none;
    border-top: 1px solid #b8923a;
    opacity: 0.35;
    margin: 0;
}
.rounded-sm { border-radius: 4px; }
.rounded-md { border-radius: 8px; }
.mt-0  { margin-top: 0; }
.mb-0  { margin-bottom: 0; }
.mt-8  { margin-top: 8px; }
.mb-8  { margin-bottom: 8px; }
.mt-16 { margin-top: 16px; }
.mb-16 { margin-bottom: 16px; }
.mt-24 { margin-top: 24px; }
.mb-24 { margin-bottom: 24px; }
.mt-32 { margin-top: 32px; }
.mb-32 { margin-bottom: 32px; }
.gap-2 { margin-bottom: 2px; }

/* Borderless grid gap trick: 2px gutters between service/bulletin cards */
.card-grid-row { margin-left: -1px; margin-right: -1px; }
.card-grid-row > [class*="col-"] { padding-left: 1px; padding-right: 1px; margin-bottom: 2px; }

/* ── ABOUT PAGE ──────────────────────────────────────────── */
.team-card {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    padding: 20px;
    text-align: center;
    margin-bottom: 24px;
    -webkit-transition: -webkit-box-shadow 0.2s ease;
    transition: box-shadow 0.2s ease;
}
.team-card:hover { -webkit-box-shadow: 0 4px 18px rgba(13,30,44,0.1); box-shadow: 0 4px 18px rgba(13,30,44,0.1); }
.team-card img { width: 100%; display: block; margin-bottom: 14px; border-radius: 4px; }
.team-card-name { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 18px; font-weight: 500; color: #0d1e2c; margin-bottom: 3px; }
.team-card-role { font-size: 11px; color: #5a7a8e; letter-spacing: 0.04em; }
.team-card-bio { font-size: 12px; color: #5a7a8e; margin-top: 8px; line-height: 1.6; }

.testimonial-panel-grid > [class*="col-"] { margin-bottom: 18px; }
.testimonial-panel {
    background-color: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    padding: 20px 18px;
    min-height: 190px;
}
.testimonial-panel-text {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-style: italic;
    line-height: 1.45;
    color: rgba(255,255,255,0.88);
    margin-bottom: 18px;
}
.testimonial-panel-person {
    font-size: 12px;
    line-height: 1.5;
    color: #e8c87a;
    margin-bottom: 0;
}

/* ── SERVICES PAGE ───────────────────────────────────────── */
.service-listing {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 6px;
    padding: 28px 24px;
    margin-bottom: 20px;
    -webkit-transition: -webkit-box-shadow 0.2s ease;
    transition: box-shadow 0.2s ease;
}
.service-listing:hover { -webkit-box-shadow: 0 4px 18px rgba(13,30,44,0.08); box-shadow: 0 4px 18px rgba(13,30,44,0.08); }
.service-listing h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 24px; font-weight: 500; color: #0d1e2c; margin-top: 0; }
.service-listing p { font-size: 14px; color: #5a7a8e; line-height: 1.7; }

/* ── CONTACT PAGE ────────────────────────────────────────── */
.contact-tile {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 6px;
    padding: 24px 20px;
    text-align: center;
    margin-bottom: 20px;
}
.contact-tile .fa { font-size: 28px; color: #2e5f7e; margin-bottom: 12px; display: block; }
.contact-tile h4 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 20px; color: #0d1e2c; margin-top: 0; margin-bottom: 6px; }
.contact-tile p { font-size: 13px; color: #5a7a8e; margin: 0; }
.contact-tile a { color: #2e5f7e; }

/* ── EVENTS PAGE ─────────────────────────────────────────── */
.events-toolbar {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 24px;
}
.events-toolbar-copy {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.7;
    margin-bottom: 16px;
}
.events-toolbar-search {
    position: relative;
    margin-bottom: 18px;
}
.events-toolbar-search .fa {
    position: absolute;
    left: 14px;
    top: 50%;
    margin-top: -7px;
    color: #5a7a8e;
    font-size: 14px;
}
.events-toolbar-search input {
    width: 100%;
    height: 44px;
    border: 1px solid rgba(13,30,44,0.14);
    border-radius: 6px;
    padding: 0 14px 0 40px;
    font-size: 13px;
    color: #0d1e2c;
    background-color: #f7f9fb;
}
.events-toolbar-search input:focus {
    outline: none;
    border-color: #2e5f7e;
    background-color: #ffffff;
}
.events-filter-group { margin-bottom: 14px; }
.events-filter-label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #5a7a8e;
    margin-bottom: 10px;
}
.events-filter-chips {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
}
.events-filter-chip {
    border: 1px solid rgba(13,30,44,0.12);
    background-color: #ffffff;
    color: #2e5f7e;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    line-height: 1.2;
    -webkit-transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.events-filter-chip:hover,
.events-filter-chip:focus {
    color: #0d1e2c;
    border-color: #2e5f7e;
    text-decoration: none;
    outline: none;
}
.events-filter-chip.is-active {
    background-color: #1a3347;
    border-color: #1a3347;
    color: #ffffff;
}
.events-toolbar-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}
.events-toolbar-note {
    font-size: 12px;
    color: #5a7a8e;
    margin: 0;
}
.events-list-stack { margin-bottom: 24px; }
.event-marketing-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 18px;
    -webkit-box-shadow: 0 8px 24px rgba(13,30,44,0.04);
    box-shadow: 0 8px 24px rgba(13,30,44,0.04);
}
.event-marketing-media {
    width: 34%;
    min-height: 100%;
    background-color: #132534;
}
.event-marketing-media img {
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
    display: block;
}
.event-marketing-body {
    width: 66%;
    padding: 26px 26px 22px;
}
.event-marketing-topline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 14px;
}
.event-marketing-kicker {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #b8923a;
    margin-bottom: 8px;
}
.event-marketing-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 31px;
    font-weight: 500;
    line-height: 1.05;
    color: #0d1e2c;
    margin: 0;
}
.event-marketing-title a { color: inherit; }
.event-marketing-title a:hover { color: #2e5f7e; text-decoration: none; }
.event-status-pill {
    display: inline-block;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 7px 10px;
    border-radius: 999px;
    white-space: nowrap;
}
.event-status-pill.is-live {
    background-color: #f0f7fb;
    color: #2e5f7e;
    border: 1px solid rgba(46,95,126,0.18);
}
.event-status-pill.is-sold-out {
    background-color: rgba(184,146,58,0.14);
    color: #8f6c1a;
    border: 1px solid rgba(184,146,58,0.24);
}
.event-marketing-meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.event-meta-pill {
    display: inline-block;
    font-size: 11px;
    line-height: 1.3;
    color: #2e5f7e;
    background-color: #f0f7fb;
    border: 1px solid #d4eaf4;
    border-radius: 999px;
    padding: 5px 10px;
}
.event-marketing-summary {
    font-size: 14px;
    color: #5a7a8e;
    line-height: 1.75;
    margin-bottom: 18px;
}
.event-marketing-secondary {
    background-color: #f7f9fb;
    border: 1px solid rgba(13,30,44,0.08);
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 18px;
}
.event-marketing-secondary-label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #5a7a8e;
    margin-bottom: 8px;
}
.event-marketing-secondary-item {
    font-size: 13px;
    line-height: 1.6;
    color: #2e5f7e;
    margin-bottom: 6px;
}
.event-marketing-secondary-item:last-child { margin-bottom: 0; }
.event-marketing-secondary-item a { color: #2e5f7e; }
.event-marketing-actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
}
.event-sidebar-card {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 10px;
    padding: 22px 20px;
    margin-bottom: 20px;
}
.event-sidebar-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.1;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 12px;
}
.event-sidebar-copy {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.7;
    margin-bottom: 14px;
}
.event-sidebar-item {
    padding: 14px 0;
    border-top: 1px solid rgba(13,30,44,0.08);
}
.event-sidebar-item:first-of-type { border-top: none; padding-top: 0; }
.event-sidebar-item:last-of-type { padding-bottom: 0; }
.event-sidebar-item-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
    font-weight: 500;
    color: #0d1e2c;
    line-height: 1.25;
    margin-bottom: 4px;
}
.event-sidebar-item-meta {
    font-size: 11px;
    color: #b8923a;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
}
.event-sidebar-item-text {
    font-size: 12px;
    color: #5a7a8e;
    line-height: 1.6;
    margin-bottom: 0;
}
.events-empty-state {
    background-color: #ffffff;
    border: 1px dashed rgba(13,30,44,0.18);
    border-radius: 10px;
    padding: 34px 24px;
    text-align: center;
}
.events-empty-state h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 8px;
}
.events-empty-state p {
    font-size: 13px;
    color: #5a7a8e;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .event-marketing-card {
        display: block;
    }
    .event-marketing-media,
    .event-marketing-body {
        width: 100%;
    }
    .event-marketing-media img {
        min-height: 220px;
    }
}

@media (max-width: 767px) {
    .events-toolbar,
    .event-sidebar-card {
        padding: 18px 16px;
    }
    .events-toolbar-footer {
        display: block;
    }
    .events-toolbar-footer .btn {
        width: 100%;
        margin-top: 12px;
    }
    .event-marketing-body {
        padding: 20px 18px 18px;
    }
    .event-marketing-topline {
        display: block;
    }
    .event-status-pill {
        margin-top: 12px;
    }
    .event-marketing-title {
        font-size: 27px;
    }
    .event-marketing-actions .btn {
        width: 100%;
    }
}

/* ── SUBSCRIBE PAGE ──────────────────────────────────────── */
.hero-marketing-subscribe {
    min-height: 520px;
}
.subscribe-anchor {
    position: relative;
    top: -84px;
}
.subscribe-hero-panel {
    background-color: rgba(255,255,255,0.92);
    border: 1px solid rgba(184,146,58,0.28);
    border-radius: 12px;
    padding: 26px 24px;
    -webkit-box-shadow: 0 12px 40px rgba(8,18,27,0.22);
    box-shadow: 0 12px 40px rgba(8,18,27,0.22);
}
.subscribe-hero-panel-label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #5a7a8e;
    margin-bottom: 14px;
}
.subscribe-hero-price-row {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(13,30,44,0.08);
}
.subscribe-hero-price-row.is-secondary {
    margin-bottom: 18px;
}
.subscribe-hero-price-row:last-of-type {
    border-bottom: none;
}
.subscribe-hero-price-amount {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 42px;
    font-weight: 500;
    color: #0d1e2c;
    line-height: 1;
    margin-bottom: 6px;
}
.subscribe-hero-price-copy {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.65;
}
.subscribe-hero-checklist {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}
.subscribe-hero-checklist li {
    position: relative;
    font-size: 13px;
    color: #2a4658;
    line-height: 1.7;
    padding-left: 20px;
    margin-bottom: 10px;
}
.subscribe-hero-checklist li:last-child {
    margin-bottom: 0;
}
.subscribe-hero-checklist li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #b8923a;
}
.subscribe-tier-card {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 8px;
    padding: 20px 18px;
    margin-bottom: 14px;
}
.subscribe-tier-card.is-primary {
    border-color: rgba(184,146,58,0.45);
    background-color: #fcfaf4;
}
.subscribe-tier-amount {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 38px;
    font-weight: 500;
    color: #0d1e2c;
    line-height: 1;
    margin-bottom: 4px;
}
.subscribe-tier-meta {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b8923a;
    margin-bottom: 10px;
}
.subscribe-tier-card p {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.7;
    margin-bottom: 0;
}
.subscribe-embed-card {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 10px;
    padding: 20px;
    min-height: 100%;
}
.subscribe-embed-card h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 32px;
    font-weight: 500;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 8px;
}
.subscribe-embed-card p {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.7;
    margin-bottom: 16px;
}
.subscribe-feature-grid > [class*="col-"] {
    margin-bottom: 22px;
}
.subscribe-feature-card {
    background-color: #f7f9fb;
    border: 1px solid rgba(13,30,44,0.08);
    border-radius: 10px;
    padding: 24px 22px;
    min-height: 100%;
}
.subscribe-feature-icon {
    display: inline-block;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background-color: #1a3347;
    color: #e8c87a;
    text-align: center;
    line-height: 48px;
    font-size: 18px;
    margin-bottom: 16px;
}
.subscribe-feature-card h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 24px;
    font-weight: 500;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 10px;
    line-height: 1.2;
}
.subscribe-feature-card p {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.75;
    margin-bottom: 0;
}
.subscribe-topic-card {
    display: block;
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    margin-bottom: 18px;
    -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.subscribe-topic-card:hover {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
    -webkit-box-shadow: 0 10px 28px rgba(13,30,44,0.08);
    box-shadow: 0 10px 28px rgba(13,30,44,0.08);
    text-decoration: none;
}
.subscribe-topic-media img {
    display: block;
    width: 100%;
    height: 166px;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-filter: saturate(0.82);
    filter: saturate(0.82);
}
.subscribe-topic-body {
    padding: 18px 18px 20px;
}
.subscribe-topic-kicker {
    display: inline-block;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #b8923a;
    margin-bottom: 8px;
}
.subscribe-topic-body h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 23px;
    font-weight: 500;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 8px;
    line-height: 1.2;
}
.subscribe-topic-body p {
    font-size: 12px;
    color: #5a7a8e;
    line-height: 1.7;
    margin-bottom: 0;
}
.subscribe-sample-callout {
    background-color: #132534;
    border-radius: 10px;
    padding: 18px 20px;
    font-size: 13px;
    color: rgba(255,255,255,0.72);
    line-height: 1.7;
}
.subscribe-sample-callout a {
    color: #e8c87a;
}
.subscribe-faq-card {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 10px;
    padding: 24px 22px;
    margin-bottom: 20px;
    min-height: 190px;
}
.subscribe-faq-card h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 24px;
    font-weight: 500;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 10px;
    line-height: 1.2;
}
.subscribe-faq-card p {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.75;
    margin-bottom: 0;
}
.subscribe-cta-panel {
    background-color: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    padding: 28px 30px;
}
.subscribe-cta-panel p {
    font-size: 14px;
    color: rgba(255,255,255,0.62);
    line-height: 1.8;
    margin-bottom: 0;
}
.subscribe-cta-actions {
    text-align: right;
}

@media (max-width: 991px) {
    .hero-marketing-subscribe {
        min-height: 440px;
    }
    .subscribe-hero-panel {
        margin-top: 28px;
    }
    .subscribe-embed-card {
        margin-top: 24px;
    }
    .subscribe-cta-actions {
        text-align: left;
    }
}

@media (max-width: 767px) {
    .subscribe-hero-panel,
    .subscribe-embed-card,
    .subscribe-feature-card,
    .subscribe-faq-card,
    .subscribe-cta-panel {
        padding: 20px 18px;
    }
    .subscribe-hero-price-amount,
    .subscribe-tier-amount {
        font-size: 34px;
    }
    .subscribe-topic-media img {
        height: 150px;
    }
    .hero-marketing-subscribe .btn {
        width: 100%;
        margin-left: 0 !important;
        margin-bottom: 10px;
    }
    .subscribe-cta-actions .btn {
        width: 100%;
        margin-left: 0 !important;
        margin-top: 10px;
    }
}

/* ── EVENT DETAIL / REGISTRATION ─────────────────────────── */
.event-status-pill.is-archive {
    background-color: #d4eaf4;
    color: #1a3347;
}
.event-detail-hero-panel {
    background-color: rgba(255,255,255,0.92);
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 12px;
    padding: 22px 20px;
    -webkit-box-shadow: 0 10px 30px rgba(8,18,27,0.2);
    box-shadow: 0 10px 30px rgba(8,18,27,0.2);
}
.event-detail-hero-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
}
.event-detail-hero-list li {
    padding: 12px 0;
    border-top: 1px solid rgba(13,30,44,0.08);
}
.event-detail-hero-list li:first-child {
    border-top: none;
    padding-top: 0;
}
.event-detail-hero-list span {
    display: block;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5a7a8e;
    margin-bottom: 4px;
}
.event-detail-hero-list strong {
    display: block;
    font-size: 14px;
    line-height: 1.6;
    color: #0d1e2c;
    font-weight: 500;
}
.event-detail-hero-note {
    font-size: 12px;
    color: #5a7a8e;
    line-height: 1.7;
    margin: 14px 0 0;
}
.event-detail-richtext {
    font-size: 14px;
    color: #5a7a8e;
    line-height: 1.8;
}
.event-detail-richtext p:last-child {
    margin-bottom: 0;
}
.event-detail-richtext ul,
.event-detail-richtext ol {
    padding-left: 20px;
}
.event-detail-callout {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-left: 3px solid #b8923a;
    border-radius: 10px;
    padding: 22px 20px;
    margin-bottom: 20px;
}
.event-detail-callout-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 10px;
}
.event-detail-date-item {
    padding: 12px 0;
    border-top: 1px solid rgba(13,30,44,0.08);
}
.event-detail-date-item:first-of-type {
    border-top: none;
    padding-top: 0;
}
.event-detail-date-item strong,
.event-detail-date-item span {
    display: block;
}
.event-detail-date-item strong {
    font-size: 15px;
    color: #0d1e2c;
}
.event-detail-date-item span {
    font-size: 12px;
    color: #5a7a8e;
    line-height: 1.6;
}
.event-detail-date-item a {
    text-decoration: none;
}
.event-speaker-card {
    background-color: #f7f9fb;
    border: 1px solid rgba(13,30,44,0.08);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 20px;
    min-height: 100%;
}
.event-speaker-media img {
    display: block;
    width: 100%;
    height: 220px;
    -o-object-fit: cover;
    object-fit: cover;
}
.event-speaker-body {
    padding: 18px;
}
.event-speaker-body h4 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 24px;
    font-weight: 500;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 6px;
}
.event-speaker-role {
    font-size: 12px;
    color: #2e5f7e;
    line-height: 1.6;
    margin-bottom: 8px;
}
.event-speaker-topic {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #b8923a;
    margin-bottom: 10px;
}
.event-speaker-body p:last-child {
    margin-bottom: 0;
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.75;
}
.event-sponsor-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 18px;
    padding: 16px 0;
    border-top: 1px solid rgba(13,30,44,0.08);
}
.event-sponsor-card:first-of-type {
    border-top: none;
    padding-top: 0;
}
.event-sponsor-logo {
    width: 140px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.event-sponsor-logo img {
    width: 100%;
    display: block;
    border-radius: 6px;
    background-color: #ffffff;
}
.event-sponsor-body h4 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 24px;
    font-weight: 500;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 6px;
}
.event-sponsor-body p {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.75;
    margin-bottom: 0;
}
.event-detail-address {
    font-size: 14px;
    color: #5a7a8e;
    line-height: 1.8;
}
.event-map-frame {
    margin-top: 14px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(13,30,44,0.08);
}
.event-map-frame iframe {
    width: 100%;
    height: 360px;
    border: 0;
    display: block;
}
.event-online-panel {
    background-color: #f0f7fb;
    border: 1px solid #d4eaf4;
    border-radius: 8px;
    padding: 18px;
    font-size: 14px;
    color: #2a4658;
    line-height: 1.75;
}
.detail-fact-list {
    margin: 0;
}
.detail-fact-item {
    padding: 12px 0;
    border-top: 1px solid rgba(13,30,44,0.08);
}
.detail-fact-item:first-child {
    border-top: none;
    padding-top: 0;
}
.detail-fact-label {
    display: block;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5a7a8e;
    margin-bottom: 4px;
}
.detail-fact-value {
    display: block;
    font-size: 13px;
    color: #0d1e2c;
    line-height: 1.7;
}
.detail-fact-value a {
    color: #2e5f7e;
}
.event-sidebar-sticky {
    position: sticky;
    top: 92px;
}
.event-register-note {
    font-size: 12px;
    color: #5a7a8e;
    line-height: 1.7;
    margin-bottom: 18px;
}

/* ── PLATFORM / CAREERS / TEAM ───────────────────────────── */
.tool-feature-panel {
    background-color: rgba(255,255,255,0.92);
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 12px;
    padding: 24px 22px;
    -webkit-box-shadow: 0 10px 30px rgba(8,18,27,0.18);
    box-shadow: 0 10px 30px rgba(8,18,27,0.18);
}
.tool-feature-logo {
    max-width: 220px;
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 16px;
}
.tool-feature-copy {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.75;
    margin-bottom: 16px;
}
.platform-benefit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 14px;
    padding: 14px 0;
    border-top: 1px solid rgba(13,30,44,0.08);
}
.platform-benefit:first-of-type {
    border-top: none;
    padding-top: 0;
}
.platform-benefit i {
    width: 40px;
    height: 40px;
    background-color: #1a3347;
    color: #e8c87a;
    border-radius: 8px;
    text-align: center;
    line-height: 40px;
    font-size: 16px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.platform-benefit h4 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    color: #0d1e2c;
    margin-top: 0;
    margin-bottom: 4px;
}
.platform-benefit p {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.7;
    margin-bottom: 0;
}
.career-role-card {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 10px;
    padding: 24px;
}
.career-role-copy {
    font-size: 14px;
    color: #5a7a8e;
    line-height: 1.8;
    margin-bottom: 0;
}
.career-section-card {
    min-height: 100%;
}
.career-list {
    padding-left: 18px;
    margin-bottom: 0;
}
.career-list li {
    font-size: 13px;
    color: #5a7a8e;
    line-height: 1.75;
    margin-bottom: 10px;
}
.career-list li:last-child {
    margin-bottom: 0;
}
.profile-spotlight-media {
    background-color: #ffffff;
    border: 1px solid rgba(13,30,44,0.1);
    border-radius: 10px;
    overflow: hidden;
}
.profile-spotlight-media img {
    width: 100%;
    display: block;
}
.profile-spotlight-role {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #2e5f7e;
    margin-bottom: 14px;
}
.profile-spotlight-copy {
    font-size: 14px;
    color: #5a7a8e;
    line-height: 1.85;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .event-sidebar-sticky {
        position: static;
    }
    .event-detail-hero-panel,
    .tool-feature-panel {
        margin-top: 28px;
    }
}

@media (max-width: 767px) {
    .event-detail-hero-panel,
    .event-detail-callout,
    .career-role-card {
        padding: 20px 18px;
    }
    .event-sponsor-card {
        display: block;
    }
    .event-sponsor-logo {
        width: 100%;
        margin-bottom: 12px;
    }
    .event-speaker-media img {
        height: 200px;
    }
    .event-map-frame iframe {
        height: 280px;
    }
}
