:root {
        --scarlet: #c8102e;
        --scarlet-dark: #9c0c24;
        --bg: #f7f4f1;
        --surface: #ffffff;
        --surface-2: #efe9e5;
        --ink: #211f26;
        --ink-soft: #57535f;
        --line: #ddd5cf;
        --charcoal: #211f26;
        --on-charcoal: #f5f1ef;
        --on-charcoal-soft: #b7b1ba;
        --radius: 2px;
      }
      @media (prefers-color-scheme: dark) {
        :root {
          --bg: #141318;
          --surface: #1e1d24;
          --surface-2: #282730;
          --ink: #f2efec;
          --ink-soft: #b3aeba;
          --line: #36353f;
        }
      }
      * { box-sizing: border-box; }
      html { scroll-behavior: smooth; }
      body {
        margin: 0;
        background: var(--bg);
        color: var(--ink);
        font-family: "Manrope", system-ui, sans-serif;
        font-size: 17px;
        line-height: 1.55;
        -webkit-font-smoothing: antialiased;
      }
      img, video { max-width: 100%; display: block; }
      a { color: var(--scarlet); }
      .wrap { width: min(1120px, 100% - 40px); margin-inline: auto; }
      section { padding: 56px 0; }
      h1, h2, h3 { font-family: "Poppins", "Manrope", sans-serif; line-height: 1.12; margin: 0; }
      h2 { font-size: clamp(1.6rem, 4.6vw, 2.2rem); font-weight: 700; letter-spacing: -0.01em; margin-bottom: 12px; }
      .section-intro { color: var(--ink-soft); max-width: 60ch; margin: 0 0 30px; }

      /* Header */
      header {
        position: sticky; top: 0; z-index: 50;
        background: var(--bg);
        border-bottom: 1px solid var(--line);
      }
      .header-in { display: flex; align-items: center; gap: 20px; padding: 10px 0; }
      .brand { display: flex; align-items: center; gap: 11px; text-decoration: none; color: var(--ink); margin-right: auto; }
      .brand img { width: 40px; height: 40px; object-fit: contain; }
      .brand .wordmark { font-family: "Poppins", sans-serif; font-weight: 700; font-size: 1rem; letter-spacing: 0.03em; text-transform: uppercase; line-height: 1.05; }
      .brand .wordmark small { display: block; font-family: "Manrope", sans-serif; font-weight: 700; font-size: 0.58rem; letter-spacing: 0.26em; color: var(--scarlet); margin-top: 3px; }
      nav.main { display: none; gap: 26px; }
      nav.main a { color: var(--ink); text-decoration: none; font-weight: 600; font-size: 0.94rem; }
      nav.main a:hover { color: var(--scarlet); }
      @media (min-width: 720px) { nav.main { display: flex; } }
      .btn {
        display: inline-flex; align-items: center; justify-content: center; gap: 8px;
        background: var(--scarlet); color: #fff; text-decoration: none;
        font-weight: 700; font-size: 0.98rem;
        padding: 12px 22px; border-radius: var(--radius); border: 0; cursor: pointer;
        transition: background 0.15s ease;
        white-space: nowrap;
      }
      .btn:hover { background: var(--scarlet-dark); }
      .btn.ghost { background: transparent; color: var(--ink); border: 1.5px solid var(--ink); }
      .btn.ghost:hover { background: transparent; border-color: var(--scarlet); color: var(--scarlet); }
      .btn.small { padding: 10px 18px; font-size: 0.92rem; }

      /* Hero */
      .hero { padding: 52px 0 60px; }
      .hero-grid { display: grid; gap: 34px; }
      .hero h1 { font-size: clamp(2.15rem, 6.6vw, 3.4rem); font-weight: 700; letter-spacing: -0.015em; max-width: 15ch; margin: 0 0 16px; }
      .hero h1 .accent { color: var(--scarlet); }
      .hero .sub { color: var(--ink-soft); font-size: clamp(1.02rem, 3vw, 1.16rem); max-width: 52ch; margin: 0 0 26px; }
      .hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }
      .video-shell {
        position: relative; width: 100%; max-width: 400px;
        border-radius: var(--radius); overflow: hidden;
        border: 1px solid var(--line); background: #000;
      }
      .video-shell video { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
      .play-btn {
        position: absolute; inset: 0; display: grid; place-items: center;
        background: rgba(20, 10, 14, 0.28); border: 0; cursor: pointer; width: 100%;
      }
      .play-btn .disc {
        width: 76px; height: 76px; border-radius: var(--radius);
        background: var(--scarlet); display: grid; place-items: center;
        transition: background 0.15s ease;
      }
      .play-btn:hover .disc { background: var(--scarlet-dark); }
      .play-btn svg { width: 28px; height: 28px; fill: #fff; margin-left: 4px; }
      .video-shell.playing .play-btn { display: none; }
      .trust-line { margin: 0; font-weight: 700; font-size: 1.01rem; }
      .hero-grid > .trust-line { grid-column: 1 / -1; }
      .trust-line .dot { color: var(--scarlet); }
      @media (min-width: 920px) {
        .hero { padding: 80px 0 88px; }
        .hero-grid { grid-template-columns: 1.05fr 0.95fr; align-items: center; gap: 40px 56px; }
        .video-shell { max-width: 440px; justify-self: end; }
      }

      /* Event types */
      .events { background: var(--surface); border-block: 1px solid var(--line); padding: 42px 0 46px; }
      .event-grid { display: grid; grid-template-columns: 1fr; }
      @media (min-width: 640px) { .event-grid { grid-template-columns: 1fr 1fr; column-gap: 40px; } }
      @media (min-width: 980px) { .event-grid { grid-template-columns: 1fr 1fr 1fr; } }
      .event-card { border-top: 1px solid var(--line); padding: 15px 0 19px; }
      .event-card .ev-num { display: block; font-family: "Poppins", sans-serif; font-weight: 700; font-size: 0.82rem; letter-spacing: 0.1em; color: var(--scarlet); margin-bottom: 7px; }
      .event-card h3 { font-size: 1.1rem; font-weight: 600; margin-bottom: 5px; }
      .event-card p { margin: 0; color: var(--ink-soft); font-size: 0.97rem; }
      .uses-line { margin: 24px 0 0; font-size: 1.03rem; border-top: 2px solid var(--ink); padding-top: 16px; max-width: 72ch; }
      .uses-line strong { color: var(--scarlet); }

      /* Setup */
      #setup { padding: 52px 0; }
      .setup-grid { display: grid; gap: 28px; }
      @media (min-width: 860px) { .setup-grid { grid-template-columns: 1.15fr 1fr; align-items: start; } }
      .setup-photos { display: grid; grid-template-columns: 1fr; }
      .setup-photos figure { margin: 0; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); }
      .setup-photos img { width: 100%; height: 100%; object-fit: cover; }
      .setup-photos .tall { aspect-ratio: 3 / 4; }
      .setup-item { padding: 18px 0; border-bottom: 1px solid var(--line); }
      .setup-item:last-child { border-bottom: 0; }
      .setup-item .count { font-family: "Poppins", sans-serif; font-size: 1.9rem; font-weight: 700; color: var(--scarlet); line-height: 1; }
      .setup-item h3 { font-size: 1.16rem; font-weight: 600; margin: 7px 0 6px; }
      .setup-item p { margin: 0; color: var(--ink-soft); }

      /* Pricing */
      .pricing { background: var(--charcoal); color: var(--on-charcoal); padding: 58px 0; }
      .pricing h2 { color: #fff; }
      .pricing .section-intro { color: var(--on-charcoal-soft); }
      .price-list { display: grid; gap: 14px; }
      @media (min-width: 860px) { .price-list { grid-template-columns: 1fr 1fr 1fr; } }
      .price-card { background: #2a2931; border: 1px solid #3c3b46; border-radius: var(--radius); padding: 22px; }
      .price-card.featured { background: var(--scarlet); border-color: var(--scarlet); }
      .price-card .tag { display: block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--on-charcoal-soft); margin-bottom: 12px; }
      .price-card.featured .tag { color: #fff; }
      .price-card h3 { font-size: 1.12rem; font-weight: 600; color: #fff; margin-bottom: 4px; }
      .price-card .amount { font-family: "Poppins", sans-serif; font-size: 2.4rem; font-weight: 700; color: #fff; line-height: 1.1; }
      .price-card .amount span { font-family: "Manrope", sans-serif; font-size: 1rem; font-weight: 600; color: var(--on-charcoal-soft); }
      .price-card.featured .amount span { color: rgba(255, 255, 255, 0.85); }
      .price-card p { color: var(--on-charcoal-soft); margin: 10px 0 0; font-size: 0.97rem; }
      .price-card.featured p { color: rgba(255, 255, 255, 0.88); }
      .pricing-notes { display: grid; gap: 14px; margin-top: 26px; }
      @media (min-width: 860px) { .pricing-notes { grid-template-columns: 1fr 1fr 1fr; } }
      .pricing-notes .note { border-top: 2px solid var(--scarlet); padding-top: 12px; }
      .pricing-notes .note.gold { border-top-color: var(--on-charcoal); }
      .pricing-notes h3 { font-size: 1rem; font-weight: 600; color: #fff; margin-bottom: 5px; }
      .pricing-notes p { margin: 0; color: var(--on-charcoal-soft); font-size: 0.95rem; }

      /* How it works */
      #how { padding: 42px 0 46px; }
      .steps { display: grid; gap: 24px; }
      @media (min-width: 860px) { .steps { grid-template-columns: 1fr 1fr 1fr; gap: 36px; } }
      .step { border-top: 1px solid var(--line); padding-top: 14px; }
      .step .step-num { font-family: "Poppins", sans-serif; font-weight: 700; font-size: 1.55rem; line-height: 1; color: var(--scarlet); margin-bottom: 10px; }
      .step h3 { font-size: 1.1rem; font-weight: 600; margin-bottom: 6px; }
      .step p { margin: 0; color: var(--ink-soft); }

      /* Booking form */
      .book { background: var(--surface); border-block: 1px solid var(--line); padding: 54px 0; }
      .book-grid { display: grid; gap: 30px; }
      @media (min-width: 860px) { .book-grid { grid-template-columns: 1fr 1.1fr; gap: 48px; } }
      form { display: grid; gap: 15px; }
      .field label { display: block; font-weight: 700; font-size: 0.92rem; margin-bottom: 6px; }
      .field input, .field select {
        width: 100%; padding: 12px 13px; font: inherit; font-size: 1rem;
        color: var(--ink); background: var(--bg);
        border: 1.5px solid var(--line); border-radius: var(--radius); appearance: none;
      }
      .field select {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23c8102e' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat; background-position: right 16px center;
      }
      .field input:focus, .field select:focus { outline: 2px solid var(--scarlet); outline-offset: 1px; border-color: var(--scarlet); }
      .form-note { margin: 4px 0 0; color: var(--ink-soft); font-size: 0.97rem; }
      .form-status { display: none; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; font-size: 0.97rem; }
      .form-status.show { display: block; }
      .dm-alt { margin-top: 6px; font-size: 0.97rem; color: var(--ink-soft); }
      .book-side p { color: var(--ink-soft); }
      .book-side .big { font-family: "Poppins", sans-serif; font-size: 1.22rem; font-weight: 600; color: var(--ink); line-height: 1.4; }

      /* FAQ */
      #faq { padding: 48px 0 58px; }
      .faq-list { display: grid; gap: 0; max-width: 780px; }
      details.faq { border-bottom: 1px solid var(--line); padding: 4px 0; }
      details.faq:first-child { border-top: 1px solid var(--line); }
      details.faq summary {
        cursor: pointer; font-family: "Poppins", sans-serif; font-weight: 600; font-size: 1.02rem; padding: 15px 34px 15px 0; list-style: none; position: relative;
      }
      details.faq summary::-webkit-details-marker { display: none; }
      details.faq summary::after {
        content: "+"; position: absolute; right: 4px; top: 12px;
        font-size: 1.5rem; font-weight: 400; color: var(--scarlet); line-height: 1;
      }
      details.faq[open] summary::after { content: "-"; }
      details.faq .answer { padding: 0 0 18px; color: var(--ink-soft); max-width: 62ch; }
      details.faq .answer p { margin: 0; }

      /* Footer */
      footer { background: var(--charcoal); color: var(--on-charcoal); padding: 40px 0 34px; }
      .footer-in { display: flex; flex-wrap: wrap; gap: 26px; align-items: flex-start; justify-content: space-between; }
      footer .brand { color: #fff; }
      footer .brand .wordmark small { color: var(--on-charcoal-soft); }
      .footer-links { display: grid; gap: 8px; font-size: 0.98rem; }
      .footer-links a { color: var(--on-charcoal); text-decoration: none; font-weight: 600; }
      .footer-links a:hover { color: #fff; text-decoration: underline; }
      .footer-links span { color: var(--on-charcoal-soft); }
      .footer-base { margin-top: 28px; padding-top: 18px; border-top: 1px solid #3c3b46; color: var(--on-charcoal-soft); font-size: 0.88rem; display: flex; flex-wrap: wrap; gap: 8px 22px; }
      @media (prefers-reduced-motion: reduce) {
        html { scroll-behavior: auto; }
        .btn, .play-btn .disc { transition: none; }
      }