:root{
  /* Brand */
  --brand: #0a2f6b;
  --cta:   #f6dc57;
  --accent:#e4572e;

  /* Neutrals */
  --bg:    #ffffff;
  --card:  #ffffff;
  --text:  #111111;
  --muted: rgba(0,0,0,.62);
  --line:  rgba(0,0,0,.10);

  /* Layout */
  --max: 1200px;
  --max-narrow: 980px;

  /* Radius + Shadow */
  --radius-lg: 20px;
  --radius-md: 16px;
  --radius-sm: 14px;
  --shadow: 0 18px 45px rgba(10,10,10,.08);

  /* Typography scale */
  --h1: 56px;
  --h2: 46px;
  --h3: 18px;
  --p:  15px;

  /* Spacing */
  --section-pad: 92px;
}

/* ---------- 2) Base / Reset ---------- */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  color:#111;
  background:#fff;
  font-family: "Ubuntu", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
h1,h2,h3{
  font-family: "Ubuntu", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -0.3px;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation:none !important; transition:none !important; }
}

/* ---------- 3) Layout helpers ---------- */
.jts-wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px;
}

/* ---------- 4) Shared Section Headings ---------- */
.jts-secHead{
  max-width: 920px;
  margin:0 auto 34px;
}
.jts-secHead.center{ text-align:center; }
.jts-secHead.left{ text-align:left; }

.jts-secHead .eyebrow{
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  color:rgba(0,0,0,.55);
  margin:0 0 10px;
}
.jts-secHead .title{
  margin:0 0 12px;
  font-weight:900;
  letter-spacing:-.6px;
  line-height:1.08;
  font-size: var(--h2);
  color:var(--text);
}
.jts-secHead .sub{
  margin:0;
  font-size:16px;
  line-height:1.75;
  color:var(--muted);
}

/* Responsive type scale */
@media (max-width: 900px){
  :root{ --h1: 42px; --h2: 36px; }
}
@media (max-width: 600px){
  :root{ --h1: 34px; --h2: 30px; }
}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  min-height:90vh;
  background:
    linear-gradient(
      90deg,
      rgba(5,15,40,.75) 0%,
      rgba(5,15,40,.55) 35%,
      rgba(5,15,40,.25) 60%,
      rgba(5,15,40,.10) 100%
    ),
    url("https://images.unsplash.com/photo-1523240795612-9a054b0db644?auto=format&fit=crop&w=2400&q=80");
  background-size:cover;
  background-position:center;
  display:flex;
  flex-direction:column;
}

/* Nav */
.hero-nav{
  width:100%;
  background:rgba(10,47,107,.9);
  backdrop-filter:blur(6px);

  /* Critical: keep nav clickable above hero content */
  position: relative;
  z-index: 9999;
}
.hero-nav .wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:16px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.brand{
  color:#fff;
  font-weight:900;
  font-size:18px;
  white-space:nowrap;
}
.brand-link{
  color: inherit;
  text-decoration: none;
}

.menu{
  display:flex;
  gap:22px;
}
.menu a{
  color:rgba(255,255,255,.9);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  white-space: nowrap;
}

.nav-cta{
  background:var(--cta);
  color:#111;
  padding:10px 16px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  font-size:13px;
}

/* Right-side controls */
.nav-right{
  display:flex;
  align-items:center;
  gap:12px;
}

/* ===== Desktop dropdown (Study Destinations) ===== */
.menu .menu-item{
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* caret */
.menu .menu-item.has-sub > a::after{
  content: "▾";
  margin-left: 6px;
  font-size: 11px;
  opacity: .8;
}

/* IMPORTANT: allow dropdown to render outside nav row */
.hero-nav,
.hero-nav .wrap{
  overflow: visible;
}

/* Dropdown panel (hidden by default, but keeps layout stable) */
.menu .sub-menu{
  position: absolute;
  top: calc(100% + 8px);     /* reduce gap from 10px -> 8px (optional) */
  left: 0;
  min-width: 240px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
  padding: 10px;

  /* instead of display:none; */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(-4px);
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease;
  z-index: 100000; /* make it unambiguously on top */
}

/* Hover bridge: prevents losing hover when moving mouse into dropdown */
.menu .menu-item.has-sub > .sub-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-10px;          /* bridge height */
  height:10px;
}

