/* ==========================================================================
   Culture Pastel Green / Yellow Theme
   Public Website
   - No brown tone
   - No gradients
   - Pastel green / pastel yellow
   - Compatible with previous assets overlay
   ========================================================================== */

:root{
  --font-main:"Noto Sans Thai","Sarabun","Inter","Leelawadee UI",Tahoma,Arial,sans-serif;

  --green-900:#174c3a;
  --green-800:#236450;
  --green-700:#2f7b63;
  --green-600:#4aa083;
  --green-300:#a7dfcc;
  --green-200:#c9efe1;
  --green-100:#e6f8f0;
  --green-50:#f3fcf8;

  --yellow-700:#9a8700;
  --yellow-600:#c5ad10;
  --yellow-400:#f5dd57;
  --yellow-300:#f8e984;
  --yellow-200:#fff3a8;
  --yellow-100:#fffadb;
  --yellow-50:#fffef1;

  --mint:#dff8ef;
  --lemon:#fff7bd;
  --sky:#eef9ff;

  --bg:#f6fbf7;
  --surface:#ffffff;
  --surface-soft:#fbfefb;
  --text:#1d3028;
  --text-strong:#0f241d;
  --muted:#637a70;
  --line:#dceee6;
  --line-soft:#ebf6f1;

  --danger:#d96060;
  --success:#3c9473;

  --radius-sm:10px;
  --radius:16px;
  --radius-lg:22px;
  --shadow-sm:0 6px 18px rgba(35,100,80,.055);
  --shadow:0 14px 34px rgba(35,100,80,.095);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-main);
  font-size:15px;
  line-height:1.72;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font-family:inherit;font-size:14px}
.site-body{background:var(--bg)}
.container{width:min(1160px,calc(100% - 32px));margin-inline:auto}
.section{padding:56px 0}

.top-strip{
  background:var(--green-800);
  color:#effdf7;
  padding:7px 0;
  font-size:12.5px;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.top-strip .container{display:flex;justify-content:space-between;gap:14px;align-items:center}
.top-strip a{color:#ffffff;font-weight:700}

.web-header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  box-shadow:0 4px 16px rgba(35,100,80,.045);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:20px}
.brand{display:flex;align-items:center;gap:11px;min-width:300px}
.brand-mark{
  display:grid;place-items:center;
  width:48px;height:48px;border-radius:15px;
  background:var(--mint);
  border:1px solid var(--green-200);
  color:var(--green-900);
  font-weight:900;
  font-size:22px;
  box-shadow:0 8px 20px rgba(35,100,80,.10);
  overflow:hidden;
}
.brand-mark img{width:100%;height:100%;object-fit:cover}
.brand strong{
  display:block;
  font-size:16.5px;
  color:var(--green-900);
  letter-spacing:-.01em;
  line-height:1.3;
  font-weight:800;
}
.brand small{display:block;color:var(--muted);font-size:12px;margin-top:2px;line-height:1.35}

.main-nav{display:flex;align-items:center;gap:3px}
.main-nav a,.nav-dropdown>button{
  border:0;background:transparent;
  padding:8px 11px;border-radius:999px;
  color:#314f43;
  font-weight:700;
  font-size:13.5px;
  cursor:pointer;
  transition:.16s ease;
}
.main-nav a:hover,.main-nav a.is-active,.nav-dropdown>button:hover{
  background:var(--green-100);
  color:var(--green-900);
}
.nav-dropdown{position:relative}
.dropdown-panel{
  display:none;position:absolute;top:39px;left:0;min-width:220px;
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:7px;
  box-shadow:var(--shadow);
}
.nav-dropdown:hover .dropdown-panel{display:grid}
.dropdown-panel a{border-radius:11px}
.menu-btn{
  display:none;background:#fff;border:1px solid var(--line);
  color:var(--green-900);border-radius:12px;padding:9px 12px;
  box-shadow:var(--shadow-sm);
}

.hero{
  position:relative;
  padding:62px 0 36px;
  overflow:hidden;
  background-color:var(--green-100);
  background-image:linear-gradient(rgba(230,248,240,.90),rgba(230,248,240,.90)),var(--hero-image, none);
  background-size:cover;
  background-position:center;
  color:var(--green-900);
  border-bottom:6px solid var(--yellow-300);
}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:42px;align-items:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--green-700);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:11.5px;
}
.eyebrow:before{
  content:"";width:28px;height:2px;border-radius:99px;background:currentColor;
}
.hero h1,.page-hero h1{
  font-size:clamp(32px,4.5vw,54px);
  line-height:1.14;
  margin:14px 0;
  color:var(--green-900);
  letter-spacing:-.03em;
  font-weight:850;
}
.hero p,.page-hero p,.alt-section p{
  font-size:16px;color:#385d4f;line-height:1.85;max-width:760px;
}
.hero-actions{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}
.btn-primary,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:0 18px;border-radius:999px;
  font-weight:800;transition:.16s ease;font-size:14px;
}
.btn-primary{
  background:var(--yellow-300);
  color:var(--green-900);border:1px solid var(--yellow-400);
  box-shadow:none;
}
.btn-primary:hover{background:var(--yellow-200)}
.btn-ghost{
  background:#ffffff;
  border:1px solid var(--green-200);
  color:var(--green-900);
}
.btn-ghost:hover{background:var(--green-50)}
.hero-card{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:12px;
  box-shadow:var(--shadow);
}
.hero-card img{border-radius:16px;border:1px solid var(--line)}
.hero-card-caption{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 6px 2px;color:var(--green-900)}
.hero-card-caption span{color:var(--muted)}

.stat-section{padding:26px 0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
  box-shadow:var(--shadow-sm);
  position:relative;
  overflow:hidden;
}
.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--yellow-300)}
.stat-card strong{display:block;color:var(--green-900);font-size:30px;line-height:1;font-weight:850}
.stat-card span{color:var(--muted);font-weight:700;font-size:13.5px}

.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;gap:18px}
.section-head h2,.alt-section h2{
  font-size:30px;margin:7px 0 0;color:var(--green-900);letter-spacing:-.02em;font-weight:850;
}
.section-head a{font-weight:800;color:var(--green-700);font-size:14px}
.section-head a:hover{color:var(--green-900)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news-card,.list-card,.article-card,.widget,.event-card,.contact-card,.contact-form,.prose-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow-sm);
}
.news-card{overflow:hidden;transition:.16s ease}
.news-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.news-card img{height:200px;width:100%;object-fit:cover}
.card-body{padding:18px}
.badge{
  display:inline-flex;align-items:center;
  background:var(--yellow-100);color:var(--green-900);
  border:1px solid var(--yellow-300);
  border-radius:999px;padding:5px 10px;
  font-size:11.5px;font-weight:800;
}
.news-card h3,.list-card h2{margin:10px 0 7px;color:var(--text-strong);line-height:1.42;font-size:18px}
.news-card p,.list-card p,.meta{color:var(--muted);line-height:1.7}
.meta{font-size:12.5px}

