/* =============================================================================
   Ngọc Trân — theme.css v3.2  ·  NAVY + GOLD ON IVORY
   One committed art direction. Dark sections: navy with gold type.
   Light sections: ivory with charcoal type. Gold hairlines everywhere.
   Palette = Kadence global colors (Customize → Colors):
     1 gold · 2 deep gold · 3 navy · 4 charcoal · 5 muted · 6 line · 7 ivory-2 · 8 ivory · 9 paper
   ============================================================================= */
:root {
	--g:      var(--global-palette1, #c9a35c);
	--g2:     var(--global-palette2, #a8843f);
	--navy:   var(--global-palette3, #0f1b2a);
	--navy2:  #152638;
	--hdr:    #1b2f4b; /* header: a step lighter than the page bands */
	--navy3:  #1c3046;
	--ink:    var(--global-palette4, #2a3645);
	--muted:  var(--global-palette5, #7a8694);
	--line:   var(--global-palette6, #d8d2c4);
	--ivory2: var(--global-palette7, #f1ece2);
	--ivory:  var(--global-palette8, #f8f5ee);
	--paper:  var(--global-palette9, #fffdf8);
	--sky:    #90d5ff;
	--on-dark:  rgba(248,245,238,.82);
	--on-dark2: rgba(248,245,238,.58);
	--gold-line: rgba(201,163,92,.35);
	--serif: var(--global-heading-font-family, "Cormorant Garamond", Georgia, serif);
	--sans:  var(--global-body-font-family, "Be Vietnam Pro", system-ui, sans-serif);
	--w: 1240px; --gut: clamp(18px, 4vw, 48px); --sec: clamp(72px, 9vw, 128px); --r: 6px;
	--ease: cubic-bezier(.2,.7,.2,1);
	--glow: radial-gradient(60% 70% at 70% 30%, rgba(201,163,92,.18), transparent 70%);
}

/* ---------- Base ---------- */
body { background: var(--ivory); color: var(--ink); font-weight: 400; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--serif); color: var(--navy); text-wrap: balance; letter-spacing: 0; }
:lang(vi) { hyphens: none; }
.ntk img, .ntk-img { display: block; max-width: 100%; height: auto; }
.ntk-wrap { max-width: var(--w); margin: 0 auto; padding-left: var(--gut); padding-right: var(--gut); }
.ntk-section { padding: var(--sec) 0; }
.ntk-section--tint, .ntk-dark { background: var(--navy); color: var(--on-dark); position: relative; }
.ntk-dark::before, .ntk-section--tint::before { content: ""; position: absolute; inset: 0; background: var(--glow); pointer-events: none; }
.ntk-dark > *, .ntk-section--tint > * { position: relative; }
.ntk-section--tint h2, .ntk-dark h2, .ntk-section--tint h3, .ntk-dark h3 { color: #fff; }
.ntk-section--tint .ntk-h2, .ntk-dark .ntk-h2 { color: var(--g); }
.ntk-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: clamp(32px, 4vw, 52px); }
.ntk-eyebrow { font-family: var(--sans); font-size: 11.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--g2); margin: 0 0 14px; line-height: 1.5; }
.ntk-dark .ntk-eyebrow, .ntk-section--tint .ntk-eyebrow, .ntk-eyebrow--light { color: var(--g); }
.ntk-h2 { font-size: clamp(34px, 4.4vw, 54px); font-weight: 500; line-height: 1.1; margin: 0; }
.ntk-h2::after { content: ""; display: block; width: 44px; height: 1px; background: var(--g); margin-top: 16px; }
.ntk-head .ntk-h2::after { display: none; }
.ntk-lead { font-size: clamp(17px, 1.4vw, 19.5px); font-weight: 300; line-height: 1.7; }
.ntk-prose p { margin: 0 0 1em; } .ntk-prose p:last-child { margin: 0; }
.ntk-link { font-family: var(--sans); font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--g2); border-bottom: 1px solid var(--gold-line); padding-bottom: 4px; }
.ntk-link:hover { color: var(--navy); border-color: var(--navy); }
.ntk-dark .ntk-link, .ntk-section--tint .ntk-link { color: var(--g); } .ntk-dark .ntk-link:hover, .ntk-section--tint .ntk-link:hover { color: #fff; border-color: #fff; }
.ntk-actions { display: flex; flex-wrap: wrap; gap: 14px; } .ntk-actions--center { justify-content: center; }
.ntk-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; border-radius: 2px; font-family: var(--sans); font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; border: 1px solid var(--g); color: var(--navy); transition: background .25s, color .25s, transform .3s var(--ease); }
.ntk-btn:hover { transform: translateY(-1px); }
.ntk-btn--solid { background: var(--g); color: var(--navy); } .ntk-btn--solid:hover { background: var(--navy); color: var(--g); border-color: var(--navy); }
.ntk-btn--line { border-color: var(--navy); } .ntk-btn--line:hover { background: var(--navy); color: #fff; }
.ntk-btn--light { border-color: var(--g); color: var(--g); } .ntk-btn--light:hover { background: var(--g); color: var(--navy); }
.ntk-dark .ntk-btn--line, .ntk-section--tint .ntk-btn--line { border-color: var(--on-dark2); color: #fff; }
.ntk-quote { margin: 32px 0; padding: 0 0 0 24px; border-left: 1px solid var(--g); }
.ntk-quote p { font-family: var(--serif); font-size: clamp(22px, 2.1vw, 28px); font-style: italic; line-height: 1.4; margin: 0 0 8px; color: var(--navy); }
.ntk-quote cite { font-style: normal; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--g2); }

/* ---------- Header: dark, gold accents ---------- */
.site-header, #masthead, .site-header .site-main-header-wrap, .site-header .site-header-row-container, .site-header .site-header-row-container-inner, .site-header .site-main-header-inner-wrap { background: var(--hdr) !important; }
/* sticky: Kadence swaps in its own (white) sticky background — keep ours, full width */
#masthead .kadence-sticky-header.item-is-fixed, #masthead .item-is-fixed .site-header-row-container-inner, #masthead .item-is-fixed .site-main-header-inner-wrap { background: var(--hdr) !important; left: 0 !important; width: 100% !important; max-width: none !important; }
#masthead .item-is-fixed .site-main-header-inner-wrap { box-shadow: 0 10px 30px -18px rgba(0,0,0,.6); }
#masthead .item-is-fixed .site-main-header-inner-wrap > .site-container { max-width: var(--w); }
.site-header .site-main-header-wrap { border-bottom: 1px solid var(--gold-line); backdrop-filter: none; }
.site-header .site-container { max-width: var(--w); }
.site-header .site-title, .site-header .site-title a { font-family: var(--serif) !important; font-weight: 500 !important; color: var(--g) !important; letter-spacing: .02em; }
.site-header .primary-menu-container > ul > li > a { font-family: var(--sans); font-size: 12.5px !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--on-dark) !important; }
.site-header .primary-menu-container > ul > li > a:hover, .site-header .primary-menu-container > ul > li.current-menu-item > a { color: var(--g) !important; }
.site-header .primary-menu-container > ul > li.current-menu-item > a::after { background: var(--g); }
.site-header .header-button { border-radius: 2px !important; background: var(--g) !important; border-color: var(--g) !important; color: var(--navy) !important; font-size: 12px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 11px 22px !important; }
.site-header .header-button:hover { background: transparent !important; color: var(--g) !important; }
.ntfc-lang a, .ntfc-lang .is-current { color: var(--on-dark2); } .ntfc-lang .is-current { color: var(--g); border-color: var(--g); }
.site-header .kadence-svg-iconset, .site-header .menu-toggle-open { color: var(--g); }
#mobile-drawer .drawer-inner, .popup-drawer .drawer-inner { background: var(--hdr); }
#mobile-drawer a { color: var(--on-dark); }

/* ---------- Hero: navy, radial gold glow, framed photo ---------- */
.ntk-hero { background: var(--navy); color: var(--on-dark); padding: clamp(56px, 7vw, 112px) 0; position: relative; overflow: hidden; }
.ntk-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(55% 80% at 78% 40%, rgba(201,163,92,.22), transparent 70%), radial-gradient(40% 50% at 10% 90%, rgba(144,213,255,.08), transparent 70%); }
.ntk-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--g), transparent); }
.ntk-hero__grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.ntk-hero .ntk-eyebrow { color: var(--g); }
.ntk-hero__title { font-size: clamp(40px, 4.4vw, 64px); font-weight: 400; line-height: 1.1; margin: 0 0 22px; color: #fff; max-width: 14ch; }
.ntk-hero__title::after { content: ""; display: block; width: 56px; height: 1px; background: var(--g); margin-top: 22px; }
.ntk-hero__lead { font-size: clamp(17px, 1.5vw, 21px); font-weight: 300; color: var(--on-dark); max-width: 46ch; margin: 0 0 32px; }
.ntk-hero .ntk-btn--line { border-color: var(--on-dark2); color: #fff; } .ntk-hero .ntk-btn--line:hover { background: #fff; color: var(--navy); }
.ntk-hero__badge { margin: 36px 0 0; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--g); font-weight: 600; display: flex; align-items: center; gap: 12px; }
.ntk-hero__badge span { display: inline-flex; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--g); align-items: center; justify-content: center; font-size: 11px; }
.ntk-hero__media { position: relative; }
.ntk-hero__media::before { content: ""; position: absolute; inset: 22px -22px -22px 22px; border: 1px solid var(--gold-line); }
.ntk-hero__main { position: relative; overflow: hidden; border: 1px solid var(--gold-line); box-shadow: 0 40px 80px -40px rgba(0,0,0,.7); }
.ntk-hero__main .ntk-img { aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.ntk-hero__small { position: absolute; left: -8%; bottom: -8%; width: 38%; overflow: hidden; border: 4px solid var(--navy); outline: 1px solid var(--gold-line); box-shadow: 0 30px 60px -30px rgba(0,0,0,.7); }
.ntk-hero__small .ntk-img { aspect-ratio: 1; object-fit: cover; }
.ntk-hero .ntfc-placeholder { background: linear-gradient(160deg, #152638, #1c3046); border-color: var(--gold-line); color: var(--on-dark2); }
@media (max-width: 900px) { .ntk-hero__grid { grid-template-columns: 1fr; } .ntk-hero__media { order: -1; max-width: 480px; } .ntk-hero__media::before { display: none; } }

/* ---------- Credential strip ---------- */
.ntk-strip { background: var(--navy2); border-bottom: 1px solid var(--gold-line); }
.ntk-strip__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 0; margin: 0; padding: 18px 0; list-style: none; }
.ntk-strip__list li { font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--g); padding: 0 26px; border-left: 1px solid var(--gold-line); }
.ntk-strip__list li:first-child { border-left: 0; }

/* ---------- Cake mosaic (ivory) ---------- */
.ntk-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 1fr; gap: 12px; }
.ntk-tile { position: relative; display: block; overflow: hidden; background: var(--ivory2); border: 1px solid var(--line); }
.ntk-tile .ntk-img { width: 100%; height: 100%; aspect-ratio: 4/5; object-fit: cover; transition: transform 1.2s var(--ease); }
.ntk-tile--lead { grid-column: span 2; grid-row: span 2; } .ntk-tile--lead .ntk-img { aspect-ratio: auto; }
.ntk-tile:hover .ntk-img { transform: scale(1.04); }
.ntk-tile__cap { position: absolute; inset: auto 0 0 0; padding: 56px 18px 16px; background: linear-gradient(transparent, rgba(15,27,42,.85)); color: #fff; display: flex; flex-direction: column; gap: 3px; opacity: 0; transform: translateY(6px); transition: opacity .35s, transform .35s var(--ease); }
.ntk-tile:hover .ntk-tile__cap, .ntk-tile--lead .ntk-tile__cap { opacity: 1; transform: none; }
.ntk-tile__cap strong { font-family: var(--serif); font-size: 22px; font-weight: 500; }
.ntk-tile__cap em { font-style: normal; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--g); }
@media (max-width: 900px) { .ntk-mosaic { grid-template-columns: repeat(2, 1fr); } .ntk-tile__cap { opacity: 1; transform: none; padding-top: 28px; } }

/* ---------- Champion band ---------- */
.ntk-champ { background: var(--navy); color: var(--on-dark); padding: var(--sec) 0; position: relative; overflow: hidden; border-top: 1px solid var(--gold-line); border-bottom: 1px solid var(--gold-line); }
.ntk-champ::before { content: ""; position: absolute; inset: 0; background: var(--glow); }
.ntk-champ__grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.ntk-champ__media { position: relative; overflow: hidden; border: 1px solid var(--gold-line); }
.ntk-champ__media > .ntk-img, .ntk-champ__media > .ntfc-placeholder { aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.ntk-champ__small { position: absolute; right: -4%; bottom: 6%; width: 46%; border: 4px solid var(--navy); outline: 1px solid var(--gold-line); overflow: hidden; }
.ntk-champ .ntk-h2 { color: var(--g); margin-bottom: 22px; }
.ntk-champ .ntk-prose { font-size: 17px; font-weight: 300; }
.ntk-champ .ntk-btn { margin-top: 30px; }
.ntk-champ .ntfc-placeholder { background: linear-gradient(160deg, #152638, #1c3046); border-color: var(--gold-line); color: var(--on-dark2); }
@media (max-width: 900px) { .ntk-champ__grid { grid-template-columns: 1fr; } }

/* ---------- About (ivory) ---------- */
.ntk-about__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.ntk-about__media { position: relative; }
.ntk-about__media::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border: 1px solid var(--line); }
.ntk-about__media .ntk-img, .ntk-about__media .ntfc-placeholder { position: relative; aspect-ratio: 4/5; object-fit: cover; width: 100%; border: 1px solid var(--line); }
.ntk-about .ntk-h2 { margin-bottom: 20px; }
@media (max-width: 900px) { .ntk-about__grid { grid-template-columns: 1fr; } .ntk-about__media { max-width: 420px; } }

/* ---------- CTA: gold ---------- */
.ntk-cta { background: linear-gradient(180deg, var(--navy2), var(--navy)); color: var(--on-dark); text-align: center; padding: var(--sec) 0; position: relative; border-top: 1px solid var(--gold-line); }
.ntk-cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 60% at 50% 100%, rgba(201,163,92,.25), transparent 70%); }
.ntk-cta .ntk-wrap { position: relative; max-width: 820px; }
.ntk-cta__mark { display: block; color: var(--g); font-size: 26px; margin-bottom: 14px; }
.ntk-cta .ntk-h2 { color: var(--g); margin-bottom: 14px; } .ntk-cta .ntk-h2::after { margin: 16px auto 0; }
.ntk-cta p { max-width: 54ch; margin: 0 auto 30px; }
.ntk-cta .ntk-btn--line { border-color: var(--on-dark2); color: #fff; }

/* ---------- Core components restyled ---------- */
.ntfc-section, .ntfc-page-head, .ntfc-filter, .ntfc-cake, .ntfc-course, .ntfc-contact { max-width: calc(var(--w) + 2 * var(--gut)); padding-left: var(--gut); padding-right: var(--gut); }
.ntfc-main { background: var(--ivory); }
.ntfc-section--tint, .ntfc-section--tint > * { background: var(--navy); color: var(--on-dark); }
.ntfc-section--tint h2, .ntfc-section--tint h3 { color: var(--g); }
/* Page heads: full-bleed navy band, flush under the header, text on the content column */
.content-area { margin-top: 0 !important; }
.ntfc-content .content-container, .ntfc-content .site-container { padding-top: 0 !important; }
/* ordinary pages (Về Ngọc Trân, Liên hệ…) and posts: one consistent gap under the header */
.content-area:not(.ntfc-content) { padding-top: clamp(40px, 5vw, 64px); }
.ntfc-content .ntfc-page-head { position: relative; width: 100vw; max-width: none; margin: 0 0 clamp(32px, 4vw, 48px) calc(50% - 50vw); padding: clamp(56px, 7vw, 104px) max(var(--gut), calc(50vw - var(--w) / 2)) clamp(48px, 5vw, 72px); background: var(--navy); color: var(--on-dark); overflow: hidden; }
.ntfc-page-head::before { display: none; }
.ntfc-band__bg { transform: scale(1.04); filter: saturate(.9); }
.ntfc-page-head .ntfc-band__bg { background-position: center 35%; }
.ntfc-page-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--g), transparent); }
.ntfc-page-head > * { position: relative; max-width: none; margin-left: 0; margin-right: 0; }
.ntfc-page-head .ntfc-eyebrow { color: var(--g); }
.ntfc-page-head__title { font-size: clamp(36px, 3.8vw, 56px); font-weight: 400; color: #fff; }
.ntfc-page-head__title::after { content: ""; display: block; width: 56px; height: 1px; background: var(--g); margin-top: 18px; }
.ntfc-page-head__intro { color: var(--on-dark); font-weight: 300; max-width: 58ch; margin-top: 18px; }
.site-header + * .ntfc-page-head, #inner-wrap .ntfc-page-head { margin-top: 0; }
/* band printed straight under the header on ordinary pages / posts / 404 */
.ntfc-page-head--full { position: relative; width: 100%; max-width: none !important; margin: 0; padding: clamp(48px, 5.5vw, 80px) max(var(--gut), calc(50vw - var(--w) / 2)) clamp(44px, 4.5vw, 64px); background: var(--navy); color: var(--on-dark); overflow: hidden; }
.ntfc-page-head--full + #inner-wrap .content-area, .page .content-area:not(.ntfc-content), .single-post .content-area { padding-top: clamp(40px, 5vw, 64px); }
.page .entry-header, .single-post .entry-header, .page .entry-hero, .single-post .entry-hero, .search .entry-hero, .error404 .entry-hero { display: none !important; }
/* Brand: wreath logo (black PNG → cream) + site name beside it */
.site-header .custom-logo, .site-header .site-branding img { filter: invert(1) sepia(.45) saturate(1.4) brightness(1.02); height: auto; }
.site-header .site-branding { padding: 8px 0; }
.site-header .site-branding a.brand { display: flex; align-items: center; gap: 16px; text-decoration: none; }
.site-header .custom-logo { width: auto !important; height: 72px !important; max-height: none !important; }
.site-header .site-branding .site-title { font-family: var(--serif) !important; font-size: 26px !important; font-weight: 500 !important; color: var(--g) !important; letter-spacing: .02em; line-height: 1.1; white-space: nowrap; text-transform: none !important; }
.site-header .site-branding .site-description { display: none !important; }
@media (max-width: 1024px) { .site-header .custom-logo { height: 60px !important; } .site-header .site-branding .site-title { font-size: 22px !important; } }
@media (max-width: 719px) { .site-header .custom-logo { height: 50px !important; } .site-header .site-branding .site-title { display: none; } }
.site-header .site-main-header-inner-wrap { min-height: 100px; }
@media (max-width: 1024px) { .site-header .site-main-header-inner-wrap { min-height: 84px; } }
@media (max-width: 719px) { .site-header .site-main-header-inner-wrap { min-height: 68px; } }
.ntfc-filter { margin: 28px auto 36px; }
.ntfc-filter__item { background: transparent; border-color: var(--line); color: var(--ink); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; border-radius: 2px; }
.ntfc-filter__item:hover { border-color: var(--g2); color: var(--g2); }
.ntfc-filter__item.is-active { background: var(--navy); border-color: var(--navy); color: var(--g); }
.ntfc-main > .ntfc-section--flush:first-of-type, .ntfc-filter + .ntfc-section { padding-top: 0; }
.ntfc-cake-card__media { border-radius: 0; border: 1px solid var(--line); background: var(--paper); }
.ntfc-cake-card__title { font-size: 20px; color: var(--navy); }
.ntfc-cake-card__meta { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--g2); }
.ntfc-course-card, .ntfc-press-card { border-radius: 0; border: 1px solid var(--line); background: var(--paper); }
.ntfc-section--tint .ntfc-course-card, .ntfc-section--tint .ntfc-press-card { background: var(--navy2); border-color: var(--gold-line); }
.ntfc-section--tint .ntfc-course-card__title a, .ntfc-section--tint .ntfc-press-card__title, .ntfc-section--tint .ntfc-post-card__title a { color: #fff; }
.ntfc-section--tint .ntfc-course-card__text, .ntfc-section--tint .ntfc-press-card__text, .ntfc-section--tint .ntfc-post-card__text { color: var(--on-dark); }
.ntfc-section--tint .ntfc-course-card__foot { border-color: var(--gold-line); color: var(--on-dark); }
.ntfc-tag { background: rgba(15,27,42,.85); color: var(--g); border-radius: 2px; font-size: 10px; letter-spacing: .14em; }
.ntfc-tag--status { background: var(--g); color: var(--navy); }
.ntfc-course-card__level, .ntfc-press-card__outlet, .ntfc-press-row__outlet, .ntfc-post-card__date { color: var(--g2); letter-spacing: .14em; text-transform: uppercase; font-size: 10.5px; }
.ntfc-section--tint .ntfc-course-card__level, .ntfc-section--tint .ntfc-press-card__outlet { color: var(--g); }
.ntfc-award-strip { background: var(--gold-line); border-color: var(--gold-line); }
.ntfc-award-strip__item { background: var(--navy2); } .ntfc-award-strip__item::before { background: var(--g) !important; }
.ntfc-award-strip__year { color: var(--g); opacity: .6; } .ntfc-award-strip__result { color: var(--g) !important; } .ntfc-award-strip__title { color: #fff; } .ntfc-award-strip__meta { color: var(--on-dark2); }
.ntk-section:not(.ntk-section--tint) .ntfc-award-strip__item { background: var(--navy); }
.ntfc-timeline__year { color: var(--g); opacity: .18; }
.ntfc-award { border-color: var(--line); }
.ntfc-award__result { color: var(--g2) !important; } .ntfc-award__medal { background: var(--g) !important; box-shadow: none !important; }
.ntfc-award.is-highlight { background: var(--navy); color: var(--on-dark); border: 1px solid var(--gold-line); border-radius: 0; box-shadow: none; }
.ntfc-award.is-highlight .ntfc-award__title, .ntfc-award.is-highlight .ntfc-award__title a { color: var(--g); } .ntfc-award.is-highlight .ntfc-award__result { color: var(--g) !important; } .ntfc-award.is-highlight .ntfc-award__meta, .ntfc-award.is-highlight .ntfc-award__note { color: var(--on-dark); }
.ntfc-press-card__also { color: var(--muted); }
.ntfc-cta, .ntfc-block .ntfc-cta, .ntfc-block.has-background .ntfc-cta, .wp-block-ntfc-cta { background: var(--navy) !important; color: var(--on-dark); border-top: 1px solid var(--gold-line); }
.ntfc-block.has-background:has(.ntfc-cta), .wp-block-group:has(> .ntfc-cta), .wp-block-group:has(> .wp-block-ntfc-cta) { background: none !important; padding: 0 !important; }
.content-area { margin-bottom: 0 !important; }
.ntfc-content .ntfc-cta, .entry-content .ntfc-cta, .entry-content .wp-block-ntfc-cta, .entry-content .ntfc-about-gallery, .ntfc-content .ntfc-section--tint { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.ntfc-content .ntfc-cta, .entry-content .ntfc-cta, .entry-content .wp-block-ntfc-cta { margin-top: var(--sec); margin-bottom: 0; }
.ntfc-content .ntfc-section--tint { padding-left: max(var(--gut), calc(50vw - var(--w) / 2)); padding-right: max(var(--gut), calc(50vw - var(--w) / 2)); }
.ntfc-content .ntfc-section--tint + .ntfc-cta { margin-top: 0; border-top: 1px solid var(--gold-line); }
.entry-content > :last-child.ntfc-cta, .entry-content > :last-child.wp-block-ntfc-cta { margin-bottom: 0; }
.ntfc-cta__inner { max-width: 760px; padding: clamp(72px, 9vw, 128px) var(--gut); }
.ntfc-cta .ntfc-btn--ghost { border: 1px solid rgba(255,255,255,.55); color: #fff; } .ntfc-cta .ntfc-btn--ghost:hover { background: #fff; color: var(--navy); }
/* Về Ngọc Trân gallery strip */
.ntfc-about-gallery { background: var(--paper); border-top: 1px solid var(--line); padding: var(--sec) max(var(--gut), calc(50vw - var(--w) / 2)); margin-top: var(--sec); }
.ntfc-about-gallery__head h2 { margin: 0; }
.ntfc-about-gallery .ntfc-link { color: var(--g2); }
/* Pages (Về Ngọc Trân…): image columns stick while the long text scrolls; even gutters */
.entry-content .wp-block-columns, .entry-content .kb-row-layout-inner { align-items: start; }
.entry-content .wp-block-columns { gap: clamp(32px, 5vw, 72px); }
.entry-content .wp-block-column > .wp-block-image:first-child, .entry-content .wp-block-column > figure:first-child, .entry-content .wp-block-column > .kb-image-is-grid:first-child { position: sticky; top: calc(100px + 24px); margin: 0; }
.entry-content .wp-block-column > .wp-block-image:first-child img { width: 100%; height: auto; display: block; border: 1px solid var(--line); }
.entry-content .wp-block-columns + .wp-block-columns { margin-top: var(--sec); }
.entry-content h2 { margin-top: 0; } .entry-content h3 { margin-top: 1.6em; }
.entry-content > *:not(.alignfull):not(.alignwide) { max-width: var(--w); margin-left: auto; margin-right: auto; }
.ntfc-cta__mark { color: var(--g); } .ntfc-cta__title { color: var(--g); } .ntfc-cta__text { color: var(--on-dark); }
.ntfc-cta .ntfc-btn--primary { background: var(--g); border-color: var(--g); color: var(--navy); } .ntfc-cta .ntfc-btn--primary:hover { background: transparent; color: var(--g); }
.ntfc-cta .ntfc-btn--ghost { border-color: var(--on-dark2); color: #fff; }
.ntfc-btn, .wp-block-button__link, .kb-button, .ntfc-form button { border-radius: 2px !important; font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.ntfc-btn--primary { background: var(--navy); border-color: var(--navy); color: var(--g); } .ntfc-btn--primary:hover { background: var(--g); border-color: var(--g); color: var(--navy); }
.wp-block-button__link, .kb-button { background: var(--navy) !important; color: var(--g) !important; } .wp-block-button__link:hover, .kb-button:hover { background: var(--g) !important; color: var(--navy) !important; }
.ntfc-masonry__item { border-radius: 0; border: 1px solid var(--gold-line); }
.ntfc-form input, .ntfc-form select, .ntfc-form textarea { border-radius: 2px; background: var(--paper); border-color: var(--line); }
.ntfc-form input:focus, .ntfc-form textarea:focus, .ntfc-form select:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(201,163,92,.2); }
.ntfc-h1, .ntfc-h2 { color: var(--navy); }

/* Kadence-built pages (About, Contact) */
.entry-content > .kb-row-layout-wrap:first-child, .entry-content > .wp-block-group:first-child { padding-top: 0 !important; }
.kb-row-layout-wrap .kt-row-column-wrap { max-width: var(--w); }
.entry-content h1, .entry-content h2, .entry-content h3 { color: var(--navy); }
.entry-content h2::after { content: ""; display: block; width: 44px; height: 1px; background: var(--g); margin-top: 14px; }
.entry-content .has-palette-3-background-color h2, .entry-content .has-palette-3-background-color h3 { color: var(--g); }

/* ---------- Footer ---------- */
.site-footer, .site-footer .site-footer-row-container-inner { background: var(--navy) !important; color: var(--on-dark); }
.site-footer .site-container { max-width: var(--w); }
.site-footer .site-top-footer-wrap { border-top: 1px solid var(--gold-line); }
.site-footer a { color: var(--on-dark); } .site-footer a:hover { color: var(--g); }
.site-footer .widget-title, .site-footer h4 { font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--g); margin: 0 0 18px; }
.site-footer .ntfc-footer-brand { font-family: var(--serif); font-size: 30px; color: var(--g); margin: 0 0 6px; }
.site-footer .ntfc-footer-tag { font-family: var(--serif); font-style: italic; font-size: 19px; color: var(--on-dark); max-width: 32ch; }
.site-footer .ntfc-footer-champ { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--g2); margin-top: 18px; }
.site-footer .wp-block-navigation a { font-size: 14px; } .site-footer .wp-block-navigation li { margin-bottom: 8px; }
.site-footer .site-bottom-footer-wrap { border-top: 1px solid var(--gold-line); font-size: 12.5px; color: var(--on-dark2); }

/* ---------- Title Case policy: everything. No uppercase anywhere. ---------- */
h1, h2, h3, h4, .ntk-h2, .ntfc-page-head__title, .ntfc-h1, .ntfc-h2, .ntfc-h3, .ntfc-cake-card__title, .ntfc-course-card__title, .ntfc-press-card__title, .ntfc-award__title, .ntfc-award-strip__title, .ntfc-post-card__title, .ntk-tile__cap strong, .ntfc-timeline__year { text-transform: capitalize !important; }
.ntk-eyebrow, .ntfc-eyebrow, .ntk-strip__list li, .ntk-link, .ntk-btn, .ntfc-btn, .wp-block-button__link, .kb-button, .ntfc-form button, .ntfc-filter__item, .ntfc-tag, .ntfc-course-card__level, .ntfc-press-card__outlet, .ntfc-press-row__outlet, .ntfc-post-card__date, .ntfc-cake-card__meta, .ntfc-award__result, .ntfc-award-strip__result, .ntk-tile__cap em, .ntk-hero__badge, .ntk-quote cite, .ntfc-quote cite, .ntfc-dl dt, .ntfc-facts dt, .ntfc-stats span, .ntfc-form__field span, .site-footer .widget-title, .site-footer h4, .site-footer .ntfc-footer-champ, .site-header .primary-menu-container > ul > li > a, .site-header .header-button { text-transform: capitalize !important; letter-spacing: .04em !important; }
.site-header .primary-menu-container > ul > li > a, .site-header .header-button, .ntk-btn, .ntfc-btn, .wp-block-button__link, .kb-button { font-size: 14px !important; letter-spacing: .02em !important; }
.ntk-eyebrow, .ntfc-eyebrow, .ntk-strip__list li { font-size: 13px; letter-spacing: .06em !important; }
.ntk-link { font-size: 14px; letter-spacing: .02em !important; }
/* Reveal */
[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1; transform: none; } }
