:root{ --navy:#00205b; --red:#d21034; --green:#009543; --gold:#ffcc00; --ring:rgba(255,255,255,.24); }
*{box-sizing:border-box} html,body{height:100%}
body{
  margin:0; font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:#f7fbff;
  background:
    linear-gradient(155deg, rgba(0,149,67,.25) 0%, transparent 40%),
    linear-gradient(25deg, rgba(210,16,52,.28) 0%, transparent 45%),
    linear-gradient(0deg, rgba(0,32,91,1) 0%, rgba(0,32,91,.85) 100%);
}
a{color:#ffcc00}

header.hero{position:relative; padding:36px 18px 18px; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.12)}
.ribbons{position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(110deg, transparent 0 20%, rgba(255,255,255,.06) 20% 22%, transparent 22% 100%),
             linear-gradient(290deg, transparent 0 67%, rgba(255,255,255,.04) 67% 69%, transparent 69% 100%)}
.sun{position:absolute; right:28px; top:28px; width:92px; height:92px; border-radius:50%;
  background:radial-gradient(circle at 50% 50%, #ffcc00 0 46%, #ffdf66 46% 60%, transparent 61% 100%);
  box-shadow:0 0 0 8px rgba(255,204,0,.25), 0 0 60px rgba(255,204,0,.40)}
.title{max-width:1200px; margin:0 auto; display:flex; align-items:flex-start; gap:18px}
.flag-pill{display:inline-flex; gap:8px; align-items:center; padding:8px 12px; border-radius:999px; font-weight:800; letter-spacing:.3px;
  background:linear-gradient(90deg, var(--navy), var(--red), var(--green)); box-shadow:0 10px 28px rgba(0,0,0,.35), inset 0 0 0 2px rgba(255,255,255,.18)}
h1{margin:6px 0 4px 0; font-size:clamp(28px,5vw,56px); line-height:1.06; font-weight:900; text-shadow:0 2px 18px rgba(0,0,0,.35)}
.subtitle{color:#e7efff; opacity:.95; font-weight:700}

.toolbar{position:sticky; top:0; z-index:50; display:flex; gap:10px; flex-wrap:wrap; padding:10px; background:rgba(0,32,91,.9);
  border-bottom:1px solid rgba(255,255,255,.12); box-shadow:0 6px 20px rgba(0,0,0,.35)}
.btn{display:inline-flex; gap:8px; align-items:center; cursor:pointer; padding:10px 12px; border-radius:12px;
  border:1px solid rgba(255,255,255,.18); color:#fff; background:rgba(255,255,255,.06); font-weight:700; user-select:none}
.btn:is(:hover,:focus){outline:2px solid var(--ring)} .btn.active{background:linear-gradient(90deg,#ffcc00,#ffd84d); color:#111}
.spacer{flex:1}

.wrap{max-width:1200px; margin-inline:auto; padding:18px} .grid{display:grid; gap:18px; grid-template-columns:repeat(12,1fr)}
.slide{grid-column:1 / -1; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:22px; padding:0;
  box-shadow:0 16px 42px rgba(0,0,0,.45); overflow:hidden}
.slide header{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 24px}
.h2{display:flex; gap:12px; align-items:center; margin:0; font-size:clamp(22px,3.4vw,40px); line-height:1.12; font-weight:900}
.toggle{appearance:none; border:none; background:transparent; color:#fff; cursor:pointer; display:inline-flex; align-items:center; gap:8px; font-weight:800}
.caret{transition:transform .25s ease}
.content{padding:0 24px 22px 24px; transform-origin:top; transition: grid-template-rows .35s ease, opacity .35s ease, transform .35s ease}
.content-inner{padding-top:6px}
.content.collapsed{grid-template-rows:0fr; opacity:.0; transform:translateY(-6px)}
.content.expanded{grid-template-rows:1fr; opacity:1; transform:translateY(0)}
.content{display:grid}
.content > .content-inner{overflow:hidden}

.lead{margin:8px 0 6px 0; font-size:18px; font-weight:600} p{margin:10px 0} ul{margin:8px 0 0 1.25rem} li{margin:6px 0}
.callout{margin-top:12px; padding:14px; border-radius:16px; border:1px dashed rgba(255,255,255,.22);
  background:linear-gradient(180deg, rgba(255,204,0,.12), rgba(0,149,67,.10))}
.cols{display:grid; gap:14px; grid-template-columns:repeat(2,1fr)} @media (max-width:900px){.cols{grid-template-columns:1fr}}
.t1{outline:2px solid rgba(255,204,0,.28)} .t2{outline:2px solid rgba(210,16,52,.28)} .t3{outline:2px solid rgba(0,149,67,.28)} .t4{outline:2px solid rgba(255,255,255,.24)}
footer{text-align:center; padding:22px; color:#e2eaff; opacity:.9}

/* Reveal on scroll */
.reveal{opacity:0; transform:translateY(20px); transition:opacity .55s ease, transform .55s ease}
.reveal.in{opacity:1; transform:translateY(0)}

/* Presenter tools */
#laser{position:fixed; width:18px; height:18px; border-radius:50%; transform:translate(-50%,-50%); pointer-events:none; z-index:1000; display:none;
  background:radial-gradient(circle at 50% 50%, #ff3b3b 0 40%, rgba(255,59,59,.6) 40% 70%, transparent 71% 100%); filter:drop-shadow(0 0 8px rgba(255,59,59,.9))}
#spotlight{position:fixed; inset:0; pointer-events:none; z-index:999; display:none; --x:50vw; --y:50vh; --r:120px;
  background:radial-gradient(circle var(--r) at var(--x) var(--y), transparent 0, transparent 95%, rgba(0,0,0,.70) 100%)}
.highlight{position:absolute; background:rgba(255,255,0,.35); outline:2px solid rgba(255,255,0,.7); border-radius:6px; pointer-events:none; z-index:20}
.highlight-layer{position:fixed; inset:0; z-index:20; pointer-events:none; display:block}

@media print{.toolbar,.sun{display:none} body{background:#fff;color:#000} .slide{background:#fff;color:#000; box-shadow:none; border:1px solid #ddd}}
