
:root{
  --navy:#0A2239; --ink:#0E1A24; --teal:#0E8A9A; --lagoon:#1BB5A6;
  --coral:#E85D4C; --sand:#F4F1EA; --paper:#fff; --muted:#5C6B78;
  --line:#E6E1D6; --rail:#0A2239;
  --serif:"Libre Baskerville","Iowan Old Style",Georgia,"Times New Roman",serif;
  --sans:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} a:hover{color:var(--teal)}
img{display:block;max-width:100%;height:auto}
.wrap{width:min(1180px,calc(100% - 2rem));margin:0 auto}

/* Top meta */
.topbar{background:var(--navy);color:#d7e6ef;font-size:12px;letter-spacing:.02em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:8px 0;min-height:36px}
.lang{display:flex;gap:6px}
.lang button{appearance:none;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;border-radius:999px;padding:3px 10px;font:600 11px/1.2 var(--sans);cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--lagoon);border-color:var(--lagoon);color:var(--navy)}

/* Masthead */
.masthead{background:var(--paper);border-bottom:1px solid var(--line)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:18px 0 14px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:56px;width:auto}
@media(min-width:900px){.brand img{height:68px}}
@media(max-width:720px){.brand img{height:48px}.updated{display:none}.topbar .loc{display:none}.masthead .wrap{padding:12px 0}.brand-name{font-size:1.85rem}.lang button{padding:3px 8px}}
.brand-text{display:flex;flex-direction:column;gap:2px}
.brand-name{font-family:var(--serif);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;letter-spacing:-.03em;color:var(--navy);line-height:1}
.brand-name span{color:var(--teal)}
.brand-tag{font-size:13px;color:var(--muted);font-weight:500}
.updated{text-align:right;font-size:12px;color:var(--muted);line-height:1.35}
.updated strong{display:block;color:var(--navy);font-size:13px}

/* Nav — single compact scroll row */
.navrail{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.navrail .wrap{padding:0}
.sections{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sections::-webkit-scrollbar{display:none}
.sections a{
  flex:0 0 auto; padding:12px 14px; font-size:13px; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase; color:var(--ink); border-bottom:3px solid transparent; white-space:nowrap;
}
.sections a:hover,.sections a.active{color:var(--teal);border-bottom-color:var(--coral)}

/* Ticker */
.ticker{background:#101820;color:#fff;border-bottom:3px solid var(--coral)}
.ticker .wrap{display:flex;align-items:stretch;min-height:42px}
.ticker-label{
  flex:0 0 auto; background:var(--coral); color:#fff; font-weight:800; font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; padding:0 14px; display:flex; align-items:center;
}
.ticker-track{flex:1; overflow:hidden; position:relative; display:flex; align-items:center}
.ticker-track a{padding:0 18px; font-size:14px; font-weight:600; color:#fff; white-space:nowrap; border-right:1px solid rgba(255,255,255,.15)}
.ticker-track a:last-child{border-right:0}
.ticker-track a:hover{color:var(--lagoon)}
.ticker-inner{display:flex; animation:none; overflow-x:auto; scrollbar-width:none; width:100%}
.ticker-inner::-webkit-scrollbar{display:none}

.creole-note{background:#fff6df;border-bottom:1px solid #efd79a;color:#7a5b12;font-size:13px;padding:10px 0}
.creole-note[hidden]{display:none !important}

/* Hero full bleed */
.hero{margin:0 0 1.5rem; background:#000}
.hero-bleed{
  position:relative; min-height:clamp(360px,62vw,560px); display:grid; align-items:end;
  color:#fff; overflow:hidden;
}
.hero-bleed > img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
  transform:scale(1.02);
}
.hero-bleed .shade{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,34,57,.15) 0%, rgba(10,34,57,.25) 35%, rgba(8,18,28,.88) 100%);
}
.hero-copy{position:relative; z-index:2; width:min(1180px,calc(100% - 2rem)); margin:0 auto; padding:0 0 2rem}
.kicker{display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--lagoon)}
.kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--coral)}
.hero-copy h1{font-family:var(--serif); font-size:clamp(1.85rem,4.6vw,3.35rem); line-height:1.08; letter-spacing:-.03em; margin:.45rem 0 .7rem; max-width:22ch; text-wrap:balance}
.hero-copy .deck{font-size:clamp(1rem,2vw,1.2rem); max-width:42rem; color:rgba(255,255,255,.92); margin:0 0 1rem}
.hero-meta{display:flex; flex-wrap:wrap; gap:10px 16px; font-size:13px; color:rgba(255,255,255,.78)}
.hero-meta a{color:#fff; text-decoration:underline; text-underline-offset:3px}
.photo-credit{font-size:11px; opacity:.7}

/* Layout grids */
.home-grid{display:grid; grid-template-columns:1.6fr .9fr; gap:1.5rem; margin-bottom:2rem}
@media(max-width:920px){.home-grid{grid-template-columns:1fr}}
.panel{background:var(--paper); border:1px solid var(--line)}
.panel-h{display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:14px 16px; border-bottom:1px solid var(--line)}
.panel-h h2{margin:0; font-family:var(--serif); font-size:1.35rem; letter-spacing:-.02em}
.panel-h a{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--teal)}

