* {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      img {
        max-width: 100%;
        height: auto;
        display: block;
      }

      :root {
        --noir: #080808;
        --noir2: #111111;
        --noir3: #1a1a1a;
        --or: #c9a84c;
        --or2: #e2c97e;
        --or3: #f5edd6;
        --creme: #f8f4ee;
        --gris: #888888;
        --blanc: #ffffff;
        --banner-height: 42px;
        --nav-offset: 156px;
        /* Overridable from template (Site settings) */
        --arcane-hero-bg: url("https://www.ruby-services.com/fr/images/conciergerie-de-luxe_pd5750w2440h1500rcrop_ff7.jpg");
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        background: var(--noir);
        color: var(--creme);
        font-family: "Montserrat", sans-serif;
        font-weight: 300;
        overflow-x: hidden;
        cursor: none;
        max-width: 100vw;
        padding-top: calc(var(--banner-height) + var(--nav-offset));
      }

      html[lang="ar"] body {
        font-family: "Noto Sans Arabic", "Montserrat", sans-serif;
      }
      html[lang="ar"] h1,
      html[lang="ar"] h2,
      html[lang="ar"] h3,
      html[lang="ar"] .section-title,
      html[lang="ar"] .fondateur-name {
        font-family: "Noto Sans Arabic", "Cormorant Garamond", serif;
      }

      html[dir="rtl"] input[type="email"],
      html[dir="rtl"] .contact-detail-item .value {
        direction: ltr;
        text-align: start;
      }

      /* Custom cursor */
      .cursor {
        width: 8px;
        height: 8px;
        background: var(--or);
        border-radius: 50%;
        position: fixed;
        top: 0;
        left: 0;
        pointer-events: none;
        z-index: 9999;
        transition: transform 0.1s ease;
        mix-blend-mode: normal;
      }
      .cursor-ring {
        width: 36px;
        height: 36px;
        border: 1px solid rgba(201, 168, 76, 0.4);
        border-radius: 50%;
        position: fixed;
        top: 0;
        left: 0;
        pointer-events: none;
        z-index: 9998;
        transition: all 0.15s ease;
      }

      /* NAV — positionnée sous le bandeau */
      nav {
        position: fixed;
        top: var(--banner-height);
        left: 0;
        right: 0;
        z-index: 300;
        padding-block: 0;
        padding-inline: 28px 80px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        overflow: visible;
        background: linear-gradient(
          to bottom,
          rgba(8, 8, 8, 0.97) 0%,
          rgba(8, 8, 8, 0.9) 50%,
          transparent 100%
        );
      }

      .nav-logo {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        align-self: center;
        text-decoration: none;
        line-height: 0;
        flex-shrink: 0;
        transform: translateY(-4px);
      }

      .nav-logo img {
        height: 180px;
        width: auto;
        max-width: min(820px, 84vw);
        object-fit: contain;
        object-position: left center;
        filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.65));
      }

      .nav-links {
        display: flex;
        gap: 48px;
        list-style: none;
      }

      .nav-links a {
        color: var(--gris);
        text-decoration: none;
        font-size: 10px;
        letter-spacing: 4px;
        text-transform: uppercase;
        transition: color 0.3s;
      }
      .nav-links a:hover {
        color: var(--or);
      }

      .nav-cta {
        font-size: 10px;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--noir);
        background: var(--blanc);
        padding: 12px 28px;
        text-decoration: none;
        font-weight: 500;
        transition:
          background 0.3s,
          color 0.3s;
      }
      .nav-cta:hover {
        background: #e8e8e8;
      }

      /* HERO */
      .hero {
        height: 100vh;
        min-height: 700px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding: 0 80px;
        position: relative;
        overflow: hidden;
      }

      .hero-bg {
        position: absolute;
        inset: 0;
        background:
          radial-gradient(
            ellipse 60% 60% at 80% 50%,
            rgba(201, 168, 76, 0.04) 0%,
            transparent 70%
          ),
          radial-gradient(
            ellipse 40% 40% at 20% 80%,
            rgba(201, 168, 76, 0.03) 0%,
            transparent 60%
          ),
          linear-gradient(rgba(8, 8, 8, 0.55), rgba(8, 8, 8, 0.99)),
          var(--arcane-hero-bg) center/cover no-repeat;
        z-index: 0;
      }

      /* Decorative lines */
      .hero::before {
        content: "";
        position: absolute;
        top: 0;
        right: 200px;
        width: 1px;
        height: 100%;
        background: linear-gradient(
          to bottom,
          transparent,
          rgba(201, 168, 76, 0.15),
          transparent
        );
        z-index: 0;
      }

      .hero-eyebrow {
        font-size: 10px;
        letter-spacing: 6px;
        text-transform: uppercase;
        color: var(--or);
        margin-bottom: 32px;
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
        gap: 20px;
        opacity: 0;
        animation: fadeUp 1s ease 0.2s both;
      }

      .hero-eyebrow::before {
        content: "";
        display: block;
        width: 48px;
        height: 1px;
        background: var(--or);
      }

      .hero h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(60px, 8vw, 120px);
        font-weight: 300;
        line-height: 0.95;
        letter-spacing: -2px;
        position: relative;
        z-index: 1;
        opacity: 0;
        animation: fadeUp 1.2s ease 0.4s both;
      }

      .hero h1 em {
        font-style: italic;
        color: var(--or);
      }

      .hero h1 .outline {
        font-style: italic;
        color: var(--or);
        -webkit-text-fill-color: var(--or);
      }

      .hero-tagline {
        margin-top: 28px;
        max-width: min(640px, 92vw);
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(17px, 2.1vw, 26px);
        font-weight: 400;
        font-style: italic;
        line-height: 1.35;
        color: #e8c96a;
        -webkit-text-fill-color: #e8c96a;
        letter-spacing: 0.02em;
        position: relative;
        z-index: 1;
        opacity: 0;
        animation: fadeUp 1s ease 0.55s both;
      }

      .hero-tagline .hero-tagline-fill {
        color: #e8c96a;
        -webkit-text-fill-color: #e8c96a;
        font-style: italic;
        font-weight: 500;
      }

      .hero-tagline .hero-tagline-br {
        display: none;
      }

      .hero-sub {
        margin-top: 40px;
        max-width: 480px;
        font-size: 13px;
        color: var(--gris);
        line-height: 2;
        letter-spacing: 0.5px;
        position: relative;
        z-index: 1;
        opacity: 0;
        animation: fadeUp 1s ease 0.7s both;
      }

      .hero-actions {
        margin-top: 56px;
        display: flex;
        gap: 32px;
        align-items: center;
        position: relative;
        z-index: 1;
        opacity: 0;
        animation: fadeUp 1s ease 0.9s both;
      }

      .btn-primary {
        display: inline-block;
        background: var(--blanc);
        color: var(--noir);
        text-decoration: none;
        font-size: 10px;
        letter-spacing: 4px;
        text-transform: uppercase;
        font-weight: 600;
        padding: 18px 48px;
        transition: all 0.3s;
        position: relative;
        overflow: hidden;
      }

      .btn-primary::before {
        content: "";
        position: absolute;
        inset: 0;
        background: #e0e0e0;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
      }

      .btn-primary:hover::before {
        transform: translateX(0);
      }
      .btn-primary span {
        position: relative;
        z-index: 1;
      }

      .btn-ghost {
        font-size: 10px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--gris);
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 12px;
        transition: color 0.3s;
      }
      .btn-ghost::after {
        content: "↓";
        font-size: 14px;
      }
      .btn-ghost:hover {
        color: var(--or);
      }

      /* Hero destinations strip */
      .hero-destinations {
        position: absolute;
        bottom: 40px;
        left: 80px;
        right: 80px;
        display: flex;
        gap: 48px;
        z-index: 1;
        opacity: 0;
        animation: fadeUp 1s ease 1.1s both;
      }

      .dest-item {
        display: flex;
        flex-direction: column;
        gap: 6px;
      }

      .dest-item .dot {
        width: 4px;
        height: 4px;
        background: var(--or);
        border-radius: 50%;
      }

      .dest-item span {
        font-size: 9px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--gris);
      }

      /* DIVIDER */
      .gold-divider {
        width: 100%;
        height: 1px;
        background: linear-gradient(
          to right,
          transparent,
          var(--or),
          transparent
        );
        opacity: 0.3;
      }

      /* SECTION HEADER */
      .section-header {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        margin-bottom: 64px;
      }

      .section-label {
        font-size: 10px;
        letter-spacing: 5px;
        text-transform: uppercase;
        color: var(--or);
        display: flex;
        align-items: center;
        gap: 16px;
        margin-bottom: 20px;
      }

      .section-label::before {
        content: "";
        display: block;
        width: 32px;
        height: 1px;
        background: var(--or);
      }

      .section-title {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(36px, 5vw, 64px);
        font-weight: 300;
        line-height: 1.1;
      }

      .section-title em {
        font-style: italic;
        color: var(--or);
      }

      /* SERVICES */
      .services {
        padding: 120px 80px;
        background: var(--noir);
      }

      .services-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2px;
        margin-top: 80px;
      }

      .service-card {
        background: var(--noir2);
        padding: 52px 40px;
        position: relative;
        overflow: hidden;
        transition: background 0.4s;
        border-top: 1px solid rgba(201, 168, 76, 0);
        transition:
          border-color 0.3s,
          background 0.3s;
      }

      .service-card::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          180deg,
          rgba(8, 8, 8, 0.65) 0%,
          rgba(8, 8, 8, 0.85) 100%
        );
        z-index: 1;
      }

      .service-card:hover {
        background: #141414;
        border-top-color: var(--or);
      }

      .service-card::after {
        content: "";
        position: absolute;
        bottom: 0;
        right: 0;
        width: 80px;
        height: 80px;
        background: radial-gradient(
          circle,
          rgba(201, 168, 76, 0.06) 0%,
          transparent 70%
        );
        pointer-events: none;
        z-index: 1;
      }

      .service-bg {
        position: absolute;
        inset: 0;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        opacity: 0.45;
        z-index: 0;
      }

      .jet-bg {
        background-image: url("https://images.aircharterservice.com/global/aircraft-guide/private-charter/bombardier-challenger-350.jpg");
      }
      .driver-bg {
        background-image: url("https://myvipdriver.com/wp-content/uploads/viptransferamsterdam.jpg");
      }
      .resort-bg {
        background-image: url("https://dynamic-media-cdn.tripadvisor.com/media/photo-o/30/b0/23/2b/caption.jpg?w=1200&h=-1&s=1");
      }
      .nightlife-bg {
        background-image: url("https://img.freepik.com/premium-photo/served-table-night-club-against-background-multicolored-lights_98862-4565.jpg");
      }
      .yacht-bg {
        background-image: url("https://media.bateaux.com/src/images/news/articles/ima-image-26082.jpg");
      }
      .relation-bg {
        background-image: url("https://lynkbooster.com/wp-content/uploads/2019/08/business.jpeg");
      }

      .service-card > :not(.service-bg) {
        position: relative;
        z-index: 2;
      }

      .service-icon {
        font-size: 28px;
        margin-bottom: 28px;
        display: block;
      }

      .service-icon.icon-svg {
        width: 28px;
        height: 28px;
        font-size: 0;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
      }

      .icon-driver {
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 13l2-5h14l2 5'/><path d='M5 13h14v5H5z'/><circle cx='7' cy='18' r='2'/><circle cx='17' cy='18' r='2'/></svg>");
      }

      .icon-nightlife {
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16l-8 9z'/><path d='M12 13v7'/><path d='M8 20h8'/></svg>");
      }

      .icon-yacht {
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 17h20l-3 4H5z'/><path d='M12 3v12'/><path d='M12 3l7 12H12z'/></svg>");
      }

      .icon-relation {
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='6' cy='6' r='2'/><circle cx='18' cy='6' r='2'/><circle cx='12' cy='18' r='2'/><path d='M8 7l6 0'/><path d='M7 8l4 8'/><path d='M17 8l-4 8'/></svg>");
      }

      .service-num {
        position: absolute;
        top: 40px;
        right: 40px;
        font-family: "Cormorant Garamond", serif;
        font-size: 64px;
        font-style: italic;
        color: rgba(201, 168, 76, 0.06);
        line-height: 1;
      }

      .service-card h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: 26px;
        font-weight: 400;
        margin-bottom: 16px;
        line-height: 1.2;
      }

      .service-card p {
        font-size: 12px;
        color: var(--gris);
        line-height: 2;
      }

      .service-card .service-link {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-top: 32px;
        font-size: 9px;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--or);
        text-decoration: none;
        transition: gap 0.3s;
      }
      .service-card:hover .service-link {
        gap: 16px;
      }

      /* DESTINATIONS */
      .destinations {
        padding: 120px 80px;
        background: var(--noir3);
      }

      .dest-grid {
        display: grid;
        grid-template-columns: 1.5fr 1fr 1fr;
        grid-template-rows: 280px 280px;
        gap: 2px;
        margin-top: 80px;
      }

      .dest-card {
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 40px;
        background: var(--noir2);
        cursor: pointer;
      }

      .dest-card.span2 {
        grid-row: span 2;
      }

      .dest-card::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          to top,
          rgba(8, 8, 8, 0.9) 0%,
          rgba(8, 8, 8, 0.2) 50%,
          transparent 100%
        );
        z-index: 1;
      }

      .dest-bg {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 0;
        overflow: hidden;
      }

      /* Destination illustrative backgrounds */
      .riviera-bg {
        background:
          linear-gradient(
            180deg,
            rgba(8, 8, 8, 0.45) 0%,
            rgba(8, 8, 8, 0.75) 100%
          ),
          url("https://www.tullyluxurytravel.com/wp-content/uploads/2019/05/French-Riviera-1.jpg")
            center/cover no-repeat;
      }
      .riviera-bg::after {
        content: "";
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 40%;
        background: linear-gradient(
          to top,
          rgba(201, 168, 76, 0.08),
          transparent
        );
      }

      .dubai-bg {
        background:
          linear-gradient(
            180deg,
            rgba(8, 8, 8, 0.45) 0%,
            rgba(8, 8, 8, 0.75) 100%
          ),
          url("https://shre.ae/wp-content/uploads/2022/12/Palm-Jumeirah-Views-Luxury-Sea-view-apartments-for-Sale-in-Dubai-Sobha-Seahaven.jpg")
            center/cover no-repeat;
      }

      .paris-bg {
        background:
          linear-gradient(
            180deg,
            rgba(8, 8, 8, 0.45) 0%,
            rgba(8, 8, 8, 0.75) 100%
          ),
          url("https://uceap.universityofcalifornia.edu/sites/default/files/marketing-images/life-in-city-images/paris-france-gallery-2.jpg")
            center/cover no-repeat;
      }

      .courchevel-bg {
        background:
          linear-gradient(
            180deg,
            rgba(8, 8, 8, 0.45) 0%,
            rgba(8, 8, 8, 0.75) 100%
          ),
          url("https://cdn-s-www.ledauphine.com/images/b2802ca2-20cb-46cc-9aa5-499e19384f0a/NW_RAW/photo-illustration-adobe-stock.jpg")
            center/cover no-repeat;
      }

      .world-bg {
        background:
          linear-gradient(
            180deg,
            rgba(8, 8, 8, 0.45) 0%,
            rgba(8, 8, 8, 0.75) 100%
          ),
          url("https://www.voyages-d-affaires.com/wp-content/uploads/2012/07/p.60-2.jpg")
            center/cover no-repeat;
      }

      .dest-geo {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "Cormorant Garamond", serif;
        font-size: 200px;
        font-style: italic;
        color: rgba(255, 255, 255, 0.02);
        z-index: 0;
        pointer-events: none;
      }

      .dest-content {
        position: relative;
        z-index: 2;
      }

      .dest-content .dest-tag {
        font-size: 9px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--or);
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        gap: 10px;
      }

      .dest-content .dest-tag::before {
        content: "";
        display: block;
        width: 20px;
        height: 1px;
        background: var(--or);
      }

      .dest-content h3 {
        font-family: "Cormorant Garamond", serif;
        font-size: 36px;
        font-weight: 300;
        line-height: 1;
        margin-bottom: 12px;
      }

      .dest-card.span2 .dest-content h3 {
        font-size: 52px;
      }

      .dest-content p {
        font-size: 11px;
        color: rgba(248, 244, 238, 0.5);
        line-height: 1.8;
        max-width: 280px;
      }

      .dest-card .hover-reveal {
        position: absolute;
        inset: 0;
        background: rgba(201, 168, 76, 0.06);
        z-index: 1;
        opacity: 0;
        transition: opacity 0.4s;
      }
      .dest-card:hover .hover-reveal {
        opacity: 1;
      }

      /* EXCELLENCE — Pièces d'exception */
      .excellence {
        padding: 120px 80px;
        background: var(--noir);
      }

      .excellence-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2px;
        margin-top: 80px;
      }

      .excellence-card {
        position: relative;
        overflow: hidden;
        aspect-ratio: 4/3;
        background: var(--noir2);
      }

      .excellence-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s ease;
      }

      .excellence-card:hover img {
        transform: scale(1.03);
      }

      .excellence-card::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          to top,
          rgba(8, 8, 8, 0.6) 0%,
          transparent 50%
        );
        pointer-events: none;
      }

      .excellence-badge {
        position: absolute;
        bottom: 24px;
        left: 24px;
        z-index: 2;
        font-size: 9px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: rgba(248, 244, 238, 0.7);
      }

      .excellence-badge.lamborghini {
        font-size: 8px;
        letter-spacing: 3px;
        color: var(--or);
        opacity: 0.9;
      }

      /* FONDATEUR */
      .fondateur {
        padding: 140px 80px;
        background: var(--noir3);
        display: grid;
        grid-template-columns: 1fr 1.2fr;
        gap: 100px;
        align-items: center;
      }

      .fondateur-photo {
        position: relative;
        aspect-ratio: 3/4;
        max-height: 600px;
        overflow: hidden;
      }

      .fondateur-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      .fondateur-photo::before {
        content: "";
        position: absolute;
        top: 20px;
        left: 20px;
        right: -20px;
        bottom: -20px;
        border: 1px solid rgba(201, 168, 76, 0.2);
        z-index: 0;
        pointer-events: none;
      }

      .fondateur-photo img {
        position: relative;
        z-index: 1;
      }

      .fondateur-content .section-label {
        margin-bottom: 0;
      }

      .fondateur-content .section-title {
        margin-bottom: 32px;
      }

      .fondateur-name {
        font-family: "Cormorant Garamond", serif;
        font-size: 42px;
        font-style: italic;
        color: var(--or);
        margin-bottom: 24px;
        letter-spacing: 1px;
      }

      .fondateur-text {
        font-size: 13px;
        color: var(--gris);
        line-height: 2.2;
      }

      .fondateur-text strong {
        color: var(--creme);
        font-weight: 400;
      }

      /* ABOUT */
      .about {
        padding: 140px 80px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 100px;
        align-items: center;
        background: var(--noir);
      }

      .about-visual {
        position: relative;
        height: 600px;
      }

      .about-frame {
        position: absolute;
        inset: 0;
        background: var(--noir2);
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .about-frame-inner {
        width: 100%;
        height: 100%;
        border: 1px solid rgba(201, 168, 76, 0.15);
        position: relative;
        overflow: hidden;
      }

      .about-frame-inner .big-num {
        font-family: "Cormorant Garamond", serif;
        font-size: 120px;
        font-style: italic;
        color: rgba(201, 168, 76, 0.12);
        line-height: 1;
      }

      .about-frame-inner .caption {
        font-size: 10px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--or);
      }

      .about-frame-inner img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
        filter: brightness(0.6);
      }

      .about-corner {
        position: absolute;
        width: 40px;
        height: 40px;
      }
      .about-corner.tl {
        top: 0;
        left: 0;
        border-top: 1px solid var(--or);
        border-left: 1px solid var(--or);
      }
      .about-corner.br {
        bottom: 0;
        right: 0;
        border-bottom: 1px solid var(--or);
        border-right: 1px solid var(--or);
      }

      .about-content .section-label {
        margin-bottom: 0;
      }

      .about-text {
        margin-top: 40px;
        font-size: 13px;
        color: var(--gris);
        line-height: 2.2;
      }

      .about-text strong {
        color: var(--creme);
        font-weight: 400;
      }

      .about-stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 32px;
        margin-top: 60px;
        padding-top: 60px;
        border-top: 1px solid rgba(201, 168, 76, 0.1);
      }

      .stat h4 {
        font-family: "Cormorant Garamond", serif;
        font-size: 48px;
        font-style: italic;
        color: var(--or);
        line-height: 1;
        margin-bottom: 8px;
      }

      .stat p {
        font-size: 10px;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--gris);
      }

      /* TESTIMONIAL */
      .testimonial {
        padding: 120px 80px;
        background: var(--noir3);
        text-align: center;
        position: relative;
        overflow: hidden;
      }

      .testimonial::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
          radial-gradient(
            ellipse 80% 50% at 50% 0%,
            rgba(201, 168, 76, 0.08) 0%,
            transparent 60%
          ),
          radial-gradient(
            ellipse 60% 40% at 100% 100%,
            rgba(201, 168, 76, 0.05) 0%,
            transparent 50%
          ),
          radial-gradient(
            ellipse 60% 40% at 0% 100%,
            rgba(201, 168, 76, 0.05) 0%,
            transparent 50%
          );
        pointer-events: none;
        z-index: 0;
      }

      .testimonial-inner {
        max-width: 800px;
        margin: 0 auto;
        position: relative;
        z-index: 1;
      }

      .testimonial-quote {
        font-size: 10px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--or);
        margin-bottom: 48px;
      }

      .testimonial-text {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(24px, 4vw, 40px);
        font-style: italic;
        font-weight: 300;
        line-height: 1.5;
        color: var(--creme);
        margin-bottom: 48px;
      }

      .testimonial-author {
        font-size: 10px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--gris);
      }

      /* Testimonial carousel */
      .testimonial-carousel {
        position: relative;
        min-height: 200px;
        overflow: hidden;
      }

      .testimonial-item {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        opacity: 0;
        visibility: hidden;
        transform: translateY(24px);
        transition:
          opacity 0.6s ease,
          transform 0.6s ease,
          visibility 0.6s;
      }

      .testimonial-item.active {
        position: relative;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        animation: testimonialIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
      }

      @keyframes testimonialIn {
        from {
          opacity: 0;
          transform: translateY(28px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }
      .testimonial-dots {
        display: flex;
        justify-content: center;
        gap: 12px;
        margin-top: 32px;
      }
      .testimonial-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        border: 1px solid rgba(201, 168, 76, 0.4);
        background: transparent;
        cursor: pointer;
        transition:
          background 0.4s ease,
          border-color 0.4s ease,
          transform 0.3s ease;
        padding: 0;
      }
      .testimonial-dot:hover {
        transform: scale(1.2);
      }
      .testimonial-dot:hover,
      .testimonial-dot.active {
        background: var(--or);
        border-color: var(--or);
      }
      .testimonial-dot.active {
        transform: scale(1.15);
        box-shadow: 0 0 12px rgba(201, 168, 76, 0.4);
      }

      /* CONTACT */
      .contact {
        padding: 140px 80px;
        background: var(--noir);
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 120px;
        align-items: start;
      }

      .contact-info .section-title {
        margin-top: 24px;
        margin-bottom: 40px;
      }

      .contact-detail {
        display: flex;
        flex-direction: column;
        gap: 28px;
        margin-top: 48px;
      }

      .contact-detail-item {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding-bottom: 28px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      }

      .contact-detail-item:last-child {
        border-bottom: none;
      }

      .contact-detail-item .label {
        font-size: 9px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--or);
      }

      .contact-detail-item .value {
        font-family: "Cormorant Garamond", serif;
        font-size: 20px;
        font-style: italic;
        color: var(--creme);
      }

      /* Form */
      .contact-form {
        display: flex;
        flex-direction: column;
        gap: 24px;
      }

      .form-group {
        display: flex;
        flex-direction: column;
        gap: 10px;
      }

      .form-group label {
        font-size: 9px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--gris);
      }

      .form-group input,
      .form-group select,
      .form-group textarea {
        background: var(--noir2);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-bottom: 1px solid rgba(201, 168, 76, 0.3);
        color: var(--creme);
        font-family: "Montserrat", sans-serif;
        font-size: 13px;
        font-weight: 300;
        padding: 16px 20px;
        outline: none;
        transition: border-color 0.3s;
        appearance: none;
        width: 100%;
        max-width: 100%;
      }

      .form-group input:focus,
      .form-group select:focus,
      .form-group textarea:focus {
        border-bottom-color: var(--or);
      }

      .form-group textarea {
        resize: none;
        height: 120px;
      }

      .form-group select option {
        background: var(--noir2);
      }

      .form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
      }

      .form-submit {
        margin-top: 16px;
      }

      .form-submit button {
        width: 100%;
        background: var(--or);
        color: var(--noir);
        border: none;
        font-family: "Montserrat", sans-serif;
        font-size: 10px;
        letter-spacing: 4px;
        text-transform: uppercase;
        font-weight: 600;
        padding: 20px;
        cursor: pointer;
        transition: background 0.3s;
      }
      .form-submit button:hover {
        background: var(--or2);
      }

      .form-note {
        font-size: 10px;
        color: var(--gris);
        text-align: center;
        letter-spacing: 1px;
        margin-top: 16px;
      }

      .form-success {
        margin-top: 24px;
        padding: 24px;
        background: rgba(201, 168, 76, 0.1);
        border: 1px solid rgba(201, 168, 76, 0.3);
        color: var(--or);
        font-size: 13px;
        letter-spacing: 0.5px;
        line-height: 1.8;
        text-align: center;
      }

      /* FOOTER */
      footer {
        background: var(--noir2);
        padding: 60px 80px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        border-top: 1px solid rgba(201, 168, 76, 0.1);
      }

      .footer-logo {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        line-height: 0;
      }

      .footer-logo img {
        height: 168px;
        width: auto;
        max-width: min(640px, 92vw);
        object-fit: contain;
        object-position: left center;
        filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.65));
      }

      .footer-logo .footer-logo-meta {
        font-family: "Montserrat", sans-serif;
        font-size: 9px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--gris);
        line-height: 1.4;
      }

      .footer-links {
        display: flex;
        gap: 40px;
        list-style: none;
      }

      .footer-links a {
        font-size: 9px;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--gris);
        text-decoration: none;
        transition: color 0.3s;
      }
      .footer-links a:hover {
        color: var(--or);
      }

      .footer-copy {
        font-size: 9px;
        letter-spacing: 2px;
        color: rgba(255, 255, 255, 0.2);
      }

      /* Bandeau de réassurance — fixe en haut, toujours visible */
      .reassurance-banner {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 301;
        width: 100%;
        height: var(--banner-height);
        padding: 0 112px 0 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(
          135deg,
          rgba(26, 26, 26, 0.98) 0%,
          rgba(17, 17, 17, 0.98) 100%
        );
        border-bottom: 1px solid rgba(201, 168, 76, 0.25);
        font-size: 11px;
        font-weight: 500;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--or);
        text-shadow: 0 0 24px rgba(201, 168, 76, 0.3);
      }
      .reassurance-banner-text {
        text-align: center;
        flex: 1;
        min-width: 0;
        line-height: 1.2;
      }
      html[dir="rtl"] .reassurance-banner {
        padding: 0 24px 0 112px;
      }

      /* Sélecteur de langue — sobre, aligné au site */
      .lang-switch {
        position: absolute;
        right: max(10px, env(safe-area-inset-right));
        top: 50%;
        transform: translateY(-50%);
        display: inline-flex;
        align-items: stretch;
        border: 1px solid rgba(201, 168, 76, 0.35);
        border-radius: 1px;
        overflow: hidden;
        background: rgba(8, 8, 8, 0.55);
      }
      html[dir="rtl"] .lang-switch {
        right: auto;
        left: max(10px, env(safe-area-inset-left));
      }
      .lang-btn {
        appearance: none;
        margin: 0;
        border: none;
        background: transparent;
        color: var(--gris);
        font-family: inherit;
        font-size: 9px;
        font-weight: 500;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 7px 11px;
        cursor: pointer;
        transition:
          color 0.2s,
          background 0.2s;
        border-inline-start: 1px solid rgba(201, 168, 76, 0.22);
        line-height: 1;
      }
      .lang-btn:first-child {
        border-inline-start: none;
      }
      .lang-btn:hover {
        color: var(--or2);
      }
      .lang-btn.active {
        background: rgba(201, 168, 76, 0.14);
        color: var(--or);
      }
      .lang-btn[dir="rtl"],
      .lang-btn:lang(ar) {
        letter-spacing: 0;
        font-size: 10px;
        padding: 7px 10px;
      }

      /* Bouton WhatsApp flottant + popover chat */
      .whatsapp-wrapper {
        position: fixed;
        bottom: max(28px, env(safe-area-inset-bottom));
        right: max(28px, env(safe-area-inset-right));
        z-index: 999;
      }

      .whatsapp-chat {
        position: absolute;
        bottom: calc(100% + 16px);
        right: 0;
        width: 280px;
        background: var(--noir2);
        border: 1px solid rgba(201, 168, 76, 0.2);
        border-radius: 12px;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
        padding: 20px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(12px) scale(0.95);
        transition:
          opacity 0.25s ease,
          visibility 0.25s,
          transform 0.25s ease;
      }

      .whatsapp-chat.open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
      }

      .whatsapp-chat::after {
        content: "";
        position: absolute;
        bottom: -8px;
        right: 24px;
        width: 14px;
        height: 14px;
        background: var(--noir2);
        border-right: 1px solid rgba(201, 168, 76, 0.2);
        border-bottom: 1px solid rgba(201, 168, 76, 0.2);
        transform: rotate(45deg);
      }

      .whatsapp-chat-header {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 16px;
        padding-bottom: 12px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      }

      .whatsapp-chat-avatar {
        width: 40px;
        height: 40px;
        background: rgba(37, 211, 102, 0.2);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .whatsapp-chat-avatar svg {
        width: 22px;
        height: 22px;
        fill: #25d366;
      }

      .whatsapp-chat-info h4 {
        font-family: "Cormorant Garamond", serif;
        font-size: 16px;
        font-weight: 400;
        color: var(--creme);
        margin-bottom: 2px;
      }

      .whatsapp-chat-info span {
        font-size: 11px;
        color: var(--gris);
        letter-spacing: 0.5px;
      }

      .whatsapp-chat-msg {
        font-size: 12px;
        color: var(--gris);
        line-height: 1.6;
        margin-bottom: 16px;
      }

      .whatsapp-chat-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        background: #25d366;
        color: #fff;
        border: none;
        padding: 14px 20px;
        font-family: "Montserrat", sans-serif;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 2px;
        text-transform: uppercase;
        text-decoration: none;
        border-radius: 8px;
        cursor: pointer;
        transition:
          background 0.3s,
          transform 0.2s;
      }

      .whatsapp-chat-btn:hover {
        background: #20bd5a;
        transform: translateY(-1px);
      }

      .whatsapp-chat-btn svg {
        width: 20px;
        height: 20px;
        fill: currentColor;
      }

      @keyframes whatsappFloatGlow {
        0%,
        100% {
          box-shadow:
            0 6px 26px rgba(0, 0, 0, 0.22),
            0 0 28px rgba(201, 168, 76, 0.4),
            0 0 52px rgba(201, 168, 76, 0.18),
            inset 0 1px 0 rgba(255, 255, 255, 0.95);
        }
        50% {
          box-shadow:
            0 8px 32px rgba(0, 0, 0, 0.24),
            0 0 40px rgba(201, 168, 76, 0.55),
            0 0 72px rgba(201, 168, 76, 0.26),
            inset 0 1px 0 rgba(255, 255, 255, 0.95);
        }
      }

      .whatsapp-float {
        width: 56px;
        height: 56px;
        background: var(--blanc);
        color: var(--noir);
        border-radius: 50%;
        border: 1px solid rgba(201, 168, 76, 0.28);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        animation: whatsappFloatGlow 3.2s ease-in-out infinite;
        transition:
          transform 0.35s ease,
          background 0.3s ease,
          border-color 0.3s ease;
      }

      .whatsapp-float:hover {
        background: #f0f0f0;
        transform: scale(1.08);
        animation: none;
        border-color: rgba(201, 168, 76, 0.45);
        box-shadow:
          0 10px 36px rgba(0, 0, 0, 0.26),
          0 0 48px rgba(201, 168, 76, 0.6),
          0 0 88px rgba(201, 168, 76, 0.3),
          inset 0 1px 0 rgba(255, 255, 255, 0.95);
      }

      .whatsapp-float svg {
        width: 28px;
        height: 28px;
        fill: currentColor;
      }

      /* Prevent text overflow */
      .hero-sub,
      .service-card p,
      .dest-content p,
      .about-text,
      .fondateur-text,
      .excellence-copy,
      .testimonial-text {
        word-wrap: break-word;
        overflow-wrap: break-word;
      }

      /* ANIMATIONS */
      @keyframes fadeUp {
        from {
          opacity: 0;
          transform: translateY(40px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      .reveal {
        opacity: 0;
        transform: translateY(30px);
        transition:
          opacity 0.8s ease,
          transform 0.8s ease;
      }
      .reveal.visible {
        opacity: 1;
        transform: translateY(0);
      }

      /* Hamburger menu — sans fond, traits fins visibles */
      .nav-hamburger {
        display: none;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 48px;
        height: 48px;
        padding: 12px;
        background: none;
        border: none;
        cursor: pointer;
        position: relative;
        z-index: 1001;
        flex-shrink: 0;
        -webkit-tap-highlight-color: transparent;
      }
      .nav-hamburger .hamburger-icon,
      .nav-hamburger .close-icon {
        position: absolute;
        stroke: #ffffff;
        transition:
          opacity 0.25s,
          stroke 0.2s;
      }
      .nav-hamburger .hamburger-icon {
        opacity: 1;
      }
      .nav-hamburger .close-icon {
        opacity: 0;
      }
      .nav-hamburger:hover .hamburger-icon,
      .nav-hamburger:focus .hamburger-icon {
        color: var(--or);
        stroke: var(--or);
      }
      /* Croix visible quand menu ouvert */
      .nav-hamburger.active .hamburger-icon {
        opacity: 0;
        pointer-events: none;
      }
      .nav-hamburger.active .close-icon {
        opacity: 1;
        stroke: #ffffff;
      }
      .nav-hamburger.active:hover .close-icon,
      .nav-hamburger.active:focus .close-icon {
        color: var(--or);
        stroke: var(--or);
      }

      /* Menu overlay mobile — en dessous de la nav pour laisser le bouton visible */
      .nav-overlay {
        position: fixed;
        inset: 0;
        background: rgba(8, 8, 8, 0.97);
        z-index: 200;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        opacity: 0;
        visibility: hidden;
        transition:
          opacity 0.35s ease,
          visibility 0.35s ease;
      }
      .nav-overlay.open {
        opacity: 1;
        visibility: visible;
      }
      .nav-overlay .nav-links-mobile {
        list-style: none;
        text-align: center;
        display: flex;
        flex-direction: column;
        gap: 32px;
      }
      .nav-overlay .nav-links-mobile a {
        font-size: 12px;
        letter-spacing: 5px;
        text-transform: uppercase;
        color: var(--gris);
        text-decoration: none;
        transition:
          color 0.3s,
          letter-spacing 0.3s;
      }
      .nav-overlay .nav-links-mobile a:hover {
        color: var(--or);
        letter-spacing: 6px;
      }
      .nav-overlay .nav-cta-mobile {
        margin-top: 48px;
        font-size: 10px;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--noir);
        background: var(--or);
        padding: 14px 32px;
        text-decoration: none;
        font-weight: 500;
        transition: background 0.3s;
      }
      .nav-overlay .nav-cta-mobile:hover {
        background: var(--or2);
      }

      /* RESPONSIVE */
      @media (max-width: 1100px) {
        nav {
          padding-block: 0;
          padding-inline: 18px 40px;
        }
        .nav-links {
          display: none;
        }
        .nav-hamburger {
          display: flex;
        }
        .hero {
          padding: 0 40px;
        }
        .services,
        .destinations,
        .about,
        .contact {
          padding: 80px 40px;
        }
        .testimonial {
          padding: 80px 40px;
        }
        footer {
          padding: 40px;
        }
        .services-grid {
          grid-template-columns: 1fr 1fr;
        }
        .dest-grid {
          grid-template-columns: 1fr 1fr;
          grid-template-rows: auto;
        }
        .dest-card.span2 {
          grid-row: span 1;
        }
        .about {
          grid-template-columns: 1fr;
          gap: 60px;
        }
        .about-visual {
          height: 400px;
        }
        .contact {
          grid-template-columns: 1fr;
          gap: 60px;
        }
        .excellence {
          padding: 80px 40px;
        }
        .excellence-grid {
          grid-template-columns: 1fr;
        }
        .fondateur {
          padding: 80px 40px;
          grid-template-columns: 1fr;
          gap: 60px;
          justify-items: center;
        }
        .fondateur-photo {
          max-height: 450px;
          margin: 0 auto;
        }
        .fondateur-photo img {
          object-position: center;
        }
      }

      @media (max-width: 768px) {
        .reassurance-banner {
          font-size: 10px;
          letter-spacing: 2.5px;
          padding: 0 104px 0 16px;
        }
        html[dir="rtl"] .reassurance-banner {
          padding: 0 16px 0 104px;
        }
        html,
        body {
          overflow-x: hidden;
          max-width: 100vw;
        }
        .hero {
          min-height: 100svh;
          min-height: 600px;
          padding: 0 24px;
        }
        .hero::before {
          right: 40px;
        }
        .hero h1 {
          font-size: clamp(36px, 10vw, 56px);
        }
        .hero-tagline .hero-tagline-br {
          display: inline;
        }
        .hero-tagline {
          font-size: clamp(16px, 4.2vw, 22px);
          max-width: 100%;
        }
        .hero-sub {
          max-width: 100%;
          font-size: 12px;
        }
        .hero-actions {
          flex-direction: column;
          align-items: flex-start;
          gap: 20px;
          margin-top: 32px;
        }
        .btn-primary {
          padding: 14px 32px;
          font-size: 9px;
        }
        .section-header {
          flex-direction: column;
          align-items: flex-start;
          margin-bottom: 40px;
        }
        .section-title {
          font-size: clamp(28px, 8vw, 44px);
        }
        .section-label {
          font-size: 9px;
          letter-spacing: 4px;
        }
        .services,
        .destinations,
        .excellence,
        .fondateur,
        .about,
        .contact,
        .testimonial {
          padding: 60px 24px;
          min-width: 0;
        }
        .services-grid {
          margin-top: 48px;
          gap: 2px;
        }
        .service-card {
          padding: 36px 24px;
        }
        .service-num {
          font-size: 48px;
          top: 24px;
          right: 24px;
        }
        .service-card h3 {
          font-size: 22px;
        }
        .dest-grid {
          margin-top: 48px;
          grid-template-columns: 1fr;
        }
        .dest-card {
          padding: 28px 24px;
        }
        .dest-content h3 {
          font-size: 28px;
        }
        .dest-card.span2 .dest-content h3 {
          font-size: 32px;
        }
        .dest-geo {
          font-size: 120px;
        }
        .excellence-grid {
          margin-top: 48px;
        }
        .fondateur {
          gap: 40px;
          justify-items: center;
        }
        .fondateur-photo {
          max-height: 380px;
          margin: 0 auto;
        }
        .fondateur-photo img {
          object-position: center;
        }
        .fondateur-name {
          font-size: 32px;
        }
        .about-visual {
          height: 320px;
        }
        .about-frame-inner .big-num {
          font-size: 80px;
        }
        .about-stats {
          grid-template-columns: 1fr 1fr;
          gap: 24px;
          margin-top: 40px;
          padding-top: 40px;
        }
        .stat h4 {
          font-size: 36px;
        }
        .contact {
          gap: 48px;
        }
        .contact-detail-item .value {
          font-size: 16px;
        }
        footer {
          padding: 40px 24px;
          flex-direction: column;
          gap: 28px;
          text-align: center;
        }
        .footer-links {
          flex-wrap: wrap;
          justify-content: center;
          gap: 20px;
        }
        .nav-cta {
          display: none;
        }
      }

      @media (max-width: 640px) {
        :root {
          --banner-height: 38px;
          --nav-offset: 128px;
        }
        .reassurance-banner {
          font-size: 8px;
          letter-spacing: 1.2px;
          padding: 0 96px 0 10px;
        }
        html[dir="rtl"] .reassurance-banner {
          padding: 0 10px 0 96px;
        }
        .lang-btn {
          font-size: 8px;
          padding: 6px 8px;
        }
        .whatsapp-chat {
          width: calc(100vw - 40px);
          max-width: 280px;
          right: -8px;
        }
        .whatsapp-float {
          width: 52px;
          height: 52px;
        }
        .whatsapp-float svg {
          width: 26px;
          height: 26px;
        }
        .nav-logo {
          transform: translateY(-3px);
        }
        .nav-logo img {
          height: 140px;
          max-width: min(720px, 72vw);
        }
        .footer-logo img {
          height: 120px;
          max-width: min(520px, 90vw);
        }
        nav {
          padding-block: 0;
          padding-inline: 8px 20px;
        }
        .hero {
          padding: 0 20px;
          min-height: 100svh;
        }
        .hero::before {
          display: none;
        }
        .hero h1 {
          font-size: clamp(32px, 9vw, 48px);
        }
        .hero-eyebrow {
          font-size: 9px;
          letter-spacing: 4px;
          gap: 12px;
        }
        .hero-eyebrow::before {
          width: 32px;
        }
        .hero-sub {
          margin-top: 24px;
          font-size: 11px;
        }
        .hero-destinations {
          display: none;
        }
        .services,
        .destinations,
        .excellence,
        .fondateur,
        .about,
        .contact,
        .testimonial {
          padding: 48px 20px;
        }
        .section-label::before {
          width: 24px;
        }
        .service-card {
          padding: 28px 20px;
        }
        .service-num {
          font-size: 40px;
          top: 20px;
          right: 20px;
        }
        .dest-card {
          padding: 24px 20px;
        }
        .dest-content .dest-tag {
          font-size: 8px;
          letter-spacing: 3px;
        }
        .dest-content h3 {
          font-size: 24px;
        }
        .dest-card.span2 .dest-content h3 {
          font-size: 28px;
        }
        .dest-content p {
          max-width: 100%;
        }
        .dest-geo {
          font-size: 100px;
        }
        .form-row {
          grid-template-columns: 1fr;
        }
        .footer-links {
          flex-direction: column;
          gap: 16px;
        }
        .nav-hamburger {
          width: 44px;
          height: 44px;
        }
        .nav-hamburger .hamburger-icon {
          width: 22px;
          height: 16px;
        }
        .nav-hamburger .close-icon {
          width: 22px;
          height: 22px;
        }
        .nav-overlay .nav-links-mobile a {
          font-size: 11px;
          letter-spacing: 4px;
        }
      }

      /* Touch: hide custom cursor */
      @media (hover: none) {
        .cursor,
        .cursor-ring {
          display: none !important;
        }
        body {
          cursor: auto;
        }
      }