      :root {
        --g: #1a8c3e;
        --gl: #22b050;
        --gd: #0f5c28;
        --bg: #f8faf8;
        --bg2: #ffffff;
        --bg3: #f0f5f1;
        --card: #ffffff;
        --border: #d4e8da;
        --text: #111c14;
        --muted: #5a7a64;
        --white: #fff;
        --hero-bg: #0f2419;
        --glight: #eaf7ee;
        --gborder: #bfe3c9;
      }
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        background: var(--bg);
        color: var(--text);
        font-family: "Instrument Sans", sans-serif;
        overflow-x: hidden;
      }
      ::-webkit-scrollbar {
        width: 4px;
      }
      ::-webkit-scrollbar-track {
        background: var(--bg);
      }
      ::-webkit-scrollbar-thumb {
        background: var(--g);
        border-radius: 2px;
      }
      .container {
        max-width: 760px;
        margin: 0 auto;
      }

      /* NAV */
      nav {
        position: sticky;
        top: 0;
        z-index: 100;
        background: rgba(255, 255, 255, 0.92);
        backdrop-filter: blur(10px);
        border-bottom: 1px solid var(--border);
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 20px;
      }
      .nav-logo {
        font-family: "Bricolage Grotesque", sans-serif;
        font-weight: 800;
        font-size: 20px;
        color: var(--text);
      }
      .nav-logo span {
        color: var(--g);
      }
      .nav-links {
        display: none;
        gap: 4px;
      }
      .nav-links a {
        font-size: 13px;
        color: var(--muted);
        text-decoration: none;
        padding: 6px 12px;
        border-radius: 100px;
        transition: all 0.2s;
        font-weight: 500;
      }
      .nav-links a:hover {
        color: var(--g);
        background: #f0f9f2;
      }
      .nav-cta {
        display: none;
        background: var(--g);
        color: #fff;
        border: none;
        padding: 10px 18px;
        border-radius: 100px;
        font-weight: 700;
        font-size: 13px;
        cursor: pointer;
      }
      .burger {
        display: flex;
        background: transparent;
        border: 1px solid var(--border);
        color: var(--text);
        width: 36px;
        height: 36px;
        border-radius: 8px;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        cursor: pointer;
      }
      .mobile-menu {
        display: none;
        position: fixed;
        top: 57px;
        left: 0;
        right: 0;
        z-index: 99;
        background: #fff;
        border-bottom: 1px solid var(--border);
        flex-direction: column;
        padding: 16px 24px;
        gap: 4px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
      }
      .mobile-menu.open {
        display: flex;
      }
      .mobile-menu a {
        font-size: 15px;
        color: var(--text);
        text-decoration: none;
        padding: 12px 0;
        border-bottom: 1px solid var(--border);
        font-weight: 500;
      }
      .mobile-menu a:last-child {
        border-bottom: none;
      }
      .mob-cta {
        background: var(--g) !important;
        color: #fff !important;
        text-align: center;
        border-radius: 100px;
        padding: 12px 0 !important;
        border: none !important;
        font-weight: 700 !important;
        margin-top: 8px;
      }
      @media (min-width: 768px) {
        .nav-links {
          display: flex;
        }
        .nav-cta {
          display: block;
        }
        .burger {
          display: none;
        }
      }

      /* HERO */
      .hero {
        position: relative;
        background: var(--hero-bg);
        padding: 40px 20px 44px;
        overflow: hidden;
      }
      .hero-grid {
        position: absolute;
        inset: 0;
        background-image:
          linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
          linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
        background-size: 32px 32px;
      }
      .hero-glow {
        position: absolute;
        top: -80px;
        right: -80px;
        width: 300px;
        height: 300px;
        background: radial-gradient(circle, rgba(34, 176, 80, 0.35), transparent 70%);
        filter: blur(10px);
      }
      .hero-tag {
        position: relative;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.15);
        color: #cdeed7;
        padding: 6px 14px;
        border-radius: 100px;
        font-size: 12px;
        font-weight: 600;
        margin-bottom: 20px;
      }
      .pulse {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #22b050;
        animation: pulseAnim 1.6s infinite;
      }
      @keyframes pulseAnim {
        0%,
        100% {
          box-shadow: 0 0 0 0 rgba(34, 176, 80, 0.6);
        }
        50% {
          box-shadow: 0 0 0 6px rgba(34, 176, 80, 0);
        }
      }
      .hero h1 {
        position: relative;
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: clamp(34px, 9vw, 56px);
        font-weight: 800;
        color: #fff;
        letter-spacing: -1.5px;
        line-height: 1.02;
        margin-bottom: 18px;
      }
      .hero h1 .accent {
        color: #4ade80;
      }
      .hero h1 .ghost {
        color: rgba(255, 255, 255, 0.35);
      }
      .hero-sub {
        position: relative;
        color: rgba(255, 255, 255, 0.72);
        font-size: 16px;
        line-height: 1.6;
        max-width: 480px;
        margin-bottom: 24px;
      }
      .hero-btns {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-bottom: 32px;
      }
      .btn-g {
        background: #f5a700;
        color: #1a1a1a;
        border: none;
        padding: 16px 28px;
        border-radius: 100px;
        font-family: "Bricolage Grotesque", sans-serif;
        font-weight: 800;
        font-size: 15px;
        cursor: pointer;
        box-shadow: 0 6px 24px rgba(245, 167, 0, 0.35);
      }
      .btn-outline {
        background: transparent;
        color: #fff;
        border: 1.5px solid rgba(255, 255, 255, 0.3);
        padding: 16px 28px;
        border-radius: 100px;
        font-family: "Bricolage Grotesque", sans-serif;
        font-weight: 700;
        font-size: 15px;
        cursor: pointer;
      }
      .hero-stats {
        position: relative;
        display: flex;
        gap: 28px;
      }
      .hstat-n {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 26px;
        font-weight: 800;
        color: #fff;
      }
      .hstat-l {
        font-size: 12px;
        color: rgba(255, 255, 255, 0.55);
        margin-top: 2px;
      }

      /* SECTION BASE */
      section {
        padding: 64px 20px;
      }
      .slabel {
        display: block;
        text-align: center;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--g);
        margin-bottom: 12px;
      }
      .stitle {
        text-align: center;
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: clamp(26px, 6.5vw, 42px);
        font-weight: 800;
        letter-spacing: -1.3px;
        line-height: 1.08;
        margin-bottom: 36px;
        color: var(--text);
      }

      /* PORTFOLIO */
      .portfolio {
        background: var(--bg2);
        text-align: center;
      }
      .portfolio-sub {
        font-size: 14px;
        color: var(--muted);
        line-height: 1.6;
        max-width: 420px;
        margin: -18px auto 32px;
      }
      .portfolio-wrap {
        position: relative;
        max-width: 260px;
        margin: 0 auto;
      }
      .port-slide {
        width: 100%;
      }
      .port-video {
        width: 100%;
        aspect-ratio: 9 / 16;
        object-fit: cover;
        border-radius: 20px;
        display: block;
        background: #000;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
      }
      .port-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 34px;
        height: 34px;
        border-radius: 50%;
        background: #fff;
        border: 1.5px solid var(--border);
        cursor: pointer;
        font-size: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 5;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        color: var(--text);
      }
      .port-arrow-left {
        left: -14px;
      }
      .port-arrow-right {
        right: -14px;
      }
      .port-dots {
        display: flex;
        justify-content: center;
        gap: 6px;
        margin-top: 14px;
        align-items: center;
      }
      .port-dot {
        background: rgba(26, 140, 62, 0.25);
        width: 8px;
        height: 8px;
        border-radius: 4px;
        cursor: pointer;
        transition: all 0.25s;
        flex-shrink: 0;
      }
      .port-dot.active {
        background: var(--g);
        width: 20px;
      }
      .port-insta-wrap {
        max-width: 340px;
        margin: 30px auto 0;
      }
      .port-insta-img {
        width: 100%;
        border-radius: 16px;
        display: block;
        border: 1px solid var(--border);
      }
      .port-insta-caption {
        font-size: 12px;
        color: var(--muted);
        margin-top: 8px;
      }

      /* PAIN */
      .pain {
        background: var(--bg2);
      }
      .pain-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        max-width: 560px;
        margin: 0 auto;
      }
      .pain-card {
        background: var(--bg);
        border: 1px solid var(--border);
        border-radius: 16px;
        padding: 18px 14px;
        text-align: center;
      }
      .pain-icon {
        font-size: 26px;
        margin-bottom: 8px;
      }
      .pain-card p {
        font-size: 13.5px;
        color: var(--text);
        line-height: 1.4;
        font-weight: 500;
      }
      .pain-cta {
        text-align: center;
        margin-top: 28px;
        font-family: "Bricolage Grotesque", sans-serif;
        font-weight: 700;
        font-size: 15px;
        color: var(--g);
      }

      /* TRANSFORM */
      .transform {
        background: var(--bg);
      }
      .ba {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        max-width: 560px;
        margin: 0 auto;
      }
      @media (min-width: 640px) {
        .ba {
          grid-template-columns: 1fr 1fr;
        }
      }
      .ba-col {
        border-radius: 20px;
        padding: 22px;
      }
      .ba-before {
        background: #fff5f5;
        border: 1.5px solid #fbd5d5;
      }
      .ba-after {
        background: var(--glight);
        border: 1.5px solid var(--gborder);
      }
      .ba-hd {
        font-family: "Bricolage Grotesque", sans-serif;
        font-weight: 800;
        font-size: 15px;
        margin-bottom: 14px;
      }
      .ba-before .ba-hd {
        color: #dc2626;
      }
      .ba-after .ba-hd {
        color: var(--g);
      }
      .ba-row {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        font-size: 13.5px;
        line-height: 1.5;
        margin-bottom: 10px;
        color: var(--text);
      }
      .ba-ico {
        flex-shrink: 0;
        font-weight: 800;
      }
      .ba-before .ba-ico {
        color: #dc2626;
      }
      .ba-after .ba-ico {
        color: var(--g);
      }

      /* PROGRAM */
      .program {
        background: var(--bg2);
      }
      .days {
        max-width: 560px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      .drow {
        display: flex;
        align-items: center;
        gap: 16px;
        background: var(--bg);
        border: 1px solid var(--border);
        border-radius: 16px;
        padding: 16px 18px;
      }
      .drow.d8 {
        background: var(--glight);
        border-color: var(--gborder);
      }
      .dn {
        font-family: "Bricolage Grotesque", sans-serif;
        font-weight: 800;
        font-size: 20px;
        color: var(--g);
        opacity: 0.5;
        flex-shrink: 0;
        width: 34px;
      }
      .drow h4 {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 15px;
        font-weight: 700;
        margin-bottom: 2px;
      }
      .drow p {
        font-size: 13px;
        color: var(--muted);
      }

      /* SCHEDULE */
      .schedule {
        background: var(--bg);
      }
      .schedule-list {
        max-width: 520px;
        margin: 0 auto;
        position: relative;
        padding-left: 24px;
      }
      .schedule-list::before {
        content: "";
        position: absolute;
        left: 5px;
        top: 6px;
        bottom: 6px;
        width: 2px;
        background: var(--border);
      }
      .sch-item {
        position: relative;
        display: flex;
        gap: 16px;
        margin-bottom: 22px;
      }
      .sch-dot {
        position: absolute;
        left: -24px;
        top: 4px;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: var(--g);
        border: 3px solid var(--bg);
      }
      .sch-time {
        flex-shrink: 0;
        width: 92px;
        font-size: 12.5px;
        font-weight: 700;
        color: var(--g);
        font-family: "Bricolage Grotesque", sans-serif;
      }
      .sch-content strong {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 14.5px;
        display: block;
        margin-bottom: 2px;
      }
      .sch-content p {
        font-size: 13px;
        color: var(--muted);
      }

      /* ENGAGEMENT */
      .engage {
        background: var(--bg2);
      }
      .eng-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        max-width: 560px;
        margin: 0 auto;
      }
      @media (min-width: 640px) {
        .eng-grid {
          grid-template-columns: 1fr 1fr;
        }
      }
      .eng-card {
        display: flex;
        gap: 14px;
        background: var(--bg);
        border: 1px solid var(--border);
        border-radius: 18px;
        padding: 18px;
      }
      .eng-icon {
        font-size: 26px;
        flex-shrink: 0;
      }
      .eng-card h3 {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 14.5px;
        font-weight: 700;
        margin-bottom: 6px;
      }
      .eng-card p {
        font-size: 13px;
        color: var(--muted);
        line-height: 1.5;
      }

      /* PRICING */
      .pricing {
        background: var(--bg);
      }
      .price-card {
        max-width: 420px;
        margin: 0 auto;
        background: var(--hero-bg);
        border-radius: 24px;
        padding: 32px 26px;
        text-align: center;
      }
      .price-label {
        color: rgba(255, 255, 255, 0.6);
        font-size: 13px;
        font-weight: 600;
        margin-bottom: 8px;
      }
      .price-amount {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 52px;
        font-weight: 800;
        color: #fff;
        letter-spacing: -1.5px;
      }
      .price-unit {
        color: rgba(255, 255, 255, 0.55);
        font-size: 13px;
        margin-bottom: 22px;
      }
      .price-list {
        text-align: left;
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-bottom: 26px;
      }
      .pi {
        position: relative;
        padding-left: 22px;
        font-size: 13.5px;
        color: rgba(255, 255, 255, 0.85);
        line-height: 1.5;
      }
      .pi::before {
        content: "✓";
        position: absolute;
        left: 0;
        color: #4ade80;
        font-weight: 800;
      }
      .btn-price {
        width: 100%;
        background: #f5a700;
        color: #1a1a1a;
        border: none;
        padding: 16px;
        border-radius: 100px;
        font-family: "Bricolage Grotesque", sans-serif;
        font-weight: 800;
        font-size: 15px;
        cursor: pointer;
      }

      /* DATES */
      .dates {
        background: var(--bg2);
      }
      .dates-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        max-width: 420px;
        margin: 0 auto;
      }
      .date-card {
        background: var(--bg);
        border: 1.5px solid var(--border);
        border-radius: 18px;
        padding: 22px;
        text-align: center;
      }
      .date-num {
        font-size: 12px;
        font-weight: 700;
        color: var(--muted);
        letter-spacing: 1px;
        text-transform: uppercase;
      }
      .date-card h3 {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 24px;
        font-weight: 800;
        margin: 6px 0 4px;
      }
      .date-meta {
        font-size: 13px;
        color: var(--muted);
        margin-bottom: 12px;
      }
      .date-badge {
        display: inline-block;
        background: var(--glight);
        color: var(--g);
        border: 1px solid var(--gborder);
        padding: 5px 14px;
        border-radius: 100px;
        font-size: 12px;
        font-weight: 700;
      }

      /* TEAM */
      .team {
        background: var(--bg);
      }
      .team-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        max-width: 560px;
        margin: 0 auto;
      }
      @media (min-width: 640px) {
        .team-grid {
          grid-template-columns: repeat(3, 1fr);
          max-width: 700px;
        }
      }
      .team-card {
        background: var(--card);
        border: 1px solid var(--border);
        border-radius: 18px;
        padding: 20px;
        text-align: center;
      }
      .team-avatar {
        width: 72px;
        height: 72px;
        border-radius: 50%;
        object-fit: cover;
        margin: 0 auto 14px;
        display: block;
        border: 2px solid var(--gborder);
      }
      .team-role {
        font-size: 11.5px;
        font-weight: 700;
        color: var(--g);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 6px;
      }
      .team-card h3 {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 16px;
        margin-bottom: 8px;
      }
      .team-card p {
        font-size: 13px;
        color: var(--muted);
        line-height: 1.5;
      }
      .team-link {
        display: inline-block;
        margin-top: 10px;
        font-size: 12.5px;
        font-weight: 700;
        color: var(--g);
        text-decoration: none;
        border: 1px solid var(--gborder);
        background: var(--glight);
        padding: 6px 14px;
        border-radius: 100px;
      }

      /* PLACE */
      .place {
        background: var(--bg2);
      }
      .pf-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        max-width: 480px;
        margin: 0 auto 24px;
      }
      .pf {
        background: var(--bg);
        border: 1px solid var(--border);
        border-radius: 14px;
        padding: 14px;
        text-align: center;
      }
      .pf-icon {
        font-size: 22px;
        margin-bottom: 6px;
      }
      .pf h4 {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 13px;
        margin-bottom: 2px;
      }
      .pf p {
        font-size: 11.5px;
        color: var(--muted);
      }
      .place-photo {
        max-width: 480px;
        margin: 0 auto;
      }
      .address {
        max-width: 480px;
        margin: 0 auto;
        display: flex;
        gap: 12px;
        align-items: flex-start;
        background: var(--bg);
        border: 1px solid var(--border);
        border-radius: 16px;
        padding: 16px;
      }
      .address h4 {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 14.5px;
        margin-bottom: 3px;
      }
      .address p {
        font-size: 12.5px;
        color: var(--muted);
      }

      /* SAFETY */
      .safety {
        background: var(--bg);
      }
      .safety-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        max-width: 480px;
        margin: 0 auto;
      }
      @media (min-width: 640px) {
        .safety-grid {
          grid-template-columns: 1fr 1fr;
        }
      }
      .safety-col h3 {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 15px;
        margin-bottom: 12px;
      }
      .sitem {
        font-size: 13px;
        color: var(--text);
        padding: 10px 0;
        border-bottom: 1px solid var(--border);
      }
      .sitem:last-child {
        border-bottom: none;
      }

      /* FORM */
      .form-section {
        background: var(--bg2);
      }
      .form-card {
        max-width: 420px;
        margin: 0 auto;
        background: var(--hero-bg);
        border-radius: 24px;
        padding: 32px 26px;
        text-align: center;
      }
      .form-card h2 {
        font-family: "Bricolage Grotesque", sans-serif;
        font-size: 24px;
        font-weight: 800;
        color: #fff;
        line-height: 1.15;
        margin-bottom: 10px;
      }
      .form-card h2 span {
        color: #4ade80;
      }
      .form-card .sub {
        color: rgba(255, 255, 255, 0.6);
        font-size: 13px;
        margin-bottom: 24px;
      }
      .f-group {
        text-align: left;
        margin-bottom: 14px;
      }
      .f-label {
        display: block;
        font-size: 12px;
        color: rgba(255, 255, 255, 0.55);
        margin-bottom: 6px;
        font-weight: 600;
      }
      .f-input {
        width: 100%;
        background: rgba(255, 255, 255, 0.06);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 12px;
        padding: 13px 14px;
        color: #fff;
        font-size: 14px;
        font-family: "Instrument Sans", sans-serif;
      }
      .f-input::placeholder {
        color: rgba(255, 255, 255, 0.3);
      }
      .btn-submit {
        width: 100%;
        background: #f5a700;
        color: #1a1a1a;
        border: none;
        padding: 16px;
        border-radius: 100px;
        font-family: "Bricolage Grotesque", sans-serif;
        font-weight: 800;
        font-size: 15px;
        cursor: pointer;
        margin-top: 6px;
      }
      .success-msg {
        display: none;
        margin-top: 14px;
        background: rgba(74, 222, 128, 0.15);
        border: 1px solid rgba(74, 222, 128, 0.35);
        color: #4ade80;
        padding: 12px;
        border-radius: 12px;
        font-size: 13px;
      }
      .contacts-row {
        margin-top: 22px;
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .contact-link {
        color: rgba(255, 255, 255, 0.75);
        text-decoration: none;
        font-size: 13px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
      }

      /* FOOTER */
      footer {
        text-align: center;
        padding: 32px 20px;
        background: var(--hero-bg);
      }
      .f-logo {
        font-family: "Bricolage Grotesque", sans-serif;
        font-weight: 800;
        font-size: 18px;
        color: #fff;
        margin-bottom: 6px;
      }
      .f-logo span {
        color: #4ade80;
      }
      footer p {
        color: rgba(255, 255, 255, 0.4);
        font-size: 12px;
      }

      /* REVEAL */
      .reveal {
        opacity: 0;
        transform: translateY(24px);
        transition: all 0.55s ease;
      }
      .reveal.visible {
        opacity: 1;
        transform: translateY(0);
      }


    /* Extra keyframe animations (were inline in body) */
        @keyframes playPulse {
          0% {
            box-shadow: 0 0 0 0 rgba(245, 167, 0, 0.5);
          }
          70% {
            box-shadow: 0 0 0 16px rgba(245, 167, 0, 0);
          }
          100% {
            box-shadow: 0 0 0 0 rgba(245, 167, 0, 0);
          }
        }
            @keyframes pulse-btn {
              0%, 100% { box-shadow: 0 0 0 0 rgba(245,167,0,.5), 0 6px 24px rgba(245,167,0,.35); transform: scale(1); }
              50% { box-shadow: 0 0 0 10px rgba(245,167,0,0), 0 6px 24px rgba(245,167,0,.35); transform: scale(1.03); }
            }

    /* ===== Classes converted from inline styles, grouped by page section ===== */

    /* --- photo-carousel --- */
    .photo-carousel-1 {
      background: #fff;
       padding: 48px 20px 0
    }
    .photo-carousel-2 {
      text-align: center;
       margin-bottom: 16px
    }
    .photo-carousel-3 {
      position: relative;
       max-width: 460px;
       margin: 0 auto
    }
    .photo-carousel-4 {
      display: block
    }
    .photo-carousel-5 {
      width: 100%;
       height: 340px;
       object-fit: cover;
       border-radius: 20px;
       display: block;
    }
    .photo-carousel-6 {
      display: none
    }
    .photo-carousel-7 {
      position: absolute;
       left: -12px;
       top: 50%;
       transform: translateY(-50%);
       width: 34px;
       height: 34px;
       border-radius: 50%;
       background: #fff;
       border: 1.5px solid var(--border);
       cursor: pointer;
       font-size: 16px;
       display: flex;
       align-items: center;
       justify-content: center;
       z-index: 5;
       box-shadow: 0 2px 8px rgba(0,0,0,0.1);
       color: var(--text);
    }
    .photo-carousel-8 {
      position: absolute;
       right: -12px;
       top: 50%;
       transform: translateY(-50%);
       width: 34px;
       height: 34px;
       border-radius: 50%;
       background: #fff;
       border: 1.5px solid var(--border);
       cursor: pointer;
       font-size: 16px;
       display: flex;
       align-items: center;
       justify-content: center;
       z-index: 5;
       box-shadow: 0 2px 8px rgba(0,0,0,0.1);
       color: var(--text);
    }
    .photo-carousel-9 {
      display: flex;
       justify-content: center;
       gap: 6px;
       margin-top: 14px;
       align-items: center;
    }
    .photo-carousel-10 {
      background: var(--g);
       width: 24px;
       height: 8px;
       border-radius: 4px;
       cursor: pointer;
       transition: all .25s;
       flex-shrink: 0;
    }
    .photo-carousel-11 {
      background: rgba(26,140,62,.2);
       width: 8px;
       height: 8px;
       border-radius: 4px;
       cursor: pointer;
       transition: all .25s;
       flex-shrink: 0;
    }

    /* --- utp --- */
    .utp-1 {
      background: #fff;
       padding: 64px 20px
    }
    .utp-2 {
      text-align: center;
       margin-bottom: 36px
    }
    .utp-3 {
      color: var(--g)
    }
    .utp-4 {
      display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 14px;
       margin-bottom: 16px;
    }
    .utp-5 {
      background: var(--bg);
       border: 1.5px solid var(--border);
       border-radius: 20px;
       padding: 22px;
    }
    .utp-6 {
      font-size: 30px;
       margin-bottom: 12px;
    }
    .utp-7 {
      font-family: 'Bricolage Grotesque', sans-serif;
       font-size: 15px;
       font-weight: 700;
       color: var(--text);
       margin-bottom: 8px;
    }
    .utp-8 {
      font-size: 12.5px;
       color: var(--muted);
       line-height: 1.6;
    }
    .utp-9 {
      background: var(--glight);
       border: 1.5px solid var(--gborder);
       border-radius: 20px;
       padding: 26px;
       text-align: center;
    }
    .utp-10 {
      font-size: 26px;
       margin-bottom: 12px;
    }
    .utp-11 {
      font-family: 'Bricolage Grotesque', sans-serif;
       font-size: 17px;
       font-weight: 800;
       color: var(--text);
       margin-bottom: 8px;
    }
    .utp-12 {
      font-size: 13.5px;
       color: var(--muted);
       line-height: 1.6;
       max-width: 460px;
       margin: 0 auto 20px;
    }
    .utp-13 {
      font-size: 11.5px;
       color: var(--muted);
       margin-bottom: 10px;
       font-weight: 600;
       letter-spacing: .5px;
       text-transform: uppercase;
    }
    .utp-14 {
      display: inline-flex;
       align-items: center;
       gap: 12px;
       background: #f5a700;
       color: #1a1a1a;
       padding: 16px 30px;
       border-radius: 100px;
       font-family: 'Bricolage Grotesque', sans-serif;
       font-size: 15.5px;
       font-weight: 900;
       text-decoration: none;
       animation: pulse-btn 2s infinite;
       letter-spacing: -.3px;
    }
    .utp-15 {
      font-size: 19px
    }
    .utp-16 {
      font-size: 15px
    }
    .utp-17 {
      font-size: 11.5px;
       color: var(--muted);
       margin-top: 10px;
    }

    /* --- program --- */
    .program-1 {
      text-align: center;
       font-size: 13.5px;
       color: var(--muted);
       max-width: 460px;
       margin: -18px auto 32px;
       line-height: 1.6;
    }
    .program-2 {
      color: var(--g);
       font-weight: 600;
       margin-top: 4px;
    }

    /* --- pricing --- */
    .pricing-1 {
      margin-top: 16px;
       text-align: center;
       font-size: 12.5px;
       color: var(--muted);
    }

    /* --- dates --- */
    .dates-1 {
      margin-top: 18px;
       text-align: center;
       font-size: 13px;
       color: var(--muted);
    }

    /* --- reviews --- */
    .reviews-1 {
      background: var(--bg);
       padding: 60px 20px
    }
    .reviews-2 {
      text-align: center;
       margin-bottom: 26px
    }
    .reviews-3 {
      color: var(--g)
    }
    .reviews-4 {
      font-size: 13px;
       color: var(--muted);
       max-width: 380px;
       margin: 0 auto;
    }
    .reviews-5 {
      position: relative;
       max-width: 360px;
       margin: 0 auto
    }
    .reviews-6 {
      position: relative;
       touch-action: pan-y
    }
    .reviews-7 {
      display: block
    }
    .reviews-8 {
      width: 100%;
       border-radius: 16px;
       display: block;
       max-height: 70vh;
       object-fit: contain;
    }
    .reviews-9 {
      display: none
    }
    .reviews-10 {
      position: absolute;
       left: -14px;
       top: 50%;
       transform: translateY(-50%);
       width: 34px;
       height: 34px;
       border-radius: 50%;
       background: #fff;
       border: none;
       cursor: pointer;
       font-size: 16px;
       box-shadow: 0 2px 12px rgba(0,0,0,.15);
       display: flex;
       align-items: center;
       justify-content: center;
       z-index: 5;
       color: var(--text);
    }
    .reviews-11 {
      position: absolute;
       right: -14px;
       top: 50%;
       transform: translateY(-50%);
       width: 34px;
       height: 34px;
       border-radius: 50%;
       background: #fff;
       border: none;
       cursor: pointer;
       font-size: 16px;
       box-shadow: 0 2px 12px rgba(0,0,0,.15);
       display: flex;
       align-items: center;
       justify-content: center;
       z-index: 5;
       color: var(--text);
    }
    .reviews-12 {
      text-align: center;
       margin-top: 14px;
       font-size: 13px;
       color: var(--muted);
       font-weight: 600;
    }
    .reviews-13 {
      display: flex;
       justify-content: center;
       gap: 6px;
       margin-top: 12px;
       align-items: center;
    }
    .reviews-14 {
      background: var(--g);
       width: 20px;
       height: 8px;
       border-radius: 4px;
       cursor: pointer;
       transition: all .25s;
       flex-shrink: 0;
    }
    .reviews-15 {
      background: rgba(26,140,62,.25);
       width: 8px;
       height: 8px;
       border-radius: 4px;
       cursor: pointer;
       transition: all .25s;
       flex-shrink: 0;
    }

    /* --- kids-reviews --- */
    .kids-reviews-1 {
      background: var(--card);
       padding: 52px 20px;
       text-align: center
    }
    .kids-reviews-2 {
      color: var(--g)
    }
    .kids-reviews-3 {
      font-size: 13px;
       color: var(--muted);
       margin-bottom: 24px;
       max-width: 380px;
       margin-left: auto;
       margin-right: auto;
    }
    .kids-reviews-4 {
      display: inline-flex;
       align-items: center;
       gap: 10px;
       background: #ff0000;
       color: #fff;
       padding: 15px 28px;
       border-radius: 100px;
       font-family: 'Bricolage Grotesque', sans-serif;
       font-size: 15px;
       font-weight: 800;
       text-decoration: none;
       box-shadow: 0 4px 20px rgba(255,0,0,.3);
    }
    .kids-reviews-5 {
      font-size: 18px
    }

    /* --- place --- */
    .place-1 {
      width: 100%;
       border-radius: 18px;
       display: block;
       margin-bottom: 12px;
    }
    .place-2 {
      font-size: 26px
    }
    .place-3 {
      display: inline-block;
       margin-top: 8px;
       font-size: 12px;
       color: var(--g);
       font-weight: 600;
       text-decoration: none;
       border: 1px solid var(--border);
       padding: 5px 12px;
       border-radius: 100px;
       transition: all .2s;
    }

    /* --- safety --- */
    .safety-1 {
      max-width: 340px;
       grid-template-columns: 1fr;
    }
    /* --- pass 2 (multi-line inline styles) --- */

    /* --- hero --- */
    .hero-1 {
      width: 100%;
       border-radius: 20px;
       overflow: hidden;
       margin-bottom: 20px;
       position: relative;
       box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
       background: #000;
    }
    .hero-2 {
      width: 100%;
       height: 260px;
       object-fit: cover;
       object-position: center 20%;
       display: block;
       background: #000;
    }
    .hero-3 {
      position: absolute;
       inset: 0;
       background: rgba(0, 0, 0, 0.25);
       display: flex;
       flex-direction: column;
       align-items: center;
       justify-content: center;
       gap: 12px;
       cursor: pointer;
    }
    .hero-4 {
      width: 72px;
       height: 72px;
       border-radius: 50%;
       background: #f5a700;
       display: flex;
       align-items: center;
       justify-content: center;
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
       animation: playPulse 2s infinite;
    }
    .hero-5 {
      width: 0;
       height: 0;
       border-style: solid;
       border-width: 14px 0 14px 22px;
       border-color: transparent transparent transparent #1a1a1a;
       margin-left: 5px;
    }
    .hero-6 {
      background: rgba(0, 0, 0, 0.55);
       color: #fff;
       padding: 6px 16px;
       border-radius: 100px;
       font-size: 12px;
       font-weight: 700;
       letter-spacing: 0.3px;
       text-align: center;
    }
    .hero-7 {
      position: relative;
       font-size: 12px;
       color: rgba(255, 255, 255, 0.45);
       margin-top: -10px;
       margin-bottom: 24px;
    }

    /* --- photo-carousel --- */
    .photo-carousel-12 {
      display: inline-block;
       background: var(--glight);
       border: 1px solid var(--gborder);
       color: var(--g);
       padding: 5px 14px;
       border-radius: 100px;
       font-size: 11.5px;
       font-weight: 700;
    }

    /* --- utp --- */
    .utp-18 {
      display: inline-block;
       background: var(--glight);
       border: 1px solid var(--gborder);
       color: var(--g);
       padding: 6px 16px;
       border-radius: 100px;
       font-size: 12px;
       font-weight: 700;
       letter-spacing: 2px;
       text-transform: uppercase;
       margin-bottom: 16px;
    }
    .utp-19 {
      font-family: 'Bricolage Grotesque', sans-serif;
       font-size: clamp(24px, 6vw, 40px);
       font-weight: 800;
       color: var(--text);
       letter-spacing: -1.3px;
       line-height: 1.08;
       margin-bottom: 16px;
    }
    .utp-20 {
      font-size: 15px;
       color: var(--muted);
       line-height: 1.7;
       max-width: 480px;
       margin: 0 auto;
    }

    /* --- reviews --- */
    .reviews-16 {
      display: inline-block;
       background: var(--glight);
       border: 1px solid var(--gborder);
       color: var(--g);
       padding: 6px 16px;
       border-radius: 100px;
       font-size: 12px;
       font-weight: 700;
       letter-spacing: 2px;
       text-transform: uppercase;
       margin-bottom: 14px;
    }
    .reviews-17 {
      font-family: 'Bricolage Grotesque', sans-serif;
       font-size: clamp(20px, 5vw, 34px);
       font-weight: 800;
       color: var(--text);
       letter-spacing: -1px;
       line-height: 1.05;
       margin-bottom: 8px;
    }

    /* --- kids-reviews --- */
    .kids-reviews-6 {
      display: inline-block;
       background: var(--glight);
       border: 1px solid var(--gborder);
       color: var(--g);
       padding: 6px 16px;
       border-radius: 100px;
       font-size: 12px;
       font-weight: 700;
       letter-spacing: 2px;
       text-transform: uppercase;
       margin-bottom: 18px;
    }
    .kids-reviews-7 {
      font-family: 'Bricolage Grotesque', sans-serif;
       font-size: clamp(20px, 5vw, 32px);
       font-weight: 800;
       color: var(--text);
       letter-spacing: -1px;
       line-height: 1.1;
       margin-bottom: 10px;
    }