/* Story cards */
.story-row{display:grid; grid-template-columns:160px 1fr; gap:14px; padding:14px 16px; border-bottom:1px solid var(--line)}
.story-row:last-child{border-bottom:0}
.story-row img{width:160px; height:110px; object-fit:cover; background:#ddd}
.story-row h3{font-family:var(--serif); font-size:1.15rem; line-height:1.2; margin:0 0 6px; letter-spacing:-.015em}
.story-row p{margin:0; color:var(--muted); font-size:14px}
.meta{font-size:12px; color:var(--muted); margin-top:8px; display:flex; flex-wrap:wrap; gap:8px}
@media(max-width:620px){
  .story-row{grid-template-columns:104px 1fr; gap:10px; padding:12px}
  .story-row img{width:104px; height:84px}
  .story-row h3{font-size:1.02rem}
  .story-row p{display:none}
}

/* Events rail with big date */
.event-item{display:grid; grid-template-columns:64px 1fr; gap:12px; padding:14px 16px; border-bottom:1px solid var(--line)}
.event-item:last-child{border-bottom:0}
.datebox{background:var(--navy); color:#fff; text-align:center; padding:8px 4px; line-height:1}
.datebox .d{font-family:var(--serif); font-size:1.45rem; font-weight:700}
.datebox .m{font-size:10px; letter-spacing:.08em; font-weight:800; opacity:.85}
.event-item h3{font-family:var(--serif); font-size:1.05rem; margin:0 0 4px; line-height:1.25}
.event-item p{margin:0; font-size:13px; color:var(--muted)}

/* Section pages */
.section-hero{padding:1.5rem 0 .5rem}
.section-hero h1{font-family:var(--serif); font-size:clamp(2rem,4vw,2.8rem); margin:0; letter-spacing:-.03em}
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; padding:1rem 0 2rem}
@media(max-width:900px){.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.grid3{grid-template-columns:1fr}}
.card{background:var(--paper); border:1px solid var(--line); display:flex; flex-direction:column; min-height:100%}
.card .thumb{aspect-ratio:16/10; overflow:hidden; background:#ccc}
.card .thumb img{width:100%; height:100%; object-fit:cover}
.card .body{padding:14px 14px 16px; display:flex; flex-direction:column; gap:8px; flex:1}
.card h3{font-family:var(--serif); font-size:1.2rem; margin:0; line-height:1.2; letter-spacing:-.02em}
.card p{margin:0; color:var(--muted); font-size:14px; flex:1}

/* Article */
.article-page{padding:1.5rem 0 3rem}
.article-page .lead-img{width:100%; max-height:480px; object-fit:cover; margin:0 0 8px}
.article-page article{max-width:720px}
.article-page h1{font-family:var(--serif); font-size:clamp(1.9rem,4vw,2.7rem); line-height:1.12; margin:.4rem 0 1rem; letter-spacing:-.03em}
.article-page .deck{font-size:1.15rem; color:#334}

/* Footer */
.footer{margin-top:3rem; background:var(--navy); color:#c5d6e2; padding:2.4rem 0 1.4rem}
.footer .wrap{display:grid; grid-template-columns:2fr 1fr 1fr; gap:1.5rem}
@media(max-width:720px){.footer .wrap{grid-template-columns:1fr}}
.footer h4{margin:0 0 .6rem; font-family:var(--serif); color:#fff; font-size:1.15rem}
.footer a{color:var(--lagoon)}
.legal{margin-top:1.5rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.12); font-size:12px; opacity:.8}

.admin table{width:100%; border-collapse:collapse; background:#fff}
.admin th,.admin td{border-bottom:1px solid var(--line); padding:10px; text-align:left; font-size:13px; vertical-align:top}
.admin th{background:var(--navy); color:#fff}
.chip{display:inline-block; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--teal)}

.nav-send{color:var(--coral,#E85D4C)!important;font-weight:800}
.sendwrap{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;padding:2rem 0 3rem}
@media(max-width:820px){.sendwrap{grid-template-columns:1fr;padding:1.2rem 0 2rem}}
.sendform{background:#fff;border:1px solid var(--line);padding:1.4rem;border-radius:6px}
.sendform fieldset{border:0;padding:0;margin:0 0 1.2rem}
.sendform legend{font-family:var(--serif);font-size:1.2rem;color:var(--navy);margin-bottom:.6rem}
.sendform label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:.7rem 0 .25rem}
.sendform input,.sendform select,.sendform textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #c9d3da;border-radius:4px;font:15px/1.4 var(--sans);background:#fbfcfc}
.sendform textarea{min-height:150px}
.sendform .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.sendform .row2{grid-template-columns:1fr}}
.sendform .check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.sendform .check input{width:auto;margin-top:3px}
.sendform button{background:var(--navy);color:#fff;border:0;border-radius:4px;padding:12px 22px;font:700 15px var(--sans);cursor:pointer}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.sendnote{background:var(--sand,#F4F1EA);padding:1.2rem;border-left:4px solid var(--teal);font-size:14px;line-height:1.55}
#send-status{margin-top:1rem;font-weight:600}
