/* RPK24 Modern Homepage V1.4.3 — scoped to body.rpk-homepage only.
   โหลดหลัง Tailwind และ CSS เดิม เพื่อไม่กระทบหน้าภายในหรือหน้า Admin */
:root { --rpk-navy:#173d78; --rpk-blue:#1e4c91; --rpk-gold:#eab73c; --rpk-ink:#26354d; --rpk-muted:#66758a; --rpk-line:#e5ebf4; --rpk-soft:#f3f7fd; }
body.rpk-homepage { background:#f5f7fb; color:var(--rpk-ink); margin:0; }
.rpk-homepage *, .rpk-homepage *::before, .rpk-homepage *::after { box-sizing:border-box; }
.rpk-homepage a:focus-visible, .rpk-homepage button:focus-visible { outline:3px solid #e0a528; outline-offset:3px; }
.rpk-homepage > nav { border-bottom:1px solid #e3ebf5; box-shadow:0 8px 28px rgba(20,54,105,.07); }
.rpk24-container { width:min(100% - 40px, 1400px); margin:0 auto; }
.rpk24-newsbar { background:#fff; border-bottom:1px solid #e8edf5; }
.rpk24-newsbar-inner { min-height:48px; display:flex; gap:14px; align-items:center; }
.rpk24-newsbar-label { display:inline-flex; align-items:center; gap:8px; padding:7px 13px; color:#fff; background:var(--rpk-navy); border-radius:9px; flex-shrink:0; font-size:12px; font-weight:700; }
.rpk24-newsbar-label i { color:#f9d577; }
.rpk24-newsbar-headline { min-width:0; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#374964; font-weight:600; font-size:13px; }
.rpk24-newsbar-headline:hover { color:#12498d; text-decoration:underline; }
.rpk24-newsbar-empty { flex:1; min-width:0; font-size:13px; color:#657187; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rpk24-newsbar-date { font-size:12px; color:#8490a0; white-space:nowrap; }
.rpk24-newsbar-all { white-space:nowrap; font-weight:700; font-size:12px; color:#1a529a; }
.rpk24-newsbar-all:hover { text-decoration:underline; }
.rpk24-newsbar-all i { font-size:10px; margin-left:5px; }
/* ข่าววิ่งใช้รายการจริง 2 ชุด ทำให้เลื่อนได้ต่อเนื่องไม่กระตุก */
.rpk24-ticker-viewport { min-width:0; flex:1; overflow:hidden; position:relative; border-left:1px solid #e1e6ef; }
.rpk24-ticker-track { display:flex; align-items:center; width:max-content; will-change:transform; animation:rpk24NewsTicker 42s linear infinite; }
.rpk24-ticker-group { display:flex; align-items:center; flex:none; gap:34px; padding:0 34px 0 18px; }
.rpk24-ticker-link { white-space:nowrap; flex:none; font-size:13px; font-weight:650; color:#304765; }
.rpk24-ticker-link i { font-size:6px; color:#e4a325; margin-right:10px; vertical-align:middle; }
.rpk24-ticker-link:hover { color:#134d97; text-decoration:underline; }
.rpk24-ticker-viewport:hover .rpk24-ticker-track, .rpk24-ticker-viewport:focus-within .rpk24-ticker-track { animation-play-state:paused; }
@keyframes rpk24NewsTicker { 0% {transform:translateX(0)} 100% {transform:translateX(-50%)} }


.rpk24-hero-region { background:transparent; padding:0; margin:0; }
/* V1.4.3: Hero แบบ edge-to-edge กว้างเท่าหน้าจอ ไม่มี padding กรอบ เงา หรือมุมโค้ง */
.rpk24-hero-region > .rpk24-container { width:100%; max-width:none; margin:0; padding:0; }
.rpk24-hero { position:relative; width:100%; aspect-ratio:var(--rpk24-hero-ratio,16 / 7); min-height:0; max-height:none; background:#163d78; overflow:hidden; border:0; border-radius:0; box-shadow:none; }
.rpk24-hero::before { display:none; }
.rpk24-hero-track { position:absolute; inset:0; }
.rpk24-hero-slide, .rpk24-sub-slide { position:absolute; inset:0; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .55s ease, visibility .55s ease; }
.rpk24-hero-slide.is-active, .rpk24-sub-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; }
/* ภาพหลักเต็มกรอบ: ไม่เหลือแถบสีว่างด้านบน/ด้านล่าง */
/* แสดงภาพเต็ม 100% โดยไม่ครอป; ฉากหลังเบลอช่วยเติมพื้นที่เมื่อภาพแนวตั้ง/สัดส่วนต่างกัน */
.rpk24-hero-slide img.rpk24-hero-backdrop { display:none; }
.rpk24-hero-slide img.rpk24-hero-foreground { position:relative; z-index:2; display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
/* ภาพประกาศรอง: เก็บตัวอักษรทั้งภาพ โดยใช้ฉากหลังเบลอเติมพื้นที่ด้านข้าง */
/* โปสเตอร์แสดงเต็มพื้นที่ตามสัดส่วนภาพจริง ไม่มีฉากหลังและไม่ครอปข้อความ */
.rpk24-sub-slide img.rpk24-sub-backdrop { display:none; }
.rpk24-sub-slide img.rpk24-sub-foreground { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; object-position:center; }

.rpk24-hero-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:#fff; text-align:center; background:radial-gradient(circle at 80% 15%,#3b6ca7 0%,transparent 34%),radial-gradient(circle at 10% 70%,#234f96 0%,transparent 42%),#163d78; padding:25px; }
.rpk24-hero-placeholder i { font-size:clamp(32px,5vw,70px); color:#f8d477; }
.rpk24-hero-placeholder span { font-size:clamp(18px,2.6vw,34px); font-weight:750; text-wrap:balance; }
.rpk24-hero-placeholder small { color:#d3e0f4; font-size:clamp(12px,1.3vw,17px); }
.rpk24-hero-arrow, .rpk24-sub-arrow { position:absolute; z-index:5; top:50%; transform:translateY(-50%); display:grid; place-items:center; color:#fff; background:rgba(6,24,53,.56); border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(6px); border-radius:50%; width:42px; height:42px; transition:background .2s,transform .2s; cursor:pointer; }
.rpk24-hero-arrow:hover, .rpk24-sub-arrow:hover { background:rgba(11,47,94,.93); transform:translateY(-50%) scale(1.05); }
.rpk24-hero-prev, .rpk24-sub-prev { left:16px; } .rpk24-hero-next, .rpk24-sub-next { right:16px; }
/* ไม่มีแถบสีขาวใต้แบนเนอร์: ย้ายจุดเลือกภาพไปซ้อนบนรูปอย่างเรียบร้อย */
.rpk24-hero-meta { position:absolute; z-index:6; inset:auto 0 0; display:flex; align-items:center; justify-content:center; gap:16px; min-height:36px; padding:6px 14px 9px; background:transparent; border:0; border-radius:0; box-shadow:none; pointer-events:none; }
.rpk24-hero-meta-text { display:none; }
.rpk24-hero-dots { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; pointer-events:auto; }
.rpk24-hero-dot { width:23px; height:8px; border-radius:99px; background:rgba(255,255,255,.78); border:1px solid rgba(10,30,65,.32); cursor:pointer; box-shadow:0 1px 5px rgba(0,0,0,.45); transition:width .2s,background .2s; }
.rpk24-hero-dot.is-active { width:38px; background:#efb635; border-color:#efb635; }

.rpk24-home-main { padding-bottom:50px; }
.rpk24-section-heading { margin-bottom:19px; }
.rpk24-section-heading h1 { font-size:clamp(22px,2.25vw,28px); letter-spacing:-.3px; line-height:1.4; font-weight:800; color:#1c3966; margin:2px 0 0; }
.rpk24-heading-inline { display:flex; justify-content:space-between; align-items:end; gap:15px; }
.rpk24-heading-inline > p { color:var(--rpk-muted); font-size:13px; padding-bottom:3px; }
.rpk24-eyebrow { color:#bd861b; text-transform:uppercase; letter-spacing:1.6px; font-size:10px; font-weight:800; }
.rpk24-shortcuts-section { padding-top:34px; padding-bottom:36px; }
.rpk24-shortcuts { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.rpk24-shortcut { min-height:126px; min-width:0; padding:19px 13px 16px; border:1px solid var(--rpk-line); border-radius:18px; background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; position:relative; text-decoration:none; box-shadow:0 5px 16px rgba(32,61,101,.035); transition:transform .2s,box-shadow .2s,border-color .2s; }
.rpk24-shortcut:hover { border-color:#9eb9df; transform:translateY(-3px); box-shadow:0 13px 26px rgba(32,61,101,.1); }
.rpk24-shortcut-icon { width:48px; height:48px; background:linear-gradient(150deg,#e5effe,#f4f7ff); color:#1c529a; display:grid; place-items:center; border-radius:15px; font-size:20px; }
.rpk24-shortcut-copy { text-align:center; display:flex; flex-direction:column; gap:2px; }
.rpk24-shortcut-copy strong { color:#243c60; font-size:14px; font-weight:800; }
.rpk24-shortcut-copy small { color:#75839a; font-size:10.5px; }
.rpk24-shortcut-arrow { position:absolute; top:13px; right:13px; font-size:10px; color:#b9c7d8; opacity:0; transition:opacity .2s; }
.rpk24-shortcut:hover .rpk24-shortcut-arrow { opacity:1; }

.rpk24-home-layout { display:grid; grid-template-columns:minmax(0,1fr) 294px; gap:26px; align-items:start; }
.rpk24-home-primary { display:grid; gap:25px; min-width:0; }
.rpk24-home-aside { min-width:0; }
.rpk24-home-aside > div { width:100%!important; max-width:100%; }
/* หน้าแรกมีสารจากผู้อำนวยการและเมนูเอกสารอยู่แล้ว จึงซ่อนการ์ดซ้ำเฉพาะหน้าแรก */
.rpk24-home-aside > div > div:first-child { display:none; }
.rpk24-home-aside > div > a[href="download.php"] { display:none; }
.rpk24-panel { min-width:0; padding:27px; background:#fff; border:1px solid #e7edf6; border-radius:21px; box-shadow:0 8px 25px rgba(34,64,103,.045); }
.rpk24-panel-heading { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:22px; }
.rpk24-panel-heading h2 { font-size:clamp(19px,2vw,24px); line-height:1.35; font-weight:800; color:#1e3f71; margin:3px 0 0; }
.rpk24-panel-heading h2 i { color:#e2aa36; font-size:.83em; margin-right:6px; }
.rpk24-panel-heading p { font-size:12px; color:#72819a; margin-top:5px; }
.rpk24-more-link { flex-shrink:0; display:inline-flex; align-items:center; gap:7px; color:#1f569b; font-weight:750; font-size:12px; white-space:nowrap; text-decoration:none; border-radius:8px; }
.rpk24-more-link:hover { text-decoration:underline; color:#163d78; }
.rpk24-more-link i { font-size:10px; }
.rpk24-empty { padding:35px 10px; text-align:center; color:#8592a3; font-size:14px; width:100%; }

.rpk24-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.rpk24-story-card { min-width:0; border:1px solid #e5ebf4; border-radius:14px; overflow:hidden; background:#fff; transition:border-color .2s,box-shadow .2s,transform .2s; }
.rpk24-story-card:hover { border-color:#b0cae9; transform:translateY(-2px); box-shadow:0 10px 20px rgba(18,51,99,.09); }
.rpk24-story-link { display:flex; flex-direction:column; height:100%; text-decoration:none; }
.rpk24-story-image { position:relative; aspect-ratio: 16/10; background:#e7effa; overflow:hidden; }
.rpk24-story-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.rpk24-story-card:hover img { transform:scale(1.04); }
.rpk24-story-badge { position:absolute; bottom:9px; left:10px; font-weight:750; font-size:10px; border-radius:7px; padding:4px 8px; color:#fff; background:rgba(24,61,116,.94); }
.rpk24-media-fallback { height:100%; width:100%; display:grid; place-items:center; color:#7392b9; background:linear-gradient(135deg,#edf2fa,#dae8f6); font-size:34px; }
.rpk24-story-copy { padding:14px 14px 13px; display:flex; flex-direction:column; gap:10px; flex:1; }
.rpk24-story-copy h3 { font-size:13px; line-height:1.65; color:#293d5b; font-weight:750; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:42px; }
.rpk24-story-card:hover h3 { color:#1f569b; }
.rpk24-story-date { color:#8793a3; font-size:11px; margin-top:auto; }
.rpk24-story-date i { margin-right:4px; }

.rpk24-director { padding:29px; display:grid; grid-template-columns:188px minmax(0,1fr); align-items:center; gap:25px; background:linear-gradient(115deg,#133665,#214c86); border:1px solid #214a81; border-radius:21px; box-shadow:0 12px 26px rgba(20,60,112,.14); position:relative; overflow:hidden; }
.rpk24-director::after { content:""; position:absolute; right:-65px; bottom:-140px; width:320px; height:320px; border-radius:50%; border:44px solid rgba(255,255,255,.045); pointer-events:none; }
.rpk24-director-photo { width:188px; height:222px; background:rgba(255,255,255,.12); border:3px solid rgba(255,255,255,.28); border-radius:17px; overflow:hidden; display:grid; place-items:center; color:rgba(255,255,255,.75); font-size:70px; }
.rpk24-director-photo img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.rpk24-director-body { min-width:0; position:relative; z-index:1; }
.rpk24-director .rpk24-eyebrow { color:#f2cb70; }
.rpk24-director h2 { font-size:clamp(21px,2.4vw,28px); line-height:1.32; font-weight:800; color:#fff; margin:5px 0 3px; }
.rpk24-director-name { font-size:17px; color:#ffd376; font-weight:700; margin-bottom:10px; }
.rpk24-director-message { color:#e7effa; font-size:13px; line-height:1.85; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.rpk24-vision { margin-top:16px; padding:11px 13px; display:flex; gap:9px; border-radius:10px; background:rgba(6,22,48,.24); color:#f1f5fd; font-size:11.5px; line-height:1.65; }
.rpk24-vision i { margin-top:3px; color:#f0c358; }
.rpk24-vision span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rpk24-vision strong { color:#f8d176; margin-right:4px; }
.rpk24-director-link { display:inline-flex; align-items:center; gap:8px; margin-top:14px; color:#ffd47a; font-size:12px; font-weight:750; }
.rpk24-director-link:hover { color:#fff; text-decoration:underline; }

.rpk24-sub-section { padding-bottom:22px; }
.rpk24-subslider { display:block; position:relative; width:100%; aspect-ratio:var(--rpk24-sub-ratio,16 / 9); min-height:0; max-height:none; overflow:hidden; border:0; border-radius:0; background:transparent; }
.rpk24-sub-arrow { width:33px; height:33px; font-size:11px; }
.rpk24-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.rpk24-gallery-card { border:1px solid var(--rpk-line); border-radius:13px; overflow:hidden; text-decoration:none; background:#fff; transition:transform .2s,box-shadow .2s; min-width:0; }
.rpk24-gallery-card:hover { transform:translateY(-2px); box-shadow:0 10px 21px rgba(34,64,103,.11); }
.rpk24-gallery-photo { aspect-ratio:16/10; background:#e8f0fc; overflow:hidden; }
.rpk24-gallery-photo img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.rpk24-gallery-card:hover img { transform:scale(1.04); }
.rpk24-gallery-copy { padding:11px 13px 14px; display:flex; flex-direction:column; gap:6px; }
.rpk24-gallery-copy strong { color:#253b5d; font-size:12px; font-weight:700; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rpk24-gallery-copy small { color:#8290a2; font-size:10px; }
.rpk24-newsletter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.rpk24-newsletter-card { min-width:0; text-decoration:none; }
.rpk24-newsletter-cover { overflow:hidden; border:1px solid #e5ebf4; border-radius:12px; aspect-ratio:3/4; background:#eef3fb; box-shadow:0 3px 9px rgba(12,52,94,.07); }
.rpk24-newsletter-cover img { width:100%; height:100%; object-fit:contain; background:#f8fafc; transition:transform .3s; }
.rpk24-newsletter-card:hover img { transform:scale(1.03); }
.rpk24-newsletter-card strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:9px; line-height:1.55; color:#35445c; font-size:11.5px; font-weight:650; text-align:center; }

.rpk24-systems-panel { scroll-margin-top:100px; }
.rpk24-systems-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.rpk24-systems-grid a { display:flex; align-items:center; gap:12px; min-width:0; background:#f3f7fd; border:1px solid #e1eaf6; padding:12px; border-radius:11px; color:#234b81; font-size:12px; font-weight:700; transition:background .2s,border-color .2s; }
.rpk24-systems-grid a:hover { background:#e9f2fe; border-color:#abc6e7; }
.rpk24-systems-grid a > i:first-child { font-size:16px; color:#3573ba; }
.rpk24-systems-grid a span { flex:1; min-width:0; }
.rpk24-systems-grid a > i:last-child { color:#7f9abe; font-size:10px; }
.rpk24-service-fallback { background:#f7faff; border:1px dashed #c9d9ef; border-radius:10px; padding:18px; color:#536984; font-size:13px; line-height:1.8; margin-bottom:13px; }
.rpk24-service-fallback i { margin-right:6px; color:#4785c2; }
.rpk24-resources-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:stretch; }
.rpk24-resources-grid .rpk24-panel { padding:24px; }
.rpk24-resource .rpk24-panel-heading { margin-bottom:15px; }
.rpk24-resource .rpk24-panel-heading h2 { font-size:17px; }
.rpk24-video-frame { aspect-ratio:16/9; border-radius:11px; background:#0d294d; position:relative; overflow:hidden; }
.rpk24-video-launch { display:block; width:100%; height:100%; position:relative; }
.rpk24-video-launch img { width:100%; height:100%; object-fit:cover; opacity:.8; }
.rpk24-video-launch > span { position:absolute; width:58px; height:58px; border-radius:50%; background:#e31a22; color:#fff; display:grid; place-items:center; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:0 8px 22px rgba(0,0,0,.28); }
.rpk24-video-launch:hover > span { background:#b70c14; }
.rpk24-video-frame iframe { width:100%; height:100%; border:0; }
.rpk24-resource-note { font-size:11px; color:#8090a5; margin-top:10px; }
.rpk24-resource-icon { height:96px; display:grid; place-items:center; background:#f0f6ff; border-radius:10px; color:#2867ad; font-size:40px; margin-bottom:13px; }
.rpk24-resource > p:not(.rpk24-resource-note) { font-size:12px; color:#6a7b93; line-height:1.8; }
.rpk24-resource-link { display:inline-block; margin-top:17px; font-size:12px; color:#1f5598; font-weight:800; }
.rpk24-resource-link:hover { text-decoration:underline; }
.rpk24-resource-link i { margin-left:5px; font-size:10px; }
.rpk24-edu-feed { min-height:190px; background:#f8fbff; border:1px solid #e3edf9; padding:7px 13px; border-radius:12px; }
.rpk24-edu-loading, .rpk24-edu-error { padding:16px 6px; color:#667b95; line-height:1.75; font-size:12px; }
.rpk24-edu-article { display:block; text-decoration:none; padding:12px 4px; border-bottom:1px solid #e1ebf7; }
.rpk24-edu-article:last-child { border-bottom:none; }
.rpk24-edu-title { display:block; color:#213e67; line-height:1.65; font-size:12px; font-weight:700; }
.rpk24-edu-article:hover .rpk24-edu-title { color:#1456a3; text-decoration:underline; }
.rpk24-edu-date { display:block; margin-top:4px; font-size:10px; color:#8392a7; }
.rpk24-map-frame { width:100%; height:310px; overflow:hidden; border-radius:13px; border:1px solid #e1e7f1; background:#e9f0f9; }
.rpk24-map-frame iframe { width:100%; height:100%; border:0; display:block; }
.rpk24-map-foot { margin-top:13px; display:flex; align-items:center; gap:15px; justify-content:space-between; flex-wrap:wrap; color:#596d87; font-size:12px; }
.rpk24-map-foot > span > i { color:#d99c20; margin-right:6px; }


.rpk24-welcome-modal[hidden] { display:none!important; }
.rpk24-welcome-modal { position:fixed; inset:0; z-index:12000; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(9,25,49,.82); }
.rpk24-welcome-inner { position:relative; max-width:min(95vw,940px); max-height:88vh; }
.rpk24-welcome-inner img { display:block; max-width:100%; max-height:85vh; height:auto; width:auto; border-radius:12px; box-shadow:0 30px 65px rgba(0,0,0,.35); }
.rpk24-welcome-close { position:absolute; right:-13px; top:-13px; width:38px; height:38px; display:grid; place-items:center; background:#fff; color:#173d78; border:2px solid #e8eef6; border-radius:50%; cursor:pointer; }
.rpk24-welcome-close:hover { background:#fee6e5; color:#a5191f; }

@media (max-width:1200px) {
  .rpk24-home-layout { grid-template-columns:minmax(0,1fr) 265px; gap:20px; }
  .rpk24-shortcuts { gap:10px; }
  .rpk24-shortcut { padding-left:7px; padding-right:7px; }
  .rpk24-news-grid { gap:12px; }
}
@media (max-width:1023px) {
  .rpk24-home-layout { grid-template-columns:minmax(0,1fr); }
  .rpk24-home-aside > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; align-items:start; }
  .rpk24-home-aside > div > * { margin-bottom:0!important; min-width:0; }
  .rpk24-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .rpk24-shortcut { min-height:112px; }
  /* ไม่บังคับสัดส่วนบนจอแท็บเล็ต: ให้ตามภาพจริง */
}
@media (max-width:700px) {
  .rpk24-container { width:min(100% - 26px,1400px); }
  .rpk24-newsbar-inner { gap:9px; min-height:47px; }
  .rpk24-newsbar-label { padding:6px 9px; font-size:10px; }
  .rpk24-newsbar-date { display:none; }
  .rpk24-newsbar-all { display:none; }
  .rpk24-ticker-link { font-size:11px; }
  .rpk24-ticker-track { animation-duration:52s; }
  .rpk24-hero-region { padding:0; }
  .rpk24-hero-region > .rpk24-container { width:100%; max-width:none; }
  .rpk24-hero { min-height:0; max-height:none; border-radius:0; }
  .rpk24-hero-arrow { height:32px; width:32px; font-size:11px; }
  .rpk24-hero-prev { left:7px; } .rpk24-hero-next { right:7px; }
  .rpk24-hero-meta { padding:5px 8px; min-height:24px; }
  .rpk24-hero-meta-text { display:none; }
  .rpk24-hero-dot { width:13px; height:6px; }
  .rpk24-hero-dot.is-active { width:25px; }
  .rpk24-shortcuts-section { padding-top:25px; padding-bottom:24px; }
  .rpk24-heading-inline { align-items:start; }
  .rpk24-heading-inline > p { display:none; }
  .rpk24-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
  .rpk24-shortcut { min-height:105px; border-radius:12px; padding:12px 5px; }
  .rpk24-shortcut-icon { width:41px; height:41px; border-radius:12px; font-size:18px; }
  .rpk24-shortcut-copy strong { font-size:12px; }
  .rpk24-shortcut-copy small { font-size:9px; }
  .rpk24-shortcut-arrow { display:none; }
  .rpk24-home-primary { gap:16px; }
  .rpk24-panel { padding:17px; border-radius:16px; }
  .rpk24-panel-heading { margin-bottom:16px; align-items:end; gap:9px; }
  .rpk24-panel-heading h2 { font-size:20px; }
  .rpk24-panel-heading p { display:none; }
  .rpk24-more-link { font-size:11px; }
  .rpk24-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .rpk24-story-copy { padding:10px; }
  .rpk24-story-copy h3 { font-size:12px; }
  .rpk24-story-badge { font-size:9px; padding:3px 6px; }
  .rpk24-director { grid-template-columns:95px minmax(0,1fr); gap:13px; padding:17px; border-radius:16px; align-items:start; }
  .rpk24-director-photo { width:95px; height:120px; border-radius:11px; }
  .rpk24-director h2 { font-size:19px; }
  .rpk24-director-name { font-size:13px; margin-bottom:5px; }
  .rpk24-director-message { font-size:11.5px; -webkit-line-clamp:3; }
  .rpk24-vision { grid-column:1/-1; padding:9px; margin-top:10px; }
  .rpk24-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .rpk24-newsletter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
  .rpk24-resources-grid { grid-template-columns:1fr; gap:16px; }
  .rpk24-home-aside > div { grid-template-columns:1fr; }
  .rpk24-systems-grid { grid-template-columns:1fr; }
  .rpk24-subslider { aspect-ratio:var(--rpk24-sub-ratio,16 / 9); }
  .rpk24-map-frame { height:260px; }
}
@media (max-width:390px) {
  .rpk24-news-grid { grid-template-columns:1fr; }
  .rpk24-director { grid-template-columns:1fr; }
  .rpk24-director-photo { width:105px; height:133px; margin:auto; }
}
@media (prefers-reduced-motion:reduce) {
  .rpk24-ticker-track { animation:none!important; }
  .rpk24-ticker-viewport { overflow-x:auto; }
  .rpk24-ticker-group[aria-hidden="true"] { display:none; }
  .rpk-homepage *, .rpk-homepage *::before, .rpk-homepage *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}

/* === RPK24 V1.4.4 TikTok gallery === */
.rpk24-tiktok-section{overflow:hidden}
.rpk24-tiktok-heading{align-items:center}
.rpk24-tiktok-heading h2 i{color:#0f1e30}
.rpk24-tiktok-follow{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;padding:10px 15px;text-decoration:none;color:#fff!important;background:#0e1e35;border-radius:10px;font-weight:800;font-size:12px;box-shadow:3px 3px 0 #f15b85,-3px -3px 0 #44e6ed;transition:transform .2s}
.rpk24-tiktok-follow:hover{transform:translateY(-2px)}
.rpk24-tiktok-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.rpk24-tiktok-card{min-width:0;border:1px solid #e3eaf4;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 5px 15px rgba(19,46,85,.05)}
.rpk24-tiktok-visual{width:100%;aspect-ratio:9/16;background:#0b1c31;position:relative;overflow:hidden}
.rpk24-tiktok-activate{display:block;position:relative;width:100%;height:100%;border:0;padding:0;margin:0;cursor:pointer;color:#fff;background:transparent;text-decoration:none}
.rpk24-tiktok-activate>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.rpk24-tiktok-activate:hover>img{transform:scale(1.04)}
.rpk24-tiktok-activate:focus-visible{outline:3px solid #ed4979;outline-offset:-3px}
.rpk24-tiktok-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;background:radial-gradient(circle at 80% 20%,#253d67,transparent 45%),linear-gradient(150deg,#070b13,#17294d 60%,#16213e);text-align:center}
.rpk24-tiktok-placeholder>i{font-size:clamp(44px,6vw,70px);text-shadow:-4px -2px 0 #33e1ed,4px 2px 0 #ef4274}
.rpk24-tiktok-placeholder>span{font-size:clamp(14px,2.6vw,21px);font-weight:900;line-height:1.5}
.rpk24-tiktok-visual .rpk24-tiktok-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(7,15,29,.78);color:#fff;border:2px solid rgba(255,255,255,.75);font-size:23px;box-shadow:0 8px 25px rgba(0,0,0,.25)}
.rpk24-tiktok-visual .rpk24-tiktok-tag{position:absolute;left:10px;bottom:12px;color:#fff;font-size:10px;font-weight:700;border-radius:6px;background:rgba(5,14,27,.8);padding:5px 8px}
.rpk24-tiktok-details{padding:11px 11px 13px}
.rpk24-tiktok-details h3{font-size:12px;font-weight:800;line-height:1.55;min-height:38px;color:#233c5c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 6px}
.rpk24-tiktok-details a{font-size:10.5px;color:#1f5f9e;text-decoration:none;font-weight:700}
.rpk24-tiktok-details a:hover{text-decoration:underline}
.rpk24-tiktok-player{display:block;border:0;width:100%;height:100%;background:#101820;position:absolute;inset:0}
.rpk24-tiktok-privacy{font-size:11px;color:#7386a0;margin:15px 0 0;line-height:1.7}
.rpk24-tiktok-empty{min-height:165px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;color:#526582;text-align:center;border:1px dashed #cad9ed;border-radius:13px;background:#f7fafe;padding:20px}
.rpk24-tiktok-empty>i{font-size:35px;color:#1e3e70}
.rpk24-tiktok-empty a{font-weight:800;color:#1555a0}
@media(max-width:850px){.rpk24-tiktok-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:700px){.rpk24-tiktok-heading{align-items:flex-start;flex-direction:column}.rpk24-tiktok-follow{font-size:11px}.rpk24-tiktok-details h3{font-size:11px}.rpk24-tiktok-visual .rpk24-tiktok-play{width:46px;height:46px;font-size:18px}}
@media(max-width:390px){.rpk24-tiktok-grid{gap:8px}.rpk24-tiktok-details{padding:9px}.rpk24-tiktok-visual .rpk24-tiktok-tag{font-size:9px;left:7px}}

/* === V1.4.6: TikTok embed fills the ENTIRE available primary-column card ===
   TikTok controls the internals of its cross-origin iframe. This removes local
   width limits and asks the iframe to fill the space, without cropping video. */
.rpk-homepage #rpk24-tiktok.rpk24-tiktok-auto-section { overflow:visible; }
.rpk-homepage .rpk24-tiktok-auto-frame {
  width:100%; max-width:none; min-width:0;
  padding:12px; border:1px solid #e1e9f4; border-radius:15px;
  background:#f9fbff; overflow:hidden;
}
.rpk-homepage .rpk24-tiktok-auto-caption {
  width:100%; max-width:none; margin:0 0 12px;
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
}
.rpk-homepage .rpk24-tiktok-auto-live {
  font-size:12px; font-weight:800; color:#1a467f;
  display:inline-flex; align-items:center; gap:8px;
}
.rpk-homepage .rpk24-tiktok-auto-live i { color:#20a99f; }
.rpk-homepage .rpk24-tiktok-auto-handle { font-weight:800; font-size:12px; color:#42577b; }
.rpk-homepage .rpk24-tiktok-creator-holder {
  display:block; width:100%; max-width:100%; min-width:0;
  margin:0; min-height:360px; overflow:hidden;
}
.rpk-homepage .rpk24-tiktok-creator-holder blockquote.tiktok-embed {
  display:block!important; width:100%!important; max-width:100%!important;
  min-width:0!important; margin:0!important;
}
.rpk-homepage .rpk24-tiktok-creator-holder iframe {
  display:block; width:100%!important; max-width:100%!important;
  min-width:0!important; margin:0 auto!important;
  border:0;
}
.rpk-homepage .rpk24-tiktok-auto-fallback {
  max-width:none; width:100%; margin:12px 0 0;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap; padding-top:13px; border-top:1px solid #e4eaf3;
}
.rpk-homepage .rpk24-tiktok-auto-fallback span {
  color:#61718b; font-size:11.5px; line-height:1.7; flex:1; min-width:200px;
}
.rpk-homepage .rpk24-tiktok-auto-fallback a {
  white-space:nowrap; color:#174f9d; font-size:12px;
  font-weight:800; text-decoration:none;
}
.rpk-homepage .rpk24-tiktok-auto-fallback a:hover { text-decoration:underline; }
@media(max-width:700px) {
  .rpk-homepage .rpk24-tiktok-auto-frame { padding:8px 4px; border-radius:11px; }
  .rpk-homepage .rpk24-tiktok-auto-caption { padding:0 5px; gap:8px; }
  .rpk-homepage .rpk24-tiktok-auto-live,
  .rpk-homepage .rpk24-tiktok-auto-handle { font-size:11px; }
  .rpk-homepage .rpk24-tiktok-creator-holder { min-height:290px; }
  .rpk-homepage .rpk24-tiktok-auto-fallback span { min-width:0; }
}


/* ===== RPK24 V1.4.7: visually expand official creator iframe =====
   TikTok owns its iframe contents, so 100% iframe width alone leaves a blank area.
   The companion JS scales the WHOLE official iframe, keeping TikTok controls active.
   Only applied to the homepage creator profile, never to other iframes. */
.rpk-homepage #rpk24-tiktok-creator-holder {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: visible;
}
.rpk-homepage #rpk24-tiktok-creator-holder iframe {
  width: 780px !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  transform-origin: top left !important;
  display: block;
}
@media (max-width: 800px) {
  .rpk-homepage #rpk24-tiktok-creator-holder iframe {
    width: 100% !important;
    transform: none !important;
  }
}
