/* AI Mode styles, part 1 of 6 (loaded in order). */
html.mozart-standalone, body.mozart-standalone {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  height: 100% !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body.mozart-standalone {
  font-family:var(--tl-font-sans);
}
#mozart-root {
  font: normal 400 13.5px/1.5 var(--tl-font-sans);
  color: var(--tl-black, #252525);
  height: 100%;
  min-height: 100vh;
}
#mozart-root, #mozart-root * {
  box-sizing: border-box;
}
#mozart-root button, #mozart-root input, #mozart-root select, #mozart-root textarea {
  font-family: inherit;
}
#mozart-root small {
  font-size: inherit;
}


    
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; overflow-x:hidden; max-width:100vw; }
    body {
      font-family:var(--tl-font-sans);
      color:var(--tl-text-primary, #323F4B); background:var(--tl-white, #FFFFFF); overflow-x:hidden;
    }

    
    #page-experience { display:flex; position:fixed; inset:0; z-index:500; flex-direction:column; background:var(--tl-surface-subtle, #F4F4F4); overflow:hidden; }
    
    #page-experience .layout { display:flex; flex:1; overflow:hidden; }
    

    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; overflow-x:hidden; max-width:100vw; }
    body {
      font-family:var(--tl-font-sans);
      color:var(--tl-text-primary, #323F4B); background:var(--tl-white, #FFFFFF); overflow-x:hidden;
    }

    

    
    .header {
      background: var(--tl-white, #FFFFFF);
      position: sticky; top:0; z-index:200;
      border-bottom: 3px solid var(--tl-emerald, #008755);
    }
    .header-inner {
      display:flex; align-items:center;
      padding: 12px 40px;
      max-width:1440px; margin:0 auto;
      gap:40px;
    }
    .header-top {
      display:none; 
    }
    .header-logo {
      display:flex; flex-direction:column; gap:2px; text-decoration:none;
    }
    .header-logo img {
      height:42px; width:auto; display:block;
    }
    .header-logo svg { display:none;  }
    .header-logo-sub { display:none;  }
    .header-icons { display:flex; align-items:center; gap:18px; }
    .header-icon-btn {
      background:none; border:none; cursor:pointer; padding:4px;
      opacity:.85; transition:opacity .2s;
    }
    .header-icon-btn:hover { opacity:1; }
    .header-icon-btn img { width:20px; height:20px; display:block; }

    
    .header-nav {
      display:none; 
      flex-wrap:nowrap; gap:16px;
    }
    .header-nav ul { display:flex; gap:28px; list-style:none; flex-shrink:1; flex-wrap:nowrap; }
    .header-nav ul li a {
      text-decoration:none; color:var(--tl-deep-ocean, #003D4C);
      font-family:var(--tl-font-sans); font-size:13.5px; font-weight:500;
      letter-spacing:1.4px; text-transform:uppercase;
      opacity:.85; transition:opacity .2s; white-space:nowrap;
    }
    .header-nav ul li a:hover { opacity:1; }
    .btn-contact-sales {
      display:inline-flex; align-items:center;
      background:transparent; color:var(--tl-deep-ocean, #003D4C);
      border: 1.5px solid var(--tl-emerald, #008755);
      border-radius:360px; padding:10px 22px;
      font-family:var(--tl-font-sans); font-size:14px; font-weight:500;
      letter-spacing:1.68px; text-transform:uppercase;
      cursor:pointer; text-decoration:none;
      transition: background .25s, border-color .25s;
      white-space:nowrap;
    }
    .btn-contact-sales:hover {
      background: rgba(0,135,85,.15); border-color:var(--tl-white, #FFFFFF);
    }

    
    .nav-amadeus-link {
      color: var(--tl-citron, #ECE81A) !important;
      font-weight:700 !important;
      opacity:1 !important;
      position:relative;
      transition: color .2s, text-shadow .2s !important;
      text-shadow: 0 0 12px rgba(236,232,26,.3);
    }
    .nav-amadeus-link:hover {
      text-shadow: 0 0 20px rgba(236,232,26,.6) !important;
    }
    .nav-right-btns { display:flex; align-items:center; }

    
    .hero {
      position:relative; overflow:hidden;
      background: url('https://www-community-dev.tracelink.com/themes/custom/tracelink_rd/images/ai-banner.png') center/cover no-repeat;
      min-height:auto;
    }
    
    .hero-bg-img { display:none; }
    .hero-network-img { display:none; }
    .hero-content {
      position:relative; z-index:2;
      max-width:1440px; margin:0 auto;
      padding: 38px 40px 25px;
    }
    .hero-text { max-width:870px; }
    .hero-h1 {
      font-family:var(--tl-font-sans);
      font-size:46px; font-weight:700; line-height:1.12;
      color: var(--tl-citron, #ECE81A); margin-bottom:0;
      font-style: normal;
    }
    .hero-h1-accent {
      font-family:var(--tl-font-sans);
      font-size:52px; font-weight:800; line-height:1.08;
      color: var(--tl-citron, #ECE81A); display:inline;
    }
    .hero-sub {
      font-size:19px; font-weight:400; color:rgba(255,255,255,.88);
      line-height:1.55; margin-top:24px; max-width:500px;
    }
    
    .hero-search-wrap {
      display:flex; align-items:center; gap:0;
      margin-top:28px; max-width:832px;
      background:transparent; border:0.67px solid rgba(236,232,26,.35);
      border-radius:52px; padding:4px 4px 4px 25px;
    }
    .hero-search-input {
      flex:1; border:none; background:transparent; outline:none;
      font-size:16px; color:var(--tl-white, #FFFFFF); font-family:var(--tl-font-sans);
      padding:6px 0;
    }
    .hero-search-input::placeholder { color:rgba(236,232,26,.45); }
    .hero-search-btn {
      display:flex; align-items:center; gap:8px;
      background:var(--tl-citron, #ECE81A); color:var(--tl-deep-ocean, #003D4C);
      border:none; border-radius:50px; padding:10px 24px;
      font-size:13px; font-weight:700; font-family:var(--tl-font-sans);
      cursor:pointer; white-space:nowrap; letter-spacing:1.5px; text-transform:uppercase;
      transition:background .2s, transform .12s;
    }
    .hero-search-btn:hover { background:var(--tl-citron-tint, #F4F176); transform:scale(1.02); }
    .hero-search-btn svg { width:14px; height:14px; }
    
    .hero-pills {
      display:flex; flex-wrap:wrap; gap:12px;
      margin-top:24px; max-width:680px;
    }
    .hero-pill {
      background:rgba(255,255,255,.08); border:none;
      color:var(--tl-white, #FFFFFF); padding:10px 26px; border-radius:29px;
      font-size:16px; font-weight:500; font-family:var(--tl-font-sans);
      cursor:pointer; transition:background .2s;
    }
    .hero-pill:hover { background:rgba(255,255,255,.18); }

    
    .hero-card-wrap {
      display:none; 
    }
    .hero-card {
      background:var(--tl-white, #FFFFFF); border-radius:12px 0 0 0;
      padding:26px 30px; position:relative;
      box-shadow:-4px -4px 32px rgba(0,0,0,.18);
      min-height:170px;
    }
    .hero-card-type {
      font-size:10.5px; letter-spacing:2px; text-transform:uppercase;
      color:var(--tl-evergreen, #006341); font-weight:700; margin-bottom:10px;
    }
    .hero-card-img {
      position:absolute; top:0; right:0; width:100px; height:100%;
      object-fit:cover; border-radius:0 12px 0 0;
    }
    .hero-card-text {
      font-size:14px; color:var(--tl-text-primary, #323F4B); line-height:1.55;
      padding-right:110px; font-weight:400;
    }
    .hero-card-cta {
      margin-top:14px; font-size:12px; font-weight:700;
      letter-spacing:1.5px; text-transform:uppercase;
      color:var(--tl-evergreen, #006341); text-decoration:none;
      display:inline-flex; align-items:center; gap:6px;
    }
    .hero-card-cta:hover { text-decoration:underline; }
    .carousel-nav {
      display:flex; justify-content:flex-end; gap:8px;
      padding:10px 28px 14px; background:var(--tl-white, #FFFFFF);
      border-top:1px solid var(--tl-slate-10, #F0F1F1);
    }
    .carousel-btn {
      width:32px; height:32px; border-radius:50%;
      background:var(--tl-evergreen, #006341); border:none; cursor:pointer;
      display:flex; align-items:center; justify-content:center;
      color:var(--tl-white, #FFFFFF); font-size:14px; transition:background .2s;
    }
    .carousel-btn:hover { background:var(--tl-evergreen, #006341); }
    .carousel-dots {
      display:flex; align-items:center; gap:6px; flex:1;
      padding-left:28px;
    }
    .carousel-dot {
      width:28px; height:3px; border-radius:4px;
      background:rgba(0,99,65,.2); cursor:pointer; transition:background .2s;
      border:none;
    }
    .carousel-dot.active { background:var(--tl-evergreen, #006341); }

    
    .drawer-overlay {
      position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:300;
      opacity:0; pointer-events:none; transition:opacity .3s;
    }
    .drawer-overlay.open { opacity:1; pointer-events:all; }

    
    .ai-drawer {
      position:fixed; top:0; right:-500px; width:480px; height:100vh;
      background:var(--tl-white, #FFFFFF); z-index:400;
      transition:right .32s var(--tl-ease-emphasized);
      display:flex; flex-direction:column;
      box-shadow:-4px 0 40px rgba(0,0,0,.18);
    }
    .ai-drawer.open { right:0; }

    .drawer-head {
      background: linear-gradient(84deg, var(--tl-deep-ocean, #003D4C) -18.9%, var(--tl-evergreen, #006341) 107.92%);
      padding:22px 24px;
      display:flex; align-items:flex-start; justify-content:space-between;
    }
    .drawer-head-left h2 {
      font-family:var(--tl-font-sans); font-size:18px; font-weight:700;
      color:var(--tl-white, #FFFFFF); margin-bottom:4px;
    }
    .drawer-head-left p { font-size:13px; color:rgba(255,255,255,.65); }
    .drawer-ai-badge {
      background:var(--tl-citron, #ECE81A); color:var(--tl-deep-ocean, #003D4C);
      padding:3px 10px; border-radius:20px;
      font-size:10.5px; font-weight:800; letter-spacing:.5px;
      margin-bottom:8px; display:inline-block;
    }
    .drawer-close {
      background:none; border:none; color:rgba(255,255,255,.6);
      font-size:24px; cursor:pointer; line-height:1; padding:0;
      transition:color .2s;
    }
    .drawer-close:hover { color:var(--tl-white, #FFFFFF); }

    .drawer-body {
      flex:1; overflow-y:auto; padding:20px 20px 0;
    }
    .drawer-body::-webkit-scrollbar { width:4px; }
    .drawer-body::-webkit-scrollbar-thumb { background:var(--tl-slate-30, #D0D3D4); border-radius:4px; }

    .drawer-greeting {
      font-size:14px; color:var(--tl-slate-90, #323F4B); line-height:1.6; margin-bottom:18px;
    }
    .drawer-greeting strong { color:var(--tl-deep-ocean, #003D4C); }

    .drawer-label {
      font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase;
      color:var(--tl-gray-50, #929292); font-weight:700; margin-bottom:10px;
    }
    .persona-pills { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
    .persona-pill {
      padding:7px 16px; border:1.5px solid var(--tl-card-border, #E7E9E9); border-radius:360px;
      font-size:12.5px; font-weight:500; cursor:pointer;
      color:var(--tl-slate-90, #323F4B); background:var(--tl-white, #FFFFFF); transition:all .2s;
      font-family:var(--tl-font-sans);
    }
    .persona-pill:hover, .persona-pill.active {
      background:var(--tl-deep-ocean, #003D4C); color:var(--tl-white, #FFFFFF); border-color:var(--tl-deep-ocean, #003D4C);
    }

    .prompt-section { display:none; }
    .prompt-btn {
      width:100%; text-align:left; padding:12px 16px;
      border:1px solid var(--tl-card-border, #E7E9E9); border-radius:8px;
      background:var(--tl-surface-subtle, #F4F4F4); font-size:13px; color:var(--tl-text-primary, #323F4B);
      cursor:pointer; margin-bottom:8px; display:flex;
      align-items:center; gap:10px; line-height:1.45;
      transition:all .2s; font-family:var(--tl-font-sans);
    }
    .prompt-btn:hover { background:var(--tl-emerald-pastel, #E5F3ED); border-color:var(--tl-emerald, #008755); }
    .prompt-btn .picon { font-size:15px; flex-shrink:0; }

    .chat-msgs { padding-bottom:10px; }
    .msg-user { display:flex; justify-content:flex-end; margin-bottom:12px; }
    .msg-user .bubble {
      background:var(--tl-deep-ocean, #003D4C); color:var(--tl-white, #FFFFFF);
      padding:11px 15px; border-radius:16px 16px 4px 16px;
      font-size:13.5px; max-width:82%; line-height:1.5;
    }
    .msg-ai { display:flex; gap:9px; align-items:flex-start; margin-bottom:12px; }
    .ai-av {
      width:30px; height:30px; border-radius:8px;
      background:var(--tl-citron, #ECE81A); flex-shrink:0;
      display:flex; align-items:center; justify-content:center;
      font-size:14px; font-weight:800; color:var(--tl-deep-ocean, #003D4C); margin-top:2px;
    }
    .msg-ai .bubble {
      background:var(--tl-surface-subtle, #F4F4F4); color:var(--tl-text-primary, #323F4B);
      padding:12px 15px; border-radius:4px 16px 16px 16px;
      font-size:13px; max-width:86%; line-height:1.6;
    }
    .msg-ai .bubble strong { color:var(--tl-deep-ocean, #003D4C); }
    .mini-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
    .mini-link {
      background:var(--tl-emerald-pastel, #E5F3ED); color:var(--tl-evergreen, #006341); padding:4px 10px;
      border-radius:4px; font-size:11.5px; font-weight:600;
      text-decoration:none; border:1px solid rgba(0,135,85,.3);
    }
    .mini-link:hover { background:var(--tl-emerald-pastel, #E5F3ED); }

    .typing-dots { display:flex; gap:5px; padding:4px 0; }
    .typing-dots span {
      width:7px; height:7px; background:var(--tl-gray-30, #BDBDBD); border-radius:50%;
      animation:tdot .9s var(--tl-ease-emphasized) infinite;
    }
    .typing-dots span:nth-child(2){ animation-delay:.2s; }
    .typing-dots span:nth-child(3){ animation-delay:.4s; }
    @keyframes tdot { 0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)} }

    .drawer-input-row {
      padding:14px 16px; border-top:1px solid var(--tl-slate-10, #F0F1F1);
      display:flex; gap:10px; align-items:flex-end;
    }
    .drawer-input {
      flex:1; border:1.5px solid var(--tl-card-border, #E7E9E9); border-radius:8px;
      padding:10px 14px; font-size:13px; font-family:var(--tl-font-sans);
      resize:none; outline:none; color:var(--tl-text-primary, #323F4B);
      transition:border-color .2s;
    }
    .drawer-input:focus { border-color:var(--tl-emerald, #008755); }
    .drawer-send-btn {
      background:var(--tl-deep-ocean, #003D4C); color:var(--tl-citron, #ECE81A);
      border:none; width:38px; height:38px; border-radius:8px;
      cursor:pointer; font-size:16px; transition:background .2s;
      flex-shrink:0;
    }
    .drawer-send-btn:hover { background:var(--tl-evergreen, #006341); }
    .drawer-footer {
      text-align:center; padding:10px; font-size:11.5px; color:var(--tl-gray-50, #929292);
      border-top:1px solid var(--tl-surface-subtle, #F4F4F4);
    }
    .drawer-footer a { color:var(--tl-evergreen, #006341); font-weight:600; text-decoration:none; }
  
    

    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    body {
      font-family:var(--tl-font-sans);
      color:var(--tl-text-primary, #323F4B); background:var(--tl-surface-subtle, #F4F4F4); font-size:15px;
    }

    
    .topbar {
      height:auto; min-height:80px;
      background: var(--tl-white, #FFFFFF);
      border-bottom: 3px solid var(--tl-emerald, #008755);
      padding-top:8px; padding-bottom:8px;
      display:flex; align-items:center; justify-content:space-between;
      padding:0 40px; position:sticky; top:0; z-index:100;
    }
    .topbar-logo { display:flex; align-items:center; gap:16px; text-decoration:none; }
    .topbar-logo img { height:140px; width:auto; display:block; }
    .topbar-logo img:not([src*="tracelink_logo_new"]) { display:none !important; }
    .topbar-logo svg { display:none !important; }
    .ai-badge {
      background:var(--tl-citron, #ECE81A); color:var(--tl-deep-ocean, #003D4C);
      padding:4px 13px; border-radius:360px;
      font-size:11px; font-weight:700; letter-spacing:.5px; white-space:nowrap;
    }
    .topbar-right { display:flex; align-items:center; gap:12px; }
    .topbar-right a {
      color:rgba(255,255,255,.75); text-decoration:none;
      font-size:13.5px; font-weight:500; letter-spacing:.2px;
      transition:color .2s; display:flex; align-items:center; gap:6px;
    }
    .topbar-right a:hover { color:var(--tl-white, #FFFFFF); }
    .topbar-divider { width:1px; height:16px; background:rgba(255,255,255,.18); }
    .btn-demo {
      border:2px solid var(--tl-evergreen, #006341); border-radius:360px;
      padding:9px 22px; color:var(--tl-evergreen, #006341) !important;
      font-size:14px; font-weight:600; font-family:var(--tl-font-sans);
      text-decoration:none; background:var(--tl-white, #FFFFFF);
      transition:border-color .2s, background .2s, color .2s !important;
    }
    .btn-demo:hover { background:var(--tl-evergreen, #006341) !important; color:var(--tl-white, #FFFFFF) !important; }

    
    .topbar-left { display:flex; align-items:center; gap:4px; }
    .topbar-logo { margin-right:12px; }
    .topbar-nav-inline { display:flex; align-items:center; gap:0; }
    .topbar-nav-inline a {
      color:var(--tl-evergreen, #006341); text-decoration:none;
      font-family:var(--tl-font-sans); font-size:18px; font-weight:700;
      padding:8px 16px; border-radius:8px; white-space:nowrap;
      transition:background .2s, color .2s;
    }
    .topbar-nav-inline a:hover { background:rgba(0,99,65,.06); color:var(--tl-evergreen, #006341); }
    .topbar-nav-dropdown { position:relative; }
    .topbar-more-btn {
      display:flex; align-items:center; gap:5px;
      background:none; border:none; cursor:pointer;
      color:var(--tl-deep-ocean, #003D4C);
      font-family:var(--tl-font-sans); font-size:13px; font-weight:500;
      padding:6px 11px; border-radius:8px; white-space:nowrap;
      transition:background .2s, color .2s;
    }
    .topbar-more-btn:hover { background:rgba(0,61,76,.06); color:var(--tl-deep-ocean, #003D4C); }
    .topbar-more-btn.active { background:rgba(0,61,76,.08); color:var(--tl-deep-ocean, #003D4C); }
    .topbar-menu-items {
      display:none; position:absolute; top:calc(100% + 6px); left:0;
      background:rgb(0,51,66); border:1px solid rgba(255,255,255,.15);
      border-radius:8px; padding:6px 0; min-width:240px; z-index:1000;
      box-shadow:0 8px 24px rgba(0,0,0,.3);
    }
    .topbar-menu-items.open { display:block; }
    .topbar-menu-items a {
      display:block; padding:10px 18px;
      color:rgba(255,255,255,.8); text-decoration:none;
      font-family:var(--tl-font-sans); font-size:13px; font-weight:500;
      letter-spacing:.5px; text-transform:uppercase;
      transition:background .15s, color .15s;
    }
