/* AI4Nation 2027 — styles
   Colors live in :root below. Change a value there to restyle the whole site. */
:root{
  --bg:#fff;--fg:#071a3d;--surface:#e8eef7;--card:#fff;--navy:#071a3d;--navy-fg:#fff;
  --muted:#4a5b78;--accent:#e3ebfd;--signal:#155eef;--signal-strong:#0f4bc4;--gold:#c9a227;
  --border:#d5deeb;--radius:.5rem;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:6rem;-webkit-text-size-adjust:100%}
body{font-family:'IBM Plex Sans',ui-sans-serif,system-ui,sans-serif;color:var(--fg);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100dvh}
html[lang=ar] body{font-family:'IBM Plex Sans Arabic','IBM Plex Sans',ui-sans-serif,system-ui,sans-serif}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.tnum{font-variant-numeric:tabular-nums}
.balance{text-wrap:balance}.pretty{text-wrap:pretty}
.container{max-width:72rem;margin:0 auto;width:100%;padding-inline:1.25rem}
@media(min-width:640px){.container{padding-inline:2rem}}
svg.i{width:1rem;height:1rem;flex-shrink:0}
[dir=rtl] .flip{transform:scaleX(-1)}

/* top bar + header */
.topbar{background:var(--navy);color:var(--navy-fg);font-size:.75rem}
.topbar .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1.5rem;padding-block:.5rem}
.topbar .host{opacity:.75}
.dot{display:inline-block;width:.375rem;height:.375rem;border-radius:999px;background:currentColor;flex-shrink:0}
.topbar .notice{display:inline-flex;align-items:center;gap:.5rem;font-weight:500}
.topbar .notice .dot{background:var(--gold)}
header.site{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--border);background:rgba(255,255,255,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
header.site .container{position:relative;display:flex;height:4rem;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:inline-flex;align-items:baseline;gap:.375rem;direction:ltr}
.brand b{font-size:1.25rem;font-weight:600;color:var(--navy)}
.brand b span{color:var(--signal)}
.brand small{font-size:.75rem;font-weight:500;color:var(--muted)}
.brand.dark b{color:var(--navy-fg)}.brand.dark b span{color:var(--gold)}.brand.dark small{color:rgba(255,255,255,.6)}
nav.main{display:none}
nav.main ul{display:flex;align-items:center;gap:.25rem}
nav.main a{display:block;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:rgba(7,26,61,.75);transition:color .15s}
nav.main a:hover{color:var(--fg)}
nav.main a[aria-current=page]{color:var(--fg);text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:2px;text-underline-offset:8px}
.hdr-actions{display:flex;align-items:center;gap:.5rem}
.lang-btn{display:inline-flex;height:2.5rem;align-items:center;gap:.5rem;border-radius:.375rem;border:1px solid rgba(7,26,61,.15);padding-inline:.75rem;font-size:.875rem;font-weight:500;transition:background .15s}
.lang-btn:hover,.menu-btn:hover{background:var(--surface)}
.lang-btn svg{color:var(--signal-strong)}
.menu-btn{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:.375rem;border:1px solid rgba(7,26,61,.15)}
.menu-btn svg{width:1.25rem;height:1.25rem}
#mobile-nav{position:absolute;inset-inline:0;top:100%;max-height:calc(100dvh - 7rem);overflow-y:auto;border-bottom:1px solid var(--border);background:var(--bg);padding:0 1.25rem 1.5rem;box-shadow:0 10px 15px -3px rgba(7,26,61,.05)}
#mobile-nav a{display:block;border-bottom:1px solid var(--border);padding:1rem .25rem;font-size:1rem;font-weight:500}
#mobile-nav a:hover,#mobile-nav a[aria-current=page]{color:var(--signal-strong)}
@media(min-width:640px){#mobile-nav{padding-inline:2rem}}
@media(min-width:1280px){nav.main{display:block}.menu-btn,#mobile-nav{display:none!important}}

/* type & primitives */
.eyebrow{font-size:.875rem;font-weight:600;color:var(--signal-strong)}
[dir=ltr] .eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em}
.dark .eyebrow,.eyebrow.gold{color:var(--gold)}
.sh{max-width:42rem}
.sh h2{margin-top:.75rem;font-size:1.875rem;font-weight:600;line-height:1.25;letter-spacing:-.025em;text-wrap:balance}
.sh p.lead{margin-top:1rem;font-size:1rem;line-height:1.625;color:var(--muted);text-wrap:pretty}
.dark .sh h2{color:var(--navy-fg)}.dark .sh p.lead{color:rgba(255,255,255,.75)}
@media(min-width:768px){.sh h2{font-size:2.25rem}.sh p.lead{font-size:1.125rem}}
section.sec{padding-block:4rem}
@media(min-width:768px){section.sec{padding-block:6rem}}
.bg-surface{background:var(--surface)}
.bg-navy,.dark{background:var(--navy);color:var(--navy-fg)}
.by{border-block:1px solid var(--border)}.bt{border-top:1px solid var(--border)}.bb{border-bottom:1px solid var(--border)}
.btn{display:inline-flex;height:2.75rem;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;padding-inline:1.25rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s}
.btn-primary{background:var(--navy);color:var(--navy-fg)}.btn-primary:hover{background:rgba(7,26,61,.9)}
.btn-outline{border:1px solid rgba(7,26,61,.2)}.btn-outline:hover{border-color:rgba(7,26,61,.4);background:var(--surface)}
.btn-light{background:var(--navy-fg);color:var(--navy)}
.btn-outline-light{border:1px solid rgba(255,255,255,.3);color:var(--navy-fg)}.btn-outline-light:hover{background:rgba(255,255,255,.1)}
.tlink{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--signal-strong);text-underline-offset:4px}
.tlink:hover{text-decoration:underline}
.tlink svg{transition:transform .15s}
.tlink:hover svg{transform:translateX(2px)}
[dir=rtl] .tlink:hover svg{transform:scaleX(-1) translateX(2px)}
.badge{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;border-radius:999px;border:1px solid;padding:.25rem .75rem;font-size:.75rem;font-weight:500;line-height:1rem}
.badge.pending{border-color:rgba(21,94,239,.4);background:var(--accent);color:var(--signal-strong)}
.badge.neutral{border-color:var(--border);background:var(--card);color:var(--muted)}
.badge.neutral .dot{background:rgba(74,91,120,.6)}
.badge.darkb{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.05);color:var(--navy-fg)}
.badges{display:flex;flex-wrap:wrap;gap:.5rem}
.notice-box{border-inline-start:2px solid var(--signal);background:var(--surface);padding:1rem 1.25rem;font-size:.875rem;line-height:1.625;color:rgba(7,26,61,.85)}
.card{border-radius:var(--radius);border:1px solid var(--border);background:var(--card);padding:1.5rem}
.dashed{border-radius:var(--radius);border:1px dashed rgba(7,26,61,.2)}
.muted{color:var(--muted)}
.grid{display:grid}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}
.row-end{display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}
@media(min-width:768px){.row-end{flex-direction:row;align-items:flex-end}}
.self-start{align-self:start}.self-end{align-self:end}
.g2{display:grid;gap:3rem}
@media(min-width:1024px){.g2{grid-template-columns:1fr 1fr}}

