
:root {
  --primary: #2F6B5E;
  --primary-light: #E8F0ED;
  --bg: #FDFBF7;
  --bg-alt: #F5F2ED;
  --gold: #D4AF37;
  --gold-dark: #B8962E;
  --text: #2E2E2E;
  --text-light: #5C5C5C;
  --text-muted: #8A8A8A;
  --border: #E8E4DE;
  --shadow-sm: 0 2px 8px rgba(0,0,0,.04);
  --shadow-md: 0 8px 24px rgba(0,0,0,.06);
  --shadow-lg: 0 16px 40px rgba(0,0,0,.08);
  --radius: 16px;
  --radius-sm: 8px;
  --max-w: 1200px;
  --nav-h: 72px;
  --transition: .3s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans SC','Inter',sans-serif;color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);transition:var(--transition)}
.nav.scrolled{background:rgba(253,251,247,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:space-between}
.nav-brand{display:flex;align-items:center;gap:8px}
.nav-logo{font-family:'Noto Serif SC',serif;font-size:26px;font-weight:900;color:var(--primary)}
.nav-seal{font-size:11px;color:var(--gold);border:1.5px solid var(--gold);padding:2px 6px;border-radius:3px;letter-spacing:1px;line-height:1.2}
.nav-menu{display:flex;gap:28px;align-items:center}
.nav-menu a{font-size:15px;font-weight:500;padding:4px 0;position:relative;transition:var(--transition)}
.nav-menu a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--gold);transition:var(--transition)}
.nav-menu a:hover::after{width:100%}
.nav-menu a.active{color:var(--primary)}
.nav-right{display:flex;align-items:center;gap:16px}
.nav-search{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-light);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.nav-search:hover{background:var(--primary-light);color:var(--primary)}
.nav-cta{background:var(--gold);color:#fff;padding:10px 24px;border-radius:50px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:var(--transition)}
.nav-cta:hover{background:var(--gold-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,175,55,.3)}

/* ===== HERO ===== */
.hero{padding-top:calc(var(--nav-h) + 60px);padding-bottom:80px;min-height:90vh;display:flex;align-items:center}
.hero-inner{display:grid;grid-template-columns:45% 55%;gap:48px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--primary-light);color:var(--primary);padding:6px 16px;border-radius:50px;font-size:13px;font-weight:500;margin-bottom:20px}
.hero-badge i{color:var(--gold);font-size:11px}
.hero-title{font-family:'Noto Serif SC',serif;font-size:48px;font-weight:900;line-height:1.2;color:var(--primary);margin-bottom:16px}
.hero-title .gold{color:var(--gold)}
.hero-sub{font-size:17px;color:var(--text-light);margin-bottom:32px;line-height:1.8}
.hero-buttons{display:flex;gap:16px;margin-bottom:48px}
.btn-primary{background:var(--primary);color:#fff;padding:14px 32px;border-radius:50px;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:8px}
.btn-primary:hover{background:#245a4f;transform:translateY(-2px);box-shadow:0 8px 24px rgba(47,107,94,.3)}
.btn-outline{background:transparent;color:var(--primary);padding:14px 32px;border-radius:50px;font-size:15px;font-weight:600;border:2px solid var(--primary);cursor:pointer;transition:var(--transition)}
.btn-outline:hover{background:var(--primary);color:#fff}
.hero-stats{display:flex;gap:40px}
.hero-stat{text-align:left}
.hero-stat-num{font-family:'Noto Serif SC',serif;font-size:32px;font-weight:900;color:var(--gold)}
.hero-stat-num span{font-size:18px;color:var(--gold-dark)}
.hero-stat-label{font-size:13px;color:var(--text-muted);margin-top:2px}
.hero-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;position:relative}
.hero-card-img{width:100%;height:320px;object-fit:cover}
.hero-card-badge{position:absolute;top:16px;right:16px;background:var(--gold);color:#fff;padding:4px 14px;border-radius:50px;font-size:12px;font-weight:600}
.hero-card-body{padding:24px}
.hero-card-cat{font-size:12px;color:var(--gold);font-weight:600;margin-bottom:8px}
.hero-card-title{font-size:18px;font-weight:700;margin-bottom:8px;line-height:1.5}
.hero-card-excerpt{font-size:14px;color:var(--text-light);line-height:1.7}
.hero-card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:13px;color:var(--text-muted)}

/* ===== SECTION COMMON ===== */
.section{padding:80px 0}
.section-header{text-align:center;margin-bottom:48px}
.section-tag{display:inline-block;font-size:12px;font-weight:600;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}
.section-title{font-family:'Noto Serif SC',serif;font-size:32px;font-weight:900;color:var(--primary);margin-bottom:12px}
.section-desc{font-size:15px;color:var(--text-muted);max-width:560px;margin:0 auto}

/* ===== CORE VALUES ===== */
.core-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.core-card{background:#fff;border-radius:var(--radius);padding:36px 28px;text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid transparent}
.core-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--gold)}
.core-icon{width:64px;height:64px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:24px;color:var(--primary);transition:var(--transition)}
.core-card:hover .core-icon{background:var(--primary);color:#fff}
.core-title{font-size:18px;font-weight:700;margin-bottom:8px}
.core-desc{font-size:14px;color:var(--text-light);line-height:1.7}

/* ===== TEACHERS ===== */
.teacher-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.teacher-card{text-align:center;transition:var(--transition)}
.teacher-card:hover{transform:translateY(-4px)}
.teacher-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:4px solid #fff;box-shadow:var(--shadow-md);transition:var(--transition)}
.teacher-card:hover .teacher-avatar{border-color:var(--gold);box-shadow:0 8px 24px rgba(212,175,55,.2)}
.teacher-name{font-size:16px;font-weight:700;margin-bottom:4px}
.teacher-title{font-size:13px;color:var(--text-muted);margin-bottom:8px}
.teacher-sign{width:40px;height:2px;background:var(--gold);margin:0 auto 8px}
.teacher-badge{display:inline-block;font-size:11px;color:var(--gold);border:1px solid var(--gold);padding:2px 10px;border-radius:50px}

/* ===== COURSES ===== */
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.course-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--border)}
.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--gold)}
.course-img{width:100%;height:200px;object-fit:cover;transition:var(--transition)}
.course-card:hover .course-img{transform:scale(1.03)}
.course-img-wrap{overflow:hidden;position:relative}
.course-cat{position:absolute;top:12px;left:12px;background:var(--primary);color:#fff;padding:4px 12px;border-radius:50px;font-size:11px;font-weight:600}
.course-body{padding:20px}
.course-title{font-size:17px;font-weight:700;margin-bottom:8px;line-height:1.5}
.course-meta{font-size:13px;color:var(--text-muted);margin-bottom:12px;display:flex;gap:16px}
.course-meta i{margin-right:4px;color:var(--gold)}
.course-price{font-size:20px;font-weight:900;color:var(--gold);margin-bottom:12px}
.course-price small{font-size:13px;font-weight:400;color:var(--text-muted);text-decoration:line-through;margin-left:8px}
.course-btn{display:block;text-align:center;padding:10px;background:var(--primary-light);color:var(--primary);border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:var(--transition)}
.course-btn:hover{background:var(--primary);color:#fff}

/* ===== ARTICLES ===== */
.article-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:20px}
.article-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid transparent}
.article-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.article-card.featured{grid-row:span 2}
.article-card.featured .article-img{height:100%;min-height:400px}
.article-img{width:100%;height:180px;object-fit:cover}
.article-body{padding:16px 20px}
.article-tag{display:inline-block;font-size:11px;font-weight:600;color:var(--gold);background:rgba(212,175,55,.1);padding:3px 10px;border-radius:50px;margin-bottom:8px}
.article-title{font-size:15px;font-weight:700;margin-bottom:6px;line-height:1.5}
.article-excerpt{font-size:13px;color:var(--text-light);line-height:1.6;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.article-date{font-size:12px;color:var(--text-muted)}
.article-mini{display:flex;gap:12px;padding:12px 20px;border-top:1px solid var(--border);align-items:center}
.article-mini-img{width:80px;height:60px;border-radius:8px;object-fit:cover;flex-shrink:0}
.article-mini-title{font-size:14px;font-weight:600;line-height:1.4}

/* ===== TIMELINE + TESTIMONIALS ===== */
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.testimonial-card{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:16px;position:relative}
.testimonial-card::before{content:'\201C';position:absolute;top:12px;right:20px;font-size:48px;color:var(--gold);opacity:.2;font-family:serif;line-height:1}
.testimonial-stars{color:var(--gold);font-size:13px;margin-bottom:8px}
.testimonial-text{font-size:14px;color:var(--text-light);line-height:1.7;margin-bottom:12px}
.testimonial-author{display:flex;align-items:center;gap:12px}
.testimonial-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}
.testimonial-name{font-size:14px;font-weight:600}
.testimonial-role{font-size:12px;color:var(--text-muted)}

