:root {
      --bg-primary: #0a0a0a;
      --bg-secondary: #141414;
      --text-primary: #f5f5f0;
      --accent-gold: #c9a962;
      --accent-gold-dark: #a68942;
    }
    
    html, body {
      height: 100%;
      cursor: url('./assets/cursor-gold-scissors.png') 2 2, auto;
      width: 100%;
      margin: 0;
      padding: 0;
    }
    
    body {
      font-family: 'Montserrat', sans-serif;
      background-color: var(--bg-primary);
      color: var(--text-primary);
      width: 100%;
    }
    
    .font-serif {
      font-family: 'Cormorant Garamond', serif;
    }
    
    .bg-primary { background-color: var(--bg-primary); }
    .bg-secondary { background-color: var(--bg-secondary); }
    .text-gold { color: var(--accent-gold); }
    .border-gold { border-color: var(--accent-gold); }
    .bg-gold { background-color: var(--accent-gold); }
    
    .gradient-overlay {
      background: linear-gradient(135deg, rgba(10,10,10,0.95) 0%, rgba(20,20,20,0.9) 50%, rgba(10,10,10,0.95) 100%);
    }
    
    .section-divider {
      height: 1px;
      background: linear-gradient(90deg, transparent 0%, var(--accent-gold) 50%, transparent 100%);
      animation: expandLine 1.2s ease-out forwards;
    }
    
    @keyframes expandLine {
      from { width: 0; }
      to { width: 100%; }
    }
    
    .card-hover {
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .card-hover:hover {
      transform: translateY(-8px);
      box-shadow: 0 20px 40px rgba(201, 169, 98, 0.15);
    }
    
    .nav-link {
      position: relative;
      transition: color 0.3s ease;
    }
    
    .nav-link::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 0;
      width: 0;
      height: 1px;
      background: var(--accent-gold);
      transition: width 0.3s ease;
    }
    
    .nav-link:hover::after {
      width: 100%;
    }
    
    .lang-btn {
      transition: all 0.3s ease;
    }
    
    .lang-btn.active {
      background: var(--accent-gold);
      color: var(--bg-primary);
    }
    
    .fade-in {
      animation: fadeInUp 0.8s ease-out forwards;
      opacity: 0;
    }
    
    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(30px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
    @keyframes float {
      0%, 100% { transform: rotate(-45deg) translateY(0px); }
      50% { transform: rotate(-45deg) translateY(-20px); }
    }
    
    .animate-float {
      animation: float 3.5s ease-in-out infinite;
    }
    
    @keyframes glow {
      0%, 100% { filter: drop-shadow(0 0 8px rgba(201, 169, 98, 0.3)); }
      50% { filter: drop-shadow(0 0 25px rgba(201, 169, 98, 0.8)); }
    }
    
    .animate-glow {
      animation: glow 2.5s ease-in-out infinite;
    }
    
    .scissors-icon {
      display: inline-block;
      transform: rotate(-45deg);
    }
    
    .curriculum-card {
      background: linear-gradient(145deg, #1a1a1a 0%, #0f0f0f 100%);
      border: 1px solid rgba(201, 169, 98, 0.2);
      animation: slideUp 0.6s ease-out forwards;
      opacity: 0;
    }
    
    @keyframes slideUp {
      from {
        opacity: 0;
        transform: translateY(40px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
    .curriculum-card:nth-child(1) { animation-delay: 0.1s; }
    .curriculum-card:nth-child(2) { animation-delay: 0.2s; }
    .curriculum-card:nth-child(3) { animation-delay: 0.3s; }
    .curriculum-card:nth-child(4) { animation-delay: 0.4s; }
    .curriculum-card:nth-child(5) { animation-delay: 0.5s; }
    .curriculum-card:nth-child(6) { animation-delay: 0.6s; }
    .curriculum-card:nth-child(7) { animation-delay: 0.7s; }
    
    .curriculum-card:hover {
      border-color: rgba(201, 169, 98, 0.5);
    }
    
    .photo-frame {
      position: relative;
      overflow: hidden;
      animation: zoomIn 0.7s ease-out forwards;
      opacity: 0;
    }
    
    @keyframes zoomIn {
      from {
        opacity: 0;
        transform: scale(0.8);
      }
      to {
        opacity: 1;
        transform: scale(1);
      }
    }
    
    .photo-frame::before {
      content: '';
      position: absolute;
      inset: 0;
      border: 1px solid var(--accent-gold);
      opacity: 0.3;
      z-index: 1;
    }
    
    .photo-placeholder {
      background: linear-gradient(135deg, #1a1a1a 0%, #252525 50%, #1a1a1a 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(201, 169, 98, 0.3);
    }
    
    .scroll-container {
      height: 100%;
      width: 100%;
      overflow-y: auto;
      overflow-x: hidden;
    }
    
    .scroll-container::-webkit-scrollbar {
      width: 6px;
    }
    
    .scroll-container::-webkit-scrollbar-track {
      background: var(--bg-primary);
    }
    
    .scroll-container::-webkit-scrollbar-thumb {
      background: var(--accent-gold);
      border-radius: 3px;
    }
    
    .outcome-item {
      position: relative;
      padding-left: 2rem;
      animation: slideInLeft 0.6s ease-out forwards;
      opacity: 0;
    }
    
    @keyframes slideInLeft {
      from {
        opacity: 0;
        transform: translateX(-30px);
      }
      to {
        opacity: 1;
        transform: translateX(0);
      }
    }
    
    .outcome-item::before {
      content: '✔';
      position: absolute;
      left: 0;
      color: var(--accent-gold);
      font-weight: bold;
    }

    .outcome-item:nth-child(1) { animation-delay: 0.1s; }
    .outcome-item:nth-child(2) { animation-delay: 0.2s; }
    .outcome-item:nth-child(3) { animation-delay: 0.3s; }
    .outcome-item:nth-child(4) { animation-delay: 0.4s; }
    .outcome-item:nth-child(5) { animation-delay: 0.5s; }
    .outcome-item:nth-child(6) { animation-delay: 0.6s; }
    
    .photo-frame:nth-child(1) { animation-delay: 0.1s; }
    .photo-frame:nth-child(2) { animation-delay: 0.2s; }
    .photo-frame:nth-child(3) { animation-delay: 0.3s; }
    .photo-frame:nth-child(4) { animation-delay: 0.4s; }
    .photo-frame:nth-child(5) { animation-delay: 0.5s; }
    .photo-frame:nth-child(6) { animation-delay: 0.6s; }
    .photo-frame:nth-child(7) { animation-delay: 0.7s; }

    h1, h2, h3, h4 {
      animation: fadeInUp 0.8s ease-out forwards;
      opacity: 0;
    }

    h1 { animation-delay: 0.2s; }
    h2 { animation-delay: 0.3s; }

body { box-sizing: border-box; }


/* Premium scissors cursor (SVG). */
:root { cursor: url('./assets/cursor-scissors.svg') 6 6, auto; }
a, button, [role="button"], input, textarea, select { cursor: url('./assets/cursor-scissors.svg') 6 6, pointer; }


/* Subtle monochrome background art */
.bg-art {
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.bg-art::before{
  content:"";
  position:absolute;
  inset:-10%;
  background-image:
    url("./assets/bg-scissors-line.svg"),
    url("./assets/bg-wave-line.svg");
  background-repeat:no-repeat, no-repeat;
  background-position: -5% 10%, 105% 85%;
  background-size: 540px, 720px;
  opacity:.12;
  filter: blur(.2px);
  mix-blend-mode: screen;
}
.bg-art::after{
  content:"";
  position:absolute;
  inset:0;
  background-image: url("./assets/noise.svg");
  opacity:.10;
  mix-blend-mode: overlay;
}

/* Scroll reveal */
.reveal { opacity:0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity:1; transform:none; }
.reveal.delay-1 { transition-delay: .08s; }
.reveal.delay-2 { transition-delay: .16s; }
.reveal.delay-3 { transition-delay: .24s; }
.reveal.delay-4 { transition-delay: .32s; }

/* --- Mobile polish: nav + hero video --- */
@media (max-width: 600px) {
  /* Top navigation: prevent awkward wrapping */
  nav.fixed > div {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    flex-wrap: wrap;
    gap: 10px;
  }
  nav.fixed > div > div:first-child {
    font-size: 14px;
    line-height: 1.25;
    font-weight: 600;
    max-width: 100%;
  }
  nav.fixed .lang-btn {
    padding: 6px 10px !important;
    font-size: 12px !important;
  }
}

/* Hero background video: smooth on desktop, instant on mobile */
#hero {
  position: relative;
  overflow: hidden;
}
#hero video {
  will-change: transform;
  transform: translateZ(0);
}
.hero-mobile-poster {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(1200px 800px at 20% 20%, rgba(201,169,98,0.10), transparent 60%),
    radial-gradient(900px 700px at 80% 30%, rgba(201,169,98,0.06), transparent 55%),
    linear-gradient(135deg, rgba(0,0,0,0.82), rgba(0,0,0,0.55));
}
.hero-mobile-poster::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("./assets/noise.svg");
  opacity: 0.18;
  mix-blend-mode: overlay;
  pointer-events: none;
}
@media (min-width: 769px) {
  .hero-mobile-poster { display: none; }
}
@media (max-width: 768px) {
  #hero video { display: none !important; }
  .hero-mobile-poster { display: block; }
}
