@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Orbitron:wght@700&family=Be+Vietnam+Pro:wght@100;300;400;500;600;700&display=swap');
:root {
  --color-bg-dark: #0f0f10; /* Nền đen */
  --color-box-dark: #141517; /* Box đen xám */
  --color-text: #f2f3f5; /* Trắng */
  --color-muted: #c7c9d1; /* Trắng xám */
  --color-border: #2a2b2f; /* Viền trung tính */
  --color-accent: #e53935; /* Đỏ chủ đạo */
  --color-accent-700: #c62828; /* Đỏ đậm khi hover */
  --radius-main: 5px;
  --radius-strong: 2px;
  --frame-width: 3px; /* Độ dày khung cho Service Card */
  --logo-h: 90px; /* Chiều cao logo */
  --color-neon-blue: #00FFFF; /* Nhấn Xanh (hover menu) */
  --color-primary-dark: #1A1A1A; /* Nền hero tối giản */
  --color-neon-pink: #FF00FF; /* Nhấn hồng gradient CTA */
  /* Auto-correct ảnh: điều chỉnh mép tràn và kiểu fit */
  --svc-img-inset: 3px; /* tăng/giảm để che viền: 0px..5px */
  --svc-img-inset-x: var(--svc-img-inset); /* mép tràn ngang (trái/phải) */
  --svc-img-inset-y: var(--svc-img-inset); /* mép tràn dọc (trên/dưới) */
  --svc-img-fit: cover; /* cover | contain */
  /* Auto-correct khi hover: bù mép theo scale/transform */
  --svc-hover-inset-boost-x: 2px; /* bù thêm trục X khi hover */
  --svc-hover-inset-boost-y: 2px; /* bù thêm trục Y khi hover */
  --svc-hover-img-scale: 1.16;   /* scale ảnh bên trong khi hover */
  --svc-img-scale: 1.05;         /* scale cơ sở của ảnh để khớp khung hover */
  --svc-scroll-step: 0.9;        /* tỉ lệ bề rộng khung cuộn khi bấm nút >> */
}
/* Hero Section - Loaded.gg style */
.desktop-only .hero-section{
  position:relative; 
  height:100vh; 
  min-height:100vh; 
  background:transparent; 
  overflow:visible; 
  border-radius:0; 
  padding:0; 
  margin:0; 
  width:100vw; 
  margin-left:calc((100% - 100vw) / 2);
  scroll-snap-align: start;
  scroll-snap-stop: always;
  scroll-margin-top: 0;
  scroll-margin-bottom: 0;
}
.desktop-only .hero-section.hero{bottom:0;}
.desktop-only .hero__bg{position:absolute; top:20px; bottom:0; z-index:0; width:calc(100vw - 40px); height:100%; background-size:cover; background-position:center center; background-repeat:no-repeat; filter:brightness(0.6); left:50%; transform:translateX(-50%); border-radius:24px;}
.desktop-only .hero__bg.comp_back_home{display:block;}
.desktop-only .hero__bg.mobile_back_home{display:none;}
.desktop-only .hero-content-overlay{position:relative; z-index:2; max-width:960px; padding: clamp(16px, 6vw, 64px); padding-top: clamp(40px, 12vh, 140px); color:#fff;}
.desktop-only .hero-title, .desktop-only .hero__title{font-size: clamp(40px, 8vw, 96px); line-height:1.02; font-weight:800; letter-spacing:2px; color: var(--color-neon-blue); text-transform:uppercase; position:relative; z-index:3;}
.desktop-only .hero-actions{margin-top:28px; display:flex; gap:16px;}
.desktop-only .container{max-width:1200px; margin:0 auto; padding:0 20px; width:100%; box-sizing:border-box;}
.desktop-only .hero__wrapper{display:flex; align-items:center; justify-content:center; min-height:100vh; padding:clamp(40px, 12vh, 140px) 0;}
.desktop-only .hero__block{position:relative; z-index:2; text-align:center; max-width:960px; padding:clamp(16px, 6vw, 64px); box-sizing:border-box;}

.mobile-only .hero-section .container {
  max-width: calc(100% - 20px);
  padding: 0;
  width: calc(100% - 20px);
  box-sizing: border-box;
  margin: 10px auto;
  padding-top: 0;
  position: relative;
  z-index: 2;
  background-image: url('./images/Banner3.png');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  min-height: 80vh;
  height: 80vh;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mobile-only .hero-section .hero__wrapper {
  min-height: 88vh;
  height: 88vh;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.mobile-only .hero-section .hero__block {
  max-width: 100%;
  width: 100%;
  padding: clamp(8px, 2vw, 16px);
  padding-bottom: clamp(20px, 5vh, 40px);
  box-sizing: border-box;
  margin: 0 auto;
  margin-bottom: 0;
  position: relative;
  z-index: 999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  overflow: visible;
}
.desktop-only .hero__subtitle{font-size:clamp(16px, 2vw, 24px); line-height:1.6; color:#fff; margin-top:20px; margin-bottom:32px; font-weight:300; position:relative; z-index:3;}
.mobile-only .hero__subtitle{display:none;}
.desktop-only .hero__button{margin-top:28px; position:relative; z-index:3;}
.desktop-only .cta-gradient-btn{display:inline-block; padding:10px 24px; border-radius:12px; color:#0b0c0f; font-weight:800; text-transform:uppercase; letter-spacing:1.2px; text-decoration:none; background: linear-gradient(90deg, var(--color-neon-blue), var(--color-neon-pink)); border:1px solid rgba(255,255,255,0.06); font-size: clamp(14px, 2vw, 16px); line-height: 1.5;} 
.desktop-only .cta-gradient-btn:hover{filter:brightness(1.08);} 
html, body { 
  height:100%; 
  margin:0; 
  padding:0; 
  overflow-x:visible;
}

/* Global box-sizing cho toàn bộ trang (bắt buộc cho Responsive Design) */
*, *::before, *::after { box-sizing: border-box; }

/* Desktop-only: chặn tràn ngang */
@media screen and (min-width: 769px){
  html, body { overflow-x: hidden; }
}

@media (max-width: 768px) {
  html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
    margin: 0;
    padding: 0;
    margin-top: 0;
    padding-top: 0;
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    scroll-padding-top: 0;
    scroll-padding-bottom: 0;
  }
  
  body {
    margin-top: 0;
    padding-top: 0;
  }
}
body { 
  background:var(--color-bg-dark); 
  color:var(--color-text); 
  font-family:'Inter',Arial,sans-serif; 
  font-weight:400; 
  min-height:100vh; 
  position: relative;
}

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('./images/Sago-Watermark.png') center/cover no-repeat fixed;
  opacity: 0.9;
  z-index: -1;
  pointer-events: none;
}

/* Responsive: Tối ưu hóa hình ảnh (áp dụng cho ảnh trong content thông thường) */
img {
  max-width: 100%;
  height: auto;
}

/* Ẩn nav cũ nếu còn trong DOM */
.site-nav-sago{display:none !important;}
/* Topbar đè trực tiếp trên ảnh head */
.hero-topbar{display:none !important;}
.desktop-only .main-header{position:absolute; top:30px; left:calc(50vw - ((100vw - 40px) / 2)); width:calc(100vw - 40px); z-index:100; display:flex; justify-content:flex-end; align-items:center; padding:20px 20px 20px 40px; background:transparent; box-sizing:border-box; min-height:auto;}
.desktop-only .main-header.animated{animation:none !important;}
/* Hero Logo - Độc lập với header */
.desktop-only .hero-logo{position:absolute; top:30px; left:calc(50vw - ((100vw - 40px) / 2) + 20px); z-index:101;}
.desktop-only .hero-logo img{height:120px; width:auto; display:block;}
/* bỏ safe-area sticky để header bám theo hero, không cố định viewport */
.desktop-only .header-logo img{height:calc(2.25rem + 50px); width:auto; display:block;}
.desktop-only .main-nav{max-width:100%; overflow:hidden; margin-left:auto;}
.desktop-only .main-nav ul{display:flex; list-style:none; margin:0; padding:0; gap:20px; flex-wrap:wrap; justify-content:flex-end;}
.desktop-only .main-nav li a{color:#fff; text-decoration:none; padding:0.5rem 0.75rem; transition:color .3s ease; font-family:'Be Vietnam Pro',sans-serif; font-weight:300; font-size:1.333em;}
.desktop-only .main-nav li a:hover{color:var(--color-neon-blue);}
.desktop-only .main-header .main-nav li a{transform:none !important; box-shadow:none !important; background:transparent !important;}
.desktop-only .main-header .main-nav li a:hover,
.desktop-only .main-header .main-nav li a:focus,
.desktop-only .main-header .main-nav li a:active{transform:none !important; box-shadow:none !important; background:transparent !important;}
.desktop-only .main-header, .desktop-only .main-header *{animation:none !important;}
.desktop-only .hamburger{display:none; background:transparent; border:none; color:#fff; font-size:1.5rem; line-height:1; cursor:pointer;}
.desktop-only .lang-btn{
  display: inline-block;
  background: transparent !important;
  border: 2px solid #fff;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-right: 12px;
  min-width: 44px;
  min-height: 44px;
}
.desktop-only .lang-btn:hover{
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.8);
}
@media (max-width: 768px){
  .main-nav{display:none;}
  .hamburger{display:block;}
  .lang-btn{display:block; margin-right: 8px;}
  .main-header.menu-open .main-nav{display:block; position:fixed; inset:0; background:rgba(0,0,0,0.9);}
  .main-header.menu-open .main-nav ul{flex-direction:column; align-items:flex-start; gap:16px; padding:88px 28px;}
  .main-header.menu-open .hamburger[aria-expanded="true"]{position:fixed; top:16px; right:20px; z-index:1001;}
  .main-header.menu-open .lang-btn{position:fixed; top:16px; right:60px; z-index:1001;}
}
/* Giữ menu luôn bám góc trái trên kể cả khi zoom/thiết bị có tai thỏ (safe-area) */
@supports(padding: max(0px)){
  .hero-topbar{
    top: max(0px, env(safe-area-inset-top));
    left: max(0px, env(safe-area-inset-left));
    padding-top: max(12px, env(safe-area-inset-top));
    padding-left: max(16px, env(safe-area-inset-left));
  }
}
.hero-topbar.scrolled{background:transparent; backdrop-filter:none; border-bottom:none;} 
.site-nav-sago .logo img{height:var(--logo-h, 150px) !important;width:var(--logo-w, auto) !important;max-height:none !important;display:inline-block;}
.desktop-only .nav-main{display:flex;gap:32px;list-style:none;align-items:center; margin:0; padding:0;}
.desktop-only .nav-main li a{text-transform:uppercase;font-weight:600;font-size:1.02em;letter-spacing:1.2px;padding:10px 24px;color:var(--color-text);text-decoration:none;border-radius:var(--radius-main);transition:background 0.18s,box-shadow 0.18s,color 0.14s, transform 0.18s;outline: none; -webkit-tap-highlight-color: transparent; will-change: transform, box-shadow;}
.desktop-only .nav-main li a:hover,
.desktop-only .nav-main li a:focus,
.desktop-only .nav-main li a:active{background:rgba(255,255,255,0.14);color:var(--color-text);box-shadow:0 56px 120px rgba(0,0,0,0.7);transform:translateY(-12px) scale(1.20);} 
.desktop-only .nav-main li a:focus-visible{background:rgba(255,255,255,0.16);color:var(--color-text);box-shadow:0 86px 170px rgba(0,0,0,0.72), 0 0 0 3px rgba(229,57,53,0.5);transform:translateY(-16px) scale(1.28);border:none;}
.desktop-only .hero-spotlight-sago{
  padding:0;
  min-height:calc(100vh - 20px + 150px);
  height:calc(100vh - 20px + 150px);
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  position:relative;
  overflow:visible;
  border-radius:64px;
  background:none !important;
  background-color:transparent !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  scroll-margin-top: -250px;
  scroll-margin-bottom: 110px;
  box-sizing:border-box;
}
.desktop-only .spotlight-row{
  display:flex;
  gap:0;
  width:100%;
  max-width:1600px;
  align-items:flex-start;
  justify-content:center;
  height:100%;
  margin:0 auto;
  padding:180px 20px 10px 20px;
  box-sizing:border-box;
  background:none !important;
  background-color:transparent !important;
}
/* Không cần thẻ img riêng khi đã dùng background cho head */
.desktop-only .hero-img-glow{display:none;}
/* Bỏ overlay tối */
.desktop-only .hero-spotlight-sago::after{content:none;}
.desktop-only .hero-img-glow:hover img,
.desktop-only .hero-img-glow img:focus-visible{transform:none !important;box-shadow:none !important;}
.desktop-only .hero-text-side{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:0 24px 20px 24px;
  max-width:1200px;
  width:100%;
  color:#d4d6db;
  margin:0;
  margin-top:0;
  background:none !important;
  background-color:transparent !important;
  background-image:none !important;
  opacity:0;
  transform:none;
  box-sizing:border-box;
}
.desktop-only .hero-text-side.animated{opacity:1;}
.desktop-only .hero-text-side::before,
.desktop-only .hero-text-side::after{display:none !important; content:none !important; background:none !important; background-color:transparent !important; background-image:none !important;}
.desktop-only .scroll-indicator{display:none;}
.desktop-only .spotlight-title{font-size:4.1rem;font-weight:600;text-transform:uppercase;letter-spacing:4px;color:#666666;margin-top:0;margin-bottom:40px;position:relative;top:0;opacity:1 !important;visibility:visible !important;display:block !important;} 
.desktop-only .who-desc{color:#666666 !important;font-size:2.2rem !important;line-height:1.7;display:block !important;visibility:visible !important;opacity:1 !important;padding:10px 14px;margin:0 0 24px 0;z-index:999;position:relative;min-width:200px;max-width:900px;word-wrap:break-word;white-space:normal;font-weight:300;background:rgba(255,255,255,0.1);text-align:center;font-family:'Be Vietnam Pro',sans-serif;}
.desktop-only .image-grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:100%;max-width:800px;margin-top:20px;}
.desktop-only .image-card{display:flex;align-items:center;background:rgba(255,255,255,0.05);border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,0.1);transition:transform 0.3s ease,box-shadow 0.3s ease;overflow:visible;opacity:1 !important;visibility:visible !important;}
/* Hover chỉ trên PC/Laptop/Mac */
@media (min-width: 1025px){
.desktop-only .image-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.3);}
}
.desktop-only .card-image-wrapper{width:180px;height:180px;border:2px solid #8B4513;border-radius:12px;overflow:hidden;margin-right:16px;flex-shrink:0;display:block;position:relative;padding:0;box-sizing:border-box;}
.desktop-only .card-image{position:absolute;top:50%;left:50%;width:180px;height:180px;object-fit:cover;object-position:center;border-radius:10px;display:block;margin:0;padding:0;border:none;outline:none;transform:translate(-50%, -50%) scale(1.5);}
.desktop-only .card-text{flex:1;color:#000000 !important;font-size:16px !important;line-height:1.6;text-align:left;display:inline-block !important;visibility:visible !important;opacity:1 !important;padding-left:20px;z-index:999;position:relative;min-width:200px;max-width:none;word-wrap:break-word;white-space:normal;font-weight:300 !important;font-family:'Be Vietnam Pro',sans-serif !important;background:rgba(255,255,255,0.1);padding:8px 12px;margin:0;}
.desktop-only .hero-text-side .sub{color:var(--color-muted);font-size:1.1em;letter-spacing:1.6px;margin-bottom:2em;line-height:1.7;}
.desktop-only .main-neon-btn{font-size:1.08em;font-weight:600;padding:14px 36px;letter-spacing:1.2px;text-transform:uppercase;border-radius:var(--radius-main);background:var(--color-accent);color:#ffffff;border:1px solid var(--color-accent);box-shadow:0 12px 24px rgba(0,0,0,0.32);transition:transform 0.18s, box-shadow .18s, background .18s, border-color .18s;position: relative;z-index: 1;}
.desktop-only .main-neon-btn:hover{transform:translateY(-10px) scale(1.16) !important;background:var(--color-accent-700) !important;border-color:var(--color-accent) !important;box-shadow:0 64px 120px rgba(0,0,0,0.78) !important;z-index: 10;} 
.desktop-only .main-neon-btn:focus-visible{transform:translateY(-14px) scale(1.22);background:var(--color-accent-700);border-color:var(--color-accent-700);box-shadow:0 96px 180px rgba(0,0,0,0.72), 0 0 0 3px rgba(229,57,53,0.55) inset;outline:none;} 
.desktop-only .main-neon-btn.big{font-size:1.54em;padding:32px 82px;}
.desktop-only .section-service-sago, .desktop-only .section-work-sago{
  padding:120px 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  scroll-margin-top: 0;
  scroll-margin-bottom: 0;
}
.desktop-only .section-partner-sago, .desktop-only .cta-sago{
  padding:120px 0;
  scroll-snap-align: none;
  scroll-snap-stop: normal;
  scroll-margin-top: 0;
  scroll-margin-bottom: 0;
}
.desktop-only .cta-sago{
  padding-top: 60px;
  padding-bottom: 60px;
}
.desktop-only .section-partner-sago{
  padding-top: 105px;
  padding-bottom: 85px;
  margin-top: 15px;
}
.desktop-only .section-service-sago{
  transform: scale(1.08);
  transform-origin: top center;
}
.desktop-only .section-service-sago{
  padding-top: 0;
  padding-bottom: 160px;
  overflow: visible;
  padding-left: 60px;
  padding-right: 120px;
  margin-top: 0;
}

.desktop-only .services-row{
  max-width:1360px;
  margin:0 auto;
  display:flex;
  gap:40px;
  align-items:flex-start;
  overflow:visible;
  position:relative;
  min-width:0;
  padding-right:100px;
}

/* Register Button Section after SAGO's STARS */
.desktop-only .register-section {
  padding: 0 0 60px 0;
  margin-top: -20px;
  text-align: center;
  position: relative;
  z-index: 10;
  min-height: auto;
  height: auto;
}

.desktop-only .register-button-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  position: relative;
  z-index: 11;
}

.desktop-only .register-section .cta-gradient-btn {
  display: inline-block;
  padding: 16px 40px;
  font-size: clamp(16px, 2.5vw, 20px);
}

/* Mobile Register Button - Bên dưới SAGO's STARS album */
.mobile-only .register-button-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 20px 0;
  margin-top: 70px;
  text-align: center;
}

.mobile-only .register-button-wrapper .cta-gradient-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 27px 47px;
  font-size: clamp(16px, 4.5vw, 22px);
  text-align: center;
  line-height: 1.5;
  text-decoration: none;
  width: auto;
  box-sizing: border-box;
  vertical-align: middle;
}
.desktop-only .section-title-lg{font-size:4.1rem;text-align:center;text-transform:uppercase;font-weight:600;letter-spacing:4px;margin-bottom:3.3rem;color:#000000;white-space:nowrap;} 
.desktop-only .section-title-wrapper{flex:0 0 450px;display:flex;flex-direction:column;}
.desktop-only .services-row .section-title-lg{margin:40px 0 0 0;flex:0 0 auto;position:static;top:auto;z-index: 2;}
.desktop-only .section-subtitle{color:#666666;font-size:2.2rem;line-height:1.6;margin-top:16px;margin-bottom:0;max-width:420px;font-weight:300;font-family:'Be Vietnam Pro',sans-serif;}

/* ============================================
   ALBUM NGÔI SAO CỦA SAGO - HOÀN TOÀN TÁCH BIỆT
   Desktop và Mobile độc lập nhau
   ============================================ */

/* ============================================
   DESKTOP ALBUM: CSS Scroll Snap với nút << >>
   Nằm ngoài media query - luôn áp dụng cho desktop
   ============================================ */
.desktop-only .sago-album-desktop{
  flex: 1;
  display: block;
}

.desktop-only .sago-album-desktop .svc-album-container{
  flex: 1;
  position: relative;
  overflow: visible;
  min-width: 0;
  max-width: 75%; /* Thu nhỏ module album container */
  padding: 0;
  padding-right: 100px; /* Tăng padding để phù hợp với module đã thu nhỏ */
}

.desktop-only .sago-album-desktop .svc-album{
  flex: 1;
  overflow-x: auto;
  overflow-y: visible;
  position: relative;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  min-width: 0;
  padding-top: 40px;
  padding-bottom: 28px;
  padding-left: 46px;
  scroll-padding-left: 46px;
  scroll-snap-type: x proximity;
}

.desktop-only .sago-album-desktop .svc-album::-webkit-scrollbar{
  display: none;
  height: 0;
  width: 0;
  background: transparent;
}

.desktop-only .sago-album-desktop .svc-track{
  display: flex;
  align-items: stretch;
  gap: 16px; /* Giảm gap từ 20px xuống 16px */
  padding: 0;
  transform: translateX(100%);
}

.desktop-only .sago-album-desktop .svc-card{
  flex: 0 0 calc(((100% - 32px) / 3) * 0.75); /* Thu nhỏ card từ 0.9 xuống 0.75 và điều chỉnh gap */
  max-width: none;
  min-width: auto;
  scroll-snap-align: none;
  scroll-snap-stop: normal;
}

.desktop-only .sago-album-desktop .svc-scroll-btn{
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.6);
  color: #fff;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 8px 12px;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  z-index: 25;
  box-shadow: 0 8px 22px rgba(0,0,0,0.45);
  transition: background .15s, box-shadow .15s;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}

.desktop-only .sago-album-desktop .svc-scroll-btn:hover,
.desktop-only .sago-album-desktop .svc-scroll-btn:focus-visible{
  background: rgba(0,0,0,0.8);
  box-shadow: 0 20px 50px rgba(0,0,0,0.6);
  outline: none;
}

.desktop-only .sago-album-desktop .svc-scroll-prev{
  left: -40px;
}

.desktop-only .sago-album-desktop .svc-scroll-next{
  right: 35px; /* Nhít vào trong 20px từ lề phải */
}

/* Lằn mờ bên phải cho desktop */
.desktop-only .sago-album-desktop .svc-album-container::after{
  content: "";
  position: absolute;
  top: 0;
  right: 100px; /* Dịch vào trong để sát với cạnh phải của svc-album */
  width: 16px;
  height: 100%;
  background: linear-gradient(to left, rgba(0,0,0,0.55), rgba(0,0,0,0));
  pointer-events: none;
  z-index: 5;
}

/* Animation intro desktop */
.desktop-only .sago-album-desktop .svc-album.enter .svc-track{
  animation: svcEnter 1.35s cubic-bezier(.2,.7,.25,1) forwards;
}

/* ============================================
   MOBILE ALBUM: Swiper.js
   Chỉ hiển thị trên màn hình nhỏ hơn 768px
   ============================================ */
.sago-album-mobile{
  flex: 1;
  display: none; /* Mặc định ẩn */
}

.sago-album-mobile .svc-album-container-mobile{
  padding: 40px 0 60px;
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden; /* Hidden để Swiper hoạt động đúng */
  display: flex;
  flex-direction: column;
  align-items: center; /* Căn giữa album */
  box-sizing: border-box;
  /* Initial state: ẩn để fade in */
  opacity: 0;
}

.mobile-only .svc-album-container-mobile {
  width: 100%;
  max-width: 100%;
  padding: 40px 16px 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

.sago-album-mobile .svc-album-container-mobile.scroll-animated,
.mobile-only .svc-album-container-mobile.scroll-animated {
  animation: mobileAlbumFadeIn 1.25s cubic-bezier(.17,.67,.44,1.13) 0.75s both;
}

@keyframes mobileAlbumFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.sago-album-mobile .svc-album-mobile{
  width: 100%;
  max-width: 100%;
  overflow: hidden; /* Hidden để Swiper hoạt động đúng */
  padding: 0;
  touch-action: pan-x pan-y pinch-zoom; /* Cho phép swipe ngang và dọc */
  -webkit-overflow-scrolling: touch;
  position: relative;
  /* Momentum scrolling mượt như iPhone */
  overscroll-behavior-x: contain;
  overscroll-behavior-y: contain;
}

.sago-album-mobile .svc-track-mobile{
  width: 100%;
  display: flex !important; /* Đảm bảo flex để Swiper hoạt động */
  position: relative;
}

.sago-album-mobile .svc-card{
  flex: 0 0 85vw !important; /* Chiếm 85vw chiều rộng màn hình */
  max-width: 85vw !important;
  min-width: 85vw !important;
  width: 85vw !important;
  box-sizing: border-box;
  touch-action: pan-x pan-y pinch-zoom; /* Cho phép swipe ngang và dọc */
  position: relative;
  /* Smooth transitions cho card */
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
  /* Giữ khung 9/16 */
  aspect-ratio: 9 / 16;
  margin: 0 auto; /* Căn giữa card */
}

/* Override Swiper tính toán width */
.sago-album-mobile .swiper-slide{
  width: 85vw !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* Pagination dots styling */
.sago-album-mobile .svc-album-pagination{
  display: block;
  text-align: center;
  margin-top: 20px;
  position: relative;
  width: 100%;
  max-width: 85vw; /* Cùng width với card để căn giữa đúng */
  margin-left: auto;
  margin-right: auto;
}

.sago-album-mobile .svc-album-pagination .swiper-pagination-bullet{
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
  margin: 0 5px;
}

.sago-album-mobile .svc-album-pagination .swiper-pagination-bullet-active{
  background: var(--color-accent);
}

/* ============================================
   MEDIA QUERY: Ẩn/hiện Desktop và Mobile
   ============================================ */
@media screen and (max-width: 768px){
  /* Ẩn desktop album trên mobile */
  .sago-album-desktop{
    display: none !important;
  }
  
  /* Hiện mobile album trên mobile */
  .sago-album-mobile{
    display: block;
  }
}

/* Desktop: hiển thị desktop, ẩn mobile */
@media screen and (min-width: 769px){
  .sago-album-desktop{
    display: block;
  }
  
  .sago-album-mobile{
    display: none !important;
  }
}

/* Ẩn ký hiệu » nhỏ cũ */
.desktop-only .services-row::before{content:none !important;}

/* Animation cho desktop intro */
@keyframes svcEnter{0%{transform:translateX(100%);}100%{transform:translateX(0);}}

/* Title DỊCH VỤ trượt từ trái vào vị trí hiện tại */
.desktop-only .services-row .section-title-lg{transform: translateX(-120px); opacity: .0;}
.desktop-only .services-row.enter .section-title-lg{animation: svcTitleEnter 1.35s cubic-bezier(.2,.7,.25,1) forwards;}
@keyframes svcTitleEnter{0%{transform:translateX(-120px);opacity:0;}100%{transform:translateX(0);opacity:1;}}

/* Card slide-in from right */
@keyframes svcCardIn{0%{opacity:0;transform:translateX(80px);}100%{opacity:1;transform:translateX(0);}}
.svc-card.s-in{animation:none;}
/* Base .svc-card styles - shared across all devices */
.desktop-only .svc-card{
  max-width: none;
  background:var(--color-box-dark);
  border-radius:var(--radius-main);
  padding: var(--frame-width);
  margin:0;
  box-shadow:0 8px 18px rgba(0,0,0,0.32);
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
  transition: transform .18s, box-shadow .18s, border-color .18s;
  cursor:pointer;position:relative;
  /* Kích thước chuẩn story (9:16) trên mọi thiết bị */
  aspect-ratio: 9 / 16;
  height: auto;
  min-height: 320px;
  border: var(--frame-width) solid var(--color-border);
  background-clip: padding-box;
  opacity: 1; transform: none;
  transform-origin: center;
  will-change: transform, box-shadow;
  z-index: 10;
}

/* Thẻ dịch vụ kiểu full-cover: ảnh phủ toàn bộ nền (không viền, không padding) */
.desktop-only .svc-card.full-cover{padding:0; border:none; overflow:hidden;}
/* Auto-correct cho TẤT CẢ ảnh trong thẻ full-cover: phủ kín và tràn mép để che viền đen */
.svc-card.full-cover .svc-img{
  position:absolute;
  top: calc(var(--svc-img-inset-y, var(--svc-img-inset, 3px)) * -1);
  bottom: calc(var(--svc-img-inset-y, var(--svc-img-inset, 3px)) * -1);
  left: calc(var(--svc-img-inset-x, var(--svc-img-inset, 3px)) * -1);
  right: calc(var(--svc-img-inset-x, var(--svc-img-inset, 3px)) * -1);
  width: calc(100% + (var(--svc-img-inset-x, var(--svc-img-inset, 3px)) * 2));
  height: calc(100% + (var(--svc-img-inset-y, var(--svc-img-inset, 3px)) * 2));
  object-fit: var(--svc-img-fit, cover);
  object-position:center; display:block; background:transparent;
  border-radius:0; /* clip theo bo góc của card */
  will-change: top, bottom, left, right, transform;
  transition: top .12s ease, bottom .12s ease, left .12s ease, right .12s ease, transform .12s ease;
  transform: scale(var(--svc-img-scale, 1));
}
/* Link phủ toàn bộ thẻ để click chắc chắn nhận */
.svc-card.full-cover > a{position:absolute; inset:0; display:block; z-index:999; pointer-events:auto;}
/* Mobile: Tắt pointer events trên link để Swiper có thể xử lý touch events */
.sago-album-mobile .svc-card.full-cover > a{
  pointer-events: none !important; /* Tắt pointer events trên link để Swiper hoạt động */
  touch-action: none;
}
.svc-card.full-cover::after{content: attr(aria-label); position:absolute; left:0; right:0; bottom:0; padding:14px 16px; color:#fff; font-weight:800; letter-spacing:2px; text-transform:uppercase; font-size:0.95rem; border-bottom-left-radius: var(--radius-main); border-bottom-right-radius: var(--radius-main); background: linear-gradient(to top, rgba(0,0,0,0.68), rgba(0,0,0,0.0)); opacity:0; transition: opacity .18s ease; pointer-events:none; z-index:1;}
/* Hover chỉ trên PC/Laptop/Mac */
@media (min-width: 1025px){
  .svc-card.full-cover:hover::after, .svc-card.full-cover:focus-visible::after{opacity:1;}
}
/* Đồng bộ tất cả thẻ: bỏ nền đen để không thấy viền khi ảnh chưa cover hoàn toàn */
.svc-track .svc-card.full-cover{background:transparent !important; box-shadow:0 8px 18px rgba(0,0,0,0.32);}
/* Hover chỉ trên PC/Laptop/Mac */
@media (min-width: 1025px){
  .svc-track .svc-card.full-cover:hover{transform: translateY(-8px) scale(1.05); box-shadow: 0 26px 56px rgba(0,0,0,0.6); border-color: rgba(229,57,53,0.45);} 
  .svc-track .svc-card.full-cover:focus-visible{transform:translateY(-18px) scale(1.22); box-shadow:0 96px 180px rgba(0,0,0,0.72); border-color:rgba(229,57,53,0.82); outline:none;}
  /* Khi hover/focus: tăng inset theo trục X/Y để bù cho scale của card */
  .svc-track .svc-card.full-cover:hover,
  .svc-track .svc-card.full-cover:focus-visible{ --svc-img-inset-x: calc(var(--svc-img-inset, 3px) + 2px); --svc-img-inset-y: calc(var(--svc-img-inset, 3px) + 2px); }
  /* Đồng thời phóng to ảnh bên trong để đảm bảo che kín khi card scale */
  .svc-track .svc-card.full-cover:hover .svc-img,
  .svc-track .svc-card.full-cover:focus-visible .svc-img{ transform: scale(var(--svc-hover-img-scale, 1.06)); transform-origin: center; }
  /* Tất cả thẻ: dùng chung cơ chế auto-correct */
.svc-card:hover{transform: translateY(-8px) scale(1.05); box-shadow: 0 26px 56px rgba(0,0,0,0.6); border-color: rgba(229,57,53,0.45); z-index: 20;}
.svc-card:focus-visible{transform:translateY(-18px) scale(1.22);box-shadow:0 96px 180px rgba(0,0,0,0.72);border-color:rgba(229,57,53,0.82);z-index:5;outline:none;}
}
.svc-card:focus,
.svc-card:active{transform:none;box-shadow:0 8px 18px rgba(0,0,0,0.32);border-color:var(--color-border);z-index:auto;}
.svc-card-big{grid-row:1;grid-column:1/span 1;min-height:300px;font-size:1.18em;}
.svc-card-small{min-height:250px;}
.svc-card h3{font-size:1.22em;font-weight:600;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text);} 
.svc-card h3 .svc-title-cta{color:var(--color-text); text-decoration:none; display:inline-block; position:relative; z-index:1; transition:none;}
.svc-card h3 .svc-title-cta:hover,
.svc-card h3 .svc-title-cta:focus,
.svc-card h3 .svc-title-cta:active{transform:none; box-shadow:none; background: transparent; padding:0;}
.svc-card h3 .svc-title-cta:focus-visible{transform:none; box-shadow:none; background: transparent;}
.svc-card p{color:var(--color-muted);max-width:90%;font-size:1.02em;}
/* Service image mock */
.svc-icon-lg{display:none;}
.svc-img{width:100%;height:100%;object-fit:cover;border-radius: calc(var(--radius-main) - var(--frame-width));display:block;}
/* Nút/Link trong phần DỊCH VỤ – hiệu ứng focus nổi như nav/main button */
.svc-card a,
.svc-card button{
  display:inline-block;
  margin-top:14px;
  padding:10px 18px;
  border-radius:var(--radius-main);
  background:transparent;
  color:var(--color-text);
  border:1px solid var(--color-border);
  text-decoration:none;
  font-weight:800;
  letter-spacing:1.2px;
  transition:none; /* tắt mọi transition để không nhấp nháy */
  outline:none; -webkit-tap-highlight-color:transparent; will-change:transform, box-shadow;
}
.svc-img{cursor:default;}
.svc-card a:hover,
.svc-card a:active,
.svc-card button:hover,
.svc-card button:active{ 
  transform:none; background:transparent; border-color:var(--color-border); box-shadow:none; color:inherit;
}
.svc-card a:focus-visible,
.svc-card button:focus-visible{
  transform:none !important;
  background:transparent !important;
  border-color:var(--color-border) !important;
  box-shadow:none !important;
  outline:none !important;
}
.desktop-only .section-work-sago{
  padding:10px 20px;
  box-sizing:border-box;
}
.desktop-only .work-grid-asym{
  display:grid;
  max-width:1400px;
  margin:0 auto;
  gap:40px;
  grid-template-columns:2.2fr 1fr 1fr;
  grid-template-rows:300px 180px;
  padding:10px 0;
  box-sizing:border-box;
}
.desktop-only .work-media{background:var(--color-box-dark);border-radius:var(--radius-strong);padding:0;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,0.38);transition:transform 0.22s, box-shadow 0.22s;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;height:100%;border:1px solid var(--color-border);opacity:0;transform:translateY(60px) scale(.96);will-change:transform, opacity;} 
.desktop-only .work-media img,.desktop-only .work-media video{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-strong);transition:filter 0.18s,transform 0.18s;}
/* Hover chỉ trên PC/Laptop/Mac */
@media (min-width: 1025px){
.work-media:hover{transform:translateY(-8px) scale(1.03);box-shadow:0 30px 80px rgba(0,0,0,0.55);z-index:3;border-color:var(--color-border);} 
.work-media:focus-visible{transform:translateY(-20px) scale(1.25);box-shadow:0 110px 200px rgba(0,0,0,0.75);z-index:5;border-color:rgba(229,57,53,0.85);outline:none;} 
.work-media:hover .work-caption{opacity:1;}
}
.work-media .work-label{position:absolute;top:8px;left:8px;background:rgba(15,15,16,0.75);padding:4px 8px;text-align:center;font-size:0.85em;color:#fff;font-weight:600;border-radius:4px;z-index:2;pointer-events:none;backdrop-filter:blur(4px);opacity:0;visibility:hidden;}
.work-media .work-view-more{position:absolute;top:8px;right:8px;background:rgba(15,15,16,0.55);padding:7px 14px;text-align:center;font-size:0.9em;color:#fff;font-weight:600;border-radius:4px;z-index:2;pointer-events:none;backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity 0.2s;text-decoration:none;}
.work-media:hover .work-view-more{opacity:1;visibility:visible;}
.work-media .work-view-more[href]{pointer-events:auto;cursor:pointer;z-index:10;}
.work-media .work-view-more[href]:hover{background:rgba(15,15,16,0.75);opacity:1 !important;}
.work-media .work-caption{position:absolute;bottom:0;left:0;width:100%;background:rgba(15,15,16,0.55);padding:18px 0 14px;text-align:center;font-size:1.1em;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:3px;opacity:0;pointer-events:none;transition:opacity 0.2s;backdrop-filter:blur(6px);}
.work-media .work-caption[href]{pointer-events:auto;cursor:pointer;text-decoration:none;z-index:10;}
.work-media .work-caption[href]:hover{background:rgba(15,15,16,0.75);opacity:1 !important;}
.desktop-only .work-link{text-decoration:none;color:inherit;display:contents;}
/* iOS Safari bugfix: display:contents làm mất render con. Trên mobile, không dùng contents */
@media (max-width: 768px){
  .mobile-only .work-link{display:block;}
}
.desktop-only .work-big{grid-row:1/span 2;grid-column:1/span 1;}
.desktop-only .work-tall{grid-row:1/span 2;grid-column:2/span 1;}
@media(max-width:1050px){.svc-cards-asym{grid-template-columns:1fr;}.desktop-only .work-grid-asym{grid-template-columns:1fr 1fr;gap:34px;}.desktop-only .work-big,.desktop-only .work-tall{grid-row:unset;grid-column:unset;}}
.desktop-only .section-partner-sago{
  background:none;
  padding:10px 20px;
  box-sizing:border-box;
  scroll-margin-bottom: -250px;
}
.desktop-only .partner-title{font-size:2.8rem;text-align:center;text-transform:uppercase;font-weight:600;letter-spacing:3px;margin-bottom:1.5rem;color:#000000;white-space:nowrap;}
.desktop-only .partner-list{
  display:flex;
  gap:80px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  padding:10px 0;
  box-sizing:border-box;
}
.desktop-only .partner-link{display:inline-block; text-decoration:none; position:relative;}
.desktop-only .partner-logo{width:150px;height:150px;border-radius:50%;background:var(--color-box-dark);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(0,0,0,0.35);margin:0 48px;border:1px solid var(--color-border);transition:transform 0.18s, box-shadow 0.18s, border-color 0.18s;overflow:hidden;}
.desktop-only .partner-logo img{width:70%;height:70%;object-fit:contain;display:block;}
.desktop-only .partner-name{display:none;}
.desktop-only .partner-link.partner-p1,
.desktop-only .partner-link.partner-p3,
.desktop-only .partner-link.partner-p4,
.desktop-only .partner-link.partner-p5{display:none;}
/* Hover chỉ trên PC/Laptop/Mac */
@media (min-width: 1025px){
.partner-link:hover .partner-logo,
.partner-link:focus .partner-logo,
.partner-link:active .partner-logo{transform:translateY(-14px) scale(1.22);box-shadow:0 78px 150px rgba(0,0,0,0.72);border-color:var(--color-border);} 
.partner-link:focus-visible .partner-logo{transform:translateY(-14px) scale(1.22);box-shadow:0 78px 150px rgba(0,0,0,0.72);border-color:rgba(229,57,53,0.85);outline:none;} 
} 

/* Unified focus style (match Hero image hover) */
.nav-main li a:focus-visible,
.main-neon-btn:focus-visible,
/* loại svc-card để không nổi khi focus */
/* .svc-card a:focus-visible, */
/* .svc-card button:focus-visible, */
a[href]:focus-visible,
button:focus-visible {
  transform: translateY(-4px) scale(1.05) !important;
  box-shadow: 0 30px 70px rgba(0,0,0,0.62) !important;
  background: rgba(255,255,255,0.10) !important;
  border-color: var(--color-border) !important;
  outline: none !important;
}

/* Unified hover raise for all clickable controls (consistent with focus) */
.nav-main li a,
.main-neon-btn,
/* bỏ svc-card link/button khỏi nhóm hover chung */
/* .svc-card a, */
/* .svc-card button, */
.cta-block a,
button,
.btn {
  transition: transform .18s, box-shadow .18s, background .18s, border-color .18s, color .14s;
}
.nav-main li a:hover,
.main-neon-btn:hover,
/* .svc-card a:hover, */
/* .svc-card button:hover, */
.cta-block a:hover,
button:hover,
.btn:hover {
  transform: translateY(-10px) scale(1.16);
  box-shadow: 0 64px 120px rgba(0,0,0,0.68);
}
.desktop-only .cta-sago{
  background:var(--color-bg-dark);
  padding:10px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-top:1px solid var(--color-border);
  box-sizing:border-box;
  scroll-margin-bottom: -150px;
} 
.desktop-only .cta-block{background:var(--color-box-dark);border-radius:var(--radius-strong);padding:30px 24px;box-shadow:0 16px 36px rgba(0,0,0,0.45);display:flex;flex-direction:column;align-items:center;max-width:680px;margin:auto;border:1px solid var(--color-border);} 
.desktop-only .cta-text{font-size:1.6em;font-weight:900;text-transform:uppercase;letter-spacing:4px;color:var(--color-text);margin-bottom:1rem;text-align:center;border-bottom:3px solid var(--color-accent);padding-bottom:8px;}
.desktop-only .main-neon-btn.big{font-size:1.7em;padding:36px 90px;}
.desktop-only .footer-sago{
  background:#1b1d22;
  padding:25px 0;
  text-align:center;
  color:#b8b9c8;
  font-size:1.01em;
  letter-spacing:1px;
  scroll-snap-align: end;
  scroll-snap-stop: always;
  scroll-margin-top: -10px;
  scroll-margin-bottom: 0;
}

/* Force nav items to raise clearly (highest priority) */
.nav-main li a{display:inline-block; position: relative; z-index: 1;}
.nav-main li a:hover,
.nav-main li a:focus,
.nav-main li a:active{
  transform: translateY(-14px) scale(1.22) !important;
  box-shadow: 0 86px 170px rgba(0,0,0,0.72) !important;
  background: rgba(255,255,255,0.16) !important;
  z-index: 30;
}

/* Our Work: soft slide-in like sago.gg */
@keyframes wmIn { 0% { opacity:0; transform: translateY(60px) scale(.96);} 100% { opacity:1; transform: translateY(0) scale(1);} }
.work-media.wm-in { animation: wmIn 1.1s cubic-bezier(.17,.67,.32,1) forwards; }

@keyframes fadeInUpLoaded {
  0% { opacity:0; transform: translateY(110px) scale(.94); }
  100% { opacity:1; transform: translateY(0) scale(1); }
}
.animated.fadeInUp {
  animation: fadeInUpLoaded 1.25s cubic-bezier(.17,.67,.44,1.13) both;
}
.animated.fadeInUp.delay-0 {animation-delay: 0.0s;}
.animated.fadeInUp.delay-1 {animation-delay: 0.12s;}
.animated.fadeInUp.delay-2 {animation-delay: 0.24s;}
.animated.fadeInUp.delay-3 {animation-delay: 0.36s;}
.animated.fadeInUp.delay-4 {animation-delay: 0.48s;}
.animated.fadeInUp.delay-5 {animation-delay: 0.60s;}
.animated.fadeInUp.delay-6 {animation-delay: 0.72s;}
/* Thêm delay nếu cần với inline style hoặc class delay-xxx */

@keyframes fadeInDownLoaded {
  0% { opacity:0; transform: translateY(-110px) scale(1.06); }
  100% { opacity:1; transform: translateY(0) scale(1); }
}
.animated.fadeInDown {
  animation: fadeInDownLoaded 1.25s cubic-bezier(.17,.67,.44,1.13) both;
}

/* Animation cho scroll - Desktop: fade in từ dưới lên khi scroll xuống, từ trên xuống khi scroll lên */
@keyframes slideInFromBottom {
  0% { opacity:0; transform: translateY(80px) scale(.96); }
  100% { opacity:1; transform: translateY(0) scale(1); }
}

@keyframes slideInFromTop {
  0% { opacity:0; transform: translateY(-80px) scale(.96); }
  100% { opacity:1; transform: translateY(0) scale(1); }
}

@keyframes slideInFromLeft {
  0% { opacity:0; transform: translateX(-80px) scale(.96); }
  100% { opacity:1; transform: translateX(0) scale(1); }
}

@keyframes slideInFromRight {
  0% { opacity:0; transform: translateX(80px) scale(.96); }
  100% { opacity:1; transform: translateX(0) scale(1); }
}

.desktop-only .scroll-animate-bottom {
  opacity: 0;
  animation: slideInFromBottom 1.1s cubic-bezier(.17,.67,.44,1.13) forwards;
}

.desktop-only .scroll-animate-top {
  opacity: 0;
  animation: slideInFromTop 1.1s cubic-bezier(.17,.67,.44,1.13) forwards;
}

.desktop-only .scroll-animate-left {
  opacity: 0;
  animation: slideInFromLeft 1.1s cubic-bezier(.17,.67,.44,1.13) forwards;
}

.desktop-only .scroll-animate-right {
  opacity: 0;
  animation: slideInFromRight 1.1s cubic-bezier(.17,.67,.44,1.13) forwards;
}

/* Đảm bảo phần WHO WE ARE luôn hiển thị, không bị ảnh hưởng bởi animation class */
.desktop-only .spotlight-title.scroll-animate-bottom,
.desktop-only .spotlight-title.scroll-animate-top,
.desktop-only .spotlight-title.scroll-animate-left,
.desktop-only .spotlight-title.scroll-animate-right {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  animation: none !important;
}

.desktop-only .who-desc.scroll-animate-bottom,
.desktop-only .who-desc.scroll-animate-top,
.desktop-only .who-desc.scroll-animate-left,
.desktop-only .who-desc.scroll-animate-right {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  animation: none !important;
}

.desktop-only .image-card.scroll-animate-bottom,
.desktop-only .image-card.scroll-animate-top,
.desktop-only .image-card.scroll-animate-left,
.desktop-only .image-card.scroll-animate-right {
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  animation: none !important;
}

/* Reduced Motion: tôn trọng người dùng chọn giảm chuyển động */
@media (prefers-reduced-motion: reduce){
  .svc-album.enter .svc-track{animation: none !important; transform: none !important;}
  .services-row.enter .section-title-lg{animation: none !important; transform: none !important; opacity: 1 !important;}
  .svc-card:hover{transform: none !important; box-shadow: 0 8px 18px rgba(0,0,0,0.32) !important;}
}

/* Responsive: Laptop */
@media (max-width: 1200px){
  .spotlight-title{font-size:3.2rem;}
  .image-grid-4{max-width:720px;gap:20px;}
  .card-image-wrapper{width:160px;height:160px;}
  .card-image{width:160px;height:160px;}
}

/* Responsive: Tablet/iPad */
@media (max-width: 992px){
  .main-header{padding:16px 24px;}
  .main-nav ul{gap:12px;}
  .hero-content-overlay{padding:24px; padding-top:80px;}
  .spotlight-title{font-size:2.6rem;}
  .who-desc{font-size:2.2rem !important;font-family:'Be Vietnam Pro',sans-serif !important;font-weight:300 !important;}
  .image-grid-4{grid-template-columns:1fr 1fr; gap:18px; max-width:640px;}
  .card-image-wrapper{width:150px;height:150px;}
  .card-image{width:150px;height:150px;}
  .section-title-lg{font-size:2rem;}
  /* Services: responsive layout */
  .services-row{flex-direction:column; gap:20px;}
  /* Ẩn thanh mờ bên phải trên mobile/tablet */
  .svc-album-container::after{display:none !important;}
  /* Loại bỏ padding trái khiến stack lệch */
  .section-service-sago{padding-left:0;}
}

/* Responsive: Mobile lớn */
@media (max-width: 768px){
  .hero-spotlight-sago{border-radius:36px;}
  .hero-text-side{padding-top:80px;}
  .spotlight-title{font-size:2.2rem; letter-spacing:2px;}
  .who-desc{font-size:2.2rem !important; padding:8px 10px;font-family:'Be Vietnam Pro',sans-serif !important;font-weight:300 !important;}
  .image-grid-4{grid-template-columns:1fr; max-width:420px;}
  .image-card{padding:12px;}
  .card-image-wrapper{width:140px;height:140px;margin-right:12px;}
  .card-image{width:140px;height:140px;}
  .section-service-sago{padding-left:24px;}
  /* Fix dịch vụ: tránh cắt ảnh trên mobile */
  .svc-card{min-height:220px;}
  /* Ghi đè: ảnh trong thẻ full-cover luôn cover và nền trong suốt (không letterbox) */
  .svc-card.full-cover .svc-img{object-fit:cover !important; background:transparent !important;}
  /* Services: responsive layout */
  .services-row{flex-direction:column; align-items:center;}
  /* Loại bỏ padding trái trên mobile để canh giữa */
  .section-service-sago{padding-left:0;}
}

/* Responsive: Mobile nhỏ */
@media (max-width: 480px){
  .hero-spotlight-sago{border-radius:24px;}
  .hero-content-overlay{padding-top:72px;}
  .spotlight-title{font-size:1.9rem;}
  .who-desc{font-size:2.2rem !important;font-family:'Be Vietnam Pro',sans-serif !important;font-weight:300 !important;}
  .card-image-wrapper{width:120px;height:120px;margin-right:10px;}
  .card-image{width:120px;height:120px;}
  .image-card{gap:8px;}
  .main-nav ul{flex-wrap:wrap;}
}

/* Đồng bộ tất cả thẻ: tăng inset dọc nhẹ để không hụt khi trạng thái bình thường */
.svc-track .svc-card.full-cover{ --svc-img-inset-y: calc(var(--svc-img-inset, 3px) + 2px); }
/* Ảnh thẻ 1 dùng cùng object-position mặc định (center) như các ảnh khác */

/* ============================================
   iPhone & iOS Safari Optimizations
   ============================================ */

/* Safe Area Support cho iPhone X trở lên (notch, home indicator) */
@supports(padding: max(0px)) {
  body {
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
  
  .main-header {
    padding-top: max(20px, env(safe-area-inset-top));
    padding-left: max(40px, calc(40px + env(safe-area-inset-left)));
    padding-right: max(40px, calc(40px + env(safe-area-inset-right)));
  }
  
  .hero-section {
    padding-top: max(60px, calc(60px + env(safe-area-inset-top)));
  }
  
  .footer-sago {
    padding-bottom: max(30px, calc(30px + env(safe-area-inset-bottom)));
  }
}

/* Touch Targets: Đảm bảo tối thiểu 44x44px cho iPhone (Apple HIG) */
button,
.hamburger,
.svc-scroll-btn,
.cta-gradient-btn,
.main-neon-btn,
.nav-main li a,
.main-nav li a {
  min-height: 44px;
  min-width: 44px;
  padding: 10px 20px;
}

.svc-scroll-btn {
  min-width: 50px;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hamburger {
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
}

/* Font Size: Tránh zoom tự động trên iOS (tối thiểu 16px) */
input,
textarea,
select {
  font-size: 16px !important; /* Tránh zoom tự động khi focus */
}

/* iOS Safari specific fixes */
@supports (-webkit-touch-callout: none) {
  /* Tắt callout menu trên iOS khi giữ lâu */
  img,
  a {
    -webkit-touch-callout: none;
  }
  
  /* Cải thiện scroll mượt trên iOS */
  body,
  html {
    -webkit-overflow-scrolling: touch;
  }
  
  /* Tắt highlight tap mặc định và thêm custom */
  a,
  button {
    -webkit-tap-highlight-color: rgba(229, 57, 53, 0.2);
  }
}

/* Tối ưu hiệu năng cho mobile */
@media (max-width: 768px) {
  /* Giảm animations phức tạp trên mobile */
  * {
    animation-duration: 0.6s !important;
    transition-duration: 0.3s !important;
  }
  
  /* Tắt will-change khi không cần */
  .svc-card:not(:hover):not(:focus) {
    will-change: auto;
  }
  
  /* Optimize image rendering */
  img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}

/* iPhone SE và màn hình nhỏ (320-375px) */
@media (max-width: 375px) {
  .main-header {
    padding: 12px 16px;
    min-height: 60px;
  }
  
  .hero-content-overlay {
    padding: 16px;
    padding-top: 60px;
  }
  
  .spotlight-title {
    font-size: 1.6rem;
    letter-spacing: 2px;
  }
  
  .who-desc {
    font-size: 2.2rem !important;
    padding: 10px 12px;
    font-family:'Be Vietnam Pro',sans-serif !important;
    font-weight:300 !important;
  }
  
  .section-title-lg {
    font-size: 1.6rem;
    letter-spacing: 2px;
  }
  
  .cta-text {
    font-size: 1.4em;
    letter-spacing: 3px;
    padding: 0 12px;
  }
  
  .main-neon-btn.big {
    font-size: 1.2em;
    padding: 20px 40px;
  }
  
  .svc-card {
    min-height: 200px;
  }
  
  .image-grid-4 {
    max-width: 100%;
    gap: 12px;
  }
  
  .card-image-wrapper,
  .card-image {
    width: 100px;
    height: 100px;
  }
}

/* iPhone Pro Max và màn hình lớn (428px+) */
@media (min-width: 428px) and (max-width: 768px) {
  .hero-content-overlay {
    padding: 24px 32px;
  }
  
  .spotlight-title {
    font-size: 2rem;
  }
  
  .who-desc {
    font-size: 2.2rem !important;
    font-family:'Be Vietnam Pro',sans-serif !important;
    font-weight:300 !important;
  }
}

/* Landscape iPhone */
@media (max-width: 932px) and (orientation: landscape) {
  .hero-section {
    min-height: 100vh;
    min-height: 100dvh; /* Dynamic viewport height */
  }
  
  .hero-content-overlay {
    padding-top: clamp(40px, 8vh, 80px);
  }
  
  .spotlight-title {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  
  .who-desc {
    font-size: 2.2rem !important;
    margin-bottom: 16px;
    font-family:'Be Vietnam Pro',sans-serif !important;
    font-weight:300 !important;
  }
  
  .image-grid-4 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 600px;
    gap: 16px;
  }
}

/* Fix cho iOS Safari address bar khi scroll */
@supports (-webkit-touch-callout: none) {
  .hero-section,
  .hero-spotlight-sago {
    min-height: -webkit-fill-available;
  }
}

/* Tối ưu font loading cho mobile */
@media (max-width: 768px) {
  /* Giảm letter-spacing quá lớn trên mobile */
  .spotlight-title {
    letter-spacing: 2px;
  }
  
  .section-title-lg {
    letter-spacing: 2px;
  }
  
  .cta-text {
    letter-spacing: 4px;
  }
}

/* Scroll smooth cho mobile */
@media (max-width: 768px) {
  html {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
  }
}

/* ============================================
   DESKTOP & MOBILE SEPARATION
   Tách hoàn toàn Desktop và Mobile
   ============================================ */

/* Desktop: Hiển thị desktop-only, ẩn mobile-only */
@media screen and (min-width: 769px) {
  html, body {
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    scroll-padding-top: 0;
  }
  
  .desktop-only {
    display: block;
  }
  
  .mobile-only {
    display: none !important;
  }
}

/* Mobile: Hiển thị mobile-only, ẩn desktop-only */
@media screen and (max-width: 768px) {
  .desktop-only {
    display: none !important;
  }
  
  .mobile-only {
    display: block;
  }
}

/* ============================================
   DESKTOP-SPECIFIC STYLES
   Tất cả CSS cho Desktop nằm trong .desktop-only
   ============================================ */

.desktop-only .hero-section {
  position: relative;
  height: 100vh;
  min-height: 100vh;
  background: transparent;
  overflow: visible;
  border-radius: 0;
  padding: 0;
  margin: 0;
  width: 100vw;
  margin-left: calc((100% - 100vw) / 2);
}

.desktop-only .hero__bg {
  width: calc(100vw - 40px);
  left: calc(50% + 10px);
  transform: translateX(-50%);
  top: 20px;
  bottom: 0;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: brightness(0.6);
  border-radius: 24px;
}

.desktop-only .hero__bg.comp_back_home {
  display: block;
  height: calc(100vh - 50px);
  bottom: auto;
}

.desktop-only .hero__bg.mobile_back_home {
  display: none;
}

.desktop-only .hero-content-overlay {
  position: relative;
  z-index: 2;
  max-width: 960px;
  padding: clamp(16px, 6vw, 64px);
  padding-top: clamp(40px, 12vh, 140px);
  color: #fff;
}

.desktop-only .hero-title {
  font-size: clamp(40px, 8vw, 96px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--color-neon-blue);
  text-transform: uppercase;
}

.desktop-only .hero-actions {
  margin-top: 28px;
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
}

.desktop-only .cta-gradient-btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 12px;
  color: #0b0c0f;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  text-decoration: none;
  background: linear-gradient(90deg, var(--color-neon-blue), var(--color-neon-pink));
  border: 1px solid rgba(255,255,255,0.06);
}

.desktop-only .cta-gradient-btn:hover {
  filter: brightness(1.08);
}

.desktop-only .main-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 40px;
  background: transparent;
  box-sizing: border-box;
  min-height: 80px;
}

.desktop-only .main-header.animated {
  animation: none !important;
}

.desktop-only .header-logo img {
  height: 2.25rem;
  width: auto;
  display: block;
}

.desktop-only .main-nav {
  max-width: 100%;
  overflow: hidden;
}

.desktop-only .main-nav ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.desktop-only .main-nav li a {
  color: #fff;
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  font-size: 1.333em;
  transition: color .3s ease;
  font-family: 'Be Vietnam Pro', sans-serif;
  font-weight: 300;
}

.desktop-only .main-nav li a:hover {
  color: var(--color-neon-blue);
}

.desktop-only .main-header .main-nav li a {
  transform: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.desktop-only .main-header .main-nav li a:hover,
.desktop-only .main-header .main-nav li a:focus,
.desktop-only .main-header .main-nav li a:active {
  transform: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.desktop-only .main-header,
.desktop-only .main-header * {
  animation: none !important;
}

.desktop-only .hamburger {
  display: none;
}

.desktop-only .hero-spotlight-sago {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 150px;
  min-height: 100dvh;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  overflow: visible;
  border-radius: 64px;
  background: none !important;
  background-color: transparent !important;
}

.desktop-only .spotlight-row {
  display: flex;
  gap: 0;
  width: 100%;
  max-width: 1600px;
  align-items: flex-start;
  justify-content: center;
  height: 100%;
  margin: 0 auto;
  background: none !important;
  background-color: transparent !important;
  transform: scale(0.9);
  transform-origin: top center;
}

.desktop-only .hero-img-glow {
  display: none;
}

.desktop-only .hero-spotlight-sago::after {
  content: none;
}

.desktop-only .hero-img-glow:hover img,
.desktop-only .hero-img-glow img:focus-visible {
  transform: none !important;
  box-shadow: none !important;
}

.desktop-only .hero-text-side {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 0 24px 0 24px;
  max-width: 1200px;
  width: 100%;
  color: #d4d6db;
  margin-top: 20px;
  padding-top: 140px;
  margin-bottom: 0;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  opacity: 0;
  transform: none;
  box-sizing: border-box;
}
.desktop-only .hero-text-side.animated.fadeInUp {
  padding-top: calc(140px - 130px);
}

.desktop-only .hero-text-side.animated {
  opacity: 1;
}

.desktop-only .hero-text-side::before,
.desktop-only .hero-text-side::after {
  display: none !important;
  content: none !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}

.desktop-only .scroll-indicator {
  display: none;
}

.desktop-only .spotlight-title {
  font-size: 4.1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: #666666;
  margin-bottom: 40px;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

.desktop-only .who-desc {
  color: #666666 !important;
  font-size: 2.2rem !important;
  line-height: 1.7;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 10px 14px;
  margin: 0 0 24px 0;
  z-index: 999;
  position: relative;
  min-width: 200px;
  max-width: 900px;
  word-wrap: break-word;
  white-space: normal;
  font-weight: 300;
  background: rgba(255,255,255,0.1);
  text-align: center;
  font-family: 'Be Vietnam Pro', sans-serif;
}

.desktop-only .image-grid-4 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  width: 100%;
  max-width: 800px;
  margin-top: 20px;
}

.desktop-only .image-card {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.05);
  border-radius: 16px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: visible;
}

.desktop-only .image-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}

.desktop-only .card-image-wrapper {
  width: 180px;
  height: 180px;
  border: 2px solid #8B4513;
  border-radius: 12px;
  overflow: hidden;
  margin-right: 16px;
  flex-shrink: 0;
  display: block;
  position: relative;
  padding: 0;
  box-sizing: border-box;
}

.desktop-only .card-image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 180px;
  height: 180px;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  transform: translate(-50%, -50%) scale(1.5);
}

.desktop-only .card-text {
  flex: 1;
  color: #000000 !important;
  font-size: 16px !important;
  line-height: 1.6;
  text-align: left;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding-left: 20px;
  z-index: 999;
  position: relative;
  min-width: 200px;
  max-width: none;
  word-wrap: break-word;
  white-space: normal;
  font-weight: 300 !important;
  font-family: 'Be Vietnam Pro', sans-serif !important;
  background: rgba(255,255,255,0.1);
  padding: 8px 12px;
  margin: 0;
}

.desktop-only .hero-text-side .sub {
  color: var(--color-muted);
  font-size: 1.1em;
  letter-spacing: 1.6px;
  margin-bottom: 2em;
  line-height: 1.7;
}

.desktop-only .main-neon-btn {
  font-size: 1.08em;
  font-weight: 600;
  padding: 14px 36px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  border-radius: var(--radius-main);
  background: var(--color-accent);
  color: #ffffff;
  border: 1px solid var(--color-accent);
  box-shadow: 0 12px 24px rgba(0,0,0,0.32);
  transition: transform 0.18s, box-shadow .18s, background .18s, border-color .18s;
  position: relative;
  z-index: 1;
}

.desktop-only .main-neon-btn:hover {
  transform: translateY(-10px) scale(1.16) !important;
  background: var(--color-accent-700) !important;
  border-color: var(--color-accent) !important;
  box-shadow: 0 64px 120px rgba(0,0,0,0.78) !important;
  z-index: 10;
}

.desktop-only .main-neon-btn:focus-visible {
  transform: translateY(-14px) scale(1.22);
  background: var(--color-accent-700);
  border-color: var(--color-accent-700);
  box-shadow: 0 96px 180px rgba(0,0,0,0.72), 0 0 0 3px rgba(229,57,53,0.55) inset;
  outline: none;
}

.desktop-only .main-neon-btn.big {
  font-size: 1.54em;
  padding: 32px 82px;
}

.desktop-only .section-service-sago,
.desktop-only .section-work-sago,
.desktop-only .section-partner-sago,
.desktop-only .cta-sago {
  padding: 120px 0;
}

/* Điều chỉnh tỷ lệ khu vực Services trên Desktop */
.desktop-only .section-service-sago {
  transform: scale(1.08);
  transform-origin: top center;
}


.desktop-only .partner-title {
  font-size: 4.1rem;
  text-align: center;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 4px;
  margin-bottom: 3.3rem;
  color: #000000;
  white-space: nowrap;
}

.desktop-only .services-row {
  max-width: 1360px;
  margin: 0 auto;
  display: flex;
  gap: 40px;
  align-items: flex-start;
  overflow: visible;
  position: relative;
  min-width: 0;
  padding-right: 120px; /* Tăng padding để vừa với svc-album-container đã thu nhỏ */
}

.desktop-only .section-title-wrapper {
  flex: 0 0 450px;
  display: flex;
  flex-direction: column;
}

.desktop-only .services-row .section-title-lg {
  margin: 40px 0 0 0;
  flex: 0 0 auto;
  position: static;
  top: auto;
  z-index: 2;
}

.desktop-only .section-subtitle {
  color: #666666;
  font-size: 2.2rem;
  line-height: 1.6;
  margin-top: 16px;
  margin-bottom: 0;
  max-width: 420px;
  font-weight: 300;
  font-family: 'Be Vietnam Pro', sans-serif;
}

/* ============================================
   MOBILE-SPECIFIC STYLES
   Tất cả CSS cho Mobile nằm trong .mobile-only
   ============================================ */

.mobile-only .top-spacer {
  display: none;
  height: 0;
  margin: 0;
  padding: 0;
}

.mobile-only .hero-section {
  position: relative;
  top: 0 !important;
  height: auto;
  min-height: auto;
  max-height: none;
  background: transparent;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  scroll-margin-top: 0;
  scroll-margin-bottom: 0;
  overflow: hidden;
  border-radius: 0;
  padding: 0 !important;
  padding-top: 0 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  width: 100vw;
  margin-left: 0 !important;
}

.mobile-only .hero__bg {
  display: none !important;
}

.mobile-only .hero__bg.comp_back_home {
  display: none;
}

.mobile-only .hero__bg.mobile_back_home {
  display: none !important;
}

/* Mobile Logo - Nằm trong Hero bg */
.mobile-only .hero-logo {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 101;
}

.mobile-only .hero-logo img {
  height: 80px;
  width: auto;
  display: block;
}

/* Mobile Header - Nằm trong Hero bg */
.mobile-only .main-header {
  display: flex !important;
  position: absolute;
  top: 16px;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 100;
  justify-content: flex-end;
  align-items: center;
  padding: 0 16px;
  background: transparent;
  box-sizing: border-box;
  min-height: auto;
}

/* Mobile lang-btn - Index: viền trắng, không nền */
.mobile-only .lang-btn {
  display: inline-block;
  background: transparent !important;
  border: 2px solid #fff;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-right: 8px;
  min-width: 44px;
  min-height: 44px;
}

.mobile-only .lang-btn:hover {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.8);
}

@media (max-width: 800px) {
  .mobile-only .hero__bg.comp_back_home {
    display: none;
  }
  
  .mobile-only .hero__bg.mobile_back_home {
    display: none;
  }
}

.mobile-only .hero-content-overlay {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  position: relative;
  z-index: 2;
  max-width: 100%;
  width: 100%;
  padding: clamp(16px, 4vw, 24px);
  padding-top: clamp(120px, 22vh, 180px);
  color: #fff;
  box-sizing: border-box;
}

.mobile-only .hero-title {
  font-size: clamp(32px, 10vw, 100px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--color-neon-blue);
  margin: 0;
  padding: 0;
  transform: none;
  text-transform: uppercase;
  position: relative;
  z-index: 1000 !important;
  text-align: center;
  display: block;
  width: 100%;
  align-self: center;
  flex-shrink: 0;
}

.mobile-only .hero-actions {
  margin-top: 48px;
  display: flex;
  gap: 16px;
}

.mobile-only .cta-gradient-btn {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 8px;
  color: #0b0c0f;
  font-weight: 800;
  margin-top: -120px !important;
  transform: translateY(-50px) !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  text-decoration: none;
  background: linear-gradient(90deg, var(--color-neon-blue), var(--color-neon-pink));
  border: 1px solid rgba(255,255,255,0.06);
  font-size: 12px;
  line-height: 1.4;
  height: 30px;
  min-height: 30px;
}

.mobile-only .cta-gradient-btn:hover {
  filter: brightness(1.08);
}

/* Mobile header đã được định nghĩa ở trên */

.mobile-only .header-logo img {
  height: calc(2rem + 20px); /* Tăng thêm 20px từ 2rem */
  width: auto;
  display: block;
}

.mobile-only .main-nav {
  display: none;
}

.mobile-only .hamburger {
  display: block;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
}

.mobile-only .main-header.menu-open .main-nav {
  display: block;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.9);
  z-index: 1000;
}

.mobile-only .main-header.menu-open .main-nav ul {
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 88px 28px;
}

.mobile-only .main-header.menu-open .hamburger[aria-expanded="true"] {
  position: fixed;
  top: 16px;
  right: 20px;
  z-index: 1001;
}

.mobile-only .hero-spotlight-sago {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 110dvh;
  width: 100%;
  display: flex;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  scroll-margin-top: 0;
  scroll-margin-bottom: 0;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-radius: 0 0 36px 36px; /* Chỉ bo tròn 2 góc dưới */
  border-top-left-radius: 0; /* Góc trên trái: vuông */
  border-top-right-radius: 0; /* Góc trên phải: vuông */
  background: none !important;
  background-color: transparent !important;
}

.mobile-only .spotlight-row {
  display: flex;
  gap: 0;
  width: 100%;
  max-width: 100%;
  align-items: flex-start;
  justify-content: center;
  height: 130%;
  margin: 0 auto;
  padding-top: 40px;
  background: none !important;
  background-color: transparent !important;
}

.mobile-only .hero-text-side {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 0 24px;
  max-width: 100%;
  color: #d4d6db;
  margin-top: 20px;
  padding-top: 30px; /* Giảm từ 500px xuống 30px */
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  opacity: 0;
  transform: translateY(30px);
}

.mobile-only .hero-text-side.scroll-animated {
  /* Điều chỉnh giống sago.gg: 1.25s với cubic-bezier(.17,.67,.44,1.13), delay 0.75s */
  animation: mobileWhoWeAreSlideUp 1.25s cubic-bezier(.17,.67,.44,1.13) 0.75s both;
}

@keyframes mobileWhoWeAreSlideUp {
  0% {
    opacity: 0;
    transform: translateY(30px) scale(.94);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.mobile-only .hero-text-side.animated {
  opacity: 1;
}

.mobile-only .scroll-indicator {
  display: none;
}

.mobile-only .spotlight-title {
  font-size: 1.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #666666;
  margin-bottom: 20px;
}

.mobile-only .who-desc {
  color: #666666 !important;
  font-size: 17px !important;
  line-height: 1.5;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 6px 8px;
  margin: 0 0 16px 0;
  z-index: 999;
  position: relative;
  min-width: 200px;
  max-width: 100%;
  word-wrap: break-word;
  white-space: normal;
  font-weight: 300;
  background: rgba(255,255,255,0.1);
  text-align: center;
  font-family: 'Be Vietnam Pro', sans-serif;
}

.mobile-only .image-grid-4 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  width: 100%;
  max-width: 420px;
  margin-top: 10px;
}

.mobile-only .image-card {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.05);
  border-radius: 16px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: visible;
}

.mobile-only .card-image-wrapper {
  width: 100px;
  height: 100px;
  border: 2px solid #8B4513;
  border-radius: 12px;
  overflow: hidden;
  margin-right: 10px;
  flex-shrink: 0;
  display: block;
  position: relative;
  padding: 0;
  box-sizing: border-box;
}

.mobile-only .card-image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  transform: translate(-50%, -50%) scale(1.5);
}

.mobile-only .card-text {
  flex: 1;
  color: #000000 !important;
  font-size: 14px !important;
  line-height: 1.5;
  text-align: left;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding-left: 10px;
  z-index: 999;
  position: relative;
  min-width: 200px;
  max-width: none;
  word-wrap: break-word;
  white-space: normal;
  font-weight: 300 !important;
  font-family: 'Be Vietnam Pro', sans-serif !important;
  background: rgba(255,255,255,0.1);
  padding: 8px 12px;
  margin: 0;
}

.mobile-only .section-service-sago,
.mobile-only .section-work-sago,
.mobile-only .section-partner-sago,
.mobile-only .cta-sago {
  padding: 80px 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  scroll-margin-top: 0;
  scroll-margin-bottom: 0;
}

.mobile-only .section-service-sago {
  padding-top: 15px;
  padding-bottom: 45px;
  overflow: visible;
  padding-left: 0; /* Xóa padding-left để tiêu đề căn giữa hoàn toàn */
  padding-right: 0; /* Xóa padding-right để tiêu đề căn giữa hoàn toàn */
  transform: scale(0.9);
  transform-origin: top center;
  scroll-margin-top: 20px;
  scroll-margin-bottom: 0;
}

/* Mobile: Đồng bộ kích thước tiêu đề và nội dung trong Services */
.mobile-only .section-service-sago .section-title-new,
.mobile-only .section-service-sago .section-title-lg {
  font-size: 2rem !important;
  letter-spacing: 2px !important;
}

.mobile-only .section-service-sago .section-subtitle,
.mobile-only .section-service-sago .who-desc,
.mobile-only .section-service-sago .card-text {
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.mobile-only .section-title-lg {
  font-size: 2rem !important; /* Đồng bộ với tất cả tiêu đề */
  text-align: center;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 2px !important; /* Đồng bộ với tất cả tiêu đề */
  margin-bottom: 3.3rem;
  color: #000000;
  white-space: nowrap;
}

.mobile-only .section-title-lg.gradient-text {
  font-size: 2rem !important; /* Đồng bộ với tất cả tiêu đề */
  letter-spacing: 2px !important; /* Đồng bộ với tất cả tiêu đề */
}

.mobile-only .services-row {
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center; /* Căn giữa các phần tử */
  justify-content: center; /* Căn giữa theo trục dọc */
  overflow: visible;
  position: relative;
  min-width: 0;
  padding-right: 0;
  padding-left: 0; /* Đảm bảo không có padding bên trái */
  width: 100%; /* Chiếm toàn bộ chiều rộng */
}

.mobile-only .section-title-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%; /* Đảm bảo chiếm toàn bộ chiều rộng */
  text-align: center; /* Căn giữa text */
}

.mobile-only .services-row .section-title-lg {
  margin: 20px auto 0 auto; /* Căn giữa với margin auto */
  flex: 0 0 auto;
  position: static;
  top: auto;
  z-index: 2;
  width: 100%; /* Chiếm toàn bộ chiều rộng để căn giữa */
}

.mobile-only .section-title-new {
  font-size: 2rem; /* Đồng bộ với tất cả tiêu đề */
  text-align: center;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 2px; /* Đồng bộ với tất cả tiêu đề */
  margin: 0 auto 12px auto; /* Căn giữa, margin-bottom: 12px để sát với nội dung phía dưới */
  color: #000000;
  white-space: nowrap;
  width: 100%;
  /* Initial state: ẩn và ở bên trái */
  opacity: 0;
  transform: translateX(-50px) scale(.94);
}

.mobile-only .partner-title {
  font-size: 2rem; /* Đồng bộ với tất cả tiêu đề */
  text-align: center;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 2px; /* Đồng bộ với tất cả tiêu đề */
  margin: 0 auto 12px auto; /* Căn giữa, margin-bottom: 12px để sát với nội dung phía dưới */
  color: #000000;
  white-space: nowrap;
  width: 100%;
  /* Initial state: ẩn và ở bên trái */
  opacity: 0;
  transform: translateX(-50px) scale(.94);
}

.mobile-only .section-title-new.scroll-animated {
  animation: mobileSagoTitleSlideIn 1.25s cubic-bezier(.17,.67,.44,1.13) 0.75s both;
}

.mobile-only .partner-title.scroll-animated {
  animation: mobileSagoTitleSlideIn 1.25s cubic-bezier(.17,.67,.44,1.13) 0.75s both;
}

@keyframes mobileSagoTitleSlideIn {
  0% {
    opacity: 0;
    transform: translateX(-50px) scale(.94);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

.mobile-only .section-subtitle {
  color: #666666;
  font-size: 16px !important; /* Đồng bộ với who-desc và card-text (16px) */
  line-height: 1.6 !important; /* Đồng bộ với line-height của who-desc và card-text */
  margin-top: 0; /* Xóa margin-top để sát với tiêu đề phía trên */
  margin-bottom: 0;
  max-width: 90%;
  font-weight: 300;
  font-family: 'Be Vietnam Pro', sans-serif;
  text-align: center;
  /* Initial state: ẩn và ở bên phải */
  opacity: 0;
  transform: translateX(50px) scale(.94);
}

.mobile-only .section-subtitle.scroll-animated {
  animation: mobileSagoSubtitleSlideIn 1.25s cubic-bezier(.17,.67,.44,1.13) 0.75s both;
}

@keyframes mobileSagoSubtitleSlideIn {
  0% {
    opacity: 0;
    transform: translateX(50px) scale(.94);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

.mobile-only .main-neon-btn {
  font-size: 1.08em;
  font-weight: 600;
  padding: 14px 36px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  border-radius: var(--radius-main);
  background: var(--color-accent);
  color: #ffffff;
  border: 1px solid var(--color-accent);
  box-shadow: 0 12px 24px rgba(0,0,0,0.32);
  transition: transform 0.18s, box-shadow .18s, background .18s, border-color .18s;
  position: relative;
  z-index: 1;
}

.mobile-only .main-neon-btn:active {
  transform: scale(0.98);
}

.mobile-only .main-neon-btn:focus-visible {
  transform: translateY(-4px) scale(1.05);
  background: var(--color-accent-700);
  border-color: var(--color-accent-700);
  box-shadow: 0 20px 40px rgba(0,0,0,0.5);
  outline: none;
}

.mobile-only .main-neon-btn.big {
  font-size: 1.4em;
  padding: 24px 60px;
}

.mobile-only .section-work-sago {
  padding-bottom: 110px;
}

/* Kéo Our Work sát album mobile */
.mobile-only .section-work-sago {
  padding-top: 20px;
  margin-top: -150px;
  scroll-margin-bottom: 0;
}

.mobile-only .work-items { display: flex; flex-direction: column; gap: 16px; }
.mobile-only .work-item-row { display: flex; flex-direction: row; align-items: flex-start; gap: 12px; padding: 0 24px; }
.mobile-only .work-item-row,*[class*="work-item-row"]{overflow:visible;}
.mobile-only .work-item-title {
  flex: 1; min-width: 0;
  color: #666666; font-size: 16px; line-height: 1.6; font-weight: 400;
  font-family: 'Be Vietnam Pro', Arial, sans-serif;
  background: transparent; padding: 8px 12px; border-radius: 12px;
  border: 2px solid #8B4513; /* viền nâu đồng bộ WHO WE ARE */
  position: relative; z-index: 2;
  text-shadow: none;
  box-shadow: none;
}

.mobile-only .work-media {
  background: transparent;
  border-radius: 12px; /* Bo tròn 4 góc (giống card-image-wrapper) */
  padding: 0;
  overflow: hidden;
  box-shadow: none;
  transition: transform 0.22s, box-shadow 0.22s;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 140px; /* Đồng bộ với card-image-wrapper (140px) */
  height: 140px; /* Đồng bộ với card-image-wrapper (140px) */
  border: none;
  opacity: 0;
  transform: translateY(60px) scale(.96); /* Giữ nguyên như desktop */
  will-change: transform, opacity;
}

.mobile-only .work-media img,
.mobile-only .work-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px; /* Bo tròn 4 góc (giống card-image-wrapper) */
  transition: filter 0.18s, transform 0.18s;
}

.mobile-only .work-media:active {
  transform: scale(0.98);
}

.mobile-only .work-media .work-label {
  position: absolute;
  top: 8px;
  left: 8px;
  background: rgba(15,15,16,0.75);
  padding: 4px 8px;
  text-align: center;
  font-size: 0.85em;
  color: #fff;
  font-weight: 600;
  border-radius: 4px;
  z-index: 2;
  pointer-events: none;
  backdrop-filter: blur(4px);
  opacity: 0; /* Trong suốt - chỉ để gọi tên trong quá trình phát triển */
  visibility: hidden; /* Ẩn khỏi người dùng */
}

.mobile-only .work-media .work-view-more {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(15,15,16,0.55);
  padding: 7px 14px;
  text-align: center;
  font-size: 0.9em;
  color: #fff;
  font-weight: 600;
  border-radius: 4px;
  z-index: 2;
  pointer-events: none;
  backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s;
  text-decoration: none;
}
.mobile-only .work-media:hover .work-view-more,
.mobile-only .work-media:active .work-view-more {
  opacity: 1;
  visibility: visible;
}
.mobile-only .work-media .work-view-more[href] {
  pointer-events: auto;
  cursor: pointer;
  z-index: 10;
}
.mobile-only .work-media .work-view-more[href]:hover,
.mobile-only .work-media .work-view-more[href]:active {
  background: rgba(15,15,16,0.75);
  opacity: 1 !important;
}
.mobile-only .work-media .work-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(15,15,16,0.55);
  padding: 18px 0 14px; /* Giữ nguyên như desktop */
  text-align: center;
  font-size: 1.1em; /* Giữ nguyên như desktop */
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 3px; /* Giữ nguyên như desktop */
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.2s;
  backdrop-filter: blur(6px);
}

.mobile-only .work-big,
.mobile-only .work-tall {
  grid-row: auto;
  grid-column: auto;
}

.mobile-only .section-partner-sago {
  background: none;
  padding: 48px 0;
}

.mobile-only .partner-list {
  display: flex;
  gap: 64px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.mobile-only .partner-link {
  display: inline-block;
  text-decoration: none;
  position: relative;
}

.mobile-only .partner-logo {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--color-box-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 22px rgba(0,0,0,0.35);
  margin: 0 24px;
  border: 1px solid var(--color-border);
  transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s;
  overflow: hidden;
}

.mobile-only .partner-logo img {
  width: 70%;
  height: 70%;
  object-fit: contain;
  display: block;
}

.mobile-only .partner-name {
  display: none;
}

.mobile-only .partner-link.partner-p1,
.mobile-only .partner-link.partner-p3,
.mobile-only .partner-link.partner-p4,
.mobile-only .partner-link.partner-p5 {
  display: none;
}

.mobile-only .partner-link:active .partner-logo {
  transform: scale(0.95);
}

.mobile-only .cta-sago {
  background: var(--color-bg-dark);
  padding: 60px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid var(--color-border);
}

.mobile-only .cta-block {
  background: var(--color-box-dark);
  border-radius: var(--radius-strong);
  padding: 36px 24px;
  box-shadow: 0 16px 36px rgba(0,0,0,0.45);
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 90%;
  margin: auto;
  border: 1px solid var(--color-border);
}

.mobile-only .cta-text {
  font-size: 1.6em;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--color-text);
  margin-bottom: 1.6rem;
  text-align: center;
  border-bottom: 3px solid var(--color-accent);
  padding-bottom: 10px;
}

.mobile-only .footer-sago {
  background: #1b1d22;
  padding: 30px 0;
  text-align: center;
  color: #b8b9c8;
  font-size: 1.01em;
  letter-spacing: 1px;
}

/* Mobile Video Thumbnail & Modal Styles */
.mobile-only .work-video-container {
  position: relative;
}

.mobile-only .video-thumbnail {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  cursor: pointer;
  border-radius: var(--radius-strong) var(--radius-strong) 0 0;
}

.mobile-only .thumbnail-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.mobile-only .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background: transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 24px;
  z-index: 2;
  transition: transform 0.3s;
}

.mobile-only .play-button:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

.mobile-only .mobile-video-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}

.mobile-only .mobile-video-modal-content {
  position: relative;
  width: 90%;
  max-width: 90%;
  aspect-ratio: 9 / 16;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8);
}

.mobile-only .mobile-video-player {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Ẩn controls khi video đang play (Biểu 3) */
.mobile-only .mobile-video-player.video-playing::-webkit-media-controls-panel {
  display: none !important;
  opacity: 0;
  pointer-events: none;
}

.mobile-only .mobile-video-player.video-playing::-webkit-media-controls-play-button {
  display: none !important;
  opacity: 0;
  pointer-events: none;
}

.mobile-only .mobile-video-player.video-playing::-webkit-media-controls-start-playback-button {
  display: none !important;
  opacity: 0;
  pointer-events: none;
}

/* Ẩn toàn bộ controls overlay khi đang play */
.mobile-only .mobile-video-player.video-playing::-webkit-media-controls {
  display: none !important;
  opacity: 0;
  pointer-events: none;
}

/* Ẩn controls bar */
.mobile-only .mobile-video-player.video-playing::-webkit-media-controls-enclosure {
  display: none !important;
  opacity: 0;
  pointer-events: none;
}

.mobile-only .mobile-video-close {
  position: absolute;
  top: -40px;
  right: 0;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
  font-size: 32px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  transition: background 0.3s;
  line-height: 1;
  padding: 0;
}

.mobile-only .mobile-video-close:hover {
  background: rgba(255, 255, 255, 0.4);
}

.mobile-only .mobile-video-unmute {
  position: absolute;
  top: -40px;
  left: 0;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
  font-size: 14px;
  padding: 8px 16px;
  border-radius: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  transition: background 0.3s;
  white-space: nowrap;
}

.mobile-only .mobile-video-unmute:hover {
  background: rgba(255, 255, 255, 0.4);
}

.mobile-only .thumbnail-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Desktop Video Thumbnail & Modal Styles */
.desktop-only .work-video-container {
  position: relative;
}

.desktop-only .video-thumbnail-desktop {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: pointer;
  border-radius: var(--radius-strong);
}

.desktop-only .video-thumbnail-desktop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.desktop-only .video-thumbnail-desktop .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 32px;
  z-index: 2;
  transition: background 0.3s, transform 0.3s;
}

.desktop-only .video-thumbnail-desktop .play-button:hover {
  background: rgba(0, 0, 0, 0.9);
  transform: translate(-50%, -50%) scale(1.1);
}

.desktop-only .desktop-video-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}

