/* Speak OUT Thailand — match _refs/ref.png (+ logo) */
:root{
  --red:#ea1f2d;
  --red2:#c70d1c;
  --accent:var(--red);
  --accent-soft:#fff0f2;
  --ink:#10141c;
  --ink-muted:#6c7480;
  --navy:#08111d;
  --nav-bg:#07111d;
  --muted:#6c7480;
  --line:#e7e9ed;
  --bg:#fff;
  --bg-soft:#f7f8fa;
  --surface:#fff;
  --c:1280px;
  --font:"IBM Plex Sans Thai",sans-serif;
  --font-display:Inter,sans-serif;
  --radius:16px;
  --shadow:0 18px 40px rgba(0,0,0,.07);
  --ease:cubic-bezier(.22,1,.36,1);
  --header-h:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.container,.wrap,.leaflet{width:min(calc(100% - 40px),var(--c));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:0;background:var(--red);color:#fff;padding:8px 14px;z-index:100}
.skip-link:focus{left:12px;top:12px}
.muted{color:var(--muted)}
.text-link{color:var(--red);font-weight:700}

/* Buttons — slim, refined (match ref) */
.btn,.contact{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:36px;padding:0 16px;background:var(--red);color:#fff;
  border-radius:999px;font-size:12.5px;font-weight:600;letter-spacing:.015em;
  border:0;cursor:pointer;line-height:1;
  box-shadow:0 8px 18px rgba(234,31,45,.14);
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.btn:hover,.contact:hover{
  background:var(--red2);
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(234,31,45,.2);
}
.btn-sm{min-height:32px;padding:0 12px;font-size:12px;box-shadow:none}
.btn-ghost{background:transparent;color:var(--red);border:1px solid #ffc9ce;box-shadow:none}
.btn-ghost:hover{background:var(--accent-soft);transform:none;box-shadow:none}
.btn-ghost-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:none}
.btn-block{width:100%}
.btn-accent{background:var(--red);color:#fff}
.btn-line{background:#06C755;color:#fff;box-shadow:0 6px 14px rgba(6,199,85,.16)}
.btn-line:hover{background:#05b34c}
.contact{
  min-height:34px;
  padding:0 14px;
  font-size:12px;
  font-weight:600;
  box-shadow:0 5px 14px rgba(234,31,45,.12);
}
.btn-arrow{
  width:22px;height:22px;border-radius:50%;
  background:rgba(255,255,255,.2);
  display:inline-grid;place-items:center;
  font-size:11px;line-height:1;flex:0 0 auto;
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.94);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(0,0,0,.06)
}
.site-header.is-scrolled{box-shadow:0 8px 24px rgba(0,0,0,.06)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;line-height:1}
.brand-logo{height:42px;width:auto;display:block}
.links{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:600}
.links a[aria-current="page"]{color:var(--red)}
.nav-actions{display:flex;gap:14px;align-items:center}
.menu{display:none;border:0;background:none;font-size:24px;cursor:pointer}
.nav-drop{position:relative}
.nav-drop-trigger{border:0;background:none;font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:0;color:inherit;line-height:1.2}
.nav-caret{
  width:7px;
  height:5px;
  border:0;
  background:currentColor;
  opacity:.65;
  display:inline-block;
  flex:0 0 auto;
  clip-path:polygon(50% 100%, 0 0, 100% 0);
  transform:translateY(-1px);
  margin:0;
}
.nav-drop-panel{display:none;position:absolute;top:calc(100% + 14px);left:0;min-width:280px;max-width:360px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:var(--shadow);z-index:40}
.nav-drop.is-open .nav-drop-panel{display:block}
.nav-drop-panel a{display:block;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.4;font-weight:600}
.nav-drop-panel a:hover{background:var(--accent-soft);color:var(--red)}
.mobile-drawer{border-top:1px solid var(--line);background:#fff}
.mobile-drawer-inner{display:grid;gap:8px;padding:16px 0 22px}
.mobile-drawer-inner a{padding:10px 0;font-weight:600}
.mobile-topics summary{font-weight:700;cursor:pointer;padding:10px 0}
.mobile-topics-list{display:grid;gap:6px;padding:0 0 8px 12px}

/* Hero — ref.png: white copy left + pride photo right */
.hero{
  overflow:hidden;
  background:linear-gradient(90deg,#fff 0%,#fbfbfc 48%,#f5f5f6 100%);
}
.hero-grid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  min-height:610px;
  align-items:stretch;
  gap:0;
}
.hero-copy{
  position:relative;
  z-index:3;
  padding:64px 20px 56px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.hero-word{
  font:900 clamp(72px,8.5vw,126px)/.72 var(--font-display);
  letter-spacing:-.08em;
  color:var(--ink);
  text-transform:uppercase;
}
.hero-word .r{color:var(--red)}
.hero-copy h1{
  font-size:clamp(28px,3vw,34px);
  line-height:1.2;
  letter-spacing:-.04em;
  margin:30px 0 0;
  font-weight:700;
  color:var(--ink);
  max-width:12ch;
}
.hero-copy p{
  max-width:470px;
  color:#505967;
  line-height:1.8;
  font-size:15px;
  margin:20px 0 26px;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-media{
  position:relative;
  min-height:610px;
  overflow:hidden;
}
.hero-photo{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center 20%;
}
.hero-blend{
  position:absolute;
  inset:0 auto 0 0;
  width:42%;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 28%,rgba(255,255,255,.35) 68%,transparent 100%);
  pointer-events:none;
  z-index:1;
}
.hero-person,.hero-stage,.hero-fade,.hero-kicker,.hero-brand,.hero-line,.hero-ribbon,.hero-dots,.blob,.hero-chip{display:none}

/* Sections */
.section{padding:72px 0}
.mini{color:var(--red);font:700 10px var(--font-display);letter-spacing:.12em}
.side h2,.head h2,.headrow h2{font-size:34px;line-height:1.15;letter-spacing:-.04em;margin:12px 0}
.side p,.head p{color:var(--muted);font-size:13px;line-height:1.8}
.all{display:inline-flex;gap:10px;align-items:center;font-size:13px;font-weight:700;margin-top:14px}
.all span{width:30px;height:30px;border:1px solid #cfd4da;border-radius:50%;display:grid;place-items:center}
.what-grid{display:grid;grid-template-columns:225px 1fr;gap:38px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cards .card{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  transition:.2s;
  display:flex;
  flex-direction:column;
}
.cards .card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cards .media{
  height:148px;
  background:#f3f4f6;
  overflow:hidden;
  position:relative;
  flex:0 0 auto;
}
.cards .media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.cards .body{
  padding:17px;
  flex:1;
  display:flex;
  flex-direction:column;
  background:#fff;
}
.cards .icon{
  width:38px;height:38px;
  border:1px solid #ffc9ce;
  background:#fff;
  color:var(--red);
  border-radius:50%;
  display:grid;place-items:center;
  margin-top:-36px;
  position:relative;
  z-index:2;
  font-size:14px;
  box-shadow:0 4px 12px rgba(234,31,45,.12);
}
.cards .body h3{font-size:17px;margin:12px 0 5px;letter-spacing:-.02em;color:var(--ink)}
.cards .body p{font-size:12px;color:var(--muted);line-height:1.6;margin:0;flex:1}
.cards .more{display:flex;justify-content:space-between;margin-top:14px;font-size:12px;font-weight:600;color:var(--ink)}

/* Impact */
.impact{padding:8px 0 40px}
.impact-box{
  display:grid;
  grid-template-columns:1.1fr 1.6fr;
  min-height:245px;
  background:var(--navy);
  color:#fff;
  border-radius:20px;
  overflow:hidden;
  position:relative;
}
.impact-box:after{
  content:"";
  position:absolute;
  right:18px;top:10px;
  width:110px;height:42px;
  background:var(--red);
  opacity:.95;
  clip-path:polygon(8% 40%, 22% 0, 100% 18%, 86% 100%, 0 78%);
  pointer-events:none;
  z-index:2;
}
.impact-img{
  background-position:center;
  background-size:cover;
  min-height:240px;
  position:relative;
}
.impact-img:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 40%,var(--navy) 100%);
}
.metrics{
  padding:30px 32px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:start;
  gap:8px;
  position:relative;
  z-index:1;
}
.metrics-title{grid-column:1 / -1;margin-bottom:4px}
.metrics h2{font-size:28px;line-height:1.2;margin:0;font-weight:700}
.metric{padding:8px 14px;border-left:1px solid rgba(255,255,255,.14)}
.metric:first-of-type{border-left:0;padding-left:0}
.metric-ico{color:#ff3442;font-size:18px;margin-bottom:4px}
.metric b{display:block;color:#ff3442;font:800 26px/1 var(--font-display);margin-top:9px}
.metric span{display:block;color:#c3cbd5;font-size:11px;line-height:1.5;margin-top:6px}

/* News + events */
.content{display:grid;grid-template-columns:1.35fr .75fr;gap:34px}
.headrow{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px;gap:12px}
.headrow h2{font-size:30px;margin:8px 0 0}
.redlink{color:var(--red);font-size:12px;font-weight:700;white-space:nowrap}
.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.news{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.newsimg{display:block;height:128px;background:#f4f5f6;overflow:hidden}
.newsimg img,.thumb-fallback{width:100%;height:100%;object-fit:cover}
.thumb-fallback{display:block;background:linear-gradient(135deg,#f3f4f6,#e8eaee)}
.newsbody{padding:15px}
.tag{display:inline-block;color:var(--red);background:#fff0f2;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:700}
.news h3{font-size:15px;line-height:1.45;margin:9px 0}
.news h3 a:hover{color:var(--red)}
.date{font-size:10px;color:#89919d}
.events{border-left:1px solid var(--line);padding-left:30px}
.event{display:grid;grid-template-columns:62px 1fr 24px;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.edate{border:1px solid #dce1e6;border-radius:13px;text-align:center;padding:10px 6px}
.edate b{display:block;font:800 22px var(--font-display)}
.edate span,.event p{font-size:10px;color:var(--muted)}
.event h3{font-size:14px;line-height:1.4;margin:0 0 4px}
.event p{margin:0}

/* Support CTA — continuous pink band like ref */
.support{padding:28px 0 36px}
.supportbox{
  display:grid;
  grid-template-columns:1.2fr 1fr .72fr;
  align-items:center;
  min-height:168px;
  background:linear-gradient(90deg,#fff0f2 0%,#fde8eb 45%,#fff5f5 100%);
  border-radius:20px;
  overflow:hidden;
  padding:0 28px 0 36px;
  gap:12px;
}
.support h2{
  font-size:28px;
  line-height:1.25;
  margin:0 0 10px;
  letter-spacing:-.02em;
  font-weight:800;
}
.support p{
  font-size:13px;
  color:#5f6773;
  line-height:1.7;
  margin:0;
  max-width:38ch;
}
.supportimg{
  height:168px;
  position:relative;
  overflow:hidden;
  align-self:end;
}
.supportimg img{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  height:168px;
  width:auto;
  max-width:none;
  object-fit:contain;
  object-position:center bottom;
}
.supportaction{
  text-align:center;
  padding-right:8px;
  justify-self:end;
}

/* Footer — dark, match ref.png */
.site-footer{
  margin-top:36px;
  background:#07111d;
  color:#fff;
  padding:56px 0 0;
  border-top:0;
}
.footer{
  display:grid;
  grid-template-columns:1.25fr repeat(3,.72fr) .9fr;
  gap:36px 32px;
  padding-bottom:44px;
  align-items:start;
}
.fbrand{
  font:800 22px/.9 var(--font-display);
  letter-spacing:-.04em;
  color:#fff;
  margin:0 0 14px;
}
.fbrand .r{color:var(--red)}
.fbrand small{
  display:block;
  margin-top:6px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  color:rgba(255,255,255,.85);
}
.fbrand-col p{
  margin:0;
  color:#aab3bf;
  font-size:12.5px;
  line-height:1.75;
  max-width:32ch;
}
.socials{
  display:flex;
  gap:9px;
  margin-top:18px;
  flex-wrap:wrap;
}
.socials a{
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:11px;
  color:#fff !important;
  transition:border-color .2s,background .2s,color .2s;
}
.socials a:hover{
  border-color:#fff;
  background:rgba(255,255,255,.08);
  color:#fff !important;
}
.fcol{display:grid;gap:10px;align-content:start}
.fcol h4{
  display:block;
  margin:0 0 6px;
  font-size:13px;
  font-weight:700;
  color:#fff;
  letter-spacing:.01em;
}
.fcol a{
  color:#aab3bf;
  font-size:12.5px;
  line-height:1.45;
  transition:color .2s;
}
.fcol a:hover{color:#fff}
.fcol-contact{
  padding-left:28px;
  border-left:1px solid rgba(255,255,255,.12);
}
.footer-base{
  border-top:1px solid rgba(255,255,255,.1);
  padding:16px 0 22px;
}
.footer-base p{
  margin:0;
  font-size:11.5px;
  color:#7d8794;
}
.site-footer p,.site-footer a{color:#aab3bf;font-size:12.5px;line-height:1.7}
.fintro,.footer-cta,.fcontact,.fbrand-logo{display:none}

/* Misc pages keep working */
/* Buddy LINE + Know Your Status + Love Foundation (original site bands) */
.buddy-band{
  padding:48px 0;
  background:#fff;
  border-top:1px solid var(--line);
}
.buddy-band-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:24px 40px;
}
.buddy-copy{max-width:52ch}
.buddy-copy h2{
  margin:0 0 12px;
  font-size:clamp(1.45rem,2.4vw,1.9rem);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.3;
  color:var(--ink);
}
.buddy-copy p{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#4b5360;
}
.buddy-cta{
  min-height:46px;
  padding:0 22px;
  gap:10px;
  font-size:15px;
  font-weight:700;
  box-shadow:0 10px 24px rgba(6,199,85,.22);
}
.line-ico{display:block;flex:0 0 auto}


.know-status{
  padding:28px 0 56px;
  background:#fff;
}
.know-status-stage{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:stretch;
  min-height:440px;
  overflow:hidden;
  border-radius:24px;
  background:
    radial-gradient(ellipse 50% 65% at 82% 60%,rgba(234,31,45,.22),transparent 60%),
    radial-gradient(ellipse 35% 45% at 18% 25%,rgba(90,150,255,.14),transparent 55%),
    #05070c;
  box-shadow:0 22px 56px rgba(8,14,24,.22);
}
.know-status-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:48px 28px 48px 48px;
  max-width:34rem;
}
.know-status-eyebrow{
  margin:0 0 12px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#ff6b76;
}
.know-status-title{
  margin:0 0 14px;
  font-family:var(--font-display);
  font-size:clamp(2rem,3.8vw,2.85rem);
  font-weight:900;
  letter-spacing:-.04em;
  line-height:1.05;
  color:#fff;
}
.know-status-lead{
  margin:0 0 22px;
  font-size:15px;
  line-height:1.7;
  color:rgba(255,255,255,.72);
  max-width:34ch;
}
.know-status-checks{
  list-style:none;
  margin:0 0 28px;
  padding:0;
  display:grid;
  gap:12px;
}
.know-status-checks li{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:14.5px;
  font-weight:600;
  color:rgba(255,255,255,.92);
  line-height:1.35;
}
.know-status-checks li::before{
  content:"";
  width:20px;height:20px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.2 11.4 2.8 8l1.2-1.2 2.2 2.2 5-5L12.4 5z'/%3E%3C/svg%3E") center/12px no-repeat;
  box-shadow:0 0 0 4px rgba(234,31,45,.18);
}
.know-status-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 18px;
}
.know-status-cta{width:fit-content}
.know-status-partner{
  font-size:12.5px;
  font-weight:600;
  color:rgba(255,255,255,.45);
  letter-spacing:.02em;
}
.know-status-visual{
  position:relative;
  min-height:320px;
}
.know-status-visual::before{
  content:"";
  position:absolute;
  inset:12% 8% 8% 18%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(234,31,45,.22),transparent 68%);
  filter:blur(8px);
  pointer-events:none;
  z-index:1;
}
.know-status-visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:72% 18%;
  display:block;
  mask-image:linear-gradient(90deg,transparent 0%,#000 28%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 28%);
}

.sponsor-band{
  padding:52px 0 60px;
  background:
    radial-gradient(circle at 18% 28%,rgba(0,0,0,.025),transparent 42%),
    radial-gradient(circle at 82% 72%,rgba(0,0,0,.025),transparent 44%),
    repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(0,0,0,.03) 28px),
    repeating-linear-gradient(90deg,transparent,transparent 27px,rgba(0,0,0,.03) 28px),
    #eef0f3;
  border-top:1px solid #e3e6ea;
}
.sponsor-inner{text-align:center}
.sponsor-label{
  margin:0 0 12px;
  font-size:13px;
  color:#8b93a0;
  letter-spacing:.04em;
}
.sponsor-brand{
  display:inline-flex;
  flex-direction:column;
  gap:2px;
  color:#0d1520;
}
.sponsor-en{
  font-family:var(--font-display);
  font-size:clamp(1.7rem,3.6vw,2.55rem);
  font-weight:900;
  letter-spacing:-.04em;
  line-height:1.05;
}
.sponsor-th{
  font-size:clamp(1.2rem,2.6vw,1.75rem);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.25;
}
.sponsor-brand:hover{color:var(--red)}

/* SpeakOUT video band (from speakoutthailand.com) */
.video-band{
  padding:48px 0 20px;
  background:#fff;
}
.video-band-inner{
  display:grid;
  grid-template-columns:.85fr 1.35fr;
  gap:36px 48px;
  align-items:center;
}
.video-copy h2{
  margin:0 0 14px;
  font-size:clamp(1.6rem,2.6vw,2.1rem);
  font-weight:800;
  letter-spacing:-.03em;
  color:#0d1520;
}
.video-copy p{
  margin:0 0 20px;
  font-size:14px;
  line-height:1.75;
  color:#333;
  max-width:36ch;
}
.btn-viewall{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 22px;
  background:#fc5e1f;
  color:#fff;
  font-size:14px;
  font-weight:700;
  border-radius:6px;
  transition:background .2s;
}
.btn-viewall:hover{background:#e14f14}
.video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  border-radius:12px;
  overflow:hidden;
  background:#111;
  box-shadow:0 16px 40px rgba(16,20,28,.12);
}
.video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.headrow-center{
  justify-content:center;
  text-align:center;
  margin-bottom:28px;
  position:relative;
}
.headrow-center > div{width:100%}
.headrow-center h2{
  font-size:clamp(1.45rem,2.4vw,1.85rem);
  margin:0;
}
.headrow-center .redlink{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}

@media(max-width:900px){
  .video-band-inner{grid-template-columns:1fr;gap:22px}
  .video-copy p{max-width:none}
  .headrow-center{text-align:left;justify-content:space-between}
  .headrow-center .redlink{position:static;transform:none}
}
@media(max-width:680px){
  .video-band{padding:36px 0 8px}
}

@media(max-width:900px){
  .know-status-stage{grid-template-columns:1fr;min-height:0}
  .know-status-copy{padding:36px 28px 24px;max-width:none}
  .know-status-visual{min-height:280px;order:-1}
  .know-status-visual img{
    mask-image:linear-gradient(180deg,#000 55%,transparent 100%);
    -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);
    object-position:center 10%;
  }
}
@media(max-width:680px){
  .buddy-band-inner{flex-direction:column;align-items:flex-start}
  .buddy-cta{width:100%;justify-content:center}
  .know-status{padding:20px 0 40px}
  .know-status-stage{border-radius:18px}
  .know-status-actions{flex-direction:column;align-items:flex-start}
  .know-status-cta{width:auto}
  .sponsor-band{padding:40px 0 48px}
}
.breadcrumbs{font-size:12px;color:var(--muted);padding:14px 0 0}
.breadcrumbs a:hover{color:var(--red)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.empty-note{color:var(--muted);padding:24px 0}

@media(max-width:1080px){
  .links{display:none}
  .menu{display:block}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding:48px 0 28px}
  .hero-media{min-height:420px}
  .hero-blend{width:55%;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.5) 40%,transparent 100%);height:45%;width:100%;inset:0 0 auto 0}
  .what-grid,.content{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,1fr)}
  .impact-box{grid-template-columns:1fr}
  .impact-img{min-height:220px}
  .metrics{grid-template-columns:1fr 1fr}
  .metrics-title{grid-column:1 / -1}
  .metric{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:18px 0}
  .events{border-left:0;padding-left:0}
  .supportbox{grid-template-columns:1fr;padding:26px}
  .supportimg{order:2;height:160px}
  .supportaction{order:3;text-align:left;padding:0;margin-top:12px}
  .footer{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:680px){
  .container,.wrap,.leaflet{width:min(calc(100% - 28px),var(--c))}
  .contact{display:none}
  .nav{height:68px}
  .brand-logo{height:34px}
  .hero-copy{padding:36px 0 20px}
  .hero-word{font-size:70px}
  .hero-copy h1{font-size:28px}
  .hero-media{min-height:340px}
  .section{padding:56px 0}
  .cards{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
  .card{min-width:78vw;scroll-snap-align:start}
  .metrics,.newsgrid{grid-template-columns:1fr}
  .footer{grid-template-columns:1fr}
}


/* ---- Inner pages (from stack) ---- */
.page-intro {
  padding: 2rem 0 1rem;
}

.page-intro h1,
.section-head h2,
.author-card h1 {
  margin: 0 0 0.6rem;
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.eyebrow {
  margin: 0 0 0.4rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}

.section-lead {
  margin: 0;
  color: var(--ink-muted);
  max-width: 40rem;
}

.section-head {
  margin-bottom: 1.5rem;
}

.section-head-row {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.mag-card {
  display: grid;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.mag-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(16,20,28,.08);
}

.mag-card-media {
  aspect-ratio: 16 / 10;
  background: var(--bg-soft);
  overflow: hidden;
}

.mag-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s var(--ease);
}

.mag-card:hover .mag-card-media img {
  transform: scale(1.04);
}

.mag-card-fallback {
  width: 100%;
  height: 100%;
  min-height: 10rem;
  background: linear-gradient(135deg, #eee, #ddd);
}

.mag-card-body {
  padding: 0.9rem 1rem 1.1rem;
  display: grid;
  gap: 0.3rem;
}

.mag-card-kicker {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--accent);
}

.mag-card-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.3;
}

.mag-card-title a {
  color: inherit;
  text-decoration: none;
}

.mag-card-title a:hover {
  color: var(--accent);
}

.mag-card-excerpt,
.mag-card-meta {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.88rem;
}

.mag-grid-rest {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

@media (min-width: 720px) {
  .mag-grid-rest {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1040px) {
  .mag-grid-rest {
    grid-template-columns: repeat(3, 1fr);
  }
}

.cta-band {
  margin: 2rem 0 0;
  padding: 2.5rem 0;
  background: var(--nav-bg);
  color: #fff;
}

.cta-band-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}

.cta-band h2 {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
  font-size: 1.4rem;
}

.cta-band p {
  margin: 0;
  opacity: 0.85;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

/* Articles */
.articles-layout {
  display: grid;
  gap: 2rem;
}

.filter-rail {
  display: grid;
  gap: 1.25rem;
  align-content: start;
}

.search-form {
  display: grid;
  gap: 0.55rem;
}

.search-form input {
  width: 100%;
  min-height: 2.6rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  font: inherit;
  background: var(--surface);
}

.chip-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.chip {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--ink-muted);
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: .2s;
}

.chip:hover,
.chip.is-active,
.chip[aria-pressed="true"] {
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  margin-top: 2rem;
}

@media (min-width: 900px) {
  .articles-layout {
    grid-template-columns: 220px 1fr;
  }
}

/* Article detail */
.breadcrumbs {
  padding: 1rem 0 0;
  font-size: 0.88rem;
}

.breadcrumbs ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  color: var(--ink-muted);
}

.breadcrumbs li:not(:last-child)::after {
  content: "/";
  margin-left: 0.35rem;
  opacity: 0.5;
}

.breadcrumbs a {
  text-decoration: none;
  color: var(--ink-muted);
}

.article-layout {
  display: grid;
  gap: 2rem;
  padding-bottom: 2rem;
}

.article-header h1 {
  margin: 0.55rem 0 0.75rem;
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 3.4vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

/* Author byline — avatar + "Name ใน Category" / date (NHTD-style) */
.byline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 1rem;
  min-width: 0;
}

.byline-avatar {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--bg-soft);
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--line);
}

.byline-avatar-fallback,
.article-author-avatar-fallback {
  display: grid;
  place-items: center;
  background: var(--accent);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
  text-transform: uppercase;
}

.byline-text {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.byline-line {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.35;
  color: var(--ink-muted);
}

.byline-name,
.byline-cat {
  font-weight: 700;
  color: var(--accent);
  text-decoration: none;
}

a.byline-name:hover,
a.byline-cat:hover {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.byline-in {
  color: var(--ink-muted);
  font-weight: 400;
}

.byline-date {
  font-size: 0.84rem;
  color: var(--ink-muted);
  line-height: 1.35;
}

.article-header > .byline {
  margin: 0 0 1.15rem;
}

.article-header > .byline .byline-avatar {
  width: 52px;
  height: 52px;
}

.article-header > .byline .byline-line {
  font-size: 1rem;
}

.article-header > .byline .byline-name {
  font-weight: 800;
}

.mag-card-body .byline,
.byline.byline-compact {
  margin: 0.35rem 0 0;
}

.mag-card-body .byline-avatar,
.byline.byline-compact .byline-avatar {
  width: 34px;
  height: 34px;
  box-shadow: 0 0 0 1px var(--line);
}

.mag-card-body .byline-line,
.byline.byline-compact .byline-line {
  font-size: 0.84rem;
}

.mag-card-body .byline-date,
.byline.byline-compact .byline-date {
  font-size: 0.78rem;
}

.article-author-box {
  display: grid;
  gap: 1.15rem;
  margin: 2.25rem 0 1.5rem;
  padding: 1.4rem 1.5rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #fff 0%, var(--bg-soft) 100%);
  box-shadow: var(--shadow);
}

.article-author-avatar-link {
  display: inline-block;
  width: fit-content;
  border-radius: 50%;
  line-height: 0;
}

.article-author-avatar {
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--accent-soft), 0 8px 20px rgba(0, 0, 0, 0.08);
}

.article-author-avatar-fallback {
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  font-size: 1.6rem;
}

.article-author-label {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}

.article-author-name {
  margin: 0 0 0.5rem;
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.article-author-name a {
  color: inherit;
  text-decoration: none;
}

.article-author-name a:hover {
  color: var(--accent);
}

.article-author-bio {
  margin: 0 0 0.85rem;
  color: var(--ink-muted);
  font-size: 0.98rem;
  line-height: 1.6;
  max-width: 40rem;
}

@media (min-width: 560px) {
  .article-author-box {
    grid-template-columns: auto 1fr;
    align-items: center;
  }
}

.article-meta,
.eeat-byline,
.eeat-trust-notice {
  color: var(--ink-muted);
  font-size: 0.9rem;
}

.eeat-trust-notice {
  padding: 0.7rem 0.85rem;
  background: var(--accent-soft);
  border-left: 3px solid var(--accent);
}

.article-detail {
  overflow: visible;
}

.article-main {
  min-width: 0;
  max-width: 100%;
}

.article-hero-img {
  margin: 0 0 1.25rem;
  overflow: hidden;
}

.article-hero-img img {
  width: 100%;
  height: auto;
  display: block;
}

.prose,
.article-body {
  font-size: 1.05rem;
  overflow: visible;
  max-width: 100%;
}

.prose h2,
.article-body h2,
.topic-prose h2 {
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-top: 2rem;
}

.prose .wp-block-image,
.article-body .wp-block-image,
.prose figure,
.article-body figure {
  margin: 1.25rem 0;
  max-width: 100%;
}

.prose img,
.article-body img {
  border-radius: var(--radius);
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

.prose .aligncenter,
.article-body .aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.table-scroll,
.knowledge-table-wrap {
  overflow-x: auto;
  margin: 1rem 0;
}

.prose table,
.knowledge-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.prose th,
.prose td,
.knowledge-table-wrap th,
.knowledge-table-wrap td {
  border: 1px solid var(--line);
  padding: 0.55rem 0.7rem;
  text-align: left;
}

.prose th,
.knowledge-table-wrap th {
  background: var(--bg-soft);
}

.article-toc {
  background: var(--bg-soft);
  border: 1px solid var(--line);
  padding: 1rem 1.15rem;
  margin: 1.2rem 0;
}

.article-ad {
  margin: 1.5rem 0;
  padding: 0.75rem;
  background: var(--bg-soft);
  border: 1px solid var(--line);
  text-align: center;
}

.article-ad-top {
  margin: 0 0 1.5rem;
}

.article-ad a,
.aside-promo {
  display: block;
  text-decoration: none;
}

.article-ad img,
.aside-promo img {
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
  object-fit: contain;
}

.aside-promo-wrap {
  position: sticky;
  top: calc(var(--header-h) + 0.75rem);
  padding: 0.85rem;
  border: 1px solid var(--line);
  background: var(--bg);
}

.article-disclaimer {
  margin-top: 2.4rem;
  padding: 1.2rem;
  border: 1px solid var(--line);
  background: var(--bg-soft);
}

.article-aside {
  display: grid;
  gap: 1.2rem;
  align-content: start;
}

.aside-block {
  padding: 1rem;
  background: var(--surface);
  border: 1px solid var(--line);
}

.aside-list {
  margin: 0.55rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

.aside-list a {
  text-decoration: none;
  color: var(--ink);
  font-weight: 600;
}

.related-block {
  margin-top: 1rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
}

.related-block h2 {
  font-family: var(--font-display);
  margin: 0 0 1.15rem;
  font-weight: 800;
}

@media (min-width: 960px) {
  .article-layout {
    grid-template-columns: minmax(0, 1fr) 280px;
  }
}

/* Author / About / FAQ / Contact / Knowledge */
.author-card {
  display: grid;
  gap: 1.15rem;
  padding: 1.4rem;
  border: 1px solid var(--line);
}

.author-avatar {
  width: 5.75rem;
  height: 5.75rem;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--accent-soft), 0 8px 20px rgba(0, 0, 0, 0.08);
}

@media (min-width: 640px) {
  .author-card {
    grid-template-columns: auto 1fr;
    align-items: center;
  }
}

.about-stack {
  display: grid;
  gap: 1.1rem;
}

.prose-panel,
.value-list,
.eeat-panel,
.privacy-section {
  padding: 1.3rem;
  background: var(--surface);
  border: 1px solid var(--line);
}

.value-list ol {
  margin: 0.75rem 0 0;
  padding-left: 1.15rem;
  display: grid;
  gap: 0.5rem;
}

.eeat-grid {
  display: grid;
  gap: 1rem;
  margin: 1rem 0 0;
}

.eeat-grid dt {
  font-weight: 800;
  font-family: var(--font-display);
}

.eeat-grid dd {
  margin: 0.2rem 0 0;
  color: var(--ink-muted);
}

@media (min-width: 800px) {
  .eeat-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.faq-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1.15rem;
}

.faq-accordion {
  display: grid;
  gap: 0.55rem;
}

.faq-item {
  background: var(--surface);
  border: 1px solid var(--line);
  padding: 0 1rem;
}

.faq-item[hidden] {
  display: none !important;
}

.faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 0.95rem 0;
  font-weight: 700;
  font-family: var(--font-display);
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-a {
  padding: 0 0 1rem;
  color: var(--ink-muted);
  border-top: 1px solid var(--line);
}

.faq-a p {
  margin: 0.8rem 0 0;
}

/* ---------- Static pages: editorial desk pattern ---------- */
.static-mast {
  position: relative;
  margin-bottom: 0;
  padding: 1.75rem 0 2.25rem;
  background:
    radial-gradient(circle at 88% 12%, rgba(234, 31, 45, 0.1), transparent 38%),
    linear-gradient(180deg, #fff5f6 0%, #fff 78%);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}

.static-mast::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--accent);
}

.static-mast-inner {
  position: relative;
  text-align: left;
  margin-inline: auto;
}

.static-mast-inner > * {
  max-width: 40rem;
}

.static-crumbs {
  margin: 0 0 0.85rem;
}

.static-crumbs ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  color: var(--ink-muted);
  font-size: 0.86rem;
}

.static-crumbs li:not(:last-child)::after {
  content: "/";
  margin-left: 0.5rem;
  opacity: 0.55;
}

.static-crumbs a {
  color: var(--ink-muted);
  text-decoration: none;
}

.static-crumbs a:hover {
  color: var(--accent);
}

.static-mast-brand {
  margin: 0 0 0.35rem;
  color: var(--accent);
  font-size: 0.84rem;
  font-weight: 800;
}

.static-mast-title {
  margin: 0 0 0.55rem;
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3.4vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--ink);
}

.static-mast-lead {
  margin: 0;
  color: var(--ink-muted);
  font-size: 1.02rem;
  line-height: 1.65;
}

.static-desk {
  display: grid;
  gap: 2rem;
  padding: 2rem 0 3.25rem;
}

.static-desk-stack {
  display: grid;
  gap: 2.5rem;
}

.static-desk-main {
  min-width: 0;
}

.static-kicker {
  margin: 0 0 0.45rem;
  color: var(--accent);
  font-size: 0.84rem;
  font-weight: 800;
}

.static-email {
  display: inline-block;
  margin: 0 0 0.75rem;
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 3px solid var(--accent);
}

.static-email:hover {
  color: var(--accent);
}

.static-copy {
  margin: 0 0 1.25rem;
  color: var(--ink-muted);
  font-size: 1rem;
  line-height: 1.65;
  max-width: 34rem;
}

.static-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.static-desk-side {
  display: grid;
  gap: 1rem;
  align-content: start;
}

.static-note {
  padding: 1.15rem 1.2rem;
  background: var(--bg-soft);
  border-left: 3px solid var(--accent);
}

.static-note-soft {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 3px solid var(--line);
}

.static-note h2 {
  margin: 0 0 0.45rem;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 800;
}

.static-note p {
  margin: 0 0 0.65rem;
  color: var(--ink-muted);
  font-size: 0.94rem;
  line-height: 1.6;
}

.static-note p:last-child {
  margin-bottom: 0;
}

.static-statement {
  max-width: 44rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid var(--line);
}

.static-statement-text {
  margin: 0 0 1rem;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.4vw, 1.6rem);
  font-weight: 700;
  line-height: 1.45;
  color: var(--ink);
}

.static-prose {
  margin-top: 1rem;
}

.static-value-list {
  list-style: none;
  margin: 0.85rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.static-value-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  align-items: baseline;
  padding: 0.85rem 0;
  border-top: 1px solid var(--line);
}

.static-value-list li:last-child {
  border-bottom: 1px solid var(--line);
}

.static-value-list span {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--accent);
}

.static-value-list strong {
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--ink);
}

.static-eeat-head {
  max-width: 40rem;
  margin-bottom: 1rem;
}

.static-eeat-head p:last-child {
  margin: 0.35rem 0 0;
  color: var(--ink-muted);
}

.static-eeat-list {
  margin: 0;
  display: grid;
  gap: 1rem;
}

.static-eeat-list > div {
  padding-top: 0.85rem;
  border-top: 1px solid var(--line);
}

.static-eeat-list dt {
  font-family: var(--font-display);
  font-weight: 800;
  margin: 0 0 0.25rem;
}

.static-eeat-list dd {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.94rem;
  line-height: 1.6;
}

.static-faq-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  border-bottom: 1px solid var(--line);
  margin-bottom: 0.25rem;
}

.static-faq-tab {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0.65rem 0;
  font: inherit;
  font-weight: 700;
  color: var(--ink-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.static-faq-tab.is-active,
.static-faq-tab:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

.static-faq-list {
  display: grid;
}

.static-faq-item {
  border-bottom: 1px solid var(--line);
  padding: 0.2rem 0;
}

.static-faq-item[hidden] {
  display: none;
}

.static-faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 1rem 0;
  display: grid;
  gap: 0.25rem;
}

.static-faq-item summary::-webkit-details-marker {
  display: none;
}

.static-faq-cat {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
}

.static-faq-q {
  font-family: var(--font-display);
  font-size: 1.08rem;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.35;
}

.static-faq-a {
  padding: 0 0 1.15rem;
}

.static-faq-a p {
  margin: 0;
  color: var(--ink-muted);
  line-height: 1.7;
  max-width: 40rem;
}

.static-toc ol {
  margin: 0.5rem 0 0;
  padding-left: 1.15rem;
  display: grid;
  gap: 0.55rem;
}

.static-toc a {
  color: var(--ink);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.92rem;
  line-height: 1.4;
}

.static-toc a:hover {
  color: var(--accent);
}

.static-doc-intro {
  margin: 0 0 1.5rem;
  color: var(--ink-muted);
  line-height: 1.7;
  font-size: 1.02rem;
}

.static-doc-section {
  padding: 1.25rem 0;
  border-top: 1px solid var(--line);
}

.static-doc-section h2 {
  margin: 0 0 0.55rem;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  display: flex;
  gap: 0.65rem;
  align-items: baseline;
}

.static-doc-num {
  color: var(--accent);
  font-size: 0.95rem;
}

.static-doc-section p {
  margin: 0;
  color: var(--ink-muted);
  line-height: 1.7;
}

.static-doc-intro-block h2,
.static-doc-section h2 {
  margin-bottom: 0.65rem;
}

.static-doc-intro-block p {
  margin: 0 0 0.85rem;
  color: var(--ink-muted);
  line-height: 1.7;
}

.static-doc-intro-block p:last-child {
  margin-bottom: 0;
}

.static-ref-list {
  margin: 0;
  padding-left: 1.15rem;
  display: grid;
  gap: 0.4rem;
}

.static-topic-list {
  display: grid;
  margin-top: 0.75rem;
}

.static-topic-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.85rem;
  align-items: center;
  padding: 1rem 0;
  border-top: 1px solid var(--line);
  text-decoration: none;
  color: inherit;
}

.static-topic-row:last-child {
  border-bottom: 1px solid var(--line);
}

.static-topic-row:hover {
  color: var(--accent);
}

.static-topic-num {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--accent);
}

.static-topic-body {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.static-topic-body strong {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--ink);
}

.static-topic-row:hover .static-topic-body strong {
  color: var(--accent);
}

.static-topic-body span {
  color: var(--ink-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}

.static-topic-go {
  color: var(--accent);
  font-weight: 800;
}

.static-topic-row:not(:has(.static-topic-num)) {
  grid-template-columns: 1fr auto;
}

@media (min-width: 900px) {
  .static-desk:not(.static-desk-stack) {
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.75fr);
    gap: 2.5rem;
    align-items: start;
  }

  .static-desk:not(.static-desk-stack) .static-toc {
    order: 0;
  }

  .static-desk:not(.static-desk-stack) .static-doc {
    order: 1;
  }

  .static-value-list {
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }

  .static-value-list li:nth-child(odd) {
    padding-right: 1rem;
  }

  .static-value-list li:nth-child(even) {
    padding-left: 1rem;
    border-left: 1px solid var(--line);
  }

  .static-eeat-list {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem 2rem;
  }

  .static-desk-side.static-toc {
    position: sticky;
    top: calc(var(--header-h) + 1rem);
  }
}

/* Privacy: TOC left, doc right on desktop */
@media (min-width: 900px) {
  .static-desk:has(.static-toc) {
    grid-template-columns: minmax(200px, 0.7fr) minmax(0, 1.4fr);
  }
}

.hub-mosaic,
.topic-mosaic {
  display: grid;
  gap: 0.8rem;
}

.hub-card,
.topic-tile {
  display: grid;
  gap: 0.35rem;
  padding: 1.15rem;
  border: 1px solid var(--line);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.hub-card:hover,
.topic-tile:hover {
  border-color: var(--accent);
  box-shadow: var(--shadow);
}

.hub-tag,
.topic-tile-label {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent);
}

.hub-card h2,
.topic-tile strong {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.1rem;
}

.hub-card p,
.topic-tile-lead {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.92rem;
}

@media (min-width: 720px) {
  .hub-mosaic,
  .topic-mosaic {
    grid-template-columns: repeat(2, 1fr);
  }

  .topic-mosaic-compact {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 960px) {
  .hub-mosaic {
    grid-template-columns: repeat(3, 1fr);
  }
}

.topic-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 1.5rem;
}

.topic-jump a {
  text-decoration: none;
  padding: 0.35rem 0.7rem;
  border: 1px solid var(--line);
  color: var(--ink-muted);
  font-size: 0.85rem;
  font-weight: 600;
}

.topic-jump a:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.topic-refs ul,
.topic-others {
  margin-top: 2rem;
}

.footer-label {
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

/* Legacy footer selectors (unused) — keep light to avoid clash */
.footer-inner,
.footer-cols {
  display: none;
}

.empty-note {
  padding: 1.4rem;
  border: 1px dashed var(--line);
  color: var(--ink-muted);
  background: var(--bg-soft);
}

.notfound {
  text-align: center;
  padding: 5rem 0 6rem;
}

/* Motion */
@keyframes dropIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .nav-drop-panel,
  .mobile-drawer,
  .mag-strip-card img,
  .mag-hero-link img,
  .mag-card-media img,
  .home-banner-media,
  .home-banner-inner,
  .home-banner-brand::after,
  .cookie-consent-inner {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }

  .home-banner-media {
    transform: none;
  }
}

/* Cookie consent — slim PDPA bar */
.cookie-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9000;
  padding: 0.75rem 1rem;
  pointer-events: none;
}

.cookie-consent[hidden] {
  display: none !important;
}

.cookie-consent-inner {
  pointer-events: auto;
  max-width: var(--max);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 5rem;
  padding: 0.85rem 1.15rem;
  background: #fff;
  color: var(--ink-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 -8px 28px rgba(16, 45, 78, 0.12);
  animation: cookie-in 0.35s var(--ease) both;
}

.cookie-consent-title {
  margin: 0 0 0.15rem;
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ink);
}

.cookie-consent-desc {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.45;
  color: var(--ink-muted);
  max-width: 42rem;
}

.cookie-consent-desc a {
  color: var(--accent);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cookie-consent-actions {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.cookie-consent-actions .btn {
  min-height: 2.35rem;
  padding: 0.45rem 0.95rem;
  font-size: 0.88rem;
}

.cookie-consent-actions .btn-ghost-light {
  background: #fff;
  border: 1px solid var(--line);
  color: var(--ink);
}

.cookie-consent-actions .btn-ghost-light:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
}

@keyframes cookie-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

body.has-cookie-consent {
  padding-bottom: 6.5rem;
}

@media (max-width: 720px) {
  .cookie-consent {
    padding: 0;
  }

  .cookie-consent-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
    min-height: 0;
    border-radius: 16px 16px 0 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    padding: 1rem 1.1rem 1.15rem;
  }

  .cookie-consent-actions {
    width: 100%;
  }

  .cookie-consent-actions .btn {
    flex: 1;
  }

  body.has-cookie-consent {
    padding-bottom: 10rem;
  }
}


/* ---- Ref override (final) ---- */
:root{--red:#ea1f2d;--red2:#c70d1c;--accent:var(--red);--navy:#08111d}
.hero-word .r,.brand .r{color:var(--red)!important}
.hero{background:linear-gradient(90deg,#fff 0%,#fbfbfc 48%,#f5f5f6 100%)!important;color:inherit!important;min-height:0!important}
.hero-copy,.hero-copy h1{color:#10141c!important}
.hero-copy p{color:#505967!important}
.btn,.contact{background:var(--red);color:#fff}
.cookie-banner{background:#07111d!important;color:#fff!important}

/* Overall polish — refined proportions */
.nav{height:72px}
.brand-logo{height:38px}
.links{font-size:13.5px;font-weight:500;gap:20px;letter-spacing:.01em}
.links a{transition:color .2s}
.hero-grid,.hero-media{min-height:560px}
.hero-copy{padding:64px 20px 56px 0;align-items:flex-start!important}
.hero-word{font:800 clamp(64px,7.6vw,112px)/.74 var(--font-display);letter-spacing:-.07em}
.hero-copy h1{font-size:clamp(26px,2.6vw,32px);font-weight:700;margin:26px 0 0;letter-spacing:-.03em}
.hero-copy p{font-size:14.5px;margin:18px 0 22px;line-height:1.75;color:#5a6270}
.hero .btn{
  min-height:38px!important;
  padding:0 6px 0 18px!important;
  gap:10px;
  font-size:13px!important;
  width:fit-content!important;
  max-width:100%;
  align-self:flex-start!important;
  display:inline-flex!important;
}
.section{padding:80px 0}
.mini{font-size:10px;letter-spacing:.16em;font-weight:700}
.side h2,.head h2,.headrow h2{font-size:32px;letter-spacing:-.035em;font-weight:700}
.cards .card{border-radius:16px;border-color:#eceef2}
.cards .card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(16,20,28,.08)}
.cards .media{height:140px}
.cards .body{padding:16px}
.cards .body h3{font-size:16px;font-weight:700}
.news{border-radius:14px;border-color:#eceef2;transition:box-shadow .25s,transform .25s}
.news:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,20,28,.07)}
.support .btn{min-height:38px;padding:0 6px 0 16px;font-size:12.5px}
.supportbox{min-height:156px;border-radius:18px}
.support h2{font-size:26px;font-weight:700;letter-spacing:-.03em}
.supportimg,.supportimg img{height:156px}
.impact-box{border-radius:18px;min-height:230px}
.redlink{font-size:12px;font-weight:600;letter-spacing:.01em}
.tag{font-size:10px;font-weight:600;padding:5px 9px}

/* Footer dark — match ref.png (final) */
.site-footer{
  background:#07111d!important;
  color:#fff!important;
  margin-top:36px!important;
  padding:56px 0 0!important;
  border-top:0!important;
}
.site-footer .footer{
  display:grid!important;
  grid-template-columns:1.25fr repeat(3,.72fr) .9fr!important;
  gap:36px 32px!important;
  padding-bottom:44px!important;
}
.site-footer .fbrand{color:#fff!important}
.site-footer .fbrand .r{color:var(--red)!important}
.site-footer .fbrand-col p,
.site-footer .fcol a,
.site-footer p{
  color:#aab3bf!important;
  font-size:12.5px!important;
}
.site-footer .fcol h4{display:block!important;color:#fff!important;font-size:13px!important}
.site-footer .socials{display:flex!important}
.site-footer .socials a{
  color:#fff!important;
  border-color:rgba(255,255,255,.28)!important;
}
.site-footer .footer-base{
  border-top:1px solid rgba(255,255,255,.1)!important;
  padding:16px 0 22px!important;
  background:transparent!important;
}
.site-footer .footer-base p{color:#7d8794!important;font-size:11.5px!important}
@media(max-width:980px){
  .site-footer .footer{grid-template-columns:1fr 1fr!important}
  .site-footer .fcol-contact{padding-left:0;border-left:0}
}
@media(max-width:680px){
  .site-footer .footer{grid-template-columns:1fr!important}
}

/* ---- Inner pages polish (articles + clinics) ---- */
.page-intro{padding:1.5rem 0 0.5rem}
.page-intro .mini{margin:0 0 .5rem}
.page-intro h1{
  margin:0 0 .55rem;
  font-size:clamp(1.7rem,3vw,2.3rem);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
}
.section-lead{color:var(--muted);max-width:40rem;line-height:1.7}
.articles-section{padding:1.25rem 0 3.5rem}
.articles-layout{display:grid;gap:2rem}
.filter-label{
  margin:0 0 .65rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.search-form{
  display:grid;
  gap:.55rem;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.search-form input{
  width:100%;
  min-height:2.4rem;
  padding:.5rem .8rem;
  border:1px solid var(--line);
  border-radius:999px;
  font:inherit;
  background:#fff;
}
.search-form .btn{width:fit-content;justify-content:center;box-shadow:none;min-height:34px;padding:0 16px}
.filter-block{
  padding:1rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
@media(min-width:900px){
  .articles-layout{grid-template-columns:240px 1fr;gap:2.25rem;align-items:start}
  .filter-rail{position:sticky;top:calc(var(--header-h) + 12px)}
}

/* Clinics */
.clinics-page{padding:1.5rem 0 3.5rem}
.clinics-filters{
  display:grid;
  gap:1rem;
  grid-template-columns:1fr;
  align-items:end;
  padding:1.1rem 1.15rem;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fafbfc);
  box-shadow:0 10px 28px rgba(16,20,28,.04);
}
.clinics-filters label{display:grid;gap:.4rem}
.clinics-filters span{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.clinics-filters select{
  width:100%;
  min-height:2.45rem;
  padding:.45rem .85rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font:inherit;
  color:var(--ink);
}
.clinics-filters .btn{justify-self:start;box-shadow:none}
.clinics-count{
  margin:1.1rem 0 1rem;
  font-size:.92rem;
  color:var(--muted);
  font-weight:600;
}
.clinic-map{
  position:relative;
  width:100%;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#e8eaee;
  box-shadow:0 14px 36px rgba(16,20,28,.07);
  margin:0 0 1.75rem;
}
.clinic-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  min-height:280px;
}
.clinics-overview-map{aspect-ratio:21 / 9;min-height:320px}
.clinics-overview-map iframe{min-height:320px}
.clinics-grid{
  display:grid;
  gap:1rem;
  grid-template-columns:1fr;
}
.clinic-card{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  padding:1.15rem 1.2rem 1.25rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.clinic-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(16,20,28,.07);
}
.clinic-card h2{
  margin:0;
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.35;
}
.clinic-card h2 a:hover{color:var(--red)}
.clinic-address,.clinic-phone{
  margin:0;
  font-size:.88rem;
  color:var(--muted);
  line-height:1.55;
}
.clinic-phone a{color:var(--ink);font-weight:600}
.clinic-phone a:hover{color:var(--red)}
.clinic-services{
  list-style:none;
  margin:.35rem 0 .2rem;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
}
.clinic-services li{
  padding:.22rem .55rem;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--red);
  font-size:.72rem;
  font-weight:600;
}
.clinic-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.55rem;
}
.clinics-booking{
  margin-top:2rem;
  padding:1.35rem 1.5rem;
  border-radius:18px;
  background:linear-gradient(90deg,#fff0f2,#fde8eb 55%,#fff5f5);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.clinics-booking h2{
  margin:0 0 .35rem;
  font-size:1.2rem;
  font-weight:700;
}
.clinics-booking p{margin:0;color:#5f6773;font-size:.9rem;max-width:42ch}

/* Clinic detail */
.clinic-detail{padding:1.5rem 0 3.5rem}
.clinic-detail-grid{
  display:grid;
  gap:1.5rem;
  margin-bottom:1.5rem;
}
.clinic-detail-side{display:grid;gap:1rem;align-content:start}
.clinic-hero-img{
  width:100%;
  border-radius:16px;
  margin-bottom:1.25rem;
  aspect-ratio:16/9;
  object-fit:cover;
}
.clinic-services-lg li{font-size:.8rem;padding:.3rem .7rem}
.clinic-detail .clinic-map{aspect-ratio:21/9;min-height:300px}

@media(min-width:720px){
  .clinics-filters{grid-template-columns:1fr 1fr auto}
  .clinics-grid{grid-template-columns:repeat(2,1fr);gap:1.1rem}
}
@media(min-width:980px){
  .clinics-grid{grid-template-columns:repeat(3,1fr)}
  .clinic-detail-grid{grid-template-columns:1.5fr .85fr;gap:2rem}
  .clinics-overview-map{min-height:380px}
}
@media(max-width:680px){
  .clinics-overview-map,.clinic-detail .clinic-map{aspect-ratio:4/3;min-height:240px}
  .clinics-booking{padding:1.15rem}
}
