/* CEBC — Events & Missions | scoped to .cebc (only these pages) */
:root{
  --cebc-cream:#f7ebdf;      /* default page background */
  --cebc-navy:#0b1d4b;       /* important sections */
  --cebc-hero:#071331;       /* hero background (sampled from the approved hero) */
  --cebc-red:#9e0e18;        /* accent on cream sections only */
  --cebc-gold:#cc9e49;       /* accent on navy sections only (replaces red there) */
  --cebc-line:rgba(11,29,75,.14);
  --cebc-line-dark:rgba(247,235,223,.18);
  --cebc-container:1250px;   /* container width — applies to .cebc pages only */
  --cebc-pad:32px;
  --cebc-r-lg:28px; --cebc-r-md:18px; --cebc-r-sm:8px;
  /* Set this to your site's body font (used ONLY for the hero sub-line), e.g. 'Host Grotesk' */
  --cebc-body-font:'Montserrat';
}
.cebc{background:var(--cebc-cream);color:var(--cebc-navy);font-family:'Montserrat',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
.cebc *{box-sizing:border-box}
.cebc h1,.cebc h2,.cebc h3,.cebc h4{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:-.01em;margin:0}
.cebc a{color:inherit}
.cebc .wrap{max-width:calc(var(--cebc-container) + var(--cebc-pad)*2);margin:0 auto;padding:0 var(--cebc-pad)}

/* ===== HERO (pixel-matched) ===== */
.cebc-hero{
  margin:0 15px;
  background:var(--cebc-hero);
  border-radius:45px;
  padding:184px 24px 130px;
  text-align:center;
  margin-top: -75px !important;
}
.cebc-hero-inner{max-width:900px;margin:0 auto}
.cebc .cebc-hero h1{
  font-size:clamp(32px,6vw,54px);line-height:1.25;letter-spacing:0;
  color:var(--cebc-gold);margin:0 auto 34px;max-width:860px;overflow-wrap:anywhere;
}
.cebc .cebc-hero-lead{
  font-family:var(--cebc-body-font),'Montserrat',sans-serif;
  font-size:16px;line-height:24px;color:#fff;margin:0 auto 60px;max-width:780px;font-weight:400;overflow-wrap:anywhere;
}
.cebc-crumbs{display:flex;justify-content:center;align-items:center;font-size:16px;line-height:24px;font-weight:400}
.cebc-crumbs a{color:#fff;text-decoration:none}
.cebc-crumbs .current{color:var(--cebc-gold)}
.cebc-crumbs .cebc-chev{margin:0 12px 0 22px;flex:none}

/* Navy panels (important sections) — gold replaces red */
.cebc .on-navy{background:var(--cebc-navy);color:var(--cebc-cream)}

/* ===== Sections ===== */
.cebc-section{padding:96px 0}
.cebc-section + .cebc-section{border-top:1px solid var(--cebc-line)}
.cebc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:52px;flex-wrap:wrap}
.cebc-head h2{font-size:clamp(28px,3.4vw,42px);line-height:1.15}
.cebc-head .sub{max-width:400px;font-size:15.5px;opacity:.72;margin:0}

/* ===== Cards ===== */
.cebc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cebc-card{background:#fff;border:1px solid var(--cebc-line);border-radius:var(--cebc-r-md);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
.cebc-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(11,29,75,.35)}
.cebc-card .thumb{aspect-ratio:16/10;width:100%;background:linear-gradient(135deg,var(--cebc-navy),var(--cebc-hero));overflow:hidden}
.cebc-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cebc-card .card-body{padding:28px 28px 30px;display:flex;flex-direction:column;gap:14px;flex-grow:1}
.cebc-card .date{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cebc-red)}
.cebc-card h3{font-size:22px;line-height:1.25}
.cebc-card .desc{font-size:14.5px;opacity:.75;flex-grow:1;margin:0}
.cebc-card .loc{font-size:13px;font-weight:500;opacity:.65;padding-top:14px;border-top:1px solid var(--cebc-line)}
.cebc-link{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cebc-red);border-bottom:2px solid var(--cebc-red);padding-bottom:3px;text-decoration:none}

/* Cities */
.cebc-cities{display:flex;flex-wrap:wrap;gap:6px 10px;font-weight:600;font-size:15px}
.cebc-cities span:not(:last-child)::after{content:"·";margin-inline-start:10px;color:var(--cebc-red);font-weight:800}
.cebc .on-navy .cebc-cities span:not(:last-child)::after{color:var(--cebc-gold)}

