/* DRC Mining Investor Summit - flag colours: sky blue, red, yellow */
/* Main typeface: Merriweather Sans (free, Google Fonts, SIL Open Font Licence) */

:root{
  --bg:#f4f7fb; --surface:#ffffff; --sunk:#e9eef5; --line:#d4dce7;
  --fg:#0f1d2e; --muted:#566578;
  --blue:#0067d6; --blue-ink:#ffffff; --blue-soft:#e0edfc;
  --red:#c8102e; --red-soft:#fbe3e6;
  --yellow:#f7d618; --yellow-ink:#1a1400;
  --navy:#06224a; --on-navy:#f2f6fc; --on-navy-muted:#b7c6dd;
  --ok:#17784a; --ok-soft:#dbf1e4; --warn:#8a6300; --warn-soft:#fbf0cc; --bad:#b3263a; --bad-soft:#f8dfe3;
  --f-display:"Merriweather Sans","Segoe UI",system-ui,sans-serif;
  --f-body:"Merriweather Sans","Segoe UI",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#08111d; --surface:#0f1b2b; --sunk:#14233a; --line:#22344d;
  --fg:#e7eef7; --muted:#9aabc0;
  --blue:#5aa6ff; --blue-ink:#04152b; --blue-soft:#12294a;
  --red:#ff6b7e; --red-soft:#3a1720;
  --navy:#041832;
  --ok:#5ccf93; --ok-soft:#123425; --warn:#e8bd4a; --warn-soft:#352b0e; --bad:#ff8696; --bad-soft:#3b1a20;
  color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.65}
