
:root{
  --bg:#f9fbff;
  --card:#ffffff;
  --ink:#15223b;
  --muted:#6a7793;
  --line:#e6edf7;
  --accent:#1f6ffe;
  --accent-soft:#e8f0ff;
  --accent-2:#12b886;
  --pill:#eef3fb;
  --radius:16px;
  --shadow:0 6px 24px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;line-height:1.65}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1180px;margin:0 auto;padding:1.25rem}
.header{background:linear-gradient(180deg,#ffffff, #f3f7ff);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.header .container{position:relative;z-index:1}
.header::after{z-index:0;content:"";position:absolute;inset:auto 0 0 0;height:120px;background:url('../img/header-wave.svg') bottom center/cover no-repeat;opacity:.9}
.brand{display:flex;align-items:center;gap:1rem;padding:1rem 0}
.brand img{height:46px;width:auto}
.titlewrap{padding:.25rem 0 1.25rem 0}
h1{margin:.25rem 0 .35rem 0;font-size:clamp(1.6rem,2.4vw,2.4rem);letter-spacing:.2px}
.sub{color:var(--muted);max-width:72ch}

.badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.badge{padding:.4rem .65rem;border-radius:999px;background:var(--pill);border:1px solid var(--line);font-size:.86rem;color:#2b3950}

.grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:980px){.grid{grid-template-columns:330px 1fr}}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem;position:relative;overflow:hidden}
.card::after{content:"";position:absolute;right:-20px;top:-20px;width:200px;height:120px;background:url('../img/dots.svg') no-repeat;opacity:.35}
.card h2{margin-top:0;font-size:1.2rem}
.card ul{margin:0;padding-left:1.1rem}
.card li{margin:.4rem 0}

.months{display:grid;grid-template-columns:1fr;gap:1.1rem}
@media(min-width:740px){.months{grid-template-columns:1fr 1fr}}
@media(min-width:1080px){.months{grid-template-columns:1fr 1fr 1fr}}

details{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;position:relative}
summary{list-style:none;padding:0;cursor:pointer;display:flex;align-items:stretch}
summary::-webkit-details-marker{display:none}
.summary-left{flex:1;padding:1rem 1.1rem}
.kicker{font-size:.82rem;color:var(--muted)}
.month{font-weight:800;letter-spacing:.2px}
.country{opacity:.9}
.chev{display:flex;align-items:center;justify-content:center;width:48px;background:var(--accent-soft);color:#3b5bdb;font-weight:700}
details[open] .chev{background:#dfe8ff}
/* Month highlight strip */
.month-strip{width:10px;background:linear-gradient(180deg,var(--accent),#7b9dff);}
/* Alternate colours per column */
details:nth-child(3n+1) .month-strip{background:linear-gradient(180deg,#12b886,#74d99f)}
details:nth-child(3n+2) .month-strip{background:linear-gradient(180deg,#f59f00,#ffd08a)}
details:nth-child(3n+3) .month-strip{background:linear-gradient(180deg,#ae3ec9,#e8b5ff)}
/* Month badge */
.badge-month{display:inline-block;margin:.4rem 0 .2rem 0;padding:.28rem .55rem;border-radius:8px;background:var(--accent-soft);border:1px solid var(--line);font-weight:700}

.panel{padding:0 1.1rem 1.2rem 1.1rem;border-top:1px dashed var(--line)}
.panel h4{margin:1rem 0 .25rem 0}
.small{font-size:.92rem;color:var(--muted)}

.form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-top:1rem}
.input{width:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.input:focus{outline:2px solid var(--accent-soft);border-color:#cddcff}
label{display:block;font-size:.9rem;margin:.6rem 0 .25rem 0;color:#2b3950}
button{appearance:none;border:0;border-radius:12px;background:var(--accent);color:#fff;padding:.75rem 1rem;font-weight:600;box-shadow:0 6px 18px rgba(31,111,254,.25);cursor:pointer}
button:hover{filter:brightness(.96)}
.helper{font-size:.85rem;color:var(--muted);margin-top:.5rem}

.footer{color:var(--muted);text-align:center;margin:2rem 0 1rem 0;font-size:.9rem}
hr.sep{border:0;border-top:1px solid var(--line);margin:1rem 0}


.badge.policy { background:#1f6ffe20; border:1px solid #1f6ffe40; color:#1f6ffe; }
.badge.pipelines { background:#12b88620; border:1px solid #12b88640; color:#12b886; }
.badge.manufacturing { background:#f59f0020; border:1px solid #f59f0040; color:#f59f00; }
.badge.diagnostics { background:#ae3ec920; border:1px solid #ae3ec940; color:#ae3ec9; }
.badge.digital { background:#22b8cf20; border:1px solid #22b8cf40; color:#22b8cf; }
.badge.investment { background:#37b24d20; border:1px solid #37b24d40; color:#37b24d; }
.badge.startups { background:#d6336c20; border:1px solid #d6336c40; color:#d6336c; }
.badge.workforce { background:#364fc720; border:1px solid #364fc740; color:#364fc7; }
.badge.sustainability { background:#2b8a3e20; border:1px solid #2b8a3e40; color:#2b8a3e; }
