:root{
      --orange:#F05022;
      --orange-dark:#D94418;
      --orange-soft:#FFF1EB;
      --navy:#0E2C52;
      --navy-2:#173C69;
      --navy-3:#0A213E;
      --ink:#1E2022;
      --text-body:#333333;
      --muted:#59595F;
      --muted-2:#6B7280;
      --bg:#F6F7F8;
      --bg-2:#EEF2F5;
      --paper:#FFFFFF;
      --line:#DDE3E8;
      --line-dark:#C8D0D8;
      --success:#1D7555;
      --error:#B43C2A;
      --radius-sm:10px;
      --radius:16px;
      --radius-lg:24px;
      --radius-xl:30px;
      --shadow-sm:0 8px 22px rgba(14,44,82,.06);
      --shadow:0 18px 50px rgba(14,44,82,.10);
      --container:1450px;
      --header:76px;
      --ease:180ms ease;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}

    body{
      margin:0;
      font-family:var(--font-sans, 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
      background:var(--bg);
      color:var(--text-body);
      line-height:1.65;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }

    main#top{
      position:relative;
      background-color:var(--bg, #F6F7F8);
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='5' fill='%23F05022' fill-opacity='0.01'/%3E%3Ccircle cx='0' cy='0' r='5' fill='%23F05022' fill-opacity='0.01'/%3E%3Ccircle cx='22' cy='0' r='5' fill='%23F05022' fill-opacity='0.01'/%3E%3Ccircle cx='0' cy='22' r='5' fill='%23F05022' fill-opacity='0.01'/%3E%3Ccircle cx='22' cy='22' r='5' fill='%23F05022' fill-opacity='0.01'/%3E%3C/svg%3E");
      background-repeat:repeat;
      background-position:0 0;
    }

    /* INTERACTIVE PAGE-WIDE HONEYCOMB / BEE HIVE GRID CANVAS */
    .page-honeycomb-canvas{
      position:fixed;
      top:0;
      left:0;
      width:100vw;
      height:100vh;
      pointer-events:none;
      z-index:0;
    }

    body.menu-open{overflow:hidden}
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}
    img,svg{display:block;max-width:100%}

    :focus-visible{
      outline:3px solid rgba(240,80,34,.35);
      outline-offset:3px;
    }

    .container{
      width:min(calc(100% - 40px), var(--container));
      max-width:1450px;
      margin-inline:auto;
    }

    .site-header .container{
      width:min(calc(100% - 40px), 1500px);
      max-width:1500px;
    }

    .hero .container{
      width:min(calc(100% - 40px), 1450px);
      max-width:1450px;
    }

    .section{padding:88px 0; background:transparent;}
    .section-sm{padding:64px 0; background:transparent;}
    .section-lg{padding:108px 0; background:transparent;}
    .surface-white{background:transparent}
    .surface-soft{background:transparent}
    .surface-blue{background:transparent}
    .surface-peach{background:transparent}

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:9px;
      margin-bottom:14px;
      color:var(--orange);
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:.875rem;
      line-height:1.43;
      font-weight:600;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .eyebrow::before{
      content:"";
      width:22px;
      height:2px;
      border-radius:99px;
      background:currentColor;
    }

    h1,h2,h3,h4,h5,h6,p{margin-top:0}

    h1,h2,h3,h4,h5,h6{
      margin-bottom:0;
      color:var(--ink);
    }

    h1{
      max-width:830px;
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:clamp(2.25rem, 3.8vw, 3rem);
      font-weight:600;
      line-height:1.2;
      letter-spacing:-1.44px;
    }

    h2{
      font-family:var(--font-heading, 'Inter Tight', 'Inter', sans-serif);
      font-size:clamp(1.85rem, 2.8vw, 2.8125rem);
      font-weight:400;
      line-height:1.15;
      letter-spacing:-0.8px;
    }

    h3{
      font-family:var(--font-heading, 'Inter Tight', 'Inter', sans-serif);
      font-size:clamp(1.2rem, 1.8vw, 1.45rem);
      font-weight:500;
      line-height:1.25;
      letter-spacing:-0.5px;
    }

    h4{
      font-family:var(--font-heading, 'Inter Tight', 'Inter', sans-serif);
      font-size:1.25rem;
      font-weight:500;
      line-height:1.2;
      color:var(--text-body);
    }

    h5{
      font-family:var(--font-heading, 'Inter Tight', 'Inter', sans-serif);
      font-size:2rem;
      font-weight:500;
      line-height:1.2;
    }

    h6{
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:clamp(1.3rem, 2vw, 2.1875rem);
      font-weight:500;
      line-height:1.2;
      letter-spacing:-0.5px;
    }

    p{
      margin-bottom:0;
      color:var(--text-body);
      font-size:1rem;
      line-height:1.65;
    }

    .lead{
      max-width:730px;
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:clamp(1.05rem, 1.3vw, 1.25rem);
      font-weight:400;
      line-height:1.5;
      color:var(--ink);
    }

    .muted-small{
      color:var(--muted-2);
      font-size:.875rem;
      line-height:1.43;
    }

    .accent{color:var(--orange)}
    .br-mobile{display:none}

    .section-head{
      max-width:790px;
      margin-bottom:38px;
    }

    .section-head.center{
      margin-inline:auto;
      text-align:center;
    }

    .section-head.center .lead{margin-inline:auto}
    .section-head h2{margin-bottom:16px}

    .btn-row{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:28px;
    }

    .btn{
      min-height:50px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:0 24px;
      border:1px solid transparent;
      border-radius:12px;
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:15px;
      line-height:1.4;
      font-weight:500;
      cursor:pointer;
      text-decoration:none;
      position:relative;
      overflow:hidden;
      transition:background 0.25s ease,border-color 0.25s ease,transform 0.25s ease,box-shadow 0.25s ease,color 0.25s ease;
    }

    .btn:hover{transform:translateY(-2px)}

    .btn-text{
      position:relative;
      display:inline-grid;
      overflow:hidden;
      height:1.4em;
      line-height:1.4;
    }

    .btn-text > span{
      display:block;
      transition:transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
      white-space:nowrap;
    }

    .btn-text > span:last-child{
      position:absolute;
      top:100%;
      left:0;
      width:100%;
    }

    .btn:hover .btn-text > span:first-child{
      transform:translateY(-100%);
    }

    .btn:hover .btn-text > span:last-child{
      transform:translateY(-100%);
    }

    .btn--primary{
      color:#fff;
      background:var(--orange);
      border-color:var(--orange);
      box-shadow:0 9px 22px rgba(240,80,34,.22);
    }

    .btn--primary:hover{
      background:var(--navy);
      border-color:var(--navy);
      color:#fff;
      box-shadow:0 0 0 4px rgba(74, 144, 226, 0.38), 0 10px 24px rgba(14, 44, 82, 0.24);
    }

    .btn--secondary{
      color:var(--ink);
      background:#fff;
      border-color:var(--line-dark);
    }

    .btn--secondary:hover{
      background:var(--navy);
      border-color:var(--navy);
      color:#fff;
      box-shadow:var(--shadow-sm);
    }

    .btn svg{
      width:16px;
      height:16px;
      transition:transform 240ms ease;
      flex-shrink:0;
    }

    .btn:hover svg{
      transform:translateX(3px);
    }

    /* HEADER */
    .site-header{
      position:sticky;
      top:0;
      z-index:100;
      height:var(--header);
      display:flex;
      align-items:center;
      background:rgba(246,247,248,.92);
      border-bottom:1px solid rgba(221,227,232,.9);
      backdrop-filter:blur(14px);
    }

    .site-header.header-style-2{
      height:auto;
      padding:14px 20px;
      background:transparent !important;
      border:none !important;
      border-bottom:none !important;
      backdrop-filter:none !important;
      -webkit-backdrop-filter:none !important;
      box-shadow:none !important;
    }

    .nav{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
    }

    .brand{
      display:inline-flex;
      align-items:center;
      gap:11px;
      color:var(--navy);
      font-size:1.02rem;
      font-weight:900;
      letter-spacing:-.02em;
    }

    .brand-symbol{
      width:35px;
      height:35px;
      display:grid;
      place-items:center;
      border-radius:10px;
      color:#fff;
      background:var(--navy);
      box-shadow:inset -9px -9px 0 rgba(240,80,34,.22);
      font-size:.78rem;
      font-weight:900;
    }

    .nav-links{
      display:flex;
      align-items:center;
      gap:4px;
    }

    .nav-links>a:not(.btn){
      padding:10px 11px;
      border-radius:9px;
      color:var(--color-text-nav, #5B616E);
      font-size:.875rem;
      font-weight:400;
      letter-spacing:-0.08px;
      transition:background var(--ease),color var(--ease);
    }

    .nav-links>a:not(.btn):hover,
    .nav-links>a[aria-current="page"]{
      color:var(--ink);
      background:#fff;
    }

    .nav-links .btn{
      margin-left:7px;
      min-height:42px;
      padding-inline:16px;
      font-size:.9375rem;
      font-weight:500;
    }

    .menu-toggle{
      display:none;
      width:44px;
      height:44px;
      align-items:center;
      justify-content:center;
      border:1px solid var(--line);
      border-radius:10px;
      background:#fff;
      color:var(--navy);
      cursor:pointer;
    }

    .menu-toggle svg{width:22px;height:22px}

    /* HERO */
    .hero{
      position:relative;
      overflow:hidden;
      padding:24px 0 0;
      background:transparent;
    }

    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0, 60fr) minmax(280px, 40fr);
      gap:36px;
      align-items:start;
      position:relative;
      z-index:1;
    }

    .hero h1{
      max-width:790px;
      margin-bottom:16px;
    }
    .hero .lead{max-width:100%}

    /* HERO CONTACT AUTO-SCROLLING SHOWCASE (Full Width Long Cards) */
    .hero-contact-showcase{
      position:relative;
      width:100%;
      height:420px;
      overflow:hidden;
      display:flex;
      align-items:center;
      justify-content:center;
      background:transparent;
      border:none;
      box-shadow:none;
      mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.85) 10%, black 22%, black 78%, rgba(0,0,0,0.85) 90%, transparent 100%);
      -webkit-mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.85) 10%, black 22%, black 78%, rgba(0,0,0,0.85) 90%, transparent 100%);
    }

    .contact-stream-viewport{
      position:relative;
      width:100%;
      height:100%;
      overflow:hidden;
    }

    .contact-stream-track{
      display:flex;
      flex-direction:column;
      gap:14px;
      width:100%;
      will-change:transform;
      animation:contactStreamScrollUp 32s linear infinite;
    }

    .hero-contact-showcase:hover .contact-stream-track{
      animation-play-state:paused;
    }

    @keyframes contactStreamScrollUp{
      0%{
        transform:translateY(0);
      }
      100%{
        transform:translateY(-50%);
      }
    }

    /* FULL WIDTH CONTACT FEATURE CARD (Matching Reference UI) */
    .contact-feature-card{
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      width:100%;
      min-height:130px;
      padding:18px 20px;
      border:1px solid var(--line, #DDE3E8);
      border-radius:16px;
      background:#FFFFFF;
      box-shadow:0 8px 24px rgba(14,44,82,.06);
      font-family:var(--font-sans, 'Inter', sans-serif);
      transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
      user-select:none;
      cursor:default;
    }

    .contact-feature-card:hover{
      transform:translateY(-2px) scale(1.01);
      border-color:#BAC7D5;
      box-shadow:0 12px 28px rgba(14,44,82,.10);
    }

    .contact-feature-card .contact-card-title{
      color:var(--navy, #0E2C52);
      font-family:var(--font-heading, 'Inter Tight', sans-serif);
      font-size:1.15rem;
      font-weight:800;
      letter-spacing:0.01em;
      text-transform:uppercase;
      line-height:1.2;
      margin:0;
    }

    .contact-feature-card .contact-card-desc{
      color:var(--muted, #59595F);
      font-size:0.84375rem;
      line-height:1.45;
      margin:8px 0 12px;
    }

    .contact-feature-card .contact-card-footer{
      display:flex;
      align-items:center;
      gap:8px;
      border-top:1px solid #EEF2F6;
      padding-top:10px;
      font-size:0.78125rem;
      font-weight:600;
      color:#16A34A;
    }

    .contact-feature-card .contact-card-footer svg{
      width:15px;
      height:15px;
      color:#16A34A;
      stroke:#16A34A;
      flex-shrink:0;
    }

    /* HERO DARK TRUST MARQUEE RIBBON (Full Screen Width) */
    .hero-contact-marquee{
      margin-top:48px;
    }

    .trust-marquee-bar{
      background:rgba(11, 27, 43, 0.90);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
      padding:28px 0;
      overflow:hidden;
      position:relative;
      width:100%;
      z-index:4;
      border-top:1px solid rgba(255, 255, 255, 0.14);
      border-bottom:1px solid rgba(255, 255, 255, 0.08);
      box-shadow:0 -6px 28px rgba(0, 0, 0, 0.28);
    }

    .trust-marquee-viewport{
      width:100%;
      overflow:hidden;
      display:flex;
      mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,1) 4%, rgba(0,0,0,1) 96%, transparent 100%);
      -webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,1) 4%, rgba(0,0,0,1) 96%, transparent 100%);
    }

    .trust-marquee-track{
      display:flex;
      align-items:center;
      gap:48px;
      white-space:nowrap;
      width:max-content;
      will-change:transform;
      animation:trustMarqueeScrollLeft 38s linear infinite;
    }

    @keyframes trustMarqueeScrollLeft{
      0%{
        transform:translateX(0%);
      }
      100%{
        transform:translateX(-50%);
      }
    }

    .trust-marquee-item{
      display:inline-flex;
      align-items:center;
      gap:16px;
      font-family:var(--font-heading, 'Inter Tight', 'Inter', sans-serif);
      font-size:1.85rem;
      font-weight:700;
      letter-spacing:-0.02em;
      line-height:1.2;
      user-select:none;
    }

    .trust-marquee-item .item-icon{
      width:28px;
      height:28px;
      flex-shrink:0;
      stroke-width:2.2;
    }

    .trust-marquee-item .chevron-icon{
      width:20px;
      height:20px;
      flex-shrink:0;
      margin-left:8px;
      opacity:0.85;
    }

    .trust-marquee-item.is-orange{
      color:#F05022;
    }

    .trust-marquee-item.is-orange .item-icon{
      stroke:#F05022;
    }

    .trust-marquee-item.is-orange .chevron-icon{
      color:#F05022;
    }

    .trust-marquee-item.is-white{
      color:#FFFFFF;
    }

    .trust-marquee-item.is-white .item-icon{
      stroke:#FFFFFF;
    }

    .trust-marquee-item.is-white .chevron-icon{
      color:#FFFFFF;
    }

    @media (max-width: 900px){
      .trust-marquee-bar{
        padding:20px 0;
      }
      .trust-marquee-track{
        gap:32px;
      }
      .trust-marquee-item{
        font-size:1.35rem;
        gap:12px;
      }
      .trust-marquee-item .item-icon{
        width:22px;
        height:22px;
      }
      .trust-marquee-item .chevron-icon{
        width:16px;
        height:16px;
      }
    }

    /* ==========================================================================
       CENTERED ENQUIRY SECTION HEADER (NO LINE DESIGN)
       ========================================================================== */
    .enquiry-section-head{
      max-width: 860px !important;
      margin-inline: auto !important;
      margin-bottom: 58px !important;
      text-align: center !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
    }

    .enquiry-section-head .eyebrow{
      justify-content: center !important;
      margin-bottom: 14px !important;
    }

    .enquiry-section-head h2{
      display: flex !important;
      flex-direction: column !important;
      gap: 4px !important;
      align-items: center !important;
      font-family: var(--font-heading, 'Inter Tight', 'Inter', sans-serif) !important;
      font-size: clamp(2.25rem, 3.4vw, 3rem) !important;
      font-weight: 700 !important;
      line-height: 1.18 !important;
      letter-spacing: -0.8px !important;
      margin: 0 !important;
    }

    .enquiry-section-head h2 .title-line{
      display: block !important;
      white-space: nowrap !important;
    }

    .enquiry-section-head h2 .line-dark{
      color: var(--navy, #0E2C52) !important;
    }

    .enquiry-section-head h2 .line-orange{
      color: var(--orange, #F05022) !important;
    }

    .enquiry-section-head .lead{
      margin-top: 18px !important;
      margin-inline: auto !important;
      max-width: 620px !important;
      font-size: clamp(0.96rem, 1.1vw, 1.05rem) !important;
      line-height: 1.65 !important;
      color: var(--muted, #59595F) !important;
    }

    .enquiry-section-head .lead strong{
      color: var(--ink, #1E2022) !important;
      font-weight: 600 !important;
    }

    .head-split-right{
      margin-bottom:2px;
      padding-left:0;
      border-left:none;
    }

    .head-split-right p{
      font-size:clamp(.92rem, 1.1vw, 1.025rem);
      color:var(--muted, #59595F);
      line-height:1.58;
      margin:0;
    }

    .head-split-right strong{
      color:var(--ink, #1E2022);
      font-weight:600;
    }

    @media (max-width: 900px){
      .section-head-split{
        grid-template-columns:1fr;
        gap:18px;
        margin-bottom:28px;
      }
      .head-split-divider{
        display:none;
      }
    }

    /* ==========================================================================
       FLOATING QUICK ROUTE DOCK (Fixed on bottom-right, vertical icon + short label)
       ========================================================================== */
    .floating-route-dock{
      position: fixed;
      bottom: 32px;
      right: 28px;
      z-index: 99;
      opacity: 0;
      pointer-events: none;
      transform: translateY(16px) scale(0.96);
      transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .floating-route-dock.is-visible{
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0) scale(1);
    }

    .route-dock-inner{
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: 6px;
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(14, 44, 82, 0.12);
      border-radius: 16px;
      box-shadow: 0 12px 36px rgba(14, 44, 82, 0.14), 0 2px 8px rgba(0, 0, 0, 0.04);
      transition: transform 0.25s ease, box-shadow 0.25s ease;
    }

    .route-dock-btn{
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 9px 14px 9px 11px;
      border: 1px solid transparent;
      border-radius: 11px;
      background: transparent;
      color: #59595F;
      font-family: var(--font-sans, 'Inter', sans-serif);
      font-size: 0.84375rem;
      font-weight: 500;
      letter-spacing: -0.01em;
      cursor: pointer;
      white-space: nowrap;
      transition: all 0.2s ease;
    }

    .route-dock-btn svg{
      width: 17px;
      height: 17px;
      flex-shrink: 0;
      color: #59595F;
      stroke: #59595F;
      transition: stroke 0.2s ease, transform 0.2s ease;
    }

    .route-dock-btn:hover{
      background: rgba(14, 44, 82, 0.04);
      color: var(--navy, #0E2C52);
    }

    .route-dock-btn:hover svg{
      stroke: var(--navy, #0E2C52);
      transform: scale(1.06);
    }

    /* Selected state: icon and text are orange, with soft surface */
    .route-dock-btn.active{
      background: rgba(240, 80, 34, 0.08);
      border-color: rgba(240, 80, 34, 0.24);
      color: var(--orange, #F05022) !important;
      font-weight: 600 !important;
      box-shadow: 0 2px 8px rgba(240, 80, 34, 0.10);
    }

    .route-dock-btn.active svg{
      color: var(--orange, #F05022) !important;
      stroke: var(--orange, #F05022) !important;
    }

    .route-dock-label{
      display: inline-block;
      line-height: 1;
    }

    /* ==========================================================================
       UNIFIED CONTACT & ROUTE LAYOUT
       ========================================================================== */
    .contact-combined-layout{
      display:grid;
      grid-template-columns: minmax(320px, 390px) minmax(0, 1fr);
      gap: 36px;
      align-items: flex-start;
    }

    .contact-left-col{
      position: sticky;
      top: calc(var(--header, 76px) + 24px);
      display: flex;
      flex-direction: column;
      gap: 20px;
      align-self: flex-start;
      z-index: 2;
    }

    /* Blue Aside Box */
    .form-aside{
      padding: 28px 24px;
      background: var(--navy, #0E2C52);
      color: #FFFFFF;
      border-radius: 20px;
      border: 1px solid rgba(255, 255, 255, 0.08);
      box-shadow: 0 16px 40px rgba(14, 44, 82, 0.15);
    }

    .form-aside .eyebrow{
      color: #FF8B67;
      margin-bottom: 10px;
    }

    .form-aside-title{
      color: #FFFFFF;
      font-family: var(--font-heading, 'Inter Tight', sans-serif);
      font-size: 1.15rem;
      font-weight: 600;
      line-height: 1.35;
      margin: 0 0 10px;
    }

    .form-aside-desc{
      color: #C4D1DD;
      font-size: 0.84375rem;
      line-height: 1.5;
      margin: 0;
    }

    .aside-points{
      display: flex;
      flex-direction: column;
      gap: 0;
      margin-top: 18px;
      border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .aside-point{
      display: grid;
      grid-template-columns: 24px 1fr;
      gap: 10px;
      padding: 10px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    }

    .aside-point svg{
      width: 16px;
      height: 16px;
      margin-top: 2px;
      color: #FF8B67;
    }

    .aside-point strong{
      display: block;
      color: #FFFFFF;
      font-size: 0.84375rem;
      font-weight: 600;
    }

    .aside-point span{
      display: block;
      margin-top: 2px;
      color: #CBD7E2;
      font-size: 0.78125rem;
      line-height: 1.4;
    }

    .aside-point--phone{
      background: rgba(255, 255, 255, 0.05);
      border-radius: 10px;
      padding: 10px 12px;
      margin-top: 6px;
      border: 1px solid rgba(255, 255, 255, 0.12);
    }

    .aside-phone-link{
      display: inline-block;
      margin-top: 3px;
      color: #FF8B67 !important;
      font-weight: 700;
      font-size: 0.95rem;
      text-decoration: none;
      transition: color 180ms ease, transform 180ms ease;
    }

    .aside-phone-link:hover{
      color: #FFFFFF !important;
      transform: translateX(2px);
    }

    /* Right Column */
    .contact-right-col{
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    /* Route Cards at top of form (Inspired by Home "Built for the decision" cards) */
    .route-grid--form-top{
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }

    .route-grid--form-top .route-card,
    .route-card{
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 10px;
      padding: 20px 22px;
      border: 1.5px solid var(--line, #DDE3E8);
      border-radius: 16px;
      background: #FFFFFF;
      box-shadow: 0 4px 16px rgba(14, 44, 82, 0.04);
      cursor: pointer;
      user-select: none;
      transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background-color 220ms ease;
    }

    .route-grid--form-top .route-card:hover,
    .route-card:hover{
      transform: translateY(-2px);
      background: rgba(255, 247, 242, 0.95);
      border-color: rgba(240, 80, 34, 0.5);
      box-shadow: 0 8px 24px rgba(14, 44, 82, 0.08);
    }

    .route-grid--form-top .route-card.active,
    .route-card.active{
      border-color: var(--orange, #F05022);
      background: #FFFFFF;
      box-shadow: 0 10px 26px rgba(240, 80, 34, 0.12), 0 0 0 2px var(--orange, #F05022);
    }

    .route-card .col-top-bar{
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }

    .route-card .col-top-bar h3{
      font-family: var(--font-heading, 'Inter Tight', 'Inter', sans-serif);
      font-size: clamp(1.05rem, 1.2vw, 1.22rem);
      font-weight: 700;
      line-height: 1.2;
      color: var(--navy, #0E2C52);
      margin: 0;
      letter-spacing: -0.2px;
    }

    .route-card.active .col-top-bar h3{
      color: var(--navy, #0E2C52);
    }

    .route-card .col-icon-box{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 38px;
      height: 38px;
      border: 1px solid rgba(14, 44, 82, 0.12);
      border-radius: 10px;
      background: #F8FAFC;
      color: var(--navy, #0E2C52);
      box-shadow: 0 2px 6px rgba(14, 44, 82, 0.04);
      flex-shrink: 0;
      transition: transform 220ms ease, border-color 220ms ease, color 220ms ease, background-color 220ms ease;
    }

    .route-card .col-icon-box svg{
      width: 18px;
      height: 18px;
      stroke: var(--navy, #0E2C52);
      transition: stroke 220ms ease;
    }

    .route-card:hover .col-icon-box{
      transform: scale(1.06);
      border-color: var(--orange, #F05022);
      color: var(--orange, #F05022);
      background: rgba(240, 80, 34, 0.08);
    }

    .route-card:hover .col-icon-box svg{
      stroke: var(--orange, #F05022);
    }

    .route-card.active .col-icon-box{
      border-color: var(--orange, #F05022);
      color: #FFFFFF;
      background: var(--orange, #F05022);
      box-shadow: 0 4px 12px rgba(240, 80, 34, 0.28);
    }

    .route-card.active .col-icon-box svg{
      stroke: #FFFFFF;
    }

    .route-card .col-desc{
      font-size: 0.8125rem;
      color: var(--muted, #59595F);
      line-height: 1.45;
      margin: 0;
    }

    /* Standalone White Form Box */
    .form-main--standalone{
      position: relative;
      z-index: 2;
      padding: 36px 32px;
      background-color: #FFFFFF !important;
      background: #FFFFFF !important;
      border: 1px solid var(--line, #DDE3E8);
      border-radius: 20px;
      box-shadow: 0 16px 45px rgba(14, 44, 82, 0.06);
    }

    .form-main--standalone .form-toolbar{
      display: none;
    }

    .form-toolbar{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-bottom:28px;
      padding-bottom:22px;
      border-bottom:1px solid var(--line);
    }

    .form-tab{
      min-height:42px;
      padding:0 16px;
      border:1px solid var(--line);
      border-radius:10px;
      background:#fff;
      color:#4B5D6E;
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:.875rem;
      font-weight:500;
      cursor:pointer;
      transition:background var(--ease),border-color var(--ease),color var(--ease);
    }

    .form-tab:hover{
      border-color:#BEC9D2;
      color:var(--ink);
    }

    .form-tab.active{
      border-color:var(--orange);
      background:var(--orange-soft);
      color:var(--orange-dark);
    }

    .form-panel{display:none}
    .form-panel.active{display:block}

    .form-panel-head{
      margin-bottom:24px;
    }

    .form-panel-head h3{
      font-family:var(--font-heading, 'Inter Tight', sans-serif);
      font-size:1.35rem;
      font-weight:700;
      color:var(--navy, #0E2C52);
      margin-bottom:8px;
    }

    .form-panel-head p{
      font-size:.9375rem;
      color:var(--muted);
      line-height:1.55;
    }

    /* ==========================================================================
       FLUENT FORMS THEME STYLING
       ========================================================================== */
    .fluentform,
    .frm-fluent-form{
      width: 100% !important;
      max-width: 100% !important;
      font-family: var(--font-sans, 'Inter', sans-serif) !important;
    }

    .fluentform .ff-el-group{
      margin-bottom: 18px !important;
    }

    /* Section Break Headings matching .form-subhead */
    .fluentform .ff-el-section-break{
      margin: 24px 0 16px !important;
      padding-top: 20px !important;
      border-top: 1px solid #EEF2F6 !important;
    }

    .fluentform .ff-el-section-break:first-of-type,
    .fluentform fieldset > .ff-el-section-break:first-child{
      margin-top: 0 !important;
      padding-top: 0 !important;
      border-top: none !important;
    }

    .fluentform .ff-el-section-break hr{
      display: none !important;
    }

    .fluentform .ff-el-section-title{
      display: flex !important;
      align-items: center !important;
      gap: 9px !important;
      font-family: var(--font-heading, 'Inter Tight', sans-serif) !important;
      font-size: 0.9375rem !important;
      font-weight: 700 !important;
      color: var(--navy, #0E2C52) !important;
      letter-spacing: 0.02em !important;
      text-transform: uppercase !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .fluentform .ff-el-section-title::before{
      content: "";
      display: inline-block;
      width: 4px;
      height: 16px;
      background: var(--orange, #F05022);
      border-radius: 2px;
      flex-shrink: 0;
    }

    /* 2-Column Responsive Layout for Fluent Forms Multi-Column Containers */
    .fluentform .ff-t-container,
    .fluentform .ff-column-container{
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: wrap !important;
      gap: 18px !important;
      margin: 0 0 18px 0 !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }

    .fluentform .ff-t-container .ff-t-cell,
    .fluentform .ff-column-container .ff-t-cell{
      flex: 1 1 calc(50% - 9px) !important;
      max-width: calc(50% - 9px) !important;
      min-width: 0 !important;
      padding: 0 !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    .fluentform .ff_columns_total_1 .ff-t-cell{
      flex: 1 1 100% !important;
      max-width: 100% !important;
    }

    .fluentform .ff_columns_total_2 .ff-t-cell{
      flex: 1 1 calc(50% - 9px) !important;
      max-width: calc(50% - 9px) !important;
    }

    .fluentform .ff_columns_total_3 .ff-t-cell{
      flex: 1 1 calc(33.333% - 12px) !important;
      max-width: calc(33.333% - 12px) !important;
    }

    /* Reset child group margins inside columns so they align neatly */
    .fluentform .ff-t-cell .ff-el-group{
      margin-bottom: 0 !important;
      width: 100% !important;
    }

    @media (max-width: 680px){
      .fluentform .ff-t-container,
      .fluentform .ff-column-container{
        flex-direction: column !important;
        gap: 16px !important;
      }
      .fluentform .ff-t-container .ff-t-cell,
      .fluentform .ff-column-container .ff-t-cell,
      .fluentform .ff_columns_total_2 .ff-t-cell,
      .fluentform .ff_columns_total_3 .ff-t-cell{
        flex: 1 1 100% !important;
        max-width: 100% !important;
      }
    }

    /* Labels */
    .fluentform .ff-el-input--label{
      margin-bottom: 7px !important;
    }

    .fluentform .ff-el-input--label label{
      color: var(--ink, #1E2022) !important;
      font-family: var(--font-sans, 'Inter', sans-serif) !important;
      font-size: 0.875rem !important;
      font-weight: 700 !important;
      line-height: 1.43 !important;
    }

    .fluentform .ff-el-is-required .asterisk,
    .fluentform .asterisk-right label::after{
      color: var(--orange, #F05022) !important;
      font-weight: 700 !important;
    }

    /* Form Controls (Inputs, Selects, Textareas) */
    .fluentform .ff-el-form-control,
    .fluentform input[type="text"].ff-el-form-control,
    .fluentform input[type="email"].ff-el-form-control,
    .fluentform input[type="tel"].ff-el-form-control,
    .fluentform input[type="url"].ff-el-form-control,
    .fluentform select.ff-el-form-control,
    .fluentform textarea.ff-el-form-control{
      width: 100% !important;
      min-height: 48px !important;
      padding: 11px 14px !important;
      border: 1px solid #CCD5DD !important;
      border-radius: 10px !important;
      background: #FFFFFF !important;
      color: var(--ink, #1E2022) !important;
      font-family: var(--font-sans, 'Inter', sans-serif) !important;
      font-size: 1rem !important;
      line-height: 1.5 !important;
      outline: none !important;
      box-shadow: none !important;
      transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
      box-sizing: border-box !important;
    }

    .fluentform textarea.ff-el-form-control{
      min-height: 130px !important;
      resize: vertical !important;
      line-height: 1.55 !important;
    }

    .fluentform select.ff-el-form-control{
      cursor: pointer !important;
      appearance: auto !important;
      -webkit-appearance: menulist !important;
    }

    .fluentform .ff-el-form-control::placeholder{
      color: #9AA5AF !important;
    }

    .fluentform .ff-el-form-control:focus{
      border-color: var(--navy, #0E2C52) !important;
      box-shadow: 0 0 0 3px rgba(14, 44, 82, 0.08) !important;
      background: #FFFFFF !important;
    }

    /* Tooltips / Help Messages */
    .fluentform .ff-el-tooltip{
      display: inline-flex !important;
      margin-left: 6px !important;
      vertical-align: middle !important;
      color: var(--muted-2, #6B7280) !important;
    }

    .fluentform .ff-el-help-message{
      font-size: 0.8125rem !important;
      color: var(--muted-2, #6B7280) !important;
      margin-top: 5px !important;
      line-height: 1.4 !important;
    }

    /* Checkbox & Terms */
    .fluentform .ff-el-form-check{
      margin-top: 8px !important;
    }

    .fluentform .ff-el-form-check-label{
      display: grid !important;
      grid-template-columns: 18px 1fr !important;
      gap: 10px !important;
      align-items: start !important;
      cursor: pointer !important;
      font-size: 0.875rem !important;
      font-family: var(--font-sans, 'Inter', sans-serif) !important;
      font-weight: 700 !important;
      color: var(--text-body, #333333) !important;
      line-height: 1.45 !important;
    }

    .fluentform .ff-el-form-check-input{
      width: 18px !important;
      height: 18px !important;
      margin: 2px 0 0 !important;
      accent-color: var(--orange, #F05022) !important;
      cursor: pointer !important;
    }

    /* Submit Button */
    .fluentform .ff_submit_btn_wrapper{
      margin-top: 24px !important;
      padding-top: 20px !important;
      border-top: 1px solid var(--line, #DDE3E8) !important;
    }

    .fluentform button.ff-btn-submit{
      min-height: 50px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 10px !important;
      padding: 0 28px !important;
      border: 1px solid var(--orange, #F05022) !important;
      border-radius: 12px !important;
      background: var(--orange, #F05022) !important;
      color: #FFFFFF !important;
      font-family: var(--font-sans, 'Inter', sans-serif) !important;
      font-size: 15px !important;
      font-weight: 600 !important;
      cursor: pointer !important;
      box-shadow: 0 9px 22px rgba(240, 80, 34, 0.22) !important;
      transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease !important;
    }

    .fluentform button.ff-btn-submit:hover{
      background: var(--navy, #0E2C52) !important;
      border-color: var(--navy, #0E2C52) !important;
      color: #FFFFFF !important;
      transform: translateY(-2px) !important;
      box-shadow: 0 0 0 4px rgba(74, 144, 226, 0.38), 0 10px 24px rgba(14, 44, 82, 0.24) !important;
    }

    /* Validation Errors & Success Banners */
    .fluentform .error,
    .fluentform .ff-errors-in-stack,
    .fluentform .ff-error-message{
      color: var(--error, #B43C2A) !important;
      font-size: 0.8125rem !important;
      font-weight: 500 !important;
      margin-top: 4px !important;
    }

    .fluentform .ff-message-success,
    .fluentform_success{
      padding: 16px 20px !important;
      border: 1px solid #BFDACD !important;
      border-radius: 12px !important;
      background: #F1F8F5 !important;
      color: var(--success, #1D7555) !important;
      font-size: 0.9375rem !important;
      font-weight: 600 !important;
      line-height: 1.5 !important;
      margin-top: 18px !important;
    }

    .form-subhead{
      grid-column: 1 / -1;
      margin: 18px 0 4px;
      padding-top: 18px;
      border-top: 1px solid #EEF2F6;
      display: flex;
      align-items: center;
      gap: 9px;
      font-family: var(--font-heading, 'Inter Tight', sans-serif);
      font-size: 0.9375rem;
      font-weight: 700;
      color: var(--navy, #0E2C52);
      letter-spacing: 0.02em;
      text-transform: uppercase;
    }

    .form-subhead:first-child{
      margin-top: 0;
      padding-top: 0;
      border-top: none;
    }

    .form-subhead svg{
      width: 16px;
      height: 16px;
      color: var(--orange, #F05022);
      stroke: var(--orange, #F05022);
      flex-shrink: 0;
    }

    .form-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
    }

    .field{
      display:grid;
      gap:7px;
    }

    .field.full{grid-column:1/-1}

    .field label{
      color:var(--ink);
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:.875rem;
      font-weight:700;
      line-height:1.43;
    }

    .field label span{
      color:var(--muted-2);
      font-weight:400;
      font-size:.8125rem;
    }

    .control{
      width:100%;
      min-height:48px;
      padding:11px 14px;
      border:1px solid #CCD5DD;
      border-radius:10px;
      background:#fff;
      color:var(--ink);
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:1rem;
      outline:none;
      transition:border-color var(--ease),box-shadow var(--ease),background var(--ease);
    }

    textarea.control{
      min-height:130px;
      resize:vertical;
      line-height:1.55;
    }

    select.control{
      cursor:pointer;
    }

    .control::placeholder{color:#9AA5AF}

    .control:focus{
      border-color:var(--navy);
      box-shadow:0 0 0 3px rgba(14,44,82,.08);
    }

    .help{
      color:var(--muted-2);
      font-size:.8125rem;
      line-height:1.4;
    }

    .checkbox{
      display:grid;
      grid-template-columns:18px 1fr;
      gap:10px;
      align-items:start;
      margin-top:4px;
    }

    .checkbox input{
      width:18px;
      height:18px;
      margin:2px 0 0;
      accent-color:var(--orange);
    }

    .checkbox label{
      color:var(--text-body);
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:.875rem;
      line-height:1.45;
      font-weight:700;
    }

    .form-footer{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      margin-top:24px;
      padding-top:22px;
      border-top:1px solid var(--line);
    }

    .form-note{
      max-width:420px;
      color:var(--muted-2);
      font-size:.8125rem;
      line-height:1.4;
    }

    .success-message{
      display:none;
      margin-top:18px;
      padding:14px 16px;
      border:1px solid #BFDACD;
      border-radius:10px;
      background:#F1F8F5;
      color:var(--success);
      font-size:.875rem;
      font-weight:600;
    }

    .success-message.show{display:block}

    /* WHAT HAPPENS NEXT */
    .steps{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }

    .step{
      min-height:220px;
      padding:26px;
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      background:#fff;
    }

    .step-no{
      display:block;
      margin-bottom:18px;
      color:var(--orange);
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:.875rem;
      font-weight:600;
      letter-spacing:.08em;
    }

    .step h3{
      font-family:var(--font-heading, 'Inter Tight', sans-serif);
      font-size:1.125rem;
      font-weight:500;
      color:var(--ink);
    }
    .step p{
      margin-top:9px;
      font-size:.9375rem;
      color:var(--muted);
      line-height:1.55;
    }

    /* INFORMATION + TRUST */
    .info-grid{
      display:grid;
      grid-template-columns:.82fr 1.18fr;
      gap:46px;
      align-items:start;
    }

    .info-copy h2{
      margin-bottom:16px;
      font-family:var(--font-heading, 'Inter Tight', sans-serif);
      font-weight:400;
      letter-spacing:-0.8px;
    }

    .info-list{
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      background:#fff;
    }

    .info-row{
      display:grid;
      grid-template-columns:160px 1fr;
      gap:20px;
      padding:16px 20px;
      border-bottom:1px solid var(--line);
    }

    .info-row:last-child{border-bottom:0}

    .info-row strong{
      color:var(--ink);
      font-size:.875rem;
      font-weight:500;
    }

    .info-row span{
      color:var(--muted);
      font-size:.875rem;
      line-height:1.46;
    }

    /* ALTERNATIVE CONTACT */
    .contact-band{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:22px;
    }

    .contact-card{
      padding:30px;
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      background:#fff;
      box-shadow:var(--shadow-sm);
    }

    .contact-card h3{
      margin-bottom:9px;
      font-family:var(--font-heading, 'Inter Tight', sans-serif);
      font-size:1.25rem;
      font-weight:500;
      color:var(--ink);
    }
    .contact-card p{
      font-size:.9375rem;
      color:var(--muted);
      line-height:1.55;
    }

    .placeholder-contact{
      margin-top:18px;
      padding:14px;
      border:1px dashed #C5CFD7;
      border-radius:10px;
      color:#8895A0;
      background:#F8FAFB;
      font-size:.8125rem;
      font-weight:600;
    }

    /* FAQ (Aligned with Theme UI) */
    .faq-layout{
      display:grid;
      grid-template-columns:minmax(0, 0.78fr) minmax(0, 1.22fr);
      gap:64px;
      align-items:start;
    }

    .faq-intro-col{
      display:flex;
      flex-direction:column;
      gap:16px;
      position:sticky;
      top:110px;
    }

    .faq-main-title{
      font-family:var(--font-heading, 'Inter Tight', sans-serif);
      font-size:clamp(2rem, 2.6vw, 2.5rem);
      font-weight:700;
      line-height:1.15;
      letter-spacing:-0.6px;
      margin:0;
    }

    .faq-main-title .line-dark{
      display:block;
      color:var(--navy, #0E2C52);
    }

    .faq-main-title .line-orange{
      display:block;
      color:var(--orange, #F05022);
    }

    .faq-lead-desc{
      font-size:1rem;
      line-height:1.65;
      color:var(--muted, #59595F);
      margin:0;
    }

    .faq-support-card{
      margin-top:12px;
      padding:24px;
      background:#F8FAFC;
      border:1px solid var(--line, #E2E8F0);
      border-radius:16px;
      display:flex;
      flex-direction:column;
      gap:12px;
    }

    .faq-support-card strong{
      font-family:var(--font-heading, 'Inter Tight', sans-serif);
      font-size:1.05rem;
      color:var(--navy, #0E2C52);
      font-weight:600;
    }

    .faq-support-card p{
      font-size:0.9rem;
      line-height:1.55;
      color:var(--muted, #59595F);
      margin:0;
    }

    .faq-support-card .btn{
      align-self:flex-start;
      margin-top:4px;
    }

    .faq-support-actions{
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 4px;
    }

    .faq-phone-btn{
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--navy, #0E2C52) !important;
      border: 1px solid var(--line, #CBD5E1);
      background: #FFFFFF;
      font-weight: 600;
    }

    .faq-phone-btn svg{
      width: 15px;
      height: 15px;
      color: var(--orange, #F05022);
      stroke: var(--orange, #F05022);
      flex-shrink: 0;
    }

    .faq-phone-btn:hover{
      border-color: var(--orange, #F05022);
      background: var(--orange-soft, #FFF7F2);
      color: var(--orange, #F05022) !important;
    }

    .contact-hero-phone{
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #FFFFFF;
      border: 1px solid var(--line, #E2E8F0);
      color: var(--navy, #0E2C52);
    }

    .contact-hero-phone svg{
      width: 17px;
      height: 17px;
      color: var(--orange, #F05022);
      stroke: var(--orange, #F05022);
      flex-shrink: 0;
    }

    .contact-hero-phone:hover{
      border-color: var(--orange, #F05022);
      color: var(--orange, #F05022);
    }

    .faq-list{border-top:1px solid var(--line, #E2E8F0)}

    .faq-item{
      border-bottom:1px solid var(--line, #E2E8F0);
      transition:background-color 200ms ease, border-color 200ms ease;
    }

    .faq-button{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      padding:22px 4px;
      border:0;
      background:transparent;
      color:var(--navy, #0E2C52);
      text-align:left;
      font-family:var(--font-heading, 'Inter Tight', sans-serif);
      font-size:1.0625rem;
      font-weight:600;
      cursor:pointer;
      transition:color 200ms ease;
    }

    .faq-button:hover{
      color:var(--orange, #F05022);
    }

    .faq-item.open .faq-button{
      color:var(--orange, #F05022);
      font-weight:700;
      cursor:default;
    }

    .faq-icon-box{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:32px;
      height:32px;
      border-radius:50%;
      background:rgba(14, 44, 82, 0.05);
      color:var(--navy, #0E2C52);
      flex-shrink:0;
      transition:all 200ms ease;
    }

    .faq-button:hover .faq-icon-box{
      background:rgba(240, 80, 34, 0.1);
      color:var(--orange, #F05022);
    }

    .faq-icon-box svg{
      width:16px;
      height:16px;
    }

    .faq-item.open .faq-icon-box{
      display:none;
    }

    .faq-answer{
      display:grid;
      grid-template-rows:0fr;
      transition:grid-template-rows 250ms cubic-bezier(0.4, 0, 0.2, 1);
    }

    .faq-answer > div{overflow:hidden}

    .faq-answer p{
      padding:0 4px 22px 4px;
      font-size:.95rem;
      color:var(--muted, #59595F);
      line-height:1.65;
      margin:0;
    }

    .faq-item.open .faq-answer{grid-template-rows:1fr}

    /* FINAL CTA */
    .cta-band{
      position:relative;
      overflow:hidden;
      padding:42px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:28px;
      align-items:center;
      border-radius:var(--radius-xl);
      background:linear-gradient(135deg,rgba(14,44,82,.99),rgba(23,60,105,.97));
      box-shadow:var(--shadow);
    }

    .cta-band::after{
      content:"";
      position:absolute;
      right:-55px;
      top:-80px;
      width:240px;
      height:240px;
      border-radius:50%;
      border:36px solid rgba(240,80,34,.13);
    }

    .cta-band h2{
      position:relative;
      z-index:2;
      color:#fff;
      margin-bottom:10px;
      font-family:var(--font-heading, 'Inter Tight', sans-serif);
      font-weight:400;
      letter-spacing:-0.8px;
    }

    .cta-band p{
      position:relative;
      z-index:2;
      max-width:700px;
      color:#C7D5E1;
      font-size:1rem;
      line-height:1.6;
    }

    .cta-band .btn{
      position:relative;
      z-index:2;
      min-width:180px;
    }

    /* FOOTER */
    .site-footer{
      padding:52px 0 26px;
      background:#0B243F;
      color:#fff;
    }

    .footer-grid{
      display:grid;
      grid-template-columns:1.35fr 0.85fr 0.95fr 1.35fr;
      gap:44px;
    }

    .site-footer .brand{
      color:#fff;
      font-size:1.15rem;
      font-weight:800;
    }

    .footer-about p{
      max-width:360px;
      margin-top:14px;
      color:#AFC0CF;
      font-size:.95rem;
      line-height:1.62;
    }

    .footer-col strong{
      display:block;
      margin-bottom:14px;
      color:var(--orange, #F05022);
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:1rem;
      font-weight:600;
      letter-spacing:0.02em;
    }

    .footer-col a{
      display:block;
      width:fit-content;
      margin:10px 0;
      color:#AFC0CF;
      font-size:.9375rem;
      letter-spacing:-0.05px;
      transition:color 180ms ease, transform 180ms ease;
    }

    .footer-col a:hover{
      color:var(--orange, #F05022);
      transform:translateX(2px);
    }

    .footer-col a.is-active,
    .footer-col a.active{
      color:var(--orange, #F05022) !important;
      font-weight:600;
      transform:translateX(2px);
    }

    .footer-contact-col{
      display:flex;
      flex-direction:column;
      gap:10px;
    }

    .footer-contact-col strong{
      display:block;
      margin-bottom:4px;
      color:var(--orange, #F05022);
      font-family:var(--font-sans, 'Inter', sans-serif);
      font-size:1rem;
      font-weight:600;
      letter-spacing:0.02em;
    }

    .footer-contact-col p{
      color:#AFC0CF;
      font-size:.95rem;
      line-height:1.62;
      margin:0;
      max-width:340px;
    }

    .footer-contact-col .btn{
      align-self:flex-start;
      margin-top:8px;
      padding:10px 22px;
      font-size:.9rem;
    }

    .footer-bottom{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      margin-top:40px;
      padding-top:24px;
      border-top:1px solid rgba(255,255,255,.11);
      color:#8FA4B7;
      font-size:.875rem;
    }

    @media(max-width:1100px){
      .hero-grid,
      .info-grid{
        grid-template-columns:1fr;
        gap:38px;
      }

      .contact-combined-layout{
        grid-template-columns:1fr;
        gap:32px;
      }

      .footer-grid{
        grid-template-columns:1.4fr repeat(2,1fr);
      }

      .footer-about{grid-column:1/-1}
    }

    @media(max-width:900px){
      .nav-links{
        position:absolute;
        top:calc(100% + 1px);
        left:20px;
        right:20px;
        display:none;
        padding:12px;
        border:1px solid var(--line);
        border-radius:14px;
        background:#fff;
        box-shadow:var(--shadow);
      }

      .nav-links.open{display:grid}

      .nav-links>a:not(.btn),
      .nav-links .btn{
        width:100%;
        margin:0;
        justify-content:flex-start;
      }

      .menu-toggle{display:inline-flex}

      /* Hero on mobile: reduce top gap to header and center align (matching Home, Brand, and Wholesale hero) */
      .hero{
        padding-top:20px !important;
        padding-bottom:0 !important;
      }

      .hero-grid{
        grid-template-columns:1fr !important;
        gap:24px !important;
        text-align:center !important;
      }

      .hero .eyebrow{
        margin-inline:auto !important;
        justify-content:center !important;
        font-size:0.75rem !important;
        font-weight:600 !important;
        letter-spacing:0.08em !important;
      }

      .br-mobile{
        display:block;
      }

      /* Hero title on mobile: exact same typography as Home, Brand, and Wholesale hero */
      .hero h1{
        font-family:var(--font-sans, 'Inter', sans-serif) !important;
        font-size:clamp(1.7rem, 8vw, 2.2rem) !important;
        font-weight:700 !important;
        line-height:1.15 !important;
        letter-spacing:-1px !important;
        color:var(--ink, #1E2022) !important;
        max-width:100% !important;
        margin-inline:auto !important;
        text-align:center !important;
      }
      .hero h1 .accent{
        color:var(--orange, #F05022) !important;
        display:inline !important;
      }

      .hero .lead{
        font-size:0.9375rem !important;
        line-height:1.55 !important;
        margin-inline:auto !important;
        max-width:480px !important;
        text-align:center !important;
      }

      /* Single primary button centered */
      .hero .btn-row{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        margin-top:22px !important;
      }

      .hero .btn-row .btn{
        width:auto !important;
        min-width:0 !important;
        padding-inline:24px !important;
        font-size:0.875rem !important;
        font-weight:600 !important;
        letter-spacing:-0.01em !important;
        height:44px !important;
        min-height:44px !important;
        gap:8px !important;
        white-space:nowrap !important;
        margin-inline:auto !important;
      }

      .hero .btn-row .btn svg{
        width:15px !important;
        height:15px !important;
        flex-shrink:0 !important;
      }

      /* Floating Contact Showcase on Mobile */
      .hero-contact-showcase{
        height:196px !important;
        margin-inline:auto !important;
        max-width:520px !important;
        margin-bottom:0 !important;
      }

      .contact-feature-card{
        min-height:115px !important;
        padding:12px 14px !important;
        border-radius:12px !important;
        text-align:center !important;
        align-items:center !important;
      }

      .contact-feature-card .contact-card-title{
        text-align:center !important;
        width:100% !important;
        font-size:1rem !important;
      }

      .contact-feature-card .contact-card-desc{
        text-align:center !important;
        margin:4px 0 8px !important;
        font-size:0.75rem !important;
        line-height:1.35 !important;
      }

      .contact-feature-card .contact-card-footer{
        justify-content:center !important;
        text-align:center !important;
        width:100% !important;
        font-size:0.6875rem !important;
        gap:5px !important;
      }

      .contact-feature-card .contact-card-footer svg{
        width:13px !important;
        height:13px !important;
      }

      .hero-contact-marquee{
        margin-top:28px !important;
      }
      .trust-marquee-bar{
        padding:20px 0 !important;
      }

      /* Section 2: Enquiry Form Header */
      .enquiry-section-head{
        text-align:center !important;
        margin-inline:auto !important;
        max-width:480px !important;
      }
      .enquiry-section-head .eyebrow{
        margin-inline:auto !important;
        justify-content:center !important;
        font-size:0.75rem !important;
        letter-spacing:0.06em !important;
      }
      .enquiry-section-head h2{
        display:block !important;
        font-family:var(--font-sans, 'Inter', sans-serif) !important;
        font-size:clamp(1.7rem, 8vw, 2.2rem) !important;
        font-weight:700 !important;
        line-height:1.15 !important;
        letter-spacing:-1px !important;
        text-align:center !important;
        margin-inline:auto !important;
      }
      .enquiry-section-head h2 .title-line{
        display:inline !important;
        white-space:normal !important;
      }
      .enquiry-section-head .line-dark,
      .enquiry-section-head .line-orange{
        display:inline !important;
        text-align:center !important;
      }
      .enquiry-section-head .lead{
        font-size:0.9375rem !important;
        line-height:1.55 !important;
        margin-inline:auto !important;
        max-width:480px !important;
        text-align:center !important;
      }

      /* Section 4: Contact FAQs Header */
      .faq-intro-col{
        position:static !important;
        text-align:center !important;
        align-items:center !important;
        width:100% !important;
      }
      .faq-intro-col .eyebrow{
        margin-inline:auto !important;
        justify-content:center !important;
        font-size:0.75rem !important;
        letter-spacing:0.06em !important;
      }
      .faq-main-title,
      .faq-intro-col h2{
        display:block !important;
        text-align:center !important;
        width:100% !important;
        margin-inline:auto !important;
        font-family:var(--font-sans, 'Inter', sans-serif) !important;
        font-size:clamp(1.7rem, 8vw, 2.2rem) !important;
        font-weight:700 !important;
        line-height:1.15 !important;
        letter-spacing:-1px !important;
      }
      .faq-main-title .line-dark,
      .faq-main-title .line-orange{
        display:inline !important;
        text-align:center !important;
      }
      .faq-intro-col .faq-lead-desc{
        text-align:center !important;
        margin-inline:auto !important;
        max-width:480px !important;
        font-size:0.9375rem !important;
        line-height:1.55 !important;
      }
      .faq-support-card{
        display:none !important;
      }

      .floating-route-dock{
        bottom: 20px;
        right: 16px;
      }
      .route-dock-inner{
        padding: 4px;
        gap: 3px;
        border-radius: 13px;
      }
      .route-dock-btn{
        padding: 7px 11px 7px 9px;
        font-size: 0.78125rem;
        gap: 8px;
        border-radius: 9px;
      }
      .route-dock-btn svg{
        width: 15px;
        height: 15px;
      }

      .route-grid--form-top{
        grid-template-columns:1fr;
        gap:10px;
      }

      .contact-combined-layout{
        grid-template-columns:1fr;
        gap:24px;
      }
      .contact-left-col{
        position:static !important;
        order:2;
      }
      .contact-right-col{
        order:1;
      }

      .steps,
      .contact-band,
      .faq-layout{
        grid-template-columns:1fr;
      }

      .cta-band{grid-template-columns:1fr}
      .cta-band .btn{width:fit-content}
    }

    @media(max-width:680px){
      .container{width:min(calc(100% - 28px),var(--container))}
      .section{padding:68px 0}
      .section-sm{padding:52px 0}
      .section-lg{padding:80px 0}

      h1:not(.hero h1){font-size:clamp(2.05rem,11vw,2.85rem)}
      h2{font-size:clamp(1.7rem,8vw,2.2rem)}

      .form-main,
      .form-aside{padding:24px}

      .form-grid{grid-template-columns:1fr}
      .field.full{grid-column:auto}

      .form-footer{
        align-items:stretch;
        flex-direction:column;
      }

      .form-footer .btn{width:100%}

      .info-row{
        grid-template-columns:1fr;
        gap:4px;
      }

      .cta-band{padding:30px 24px}

      .footer-grid{grid-template-columns:1fr 1fr; gap:32px 20px;}
      .footer-about{
        grid-column:1/-1;
        display:flex;
        flex-direction:column;
        align-items:center;
        text-align:center !important;
      }
      .footer-about .brand--footer{
        display:inline-flex;
        justify-content:center;
        margin-inline:auto;
      }
      .footer-about p{
        text-align:center !important;
        margin-inline:auto !important;
        max-width:460px;
      }
      .footer-contact-col{
        grid-column:1/-1;
        display:flex;
        flex-direction:column;
        align-items:center;
        text-align:center !important;
      }
      .footer-contact-col strong{
        text-align:center !important;
      }
      .footer-contact-col p{
        text-align:center !important;
        margin-inline:auto !important;
        max-width:440px;
      }
      .footer-contact-col .btn{
        align-self:center !important;
        margin-top:8px;
        width:auto !important;
      }
      .footer-bottom{
        flex-direction:column;
        align-items:center !important;
        text-align:center !important;
        gap:8px;
      }
    }

    @media(prefers-reduced-motion:reduce){
      *,*::before,*::after{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
      }
    }
