/*!
 * Ambassador Journeys — the single stylesheet for every qqtheme/journeys-* block.
 * Handle: qq_theme-journeys
 *
 * Ported from "design section/ambassador-journeys_2.html" (<style>, lines 55-421).
 * Every selector is scoped under .qqj-page (set on <body> by template-journeys.php
 * and by any page containing a journeys block) so nothing collides with the
 * theme's own style.css, which defines its own :root tokens and bare element rules.
 *
 * Design tokens moved from :root to .qqj-page and gained a --qqj- prefix for the
 * same reason. Keyframe names gained a qqj- prefix (pop/fade/mup are too generic).
 *
 * DO NOT hand-edit the mechanical parts: regenerate with the extraction scripts
 * if the mockup changes, then re-apply the fixes marked R6/R8/R9 below.
 */

.qqj-page {
  --qqj-navy:#0C2440; --qqj-navy2:#123256; --qqj-navy3:#1B3F66;
  --qqj-gold:#C6A15B; --qqj-gold2:#E8D5AC; --qqj-gold3:#9E7B3C;
  --qqj-ivory:#FAF7F1; --qqj-mist:#F0F3F7; --qqj-line:#E3E8EF;
  --qqj-ink:#1E2A38; --qqj-ink2:#5A6B7E;
  --qqj-ok:#1D7A54; --qqj-warn:#B4541E;
  --qqj-shadow:0 10px 30px rgba(12,36,64,.10);
  --qqj-shadow2:0 18px 50px rgba(12,36,64,.16);
  --qqj-r:14px;
  /* measured at runtime by the header / finder / utility-bar view scripts.
     Absent block => the fallback in each var() keeps the layout correct. */
}
.qqj-page * {margin:0;padding:0;box-sizing:border-box}
html {scroll-behavior:smooth}
.qqj-page {display:block;font-family:'Inter',system-ui,sans-serif;font-size:16px;color:var(--qqj-ink);background:var(--qqj-ivory);line-height:1.6;-webkit-font-smoothing:antialiased}
/* R9: the mobile sticky bar used to do this with a global body{padding-bottom:64px}. */
.qqj-page {padding-bottom:var(--qqj-mbar-h,0px)}
/* undo the theme's h2,h3,h4,h5,h6{font-size:38px;line-height:48px;font-weight:bold} (style.css:71);
   every mockup rule below is more specific and still wins. */