.timeline{position:relative;padding-left:32px}
.timeline::before{content:'';position:absolute;left:11px;top:0;bottom:0;width:2px;background:var(--border)}
.timeline-item{position:relative;padding-bottom:32px}
.timeline-item:last-child{padding-bottom:0}
.timeline-dot{position:absolute;left:-32px;top:4px;width:24px;height:24px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;border:3px solid var(--bg);box-shadow:0 0 0 2px var(--primary-light)}
.timeline-title{font-size:16px;font-weight:700;margin-bottom:4px}
.timeline-desc{font-size:13px;color:var(--text-light);line-height:1.6}

/* ===== HERITAGE ===== */
.heritage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.heritage-card{background:linear-gradient(135deg,var(--primary),#1a4a3e);border-radius:var(--radius);padding:28px 20px;color:#fff;text-align:center;transition:var(--transition)}
.heritage-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(47,107,94,.3)}
.heritage-num{font-family:'Noto Serif SC',serif;font-size:36px;font-weight:900;color:var(--gold);margin-bottom:8px}
.heritage-title{font-size:16px;font-weight:700;margin-bottom:8px}
.heritage-desc{font-size:13px;opacity:.8;line-height:1.6}

/* ===== GALLERY ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gallery-item{border-radius:var(--radius-sm);overflow:hidden;position:relative;cursor:pointer;aspect-ratio:1}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-overlay{position:absolute;inset:0;background:rgba(47,107,94,0);display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.gallery-item:hover .gallery-overlay{background:rgba(47,107,94,.6)}
.gallery-overlay i{color:#fff;font-size:24px;opacity:0;transform:scale(.5);transition:var(--transition)}
.gallery-item:hover .gallery-overlay i{opacity:1;transform:scale(1)}

/* ===== FAQ ===== */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:12px;overflow:hidden;transition:var(--transition)}
.faq-item.active{border-color:var(--gold)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;cursor:pointer;font-weight:600;font-size:15px;transition:var(--transition)}
.faq-q:hover{color:var(--primary)}
.faq-q i{color:var(--gold);transition:var(--transition);font-size:13px}
.faq-item.active .faq-q i{transform:rotate(180deg)}
.faq-a{padding:0 24px;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}
.faq-item.active .faq-a{max-height:300px;padding:0 24px 18px}
.faq-a p{font-size:14px;color:var(--text-light);line-height:1.8}

