
*{box-sizing:border-box;margin:0;padding:0}
:root{--blue:#1E56a5;--blue-d:#164077;--green:#35a94d;--ink:#16222f;--body:#2c3a47;--muted:#5c6b78;--line:#e2e7ec;--bg:#fff;--tint:#f3f6fa;--grad:linear-gradient(90deg,#1E56a5,#35a94d)}
html{scroll-behavior:smooth}
body{font-family:Georgia,'Times New Roman',serif;color:var(--body);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.eyebrow,.btn,.brand,.nav,nav,.n,.tl-yr,.ndate{font-family:'Lato',system-ui,sans-serif}
h1,h2,h3,h4{color:var(--ink);line-height:1.15;font-weight:900}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
.wrap{width:min(1180px,92vw);margin:0 auto}
.wrap.narrow{width:min(820px,92vw)}
.eyebrow{display:inline-block;font-weight:900;text-transform:uppercase;letter-spacing:2px;font-size:.78rem;color:var(--green);margin-bottom:10px}
.eyebrow.light{color:#bfe3c6}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}
.btn{display:inline-block;background:var(--grad);color:#fff;font-weight:900;font-size:1rem;padding:13px 26px;border-radius:6px;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 22px rgba(30,86,165,.25)}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,86,165,.34)}
.btn.ghost{background:transparent;border:2px solid #fff;color:#fff;box-shadow:none}
.block .btn.ghost{border-color:var(--blue);color:var(--blue)}

/* header */
.hdr{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hdr .in{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand img{height:46px}
nav{display:flex;align-items:center;gap:22px}
nav a{color:var(--ink);font-weight:700;font-size:.95rem}
nav a:hover{color:var(--blue)}
nav a.cta{background:var(--grad);color:#fff;padding:9px 18px;border-radius:6px}
.navtog{display:none;flex-direction:column;align-items:flex-end;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.navtog span{height:3px;border-radius:2px;transition:.3s;transform-origin:center;background:var(--ink)}
.navtog span:nth-child(1){width:28px}
.navtog span:nth-child(2){width:19px;background:var(--green)}
.navtog span:nth-child(3){width:24px}
.navtog.open span:nth-child(1){width:28px;transform:translateY(8px) rotate(45deg)}
.navtog.open span:nth-child(2){opacity:0}
.navtog.open span:nth-child(3){width:28px;transform:translateY(-8px) rotate(-45deg)}

/* hero */
.hero{background-size:cover;background-position:center;color:#fff;padding:150px 0 120px}
.hero-in{max-width:820px}
.hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4rem);margin-bottom:14px}
.lede{font-size:clamp(1.15rem,2.4vw,1.5rem);color:#e8eef5;font-family:'Lato',sans-serif;font-weight:700;margin-bottom:20px}
.hero-desc{font-size:1.05rem;color:#dbe4ee;max-width:70ch}
.hero-cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}

/* blocks */
.block{padding:84px 0}
.block.tint{background:var(--tint)}
.sec-head{max-width:760px;margin-bottom:44px}
.sec-head h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.lead{margin-top:14px;font-size:1.12rem;color:var(--muted)}

/* site info */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px 48px}
.ticks{list-style:none}
.ticks li{position:relative;padding:14px 0 14px 38px;border-bottom:1px solid var(--line);font-size:1.05rem}
.ticks li::before{content:"";position:absolute;left:0;top:16px;width:22px;height:22px;border-radius:50%;background:var(--grad);
 -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2l-3.5-3.5L4 14.2 9 19l11-11-1.5-1.5z'/></svg>") center/14px no-repeat;
 mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2l-3.5-3.5L4 14.2 9 19l11-11-1.5-1.5z'/></svg>") center/14px no-repeat}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 26px;border-top:4px solid transparent;border-image:var(--grad) 1;box-shadow:0 10px 26px rgba(22,34,47,.05)}
.stat .n{font-size:2.6rem;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.stat .l{margin-top:8px;color:var(--muted);font-size:1rem}

/* map */
.map-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:start}
.map-aerial{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 16px 40px rgba(22,34,47,.14)}
.map-base{width:100%}
.map-inset{position:absolute;right:12px;bottom:12px;width:118px;border:2px solid #fff;border-radius:8px;box-shadow:0 6px 16px rgba(0,0,0,.3);opacity:.95}
.mpin{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;border:3px solid #fff;background:var(--blue);color:#fff;font-family:'Lato';font-weight:900;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.4);transition:.2s;display:grid;place-items:center;font-size:.95rem}
.mpin:hover{transform:translate(-50%,-50%) scale(1.12)}
.mpin.on{background:var(--green);width:40px;height:40px;box-shadow:0 0 0 6px rgba(53,169,77,.3)}
.map-display{position:relative;border-radius:12px;overflow:hidden;background:#000;min-height:280px;box-shadow:0 12px 30px rgba(22,34,47,.12)}
.mpanel{display:none}
.mpanel.on{display:block}
.mpanel img{width:100%;height:340px;object-fit:cover}
.mpanel figcaption{padding:16px 18px;background:var(--ink);color:#dbe4ee;font-size:.98rem}
.mpanel figcaption b{display:block;color:#fff;font-family:'Lato';font-size:1.1rem;margin-bottom:4px}
.map-list{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mrow{text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;font-family:Georgia,serif;color:var(--body);transition:.15s}
.mrow b{font-family:'Lato';font-weight:700;font-size:.9rem;color:var(--ink)}
.mrow:hover{border-color:var(--blue)}
.mrow.on{background:var(--blue);border-color:var(--blue)}
.mrow.on b{color:#fff}

/* timeline */
.timeline{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:0;padding:24px 0;margin-top:10px}
.tl-bar{position:absolute;left:0;right:0;top:50%;height:10px;transform:translateY(-50%);background:var(--grad);border-radius:6px}
.tl-item{position:relative;display:flex;justify-content:center;min-height:520px}
.tl-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--blue);z-index:2}
.tl-item.bot .tl-dot{border-color:var(--green)}
.tl-card{position:absolute;width:150px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 14px;box-shadow:0 10px 24px rgba(22,34,47,.1);text-align:center}
.tl-item.top .tl-card{bottom:calc(50% + 34px)}
.tl-item.bot .tl-card{top:calc(50% + 34px)}
.tl-ic{width:44px;height:44px;border-radius:50%;background:var(--grad);display:grid;place-items:center;margin:0 auto 8px}
.tl-ic svg{width:24px;height:24px;fill:#fff}
.tl-yr{font-weight:900;font-size:1.3rem;color:var(--blue)}
.tl-item.bot .tl-yr{color:var(--green)}
.tl-card p{font-size:.82rem;line-height:1.45;color:var(--muted);margin-top:4px}

/* participants */
.plogos{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.plogo{flex:0 1 calc(20% - 15px);display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 22px;min-height:120px;transition:.2s}
.plogo img{max-height:66px;width:auto;filter:grayscale(1);opacity:.72;transition:.25s}
.plogo:hover{border-color:var(--blue);box-shadow:0 10px 24px rgba(22,34,47,.08)}
.plogo:hover img{filter:none;opacity:1}

/* news */
.ngrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ncard{background:#fff;border:1px solid var(--line);border-radius:12px;transition:.2s;display:flex;align-items:center;gap:16px;padding:14px 18px 14px 14px}
.ncard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(22,34,47,.12)}
.nthumb{flex:none;width:76px;height:76px;border-radius:50%;overflow:hidden;background:var(--tint);border:2px solid var(--line)}
.nthumb img{width:100%;height:100%;object-fit:cover;transition:.3s}
.ncard:hover .nthumb img{transform:scale(1.06)}
.nbody{padding:0}
.ndate{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--green)}
.ncard h3{font-size:1rem;margin-top:4px;color:var(--ink);line-height:1.32}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact-grid h3{font-size:1.3rem;margin-bottom:8px}
.contact-grid p{color:var(--muted);margin-bottom:16px}
.cinfo{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.w3form{display:grid;gap:12px}
.w3form input,.w3form textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:1rem;background:#fff;font-family:Georgia,serif}
.w3form input:focus,.w3form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,86,165,.14)}
.hp{position:absolute;left:-9999px}
.formMsg{display:none;padding:12px 14px;border-radius:8px;font-family:'Lato';font-weight:700;font-size:.95rem}
.formMsg.ok{display:block;background:#e7f6ec;color:#1c7a3a;border:1px solid #bce6c8}
.formMsg.err{display:block;background:#fdeaea;color:#b3261e;border:1px solid #f3c0bc}

/* footer */
.footer{background:var(--ink);color:#9fb0bf;padding:56px 0 34px}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
.flogo{height:46px;background:#fff;padding:8px 12px;border-radius:8px;margin-bottom:14px}
.footer h4{color:#fff;margin-bottom:12px;font-size:1rem}
.footer p{font-size:.95rem;line-height:1.7}
.fnav{display:flex;flex-direction:column;gap:8px}
.fnav a{color:#9fb0bf;font-size:.95rem}
.fnav a:hover{color:#fff}
.fb{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.85rem;font-family:'Lato'}

/* press release page */
.pr .back{display:inline-block;margin-bottom:18px;font-weight:700}
.pr h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:8px 0 22px}
.pr-hero{width:100%;border-radius:12px;margin-bottom:26px}
.prose{font-size:1.08rem}
.prose p{margin:0 0 18px}
.prose img{border-radius:10px;margin:20px 0}
.prose h2,.prose h3{margin:26px 0 12px}
.prose a{text-decoration:underline}
.pr .btn.ghost{margin-top:20px}

@media(max-width:900px){
 .navtog{display:flex}
 nav{position:fixed;inset:64px 0 auto 0;background:#fff;flex-direction:column;padding:20px;gap:14px;border-bottom:1px solid var(--line);transform:translateY(-140%);transition:.3s;box-shadow:0 20px 40px rgba(0,0,0,.1)}
 nav.open{transform:none}
 .hero{padding:92px 0 60px}
 .two-col{grid-template-columns:1fr;gap:0}
 .stats{grid-template-columns:1fr 1fr}
 .map-wrap{grid-template-columns:1fr}
 .contact-grid{grid-template-columns:1fr;gap:26px}
 .plogo{flex-basis:calc(33.333% - 12px)}
 .ngrid{grid-template-columns:1fr}
 .timeline{grid-template-columns:1fr;padding:0;gap:0}
 .tl-bar{left:24px;right:auto;top:0;bottom:0;width:8px;height:auto;transform:none}
 .tl-item{justify-content:flex-start;padding:14px 0 14px 60px;min-height:auto}
 .tl-dot{left:24px}
 .tl-card{position:static;width:auto;text-align:left}
 .tl-ic{margin:0 0 8px}
}
@media(max-width:560px){.stats{grid-template-columns:1fr}.plogo{flex-basis:calc(50% - 9px)}.map-list{grid-template-columns:1fr}.fg{grid-template-columns:1fr}.fb{flex-direction:column}}