/* hero */
@media(prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .fade-up{animation:fade-up .7s cubic-bezier(.2,.7,.2,1) both}
  .draw-path{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 2.2s .3s ease-out forwards}
  .pulse-node{animation:pulse 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
}
@keyframes fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.35}50%{transform:scale(1.6);opacity:0}}
.hero .container{display:grid;align-items:center;gap:3rem;padding-block:3.5rem}
@media(min-width:768px){.hero .container{padding-block:5rem}}
@media(min-width:1024px){.hero .container{grid-template-columns:1.15fr .85fr;gap:4rem;padding-block:6rem}}
.hero h1{margin-top:1.25rem;font-size:3rem;font-weight:600;line-height:1.05;letter-spacing:-.025em;text-wrap:balance}
.hero h1 span{display:block;color:var(--signal-strong)}
@media(min-width:768px){.hero h1{font-size:3.75rem}}
@media(min-width:1024px){.hero h1{font-size:4.5rem}}
.hero .intro{margin-top:1.5rem;max-width:36rem;font-size:1.125rem;line-height:1.625;color:var(--muted);text-wrap:pretty}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-meta{margin-top:3rem;display:grid;gap:1.5rem;border-top:1px solid var(--border);padding-top:1.5rem}
@media(min-width:640px){.hero-meta{grid-template-columns:repeat(3,1fr)}}
.hero-meta dt{font-size:.75rem;color:var(--muted)}
.hero-meta dd.v{margin-top:.25rem;font-weight:600}
.hero-meta dd.s{margin-top:.25rem;font-size:.875rem;color:var(--muted)}
.net-wrap{margin-inline:auto;width:100%;max-width:28rem}
@media(min-width:1024px){.net-wrap{max-width:none}}
figure.net{position:relative;overflow:hidden;border-radius:.75rem;background:var(--navy);padding:1rem}
@media(min-width:640px){figure.net{padding:1.5rem}}
figure.net svg{display:block;width:100%;height:auto;direction:ltr}
figure.net figcaption{margin-top:.5rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem;font-size:.75rem;color:rgba(255,255,255,.6)}

