/*
Theme Name: VietEcho 3.9.22 Vietnamese Latest Stories
Theme URI: https://vietecho.com/
Author: VietEcho
Description: A bilingual editorial WordPress theme for VietEcho news, culture, video, fashion, travel, and health.
Version: 3.9.22
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: vietecho
*/

:root {
  --ve-teal-950: #032f35;
  --ve-teal-900: #06464d;
  --ve-teal-700: #087985;
  --ve-teal-500: #10a3af;
  --ve-gold-600: #b9871e;
  --ve-gold-500: #d5a832;
  --ve-gold-300: #f0d179;
  --ve-ink: #172326;
  --ve-muted: #657174;
  --ve-paper: #fffdf7;
  --ve-mist: #eef5f3;
  --ve-white: #ffffff;
  --ve-shadow: 0 16px 45px rgba(3, 47, 53, .12);
  --ve-radius: 22px;
  --ve-max: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ve-ink); background: var(--ve-paper); font-family: "Inter", "Segoe UI", Arial, sans-serif; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.container { width: min(calc(100% - 40px), var(--ve-max)); margin-inline: auto; }
.skip-link:focus { z-index: 9999; top: 10px; left: 10px; width: auto; height: auto; padding: 10px 14px; clip: auto; background: var(--ve-white); }