/* Show dropdown when hovering the WHOLE LI (or keyboard focus within) */
.menu .menu-item.has-sub:hover > .sub-menu,
.menu .menu-item.has-sub:focus-within > .sub-menu{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* Dropdown links */
.menu .sub-menu a{
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  color: #111 !important;
  white-space: nowrap;
}
.menu .sub-menu a:hover{
  background: rgba(10,47,107,.08);
}


/* ===== Mobile hamburger ===== */
.nav-toggle{
  display:none; /* enabled below 900px */
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  cursor:pointer;

  position: relative;
  z-index: 10000;
  pointer-events: auto;
}
.nav-toggle__bar{
  display:block;
  width:18px;
  height:2px;
  background: rgba(255,255,255,.92);
  margin:3px auto;
  border-radius:2px;
}

/* Mobile panel */
.mobile-nav{
  display:none;
  overflow:hidden;
  max-height:0;
  transition:max-height .25s ease;
  background: rgba(10,47,107,.98);
  border-top:1px solid rgba(255,255,255,.10);
}
.mobile-nav.is-open{
  display:block;
  max-height: 80vh;
}
.mobile-nav__inner{
  padding:14px 20px 18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mobile-link{
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  padding:10px 10px;
  border-radius:10px;
}
.mobile-link:hover{ background: rgba(255,255,255,.08); }

/* Accordion */
.mobile-acc{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:0;
  background:transparent;
  color: rgba(255,255,255,.92);
  font-weight:900;
  font-size:14px;
  padding:10px 10px;
  border-radius:10px;
  cursor:pointer;
  text-align:left;
}
.mobile-acc:hover{ background: rgba(255,255,255,.08); }
.mobile-acc__chev{
  opacity:.85;
  transition: transform .2s ease;
}
.mobile-acc[aria-expanded="true"] .mobile-acc__chev{
  transform: rotate(180deg);
}

.mobile-sub{
  padding:2px 8px 10px 8px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.mobile-sublink{
  color: rgba(255,255,255,.88);
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  padding:10px 10px;
  border-radius:10px;
  background: rgba(255,255,255,.06);
}
.mobile-sublink:hover{ background: rgba(255,255,255,.10); }

.mobile-cta{
  margin-top:8px;
  display:inline-block;
  text-align:center;
  background: var(--cta);
  color:#111;
  text-decoration:none;
  font-weight:900;
  font-size:14px;
  padding:12px 16px;
  border-radius:999px;
  box-shadow:0 14px 28px rgba(246,220,87,.28);
}

/* Hero content */
.hero-content{
  flex:1;
  display:flex;
  align-items:center;
  position: relative;
  z-index: 1;
}

.hero-content .wrap{
  max-width:var(--max);
  width:100%;
  margin:0 auto;
  padding:40px 20px 60px;
}
.hero .kicker{
  color: rgba(255,255,255,.9);
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 14px;
}

.hero h1{
  margin:0 0 18px;
  font-size:var(--h1);
  line-height:1.05;
  font-weight:900;
  color:#fff;
  max-width:720px;
  letter-spacing:-.9px;
}
.hero p{
  max-width:560px;
  font-size:15px;
  line-height:1.75;
  color:rgba(255,255,255,.78);
  margin:0 0 26px;
}
.actions{
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
}
.btn-primary{
  background:var(--cta);
  color:#111;
  padding:14px 22px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
  font-size:14px;
  box-shadow:0 14px 28px rgba(246,220,87,.28);
}
.btn-link{
  color:#fff;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  border-bottom:2px solid rgba(255,255,255,.22);
  padding-bottom:3px;
}
.btn-link:hover{ border-bottom-color: rgba(255,255,255,.55); }

@media (max-width: 900px){
  .menu{ display:none; }
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}
@media (max-width: 600px){
  .hero{ min-height:85vh; }
}

/* =========================================================
   BLOG SECTION
   ========================================================= */
.jts-blog-hero{
  background: var(--bg);
  padding: 64px 0 78px;
}
.jts-blog-hero-wrap{ max-width:var(--max); margin:0 auto; padding:0 20px; }

.jts-blog-hero-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.jts-blog-hero-top h1{
  margin:0;
  font-size:56px;
  line-height:1.02;
  font-weight:900;
  letter-spacing:-1px;
  color: var(--text);
}
.jts-blog-hero-sub{
  margin:10px 0 0;
  font-size:16px;
  color: rgba(0,0,0,.60);
}

/* Actions */
.jts-blog-hero-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.jts-dd{ position:relative; }
.jts-dd-btn{
  border:1px solid var(--line);
  background:#fff;
  padding:12px 14px;
  border-radius:999px;
  font-weight:900;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
}
.jts-dd-btn .chev{ color:var(--accent); font-weight:900; }

.jts-dd-menu{
  position:absolute;
  right:0;
  top:50px;
  width:220px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow);
  padding:8px;
  display:none;
  z-index:10;
}
.jts-dd-menu .dd-item{
  width:100%;
  text-align:left;
  border:0;
  background:transparent;
  padding:10px;
  border-radius:10px;
  cursor:pointer;
  font-weight:900;
  color:rgba(0,0,0,.75);
}
.jts-dd-menu .dd-item:hover{
  background: rgba(228,87,46,.10);
  color:#000;
}

.jts-search{
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1px solid var(--line);
  padding:10px 12px;
  border-radius:999px;
}
.jts-search input{
  border:0;
  outline:0;
  background:transparent;
  min-width:180px;
  font-weight:700;
}
.jts-search button{
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:16px;
  color:var(--accent);
}

.jts-blog-hero-divider{
  height:1px;
  background: rgba(0,0,0,.12);
  margin:18px 0 34px;
}

/* Grid */
.jts-blog-hero-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:28px;
  align-items:start;
}

/* Featured card */
.jts-featured,
.jts-side-item{
  background: var(--card);
  border:1px solid var(--line);
  box-shadow: var(--shadow);
}
.jts-featured{
  border-radius: var(--radius-lg);
  overflow:hidden;
}
.jts-featured-link{ display:block; text-decoration:none; color:inherit; }
.jts-featured-art{ height:340px; background:#f3f4f6; }
.jts-featured-art img{ width:100%; height:100%; object-fit:cover; }

.jts-featured-meta{ padding:18px 22px 0; }
.pill{
  display:inline-block;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  color:var(--accent);
}
.jts-featured-title{
  padding:10px 22px 0;
  margin:0;
  font-size:40px;
  font-weight:900;
  letter-spacing:-.7px;
  line-height:1.06;
}
.jts-featured-excerpt{
  padding:14px 22px 26px;
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:var(--muted);
}

/* Side list */
.jts-side-list{ display:flex; flex-direction:column; gap:16px; }
.jts-side-item{
  border-radius:16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.jts-side-link{
  display:flex;
  gap:16px;
  padding:16px;
  text-decoration:none;
  align-items:center;
}
.jts-side-ic{
  width:74px; height:74px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.jts-side-ic svg{ width:34px; height:34px; }
.jts-side-txt .blog-kicker{
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  color:var(--accent);
  margin:0 0 6px;
}
.jts-side-txt h3{
  margin:0;
  font-size:18px;
  font-weight:900;
  line-height:1.25;
}

.jts-side-item:hover{
  border-color: rgba(228,87,46,.35);
  transform: translateY(-1px);
  transition: .18s ease;
}

@media (max-width: 980px){
  .jts-blog-hero-top{ flex-direction:column; align-items:flex-start; }
  .jts-blog-hero-actions{ justify-content:flex-start; width:100%; }
  .jts-blog-hero-grid{ grid-template-columns:1fr; }
  .jts-featured-title{ font-size:30px; }
  .jts-featured-art{ height:240px; }
}
@media (max-width: 560px){
  .jts-blog-hero-top h1{ font-size:40px; }
  .jts-search input{ min-width:140px; }
  .jts-side-ic{ width:64px; height:64px; }
  .jts-side-txt h3{ font-size:16px; }
}

/* =========================================================
   WHY JTS (3 cards)
   ========================================================= */
.jts-why3{
  width:100%;
  background:#fff;
  padding: var(--section-pad) 0;
}
.jts-why3-wrap{ max-width:var(--max); margin:0 auto; padding:0 20px; }

.jts-why3-head{ margin:0 auto 42px; }
.jts-why3-head h2{ margin:0 0 12px; font-size:48px; line-height:1.05; font-weight:900; letter-spacing:-.6px; }
.jts-why3-head p{ margin:0; max-width:760px; font-size:15px; line-height:1.8; color:var(--muted); }
.jts-why3-head .subHL{
  background: linear-gradient(transparent 62%, rgba(246,220,87,.55) 62%);
  padding:0 .2em;
  border-radius:4px;
  color:var(--brand);
}

.jts-why3-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:36px;
}
.jts-why3-card{ text-align:center; }
.jts-why3-card img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:18px;
  margin:0 0 18px;
}
.jts-why3-card h3{
  margin:0 0 10px;
  font-size:18px;
  font-weight:900;
}
.jts-why3-card p{
  margin:0 auto;
  max-width:360px;
  font-size:14px;
  line-height:1.8;
  color:rgba(0,0,0,.60);
}
.jts-why3-cta{ text-align:center; margin-top:36px; }
.jts-why3-btn{
  display:inline-block;
  background:var(--cta);
  color:#111;
  font-weight:900;
  font-size:14px;
  padding:14px 28px;
  border-radius:999px;
  text-decoration:none;
  box-shadow:0 14px 28px rgba(246,220,87,.30);
}

@media (max-width: 980px){
  .jts-why3-head{ text-align:left; }
  .jts-why3-head h2{ font-size:var(--h2); }
  .jts-why3-grid{ grid-template-columns:1fr; gap:26px; }
  .jts-why3-card{ text-align:left; }
  .jts-why3-card p{ max-width:100%; }
}
@media (max-width: 560px){
  .jts-why3{ padding:70px 0; }
  .jts-why3-card img{ height:200px; }
}

/* =========================================================
   COUNTRY GRID
   ========================================================= */
.jts-homeaway{
  background:#fff;
  padding:56px 0 74px;
  color:#202124;
}
.jts-homeaway-wrap{ max-width:var(--max); margin:0 auto; padding:0 18px; }

.jts-homeaway-head h2{
  margin:0 0 10px;
  font-size:56px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.8px;
}
.jts-homeaway-head p{
  margin:0;
  max-width:920px;
  color:#5f6368;
  line-height:1.8;
  font-size:16px;
}

.jts-homeaway-grid{
  margin-top:38px;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:26px;
  align-items:start;
}
.jts-dcard{ text-align:center; }
.jts-top{ margin-top:0; }
.jts-low{ margin-top:60px; }

.jts-imgLink{ display:block; text-decoration:none; }
.jts-imgBox{ width:100%; overflow:hidden; background:#f2f3f5; }
.jts-imgBox img{
  width:100%;
  height:300px;
  object-fit:cover;
  transform: scale(1.06) translateY(0);
  transition: transform .55s ease;
  will-change: transform;
}
.jts-imgLink:hover .jts-imgBox img{ transform: scale(1.10) translateY(-10px); }

.jts-dcard h3{
  margin:18px 0 10px;
  font-size:40px;
  font-weight:500;
  line-height:1.15;
}
.jts-dcard p{
  margin:0 auto 14px;
  max-width:270px;
  color:#5f6368;
  line-height:1.8;
  font-size:13px;
}
.jts-cta{
  display:inline-block;
  color:var(--cta);
  text-decoration:none;
  font-weight:900;
  font-size:13px;
}
.jts-cta:hover{ text-decoration:underline; }

@media (max-width:1100px){
  .jts-homeaway-grid{ grid-template-columns:repeat(2, 1fr); }
  .jts-low{ margin-top:0; }
  .jts-imgBox img{ height:310px; }
}
@media (max-width:640px){
  .jts-homeaway-head h2{ font-size:38px; }
  .jts-homeaway-head p{ font-size:14px; }
  .jts-homeaway-grid{ grid-template-columns:1fr; }
  .jts-imgBox img{ height:240px; }
  .jts-dcard h3{ font-size:30px; }
}

/* =========================================================
   TESTIMONIALS (3 cards)
   ========================================================= */
.jts-reviews{
  width:100%;
  background:#fff;
  padding: var(--section-pad) 0;
  position:relative;
  overflow:hidden;
}
.jts-reviews-wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px;
  text-align:center;
  position:relative;
  z-index:2;
}
.jts-reviews-topnote{
  font-size:13px;
  font-weight:900;
  color:rgba(0,0,0,.55);
  margin:0 0 10px;
}
.jts-reviews-heading{
  margin:0 0 34px;
  font-size:var(--h2);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.6px;
}

.jts-reviews-glow{
  position:absolute;
  inset:auto 0 0 0;
  top:120px;
  height:360px;
  z-index:1;
  filter:blur(38px);
  opacity:.55;
  background:
    radial-gradient(circle at 20% 40%, rgba(100, 255, 180, .55), transparent 55%),
    radial-gradient(circle at 45% 50%, rgba(120, 170, 255, .55), transparent 55%),
    radial-gradient(circle at 65% 55%, rgba(185, 130, 255, .55), transparent 55%),
    radial-gradient(circle at 85% 45%, rgba(255, 170, 120, .55), transparent 55%);
}
.jts-reviews-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:26px;
  align-items:stretch;
  position:relative;
  z-index:2;
}
.jts-review-card{
  text-align:left;
  background:#fff;
  border-radius:14px;
  padding:26px 24px;
  border:1px solid rgba(10,47,107,.12);
  box-shadow:0 16px 40px rgba(10,47,107,.10);
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.jts-stars{
  color: var(--cta);
  font-size:16px;
  letter-spacing:2px;
  margin:0 0 14px;
}
.jts-review-text{
  margin:0 0 18px;
  font-size:14px;
  line-height:1.85;
  color:rgba(0,0,0,.70);
}
.jts-review-person{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:10px;
}
.jts-avatar{
  width:44px; height:44px;
  border-radius:999px;
  object-fit:cover;
  border:2px solid rgba(246,220,87,.55);
}
.jts-name{ font-weight:900; font-size:14px; }
.jts-role{ font-size:12.5px; color:rgba(0,0,0,.55); margin-top:2px; }

@media (max-width: 980px){
  .jts-reviews-wrap{ text-align:left; }
  .jts-reviews-grid{ grid-template-columns:1fr; gap:18px; }
  .jts-review-card{ min-height:auto; }
}
@media (max-width: 560px){
  .jts-reviews{ padding:70px 0; }
  .jts-reviews-glow{ top:160px; height:280px; }
}

.jts-reviews-cta{
  text-align:center;
  margin-top: 22px;
}

.jts-reviews-link{
  display:inline-block;
  background: var(--cta, #f6dc57);
  color:#111;
  text-decoration:none;
  font-weight: 900;
  font-size: 14px;
  padding: 12px 22px;
  border-radius: 999px;
  box-shadow: 0 14px 28px rgba(246,220,87,.28);
}
.jts-reviews-link:hover{
  transform: translateY(-1px);
  transition: .18s ease;
}

/* =========================================================
   PRICING
   ========================================================= */
.jts-pricing{
  width:100%;
  background:#fff;
  padding: var(--section-pad) 0;
  position:relative;
  overflow:hidden;
}
.jts-pricing-wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px;
  position:relative;
  z-index:2;
}
.jts-pricing-head{ text-align:center; margin:0 0 36px; }
.jts-pricing-head h2{
  margin:0 0 10px;
  font-size:48px;
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.6px;
}
.jts-pricing-head p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:var(--muted);
}
.jts-pricing-glow{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:170px;
  width:min(900px, 92vw);
  height:420px;
  z-index:1;
  filter:blur(40px);
  opacity:.55;
  background:
    radial-gradient(circle at 20% 50%, rgba(120, 170, 255, .55), transparent 55%),
    radial-gradient(circle at 50% 50%, rgba(246, 220, 87, .55), transparent 55%),
    radial-gradient(circle at 80% 50%, rgba(185, 130, 255, .45), transparent 55%);
}
.jts-pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
  align-items:stretch;
  position:relative;
  z-index:2;
}
.jts-plan{
  background:#fff;
  border-radius:18px;
  border:1px solid rgba(10,47,107,.12);
  box-shadow:0 18px 40px rgba(10,47,107,.10);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:520px;
}
.jts-plan-top{ padding:26px 24px 18px; }
.jts-plan-name{ font-weight:900; font-size:14px; margin:0 0 10px; }
.jts-plan-price{ font-size:44px; font-weight:900; letter-spacing:-.6px; margin:0 0 8px; }
.jts-currency{ font-size:.7em; font-weight:900; margin-right:4px; color:rgba(0,0,0,.78); }
.jts-plan-desc{ margin:0 0 18px; font-size:14px; line-height:1.75; color:var(--muted); min-height:52px; }
.jts-plan-btn{
  display:block;
  width:100%;
  text-align:center;
  padding:14px 16px;
  border-radius:12px;
  text-decoration:none;
  font-weight:900;
  font-size:14px;
  background:var(--cta);
  color:#111;
  box-shadow:0 14px 28px rgba(246,220,87,.30);
}
.jts-plan-btn.ghost{
  background:#fff;
  color:#111;
  border:2px solid rgba(0,0,0,.22);
  box-shadow:none;
}
.jts-plan-body{
  padding:18px 24px 26px;
  border-top:1px solid rgba(10,47,107,.10);
  margin-top:auto;
}
.jts-includes{ font-weight:900; font-size:13px; margin:0 0 12px; }
.jts-list{
  margin:0;
  padding-left:18px;
  color:rgba(0,0,0,.62);
  font-size:13.5px;
  line-height:1.9;
}