/* page hero */
.phero{position:relative;overflow:hidden;border-bottom:1px solid var(--border);background:var(--surface)}
.phero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.6;background-image:radial-gradient(circle,rgba(7,26,61,.12) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent);mask-image:linear-gradient(to bottom,#000,transparent)}
.phero .container{position:relative;padding-block:3.5rem}
@media(min-width:768px){.phero .container{padding-block:5rem}}
.phero .inner{max-width:48rem}
.phero h1{margin-top:1rem;font-size:2.25rem;font-weight:600;line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
@media(min-width:768px){.phero h1{font-size:3rem}}
@media(min-width:1024px){.phero h1{font-size:3.75rem}}
.phero p.lead{margin-top:1.25rem;max-width:42rem;font-size:1.125rem;line-height:1.625;color:var(--muted);text-wrap:pretty}

/* step flow */
.steps{display:grid;gap:2.5rem 2rem}
@media(min-width:640px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.steps.c3{grid-template-columns:repeat(3,1fr)}.steps.c4{grid-template-columns:repeat(4,1fr)}.steps.c5{grid-template-columns:repeat(5,1fr)}.steps li:last-child .line{opacity:0}}
.steps .top{display:flex;align-items:center;gap:.75rem}
.steps .num{display:flex;width:2.25rem;height:2.25rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(21,94,239,.5);color:var(--signal-strong);font-size:.75rem;font-weight:600}
.steps .line{height:1px;flex:1;background:var(--border)}
.steps h3{margin-top:1.25rem;font-size:1.125rem;font-weight:600}
.steps p{margin-top:.5rem;font-size:.875rem;line-height:1.625;color:var(--muted)}
.dark .steps .num{border-color:rgba(201,162,39,.6);color:var(--gold)}
.dark .steps .line{background:rgba(255,255,255,.2)}
.dark .steps h3{color:var(--navy-fg)}.dark .steps p{color:rgba(255,255,255,.7)}

/* tracks */
.tracks{border-bottom:1px solid var(--border)}
.tracks>li{display:grid;gap:1rem;border-top:1px solid var(--border);padding-block:1.75rem}
@media(min-width:768px){.tracks>li{grid-template-columns:5rem 1fr 1.1fr;gap:2rem}}
.tracks .n{font-size:1.875rem;font-weight:300;color:var(--signal)}
.tracks h3{font-size:1.25rem;font-weight:600;line-height:1.375;text-wrap:balance}
.chips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.5rem}
.chips li{border-radius:999px;border:1px solid var(--border);background:var(--card);padding:.25rem .75rem;font-size:.875rem;color:rgba(7,26,61,.8)}
.chips.lg li{padding:.5rem 1rem;color:var(--fg)}
.note{margin-top:1rem;font-size:.875rem;color:var(--muted)}

/* activities */
.acts-grid{display:grid;gap:3rem}
@media(min-width:1024px){.acts-grid{grid-template-columns:.8fr 1.2fr}.acts-grid .sticky{position:sticky;top:7rem;align-self:start}}
.acts{display:grid;column-gap:2rem}
@media(min-width:640px){.acts{grid-template-columns:1fr 1fr}}
.acts li{border-top:1px solid rgba(7,26,61,.1);padding-block:1.25rem}
.idx{font-size:.75rem;font-weight:600;color:var(--signal-strong)}
.acts h3{margin-top:.5rem;font-weight:600}
.acts p{margin-top:.25rem;font-size:.875rem;line-height:1.625;color:var(--muted)}
.inline-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}