.qqj-page h1, .qqj-page h2, .qqj-page h3, .qqj-page h4, .qqj-page h5, .qqj-page h6 {font-size:1em;line-height:1.3;font-weight:600}
.qqj-page h1, .qqj-page h2, .qqj-page h3, .qqj-page .serif {font-family:'Playfair Display',Georgia,serif}
.qqj-page img {max-width:100%;display:block;object-fit:initial}
.qqj-page a {color:inherit;text-decoration:none}
.qqj-page button {font-family:inherit;cursor:pointer;border:none;background:none}
.qqj-page .wrap {max-width:1200px;margin:0 auto;padding:0 24px}
.qqj-page .qqj-anchor {scroll-margin-top:calc(var(--qqj-header-h,0px) + var(--qqj-finder-h,0px) + 24px)}
.qqj-page .eyebrow {letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;font-weight:600;color:var(--qqj-gold3)}
.qqj-page .section {padding:72px 0}
.qqj-page .section-head {text-align:center;max-width:720px;margin:0 auto 40px}
.qqj-page .section-head h2 {font-size:clamp(1.7rem,3.4vw,2.5rem);color:var(--qqj-navy);margin:.35em 0 .4em;font-weight:600}
.qqj-page .section-head p {color:var(--qqj-ink2)}
.qqj-page .btn {display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:13px 26px;border-radius:999px;font-weight:600;font-size:.92rem;transition:.25s;letter-spacing:.02em}
.qqj-page .btn-gold {background:linear-gradient(135deg,#D8B472,var(--qqj-gold) 55%,var(--qqj-gold3));color:#fff;box-shadow:0 6px 18px rgba(198,161,91,.4)}
.qqj-page .btn-gold:hover {transform:translateY(-2px);box-shadow:0 10px 24px rgba(198,161,91,.55)}
.qqj-page .btn-ghost {border:1.5px solid rgba(255,255,255,.55);color:#fff}
.qqj-page .btn-ghost:hover {background:rgba(255,255,255,.12)}
.qqj-page .btn-navy {background:var(--qqj-navy);color:#fff}
.qqj-page .btn-navy:hover {background:var(--qqj-navy3)}
.qqj-page .btn-line {border:1.5px solid var(--qqj-navy);color:var(--qqj-navy)}
.qqj-page .btn-line:hover {background:var(--qqj-navy);color:#fff}

/* ============ HEADER ============ */
.qqj-page .topbar {background:var(--qqj-navy);color:#dbe4ee;font-size:.78rem}
.qqj-page .topbar .wrap {display:flex;justify-content:space-between;align-items:center;padding-top:7px;padding-bottom:7px}
.qqj-page .topbar a:hover {color:var(--qqj-gold2)}
.qqj-page .topbar .tb-right {display:flex;gap:18px}
.qqj-page header.site {position:sticky;top:0;z-index:900;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--qqj-line)}
.qqj-page header.site .wrap {display:flex;align-items:center;justify-content:space-between;height:72px}
.qqj-page .logo {display:flex;flex-direction:column;line-height:1.05}
/* height comes from --qqj-logo-h, set inline by blocks/journeys-header/render.php */
.qqj-page .logo {flex-direction:row;align-items:center}
.qqj-page .logo img {display:block;height:var(--qqj-logo-h,44px);width:auto;max-width:240px;object-fit:contain}
.qqj-page .logo b {font-family:'Playfair Display',serif;font-size:1.35rem;letter-spacing:.12em;color:var(--qqj-navy)}
.qqj-page nav.main {display:flex;gap:28px;font-size:.88rem;font-weight:500}
.qqj-page nav.main a {padding:6px 0;border-bottom:2px solid transparent;color:var(--qqj-ink)}
.qqj-page nav.main a:hover, .qqj-page nav.main a.active {color:var(--qqj-navy);border-color:var(--qqj-gold)}
.qqj-page .nav-cta {display:flex;align-items:center;gap:14px}
.qqj-page .hamburger {display:none;flex-direction:column;gap:5px;padding:8px}
.qqj-page .hamburger span {width:24px;height:2px;background:var(--qqj-navy);transition:.3s}
.qqj-page .m-nav {display:none}

/* ============ HERO SLIDER ============ */
.qqj-page .hero {position:relative;height:min(92vh,780px);min-height:560px;overflow:hidden;background:var(--qqj-navy)}
.qqj-page .slide {position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}
.qqj-page .slide.on {opacity:1;pointer-events:auto}
.qqj-page .slide .bg {position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 7s linear}
.qqj-page .slide.on .bg {transform:scale(1)}
.qqj-page .slide::after {content:"";position:absolute;inset:0;background:linear-gradient(75deg,rgba(7,20,38,.82) 0%,rgba(7,20,38,.55) 42%,rgba(7,20,38,.15) 75%),linear-gradient(0deg,rgba(7,20,38,.65),transparent 45%)}
.qqj-page .slide .inner {position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;max-width:1200px;margin:0 auto;padding:0 24px 60px;color:#fff}
.qqj-page .slide .kicker {display:inline-flex;align-items:center;gap:10px;background:rgba(198,161,91,.18);border:1px solid rgba(198,161,91,.6);color:var(--qqj-gold2);padding:7px 16px;border-radius:999px;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;width:max-content;margin-bottom:22px;backdrop-filter:blur(4px)}
.qqj-page .slide h1, .qqj-page .slide .h1 {font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4.6vw,3.6rem);line-height:1.12;font-weight:600;max-width:14em;text-shadow:0 3px 24px rgba(0,0,0,.45)}
.qqj-page .slide .sub {margin:18px 0 8px;max-width:560px;color:#E7EDF4;font-weight:300;font-size:clamp(.95rem,1.5vw,1.08rem);text-shadow:0 2px 12px rgba(0,0,0,.5)}
.qqj-page .slide .price-anchor {display:flex;align-items:baseline;gap:10px;margin:10px 0 26px}
.qqj-page .slide .price-anchor b {font-family:'Playfair Display',serif;font-size:1.9rem;color:var(--qqj-gold2)}
.qqj-page .slide .price-anchor span {font-size:.82rem;color:#C8D4E0}
.qqj-page .slide .cta-row {display:flex;gap:14px;flex-wrap:wrap}
.qqj-page .hero-ui {position:absolute;z-index:5;bottom:26px;left:0;right:0}
.qqj-page .hero-ui .wrap {display:flex;align-items:center;justify-content:space-between;gap:20px}
.qqj-page .dots {display:flex;gap:10px}
.qqj-page .dot {width:34px;height:4px;border-radius:4px;background:rgba(255,255,255,.32);transition:.3s;position:relative;overflow:hidden}
.qqj-page .dot.on {background:rgba(255,255,255,.45)}
.qqj-page .dot.on i {position:absolute;inset:0;background:var(--qqj-gold);transform-origin:left;animation:qqj-dotfill 9s linear forwards}
@keyframes qqj-dotfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.qqj-page .arrows {display:flex;gap:10px}
.qqj-page .arr {width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);color:#fff;display:grid;place-items:center;font-size:1.1rem;transition:.25s}
.qqj-page .arr:hover {background:var(--qqj-gold);border-color:var(--qqj-gold)}
.qqj-page .slide-tag {position:absolute;z-index:4;top:24px;right:24px;background:rgba(180,84,30,.92);color:#fff;padding:8px 16px;border-radius:8px;font-size:.75rem;font-weight:600;letter-spacing:.06em;display:none}
.qqj-page .slide.on .slide-tag {display:block;animation:qqj-pop .5s .6s both}
@keyframes qqj-pop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* trust strip */
.qqj-page .trust-strip {background:var(--qqj-navy);color:#fff;position:relative;z-index:6}
.qqj-page .trust-strip .wrap {display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:22px 24px}
.qqj-page .tsi {display:flex;gap:12px;align-items:center;font-size:.85rem}
.qqj-page .tsi .ico {font-size:1.5rem}
.qqj-page .tsi b {display:block;font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--qqj-gold2)}
.qqj-page .tsi small {color:#B9C6D6;display:block;line-height:1.35}

/* why direct */
.qqj-page .why {background:#fff}
.qqj-page .why-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.qqj-page .why-card {background:var(--qqj-ivory);border:1px solid var(--qqj-line);border-radius:var(--qqj-r);padding:28px 24px;transition:.3s}
.qqj-page .why-card:hover {transform:translateY(-4px);box-shadow:var(--qqj-shadow)}
.qqj-page .why-card .ico {width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--qqj-gold2),var(--qqj-gold));display:grid;place-items:center;font-size:1.4rem;margin-bottom:16px;color:var(--qqj-navy)}
.qqj-page .why-card h3 {font-size:1.06rem;color:var(--qqj-navy);margin-bottom:8px}
.qqj-page .why-card p {font-size:.86rem;color:var(--qqj-ink2)}

/* promo ribbon */
.qqj-page .ribbon {background:linear-gradient(90deg,var(--qqj-navy),var(--qqj-navy3));color:#fff}
.qqj-page .ribbon .wrap {display:flex;align-items:center;justify-content:center;gap:20px;padding:14px 24px;flex-wrap:wrap;text-align:center}
.qqj-page .ribbon b {color:var(--qqj-gold2)}
.qqj-page .ribbon .count {display:flex;gap:8px}
.qqj-page .ribbon .cd {background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:4px 10px;font-size:.85rem;min-width:52px}
.qqj-page .ribbon .cd b {display:block;font-size:1.05rem;color:#fff}
.qqj-page .ribbon .cd span {font-size:.6rem;letter-spacing:.1em;color:#B9C6D6;text-transform:uppercase}

/* finder / filters */
.qqj-page .finder {position:sticky;top:var(--qqj-header-h,0px);z-index:800;background:rgba(250,247,241,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--qqj-line);padding:14px 0}
.qqj-page .finder .wrap {display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.qqj-page .chips {display:flex;gap:8px;flex-wrap:wrap}
.qqj-page .chip {padding:8px 16px;border-radius:999px;border:1.5px solid var(--qqj-line);background:#fff;font-size:.8rem;font-weight:500;color:var(--qqj-ink2);transition:.2s}
.qqj-page .chip:hover {border-color:var(--qqj-gold)}
.qqj-page .chip.on {background:var(--qqj-navy);border-color:var(--qqj-navy);color:#fff}
.qqj-page .tier-switch {margin-left:auto;display:flex;align-items:center;gap:0;border:1.5px solid var(--qqj-navy);border-radius:999px;overflow:hidden}
.qqj-page .tier-switch button {padding:8px 18px;font-size:.8rem;font-weight:600;color:var(--qqj-navy);transition:.2s}
.qqj-page .tier-switch button.on {background:var(--qqj-navy);color:var(--qqj-gold2)}
.qqj-page .finder .hint {font-size:.72rem;color:var(--qqj-ink2);width:100%}

/* ============ JOURNEY CARDS ============ */
.qqj-page .group-title {display:flex;align-items:center;gap:16px;margin:46px 0 8px}
.qqj-page .group-title h3 {font-size:1.5rem;color:var(--qqj-navy);font-weight:600}
.qqj-page .group-title .rule {flex:1;height:1px;background:var(--qqj-line)}
.qqj-page .group-sub {color:var(--qqj-ink2);font-size:.88rem;margin-bottom:24px}
.qqj-page .cards {display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.qqj-page .card {background:#fff;border-radius:var(--qqj-r);overflow:hidden;border:1px solid var(--qqj-line);box-shadow:var(--qqj-shadow);display:flex;flex-direction:column;transition:.3s}
.qqj-page .card:hover {transform:translateY(-6px);box-shadow:var(--qqj-shadow2)}
.qqj-page .card .media {position:relative;height:210px;overflow:hidden;background:linear-gradient(135deg,var(--qqj-navy2),var(--qqj-navy3))}
.qqj-page .card .media img {width:100%;height:100%;object-fit:cover;transition:transform .6s}
.qqj-page .card:hover .media img {transform:scale(1.06)}
.qqj-page .card .media .ph {position:absolute;inset:0;display:grid;place-items:center;color:var(--qqj-gold2);font-family:'Playfair Display',serif;font-size:1.2rem;text-align:center;padding:20px;background:linear-gradient(135deg,#123256,#0C2440)}
.qqj-page .badge {position:absolute;top:14px;left:14px;background:var(--qqj-gold);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.qqj-page .badge.hot {background:#B4541E}
.qqj-page .badge.ltd {background:#7A1D3A}
.qqj-page .dur-pill {position:absolute;bottom:14px;left:14px;background:rgba(7,20,38,.78);color:#fff;font-size:.72rem;padding:6px 12px;border-radius:999px;backdrop-filter:blur(4px)}
.qqj-page .card .body {padding:22px 22px 20px;display:flex;flex-direction:column;flex:1}
.qqj-page .route {display:flex;flex-wrap:wrap;gap:6px;font-size:.68rem;color:var(--qqj-gold3);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.qqj-page .route i {font-style:normal;color:#C9D2DC}
.qqj-page .card h4 {font-family:'Playfair Display',serif;font-size:1.22rem;color:var(--qqj-navy);line-height:1.3;margin-bottom:10px}
.qqj-page .card .hl {list-style:none;margin:0 0 16px;flex:1}
.qqj-page .card .hl li {font-size:.83rem;color:var(--qqj-ink2);padding-left:20px;position:relative;margin-bottom:6px}
.qqj-page .card .hl li::before {content:"✦";position:absolute;left:0;color:var(--qqj-gold);font-size:.7rem;top:2px}
.qqj-page .card .foot {display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--qqj-line);padding-top:16px;gap:10px}
.qqj-page .price small {display:block;font-size:.68rem;color:var(--qqj-ink2);letter-spacing:.02em}
.qqj-page .price b {font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--qqj-navy)}
.qqj-page .price b em {font-style:normal;font-size:.8rem;color:var(--qqj-ink2);font-weight:400}
.qqj-page .price .was {font-size:.72rem;color:var(--qqj-ink2)}
.qqj-page .card .foot .btn {padding:10px 18px;font-size:.82rem}
.qqj-page .hotel-line {font-size:.72rem;color:var(--qqj-ink2);margin:-6px 0 12px}
.qqj-page .hotel-line b {color:var(--qqj-ink);font-weight:600}
.qqj-page .scarcity {font-size:.7rem;color:var(--qqj-warn);font-weight:600;margin-top:8px;display:flex;align-items:center;gap:6px}

/* ============ DETAIL MODAL ============ */
.qqj-page .modal-bg {position:fixed;inset:0;background:rgba(7,18,33,.72);z-index:1000;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:4vh 16px;backdrop-filter:blur(4px)}
.qqj-page .modal-bg.open {display:flex}
.qqj-page .modal {background:#fff;border-radius:18px;max-width:900px;width:100%;overflow:hidden;position:relative;animation:qqj-mup .35s ease}
@keyframes qqj-mup{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.qqj-page .modal .hero-img {height:280px;position:relative;background:linear-gradient(135deg,var(--qqj-navy2),var(--qqj-navy))}
.qqj-page .modal .hero-img img {width:100%;height:100%;object-fit:cover}
.qqj-page .modal .hero-img::after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,20,38,.75),transparent 55%)}
.qqj-page .modal .hero-cap {position:absolute;bottom:20px;left:28px;right:28px;color:#fff;z-index:2}
.qqj-page .modal .hero-cap h3 {font-size:1.7rem;font-weight:600}
.qqj-page .modal .hero-cap .meta {font-size:.8rem;color:var(--qqj-gold2);letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.qqj-page .m-close {position:absolute;top:16px;right:16px;z-index:5;width:40px;height:40px;border-radius:50%;background:rgba(7,20,38,.55);color:#fff;font-size:1.2rem;display:grid;place-items:center;backdrop-filter:blur(4px)}
.qqj-page .m-close:hover {background:var(--qqj-gold)}
.qqj-page .m-body {padding:28px 32px 36px}
.qqj-page .m-tabs {display:flex;gap:4px;border-bottom:1.5px solid var(--qqj-line);margin-bottom:24px;overflow-x:auto}
.qqj-page .m-tab {padding:10px 18px;font-size:.85rem;font-weight:600;color:var(--qqj-ink2);border-bottom:2.5px solid transparent;white-space:nowrap}
.qqj-page .m-tab.on {color:var(--qqj-navy);border-color:var(--qqj-gold)}
.qqj-page .m-pane {display:none}
.qqj-page .m-pane.on {display:block;animation:qqj-fade .3s}
@keyframes qqj-fade{from{opacity:0}to{opacity:1}}
.qqj-page .tier-box {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}
.qqj-page .tier-opt {border:1.5px solid var(--qqj-line);border-radius:12px;padding:16px 18px;cursor:pointer;transition:.2s;position:relative}
.qqj-page .tier-opt:hover {border-color:var(--qqj-gold)}
.qqj-page .tier-opt.on {border-color:var(--qqj-gold);background:linear-gradient(135deg,#FDFAF3,#FBF4E4);box-shadow:0 4px 14px rgba(198,161,91,.18)}
.qqj-page .tier-opt .t-star {font-size:.72rem;font-weight:700;letter-spacing:.12em;color:var(--qqj-gold3);text-transform:uppercase}
.qqj-page .tier-opt .t-price {font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--qqj-navy);margin:2px 0}
.qqj-page .tier-opt .t-price span {font-size:.75rem;font-family:'Inter';color:var(--qqj-ink2);font-weight:400}
.qqj-page .tier-opt .t-hotels {font-size:.74rem;color:var(--qqj-ink2);line-height:1.45}
.qqj-page .tier-opt .tick {position:absolute;top:12px;right:14px;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--qqj-line);display:grid;place-items:center;font-size:.7rem;color:#fff}
.qqj-page .tier-opt.on .tick {background:var(--qqj-gold);border-color:var(--qqj-gold)}
.qqj-page .day {border-left:2px solid var(--qqj-gold2);margin-left:8px;padding:0 0 26px 24px;position:relative}
.qqj-page .day:last-child {padding-bottom:4px}
.qqj-page .day::before {content:"";position:absolute;left:-8px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--qqj-gold);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--qqj-gold)}
.qqj-page .day .d-tag {font-size:.68rem;font-weight:700;letter-spacing:.14em;color:var(--qqj-gold3);text-transform:uppercase}
.qqj-page .day h5 {font-family:'Playfair Display',serif;font-size:1.08rem;color:var(--qqj-navy);margin:2px 0 6px}
.qqj-page .day .meals {font-size:.68rem;color:var(--qqj-ink2);background:var(--qqj-mist);display:inline-block;padding:2px 10px;border-radius:999px;margin-bottom:8px}
.qqj-page .day p {font-size:.87rem;color:var(--qqj-ink2)}
.qqj-page .tl-toggle {font-size:.78rem;font-weight:600;color:var(--qqj-navy);margin-top:10px;display:inline-flex;align-items:center;gap:6px;border-bottom:1px dashed var(--qqj-gold);padding-bottom:1px}
.qqj-page .timeline {display:none;margin-top:14px;background:var(--qqj-ivory);border:1px solid var(--qqj-line);border-radius:12px;padding:16px 18px}
.qqj-page .timeline.open {display:block}
.qqj-page .timeline .row {display:flex;gap:14px;font-size:.8rem;padding:5px 0;border-bottom:1px dashed var(--qqj-line)}
.qqj-page .timeline .row:last-child {border:none}
.qqj-page .timeline .row b {color:var(--qqj-navy);min-width:46px;font-variant-numeric:tabular-nums}
.qqj-page .timeline .row span {color:var(--qqj-ink2)}
.qqj-page .inc-grid {display:grid;grid-template-columns:1fr 1fr;gap:22px}
.qqj-page .inc-col h5 {font-size:.95rem;color:var(--qqj-navy);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.qqj-page .inc-col ul {list-style:none}
.qqj-page .inc-col li {font-size:.84rem;color:var(--qqj-ink2);padding:5px 0 5px 24px;position:relative;border-bottom:1px dashed var(--qqj-line)}
.qqj-page .inc-col li:last-child {border:none}
.qqj-page .inc-col.yes li::before {content:"✓";position:absolute;left:2px;color:var(--qqj-ok);font-weight:700}
.qqj-page .inc-col.no li::before {content:"—";position:absolute;left:2px;color:var(--qqj-warn);font-weight:700}
.qqj-page .notes {background:var(--qqj-mist);border-radius:12px;padding:16px 20px;margin-top:20px}
.qqj-page .notes h5 {font-size:.85rem;color:var(--qqj-navy);margin-bottom:8px}
.qqj-page .notes p, .qqj-page .notes li {font-size:.78rem;color:var(--qqj-ink2)}
.qqj-page .notes ul {padding-left:18px}
.qqj-page .m-cta {position:sticky;bottom:0;background:#fff;border-top:1px solid var(--qqj-line);margin:26px -32px -36px;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.qqj-page .m-cta .price b {font-size:1.4rem}

/* ============ BOOKING MODAL ============ */
.qqj-page .bk-steps {display:flex;gap:8px;margin-bottom:24px}
.qqj-page .bk-step {flex:1;text-align:center;font-size:.72rem;font-weight:600;color:var(--qqj-ink2);padding-bottom:10px;border-bottom:3px solid var(--qqj-line)}
.qqj-page .bk-step.on {color:var(--qqj-navy);border-color:var(--qqj-gold)}
.qqj-page .bk-pane {display:none}
.qqj-page .bk-pane.on {display:block;animation:qqj-fade .3s}
.qqj-page .f-row {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.qqj-page .f-field label {display:block;font-size:.75rem;font-weight:600;color:var(--qqj-navy);margin-bottom:6px;letter-spacing:.04em}
.qqj-page .f-field input, .qqj-page .f-field select {width:100%;padding:12px 14px;border:1.5px solid var(--qqj-line);border-radius:10px;font-family:inherit;font-size:.9rem;background:#fff;color:var(--qqj-ink)}
.qqj-page .f-field input:focus, .qqj-page .f-field select:focus {outline:none;border-color:var(--qqj-gold)}
.qqj-page .guests-ctl {display:flex;align-items:center;gap:14px;border:1.5px solid var(--qqj-line);border-radius:10px;padding:8px 14px;justify-content:space-between}
.qqj-page .guests-ctl button {width:32px;height:32px;border-radius:50%;border:1.5px solid var(--qqj-navy);color:var(--qqj-navy);font-size:1.1rem;font-weight:600}
.qqj-page .guests-ctl button:hover {background:var(--qqj-navy);color:#fff}
.qqj-page .summary {background:var(--qqj-ivory);border:1px solid var(--qqj-line);border-radius:12px;padding:18px 20px;margin:14px 0}
.qqj-page .summary .s-row {display:flex;justify-content:space-between;font-size:.85rem;padding:5px 0;color:var(--qqj-ink2)}
.qqj-page .summary .s-row.total {border-top:1.5px solid var(--qqj-line);margin-top:8px;padding-top:12px;font-weight:700;color:var(--qqj-navy);font-size:1rem}
.qqj-page .summary .s-row.total b {font-family:'Playfair Display',serif;font-size:1.4rem}
.qqj-page .payopt {border:1.5px solid var(--qqj-line);border-radius:12px;padding:18px;margin-bottom:14px;cursor:pointer;transition:.2s;position:relative}
.qqj-page .payopt:hover {border-color:var(--qqj-gold)}
.qqj-page .payopt.on {border-color:var(--qqj-gold);background:linear-gradient(135deg,#FDFAF3,#FBF4E4)}
.qqj-page .payopt .po-head {display:flex;align-items:center;justify-content:space-between;gap:10px}
.qqj-page .payopt .po-head b {color:var(--qqj-navy);font-size:.95rem}
.qqj-page .payopt .po-tag {background:var(--qqj-ok);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:4px 10px;border-radius:999px;text-transform:uppercase}
.qqj-page .payopt .po-tag.alt {background:var(--qqj-ink2)}
.qqj-page .payopt p {font-size:.8rem;color:var(--qqj-ink2);margin-top:6px}
.qqj-page .perks {list-style:none;margin-top:10px}
.qqj-page .perks li {font-size:.8rem;color:var(--qqj-ink);padding:4px 0 4px 24px;position:relative}
.qqj-page .perks li::before {content:"🎁";position:absolute;left:0;font-size:.75rem}
.qqj-page .paymethods {display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.qqj-page .pm {border:1px solid var(--qqj-line);border-radius:8px;padding:7px 13px;font-size:.74rem;font-weight:600;color:var(--qqj-ink2);background:#fff;display:flex;align-items:center;gap:6px}
.qqj-page .secure-note {display:flex;align-items:center;gap:8px;font-size:.74rem;color:var(--qqj-ok);margin-top:6px}
.qqj-page .bk-nav {display:flex;justify-content:space-between;margin-top:22px;gap:12px}
.qqj-page .assure {display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}
.qqj-page .assure div {font-size:.72rem;color:var(--qqj-ink2);display:flex;align-items:center;gap:6px}

/* ============ REVIEWS/AWARDS/FAQ/JOURNAL ============ */
.qqj-page .proof {background:var(--qqj-navy);color:#fff}
.qqj-page .proof .section-head h2 {color:#fff}
.qqj-page .proof .section-head p {color:#B9C6D6}
.qqj-page .proof-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.qqj-page .proof-card {background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--qqj-r);padding:26px}
.qqj-page .proof-card .stars {color:var(--qqj-gold);letter-spacing:3px;margin-bottom:10px}
.qqj-page .proof-card h4 {color:var(--qqj-gold2);font-size:1.02rem;margin-bottom:8px}
.qqj-page .proof-card p {font-size:.84rem;color:#C8D4E0}
.qqj-page .award-row {display:flex;justify-content:center;gap:38px;flex-wrap:wrap;margin-top:44px;text-align:center}
.qqj-page .award {font-size:.75rem;color:#B9C6D6;max-width:150px}
.qqj-page .award .aico {font-size:2rem;margin-bottom:8px;color:var(--qqj-gold2)}
.qqj-page .faq-list {max-width:820px;margin:0 auto}
.qqj-page .faq {border:1px solid var(--qqj-line);border-radius:12px;background:#fff;margin-bottom:12px;overflow:hidden}
.qqj-page .faq summary {padding:18px 22px;font-weight:600;font-size:.92rem;color:var(--qqj-navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.qqj-page .faq summary::-webkit-details-marker {display:none}
.qqj-page .faq summary::after {content:"+";font-size:1.3rem;color:var(--qqj-gold);transition:.25s}
.qqj-page .faq[open] summary::after {transform:rotate(45deg)}
.qqj-page .faq .fa {padding:0 22px 18px;font-size:.86rem;color:var(--qqj-ink2)}
.qqj-page .journal-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.qqj-page .j-card {background:#fff;border:1px solid var(--qqj-line);border-radius:var(--qqj-r);overflow:hidden;transition:.3s}
.qqj-page .j-card:hover {transform:translateY(-4px);box-shadow:var(--qqj-shadow)}
.qqj-page .j-card .jm {height:170px;overflow:hidden;background:linear-gradient(135deg,var(--qqj-navy2),var(--qqj-navy3))}
.qqj-page .j-card .jm img {width:100%;height:100%;object-fit:cover}
.qqj-page .j-card .jb {padding:18px 20px}
.qqj-page .j-card .jb .jt {font-size:.66rem;color:var(--qqj-gold3);font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.qqj-page .j-card h4 {font-family:'Playfair Display',serif;font-size:1.02rem;color:var(--qqj-navy);margin:6px 0 8px;line-height:1.35}
.qqj-page .j-card p {font-size:.8rem;color:var(--qqj-ink2)}
.qqj-page .j-card .jl {font-size:.78rem;font-weight:600;color:var(--qqj-gold3);margin-top:10px;display:inline-block}

/* lead capture */
.qqj-page .lead {background:linear-gradient(135deg,#123256,var(--qqj-navy));color:#fff}
.qqj-page .lead .wrap {display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding-top:60px;padding-bottom:60px}
.qqj-page .lead h2 {font-size:1.8rem;font-weight:600;margin-bottom:12px}
.qqj-page .lead p {color:#B9C6D6;font-size:.9rem}
.qqj-page .lead form {display:flex;gap:10px;flex-wrap:wrap}
.qqj-page .lead input {flex:1;min-width:220px;padding:14px 18px;border-radius:999px;border:none;font-family:inherit;font-size:.9rem}
.qqj-page .lead small {color:#8FA2B8;font-size:.7rem;width:100%}

/* footer */
.qqj-page footer {background:#081A30;color:#AEBDCE;font-size:.84rem}
.qqj-page .f-grid {display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding:56px 0 40px}
.qqj-page .f-grid h5 {color:#fff;font-size:.9rem;margin-bottom:16px;letter-spacing:.06em}
.qqj-page .f-grid a {display:block;padding:4px 0;color:#AEBDCE}
.qqj-page .f-grid a:hover {color:var(--qqj-gold2)}
.qqj-page .f-bottom {border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.74rem;color:#7A8CA0}
.qqj-page .f-pay {display:flex;gap:6px;flex-wrap:wrap}
.qqj-page .f-pay span {border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:3px 9px;font-size:.66rem}

/* chatbot */
.qqj-page .chat-fab {position:fixed;bottom:24px;right:24px;z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.qqj-page .chat-tease {background:#fff;border-radius:14px 14px 2px 14px;box-shadow:var(--qqj-shadow2);padding:12px 16px;font-size:.8rem;color:var(--qqj-ink);max-width:240px;display:none;animation:qqj-pop .4s both}
.qqj-page .chat-tease.show {display:block}
.qqj-page .chat-btn {width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#D8B472,var(--qqj-gold3));color:#fff;font-size:1.55rem;display:grid;place-items:center;box-shadow:0 10px 26px rgba(158,123,60,.5);transition:.25s;position:relative}
.qqj-page .chat-btn:hover {transform:scale(1.07)}
.qqj-page .chat-btn .pulse {position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#2BB673;border:2px solid #fff}
.qqj-page .chat-win {position:fixed;bottom:100px;right:24px;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 130px);background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(7,20,38,.35);z-index:1200;display:none;flex-direction:column;overflow:hidden;animation:qqj-mup .3s}
.qqj-page .chat-win.open {display:flex}
.qqj-page .chat-head {background:var(--qqj-navy);color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px}
.qqj-page .chat-head .avatar {width:38px;height:38px;border-radius:50%;background:var(--qqj-gold);display:grid;place-items:center;font-size:1.1rem}
.qqj-page .chat-head b {font-size:.9rem;display:block}
.qqj-page .chat-head small {font-size:.7rem;color:#9FE3C0;display:flex;align-items:center;gap:5px}
.qqj-page .chat-head .x {margin-left:auto;color:#B9C6D6;font-size:1.2rem}
.qqj-page .chat-body {flex:1;overflow-y:auto;padding:16px;background:var(--qqj-ivory);display:flex;flex-direction:column;gap:10px}
.qqj-page .msg {max-width:82%;padding:10px 14px;border-radius:14px;font-size:.82rem;line-height:1.5;animation:qqj-fade .3s}
.qqj-page .msg.bot {background:#fff;border:1px solid var(--qqj-line);border-bottom-left-radius:3px;align-self:flex-start;color:var(--qqj-ink)}
.qqj-page .msg.user {background:var(--qqj-navy);color:#fff;border-bottom-right-radius:3px;align-self:flex-end}
.qqj-page .qr-row {display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start}
.qqj-page .qr {border:1.5px solid var(--qqj-gold);color:var(--qqj-gold3);border-radius:999px;padding:6px 13px;font-size:.75rem;font-weight:600;background:#fff;transition:.2s}
.qqj-page .qr:hover {background:var(--qqj-gold);color:#fff}
.qqj-page .chat-foot {padding:10px 14px;border-top:1px solid var(--qqj-line);display:flex;gap:8px;background:#fff}
.qqj-page .chat-foot input {flex:1;border:1.5px solid var(--qqj-line);border-radius:999px;padding:9px 15px;font-family:inherit;font-size:.82rem}
.qqj-page .chat-foot button {color:var(--qqj-gold3);font-size:1.2rem;padding:0 6px}

/* mobile sticky bar */
.qqj-page .m-bar {display:none;position:fixed;bottom:0;left:0;right:0;z-index:1100;background:#fff;border-top:1px solid var(--qqj-line);box-shadow:0 -8px 24px rgba(7,20,38,.12);padding:10px 14px;gap:10px;align-items:center;justify-content:space-between}
.qqj-page .m-bar .price b {font-size:1.15rem}

/* to top */
.qqj-page .top-btn {position:fixed;bottom:96px;right:32px;z-index:1100;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--qqj-line);box-shadow:var(--qqj-shadow);color:var(--qqj-navy);font-size:1.1rem;display:none;place-items:center}
.qqj-page .top-btn.show {display:grid}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){
  .qqj-page .cards {grid-template-columns:repeat(2,1fr)}
  .qqj-page .why-grid {grid-template-columns:repeat(2,1fr)}
  .qqj-page .proof-grid {grid-template-columns:1fr;max-width:560px;margin:0 auto}
  .qqj-page .journal-grid {grid-template-columns:repeat(2,1fr)}
  .qqj-page .f-grid {grid-template-columns:1fr 1fr}
  .qqj-page .lead .wrap {grid-template-columns:1fr}
}
@media(max-width:760px){
  .qqj-page .topbar .tb-right span.hide-m {display:none}
  .qqj-page .logo img {height:min(var(--qqj-logo-h,44px),36px)}
  .qqj-page nav.main {display:none}
  .qqj-page .hamburger {display:flex}
  .qqj-page .m-nav {display:none;position:fixed;inset:var(--qqj-header-h,72px) 0 0 0;background:#fff;z-index:890;padding:28px 24px;flex-direction:column;gap:4px;overflow-y:auto}
  .qqj-page .m-nav.open {display:flex}
  .qqj-page .m-nav a {padding:14px 6px;border-bottom:1px solid var(--qqj-line);font-weight:500;color:var(--qqj-navy);font-size:1rem}
  .qqj-page .nav-cta .btn {display:none}
  .qqj-page .hero {height:88vh;min-height:520px}
  .qqj-page .slide .inner {padding-bottom:110px;justify-content:flex-end}
  .qqj-page .slide .price-anchor b {font-size:1.5rem}
  .qqj-page .arrows {display:none}
  .qqj-page .trust-strip .wrap {grid-template-columns:1fr 1fr;gap:16px}
  .qqj-page .cards {grid-template-columns:1fr}
  .qqj-page .why-grid {grid-template-columns:1fr}
  .qqj-page .tier-switch {margin-left:0}
  .qqj-page .tier-box, .qqj-page .inc-grid, .qqj-page .f-row {grid-template-columns:1fr}
  .qqj-page .m-body {padding:22px 18px 30px}
  .qqj-page .m-cta {margin:22px -18px -30px;padding:14px 18px}
  .qqj-page .journal-grid {grid-template-columns:1fr}
  .qqj-page .f-grid {grid-template-columns:1fr;gap:26px}
  .qqj-page .m-bar {display:flex}
  .qqj-page .chat-fab {bottom:78px}
  .qqj-page .chat-win {bottom:150px}
  .qqj-page .top-btn {display:none!important}
  .qqj-page .section {padding:52px 0}
}
