/* ==========================================================================
   v2.css — ดีไซน์ Cinematic Editorial  (index2.php)
   โทนสีดึงจากโลโก้จริง: น้ำเงินเข้ม · ฟ้าเทอร์ควอยซ์ · ทอง
   ไฟล์นี้เป็นอิสระจาก main.css ของ index.php ทั้งหมด
   ========================================================================== */

.v2 {
  /* --- แบรนด์ (จากโลโก้) --- */
  --navy:      #072A4D;
  --navy-2:    #0B3C6B;
  --blue:      #1B6FB5;
  --cyan:      #4FC3D9;
  --cyan-soft: #A9E2ED;
  --gold:      #C9A24B;
  --gold-soft: #E7D3A1;

  /* --- พื้น / ตัวอักษร (โหมดสว่าง) --- */
  --paper:   #FBFAF6;
  --paper-2: #FFFFFF;
  --ink:     #0A1420;
  --ink-2:   #46586E;
  --ink-3:   #8496AB;
  --line:    rgba(10,20,32,.12);
  --stage-bg:#0B2136;

  /* --- ตัวแปรที่ JS เขียน (ฉากซีเนมาติก) --- */
  --mx: 0; --my: 0;
  --sky-scale: 1.08; --sky-x: 0px; --sky-y: 0px; --sky-blur: 0px; --sky-dim: .34;
  --title-y: 0px; --title-scale: 1; --title-op: 1;
  --lede-y: 0px; --lede-op: 1;
  --split-l-x: 0%; --split-r-x: 0%; --split-op: 1; --split-scale: 1;
  --inner-op: 0; --inner-scale: 1.14; --inner-y: 0px;
  --p2-op: 0; --p2-y: 44px;
  --p3-op: 0; --p3-y: 44px;
  --rail-op: 0; --rail-x: 60vw; --rail-vis: hidden;
  --shade-a: 0; --grade-a: .55;

  /* --- spotlight --- */
  --sx: -999px; --sy: -999px; --sr: 250px;

  --ease: cubic-bezier(.16,1,.3,1);
  --font-d: 'Outfit', 'Anuphan', system-ui, sans-serif;   /* หัวข้อ + ตัวเลข */
  --font-b: 'Anuphan', 'Outfit', system-ui, sans-serif;   /* เนื้อความ (ไทยมาก่อน) */

  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-b);
  -webkit-font-smoothing: antialiased;
  margin: 0;
  overflow-x: clip;
}

/* --- โหมดกลางคืน --- */
html[data-theme="dark"] .v2 {
  --paper:   #060D18;
  --paper-2: #0D1826;
  --ink:     #EEF3F9;
  --ink-2:   #A2B3C6;
  --ink-3:   #6C7F94;
  --line:    rgba(255,255,255,.14);
  --gold:    #E0BC6B;
  --stage-bg:#04101C;
}

.v2 *, .v2 *::before, .v2 *::after { box-sizing: border-box; }
.v2 img { display: block; max-width: 100%; }
.v2 a { color: inherit; text-decoration: none; }
.v2 button { font: inherit; border: 0; background: none; cursor: pointer; color: inherit; }
.v2 h1, .v2 h2, .v2 h3, .v2 p, .v2 figure, .v2 dl, .v2 dd { margin: 0; }
html:has(.v2) { scroll-behavior: smooth; background: var(--paper); overflow-x: clip; max-width: 100%; }

/* --------------------------------------------------------------------------
   องค์ประกอบร่วม
   -------------------------------------------------------------------------- */
.v2 .wrap { width: min(1240px, 100% - 48px); margin-inline: auto; }
.v2 .kicker {
  font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); display: flex; align-items: center; gap: 12px; margin-bottom: 22px;
}
.v2 .kicker::before { content: ''; width: 34px; height: 1px; background: currentColor; opacity: .7; }
.v2 .h-display {
  font-family: var(--font-d); font-weight: 600; line-height: 1.14;
  letter-spacing: -.02em; font-size: clamp(30px, 4.6vw, 62px); text-wrap: balance;
}
.v2 .h-display em { font-style: normal; color: var(--blue); }
.v2 .lead { font-size: clamp(15px, 1.15vw, 18px); line-height: 1.75; color: var(--ink-2); max-width: 62ch; }
.v2 .sect { padding: clamp(80px, 11vh, 150px) 0; }

