.elementor-54 .elementor-element.elementor-element-be4c315{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-54 .elementor-element.elementor-element-e87991f{--display:flex;--min-height:457px;--overlay-opacity:0.71;--overlay-mix-blend-mode:multiply;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-54 .elementor-element.elementor-element-e87991f:not(.elementor-motion-effects-element-type-background), .elementor-54 .elementor-element.elementor-element-e87991f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://transfert.swisstours.ch/wp-content/uploads/sites/11/2026/09/beulas-bus-panoramique-swisstours-keytours.jpg");background-position:center center;background-size:cover;}.elementor-54 .elementor-element.elementor-element-e87991f::before, .elementor-54 .elementor-element.elementor-element-e87991f > .elementor-background-video-container::before, .elementor-54 .elementor-element.elementor-element-e87991f > .e-con-inner > .elementor-background-video-container::before, .elementor-54 .elementor-element.elementor-element-e87991f > .elementor-background-slideshow::before, .elementor-54 .elementor-element.elementor-element-e87991f > .e-con-inner > .elementor-background-slideshow::before, .elementor-54 .elementor-element.elementor-element-e87991f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(182deg, #FFFFFF 1%, #000000 31%);}.elementor-54 .elementor-element.elementor-element-f8516ab{--display:flex;--min-height:300px;--padding-top:78px;--padding-bottom:0px;--padding-left:35px;--padding-right:22px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-54 .elementor-element.elementor-element-06a864f{padding:64px 0px 0px 0px;font-family:"Inter", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:var( --e-global-color-5c4243f );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-54 .elementor-element.elementor-element-c8ba355 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:73px;font-weight:800;color:#FFFFFF;}.elementor-54 .elementor-element.elementor-element-85338a5{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;color:#FFFFFF;}.elementor-54 .elementor-element.elementor-element-85338a5.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-54 .elementor-element.elementor-element-cde5a36{--display:flex;--margin-top:-86px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:999;}.elementor-54 .elementor-element.elementor-element-5891ca8{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-54 .elementor-element.elementor-element-5891ca8:not(.elementor-motion-effects-element-type-background), .elementor-54 .elementor-element.elementor-element-5891ca8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-54 .elementor-element.elementor-element-9af3136{padding:0px 20px 0px 20px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-54 .elementor-element.elementor-element-e87991f{--width:1400px;}}@media(max-width:767px){.elementor-54 .elementor-element.elementor-element-be4c315{--content-width:500px;--min-height:0vh;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-54 .elementor-element.elementor-element-e87991f{--width:100%;--min-height:309px;--overlay-opacity:0.81;}.elementor-54 .elementor-element.elementor-element-e87991f:not(.elementor-motion-effects-element-type-background), .elementor-54 .elementor-element.elementor-element-e87991f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-repeat:no-repeat;background-size:contain;}.elementor-54 .elementor-element.elementor-element-e87991f::before, .elementor-54 .elementor-element.elementor-element-e87991f > .elementor-background-video-container::before, .elementor-54 .elementor-element.elementor-element-e87991f > .e-con-inner > .elementor-background-video-container::before, .elementor-54 .elementor-element.elementor-element-e87991f > .elementor-background-slideshow::before, .elementor-54 .elementor-element.elementor-element-e87991f > .e-con-inner > .elementor-background-slideshow::before, .elementor-54 .elementor-element.elementor-element-e87991f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;background-image:linear-gradient(218deg, #FFFFFF 0%, #000000 50%);}.elementor-54 .elementor-element.elementor-element-f8516ab{--padding-top:10px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-54 .elementor-element.elementor-element-06a864f{padding:30px 0px 0px 0px;font-size:12px;}.elementor-54 .elementor-element.elementor-element-06a864f p{margin-block-end:0px;}.elementor-54 .elementor-element.elementor-element-c8ba355 .elementor-heading-title{font-size:39px;}.elementor-54 .elementor-element.elementor-element-85338a5{width:var( --container-widget-width, 236.833px );max-width:236.833px;--container-widget-width:236.833px;--container-widget-flex-grow:0;font-size:15px;}.elementor-54 .elementor-element.elementor-element-cde5a36{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}/* Start custom CSS for html, class: .elementor-element-650073b */:root {
      --red: #ce4a3c;
      --navy: #2e3a8c;
      --deep: #151b2f;
      --silver: #b8bcc4;
      --sky: #bfe7f8;
      --gold: #f2c316;
      --ink: #20242b;
      --muted: #6e7480;
      --line: #e7e8ec;
      --paper: #ffffff;
      --soft: #f6f7f9;
      --max: 1180px;
      --shadow: 0 18px 44px rgba(16,19,23,.10);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, Arial, Helvetica, sans-serif;
      color: var(--ink);
      background: white;
      line-height: 1.45;
    }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }

    

    /* ===== CONTACT GRID ===== */
    .contact-section {
      max-width: var(--max);
      margin: 0 auto;
      padding: 26px 22px 0;
    }
    .contact-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: var(--soft);
      border: 1px solid var(--line);
    }
    .contact-card {
      background: #fff;
      padding: 38px 32px 40px;
      display: flex;
      flex-direction: column;
      transition: background .18s ease;
      position: relative;
    }
    .contact-card:hover {
      background: var(--soft);
    }
    .contact-card .label {
      display: inline-block;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .14em;
      font-weight: 900;
      color: var(--red);
      margin-bottom: 18px;
    }
    .contact-card h2 {
      margin: 0 0 10px;
      font-size: 28px;
      letter-spacing: -.035em;
      font-weight: 620;
      line-height: 1.1;
    }
    .contact-card .subtitle {
      margin: 0 0 24px;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.5;
    }
    .contact-card .detail {
      margin: 0;
      font-size: 17px;
      font-weight: 500;
      color: var(--ink);
      line-height: 1.5;
    }
    .contact-card .detail a {
      color: var(--ink);
      border-bottom: 2px solid transparent;
      transition: border-color .2s, color .2s;
      font-weight: 600;
    }
    .contact-card .detail a:hover {
      border-bottom-color: var(--red);
      color: var(--red);
    }
    .contact-card .detail--address {
      font-style: normal;
      font-weight: 400;
      font-size: 16px;
      line-height: 1.7;
      color: #3a3f48;
    }
    .contact-card .detail--address strong {
      font-weight: 600;
      color: var(--ink);
    }
    .contact-card .note {
      margin-top: auto;
      padding-top: 28px;
      font-size: 13px;
      color: var(--muted);
      line-height: 1.5;
    }
    .contact-card .note::before {
      content: "— ";
      color: var(--red);
      font-weight: 700;
    }

    /* ===== CONTACT CTA ===== */
    .contact-cta {
      max-width: var(--max);
      margin: 0 auto;
      padding: 66px 22px 82px;
    }
    .contact-cta-box {
      background: var(--deep);
      color: #fff;
      padding: 48px 44px;
      display: flex;
      justify-content: space-between;
      gap: 28px;
      align-items: center;
      border-bottom: 6px solid var(--red);
    }
    .contact-cta-box h2 {
      color: #fff;
      font-size: clamp(30px, 3.8vw, 48px);
      margin: 0;
      letter-spacing: -.04em;
      line-height: .98;
    }
    .contact-cta-box p {
      margin: 12px 0 0;
      color: rgba(255,255,255,.76);
      max-width: 650px;
      font-size: 16px;
    }

    /* ===== BUTTONS ===== */
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 50px;
      padding: 0 23px;
      border-radius: 3px;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .11em;
      font-weight: 900;
      transition: .18s ease;
      border: 0;
      cursor: pointer;
      white-space: nowrap;
    }
    .btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 14px 28px rgba(0,0,0,.16);
    }
    .btn-red { background: var(--red); color: #fff; }

    /* ===== FOOTER ===== */
    .footer {
      border-top: 1px solid var(--line);
      color: var(--muted);
      padding: 28px 22px;
      font-size: 13px;
    }
    .footer-inner {
      max-width: var(--max);
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 980px) {
      .nav { display: none; }
      .mobile-book { display: inline-flex; }

      .contact-hero {
        min-height: 300px;
        background-position: center;
      }

      .contact-grid {
        grid-template-columns: 1fr;
      }

      .contact-card {
        padding: 32px 26px 34px;
      }

      .contact-cta-box {
        display: grid;
        grid-template-columns: 1fr;
        padding: 38px 32px;
      }
    }

    @media (max-width: 640px) {
      .topbar-inner {
        padding: 12px 16px;
        gap: 14px;
      }

      .logo-text {
        font-size: 18px;
      }

      .mobile-book {
        min-height: 38px;
        padding: 0 12px;
        font-size: 10px;
      }

      .contact-hero {
        min-height: 280px;
        background:
          linear-gradient(180deg, rgba(21,27,47,.22), rgba(21,27,47,.78)),
          url('assets/hero-paris-disney.png');
        background-size: cover;
        background-position: 58% center;
      }

      .contact-hero-inner {
        padding: 0 18px 42px;
      }

      .contact-hero h1 {
        font-size: clamp(34px, 11vw, 50px);
      }

      .contact-hero .hero-copy {
        font-size: 16px;
      }

      .contact-section {
        padding: 54px 18px 0;
      }

      .contact-card {
        padding: 28px 22px 30px;
      }

      .contact-card h2 {
        font-size: 24px;
      }

      .contact-card .detail {
        font-size: 16px;
      }

      .contact-card .detail--address {
        font-size: 15px;
      }

      .contact-cta {
        padding: 48px 18px 60px;
      }

      .contact-cta-box {
        padding: 30px 24px;
      }

      .contact-cta-box h2 {
        font-size: 28px;
      }

      .btn {
        min-height: 46px;
        padding: 0 17px;
        font-size: 11px;
      }

      .footer-inner {
        display: block;
      }

      .footer-inner > div + div {
        margin-top: 8px;
      }
    }

    @media (max-width: 420px) {
      .logo-text {
        font-size: 16px;
      }

      .mobile-book {
        padding: 0 10px;
      }

      .contact-hero h1 {
        font-size: 34px;
      }

      .contact-card h2 {
        font-size: 22px;
      }
    }/* End custom CSS */