/*
Theme Name: SEMDO
Theme URI: https://semdosom.org
Author: SEMDO – Safa Education and Medical Development Organization
Author URI: https://semdosom.org
Description: Custom theme for SEMDO (Safa Education and Medical Development Organization). Includes Programs, Our work timeline, Recognition, Partners, Reports, News and application forms (volunteer, partner, donation pledge, contact) that email HQ and save entries in the dashboard.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: semdo
*/
:root{
  --blue:#1A7ABF; --blue-deep:#0F4F80; --green:#3FAE48; --green-soft:#E6F4E7;
  --ink:#13263A; --muted:#4A5E72; --bg:#FFFFFF; --bg-alt:#F1F6FB; --line:#D6E2EE; --card:#FFFFFF;
  --display:"League Spartan","Trebuchet MS",Arial,sans-serif;
  --body:"Source Sans 3","Segoe UI",Helvetica,Arial,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --blue:#4DA3E0; --blue-deep:#0B2E4A; --green:#5CC864; --green-soft:#16301A;
    --ink:#E6EEF6; --muted:#A7B8C9; --bg:#0D1823; --bg-alt:#13222F; --line:#24394C; --card:#162636; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --blue:#4DA3E0; --blue-deep:#0B2E4A; --green:#5CC864; --green-soft:#16301A;
  --ink:#E6EEF6; --muted:#A7B8C9; --bg:#0D1823; --bg-alt:#13222F; --line:#24394C; --card:#162636; color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--blue)}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:4px}
.wrap{width:min(1160px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{font-family:var(--display);line-height:1.08;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(2rem,4.2vw,3rem);font-weight:700}
h3{font-size:1.3rem;font-weight:700}
p{margin:0 0 1em}
.lead{font-size:1.2rem;color:var(--muted);max-width:62ch}
section{padding:clamp(4rem,8vw,6.5rem) 0}
.more{font-weight:600;text-decoration:none;border-bottom:2px solid var(--green);padding-bottom:2px}


/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
.topbar{background:var(--blue-deep);color:#DCEBF7;font-size:.9rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink)}
.brand img{width:64px;height:64px;border-radius:50%;background:#fff;object-fit:contain}
footer .brand img{width:96px;height:96px;padding:4px}
.brand b{font-family:var(--display);font-size:1.55rem;font-weight:800;color:var(--blue);line-height:1}
.brand small{display:block;font-size:.72rem;color:var(--muted);line-height:1.2;max-width:180px}
nav.main ul{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0;align-items:center}
nav.main a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.98rem;padding:.3rem 0;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--blue)}
nav.main .current-menu-item>a,nav.main .current_page_item>a{color:var(--blue);border-bottom-color:var(--green)}
.btn{display:inline-block;font:600 1rem/1 var(--body);padding:.95rem 1.5rem;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:#34963C}
.btn-blue{background:var(--blue);color:#fff}
.btn-ghost{border-color:#fff;color:#fff;background:transparent}
.btn-ghost:hover{background:#fff;color:var(--blue-deep)}
nav.main .menu-btn>a{display:inline-block;background:var(--green);color:#fff;padding:.7rem 1.2rem;border-radius:999px;border-bottom:0}
nav.main .menu-btn>a:hover{background:#34963C;color:#fff}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;color:var(--ink);font:600 .95rem var(--body)}

/* inner page banner */
.banner{background:var(--blue-deep);color:#fff;padding:clamp(3.5rem,7vw,5.5rem) 0 clamp(3rem,6vw,4.5rem);position:relative;overflow:hidden}
.banner::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:var(--blue);opacity:.55}
.banner::before{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--green)}
.banner .wrap{position:relative;z-index:1}
.crumbs{font-size:.92rem;color:#BCD6EA;margin-bottom:1rem}
.crumbs a{color:#fff;text-decoration:none}
.banner h1{font-size:clamp(2.4rem,5.5vw,4.2rem);font-weight:800}
.banner p{color:#D6E7F4;font-size:1.2rem;max-width:58ch;margin:1rem 0 0}

/* home hero */
.hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;padding:0}
.hero .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;opacity:0;transition:opacity 1.4s ease}
.hero .slide.on{opacity:1}
.dots{position:absolute;left:50%;transform:translateX(-50%);bottom:1.4rem;z-index:2;display:flex;gap:.5rem}
.dots button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer}
.dots button[aria-current="true"]{background:#fff}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,79,128,.15) 0%,rgba(15,79,128,.55) 45%,rgba(10,50,85,.94) 100%)}
.hero .wrap{position:relative;z-index:1;padding:8rem 0 4.5rem}
.hero h1{font-size:clamp(2.6rem,6.6vw,5.4rem);font-weight:800;max-width:15ch;line-height:.98}
.hero p{font-size:clamp(1.1rem,1.8vw,1.3rem);max-width:56ch;margin:1.4rem 0 2rem;color:#E4F0FA}
.actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero .place{position:absolute;right:1.25rem;bottom:1.25rem;z-index:1;font-size:.82rem;color:#CFE2F2;max-width:30ch;text-align:right}
.facts{background:var(--green);color:#fff;padding:0}
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.facts div{padding:1.6rem 1.2rem;border-left:1px solid rgba(255,255,255,.28)}
.facts div:first-child{border-left:0}
.facts strong{display:block;font:800 2rem/1 var(--display)}
.facts span{font-size:.95rem}

/* home intro */
.intro .wrap{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.intro .photo{border-radius:4px 60px 4px 4px;overflow:hidden;aspect-ratio:4/3}
.intro .photo img{width:100%;height:100%;object-fit:cover;object-position:70% 40%}
.intro h2{margin-bottom:1.2rem}

/* program cards (home) */
.home-programs{background:var(--bg-alt)}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.6rem;flex-wrap:wrap}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.card.all{background:var(--blue);border-color:var(--blue);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.card.all p{color:#E2EFFA}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1.8rem 1.6rem;text-decoration:none;color:var(--ink);display:block}
.card:hover{border-color:var(--blue)}
.card svg{width:40px;height:40px;margin-bottom:1rem}
.card h3{margin-bottom:.45rem}
.card p{color:var(--muted);margin:0;font-size:1rem}

/* home latest */
.latest .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:start}
.latest .yearbig{font:800 clamp(4rem,10vw,7.5rem)/.9 var(--display);color:var(--blue)}
.recog-strip{border-top:1px solid var(--line);padding:2.5rem 0}
.recog-strip .wrap{display:flex;gap:2.5rem;align-items:center;flex-wrap:wrap;justify-content:space-between}
.recog-strip span{font-weight:600;color:var(--muted)}
.recog-strip ul{list-style:none;margin:0;padding:0;display:flex;gap:2rem;flex-wrap:wrap}
.recog-strip li{font-family:var(--display);font-weight:600;font-size:1.05rem;padding-left:1.1rem;border-left:4px solid var(--green)}

/* about */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:start}
.vm{display:grid;gap:1.25rem}
.vm article{padding:1.8rem;border-radius:4px 28px 4px 4px;background:var(--bg-alt);border-left:6px solid var(--blue)}
.vm article.mission{border-left-color:var(--green)}
.vm h3{margin-bottom:.6rem;color:var(--blue)}
.vm article.mission h3{color:var(--green)}
.vm p{margin:0;color:var(--muted)}
.values{background:var(--blue-deep);color:#fff}
.values .lead{color:#C9DDEE;margin-top:.8rem}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3rem;border-top:2px solid rgba(255,255,255,.2);gap:0 2rem}
.values-grid div{padding-top:1.8rem}
.values-grid h3{font-size:1.5rem;margin-bottom:.6rem;color:#8FD694}
.values-grid p{color:#DCEAF5;margin:0}
.facts-table{width:100%;border-collapse:collapse;margin-top:1rem}
.facts-table th,.facts-table td{text-align:left;padding:.9rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.facts-table th{width:38%;color:var(--muted);font-weight:600}

/* programs page */
.prog{display:grid;grid-template-columns:90px 1fr 1fr;gap:2.5rem;padding:3rem 0;border-bottom:1px solid var(--line)}
.prog:first-child{padding-top:0}
.prog:last-child{border-bottom:0}
.prog .ic{width:72px;height:72px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center}
.prog .ic svg{width:36px;height:36px}
.prog h2{font-size:clamp(1.7rem,3vw,2.2rem);margin-bottom:.8rem}
.prog p{color:var(--muted)}
.prog ul{margin:0;padding:0;list-style:none;display:grid;gap:.6rem;align-content:start}
.prog li{padding:.75rem 1rem;background:var(--bg-alt);border-left:4px solid var(--blue);border-radius:4px}

/* timeline */
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:110px;top:.4rem;bottom:.4rem;width:3px;background:var(--line)}
.timeline li{display:grid;grid-template-columns:110px 1fr;gap:2.5rem;padding-bottom:3rem;position:relative}
.timeline li:last-child{padding-bottom:0}
.timeline .yr{font:800 1.9rem/1 var(--display);color:var(--blue);text-align:right}
.timeline li::after{content:"";position:absolute;left:104px;top:.35rem;width:15px;height:15px;border-radius:50%;background:var(--green);border:3px solid var(--bg)}
.timeline h3{margin-bottom:.5rem;padding-left:.5rem;font-size:1.5rem}
.timeline p{color:var(--muted);padding-left:.5rem;max-width:70ch}
.timeline figure{margin:.5rem 0 0 .5rem;max-width:620px}
.timeline figure img{border-radius:6px}
.timeline figcaption{font-size:.9rem;color:var(--muted);margin-top:.5rem}

/* recognition page */
.recog-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.recog-list li{border:1px solid var(--line);border-top:6px solid var(--green);border-radius:6px;padding:2rem 1.75rem;background:var(--card)}
.seal{width:60px;height:60px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;margin-bottom:1.2rem}
.seal svg{width:30px;height:30px}
.recog-list h3{margin-bottom:.6rem}
.recog-list p{color:var(--muted);margin:0}

/* team / structure */
.org{overflow-x:auto;padding-bottom:.5rem}
.org-inner{min-width:860px;display:flex;flex-direction:column;align-items:center}
.node{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:.7rem 1.1rem;font-weight:600;font-size:.95rem;text-align:center}
.node.top{background:var(--blue-deep);color:#fff;border-color:var(--blue-deep);font-family:var(--display);font-size:1.1rem}
.node.dir{background:var(--blue);color:#fff;border-color:var(--blue)}
.vline{width:2px;height:24px;background:var(--line)}
.branches{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;position:relative;padding-top:24px}
.branches::before{content:"";position:absolute;top:0;left:16.6%;right:16.6%;height:2px;background:var(--line)}
.branch{display:flex;flex-direction:column;align-items:center;position:relative}
.branch::before{content:"";position:absolute;top:-24px;width:2px;height:24px;background:var(--line)}
.branch ul{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem;width:100%}
.branch li{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:4px;padding:.5rem .8rem;font-size:.93rem}
.branch li span{display:block;font-size:.83rem;color:var(--muted)}

/* get involved */
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.way{background:var(--bg-alt);border-radius:6px;padding:2rem 1.75rem;display:flex;flex-direction:column}
.way h3{font-size:1.5rem;margin-bottom:.7rem}
.way p{color:var(--muted);flex:1}
.way .btn{align-self:flex-start}

/* cta */
.cta{background:var(--green);color:#fff;padding:clamp(3.5rem,7vw,5rem) 0}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.cta h2{max-width:20ch}
.cta p{margin:.8rem 0 0;max-width:52ch;color:#F0FAF0}
.cta .btn{background:#fff;color:#0F4F80}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.contact-grid dl{margin:0;display:grid;gap:1.4rem}
.contact-grid dt{font-weight:600;color:var(--muted);font-size:.95rem}
.contact-grid dd{margin:.15rem 0 0;font:700 1.35rem/1.3 var(--display)}
.contact-grid dd a{text-decoration:none}
form.cf{display:grid;gap:1rem;background:var(--bg-alt);padding:2rem;border-radius:6px}
form.cf label{font-weight:600;font-size:.95rem;display:grid;gap:.35rem}
form.cf input,form.cf textarea,form.cf select{font:inherit;padding:.8rem .9rem;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}
form.cf .btn{justify-self:start}
.form-note{font-size:.92rem;color:var(--green);min-height:1.4em;margin:0}

/* partners marquee */
.partners{padding:clamp(3.5rem,7vw,5rem) 0;background:var(--bg-alt)}
.partners .head-row{margin-bottom:2rem}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:1.25rem;width:max-content;animation:scroll 32s linear infinite}
.marquee:hover .track,.marquee:focus-within .track{animation-play-state:paused}
.logo-tile{flex:none;width:200px;height:110px;background:var(--card);border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;padding:1rem;text-align:center}
.logo-tile{background:#fff}
.logo-tile img{max-height:80px;max-width:100%;width:auto;object-fit:contain}
.ph{display:flex;flex-direction:column;align-items:center;gap:.4rem;color:var(--muted);font-size:.85rem;font-weight:600}
.ph i{width:46px;height:46px;border-radius:50%;border:2px dashed var(--line);display:block}
@keyframes scroll{to{transform:translateX(calc(-50% - .625rem))}}
.track{animation-duration:28s}
@media (prefers-reduced-motion:reduce){.track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.track [aria-hidden]{display:none}.marquee{-webkit-mask-image:none;mask-image:none}}

/* news */
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
.tabs button{font:600 .98rem var(--body);padding:.65rem 1.2rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.news-block+.news-block{margin-top:4.5rem}
.news-block>h2{margin-bottom:1.8rem}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.post{background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.post .thumb{aspect-ratio:16/10;background:var(--blue);display:grid;place-items:center}
.post .thumb.green{background:var(--green)}
.post .thumb.deep{background:var(--blue-deep)}
.post .thumb img{width:100%;height:100%;object-fit:cover}
.post .thumb svg{width:64px;height:64px}
.post .body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.post .meta{font-size:.88rem;color:var(--muted);margin-bottom:.5rem}
.post .meta b{color:var(--green);font-weight:600}
.post h3{font-size:1.25rem;margin-bottom:.6rem}
.post p{color:var(--muted);font-size:1rem;flex:1}
.reports{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.reports li{display:grid;grid-template-columns:64px 1fr auto;gap:1.25rem;align-items:center;padding:1.3rem 0;border-bottom:1px solid var(--line)}
.doc{width:56px;height:64px;border-radius:4px 14px 4px 4px;background:var(--green-soft);display:grid;place-items:center;font:800 .8rem var(--display);color:var(--green)}
.reports h3{font-size:1.2rem;margin-bottom:.2rem}
.reports p{margin:0;color:var(--muted);font-size:.95rem}
.reports .btn{padding:.75rem 1.2rem;font-size:.95rem}
.sample-note{margin-top:1.5rem;font-size:.95rem;color:var(--muted)}
[data-kind][hidden]{display:none}
@media (max-width:1060px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.posts{grid-template-columns:1fr}.reports li{grid-template-columns:56px 1fr}.reports .btn{grid-column:2;justify-self:start}}

/* photos */
.prog-photo{grid-column:2 / -1;margin:0}
.prog-photo img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:6px}
.prog-photo figcaption{font-size:.9rem;color:var(--muted);margin-top:.5rem}
.gallery-sec{background:var(--bg-alt)}
.gallery{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:.75rem;margin-top:2.5rem}
.gallery button{padding:0;border:0;border-radius:6px;overflow:hidden;cursor:zoom-in;background:var(--line);position:relative}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery button:hover img{transform:scale(1.04)}
.gallery .wide{grid-column:span 2}
.gallery .tall{grid-row:span 2}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(5,20,35,.92);display:none;align-items:center;justify-content:center;flex-direction:column;padding:2rem}
.lightbox.open{display:flex}
.lightbox img{max-height:80vh;max-width:100%;border-radius:4px}
.lightbox p{color:#E4F0FA;margin:1rem 0 0;text-align:center}
.lightbox .close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 1rem);right:1rem;background:#fff;color:#0F4F80;border:0;border-radius:999px;padding:.6rem 1rem;font:600 .95rem var(--body);cursor:pointer}
@media (max-width:1060px){.prog-photo{grid-column:2}}
@media (max-width:860px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:160px}}
@media (max-width:600px){.prog-photo{grid-column:auto}}

/* footer */
footer{background:var(--blue-deep);color:#C9DDEE;padding:4rem 0 2rem;font-size:.97rem}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
footer h4{font-family:var(--display);color:#fff;font-size:1.1rem;margin:0 0 1rem}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
footer a{color:#C9DDEE;text-decoration:none}
footer a:hover{color:#fff}
footer .brand b{color:#fff}
footer .brand small{color:#A9C4DA}
.social{display:flex;gap:.6rem;margin-top:1.2rem}
.social a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}
.social svg{width:18px;height:18px;fill:#fff}
.copy{border-top:1px solid rgba(255,255,255,.15);margin-top:3rem;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.9rem}

@media (prefers-reduced-motion:no-preference){
  .hero h1,.hero p,.hero .actions{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hero p{animation-delay:.12s}.hero .actions{animation-delay:.24s}
  @keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
}
@media (max-width:1060px){
  nav.main ul{gap:1.1rem}
  .cards,.recog-list,.ways{grid-template-columns:1fr 1fr}
  .values-grid{grid-template-columns:1fr 1fr}
  footer .cols{grid-template-columns:1fr 1fr}
  .prog{grid-template-columns:72px 1fr}
  .prog ul{grid-column:2}
}
@media (max-width:1140px){
  .menu-toggle{display:block}
  nav.main{position:absolute;top:76px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);display:none}
  nav.main.open{display:block}
  nav.main ul{flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 1.25rem 1.25rem}
  nav.main li{width:100%}
  nav.main a{display:block;padding:.75rem 0}
  nav.main .menu-btn>a{display:inline-block;margin-top:.5rem;padding:.8rem 1.4rem}
}
@media (max-width:960px){
  .intro .wrap,.latest .wrap,.split,.contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .facts .wrap{grid-template-columns:1fr 1fr}
  .facts div:nth-child(3){border-left:0}
  .facts div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.28)}
  .timeline::before{left:6px}
  .timeline li{grid-template-columns:1fr;gap:.5rem;padding-left:2rem}
  .timeline li::after{left:0}
  .timeline .yr{text-align:left;padding-left:.5rem}
  .hero .place{display:none}
  .topbar .hide-sm{display:none}
}
@media (max-width:600px){
  .cards,.recog-list,.ways,.values-grid{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr}
  .brand small{display:none}
  .prog{grid-template-columns:1fr;gap:1.2rem}
  .prog ul{grid-column:auto}
}

/* ===== WordPress additions ===== */
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:#fff;color:#0F4F80;padding:.8rem 1.2rem}
.skip-link:focus{left:1rem;top:1rem}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.admin-bar header.site{top:calc(32px + env(safe-area-inset-top,0px))}
@media (max-width:782px){.admin-bar header.site{top:calc(46px + env(safe-area-inset-top,0px))}}
@media (max-width:600px){.admin-bar header.site{top:env(safe-area-inset-top,0px)}}
.brand .custom-logo{width:64px;height:64px;object-fit:contain}
nav.main .sub-menu{display:none}
.entry-content{max-width:72ch}
.entry-content.wide{max-width:none}
.entry-content>*+*{margin-top:1em}
.entry-content h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:1.6em}
.entry-content h3{margin-top:1.4em}
.entry-content img{height:auto;border-radius:6px}
.entry-content a{text-decoration:underline}
.entry-content blockquote{margin:1.5em 0;padding:1rem 1.5rem;border-left:5px solid var(--green);background:var(--bg-alt)}
.alignwide{max-width:1160px}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.post-meta{color:#BCD6EA;margin-top:1rem;font-size:1rem}
.single-thumb{margin:0 0 2.5rem;border-radius:6px;overflow:hidden}
.single-thumb img{width:100%;height:auto}
.post .thumb a{display:block;width:100%;height:100%}
.post h3 a{color:inherit;text-decoration:none}
.post h3 a:hover{color:var(--blue)}
.pagination{margin-top:3rem;display:flex;gap:.5rem;flex-wrap:wrap}
.pagination .page-numbers{padding:.55rem .95rem;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink)}
.pagination .current{background:var(--blue);border-color:var(--blue);color:#fff}
.notice-box{padding:1rem 1.2rem;border-radius:6px;font-weight:600;margin:0 0 1rem}
.notice-ok{background:var(--green-soft);color:var(--ink);border-left:5px solid var(--green)}
.notice-err{background:#FDECEC;color:#7A1F1F;border-left:5px solid #C53030}
.hp-field{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.empty-note{color:var(--muted);font-size:1.05rem}
.gallery-sec .wp-block-gallery.has-nested-images{display:grid!important;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;grid-auto-flow:dense;gap:.75rem!important;margin-top:2.5rem}
.gallery-sec .wp-block-gallery.has-nested-images figure.wp-block-image{width:auto!important;margin:0!important;height:100%;border-radius:6px;overflow:hidden;cursor:zoom-in}
.gallery-sec .wp-block-gallery.has-nested-images figure.wp-block-image img{width:100%;height:100%!important;object-fit:cover}
.gallery-sec .wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(5n+1){grid-column:span 2;grid-row:span 2}
.gallery-sec .wp-block-gallery figcaption{display:none}
@media (max-width:860px){.gallery-sec .wp-block-gallery.has-nested-images{grid-template-columns:1fr 1fr;grid-auto-rows:160px}}
.error-404{text-align:center;padding:6rem 0}
footer .brand .custom-logo{width:96px;height:96px;padding:4px;background:#fff;border-radius:50%}
.post .thumb img{width:100%;height:100%;object-fit:cover}
.logo-tile .ph{font-weight:600;color:#4A5E72}
a.logo-tile{text-decoration:none}
[hidden]{display:none!important}