.v2 .pill {
  display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 26px;
  border-radius: 999px; font-size: 14.5px; font-weight: 700; transition: all .3s var(--ease);
}
.v2 .pill-solid { background: var(--navy); color: #fff; }
.v2 .pill-solid:hover { background: var(--blue); transform: translateY(-2px); }
.v2 .pill-gold { background: var(--gold); color: #16110A; }
.v2 .pill-gold:hover { filter: brightness(1.08); transform: translateY(-2px); }
.v2 .pill-line { border: 1px solid var(--line); color: var(--ink); }
.v2 .pill-line:hover { border-color: var(--blue); color: var(--blue); transform: translateY(-2px); }
.v2 .pill-ghost { border: 1px solid rgba(255,255,255,.4); color: #fff; }
.v2 .pill-ghost:hover { background: #fff; color: var(--navy); }

.v2 [data-rise] { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.v2 [data-rise].in { opacity: 1; transform: none; }

/* --------------------------------------------------------------------------
   HEADER — แถบลอยกระจกฝ้า
   -------------------------------------------------------------------------- */
.v2 .hd {
  position: fixed; inset: 0 0 auto 0; z-index: 90;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 18px clamp(16px, 3vw, 40px);
  transition: background .4s var(--ease), backdrop-filter .4s, border-color .4s;
  border-bottom: 1px solid transparent;
}
.v2 .hd.solid {
  background: color-mix(in srgb, var(--paper) 82%, transparent);
  backdrop-filter: blur(16px) saturate(1.4);
  border-bottom-color: var(--line);
}
/* ขณะลอยอยู่เหนือเวทีมืด ให้ใช้พื้นเข้มแทน ตัวอักษรจะอ่านออกเสมอ */
.v2 .hd.solid.on-dark {
  background: linear-gradient(180deg, rgba(4,14,26,.72), rgba(4,14,26,.28));
  border-bottom-color: rgba(255,255,255,.12);
}
.v2 .hd-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.v2 .hd-brand img {
  width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
  box-shadow: 0 4px 18px rgba(7,42,77,.22); background: #fff;
}
.v2 .hd-brand b { display: block; font-size: 13.5px; font-weight: 800; line-height: 1.25; white-space: nowrap; }
.v2 .hd-sub { display: block; font-size: 10.5px; letter-spacing: .06em; color: var(--ink-3); white-space: nowrap; }
.v2 .hd.on-dark .hd-brand b { color: #fff; }
.v2 .hd.on-dark .hd-sub { color: rgba(255,255,255,.62); }

.v2 .hd-nav {
  display: flex; align-items: center; gap: 2px; padding: 5px;
  border-radius: 999px; border: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper-2) 72%, transparent);
  backdrop-filter: blur(12px);
}
.v2 .hd.on-dark .hd-nav { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.12); }
.v2 .hd-nav a {
  padding: 8px 16px; border-radius: 999px; font-size: 13.5px; font-weight: 600;
  color: var(--ink-2); transition: all .25s;
}
.v2 .hd.on-dark .hd-nav a { color: rgba(255,255,255,.82); }
.v2 .hd-nav a:hover { background: color-mix(in srgb, var(--blue) 12%, transparent); color: var(--blue); }
.v2 .hd.on-dark .hd-nav a:hover { background: rgba(255,255,255,.2); color: #fff; }
.v2 .hd-nav a.on { background: var(--navy); color: #fff; }
.v2 .hd.on-dark .hd-nav a.on { background: #fff; color: var(--navy); }

.v2 .hd-side { display: flex; align-items: center; gap: 8px; }
.v2 .ib {
  width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; border: 1px solid var(--line); font-size: 13px; font-weight: 800;
  color: var(--ink-2); transition: all .25s;
  background: color-mix(in srgb, var(--paper-2) 70%, transparent); backdrop-filter: blur(12px);
}
.v2 .hd.on-dark .ib { border-color: rgba(255,255,255,.24); color: #fff; background: rgba(255,255,255,.12); }
.v2 .ib:hover { border-color: var(--blue); color: var(--blue); transform: translateY(-2px); }
.v2 .hd.on-dark .ib:hover { background: #fff; color: var(--navy); }
.v2 .ib .sun { display: none; } .v2 .ib .moon { display: inline; }
html[data-theme="dark"] .v2 .ib .sun { display: inline; }
html[data-theme="dark"] .v2 .ib .moon { display: none; }
.v2 .hd-apply { min-height: 42px; padding: 0 20px; font-size: 13.5px; }

.v2 .burger { display: none; width: 42px; height: 42px; border-radius: 999px; border: 1px solid var(--line);
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
  background: color-mix(in srgb, var(--paper-2) 70%, transparent); backdrop-filter: blur(12px); }
.v2 .hd.on-dark .burger { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.12); }
.v2 .burger i { width: 17px; height: 1.6px; background: var(--ink); border-radius: 2px; transition: transform .3s var(--ease), opacity .2s; }
.v2 .hd.on-dark .burger i { background: #fff; }
.v2 .burger.x i:nth-child(1) { transform: translateY(6.6px) rotate(45deg); }
.v2 .burger.x i:nth-child(2) { opacity: 0; }
.v2 .burger.x i:nth-child(3) { transform: translateY(-6.6px) rotate(-45deg); }

.v2 .sheet {
  position: fixed; inset: 0; z-index: 89; background: var(--paper);
  display: flex; flex-direction: column; justify-content: center; gap: 4px;
  padding: 90px clamp(24px, 7vw, 60px) 40px;
  opacity: 0; visibility: hidden; transform: translateY(-14px);
  transition: opacity .35s var(--ease), transform .45s var(--ease), visibility .35s;
}
.v2 .sheet.open { opacity: 1; visibility: visible; transform: none; }
.v2 .sheet a {
  font-family: var(--font-d); font-size: clamp(26px, 7vw, 40px); font-weight: 500;
  padding: 11px 0; border-bottom: 1px solid var(--line); display: flex;
  justify-content: space-between; align-items: baseline;
}
.v2 .sheet a small { font-family: var(--font-b); font-size: 12px; color: var(--gold); font-weight: 700; }
.v2 .sheet .sheet-cta { margin-top: 28px; display: flex; gap: 10px; flex-wrap: wrap; }

/* --------------------------------------------------------------------------
   ฉากซีเนมาติก (sticky stage)
   -------------------------------------------------------------------------- */
.v2 .cine { position: relative; height: calc(100vh + 3400px); background: var(--stage-bg); }
.v2 .stage {
  position: sticky; top: 0; height: 100vh; min-height: 600px;
  overflow: hidden; isolation: isolate; background: var(--stage-bg);
}
.v2 .stage > * { position: absolute; }

/* ชั้นฟ้า/ภาพกว้าง */
.v2 .sky { inset: -6%; width: 112%; height: 112%; object-fit: cover; z-index: 0;
  transform: translate3d(var(--sky-x), var(--sky-y), 0) scale(var(--sky-scale));
  filter: blur(var(--sky-blur)); will-change: transform, filter; }
.v2 .sky-dim { inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(4,16,28,.72) 0%, rgba(4,16,28,.18) 34%, rgba(4,16,28,.34) 66%, rgba(4,16,28,.88) 100%),
    linear-gradient(90deg, rgba(7,42,77,.55), rgba(7,42,77,0) 55%);
  opacity: calc(.5 + var(--sky-dim)); }
.v2 .grain { inset: 0; z-index: 8; pointer-events: none; opacity: .34; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  background-size: 200px 200px; }

/* ประตูสองบานที่แหวกออก */
.v2 .door { top: 0; bottom: 0; width: 50%; z-index: 4; overflow: hidden;
  opacity: var(--split-op); will-change: transform; }
/* ภาพในแต่ละบานกว้าง 2 เท่า = เต็มจอ จึงต่อกันสนิทไม่มีรอย */
.v2 .door img { position: absolute; top: 0; left: 0; width: 200%; height: 100%;
  max-width: none; object-fit: cover; transform: scale(var(--split-scale)); transform-origin: 50% 50%; }
.v2 .door-r img { left: -100%; }
.v2 .door::after { content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(4,16,28,.55), rgba(4,16,28,.2) 45%, rgba(4,16,28,.75)); }
.v2 .door-l { left: 0;  transform: translate3d(var(--split-l-x), 0, 0); }
.v2 .door-r { right: 0; transform: translate3d(var(--split-r-x), 0, 0); }

/* ภาพภายในที่ถูกเปิดออก */
.v2 .inner { inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 2;
  opacity: var(--inner-op);
  transform: translate3d(0, var(--inner-y), 0) scale(var(--inner-scale));
  will-change: transform, opacity; }
.v2 .inner-dim { inset: 0; z-index: 3; pointer-events: none; opacity: var(--inner-op);
  background:
    radial-gradient(closest-side at 50% 46%, rgba(4,16,28,.62), rgba(4,16,28,0) 78%),
    linear-gradient(180deg, rgba(4,16,28,.74) 0%, rgba(4,16,28,.42) 40%, rgba(4,16,28,.88) 100%); }

/* ตัวอักษรใหญ่ */
.v2 .cine-title {
  left: 50%; top: 44%; z-index: 6; width: min(94vw, 1400px); text-align: center; color: #fff;
  transform: translate3d(-50%, calc(-50% + var(--title-y)), 0) scale(var(--title-scale));
  opacity: var(--title-op); pointer-events: none; will-change: transform, opacity;
}
.v2 .cine-kicker { font-size: 11px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase;
  color: var(--gold-soft); margin-bottom: 20px; }
.v2 .cine-logo {
  /* จำกัดด้วย vh ด้วย เพื่อไม่ให้ชนย่อหน้านำบนจอเตี้ย */
  width: clamp(112px, min(16vw, 26vh), 220px); height: auto; margin: 0 auto; border-radius: 50%;
  filter: drop-shadow(0 22px 60px rgba(0,0,0,.55));
  animation: logoIn 1.5s var(--ease) both;
}
@keyframes logoIn { from { opacity: 0; transform: translateY(24px) scale(.9); filter: blur(10px); }
                    to   { opacity: 1; transform: none; filter: blur(0); } }
.v2 .cine-name { margin: 22px 0 0; font-family: var(--font-d); font-weight: 600;
  font-size: clamp(20px, 2.9vw, 40px); line-height: 1.16; letter-spacing: -.02em;
  color: #fff; text-shadow: 0 12px 40px rgba(0,0,0,.5); }
.v2 .cine-sub { margin-top: 8px; font-size: clamp(11px, 1.05vw, 14px); font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase; color: var(--gold-soft); }

.v2 .cine-lede {
  left: 50%; bottom: clamp(56px, 9vh, 108px); z-index: 7;
  width: min(660px, calc(100vw - 44px)); text-align: center; color: #fff;
  transform: translate3d(-50%, var(--lede-y), 0); opacity: var(--lede-op);
  will-change: transform, opacity;
}
.v2 .cine-lede p { font-size: clamp(13.5px, 1.1vw, 16.5px); line-height: 1.62;
  color: rgba(255,255,255,.92); text-shadow: 0 2px 20px rgba(0,0,0,.5); }
.v2 .cine-tags { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; margin-top: 18px; }
.v2 .cine-tags span { min-height: 38px; display: inline-flex; align-items: center; padding: 0 18px;
  border-radius: 999px; font-size: 12.5px; font-weight: 600; color: #fff;
  border: 1px solid rgba(255,255,255,.34); background: rgba(255,255,255,.12);
  backdrop-filter: blur(8px); }

/* แผงเล่าเรื่องกลางจอ */
.v2 .panel { left: 50%; top: 50%; z-index: 7; width: min(720px, calc(100vw - 44px));
  text-align: center; color: #fff; pointer-events: none; will-change: transform, opacity; }
/* ม่านนุ่มหลังตัวอักษร ให้อ่านออกแม้ภาพเบื้องหลังจะสว่าง */
.v2 .panel::before { content: ''; position: absolute; left: 50%; top: 50%; z-index: -1;
  width: 155%; height: 240%; transform: translate(-50%, -50%); pointer-events: none;
  background: radial-gradient(closest-side, rgba(4,14,26,.72), rgba(4,14,26,0) 72%); }
.v2 .panel h2 { font-family: var(--font-d); font-weight: 600; font-size: clamp(26px, 4vw, 54px);
  line-height: 1.14; letter-spacing: -.02em; text-shadow: 0 14px 40px rgba(0,0,0,.5); }
/* บังคับให้พาดหัวบนเวทีอยู่บรรทัดเดียว ไม่ให้คำสุดท้ายตกบรรทัด */
.v2 .panel h2.one-line { white-space: nowrap; }
.v2 .panel { width: min(940px, calc(100vw - 40px)); }
.v2 .panel p { margin-top: 22px; font-size: clamp(14.5px, 1.2vw, 17px); line-height: 1.7;
  color: rgba(255,255,255,.9); text-shadow: 0 2px 18px rgba(0,0,0,.5); }
.v2 .panel-2 { opacity: var(--p2-op); transform: translate3d(-50%, calc(-50% + var(--p2-y)), 0); }
.v2 .panel-3 { opacity: var(--p3-op); transform: translate3d(-50%, calc(-50% + var(--p3-y)), 0); }
@media (max-width: 900px) { .v2 .panel h2.one-line { font-size: clamp(19px, 5vw, 30px); } }
@media (max-width: 520px) { .v2 .panel h2.one-line { white-space: normal; } }
.v2 .facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 52px; }
.v2 .facts dt { font-family: var(--font-d); font-weight: 500; font-size: clamp(34px, 4.4vw, 62px);
  line-height: .9; color: var(--gold-soft); text-shadow: 0 12px 34px rgba(0,0,0,.45); }
.v2 .facts dd { margin-top: 12px; font-size: 12.5px; line-height: 1.5; color: rgba(255,255,255,.82); }
.v2 .panel .pill { pointer-events: auto; margin-top: 34px; }

/* รางการ์ดที่วิ่งเข้าจากขวา */
.v2 .rail { left: 0; right: 0; bottom: clamp(60px, 12vh, 130px); z-index: 9;
  visibility: var(--rail-vis); opacity: var(--rail-op);
  transform: translate3d(var(--rail-x), 0, 0); will-change: transform, opacity; }
.v2 .rail-head { color: #fff; padding: 0 clamp(16px, 4vw, 56px); margin-bottom: 20px;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.v2 .rail-head h3 { font-family: var(--font-d); font-weight: 500; font-size: clamp(20px, 2.4vw, 34px); }
.v2 .rail-btns { display: flex; gap: 10px; }
.v2 .rail-btns button { width: 46px; height: 46px; border-radius: 999px; color: #fff; font-size: 17px;
  border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.14);
  backdrop-filter: blur(8px); transition: all .25s; }
.v2 .rail-btns button:hover:not(:disabled) { background: #fff; color: var(--navy); }
.v2 .rail-btns button:disabled { opacity: .32; cursor: default; }
.v2 .rail-view { overflow: hidden; padding: 0 clamp(16px, 4vw, 56px) 8px; }
.v2 .rail-track { display: flex; gap: 16px; transition: transform .7s var(--ease); will-change: transform; }
.v2 .rc {
  flex: 0 0 clamp(250px, 22vw, 320px); border-radius: 20px; overflow: hidden; position: relative;
  aspect-ratio: 3 / 4; color: #fff; cursor: pointer; isolation: isolate;
}
.v2 .rc img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  transition: transform .8s var(--ease); z-index: -2; }
.v2 .rc::after { content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(4,16,28,.1) 30%, rgba(4,16,28,.86) 100%); }
.v2 .rc:hover img { transform: scale(1.07); }
.v2 .rc-body { position: absolute; inset: auto 0 0 0; padding: 22px; }
.v2 .rc-k { font-size: 10.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold-soft); }
.v2 .rc-t { font-family: var(--font-d); font-size: 21px; font-weight: 500; margin-top: 8px; }
.v2 .rc-d { font-size: 12.5px; line-height: 1.55; color: rgba(255,255,255,.82); margin-top: 8px; }

.v2 .scroll-cue { left: 50%; bottom: 24px; z-index: 9; transform: translateX(-50%);
  display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.72);
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  opacity: var(--lede-op); pointer-events: none; }
.v2 .scroll-cue i { width: 1px; height: 34px; background: linear-gradient(180deg, transparent, #fff);
  animation: cue 1.9s var(--ease) infinite; }
@keyframes cue { 0%,100% { opacity: .25; transform: scaleY(.5); } 50% { opacity: 1; transform: scaleY(1); } }

/* --------------------------------------------------------------------------
   MARQUEE
   -------------------------------------------------------------------------- */
.v2 .marq { background: var(--navy); color: #fff; padding: 26px 0; overflow: hidden;
  border-block: 1px solid rgba(255,255,255,.1); }
.v2 .marq-in { display: flex; width: max-content; animation: marq 34s linear infinite; }
.v2 .marq span { font-family: var(--font-d); font-size: clamp(24px, 3.4vw, 44px); font-weight: 500;
  padding-right: 34px; white-space: nowrap; color: rgba(255,255,255,.92); }
.v2 .marq span:nth-child(even) { color: transparent; -webkit-text-stroke: 1px var(--gold); }
@keyframes marq { to { transform: translateX(-50%); } }
.v2 .marq:hover .marq-in { animation-play-state: paused; }

/* --------------------------------------------------------------------------
   ABOUT
   -------------------------------------------------------------------------- */
.v2 .about2 { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: clamp(34px, 6vw, 90px); align-items: start; }
.v2 .about-dl { display: grid; gap: 0; margin-top: 38px; border-top: 1px solid var(--line); }
.v2 .about-dl > div { display: grid; grid-template-columns: minmax(112px,1fr) 2.4fr; gap: 20px;
  padding: 18px 0; border-bottom: 1px solid var(--line); }
.v2 .about-dl dt { font-size: 12px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: var(--gold); }
.v2 .about-dl dd { font-size: 14px; line-height: 1.7; color: var(--ink-2); }
.v2 .about-btns { display: flex; gap: 11px; flex-wrap: wrap; margin-top: 32px; }
.v2 .kicker-light { color: var(--gold-soft); }
.v2 .fac-drag { margin-top: 14px; font-size: 11.5px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--ink-3); }

/* --------------------------------------------------------------------------
   SHOWCASE — ภาพเต็มความกว้าง (แทนเทคนิค spotlight เดิม)
   -------------------------------------------------------------------------- */
.v2 .showcase { position: relative; isolation: isolate; overflow: hidden;
  min-height: min(84vh, 720px); display: flex; align-items: flex-end; }
.v2 .show-stage { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.v2 .show-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transform: scale(1.06);
  transition: opacity 1.6s var(--ease), transform 9s linear;
  will-change: opacity, transform; }
.v2 .show-img.on { opacity: 1; transform: scale(1.13); }   /* ค่อย ๆ ซูมระหว่างอยู่บนจอ */

/* ปุ่มและจุดบอกตำแหน่ง */
.v2 .show-nav { display: flex; align-items: center; gap: 14px; margin-top: 28px; }
.v2 .show-nav button { width: 42px; height: 42px; border-radius: 999px; color: #fff; font-size: 17px;
  border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.14);
  backdrop-filter: blur(8px); transition: all .25s; flex-shrink: 0; }
.v2 .show-nav button:hover { background: #fff; color: var(--navy); }
.v2 .show-dots { display: flex; gap: 8px; align-items: center; }
.v2 .show-dot { width: 8px !important; height: 8px !important; padding: 0; border-radius: 999px;
  border: 0 !important; background: rgba(255,255,255,.36) !important; backdrop-filter: none;
  transition: all .45s var(--ease); }
.v2 .show-dot.on { width: 30px !important; background: var(--gold) !important; }
.v2 .show-dot:hover { background: rgba(255,255,255,.7) !important; }
.v2 .showcase::after { content: ''; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(90deg, rgba(4,16,28,.7) 0%, rgba(4,16,28,.1) 62%, rgba(4,16,28,0) 100%),
    linear-gradient(180deg, rgba(4,16,28,.34) 0%, rgba(4,16,28,.12) 30%, rgba(4,16,28,.92) 100%); }
.v2 .showcase-copy { width: min(1240px, 100% - 48px); margin: 0 auto;
  padding: 0 0 clamp(40px, 8vh, 86px); color: #fff; }
.v2 .showcase-copy h2 { font-family: var(--font-d); font-weight: 600;
  font-size: clamp(28px, 4.2vw, 56px); line-height: 1.14; letter-spacing: -.02em; max-width: 18ch;
  text-shadow: 0 10px 36px rgba(0,0,0,.5); }
.v2 .showcase-copy p { margin-top: 16px; max-width: 56ch; font-size: 15px; line-height: 1.75;
  color: rgba(255,255,255,.86); text-shadow: 0 2px 16px rgba(0,0,0,.5); }

/* --------------------------------------------------------------------------
   PROGRAMS — รายการบรรทัด + ภาพลอยตามเมาส์
   -------------------------------------------------------------------------- */
.v2 .prog-list { border-top: 1px solid var(--line); margin-top: 46px; }
.v2 .prog-row { display: grid; grid-template-columns: 62px minmax(0,1fr) minmax(0, 34ch) auto;
  gap: 26px; align-items: center; padding: 24px 6px; border-bottom: 1px solid var(--line);
  transition: padding-left .4s var(--ease), color .3s; position: relative; }
.v2 .prog-main { position: relative; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.v2 .prog-chip { display: inline-flex; align-items: center; height: 24px; padding: 0 11px;
  border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .04em;
  color: var(--blue); background: color-mix(in srgb, var(--blue) 12%, transparent); white-space: nowrap; }
.v2 .prog-row::before { content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0;
  background: color-mix(in srgb, var(--blue) 6%, transparent); opacity: 0; transition: opacity .35s; }
.v2 .prog-row:hover::before { opacity: 1; }
.v2 .prog-row:hover { padding-left: 20px; }
.v2 .prog-n { font-family: var(--font-d); font-size: 15px; color: var(--gold); position: relative; }
.v2 .prog-t { font-family: var(--font-d); font-size: clamp(20px, 2.2vw, 30px); font-weight: 500;
  line-height: 1.2; position: relative; }
.v2 .prog-d { font-size: 13.5px; line-height: 1.65; color: var(--ink-2); position: relative; }
.v2 .prog-f { font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--ink-3);
  white-space: nowrap; position: relative; }
.v2 .prog-peek { position: fixed; z-index: 40; width: 260px; aspect-ratio: 4/3; border-radius: 14px;
  overflow: hidden; pointer-events: none; opacity: 0; transform: translate(-50%, -50%) scale(.9);
  transition: opacity .3s var(--ease), transform .45s var(--ease);
  box-shadow: 0 24px 70px rgba(7,42,77,.34); }
.v2 .prog-peek.on { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.v2 .prog-peek img { width: 100%; height: 100%; object-fit: cover; }

/* --------------------------------------------------------------------------
   STATS
   -------------------------------------------------------------------------- */
.v2 .stats { background: var(--navy); color: #fff; }
.v2 .stats .kicker { color: var(--gold-soft); }
.v2 .stats h2 { color: #fff; max-width: 20ch; }
.v2 .stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 60px; }
.v2 .stat { padding: 30px 4px; border-left: 1px solid rgba(255,255,255,.16); padding-left: 26px; }
.v2 .stat b { display: block; font-family: var(--font-d); font-weight: 500;
  font-size: clamp(38px, 5vw, 74px); line-height: .95; color: var(--gold-soft); }
.v2 .stat > span { display: block; margin-top: 14px; font-size: 12.5px; line-height: 1.5;
  color: rgba(255,255,255,.72); }

/* --------------------------------------------------------------------------
   FACULTY — ตารางการ์ด แบ่งกลุ่ม + ปุ่มขยาย
   -------------------------------------------------------------------------- */
.v2 .team-h { display: flex; align-items: center; gap: 12px; margin: 54px 0 22px;
  font-family: var(--font-d); font-size: clamp(17px, 1.7vw, 22px); font-weight: 600; letter-spacing: -.01em; }
.v2 .team-h::before { content: ''; width: 4px; height: 20px; border-radius: 3px; background: var(--gold); }
.v2 .team-n { font-family: var(--font-b); font-size: 11.5px; font-weight: 700; color: var(--blue);
  background: color-mix(in srgb, var(--blue) 12%, transparent); padding: 3px 11px; border-radius: 999px; }
.v2 .team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px 16px; }
.v2 .team-more[hidden] { display: none; }
.v2 .team-toggle { text-align: center; margin-top: 46px; }
.v2 #teamToggle .tg-ic { display: inline-block; transition: transform .35s var(--ease); }
.v2 #teamToggle[aria-expanded="true"] .tg-ic { transform: rotate(180deg); }
.v2 .fc-ph { border-radius: 14px; overflow: hidden; aspect-ratio: 3/4; background: var(--paper-2);
  border: 1px solid var(--line); }
.v2 .fc-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.v2 .fc:hover .fc-ph img { transform: scale(1.05); }
.v2 .fc figcaption b { display: block; margin-top: 13px; font-size: 13.5px; font-weight: 700; line-height: 1.45; }
.v2 .fc figcaption span { display: block; margin-top: 3px; font-size: 11.5px; color: var(--ink-3); line-height: 1.45; }

/* --------------------------------------------------------------------------
   FACILITIES — สถานที่
   -------------------------------------------------------------------------- */
.v2 .fac2-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px 20px; margin-top: 48px; }
.v2 .f2 { margin: 0; cursor: zoom-in; }
.v2 .f2-ph { border-radius: 16px; overflow: hidden; aspect-ratio: 4/3; background: var(--paper-2);
  border: 1px solid var(--line); position: relative; }
.v2 .f2-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.v2 .f2-ph::after { content: '⤢'; position: absolute; right: 12px; bottom: 10px; width: 32px; height: 32px;
  display: grid; place-items: center; border-radius: 999px; font-size: 14px; color: #fff;
  background: rgba(7,42,77,.6); backdrop-filter: blur(6px); opacity: 0; transition: opacity .3s; }
.v2 .f2:hover .f2-ph img { transform: scale(1.07); }
.v2 .f2:hover .f2-ph::after { opacity: 1; }
.v2 .f2 figcaption b { display: block; margin-top: 14px; font-family: var(--font-d);
  font-size: 15.5px; font-weight: 600; letter-spacing: -.01em; }
.v2 .f2 figcaption span { display: block; margin-top: 5px; font-size: 12.5px; line-height: 1.55;
  color: var(--ink-3); }

/* --------------------------------------------------------------------------
   SAFETY
   -------------------------------------------------------------------------- */
.v2 .safety2-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr);
  gap: clamp(34px, 6vw, 80px); align-items: center; }
.v2 .safety2-img { margin: 0; border-radius: 22px; overflow: hidden; aspect-ratio: 4/3;
  box-shadow: 0 30px 70px rgba(7,42,77,.2); }
.v2 .safety2-img img { width: 100%; height: 100%; object-fit: cover; }
.v2 .safe-list { list-style: none; margin: 34px 0 0; padding: 0; display: grid; gap: 0;
  border-top: 1px solid var(--line); }
.v2 .safe-list li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start;
  padding: 16px 0; border-bottom: 1px solid var(--line); }
.v2 .safe-n { font-family: var(--font-d); font-size: 13px; font-weight: 600; color: var(--gold); padding-top: 2px; }
.v2 .safe-tx strong { display: block; font-size: 14.5px; font-weight: 700; }
.v2 .safe-tx em { display: block; margin-top: 4px; font-style: normal; font-size: 13px;
  line-height: 1.65; color: var(--ink-2); }

/* --------------------------------------------------------------------------
   NEWS
   -------------------------------------------------------------------------- */
.v2 .news2 { background: var(--paper-2); }
.v2 .news2-head { display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; flex-wrap: wrap; }
.v2 .news2-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 22px; margin-top: 48px; }
.v2 .na { display: grid; gap: 16px; border-radius: 18px; overflow: hidden; background: var(--paper);
  border: 1px solid var(--line); transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
.v2 .na:hover { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(7,42,77,.14); }
.v2 .na-lead { grid-row: span 3; grid-template-rows: auto 1fr; gap: 0; }
.v2 .na:not(.na-lead) { grid-template-columns: 132px 1fr; gap: 0; align-items: stretch; }
.v2 .na-img { overflow: hidden; background: var(--line); }
.v2 .na-lead .na-img { aspect-ratio: 16/10; }
.v2 .na:not(.na-lead) .na-img { height: 100%; }
.v2 .na-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.v2 .na:hover .na-img img { transform: scale(1.05); }
.v2 .na-body { padding: 20px 22px 22px; display: flex; flex-direction: column; justify-content: center; gap: 9px; }
.v2 .na-cat { align-self: flex-start; display: inline-flex; align-items: center; height: 24px;
  padding: 0 12px; border-radius: 999px; font-size: 10.5px; font-weight: 700;
  letter-spacing: .08em; color: #fff; }
.v2 .na h3 { font-family: var(--font-d); font-weight: 600; letter-spacing: -.01em; line-height: 1.35; }
.v2 .na-lead h3 { font-size: clamp(19px, 1.9vw, 26px); }
.v2 .na:not(.na-lead) h3 { font-size: 14.5px; }
.v2 .na-body p { font-size: 13.5px; line-height: 1.7; color: var(--ink-2); }
.v2 .na-body time { font-size: 12px; color: var(--ink-3); }

/* --------------------------------------------------------------------------
   FACULTY (แถบเลื่อนแนวนอน — สำรองไว้)
   -------------------------------------------------------------------------- */
.v2 .fac-strip { display: flex; gap: 16px; margin-top: 48px; padding: 4px clamp(24px, 4vw, 48px) 24px;
  overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none;
  -webkit-overflow-scrolling: touch; cursor: grab; }
.v2 .fac-strip::-webkit-scrollbar { display: none; }
.v2 .fac-strip.grabbing { cursor: grabbing; scroll-snap-type: none; }
.v2 .fc { flex: 0 0 clamp(160px, 16vw, 210px); scroll-snap-align: start; }
.v2 .fc figure { border-radius: 16px; overflow: hidden; aspect-ratio: 3/4; background: var(--paper-2);
  border: 1px solid var(--line); }
.v2 .fc img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.v2 .fc:hover img { transform: scale(1.05); }
.v2 .fc b { display: block; margin-top: 14px; font-size: 13.5px; font-weight: 700; line-height: 1.4; }
.v2 .fc span { display: block; margin-top: 4px; font-size: 12px; color: var(--ink-3); }

/* --------------------------------------------------------------------------
   GALLERY
   -------------------------------------------------------------------------- */
.v2 .gal { columns: 4; column-gap: 14px; margin-top: 48px; }
.v2 .gi { break-inside: avoid; margin-bottom: 14px; border-radius: 14px; overflow: hidden;
  position: relative; cursor: zoom-in; background: var(--paper-2); }
.v2 .gi img { width: 100%; transition: transform .8s var(--ease); }
.v2 .gi:hover img { transform: scale(1.06); }
.v2 .gi::after { content: ''; position: absolute; inset: 0; background: rgba(7,42,77,.42);
  opacity: 0; transition: opacity .35s; }
.v2 .gi:hover::after { opacity: 1; }

/* --------------------------------------------------------------------------
   CONTACT — ติดต่อเรา
   -------------------------------------------------------------------------- */
.v2 .contact2 { background: var(--paper-2); }
.v2 .contact2-head { text-align: center; max-width: 720px; margin: 0 auto 54px; }
.v2 .contact2-head .kicker { justify-content: center; }
.v2 .contact2-head .lead { margin-inline: auto; }
.v2 .contact2-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr);
  gap: clamp(28px, 4vw, 54px); align-items: start; }

.v2 .c2-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0;
  border-top: 1px solid var(--line); }
