/* ============================================================
   HAXD sections — modern enhancement layer (additive, reversible)
   Alternating bands · upgraded cards · eyebrow headings ·
   warm badges · gradient-node timeline. Loads after pages.css.
   ============================================================ */

/* ---- Eyebrow label above section titles (editorial) ---- */
.sec-eyebrow {
  display: inline-block; letter-spacing: .16em; text-transform: uppercase;
  font-weight: 800; font-size: .78rem; color: var(--primary-color, #B8510D);
  margin-bottom: .4rem;
}
html[data-theme="dark"] .sec-eyebrow { color: #E8A15A; }

/* ---- Full-bleed tinted band (breaks the flat background) ---- */
.sec-band {
  position: relative;
  background:
    radial-gradient(900px 400px at 12% 0%, rgba(184,81,13,.06), transparent 60%),
    radial-gradient(900px 400px at 88% 100%, rgba(212,175,55,.07), transparent 60%),
    linear-gradient(180deg, #FFF8F0 0%, #FEF3E7 100%);
  border-top: 1px solid rgba(184,81,13,.08);
  border-bottom: 1px solid rgba(184,81,13,.08);
}
html[data-theme="dark"] .sec-band {
  background:
    radial-gradient(900px 400px at 12% 0%, rgba(212,114,42,.10), transparent 60%),
    radial-gradient(900px 400px at 88% 100%, rgba(212,175,55,.08), transparent 60%),
    linear-gradient(180deg, #1a1005 0%, #14100a 100%);
  border-color: rgba(255,255,255,.06);
}
/* Deep gradient band (for CTA — warm, punchy) */
.sec-band-deep {
  background:
    radial-gradient(700px 380px at 20% 10%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(135deg, #8B3A06 0%, #B8510D 55%, #C45B28 100%);
  color: #fff;
}
.sec-band-deep::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 20px 20px;
}
.sec-band-deep .section-title,
.sec-band-deep h2,
.sec-band-deep p { color:#fff !important; }
.sec-band-deep .section-title::after { background: linear-gradient(to right,#FBE7C6,rgba(251,231,198,.5)) !important; }

/* ---- Research-topic cards: gradient chip + spotlight lift + index ---- */
.research-topic-card { transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, border-color .3s ease; }
.research-topic-card::after {                          /* soft top-accent line on hover */
  content:""; position:absolute; left:0; top:0; height:3px; width:0;
  background: linear-gradient(90deg,#B8510D,#D4AF37); transition: width .35s ease;
}
.research-topic-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(184,81,13,.14); border-color: rgba(212,175,55,.4); }
.research-topic-card:hover::after { width:100%; }
.research-topic-card .topic-icon-wrap {
  border-radius: 14px; width:56px; height:56px;
  box-shadow: 0 6px 16px rgba(184,81,13,.25);
}
.research-topic-card:hover .topic-icon-wrap { transform: rotate(-4deg) scale(1.06); }

/* ---- Submission-type cards: unified warm look, index number, hover ---- */
.sub-type-card {
  border-radius: 16px !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative; overflow: hidden;
}
.sub-type-card:hover { transform: translateY(-5px); box-shadow: 0 16px 34px rgba(184,81,13,.14); }
.sub-type-card .sub-type-icon {
  background: linear-gradient(135deg,#B8510D,#D4AF37) !important; color:#fff !important;
  box-shadow: 0 6px 16px rgba(184,81,13,.22);
}
/* Recolor the clashing Bootstrap badges to warm tonal variants */
#submission-types .badge.bg-primary,
#submission-types .badge.bg-info,
#submission-types .badge.bg-warning,
#submission-types .badge.bg-success,
#submission-types .badge.bg-secondary {
  background: #FCEFE0 !important; color: #8B3A06 !important; font-weight:700;
}
html[data-theme="dark"] #submission-types .badge {
  background: rgba(212,114,42,.18) !important; color:#F0C89A !important;
}

/* ---- Important Dates timeline: gradient line + glowing nodes ---- */
.htl .htl-line { background: linear-gradient(90deg,#B8510D,#D4AF37) !important; opacity:1 !important; height:3px !important; }
.htl .htl-dot {
  background: linear-gradient(135deg,#B8510D,#D4722A) !important; color:#fff !important;
  box-shadow: 0 4px 14px rgba(184,81,13,.3), 0 0 0 6px #FFF8F0 !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.htl .htl-step:hover .htl-dot { transform: translateY(-3px) scale(1.06); box-shadow: 0 8px 20px rgba(212,175,55,.4), 0 0 0 6px #FFF8F0 !important; }
html[data-theme="dark"] .htl .htl-dot { box-shadow: 0 4px 14px rgba(184,81,13,.4), 0 0 0 6px #14100a !important; }

/* ---- CTA on deep band: white logo chips + light buttons ---- */
.sec-band-deep .cta-ieee-logo { background:#fff; border-radius:8px; padding:6px 10px; }
.sec-band-deep .btn-primary { background:#fff !important; color:#B8510D !important; border-color:#fff !important; }
.sec-band-deep .btn-primary:hover { background:#FCEFE0 !important; color:#8B3A06 !important; }
.sec-band-deep .btn-outline-light { border:1.5px solid rgba(255,255,255,.75) !important; color:#fff !important; background:transparent !important; }
.sec-band-deep .btn-outline-light:hover { background:rgba(255,255,255,.14) !important; border-color:#fff !important; color:#fff !important; }

/* ============================================================
   Bento "At a Glance" module (adapted from IDFC, warm palette)
   ============================================================ */
.bento-head { display: flex; flex-direction: column; align-items: center; }
.bento-head .section-title::after { margin-left: auto; margin-right: auto; }
.bento {
  display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr);
  grid-template-areas:
    "dates venue venue stat1"
    "dates venue venue stat2"
    "cta   cta   cta   stat3";
}
@media (max-width: 860px) {
  .bento { grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "dates dates" "venue venue" "stat1 stat2" "stat3 stat3" "cta cta"; }
}
@media (max-width: 520px) {
  .bento { grid-template-columns: 1fr; grid-template-areas: "dates" "venue" "stat1" "stat2" "stat3" "cta"; }
}
.bento-tile {
  position: relative; background: var(--surface, #fff);
  border: 1px solid rgba(184,81,13,.14); border-radius: 18px; padding: 22px;
  text-decoration: none; color: var(--text-primary, #2C1810); overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  display: flex; flex-direction: column;
}
a.bento-tile:hover { transform: translateY(-4px); border-color: rgba(212,175,55,.5); box-shadow: 0 18px 42px -16px rgba(184,81,13,.32); }
.bento-dates { grid-area: dates; }
.bento-venue { grid-area: venue; }
.bento-cta   { grid-area: cta; }
.bento-kicker {
  font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--primary-color, #B8510D); display: flex; align-items: center; gap: 7px; margin-bottom: 14px; font-weight: 700;
}
.bento-kicker.light { color: #fff; }
.bento-kicker i { color: var(--secondary-light, #D4AF37); }
.bento-kicker.light i { color: #FBE7C6; }
.bento-datelist { list-style: none; margin: 0 0 auto; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.bento-datelist li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-bottom: 1px dashed rgba(184,81,13,.18); padding-bottom: 10px; }
.bento-datelist li:last-child { border-bottom: 0; }
.bento-datelist span { color: var(--text-light, #8B7355); font-size: .9rem; }
.bento-datelist b { font-size: .9rem; color: var(--text-primary, #2C1810); font-weight: 700; }
.bento-link { margin-top: 16px; font-weight: 700; font-size: .88rem; color: var(--primary-color, #B8510D); display: inline-flex; align-items: center; gap: 6px; }
.bento-link.light { color: #fff; }
a.bento-tile:hover .bento-link i { transform: translateX(3px); transition: transform .2s ease; }
.bento-venue { background-size: cover; background-position: center; min-height: 220px; justify-content: flex-end; color: #fff; border-color: rgba(212,175,55,.3); }
.bento-venue-name { font-family: var(--font-heading, "Playfair Display", serif); font-weight: 700; font-size: 1.5rem; letter-spacing: -.02em; margin-bottom: 6px; }
.bento-stat { align-items: flex-start; justify-content: center; background: linear-gradient(160deg, #ffffff 0%, #FEF3E7 100%); }
.bento-s1 { grid-area: stat1; } .bento-s2 { grid-area: stat2; } .bento-s3 { grid-area: stat3; }
.bento-statnum {
  font-family: var(--font-heading, "Playfair Display", serif); font-weight: 800; font-size: 2.1rem; line-height: 1;
  background: linear-gradient(120deg, #B8510D, #D4AF37);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.bento-statlabel { color: var(--text-light, #8B7355); font-size: .85rem; margin-top: 8px; }
.bento-cta {
  flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
  background: linear-gradient(135deg, #8B3A06 0%, #B8510D 100%); border-color: rgba(212,175,55,.22); color: #fff;
}
.bento-cta-title { font-family: var(--font-heading, "Playfair Display", serif); font-weight: 700; font-size: 1.35rem; letter-spacing: -.01em; }
.bento-cta-sub { color: rgba(255,255,255,.85); font-size: .93rem; margin-top: 4px; max-width: 46ch; }
.bento-cta-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.bento-cta .btn-primary { background:#fff !important; color:#B8510D !important; border-color:#fff !important; }
.bento-cta .btn-outline-light { border-color: rgba(255,255,255,.6); color:#fff; }
html[data-theme="dark"] .bento-tile { background: #1e150d; border-color: rgba(212,175,55,.16); color: #F0E6D8; }
html[data-theme="dark"] .bento-stat { background: linear-gradient(160deg, #241a10 0%, #1a1209 100%); }
html[data-theme="dark"] .bento-datelist span { color: #b8a891; }
html[data-theme="dark"] .bento-datelist b { color: #F0E6D8; }
html[data-theme="dark"] .bento-link { color: #E8A15A; }

/* ============================================================
   CFP submission-lifecycle timeline (adapted from IDFC, warm)
   ============================================================ */
.cfp-timeline { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; position: relative; }
.cfp-timeline::before {
  content: ""; position: absolute; top: 27px; left: 8%; right: 8%; height: 3px;
  background: linear-gradient(90deg, #B8510D, #D4AF37); opacity: 1; z-index: 0;
}
.cfp-step { position: relative; text-align: center; z-index: 1; padding: 0 4px; }
.cfp-dot {
  width: 54px; height: 54px; margin: 0 auto 14px; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; font-size: 1.35rem; color: #fff;
  background: linear-gradient(135deg, #B8510D, #D4722A);
  box-shadow: 0 6px 18px -4px rgba(184,81,13,.5), 0 0 0 6px var(--bg, #FFF8F0);
  transition: transform .2s ease, box-shadow .2s ease;
}
.cfp-step:hover .cfp-dot { transform: translateY(-3px) scale(1.05); }
.cfp-step:last-child .cfp-dot { background: linear-gradient(135deg, #D4AF37, #B8960C); box-shadow: 0 6px 18px -4px rgba(212,175,55,.5), 0 0 0 6px var(--bg, #FFF8F0); }
.cfp-step-title { font-family: var(--font-heading, "Playfair Display", serif); font-weight: 700; font-size: 1.02rem; letter-spacing: -.01em; color: var(--text-primary,#2C1810); }
.cfp-step-date { font-size: .8rem; color: var(--primary-color, #B8510D); margin: 3px 0 7px; font-weight: 700; }
.cfp-step-desc { color: var(--text-light, #8B7355); font-size: .86rem; line-height: 1.4; max-width: 22ch; margin: 0 auto; }
@media (max-width: 767.98px) {
  .cfp-timeline { grid-template-columns: 1fr; gap: 1.25rem; padding-left: 1.5rem; }
  .cfp-timeline::before { top: 8px; bottom: 8px; left: 27px; right: auto; width: 3px; height: auto; background: linear-gradient(180deg,#B8510D,#D4AF37); }
  .cfp-step { display: grid; grid-template-columns: 54px 1fr; text-align: left; gap: .25rem 1rem; align-items: center; }
  .cfp-dot { margin: 0; grid-row: span 3; }
  .cfp-step-desc { max-width: none; margin: 0; }
}
html[data-theme="dark"] .cfp-dot { box-shadow: 0 6px 18px -4px rgba(184,81,13,.5), 0 0 0 6px #14100a; }
html[data-theme="dark"] .cfp-step:last-child .cfp-dot { box-shadow: 0 6px 18px -4px rgba(212,175,55,.5), 0 0 0 6px #14100a; }
html[data-theme="dark"] .cfp-step-title { color: #F0E6D8; }
html[data-theme="dark"] .cfp-step-date { color: #E8A15A; }
html[data-theme="dark"] .cfp-step-desc { color: #b8a891; }
.section-badge {
  display:inline-block; letter-spacing:.14em; text-transform:uppercase; font-weight:800; font-size:.75rem;
  color: var(--primary-color,#B8510D); margin-bottom:.5rem;
}
html[data-theme="dark"] .section-badge { color:#E8A15A; }

/* ============================================================
   Keynotes page — premium placeholder speaker cards + features
   ============================================================ */
.kn-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
@media (max-width:991px){ .kn-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .kn-grid{ grid-template-columns:1fr;} }

.kn-card {
  position:relative; overflow:hidden; border-radius:1.25rem; padding:2rem 1.5rem;
  background:#fff; border:1px solid rgba(184,81,13,.14); text-align:center;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.kn-card::before {                       /* soft warm glow top */
  content:""; position:absolute; left:50%; top:-40px; transform:translateX(-50%);
  width:180px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(212,175,55,.22), transparent 70%); pointer-events:none;
}
.kn-card:hover { transform:translateY(-6px); box-shadow:0 20px 44px -18px rgba(184,81,13,.3); border-color:rgba(212,175,55,.45); }
.kn-avatar {
  width:104px; height:104px; margin:0 auto 1rem; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:2.4rem; color:#c9a978;
  background:linear-gradient(160deg,#FFF8F0,#FDEBD3); border:2px dashed rgba(184,81,13,.3);
}
.kn-avatar-img { object-fit:cover; object-position:center 30%; border-style:solid; border-color:rgba(184,81,13,.4); }
.kn-name { font-family:var(--font-heading,"Playfair Display",serif); font-weight:800; font-size:1.2rem; color:#2C1810; }
.kn-role { color:var(--primary-color,#B8510D); font-weight:700; font-size:.85rem; margin-top:.15rem; }
.kn-affil { color:#8B7355; font-size:.85rem; margin-top:.1rem; }
.kn-badge {
  display:inline-flex; align-items:center; gap:.35rem; margin-top:.9rem;
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  color:#8B3A06; background:#FCEFE0; border-radius:50rem; padding:.28rem .8rem;
}
html[data-theme="dark"] .kn-card { background:#1e150d; border-color:rgba(212,175,55,.16); }
html[data-theme="dark"] .kn-name { color:#F0E6D8; }
html[data-theme="dark"] .kn-avatar { background:linear-gradient(160deg,#241a10,#1a1209); color:#8a7350; border-color:rgba(212,175,55,.3); }
html[data-theme="dark"] .kn-badge { background:rgba(212,114,42,.18); color:#F0C89A; }
html[data-theme="dark"] .kn-role { color:#E8A15A; }

/* Feature cards (What to expect) */
.kn-feature { text-align:center; padding:1.75rem 1.25rem; border-radius:1rem; background:#fff; border:1px solid rgba(184,81,13,.12); height:100%; transition:transform .2s ease, box-shadow .2s ease; }
.kn-feature:hover { transform:translateY(-4px); box-shadow:0 14px 30px -14px rgba(184,81,13,.22); }
.kn-feature-icon { width:3rem; height:3rem; margin:0 auto .75rem; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.35rem; color:#fff; background:linear-gradient(135deg,#B8510D,#D4AF37); box-shadow:0 6px 16px rgba(184,81,13,.22); }
.kn-feature h5 { font-weight:700; color:#2C1810; margin-bottom:.35rem; }
.kn-feature p { color:#8B7355; font-size:.9rem; margin:0; }
html[data-theme="dark"] .kn-feature { background:#1e150d; border-color:rgba(212,175,55,.16); }
html[data-theme="dark"] .kn-feature h5 { color:#F0E6D8; }

/* ============================================================
   GLOBAL component polish — applies to every page
   (content-card, hover-card, info-card, tier, cm-cards, page-hero)
   ============================================================ */

/* Content & hover cards: smoother lift, warmer shadow, rounded */
.hover-card, .content-card {
  transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.hover-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 44px -18px rgba(184,81,13,.28) !important;
  border-color: rgba(212,175,55,.4) !important;
}

/* Info cards (dates, venue quick facts): gradient icon + lift */
.info-card {
  border-radius: 16px !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.info-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px -16px rgba(184,81,13,.24); }
.info-card .card-icon {
  background: linear-gradient(135deg,#B8510D,#D4AF37) !important; color:#fff !important;
  box-shadow: 0 6px 16px rgba(184,81,13,.22);
}

/* Committee / list items: refined left-accent + slide */
.cm-compact-item { border-radius: 10px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.cm-compact-item:hover { transform: translateX(4px); box-shadow: 0 6px 18px -8px rgba(184,81,13,.2); }

/* Sponsorship tier cards: premium lift + gradient top accent */
.tier {
  border-radius: 18px !important; position: relative; overflow: hidden;
  transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.tier::before {
  content:""; position:absolute; left:0; top:0; right:0; height:4px;
  background: linear-gradient(90deg,#B8510D,#D4AF37); opacity:.9;
}
.tier:hover { transform: translateY(-8px); box-shadow: 0 26px 54px -20px rgba(184,81,13,.32); border-color: rgba(212,175,55,.5); }
.tier-featured { box-shadow: 0 20px 44px -18px rgba(184,81,13,.3); }

/* Page hero: give a touch more presence + eyebrow support */
.page-hero .sec-eyebrow { display:inline-block; margin-bottom:.4rem; }
.page-hero .display-4 { letter-spacing:-.01em; }

/* Buttons: subtle magnetic lift on hover across pages */
.btn-primary, .btn-secondary, .btn-lg { transition: transform .18s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.btn-primary:hover, .btn-secondary:hover { transform: translateY(-2px); }

/* ============================================================
   Workshops page — accepted-workshop feature cards
   ============================================================ */
.wk-card {
  position:relative; overflow:hidden; border-radius:1.25rem; padding:2rem;
  background:#fff; border:1px solid rgba(184,81,13,.14); color:var(--text-primary,#2C1810);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.wk-card::before { content:""; position:absolute; left:0; top:0; right:0; height:5px; }
.wk-card.wk-indigo::before { background:linear-gradient(90deg,#4F46E5,#06B6D4); }
.wk-card.wk-teal::before   { background:linear-gradient(90deg,#0D9488,#F59E0B); }
.wk-card:hover { transform:translateY(-6px); box-shadow:0 22px 46px -18px rgba(44,24,16,.28); }
.wk-card-icon {
  width:3.5rem; height:3.5rem; border-radius:16px; display:flex; align-items:center; justify-content:center;
  font-size:1.7rem; color:#fff; margin-bottom:1rem;
}
.wk-card.wk-indigo .wk-card-icon { background:linear-gradient(135deg,#4F46E5,#06B6D4); box-shadow:0 8px 20px rgba(79,70,229,.28); }
.wk-card.wk-teal   .wk-card-icon { background:linear-gradient(135deg,#0D9488,#F59E0B); box-shadow:0 8px 20px rgba(13,148,136,.28); }
.wk-card-title { font-family:var(--font-heading,"Playfair Display",serif); font-weight:800; font-size:1.35rem; margin-bottom:.5rem; }
.wk-card-sub { color:#6b7280; font-size:.92rem; line-height:1.5; margin-bottom:1rem; }
.wk-card-link { font-weight:700; font-size:.9rem; display:inline-flex; align-items:center; gap:.4rem; }
.wk-card.wk-indigo .wk-card-link { color:#4F46E5; }
.wk-card.wk-teal   .wk-card-link { color:#0D9488; }
.wk-card:hover .wk-card-link i { transform:translateX(4px); transition:transform .2s ease; }
html[data-theme="dark"] .wk-card { background:#1e150d; border-color:rgba(212,175,55,.16); color:#F0E6D8; }
html[data-theme="dark"] .wk-card-title { color:#F0E6D8; }

/* Featured tier ribbon (cf-sponsors) */
.tier-featured { border:2px solid rgba(212,175,55,.55) !important; transform: translateY(-4px); }
.tier-ribbon {
  position:absolute; top:14px; right:-34px; transform:rotate(45deg);
  background:linear-gradient(135deg,#B8510D,#D4AF37); color:#fff;
  font-size:.68rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  padding:.3rem 2.5rem; box-shadow:0 4px 10px rgba(184,81,13,.25); z-index:2;
}

/* ============================================================
   Venue page — info-card icon chips + gallery band
   ============================================================ */
.venue-info-card {
  border-radius: 16px; padding: 1.75rem 1.25rem; background:#fff;
  border: 1px solid rgba(184,81,13,.12);
  transition: transform .22s ease, box-shadow .22s ease;
}
.venue-info-card:hover { transform: translateY(-5px); box-shadow: 0 16px 34px -16px rgba(184,81,13,.24); }
.venue-info-card > i.bi {
  width:3.25rem; height:3.25rem; margin:0 auto .85rem; border-radius:16px;
  display:flex; align-items:center; justify-content:center; font-size:1.5rem !important;
  color:#fff; background:linear-gradient(135deg,#B8510D,#D4AF37); box-shadow:0 8px 18px rgba(184,81,13,.22);
}
.venue-info-card h4 { font-family:var(--font-heading,"Playfair Display",serif); font-weight:700; color:#2C1810; margin-bottom:.25rem; }
.venue-info-card p { color:#8B7355; }
html[data-theme="dark"] .venue-info-card { background:#1e150d; border-color:rgba(212,175,55,.16); }
html[data-theme="dark"] .venue-info-card h4 { color:#F0E6D8; }

.gallery-section.sec-band { border-radius:0; }

/* ── Format Requirements: at-a-glance + IEEE templates ─────────── */
.fmt-glance {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 24px;
  align-items: stretch;
}
.fmt-specs, .fmt-templates {
  background: linear-gradient(160deg, #ffffff 0%, #FEF3E7 100%);
  border: 1px solid rgba(212,175,55,.28);
  border-radius: 18px;
  padding: 26px 28px;
  box-shadow: 0 10px 30px -18px rgba(184,81,13,.28);
}
.fmt-kicker {
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 700; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase;
  color: var(--primary-color, #B8510D);
  margin-bottom: 18px;
}
.fmt-kicker i { color: var(--secondary-light, #D4AF37); font-size: 1rem; }
.fmt-spec-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.fmt-spec-list li {
  display: flex; justify-content: space-between; align-items: baseline; gap: 16px;
  padding: 13px 0; border-bottom: 1px dashed rgba(184,81,13,.18);
}
.fmt-spec-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.fmt-spec-list span {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--text-light, #8B7355); font-size: .92rem; font-weight: 600; flex-shrink: 0;
}
.fmt-spec-list span i { color: var(--primary-color, #B8510D); }
.fmt-spec-list b { color: var(--text-primary, #2C1810); font-weight: 700; font-size: .92rem; text-align: right; }
.fmt-templates-lead { color: var(--text-light, #8B7355); font-size: .9rem; margin: 0 0 16px; }
.fmt-tpl {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 14px; margin-bottom: 10px;
  border: 1px solid rgba(184,81,13,.16); border-radius: 12px;
  background: #fff; text-decoration: none; transition: all .18s ease;
}
.fmt-tpl:last-child { margin-bottom: 0; }
.fmt-tpl:hover {
  border-color: rgba(212,175,55,.6);
  box-shadow: 0 10px 24px -14px rgba(184,81,13,.4);
  transform: translateY(-2px);
}
.fmt-tpl-ico {
  width: 44px; height: 44px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 11px; font-size: 1.25rem; color: #fff;
  background: linear-gradient(135deg, #B8510D, #D4722A);
}
.fmt-tpl-body { display: flex; flex-direction: column; line-height: 1.25; }
.fmt-tpl-body b { color: var(--text-primary, #2C1810); font-size: .98rem; font-weight: 700; }
.fmt-tpl-body small { color: var(--text-light, #8B7355); font-size: .82rem; }
.fmt-tpl-arrow { margin-left: auto; color: var(--primary-color, #B8510D); font-size: 1rem; transition: transform .18s ease; }
.fmt-tpl:hover .fmt-tpl-arrow { transform: translate(2px,-2px); }
@media (max-width: 767.98px) {
  .fmt-glance { grid-template-columns: 1fr; }
}
/* Dark mode */
html[data-theme="dark"] .fmt-specs,
html[data-theme="dark"] .fmt-templates { background: linear-gradient(160deg, #241a10 0%, #1a1209 100%); border-color: rgba(212,175,55,.18); }
html[data-theme="dark"] .fmt-spec-list span { color: #b8a891; }
html[data-theme="dark"] .fmt-spec-list b,
html[data-theme="dark"] .fmt-tpl-body b { color: #F0E6D8; }
html[data-theme="dark"] .fmt-tpl { background: #1e150d; border-color: rgba(212,175,55,.16); }
html[data-theme="dark"] .fmt-templates-lead,
html[data-theme="dark"] .fmt-tpl-body small { color: #b8a891; }
html[data-theme="dark"] .fmt-kicker { color: #E8A15A; }

/* ── Header brand: full name subtitle (matches footer tone) ────── */
.navbar-brand .brand-lockup { display: inline-flex; flex-direction: column; justify-content: center; line-height: 1; }
.navbar-brand .brand-lockup .brand-text { font-size: 1.05rem; line-height: 1; }
.navbar-brand .brand-sub {
  font-size: .72rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: .01em;
  color: var(--text-light, #8B7355);
  text-transform: none;
  margin-top: 3px;
  white-space: nowrap;
}
html[data-theme="dark"] .navbar-brand .brand-sub { color: #b8a891; }

/* ── CFP scope callout + relevance filter + track numbers ──────── */
.scope-callout {
  background: linear-gradient(160deg, #ffffff 0%, #FEF3E7 100%);
  border: 1px solid rgba(212,175,55,.28);
  border-radius: 16px;
  padding: 20px 22px;
}
.scope-callout-title {
  display: flex; align-items: center;
  font-weight: 700; font-size: 1.02rem; color: var(--primary-color, #B8510D);
}
.scope-callout-title i { color: var(--secondary-light, #D4AF37); }
.scope-chip {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; height: 100%;
  background: #fff; border: 1px solid rgba(184,81,13,.14); border-radius: 11px;
  font-size: .92rem; color: var(--text-primary, #2C1810); font-weight: 600;
}
.scope-chip i { color: var(--primary-color, #B8510D); font-size: 1.05rem; flex-shrink: 0; }
.scope-note {
  display: flex; align-items: flex-start; gap: 4px;
  background: rgba(184,81,13,.06);
  border-left: 3px solid var(--primary-color, #B8510D);
  border-radius: 8px; padding: 14px 16px;
  font-size: .92rem; color: var(--text-primary, #2C1810);
}
.scope-note i { color: var(--primary-color, #B8510D); margin-top: 2px; }
.topic-header h3 .track-num {
  display: block;
  font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: var(--primary-color, #B8510D);
  margin-bottom: 2px;
}
/* Dark mode */
html[data-theme="dark"] .scope-callout { background: linear-gradient(160deg, #241a10 0%, #1a1209 100%); border-color: rgba(212,175,55,.18); }
html[data-theme="dark"] .scope-chip { background: #1e150d; border-color: rgba(212,175,55,.16); color: #F0E6D8; }
html[data-theme="dark"] .scope-note { background: rgba(232,161,90,.1); color: #F0E6D8; }
html[data-theme="dark"] .scope-callout-title,
html[data-theme="dark"] .topic-header h3 .track-num { color: #E8A15A; }

/* ── Poster "What to include" checklist (inside fmt-templates panel) ── */
.poster-include { list-style: none; margin: 0 0 4px; padding: 0; }
.poster-include li {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 9px 0; border-bottom: 1px dashed rgba(184,81,13,.14);
  font-size: .93rem; color: var(--text-primary, #2C1810);
}
.poster-include li:last-child { border-bottom: 0; }
.poster-include li i { color: #2e9e5b; margin-top: 2px; flex-shrink: 0; }
html[data-theme="dark"] .poster-include li { color: #F0E6D8; }

/* ── Venue travel items (card-free, subtle left accent) ────────── */
.travel-item {
  padding: 4px 0 4px 16px;
  border-left: 3px solid rgba(184,81,13,.22);
}
.travel-item h5 { font-weight: 700; margin-bottom: .5rem; }
html[data-theme="dark"] .travel-item { border-left-color: rgba(232,161,90,.3); }
