
:root{
  color-scheme:light;
  --brand:#283180;        /* CCCI logo navy */
  --brand-deep:#1a1e55;
  --reef:#0077aa;         /* link blue, darkened logo blue */
  --coral:#c4620f;        /* EDA buttons: logo orange, deepened for white text */
  --charcoal:#343436;
  /* logo accents: replace with exact CCCI logo hex codes */
  --c-ocean:#009cde;--c-leaf:#43b649;--c-sun:#fdca10;--c-coral:#f69b39;
  --tint-ocean:#e6f5fc;--tint-leaf:#edf7e8;--tint-sun:#fff8db;--tint-coral:#fef1e2;
  --stripe:linear-gradient(90deg,var(--c-sun) 0 20%,var(--c-coral) 20% 40%,var(--c-leaf) 40% 60%,var(--c-ocean) 60% 80%,var(--brand) 80% 100%);
  --paper:#fcfbf8;         /* off-white */
  --sand:#f6efe2;--sand-line:#e8dcc6;  /* sand bands */
  --sky:#e1f1fb;          /* soft blue bands */
  --blue:#009cde;--blue-ink:#ffffff;  /* feature band, logo blue */
  --mist:#f5f7fb;         /* light blue-tinted neutral band */
  --ink:#171a3a;
  --muted:#565b7a;
  --line:#dadded;
  --card:#ffffff;
  --on-brand:#ffffff;
  --btn:#282e79;--btn-ink:#ffffff;
  --ok:#1d7a4c;--ok-bg:#e1f2e9;
  --warn:#8f5a00;--warn-bg:#fbefd6;
  --bad:#ad2f27;--bad-bg:#fae3e0;
  --info:#0d7480;--info-bg:#dff1f2;
  --display:"Jost","Century Gothic",Arial,sans-serif;
  --body:"Roboto","Segoe UI",Arial,sans-serif;
  --wrap:1200px;
}