.v2 .c2-list li { display: grid; grid-template-columns: 46px 1fr; gap: 14px; align-items: start;
  padding: 18px 0; border-bottom: 1px solid var(--line); }
.v2 .c2-ic { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px;
  font-size: 17px; background: color-mix(in srgb, var(--blue) 10%, transparent); }
.v2 .c2-list b { display: block; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.v2 .c2-list li > span > span { display: block; margin-top: 5px; font-size: 13.5px;
  line-height: 1.65; color: var(--ink-2); }
.v2 .c2-list a { color: var(--blue); }
.v2 .c2-list a:hover { text-decoration: underline; }
.v2 .c2-map { margin-top: 22px; border-radius: 18px; overflow: hidden; border: 1px solid var(--line);
  aspect-ratio: 16/10; background: var(--paper); }
.v2 .c2-map iframe { width: 100%; height: 100%; border: 0; display: block; }
html[data-theme="dark"] .v2 .c2-map iframe { filter: brightness(.85) contrast(1.05); }

.v2 .c2-form { background: var(--paper); border: 1px solid var(--line); border-radius: 22px;
  padding: clamp(24px, 3vw, 38px); box-shadow: 0 24px 60px rgba(7,42,77,.08); }
.v2 .c2-form-t { font-family: var(--font-d); font-size: 19px; font-weight: 600; margin-bottom: 22px; }
.v2 .c2-form label { display: block; margin-bottom: 16px; }
.v2 .c2-form label > span { display: block; margin-bottom: 7px; font-size: 12.5px; font-weight: 600;
  color: var(--ink-2); }
.v2 .c2-form input, .v2 .c2-form select, .v2 .c2-form textarea {
  width: 100%; padding: 13px 16px; border: 1px solid var(--line); border-radius: 12px;
  font-family: var(--font-b); font-size: 14px; color: var(--ink); background: var(--paper-2);
  transition: border-color .25s, box-shadow .25s; }
.v2 .c2-form textarea { resize: vertical; min-height: 104px; }
.v2 .c2-form input:focus, .v2 .c2-form select:focus, .v2 .c2-form textarea:focus {
  outline: none; border-color: var(--blue);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue) 16%, transparent); }