.desktop-only .desktop-video-modal-content {
  position: relative;
  width: 80%;
  max-width: 1200px;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8);
}

.desktop-only .desktop-video-player {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.desktop-only .desktop-video-close {
  position: absolute;
  top: -40px;
  right: 0;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
  font-size: 32px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  transition: background 0.3s;
  line-height: 1;
  padding: 0;
}

.desktop-only .desktop-video-close:hover {
  background: rgba(255, 255, 255, 0.4);
}

/* Contact Modal Styles */
.contact-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}

.contact-modal-content {
  position: relative;
  background: var(--color-box-dark);
  border-radius: 12px;
  padding: 40px;
  max-width: 500px;
  width: 90%;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8);
  border: 1px solid var(--color-border);
}

.desktop-only .contact-modal-content {
  max-width: 700px;
  max-height: 90vh;
  padding: 50px;
  overflow-y: auto;
}

.mobile-only .contact-modal-content {
  max-width: 95%;
  max-height: 90vh;
  padding: 30px 20px;
  overflow-y: auto;
}

.contact-modal-close {
  position: absolute;
  top: -40px;
  right: 0;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
  font-size: 32px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  transition: background 0.3s;
  line-height: 1;
  padding: 0;
}

.mobile-only .contact-modal-close {
  top: -35px;
  font-size: 28px;
  width: 32px;
  height: 32px;
}

