
:root{
  --paper:#f2f0ea; --panel:#ffffff; --ink:#17202e; --ink2:#4d586a;
  --band:#12213c; --red:#a8112a; --rule:#c9c3b6;
  --shell:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font:16px/1.62 Arial,Helvetica,sans-serif}
.shell{max-width:var(--shell);margin:0 auto;padding:0 24px}
a{color:var(--band)}
a:focus-visible,.anchors a:focus-visible{outline:2px solid var(--red);outline-offset:2px}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{margin:0 0 12px;line-height:1.2}
p{margin:0 0 12px;max-width:66ch}
.skip{position:absolute;left:-9999px;top:0;background:var(--red);color:#fff;padding:8px 16px;z-index:9}
.skip:focus{left:0}
.label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--red);
  font-weight:bold;margin:0 0 8px}
.band-dark .label{color:#ffb3bf}
.num{font-variant-numeric:tabular-nums}

/* stepped event stripe */
.stripe{height:8px;background:
  repeating-linear-gradient(135deg,var(--red) 0 14px,transparent 14px 28px),var(--band)}

/* 1 banner */
.banner{background:var(--band);color:#fff;padding:32px 0 28px;border-bottom:3px solid var(--red)}
.banner-grid{display:flex;gap:28px;align-items:flex-start}
.mark{width:96px;flex:0 0 96px}
.banner h1,.banner .brandline{font-family:"Arial Narrow",Arial,sans-serif;font-weight:bold;
  text-transform:uppercase;letter-spacing:.02em;font-size:52px;line-height:1.04;margin:0 0 10px;
  max-width:none}
.banner .sub{color:#c8d2e4;margin:0 0 4px;max-width:60ch}
.banner .hosts{color:#c8d2e4;font-size:13px;margin:10px 0 0;max-width:none}
.datebadge{margin-left:auto;flex:0 0 auto;background:var(--red);color:#fff;text-align:center;
  padding:14px 20px;border:3px solid #fff;font-family:"Arial Narrow",Arial,sans-serif;
  font-weight:bold;line-height:1;font-variant-numeric:tabular-nums}
.datebadge b{display:block;font-size:44px}
.datebadge span{display:block;font-size:15px;letter-spacing:.14em;margin-top:6px}
.datebadge em{display:block;font-style:normal;font-size:12px;letter-spacing:.1em;margin-top:8px;
  border-top:1px solid rgba(255,255,255,.55);padding-top:6px}

/* 2 anchors */
.anchors{background:#0d192e;border-bottom:1px solid #2b3d5e}
.anchors ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.anchors a{display:block;height:42px;line-height:42px;padding:0 12px;color:#dbe3f0;
  text-decoration:none;font-size:12px;font-weight:bold;text-transform:uppercase;
  letter-spacing:.04em;white-space:nowrap;border-right:1px solid #2b3d5e}
.anchors a:hover{background:var(--red);color:#fff}
.anchors a[aria-current="page"]{background:var(--red);color:#fff}

/* generic band */
.band{padding:40px 0;border-bottom:1px solid var(--rule)}
.band-dark{background:var(--band);color:#fff;border-bottom:none}
.band-dark p{color:#ccd5e6}
.band-dark h2{color:#fff}
.band h2{font-size:26px}

/* overview + rail */
.split{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}
.poster{border:1px solid var(--rule);background:var(--panel);padding:10px}
.rail{background:var(--panel);border:1px solid var(--rule);border-top:4px solid var(--red);padding:20px}
.rail h2{font-size:18px;text-transform:uppercase;letter-spacing:.05em}
.rail dl{margin:0}
.rail dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);
  font-weight:bold;margin-top:14px}
.rail dd{margin:2px 0 0;font-size:15px}

/* meeting rows */
.rows{list-style:none;margin:0;padding:0}
.rows li{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:22px 0;
  border-top:1px solid var(--rule);align-items:start}
.rows li:first-child{border-top:none}
.rowbadge{background:var(--band);color:#fff;text-align:center;padding:16px 8px;
  font-family:"Arial Narrow",Arial,sans-serif;font-weight:bold;font-size:34px;line-height:1;
  font-variant-numeric:tabular-nums;border-bottom:5px solid var(--red)}
.rowbadge span{display:block;font-size:13px;letter-spacing:.12em;margin-top:8px}
.rows h3{font-size:21px;margin-bottom:4px}
.rows .when{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--red);
  font-weight:bold;margin:0 0 10px}
.rows .more{font-size:13px;font-weight:bold;text-transform:uppercase;letter-spacing:.05em}

/* agenda */
table.agenda{width:100%;border-collapse:collapse;background:var(--panel);
  border:1px solid var(--rule)}
table.agenda caption{caption-side:top;text-align:left;font-size:13px;color:var(--ink2);
  padding:0 0 10px}
table.agenda th,table.agenda td{text-align:left;padding:10px 14px;border-top:1px solid var(--rule);
  font-size:15px;vertical-align:top}
table.agenda thead th{background:var(--band);color:#fff;font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;border-top:none}
table.agenda td.t{font-variant-numeric:tabular-nums;font-weight:bold;white-space:nowrap;
  color:var(--red);width:110px}
.note{font-size:13px;color:var(--ink2);margin-top:12px}

/* resources */
.res{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--rule);
  background:var(--panel)}
.res>div{padding:20px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.res>div:nth-child(2n){border-right:none}
.res h3{font-size:16px;text-transform:uppercase;letter-spacing:.04em}
.res p{font-size:15px;margin:0}
.fee{font-variant-numeric:tabular-nums;font-weight:bold}

/* hosts */
.hosts-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.hostcard{border-left:4px solid var(--red);padding-left:18px}
.hostcard h3{font-size:19px;margin-bottom:6px}
.hostcard .meta{font-size:14px;color:#c8d2e4;font-variant-numeric:tabular-nums;margin:0}

/* footer */
footer.ev{background:#0d192e;color:#9fb0ca;padding:28px 0;font-size:13px}
footer.ev a{color:#dbe3f0;text-decoration:none}
footer.ev a:hover{text-decoration:underline}
footer.ev ul{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
footer.ev p{max-width:none;margin:0 0 6px}
footer.ev .fname{color:#fff;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;
  font-size:14px;margin-bottom:10px}

/* inner pages */
.pagehead{background:var(--panel);border-bottom:1px solid var(--rule);padding:28px 0}
.pagehead .label{margin-bottom:6px}
.pagehead h1{font-size:36px;max-width:34ch}
.prose h2{font-size:22px;margin-top:28px}
.prose h2:first-child{margin-top:0}
.faq{list-style:none;margin:0;padding:0}
.faq li{border-top:1px solid var(--rule);padding:18px 0}
.faq li:first-child{border-top:none}
.faq h3{font-size:17px;margin-bottom:6px}
.faq p{margin:0}
.related{list-style:none;margin:0;padding:0}
.related li{border-top:1px solid var(--rule);padding:10px 0;font-size:15px}
.static-note{background:var(--panel);border:1px solid var(--rule);border-left:4px solid var(--band);
  padding:16px 18px}

@media (max-width:860px){
  .split{grid-template-columns:1fr}
  .hosts-grid,.res{grid-template-columns:1fr}
  .res>div{border-right:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .shell{padding:0 16px}
  .banner{padding:22px 0}
  .banner-grid{flex-direction:column;gap:16px}
  .mark{width:64px;flex:0 0 64px}
  .banner h1,.banner .brandline{font-size:30px}
  .datebadge{margin-left:0;align-self:flex-start}
  .datebadge b{font-size:34px}
  .anchors a{border-bottom:1px solid #2b3d5e}
  .pagehead h1{font-size:26px}
  .band h2{font-size:21px}
  /* stack meeting rows: badge above copy */
  .rows li{grid-template-columns:1fr;gap:12px}
  .rowbadge{padding:10px;font-size:26px}
  /* agenda becomes labelled rows */
  table.agenda,table.agenda tbody,table.agenda tr,table.agenda td,
  table.agenda caption{display:block;width:100%}
  table.agenda thead{position:absolute;left:-9999px}
  table.agenda tr{border-top:1px solid var(--rule);padding:12px 14px}
  table.agenda tr:first-child{border-top:none}
  table.agenda td{border-top:none;padding:2px 0}
  table.agenda td.t{width:auto;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
  table.agenda td.f:not(:empty)::before{content:"Facilitator: ";color:var(--ink2);font-size:13px}
}