/* Featured */
.jts-plan.featured{
  background:#101214;
  border-color: rgba(255,255,255,.10);
  box-shadow:0 24px 60px rgba(0,0,0,.25);
  transform: translateY(-10px);
}
.jts-plan.featured .jts-plan-name,
.jts-plan.featured .jts-plan-price,
.jts-plan.featured .jts-includes{ color:#fff; }
.jts-plan.featured .jts-currency{ color:rgba(255,255,255,.78); }
.jts-plan.featured .jts-plan-desc,
.jts-plan.featured .jts-list{ color:rgba(255,255,255,.70); }
.jts-plan.featured .jts-plan-body{ border-top-color: rgba(255,255,255,.10); }

.jts-badge{
  display:inline-block;
  font-weight:900;
  font-size:12px;
  color:#111;
  background: linear-gradient(transparent 62%, rgba(246,220,87,.70) 62%);
  padding:2px 6px;
  border-radius:6px;
  margin:0 0 10px;
}

@media (max-width: 980px){
  .jts-pricing-head{ text-align:left; }
  .jts-pricing-head h2{ font-size:var(--h2); }
  .jts-pricing-grid{ grid-template-columns:1fr; gap:18px; }
  .jts-plan{ min-height:auto; }
  .jts-plan.featured{ transform:none; }
  .jts-pricing-glow{ top:260px; height:520px; }
}

/* =========================================================
   TRUST BAND (dark)
   ========================================================= */
.jts-trustband{
  width:100%;
  background:var(--brand);
  padding: var(--section-pad) 20px;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.jts-trust-wrap{
  max-width:1100px;
  margin:0 auto;
  text-align:center;
}
.jts-trust-avatars{
  display:flex;
  justify-content:center;
  gap:14px;
  margin:0 0 40px;
}
.jts-trust-avatars img{
  width:52px; height:52px;
  border-radius:50%;
  object-fit:cover;
  opacity:.6;
  border:2px solid transparent;
}
.jts-trust-avatars img.active{
  width:64px; height:64px;
  opacity:1;
  border-color:var(--cta);
}
.jts-trust-quote{
  font-size:28px;
  line-height:1.4;
  font-weight:700;
  max-width:900px;
  margin:0 auto 28px;
  letter-spacing:-.3px;
}
.jts-trust-author{
  font-size:15px;
  color:rgba(255,255,255,.85);
  margin:0 0 34px;
}
.jts-trust-btn{
  display:inline-block;
  background:var(--cta);
  color:#111;
  font-weight:900;
  padding:16px 34px;
  border-radius:999px;
  text-decoration:none;
  font-size:15px;
  box-shadow:0 18px 40px rgba(0,0,0,.25);
}
.jts-trust-note{
  margin:12px 0 0;
  font-size:13px;
  color:rgba(255,255,255,.75);
}

@media (max-width:768px){
  .jts-trustband{ padding:70px 16px; }
  .jts-trust-quote{ font-size:22px; }
  .jts-trust-avatars img{ width:44px; height:44px; }
  .jts-trust-avatars img.active{ width:56px; height:56px; }
}

/* =========================================================
   FOOTER
   ========================================================= */
.jts-footer{
  background: radial-gradient(1200px 600px at top, #2e2a40, #1f1c2e);
  color: rgba(255,255,255,.75);
  padding: 90px 0 30px;
  margin-top: 90px;
  overflow: visible;
}

.jts-footer-inner{
  max-width: var(--max);
  margin: 0 auto;
  padding: 160px 20px 0; /* must be > 120px overlap */
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: 50px;
}

/* Spacer above footer (must exist in HTML before <footer>) */
.jts-footer-cta-gap{ height: 90px; }
@media (max-width: 980px){ .jts-footer-cta-gap{ height: 70px; } }
@media (max-width: 600px){ .jts-footer-cta-gap{ height: 55px; } }



.footer-col h4{
  color:#fff;
  font-size:14px;
  letter-spacing:.08em;
  margin:0 0 18px;
  text-transform:uppercase;
}
.footer-col a{
  display:block;
  color:rgba(255,255,255,.65);
  text-decoration:none;
  font-size:14px;
  margin:0 0 10px;
}
.footer-col a:hover{ color:var(--cta); }

.brand-logo{
  font-size:22px;
  font-weight:900;
  color:#fff;
  margin:0 0 12px;
}
.brand-logo span{ color:var(--cta); }
.brand-tag{
  font-size:14px;
  line-height:1.6;
  max-width:240px;
  margin:0 0 20px;
}
.socials{ display:flex; gap:12px; }
.socials a{
  width:36px; height:36px;
  border-radius:8px;
  background:rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  color:#fff;
  text-decoration:none;
}
.socials a:hover{ background:var(--cta); color:#000; }

.footer-bottom{
  max-width:var(--max);
  margin:60px auto 0;
  padding:25px 20px 0;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
  color:rgba(255,255,255,.55);
}
.footer-bottom .legal{ display:flex; gap:18px; }
.footer-bottom .legal a{
  color:rgba(255,255,255,.55);
  text-decoration:none;
}
.footer-bottom .legal a:hover{ color:var(--cta); }

@media(max-width:900px){
  .jts-footer-inner{
    grid-template-columns:1fr 1fr;
    gap:40px;
  }
}
@media(max-width:600px){
  .jts-footer-inner{ grid-template-columns:1fr; }
  .footer-bottom{
    flex-direction:column;
    gap:14px;
    text-align:center;
  }
}

/* =========================================================
   FAQ STRIP (homepage-style FAQ)
   ========================================================= */
.faq-strip{
  background:#fff;
  padding: 90px 0;
}
.faq-strip__wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 34px;
  align-items: start;
}

.faq-strip__title{
  margin: 0;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.4px;
  color:#111;
}

/* Right column */
.faq-strip__right{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Each row */
.faq-row{
  border: 1px solid rgba(0,0,0,.35);
  background: #f3f3f3;
  border-radius: 4px;
  overflow: hidden;
}

/* clickable header (question line) */
.faq-row__q{
  list-style: none;
  cursor: pointer;
  padding: 10px 14px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  line-height: 1.35;
  color:#111;
}
.faq-row__q::-webkit-details-marker{ display:none; }
.faq-row__qtext{ font-weight: 700; }
.faq-row__icon{
  font-weight: 800;
  color:#111;
  opacity:.85;
}
.faq-row__a{
  padding: 0 14px 12px 14px;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(0,0,0,.78);
}
.faq-row:not([open]) .faq-row__a{ display:none; }
.faq-row__q:focus-visible{
  outline: 2px solid rgba(10,47,107,.45);
  outline-offset: 2px;
}

@media (max-width: 900px){
  .faq-strip__wrap{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .faq-strip__title{
    font-size: 28px;
  }
}

/* =========================================================
   FAQ PAGES (Reusable for Netherlands/UK/Ireland/etc.)
   ========================================================= */

/* Collapse hero height + remove hero content + background for no-hero pages */
body.no-hero header.hero{
  min-height: auto !important;
  height: auto !important;
  padding-bottom: 0 !important;
  background: none !important;
}
body.no-hero .hero-content{
  display:none !important;
}

/* Breadcrumb */
.jts-bc{
  padding: 14px 20px;
}
.jts-bc__list{
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: #64748b;
  font-size: 14px;
}
.jts-bc__item{
  margin: 0;
  padding: 0;
}
.jts-bc__link{
  color: #1e3a8a;
  text-decoration: none;
}
.jts-bc__link:hover{ text-decoration: underline; }
.jts-bc__sep{
  color: #94a3b8;
  opacity: .6;
}

/* Compact FAQ Header */
.jts-faq-header{
  padding: 24px 20px 18px;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
}
.jts-faq-header__inner{
  max-width: 960px;
  margin: 0 auto;
}
.jts-faq-header h1{
  font-size: 26px;
  line-height: 1.25;
  margin: 0 0 6px;
  font-weight: 700;
}
.jts-faq-header p{
  margin: 0;
  max-width: 760px;
  font-size: 15px;
  line-height: 1.55;
  color: #475569;
}

/* FAQ Content */
.jts-faq{
  padding: 28px 20px 40px;
}
.jts-faq__inner{
  max-width: 960px;
  margin: 0 auto;
}
.jts-faq__item{
  margin-bottom: 26px;
}
.jts-faq__item h2{
  font-size: 19px;
  line-height: 1.4;
  margin: 0 0 6px;
  font-weight: 700;
}
.jts-faq__item p{
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: #334155;
}

/* Enquiry section */
.jts-enq{
  padding: 10px 20px 64px;
}
.jts-enq__inner{
  max-width: 960px;
  margin: 0 auto;
}
.jts-enqbox{
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 22px;
  background: #ffffff;
}
.jts-enqbox__title{
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 1.35;
}
.jts-enqbox__sub{
  margin: 0 0 16px;
  color: #475569;
  font-size: 15px;
  line-height: 1.55;
}
.jts-enqbox__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.jts-enqbox__field label{
  display: block;
  font-size: 13px;
  color: #334155;
  margin: 0 0 6px;
}
.jts-enqbox__field input,
.jts-enqbox__field select,
.jts-enqbox__field textarea{
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 15px;
  outline: none;
}
.jts-enqbox__field input:focus,
.jts-enqbox__field select:focus,
.jts-enqbox__field textarea:focus{
  border-color: #94a3b8;
}
.jts-enqbox__field--full{ grid-column: 1 / -1; }

.jts-enqbox__actions{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.jts-enqbox__btn{
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 10px 16px;
  cursor: pointer;
  font-weight: 700;
  background: var(--cta);
  color: #111827;
}
.jts-enqbox__note{
  margin: 0;
  font-size: 13px;
  color: #64748b;
}
.jts-enqbox__hp{
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@media (max-width: 720px)
{
  .jts-enqbox__grid{ grid-template-columns: 1fr; 
  .jts-faq-header h1{ font-size: 22px; 

/* === FORCE footer layout below CTA (wins against older rules) === */
.jts-footer .jts-footer-inner{
 padding-top: 160px;
}
/* Space above footer for floating CTA (Image-1 look) */
.jts-footer-cta-gap{
  height: 90px;
}

@media (max-width: 980px){
  .jts-footer-cta-gap{ height: 70px; }
}
@media (max-width: 600px){
  .jts-footer-cta-gap{ height: 55px; }
}

/* Desktop */
.jts-mod-footer-cta__card{
  /* ...existing... */
  transform: translateY(-120px);
  margin-bottom: -120px;
}

@media (max-width: 600px){
  .jts-mod-footer-cta__card{
    transform: translateY(-60px);
    margin-bottom: -60px;
  }
}