/* Missions intro */
.cebc-intro h2{font-size:clamp(28px,3.6vw,44px);margin-bottom:20px;max-width:600px}
.cebc-intro p{font-size:17px;opacity:.75;max-width:580px;margin:0}

/* Featured mission (navy) */
.cebc-feature{margin-top:52px;padding:56px 50px;border-radius:var(--cebc-r-lg);display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;border-left:6px solid var(--cebc-gold)}
.cebc-feature .tag{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;color:var(--cebc-gold)}
.cebc-feature h3{font-size:clamp(26px,3vw,38px);line-height:1.15;margin-bottom:16px}
.cebc-feature .copy{font-size:15.5px;color:rgba(247,235,223,.75);max-width:440px;margin:16px 0 32px}
.cebc-visual{aspect-ratio:4/5;border-radius:var(--cebc-r-md);background:rgba(247,235,223,.08) center/cover no-repeat;border:1px solid var(--cebc-line-dark);display:flex;align-items:flex-end;padding:22px}
.cebc-visual span{font-size:13px;font-weight:600;color:var(--cebc-cream);opacity:.85;background:rgba(7,19,49,.55);padding:6px 12px;border-radius:var(--cebc-r-sm)}

/* Buttons */
.cebc-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.cebc-btn{display:inline-block;background:var(--cebc-navy);color:var(--cebc-cream)!important;text-decoration:none;padding:15px 28px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--cebc-navy);border-radius:var(--cebc-r-sm);transition:border-color .2s}
.cebc-btn:hover{border-color:var(--cebc-red)}
.on-navy .cebc-btn{background:var(--cebc-cream);color:var(--cebc-navy)!important;border-color:var(--cebc-cream)}
.on-navy .cebc-btn:hover{border-color:var(--cebc-gold)}
.cebc-ghost{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--cebc-red);border-bottom:2px solid var(--cebc-red);padding:6px 0}
.on-navy .cebc-ghost{color:var(--cebc-cream);border-color:var(--cebc-gold)}

/* Single pages */
.cebc-single{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:56px;align-items:start}
.cebc-single > *{min-width:0}   /* lets long, unbroken text wrap instead of stretching the column */
.cebc-body{font-size:17px;overflow-wrap:anywhere;word-break:break-word}
.cebc-body iframe,.cebc-body video,.cebc-body table{max-width:100%}
.cebc-body pre{max-width:100%;overflow-x:auto}
.cebc-body p{margin:0 0 1.2em}
.cebc-body h2,.cebc-body h3{margin:1.6em 0 .6em}
.cebc-body img{max-width:100%;height:auto;border-radius:var(--cebc-r-md)}
.cebc-aside{background:#fff;border:1px solid var(--cebc-line);border-radius:var(--cebc-r-md);padding:30px 28px;position:sticky;top:110px}
.cebc-aside h4{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cebc-red);margin-bottom:18px}
.cebc-aside dl{margin:0}
.cebc-aside dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin-top:16px}
.cebc-aside dd{margin:4px 0 0;font-size:16px;font-weight:600;overflow-wrap:anywhere}
.cebc-cover{width:100%;aspect-ratio:16/8;object-fit:cover;margin-bottom:40px;display:block;border-radius:var(--cebc-r-md)}
.cebc-empty{padding:60px 30px;text-align:center;border:1px dashed var(--cebc-line);border-radius:var(--cebc-r-md);font-weight:500;opacity:.7}

/* Pagination */
.cebc-pager{display:flex;gap:8px;justify-content:center;margin-top:52px;flex-wrap:wrap}
.cebc-pager a,.cebc-pager span{padding:10px 16px;border:1px solid var(--cebc-line);border-radius:var(--cebc-r-sm);font-weight:600;text-decoration:none;font-size:14px}
.cebc-pager .current{border-color:var(--cebc-red);color:var(--cebc-red)}

@media(max-width:980px){
  .cebc-grid{grid-template-columns:repeat(2,1fr)}
  .cebc-single{grid-template-columns:minmax(0,1fr)}
  .cebc-aside{position:static}
}
@media(max-width:700px){
  :root{--cebc-pad:22px}
  .cebc-hero{padding:140px 20px 80px;border-radius:0 0 32px 32px;margin:0 10px}
  .cebc .cebc-hero-lead{margin-bottom:40px}
  .cebc-crumbs{flex-wrap:wrap}
  .cebc-section{padding:68px 0}
  .cebc-grid{grid-template-columns:1fr}
  .cebc-feature{grid-template-columns:1fr;padding:34px 24px}
  .cebc-visual{aspect-ratio:16/9;order:-1}
}