*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}
a{color:var(--reef)}
:focus-visible{outline:3px solid var(--reef);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.12;margin:0;text-wrap:balance}
h1{font-size:clamp(2.2rem,5.2vw,3.9rem);text-transform:uppercase;letter-spacing:.04em;font-weight:300}
h2{font-size:clamp(1.6rem,3vw,2.3rem);text-transform:uppercase;letter-spacing:.04em;font-weight:300}
h3{font-size:1.3rem;letter-spacing:.01em}
h4{font-size:1.05rem}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:20px}
.eyebrow{font-family:var(--display);font-weight:500;font-size:.86rem;letter-spacing:.16em;text-transform:uppercase;color:var(--reef)}
.mi{font-style:italic;color:var(--muted)}
.lead{font-size:1.12rem;color:var(--muted);max-width:64ch}
.note{font-size:.84rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--btn);color:var(--btn-ink);border:1px solid var(--btn);border-radius:4px;padding:10px 18px;font:inherit;font-weight:500;text-decoration:none;cursor:pointer;justify-self:start;font-size:.95rem}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.coral{background:var(--coral);border-color:var(--coral);color:#fff}
.btn.light{background:#fff;border-color:#fff;color:#282e79}
.btn.sm{padding:6px 12px;font-size:.84rem}
.btn:disabled{opacity:.45;cursor:not-allowed}
.pill{display:inline-block;font-size:.72rem;font-weight:500;border-radius:999px;padding:2px 9px;white-space:nowrap;background:var(--mist);color:var(--brand);border:1px solid var(--line)}
.pill.ok{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.pill.warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}
.pill.bad{background:var(--bad-bg);color:var(--bad);border-color:transparent}
.pill.info{background:var(--info-bg);color:var(--info);border-color:transparent}
.pill.sample{background:transparent;border:1px dashed var(--line);color:var(--muted);font-weight:400}
.pill.real{background:transparent;border:1px solid var(--ok);color:var(--ok);font-weight:400}
.field{display:grid;gap:6px;min-width:0}
.field label,.field .lab{font-weight:500;font-size:.9rem}
.field input,.field select,.field textarea,.input{width:100%;min-width:0;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:4px;padding:10px 12px;font:inherit}
.field textarea{min-height:96px;resize:vertical}
.field small{color:var(--muted);font-size:.8rem}
.checks{display:grid;gap:8px}
.checks label{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;font-weight:400}
.checks input{margin-top:4px}
.row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px}
.sr{position:absolute;left:-9999px}

/* gov strip + header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
header.site::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--stripe)}
header.site .wrap{display:flex;align-items:center;gap:16px;padding-block:10px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none;color:var(--ink);min-width:0}
.brand .mark{width:46px;height:46px;flex:none}
.brand .wm{display:grid;line-height:1.05}
.brand .wm b{font-family:var(--display);font-weight:400;font-size:1.12rem;text-transform:uppercase;letter-spacing:.04em;color:var(--brand)}
.brand .wm span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.brand img.logo{height:52px;width:auto}
nav.main{display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
nav.main>a,nav.main .dd>button{text-decoration:none;color:var(--ink);font-family:var(--display);font-weight:400;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;border-radius:4px;background:none;border:0;cursor:pointer}
nav.main>a:hover,nav.main .dd>button:hover{background:var(--mist)}
nav.main a[aria-current="page"],nav.main .dd.cur>button{box-shadow:inset 0 -2px 0 var(--c-ocean);color:var(--brand)}
nav.main .cta{background:var(--coral);color:#fff!important;margin-left:6px}
nav.main .cta:hover{background:var(--coral)!important;filter:brightness(1.07)}
.dd{position:relative}
.dd .menu{position:absolute;top:100%;left:0;min-width:240px;background:var(--card);border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 30px rgba(23,26,58,.12);padding:6px;display:none;z-index:40}
.dd:hover .menu,.dd:focus-within .menu{display:grid}
.dd .menu a{padding:8px 10px;border-radius:3px;text-decoration:none;color:var(--ink);font-size:.92rem}
.dd .menu a:hover{background:var(--mist)}
.dd .menu a small{display:block;color:var(--muted);font-size:.78rem}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:8px 12px;font:inherit;cursor:pointer}
@media (max-width:1180px){
  .menu-btn{display:block}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px 16px 16px;max-height:80vh;overflow:auto}
  nav.main.open{display:flex}
  .dd .menu{position:static;display:grid;box-shadow:none;border:0;padding:0 0 0 12px}
  nav.main .cta{margin:6px 0 0}
}

/* photo slots: swap with real CCCI photography (set IMG map in script) */
.photo{background-color:#1f2a6b;background-size:cover;background-position:center;position:relative}

/* hero */
.hero{position:relative;color:#fff;overflow:hidden;min-height:520px;display:grid}
.hero .slide{grid-area:1/1;display:grid;align-items:end;opacity:0;transition:opacity 1.2s ease}
.hero .slide.on{opacity:1}
.hero .slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,15,38,0) 35%,rgba(13,15,38,.5) 100%)}
.hero .copy{position:relative;z-index:2;padding-block:120px 64px;display:grid;gap:14px}
.hero .copy .eyebrow{color:#fff;opacity:.9}
.hero h1{font-size:clamp(2.4rem,6.6vw,5rem);font-weight:300;letter-spacing:.05em;max-width:18ch;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.hero .sub{font-size:1.1rem;max-width:56ch;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.hero .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.hero .dots{position:absolute;z-index:3;right:20px;bottom:24px;display:flex;gap:8px}
.hero .dots button{width:28px;height:4px;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0}
.hero .dots button[aria-pressed="true"]{background:#fff}
@media (prefers-reduced-motion:reduce){.hero .slide{transition:none}}

/* quick-access bar under hero (the four tiles from the current site) */
.quick{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.quick .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:820px){.quick .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}
.quick a{display:grid;gap:4px;padding:22px 18px;color:var(--ink);text-decoration:none;border-left:1px solid var(--line);border-top:4px solid var(--c-ocean)}
.quick a:nth-child(2){border-top-color:var(--c-leaf)}.quick a:nth-child(3){border-top-color:var(--c-sun)}.quick a:nth-child(4){border-top-color:var(--brand)}
.quick a:last-child{border-right:1px solid var(--line)}
.quick a:hover{background:var(--mist)}
.quick b{color:var(--brand);font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:1rem}
.quick span{font-size:.82rem;color:var(--muted)}
.quick a.eda{border-top-color:var(--c-coral);background:var(--tint-coral)}

/* bands */
section.band{padding-block:64px}
section.band.alt{background:var(--sand);border-block:1px solid var(--sand-line)}
section.band.sky{background:var(--sky)}
section.band.offwhite{background:var(--paper)}
section.band.brand{background:var(--sky);color:var(--ink)}
section.band.brand h2{color:var(--brand)}

section.band.brand .eyebrow{color:#0077aa}
section.band.brand p{color:var(--muted)}
.sec-head{display:grid;gap:10px;margin-bottom:30px}
.sec-head.split{grid-template-columns:minmax(0,1fr) auto;align-items:end}
@media (max-width:600px){.sec-head.split{grid-template-columns:1fr}}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.split2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
@media (max-width:900px){.split2{grid-template-columns:1fr;gap:28px}}
.tile{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:24px;display:grid;gap:10px;align-content:start;text-decoration:none;color:var(--ink);min-width:0}
a.tile:hover{border-color:var(--c-ocean)}
.g3>.tile,.g4>.tile,.g2>.tile{border-top:3px solid var(--c-ocean)}
.g3>.tile:nth-child(3n+2),.g4>.tile:nth-child(4n+2),.g2>.tile:nth-child(2n){border-top-color:var(--c-leaf)}
.g3>.tile:nth-child(3n),.g4>.tile:nth-child(4n+3){border-top-color:var(--c-sun)}
.g4>.tile:nth-child(4n){border-top-color:var(--c-coral)}
.tile p{color:var(--muted);font-size:.95rem}
.more{font-weight:500;font-size:.9rem;color:var(--reef);text-decoration:none}
.prose{display:grid;gap:16px;max-width:68ch}
.prose p{color:var(--muted)}
.prose h3{margin-top:10px}
.pic{border-radius:4px;aspect-ratio:4/3;max-width:100%;width:100%}
.pic.wide{aspect-ratio:16/9}

/* bilingual proverb band (the coral line from the current site) */
.reo{background:var(--sand);border-block:1px solid var(--sand-line)}
.reo .wrap{padding-block:44px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
@media (max-width:800px){.reo .wrap{grid-template-columns:1fr;gap:16px}}
.reo blockquote{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.3}
.reo blockquote.cim{color:var(--brand)}
.reo .lang{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:block}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;border-top:1px solid var(--line)}
.stat{padding:20px 20px 4px 0;display:grid;gap:2px}
.stat b{font-family:var(--display);font-weight:300;font-size:2.2rem;color:var(--brand);font-variant-numeric:tabular-nums;line-height:1.1}
.stat span{font-size:.88rem;color:var(--muted)}
.band.brand .stats{border-color:transparent;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media (max-width:760px){.band.brand .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.band.brand .stat b{color:var(--brand)}
.band.brand .stat{border-top:3px solid var(--c-sun);margin-top:-1px}.band.brand .stat:nth-child(2){border-top-color:var(--c-leaf)}.band.brand .stat:nth-child(3){border-top-color:var(--c-ocean)}.band.brand .stat:nth-child(4){border-top-color:var(--c-coral)}
.band.brand .stat span{color:var(--muted)}

/* news */
.news-card{background:var(--card);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-width:0}
.news-card .photo{aspect-ratio:16/9}
.news-card .body{padding:20px;display:grid;gap:8px;align-content:start}
.meta,.news-card time{font-size:.78rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.news-card h3{font-size:1.18rem;text-transform:none}
.news-card p{color:var(--muted);font-size:.93rem}
.news-card a{color:var(--ink);text-decoration:none}
.news-card a:hover{text-decoration:underline}

/* events + opps */
.evt{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.evt .date{border:1px solid var(--line);border-radius:4px;text-align:center;padding:6px 0;line-height:1.1;background:var(--card)}
.evt .date b{display:block;font-family:var(--display);font-size:1.6rem;font-weight:400;color:var(--brand)}
.evt .date span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.evt h4{font-family:var(--body);font-weight:500;font-size:1rem}
.evt p{color:var(--muted);font-size:.9rem}

/* page head */
.pagehead{position:relative;color:var(--ink);overflow:hidden;border-bottom:3px solid transparent;border-image:var(--stripe) 1}
.pagehead::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 42%,color-mix(in srgb,var(--paper) 55%,transparent) 68%,transparent 100%)}
@media (max-width:760px){.pagehead::after{background:color-mix(in srgb,var(--paper) 88%,transparent)}}
.pagehead .wrap{position:relative;z-index:2;padding-block:56px 48px;display:grid;gap:12px}
.pagehead .eyebrow{color:var(--c-ocean)}
.pagehead p{color:var(--muted);max-width:56ch}
.pagehead h1{font-size:clamp(2rem,4.4vw,3.1rem);color:var(--brand)}
.crumbs{font-size:.82rem;color:var(--muted)}
.crumbs a{color:var(--reef)}

/* side nav layout for inner pages */
.inner{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:860px){.inner{grid-template-columns:1fr}}
.subnav{display:grid;gap:2px;position:sticky;top:96px;border-left:2px solid var(--line)}
.subnav a{padding:7px 14px;text-decoration:none;color:var(--muted);font-size:.93rem;margin-left:-2px;border-left:2px solid transparent}
.subnav a:hover{color:var(--ink)}
.subnav a.on{color:var(--brand);border-color:var(--c-ocean);font-weight:500}
@media (max-width:860px){.subnav{position:static;display:flex;flex-wrap:wrap;border:0;gap:6px}.subnav a{border:1px solid var(--line);border-radius:999px;margin:0;padding:4px 12px}.subnav a.on{border-color:var(--coral)}}

/* team */
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:22px}
.person{display:grid;gap:8px;align-content:start}
.person .ph{aspect-ratio:4/5;border-radius:4px;background:var(--mist);display:grid;place-items:center;font-family:var(--display);font-size:2rem;color:var(--brand);border:1px solid var(--line)}
.person b{font-weight:500}
.person span{font-size:.86rem;color:var(--muted)}
.person .ph{font-weight:300}.person:nth-child(4n+2) .ph{background:var(--tint-ocean)}.person:nth-child(4n+3) .ph{background:var(--tint-leaf)}.person:nth-child(4n) .ph{background:var(--tint-sun)}
.person.lead .ph{background:var(--brand);color:#fff;border-color:var(--brand)}

/* partners */
.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.logos div{border:1px solid var(--line);border-radius:4px;height:96px;display:grid;place-items:center;text-align:center;padding:10px;font-family:var(--display);font-size:.95rem;letter-spacing:.04em;color:var(--brand);background:var(--card)}

/* repository */
.hub{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px}
@media (max-width:860px){.hub{grid-template-columns:1fr}}
.filters{display:grid;gap:20px;align-content:start}
.filters fieldset{border:0;padding:0;margin:0;display:grid;gap:6px}
.filters legend{font-family:var(--display);font-weight:500;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.filters label{display:flex;gap:8px;align-items:center;font-size:.92rem;color:var(--muted)}
.repbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:6px}
.repbar input{flex:1;min-width:200px}
.repbar select{width:auto}
.doc{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}
.doc .ft{font-size:.72rem;background:var(--mist);color:var(--brand);border-radius:4px;height:56px;display:grid;place-items:center;font-weight:700;letter-spacing:.06em;border:1px solid var(--line)}
.doc h3{font-family:var(--body);font-weight:500;font-size:1rem;letter-spacing:0}
.doc .m{font-size:.8rem;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.doc .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:560px){.doc{grid-template-columns:44px minmax(0,1fr)}.doc .acts{grid-column:2;justify-content:flex-start}}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:5px 12px;font:inherit;font-size:.86rem;cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}

/* EDA */
.eda-hero{position:relative;color:var(--ink);overflow:hidden;border-bottom:3px solid transparent;border-image:var(--stripe) 1}
.eda-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--tint-coral) 0%,var(--tint-coral) 45%,color-mix(in srgb,var(--tint-coral) 50%,transparent) 70%,transparent 100%)}
@media (max-width:760px){.eda-hero::after{background:color-mix(in srgb,var(--tint-coral) 90%,transparent)}}
.eda-hero .wrap{position:relative;z-index:2;padding-block:72px 64px;display:grid;gap:16px}
.eda-hero h1{max-width:18ch}
.eda-hero p{color:var(--muted);max-width:56ch}
.eda-hero h1{color:var(--brand)}
.eda-hero .eyebrow{color:var(--c-coral)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.facts div{background:var(--card);padding:18px;display:grid;gap:4px}
.facts b{font-family:var(--display);font-weight:300;font-size:1.6rem;color:var(--brand);font-variant-numeric:tabular-nums}
.facts span{font-size:.86rem;color:var(--muted)}
.stream{border:1px solid var(--line);border-radius:4px;padding:24px;display:grid;gap:12px;align-content:start;background:var(--card)}
.stream ul{margin:0;padding-left:18px;color:var(--muted);font-size:.93rem;display:grid;gap:4px}
.stream .tag{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:var(--c-ocean)}
.g3>.stream{border-top:3px solid var(--c-ocean)}.g3>.stream:nth-child(2){border-top-color:var(--c-sun)}.g3>.stream:nth-child(2) .tag{color:#a8730a}.g3>.stream:nth-child(3){border-top-color:var(--c-leaf)}.g3>.stream:nth-child(3) .tag{color:var(--c-leaf)}
.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:0;counter-reset:f;border-top:3px solid transparent;border-image:var(--stripe) 1}
.flow div{padding:16px 16px 0 0;display:grid;gap:6px;counter-increment:f}
.flow div b{font-weight:500}
.flow div b::before{content:counter(f) ". ";color:var(--coral)}
.flow div span{font-size:.88rem;color:var(--muted)}
details.faq{border-top:1px solid var(--line);padding:14px 0}
details.faq summary{cursor:pointer;font-weight:500;list-style-position:outside}
details.faq p{color:var(--muted);margin-top:8px;max-width:70ch}
.callout{border-left:4px solid var(--c-sun);background:var(--tint-sun);padding:16px 18px;border-radius:0 4px 4px 0;display:grid;gap:6px}

/* application stepper */
.stepper{display:flex;list-style:none;margin:0 0 22px;padding:0;counter-reset:s;flex-wrap:wrap}
.stepper li{flex:1;min-width:110px;padding:10px 12px 10px 0;border-top:3px solid var(--line);font-size:.84rem;color:var(--muted);counter-increment:s}
.stepper li::before{content:counter(s) ". ";font-weight:700}
.stepper li.on{border-color:var(--coral);color:var(--ink);font-weight:500}
.stepper li.done{border-color:var(--brand);color:var(--brand)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:26px;display:grid;gap:18px}
.kv{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px 16px;font-size:.95rem;margin:0}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:500;min-width:0;overflow-wrap:anywhere}
@media (max-width:520px){.kv{grid-template-columns:1fr}.kv dd{margin-bottom:6px}}
.confirm{border-left:4px solid var(--ok);padding-left:18px;display:grid;gap:8px}
.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}
.choice label{border:1px solid var(--line);border-radius:4px;padding:14px;display:grid;gap:4px;cursor:pointer;background:var(--card)}
.choice label:has(input:checked){border-color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral)}
.choice input{justify-self:start}
.choice b{font-weight:500}
.choice span{font-size:.85rem;color:var(--muted)}
.err{color:var(--bad);font-size:.85rem}

/* contact */
form.contact{display:grid;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:24px}
.toast{background:var(--ok-bg);color:var(--ok);border-radius:4px;padding:12px 14px;font-size:.93rem}
dl.clist{display:grid;gap:14px;margin:0}
dl.clist dt{font-weight:500;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--display)}
dl.clist dd{margin:0;color:var(--muted);user-select:all}