.v2 .c2-form ::placeholder { color: var(--ink-3); }
.v2 .c2-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.v2 .c2-send { width: 100%; justify-content: center; margin-top: 6px; }
.v2 .hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* --------------------------------------------------------------------------
   CTA + FOOTER
   -------------------------------------------------------------------------- */
.v2 .cta2 { position: relative; overflow: hidden; color: #fff; isolation: isolate; }
.v2 .cta2 img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.v2 .cta2::after { content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(120deg, rgba(7,42,77,.94), rgba(7,42,77,.68) 55%, rgba(27,111,181,.55)); }
.v2 .cta2 .wrap { padding: clamp(80px, 13vh, 160px) 0; text-align: center; }
.v2 .cta2 h2 { font-family: var(--font-d); font-weight: 500; font-size: clamp(30px, 4.6vw, 62px); line-height: 1.06; }
.v2 .cta2 p { margin: 20px auto 0; max-width: 56ch; font-size: 15.5px; line-height: 1.7; color: rgba(255,255,255,.86); }
.v2 .cta2 .btns { margin-top: 38px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.v2 .ft { background: var(--paper-2); border-top: 1px solid var(--line); padding: 70px 0 30px; }
.v2 .ft-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 44px; }
.v2 .ft-brand { display: flex; gap: 14px; align-items: flex-start; }
.v2 .ft-brand img { width: 56px; height: 56px; border-radius: 50%; background: #fff; flex-shrink: 0; }
.v2 .ft h4 { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--gold);
  margin: 0 0 18px; font-weight: 700; }
.v2 .ft ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.v2 .ft a, .v2 .ft li span { font-size: 13.5px; color: var(--ink-2); transition: color .25s; }
.v2 .ft a:hover { color: var(--blue); }
.v2 .ft-note { font-size: 13px; line-height: 1.7; color: var(--ink-2); margin-top: 14px; max-width: 40ch; }
.v2 .ft-bot { margin-top: 54px; padding-top: 22px; border-top: 1px solid var(--line);
  display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  font-size: 12.5px; color: var(--ink-3); }

/* --------------------------------------------------------------------------
   LIGHTBOX
   -------------------------------------------------------------------------- */
.v2 .lbx { position: fixed; inset: 0; z-index: 200; display: none; align-items: center;
  justify-content: center; background: rgba(4,10,18,.94); backdrop-filter: blur(10px); padding: 5vh 4vw; }
.v2 .lbx.open { display: flex; }
.v2 .lbx img { max-width: 100%; max-height: 82vh; border-radius: 10px; object-fit: contain; }
.v2 .lbx-cap { position: absolute; left: 0; right: 0; bottom: 26px; text-align: center;
  color: rgba(255,255,255,.82); font-size: 13.5px; padding: 0 24px; }
.v2 .lbx-x { position: absolute; top: 22px; right: 24px; width: 46px; height: 46px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.3); color: #fff; font-size: 17px; }
.v2 .lbx-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px;
  border-radius: 999px; border: 1px solid rgba(255,255,255,.3); color: #fff; font-size: 19px; }
.v2 .lbx-prev { left: 20px; } .v2 .lbx-next { right: 20px; }

/* ปุ่มสลับกลับดีไซน์เดิม */
.v2 .swap { position: fixed; left: 18px; bottom: 18px; z-index: 80; min-height: 40px; padding: 0 18px;
  border-radius: 999px; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center;
  gap: 7px; background: var(--paper-2); color: var(--ink-2); border: 1px solid var(--line);
  box-shadow: 0 10px 30px rgba(7,42,77,.14); transition: all .25s; }
.v2 .swap:hover { color: var(--blue); border-color: var(--blue); transform: translateY(-2px); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1100px) {
  .v2 .hd-nav { display: none; }
  .v2 .hd-apply { display: none; }
  .v2 .burger { display: flex; }
  .v2 .gal { columns: 3; }
  .v2 .fac2-grid { grid-template-columns: repeat(3, 1fr); }
  .v2 .news2-grid { grid-template-columns: 1fr; }
  .v2 .na-lead { grid-row: auto; }
  .v2 .prog-row { grid-template-columns: 48px 1fr auto; }
  .v2 .prog-d { display: none; }
  .v2 .stat-grid { grid-template-columns: repeat(2, 1fr); gap: 20px 8px; }
}

@media (max-height: 700px) and (min-width: 821px) {
  .v2 .cine-title { top: 42%; }
  .v2 .cine-lede p { display: none; }
}

@media (max-width: 820px) {
  .v2 .wrap { width: calc(100% - 36px); }
  .v2 .cine { height: calc(100vh + 2600px); }
  .v2 .cine-big { font-size: clamp(72px, 30vw, 190px); }
  .v2 .facts { grid-template-columns: 1fr; gap: 22px; margin-top: 34px; }
  .v2 .facts dt { font-size: 34px; }
  .v2 .rail-view { padding-inline: 20px; }
  .v2 .rc { flex-basis: min(74vw, 280px); }
  .v2 .gal { columns: 2; }
  .v2 .ft-grid { grid-template-columns: 1fr 1fr; gap: 34px; }
  .v2 .about2 { grid-template-columns: 1fr; }
  .v2 .safety2-grid { grid-template-columns: 1fr; }
  .v2 .contact2-grid { grid-template-columns: 1fr; }
  .v2 .fac2-grid { grid-template-columns: repeat(2, 1fr); gap: 22px 16px; }
  .v2 .showcase { min-height: min(66vh, 520px); }
  .v2 .team-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 18px 14px; }
  .v2 .prog-peek { display: none; }
  .v2 .cine-lede { bottom: 92px; }
  .v2 .swap { left: 12px; bottom: 12px; font-size: 11px; padding: 0 14px; }
}