/* dates */
.dates-grid{display:grid;gap:3rem}
@media(min-width:1024px){.dates-grid{grid-template-columns:1.35fr .65fr}.dates-grid aside{margin-top:6rem}}
.dates{overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:var(--card)}
.dates .hd{display:none;gap:1rem;border-bottom:1px solid var(--border);background:var(--surface);padding:.75rem 1.25rem;font-size:.75rem;font-weight:600;color:var(--muted)}
.dates li.ph{display:grid;gap:.5rem;border-bottom:1px solid var(--border);padding:1rem 1.25rem}
.dates li.ph:last-child{border-bottom:0}
.dates li.hl{background:rgba(227,235,253,.4)}
@media(min-width:640px){.dates .hd{display:grid}.dates .hd,.dates li.ph{grid-template-columns:10rem 1fr 13rem;align-items:start;gap:1rem}}
.dates .per{font-size:.875rem;font-weight:600;color:var(--signal-strong)}
.dates .ms{display:flex;flex-direction:column;gap:.375rem}
.dates .ms li{font-weight:500;line-height:1.625}
.dates li.hl .ms li{font-weight:600}
aside.pub h2{margin-top:.5rem;font-size:1.5rem;font-weight:600}
aside.pub p.body{margin-top:1rem;line-height:1.625;color:rgba(7,26,61,.85)}

/* venue */
.venue-grid{display:grid;gap:2.5rem}
@media(min-width:768px){.venue-grid{grid-template-columns:1fr 1fr;align-items:center}.venue-grid .card{padding:2rem}}
.venue-grid .vn{font-size:1.5rem;font-weight:600}

/* cta */
.cta .container{display:flex;flex-direction:column;gap:2rem}
@media(min-width:1024px){.cta .container{flex-direction:row;align-items:flex-end;justify-content:space-between}}
section.cta{padding-block:4rem}@media(min-width:768px){section.cta{padding-block:5rem}}

/* detail grid */
.dgrid{display:grid;gap:1px;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:var(--border)}
@media(min-width:640px){.dgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.dgrid.c3{grid-template-columns:repeat(3,1fr)}.dgrid.c4{grid-template-columns:repeat(4,1fr)}}
.dgrid>li,.dgrid>div{display:flex;flex-direction:column;background:var(--card);padding:1.5rem}
.dgrid h3{margin-top:.75rem;font-size:1.125rem;font-weight:600}
.dgrid p{margin-top:.5rem;flex:1;font-size:.875rem;line-height:1.625;color:var(--muted)}
.dgrid .bw{margin-top:1.25rem}