/* feedback + footer */
.feedback{background:var(--sky);border-top:1px solid var(--line)}
.feedback .wrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-block:16px;font-size:.9rem}
.feedback .upd{margin-left:auto;color:var(--muted);font-size:.82rem}
footer.site{background:var(--sand);color:var(--muted);font-size:.9rem;border-top:4px solid transparent;border-image:var(--stripe) 1}
footer.site .wrap{padding-block:48px 26px;display:grid;gap:28px}
footer.site .cols{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:28px}
@media (max-width:860px){footer.site .cols{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
footer.site h4{color:var(--brand);font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;margin-bottom:10px}
footer.site a{color:var(--muted);text-decoration:none;display:block;padding:3px 0}
footer.site a:hover{color:var(--brand)}
footer.site .base{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.8rem}
footer.site .base span a{display:inline;margin-right:14px}
footer.site .fbrand{display:grid;gap:12px}
footer.site .fbrand b{font-family:var(--display);color:var(--brand);font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:1.25rem}
.social{display:flex;gap:8px}
.social a{border:1px solid var(--line);background:var(--card);border-radius:4px;padding:4px 10px!important;display:inline-block!important}

.brand img.mk{height:52px;width:auto;flex:none}
.arms{height:44px;width:auto}
.fbrand .lockup{display:flex;gap:14px;align-items:center}
.fbrand .lockup img{height:70px;width:auto}
.logos img{max-height:58px;max-width:100%;width:auto;object-fit:contain}
.plogo{height:44px;width:auto;max-width:180px;object-fit:contain;justify-self:start}
.fig{margin:0;display:grid;gap:8px}
.fig figcaption{font-size:.84rem;color:var(--muted)}
.fig.gcf{max-width:420px;background:#fff;border:1px solid var(--line);border-radius:4px;padding:16px}
.fig.gcf img{width:100%;height:auto}
img.ph{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;padding:0;border:0}
.govsites{background:var(--paper);border-top:1px solid var(--line)}
.govsites .wrap{padding-block:26px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center}
@media (max-width:760px){.govsites .wrap{grid-template-columns:1fr}}
.govsites .lab{display:flex;gap:12px;align-items:center}
.govsites .lab img{height:52px;width:auto}
.govsites .lab b{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);font-size:.95rem;line-height:1.2}
.govsites .lab span{display:block;font-size:.78rem;color:var(--muted);text-transform:none;letter-spacing:0;font-family:var(--body)}
.govsites ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.govsites a{display:inline-block;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 14px;font-size:.86rem;color:var(--brand);text-decoration:none}
.govsites a:hover{border-color:var(--c-ocean);background:var(--tint-ocean)}
.tiers td{min-width:110px}.tiers td:nth-child(2){min-width:240px}
nav.main{position:relative}
@media (min-width:1181px){nav.main{flex-wrap:nowrap}}
.navsearch{display:flex;align-items:center;margin-left:6px;position:relative}
.navsearch input{width:0;opacity:0;border:0;padding:0;font:inherit;font-size:.9rem;color:var(--ink);background:transparent;transition:width .2s ease,opacity .2s ease}
.navsearch button{border:1px solid var(--line);background:var(--card);color:var(--brand);cursor:pointer;width:38px;height:38px;border-radius:999px;display:grid;place-items:center;flex:none}
.navsearch button:hover{border-color:var(--c-ocean)}
@media (min-width:1181px){
 .navsearch.open{position:absolute;right:0;top:50%;transform:translateY(-50%);background:var(--card);border:1px solid var(--c-ocean);border-radius:999px;box-shadow:0 0 0 3px var(--tint-ocean),0 8px 24px rgba(23,26,58,.12);padding:2px 2px 2px 16px;z-index:5}
 .navsearch.open input{width:280px;opacity:1;padding:8px 4px}
 .navsearch.open input:focus{outline:none}
 .navsearch.open button{border:0}
}
@media (max-width:1180px){.navsearch{margin:8px 0 0;border:1px solid var(--line);border-radius:999px;padding:2px 2px 2px 14px;background:var(--card)}.navsearch input{width:100%;flex:1;opacity:1;padding:8px 4px}.navsearch input:focus{outline:none}.navsearch button{border:0}}
.govbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}
.govbar .gl{display:flex;gap:10px;align-items:center;font-size:.86rem}
.govbar .gl img{height:34px;width:auto}
.govbar .gl b{color:var(--brand);font-weight:500}
.govbar .gr{display:flex;gap:12px;align-items:center;font-size:.86rem}
footer.site .govbar a.btn{display:inline-flex!important;padding:6px 12px!important;color:var(--brand)}
.pagehits{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--tint-ocean)}
.pagehits a{text-decoration:none;font-weight:500;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:4px 12px;font-size:.88rem}
nav.main>a,nav.main .dd>button{white-space:nowrap;padding:8px 9px;letter-spacing:.04em;font-size:.9rem}
.brand .wm b,.brand .wm span{white-space:nowrap}
@media (max-width:1280px){.brand .wm b{font-size:1rem}.brand .wm span{font-size:.66rem}}
.film{margin:0;position:relative;border-radius:6px;overflow:hidden;background:#0d0f26;aspect-ratio:16/9;max-width:100%}
.film img,.film video{width:100%;height:100%;object-fit:cover;display:block}
.film .play{position:absolute;left:50%;top:72%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:rgba(40,49,128,.55);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px);transition:transform .2s ease,background .2s ease}
.film .play:hover{transform:translate(-50%,-50%) scale(1.06);background:rgba(0,156,222,.75)}
.film .play svg{margin-left:4px}
.filmcap{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.filmcap h2{color:var(--brand)}
@media (max-width:600px){.film .play{width:58px;height:58px}}
.article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:start}
@media (max-width:900px){.article-wrap{grid-template-columns:1fr}}
.article{max-width:68ch;display:grid;gap:18px;font-size:1.05rem;line-height:1.75}
.article p{color:var(--ink)}
.article blockquote{margin:6px 0;padding:6px 0 6px 22px;border-left:3px solid var(--c-ocean);font-family:var(--display);font-weight:300;font-size:1.35rem;line-height:1.4;color:var(--brand)}
.article h3{margin-top:14px;color:var(--brand)}
.article h4{font-family:var(--body);font-weight:500;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
.article ul{margin:0;padding-left:18px;display:grid;gap:3px}
.exlists{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px;background:var(--sand);border:1px solid var(--sand-line);border-radius:4px;padding:20px}
.artfig{margin:8px 0}.artfig .pic{border-radius:4px}
.artfig.half{max-width:360px}
.artside{display:grid;gap:14px;position:sticky;top:96px}
@media (max-width:900px){.artside{position:static}}
.article ul.outcomes{display:grid;gap:8px;padding-left:20px}
.article ul.outcomes li::marker{color:var(--c-ocean)}

/* ================= WordPress additions ================= */
header.site{top:calc(env(safe-area-inset-top,0px) + var(--wp-admin--admin-bar--height,0px))}
.photo{background-image:linear-gradient(160deg,#5aa7b5,#1d4f84)}
.screen-reader-text,.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed!important;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:1000;background:var(--card);color:var(--brand);padding:10px 14px;border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,.15)}
img{height:auto}
.brand img.mk{height:52px;width:auto;flex:none}
.brand img.custom-logo{height:56px;width:auto}
.entry-content{display:block}
.entry-content>p,.entry-content>ul,.entry-content>ol{margin:0 0 1em;max-width:70ch}
.entry-content>h2,.entry-content>h3{margin:1.4em 0 .6em}
.entry-content .wp-block-image img{border-radius:4px}
.entry-content>.wp-block-html+.wp-block-html{margin-top:0}
.alignwide{max-width:var(--wrap);margin-inline:auto}
.alignfull{width:100%;max-width:none}
.wp-block-button__link{background:var(--btn);color:var(--btn-ink);border-radius:4px}
body.ccci-eda-closed .ccci-eda-open-only{display:none!important}
body.ccci-eda-open .ccci-eda-closed-only{display:none!important}
.childtiles{margin-top:8px}
.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}
.pagination .page-numbers{border:1px solid var(--line);background:var(--card);border-radius:4px;padding:6px 12px;text-decoration:none;color:var(--brand)}
.pagination .current{background:var(--brand);color:#fff;border-color:var(--brand)}
.searchpage form{display:flex;gap:8px;max-width:640px;flex-wrap:wrap}
.searchpage form input[type=search]{flex:1;min-width:0;border:1px solid var(--line);border-radius:4px;padding:10px 12px;font:inherit;background:var(--card)}
.result{padding:16px 0;border-top:1px solid var(--line);display:grid;gap:4px}
.result a{font-weight:500;text-decoration:none;font-size:1.05rem}
.notfound{padding-block:80px;display:grid;gap:16px;justify-items:start}
.hero .slide{background-size:cover;background-position:center}
.pic.photo,.news-card .photo{background-size:cover;background-position:center}
.elementor-page .entry-content>p{max-width:none}
.hero .h1{font-family:var(--display);font-size:clamp(2.4rem,6.6vw,5rem);font-weight:300;letter-spacing:.05em;max-width:18ch;text-transform:uppercase;line-height:1.12;margin:0;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.notfound .navsearch{position:static;border:1px solid var(--line);border-radius:999px;padding:2px 2px 2px 14px;background:var(--card);margin:0;width:min(420px,100%)}
.notfound .navsearch input{width:100%;opacity:1;padding:8px 4px;flex:1}
.notfound .navsearch button{border:0}
.news-card a.photo{display:block}
.dd.open .menu{display:grid}
footer.site .lockup{display:flex;gap:14px;align-items:center}
footer.site .lockup img{height:70px;width:auto}
footer.site .cols>div{align-content:start}
footer.site .fbrand b{line-height:1.2}
.facts{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:760px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.facts{grid-template-columns:1fr}}
@media (max-width:520px){.brand{gap:10px}.brand img.mk,.brand .mark{height:42px;width:auto}.brand .wm b,.brand .wm span{white-space:normal}.brand .wm b{font-size:.92rem;letter-spacing:.02em}.brand .wm span{font-size:.6rem;letter-spacing:.08em}.menu-btn{flex:none;margin-left:10px}}
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.ccci-legacy{display:grid;gap:18px}.ccci-legacy .legacy-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:24px}.ccci-legacy .legacy-col{display:grid;gap:16px;align-content:start;min-width:0}.ccci-legacy img{max-width:100%;height:auto;border-radius:4px}.ccci-legacy .legacy-img{margin:0}.ccci-legacy .legacy-card{display:grid;gap:8px;align-content:start}.ccci-legacy .legacy-block{display:grid;gap:10px}.ccci-legacy .legacy-video iframe{width:100%;aspect-ratio:16/9;height:auto}.ccci-legacy hr{border:0;border-top:1px solid var(--line);margin:8px 0}
/* News & Media page */
.newsnav{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.admin-bar .newsnav{top:32px}
.newsnav .wrap{display:flex;gap:6px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.newsnav a{font-family:var(--display);font-weight:500;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);text-decoration:none;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card)}
.newsnav a:hover{background:var(--tint-ocean);border-color:var(--c-ocean)}
#releases,#coverage,#newsletters{scroll-margin-top:70px}
.mcard{background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:grid;align-content:start}
.mcard .body{padding:18px;display:grid;gap:8px}
.mcard h3{font-family:var(--body);font-weight:500;text-transform:none;letter-spacing:0;font-size:1.05rem;line-height:1.35;margin:0}
.mcard h3 a{color:var(--ink);text-decoration:none}
.mcard h3 a:hover{color:var(--reef);text-decoration:underline}
.mmeta{font-size:.82rem;color:var(--muted)}
.mmeta b{color:var(--reef);font-weight:500}
.mcard .more-link{font-size:.88rem;color:var(--reef)}
.mvideo{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--brand),#0d5f8a);background-size:cover;background-position:center;display:grid;place-items:center}
.mvideo .play{width:62px;height:62px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:rgba(40,49,128,.6);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:1}
.mvideo .play svg{margin-left:3px}
.mvideo .play:hover{background:rgba(0,156,222,.8)}
.mvideo .moutlet-big{position:absolute;left:14px;bottom:10px;color:#fff;font-family:var(--display);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;opacity:.9}
.mvideo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.coverage{align-items:start}
