/* ==========================================================================
   BRATTER BULLETIN — brief stylesheet
   Re-skin of the source weekly-brief layout into the bratterpa palette:
   black / white / grey / gold. Same class hooks as the source content
   (.mast, .lede, .board, .item, .impact, .mon, .aao, .notes ...), remapped.
   Light-only, on-brand.
   ========================================================================== */
:root{
  --bg:#faf9f7; --surface:#ffffff; --surface-2:#f5f3ee;
  --ink:#1b1b1b; --ink-2:#46433d; --ink-3:#7a7a7a;
  --rule:#e6e2d9; --rule-2:#d4cec1;
  --accent:#b0863b; --accent-soft:#f7efdd;      /* gold */
  --amber:#8a6a2c; --amber-soft:#f6efdd;         /* bronze-gold (flags) */
  --slate:#46433d; --slate-soft:#f2f0ea;         /* charcoal/grey (impact) */
  --link:#8a6a2c;                                /* gold links */
  --shadow:0 1px 2px rgba(28,26,23,.05), 0 4px 14px rgba(28,26,23,.05);
}

*{box-sizing:border-box;}
.brief{
  color:var(--ink);
  font-family:"Lato", sans-serif;
  font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
.brief .wrap{max-width:820px; margin:0 auto; padding:0 24px 80px;}

/* ---- masthead (edition's own title block) ---- */
.brief .mast{padding:26px 0 26px; border-bottom:3px double var(--rule-2); margin-bottom:30px;}
.brief .kicker{
  font-family:"Lato", sans-serif; font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--accent);
  margin:0 0 12px;
}
.brief h1{
  font-size:clamp(28px,5vw,40px); line-height:1.12; font-weight:700;
  letter-spacing:-.018em; margin:0 0 14px; color:var(--ink);
}
.brief .dateline{
  font-family:"Lato", sans-serif; font-size:13px; color:var(--ink-3);
  margin:0; line-height:1.6;
}
.brief .dateline b{color:var(--ink-2); font-weight:600;}

/* ---- lede ---- */
.brief .lede{
  background:var(--surface); border:1px solid var(--rule);
  border-left:4px solid var(--accent);
  border-radius:3px; padding:20px 24px; margin:0 0 34px;
  box-shadow:var(--shadow); font-size:17.5px; line-height:1.6;
}
.brief .lede .lbl{
  display:block; font-family:"Lato", sans-serif;
  font-size:10.5px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent); margin-bottom:8px;
}

/* ---- jump nav ---- */
.brief nav.jump{
  position:sticky; top:61px; z-index:20;
  background:rgba(250,249,247,.92);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
  margin:0 -24px 34px; padding:11px 24px;
  display:flex; gap:6px; flex-wrap:wrap;
}
.brief nav.jump a{
  font-family:"Lato", sans-serif; font-size:12px; font-weight:600;
  color:var(--ink-2); text-decoration:none;
  padding:5px 11px; border-radius:100px; border:1px solid var(--rule);
  background:var(--surface); white-space:nowrap; transition:.13s ease;
}
.brief nav.jump a:hover{color:var(--accent); border-color:var(--accent);}

/* ---- deadline board ---- */
.brief .board{margin:0 0 40px;}
.brief .board-title{
  font-family:"Lato", sans-serif; font-size:11px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3);
  margin:0 0 12px;
}
.brief .tblwrap{overflow-x:auto; border:1px solid var(--rule); border-radius:4px; background:var(--surface); box-shadow:var(--shadow);}
.brief table{border-collapse:collapse; width:100%; min-width:520px;}
.brief th{
  font-family:"Lato", sans-serif; font-size:10.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3);
  text-align:left; padding:11px 16px; border-bottom:1px solid var(--rule);
  background:var(--surface-2);
}
.brief td{
  padding:11px 16px; border-bottom:1px solid var(--rule);
  font-size:15px; line-height:1.45; vertical-align:top;
}
.brief tr:last-child td{border-bottom:none;}
.brief td.d{
  font-family:"Lato", sans-serif; font-weight:600; font-size:13.5px;
  white-space:nowrap; color:var(--ink);
}
.brief tr.urgent td.d{color:var(--accent);}
.brief tr.urgent td{background:var(--accent-soft);}