img{max-width:100%}
a{color:var(--blue)}
.wrap{max-width:1140px;margin:0 auto;padding-inline:20px}
h1,h2,h3{font-family:var(--f-display);margin:0;text-wrap:balance;letter-spacing:0}
h1{font-size:clamp(30px,5vw,54px);font-weight:800;line-height:1.12}
h2{font-size:clamp(23px,2.8vw,32px);font-weight:800;line-height:1.2}
h3{font-size:19px;font-weight:700;line-height:1.25}
p{margin:0}
.eyebrow{font-family:var(--f-body);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:500}
.lede{color:var(--muted);max-width:62ch;font-size:16px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.sr{position:absolute;left:-9999px}

/* header */
.flagline{height:5px;background:linear-gradient(90deg,#007fff 0 40%,#f7d618 40% 44%,#ce1021 44% 56%,#f7d618 56% 60%,#007fff 60%)}
header.top{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:10px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;color:inherit;text-decoration:none}
.brand img{width:40px;height:30px;border-radius:3px;flex:none}
.brand b{font-family:var(--f-display);font-weight:700;font-size:16px;display:block;line-height:1.1}
.brand small{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
nav.tabs{display:flex;gap:2px;flex-wrap:wrap;align-items:center}
nav.tabs a{font-weight:500;font-size:14px;color:var(--muted);padding:8px 12px;border-radius:6px;text-decoration:none;position:relative}
nav.tabs a:hover{color:var(--fg);background:var(--sunk)}
nav.tabs a[aria-current="page"]{color:var(--fg)}
nav.tabs a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:3px;background:var(--red);border-radius:2px}
nav.tabs a.cta{background:var(--red);color:#fff;font-weight:600;margin-left:6px}
nav.tabs a.cta:hover{filter:brightness(1.08)}
nav.tabs a.cta::after{display:none}

/* buttons */
.btn{font:inherit;font-weight:600;font-size:14px;border-radius:6px;padding:10px 18px;cursor:pointer;border:2px solid var(--blue);background:var(--blue);color:var(--blue-ink);display:inline-flex;align-items:center;gap:8px;text-decoration:none;line-height:1.3}
.btn:hover{filter:brightness(1.08)}
.btn.red{background:var(--red);border-color:var(--red);color:#fff}
.btn.yellow{background:var(--yellow);border-color:var(--yellow);color:var(--yellow-ink)}
.btn.outline-light{background:transparent;border-color:rgba(255,255,255,.55);color:var(--on-navy)}
.btn.ghost{background:transparent;color:var(--blue)}
.btn.quiet{background:transparent;border-color:var(--line);color:var(--fg)}
.btn.danger{background:transparent;border-color:var(--bad);color:var(--bad)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:var(--surface)}
.btn.sm{padding:5px 10px;font-size:13px;border-width:1px}
.btn.lg{padding:13px 22px;font-size:15px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
form.inline{display:inline}

/* hero */
.hero,.pagehead{background:var(--navy) url("hero.svg") center/cover no-repeat;color:var(--on-navy)}
.hero .wrap{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:center;padding-block:72px 84px}
.hero .eyebrow,.pagehead .eyebrow{color:var(--yellow)}
.hero h1{margin-top:14px}
.hero h1 em{font-style:normal;color:var(--yellow)}
.hero .lede{color:var(--on-navy-muted);margin-top:18px;font-size:17px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.livecard{background:rgba(4,20,44,.85);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:22px;min-width:0}
.livecard .tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--yellow)}
.livecard .tag i{width:8px;height:8px;border-radius:50%;background:#ce1021;box-shadow:0 0 0 4px rgba(206,16,33,.3)}
.livecard h3{color:var(--on-navy);font-size:22px;margin-top:10px}
.livecard .m{color:var(--on-navy-muted);font-size:14px;margin-top:6px}
.livecard .prog{height:6px;background:rgba(255,255,255,.14);border-radius:3px;margin-top:16px;overflow:hidden}
.livecard .prog span{display:block;height:100%;background:var(--yellow)}
.livecard .row{display:flex;justify-content:space-between;gap:10px;font-family:var(--f-mono);font-size:12px;color:var(--on-navy-muted);margin-top:8px}
.livecard .btn{margin-top:18px}
.livecard hr{border:0;border-top:1px solid rgba(255,255,255,.14);margin:18px 0}
.livecard .next b{display:block;color:var(--on-navy)}
.livecard .next span{font-size:13px;color:var(--on-navy-muted)}
.pagehead{background-color:var(--navy)}
.pagehead .wrap{padding-block:40px 44px}
.pagehead h1{font-size:clamp(28px,4vw,42px);margin-top:8px}
.pagehead .lede{color:var(--on-navy-muted);margin-top:10px}
.view-body{padding-block:32px 72px}

/* facts */
.facts{background:var(--surface);border-bottom:1px solid var(--line)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:26px 22px;border-left:1px solid var(--line);min-width:0}
.fact:first-child{border-left:0;padding-left:0}
.fact b{display:block;font-family:var(--f-display);font-weight:700;font-size:34px;line-height:1;color:var(--blue)}
.fact:nth-child(2) b{color:var(--red)}
.fact span{display:block;font-size:14px;color:var(--muted);margin-top:8px}

section.band{padding-block:72px}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.sec-head > div{max-width:640px}
.sec-head .lede{margin-top:10px}
.alt{background:var(--surface);border-block:1px solid var(--line)}

.opps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.opp{background:var(--surface);padding:24px;min-width:0;display:flex;flex-direction:column;gap:10px}
.opp .sym{font-family:var(--f-mono);font-size:13px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:6px;background:var(--sunk);font-weight:500}
.opp:nth-child(3n+1) .sym{color:var(--blue)}.opp:nth-child(3n+2) .sym{color:var(--red)}.opp:nth-child(3n) .sym{color:var(--warn)}
.opp p{color:var(--muted);font-size:14px}
.opp .where{font-family:var(--f-mono);font-size:12px;margin-top:auto;padding-top:6px}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{border-top:3px solid var(--blue);padding-top:18px;min-width:0}
.step:nth-child(2){border-color:var(--yellow)}.step:nth-child(3){border-color:var(--red)}
.step .n{font-family:var(--f-mono);font-size:12px;color:var(--muted);letter-spacing:.08em}
.step h3{margin-top:6px}
.step p{color:var(--muted);font-size:14px;margin-top:8px}

.ctaband{background:#c8102e;color:#fff;position:relative;overflow:hidden}
.ctaband::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 62%,#f7d618 62% 64%,#0067d6 64% 100%)}
.ctaband .wrap{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-block:44px}
.ctaband h2{color:#fff;max-width:20ch}
.ctaband p{color:#ffe9ec;margin-top:8px;max-width:52ch}

footer{background:var(--navy);color:var(--on-navy-muted);font-size:14px}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding-block:44px 28px}
footer b{color:var(--on-navy);font-family:var(--f-display);}
footer a{color:var(--on-navy-muted);text-decoration:none}
footer a:hover{color:var(--on-navy)}
.flinks{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px}
footer .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* conferences */
section.group{margin-top:30px}
section.group:first-child{margin-top:0}
.group-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--fg)}
.group-head .count{font-family:var(--f-mono);color:var(--muted);font-size:13px}
.conf{display:grid;grid-template-columns:120px 1fr auto;gap:22px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:12px}
.conf.live{border-color:var(--blue);box-shadow:inset 4px 0 0 var(--red)}
.when{font-family:var(--f-mono);font-size:13px;color:var(--muted);min-width:0}
.when .day{display:block;font-family:var(--f-display);font-size:38px;font-weight:700;color:var(--fg);line-height:1}
.when .mon{display:block;text-transform:uppercase;letter-spacing:.08em;margin-top:6px}
.conf .body{min-width:0}
.conf .meta{color:var(--muted);font-size:14px;margin-top:4px}
.conf p{margin-top:10px;max-width:70ch}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.chip{font-size:12px;padding:3px 9px;border-radius:4px;background:var(--sunk)}
.side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:160px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill.live{background:var(--red-soft);color:var(--red)}
.pill.soon{background:var(--blue-soft);color:var(--blue)}
.pill.past{background:var(--sunk);color:var(--muted)}
.pill.pending{background:var(--warn-soft);color:var(--warn)}
.pill.approved{background:var(--ok-soft);color:var(--ok)}
.pill.declined{background:var(--bad-soft);color:var(--bad)}
.figure{font-family:var(--f-mono);font-size:13px;color:var(--muted);text-align:right}
.figure b{color:var(--fg);font-weight:500}
.hint{font-size:12px;color:var(--muted);font-weight:400}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mini{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.mini .d{font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.mini p{font-size:14px;color:var(--muted)}
.mini .foot{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}

/* forms */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
label,.lbl{font-size:13px;font-weight:600}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=password],select,textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px 12px;width:100%}
textarea{min-height:100px;resize:vertical}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.check{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);cursor:pointer}
.check input,.consent input{accent-color:var(--blue)}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px}
.consent input{margin-top:4px}
.fs-title{grid-column:1/-1;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:6px;margin-top:8px}
.fs-title:first-child{margin-top:0}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}
.notice{border-radius:8px;padding:12px 14px;font-size:14px;margin-bottom:18px}
.notice.ok{background:var(--ok-soft);color:var(--ok)}
.notice.bad{background:var(--bad-soft);color:var(--bad)}
.notice.info{background:var(--blue-soft);color:var(--fg)}
.two{display:grid;grid-template-columns:1.65fr 1fr;gap:24px;align-items:start}
.aside-steps{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:14px}
.aside-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:14px;color:var(--muted)}
.aside-steps li b{color:var(--fg)}
.aside-steps .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:12px;background:var(--blue-soft);color:var(--blue)}
.empty{border:1px dashed var(--line);border-radius:10px;padding:28px;text-align:center;color:var(--muted)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.refbox{font-family:var(--f-mono);font-size:28px;font-weight:500;letter-spacing:.06em;background:var(--sunk);border-radius:8px;padding:14px 18px;display:inline-block;margin-top:10px}
.narrow{max-width:560px}

/* admin */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0 12px}
.toolbar select,.toolbar input{width:auto}
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;border-top:3px solid var(--line);text-decoration:none;color:inherit}
.tile b{display:block;font-family:var(--f-display);font-size:30px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.tile span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.tile.t-pending{border-top-color:var(--yellow)}.tile.t-approved{border-top-color:var(--ok)}.tile.t-declined{border-top-color:var(--red)}.tile.t-all{border-top-color:var(--blue)}
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}
table{border-collapse:collapse;width:100%;min-width:820px;font-size:14px}
th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);text-align:left;font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--sunk)}
td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
td .sub{color:var(--muted);font-size:13px}
.rowact{display:flex;gap:6px;flex-wrap:wrap}
.detail{font-size:13px;color:var(--muted);margin-top:6px;max-width:44ch}
.subhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.cm{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.cm:first-child{padding-top:0}.cm:last-child{border-bottom:0;padding-bottom:0}
.cm .left{min-width:0}
.mono{font-family:var(--f-mono);font-size:13px}

/* delegate search */
.find{background:var(--surface);border-bottom:1px solid var(--line);padding-block:48px}
.find-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;align-items:end}
.find-grid > *{min-width:0}
.findform{display:flex;gap:10px;flex-wrap:wrap;background:var(--bg);border:2px solid var(--blue);border-radius:10px;padding:10px}
.findform input{flex:1 1 220px;border:0;background:transparent;font-size:16px}
.findform input:focus-visible{outline:none}
.findform:focus-within{box-shadow:0 0 0 4px var(--blue-soft)}
.findform select{flex:1 1 180px;width:auto;min-width:0;max-width:100%}
.findform input{min-width:0}
.findform .btn{flex:0 0 auto}
.results{margin-top:24px}
.hits{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.hit{display:grid;grid-template-columns:1.2fr 1.2fr auto;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--bg)}
.hit:last-child{border-bottom:0}
.hit > div{min-width:0}
.hit b{display:block}
.hit span{color:var(--muted);font-size:13px}
.hit .where b{font-weight:500}
.hit .st{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.hit .st span{font-size:11px}
.hit .st .pill.approved{color:var(--ok)}.hit .st .pill.live{color:var(--red)}.hit .st .pill.soon{color:var(--blue)}
@media (max-width:760px){.find-grid,.hit{grid-template-columns:1fr}.hit .st{justify-content:flex-start}}

@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;padding-block:48px 56px}
  .facts .wrap{grid-template-columns:repeat(2,1fr)}
  .fact{padding:20px 16px}.fact:nth-child(3){border-left:0;padding-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--line)}
  .opps,.cards3{grid-template-columns:1fr 1fr}
  footer .wrap{grid-template-columns:1fr 1fr}
  footer .wrap > div:first-child{grid-column:1/-1}
}
@media (max-width:640px){
  .opps,.cards3,.steps,.grid,.two{grid-template-columns:1fr}
  .conf{grid-template-columns:1fr;gap:12px}
  .when .day{display:inline;font-size:24px;margin-right:6px}.when .mon{display:inline}
  .side{align-items:flex-start;flex-direction:row;flex-wrap:wrap;min-width:0}
  .figure{text-align:left}
  .summary{grid-template-columns:repeat(2,1fr)}
  section.band{padding-block:52px}
  nav.tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}
  nav.tabs a{white-space:nowrap}
}
@media (prefers-reduced-motion:no-preference){
  .hero h1,.hero .lede,.hero .ctas,.livecard{animation:up .55s cubic-bezier(.2,.7,.2,1) both}
  .hero .lede{animation-delay:.06s}.hero .ctas{animation-delay:.12s}.livecard{animation-delay:.18s}
  @keyframes up{from{transform:translateY(12px)}to{transform:none}}
  .livecard .tag i{animation:pulse 1.8s ease-in-out infinite}
  @keyframes pulse{50%{box-shadow:0 0 0 8px rgba(206,16,33,0)}}
}