.contact-modal-close:hover {
  background: rgba(255, 255, 255, 0.4);
}

.contact-modal-title {
  color: var(--color-text);
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
  font-family: 'Inter', sans-serif;
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.contact-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.contact-item strong {
  color: var(--color-muted);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-family: 'Inter', sans-serif;
}

.contact-item a {
  color: var(--color-neon-blue);
  font-size: clamp(16px, 2.5vw, 20px);
  text-decoration: none;
  transition: color 0.3s;
  font-family: 'Inter', sans-serif;
  word-break: break-all;
}

.contact-item a:hover {
  color: var(--color-neon-pink);
  text-decoration: underline;
}

/* Recruitment Post Styles */
.recruitment-post {
  width: 100%;
}

.post-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--color-border);
}

.post-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--color-neon-blue);
}

.post-author {
  color: var(--color-text);
  font-size: 18px;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
}

.post-content {
  color: var(--color-text);
}

.post-title {
  color: var(--color-text);
  font-size: clamp(20px, 3vw, 24px);
  font-weight: 700;
  margin-bottom: 20px;
  font-family: 'Inter', sans-serif;
}

.post-body {
  font-size: clamp(14px, 2vw, 16px);
  line-height: 1.6;
  font-family: 'Inter', sans-serif;
}

.post-body p {
  margin-bottom: 15px;
  color: var(--color-text);
}

.post-body ul {
  margin: 10px 0 15px 20px;
  padding-left: 0;
  list-style-type: none;
}

.post-body ul li {
  margin-bottom: 10px;
  padding-left: 20px;
  position: relative;
  color: var(--color-text);
}

.post-body ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-neon-blue);
  font-size: 20px;
}

.post-body strong {
  color: var(--color-neon-pink);
  font-weight: 600;
}

.facebook-link {
  color: var(--color-neon-blue);
  text-decoration: none;
  transition: color 0.3s;
  font-weight: 500;
}

.facebook-link:hover {
  color: var(--color-neon-pink);
  text-decoration: underline;
}