/* facts */
.facts{border-block:1px solid var(--border)}
.facts>div{display:grid;gap:.25rem;padding-block:1rem;border-top:1px solid var(--border)}
.facts>div:first-child{border-top:0}
@media(min-width:640px){.facts>div{grid-template-columns:10rem 1fr;gap:1.5rem}}
.facts dt{font-size:.875rem;color:var(--muted)}.facts dd{font-weight:500}

/* faq */
.faq{border-top:1px solid var(--border)}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{display:flex;cursor:pointer;list-style:none;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1.25rem;text-align:start;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:1.25rem;height:1.25rem;color:var(--signal-strong);transition:transform .2s}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding-bottom:1.5rem;padding-inline-end:2.5rem;line-height:1.625;color:var(--muted)}
.faq-grid{display:grid;gap:3rem}
@media(min-width:1024px){.faq-grid{grid-template-columns:.7fr 1.3fr}}

/* configured action */
.cfg{border-radius:var(--radius);border:1px dashed rgba(7,26,61,.2);background:var(--card);padding:1.25rem}
.cfg .r{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.cfg .r svg{color:var(--signal-strong)}
.cfg .t{margin-top:1rem;font-weight:600}
.cfg .b{margin-top:.375rem;font-size:.875rem;line-height:1.625;color:var(--muted)}

/* about */
.objs{display:grid;column-gap:2.5rem}
@media(min-width:768px){.objs{grid-template-columns:1fr 1fr}}
.objs li{display:flex;gap:1.25rem;border-top:1px solid var(--border);padding-block:1.5rem}
.objs .n{font-size:1.5rem;font-weight:300;color:var(--signal)}
.objs p{line-height:1.625}
.vm{display:grid;gap:3rem}
@media(min-width:768px){.vm{grid-template-columns:1fr 1fr}}
.vm>div{border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem}
.vm h2{font-size:.875rem;font-weight:600;color:var(--gold)}
.vm p{margin-top:1rem;font-size:1.5rem;font-weight:500;line-height:1.375;text-wrap:balance}
@media(min-width:768px){.vm p{font-size:1.875rem}}
section.navy-sec{padding-block:4rem}@media(min-width:768px){section.navy-sec{padding-block:5rem}}
section.navy-sec.tall{}@media(min-width:768px){section.navy-sec.tall{padding-block:6rem}}
.rows{border-bottom:1px solid var(--border)}
.rows>li{display:grid;gap:.75rem;border-top:1px solid var(--border);padding-block:1.5rem}
@media(min-width:768px){.rows>li{grid-template-columns:1fr 1.4fr auto;align-items:center;gap:2rem}.rows.contact>li{grid-template-columns:1fr 1.2fr auto}}
.rows.contact>li{padding-block:1.75rem}
.rows h3{font-weight:600}.rows.contact h3{font-size:1.25rem}
.rows .role{font-size:.875rem;line-height:1.625;color:var(--muted)}
.rows .mem{display:flex;align-items:center;gap:.5rem;font-size:.875rem}
.lg-p{font-size:1.125rem;line-height:1.625;color:rgba(7,26,61,.85);text-wrap:pretty}
.kv-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}
.h3x{margin-top:.5rem;font-size:1.25rem;font-weight:600}
.small-h{font-size:.875rem;font-weight:600;color:var(--muted)}
.cfp-grid{display:grid;gap:2.5rem}
@media(min-width:1024px){.cfp-grid{grid-template-columns:1.2fr .8fr}}
.h2plain{font-size:1.875rem;font-weight:600;letter-spacing:-.025em}
@media(min-width:768px){.h2plain.md4{font-size:2.25rem}}
.dark .pubtxt{font-size:1.25rem;line-height:1.625;color:rgba(255,255,255,.9)}
.journal{border-radius:var(--radius);border:1px solid rgba(255,255,255,.2);padding:1.5rem}
.journal h3{font-weight:600;color:var(--gold)}
.journal p{margin-top:.75rem;line-height:1.625;color:rgba(255,255,255,.8)}