/* ===== PARTNERS ===== */
.partner-row{display:flex;justify-content:center;align-items:center;gap:48px;flex-wrap:wrap}
.partner-item{width:120px;height:60px;background:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);padding:12px;transition:var(--transition);filter:grayscale(1);opacity:.6}
.partner-item:hover{filter:none;opacity:1;box-shadow:var(--shadow-md)}

/* ===== CTA ===== */
.cta-section{background:linear-gradient(135deg,var(--primary),#1a4a3e);padding:64px 0;text-align:center;color:#fff}
.cta-title{font-family:'Noto Serif SC',serif;font-size:32px;font-weight:900;margin-bottom:16px}
.cta-desc{font-size:16px;opacity:.8;margin-bottom:32px;max-width:480px;margin-left:auto;margin-right:auto}
.cta-btn{background:var(--gold);color:#fff;padding:16px 48px;border-radius:50px;font-size:17px;font-weight:700;border:none;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:10px}
.cta-btn:hover{background:var(--gold-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(212,175,55,.4)}

/* ===== FOOTER ===== */
.footer{background:#1a1a1a;color:rgba(255,255,255,.7);padding:60px 0 0;position:relative}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--primary),var(--gold))}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand{font-family:'Noto Serif SC',serif;font-size:22px;font-weight:900;color:#fff;margin-bottom:16px}
.footer-desc{font-size:14px;line-height:1.8;margin-bottom:20px}
.footer-qr{width:100px;height:100px;border-radius:8px;background:#fff;padding:8px}
.footer-qr img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.footer-col-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:16px}
.footer-links{list-style:none}
.footer-links li{margin-bottom:10px}
.footer-links a{font-size:14px;transition:var(--transition)}
.footer-links a:hover{color:var(--gold)}
.footer-contact-item{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;font-size:14px}
.footer-contact-item i{color:var(--gold);margin-top:3px;font-size:13px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:13px;color:rgba(255,255,255,.4)}
.footer-quote{font-family:'Noto Serif SC',serif;font-style:italic;font-size:12px;color:rgba(255,255,255,.25)}

/* ===== FLOATING BAR ===== */
.float-bar{position:fixed;right:24px;bottom:24px;z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.float-toggle{width:52px;height:52px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:var(--transition)}
.float-toggle:hover{background:var(--gold);transform:scale(1.05)}
.float-panel{background:#fff;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-lg);display:none;width:240px}
.float-panel.show{display:block}
.float-panel-title{font-size:14px;font-weight:700;margin-bottom:12px;color:var(--primary)}
.float-link{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;transition:var(--transition)}
.float-link:hover{color:var(--primary)}
.float-link i{width:20px;text-align:center;color:var(--gold)}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr}
  .hero-card{max-width:480px}
  .teacher-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-menu{display:none}
  .hero{min-height:auto;padding-top:100px;padding-bottom:40px}
  .hero-title{font-size:32px}
  .hero-stats{flex-wrap:wrap;gap:24px}
  .core-grid,.course-grid{grid-template-columns:1fr}
  .article-grid{grid-template-columns:1fr}
  .article-card.featured{grid-row:auto}
  .split-section{grid-template-columns:1fr}
  .heritage-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
}

/* ===== WP NAV MENU SUPPORT ===== */
.nav-menu ul { list-style: none; display: flex; gap: 28px; align-items: center; margin: 0; padding: 0; }
.nav-menu li { position: relative; }
.nav-menu li a { font-size: 15px; font-weight: 500; padding: 4px 0; display: block; transition: var(--transition); }
.nav-menu li a::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 2px; background: var(--gold); transition: var(--transition); }
.nav-menu li a:hover::after { width: 100%; }
.nav-menu li.current-menu-item > a,
.nav-menu li.current_page_item > a { color: var(--primary); }
.nav-menu li.current-menu-item > a::after,
.nav-menu li.current_page_item > a::after { width: 100%; }

/* Submenu */
.nav-menu li.menu-item-has-children > a::before { content: '\f107'; font-family: 'Font Awesome 6 Free'; font-weight: 900; margin-left: 4px; font-size: 10px; }
.nav-menu ul ul { display: none; position: absolute; top: 100%; left: 0; background: #fff; min-width: 180px; box-shadow: var(--shadow-md); border-radius: var(--radius-sm); padding: 8px 0; z-index: 100; }
.nav-menu li:hover > ul { display: block; }
.nav-menu ul ul li a { font-size: 14px; padding: 8px 20px; white-space: nowrap; }
.nav-menu ul ul li a::after { display: none; }
.nav-menu ul ul li a:hover { background: var(--primary-light); color: var(--primary); }

/* Nav logo image */
.nav-logo-img { height: 40px; width: auto; }

/* Nav CTA button */
.nav-cta { background: var(--primary); color: #fff; padding: 8px 20px; border-radius: var(--radius-sm); font-size: 14px; font-weight: 600; transition: var(--transition); text-decoration: none; display: inline-block; }
.nav-cta:hover { background: var(--primary-dark, #1a4a3e); transform: translateY(-1px); }

/* Mobile nav toggle */
.nav-mobile-toggle { display: none; background: none; border: none; font-size: 20px; color: var(--text); cursor: pointer; padding: 8px; }

/* Search overlay */
.search-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 2000; align-items: center; justify-content: center; }
.search-overlay.active { display: flex; }
.search-box { background: #fff; padding: 32px; border-radius: var(--radius); width: 90%; max-width: 500px; }
.search-box .search-form { display: flex; gap: 8px; }
.search-box input[type="search"] { flex: 1; padding: 12px 16px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: 16px; font-family: inherit; }
.search-box input[type="search"]:focus { outline: none; border-color: var(--primary); }
.search-box button[type="submit"] { background: var(--primary); color: #fff; border: none; padding: 12px 24px; border-radius: var(--radius-sm); cursor: pointer; font-size: 15px; }

/* ===== FOOTER EXTENDED ===== */
.footer-top { padding: 60px 0 40px; background: #1a2332; color: #ccc; }
.footer-brand-col { max-width: 320px; }
.footer-brand-logo { margin-bottom: 16px; }
.footer-brand-logo img { filter: brightness(1.2); }
.footer-brand-desc { font-size: 14px; line-height: 1.8; margin-bottom: 20px; color: #999; }
.footer-qr { display: flex; align-items: center; gap: 12px; }
.footer-qr img { border-radius: var(--radius-sm); border: 2px solid rgba(255,255,255,.1); }
.footer-qr span { font-size: 13px; color: #888; }
.footer-col-title { color: #fff; font-size: 16px; margin-bottom: 20px; font-weight: 600; }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { color: #999; font-size: 14px; transition: var(--transition); }
.footer-links a:hover { color: var(--gold); }
.footer-contact-item { display: flex; gap: 10px; margin-bottom: 14px; font-size: 14px; align-items: flex-start; }
.footer-contact-item i { color: var(--gold); margin-top: 3px; min-width: 16px; }
.footer-contact-item p { margin: 0; color: #999; line-height: 1.6; }
.footer-contact-item span { color: #999; }
.footer-contact-item a { color: #999; transition: var(--transition); }
.footer-contact-item a:hover { color: var(--gold); }

/* Footer brands bar */
.footer-brands { background: #151d29; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.06); }
.footer-brands .container { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.footer-brands-label { font-size: 13px; color: #666; }
.footer-brand-tag { font-size: 13px; color: #888; padding: 4px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; }
.footer-brand-tag.active { color: var(--gold); border-color: var(--gold); }
.footer-company { font-size: 12px; color: #555; margin-left: auto; }

/* ===== SECTION MORE BUTTON ===== */
.section-more { text-align: center; margin-top: 40px; }

/* ===== CTA BUTTONS ===== */
.cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.cta-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; border-radius: var(--radius-sm); font-size: 16px; font-weight: 600; text-decoration: none; transition: var(--transition); }
.cta-btn-outline { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.5); }
.cta-btn-outline:hover { border-color: #fff; background: rgba(255,255,255,.1); }

/* ===== PARTNER BRAND TEXT ===== */
.partner-brand { display: flex; align-items: center; justify-content: center; padding: 20px; }
.partner-brand span { font-size: 16px; font-weight: 600; color: var(--text-muted); letter-spacing: 1px; }
.partner-brand.active span { color: var(--primary); }

/* ===== HERO CARD LINK ===== */
.hero-card-link { display: block; text-decoration: none; color: inherit; border-radius: var(--radius); overflow: hidden; transition: var(--transition); }
.hero-card-link:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }

/* Article cards as links */
a.article-card { text-decoration: none; color: inherit; }

/* ===== MOBILE RESPONSIVE ===== */
@media (max-width: 768px) {
    .nav-menu { 
        display: none; 
        position: fixed; top: var(--nav-h); left: 0; right: 0; bottom: 0; 
        background: rgba(253,251,247,.98); backdrop-filter: blur(12px);
        flex-direction: column; padding: 24px; gap: 0; z-index: 999;
        overflow-y: auto;
    }
    .nav-menu.open { display: flex; }
    .nav-menu ul { flex-direction: column; gap: 0; width: 100%; }
    .nav-menu li { width: 100%; }
    .nav-menu li a { padding: 14px 0; border-bottom: 1px solid var(--border); font-size: 16px; }
    .nav-menu li a::after { display: none; }
    .nav-menu ul ul { position: static; box-shadow: none; padding-left: 20px; }
    .nav-menu ul ul li a { padding: 10px 0; font-size: 14px; }
    .nav-mobile-toggle { display: block; }
    .nav-cta { padding: 6px 14px; font-size: 13px; }
    .footer-brand-col { max-width: 100%; }
    .footer-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .footer-brands .container { justify-content: center; }
    .footer-company { margin-left: 0; width: 100%; text-align: center; }
    .cta-buttons { flex-direction: column; align-items: center; }
    .hero-buttons { flex-direction: column; }
    .hero-buttons a, .hero-buttons button { width: 100%; text-align: center; }
}


/* ===== PAGE TEMPLATES ===== */
.page-hero {
    background: linear-gradient(135deg, var(--primary-dark, #1a4a3e) 0%, var(--primary) 100%);
    padding: 120px 0 60px;
    text-align: center;
    margin-bottom: 48px;
}
.page-hero-title { color: #fff; font-family: 'Noto Serif SC', serif; font-size: 36px; font-weight: 700; margin-bottom: 12px; }
.page-hero-desc { color: rgba(255,255,255,.8); font-size: 16px; }
.preview-page { min-height: 60vh; }

/* Category tabs */
.category-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.tab-btn { padding: 8px 20px; border-radius: 20px; font-size: 14px; font-weight: 500; color: var(--text-light); background: #fff; border: 1px solid var(--border); text-decoration: none; transition: var(--transition); }
.tab-btn:hover, .tab-btn.active { background: var(--primary); color: #fff; border-color: var(--primary); }

/* Pagination */
.pagination { text-align: center; margin-top: 40px; }
.pagination .page-numbers { display: inline-block; padding: 8px 14px; margin: 0 4px; border-radius: var(--radius-sm); font-size: 14px; color: var(--text-light); background: #fff; border: 1px solid var(--border); text-decoration: none; transition: var(--transition); }
.pagination .page-numbers.current, .pagination .page-numbers:hover { background: var(--primary); color: #fff; border-color: var(--primary); }