.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(213,168,50,.24); background: rgba(255,253,247,.96); backdrop-filter: blur(16px); }
.header-inner { width: min(calc(100% - 32px), 1420px); min-height: 84px; display: flex; align-items: center; gap: clamp(12px, 1.35vw, 22px); }
.brand { display: flex; align-items: center; gap: 12px; margin-right: auto; }
.brand-mark { position: relative; width: 96px; height: 68px; flex: 0 0 96px; overflow: hidden; border: 1px solid rgba(213,168,50,.2); border-radius: 15px; background: #fffdf7; box-shadow: 0 7px 22px rgba(3,47,53,.16); }
.brand-mark img { width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.brand-copy strong { display: block; color: var(--ve-teal-900); font-family: Georgia, serif; font-size: 1.35rem; letter-spacing: .08em; }
.brand-copy span { display: block; color: var(--ve-gold-600); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.main-navigation ul { display: flex; align-items: center; gap: clamp(10px, 1vw, 16px); margin: 0; padding: 0; list-style: none; }
.main-navigation a { display: inline-flex; align-items: center; min-height: 42px; font-size: .92rem; font-weight: 700; line-height: 1.15; white-space: nowrap; }
.main-navigation a:hover, .main-navigation .current-menu-item > a { color: var(--ve-teal-700); }
.header-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; }
.header-search-link { width: 38px; height: 38px; padding: 0; display: grid; place-items: center; border: 1px solid #c9d8d5; border-radius: 50%; color: var(--ve-teal-900); background: transparent; font-size: 1.3rem; font-weight: 800; cursor: pointer; }
.header-search-link:hover, .header-search-link[aria-expanded="true"] { color: var(--ve-white); border-color: var(--ve-teal-900); background: var(--ve-teal-900); }
.header-search-panel { position: absolute; z-index: 20; top: 100%; left: 0; width: 100%; padding: 18px 0; border-top: 1px solid #d9e4e1; background: rgba(255,255,255,.98); box-shadow: 0 18px 35px rgba(0,40,45,.12); }
.header-search-panel[hidden] { display: none; }
.header-search-panel .container { display: flex; align-items: center; gap: 12px; }
.header-search-panel .search-form { flex: 1; max-width: none; }
.search-close { width: 44px; height: 44px; border: 0; border-radius: 50%; color: var(--ve-teal-900); background: var(--ve-mist); font-size: 1.7rem; line-height: 1; cursor: pointer; }
.language-switch { display: flex; gap: 2px; padding: 3px; border: 1px solid #d9e4e1; border-radius: 999px; }
.language-switch a { padding: 6px 9px; border-radius: 999px; color: var(--ve-muted); font-size: .72rem; font-weight: 800; }
.language-switch a.active { color: var(--ve-white); background: var(--ve-teal-900); }
.nav-button, .button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 17px; border: 1px solid transparent; border-radius: 999px; font-weight: 800; line-height: 1.15; white-space: nowrap; transition: .2s ease; cursor: pointer; }
.site-header--vi .main-navigation a { font-size: .89rem; }
.site-header--vi .nav-button { min-height: 46px; padding-inline: 18px; font-size: .9rem; }
.nav-button:hover, .button:hover { transform: translateY(-2px); }
.nav-button--ghost { border-color: #c9d8d5; color: var(--ve-teal-900); }
.nav-button--gold, .button--gold { color: var(--ve-teal-950); background: linear-gradient(135deg, var(--ve-gold-300), var(--ve-gold-500)); box-shadow: 0 7px 22px rgba(185,135,30,.22); }
.menu-toggle { display: none; width: 42px; height: 42px; border: 0; border-radius: 50%; color: var(--ve-white); background: var(--ve-teal-900); }

.hero { position: relative; overflow: hidden; padding: 76px 0 58px; color: var(--ve-white); background: radial-gradient(circle at 80% 20%, rgba(16,163,175,.3), transparent 31%), linear-gradient(122deg, #022e34, #075761 70%, #0b727b); }
.hero::after { position: absolute; right: -80px; bottom: -180px; width: 520px; height: 520px; border: 1px solid rgba(240,209,121,.2); border-radius: 50%; content: ""; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 72px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; color: var(--ve-gold-300); font-size: .76rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow::before { width: 28px; height: 2px; background: currentColor; content: ""; }
.hero h1 { max-width: 720px; margin: 0 0 22px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.55rem, 6vw, 5.4rem); font-weight: 500; line-height: .98; letter-spacing: -.04em; }
.vietecho-lang-vi .hero h1 { font-family: "Times New Roman", "Noto Serif", Georgia, serif; letter-spacing: -.022em; word-spacing: .015em; text-rendering: optimizeLegibility; }
.hero h1 em { color: var(--ve-gold-300); font-style: normal; }
.hero p { max-width: 610px; margin: 0 0 30px; color: #dce9e8; font-size: 1.08rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button--outline { color: var(--ve-white); border-color: rgba(255,255,255,.38); background: transparent; }
.hero-visual { position: relative; }
.hero-logo-frame { overflow: hidden; padding: 0; border: 1px solid rgba(240,209,121,.34); border-radius: 32px; background: #033a40; box-shadow: 0 30px 90px rgba(0,0,0,.3); transform: rotate(2deg); }
.hero-logo-frame img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 30px; }
.footer-logo { display: inline-block; width: min(240px, 100%); margin: -28px 0 -18px; }
.footer-logo img { width: 100%; height: auto; filter: drop-shadow(0 10px 24px rgba(0,0,0,.22)); }
.media-placeholder--logo { padding: 20px; background: linear-gradient(145deg, #fffdf7, #eef6f3); }
.media-placeholder--logo img { width: min(240px, 78%); max-height: 82%; object-fit: contain; }
.hero-note { position: absolute; left: -28px; bottom: -22px; padding: 15px 20px; border-radius: 16px; color: var(--ve-teal-950); background: var(--ve-gold-300); box-shadow: var(--ve-shadow); font-size: .86rem; font-weight: 800; transform: rotate(-3deg); }

.section { padding: 76px 0; }
.section--mist { background: var(--ve-mist); }
.section--categories { position: relative; overflow: hidden; background: radial-gradient(circle at 8% 18%, rgba(240,209,121,.2), transparent 24%), radial-gradient(circle at 92% 86%, rgba(16,163,175,.13), transparent 25%), linear-gradient(145deg, #f3f8f6 0%, #eaf3f1 52%, #f9f6ea 100%); }
.section--categories::before { position: absolute; top: -210px; right: -180px; width: 520px; height: 520px; border: 1px solid rgba(8,121,133,.11); border-radius: 50%; content: ""; box-shadow: 0 0 0 55px rgba(8,121,133,.025), 0 0 0 110px rgba(8,121,133,.018); }
.section--categories::after { position: absolute; left: 4%; bottom: 30px; width: 90px; height: 2px; background: linear-gradient(90deg, var(--ve-gold-500), transparent); content: ""; }
.section--categories .container { position: relative; z-index: 1; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.section-heading h2 { margin: 0; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 500; line-height: 1.1; }
.section-heading p { max-width: 520px; margin: 0; color: var(--ve-muted); }
.text-link { color: var(--ve-teal-700); font-weight: 800; }
.category-heading { margin-bottom: 38px; }
.category-heading h2 { position: relative; }
.category-heading h2::after { display: inline-block; width: 10px; height: 10px; margin: 0 0 7px 12px; border-radius: 50%; background: var(--ve-gold-500); box-shadow: 0 0 0 7px rgba(213,168,50,.14); content: ""; }
.category-heading p { padding: 14px 18px; border-left: 2px solid var(--ve-gold-500); color: #53686b; background: rgba(255,255,255,.44); backdrop-filter: blur(8px); }
.category-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.category-tile { --tile-color: var(--ve-teal-700); position: relative; min-height: 230px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 20px; border: 1px solid rgba(3,47,53,.1); border-radius: 24px; background: rgba(255,255,255,.86); box-shadow: 0 16px 40px rgba(3,47,53,.09); isolation: isolate; transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease; }
.category-tile::before { position: absolute; right: -16px; bottom: -40px; z-index: -1; color: rgba(3,47,53,.045); font-family: Georgia, serif; font-size: 8.5rem; font-weight: 700; line-height: 1; content: attr(data-index); transition: color .32s ease, transform .32s ease; }
.category-tile::after { position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, var(--ve-gold-300), var(--ve-gold-600)); content: ""; transform: scaleY(.32); transform-origin: bottom; transition: transform .32s ease; }
.category-tile:nth-child(2), .category-tile:nth-child(5) { color: var(--ve-white); border-color: rgba(240,209,121,.24); background: linear-gradient(145deg, var(--ve-teal-900), #08727b); box-shadow: 0 20px 48px rgba(3,47,53,.2); }
.category-tile:nth-child(3) { background: linear-gradient(145deg, #fffdf7, #f7e8bd); }
.category-tile:nth-child(6) { background: linear-gradient(145deg, #f9fffd, #dcefeb); }
.category-tile:hover { border-color: rgba(213,168,50,.7); transform: translateY(-10px); box-shadow: 0 26px 60px rgba(3,47,53,.18); }
.category-tile:hover::before { color: rgba(213,168,50,.12); transform: translate(-5px,-5px) rotate(-4deg); }
.category-tile:hover::after { transform: scaleY(1); }
.category-tile__top { display: flex; align-items: center; justify-content: space-between; color: inherit; }
.category-icon { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(185,135,30,.22); border-radius: 17px; color: var(--ve-gold-600); background: linear-gradient(145deg, #fff8dc, #efd178); box-shadow: 0 9px 22px rgba(185,135,30,.16); font-family: Georgia, serif; font-size: 1.45rem; }
.category-arrow { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(3,47,53,.13); border-radius: 50%; color: var(--ve-teal-900); background: rgba(255,255,255,.65); font-size: 1rem; transition: transform .25s ease, background .25s ease; }
.category-tile:hover .category-arrow { color: var(--ve-white); background: var(--ve-teal-900); transform: rotate(45deg); }
.category-tile:nth-child(2) .category-arrow, .category-tile:nth-child(5) .category-arrow { border-color: rgba(255,255,255,.25); color: var(--ve-gold-300); background: rgba(255,255,255,.08); }
.category-tile:nth-child(2)::before, .category-tile:nth-child(5)::before { color: rgba(255,255,255,.055); }
.category-tile__copy { display: block; color: inherit; }
.category-tile strong { display: block; margin-bottom: 8px; font-family: Georgia, serif; font-size: 1.42rem; line-height: 1.15; }
.category-count { display: inline-flex; align-items: center; gap: 7px; color: var(--ve-muted); font-size: .74rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.category-count::before { width: 7px; height: 7px; border-radius: 50%; background: var(--ve-gold-500); content: ""; box-shadow: 0 0 0 4px rgba(213,168,50,.12); }
.category-tile:nth-child(2) .category-count, .category-tile:nth-child(5) .category-count { color: #cae0de; }

/* Five editorial doors: each section has its own recognizable mood. */
.category-tile { min-height: 248px; padding: 23px; }
.category-tile:nth-child(1) { color: var(--ve-white); border-color: rgba(240,209,121,.28); background: radial-gradient(circle at 82% 15%, rgba(213,168,50,.24), transparent 28%), linear-gradient(145deg, #031f24, #075b63); }
.category-tile:nth-child(2) { color: var(--ve-teal-950); border-color: rgba(185,135,30,.2); background: linear-gradient(145deg, #fffdf7, #f5e8c6); }
.category-tile:nth-child(3) { color: #45272d; border-color: rgba(137,61,82,.16); background: radial-gradient(circle at 85% 18%, rgba(213,168,50,.24), transparent 25%), linear-gradient(145deg, #fff9f5, #eed7d8); }
.category-tile:nth-child(4) { color: var(--ve-white); border-color: rgba(240,209,121,.25); background: radial-gradient(circle at 20% 0%, rgba(240,209,121,.18), transparent 27%), linear-gradient(145deg, #06464d, #0a8791); }
.category-tile:nth-child(5) { color: #173f33; border-color: rgba(49,139,110,.18); background: linear-gradient(145deg, #f7fff9, #d8eee2); }
.category-tile:nth-child(1)::before, .category-tile:nth-child(4)::before { color: rgba(255,255,255,.06); }
.category-tile:nth-child(1) .category-count, .category-tile:nth-child(4) .category-count { color: #c9dfdd; }
.category-tile:nth-child(2) .category-count, .category-tile:nth-child(3) .category-count, .category-tile:nth-child(5) .category-count { color: #617173; }
.category-tile:nth-child(1) .category-arrow, .category-tile:nth-child(4) .category-arrow { border-color: rgba(255,255,255,.26); color: var(--ve-gold-300); background: rgba(255,255,255,.09); }
.category-tile strong { font-size: 1.58rem; }
.category-icon { transition: transform .3s ease, box-shadow .3s ease; }
.category-tile:hover .category-icon { box-shadow: 0 14px 32px rgba(185,135,30,.26); transform: rotate(-5deg) scale(1.06); }

.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.blog-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.blog-list .post-card { display: grid; grid-template-columns: 42% 58%; }
.blog-list .card-media { height: 100%; min-height: 240px; aspect-ratio: auto; }
.blog-list .card-body { display: flex; flex-direction: column; justify-content: center; }
.blog-list .card-author { margin-top: 15px; color: var(--ve-teal-700); font-size: .78rem; font-weight: 800; }
.empty-state { grid-column: 1 / -1; padding: 34px; border: 1px dashed #b8cac6; border-radius: 20px; background: var(--ve-white); }
.empty-state h3 { margin: 0 0 8px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 1.7rem; }
.empty-state p { max-width: 650px; color: var(--ve-muted); }

.tv-section { position: relative; overflow: hidden; padding: 96px 0; color: var(--ve-white); background: radial-gradient(circle at 88% 8%, rgba(16,163,175,.32), transparent 30%), linear-gradient(135deg, #01181c, #054f57 72%, #08727b); }
.tv-section::before { position: absolute; top: -230px; left: -180px; width: 520px; height: 520px; border: 1px solid rgba(240,209,121,.14); border-radius: 50%; content: ""; box-shadow: 0 0 0 70px rgba(240,209,121,.025), 0 0 0 140px rgba(240,209,121,.015); pointer-events: none; }
.tv-section::after { position: absolute; right: -8%; bottom: -35%; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(240,209,121,.16), transparent 67%); content: ""; filter: blur(3px); pointer-events: none; }
.tv-section .container { position: relative; z-index: 1; }
.tv-heading { align-items: center; }
.tv-heading h2 { color: var(--ve-white); }
.tv-heading p { color: #bcd0ce; }
.tv-heading .text-link { color: var(--ve-gold-300); }
.tv-live-mark { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 13px; color: var(--ve-gold-300); font-size: .72rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.tv-live-mark::before { width: 9px; height: 9px; border-radius: 50%; background: #ef4c45; box-shadow: 0 0 0 6px rgba(239,76,69,.15); content: ""; animation: ve-pulse 1.8s infinite; }
@keyframes ve-pulse { 0%,100% { box-shadow: 0 0 0 5px rgba(239,76,69,.14); } 50% { box-shadow: 0 0 0 10px rgba(239,76,69,0); } }
.tv-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, .75fr); gap: 26px; }
.tv-feature { overflow: hidden; border: 1px solid rgba(240,209,121,.35); border-radius: 30px; background: rgba(255,255,255,.075); box-shadow: 0 32px 95px rgba(0,0,0,.34), 0 0 0 7px rgba(255,255,255,.025); }
.tv-frame { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #011316; }
.tv-frame iframe { width: 100%; height: 100%; border: 0; }
.tv-frame > a { width: 100%; height: 100%; display: block; }
.tv-frame > a img { width: 100%; height: 100%; object-fit: cover; }
.tv-frame .media-placeholder { color: rgba(255,255,255,.24); font-size: 6rem; }
.tv-frame .play-badge { width: 72px; height: 72px; font-size: 1.35rem; box-shadow: 0 14px 35px rgba(0,0,0,.28); }
.tv-feature__copy { padding: 25px 27px 28px; }
.tv-feature__copy .card-meta { color: var(--ve-gold-300); }
.tv-feature__copy h3 { margin: 0 0 9px; font-family: Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.35rem); line-height: 1.16; }
.tv-feature__copy p { margin: 0; color: #bcd0ce; }
.tv-playlist { display: flex; flex-direction: column; gap: 12px; }
.tv-playlist__label { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; color: #bcd0ce; font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.tv-playlist__label span:last-child { color: var(--ve-gold-300); }
.tv-item { display: grid; grid-template-columns: 132px 1fr; gap: 15px; min-height: 104px; padding: 10px; border: 1px solid rgba(255,255,255,.11); border-radius: 17px; background: rgba(255,255,255,.07); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.tv-item:hover { border-color: rgba(240,209,121,.45); background: rgba(255,255,255,.12); transform: translateX(-5px); }
.tv-item__media { position: relative; overflow: hidden; border-radius: 11px; background: linear-gradient(135deg, var(--ve-teal-700), #011f23); }
.tv-item__media img { width: 100%; height: 100%; object-fit: cover; }
.tv-item__media .media-placeholder { font-size: 2rem; }
.tv-item__media .play-badge { width: 36px; height: 36px; font-size: .72rem; }
.tv-item__copy { align-self: center; min-width: 0; }
.tv-item__copy h3 { display: -webkit-box; overflow: hidden; margin: 0 0 6px; font-family: Georgia, serif; font-size: 1.06rem; line-height: 1.28; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.tv-item__copy span { color: #9cb7b4; font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.tv-empty { padding: 32px; border: 1px dashed rgba(240,209,121,.35); border-radius: 22px; color: #bcd0ce; background: rgba(255,255,255,.06); }
.tv-empty h3 { margin-top: 0; color: var(--ve-white); font-family: Georgia, serif; font-size: 1.8rem; }

.tv-archive { min-height: 70vh; color: var(--ve-white); background: #021f23; }
.tv-archive-hero { position: relative; overflow: hidden; padding: 76px 0 92px; background: radial-gradient(circle at 88% 4%, rgba(16,163,175,.33), transparent 26%), radial-gradient(circle at 5% 65%, rgba(213,168,50,.14), transparent 23%), linear-gradient(145deg, #01191d, #054e55 68%, #08727b); }
.tv-archive-hero::before { position: absolute; right: -180px; top: -260px; width: 620px; height: 620px; border: 1px solid rgba(240,209,121,.14); border-radius: 50%; content: ""; box-shadow: 0 0 0 75px rgba(240,209,121,.022), 0 0 0 150px rgba(240,209,121,.014); pointer-events: none; }
.tv-archive-hero .container { position: relative; z-index: 1; }
.tv-archive-heading { display: grid; grid-template-columns: 1fr minmax(320px, 500px); align-items: end; gap: 44px; margin-bottom: 34px; }
.tv-archive-heading h1 { margin: 3px 0 0; font-family: Georgia, serif; font-size: clamp(3.2rem, 7vw, 6.4rem); font-weight: 500; line-height: .9; letter-spacing: -.05em; }
.tv-archive-heading p { margin: 0; color: #c0d5d2; font-size: 1.03rem; }
.tv-archive-feature { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr); overflow: hidden; border: 1px solid rgba(240,209,121,.3); border-radius: 32px; background: rgba(255,255,255,.07); box-shadow: 0 35px 100px rgba(0,0,0,.36), 0 0 0 7px rgba(255,255,255,.02); }
.tv-archive-player { position: relative; min-height: 470px; aspect-ratio: 16/9; overflow: hidden; background: #000; }
.tv-archive-player iframe { width: 100%; height: 100%; border: 0; }
.tv-archive-player > a { width: 100%; height: 100%; display: block; }
.tv-archive-player > a img { width: 100%; height: 100%; object-fit: cover; }
.tv-archive-player .media-placeholder { color: rgba(255,255,255,.2); font-size: 8rem; }
.tv-archive-player .play-badge { width: 78px; height: 78px; font-size: 1.5rem; box-shadow: 0 18px 48px rgba(0,0,0,.35); }
.tv-archive-feature-copy { align-self: center; padding: 38px; }
.tv-archive-feature-copy .card-meta { color: var(--ve-gold-300); }
.tv-archive-feature-copy h2 { margin: 0 0 15px; font-family: Georgia, serif; font-size: clamp(2rem, 3.8vw, 3.7rem); font-weight: 500; line-height: 1.03; }
.tv-archive-feature-copy p { color: #b8cfcc; }
.tv-archive-read { display: inline-flex; gap: 10px; margin-top: 12px; color: var(--ve-gold-300); font-size: .8rem; font-weight: 900; }
.tv-archive-read span { transition: transform .2s ease; }
.tv-archive-read:hover span { transform: translateX(6px); }
.tv-library-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 64px 0 25px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.16); }
.tv-library-heading > div > span { color: var(--ve-gold-300); font-size: .67rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.tv-library-heading h2 { margin: 6px 0 0; font-family: Georgia, serif; font-size: clamp(2.3rem, 4.5vw, 4rem); font-weight: 500; line-height: 1; }
.tv-library-heading > span { color: #9ebbb7; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.tv-archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.tv-video-card { overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 23px; background: rgba(255,255,255,.075); transition: transform .28s ease, background .28s ease, box-shadow .28s ease; }
.tv-video-card:hover { background: rgba(255,255,255,.12); box-shadow: 0 25px 60px rgba(0,0,0,.22); transform: translateY(-8px); }
.tv-video-card__media { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; background: linear-gradient(145deg, #04363b, #0b919b); }
.tv-video-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.tv-video-card:hover .tv-video-card__media img { transform: scale(1.055); }
.tv-video-card__media .play-badge { width: 54px; height: 54px; box-shadow: 0 12px 30px rgba(0,0,0,.3); }
.tv-video-card__date { position: absolute; right: 11px; bottom: 10px; padding: 5px 8px; border-radius: 7px; color: var(--ve-white); background: rgba(1,24,28,.78); backdrop-filter: blur(6px); font-size: .62rem; font-weight: 800; }
.tv-video-card__copy { padding: 21px; }
.tv-video-card__copy h3 { margin: 0 0 9px; font-family: Georgia, serif; font-size: 1.34rem; line-height: 1.2; }
.tv-video-card__copy p { margin: 0 0 14px; color: #a9c4c0; font-size: .83rem; }
.tv-video-card__copy > a { display: inline-flex; gap: 8px; color: var(--ve-gold-300); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.tv-video-card__copy > a span { transition: transform .2s ease; }
.tv-video-card__copy > a:hover span { transform: rotate(45deg); }
.tv-archive-pagination .nav-links { justify-content: center; margin-top: 40px; }
.tv-archive-pagination .page-numbers { color: var(--ve-white); background: rgba(255,255,255,.1); }
.tv-archive-pagination .page-numbers.current { color: var(--ve-teal-950); background: var(--ve-gold-300); }
.tv-archive-empty { display: grid; grid-template-columns: 92px 1fr; gap: 27px; align-items: start; padding: 45px; border: 1px dashed rgba(240,209,121,.38); border-radius: 28px; background: rgba(255,255,255,.07); }
.tv-archive-empty > span { width: 92px; height: 92px; display: grid; place-items: center; border-radius: 50%; color: var(--ve-teal-950); background: var(--ve-gold-300); font-size: 2rem; }
.tv-archive-empty h2 { margin: 0 0 9px; font-family: Georgia, serif; font-size: 2rem; }
.tv-archive-empty p { max-width: 690px; color: #b7cecb; }

.news-section { position: relative; overflow: hidden; padding: 96px 0; background: linear-gradient(rgba(255,253,247,.94), rgba(244,240,228,.96)), repeating-linear-gradient(90deg, transparent 0 79px, rgba(3,47,53,.035) 80px); }
.news-section::before { position: absolute; top: 0; left: 0; width: 100%; height: 5px; background: linear-gradient(90deg, var(--ve-gold-500), var(--ve-teal-700) 52%, var(--ve-gold-300)); content: ""; }
.news-masthead { display: grid; grid-template-columns: 1fr minmax(300px, 500px); align-items: end; gap: 40px; padding-bottom: 26px; border-bottom: 1px solid #d8d9d2; }
.news-masthead h2 { margin: 4px 0 0; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: clamp(2.5rem, 5vw, 4.6rem); font-weight: 500; line-height: .98; letter-spacing: -.035em; }
.news-masthead p { margin: 0; color: var(--ve-muted); font-size: 1rem; }
.news-kicker { display: inline-flex; align-items: center; gap: 11px; color: var(--ve-gold-600); font-size: .73rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.news-kicker i { width: 9px; height: 9px; border-radius: 50%; background: #d9443f; box-shadow: 0 0 0 5px rgba(217,68,63,.12); }
.news-categories { display: flex; align-items: center; gap: 8px; overflow-x: auto; padding: 20px 0 28px; scrollbar-width: none; }
.news-categories::-webkit-scrollbar { display: none; }
.news-categories a { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 9px 14px; border: 1px solid #d7dedb; border-radius: 999px; color: var(--ve-teal-900); background: rgba(255,255,255,.75); font-size: .76rem; font-weight: 850; transition: .2s ease; }
.news-categories a:hover, .news-categories a.active { color: var(--ve-white); border-color: var(--ve-teal-900); background: var(--ve-teal-900); }
.news-categories a span { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: var(--ve-gold-600); background: #fff4d2; font-size: .63rem; }
.news-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr); gap: 32px; }
.news-lead { overflow: hidden; border: 1px solid #dcded7; border-radius: 25px; background: var(--ve-white); box-shadow: 0 20px 55px rgba(3,47,53,.1); }
.news-lead { transition: transform .32s ease, box-shadow .32s ease; }
.news-lead:hover { transform: translateY(-7px); box-shadow: 0 30px 75px rgba(3,47,53,.16); }
.news-lead__media { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; background: linear-gradient(135deg, var(--ve-teal-900), var(--ve-teal-500)); }
.news-lead__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.news-lead:hover .news-lead__media img { transform: scale(1.035); }
.news-category-badge { position: absolute; left: 20px; bottom: 18px; padding: 7px 11px; border-radius: 7px; color: var(--ve-teal-950); background: var(--ve-gold-300); box-shadow: 0 7px 18px rgba(0,0,0,.16); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.news-lead__copy { padding: 27px 29px 30px; }
.news-lead__copy h3 { margin: 0 0 12px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.12; }
.news-lead__copy p { color: var(--ve-muted); }
.news-read-link { display: inline-flex; align-items: center; gap: 9px; color: var(--ve-teal-700); font-size: .82rem; font-weight: 900; }
.news-read-link span { transition: transform .2s ease; }
.news-read-link:hover span { transform: translateX(5px); }
.news-rail { display: flex; flex-direction: column; gap: 10px; }
.news-rail__title { display: flex; justify-content: space-between; padding: 0 2px 10px; border-bottom: 2px solid var(--ve-teal-900); color: var(--ve-teal-950); font-size: .72rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.news-rail__title span:last-child { color: var(--ve-gold-600); }
.news-item { display: grid; grid-template-columns: 124px 1fr; gap: 14px; padding: 11px; border-bottom: 1px solid #dddcd4; transition: background .2s ease, transform .2s ease; }
.news-item:hover { border-radius: 14px; background: rgba(255,255,255,.8); transform: translateX(-4px); }
.news-item__media { min-height: 88px; overflow: hidden; border-radius: 10px; background: linear-gradient(135deg, var(--ve-teal-900), var(--ve-teal-500)); }
.news-item__media img { width: 100%; height: 100%; object-fit: cover; }
.news-item__media .media-placeholder { font-size: 2rem; }
.news-item__copy { align-self: center; }
.news-item__meta { display: flex; gap: 8px; margin-bottom: 5px; color: var(--ve-gold-600); font-size: .62rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.news-item__meta time { color: var(--ve-muted); }
.news-item__copy h3 { display: -webkit-box; overflow: hidden; margin: 0; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 1.02rem; line-height: 1.27; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.news-footer-link { display: flex; justify-content: center; margin-top: 31px; }
.news-empty { position: relative; padding: 40px; border: 1px dashed #b7c5c1; border-radius: 24px; background: rgba(255,255,255,.72); }
.news-empty .news-category-badge { position: static; display: inline-block; }
.news-empty h3 { margin: 17px 0 8px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 2rem; }
.news-empty p { max-width: 680px; color: var(--ve-muted); }

.fashion-section { position: relative; overflow: hidden; padding: 98px 0; background: radial-gradient(circle at 92% 10%, rgba(213,168,50,.2), transparent 25%), radial-gradient(circle at 4% 90%, rgba(8,121,133,.1), transparent 24%), linear-gradient(145deg, #fffaf4, #f0dbd9 52%, #e6eee9); }
.fashion-section::before { position: absolute; top: 0; right: 7%; color: rgba(85,42,52,.055); font-family: Georgia, serif; font-size: clamp(9rem, 24vw, 22rem); font-weight: 700; line-height: .8; content: "F"; transform: translateY(-12%); }
.fashion-section::after { position: absolute; left: 0; bottom: 0; width: 44%; height: 5px; background: linear-gradient(90deg, #7b3749, var(--ve-gold-500), transparent); content: ""; }
.fashion-section .container { position: relative; z-index: 1; }
.fashion-heading { display: grid; grid-template-columns: 1.1fr minmax(320px, .9fr); align-items: end; gap: 52px; margin-bottom: 34px; }
.fashion-kicker { color: #8e4257; font-size: .72rem; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.fashion-heading h2 { max-width: 720px; margin: 9px 0 0; color: #3e2930; font-family: Georgia, serif; font-size: clamp(2.8rem, 5.7vw, 5.3rem); font-weight: 500; line-height: .95; letter-spacing: -.045em; }
.fashion-heading p { margin: 0 0 17px; color: #705f63; }
.fashion-view-all { display: inline-flex; align-items: center; gap: 10px; color: #7b3749; font-size: .8rem; font-weight: 900; text-transform: uppercase; }
.fashion-view-all span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; color: var(--ve-white); background: #7b3749; transition: transform .25s ease; }
.fashion-view-all:hover span { transform: rotate(45deg); }
.fashion-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(360px, .7fr); gap: 24px; }
.fashion-feature { min-height: 590px; display: grid; grid-template-columns: 1.15fr .85fr; overflow: hidden; border: 1px solid rgba(123,55,73,.15); border-radius: 32px; background: rgba(255,255,255,.86); box-shadow: 0 30px 85px rgba(72,42,48,.16); }
.fashion-feature__media { position: relative; min-height: 590px; overflow: hidden; background: linear-gradient(145deg, #7b3749, #d5a832); }
.fashion-feature__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.fashion-feature:hover .fashion-feature__media img { transform: scale(1.045); }
.fashion-placeholder { width: 100%; height: 100%; display: grid; place-content: center; text-align: center; color: var(--ve-white); background: radial-gradient(circle at 30% 25%, #c78591, #6d3142 70%); }
.fashion-placeholder small { letter-spacing: .32em; }
.fashion-placeholder b { font-family: Georgia, serif; font-size: clamp(4rem, 9vw, 8rem); line-height: .9; }
.fashion-feature__number { position: absolute; left: 22px; bottom: 18px; color: var(--ve-white); font-family: Georgia, serif; font-size: 3.6rem; line-height: 1; text-shadow: 0 5px 25px rgba(0,0,0,.3); }
.fashion-feature__copy { align-self: center; padding: 38px; }
.fashion-feature__copy > span { color: #9a4c61; font-size: .7rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.fashion-feature__copy h3 { margin: 14px 0; color: #3e2930; font-family: Georgia, serif; font-size: clamp(2rem, 3.7vw, 3.6rem); font-weight: 500; line-height: 1.04; }
.fashion-feature__copy p { color: #74666a; }
.fashion-read { display: inline-flex; gap: 10px; margin-top: 10px; color: #7b3749; font-size: .8rem; font-weight: 900; }
.fashion-read span { transition: transform .2s ease; }
.fashion-read:hover span { transform: translateX(6px); }
.fashion-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; }
.fashion-card { overflow: hidden; border: 1px solid rgba(123,55,73,.14); border-radius: 22px; background: rgba(255,255,255,.82); box-shadow: 0 14px 36px rgba(72,42,48,.08); transition: transform .28s ease, box-shadow .28s ease; }
.fashion-card:hover { transform: translateY(-7px) rotate(-.35deg); box-shadow: 0 25px 50px rgba(72,42,48,.15); }
.fashion-card__media { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; background: linear-gradient(145deg, #7b3749, #d5a832); }
.fashion-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.fashion-card:hover .fashion-card__media img { transform: scale(1.06); }
.fashion-card__media > span:last-child { position: absolute; top: 11px; right: 12px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #512733; background: var(--ve-gold-300); font-family: Georgia, serif; font-weight: 700; }
.fashion-card__copy { padding: 16px 17px 18px; }
.fashion-card__copy time { color: #9a4c61; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.fashion-card__copy h3 { margin: 8px 0 0; color: #3e2930; font-family: Georgia, serif; font-size: 1.17rem; line-height: 1.22; }
.fashion-empty { display: grid; grid-template-columns: 86px 1fr; gap: 26px; align-items: center; padding: 42px; border: 1px dashed rgba(123,55,73,.32); border-radius: 28px; background: rgba(255,255,255,.62); }
.fashion-empty > span { width: 86px; height: 86px; display: grid; place-items: center; border-radius: 50%; color: var(--ve-gold-300); background: #7b3749; font-family: Georgia, serif; font-size: 2.8rem; }
.fashion-empty h3 { margin: 0 0 8px; color: #3e2930; font-family: Georgia, serif; font-size: 2rem; }
.fashion-empty p { max-width: 700px; color: #74666a; }

.travel-section { position: relative; overflow: hidden; padding: 88px 0; color: var(--ve-white); background: radial-gradient(circle at 12% 5%, rgba(213,168,50,.19), transparent 28%), linear-gradient(138deg, #032f35, #075d65 65%, #087d86); }
.travel-section::before { position: absolute; right: -90px; top: -80px; width: 440px; height: 440px; border: 1px solid rgba(240,209,121,.17); border-radius: 52% 48% 60% 40%; content: ""; transform: rotate(22deg); }
.travel-section::after { position: absolute; left: -90px; bottom: -190px; width: 420px; height: 420px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; content: ""; box-shadow: 0 0 0 55px rgba(255,255,255,.018), 0 0 0 110px rgba(255,255,255,.012); }
.travel-section .container { position: relative; z-index: 1; }
.travel-heading { display: grid; grid-template-columns: 1fr minmax(300px, 480px); align-items: end; gap: 45px; }
.travel-kicker { color: var(--ve-gold-300); font-size: .73rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.travel-heading h2 { margin: 8px 0 0; font-family: Georgia, serif; font-size: clamp(2.8rem, 6vw, 5.4rem); font-weight: 500; line-height: .95; letter-spacing: -.045em; }
.travel-heading p { margin: 0; color: #c5d9d6; }
.travel-categories { display: flex; gap: 8px; overflow-x: auto; padding: 27px 0 33px; scrollbar-width: none; }
.travel-categories::-webkit-scrollbar { display: none; }
.travel-categories a { flex: 0 0 auto; padding: 9px 15px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #d7e6e4; background: rgba(255,255,255,.06); font-size: .76rem; font-weight: 850; transition: .2s ease; }
.travel-categories a:hover, .travel-categories a.active { color: var(--ve-teal-950); border-color: var(--ve-gold-300); background: var(--ve-gold-300); }
.travel-feature { position: relative; min-height: 540px; display: grid; grid-template-columns: 1.5fr 1fr; overflow: hidden; border: 1px solid rgba(240,209,121,.25); border-radius: 30px; background: #021f23; box-shadow: 0 30px 90px rgba(0,0,0,.3); }
.travel-feature__media { position: relative; min-height: 540px; overflow: hidden; }
.travel-feature__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s ease; }
.travel-feature:hover .travel-feature__media img { transform: scale(1.035); }
.travel-shade { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 65%, #021f23 100%); }
.travel-placeholder { width: 100%; height: 100%; min-height: 540px; display: grid; place-content: center; text-align: center; background: radial-gradient(circle at 40% 30%, #0e9ca5, #04363b 65%); }
.travel-placeholder b { color: var(--ve-gold-300); font-family: Georgia, serif; font-size: clamp(3rem, 7vw, 7rem); letter-spacing: .12em; }
.travel-placeholder small { color: #c5d9d6; letter-spacing: .2em; text-transform: uppercase; }
.travel-feature__copy { align-self: center; padding: 42px 44px 42px 20px; }
.travel-location { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 17px; color: var(--ve-gold-300); font-size: .71rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.travel-location i { font-size: .58rem; }
.travel-feature__copy h3 { margin: 0 0 16px; font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 500; line-height: 1.04; }
.travel-feature__copy p { color: #b9d0cd; }
.travel-feature__footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); color: #94b3af; font-size: .72rem; }
.travel-feature__footer a { color: var(--ve-gold-300); font-weight: 900; }
.travel-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 17px; margin-top: 25px; }
.travel-card { overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: rgba(255,255,255,.07); transition: transform .28s ease, background .28s ease; }
.travel-card:hover { background: rgba(255,255,255,.12); transform: translateY(-7px); }
.travel-card__media { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; background: #06464d; }
.travel-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.travel-card:hover .travel-card__media img { transform: scale(1.05); }
.travel-card__place { position: absolute; left: 12px; bottom: 11px; padding: 6px 9px; border-radius: 7px; color: var(--ve-teal-950); background: var(--ve-gold-300); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.travel-card__copy { padding: 19px; }
.travel-card__copy .card-meta { color: var(--ve-gold-300); }
.travel-card__copy h3 { margin: 0 0 8px; font-family: Georgia, serif; font-size: 1.28rem; line-height: 1.2; }
.travel-card__copy p { margin: 0; color: #a9c2bf; font-size: .84rem; }
.travel-all { display: flex; justify-content: center; margin-top: 32px; }
.travel-empty { padding: 40px; border: 1px dashed rgba(240,209,121,.35); border-radius: 25px; background: rgba(255,255,255,.06); }
.travel-empty h3 { margin: 3px 0 10px; font-family: Georgia, serif; font-size: 2rem; }
.travel-empty p { max-width: 690px; color: #b9d0cd; }
.travel-empty .button { position: relative; z-index: 10; pointer-events: auto !important; cursor: pointer !important; }

.health-section { position: relative; overflow: hidden; padding: 86px 0; background: radial-gradient(circle at 90% 12%, rgba(16,163,175,.13), transparent 25%), linear-gradient(145deg, #f8fcfa, #e9f4ef 56%, #f9f4e7); }
.health-section::before { position: absolute; left: -140px; top: 120px; width: 370px; height: 370px; border: 1px solid rgba(8,121,133,.09); border-radius: 50%; content: ""; box-shadow: 0 0 0 45px rgba(8,121,133,.018), 0 0 0 90px rgba(8,121,133,.012); }
.health-section .container { position: relative; z-index: 1; }
.health-heading { display: grid; grid-template-columns: 1fr minmax(300px, 480px); align-items: end; gap: 44px; }
.health-kicker { display: inline-flex; align-items: center; gap: 10px; color: #27775f; font-size: .73rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.health-kicker i { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 10px; color: var(--ve-white); background: #318b6e; box-shadow: 0 8px 20px rgba(49,139,110,.2); font-style: normal; font-size: 1.1rem; }
.health-heading h2 { margin: 10px 0 0; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: clamp(2.7rem, 5.5vw, 5rem); font-weight: 500; line-height: .96; letter-spacing: -.04em; }
.health-heading p { margin: 0; color: var(--ve-muted); }
.health-categories { display: flex; gap: 8px; overflow-x: auto; padding: 27px 0 32px; scrollbar-width: none; }
.health-categories::-webkit-scrollbar { display: none; }
.health-categories a { flex: 0 0 auto; padding: 9px 15px; border: 1px solid #c9dbd4; border-radius: 999px; color: #276750; background: rgba(255,255,255,.68); font-size: .76rem; font-weight: 850; transition: .2s ease; }
.health-categories a:hover, .health-categories a.active { color: var(--ve-white); border-color: #318b6e; background: #318b6e; }
.health-layout { display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(420px, .86fr); gap: 24px; }
.health-feature { display: grid; grid-template-rows: minmax(320px, 1fr) auto; overflow: hidden; border: 1px solid #d6e3de; border-radius: 27px; background: var(--ve-white); box-shadow: 0 22px 60px rgba(3,47,53,.11); }
.health-feature__media { position: relative; min-height: 350px; overflow: hidden; background: linear-gradient(135deg, #27775f, #67b59b); }
.health-feature__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.health-feature:hover .health-feature__media img { transform: scale(1.035); }
.health-placeholder { width: 100%; height: 100%; min-height: 350px; display: grid; place-content: center; gap: 12px; text-align: center; color: var(--ve-white); background: radial-gradient(circle at 40% 30%, #7ac6a9, #27775f 70%); }
.health-placeholder span { font-size: 4rem; line-height: 1; }
.health-placeholder b { letter-spacing: .15em; }
.health-feature__badge, .health-card__badge { position: absolute; left: 16px; bottom: 15px; padding: 7px 10px; border-radius: 8px; color: #174c3b; background: #dff4e8; box-shadow: 0 8px 20px rgba(0,0,0,.14); font-size: .65rem; font-weight: 900; text-transform: uppercase; }
.health-feature__copy { padding: 28px 30px 31px; }
.health-feature__copy .card-meta { color: #318b6e; }
.health-feature__copy h3 { margin: 0 0 12px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: clamp(1.8rem, 3.5vw, 3rem); line-height: 1.08; }
.health-feature__copy p { color: var(--ve-muted); }
.health-read { display: inline-flex; gap: 9px; color: #27775f; font-size: .81rem; font-weight: 900; }
.health-read span { transition: transform .2s ease; }
.health-read:hover span { transform: translateX(5px); }
.health-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; }
.health-card { overflow: hidden; border: 1px solid #d5e1dd; border-radius: 20px; background: rgba(255,255,255,.83); box-shadow: 0 12px 32px rgba(3,47,53,.07); transition: transform .25s ease, box-shadow .25s ease; }
.health-card:hover { transform: translateY(-6px); box-shadow: 0 20px 42px rgba(3,47,53,.13); }
.health-card__media { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: linear-gradient(135deg, #27775f, #67b59b); }
.health-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.health-card:hover .health-card__media img { transform: scale(1.05); }
.health-card__media .media-placeholder { color: rgba(255,255,255,.5); font-size: 3rem; }
.health-card__copy { padding: 17px 18px 18px; }
.health-card__copy h3 { display: -webkit-box; overflow: hidden; margin: 0 0 13px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 1.16rem; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.health-card__copy > div { display: flex; align-items: center; justify-content: space-between; color: var(--ve-muted); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.health-card__copy > div a { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: var(--ve-white); background: #318b6e; }
.health-actions { display: flex; justify-content: center; margin-top: 31px; }
.health-empty { display: grid; grid-template-columns: 72px 1fr; gap: 23px; align-items: start; padding: 38px; border: 1px dashed #a9c8bc; border-radius: 24px; background: rgba(255,255,255,.72); }
.health-empty > span { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 22px; color: var(--ve-white); background: #318b6e; font-size: 2.3rem; }
.health-empty h3 { margin: 0 0 7px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 1.9rem; }
.health-empty p { max-width: 680px; color: var(--ve-muted); }
.health-disclaimer { display: flex; align-items: flex-start; justify-content: center; gap: 9px; margin: 26px 0 0; color: #667a74; font-size: .72rem; text-align: center; }
.health-disclaimer span { width: 18px; height: 18px; display: inline-grid; flex: 0 0 18px; place-items: center; border: 1px solid #8eb0a3; border-radius: 50%; font-family: Georgia, serif; font-style: italic; }
.post-card { overflow: hidden; border: 1px solid #e2e7e4; border-radius: var(--ve-radius); background: var(--ve-white); box-shadow: 0 12px 35px rgba(3,47,53,.07); transition: .25s ease; }
.post-card:hover { transform: translateY(-5px); box-shadow: var(--ve-shadow); }
.card-media { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: linear-gradient(135deg, var(--ve-teal-900), var(--ve-teal-500)); }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.post-card:hover .card-media img { transform: scale(1.04); }
.media-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: rgba(255,255,255,.42); font-family: Georgia, serif; font-size: 4rem; }
.play-badge { position: absolute; inset: 50% auto auto 50%; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; color: var(--ve-teal-950); background: var(--ve-gold-300); transform: translate(-50%,-50%); }
.card-body { padding: 23px; }
.card-meta { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; color: var(--ve-gold-600); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.card-body h3 { margin: 0 0 10px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 1.45rem; line-height: 1.25; }
.card-body p { margin: 0; color: var(--ve-muted); font-size: .92rem; }

.signup-section { position: relative; overflow: hidden; padding: 96px 0; scroll-margin-top: 96px; color: var(--ve-white); background: radial-gradient(circle at 8% 20%, rgba(213,168,50,.2), transparent 25%), radial-gradient(circle at 92% 85%, rgba(16,163,175,.25), transparent 27%), linear-gradient(135deg, #021f23, #06464d); }
.signup-section::before { position: absolute; right: -120px; top: -180px; width: 430px; height: 430px; border: 1px solid rgba(240,209,121,.15); border-radius: 50%; content: ""; box-shadow: 0 0 0 55px rgba(240,209,121,.025), 0 0 0 110px rgba(240,209,121,.015); }
.signup-section .container { position: relative; z-index: 1; }
.signup-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 80px; }
.signup-copy h2 { margin: 0 0 15px; font-family: Georgia, serif; font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 500; line-height: 1.05; }
.signup-copy p { color: #bcd0ce; }
.signup-form { padding: 34px; border: 1px solid rgba(240,209,121,.34); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.045)); box-shadow: 0 28px 80px rgba(0,0,0,.24); backdrop-filter: blur(14px); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field { margin-bottom: 14px; }
.field label { display: block; margin-bottom: 6px; color: #dce9e8; font-size: .8rem; font-weight: 800; }
.field input { width: 100%; min-height: 50px; padding: 0 15px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; color: var(--ve-white); background: rgba(255,255,255,.08); outline: 0; }
.field input:focus { border-color: var(--ve-gold-300); }
.consent { display: flex; align-items: flex-start; gap: 10px; margin: 2px 0 18px; color: #bcd0ce; font-size: .78rem; }
.consent input { margin-top: 4px; accent-color: var(--ve-gold-500); }
.form-message { margin-bottom: 15px; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.1); }

.donation-page { padding: 28px 0 92px; background: radial-gradient(circle at 90% 8%, rgba(213,168,50,.17), transparent 23%), linear-gradient(145deg, #f8fcfa, #f7f0df); }
.donation-page article { width: 100%; }
.donation-portal { max-width: 1120px; margin: auto; display: grid; grid-template-columns: minmax(0, .86fr) minmax(500px, 1.14fr); overflow: hidden; border: 1px solid rgba(3,47,53,.11); border-radius: 34px; background: var(--ve-white); box-shadow: 0 35px 100px rgba(3,47,53,.16); }
.donation-intro { position: relative; overflow: hidden; padding: 54px 48px; color: var(--ve-white); background: radial-gradient(circle at 20% 12%, rgba(240,209,121,.22), transparent 25%), linear-gradient(145deg, #032f35, #087985); }
.donation-intro::after { position: absolute; right: -145px; bottom: -150px; width: 370px; height: 370px; border: 1px solid rgba(240,209,121,.17); border-radius: 50%; content: ""; box-shadow: 0 0 0 50px rgba(240,209,121,.028), 0 0 0 100px rgba(240,209,121,.017); }
.donation-intro > * { position: relative; z-index: 1; }
.donation-intro > span { color: var(--ve-gold-300); font-size: .69rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.donation-intro h2 { margin: 18px 0 20px; font-family: Georgia, serif; font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 500; line-height: .98; letter-spacing: -.04em; }
.donation-intro p { color: #c6dcda; }
.donation-notice { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 10px; margin-bottom: 24px; padding: 13px 16px; border: 1px solid #edd37d; border-radius: 14px; color: #6a4b06; background: #fff1c2; font-size: .78rem; }
.donation-notice strong { color: #4e3603; }
.donation-notice a { margin-left: auto; color: var(--ve-teal-900); font-weight: 900; }
.donation-form { padding: 46px 48px 38px; }
.donation-form fieldset { margin: 0 0 27px; padding: 0; border: 0; }
.donation-form legend { width: 100%; margin-bottom: 13px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 1.28rem; font-weight: 700; }
.donation-form legend small { float: right; color: var(--ve-gold-600); font-family: "Inter", "Segoe UI", Arial, sans-serif; font-size: .65rem; letter-spacing: .12em; }
.donation-frequency { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 5px; border-radius: 999px; background: var(--ve-mist); }
.donation-frequency label, .donation-amounts label { cursor: pointer; }
.donation-frequency input, .donation-amounts input { position: absolute; opacity: 0; pointer-events: none; }
.donation-frequency span { min-height: 44px; display: grid; place-items: center; border-radius: 999px; color: var(--ve-muted); font-size: .82rem; font-weight: 900; transition: .2s ease; }
.donation-frequency input:checked + span { color: var(--ve-white); background: var(--ve-teal-900); box-shadow: 0 8px 22px rgba(3,47,53,.2); }
.donation-amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.donation-amounts span { min-height: 64px; display: grid; place-items: center; border: 1px solid #d4dfdc; border-radius: 16px; color: var(--ve-teal-950); background: #fbfdfc; font-family: Georgia, serif; font-size: 1.16rem; font-weight: 700; transition: .2s ease; }
.donation-amounts label:hover span { border-color: var(--ve-gold-500); transform: translateY(-3px); }
.donation-amounts input:checked + span { border-color: var(--ve-gold-500); background: linear-gradient(145deg, #fff8dc, var(--ve-gold-300)); box-shadow: 0 10px 28px rgba(185,135,30,.19); }
.donation-frequency input:focus-visible + span, .donation-amounts input:focus-visible + span { outline: 3px solid var(--ve-gold-300); outline-offset: 3px; }
.donation-custom { display: block; margin-top: 13px; }
.donation-custom > span { display: block; margin-bottom: 6px; color: var(--ve-muted); font-size: .74rem; font-weight: 800; }
.donation-custom input { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid #d4dfdc; border-radius: 13px; background: #fbfdfc; }
.donation-submit { width: 100%; min-height: 54px; font-size: .9rem; }
.donation-submit span { margin-left: 10px; transition: transform .2s ease; }
.donation-submit:hover span { transform: translateX(5px); }
.donation-submit:disabled { cursor: not-allowed; filter: grayscale(.6); opacity: .55; transform: none; }
.donation-security { display: flex; justify-content: center; gap: 8px; margin: 15px 0 0; color: var(--ve-muted); font-size: .68rem; text-align: center; }
.donation-security span { color: var(--ve-gold-600); }
.donation-impact { max-width: 1120px; margin: 24px auto 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.donation-impact > div { min-height: 170px; padding: 26px; border: 1px solid rgba(3,47,53,.1); border-radius: 22px; background: rgba(255,255,255,.72); box-shadow: 0 14px 38px rgba(3,47,53,.07); transition: transform .25s ease, box-shadow .25s ease; }
.donation-impact > div:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(3,47,53,.12); }
.donation-impact span { display: block; margin-bottom: 15px; color: var(--ve-gold-600); font-size: .68rem; font-weight: 900; letter-spacing: .16em; }
.donation-impact strong { display: block; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 1.35rem; }
.donation-impact p { margin: 7px 0 0; color: var(--ve-muted); font-size: .84rem; }

.section--mist { position: relative; overflow: hidden; padding: 96px 0; background: radial-gradient(circle at 85% 8%, rgba(213,168,50,.16), transparent 24%), linear-gradient(145deg, #edf6f3, #f8f4e7); }
.section--mist::before { position: absolute; left: -115px; bottom: -210px; width: 430px; height: 430px; border: 1px solid rgba(8,121,133,.09); border-radius: 50%; content: ""; box-shadow: 0 0 0 52px rgba(8,121,133,.018), 0 0 0 104px rgba(8,121,133,.012); }
.section--mist .container { position: relative; z-index: 1; }
.section--mist .section-heading { padding-bottom: 25px; border-bottom: 1px solid rgba(3,47,53,.13); }
.section--mist .post-card:nth-child(2) { transform: translateY(18px); }
.section--mist .post-card:nth-child(2):hover { transform: translateY(10px); }
.section--mist .post-card { border-top: 4px solid var(--ve-gold-500); }
.section--mist .post-card:nth-child(2) { border-top-color: var(--ve-teal-700); }
.section--mist .post-card:nth-child(3) { border-top-color: #7b3749; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--ve-gold-300); outline-offset: 3px; }

.content-area { padding: 64px 0 90px; }
.archive-header { max-width: 760px; margin-bottom: 36px; }
.archive-header h1, .entry-header h1 { margin: 0 0 12px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: clamp(2.2rem, 5vw, 4.2rem); line-height: 1.05; }
.archive-description { color: var(--ve-muted); }
.single-shell { display: grid; grid-template-columns: minmax(0, 780px) 280px; gap: 64px; }
.entry-header { margin-bottom: 28px; }
.entry-meta { color: var(--ve-gold-600); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.entry-thumbnail { margin: 28px 0; overflow: hidden; border-radius: 24px; }
.entry-content { font-size: 1.04rem; }
.entry-content a { color: var(--ve-teal-700); text-decoration: underline; }
.entry-content h2, .entry-content h3 { color: var(--ve-teal-950); font-family: Georgia, serif; line-height: 1.2; }
.article-audio { display: grid; grid-template-columns: auto 42px 52px 42px 42px auto minmax(120px, 1fr) auto; align-items: center; gap: 14px; margin: 30px 0; padding: 20px 24px; border: 1px solid #e1e5e3; border-radius: 6px; background: var(--ve-white); box-shadow: 0 5px 20px rgba(0, 38, 42, .17); color: #262d2f; }
.article-audio button { display: grid; place-items: center; border: 0; color: #262d2f; background: transparent; font: inherit; font-weight: 850; cursor: pointer; }
.article-audio button:hover { color: var(--ve-teal-700); transform: translateY(-1px); }
.article-audio__speed { min-width: 36px; font-size: .88rem; }
.article-audio__skip { width: 42px; height: 42px; border-radius: 50% !important; }
.article-audio__skip-ring { position: relative; display: grid; width: 32px; height: 32px; place-items: center; border: 2.5px solid currentColor; border-top-color: transparent; border-radius: 50%; }
.article-audio__skip-ring b { font-family: Arial, sans-serif; font-size: .68rem; font-weight: 900; line-height: 1; }
.article-audio__skip-ring::before { content: ''; position: absolute; top: -3px; width: 0; height: 0; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.article-audio__skip--back .article-audio__skip-ring::before { left: -2px; border-right: 7px solid currentColor; transform: rotate(24deg); }
.article-audio__skip--forward .article-audio__skip-ring::before { right: -2px; border-left: 7px solid currentColor; transform: rotate(-24deg); }
.article-audio__skip:hover { color: var(--ve-teal-950) !important; background: #e9f4f2; box-shadow: inset 0 0 0 1px rgba(0, 82, 89, .1); }
.article-audio__play { width: 52px; height: 52px; border-radius: 50% !important; color: var(--ve-white) !important; background: var(--ve-teal-950) !important; box-shadow: 0 8px 20px rgba(0, 52, 57, .2); font-family: Arial, sans-serif !important; font-size: 1.35rem !important; }
.article-audio__play:hover { background: var(--ve-teal-700) !important; }
.article-audio__volume { width: 42px; height: 42px; font-size: 1.08rem !important; }
.article-audio__time { min-width: 42px; color: #7e898a; font-size: .82rem; font-variant-numeric: tabular-nums; text-align: center; }
.article-audio__progress { width: 100%; height: 5px; padding: 0; border: 0; border-radius: 999px; background: #d8dcdb; accent-color: var(--ve-teal-950); cursor: pointer; }
.article-audio__progress::-webkit-slider-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--ve-teal-950); }
.article-audio__unsupported { grid-column: 1 / -1; margin: 0; color: var(--ve-muted); text-align: center; }
.article-audio.is-unsupported > :not(.article-audio__unsupported) { display: none; }
.video-embed { margin: 28px 0; overflow: hidden; border-radius: 20px; aspect-ratio: 16/9; }
.video-embed iframe { width: 100%; height: 100%; border: 0; }
.video-embed__fallback { display: grid; width: 100%; height: 100%; min-height: 220px; place-items: center; padding: 30px; background: linear-gradient(135deg, var(--ve-teal-950), var(--ve-teal-700)); color: var(--ve-gold); font-weight: 800; text-align: center; }
.sidebar-card { padding: 24px; border-radius: 20px; background: var(--ve-mist); }
.sidebar-card h2 { margin-top: 0; color: var(--ve-teal-950); font-family: Georgia, serif; }
.widget + .widget { margin-top: 18px; }
.widget ul { margin: 0; padding-left: 18px; }
.related-stories { margin-top: 58px; padding-top: 38px; border-top: 1px solid #dfe8e5; }
.related-stories .post-grid { grid-template-columns: 1fr; }
.related-stories .card-media { aspect-ratio: 16/8; }
.comments-area { margin-top: 54px; padding-top: 38px; border-top: 1px solid #dfe8e5; }
.comments-area h2, .comment-reply-title { color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 1.8rem; }
.comment-list { padding: 0; list-style: none; }
.comment-list .comment { margin: 20px 0; padding: 20px; border-radius: 16px; background: var(--ve-mist); }
.comment-list .children { list-style: none; }
.comment-meta { font-size: .8rem; }
.comment-form label { display: block; margin-bottom: 5px; font-weight: 800; }
.comment-form input:not([type="submit"]), .comment-form textarea { width: 100%; padding: 12px 14px; border: 1px solid #c9d8d5; border-radius: 10px; background: var(--ve-white); }
.author-header { display: grid; grid-template-columns: 112px 1fr; align-items: center; gap: 28px; max-width: 820px; margin-bottom: 45px; padding: 30px; border-radius: 24px; background: var(--ve-mist); }
.author-header img { border-radius: 50%; }
.author-header h1 { margin: 0; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 2.8rem; }
.author-header p { margin-bottom: 0; color: var(--ve-muted); }
.search-form { display: flex; max-width: 680px; gap: 10px; }
.search-form label { flex: 1; }
.search-form input { width: 100%; min-height: 48px; padding: 0 15px; border: 1px solid #c9d8d5; border-radius: 999px; background: var(--ve-white); }
.submit-shell { max-width: 920px; }
.story-form, .auth-card { padding: 32px; border: 1px solid #dfe8e5; border-radius: 24px; background: var(--ve-white); box-shadow: var(--ve-shadow); }
.auth-card { max-width: 680px; }
.auth-card h2 { margin-top: 0; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 2rem; }
.field--light label { color: var(--ve-teal-950); }
.field--light input, .field--light textarea, .field--light select { width: 100%; padding: 12px 14px; border: 1px solid #c9d8d5; border-radius: 11px; color: var(--ve-ink); background: #fbfdfc; outline: 0; }
.field--light input { min-height: 50px; }
.field--light input:focus, .field--light textarea:focus, .field--light select:focus { border-color: var(--ve-teal-700); box-shadow: 0 0 0 3px rgba(16,163,175,.12); }
.field--light small { display: block; margin-top: 5px; color: var(--ve-muted); }
.consent--dark { color: var(--ve-muted); }
.button--teal { color: var(--ve-white); background: var(--ve-teal-900); }
.submission-notice { margin-bottom: 24px; padding: 15px 18px; border-radius: 12px; color: var(--ve-teal-950); background: var(--ve-gold-300); font-weight: 800; }
.submission-notice--success { color: #174828; background: #dff4e4; }
.pagination { margin-top: 38px; }
.nav-links { display: flex; gap: 8px; }
.page-numbers { padding: 8px 13px; border-radius: 9px; background: var(--ve-mist); }
.page-numbers.current { color: var(--ve-white); background: var(--ve-teal-900); }

.site-footer { padding: 58px 0 24px; color: #c7d7d5; background: #021f23; }
.footer-grid { display: grid; grid-template-columns: 1.3fr .7fr .7fr; gap: 70px; padding-bottom: 40px; }
.footer-brand { color: var(--ve-gold-300); font-family: Georgia, serif; font-size: 1.8rem; letter-spacing: .08em; }
.footer-grid h2 { color: var(--ve-white); font-size: .9rem; letter-spacing: .1em; text-transform: uppercase; }
.footer-grid ul { margin: 0; padding: 0; list-style: none; }
.footer-grid li { margin: 7px 0; }
.footer-grid a:hover { color: var(--ve-gold-300); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: .78rem; }

/* Georgia can fall back per glyph for Vietnamese letters with stacked marks,
   which looks like a space inside words such as “viết” and “nhất”. */
.vietecho-lang-vi h1,
.vietecho-lang-vi h2,
.vietecho-lang-vi h3,
.vietecho-lang-vi .category-tile strong,
.vietecho-lang-vi .donation-form legend,
.vietecho-lang-vi .donation-impact strong,
.vietecho-lang-vi .ve-chatbot__header strong,
.vietecho-lang-vi .ve-chat-result strong {
  font-family: "Times New Roman", "Noto Serif", "Segoe UI", serif;
  font-kerning: normal;
  font-variant-ligatures: none;
  letter-spacing: 0 !important;
  word-spacing: normal;
  text-rendering: optimizeLegibility;
}

@media (min-width: 1181px) and (max-width: 1320px) {
  .header-inner { gap: 11px; }
  .brand-copy { display: none; }
  .brand-mark { width: 76px; height: 54px; flex-basis: 76px; }
  .brand-mark img { top: -10px; width: 165px; }
  .main-navigation ul { gap: 9px; }
  .site-header--vi .main-navigation a { font-size: .84rem; }
  .site-header--vi .nav-button { padding-inline: 14px; font-size: .84rem; }
}

@media (max-width: 1180px) {
  .main-navigation { position: absolute; inset: 84px 0 auto; display: none; padding: 22px; background: var(--ve-paper); box-shadow: var(--ve-shadow); }
  .main-navigation.open { display: block; }
  .main-navigation ul { width: min(calc(100% - 40px), var(--ve-max)); margin: auto; flex-direction: column; align-items: flex-start; }
  .menu-toggle { display: block; }
  .header-actions .nav-button { display: none; }
  .category-grid { grid-template-columns: repeat(3, 1fr); }
  .tv-layout { grid-template-columns: 1fr; }
  .tv-archive-feature { grid-template-columns: 1fr; }
  .tv-archive-player { min-height: 390px; }
  .tv-archive-grid { grid-template-columns: repeat(2, 1fr); }
  .tv-playlist { display: grid; grid-template-columns: repeat(2, 1fr); }
  .tv-playlist__label { grid-column: 1 / -1; }
  .news-layout { grid-template-columns: 1fr; }
  .news-rail { display: grid; grid-template-columns: repeat(2, 1fr); }
  .news-rail__title { grid-column: 1 / -1; }
  .fashion-layout { grid-template-columns: 1fr; }
  .fashion-feature { min-height: 520px; }
  .travel-feature { grid-template-columns: 1fr; }
  .travel-feature__media { min-height: 420px; }
  .travel-shade { background: linear-gradient(180deg, transparent 65%, #021f23 100%); }
  .travel-feature__copy { padding: 35px; }
  .travel-grid { grid-template-columns: repeat(2, 1fr); }
  .health-layout { grid-template-columns: 1fr; }
  .donation-portal { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .container { width: min(calc(100% - 28px), var(--ve-max)); }
  .header-inner { min-height: 72px; gap: 10px; }
  .brand-mark { width: 66px; height: 48px; flex-basis: 66px; border-radius: 12px; }
  .brand-mark img { top: -8px; width: 144px; }
  .brand-copy span { display: none; }
  .main-navigation { top: 72px; }
  .hero { padding: 52px 0; }
  .hero-grid, .signup-grid, .single-shell { grid-template-columns: 1fr; gap: 38px; }
  .hero-visual { max-width: 480px; }
  .hero-note { left: 10px; }
  .section { padding: 56px 0; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .category-tile { min-height: 210px; }
  .post-grid { grid-template-columns: 1fr; }
  .tv-playlist { grid-template-columns: 1fr; }
  .tv-section { padding: 58px 0; }
  .tv-archive-hero { padding: 54px 0 68px; }
  .tv-archive-heading { grid-template-columns: 1fr; gap: 16px; }
  .tv-archive-player { min-height: 280px; }
  .tv-archive-feature-copy { padding: 28px 24px; }
  .tv-archive-grid { grid-template-columns: 1fr; }
  .tv-archive-empty { grid-template-columns: 1fr; }
  .news-section { padding: 58px 0; }
  .news-masthead { grid-template-columns: 1fr; gap: 15px; }
  .news-rail { grid-template-columns: 1fr; }
  .fashion-section { padding: 62px 0; }
  .fashion-heading { grid-template-columns: 1fr; gap: 17px; }
  .fashion-feature { min-height: auto; grid-template-columns: 1fr; }
  .fashion-feature__media { min-height: 390px; }
  .fashion-feature__copy { padding: 28px 24px; }
  .travel-section { padding: 60px 0; }
  .travel-heading { grid-template-columns: 1fr; gap: 16px; }
  .travel-feature { min-height: auto; }
  .travel-feature__media, .travel-placeholder { min-height: 320px; }
  .travel-feature__copy { padding: 28px 23px; }
  .travel-feature__footer { align-items: flex-start; flex-direction: column; }
  .travel-grid { grid-template-columns: 1fr; }
  .health-section { padding: 58px 0; }
  .health-heading { grid-template-columns: 1fr; gap: 16px; }
  .health-grid { grid-template-columns: 1fr; }
  .health-empty { grid-template-columns: 1fr; }
  .blog-list { grid-template-columns: 1fr; }
  .form-row, .footer-grid { grid-template-columns: 1fr; }
  .signup-form { padding: 22px; }
  .donation-page { padding: 18px 0 64px; }
  .donation-intro, .donation-form { padding: 32px 25px; }
  .donation-amounts { grid-template-columns: repeat(2, 1fr); }
  .donation-notice { align-items: flex-start; flex-direction: column; }
  .donation-notice a { margin-left: 0; }
  .donation-impact { grid-template-columns: 1fr; }
  .section--mist .post-card:nth-child(2) { transform: none; }
  .footer-grid { gap: 25px; }
  .footer-bottom { flex-direction: column; }
}
@media (max-width: 430px) {
  .brand-copy { display: none; }
  .category-grid { grid-template-columns: 1fr; }
  .blog-list .post-card { grid-template-columns: 1fr; }
  .blog-list .card-media { min-height: 210px; aspect-ratio: 16/10; }
  .tv-item { grid-template-columns: 112px 1fr; }
  .fashion-grid { grid-template-columns: 1fr; }
  .fashion-empty { grid-template-columns: 1fr; }
  .hero h1 { font-size: 2.55rem; }
  .author-header { grid-template-columns: 1fr; }
  .article-audio { grid-template-columns: 36px 40px 50px 40px 36px; gap: 8px; padding: 17px 14px; }
  .article-audio__time:first-of-type { grid-column: 1; }
  .article-audio__progress { grid-column: 2 / 5; }
  .article-audio__time:last-of-type { grid-column: 5; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.account-page { min-height: 72vh; padding: 72px 0 90px; background: radial-gradient(circle at 88% 8%, rgba(16,163,175,.16), transparent 28%), linear-gradient(145deg, #f7fbf9, #edf5f2 56%, #fff8e8); }
.account-auth__heading, .account-welcome { max-width: 790px; margin-bottom: 34px; }
.account-auth__heading > span, .account-welcome > span { color: var(--ve-gold-600); font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.account-auth__heading h1, .account-welcome h1 { margin: 9px 0 12px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: clamp(2.8rem, 6vw, 5.2rem); font-weight: 500; line-height: .98; letter-spacing: -.035em; }
.account-auth__heading p, .account-welcome p { color: var(--ve-muted); font-size: 1.05rem; }
.account-auth__grid, .account-dashboard__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.account-form-card, .account-card { padding: clamp(25px, 4vw, 42px); border: 1px solid #d7e3df; border-radius: 27px; background: rgba(255,255,255,.9); box-shadow: 0 20px 60px rgba(3,47,53,.09); }
.account-form-card--register { border-color: rgba(213,168,50,.34); background: linear-gradient(145deg, #fffdf8, #fff7df); }
.account-form-card h2, .account-card h2 { margin: 0 0 7px; color: var(--ve-teal-950); font-family: Georgia, serif; font-size: 2rem; }
.account-form-card > p { margin: 0 0 25px; color: var(--ve-muted); }
.account-form-card form { display: grid; gap: 17px; }
.account-form-card label { display: grid; gap: 7px; color: var(--ve-teal-950); font-size: .79rem; font-weight: 850; }
.account-form-card input[type="text"], .account-form-card input[type="email"], .account-form-card input[type="password"] { width: 100%; min-height: 50px; padding: 10px 14px; border: 1px solid #b9cec8; border-radius: 11px; color: var(--ve-ink); background: #fff; font: inherit; }
.account-form-card input:focus { border-color: var(--ve-teal-600); outline: 3px solid rgba(8,121,133,.13); }
.account-form-card small { color: #788985; font-size: .68rem; font-weight: 500; }
.account-name-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.account-check { display: flex !important; align-items: center; gap: 9px !important; }
.account-check input { width: 18px; height: 18px; accent-color: var(--ve-teal-800); }
.account-form-card .button { justify-self: start; min-width: 150px; border: 0; }
.account-help-link { display: inline-block; margin-top: 17px; color: var(--ve-teal-700); font-weight: 800; }
.account-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden; }
.account-security-note { margin: 25px auto 0; color: #6b7d78; font-size: .78rem; text-align: center; }
.account-notice { margin-bottom: 25px; padding: 15px 18px; border-left: 4px solid #318b6e; border-radius: 9px; color: #194c3d; background: #e7f5ef; font-weight: 750; }
.account-notice--error { border-color: #b34a4a; color: #782f2f; background: #fff0ee; }
.account-card dl { margin: 22px 0 26px; }
.account-card dl > div { display: grid; grid-template-columns: 125px 1fr; gap: 15px; padding: 13px 0; border-bottom: 1px solid #e3ebe8; }
.account-card dt { color: var(--ve-muted); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.account-card dd { margin: 0; color: var(--ve-teal-950); font-weight: 750; overflow-wrap: anywhere; }
.button--outline-dark { color: var(--ve-teal-900); border-color: #b8ccc7; background: transparent; }
.account-card--actions { display: grid; align-content: start; }
.account-card--actions > a { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid #e0e9e6; color: var(--ve-teal-900); font-weight: 850; }
.account-card--actions > a span { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 50%; color: var(--ve-teal-950); background: var(--ve-gold-300); }
@media (max-width: 760px) {
  .account-page { padding: 48px 0 65px; }
  .account-auth__grid, .account-dashboard__grid, .account-name-grid { grid-template-columns: 1fr; }
  .account-card dl > div { grid-template-columns: 1fr; gap: 4px; }
}

.ve-chatbot { position: relative; z-index: 9998; }
.ve-chatbot__launcher { position: fixed; right: 24px; bottom: 24px; z-index: 9999; min-height: 54px; display: inline-flex; align-items: center; gap: 9px; padding: 7px 18px 7px 7px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: #fff; background: linear-gradient(135deg, var(--ve-teal-950), var(--ve-teal-700)); box-shadow: 0 16px 38px rgba(3,47,53,.3); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.ve-chatbot__launcher:hover { box-shadow: 0 20px 45px rgba(3,47,53,.38); transform: translateY(-3px); }
.ve-chatbot__launcher > span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 50%; color: var(--ve-teal-950); background: var(--ve-gold-300); font-family: Georgia, serif; font-size: 1.25rem; font-weight: 900; }
.ve-chatbot__launcher strong { font-size: .77rem; letter-spacing: .01em; }
.ve-chatbot__panel { position: fixed; right: 24px; bottom: 88px; z-index: 9999; width: min(390px, calc(100vw - 32px)); max-height: min(620px, calc(100vh - 115px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #cddbd7; border-radius: 24px; color: var(--ve-ink); background: #fff; box-shadow: 0 26px 80px rgba(2,31,35,.3); }
.ve-chatbot__panel[hidden] { display: none; }
.ve-chatbot__header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; color: #fff; background: radial-gradient(circle at 85% 0, rgba(16,163,175,.4), transparent 40%), linear-gradient(135deg, #032f35, #08727b); }
.ve-chatbot__header > div { display: flex; align-items: center; gap: 11px; }
.ve-chatbot__header > div > span { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 14px; color: var(--ve-teal-950); background: var(--ve-gold-300); font-family: Georgia, serif; font-weight: 900; }
.ve-chatbot__header > div > .ve-chatbot__brand { overflow: hidden; padding: 2px; background: #fffdf7; }
.ve-chatbot__brand img { width: 100%; height: 100%; object-fit: contain; }
.ve-chatbot__header strong, .ve-chatbot__header small { display: block; }
.ve-chatbot__header strong { font-family: Georgia, serif; font-size: 1.04rem; }
.ve-chatbot__header small { margin-top: 2px; color: #c6dbd8; font-size: .65rem; }
.ve-chatbot__header button { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); font-size: 1.35rem; cursor: pointer; }
.ve-chatbot__messages { min-height: 190px; flex: 1 1 auto; display: flex; flex-direction: column; gap: 10px; overflow-y: auto; padding: 17px; background: linear-gradient(180deg, #f5f9f7, #fff); overscroll-behavior: contain; }
.ve-chat-message { max-width: 88%; padding: 11px 13px; border-radius: 15px; font-size: .78rem; line-height: 1.45; overflow-wrap: anywhere; }
.ve-chat-message--bot { align-self: flex-start; border: 1px solid #d7e3df; border-bottom-left-radius: 5px; color: #314945; background: #fff; }
.ve-chat-message--user { align-self: flex-end; border-bottom-right-radius: 5px; color: #fff; background: var(--ve-teal-800); }
.ve-chat-message--link span, .ve-chat-message--link a { display: block; }
.ve-chat-message--link a { margin-top: 7px; color: var(--ve-teal-700); font-weight: 900; }
.ve-chat-result { display: grid; gap: 4px; padding: 11px 13px; border: 1px solid #d9e4e1; border-radius: 13px; color: var(--ve-teal-950); background: #fff; box-shadow: 0 5px 16px rgba(3,47,53,.05); }
.ve-chat-result strong { font-family: Georgia, serif; font-size: .9rem; }
.ve-chat-result span { color: #6b7d78; font-size: .69rem; line-height: 1.35; }
.ve-chatbot__quick { display: flex; flex-wrap: wrap; gap: 7px; padding: 12px 15px; border-top: 1px solid #e0e8e5; background: #fff; }
.ve-chatbot__quick a, .ve-chatbot__quick button { min-height: 31px; padding: 5px 9px; border: 1px solid #bfcfca; border-radius: 999px; color: var(--ve-teal-800); background: #fff; font: inherit; font-size: .66rem; font-weight: 850; cursor: pointer; }
.ve-chatbot__quick a:hover, .ve-chatbot__quick button:hover { border-color: var(--ve-gold-500); background: #fff8df; }
.ve-chatbot__form { display: grid; grid-template-columns: 1fr 43px; gap: 7px; padding: 0 15px 10px; background: #fff; }
.ve-chatbot__form input { min-width: 0; min-height: 43px; padding: 9px 12px; border: 1px solid #bfcfca; border-radius: 12px; color: var(--ve-ink); background: #f9fbfa; font: inherit; font-size: .78rem; }
.ve-chatbot__form input:focus { border-color: var(--ve-teal-600); outline: 3px solid rgba(8,121,133,.12); }
.ve-chatbot__form button { width: 43px; height: 43px; border: 0; border-radius: 12px; color: var(--ve-teal-950); background: var(--ve-gold-300); font-size: 1.15rem; font-weight: 900; cursor: pointer; }
.ve-chatbot__privacy { margin: 0; padding: 0 15px 11px; color: #84918e; background: #fff; font-size: .58rem; text-align: center; }
@media (max-width: 520px) {
  .ve-chatbot__launcher { right: 14px; bottom: 14px; }
  .ve-chatbot__launcher strong { display: none; }
  .ve-chatbot__launcher { padding: 7px; }
  .ve-chatbot__panel { right: 10px; bottom: 75px; width: calc(100vw - 20px); max-height: calc(100vh - 90px); border-radius: 20px; }
}