/* ---- sections ---- */
.brief section{margin:0 0 14px; scroll-margin-top:120px;}
.brief .sechead{
  display:flex; align-items:baseline; gap:12px;
  border-bottom:2px solid var(--accent); padding-bottom:7px; margin:44px 0 22px;
}
.brief .sechead h2{
  font-family:"Lato", sans-serif; font-size:14px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin:0;
}
.brief .sechead .count{
  font-family:"Lato", sans-serif; font-size:11px; color:var(--ink-3);
  margin-left:auto; font-weight:500;
}
.brief .sechead.quiet{border-bottom-color:var(--rule-2);}
.brief .sechead.quiet h2{color:var(--ink-2);}

/* ---- items ---- */
.brief .item{
  background:var(--surface); border:1px solid var(--rule); border-radius:4px;
  padding:20px 24px; margin:0 0 14px; box-shadow:var(--shadow);
}
.brief .item.flag{border-left:4px solid var(--amber); background:var(--amber-soft);}
.brief .item h3{
  font-size:19px; font-weight:700; line-height:1.3; letter-spacing:-.01em;
  margin:0 0 4px; color:var(--ink);
}
.brief .meta{
  font-family:"Lato", sans-serif; font-size:11.5px; font-weight:600;
  letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3); margin:0 0 11px;
}
.brief .meta .when{color:var(--accent);}
.brief .item p{margin:0 0 11px;}
.brief .item p:last-child{margin-bottom:0;}
.brief .impact{
  border-left:3px solid var(--slate); background:var(--slate-soft);
  padding:10px 14px; border-radius:0 3px 3px 0; margin:12px 0 0; font-size:16px;
}
.brief .impact b{color:var(--slate);}
.brief .src{
  font-family:"Lato", sans-serif; font-size:12px;
  margin:13px 0 0; padding-top:11px; border-top:1px solid var(--rule); color:var(--ink-3);
}
.brief .src a{color:var(--link); text-decoration:none; font-weight:500;}
.brief .src a:hover{text-decoration:underline;}
.brief .src span{margin:0 7px; color:var(--rule-2);}
.brief a{color:var(--link);}
.brief .gated{
  display:inline-block; font-family:"Lato", sans-serif;
  font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  background:var(--surface-2); color:var(--ink-3);
  padding:2px 7px; border-radius:3px; border:1px solid var(--rule); margin-left:6px; vertical-align:2px;
}

/* ---- monitoring ---- */
.brief .mon{
  background:var(--surface); border:1px solid var(--rule); border-radius:4px;
  padding:17px 22px; margin:0 0 10px; box-shadow:var(--shadow);
}
.brief .mon h4{font-size:16.5px; font-weight:700; margin:0 0 5px; line-height:1.32; color:var(--ink);}
.brief .mon p{margin:0; font-size:16px; color:var(--ink-2);}
.brief .mon p a{font-family:"Lato", sans-serif; font-size:12px; font-weight:500; text-decoration:none; white-space:nowrap;}

/* ---- aao ---- */
.brief .aao{background:var(--surface-2); border:1px solid var(--rule); border-radius:4px; padding:22px 26px;}
.brief .aao .row{padding:13px 0; border-bottom:1px solid var(--rule);}
.brief .aao .row:last-child{border-bottom:none; padding-bottom:0;}
.brief .aao .row:first-of-type{padding-top:4px;}
.brief .aao .cat{
  font-family:"Lato", sans-serif; font-size:12px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin:0 0 4px;
}
.brief .aao p{margin:0; font-size:16px;}
.brief .aao .intro{margin:0 0 6px; color:var(--ink-2); font-size:16px;}

/* ---- verification / colophon ---- */
.brief .notes{
  margin:44px 0 0; padding:20px 24px; border:1px dashed var(--rule-2);
  border-radius:4px; background:var(--surface);
  font-size:14.5px; line-height:1.58; color:var(--ink-2);
}
.brief .notes b{color:var(--ink); font-family:"Lato", sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase; display:block; margin-bottom:8px;}
.brief .colophon{
  margin:26px 0 0; text-align:center;
  font-family:"Lato", sans-serif; font-size:12px; color:var(--ink-3);
}

@media (max-width:600px){
  .brief{font-size:16px;}
  .brief .wrap{padding:0 16px 60px;}
  .brief nav.jump{margin-left:-16px; margin-right:-16px; padding-left:16px; padding-right:16px;}
  .brief .item,.brief .mon,.brief .aao{padding-left:17px; padding-right:17px;}
  .brief .mast{padding-top:20px;}
}
