/* ============================================================
   ENERGY — Polifo Theme · Global Design System
   Barlow (display + body).
   Theme via <body class="theme-light|theme-dark">.
   ============================================================ */

@font-face { font-family: "Barlow"; font-style: normal; font-weight: 100; font-display: swap; src: url("../fonts/Barlow-Thin.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: italic; font-weight: 100; font-display: swap; src: url("../fonts/Barlow-ThinItalic.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 200; font-display: swap; src: url("../fonts/Barlow-ExtraLight.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: italic; font-weight: 200; font-display: swap; src: url("../fonts/Barlow-ExtraLightItalic.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/Barlow-Light.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: italic; font-weight: 300; font-display: swap; src: url("../fonts/Barlow-LightItalic.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/Barlow-Regular.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/Barlow-Italic.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/Barlow-Medium.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: italic; font-weight: 500; font-display: swap; src: url("../fonts/Barlow-MediumItalic.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/Barlow-SemiBold.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: italic; font-weight: 600; font-display: swap; src: url("../fonts/Barlow-SemiBoldItalic.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/Barlow-Bold.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: italic; font-weight: 700; font-display: swap; src: url("../fonts/Barlow-BoldItalic.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/Barlow-ExtraBold.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: italic; font-weight: 800; font-display: swap; src: url("../fonts/Barlow-ExtraBoldItalic.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 900; font-display: swap; src: url("../fonts/Barlow-Black.ttf") format("truetype"); }
@font-face { font-family: "Barlow"; font-style: italic; font-weight: 900; font-display: swap; src: url("../fonts/Barlow-BlackItalic.ttf") format("truetype"); }

/* ---------- Tokens ---------- */
:root {
  --zinc-50:  oklch(98.5% 0 0);
  --zinc-100: oklch(96.7% .001 286.375);
  --zinc-200: oklch(92% .004 286.32);
  --zinc-300: oklch(87.1% .006 286.286);
  --zinc-400: oklch(70.5% .015 286.067);
  --zinc-500: oklch(55.2% .016 285.938);
  --zinc-600: oklch(44.2% .017 285.786);
  --zinc-700: oklch(37% .013 285.805);
  --zinc-800: oklch(27.4% .006 286.033);
  --zinc-900: oklch(21% .006 285.885);
  --red-500:  oklch(63.7% .237 25.331);
  --red-400:  oklch(70.4% .191 22.216);
  --emerald-400: oklch(76.5% .177 163.223);

  --accent:     var(--red-500);
  --accent-ink: var(--red-500);
  --maxw:   1320px;
  --gutter: clamp(20px, 5vw, 64px);
  --r:      4px;
  --ease:   cubic-bezier(0.22, 1, 0.36, 1);

  /* Light theme defaults */
  --bg:       #ffffff;
  --paper:    var(--zinc-50);
  --surface:  #ffffff;
  --ink:      var(--zinc-900);
  --ink-soft: var(--zinc-800);
  --ink-2:    var(--zinc-600);
  --ink-3:    var(--zinc-500);
  --line:     var(--zinc-200);
  --line-2:   var(--zinc-300);
  --logo-filter: none;
  --hero-scrim: linear-gradient(180deg, oklch(21% .006 285.885 / 0) 40%, oklch(21% .006 285.885 / .5) 100%);
}

body.theme-dark {
  --bg:       oklch(16.5% .004 286);
  --paper:    var(--zinc-900);
  --surface:  oklch(23% .005 286);
  --ink:      var(--zinc-100);
  --ink-soft: var(--zinc-200);
  --ink-2:    var(--zinc-400);
  --ink-3:    var(--zinc-500);
  --line:     var(--zinc-800);
  --line-2:   var(--zinc-700);
  --logo-filter: invert(1);
  --hero-scrim: linear-gradient(180deg, oklch(10% .004 286 / 0) 30%, oklch(10% .004 286 / .82) 100%);
}

/* ---------- Reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  font-family: "Barlow", ui-sans-serif, system-ui, sans-serif;
  background: var(--bg);
  color: var(--ink-soft);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
  overflow-x: hidden;
}
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; background: none; border: none; }
::selection { background: var(--accent); color: #fff; }

/* ---------- Layout ---------- */
.wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: clamp(64px, 10vw, 140px); }
.section--tight { padding-block: clamp(48px, 7vw, 96px); }
.divider { height: 1px; background: var(--line); border: 0; }

/* ---------- Type system ---------- */
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11.5px; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--ink-3);
}
.eyebrow::before {
  content: ""; width: 5px; height: 5px; border-radius: 50%;
  background: var(--ink); flex: none; opacity: 0.5;
}
.eyebrow--plain::before { display: none; }

.display {
  font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-size: clamp(2.8rem, 5.5vw, 6.4rem);
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: var(--ink);
  text-wrap: balance;
}
.h1 { font-family: "Barlow", sans-serif; font-weight: 300; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.08; letter-spacing: -0.02em; color: var(--ink); text-wrap: balance; }
.h2 { font-weight: 500; font-size: clamp(1.5rem, 2.8vw, 2.4rem); line-height: 1.12; letter-spacing: -0.015em; color: var(--ink); text-wrap: balance; }
.h3 { font-weight: 500; font-size: clamp(1.15rem, 1.6vw, 1.4rem); line-height: 1.18; letter-spacing: -0.01em; color: var(--ink); }
.lead { font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.55; color: var(--ink-2); font-weight: 400; max-width: 46ch; text-wrap: pretty; }
.body { font-size: 1.0625rem; line-height: 1.65; color: var(--ink-2); text-wrap: pretty; }
.small { font-size: 0.875rem; line-height: 1.5; color: var(--ink-3); }
.en { color: var(--ink-3); font-weight: 400; }
.accent { color: var(--accent-ink); }
.hero__display, .page-title, .detail-title, .kol__name,
.chero__title, .cta__big, .contact__title { color: var(--ink); }

/* ---------- Header ---------- */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background .38s, border-color .38s, backdrop-filter .38s, -webkit-backdrop-filter .38s;
}
.site-header.is-scrolled {
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  backdrop-filter: saturate(140%) blur(14px);
  border-bottom-color: var(--line);
}
.site-header__inner {
  max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter);
  height: 68px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
}

/* ── Brand ── */
.brand { display: flex; align-items: center; gap: 12px; flex: none; }
.brand img { height: 17px; width: auto; filter: brightness(0) invert(1); transition: filter .38s; }
.site-header.is-scrolled .brand img { filter: var(--logo-filter); }
.brand__tag {
  font-size: 9.5px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--ink-3); font-weight: 600; padding-left: 12px; margin-left: 2px;
  border-left: 1px solid var(--line-2); align-self: stretch; display: flex; align-items: center;
}