/* program */
.days{display:grid;gap:1.5rem}
@media(min-width:1024px){.days{grid-template-columns:repeat(3,1fr)}}
.days>li{display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--border);background:var(--card)}
.days .dh{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--border);padding:1.25rem 1.5rem}
.days .dh .lbl{font-size:.875rem;color:var(--muted)}
.days .dh .lbl span{font-size:1.875rem;font-weight:300;color:var(--signal)}
.days .db{flex:1;padding:1.5rem}
.days h3{font-size:1.25rem;font-weight:600}
.bul{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}
.bul li{display:flex;gap:.75rem;font-size:.875rem;line-height:1.625}
.bul li .dot,.sts li .dot{margin-top:.5rem;background:var(--signal)}
.fmts{border-block:1px solid var(--border)}
.fmts>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:1.25rem;border-top:1px solid var(--border)}
.fmts>div:first-child{border-top:0}
.fmts dt b{font-weight:600;display:block}.fmts dt span{display:block;font-size:.875rem;color:var(--muted)}
.fmts dd{font-size:1.5rem;font-weight:300;color:var(--signal-strong)}

/* hackathon targets */
.tgt>div{flex-direction:column-reverse!important;gap:.75rem}
.tgt dt{font-size:.875rem;line-height:1.625;color:var(--muted)}
.tgt dd{font-size:3rem;font-weight:300;color:var(--signal-strong);line-height:1}

/* partners */
.sts{border-bottom:1px solid var(--border)}
.sts li{display:flex;gap:1rem;border-top:1px solid var(--border);padding-block:1.25rem;line-height:1.625}
.sts li .dot{margin-top:.625rem}
.recog{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:2rem}
@media(min-width:768px){.recog{flex-direction:row;align-items:center;justify-content:space-between}}
.recog h2{font-size:1.25rem;font-weight:600}

/* footer */
footer.site{background:var(--navy);color:var(--navy-fg)}
footer.site .container{padding-block:3.5rem}
@media(min-width:768px){footer.site .container{padding-block:4rem}}
.fgrid{display:grid;gap:2.5rem}
@media(min-width:768px){.fgrid{grid-template-columns:1.4fr repeat(3,1fr)}}
.fgrid .about{max-width:24rem}
.fgrid .slogan{margin-top:.5rem;font-size:.875rem;font-weight:500;color:var(--gold)}
.fgrid .desc{margin-top:1rem;font-size:.875rem;line-height:1.625;color:rgba(255,255,255,.7)}
.fgrid h2{font-size:.875rem;font-weight:600}
.fgrid ul{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}
.fgrid ul a{font-size:.875rem;color:rgba(255,255,255,.7);transition:color .15s}
.fgrid ul a:hover{color:#fff}
.fbot{margin-top:3rem;display:flex;flex-direction:column;gap:.75rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;font-size:.75rem;color:rgba(255,255,255,.6)}
@media(min-width:768px){.fbot{flex-direction:row;align-items:center;justify-content:space-between}.fbot span:last-child{max-width:36rem;text-align:end}}

/* helpers used by the split page files */
main{outline:none}
.label{font-size:.875rem;font-weight:600;color:var(--signal-strong)}
.stack{display:grid;gap:2rem}
.body-text{line-height:1.625}
.pad{padding:1.5rem}
.h3x.flush{margin-top:0}
.inline-row.tight{gap:.75rem}
.g2.impact-head{align-items:end;gap:2.5rem}
@media(min-width:1024px){.push-end{justify-self:end}}
.badge.confirmed{border-color:rgba(7,26,61,.2);background:var(--navy);color:var(--navy-fg)}
@media(min-width:640px){.dates .hd,.dates li.ph{grid-template-columns:13rem 1fr}}