.alt-section{
  background:var(--green-100);
  color:var(--green-900);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.alt-section h2,.alt-section .eyebrow{color:var(--green-900)}
.alt-section p{color:#385d4f}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}
.photo-strip span{
  height:86px;border-radius:16px;
  background:var(--yellow-100);
  border:1px solid var(--yellow-300);
}
.feature-list{display:grid;gap:12px}
.feature-list div{
  display:flex;gap:14px;align-items:center;
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:16px;padding:15px;
}
.feature-list strong{font-size:24px;color:var(--green-700)}

.video-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.video-card{
  min-height:138px;
  background:#ffffff;
  border:1px solid var(--green-200);
  border-radius:18px;color:var(--green-900);padding:16px;
  display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:var(--shadow-sm);
}
.video-card span{font-size:24px;color:var(--green-700)}

.page-hero{
  padding:58px 0;
  color:var(--green-900);
  background:var(--green-100);
  border-bottom:6px solid var(--yellow-300);
}
.page-hero p{color:#385d4f}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}
.post-list{display:grid;gap:16px}
.list-card{display:grid;grid-template-columns:210px 1fr;gap:18px;padding:12px;transition:.16s ease}
.list-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.list-card img{height:160px;width:100%;object-fit:cover;border-radius:15px}
.sidebar{display:grid;gap:16px;position:sticky;top:96px}
.widget{padding:18px}
.widget h3{margin:0 0 12px;color:var(--green-900);font-size:18px}
.search-box{display:flex;gap:8px}
.search-box input,.contact-form input,.contact-form textarea{
  width:100%;border:1px solid var(--line);
  border-radius:12px;padding:11px 12px;background:#fff;color:var(--text);
}
.search-box input:focus,.contact-form input:focus,.contact-form textarea:focus{
  outline:3px solid rgba(74,160,131,.14);border-color:var(--green-600);
}
.search-box button{border:0;background:var(--green-700);color:#fff;border-radius:12px;padding:0 13px;font-weight:800}
.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.mini-calendar b,.mini-calendar span{padding:7px 0;border-radius:9px}
.mini-calendar b{color:var(--green-900);font-size:11.5px}
.mini-calendar span{background:var(--green-50);color:#526b60;font-size:13px}
.cat-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line-soft);color:#4d6258}
.cat-row em{color:var(--green-700);font-style:normal;font-weight:800}

.article-wrap{max-width:900px}
.article-card{padding:24px}
.article-cover{width:100%;height:350px;object-fit:cover;border-radius:18px}
.article-card .lead{font-size:17px;line-height:1.85;color:#385d4f}
.event-list{display:grid;gap:14px}
.event-card{display:grid;grid-template-columns:136px 1fr auto;gap:18px;align-items:center;padding:18px}
.event-date{font-size:32px;color:var(--green-900);font-weight:850;line-height:1}
.event-date span{display:block;font-size:11.5px;color:var(--muted);margin-top:5px}
.contact-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:22px}
.contact-card,.contact-form,.prose-card{padding:22px}
.contact-card h3,.contact-form h3,.prose-card h2,.prose-card h3{color:var(--green-900)}
.contact-form{display:grid;gap:12px}
.contact-form textarea{height:140px}
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mission-grid div{background:var(--green-50);border:1px solid var(--line);border-radius:16px;padding:17px}

.web-footer{
  background:var(--green-800);
  color:#effdf7;
  margin-top:46px;
  border-top:6px solid var(--yellow-300);
}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:30px;padding:46px 0}
.footer-brand{font-size:24px;font-weight:850;color:var(--yellow-100)}
.web-footer a{display:block;color:#e6f8f0;margin:8px 0;font-size:14px}
.web-footer a:hover{color:#fff}
.web-footer h3{color:#fff;font-size:17px}
.socials{display:flex;gap:9px}
.socials a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}
.admin-link{margin-top:16px;color:var(--yellow-100)!important}
.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.16);padding:16px;color:#d8f0e6;font-size:13px}
.to-top{
  position:fixed;right:18px;bottom:18px;
  width:42px;height:42px;border-radius:50%;border:0;
  background:var(--green-700);
  color:#fff;opacity:0;pointer-events:none;transition:.2s;
  box-shadow:var(--shadow);
}
.to-top.show{opacity:1;pointer-events:auto}

@media(max-width:980px){
  .hide-sm{display:none}
  .menu-btn{display:block}
  .main-nav{
    display:none;position:absolute;left:16px;right:16px;top:76px;
    background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;
    box-shadow:var(--shadow);
  }
  .main-nav.open{display:grid}
  .nav-wrap{position:relative}
  .hero-grid,.split-grid,.content-layout,.contact-grid{grid-template-columns:1fr}
  .stat-grid,.news-grid,.video-grid,.footer-grid{grid-template-columns:repeat(2,1fr)}
  .list-card{grid-template-columns:1fr}
  .sidebar{position:static}
  .brand{min-width:0}
  .brand small{display:none}
}
@media(max-width:620px){
  .container{width:min(100% - 24px,1160px)}
  body{font-size:14.5px}
  .stat-grid,.news-grid,.video-grid,.footer-grid,.mission-grid{grid-template-columns:1fr}
  .hero{padding-top:42px}
  .event-card{grid-template-columns:1fr}
  .section{padding:42px 0}
  .hero-card-caption{display:block}
  .page-hero{padding:46px 0}
  .brand strong{font-size:15.5px}
  .brand-mark{width:44px;height:44px;font-size:20px}
}


/* Phase Admin 3.5: Facebook Page Feed */
.facebook-feed-section{position:relative}.facebook-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.facebook-post-card{background:#fff;border:1px solid rgba(47,123,99,.12);border-radius:24px;box-shadow:0 18px 44px rgba(31,58,49,.08);overflow:hidden;display:flex;flex-direction:column;min-height:100%}.facebook-post-image{display:block;aspect-ratio:16/10;background:#eef5f1;overflow:hidden}.facebook-post-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.facebook-post-card:hover .facebook-post-image img{transform:scale(1.035)}.facebook-post-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.facebook-post-body p{margin:0;color:#38584d;line-height:1.65}.facebook-post-body .read-more{margin-top:auto;font-weight:700;color:#2f7b63;text-decoration:none}@media(max-width:960px){.facebook-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.facebook-post-grid{grid-template-columns:1fr}.facebook-post-card{border-radius:18px}.facebook-post-body{padding:16px}}

/* Phase Admin 3.7: Facebook free embed section */
.facebook-embed-section { position: relative; }
.facebook-embed-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.facebook-embed-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 28px;
  box-shadow: 0 20px 48px rgba(15, 23, 42, .08);
  overflow: hidden;
}
.facebook-embed-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  background: linear-gradient(135deg, #eff6ff, #fff);
}
.facebook-embed-title strong { color: #0f172a; }
.facebook-embed-title span { color: #64748b; font-size: .9rem; }
.facebook-embed-card iframe { width: 100%; max-width: 500px; display: block; margin: 0 auto; }
@media (max-width: 860px) { .facebook-embed-grid { grid-template-columns: 1fr; } }

/* Phase Web Home 1.0: Homepage roadmap + public display polish */
.home-section{padding:64px 0}.home-eyebrow{letter-spacing:.06em}.home-eyebrow:before{width:22px}.home-hero{position:relative;overflow:hidden;padding:76px 0 48px;background:radial-gradient(circle at 12% 8%,rgba(255,243,168,.85),transparent 32%),radial-gradient(circle at 88% 14%,rgba(201,239,225,.95),transparent 34%),linear-gradient(135deg,#f7fffb 0%,#effbf5 52%,#fffdf1 100%);border-bottom:1px solid var(--line)}.home-hero:after{content:"";position:absolute;inset:auto -80px -160px auto;width:440px;height:440px;border-radius:999px;background:rgba(248,233,132,.35);filter:blur(10px);pointer-events:none}.home-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.82fr);gap:48px;align-items:center}.home-hero-copy h1{margin:14px 0 16px;color:var(--green-900);font-size:clamp(34px,4.8vw,64px);line-height:1.1;letter-spacing:-.045em;font-weight:900}.home-hero-copy p{max-width:760px;margin:0;color:#345b4c;font-size:17px;line-height:1.9}.home-hero-actions,.home-final-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.home-btn{min-height:48px;padding-inline:22px}.home-hero-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:30px}.home-hero-kpis div{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:18px;padding:15px 14px;box-shadow:var(--shadow-sm);backdrop-filter:blur(10px)}.home-hero-kpis strong{display:block;color:var(--green-900);font-size:26px;line-height:1;font-weight:900}.home-hero-kpis span{display:block;margin-top:8px;color:var(--muted);font-size:12.5px;font-weight:800}.home-hero-visual{position:relative}.home-hero-image-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:32px;padding:14px;box-shadow:0 26px 80px rgba(35,100,80,.15);overflow:hidden}.home-hero-image-card:before{content:"";position:absolute;inset:14px;border-radius:24px;background:linear-gradient(180deg,transparent 48%,rgba(15,36,29,.54));z-index:1;pointer-events:none}.home-hero-image-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px}.home-hero-caption{position:absolute;z-index:2;left:32px;right:32px;bottom:28px;display:grid;gap:4px;padding:16px;border:1px solid rgba(255,255,255,.4);border-radius:20px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);box-shadow:0 16px 40px rgba(15,36,29,.18)}.home-hero-caption strong{color:var(--green-900);font-size:16px}.home-hero-caption span{color:#446658;font-size:13px}.home-stats-section{padding:28px 0 18px}.home-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.home-stat-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-sm)}.home-stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--yellow-300)}.home-stat-card strong{display:block;color:var(--green-900);font-size:32px;font-weight:900;line-height:1}.home-stat-card span{display:block;margin-top:10px;color:var(--muted);font-weight:800}.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px}.home-section-head h2{margin:8px 0 0;color:var(--green-900);font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-.035em;font-weight:900}.home-section-head p{max-width:760px;margin:8px 0 0;color:var(--muted);line-height:1.8}.home-section-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:42px;padding:0 15px;border:1px solid var(--green-200);border-radius:999px;background:#fff;color:var(--green-900);font-weight:900;box-shadow:var(--shadow-sm)}.home-section-link:hover{background:var(--green-50);transform:translateY(-1px)}.home-section-link span{font-size:16px}.home-news-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-auto-rows:1fr;gap:18px}.home-news-card{display:grid;grid-template-columns:150px 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.18s ease}.home-news-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.home-news-card.is-featured{grid-row:span 3;display:flex;flex-direction:column}.home-news-image{display:block;background:var(--green-50);overflow:hidden}.home-news-image img{width:100%;height:100%;min-height:152px;object-fit:cover;transition:.25s ease}.home-news-card:hover .home-news-image img{transform:scale(1.035)}.home-news-card.is-featured .home-news-image img{aspect-ratio:16/10;min-height:320px}.home-news-body{padding:18px;display:flex;flex-direction:column;gap:9px}.home-news-body h3{margin:0;color:var(--text-strong);line-height:1.38;font-size:18px}.home-news-card.is-featured h3{font-size:24px}.home-news-body p{margin:0;color:var(--muted);line-height:1.75}.home-empty-state{padding:28px;border:1px dashed var(--green-200);border-radius:22px;background:#fff;color:var(--muted);font-weight:800;text-align:center}.home-events-band{background:linear-gradient(135deg,var(--green-900),var(--green-700));color:#fff;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.home-events-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:32px;align-items:start}.home-events-intro h2{margin:8px 0 10px;font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-.035em;color:#fff}.home-events-intro p{color:#e4f5ee;line-height:1.85}.home-events-band .home-eyebrow,.home-events-band .home-section-link{color:#fff}.home-events-band .home-section-link{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);box-shadow:none}.home-event-list{display:grid;gap:12px}.home-event-card{display:grid;grid-template-columns:98px 1fr;gap:16px;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:16px;backdrop-filter:blur(10px)}.home-event-card time{display:grid;place-items:center;text-align:center;background:#fff;color:var(--green-900);border-radius:18px;min-height:90px;padding:10px}.home-event-card time strong{font-size:32px;line-height:1;font-weight:900}.home-event-card time span{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}.home-event-card h3{margin:0 0 4px;color:#fff;font-size:18px;line-height:1.45}.home-event-card p{margin:0;color:#d8eee5}.home-facebook-panel{position:relative}.facebook-embed-grid.is-home-polished{grid-template-columns:minmax(0,760px);justify-content:center}.home-facebook-card{border-color:var(--line);box-shadow:var(--shadow);border-radius:26px}.home-facebook-card .facebook-embed-title{background:var(--green-50);border-bottom:1px solid var(--line)}.home-facebook-post-grid{gap:18px}.home-culture-section{background:linear-gradient(180deg,#fff 0%,var(--green-50) 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-culture-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:36px;align-items:center}.home-culture-copy h2{margin:8px 0 12px;color:var(--green-900);font-size:clamp(26px,3vw,38px);line-height:1.25;font-weight:900;letter-spacing:-.035em}.home-culture-copy p{margin:0;color:#3a5f51;line-height:1.9}.home-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-category-card{display:grid;gap:7px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow-sm);transition:.16s ease}.home-category-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--green-200)}.home-category-card strong{color:var(--green-700);font-size:26px;font-weight:900}.home-category-card span{color:var(--green-900);font-weight:900;font-size:17px;line-height:1.4}.home-category-card em{color:var(--muted);font-style:normal;font-weight:800}.home-video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.home-video-card{position:relative;display:flex;min-height:240px;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:24px;border:1px solid var(--line);background:#10251e;box-shadow:var(--shadow-sm);color:#fff}.home-video-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(10,32,24,.86));z-index:1}.home-video-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.86;transition:.25s ease}.home-video-card:hover img{transform:scale(1.04);opacity:1}.home-video-card span,.home-video-card strong,.home-video-card em{position:relative;z-index:2}.home-video-card span{display:grid;place-items:center;width:44px;height:44px;margin:0 18px 12px;border-radius:999px;background:var(--yellow-300);color:var(--green-900);font-weight:900}.home-video-card strong{padding:0 18px 4px;font-size:17px;line-height:1.45}.home-video-card em{padding:0 18px 18px;color:#d8eee5;font-size:11px;font-style:normal;font-weight:900;letter-spacing:.08em}.home-final-cta{padding-top:34px}.home-final-cta-card{display:flex;justify-content:space-between;gap:22px;align-items:center;background:linear-gradient(135deg,var(--green-900),var(--green-700));color:#fff;border-radius:30px;padding:32px;box-shadow:0 24px 64px rgba(35,100,80,.18)}.home-final-cta-card h2{margin:8px 0;color:#fff;font-size:clamp(24px,3vw,34px);line-height:1.25}.home-final-cta-card p{margin:0;color:#e4f5ee;max-width:720px}.home-final-cta-card .home-eyebrow{color:#fff}.home-final-cta-card .btn-ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.24)}
@media(max-width:1080px){.home-hero-grid{grid-template-columns:1fr}.home-hero-visual{max-width:680px}.home-news-feature-grid{grid-template-columns:1fr}.home-news-card.is-featured{grid-row:auto}.home-news-card{grid-template-columns:220px 1fr}.home-events-layout,.home-culture-grid{grid-template-columns:1fr}.home-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-final-cta-card{align-items:flex-start;flex-direction:column}.home-hero-kpis,.home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.home-section{padding:46px 0}.home-hero{padding:48px 0 34px}.home-hero-copy h1{font-size:34px}.home-hero-copy p{font-size:15.5px}.home-hero-kpis,.home-stat-grid,.home-category-grid,.home-video-grid{grid-template-columns:1fr}.home-section-head{align-items:flex-start;flex-direction:column}.home-section-link{width:100%;justify-content:center}.home-news-card{grid-template-columns:1fr}.home-news-card.is-featured .home-news-image img,.home-news-image img{min-height:210px;aspect-ratio:16/10}.home-event-card{grid-template-columns:1fr}.home-event-card time{place-items:start;text-align:left;min-height:auto}.home-facebook-card{border-radius:20px}.home-final-cta-card{border-radius:22px;padding:24px}.home-final-actions,.home-hero-actions{width:100%}.home-final-actions .home-btn,.home-hero-actions .home-btn{width:100%}}


/* Phase Web Home 1.1: Header / Navigation / Mobile Menu Polish */
.public-header{
  isolation:isolate;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(16px);
  transition:box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.public-header.is-scrolled{
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 34px rgba(15,36,29,.09);
}
.public-top-strip{padding:6px 0;background:var(--green-900);border-bottom:1px solid rgba(255,255,255,.15)}
.public-top-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:28px}
.public-top-message{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:78ch;color:#ecfff8;font-weight:700}
.public-top-contact{display:inline-flex;align-items:center;white-space:nowrap;color:#fff;font-weight:900}
.public-nav-wrap{min-height:72px;padding:10px 0;position:relative}
.public-brand{min-width:260px;max-width:410px;flex:0 1 auto}
.public-brand-mark{flex:0 0 50px;width:50px;height:50px;border-radius:18px;background:linear-gradient(180deg,var(--green-50),#fff);box-shadow:0 12px 26px rgba(35,100,80,.12)}
.public-brand-text{min-width:0;display:block}
.public-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:330px;font-size:16px}
.public-brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:330px}
.public-main-nav{margin-left:auto;gap:4px;align-items:center;justify-content:flex-end;min-width:0}
.public-main-nav a,.public-main-nav .public-nav-toggle{white-space:nowrap}
.public-nav-link,.public-nav-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:40px;padding:0 12px!important;border-radius:999px!important;
  border:1px solid transparent!important;color:#254b3d!important;background:transparent!important;
  font-weight:850!important;font-size:13.5px!important;line-height:1.2;
}
.public-nav-link:hover,.public-nav-link.is-active,.public-nav-toggle:hover,.public-nav-dropdown.is-open>.public-nav-toggle{
  background:var(--green-50)!important;border-color:var(--green-200)!important;color:var(--green-900)!important;
}
.public-nav-cta{
  display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;
  padding:0 16px!important;border-radius:999px!important;background:var(--yellow-300)!important;
  border:1px solid var(--yellow-400)!important;color:var(--green-900)!important;font-weight:900!important;
  box-shadow:0 8px 18px rgba(197,173,16,.12);
}
.public-nav-cta:hover{background:var(--yellow-200)!important;transform:translateY(-1px)}
.public-nav-dropdown{position:relative}
.public-dropdown-panel{
  top:calc(100% + 10px);left:0;min-width:236px;padding:8px;border-radius:18px;
  box-shadow:0 24px 58px rgba(15,36,29,.14);border:1px solid var(--line);background:#fff;
}
.public-nav-dropdown:hover .public-dropdown-panel,.public-nav-dropdown.is-open .public-dropdown-panel{display:grid;gap:3px}
.public-dropdown-panel a{display:flex!important;justify-content:flex-start!important;min-height:40px;border-radius:12px!important;padding:0 12px!important;background:#fff!important;color:#294d40!important;text-align:left!important}
.public-dropdown-panel a:hover{background:var(--green-50)!important;color:var(--green-900)!important}
.public-mobile-nav-head,.public-menu-backdrop{display:none}
.public-menu-btn{
  width:46px;height:44px;padding:0;border-radius:15px;align-items:center;justify-content:center;gap:4px;flex-direction:column;
}
.public-menu-btn span{display:block;width:20px;height:2px;border-radius:999px;background:var(--green-900);transition:.18s ease}
.public-menu-btn.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.public-menu-btn.is-open span:nth-child(2){opacity:0}
.public-menu-btn.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1180px){
  .public-brand{min-width:220px;max-width:300px}.public-brand strong,.public-brand small{max-width:230px}.public-nav-link,.public-nav-toggle{padding-inline:9px!important;font-size:13px!important}.public-nav-cta{padding-inline:12px!important}
}
@media (max-width:980px){
  .public-top-strip-inner{justify-content:center;text-align:center}.public-top-contact{display:none}.public-top-message{max-width:100%;font-size:12px}
  .public-nav-wrap{min-height:66px}.public-menu-btn{display:inline-flex;z-index:80}.public-brand{max-width:calc(100% - 62px)}.public-brand strong{max-width:calc(100vw - 145px)}.public-brand small{display:block;max-width:calc(100vw - 145px)}
  .public-main-nav{
    display:flex;position:fixed;inset:0 0 0 auto;top:0;left:auto;right:0;width:min(390px,calc(100vw - 34px));height:100dvh;
    padding:18px 16px 24px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;
    border:0;border-left:1px solid var(--line);border-radius:24px 0 0 24px;background:#fff;box-shadow:-24px 0 64px rgba(15,36,29,.22);
    transform:translateX(105%);transition:transform .22s ease;overflow:auto;z-index:70;
  }
  .public-main-nav.open{display:flex;transform:translateX(0)}
  .public-mobile-nav-head{display:flex;align-items:center;justify-content:space-between;margin:2px 0 10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
  .public-mobile-nav-head strong{color:var(--green-900);font-size:18px}.public-mobile-nav-head button{width:40px;height:40px;border:1px solid var(--line);border-radius:14px;background:var(--green-50);color:var(--green-900);font-size:24px;line-height:1;cursor:pointer}
  .public-main-nav .public-nav-link,.public-main-nav .public-nav-toggle,.public-main-nav .public-nav-cta{width:100%;justify-content:space-between;min-height:48px;padding:0 14px!important;border:1px solid var(--line)!important;background:#fff!important;border-radius:16px!important;text-align:left!important}
  .public-main-nav .public-nav-cta{justify-content:center;background:var(--yellow-300)!important;border-color:var(--yellow-400)!important}
  .public-nav-dropdown{display:grid;gap:7px}.public-dropdown-panel{position:static;display:none;min-width:0;padding:6px;margin-left:10px;box-shadow:none;border-radius:16px;background:var(--green-50)}
  .public-nav-dropdown.is-open .public-dropdown-panel{display:grid}.public-nav-dropdown:hover .public-dropdown-panel:not(.force-open){display:none}.public-dropdown-panel a{background:transparent!important;border:0!important}
  .public-menu-backdrop{position:fixed;inset:0;background:rgba(15,36,29,.42);backdrop-filter:blur(4px);z-index:60}.public-menu-backdrop.is-visible{display:block}.public-nav-open{overflow:hidden}
}
@media (max-width:520px){
  .public-brand{gap:9px}.public-brand-mark{width:44px;height:44px;border-radius:15px}.public-brand strong{font-size:14.5px}.public-brand small{font-size:11.2px}.public-main-nav{width:calc(100vw - 20px);border-radius:20px 0 0 20px}.public-top-message{white-space:normal;line-height:1.45}.public-top-strip{padding:5px 0}
}

/* Phase Web Home 1.1.1: Mobile menu rebuild */
.public-mobile-quick,
.public-mobile-section-title,
.public-mobile-nav-foot{
  display:none;
}
.public-nav-chevron{
  display:inline-flex;
  transition:transform .18s ease;
}
.public-nav-dropdown.is-open .public-nav-chevron{
  transform:rotate(180deg);
}
@media (max-width:980px){
  .public-header{
    z-index:120;
  }
  .public-nav-wrap{
    min-height:68px;
  }
  .public-menu-btn{
    position:relative;
    z-index:130;
    width:48px;
    height:46px;
    border-radius:18px;
    background:#fff;
    border:1px solid var(--green-200);
    box-shadow:0 10px 26px rgba(15,36,29,.10);
  }
  .public-main-nav{
    display:flex !important;
    position:fixed !important;
    inset:12px !important;
    width:auto !important;
    height:auto !important;
    max-height:calc(100dvh - 24px);
    padding:0 !important;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0 !important;
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(201,239,225,.98);
    border-radius:28px;
    box-shadow:0 28px 90px rgba(15,36,29,.30);
    transform:translateY(18px) scale(.965) !important;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease,transform .22s ease;
    z-index:125;
  }
  .public-main-nav.open{
    transform:translateY(0) scale(1) !important;
    opacity:1;
    pointer-events:auto;
  }
  .public-mobile-nav-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:0 !important;
    padding:17px 18px 14px;
    border-bottom:1px solid var(--line-soft);
    background:var(--green-50);
  }
  .public-mobile-brand-mini{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
  }
  .public-mobile-brand-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:16px;
    background:#fff;
    border:1px solid var(--green-200);
    color:var(--green-900);
    font-weight:900;
    box-shadow:0 8px 18px rgba(35,100,80,.09);
  }
  .public-mobile-brand-mini strong{
    display:block;
    max-width:calc(100vw - 150px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--green-900);
    font-size:15px;
    line-height:1.28;
  }
  .public-mobile-brand-mini small{
    display:block;
    color:var(--muted);
    font-weight:800;
    font-size:12px;
    line-height:1.25;
    margin-top:2px;
  }
  .public-mobile-close{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    color:var(--green-900);
    font-size:28px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 16px rgba(35,100,80,.075);
  }
  .public-mobile-quick{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    padding:14px 18px 12px;
    background:#fff;
  }
  .public-mobile-quick a{
    display:flex !important;
    align-items:center;
    justify-content:center !important;
    min-height:42px;
    padding:0 10px !important;
    border-radius:16px !important;
    border:1px solid var(--green-200) !important;
    background:var(--green-50) !important;
    color:var(--green-900) !important;
    font-size:13px !important;
    font-weight:900 !important;
    white-space:nowrap;
  }
  .public-mobile-section-title{
    display:flex;
    align-items:center;
    gap:10px;
    padding:5px 18px 8px;
    color:var(--muted);
    font-size:11.5px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .public-mobile-section-title:after{
    content:"";
    height:1px;
    flex:1;
    background:var(--line-soft);
  }
  .public-main-nav .public-nav-link,
  .public-main-nav .public-nav-toggle,
  .public-main-nav .public-nav-cta{
    width:calc(100% - 36px);
    margin:0 18px 8px;
    min-height:52px;
    padding:0 16px !important;
    justify-content:space-between !important;
    border-radius:18px !important;
    border:1px solid var(--line) !important;
    background:#fff !important;
    color:var(--green-900) !important;
    font-size:14.2px !important;
    font-weight:900 !important;
    line-height:1.25;
    box-shadow:0 8px 18px rgba(35,100,80,.035);
  }
  .public-main-nav .public-nav-link:hover,
  .public-main-nav .public-nav-link.is-active,
  .public-main-nav .public-nav-toggle:hover,
  .public-nav-dropdown.is-open>.public-nav-toggle{
    background:var(--green-50) !important;
    border-color:var(--green-200) !important;
    box-shadow:0 10px 22px rgba(35,100,80,.06);
  }
  .public-main-nav .public-nav-cta{
    justify-content:center !important;
    margin-top:4px;
    background:var(--yellow-300) !important;
    border-color:var(--yellow-400) !important;
    color:var(--green-900) !important;
  }
  .public-nav-dropdown{
    display:block !important;
    margin:0 0 2px;
  }
  .public-nav-dropdown .public-nav-toggle{
    margin-bottom:8px;
  }
  .public-dropdown-panel{
    position:static !important;
    display:grid;
    gap:7px !important;
    min-width:0;
    max-height:0;
    overflow:hidden;
    opacity:0;
    padding:0 18px 0 28px !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    transition:max-height .2s ease,opacity .18s ease,padding-bottom .18s ease;
  }
  .public-nav-dropdown:hover .public-dropdown-panel{
    display:grid;
  }
  .public-nav-dropdown.is-open .public-dropdown-panel{
    max-height:420px;
    opacity:1;
    padding-bottom:10px !important;
  }
  .public-dropdown-panel a{
    width:100% !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 14px !important;
    border:1px solid var(--line-soft) !important;
    border-radius:15px !important;
    background:var(--surface-soft) !important;
    color:#31594a !important;
    font-size:13.5px !important;
    font-weight:850 !important;
    box-shadow:none !important;
  }
  .public-mobile-nav-foot{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin-top:auto;
    padding:13px 18px 16px;
    border-top:1px solid var(--line-soft);
    background:var(--green-50);
    color:var(--muted);
    font-size:12px;
  }
  .public-mobile-nav-foot strong{
    color:var(--green-900);
    font-size:13.5px;
  }
  .public-menu-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,36,29,.55);
    backdrop-filter:blur(7px);
    z-index:118;
  }
  .public-menu-backdrop.is-visible{
    display:block;
  }
  .public-nav-open{
    overflow:hidden;
    touch-action:none;
  }
}
@media (max-width:520px){
  .public-main-nav{
    inset:8px !important;
    border-radius:24px;
    max-height:calc(100dvh - 16px);
  }
  .public-mobile-nav-head{
    padding:15px 14px 12px;
  }
  .public-mobile-quick{
    padding-inline:14px;
    gap:7px;
  }
  .public-mobile-quick a{
    min-height:40px;
    font-size:12.6px !important;
  }
  .public-mobile-section-title{
    padding-inline:14px;
  }
  .public-main-nav .public-nav-link,
  .public-main-nav .public-nav-toggle,
  .public-main-nav .public-nav-cta{
    width:calc(100% - 28px);
    margin-inline:14px;
    min-height:50px;
    border-radius:16px !important;
  }
  .public-dropdown-panel{
    padding-left:22px !important;
    padding-right:14px !important;
  }
  .public-mobile-nav-foot{
    padding-inline:14px;
  }
}
@media (prefers-reduced-motion:reduce){
  .public-main-nav,
  .public-nav-chevron,
  .public-dropdown-panel,
  .public-menu-btn span{
    transition:none !important;
  }
}

/* Phase Web Home 1.1.2: Mobile menu overlay repair
   Root fix: previous mobile menu opened as a short card and the hamburger close icon stayed visible,
   creating double close buttons and exposing page content behind the drawer. */
@media (max-width:980px){
  body.public-nav-open .public-menu-btn{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:scale(.86) !important;
  }
  .public-main-nav{
    display:flex !important;
    position:fixed !important;
    inset:8px !important;
    width:auto !important;
    height:calc(100dvh - 16px) !important;
    max-height:none !important;
    min-height:0 !important;
    padding:0 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    background:#fff !important;
    border:1px solid rgba(201,239,225,.98) !important;
    border-radius:26px !important;
    box-shadow:0 30px 90px rgba(15,36,29,.32) !important;
    transform:translateY(18px) scale(.965) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity .18s ease,transform .22s ease,visibility .18s ease !important;
    z-index:140 !important;
  }
  .public-main-nav.open{
    transform:translateY(0) scale(1) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .public-mobile-nav-head{
    position:sticky;
    top:0;
    z-index:3;
    flex:0 0 auto;
    min-height:76px;
    box-shadow:0 10px 24px rgba(15,36,29,.06);
  }
  .public-mobile-close{
    position:relative;
    z-index:4;
    appearance:none;
  }
  .public-mobile-quick,
  .public-mobile-section-title,
  .public-nav-dropdown,
  .public-main-nav>.public-nav-link,
  .public-main-nav>.public-nav-cta{
    flex:0 0 auto;
  }
  .public-main-nav>.public-nav-link:first-of-type{
    margin-top:2px;
  }
  .public-mobile-nav-foot{
    flex:0 0 auto;
    margin-top:auto !important;
    position:sticky;
    bottom:0;
    z-index:2;
    box-shadow:0 -10px 24px rgba(15,36,29,.05);
  }
  .public-menu-backdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(15,36,29,.58) !important;
    backdrop-filter:blur(7px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,visibility .18s ease;
    z-index:135 !important;
  }
  .public-menu-backdrop.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .public-nav-open{
    overflow:hidden !important;
    touch-action:none;
  }
}
@media (max-width:520px){
  .public-main-nav{
    inset:6px !important;
    height:calc(100dvh - 12px) !important;
    border-radius:22px !important;
  }
  .public-mobile-brand-mini strong{
    max-width:calc(100vw - 132px) !important;
    white-space:normal !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    line-height:1.22 !important;
  }
}


/* Phase Web Home 1.1.3: Mobile submenu visibility fix
   Root fix: desktop dropdown markup was reused on mobile, so some submenu groups such as
   "ข้อมูลพื้นฐาน" could be hidden by hover/dropdown rules. Mobile now has its own accordion list. */
.public-desktop-nav-list{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  min-width:0;
}
.public-mobile-menu-list,
.public-mobile-nav-cta{
  display:none;
}
@media (min-width:981px){
  .public-main-nav{
    display:flex;
  }
  .public-desktop-nav-list .public-nav-dropdown{
    position:relative;
  }
}
@media (max-width:980px){
  .public-desktop-nav-list{
    display:none !important;
  }
  .public-mobile-menu-list{
    display:grid !important;
    grid-template-columns:1fr;
    gap:8px;
    padding:0 18px 10px;
    flex:0 0 auto;
  }
  .public-mobile-menu-link,
  .public-mobile-submenu-toggle{
    display:flex !important;
    align-items:center;
    justify-content:space-between !important;
    gap:12px;
    width:100%;
    min-height:52px;
    padding:0 16px !important;
    border-radius:18px !important;
    border:1px solid var(--line) !important;
    background:#fff !important;
    color:var(--green-900) !important;
    font-size:14.5px !important;
    font-weight:900 !important;
    line-height:1.25;
    text-align:left !important;
    text-decoration:none !important;
    box-shadow:0 8px 18px rgba(35,100,80,.035);
    appearance:none;
    cursor:pointer;
  }
  .public-mobile-menu-link:hover,
  .public-mobile-menu-link.is-active,
  .public-mobile-submenu.is-open > .public-mobile-submenu-toggle,
  .public-mobile-submenu-toggle:hover{
    background:var(--green-50) !important;
    border-color:var(--green-200) !important;
    color:var(--green-900) !important;
    box-shadow:0 10px 22px rgba(35,100,80,.06);
  }
  .public-mobile-submenu{
    display:grid;
    gap:0;
  }
  .public-mobile-submenu .public-nav-chevron{
    flex:0 0 auto;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:var(--green-50);
    border:1px solid var(--green-200);
    transition:transform .18s ease;
  }
  .public-mobile-submenu.is-open .public-nav-chevron{
    transform:rotate(180deg);
  }
  .public-mobile-submenu-panel{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    max-height:0;
    opacity:0;
    overflow:hidden;
    padding:0 0 0 14px;
    margin:0;
    border-left:2px solid transparent;
    transition:max-height .22s ease, opacity .18s ease, padding-top .18s ease, padding-bottom .18s ease, border-color .18s ease;
  }
  .public-mobile-submenu.is-open .public-mobile-submenu-panel{
    max-height:640px;
    opacity:1;
    padding-top:8px;
    padding-bottom:8px;
    border-left-color:var(--green-200);
  }
  .public-mobile-submenu-link{
    display:flex !important;
    align-items:center;
    justify-content:flex-start !important;
    min-height:44px;
    padding:0 14px !important;
    border-radius:15px !important;
    border:1px solid var(--line-soft) !important;
    background:var(--surface-soft) !important;
    color:#31594a !important;
    font-size:13.5px !important;
    font-weight:850 !important;
    text-align:left !important;
    text-decoration:none !important;
    box-shadow:none !important;
  }
  .public-mobile-submenu-link:hover{
    background:#fff !important;
    border-color:var(--green-200) !important;
    color:var(--green-900) !important;
  }
  .public-mobile-nav-cta{
    display:flex !important;
    align-items:center;
    justify-content:center !important;
    width:calc(100% - 36px);
    min-height:50px;
    margin:4px 18px 12px;
    padding:0 16px !important;
    border-radius:18px !important;
    border:1px solid var(--yellow-400) !important;
    background:var(--yellow-300) !important;
    color:var(--green-900) !important;
    font-size:14.5px !important;
    font-weight:900 !important;
    text-decoration:none !important;
  }
}
@media (max-width:520px){
  .public-mobile-menu-list{
    padding-inline:14px;
  }
  .public-mobile-menu-link,
  .public-mobile-submenu-toggle{
    min-height:50px;
    border-radius:16px !important;
    font-size:14px !important;
  }
  .public-mobile-submenu-panel{
    padding-left:12px;
  }
  .public-mobile-nav-cta{
    width:calc(100% - 28px);
    margin-inline:14px;
    border-radius:16px !important;
  }
}

/* Phase Web Home 1.2: News Listing + Detail UI Polish */
.news-hero{
  padding:58px 0 34px;
  background:
    radial-gradient(circle at 12% 18%, rgba(248,233,132,.42), transparent 28%),
    linear-gradient(180deg, #f7fdf9 0%, #eef9f2 100%);
  border-bottom:1px solid var(--line);
}
.news-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,470px);
  gap:28px;
  align-items:stretch;
}
.news-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.news-hero-copy h1,
.detail-hero-copy h1{
  margin:10px 0 12px;
  color:var(--green-900);
  font-size:clamp(31px,4.4vw,56px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:950;
}
.news-hero-copy p,
.detail-hero-copy p{
  max-width:740px;
  margin:0;
  color:#4b665b;
  font-size:16px;
  line-height:1.85;
}
.news-hero-stats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.news-hero-stats div{
  min-width:132px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.76);
  box-shadow:var(--shadow-sm);
}
.news-hero-stats strong{display:block;color:var(--green-900);font-size:23px;font-weight:950;line-height:1.15}
.news-hero-stats span{display:block;color:var(--muted);font-size:12.5px;font-weight:750;margin-top:4px}
.news-hero-feature{
  display:grid;
  grid-template-rows:250px auto;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--shadow);
}
.news-hero-feature img{width:100%;height:100%;object-fit:cover}
.news-hero-feature>div{padding:20px}
.news-hero-feature h2{margin:10px 0 8px;color:var(--green-900);font-size:24px;line-height:1.3;font-weight:950}
.news-hero-feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.news-filter-section{margin-top:26px;margin-bottom:28px}
.news-filter-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,300px) auto;
  gap:14px;
  align-items:end;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.news-filter-card label{
  display:block;
  margin-bottom:7px;
  color:var(--green-900);
  font-size:13px;
  font-weight:900;
}
.news-search-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.news-search-box input,
.news-filter-card select{
  width:100%;
  min-height:48px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-soft);
  color:var(--text);
  outline:none;
}
.news-search-box input:focus,
.news-filter-card select:focus{
  border-color:var(--green-300);
  box-shadow:0 0 0 4px rgba(167,223,204,.25);
}
.news-search-box button,
.news-filter-actions .btn-ghost{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:16px;
  border:1px solid var(--green-700);
  background:var(--green-700);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.news-filter-actions .btn-ghost{background:#fff;color:var(--green-800);border-color:var(--line)}
.news-category-rail{
  display:flex;
  gap:9px;
  overflow-x:auto;
  padding:14px 2px 4px;
  scrollbar-width:thin;
}
.news-cat-chip{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#34584a;
  font-weight:850;
  white-space:nowrap;
}
.news-cat-chip em{font-style:normal;color:var(--muted);font-size:12px}
.news-cat-chip.is-active,
.news-cat-chip:hover{background:var(--green-700);border-color:var(--green-700);color:#fff}
.news-cat-chip.is-active em,
.news-cat-chip:hover em{color:#e8fff6}
.news-list-section{padding:8px 0 60px}
.news-list-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:18px;
  margin-bottom:18px;
}
.news-list-head h2{margin:8px 0 4px;color:var(--green-900);font-size:30px;line-height:1.2;font-weight:950}
.news-list-head p{margin:0;color:var(--muted)}
.news-list-count{
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--green-900);
  font-weight:900;
}
.news-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.news-card{
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.news-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--green-200)}
.news-card.is-large{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.news-card-image{display:block;overflow:hidden;background:var(--green-50);aspect-ratio:16/10}
.news-card.is-large .news-card-image{height:100%;aspect-ratio:auto}
.news-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.news-card:hover .news-card-image img{transform:scale(1.035)}
.news-card-body{display:flex;flex-direction:column;gap:9px;padding:18px;min-width:0;flex:1}
.news-meta-line{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12.5px;font-weight:750}
.news-card h3{margin:0;color:var(--green-900);font-size:20px;line-height:1.35;font-weight:950}
.news-card.is-large h3{font-size:25px}
.news-card p{margin:0;color:#536c61;line-height:1.78}
.news-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:8px;color:var(--muted);font-size:12.5px;font-weight:750}
.news-card-footer a{color:var(--green-800);font-weight:950}
.news-pagination{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-top:24px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.news-pagination>div{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.news-pagination a,
.news-pagination span{
  min-width:40px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--surface-soft);
  color:var(--green-900);
  font-weight:900;
}
.news-pagination a.is-active{background:var(--green-700);border-color:var(--green-700);color:#fff}
.news-pagination a.is-disabled{opacity:.45;pointer-events:none}
.public-empty-state,
.detail-not-found{
  margin:40px auto;
  padding:34px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--shadow-sm);
  text-align:center;
}
.public-empty-state strong,
.detail-not-found h1{display:block;margin:0 0 8px;color:var(--green-900);font-size:28px;font-weight:950}
.public-empty-state p,
.detail-not-found p{margin:0 0 18px;color:var(--muted)}
.detail-hero{
  padding:46px 0 34px;
  background:linear-gradient(180deg,#f7fdf9 0%,#eef8f2 100%);
  border-bottom:1px solid var(--line);
}
.detail-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,480px);
  gap:28px;
  align-items:center;
}
.detail-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:16px;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.detail-breadcrumb a{color:var(--green-800)}
.detail-meta-top{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.detail-cover{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:30px;
  background:#fff;
  box-shadow:var(--shadow);
}
.detail-cover img{width:100%;height:380px;object-fit:cover}
.detail-content-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:22px;
  align-items:start;
  padding:34px 0 44px;
}
.detail-side-card,
.detail-content-card{
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.detail-side-card{
  position:sticky;
  top:96px;
  padding:20px;
}
.detail-side-card strong{display:block;color:var(--green-900);font-size:18px;font-weight:950;margin-bottom:12px}
.detail-side-card dl{display:grid;gap:12px;margin:0}
.detail-side-card div{padding-bottom:12px;border-bottom:1px solid var(--line-soft)}
.detail-side-card dt{color:var(--muted);font-size:12px;font-weight:850}
.detail-side-card dd{margin:3px 0 0;color:var(--green-900);font-weight:900;line-height:1.5}
.detail-source-links{display:grid;gap:8px;margin-top:14px}
.detail-source-links a{display:flex;justify-content:center;padding:10px;border-radius:14px;background:var(--green-50);color:var(--green-800);font-weight:900}
.detail-content-card{padding:clamp(22px,4vw,40px)}
.detail-content{color:#263b33;font-size:16px;line-height:1.95;overflow-wrap:anywhere}
.detail-content :is(h2,h3,h4){color:var(--green-900);line-height:1.35;margin:1.4em 0 .55em;font-weight:950}
.detail-content p{margin:0 0 1.05em}
.detail-content img{border-radius:20px;border:1px solid var(--line);margin:18px 0;box-shadow:var(--shadow-sm)}
.detail-content a{color:var(--green-800);font-weight:900;text-decoration:underline;text-underline-offset:3px}
.detail-content ul,
.detail-content ol{padding-left:1.4em;margin:0 0 1.1em}
.related-news-section{padding:8px 0 60px}
.news-card-grid.is-related .news-card.is-large{grid-column:auto;display:flex}
@media (max-width:980px){
  .news-hero-grid,
  .detail-hero-grid,
  .detail-content-layout{grid-template-columns:1fr}
  .news-filter-card{grid-template-columns:1fr 1fr;align-items:end}
  .news-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
  .news-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-card.is-large{grid-column:1/-1}
  .detail-side-card{position:static;top:auto}
}
@media (max-width:680px){
  .news-hero{padding:34px 0 22px}
  .news-hero-grid,.detail-hero-grid{gap:18px}
  .news-hero-feature{grid-template-rows:200px auto;border-radius:22px}
  .news-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-hero-stats div{min-width:0;padding:12px}
  .news-filter-card{grid-template-columns:1fr;padding:14px;border-radius:20px}
  .news-search-box{grid-template-columns:1fr}
  .news-filter-actions{justify-content:stretch}
  .news-filter-actions .btn-ghost,.news-search-box button{width:100%}
  .news-list-head{display:block}
  .news-list-count{display:inline-flex;margin-top:12px}
  .news-card-grid{grid-template-columns:1fr}
  .news-card.is-large{display:flex;grid-column:auto}
  .news-card.is-large h3{font-size:21px}
  .news-pagination{display:grid;grid-template-columns:1fr;justify-items:center}
  .detail-cover img{height:260px}
  .detail-content-card{padding:20px;border-radius:20px}
  .detail-meta-top{gap:7px}
}

/* Phase Web Home 1.3 rebuilt from confirmed Web Home 1.2: Calendar / Event Public UI */
.calendar-hero{padding:56px 0 34px;background:radial-gradient(circle at 14% 10%,rgba(248,233,132,.42),transparent 30%),linear-gradient(180deg,#f7fdf9 0%,#eef9f2 100%);border-bottom:1px solid var(--line)}
.calendar-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,460px);gap:28px;align-items:stretch}.calendar-hero-copy{display:flex;flex-direction:column;justify-content:center}.calendar-hero-copy h1{margin:10px 0 12px;color:var(--green-900);font-size:clamp(31px,4.4vw,56px);line-height:1.08;letter-spacing:-.035em;font-weight:950}.calendar-hero-copy p{max-width:760px;margin:0;color:#4b665b;font-size:16px;line-height:1.85}.calendar-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.calendar-stats div{min-width:128px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.76);box-shadow:var(--shadow-sm)}.calendar-stats strong{display:block;color:var(--green-900);font-size:25px;font-weight:950}.calendar-stats span{display:block;margin-top:4px;color:var(--muted);font-size:12.5px;font-weight:800}.calendar-next-card{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.calendar-next-card time,.calendar-event-card time,.calendar-detail-date{display:grid;place-items:center;text-align:center;min-height:98px;border-radius:20px;background:var(--green-50);color:var(--green-900);border:1px solid var(--green-200);padding:10px}.calendar-next-card time strong,.calendar-event-card time strong,.calendar-detail-date strong{font-size:34px;line-height:1;font-weight:950}.calendar-next-card time span,.calendar-event-card time span,.calendar-detail-date span{margin-top:6px;color:var(--muted);font-size:11.5px;line-height:1.35}.calendar-next-card h2{margin:9px 0 6px;color:var(--green-900);font-size:22px;line-height:1.35;font-weight:950}.calendar-next-card p,.calendar-next-card small{color:var(--muted);font-weight:750}.calendar-filter-section{margin-top:26px}.calendar-filter-card{display:grid;grid-template-columns:minmax(0,1fr) 220px auto auto;gap:14px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}.calendar-filter-card label{display:block;margin-bottom:7px;color:var(--green-900);font-size:13px;font-weight:900}.calendar-filter-card input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);outline:none}.calendar-filter-card input:focus{border-color:var(--green-300);box-shadow:0 0 0 4px rgba(167,223,204,.25)}.calendar-filter-card button,.calendar-filter-card>a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:16px;font-weight:900}.calendar-filter-card button{border:1px solid var(--green-700);background:var(--green-700);color:#fff}.calendar-filter-card>a{border:1px solid var(--line);background:#fff;color:var(--green-800)}.calendar-month-rail{display:flex;gap:9px;overflow-x:auto;padding:14px 2px 4px;scrollbar-width:thin}.calendar-month-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#34584a;font-weight:850}.calendar-month-chip em{font-style:normal;color:var(--muted);font-size:12px}.calendar-month-chip.is-active,.calendar-month-chip:hover{background:var(--green-700);border-color:var(--green-700);color:#fff}.calendar-month-chip.is-active em,.calendar-month-chip:hover em{color:#e8fff6}.calendar-detail-layout{padding:28px 0 0}.calendar-detail-card{display:grid;grid-template-columns:138px 1fr;gap:24px;padding:22px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.calendar-detail-body h2{margin:8px 0 14px;color:var(--green-900);font-size:clamp(24px,3vw,36px);line-height:1.25;font-weight:950}.calendar-detail-body dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}.calendar-detail-body dl div{padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.calendar-detail-body dt{color:var(--muted);font-size:12px;font-weight:850}.calendar-detail-body dd{margin:3px 0 0;color:var(--green-900);font-weight:900}.calendar-detail-content{color:#314a40;line-height:1.9}.calendar-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.calendar-main-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start;padding:34px 0 62px}.calendar-list-panel,.calendar-side-panel{border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow-sm)}.calendar-list-panel{padding:22px}.calendar-list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.calendar-list-head h2{margin:8px 0 4px;color:var(--green-900);font-size:30px;font-weight:950}.calendar-list-head p{margin:0;color:var(--muted)}.calendar-timeline{display:grid;gap:14px}.calendar-event-card{display:grid;grid-template-columns:104px 1fr;gap:16px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:14px;background:var(--surface-soft);transition:.16s ease}.calendar-event-card:hover{background:#fff;border-color:var(--green-200);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.calendar-event-card h3{margin:0;color:var(--green-900);font-size:19px;line-height:1.4;font-weight:950}.calendar-event-card p{margin:6px 0;color:var(--muted);line-height:1.7}.calendar-event-meta{display:flex;gap:8px;flex-wrap:wrap;color:#557267;font-size:12.5px;font-weight:800}.calendar-side-panel{position:sticky;top:96px;padding:18px}.calendar-side-panel>strong{display:block;margin-bottom:12px;color:var(--green-900);font-size:18px;font-weight:950}.calendar-side-panel a{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-soft);color:var(--green-900);font-weight:900}.calendar-side-panel a:last-child{border-bottom:0}.calendar-side-panel a>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--green-50);border:1px solid var(--green-200);color:var(--green-900);font-weight:950}.calendar-side-panel small{display:block;margin-top:3px;color:var(--muted);font-weight:750}@media(max-width:980px){.calendar-hero-grid,.calendar-main-layout{grid-template-columns:1fr}.calendar-side-panel{position:static}.calendar-filter-card{grid-template-columns:1fr 1fr}.calendar-filter-card button,.calendar-filter-card>a{width:100%}.calendar-detail-card{grid-template-columns:1fr}.calendar-detail-date{place-items:start;text-align:left}.calendar-detail-body dl{grid-template-columns:1fr}}@media(max-width:680px){.calendar-hero{padding:34px 0 22px}.calendar-next-card,.calendar-event-card{grid-template-columns:1fr}.calendar-filter-card{grid-template-columns:1fr;padding:14px;border-radius:20px}.calendar-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-list-panel{padding:16px;border-radius:22px}.calendar-list-head{display:block}.calendar-detail-card{padding:16px;border-radius:22px}.calendar-main-layout{padding-top:24px}.calendar-side-panel{border-radius:22px}}


/* Phase Web Home 1.4: About / Contact / Static Pages Polish */
.static-hero{padding:56px 0 38px;background:radial-gradient(circle at 15% 12%,rgba(248,233,132,.34),transparent 30%),linear-gradient(180deg,#f7fdf9 0%,#eef9f2 100%);border-bottom:1px solid var(--line)}.static-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,470px);gap:30px;align-items:center}.static-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px;color:var(--muted);font-size:13px;font-weight:850}.static-breadcrumb a{color:var(--green-800)}.static-hero-copy h1{margin:10px 0 12px;color:var(--green-900);font-size:clamp(32px,4.7vw,58px);line-height:1.08;letter-spacing:-.04em;font-weight:950}.static-hero-copy p{max-width:760px;margin:0;color:#4b665b;font-size:16px;line-height:1.85}.static-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.static-hero-visual{position:relative;overflow:hidden;margin:0;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:var(--shadow)}.static-hero-visual img{width:100%;height:360px;object-fit:cover}.static-hero-visual.compact img{height:300px}.static-hero-visual figcaption{position:absolute;left:18px;right:18px;bottom:18px;display:grid;gap:3px;padding:14px;border:1px solid rgba(255,255,255,.48);border-radius:18px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);box-shadow:0 12px 28px rgba(15,36,29,.16)}.static-hero-visual strong{color:var(--green-900);font-weight:950}.static-hero-visual span{color:var(--muted);font-size:13px;font-weight:750}.static-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:-20px;position:relative;z-index:2}.static-stat-strip article{padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm)}.static-stat-strip strong{display:block;color:var(--green-900);font-size:30px;line-height:1;font-weight:950}.static-stat-strip span{display:block;margin-top:8px;color:var(--muted);font-size:13px;font-weight:850}.static-section-head{margin-bottom:20px}.static-section-head h2{margin:8px 0 6px;color:var(--green-900);font-size:clamp(26px,3.2vw,38px);line-height:1.2;letter-spacing:-.035em;font-weight:950}.static-section-head p{margin:0;max-width:760px;color:var(--muted);line-height:1.8}.about-pillars-section{padding:56px 0 14px}.about-pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.about-pillar-card{padding:22px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}.about-pillar-card span{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:var(--yellow-300);color:var(--green-900);font-weight:950}.about-pillar-card h3{margin:14px 0 8px;color:var(--green-900);font-size:22px;font-weight:950}.about-pillar-card p{margin:0;color:#526b60;line-height:1.75}.static-content-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start;padding:44px 0 64px}.static-side-card,.static-content-card{border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}.static-side-card{position:sticky;top:96px;display:grid;gap:9px;padding:18px}.static-side-card strong{display:block;margin-bottom:6px;color:var(--green-900);font-size:18px;font-weight:950}.static-side-card a{display:flex;align-items:center;min-height:42px;padding:0 12px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-soft);color:#31594a;font-weight:850}.static-side-card a:hover{background:var(--green-50);border-color:var(--green-200);color:var(--green-900)}.static-content-card{padding:clamp(22px,4vw,40px)}.static-content{color:#263b33;font-size:16px;line-height:1.95;overflow-wrap:anywhere}.static-content :is(h2,h3,h4){margin:1.35em 0 .55em;color:var(--green-900);line-height:1.35;font-weight:950}.static-content p{margin:0 0 1.05em}.static-content img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm)}.static-content a{color:var(--green-800);font-weight:900;text-decoration:underline;text-underline-offset:3px}.static-content ul,.static-content ol{padding-left:1.35em;margin:0 0 1.1em}.contact-highlight-card{display:grid;align-content:center;gap:10px;min-height:320px;padding:30px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(135deg,var(--green-900),var(--green-700));color:#fff;box-shadow:var(--shadow)}.contact-highlight-card strong{font-size:28px;line-height:1.2;font-weight:950}.contact-highlight-card span{color:#e4f5ee;font-weight:850}.contact-highlight-card p{margin:8px 0 0;color:#fff;line-height:1.75}.contact-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:-20px;position:relative;z-index:2}.contact-info-grid article{display:grid;gap:6px;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm)}.contact-info-grid span{color:var(--muted);font-size:13px;font-weight:850}.contact-info-grid strong{color:var(--green-900);font-size:17px;line-height:1.45;font-weight:950}.contact-info-grid a{width:max-content;max-width:100%;color:var(--green-800);font-weight:950}.contact-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start;padding:44px 0}.contact-main-card,.contact-side-panel{border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}.contact-main-card{padding:clamp(22px,4vw,34px)}.contact-form-pro{display:grid;gap:14px}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-field{display:grid;gap:7px}.form-field label{color:var(--green-900);font-size:13px;font-weight:900}.form-field label span{color:#dc2626}.form-field input,.form-field textarea{width:100%;padding:0 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);color:var(--text);font:inherit;outline:none}.form-field input{min-height:48px}.form-field textarea{padding-top:13px;resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:var(--green-300);box-shadow:0 0 0 4px rgba(167,223,204,.25);background:#fff}.contact-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.contact-side-panel{position:sticky;top:96px;padding:22px}.contact-side-panel>strong{display:block;color:var(--green-900);font-size:20px;line-height:1.35;font-weight:950}.contact-side-panel>p{margin:8px 0 16px;color:var(--muted);line-height:1.7}.contact-side-panel dl{display:grid;gap:12px;margin:0}.contact-side-panel dl div{padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.contact-side-panel dt{color:var(--muted);font-size:12px;font-weight:850}.contact-side-panel dd{margin:3px 0 0;color:#294c40;font-weight:850;line-height:1.55}.contact-map-card{display:grid;gap:4px;margin-top:16px;padding:16px;border-radius:18px;background:var(--green-50);border:1px solid var(--green-200);color:var(--green-900)}.contact-map-card span{font-weight:850}.contact-map-card strong{font-weight:950}.contact-extra-content{margin-bottom:64px}.page-content-layout{padding-top:44px}.page-static-hero{background:linear-gradient(180deg,#f8fdf9 0%,#f2faf5 100%)}
@media(max-width:980px){.static-hero-grid,.static-content-layout,.contact-page-layout{grid-template-columns:1fr}.static-stat-strip,.contact-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-pillar-grid{grid-template-columns:1fr}.static-side-card,.contact-side-panel{position:static;top:auto}.contact-highlight-card{min-height:240px}.form-grid-2{grid-template-columns:1fr}}
@media(max-width:640px){.static-hero{padding:34px 0 24px}.static-hero-visual img{height:240px}.static-hero-visual.compact img{height:220px}.static-stat-strip,.contact-info-grid{grid-template-columns:1fr;margin-top:18px}.static-content-layout,.contact-page-layout{padding:28px 0 44px}.static-content-card,.contact-main-card,.contact-side-panel{border-radius:20px}.static-hero-actions,.contact-form-actions{display:grid;grid-template-columns:1fr}.static-hero-actions .home-btn,.contact-form-actions .home-btn{width:100%}}

/* Phase Web Home 1.5: Public SEO / Social Share Gate */
.public-share-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:14px;
}
.public-share-row>span{
  color:var(--muted);
  font-size:13px;
  font-weight:900;
}
.public-share-row a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--green-900);
  font-size:12.5px;
  font-weight:900;
  box-shadow:var(--shadow-sm);
}
.public-share-row a:hover{
  background:var(--green-50);
  border-color:var(--green-200);
  transform:translateY(-1px);
}
@media(max-width:680px){
  .public-share-row a{
    flex:1 1 auto;
  }
}


/* Phase Web Home 1.6: Public Performance / Image Loading / Accessibility Gate */
.skip-link{
  position:fixed;
  left:16px;
  top:12px;
  z-index:9999;
  transform:translateY(-160%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:var(--green-900,#12382d);
  color:#fff;
  font-weight:900;
  box-shadow:0 16px 36px rgba(15,36,29,.24);
  transition:transform .16s ease;
}
.skip-link:focus{transform:translateY(0);outline:3px solid rgba(248,233,132,.9);outline-offset:3px}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid rgba(47,123,99,.32);
  outline-offset:3px;
  box-shadow:0 0 0 5px rgba(248,233,132,.22);
}
main:focus{outline:none}
.public-img-loading{background:linear-gradient(90deg,#eef8f2,#f7fbf8,#eef8f2);background-size:180% 100%;animation:publicImagePulse 1.4s ease-in-out infinite;opacity:.92;transition:opacity .22s ease,filter .22s ease}
.public-img-loading.is-loaded{animation:none;background:transparent;opacity:1}
.public-img-loading.is-error{animation:none;filter:grayscale(1);opacity:.75}
@keyframes publicImagePulse{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}
.home-section,.news-list-section,.related-news-section,.detail-content-layout,.static-page-section,.calendar-section{content-visibility:auto;contain-intrinsic-size:720px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.public-img-loading{animation:none!important}}
@media (prefers-contrast:more){:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:4px solid #12382d;box-shadow:none}.badge,.home-section-link,.news-cat-chip{border-width:2px}}

/* Phase Web Home 2.0.1: Professional Facebook Embed Display */
.home-facebook-pro-section{
  position:relative;
  overflow:hidden;
  padding:72px 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(248,233,132,.34), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(167,223,204,.34), transparent 32%),
    linear-gradient(135deg,#f7fffb 0%,#eef8f2 52%,#fffdf2 100%);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.home-facebook-pro-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.62),rgba(255,255,255,.2));
  pointer-events:none;
}
.home-facebook-pro-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr);
  gap:34px;
  align-items:center;
}
.home-facebook-pro-copy{
  display:grid;
  align-content:center;
  justify-items:start;
  gap:14px;
  min-width:0;
}
.home-facebook-pro-copy h2{
  margin:0;
  color:var(--green-900);
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.15;
  letter-spacing:-.035em;
  font-weight:950;
}
.home-facebook-pro-copy p{
  margin:0;
  color:#3c5d50;
  line-height:1.85;
  font-size:16px;
  max-width:620px;
}
.home-facebook-pro-points{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:4px 0 2px;
}
.home-facebook-pro-points span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(47,123,99,.16);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--green-900);
  font-size:13px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(35,100,80,.055);
}
.home-facebook-pro-points span:before{
  content:"✓";
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:var(--green-700);
  color:#fff;
  font-size:11px;
  line-height:1;
}
.home-facebook-open-link{
  margin-top:6px;
}
.home-facebook-pro-embed-list{
  display:grid;
  gap:18px;
  min-width:0;
}
.home-facebook-pro-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(47,123,99,.14);
  border-radius:30px;
  background:rgba(255,255,255,.92);
  box-shadow:0 28px 80px rgba(15,36,29,.14);
  backdrop-filter:blur(10px);
}
.home-facebook-pro-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,#1877f2,var(--green-700),var(--yellow-300));
}
.home-facebook-pro-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:22px 22px 16px;
  border-bottom:1px solid rgba(47,123,99,.11);
  background:linear-gradient(135deg,#fff 0%,#f7fffb 100%);
}
.home-facebook-pro-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.home-facebook-pro-brand>span{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:16px;
  background:#1877f2;
  color:#fff;
  font-family:Arial, sans-serif;
  font-size:27px;
  font-weight:900;
  box-shadow:0 12px 26px rgba(24,119,242,.26);
}
.home-facebook-pro-brand strong{
  display:block;
  max-width:100%;
  overflow:hidden;
  color:var(--green-900);
  font-size:17px;
  line-height:1.25;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-facebook-pro-brand small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:12.5px;
  font-weight:800;
}
.home-facebook-pro-card-head>a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border:1px solid rgba(24,119,242,.22);
  border-radius:999px;
  background:#eef5ff;
  color:#145db7;
  font-size:13px;
  font-weight:950;
}
.home-facebook-pro-card-head>a:hover{
  transform:translateY(-1px);
  background:#e6f0ff;
}
.home-facebook-frame{
  position:relative;
  display:grid;
  place-items:center;
  padding:18px;
  min-height:460px;
  background:
    linear-gradient(45deg,rgba(15,36,29,.024) 25%,transparent 25%,transparent 75%,rgba(15,36,29,.024) 75%),
    linear-gradient(45deg,rgba(15,36,29,.024) 25%,transparent 25%,transparent 75%,rgba(15,36,29,.024) 75%);
  background-position:0 0,12px 12px;
  background-size:24px 24px;
}
.home-facebook-frame:before{
  content:"กำลังโหลด Facebook Timeline...";
  position:absolute;
  inset:18px;
  display:grid;
  place-items:center;
  border:1px dashed rgba(47,123,99,.20);
  border-radius:22px;
  background:rgba(255,255,255,.62);
  color:var(--muted);
  font-size:13px;
  font-weight:850;
  z-index:0;
}
.home-facebook-iframe{
  position:relative;
  z-index:1;
  width:100% !important;
  max-width:500px !important;
  display:block !important;
  margin:0 auto !important;
  border:0 !important;
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 38px rgba(15,36,29,.10);
}
.home-facebook-pro-card-foot{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px 22px 18px;
  border-top:1px solid rgba(47,123,99,.10);
  background:#fbfffd;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
@media(max-width:1080px){
  .home-facebook-pro-shell{
    grid-template-columns:1fr;
  }
  .home-facebook-pro-copy{
    max-width:760px;
  }
  .home-facebook-pro-embed-list{
    max-width:760px;
  }
}
@media(max-width:720px){
  .home-facebook-pro-section{
    padding:48px 0;
  }
  .home-facebook-pro-card{
    border-radius:24px;
  }
  .home-facebook-pro-card-head{
    align-items:flex-start;
    flex-direction:column;
    padding:20px 18px 14px;
  }
  .home-facebook-pro-card-head>a{
    width:100%;
  }
  .home-facebook-frame{
    min-height:420px;
    padding:12px;
  }
  .home-facebook-frame:before{
    inset:12px;
    border-radius:18px;
  }
  .home-facebook-pro-card-foot{
    flex-direction:column;
    padding:13px 18px 16px;
  }
  .home-facebook-pro-brand strong{
    white-space:normal;
  }
}


/* Phase Web Home 2.0.3: Real center content display */
.real-center-content{display:grid;gap:28px}.real-content-section{padding:0 0 24px;border-bottom:1px solid var(--line-soft)}.real-content-section:last-child{border-bottom:0;padding-bottom:0}.real-content-section h2{margin:0 0 14px;color:var(--green-900);font-size:clamp(22px,2.6vw,31px);line-height:1.25;font-weight:950}.real-content-section p{margin:0 0 1em;color:#304c41;line-height:1.92}.real-timeline{position:relative;display:grid;gap:14px;margin-top:18px}.real-timeline:before{content:"";position:absolute;left:103px;top:6px;bottom:6px;width:2px;background:var(--green-200)}.real-timeline article{display:grid;grid-template-columns:90px minmax(0,1fr);gap:28px;align-items:start}.real-timeline span{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:999px;background:var(--green-700);color:#fff;font-weight:950;box-shadow:0 10px 22px rgba(35,100,80,.15)}.real-timeline p{margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.executive-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 20px}.executive-roster article{display:grid;gap:5px;padding:14px 15px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.executive-roster strong{color:var(--green-900);font-weight:950}.executive-roster span{color:var(--muted);font-size:13px;font-weight:800}.location-list,.mission-list{display:grid;gap:10px;margin:0;padding-left:1.25em}.location-list li,.mission-list li{padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);color:#304c41;line-height:1.75}.real-direction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.real-direction-grid article{padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff 0%,var(--green-50) 100%)}.real-direction-grid article h2{font-size:21px}.real-direction-grid article p{margin:0;color:var(--green-900);font-weight:850}@media(max-width:760px){.real-timeline:before{display:none}.real-timeline article{grid-template-columns:1fr;gap:8px}.real-timeline span{width:max-content}.executive-roster,.real-direction-grid{grid-template-columns:1fr}.location-list,.mission-list{padding-left:0;list-style-position:inside}}

/* Phase Web Home 2.0.4: PDPA / Cookie Policy Gate */
.policy-hero{padding:52px 0 34px;background:linear-gradient(180deg,#f7fdf9 0%,#eef9f2 100%);border-bottom:1px solid var(--line)}
.policy-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:24px;align-items:center}
.policy-hero h1{margin:10px 0 12px;color:var(--green-900);font-size:clamp(30px,4vw,52px);line-height:1.12;letter-spacing:-.035em;font-weight:950}
.policy-hero p{margin:0;max-width:820px;color:#4b665b;line-height:1.85;font-size:16px}.policy-summary-card{display:grid;gap:10px;padding:22px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}
.policy-summary-card strong{color:var(--green-900);font-size:18px}.policy-summary-card span{color:var(--muted);line-height:1.7}.policy-cookie-open{min-height:42px;border:1px solid var(--green-700);border-radius:14px;background:var(--green-700);color:#fff;font-weight:900;cursor:pointer}
.policy-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start;padding:34px 0 58px}.policy-content-card,.policy-side-card{border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}
.policy-content-card{padding:clamp(22px,4vw,40px);color:#263b33;line-height:1.9}.policy-content-card h2{margin:1.3em 0 .55em;color:var(--green-900);font-size:24px;line-height:1.35;font-weight:950}.policy-content-card h2:first-child{margin-top:0}.policy-content-card p{margin:0 0 1.05em}.policy-content-card ul{margin:0 0 1.2em;padding-left:1.4em}.policy-content-card li{margin:.25em 0}.policy-side-card{position:sticky;top:96px;display:grid;gap:10px;padding:20px}.policy-side-card strong{color:var(--green-900);font-size:17px}.policy-side-card a{display:flex;align-items:center;min-height:42px;padding:0 13px;border-radius:14px;background:var(--green-50);color:var(--green-800);font-weight:900}.cookie-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 22px}.cookie-type-grid article{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.cookie-type-grid strong{display:block;margin-bottom:8px;color:var(--green-900);font-weight:950}.cookie-type-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.cookie-consent{position:fixed;left:0;right:0;bottom:0;z-index:220;padding:16px;pointer-events:none}.cookie-consent-card{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start;padding:18px;border:1px solid rgba(201,239,225,.95);border-radius:24px;background:rgba(255,255,255,.98);box-shadow:0 22px 70px rgba(15,36,29,.22);backdrop-filter:blur(16px);pointer-events:auto}.cookie-consent-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:var(--green-50);border:1px solid var(--green-200);color:var(--green-900);font-size:12px;font-weight:950}.cookie-consent-copy h2{margin:0 0 6px;color:var(--green-900);font-size:18px;line-height:1.35}.cookie-consent-copy p{margin:0;color:#4b665b;line-height:1.65;font-size:14px}.cookie-consent-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}.cookie-consent-links a{color:var(--green-800);font-weight:900;text-decoration:underline;text-underline-offset:3px}.cookie-consent-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cookie-btn{min-height:42px;padding:0 14px;border-radius:14px;font-weight:900;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--green-900)}.cookie-btn.primary{background:var(--green-700);border-color:var(--green-700);color:#fff}.cookie-btn.secondary{background:var(--green-50);border-color:var(--green-200)}.cookie-btn.ghost{background:#fff}.cookie-preferences{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.cookie-preferences label{display:flex;gap:9px;align-items:flex-start;color:#37594c;font-weight:800;font-size:13.5px;line-height:1.5}.footer-cookie-manage{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}.copyright a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.policy-hero-grid,.policy-content-layout{grid-template-columns:1fr}.policy-side-card{position:static}.cookie-type-grid{grid-template-columns:1fr}.cookie-consent-card{grid-template-columns:1fr}.cookie-consent-icon{display:none}.cookie-consent-actions{justify-content:stretch}.cookie-btn{flex:1 1 150px}.cookie-consent{padding:10px}.cookie-consent-card{border-radius:20px;padding:16px}}
@media(max-width:560px){.policy-hero{padding:34px 0 24px}.policy-content-layout{padding-top:24px}.cookie-consent-actions{display:grid;grid-template-columns:1fr}.cookie-btn{width:100%}}


/* Phase Web Home 2.0.5: Footer display repair */
.web-footer.public-footer{
  margin-top:56px;
  background:linear-gradient(180deg,#176b54 0%,#145f4b 48%,#10503f 100%);
  color:#effdf7;
  border-top:5px solid var(--yellow-300);
}
.public-footer-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.35fr) minmax(180px,.85fr) minmax(220px,1fr) minmax(220px,.9fr);
  gap:36px;
  padding:48px 0 42px;
  align-items:start;
}
.footer-brand-row{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}
.footer-brand-mark{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  color:#fff9bf;
  font-weight:950;
}
.public-footer .footer-brand{
  margin:0 0 6px;
  color:#fff9bf;
  font-size:22px;
  font-weight:950;
  line-height:1.15;
  letter-spacing:-.02em;
}
.public-footer p,
.public-footer address{
  margin:0;
  color:#d9f3ea;
  line-height:1.75;
  font-style:normal;
  font-size:14px;
}
.footer-address{
  max-width:360px;
  margin-top:12px!important;
}
.footer-contact-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:16px;
}
.public-footer .footer-contact-list a,
.public-footer .footer-links a,
.public-footer .footer-admin-zone a{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:0;
  color:#edfdf7;
  text-decoration:none;
  line-height:1.55;
  font-size:14px;
  font-weight:750;
}
.public-footer .footer-links{
  display:grid;
  gap:10px;
}
.public-footer h3{
  margin:0 0 10px;
  color:#fff;
  font-size:16px;
  line-height:1.3;
  font-weight:950;
}
.public-footer .footer-links a:hover,
.public-footer .footer-contact-list a:hover,
.public-footer .footer-admin-zone a:hover,
.footer-legal a:hover,
.footer-legal button:hover{
  color:#fff9bf;
  text-decoration:underline;
  text-underline-offset:4px;
}
.footer-follow{
  display:grid;
  gap:12px;
}
.footer-socials{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:2px;
}
.public-footer .footer-socials a{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin:0;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  font-weight:950;
}
.footer-admin-zone{
  margin-top:4px;
}
.public-footer .admin-link{
  min-height:38px;
  align-items:center;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#fff9bf!important;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.16);
  background:rgba(10,52,40,.22);
}
.footer-bottom-inner{
  min-height:70px;
  padding:16px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.footer-copyright{
  color:#d9f3ea;
  font-size:13px;
  font-weight:800;
  line-height:1.6;
}
.footer-legal{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px 16px;
}
.footer-legal a,
.footer-legal button{
  display:inline-flex!important;
  align-items:center;
  width:auto!important;
  margin:0!important;
  color:#edfdf7!important;
  font-size:13px!important;
  font-weight:850;
  line-height:1.4;
  text-decoration:none;
}
.footer-legal a + a:before,
.footer-legal button:before{
  content:"";
  width:4px;
  height:4px;
  margin-right:14px;
  border-radius:999px;
  background:rgba(255,255,255,.45);
}
.footer-legal .footer-cookie-manage{
  border:0;
  background:transparent;
  font:inherit;
  cursor:pointer;
  padding:0;
}
.copyright{display:none!important}
@media(max-width:1080px){
  .public-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
  }
  .footer-bottom-inner{
    align-items:flex-start;
    flex-direction:column;
  }
  .footer-legal{
    justify-content:flex-start;
  }
}
@media(max-width:640px){
  .web-footer.public-footer{margin-top:38px}
  .public-footer-grid{
    grid-template-columns:1fr;
    padding:34px 0 28px;
    gap:24px;
  }
  .footer-brand-row{
    align-items:center;
  }
  .footer-address{
    max-width:none;
  }
  .footer-bottom-inner{
    min-height:auto;
    padding:18px 0 22px;
    gap:12px;
  }
  .footer-legal{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    width:100%;
  }
  .footer-legal a,
  .footer-legal button{
    justify-content:flex-start;
  }
  .footer-legal a + a:before,
  .footer-legal button:before{
    display:none;
  }
}

/* Phase Web Home 2.0.8: Facebook Post Card Thumbnail/Text/Link Display */
.facebook-feed-section{position:relative;overflow:visible}.home-facebook-post-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px!important;align-items:stretch}.home-facebook-story-card{position:relative;display:flex!important;flex-direction:column;min-width:0;border:1px solid rgba(47,123,99,.12)!important;border-radius:28px!important;background:#fff!important;box-shadow:0 22px 56px rgba(15,36,29,.10)!important;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.home-facebook-story-card:hover{transform:translateY(-3px);box-shadow:0 30px 72px rgba(15,36,29,.15)!important;border-color:rgba(47,123,99,.22)!important}.home-facebook-story-thumb{position:relative;display:block;width:100%;aspect-ratio:16/10.2;background:linear-gradient(135deg,#eef8f3,#f9fff3);overflow:hidden}.home-facebook-story-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}.home-facebook-story-card:hover .home-facebook-story-thumb img{transform:scale(1.035)}.home-facebook-story-thumb.is-empty{display:grid;place-items:center;text-align:center;gap:8px;padding:28px;color:#236450}.home-facebook-story-thumb.is-empty span{display:grid;place-items:center;width:54px;height:54px;border-radius:999px;background:#1877f2;color:#fff;font-size:30px;font-weight:900;font-family:Arial,sans-serif;box-shadow:0 14px 28px rgba(24,119,242,.22)}.home-facebook-story-thumb.is-empty strong{max-width:85%;color:#236450;font-size:15px;line-height:1.35}.home-facebook-story-body{display:flex!important;flex-direction:column!important;gap:12px!important;padding:20px 22px 22px!important;min-height:258px}.home-facebook-story-source{display:flex;align-items:center;gap:10px;min-width:0}.home-facebook-story-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:999px;background:#1877f2;color:#fff;font-weight:900;font-family:Arial,sans-serif;box-shadow:0 10px 22px rgba(24,119,242,.18)}.home-facebook-story-source strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--green-900);font-size:14px;line-height:1.2}.home-facebook-story-source small{display:block;margin-top:2px;color:#789085;font-size:11.5px;font-weight:850}.home-facebook-story-text{margin:0!important;color:#2f3f3a!important;font-size:16px;line-height:1.82!important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.home-facebook-story-divider{height:1px;background:linear-gradient(90deg,rgba(47,123,99,.14),rgba(47,123,99,.04));margin-top:auto}.home-facebook-story-meta{display:flex;align-items:center;gap:9px;color:#88968f;font-size:14px;font-weight:850}.home-facebook-story-meta span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#f0f6f3;color:#6b8177;font-size:12px}.home-facebook-story-link{display:inline-flex!important;align-items:center;gap:8px;width:max-content;max-width:100%;min-height:38px;padding:0 13px;border-radius:999px;background:#eef6ff;color:#1877f2!important;font-weight:900!important;text-decoration:none!important}.home-facebook-story-link:before{content:"f";display:grid;place-items:center;width:21px;height:21px;border-radius:999px;background:#1877f2;color:#fff;font-family:Arial,sans-serif;font-weight:900;font-size:14px}.home-facebook-story-link:hover{background:#e2efff;transform:translateY(-1px)}
@media(max-width:1024px){.home-facebook-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-facebook-story-body{min-height:238px}}
@media(max-width:680px){.facebook-feed-section{padding-left:18px!important;padding-right:18px!important}.home-facebook-post-grid{grid-template-columns:1fr!important;gap:18px!important}.home-facebook-story-card{border-radius:22px!important}.home-facebook-story-thumb{aspect-ratio:16/10.8}.home-facebook-story-body{padding:18px 20px 20px!important;min-height:auto}.home-facebook-story-text{font-size:15.5px;-webkit-line-clamp:5}.home-section-head{align-items:flex-start;flex-direction:column}.home-section-link{white-space:normal}}

/* Phase Web Home 2.0.9: Manual Facebook Post Card polish */
.home-facebook-story-title{display:block;margin:0;color:var(--green-900);font-size:17px;line-height:1.45;font-weight:900;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-facebook-story-title + .home-facebook-story-text{margin-top:-2px!important}
@media(max-width:680px){.home-facebook-story-title{font-size:16px}}

/* Phase Web Home 2.0.25: Facebook latest-first home layout */
.home-facebook-latest-section{position:relative}.home-facebook-section-head{align-items:flex-end}.home-facebook-section-head p{max-width:720px}.home-facebook-latest-summary{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:-8px 0 18px;padding:10px 14px;border:1px solid rgba(24,119,242,.16);border-radius:999px;background:linear-gradient(135deg,#f4f9ff,#ffffff);box-shadow:0 10px 26px rgba(24,119,242,.08);color:#456058;font-size:13px;font-weight:850}.home-facebook-latest-summary strong{display:grid;place-items:center;min-width:34px;height:28px;padding:0 9px;border-radius:999px;background:#1877f2;color:#fff;font-size:15px}.home-facebook-post-grid-v2{grid-template-columns:minmax(0,1.22fr) minmax(0,.9fr) minmax(0,.9fr)!important;gap:20px!important}.home-facebook-post-grid-v2 .home-facebook-story-card.is-latest{grid-row:span 2;border-color:rgba(24,119,242,.28)!important;box-shadow:0 30px 80px rgba(24,119,242,.13),0 18px 48px rgba(15,36,29,.10)!important}.home-facebook-story-card.is-latest .home-facebook-story-thumb{aspect-ratio:16/11.4}.home-facebook-story-card.is-latest .home-facebook-story-body{min-height:320px;padding:24px 26px 26px!important}.home-facebook-story-card.is-latest .home-facebook-story-title{font-size:22px;line-height:1.42}.home-facebook-story-card.is-latest .home-facebook-story-text{font-size:16.5px;line-height:1.86!important;-webkit-line-clamp:6}.home-facebook-latest-ribbon{position:absolute;z-index:3;top:16px;left:16px;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:999px;background:#1877f2;color:#fff;font-size:13px;font-weight:950;box-shadow:0 12px 28px rgba(24,119,242,.26)}.home-facebook-latest-ribbon:before{content:"";width:8px;height:8px;border-radius:999px;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.22)}.home-facebook-post-grid-v2 .home-facebook-story-card:not(.is-latest) .home-facebook-story-body{min-height:238px}.home-facebook-post-grid-v2 .home-facebook-story-card:not(.is-latest) .home-facebook-story-thumb{aspect-ratio:16/9.5}.home-facebook-post-grid-v2 .home-facebook-story-card:not(.is-latest) .home-facebook-story-text{-webkit-line-clamp:3}@media(max-width:1180px){.home-facebook-post-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-facebook-post-grid-v2 .home-facebook-story-card.is-latest{grid-column:1/-1;grid-row:auto}.home-facebook-story-card.is-latest{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.home-facebook-story-card.is-latest .home-facebook-story-thumb{height:100%;aspect-ratio:auto}.home-facebook-story-card.is-latest .home-facebook-story-body{min-height:300px}}@media(max-width:760px){.home-facebook-section-head{align-items:flex-start}.home-facebook-latest-summary{width:100%;justify-content:center;margin-top:0;border-radius:18px}.home-facebook-post-grid-v2{grid-template-columns:1fr!important}.home-facebook-story-card.is-latest{display:flex!important;grid-template-columns:none}.home-facebook-story-card.is-latest .home-facebook-story-thumb{height:auto;aspect-ratio:16/10.8}.home-facebook-story-card.is-latest .home-facebook-story-body{padding:20px 20px 22px!important;min-height:auto}.home-facebook-story-card.is-latest .home-facebook-story-title{font-size:18px}.home-facebook-story-card.is-latest .home-facebook-story-text{font-size:15.7px;-webkit-line-clamp:5}.home-facebook-latest-ribbon{top:12px;left:12px;height:31px;font-size:12px}}

/* Phase Web Home 2.0.52 - Public Facebook Card QA rendering guard */
.home-facebook-story-thumb .home-facebook-thumb-fallback,
.home-facebook-story-thumb .home-facebook-thumb-source{display:none;}
.home-facebook-story-thumb.is-empty .home-facebook-thumb-fallback,
.home-facebook-story-thumb.is-load-failed .home-facebook-thumb-fallback{display:grid!important;place-items:center;width:54px;height:54px;border-radius:999px;background:#1877f2;color:#fff;font-size:30px;font-weight:900;font-family:Arial,sans-serif;box-shadow:0 14px 28px rgba(24,119,242,.22);}
.home-facebook-story-thumb.is-empty .home-facebook-thumb-source,
.home-facebook-story-thumb.is-load-failed .home-facebook-thumb-source{display:block!important;max-width:85%;color:#236450;font-size:15px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.home-facebook-story-thumb.is-load-failed img{display:none!important;}
.home-facebook-story-card{contain:layout paint;}
.home-facebook-story-source>div{min-width:0;}
.home-facebook-story-link{overflow:hidden;text-overflow:ellipsis;}
@media(max-width:420px){.home-facebook-story-body{gap:10px!important}.home-facebook-story-text{-webkit-line-clamp:4}.home-facebook-story-link{width:100%;justify-content:center}}

/* Phase Web 2.0.59 - Public knowledge PDF document cards */
.page-document-layout{align-items:start;}
.page-document-side{position:sticky;top:96px;}
.document-side-summary{margin-top:1rem;border:1px solid rgba(15,118,110,.18);border-radius:18px;padding:1rem;background:linear-gradient(180deg,#f4fffb,#ffffff);display:grid;gap:.2rem;}
.document-side-summary span{font-size:.75rem;font-weight:800;letter-spacing:.08em;color:#0f766e;text-transform:uppercase;}
.document-side-summary strong{font-size:2rem;line-height:1;color:#073f36;}
.document-side-summary small{color:#5d746d;}
.knowledge-document-list{margin-top:1.5rem;border-top:1px solid rgba(15,118,110,.16);padding-top:1.35rem;}
.knowledge-document-head{display:grid;gap:.35rem;margin-bottom:1rem;}
.knowledge-document-head h2{font-size:clamp(1.45rem,2vw,2rem);line-height:1.25;color:#073f36;margin:0;}
.knowledge-document-head p{margin:0;color:#526b65;}
.knowledge-document-grid{display:grid;gap:1rem;}
.knowledge-document-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:1rem;padding:1rem;border:1px solid rgba(15,118,110,.16);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(8,64,54,.06);}
.knowledge-document-icon{width:72px;height:86px;border-radius:16px;background:#fff6e4;border:1px solid #f3d59e;color:#9a5a00;display:grid;place-items:center;font-weight:900;font-size:.9rem;letter-spacing:.06em;}
.knowledge-document-body{display:grid;gap:.55rem;min-width:0;}
.knowledge-document-meta{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;font-size:.82rem;color:#6b7d78;}
.knowledge-document-meta span{font-weight:800;color:#0f766e;background:#e9f8f2;border-radius:999px;padding:.25rem .6rem;}
.knowledge-document-meta time{font-variant-numeric:tabular-nums;}
.knowledge-document-card h3{margin:0;font-size:clamp(1.05rem,1.45vw,1.35rem);line-height:1.35;}
.knowledge-document-card h3 a{color:#073f36;text-decoration:none;}
.knowledge-document-card h3 a:hover{text-decoration:underline;text-underline-offset:3px;}
.knowledge-document-card p{margin:0;color:#526b65;line-height:1.65;}
.knowledge-document-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.2rem;}
.document-primary-link,.document-secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:999px;padding:.45rem .9rem;font-weight:800;text-decoration:none;}
.document-primary-link{background:#0f766e;color:#fff;box-shadow:0 8px 20px rgba(15,118,110,.18);}
.document-secondary-link{background:#f7fbf9;color:#0f766e;border:1px solid rgba(15,118,110,.22);}
@media (max-width: 920px){.page-document-side{position:static}.knowledge-document-card{grid-template-columns:58px minmax(0,1fr)}.knowledge-document-icon{width:58px;height:72px;border-radius:14px}}
@media (max-width: 560px){.knowledge-document-card{grid-template-columns:1fr}.knowledge-document-icon{width:64px;height:76px}.knowledge-document-actions a{width:100%}}

/* Phase Web 2.0.60 - Knowledge archive page from Google Drive Folder */
.knowledge-archive-layout{
  align-items:start;
}
.knowledge-archive-layout .static-content-card{
  background:#fff;
}
.knowledge-archive-layout .knowledge-document-head{
  border-bottom:1px solid rgba(15,118,110,.14);
  padding-bottom:1rem;
}
.knowledge-archive-layout .knowledge-document-head h2{
  font-size:clamp(1.55rem,2.1vw,2.15rem);
}
.knowledge-archive-list{
  display:grid;
  gap:1rem;
}
.knowledge-archive-item{
  grid-template-columns:92px minmax(0,1fr);
  align-items:start;
  border-radius:18px;
  box-shadow:none;
  border-color:rgba(15,118,110,.14);
  padding:1.15rem;
}
.knowledge-archive-item .knowledge-document-icon{
  width:78px;
  height:96px;
  border-radius:14px;
  background:#fff7e8;
  border-color:#efd6a8;
}
.knowledge-archive-item .knowledge-document-meta{
  gap:.45rem .65rem;
}
.knowledge-archive-item .knowledge-document-meta span:first-child{
  background:#f2fbf7;
  color:#0b6b5c;
}
.knowledge-archive-item .knowledge-document-meta span:not(:first-child){
  color:#6b7d78;
  background:transparent;
  padding:0;
  font-weight:600;
}
.knowledge-archive-item h3{
  font-size:clamp(1.15rem,1.55vw,1.45rem);
}
.knowledge-archive-item + .knowledge-archive-item{
  margin-top:.25rem;
}
.knowledge-archive-layout .page-document-side{
  top:92px;
}
.knowledge-archive-layout .document-side-summary{
  background:#f7fbf9;
  border:1px solid rgba(15,118,110,.16);
}
@media(max-width:920px){
  .knowledge-archive-item{grid-template-columns:64px minmax(0,1fr);}
  .knowledge-archive-item .knowledge-document-icon{width:58px;height:74px;}
}
@media(max-width:560px){
  .knowledge-archive-item{grid-template-columns:1fr;padding:1rem;}
  .knowledge-archive-item .knowledge-document-icon{width:70px;height:82px;}
}

/* Phase Web 2.0.61 - Knowledge archive public card layout like culture.rru.ac.th/knowledge */
.knowledge-page-hero{
  position:relative;
  min-height:270px;
  display:grid;
  align-items:center;
  overflow:hidden;
  background-image:linear-gradient(90deg,rgba(44,181,174,.84),rgba(73,191,173,.72)),var(--knowledge-hero-image);
  background-size:cover;
  background-position:center;
  border-bottom:0;
}
.knowledge-page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.08) 100%);
  pointer-events:none;
}
.knowledge-page-hero-inner{
  position:relative;
  z-index:1;
  min-height:270px;
  display:grid;
  place-items:center;
  text-align:center;
}
.knowledge-page-hero h1{
  margin:0;
  color:#fff;
  font-size:clamp(2.4rem,5vw,4.25rem);
  line-height:1;
  font-weight:950;
  letter-spacing:-.035em;
  text-shadow:0 12px 34px rgba(0,69,61,.22);
}
.knowledge-page-body{
  background:#f7f7f7;
  padding:clamp(56px,7vw,92px) 0 clamp(70px,8vw,110px);
}
.knowledge-card-archive{
  max-width:1120px;
}
.knowledge-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:46px 54px;
  align-items:start;
}
.knowledge-book-card{
  min-width:0;
  background:#fff;
  border:1px solid rgba(0,0,0,.04);
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(15,36,29,.06);
  transition:transform .18s ease,box-shadow .18s ease;
}
.knowledge-book-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 38px rgba(15,36,29,.12);
}
.knowledge-book-cover{
  position:relative;
  display:block;
  aspect-ratio:4/5.35;
  overflow:hidden;
  background:linear-gradient(145deg,#fff7e6,#e9faf4);
  text-decoration:none;
}
.knowledge-book-cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform .24s ease;
}
.knowledge-book-card:hover .knowledge-book-cover img{
  transform:scale(1.025);
}
.knowledge-book-fallback{
  position:absolute;
  inset:0;
  display:none;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:20px;
  color:#0b6b5c;
  text-align:center;
}
.knowledge-book-fallback strong{
  display:grid;
  place-items:center;
  width:92px;
  height:92px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,118,110,.16);
  box-shadow:0 12px 32px rgba(15,36,29,.09);
  font-size:1.45rem;
  font-weight:950;
}
.knowledge-book-fallback small{
  display:block;
  color:#54706a;
  font-weight:850;
}
.knowledge-book-cover.is-missing .knowledge-book-fallback{
  display:grid;
}
.knowledge-book-content{
  padding:18px 14px 26px;
}
.knowledge-book-category{
  margin-bottom:10px;
  color:#009060;
  font-size:.94rem;
  line-height:1.35;
  font-weight:900;
}
.knowledge-book-card h2{
  margin:0;
  color:#111827;
  font-size:clamp(1.05rem,1.45vw,1.35rem);
  line-height:1.38;
  font-weight:950;
  letter-spacing:-.015em;
}
.knowledge-book-card h2 a{
  color:inherit;
  text-decoration:none;
}
.knowledge-book-card h2 a:hover{
  color:#0f766e;
}
.knowledge-book-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
  color:#111827;
  font-size:.96rem;
  font-weight:500;
}
.knowledge-book-meta time{
  font-variant-numeric:tabular-nums;
}
.knowledge-empty-state{
  max-width:760px;
  margin:0 auto;
  padding:40px;
  background:#fff;
  border:1px solid rgba(15,118,110,.12);
  border-radius:12px;
  text-align:center;
  box-shadow:0 12px 34px rgba(15,36,29,.06);
}
.knowledge-empty-state span{
  color:#009060;
  font-weight:900;
}
.knowledge-empty-state h2{
  margin:8px 0 10px;
  color:#111827;
  font-size:1.65rem;
  font-weight:950;
}
.knowledge-empty-state p{
  margin:0;
  color:#526b65;
  line-height:1.8;
}
@media(max-width:1100px){
  .knowledge-card-grid{gap:34px 32px;}
}
@media(max-width:880px){
  .knowledge-page-hero,.knowledge-page-hero-inner{min-height:220px;}
  .knowledge-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;}
  .knowledge-page-body{padding:44px 0 72px;}
}
@media(max-width:560px){
  .knowledge-page-hero,.knowledge-page-hero-inner{min-height:180px;}
  .knowledge-page-hero h1{font-size:2.25rem;}
  .knowledge-card-grid{grid-template-columns:1fr;gap:26px;}
  .knowledge-book-content{padding:16px 14px 22px;}
}


/* Public announcement image modal */
body.public-announcement-open{overflow:hidden;}
.public-announcement[hidden]{display:none!important;}
.public-announcement{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:22px;
}
.public-announcement-backdrop{
  position:absolute;
  inset:0;
  background:rgba(6,24,18,.62);
  backdrop-filter:blur(8px);
}
.public-announcement-dialog{
  position:relative;
  z-index:1;
  width:min(920px,100%);
  max-height:min(92vh,860px);
  overflow:visible;
  border-radius:22px;
  background:transparent;
  border:0;
  box-shadow:0 24px 70px rgba(8,31,24,.32);
  outline:none;
}
.public-announcement-close{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(15,36,29,.14);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#10251f;
  font-size:1.45rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(15,36,29,.16);
}
.public-announcement-close:hover,
.public-announcement-close:focus-visible{
  border-color:#0f766e;
  color:#0f766e;
  outline:3px solid rgba(15,118,110,.16);
}
.public-announcement-media{
  border-radius:22px;
  overflow:hidden;
  background:#f5fbf8;
}
.public-announcement-media a{display:block;}
.public-announcement-media img{
  display:block;
  width:100%;
  max-height:82vh;
  object-fit:contain;
  background:#f5fbf8;
}
.public-announcement-never{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:3;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(15,36,29,.14);
  border-radius:999px;
  padding:8px 14px;
  background:rgba(255,255,255,.94);
  color:#48635b;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(15,36,29,.14);
}
.public-announcement-never:hover,
.public-announcement-never:focus-visible{
  border-color:#0f766e;
  color:#0f766e;
  outline:3px solid rgba(15,118,110,.14);
}
@media(max-width:640px){
  .public-announcement{padding:12px;align-items:center;}
  .public-announcement-dialog{width:100%;max-height:90vh;border-radius:18px;}
  .public-announcement-media{border-radius:18px;}
  .public-announcement-media img{max-height:78vh;}
  .public-announcement-close{top:8px;right:8px;width:38px;height:38px;}
  .public-announcement-never{right:10px;bottom:10px;min-height:36px;padding:7px 12px;font-size:.86rem;}
}

/* Phase 041/043 - Public Organization Structure / Personnel polish */
.personnel-hero{
  position:relative;
  isolation:isolate;
  padding:52px 0 34px;
  background:
    radial-gradient(circle at 12% 18%,rgba(248,233,132,.26),transparent 28%),
    radial-gradient(circle at 88% 10%,rgba(201,239,225,.55),transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f4fbf8 100%);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.personnel-hero::after{
  content:"";
  position:absolute;
  inset:auto -8% -92px -8%;
  height:150px;
  background:linear-gradient(90deg,rgba(74,160,131,.12),rgba(245,221,87,.14),rgba(74,160,131,.10));
  border-radius:50% 50% 0 0;
  z-index:-1;
}
.personnel-hero-inner{display:grid;gap:9px;max-width:820px;}
.personnel-hero h1{margin:0;color:var(--green-900);font-size:clamp(2rem,4vw,3.65rem);line-height:1.18;font-weight:900;letter-spacing:-.025em;}
.personnel-hero p{margin:0;max-width:680px;color:#385d4f;font-size:1.02rem;line-height:1.65;}
.personnel-chart-section{padding:34px 0 18px;background:linear-gradient(180deg,#fff 0%,#f5fbf8 100%);border-top:1px solid var(--line);}
.personnel-chart-container{width:min(1360px,calc(100vw - 32px));max-width:none;}
.personnel-chart-head{max-width:820px;margin:0 auto 22px;text-align:center;display:grid;gap:8px;}
.personnel-chart-head h2{margin:0;color:var(--green-900);font-size:clamp(1.45rem,2.6vw,2.15rem);line-height:1.25;font-weight:900;letter-spacing:-.018em;}
.personnel-chart-head p{margin:0;color:#526b65;line-height:1.75;}
.personnel-directory-body{padding-top:24px;}
.personnel-body{padding:46px 0 80px;}
.personnel-layout{display:grid;grid-template-columns:276px minmax(0,1fr);gap:32px;align-items:start;}
.personnel-side{position:sticky;top:96px;border:1px solid var(--line);background:#fff;border-radius:22px;padding:17px;box-shadow:var(--shadow-sm);display:grid;gap:9px;max-height:calc(100vh - 118px);overflow:auto;}
.personnel-side strong{color:var(--green-900);font-size:1.05rem;}
.personnel-side a,.personnel-side span{display:block;padding:10px 12px;border:1px solid var(--line-soft);border-radius:14px;color:var(--green-800);font-weight:800;background:#fbfefb;line-height:1.45;}
.personnel-side a:hover{border-color:var(--green-300);background:var(--green-50);}
.personnel-content{display:grid;gap:24px;min-width:0;}
.personnel-unit{scroll-margin-top:110px;border:1px solid rgba(35,100,80,.14);border-radius:28px;background:#fff;box-shadow:var(--shadow);overflow:hidden;}
.personnel-unit-head{padding:24px 28px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfefb,#ffffff);display:grid;gap:6px;}
.personnel-unit-head h2{margin:0;color:var(--green-900);font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.34;font-weight:900;text-wrap:balance;}
.personnel-unit-head p{margin:0;color:var(--green-700);font-weight:800;}
.personnel-unit-head div{color:var(--muted);line-height:1.75;}
.personnel-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:26px;}
.personnel-card{position:relative;border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(35,100,80,.065);display:grid;grid-template-rows:auto 1fr;min-width:0;}
.personnel-card.is-leader{border-color:rgba(197,173,16,.45);box-shadow:0 14px 34px rgba(154,135,0,.09);}
.personnel-photo{aspect-ratio:3/4;background:#eef7f2;margin:0;display:grid;place-items:center;overflow:hidden;position:relative;}
.personnel-photo img{width:100%;height:100%;object-fit:cover;transition:transform .24s ease;}
.personnel-card:hover .personnel-photo img{transform:scale(1.025);}
.personnel-photo span{display:none;color:var(--green-900);font-size:3rem;font-weight:900;}
.personnel-photo.is-empty span{display:block;}
.personnel-info{padding:18px 18px 20px;display:grid;gap:8px;min-width:0;}
.personnel-badge{width:max-content;max-width:100%;background:#fff8d9;border:1px solid #f1e3a5;color:#8a6500;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:900;line-height:1.4;}
.personnel-info h3{margin:0;color:var(--text-strong);font-size:1.1rem;line-height:1.45;font-weight:900;}
.personnel-info p{margin:0;color:var(--green-800);font-weight:900;line-height:1.55;}
.personnel-info small{color:var(--muted);font-weight:700;}
.personnel-duty{margin-top:4px;color:#526b65;font-size:.93rem;line-height:1.7;border-top:1px solid var(--line-soft);padding-top:10px;}
.personnel-contact{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.personnel-contact a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 11px;border-radius:999px;background:var(--green-50);border:1px solid var(--green-200);color:var(--green-800);font-weight:900;font-size:.86rem;}
.personnel-contact a:hover{background:var(--green-100);}
.personnel-empty{border:1px dashed var(--line);border-radius:24px;background:#fff;padding:34px;text-align:center;box-shadow:var(--shadow-sm);}
.personnel-empty span{color:var(--green-700);font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.personnel-empty h2{margin:8px 0;color:var(--green-900);}
.personnel-empty p{margin:0;color:var(--muted);}
@media(min-width:1440px){
  .personnel-chart-container{width:min(1420px,calc(100vw - 56px));}
}
@media(max-width:1200px){
  .personnel-chart-container{width:min(100% - 24px,1120px);}
  .personnel-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:1080px){
  .personnel-layout{grid-template-columns:1fr;}
  .personnel-side{position:static;display:flex;flex-wrap:wrap;max-height:none;overflow:visible;}
  .personnel-side strong{width:100%;}
  .personnel-side a{flex:1 1 220px;}
}
@media(max-width:760px){
  .personnel-chart-container{width:min(100% - 20px,1120px);}
  .personnel-hero{padding:40px 0 30px;}
  .personnel-chart-section{padding:30px 0 12px;}
  .personnel-chart-head{text-align:left;margin-bottom:16px;}
  .personnel-body{padding:32px 0 60px;}
  .personnel-layout{gap:20px;}
  .personnel-side{display:grid;padding:14px;border-radius:18px;}
  .personnel-side a{width:100%;}
  .personnel-card-grid{grid-template-columns:1fr;padding:16px;gap:16px;}
  .personnel-unit{border-radius:22px;}
  .personnel-unit-head{padding:18px;}
  .personnel-photo{max-height:420px;}
}

/* Phase 044 - Personnel public layout rewrite (centered hierarchy, no horizontal clipping) */
.personnel-chart-section{
  padding:36px 0 26px;
  background:
    radial-gradient(circle at 12% 10%,rgba(255,248,205,.72),transparent 24%),
    radial-gradient(circle at 88% 18%,rgba(229,248,241,.9),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f6fbf9 100%);
}
.personnel-chart-container{
  width:min(100% - 32px,1240px)!important;
  max-width:1240px!important;
  margin-inline:auto;
}
.personnel-chart-head{
  max-width:820px;
  margin:0 auto 18px;
}
.org-chart-tree{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  overflow:visible;
}
.org-chart-stage{
  position:relative;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:28px clamp(16px,2.4vw,32px) 34px;
  border:1px solid rgba(35,100,80,.13);
  border-radius:30px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.98)),
    radial-gradient(circle at 0% 0%,rgba(224,242,255,.62),transparent 32%),
    radial-gradient(circle at 100% 20%,rgba(238,248,230,.72),transparent 32%);
  box-shadow:0 18px 42px rgba(27,70,63,.08);
  overflow:hidden;
}
.org-chart-stage::before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(35,100,80,.06);
  border-radius:24px;
  pointer-events:none;
}
.org-chart-band{
  position:relative;
  z-index:1;
  display:grid;
  justify-content:center;
  justify-items:center;
  align-items:stretch;
  width:100%;
  margin:0 auto;
  gap:18px;
}
.org-chart-band-root{grid-template-columns:minmax(0,520px);}
.org-chart-band-executives{
  max-width:1010px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.org-chart-band-executives.count-1,
.org-chart-band-office,
.org-chart-band-mission{grid-template-columns:minmax(0,460px);}
.org-chart-band-executives.count-2{grid-template-columns:repeat(2,minmax(260px,320px));max-width:700px;}
.org-chart-band-workgroups,
.org-chart-band-grid{
  max-width:900px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.org-chart-band-grid.count-1,
.org-chart-band-workgroups.count-1{grid-template-columns:minmax(0,520px);}
.org-chart-band-grid.count-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1060px;}
.org-chart-connector{
  --connector-color:rgba(37,74,154,.30);
  --connector-soft:rgba(37,74,154,.12);
  --connector-joint:#ffffff;
  --connector-width:min(72%,760px);
  --connector-count:1;
  position:relative;
  z-index:1;
  width:100%;
  height:58px;
  margin:0 auto;
  pointer-events:none;
}
.org-chart-connector .connector-stem,
.org-chart-connector .connector-rail{
  position:absolute;
  display:block;
  background:linear-gradient(180deg,var(--connector-soft),var(--connector-color));
  border-radius:999px;
  box-shadow:0 0 0 1px rgba(255,255,255,.58);
}
.org-chart-connector .connector-stem{
  left:50%;
  top:0;
  width:2px;
  height:100%;
  transform:translateX(-50%);
}
.org-chart-connector.is-branch .connector-stem{
  height:25px;
}
.org-chart-connector.is-branch .connector-stem::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-4px;
  width:9px;
  height:9px;
  transform:translateX(-50%);
  border:2px solid var(--connector-color);
  border-radius:999px;
  background:var(--connector-joint);
  box-shadow:0 2px 8px rgba(30,56,96,.10);
}
.org-chart-connector .connector-rail{
  left:50%;
  top:25px;
  width:var(--connector-width);
  max-width:calc(100% - 84px);
  height:2px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,var(--connector-soft),var(--connector-color),var(--connector-soft));
}
.org-chart-connector .connector-drops{
  position:absolute;
  left:50%;
  top:25px;
  width:var(--connector-width);
  max-width:calc(100% - 84px);
  height:33px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:repeat(var(--connector-count),minmax(0,1fr));
  align-items:start;
}
.org-chart-connector .connector-drops i{
  position:relative;
  display:block;
  justify-self:center;
  width:2px;
  height:100%;
  border-radius:999px;
  background:linear-gradient(180deg,var(--connector-color),var(--connector-soft));
  box-shadow:0 0 0 1px rgba(255,255,255,.55);
}
.org-chart-connector .connector-drops i::before{
  content:"";
  position:absolute;
  left:50%;
  top:-4px;
  width:8px;
  height:8px;
  transform:translateX(-50%);
  border:2px solid var(--connector-color);
  border-radius:999px;
  background:var(--connector-joint);
}
.org-chart-connector-executives.count-3{--connector-width:min(86%,900px);}
.org-chart-connector-executives.count-2{--connector-width:min(68%,640px);}
.org-chart-connector-workgroups.count-2{--connector-width:min(76%,820px);}
.org-chart-connector-grid.count-3{--connector-width:min(88%,980px);}
.org-chart-connector-grid.count-2{--connector-width:min(76%,780px);}
.org-card{
  width:100%;
  min-width:0;
  position:relative;
  border:1px solid rgba(37,74,154,.18);
  border-left:5px solid rgba(37,74,154,.62);
  border-radius:18px;
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 26px rgba(30,56,96,.09);
  color:#172f59;
  overflow:hidden;
}
.org-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,rgba(37,74,154,.14),rgba(62,139,112,.14));
}
.org-card-inner{
  display:grid;
  align-content:center;
  gap:9px;
  min-height:122px;
  padding:18px 20px 19px;
  text-align:center;
}
.org-card h3{
  margin:0;
  color:#17315c;
  font-size:1rem;
  line-height:1.42;
  font-weight:900;
  letter-spacing:-.01em;
  text-wrap:balance;
}
.org-card-kicker{
  display:inline-flex;
  justify-self:center;
  width:max-content;
  max-width:100%;
  min-height:24px;
  align-items:center;
  justify-content:center;
  padding:3px 9px;
  border-radius:999px;
  background:#f2f7fb;
  border:1px solid rgba(37,74,154,.10);
  color:#58708f;
  font-size:.76rem;
  line-height:1.35;
  font-weight:900;
}
.org-card-people{display:grid;gap:10px;min-width:0;}
.org-person-mini{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:0;
  color:#28415f;
  line-height:1.44;
}
.org-person-avatar{
  position:relative;
  flex:0 0 auto;
  width:58px;
  height:58px;
  margin:0;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(37,74,154,.14);
  background:linear-gradient(135deg,#eef6ff,#f8fbff);
  box-shadow:0 8px 16px rgba(30,56,96,.10);
}
.org-person-avatar img,
.org-person-avatar span{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.org-person-avatar img{
  z-index:2;
  display:block;
  object-fit:cover;
  object-position:center top;
}
.org-person-avatar span{
  z-index:1;
  display:grid;
  place-items:center;
  color:#244a98;
  font-size:1.15rem;
  font-weight:900;
}
.org-person-avatar.is-empty{
  background:linear-gradient(135deg,#eef6ff,#fff7df);
}
.org-person-text{
  display:grid;
  gap:3px;
  min-width:0;
}
.org-person-mini strong{
  color:#14335f;
  font-size:.94rem;
  font-weight:900;
  overflow-wrap:anywhere;
}
.org-person-mini span{
  color:#315986;
  font-size:.82rem;
  font-weight:900;
}
.org-person-mini small{
  color:#62758d;
  font-size:.78rem;
  font-weight:700;
  line-height:1.45;
}
.org-person-mini.is-leader strong{color:#0f2c5b;}
.org-card:not(.has-team) .org-person-mini{
  flex-direction:column;
  text-align:center;
  gap:8px;
}
.org-card-depth-0 .org-person-avatar{
  width:76px;
  height:76px;
  border-radius:22px;
}
.org-card-depth-0 .org-person-avatar span{font-size:1.35rem;}
.org-card.has-team .org-card-inner{align-content:start;}
.org-card.has-team .org-card-people{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:2px;
}
.org-card.has-team .org-person-mini{
  justify-content:flex-start;
  text-align:left;
  padding:9px 10px;
  border:1px solid rgba(37,74,154,.10);
  border-radius:14px;
  background:#f8fbff;
}
.org-card.has-team .org-person-avatar{
  width:42px;
  height:42px;
  border-radius:13px;
  box-shadow:none;
}
.org-card.has-team .org-person-avatar span{font-size:.92rem;}
.org-card.has-team .org-person-mini strong{font-size:.86rem;line-height:1.38;}
.org-card.has-team .org-person-mini span{font-size:.76rem;line-height:1.38;}
.org-card p{
  margin:0;
  color:#556d83;
  font-size:.86rem;
  line-height:1.65;
  font-weight:700;
}
.org-card-depth-0{
  border-left-color:#244a98;
  border-color:rgba(37,74,154,.22);
  background:linear-gradient(180deg,#f7fbff,#ffffff);
  box-shadow:0 14px 32px rgba(30,56,96,.12);
}
.org-card-depth-0 .org-card-inner{min-height:134px;padding:22px 28px;}
.org-card-depth-0 h3{font-size:1.2rem;}
.org-card-depth-1 .org-card-inner{min-height:150px;}
.org-card-depth-2,
.org-card-depth-3{border-left-color:rgba(37,74,154,.55);}
.org-card-depth-2 .org-card-inner,
.org-card-depth-3 .org-card-inner{min-height:128px;}
.org-card-depth-4,
.org-card-depth-5{border-left-color:rgba(62,139,112,.72);}
.org-card-depth-4 .org-card-inner,
.org-card-depth-5 .org-card-inner{min-height:150px;}
.org-chart-band::before{
  content:attr(data-level-label);
  position:absolute;
  left:0;
  top:50%;
  transform:translate(-6px,-50%);
  writing-mode:vertical-rl;
  text-orientation:mixed;
  color:rgba(83,105,132,.54);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
  pointer-events:none;
}
.personnel-directory-head{
  border:1px solid rgba(35,100,80,.12);
  border-radius:26px;
  background:linear-gradient(180deg,#fff,#fbfefb);
  box-shadow:var(--shadow-sm);
  padding:18px 22px;
  display:grid;
  gap:0;
}
.personnel-directory-head h2{
  margin:0;
  color:var(--green-900);
  font-size:clamp(1.35rem,2.4vw,2rem);
  line-height:1.3;
  font-weight:900;
}
.personnel-side strong{line-height:1.45;}
@media(max-width:1180px){
  .personnel-chart-container{width:min(100% - 24px,1040px)!important;}
  .org-chart-stage{padding:24px 18px 30px;}
  .org-chart-band-executives{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
  .org-card-inner{padding:16px 16px 17px;}
  .org-card h3{font-size:.96rem;}
  .org-person-mini strong{font-size:.9rem;}
}
@media(max-width:920px){
  .personnel-chart-head{text-align:left;margin-bottom:18px;}
  .org-chart-stage{padding:22px 14px 26px;border-radius:24px;}
  .org-chart-band::before{display:none;}
  .org-chart-band-executives,
  .org-chart-band-grid.count-3{grid-template-columns:1fr;max-width:560px;}
  .org-chart-band-workgroups,
  .org-chart-band-grid{grid-template-columns:1fr;max-width:560px;}
  .org-chart-band-executives.count-2{grid-template-columns:1fr;max-width:560px;}
  .org-chart-connector{height:32px;margin:0;}
  .org-chart-connector.is-branch .connector-rail,
  .org-chart-connector.is-branch .connector-drops{display:none;}
  .org-chart-connector.is-branch .connector-stem{height:100%;background:rgba(37,74,154,.24);}
  .org-chart-connector.is-branch .connector-stem::after{display:none;}
  .org-card-depth-1 .org-card-inner,
  .org-card-depth-4 .org-card-inner,
  .org-card-depth-5 .org-card-inner{min-height:auto;}
  .personnel-directory-head{padding:20px;}
}
@media(max-width:640px){
  .personnel-chart-section{padding:32px 0 22px;}
  .personnel-chart-container{width:min(100% - 20px,640px)!important;}
  .org-chart-stage{padding:18px 12px 22px;border-radius:20px;}
  .org-chart-connector{height:28px;}
  .org-card{border-radius:16px;border-left-width:4px;}
  .org-card-inner{min-height:auto!important;padding:15px 14px 16px;gap:8px;}
  .org-card-depth-0 h3{font-size:1.05rem;}
  .org-card h3{font-size:.94rem;}
  .org-card.has-team .org-card-people{grid-template-columns:1fr;}
  .org-person-avatar{width:52px;height:52px;border-radius:16px;}
  .org-card-depth-0 .org-person-avatar{width:66px;height:66px;border-radius:20px;}
  .org-card.has-team .org-person-avatar{width:40px;height:40px;border-radius:12px;}
  .org-card-kicker{font-size:.72rem;}
}

/* Homepage event calendar preview */
.home-calendar-preview-section{
  background:linear-gradient(180deg,#ffffff 0%,#f6fbf8 100%);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.home-calendar-preview-head{align-items:flex-start;}
.home-calendar-preview-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);
  gap:22px;
  align-items:stretch;
}
.home-month-calendar-card,
.home-calendar-agenda-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.home-month-calendar-card{padding:22px;}
.home-month-calendar-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:18px;
}
.home-month-calendar-head span,
.home-calendar-agenda-card>header span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.home-month-calendar-head strong,
.home-calendar-agenda-card>header strong{
  display:block;
  margin-top:4px;
  color:var(--green-900);
  font-size:clamp(22px,2.4vw,30px);
  line-height:1.25;
  font-weight:950;
}
.home-month-calendar-head em{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:var(--green-50);
  border:1px solid var(--green-200);
  color:var(--green-900);
  font-style:normal;
  font-size:12.5px;
  font-weight:900;
}
.home-month-calendar-weekdays,
.home-month-calendar-days{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}
.home-month-calendar-weekdays{margin-bottom:8px;}
.home-month-calendar-weekdays span{
  display:grid;
  place-items:center;
  min-height:34px;
  border-radius:12px;
  background:#f8faf8;
  color:#557267;
  font-size:12px;
  font-weight:900;
}
.home-month-calendar-day{
  position:relative;
  display:grid;
  align-content:start;
  justify-items:start;
  min-height:76px;
  padding:10px;
  border:1px solid var(--line-soft);
  border-radius:16px;
  background:#fff;
  color:var(--green-900);
}
.home-month-calendar-day.is-empty{
  background:#fbfcfb;
  border-style:dashed;
}
.home-month-calendar-day>span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  font-weight:950;
}
.home-month-calendar-day.has-event{
  background:linear-gradient(180deg,#ffffff 0%,#f2faf5 100%);
  border-color:var(--green-200);
  box-shadow:0 10px 24px rgba(35,100,80,.08);
}
.home-month-calendar-day.has-event>span{
  background:var(--green-700);
  color:#fff;
}
.home-month-calendar-day.is-today{
  outline:2px solid rgba(230,178,54,.55);
  outline-offset:2px;
}
.home-month-calendar-day small{
  position:absolute;
  right:9px;
  bottom:9px;
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:var(--yellow-300);
  color:var(--green-900);
  font-size:11px;
  font-weight:950;
}
.home-calendar-agenda-card{
  display:flex;
  flex-direction:column;
  padding:22px;
}
.home-calendar-agenda-card>header{
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid var(--line);
}
.home-calendar-agenda-list{display:grid;gap:12px;}
.home-calendar-agenda-item{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line-soft);
  border-radius:18px;
  background:var(--surface-soft);
  color:var(--text-strong);
  transition:.16s ease;
}
.home-calendar-agenda-item:hover{
  background:#fff;
  border-color:var(--green-200);
  transform:translateY(-2px);
  box-shadow:var(--shadow-sm);
}
.home-calendar-agenda-item time{
  display:grid;
  place-items:center;
  min-height:66px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--line);
  color:var(--green-900);
  text-align:center;
}
.home-calendar-agenda-item time strong{
  font-size:24px;
  line-height:1;
  font-weight:950;
}
.home-calendar-agenda-item time span{
  margin-top:5px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.25;
  font-weight:800;
}
.home-calendar-agenda-item>span{display:grid;gap:4px;min-width:0;}
.home-calendar-agenda-item>span strong{
  color:var(--green-900);
  font-size:15.5px;
  line-height:1.45;
  font-weight:950;
}
.home-calendar-agenda-item>span em{
  color:var(--muted);
  font-style:normal;
  font-size:12.5px;
  line-height:1.5;
  font-weight:800;
}
.home-calendar-empty-state{
  display:grid;
  place-items:center;
  min-height:220px;
  border:1px dashed var(--green-200);
  border-radius:20px;
  background:var(--green-50);
  color:var(--muted);
  font-weight:900;
  text-align:center;
}
@media(max-width:980px){
  .home-calendar-preview-grid{grid-template-columns:1fr;}
  .home-calendar-agenda-card{padding:18px;}
}
@media(max-width:680px){
  .home-month-calendar-card{padding:14px;border-radius:22px;}
  .home-month-calendar-weekdays,.home-month-calendar-days{gap:5px;}
  .home-month-calendar-weekdays span{min-height:28px;border-radius:9px;font-size:11px;}
  .home-month-calendar-day{min-height:52px;padding:6px;border-radius:11px;}
  .home-month-calendar-day>span{width:24px;height:24px;font-size:12px;}
  .home-month-calendar-day small{right:5px;bottom:5px;min-width:18px;height:18px;font-size:10px;}
  .home-calendar-agenda-item{grid-template-columns:1fr;}
  .home-calendar-agenda-item time{place-items:start;text-align:left;min-height:auto;padding:10px 12px;}
}


/* Knowledge cards: fallback to page Hero image when Google Drive has no cover */
.knowledge-book-cover.is-hero-fallback img{
  object-position:center center;
}
.knowledge-book-cover.is-hero-fallback .knowledge-book-fallback{
  display:none;
}

/* Configurable homepage hero image - production layout rebuild */
.home-hero{
  --hero-banner-height:var(--hero-image-height,clamp(420px,48vw,720px));
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:#f7fffb;
  background-image:
    radial-gradient(circle at 10% 6%,rgba(255,243,168,.58),transparent 30%),
    radial-gradient(circle at 90% 10%,rgba(201,239,225,.68),transparent 32%),
    linear-gradient(135deg,rgba(247,255,251,.98) 0%,rgba(239,251,245,.94) 54%,rgba(255,253,241,.98) 100%),
    var(--hero-image, none);
  background-size:auto,auto,auto,cover;
  background-position:center,center,center,var(--hero-image-position,center center);
  background-repeat:no-repeat;
  border-bottom:1px solid var(--line);
}
.home-hero.home-hero--background_only{
  min-height:clamp(420px,48vw,680px);
  display:grid;
  align-items:center;
  background-image:
    linear-gradient(90deg,rgba(247,255,251,.95) 0%,rgba(247,255,251,.84) 42%,rgba(247,255,251,.52) 100%),
    var(--hero-image, none);
  background-size:auto,cover;
  background-position:center,var(--hero-image-position,center center);
}
.home-hero.home-hero--hidden{
  background-image:
    radial-gradient(circle at 12% 8%,rgba(255,243,168,.70),transparent 30%),
    radial-gradient(circle at 88% 14%,rgba(201,239,225,.76),transparent 34%),
    linear-gradient(135deg,#f7fffb 0%,#effbf5 52%,#fffdf1 100%);
}
.home-hero-grid{
  min-height:clamp(520px,48vw,720px);
  gap:clamp(30px,5vw,72px);
  padding-block:clamp(56px,7vw,92px);
}
.home-hero-copy{
  max-width:780px;
}
.home-hero-copy h1{
  text-wrap:balance;
}
.home-hero-copy p{
  max-width:700px;
}
.home-hero-grid--copy-only{
  grid-template-columns:minmax(0,940px);
  justify-content:center;
  text-align:center;
}
.home-hero-grid--copy-only .home-hero-copy{
  max-width:940px;
  margin-inline:auto;
}
.home-hero-grid--copy-only .home-hero-copy p,
.home-hero-grid--copy-only .home-hero-actions,
.home-hero-grid--copy-only .home-hero-kpis{
  margin-inline:auto;
}
.home-hero-grid--copy-only .home-hero-actions{
  justify-content:center;
}
.home-hero-grid--copy-only .home-hero-kpis{
  max-width:760px;
}
.home-hero-visual{
  justify-self:end;
  width:100%;
  max-width:min(100%,var(--hero-image-width,620px));
}
.home-hero-image-card{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  padding:0;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid rgba(47,123,99,.16);
  border-radius:30px;
  box-shadow:0 28px 82px rgba(35,100,80,.16);
}
.home-hero-image-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 48%,rgba(10,32,24,.58) 100%);
}
.home-hero-image-card img{
  display:block;
  width:100%;
  height:var(--hero-image-height,clamp(420px,38vw,560px));
  min-height:0;
  aspect-ratio:auto;
  object-fit:var(--hero-image-fit,cover);
  object-position:var(--hero-image-position,center center);
  background:#eef7f2;
}
.home-hero-caption{
  left:clamp(16px,3vw,28px);
  right:clamp(16px,3vw,28px);
  bottom:clamp(16px,3vw,26px);
  z-index:2;
  border-radius:18px;
  background:rgba(255,255,255,.90);
  box-shadow:0 14px 36px rgba(15,36,29,.18);
}
.home-hero-image-card.is-link{
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,filter .18s ease;
}
.home-hero-image-card.is-link:hover{
  transform:translateY(-2px);
  border-color:var(--green-200);
  box-shadow:0 34px 92px rgba(35,100,80,.20);
  filter:saturate(1.02);
}
.home-hero-image-card.is-link:focus-visible{
  outline:3px solid rgba(38,118,88,.38);
  outline-offset:4px;
}

/* Homepage Hero image-only mode: full-bleed banner, no text clutter */
.home-hero.home-hero--image_only{
  padding:0;
  background:#f6faf7;
  border-bottom:1px solid var(--line);
}
.home-hero.home-hero--image_only:after{
  display:none;
}
.home-hero-image-only-container{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  background:#f6faf7;
}
.home-hero-image-only-frame{
  position:relative;
  display:block;
  width:min(100%,var(--hero-image-width,100vw));
  max-width:100%;
  margin-inline:auto;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#f3f7f2;
  box-shadow:none;
}
.home-hero-image-only-frame img{
  display:block;
  width:100%;
  height:var(--hero-banner-height);
  min-height:0;
  max-height:none;
  object-fit:var(--hero-image-fit,cover);
  object-position:var(--hero-image-position,center center);
  background:#f3f7f2;
}
.home-hero-image-only-frame.is-link{
  cursor:pointer;
  transition:filter .18s ease,opacity .18s ease;
}
.home-hero-image-only-frame.is-link:hover{
  filter:brightness(.97) saturate(1.02);
}
.home-hero-image-only-frame.is-link:focus-visible{
  outline:3px solid rgba(38,118,88,.42);
  outline-offset:-8px;
}

@media(max-width:1080px){
  .home-hero-grid{
    min-height:auto;
    padding-block:52px 44px;
  }
  .home-hero-visual{
    justify-self:start;
    max-width:min(100%,var(--hero-image-width,720px));
  }
  .home-hero-image-card img{
    height:var(--hero-image-height,clamp(340px,54vw,520px));
  }
  .home-hero-image-only-frame{
    width:min(100%,var(--hero-image-width,100vw));
  }
}
@media(max-width:720px){
  .home-hero-grid{
    gap:26px;
    padding-block:42px 34px;
  }
  .home-hero-copy h1{font-size:34px;}
  .home-hero-copy p{font-size:15.5px;}
  .home-hero-image-card{
    border-radius:22px;
  }
  .home-hero-image-card img{
    height:var(--hero-image-height,clamp(260px,64vw,420px));
  }
  .home-hero-caption{
    left:12px;
    right:12px;
    bottom:12px;
    padding:12px;
    border-radius:14px;
  }
  .home-hero.home-hero--image_only{padding:0;}
  .home-hero-image-only-frame{border-radius:0;}
  .home-hero-image-only-frame img{
    height:var(--hero-image-height,clamp(260px,66vw,460px));
  }
}


/* Phase Web 2.0.86 - Homepage final CTA YouTube embed */
.home-final-cta-card.has-video{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(360px,.72fr);
  align-items:center;
  gap:30px;
}
.home-final-copy{min-width:0;}
.home-final-copy h2{max-width:820px;}
.home-final-copy p{max-width:760px;line-height:1.85;}
.home-final-video-card{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  min-height:230px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.24);
  background:#0c1f18;
  box-shadow:0 24px 60px rgba(10,32,24,.22);
}
.home-final-video-card iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
@media(max-width:1080px){
  .home-final-cta-card.has-video{grid-template-columns:1fr;}
  .home-final-video-card{width:100%;max-width:780px;}
}
@media(max-width:720px){
  .home-final-video-card{min-height:190px;border-radius:18px;}
}

/* Phase 046B - Personnel chart UI rebuild (clean hierarchy layout) */
.personnel-chart-section{
  padding:38px 0 28px;
  background:linear-gradient(180deg,#fcfdfd 0%,#f4f8fb 100%);
}
.personnel-chart-container{
  width:min(100% - 28px,1260px)!important;
  max-width:1260px!important;
}
.personnel-chart-head{
  max-width:820px;
  margin:0 auto 20px;
  text-align:center;
}
.personnel-chart-head h2{
  margin:0;
}
.org-chart-tree,
.org-chart-tree *{box-sizing:border-box;}
.org-chart-tree{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible;
}
.org-chart-stage{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:28px clamp(14px,2vw,28px) 34px;
  border:1px solid rgba(32,72,138,.10);
  border-radius:32px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 16px 36px rgba(22,47,89,.06);
}
.org-chart-stage::before{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:24px;
  border:1px solid rgba(32,72,138,.05);
  pointer-events:none;
}
.org-chart-flow{
  position:relative;
  z-index:1;
  display:grid;
  gap:0;
}
.org-chart-level{
  display:grid;
  justify-items:center;
  gap:12px;
}
.org-level-divider{
  position:relative;
  width:100%;
  height:34px;
  display:grid;
  justify-items:center;
}
.org-level-divider-line{
  display:block;
  width:2px;
  height:100%;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(37,74,154,.10),rgba(37,74,154,.32));
}
.org-level-divider-dot{
  position:absolute;
  left:50%;
  bottom:-2px;
  width:12px;
  height:12px;
  transform:translateX(-50%);
  border-radius:999px;
  border:2px solid rgba(37,74,154,.28);
  background:#fff;
  box-shadow:0 4px 10px rgba(22,47,89,.08);
}
.org-level-heading{
  margin-bottom:2px;
  text-align:center;
}
.org-level-heading span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 14px;
  border-radius:999px;
  border:1px solid rgba(37,74,154,.12);
  background:linear-gradient(180deg,#f6f9ff 0%,#f9fbff 100%);
  color:#4f6787;
  font-size:.78rem;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.01em;
}
.org-chart-band{
  position:relative;
  z-index:1;
  display:grid;
  width:100%;
  margin:0 auto;
  justify-content:center;
  justify-items:stretch;
  align-items:stretch;
  gap:18px;
}
.org-chart-band::before,
.org-chart-connector{display:none!important;}
.org-chart-band-root{grid-template-columns:minmax(0,520px);max-width:520px;}
.org-chart-band-executives{grid-template-columns:repeat(3,minmax(260px,1fr));max-width:1060px;gap:20px;}
.org-chart-band-executives.count-1,
.org-chart-band-office,
.org-chart-band-mission{grid-template-columns:minmax(0,460px);max-width:520px;}
.org-chart-band-executives.count-2{grid-template-columns:repeat(2,minmax(280px,360px));max-width:760px;}
.org-chart-band-workgroups,
.org-chart-band-grid{grid-template-columns:repeat(2,minmax(280px,1fr));max-width:980px;gap:22px;}
.org-chart-band-grid.count-1,
.org-chart-band-workgroups.count-1{grid-template-columns:minmax(0,520px);max-width:520px;}
.org-chart-band-grid.count-3{grid-template-columns:repeat(3,minmax(240px,1fr));max-width:1060px;}
.org-card{
  width:100%;
  min-width:0;
  border:1px solid rgba(37,74,154,.12);
  border-radius:22px;
  border-left:0;
  background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%);
  box-shadow:0 12px 24px rgba(22,47,89,.08);
  overflow:hidden;
}
.org-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,#244a98 0%,#6b8bc6 50%,#d9e3f4 100%);
}
.org-card-inner{
  display:grid;
  align-content:start;
  gap:10px;
  min-height:132px;
  padding:22px 22px 20px;
  text-align:center;
}
.org-card h3{
  margin:0;
  color:#17315c;
  font-size:1.05rem;
  line-height:1.4;
  font-weight:900;
  letter-spacing:-.01em;
  text-wrap:balance;
}
.org-card-kicker{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  justify-self:center;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(37,74,154,.10);
  background:#f4f7fb;
  color:#5e7490;
  font-size:.75rem;
  line-height:1.35;
  font-weight:800;
}
.org-card-people{display:grid;gap:12px;min-width:0;}
.org-person-mini{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:0;
  color:#27415f;
  line-height:1.44;
}
.org-card:not(.has-team) .org-person-mini{
  flex-direction:column;
  text-align:center;
  gap:10px;
}
.org-person-avatar{
  flex:0 0 auto;
  width:72px;
  height:72px;
  margin:0;
  border-radius:999px;
  overflow:hidden;
  border:3px solid #fff;
  background:linear-gradient(135deg,#edf4ff,#fef8e8);
  box-shadow:0 10px 18px rgba(22,47,89,.10),0 0 0 1px rgba(37,74,154,.10);
}
.org-person-avatar img,
.org-person-avatar span{position:absolute;inset:0;width:100%;height:100%;}
.org-person-avatar img{display:block;object-fit:cover;object-position:center top;}
.org-person-avatar span{display:grid;place-items:center;color:#244a98;font-size:1.2rem;font-weight:900;}
.org-person-avatar.is-empty{background:linear-gradient(135deg,#edf4ff,#fff9ea);}
.org-person-text{display:grid;gap:4px;min-width:0;}
.org-person-mini strong{color:#14335f;font-size:1rem;font-weight:900;overflow-wrap:anywhere;}
.org-person-mini span{color:#315986;font-size:.84rem;font-weight:800;line-height:1.42;}
.org-person-mini small{color:#6c7d93;font-size:.79rem;font-weight:700;line-height:1.45;}
.org-card.has-team .org-card-inner{align-content:start;}
.org-card.has-team .org-card-people{grid-template-columns:1fr;gap:10px;}
.org-card.has-team .org-person-mini{
  justify-content:flex-start;
  text-align:left;
  padding:10px 12px;
  border:1px solid rgba(37,74,154,.08);
  border-radius:16px;
  background:#f8fbff;
}
.org-card.has-team .org-person-avatar{width:46px;height:46px;border-width:2px;box-shadow:none;}
.org-card.has-team .org-person-avatar span{font-size:1rem;}
.org-card.has-team .org-person-mini strong{font-size:.88rem;line-height:1.38;}
.org-card.has-team .org-person-mini span{font-size:.78rem;line-height:1.38;}
.org-card p{margin:0;color:#5c7088;font-size:.88rem;line-height:1.65;font-weight:700;}
.org-card-depth-0{
  background:linear-gradient(180deg,#f9fbff 0%,#ffffff 100%);
  box-shadow:0 16px 30px rgba(22,47,89,.10);
}
.org-card-depth-0 .org-card-inner{min-height:152px;padding:24px 28px 22px;}
.org-card-depth-0 h3{font-size:1.24rem;}
.org-card-depth-0 .org-person-avatar{width:84px;height:84px;}
.org-card-depth-0 .org-person-mini strong{font-size:1.08rem;}
.org-card-depth-1::before{background:linear-gradient(90deg,#4f6ea8 0%,#9fb5da 100%);}
.org-card-depth-2::before,
.org-card-depth-3::before{background:linear-gradient(90deg,#3d78a3 0%,#7bb7c8 100%);}
.org-card-depth-4::before,
.org-card-depth-5::before{background:linear-gradient(90deg,#3f8f73 0%,#9fd1be 100%);}

@media(max-width:1180px){
  .personnel-chart-container{width:min(100% - 24px,1080px)!important;}
  .org-chart-stage{padding:24px 18px 30px;}
  .org-chart-band-executives{grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;max-width:1000px;}
  .org-chart-band-workgroups,
  .org-chart-band-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:18px;}
  .org-card-inner{padding:20px 18px 18px;}
  .org-card h3{font-size:1rem;}
}
@media(max-width:920px){
  .personnel-chart-head{text-align:left;}
  .org-chart-stage{padding:22px 14px 26px;border-radius:24px;}
  .org-chart-band-executives,
  .org-chart-band-executives.count-2,
  .org-chart-band-grid.count-3,
  .org-chart-band-workgroups,
  .org-chart-band-grid{grid-template-columns:1fr;max-width:560px;}
  .org-level-divider{height:28px;}
  .org-card-depth-0 .org-card-inner,
  .org-card-depth-1 .org-card-inner,
  .org-card-depth-4 .org-card-inner,
  .org-card-depth-5 .org-card-inner{min-height:auto;}
}
@media(max-width:640px){
  .personnel-chart-section{padding:30px 0 22px;}
  .personnel-chart-container{width:min(100% - 18px,640px)!important;}
  .org-chart-stage{padding:18px 12px 22px;border-radius:20px;}
  .org-level-heading span{font-size:.74rem;min-height:28px;padding:4px 12px;}
  .org-card{border-radius:18px;}
  .org-card-inner{padding:16px 14px 16px;gap:9px;min-height:auto!important;}
  .org-card-depth-0 .org-card-inner{padding:18px 16px 16px;}
  .org-card-depth-0 h3{font-size:1.08rem;}
  .org-card h3{font-size:.96rem;}
  .org-person-avatar{width:64px;height:64px;}
  .org-card-depth-0 .org-person-avatar{width:74px;height:74px;}
  .org-card.has-team .org-person-avatar{width:42px;height:42px;}
  .org-card-kicker{font-size:.72rem;}
}

/* Phase 052 - Public calendar multi-day event display */
.calendar-month-section{margin-top:24px;}
.calendar-month-board{
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.calendar-month-board-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:18px;
  align-items:start;
  padding:22px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff,#fbfefb);
}
.calendar-month-board-head h2{margin:8px 0 6px;color:var(--green-900);font-size:clamp(26px,3vw,38px);line-height:1.15;font-weight:950;}
.calendar-month-board-head p{margin:0;color:var(--muted);line-height:1.65;max-width:760px;}
.calendar-month-board-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.calendar-month-board-actions a{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green-800);font-weight:900;font-size:12.8px;}
.calendar-month-board-actions a:hover{border-color:var(--green-300);background:var(--green-50);}
.calendar-month-board-summary{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;min-width:180px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:var(--green-50);}
.calendar-month-board-summary strong{color:var(--green-900);font-size:22px;line-height:1;font-weight:950;text-align:right;}
.calendar-month-board-summary span{color:var(--muted);font-size:12.4px;font-weight:850;line-height:1.35;}
.calendar-month-weekdays,.calendar-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);}
.calendar-month-weekdays{padding:1px 1px 0;background:var(--line);}
.calendar-month-weekdays span{min-height:38px;display:grid;place-items:center;background:var(--green-50);color:var(--green-900);font-size:12px;font-weight:950;}
.calendar-month-days{padding:1px;background:var(--line);}
.calendar-month-day{min-height:132px;background:#fff;padding:9px;display:grid;align-content:start;gap:6px;min-width:0;}
.calendar-month-day.is-empty{background:#f7fbf8;}
.calendar-month-day.is-today{background:#fffdf0;box-shadow:inset 0 0 0 2px var(--yellow-300);}
.calendar-month-day-number{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:28px;}
.calendar-month-day-number span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--green-50);color:var(--green-900);font-weight:950;font-size:13px;}
.calendar-month-day.is-today .calendar-month-day-number span{background:var(--yellow-200);border:1px solid var(--yellow-300);}
.calendar-month-day-number em{font-style:normal;color:var(--yellow-700);font-size:11px;font-weight:950;}
.calendar-month-event-pill{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;min-height:28px;padding:5px 7px;border-radius:10px;background:var(--green-50);border:1px solid var(--green-200);color:var(--green-900);font-size:11.4px;font-weight:900;line-height:1.25;}
.calendar-month-event-pill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.calendar-month-event-pill em{font-style:normal;color:var(--muted);font-size:10.6px;font-weight:950;white-space:nowrap;}
.calendar-month-event-pill.is-multi-day{background:#fff8dc;border-color:var(--yellow-300);box-shadow:inset 3px 0 0 var(--yellow-500);}
.calendar-month-event-pill.is-multi-day em{color:var(--yellow-700);}
.calendar-month-event-pill.is-middle{border-style:dashed;}
.calendar-month-event-pill.is-end{box-shadow:inset -3px 0 0 var(--yellow-500);}
.calendar-month-more{min-height:24px;display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:3px 7px;border-radius:999px;background:#f3f6f5;color:var(--muted);font-size:11px;font-weight:900;}
.calendar-duration-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:26px;margin:6px 0 2px;padding:4px 10px;border-radius:999px;background:var(--yellow-100);border:1px solid var(--yellow-300);color:var(--yellow-700);font-size:12px;font-weight:950;}
.calendar-event-card.is-multi-day,.calendar-next-card.is-multi-day,.calendar-detail-card.is-multi-day{border-color:var(--yellow-300);box-shadow:inset 4px 0 0 var(--yellow-500),var(--shadow-sm);}
.calendar-side-panel a.is-multi-day>span{background:var(--yellow-100);border-color:var(--yellow-300);color:var(--yellow-700);}
@media(max-width:1180px){.calendar-month-board-head{grid-template-columns:1fr}.calendar-month-board-actions{justify-content:flex-start}.calendar-month-board-summary{width:max-content;max-width:100%;}}
@media(max-width:760px){.calendar-month-board{border-radius:22px}.calendar-month-board-head{padding:16px}.calendar-month-weekdays,.calendar-month-days{min-width:760px}.calendar-month-board{overflow-x:auto}.calendar-month-day{min-height:118px}.calendar-month-board-actions{display:grid;grid-template-columns:1fr;width:100%;}.calendar-month-board-actions a{width:100%;}.calendar-month-board-summary{width:100%;}}
