
  :root{
    --black:#000000;
    --near-black:#0a0a0a;
    --white:#ffffff;
    --off:#e9e7e2;
    --red:#a82f2f;
    --red-bright:#c23a3a;
    --line: rgba(255,255,255,.14);
    --display: 'Anton', Impact, sans-serif;
    --body: 'Archivo', Arial, sans-serif;
    --ease: cubic-bezier(.16,.84,.44,1);
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden; max-width:100vw;}
  body{
    background:var(--black);
    color:var(--white);
    font-family:var(--body);
    overflow-x:hidden;
    max-width:100vw;
    -webkit-font-smoothing:antialiased;
  }
  img{display:block;width:100%;height:100%;object-fit:cover;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

  /* ---------- grain texture, applied globally ---------- */
  .grain{
    position:fixed; inset:0; z-index:999; pointer-events:none;
    opacity:.05; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  .tape{
    position:absolute;
    background:var(--red);
    color:var(--black);
    font-family:var(--display);
    font-size:12px;
    letter-spacing:.2em;
    padding:6px 22px;
    transform:rotate(-6deg);
    white-space:nowrap;
    box-shadow:0 6px 18px rgba(0,0,0,.4);
  }

  .wrap{max-width:1400px;margin:0 auto;padding:0 6vw;}

  @media (max-width:640px){
    .wrap{padding:0 7.5vw;}
  }

  .eyebrow{
    font-size:12px;
    letter-spacing:.35em;
    text-transform:uppercase;
    color:var(--red-bright);
    font-weight:700;
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{content:'';width:26px;height:2px;background:var(--red-bright);display:inline-block;}

  .reveal{opacity:0; transform:translateY(40px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- language toggle ---------- */
  html[data-lang="ru"] .lang-en{display:none !important;}
  html[data-lang="en"] .lang-ru{display:none !important;}

  /* ================= HEADER ================= */
  header{
    position:fixed; top:0; left:0; right:0; z-index:200;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 6vw;
    transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s var(--ease);
    border-bottom:1px solid transparent;
  }
  header.scrolled{
    background:rgba(0,0,0,.86);
    backdrop-filter:blur(10px);
    padding:14px 6vw;
    border-bottom-color:var(--line);
  }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:var(--display);
    font-size:20px;
    letter-spacing:.04em;
    z-index:210;
  }
  .logo .mark{
    width:38px;height:38px;
    display:flex;align-items:center;justify-content:center;
  }
  .logo .mark img{width:100%; height:100%; object-fit:contain;}

  nav.main-nav{display:flex; align-items:center; gap:44px;}
  nav.main-nav ul{display:flex; gap:38px;}
  nav.main-nav a{
    font-size:13px; letter-spacing:.18em; text-transform:uppercase;
    font-weight:600; position:relative; padding:4px 0;
  }
  nav.main-nav a::after{
    content:''; position:absolute; left:0; bottom:0; width:0; height:1px;
    background:var(--red-bright); transition:width .3s var(--ease);
  }
  nav.main-nav a:hover::after{width:100%;}

  .btn{
    display:inline-block;
    font-family:var(--display);
    font-size:13px;
    letter-spacing:.15em;
    text-transform:uppercase;
    padding:14px 30px;
    background:var(--red);
    color:var(--black);
    position:relative;
    transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
  }
  .btn:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 30px rgba(168,47,47,.5), 0 0 0 1px var(--red-bright);
    background:var(--red-bright);
  }
  .btn.outline{
    background:transparent; color:var(--white); border:1px solid var(--line);
  }
  .btn.outline:hover{
    border-color:var(--red-bright); box-shadow:0 10px 30px rgba(168,47,47,.25);
    background:transparent; color:var(--white);
  }

  .burger{display:none; z-index:210; width:30px; height:20px; position:relative;}
  .burger span{
    position:absolute; left:0; width:100%; height:2px; background:var(--white);
    transition:transform .3s var(--ease), opacity .3s var(--ease);
  }
  .burger span:nth-child(1){top:0;}
  .burger span:nth-child(2){top:9px;}
  .burger span:nth-child(3){top:18px;}
  .burger.open span:nth-child(1){transform:translateY(9px) rotate(45deg);}
  .burger.open span:nth-child(2){opacity:0;}
  .burger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

  .lang-switch{
    display:flex; align-items:center; gap:2px;
    border:1px solid var(--line); padding:3px; margin-left:6px;
  }
  .lang-switch button{
    font-family:var(--display); font-size:11px; letter-spacing:.1em;
    padding:6px 12px; color:var(--off); transition:background .3s var(--ease), color .3s var(--ease);
  }
  .lang-switch button.active{background:var(--red); color:var(--black);}
  .lang-switch button:not(.active):hover{color:var(--white);}
  .drawer .lang-switch{margin:34px 0 0; align-self:flex-start;}

  /* ================= HERO ================= */
  .hero{
    position:relative; height:100svh; min-height:640px;
    display:flex; flex-direction:column; justify-content:flex-end;
    overflow:hidden;
  }
  .hero-media{position:absolute; inset:0; z-index:0;}
  .hero-media img{
    filter:contrast(1.15) brightness(.62) saturate(1.1);
    transform:scale(1.08);
    animation:heroZoom 16s var(--ease) infinite alternate;
  }
  @keyframes heroZoom{from{transform:scale(1.08);} to{transform:scale(1.16);}}
  .hero-media::after{
    content:'';
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.92) 100%),
      linear-gradient(90deg, rgba(0,0,0,.55) 0%, transparent 45%);
  }
  .hero-content{position:relative; z-index:2; padding:0 6vw 8vw;}
  .hero-eyebrow{
    display:flex; align-items:center; gap:16px; margin-bottom:18px;
  }
  .hero h1{
    font-family:var(--display);
    font-size:clamp(52px, 12vw, 168px);
    line-height:.88;
    text-transform:uppercase;
    letter-spacing:-.01em;
  }
  .hero h1 .accent{color:var(--red);}
  .hero-sub{
    display:flex; justify-content:space-between; align-items:flex-end;
    margin-top:34px; gap:24px; flex-wrap:wrap;
  }
  .hero-sub p{max-width:420px; color:var(--off); font-size:15px; line-height:1.6;}
  .hero-sub p.tagline{
    max-width:none; font-family:var(--display); color:var(--white);
    font-size:clamp(18px,2.6vw,28px); letter-spacing:.06em; text-transform:uppercase;
  }
  .scroll-cue{
    position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:2;
    display:flex; flex-direction:column; align-items:center; gap:10px;
    font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--off);
  }
  .scroll-cue .line{width:1px; height:44px; background:linear-gradient(var(--red-bright), transparent); animation:cueMove 1.8s ease-in-out infinite;}
  @keyframes cueMove{0%{transform:scaleY(0); transform-origin:top;} 50%{transform:scaleY(1); transform-origin:top;} 51%{transform-origin:bottom;} 100%{transform:scaleY(0); transform-origin:bottom;}}

  /* ================= SECTION GENERIC ================= */
  section{position:relative;}
  .section-pad{padding:150px 0;}
  .section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:70px; flex-wrap:wrap;}
  h2.big{
    font-family:var(--display);
    font-size:clamp(40px, 7vw, 96px);
    line-height:.92;
    text-transform:uppercase;
  }
  h2.big .accent{color:var(--red);}
  .section-num{
    font-family:var(--display); font-size:14px; color:var(--off); opacity:.4; letter-spacing:.2em;
  }

  /* ================= ABOUT ================= */
  .about{background:var(--near-black); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .about-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
  .about-visual{position:relative; aspect-ratio:3/4; overflow:hidden; background:#000;}
  .about-visual img{filter:grayscale(1) contrast(1.4) brightness(.7); mix-blend-mode:luminosity;}
  .about-visual::before{
    content:''; position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, transparent 55%, var(--red) 250%);
    mix-blend-mode:multiply;
  }
  .about-visual::after{
    content:''; position:absolute; inset:0; z-index:2;
    border:1px solid var(--line);
  }
  .about-text p{font-size:19px; line-height:1.7; color:var(--off); margin-bottom:26px; max-width:520px;}
  .about-text p strong{color:var(--white); font-weight:700;}
  .about-activities{margin:34px 0; max-width:520px;}
  .about-activities-label{
    font-family:var(--display); font-size:12px; letter-spacing:.15em; text-transform:uppercase;
    color:var(--red-bright); display:block; margin-bottom:16px;
  }
  .about-activities ul{display:flex; flex-direction:column; gap:12px;}
  .about-activities li{
    font-size:16px; line-height:1.6; color:var(--off);
    display:flex; gap:10px; align-items:flex-start;
  }
  .about-activities li::before{content:'—'; color:var(--red-bright); flex-shrink:0;}
  .about-activities li strong{color:var(--white); font-weight:700;}
  .about-stats{display:flex; gap:50px; margin-top:46px;}
  .about-stats div b{display:block; font-family:var(--display); font-size:42px; color:var(--red-bright);}
  .about-stats div span{font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:var(--off);}

  /* ================= VIDEOS ================= */
  .videos-grid{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line);}
  .video-card{
    position:relative; aspect-ratio:16/10; overflow:hidden; background:#050505; cursor:pointer;
  }
  .video-card .video-media{position:absolute; inset:0; z-index:0;}
  .video-card .video-media img{
    width:100%; height:100%;
    filter:grayscale(1) contrast(1.3) brightness(.6);
    transition:transform .7s var(--ease), filter .5s var(--ease);
  }
  .video-card:hover .video-media img{transform:scale(1.08); filter:grayscale(.4) contrast(1.3) brightness(.5);}
  .video-card .video-frame{
    position:absolute; inset:0; z-index:1; pointer-events:none; background:#000;
    opacity:0; transition:opacity .35s var(--ease);
  }
  .video-card .video-frame.active{opacity:1;}
  .video-card .video-frame iframe{width:100%; height:100%; border:0; display:block;}
  .video-card .overlay{
    position:absolute; inset:0; z-index:2;
    background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.9) 100%);
    display:flex; flex-direction:column; justify-content:flex-end; padding:28px;
  }
  .video-card .play{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(.8);
    width:64px; height:64px; border-radius:50%; z-index:3;
    border:1px solid rgba(255,255,255,.5);
    display:flex; align-items:center; justify-content:center;
    opacity:0; transition:opacity .35s var(--ease), transform .35s var(--ease), border-color .35s var(--ease);
  }
  .video-card:hover .play{opacity:1; transform:translate(-50%,-50%) scale(1); border-color:var(--red-bright);}
  .video-card .play::before{
    content:''; width:0; height:0;
    border-top:9px solid transparent; border-bottom:9px solid transparent;
    border-left:14px solid var(--white); margin-left:4px;
  }
  .video-card .tag{font-family:var(--display); font-size:12px; letter-spacing:.15em; color:var(--red-bright); margin-bottom:6px;}
  .video-card h3{font-family:var(--display); font-size:24px; text-transform:uppercase;}
  .videos-note{margin-top:34px; font-size:13px; color:var(--off); letter-spacing:.05em;}
  .videos-note a{color:var(--red-bright); font-weight:700; border-bottom:1px solid rgba(194,58,58,.4); padding-bottom:1px;}
  .videos-note a:hover{border-color:var(--red-bright);}

  /* ================= CAMP ================= */
  .camp-hero{
    position:relative; min-height:90vh; display:flex; align-items:center;
    background:var(--black);
    border-top:1px solid var(--line);
  }
  .camp-hero-media{position:absolute; inset:0;}
  .camp-hero-media img{filter:grayscale(1) contrast(1.4) brightness(.4) sepia(.3) hue-rotate(-20deg);}
  .camp-hero-media::after{content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 40%, rgba(168,47,47,.25), transparent 60%), rgba(0,0,0,.55);}
  .camp-hero-content{position:relative; z-index:2; width:100%;}
  .camp-hero h2{
    font-family:var(--display); font-size:clamp(44px,9vw,130px); line-height:.9; text-transform:uppercase;
  }
  .camp-meta{display:flex; gap:50px; margin-top:40px; flex-wrap:wrap;}
  .camp-meta div{border-left:2px solid var(--red-bright); padding-left:16px;}
  .camp-meta div b{display:block; font-family:var(--display); font-size:22px; letter-spacing:.05em;}
  .camp-meta div span{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--off);}
  .camp-hero .btn{margin-top:50px;}

  .camp-block{background:var(--near-black); border-top:1px solid var(--line);}
  .camp-list{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line);}
  .camp-list div{background:var(--near-black); padding:50px 34px;}
  .camp-list .n{font-family:var(--display); font-size:15px; color:var(--red-bright); margin-bottom:22px;}
  .camp-list h4{font-family:var(--display); font-size:22px; text-transform:uppercase; margin-bottom:12px; line-height:1.15;}
  .camp-list p{font-size:14px; color:var(--off); line-height:1.6;}

  .camp-time{background:var(--black); border-top:1px solid var(--line); padding:150px 0; overflow:hidden;}
  .camp-time-inner{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
  .camp-time-text p{font-size:17px; line-height:1.7; color:var(--off); max-width:440px; margin-top:6px;}
  .camp-time-art{
    position:relative; display:flex; justify-content:center; align-items:center;
    filter:drop-shadow(0 30px 60px rgba(168,47,47,.18));
  }
  .camp-time-art::before{
    content:''; position:absolute; width:340px; height:340px; border-radius:50%;
    background:radial-gradient(circle, rgba(168,47,47,.35), transparent 70%);
    filter:blur(10px); z-index:0;
  }
  .camp-time-art img{position:relative; z-index:1; width:100%; max-width:380px; height:auto; object-fit:contain;}

  .camp-results{padding:150px 0; border-top:1px solid var(--line);}
  .results-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:40px;}
  .result-item{text-align:center;}
  .result-item .ic{
    width:64px; height:64px; margin:0 auto 22px; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; transform:rotate(45deg);
  }
  .result-item .ic svg{transform:rotate(-45deg); width:26px; height:26px; stroke:var(--red-bright);}
  .result-item h4{font-family:var(--display); font-size:16px; letter-spacing:.05em; text-transform:uppercase; margin-bottom:8px;}
  .result-item p{font-size:13px; color:var(--off); line-height:1.5;}

  .camp-slots{
    background:var(--red); color:var(--black);
    padding:110px 0; text-align:center; position:relative; overflow:hidden;
  }
  .camp-slots::before{
    content:'50'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    font-family:var(--display); font-size:44vw; line-height:1; color:rgba(0,0,0,.06); z-index:0; white-space:nowrap;
  }
  .camp-slots .inner{position:relative; z-index:1;}
  .camp-slots .eyebrow{color:var(--black); opacity:.65;}
  .camp-slots .eyebrow::before{background:var(--black);}
  .camp-slots .num{font-family:var(--display); font-size:clamp(90px,16vw,220px); line-height:.9; margin:14px 0;}
  .camp-slots p{font-family:var(--display); font-size:20px; letter-spacing:.1em; text-transform:uppercase;}

  /* ================= CLOTHES ================= */
  .clothes-grid{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line);}
  .cloth-card{position:relative; overflow:hidden; background:var(--near-black); display:flex; flex-direction:column;}
  .cloth-img{position:relative; aspect-ratio:3/2; overflow:hidden; background:
      radial-gradient(circle at 50% 40%, rgba(168,47,47,.14), transparent 60%), var(--near-black);
    display:flex; align-items:center; justify-content:center; padding:30px;}
  .cloth-img::before{
    content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(90deg, rgba(0,0,0,.65) 0%, transparent 18%, transparent 82%, rgba(0,0,0,.65) 100%);
  }
  .cloth-img img{
    position:relative; z-index:0;
    width:100%; height:100%; object-fit:contain; transition:transform .6s var(--ease);
    filter:drop-shadow(0 24px 26px rgba(0,0,0,.55));
  }
  .cloth-card:hover .cloth-img img{transform:scale(1.045);}
  .cloth-card .info{
    padding:26px 30px 34px;
    border-top:1px solid var(--line);
    display:flex; justify-content:space-between; align-items:center;
  }
  .cloth-card .info > div{display:flex; flex-direction:column; gap:8px;}
  .cloth-card h3{font-family:var(--display); font-size:22px; text-transform:uppercase;}
  .cloth-card span.not-for-sale{
    font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--red-bright); font-weight:700;
  }
  .cloth-card .stamp{
    position:absolute; top:24px; right:24px; z-index:2;
    border:1px solid var(--red-bright); color:var(--red-bright);
    font-family:var(--display); font-size:11px; letter-spacing:.2em; padding:8px 14px;
    transform:rotate(6deg);
  }

  /* ================= COURSE ================= */
  .course-hero{padding:170px 0 90px; border-top:1px solid var(--line);}
  .course-hero h2{font-family:var(--display); font-size:clamp(46px,9vw,140px); line-height:.88; text-transform:uppercase;}
  .course-hero-top{display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end;}
  .course-poster{flex-shrink:0;}
  .course-poster img{
    width:220px; height:auto; display:block; border:1px solid var(--line);
    box-shadow:0 24px 50px rgba(0,0,0,.5); transform:rotate(2deg);
  }
  .course-hero-row{display:grid; grid-template-columns:1.1fr .9fr; gap:70px; margin-top:56px; align-items:start;}
  .course-list li{
    display:flex; align-items:center; gap:22px; padding:24px 0; border-bottom:1px solid var(--line); font-size:18px;
  }
  .course-list li:first-child{border-top:1px solid var(--line);}
  .course-list .num{font-family:var(--display); font-size:14px; color:var(--red-bright); min-width:34px;}
  .course-note{background:var(--near-black); border:1px solid var(--line); padding:40px;}
  .course-note p{color:var(--off); line-height:1.7; font-size:15px; margin-bottom:20px;}

  .plans{padding:0 0 170px;}
  .plans-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--line);}
  .plan{background:var(--near-black); padding:44px 30px; display:flex; flex-direction:column; gap:18px; transition:background .4s var(--ease);}
  .plan.featured{background:var(--black); position:relative;}
  .plan.featured .tape{top:-1px; right:24px;}
  .plan h3{font-family:var(--display); font-size:22px; text-transform:uppercase; line-height:1.1;}
  .plan .price{font-family:var(--display); font-size:36px; color:var(--red-bright);}
  .plan .price span{font-size:13px; color:var(--off); font-family:var(--body);}
  .plan .price-sub{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--off); margin-top:-14px;}
  .plan p.desc{font-size:14px; color:var(--off); line-height:1.6; min-height:60px;}
  .plan ul{display:flex; flex-direction:column; gap:12px;}
  .plan ul li{font-size:13px; color:var(--off); display:flex; gap:10px; align-items:flex-start;}
  .plan ul li::before{content:'—'; color:var(--red-bright);}
  .plan .btn{margin-top:auto; text-align:center;}

  /* ================= BOOK ================= */
  .book{
    position:relative; min-height:80vh; display:flex; align-items:center; justify-content:center;
    text-align:center; border-top:1px solid var(--line); overflow:hidden;
  }
  .book-media{position:absolute; inset:0;}
  .book-media img{filter:grayscale(1) contrast(1.4) brightness(.35);}
  .book-media::after{content:''; position:absolute; inset:0; background:rgba(0,0,0,.6);}
  .book-content{position:relative; z-index:2;}
  .book h2{font-family:var(--display); font-size:clamp(44px,9vw,120px); text-transform:uppercase; line-height:.9;}
  .book .soon{
    font-family:var(--display); font-size:clamp(90px,20vw,260px); color:var(--red);
    line-height:.85; margin-top:6px; letter-spacing:.02em;
  }
  .book p{margin-top:24px; color:var(--off); font-size:15px; letter-spacing:.05em;}

  /* ================= FOOTER ================= */
  footer{background:var(--red); color:var(--black); padding:100px 0 40px;}
  .footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:50px; padding-bottom:70px; border-bottom:1px solid rgba(0,0,0,.2);}
  .footer-logo{font-family:var(--display); font-size:38px; text-transform:uppercase; line-height:.9; margin-bottom:18px;}
  .footer-top p{font-size:14px; max-width:280px; opacity:.75; line-height:1.6;}
  .footer-col h5{font-family:var(--display); font-size:13px; letter-spacing:.15em; text-transform:uppercase; margin-bottom:20px; opacity:.6;}
  .footer-col ul li{margin-bottom:12px;}
  .footer-col a{font-size:15px; font-weight:600; transition:opacity .3s;}
  .footer-col a:hover{opacity:.5;}
  .footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:30px; flex-wrap:wrap; gap:16px;}
  .footer-bottom span{font-size:12px; opacity:.65; letter-spacing:.05em;}
  .socials{display:flex; gap:22px; flex-wrap:wrap;}
  .socials a{font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; border-bottom:1px solid rgba(0,0,0,.35); padding-bottom:2px;}

  /* ================= MOBILE NAV DRAWER ================= */
  .drawer{
    position:fixed; inset:0; background:var(--black); z-index:150;
    display:flex; flex-direction:column; justify-content:center; padding:0 8vw;
    transform:translateY(-100%); transition:transform .5s var(--ease);
  }
  .drawer.open{transform:translateY(0);}
  .drawer ul{display:flex; flex-direction:column; gap:6px;}
  .drawer ul a{
    font-family:var(--display); font-size:14vw; text-transform:uppercase; line-height:1.15;
    display:block;
  }
  .drawer .btn{margin-top:40px; align-self:flex-start; font-size:13px;}

  @media (min-width:981px){
    .drawer{display:none !important;}
  }

  /* ================= RESPONSIVE ================= */
  @media (max-width:980px){
    nav.main-nav{display:none;}
    .burger{display:block;}
    .about-grid{grid-template-columns:1fr; gap:50px;}
    .camp-list{grid-template-columns:1fr 1fr;}
    .results-grid{grid-template-columns:1fr 1fr; gap:50px 20px;}
    .course-hero-row{grid-template-columns:1fr; gap:40px;}
    .course-hero-top{grid-template-columns:1fr; gap:28px;}
    .course-poster{order:-1;}
    .course-poster img{width:160px;}
    .plans-grid{grid-template-columns:1fr 1fr;}
    .footer-top{grid-template-columns:1fr 1fr; gap:40px;}
    .camp-time-inner{grid-template-columns:1fr; gap:40px;}
    .camp-time-inner{text-align:left;}
    .camp-time-art{order:-1;}
  }
  @media (max-width:640px){
    .section-pad{padding:100px 0;}
    .videos-grid, .clothes-grid{grid-template-columns:1fr;}
    .camp-list{grid-template-columns:1fr;}
    .results-grid{grid-template-columns:1fr 1fr;}
    .footer-top{grid-template-columns:1fr;}
    .hero h1{font-size:15vw;}
    .hero-content{padding:0 7.5vw 8vw;}
    .hero-eyebrow{padding-right:6vw;}
    .course-hero h2{font-size:clamp(38px,13vw,90px);}
    .camp-meta{gap:28px;}
    .about-stats{gap:30px;}
    .plans-grid{grid-template-columns:1fr;}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important; transition:none !important;}
  }

  /* ================= CAMP LEAD PARAGRAPH ================= */
  .camp-lead{font-size:17px; line-height:1.7; color:var(--off); max-width:620px; margin-top:20px;}

  /* ================= BOOKING MODAL ================= */
  .modal-overlay{
    position:fixed; inset:0; z-index:300; background:rgba(0,0,0,.82);
    display:flex; align-items:center; justify-content:center; padding:24px;
    opacity:0; pointer-events:none; transition:opacity .3s var(--ease);
  }
  .modal-overlay.open{opacity:1; pointer-events:auto;}
  .modal-box{
    background:var(--near-black); border:1px solid var(--line); max-width:480px; width:100%;
    padding:44px 34px; position:relative; max-height:88vh; overflow-y:auto;
    transform:translateY(24px); transition:transform .35s var(--ease);
  }
  .modal-overlay.open .modal-box{transform:translateY(0);}
  .modal-close{
    position:absolute; top:16px; right:16px; width:34px; height:34px; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1; color:var(--off);
    transition:border-color .3s var(--ease), color .3s var(--ease);
  }
  .modal-close:hover{border-color:var(--red-bright); color:var(--red-bright);}
  .modal-box h3{font-family:var(--display); font-size:26px; text-transform:uppercase; margin-bottom:8px;}
  .modal-box .modal-sub{font-size:13px; color:var(--off); margin-bottom:26px; line-height:1.55;}
  .modal-box .field{margin-bottom:16px;}
  .modal-box .field label{display:block; font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--off); margin-bottom:8px;}
  .modal-box .field input{
    width:100%; background:var(--black); border:1px solid var(--line); color:var(--white);
    padding:13px 14px; font-family:var(--body); font-size:14px; transition:border-color .3s var(--ease);
  }
  .modal-box .field input:focus{outline:none; border-color:var(--red-bright);}
  .modal-box .field-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .pay-methods{display:flex; gap:10px; margin-bottom:20px;}
  .pay-methods label{
    flex:1; text-align:center; border:1px solid var(--line); padding:12px; font-size:12px;
    letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:border-color .3s var(--ease), color .3s var(--ease);
    color:var(--off);
  }
  .pay-methods label.active{border-color:var(--red-bright); color:var(--red-bright);}
  .pay-methods input{position:absolute; opacity:0; width:0; height:0;}
  .modal-box button.btn{width:100%; text-align:center; margin-top:6px; border:none; cursor:pointer;}
  .booking-note{font-size:11px; color:var(--off); opacity:.6; margin-top:16px; line-height:1.6;}
  .booking-success{display:none; text-align:center; padding:26px 0;}
  .booking-success .ic{
    width:56px; height:56px; margin:0 auto 20px; border:1px solid var(--red-bright); border-radius:50%;
    display:flex; align-items:center; justify-content:center; color:var(--red-bright); font-size:24px;
  }

  @media (max-width:480px){
    .modal-box .field-row{grid-template-columns:1fr 1fr;}
    .modal-box{padding:34px 22px;}
  }

  /* ================= MUSIC PAGE ================= */
  .playlist-card{
    display:flex; align-items:center; gap:24px;
    background:var(--near-black); border:1px solid var(--line); padding:28px 30px;
    margin-top:8px; transition:border-color .3s var(--ease), transform .3s var(--ease);
  }
  .playlist-card:hover{border-color:var(--red-bright); transform:translateY(-2px);}
  .playlist-card-icon{
    width:56px; height:56px; flex-shrink:0; border-radius:50%; border:1px solid var(--red-bright);
    display:flex; align-items:center; justify-content:center; color:var(--red-bright); font-size:18px;
  }
  .playlist-card-text .tag{font-family:var(--display); font-size:12px; letter-spacing:.15em; color:var(--red-bright); display:block; margin-bottom:6px;}
  .playlist-card-text h3{font-family:var(--display); font-size:22px; text-transform:uppercase; margin-bottom:8px;}
  .playlist-card-link{font-size:13px; color:var(--off); letter-spacing:.05em;}
  .music-subhead{
    font-family:var(--display); font-size:clamp(24px,4vw,36px); text-transform:uppercase;
    margin-top:64px; margin-bottom:28px;
  }
  .tracks-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  .track-card{background:var(--near-black); border:1px solid var(--line); padding:14px; transition:border-color .3s var(--ease);}
  .track-card:hover{border-color:var(--red-bright);}
  .track-card iframe{display:block; border-radius:0;}

  @media (max-width:768px){
    .tracks-grid{grid-template-columns:1fr;}
    .playlist-card{flex-direction:column; text-align:center; gap:16px;}
  }

  /* ================= CAMP COUNTDOWN ================= */
  .camp-countdown{background:var(--red); color:var(--black); padding:60px 0; text-align:center;}
  .camp-countdown .eyebrow{color:var(--black); opacity:.65;}
  .camp-countdown .eyebrow::before{background:var(--black);}
  .camp-price{
    font-family:var(--display); font-size:clamp(36px,6vw,58px); line-height:1; margin-top:10px;
  }
  .camp-price-label{
    font-size:clamp(26px,4.2vw,42px); line-height:1.15; max-width:640px; margin-left:auto; margin-right:auto;
  }
  .countdown{
    display:flex; align-items:center; justify-content:center; gap:14px;
    margin:24px auto 18px;
  }
  .cd-unit{display:flex; flex-direction:column; align-items:center; min-width:64px;}
  .cd-num{font-family:var(--display); font-size:clamp(34px,6vw,56px); line-height:1;}
  .cd-label{font-size:11px; letter-spacing:.15em; text-transform:uppercase; margin-top:6px; opacity:.7;}
  .cd-sep{font-family:var(--display); font-size:clamp(28px,5vw,44px); line-height:1; opacity:.5; transform:translateY(-8px);}
  .camp-countdown-note{font-size:13px; max-width:480px; margin:0 auto; opacity:.75; line-height:1.5;}

  @media (max-width:640px){
    .countdown{gap:8px;}
    .cd-unit{min-width:52px;}
  }

  /* ================= LEGAL PAGE ================= */
  .legal-intro{font-size:16px; line-height:1.7; color:var(--off); max-width:720px; margin-bottom:50px;}
  .legal-subhead{font-family:var(--display); font-size:clamp(24px,4vw,34px); text-transform:uppercase; margin-bottom:22px;}
  .legal-mini-head{font-family:var(--display); font-size:15px; letter-spacing:.08em; text-transform:uppercase; color:var(--red-bright); margin:36px 0 16px;}
  .legal-card{background:var(--near-black); border:1px solid var(--line); padding:6px 28px;}
  .legal-row{
    display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
    padding:16px 0; border-bottom:1px solid var(--line);
  }
  .legal-row:last-child{border-bottom:none;}
  .legal-label{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--off); min-width:180px;}
  .legal-value{font-size:15px; font-weight:600; text-align:right; flex:1;}
  .legal-note{font-size:13px; color:var(--off); opacity:.75; line-height:1.6; margin-top:18px; max-width:720px;}
  .legal-text{max-width:760px; margin-top:26px;}
  .legal-text p{font-size:14.5px; line-height:1.75; color:var(--off); margin-bottom:16px;}
  .legal-text p strong{color:var(--white);}
  .legal-date{margin-top:32px; font-size:13px; opacity:.6;}
  .legal-payment-note{
    font-size:12.5px; color:var(--off); opacity:.75; line-height:1.6; margin-top:18px;
  }
  .legal-payment-note a{color:var(--red-bright); border-bottom:1px solid rgba(194,58,58,.4);}
  .legal-payment-note a:hover{border-color:var(--red-bright);}

  @media (max-width:640px){
    .legal-row{flex-direction:column; gap:4px;}
    .legal-value{text-align:left;}
  }

  /* ================= SHOP TABS ================= */
  .shop-tabs{display:flex; gap:2px; margin:36px 0 44px; border:1px solid var(--line); width:fit-content;}
  .shop-tab-btn{
    font-family:var(--display); font-size:13px; letter-spacing:.12em; text-transform:uppercase;
    padding:14px 28px; color:var(--off); transition:background .3s var(--ease), color .3s var(--ease);
  }
  .shop-tab-btn.active{background:var(--red); color:var(--black);}
  .shop-tab-btn:not(.active):hover{color:var(--white);}

  .accessories-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line); margin-top:8px;}
  .accessory-card{
    background:var(--near-black); padding:56px 30px; text-align:center;
    display:flex; flex-direction:column; align-items:center; gap:18px;
  }
  .accessory-card .ic{
    width:64px; height:64px; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; transform:rotate(45deg);
  }
  .accessory-card .ic svg{transform:rotate(-45deg); width:26px; height:26px; stroke:var(--red-bright);}
  .accessory-card h3{font-family:var(--display); font-size:20px; text-transform:uppercase; line-height:1.2;}
  .accessory-price{font-family:var(--display); font-size:24px; color:var(--red-bright);}
  .accessory-card .btn{font-size:11px; padding:11px 22px; margin-top:4px;}
  .accessory-card-photo{padding:0 0 30px;}
  .accessory-img{
    position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; margin-bottom:6px;
    background:radial-gradient(circle at 50% 40%, rgba(168,47,47,.14), transparent 60%), var(--near-black);
    display:flex; align-items:center; justify-content:center; padding:26px;
  }
  .accessory-img::before{
    content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(90deg, rgba(0,0,0,.55) 0%, transparent 18%, transparent 82%, rgba(0,0,0,.55) 100%);
  }
  .accessory-img img{
    position:relative; z-index:0;
    width:100%; height:100%; object-fit:contain; transition:transform .6s var(--ease);
    filter:drop-shadow(0 20px 22px rgba(0,0,0,.55));
  }
  .accessory-card-photo:hover .accessory-img img{transform:scale(1.045);}
  .accessory-card-photo h3{padding:0 20px;}
  .accessory-img-double{display:flex; gap:2px; padding:20px; background:var(--line);}
  .accessory-img-double img{
    flex:1; width:50%; background:radial-gradient(circle at 50% 40%, rgba(168,47,47,.14), transparent 60%), var(--near-black);
    padding:6px;
  }
  .accessory-mystery .ic-mystery{
    transform:rotate(45deg); font-family:var(--display); font-size:26px; color:var(--red-bright);
    display:flex; align-items:center; justify-content:center;
  }
  .accessory-mystery .ic-mystery::before{content:''; display:none;}
  .accessory-soon{
    font-family:var(--display); font-size:14px; letter-spacing:.1em; color:var(--red-bright);
    border:1px solid var(--red-bright); padding:6px 16px;
  }

  @media (max-width:640px){
    .accessories-grid{grid-template-columns:1fr;}
    .shop-tabs{width:100%;}
    .shop-tab-btn{flex:1;}
  }

  /* ================= COOKIE BANNER ================= */
  .cookie-banner{
    position:fixed; left:0; right:0; bottom:0; z-index:400;
    background:var(--near-black); border-top:1px solid var(--line);
    padding:22px 6vw; transform:translateY(120%); transition:transform .45s var(--ease);
  }
  .cookie-banner.show{transform:translateY(0);}
  .cookie-banner-inner{
    max-width:1400px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
  }
  .cookie-banner p{font-size:13px; color:var(--off); line-height:1.55; max-width:760px;}
  .cookie-banner a{color:var(--red-bright); border-bottom:1px solid rgba(194,58,58,.4);}
  .cookie-banner a:hover{border-color:var(--red-bright);}
  .cookie-banner .btn{flex-shrink:0;}

  /* ================= FORM CONSENT CHECKBOX ================= */
  .consent-field{
    display:flex; align-items:flex-start; gap:12px; margin:22px 0 20px;
  }
  .consent-field input[type="checkbox"]{
    appearance:none; -webkit-appearance:none; width:19px; height:19px; flex-shrink:0; margin-top:2px;
    border:1px solid var(--line); background:var(--black); cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:border-color .3s var(--ease);
  }
  .consent-field input[type="checkbox"]:checked{border-color:var(--red-bright); background:var(--red-bright);}
  .consent-field input[type="checkbox"]:checked::after{
    content:''; width:5px; height:9px; border:solid var(--black); border-width:0 2px 2px 0; transform:rotate(45deg) translate(-1px,-1px);
  }
  .consent-field label{font-size:12.5px; color:var(--off); line-height:1.55; cursor:pointer;}
  .consent-field a{color:var(--red-bright); border-bottom:1px solid rgba(194,58,58,.4);}
  .consent-field a:hover{border-color:var(--red-bright);}
  .consent-field input[type="checkbox"].invalid{
    border-color:#e04b4b; box-shadow:0 0 0 3px rgba(224,75,75,.18);
  }
  .consent-error{
    display:none; color:#e04b4b; font-size:12px; line-height:1.5;
    margin:-14px 0 20px;
  }
  .consent-error.show{display:block;}

  @media (max-width:640px){
    .cookie-banner-inner{flex-direction:column; align-items:flex-start;}
    .cookie-banner .btn{width:100%; text-align:center;}
  }

  /* ================= SECTION GLOW SEPARATION ================= */
  body > section{position:relative; isolation:isolate; transition:box-shadow 1s var(--ease);}
  body > section::before{
    content:'';
    position:absolute; top:0; left:4%; right:4%; height:2px;
    background:linear-gradient(90deg, transparent, var(--red-bright) 20%, #ff5b5b 50%, var(--red-bright) 80%, transparent);
    opacity:0; z-index:5; pointer-events:none;
    box-shadow:0 0 12px 2px rgba(194,58,58,.4);
    transition:opacity .7s var(--ease), box-shadow .7s var(--ease);
  }
  body > section:first-of-type::before{display:none;}
  body > section::after{
    content:'';
    position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
      radial-gradient(65% 55% at 50% 0%, rgba(194,58,58,.32), transparent 72%),
      radial-gradient(65% 55% at 50% 100%, rgba(194,58,58,.24), transparent 72%);
    opacity:0;
    transition:opacity .8s var(--ease);
  }
  body > section.section-glow-active::before{
    opacity:1;
    box-shadow:0 0 50px 6px rgba(194,58,58,.95), 0 0 100px 12px rgba(194,58,58,.4);
  }
  body > section.section-glow-active::after{opacity:1;}
  body > section.section-glow-active{
    box-shadow:inset 0 0 160px rgba(194,58,58,.1);
  }

  @media (prefers-reduced-motion: reduce){
    body > section, body > section::before, body > section::after{transition:none;}
  }