/* ── Nav ── */
.nav { display: flex; align-items: center; gap: 0; justify-self: center; }
.nav a {
  position: relative; padding: 8px 18px; font-size: 0.9rem; font-weight: 500;
  color: rgba(255,255,255,.80); transition: color 0.2s;
}
.nav a:hover, .nav a.is-active { color: #fff; }
.nav a.is-active::after {
  content: ''; position: absolute; bottom: 4px; left: 18px; right: 18px;
  height: 1.5px; background: #fff;
}
.site-header.is-scrolled .nav a { color: var(--ink-2); }
.site-header.is-scrolled .nav a:hover,
.site-header.is-scrolled .nav a.is-active { color: var(--ink); }
.site-header.is-scrolled .nav a.is-active::after { background: var(--ink); }

/* ── CTA button ── */
.header-cta {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px;
  border: 1px solid rgba(255,255,255,.42); color: #fff; border-radius: var(--r);
  font-size: 0.88rem; font-weight: 600;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.header-cta:hover { border-color: rgba(255,255,255,.85); background: rgba(255,255,255,.12); color: #fff; }
.site-header.is-scrolled .header-cta { border-color: var(--line-2); color: var(--ink); }
.site-header.is-scrolled .header-cta:hover { border-color: var(--ink); background: var(--ink); color: var(--bg); }

.header-right { display: flex; align-items: center; gap: 18px; justify-self: end; grid-column: 3; }
.menu-toggle { display: none; color: #fff; transition: color .38s; }
.site-header.is-scrolled .menu-toggle { color: var(--ink); }

/* Non-homepage: offset content below the fixed 68px header */
body:not(.home) { padding-top: 68px; }

/* ── Nav dropdown ── */
.nav-item { position: relative; display: inline-flex; align-items: center; }
.nav-item > a { display: inline-flex; align-items: center; gap: 5px; }
.nav-chevron { opacity: 0.45; transition: transform 0.22s var(--ease), opacity 0.22s; flex: none; }
.nav-item--open .nav-chevron { transform: rotate(180deg); opacity: 0.7; }

.nav-dropdown {
  position: absolute; top: calc(100% + 10px); left: 50%;
  transform: translateX(-50%) translateY(6px);
  min-width: max-content; background: var(--bg);
  border: 1px solid var(--line); border-radius: 10px; padding: 8px;
  box-shadow: 0 20px 56px rgba(0,0,0,.10), 0 4px 12px rgba(0,0,0,.05);
  opacity: 0; pointer-events: none;
  transition: opacity 0.2s var(--ease), transform 0.2s var(--ease); z-index: 90;
}
.nav-item--open .nav-dropdown { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.nav-dropdown::before {
  content: ''; position: absolute; top: -6px; left: 50%;
  transform: translateX(-50%) rotate(45deg); width: 10px; height: 10px;
  background: var(--bg); border-top: 1px solid var(--line); border-left: 1px solid var(--line);
}
.nav-dropdown__head {
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-3); padding: 6px 12px 10px; border-bottom: 1px solid var(--line); margin-bottom: 6px;
}
.nav-dropdown--ambassador { min-width: 280px; }
.nav-dropdown__item {
  display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 7px;
  color: var(--ink); transition: background 0.15s;
}
.nav-dropdown__item:hover { background: var(--paper); }
.nav-dropdown__img { width: 44px; height: 44px; object-fit: cover; border-radius: 4px; flex: none; }
.nav-dropdown__copy { display: flex; flex-direction: column; gap: 2px; }
.nav-dropdown__label { font-weight: 600; font-size: 0.88rem; color: var(--ink); }
.nav-dropdown__sub { font-size: 0.76rem; color: var(--ink-3); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px;
  border-radius: 999px; font-weight: 600; font-size: 1rem; line-height: 1;
  transition: transform 0.3s var(--ease), background 0.3s, color 0.3s, border-color 0.3s;
}
.btn--solid { background: var(--ink); color: var(--bg); }
.btn--solid:hover { transform: translateY(-2px); background: var(--accent); color: #fff; }
.btn--ghost { border: 1px solid var(--line-2); color: var(--ink); }
.btn--ghost:hover { border-color: var(--ink); transform: translateY(-2px); }
.btn--accent { background: var(--accent); color: #fff; }
.btn--accent:hover { transform: translateY(-2px); filter: brightness(1.08); }
.btn .arrow { transition: transform 0.3s var(--ease); }
.btn:hover .arrow { transform: translate(3px, -3px); }

/* ---------- Forms ---------- */
.field { display: flex; flex-direction: column; gap: 9px; }
.field label { font-size: 0.82rem; font-weight: 600; letter-spacing: 0.04em; color: var(--ink-2); }
.field label .req { color: var(--accent); }
.input, .select, .textarea {
  width: 100%; padding: 14px 16px; background: var(--surface); color: var(--ink);
  border: 1px solid var(--line-2); border-radius: var(--r); font: inherit; font-size: 1rem;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.input::placeholder, .textarea::placeholder { color: var(--ink-3); }
.input:focus, .select:focus, .textarea:focus {
  outline: none; border-color: var(--ink);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ink) 9%, transparent);
}
.textarea { resize: vertical; min-height: 120px; }

/* ---------- Client logo marquee ---------- */
.marquee {
  overflow: hidden;
  padding-block: clamp(24px, 3.5vw, 44px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.marquee__track {
  display: flex;
  align-items: center;
  gap: clamp(36px, 6vw, 80px);
  width: max-content;
  animation: marquee-scroll 32s linear infinite;
}
.marquee:hover .marquee__track { animation-play-state: paused; }
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.mlogo {
  width: clamp(80px, 10vw, 128px);
  height: 36px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mlogo img {
  max-width: 100%; max-height: 100%;
  width: auto; height: auto;
  object-fit: contain;
  filter: grayscale(1) brightness(.6);
  opacity: .55;
  transition: filter .35s, opacity .35s;
  display: block;
}
.mlogo a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.mlogo:hover img,
.mlogo a:hover img { filter: grayscale(0) brightness(1); opacity: 1; }
.mlogo--empty { background: var(--line); border-radius: var(--r); }

/* ---------- Trusted by — client logo grid (footer) ---------- */
.client-strip {
  padding-block: clamp(12px, 1.5vw, 20px) clamp(32px, 4vw, 48px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  text-align: center;
  padding-inline: var(--gutter);
  margin-bottom: 40px;
}
.client-strip__label {
  font-size: 1.2rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.75);
  font-weight: 500;
  margin-bottom: clamp(28px, 3.5vw, 40px);
}
.client-strip__logos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
/* Mỗi logo được đặt trong ô cố định → khoảng cách đều nhau */
.client-logo {
  width: clamp(110px, 15vw, 165px);
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.client-logo img {
  /* max-height: 44px;
  max-width: 100%;
  width: auto;
  height: auto; */
  object-fit: contain;
  display: block;
}
.client-logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* ---------- Section → Footer fade ---------- */
.footer-fade {
  height: clamp(80px, 14vw, 180px);
  background: linear-gradient(to bottom, var(--bg), #010101);
}

/* ---------- Footer ---------- */
.site-footer { background: #010101; color: #F4F2EE; padding-block: clamp(56px, 8vw, 60px) 36px; }
.site-footer a { color: inherit; }
.footer-grid { display: grid; padding-top: 10px; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 40px; }
.footer-logo { height: 22px; margin-bottom: 22px; }
.footer-col h4 { font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; opacity: 0.5; margin-bottom: 16px; font-weight: 600; }
.footer-col ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.footer-col a { opacity: 0.78; transition: opacity 0.25s; font-size: 0.98rem; }
.footer-col a:hover { opacity: 1; }
.footer-socials {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-top: 40px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.10);
}
.fsoc {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px;
  border: 1px solid rgba(255,255,255,.16); border-radius: 999px;
  font-size: 0.84rem; font-weight: 600; color: rgba(255,255,255,.65);
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.fsoc:hover { border-color: rgba(255,255,255,.5); color: #fff; background: rgba(255,255,255,.06); }
.fsoc svg { flex: none; opacity: 0.8; }
.contact-socials { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.footer-bottom {
  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
  margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.10);
  font-size: 0.85rem; opacity: 0.6;
}
.footer-big {
  font-weight: 800; letter-spacing: -0.03em; line-height: 0.9;
  font-size: clamp(3rem, 13vw, 11rem); opacity: 0.07; margin-top: 40px; user-select: none;
}

/* ---------- Reveal on scroll ---------- */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.8s var(--ease), transform 0.8s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1 !important; transform: none !important; } }

/* ---------- Mobile menu ---------- */
.mobile-menu {
  position: fixed; inset: 0; z-index: 80; background: var(--bg);
  display: flex; flex-direction: column; padding: 28px var(--gutter);
  transform: translateY(-100%); transition: transform 0.5s var(--ease); visibility: hidden;
}
.mobile-menu.open { transform: none; visibility: visible; }
.mobile-menu__top { display: flex; align-items: center; justify-content: space-between; height: 46px; }
.mobile-menu nav { display: flex; flex-direction: column; gap: 0; margin-top: 40px; }
.mobile-menu nav a { font-size: 1.4rem; font-weight: 600; letter-spacing: -0.02em; padding: 12px 0; border-bottom: 1px solid var(--line); }
.mobile-menu nav a .en { display: block; font-size: 0.9rem; font-weight: 500; }
/* Mobile accordion sub-menu */
.mob-item { border-bottom: 1px solid var(--line); }
.mob-item a { font-size: 1.4rem; font-weight: 600; letter-spacing: -0.02em; padding: 12px 0; display: block; }
.mob-item__toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; font-size: 1.4rem; font-weight: 600; letter-spacing: -0.02em; padding: 12px 0; text-align: left; }
.mob-chevron { flex-shrink: 0; transition: transform .3s var(--ease); }
.mob-item--open .mob-chevron { transform: rotate(180deg); }
.mob-sub { display: none; padding: 4px 0 8px 16px; border-top: 1px solid var(--line); }
.mob-item--open .mob-sub { display: flex; flex-direction: column; gap: 2px; }
.mob-sub__link { font-size: 1rem; font-weight: 500; padding: 10px 0; opacity: .7; display: block; border: none; }
.mobile-menu .mob-sub a { border-bottom: 1px solid var(--line); font-size: 1rem; font-weight: 500; padding: 10px 0; }
.mobile-menu .mob-sub a:last-child { border-bottom: none; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 760px) {
  .nav, .brand__tag { display: none; }
  .menu-toggle { display: inline-grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line-2); border-radius: 999px; }
  .header-cta { display: none; }
  .footer-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   HOME PAGE
   ============================================================ */

/* ── Hero — fullscreen video bg ── */
.hero {
  position: relative;
  height: 100svh;
  min-height: 600px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

/* Background layer: video or iframe */
.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #0a0a0b;
}
.hero__bg video {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transform: scale(1.22);
  transform-origin: center center;
}
/* Scale iframe to cover viewport (16:9 math trick) */
.hero__iframe-wrap {
  position: absolute; inset: 0; overflow: hidden;
}
.hero__iframe-wrap iframe {
  position: absolute;
  top: 50%; left: 50%;
  width: 100vw;  height: 56.25vw;
  min-height: 100vh; min-width: 177.78vh;
  /* scale(1.22) crops ~11% on each side — eliminates letterbox bars */
  transform: translate(-50%, -50%) scale(1.22);
  transform-origin: center center;
  border: 0; pointer-events: none;
}

/* Gradient overlay — stronger top for nav legibility + heavy bottom for text */
.hero__overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.62) 0%,
      rgba(0,0,0,.28) 18%,
      rgba(0,0,0,.12) 42%,
      rgba(0,0,0,.66) 72%,
      rgba(0,0,0,.92) 100%
    );
}

/* Text content — sits above overlay */
.hero__content {
  position: relative; z-index: 2;
  width: 100%;
  padding-bottom: clamp(56px,7vw,96px);
  color: #fff;
}
.hero__label {
  font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(255,255,255,.5); font-weight: 500; margin-bottom: 16px;
}
.hero__display {
  font-family: "Barlow", sans-serif; font-weight: 300;
  font-size: clamp(1.6rem, 3.2vw, 3rem);
  line-height: 1.2; letter-spacing: -.025em;
  color: #fff;
  margin-bottom: 20px;
}
.hero__text-body { white-space: pre-line; will-change: transform; }
.hero__cur {
  display: inline-block; width: 2.5px; height: .82em;
  background: #fff; margin-left: 4px; vertical-align: middle;
  border-radius: 1px; animation: hero-blink .75s step-end infinite;
}
@keyframes hero-blink { 0%,100%{opacity:1} 50%{opacity:0} }
.hero__meta {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  font-size: .8rem; color: rgba(255,255,255,.45); font-weight: 500;
  padding-top: 18px; border-top: 1px solid rgba(255,255,255,.15);
}
.hero__meta-dot { opacity: .4; }
.hero__meta-spacer { flex: 1; min-width: 16px; }
.hero__meta-link {
  color: rgba(255,255,255,.75); font-weight: 600;
  transition: color .2s; margin-left: auto;
}
.hero__meta-link:hover { color: #fff; }
.hero__cta-btn {
  display: inline-flex; align-items: center; gap: 10px;
  margin-top: clamp(24px,3vw,36px);
  padding: 13px 28px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  font-size: .88rem; font-weight: 500; letter-spacing: .02em;
  color: rgba(255,255,255,.58);
  background: rgba(255,255,255,.04);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: border-color .3s, color .3s, background .3s;
}
.hero__cta-btn:hover {
  border-color: rgba(255,255,255,.72);
  color: #fff;
  background: rgba(255,255,255,.10);
}
.hero__cta-btn .arrow { transition: transform .3s; }
.hero__cta-btn:hover .arrow { transform: translate(3px,-3px); }

/* ── KOL Hero ── */
body.single-energy_kol,
body.page-du-an { background-image: linear-gradient(#121212bf, #121212bf), url('/wp-content/uploads/2026/06/673c98116312141d14ca1c87_ezgif.com-optimize.gif');background-position:center top;background-repeat:repeat;background-attachment:fixed; }
body.single-energy_kol { padding-top:0; }
.kol-hero { position:relative;height:100svh;min-height:600px;overflow:hidden;display:flex;align-items:flex-end; }
.kol-hero__bg { position:absolute;inset:0;z-index:0;background:transparent; }
.kol-hero__bg video { width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.05);transform-origin:center center; }
.kol-hero__bg .polifo-yt-bg { position:absolute;top:50%;left:50%;width:177.78vh;height:56.25vw;min-width:100%;min-height:100%;transform:translate(-50%,-50%) scale(1.05);border:none;pointer-events:none; }
.kol-hero__crumb { position:absolute;top:84px;left:0;right:0;z-index:3;display:flex;align-items:center;font-size:.82rem; }
.kol-hero__crumb a { color:rgba(255,255,255,.6);transition:color .2s; }
.kol-hero__crumb a:hover { color:#fff; }
.kol-hero__content { position:relative;z-index:2;width:100%;padding-bottom:clamp(56px,7vw,96px);color:#fff; }
.kd-headline--hero { color:#fff;font-size:clamp(1.6rem,3.2vw,3rem);font-weight:300;letter-spacing:-0.025em;line-height:1.2;margin-bottom:clamp(16px,2.5vw,28px); }
.kd-meta-row--light .kd-meta-item { color:rgba(255,255,255,.65); }
.kd-meta-row--light .kd-meta-item--link { color:rgba(255,255,255,.65); }
.kd-meta-row--light .kd-meta-item--link:hover { color:#fff; }
.kd-meta-row--light .kd-meta-sep { background:rgba(255,255,255,.25); }
.kol-hero__scroll { position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.4);animation:kol-bounce 2s ease-in-out infinite; }
@keyframes kol-bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }

.sec-head { display: flex; flex-direction: column; gap: 10px; margin-bottom: clamp(28px,4vw,44px); padding-bottom: clamp(20px,3vw,32px); border-bottom: 1px solid var(--line); }
.sec-title { font-family: "Barlow",sans-serif; font-size: clamp(1.6rem,3vw,2.6rem); font-weight: 300; letter-spacing: -.025em; color: var(--ink); line-height: 1.1; }

.svc__list { list-style: none; padding: 0; margin: 0; }
.svc__item { display: grid; grid-template-columns: 52px 1fr 1fr; align-items: center; gap: clamp(16px,3vw,48px); padding-block: clamp(22px,3vw,34px); border-top: 1px solid var(--line); transition: background .25s; }
.svc__item:last-child { border-bottom: 1px solid var(--line); }
.svc__item:hover { background: var(--paper); }
.svc__n { font-size: .76rem; font-weight: 600; color: var(--ink-3); letter-spacing: .06em; }
.svc__name { font-family: "Barlow",sans-serif; font-size: clamp(1.1rem,2vw,1.7rem); font-weight: 300; letter-spacing: -.02em; color: var(--ink); }
.svc__desc { font-size: .88rem; color: var(--ink-3); text-align: right; font-weight: 400; }

.team { border-top: 1px solid var(--line); }
.team-row-land { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(8px,1.2vw,14px); margin-bottom: clamp(8px,1.2vw,14px); }
.team-row-port { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(8px,1.2vw,14px); }
.tslot { overflow: hidden; background: var(--paper); }
.tslot img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .9s var(--ease); }
.tslot:hover img { transform: scale(1.04); }
.tslot--land  { aspect-ratio: 3/2; }
.tslot--port2 { aspect-ratio: 2/3; }

.kol__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px,6vw,96px); align-items: center; }
.kol__media { overflow: hidden; aspect-ratio: 3/4; background: var(--paper); }
.kol__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease); }
.kol__media:hover img { transform: scale(1.03); }
.kol__copy { display: flex; flex-direction: column; gap: clamp(18px,2.5vw,28px); }
.kol__eyebrow { font-size: .78rem; letter-spacing: .15em; text-transform: uppercase; color: var(--ink-3); font-weight: 600; }
.kol__name { font-family: "Barlow",sans-serif; font-size: clamp(2rem,4vw,3.4rem); font-weight: 300; letter-spacing: -.03em; line-height: 1.05; color: var(--ink); margin: 0; }
.kol__quote { font-size: clamp(1rem,1.5vw,1.18rem); line-height: 1.7; color: var(--ink-2); margin: 0; padding-left: 18px; border-left: 2px solid var(--line-2); }
.kol__roster { display: flex; gap: 8px; flex-wrap: wrap; }

.cta { border-top: 1px solid var(--line); padding-block: clamp(72px,12vw,160px); }
.cta__inner { display: flex; flex-direction: column; align-items: flex-start; gap: clamp(32px,4vw,52px); }
.cta__big { font-family: "Barlow",sans-serif; font-weight: 300; letter-spacing: -.035em; font-size: clamp(2.4rem,6.5vw,6rem); line-height: 1.06; color: var(--ink); max-width: 18ch; }

/* ============================================================
   PROJECTS PAGE
   ============================================================ */

.page-head { padding-top: clamp(40px,6vw,80px); }
.page-head__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(24px,4vw,64px); align-items: end; }
.page-title { font-weight: 800; font-size: clamp(2.6rem,7vw,6rem); line-height: .95; letter-spacing: -.035em; }
.page-title .en { display: block; font-size: .28em; font-weight: 500; color: var(--ink-3); margin-top: .6em; letter-spacing: .02em; }

.filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 44px 0 36px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.filter { padding: 10px 18px; border: 1px solid var(--line-2); border-radius: 999px; font-size: .92rem; font-weight: 600; color: var(--ink-2); transition: color .25s,background .25s,border-color .25s; }
.filter:hover { color: var(--ink); border-color: var(--ink); }
.filter.is-active { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.filter .count { opacity: .5; margin-left: 6px; font-size: .82em; }

.index-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(18px,2.2vw,32px); }
.pindex-empty { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-height:20vh;width:100%;text-align:center;color:var(--ink-3); }
.pindex-empty svg { opacity:.25;flex-shrink:0; }
.pindex-empty p { font-size:1.05rem;letter-spacing:.01em;color:var(--ink-2); }
.pcard { display: block; }
.pcard__media { position: relative; aspect-ratio: 16/9; overflow: hidden; border-radius: var(--r); background: var(--paper); }
.pcard__thumb { width: 100%; height: 100%; background: var(--paper); }
.pcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .4s ease, transform .9s var(--ease); }
.pcard--photo .pcard__media img { object-fit: contain; }
.pcard:hover .pcard__media img { transform: scale(1.05); }
.pcard--video:hover .pcard__media { background: #000; }
.pcard--video:hover .pcard__media img { opacity: 0; transform: none; }
.pcard__video { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;opacity:0;transition:opacity .5s ease; }
.pcard:hover .pcard__video { opacity:1; }
.pcard__scrim { position:absolute;inset:0;background:var(--hero-scrim);opacity:0;transition:opacity .5s; }
.pcard:hover .pcard__scrim { opacity:1; }
.pcard__cta { display:none; }
.pcard__meta { display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:16px 2px 4px; }
.pcard__t { font-weight:700;font-size:1.12rem;letter-spacing:-.01em; }
.pcard__t .en { display:block;font-size:.78rem;font-weight:500;color:var(--ink-3);margin-top:3px; }
.pcard__y { font-size:.85rem;color:var(--ink-3);font-weight:500; }
.pcard__play { display:none; }

/* ============================================================
   PROJECT DETAIL (single.php)
   ============================================================ */

.crumb { padding-top: 28px; }
.crumb a { color:var(--ink-3);font-size:.88rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;transition:color .2s; }
.crumb a:hover { color: var(--ink); }
.detail-reel { position:relative;width:100%;aspect-ratio:16/9;background:#000;margin-top:24px;overflow:hidden;border-radius:var(--r); }
.detail-reel .polifo-yt-embed { width:100%;height:100%;display:block;border:none; }
.detail-header { display:grid;grid-template-columns:1fr minmax(220px,40%);gap:clamp(24px,5vw,80px);align-items:start;padding-block:clamp(32px,5vw,56px);border-bottom:1px solid var(--line); }
.detail-header__left { display:flex;flex-direction:column;gap:16px; }
.detail-hero__cat { display:flex;gap:8px;flex-wrap:wrap; }
.detail-title { font-weight:600;font-size:clamp(1.2rem,2.2vw,2rem);line-height:1.1;letter-spacing:-.02em;color:var(--ink); }
.detail-title .en { display:block;font-size:.6em;font-weight:500;color:var(--ink-3);margin-top:.8em;letter-spacing:.01em;line-height:1.4; }
.detail-facts { display:flex;flex-direction:column;gap:20px;padding-left:clamp(24px,4vw,56px);border-left:1px solid var(--line); }
.fact .k { font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600; }
.fact .v { font-weight:700;font-size:.95rem;margin-top:5px; }
.detail-brief { padding-block:clamp(36px,5vw,56px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:160px 1fr;gap:clamp(24px,4vw,60px);align-items:start; }
.detail-brief .eyebrow { padding-top: 3px; color: var(--ink); }
.detail-brief p { color:var(--ink);line-height:1.75;font-size:1.05rem;max-width:60ch; }
.detail-gallery { display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding-block:clamp(36px,5vw,56px);border-bottom:1px solid var(--line); }
.detail-gallery > div { position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer; }
.detail-gallery > div img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;transition:transform .3s var(--ease); }
.detail-gallery > div:hover img { transform:scale(1.04); }

/* Lightbox */
#gallery-lb { position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s; }
#gallery-lb.is-open { opacity:1;pointer-events:auto; }
#gallery-lb-img-wrap { max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center; }
#gallery-lb-img { max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 32px 80px rgba(0,0,0,.5); }
#gallery-lb-close { position:fixed;top:20px;right:24px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s; }
#gallery-lb-close:hover { background:rgba(255,255,255,.24); }
.shot { position:relative;overflow:hidden;background:var(--paper); }
.shot img { width:100%;display:block; }
.shot--video { aspect-ratio:16/9; }
.shot__play { position:absolute;inset:0;display:grid;place-items:center;z-index:2;pointer-events:none; }
.shot__play span { width:72px;height:72px;border-radius:50%;background:color-mix(in srgb,var(--bg) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-2);display:grid;place-items:center;font-size:1.1rem;color:var(--ink); }
.shot__cap { position:absolute;left:14px;bottom:12px;z-index:2;font-size:.78rem;font-weight:600;color:#fff;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:5px 12px;border-radius:999px; }
.impact { padding-block:clamp(48px,6vw,80px);border-bottom:1px solid var(--line); }
.impact .eyebrow { margin-bottom:32px; }
.kpis { display:flex;gap:clamp(40px,7vw,100px);flex-wrap:wrap; }
.kpi .n { font-size:clamp(2.6rem,5vw,4.4rem);font-weight:800;letter-spacing:-.04em;line-height:1; }
.kpi .l { font-size:.82rem;color:var(--ink-3);margin-top:8px; }
.credits-section { padding-block:clamp(48px,6vw,80px);border-bottom:1px solid var(--line); }
.credits-section .eyebrow { margin-bottom:28px; }
.credits { display:grid;grid-template-columns:repeat(4,1fr);gap:24px 32px; }
.credit .k { font-size:.75rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-weight:600; }
.credit .v { font-weight:600;margin-top:6px;font-size:1rem; }
.nextproj { margin-top: 0; }
.nextproj a { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(36px,5vw,64px) 0; }
.nextproj .lbl { font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600; }
.nextproj .t { font-weight:800;font-size:clamp(1.6rem,3.5vw,2.8rem);letter-spacing:-.03em;line-height:1;margin-top:10px;transition:color .3s; }
.nextproj a:hover .t { color: var(--accent-ink); }
.nextproj .arrow-lg { font-size:clamp(2rem,4vw,3rem);transition:transform .35s var(--ease);flex:none; }
.nextproj a:hover .arrow-lg { transform:translateX(10px); }

/* ============================================================
   KOL DETAIL (page-mc-anh-tuan.php)
   ============================================================ */

.divider{
    border-bottom:1px solid var(--line);
}
   
.kd-crumb { padding-block:20px;font-size:.82rem;color:var(--ink-3);font-weight:500;transition:color .2s; }
.kd-crumb a:hover { color: var(--ink); }
.kd-header { padding-block:clamp(60px,10vw,140px) clamp(40px,5vw,72px) }
.kd-headline { font-family:"Barlow",sans-serif;font-weight:300;font-size:clamp(2rem,4.5vw,4.6rem);line-height:1.12;letter-spacing:-.035em;color:var(--ink);max-width:26ch;margin-bottom:clamp(32px,4vw,56px);min-height:2.6em; }
.kd-headline--fadein { font-size:clamp(1.4rem,2.6vw,2.6rem);min-height:0;opacity:0;animation:hero-fadein 1s ease forwards;animation-delay:0.3s; }
.kd-cur { display:inline-block;width:2.5px;height:.82em;background:var(--ink);margin-left:4px;vertical-align:middle;border-radius:1px;animation:kd-blink .75s step-end infinite; }
@keyframes kd-blink { 0%,100%{opacity:1} 50%{opacity:0} }
.kd-meta-row { display:flex;align-items:center;gap:16px;flex-wrap:wrap; }
.kd-meta-item { display:inline-flex;align-items:center;gap:7px;font-size:.88rem;color:var(--ink-2);font-weight:400; }
.kd-meta-item--link { font-weight:500;transition:color .2s; }
.kd-meta-item--link:hover { color:var(--ink); }
.kd-meta-sep { display:inline-block;width:1px;height:14px;background:var(--line-2); }
.kd-showreel { padding-block:clamp(40px,6vw,80px);padding-inline:var(--gutter); }
.kd-showreel__wrap { max-width:var(--maxw);margin-inline:auto;aspect-ratio:16/9;overflow:hidden;border-radius:clamp(8px,1.2vw,16px); }
.kd-showreel__video { width:100%;height:100%;object-fit:cover;display:block; }
.kd-showreel__wrap .polifo-yt-embed { width:100%;height:100%;display:block;border:none; }
.kd-reel-slider { position:relative;border-radius: 20px;width:100%;height:100%;overflow:hidden; }
.kd-reel-track { display:flex;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform; }
.kd-reel-slide { flex:0 0 100%;height:100%; }
.kd-reel-slide video,.kd-reel-slide iframe { width:100%;height:100%;object-fit:cover;display:block;border:none; }
.kd-reel-prev,.kd-reel-next { position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);border:none;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:2; }
.kd-reel-prev { left:16px; }
.kd-reel-next { right:16px; }
.kd-reel-prev:hover,.kd-reel-next:hover { background:rgba(0,0,0,.75); }
.kd-reel-dots { position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:2; }
.kd-reel-dot { width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;padding:0;transition:background .2s,transform .2s; }
.kd-reel-dot.active { background:#fff;transform:scale(1.25); }
.kd-work__grid { display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(16px,2.5vw,32px);row-gap:clamp(40px,7vw,88px);padding-bottom:clamp(40px,6vw,80px); }
.kdw-card { display:block; }
.kdw-card--offset { transform:translateY(clamp(32px,5vw,64px)); }
.kdw-card__img-wrap { aspect-ratio:16/9;border-radius:clamp(6px,1vw,14px);overflow:hidden;background:rgba(255,255,255,.06);margin-bottom:clamp(12px,1.5vw,18px);position:relative; }
.kdw-card__img { width:100%;height:100%;object-fit:cover;display:block;transition:opacity .4s ease,transform .9s var(--ease); }
.kdw-card--photo .kdw-card__img { object-fit:contain; }
.kdw-card:hover .kdw-card__img { transform:scale(1.04); }
.kdw-card--video:hover .kdw-card__img-wrap { background:#000; }
.kdw-card--video:hover .kdw-card__img { opacity:0; transform:none; }
.kdw-card__video { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;opacity:0;transition:opacity .5s ease; }
.kdw-card:hover .kdw-card__video { opacity:1; }
.kdw-card__blank { width:100%;height:100%;background:rgba(255,255,255,.06); }
.kdw-card__title { font-family:"Barlow",sans-serif;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:500;letter-spacing:-.02em;color:#fff;line-height:1.25;margin-bottom:8px;transition:opacity .2s; }
.kdw-card:hover .kdw-card__title { opacity:.7; }
.kdw-card__client { font-size:.82rem;color:rgba(255,255,255,.45);margin-bottom:10px; }
.kdw-card__rule { height:1px;background:rgba(255,255,255,.1);margin-bottom:10px; }
.kdw-card__year { font-size:.78rem;color:rgba(255,255,255,.35); }
.kd-cta-vid { position:relative;overflow:hidden;min-height:clamp(420px,65vh,720px);display:flex;align-items:flex-end; }
.kd-cta-vid__bg { position:absolute;inset:0; }
.kd-cta-vid__bg video { width:100%;height:100%;object-fit:cover;display:block; }
.kd-cta-vid__bg .polifo-yt-bg { position:absolute;top:50%;left:50%;width:177.78vh;height:56.25vw;min-width:100%;min-height:100%;transform:translate(-50%,-50%);border:none;pointer-events:none; }
.kd-cta-vid__overlay { position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.88) 0%,rgba(8,8,8,.35) 55%,transparent 100%); }
.kd-cta-vid__content { position:relative;z-index:1;padding-bottom:clamp(48px,7vw,96px);display:flex;flex-direction:column;gap:0;color:#fff; }
.kd-cta-vid__tag { display:inline-flex;align-items:center;gap:14px;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:clamp(20px,3vw,36px); }
.kd-cta-vid__tag::after { content:'';display:block;width:36px;height:1px;background:rgba(255,255,255,.35); }
.kd-nums { display:flex;align-items:center;margin-bottom:clamp(32px,5vw,56px); }
.kd-nums__item { padding-inline:clamp(20px,3.5vw,44px);border-right:1px solid rgba(255,255,255,.18); }
.kd-nums__item:first-child { padding-left:0; }
.kd-nums__item:last-child { border-right:none; }
.kd-nums__val { font-family:"Barlow",sans-serif;font-size:clamp(2rem,4.5vw,4rem);font-weight:300;color:#fff;letter-spacing:-.04em;line-height:1;margin-bottom:6px; }
.kd-nums__lbl { font-size:.75rem;color:rgba(255,255,255,.45);font-weight:500;letter-spacing:.06em;text-transform:uppercase; }
.kd-cta-btn { display:inline-flex;align-items:center;gap:24px;font-size:clamp(1rem,1.4vw,1.15rem);font-weight:500;color:#fff;border:1px solid rgba(255,255,255,.35);padding:16px 28px;border-radius:var(--r);align-self:flex-start;transition:background .25s,border-color .25s; }
.kd-cta-btn:hover { background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.65); }
.kd-soc-row { display:flex;align-items:center;padding-block:clamp(40px,6vw,72px);border-top:1px solid var(--line); }
.kd-soc-row__div { display:inline-block;width:1px;height:22px;background:var(--line-2);margin-inline:clamp(20px,3vw,40px); }
.kd-soc-link { display:inline-flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;color:var(--ink-2);transition:color .2s; }
.kd-soc-link:hover { color:var(--ink); }

/* ============================================================
   TAG / PILL (shared)
   ============================================================ */

.tag { display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid var(--line-2);border-radius:999px;font-size:.82rem;font-weight:500;color:var(--ink-2); }
.tags { display:flex;flex-wrap:wrap;gap:9px; }

/* ============================================================
   RESPONSIVE — all pages
   ============================================================ */

@keyframes client-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@media (max-width: 760px) {
  .client-strip { padding-inline: 0; overflow: hidden; }
  .client-strip__logos {
    flex-wrap: nowrap; justify-content: flex-start;
    gap: 28px; width: max-content;
    animation: client-marquee 18s linear infinite;
  }
  .client-strip__logos:hover { animation-play-state: paused; }
  .client-logo { width: 96px; flex-shrink: 0; }
}


@media (max-width:860px) {
  .svc__item { grid-template-columns:40px 1fr; }
  .svc__desc { display:none; }
  .team-row-land { grid-template-columns:1fr; }
  .team-row-land .tslot--land:last-child { display:none; }
  .team-row-port { grid-template-columns:1fr 1fr; }
  .team-row-port .tslot--port2:last-child { display:none; }
  .kol__grid { grid-template-columns:1fr; }
  .page-head__grid { grid-template-columns:1fr; }
  .index-grid { grid-template-columns:repeat(2,1fr); }
  .detail-header { grid-template-columns:1fr;gap:28px; }
  .detail-facts { flex-direction:row;flex-wrap:wrap;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:24px;gap:20px 36px; }
  .detail-brief { grid-template-columns:1fr;gap:14px; }
  .credits { grid-template-columns:1fr 1fr; }
  .kd-work__grid { gap:clamp(16px,3vw,28px); }
  .kdw-card--offset { transform:translateY(32px); }
  .kd-nums { flex-wrap:wrap;gap:20px; }
  .kd-nums__item { border-right:none;border-bottom:1px solid rgba(255,255,255,.12);padding-block:16px 0;padding-inline:0;min-width:120px; }
}
@media (max-width:760px) {
  .hero { height: 75svh; min-height: 480px; }
}
@media (max-width:560px) {
  .hero__meta { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; gap:10px; scrollbar-width:none; }
  .hero__meta::-webkit-scrollbar { display:none; }
  .hero__meta-item, .hero__meta-dot { flex-shrink:0; }
  .hero__meta-spacer { display:none; }
  .hero__meta-link { flex-shrink:0; margin-left:auto; }
  .svc__item { grid-template-columns:36px 1fr;gap:12px; }
  .team-row-port { grid-template-columns:1fr 1fr; }
  .tslot--port2 { aspect-ratio:3/4; }
  .index-grid { grid-template-columns:1fr; }
  .detail-gallery { grid-template-columns:repeat(2,1fr); }
  .credits { grid-template-columns:1fr 1fr;gap:18px; }
  .kd-headline { font-size:clamp(1.8rem,7vw,3rem); }
  .kd-work__grid { grid-template-columns:1fr; }
  .kdw-card--offset { transform:none; }
  .kd-nums__item { border-bottom:none; }
  .kd-soc-row { flex-wrap:wrap;gap:20px; }
  .kd-soc-row__div { display:none; }
}

/* ── Mobile hero: video 16:9 banner + text below ── */
@media (max-width: 760px) {
  .hero {
    display: block;
    height: auto;
    overflow: visible;
    background: #0a0a0b;
  }
  .hero__bg {
    position: relative;
    inset: auto;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #0a0a0b;
  }
  .hero__bg video {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    transform: none;
  }
  .hero__iframe-wrap {
    position: absolute; inset: 0;
  }
  .hero__iframe-wrap iframe {
    position: absolute;
    top: 50%; left: 50%;
    width: 100%; height: 100%;
    min-width: unset; min-height: unset;
    transform: translate(-50%, -50%);
  }
  .hero__overlay {
    position: absolute; inset: auto;
    bottom: 0; left: 0; right: 0;
    height: 50%;
    background: linear-gradient(to bottom, transparent, #0a0a0b);
    top: auto;
  }
  .hero__content {
    position: relative;
    background: #0a0a0b;
    padding-top: 24px;
    padding-bottom: clamp(28px,5vw,48px);
    color: #fff;
  }
  .hero__label { color: rgba(255,255,255,.5); }

  /* KOL hero — same 16:9 banner treatment */
  .kol-hero {
    display: block;
    height: auto;
    min-height: 0;
    overflow: visible;
    background: transparent;
  }
  .kol-hero__bg {
    position: relative;
    inset: auto;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #0a0a0b;
  }
  .kol-hero__bg video {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    transform: none;
  }
  .kol-hero__bg .polifo-yt-bg {
    position: absolute;
    top: 50%; left: 50%;
    width: 177.78vh; height: 56.25vw;
    min-width: 100%; min-height: 100%;
    transform: translate(-50%, -50%);
    border: none; pointer-events: none;
  }
  .kol-hero .hero__overlay { display: none; }
  .hero__overlay { /* shared overlay class used in kol-hero too */
    position: absolute; top: auto;
    bottom: 0; left: 0; right: 0;
    height: 50%;
    background: linear-gradient(to bottom, transparent, #0a0a0b);
  }
  .kol-hero__content {
    position: relative;
    background: transparent;
    padding-top: 24px;
    padding-bottom: clamp(28px,5vw,48px);
    color: #fff;
    width: 100%;
    max-width: none;
    margin: 0;
    justify-content: flex-start;
  }
  .kol-hero__scroll { display: none; }
}