@media (max-width: 520px) {
  .v2 .hd-sub { display: none; }
  .v2 .hd-brand b { font-size: 11.5px; white-space: normal; }
  .v2 .hd-brand img { width: 40px; height: 40px; }
  .v2 .scroll-cue { display: none; }
  .v2 .cine { height: calc(100vh + 2200px); }
  .v2 .cine-tags span { font-size: 11.5px; padding: 0 13px; min-height: 34px; }
  .v2 .prog-row { grid-template-columns: 34px 1fr; gap: 14px; padding: 20px 4px; }
  .v2 .prog-f { display: none; }
  .v2 .gal { columns: 1; }
  .v2 .ft-grid { grid-template-columns: 1fr; }
  .v2 .stat { padding-left: 18px; }
  .v2 .about-dl > div { grid-template-columns: 1fr; gap: 6px; }
  .v2 .team-grid { grid-template-columns: 1fr 1fr; }
  .v2 .na:not(.na-lead) { grid-template-columns: 104px 1fr; }
  .v2 .na-body { padding: 15px 16px; }
  .v2 .safe-list li { grid-template-columns: 32px 1fr; gap: 12px; }
  .v2 .fac2-grid { grid-template-columns: 1fr 1fr; }
  .v2 .c2-row { grid-template-columns: 1fr; }
  .v2 .show-nav { gap: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .v2 *, .v2 *::before, .v2 *::after {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  html:has(.v2) { scroll-behavior: auto; }
  .v2 [data-rise] { opacity: 1 !important; transform: none !important; }
  .v2 .marq-in { animation: none; }
}
