:root{
  --ink:#2a2024;
  --plum:#35202b;
  --plum-2:#432a37;
  --bg:#fbf6f2;
  --card:#ffffff;
  --rose:#bf6a7d;
  --rose-deep:#9a4f61;
  --rose-soft:#f7e9ea;
  --champagne:#c19a5b;
  --champagne-deep:#9d7c3f;
  --line:#ecdfdd;
  --muted:#8b7c7e;
  --cream:#f4e9e2;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:clip;}
body{font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--ink);
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;max-width:100%;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.serif{font-family:"Fraunces",Georgia,serif;}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne-deep);}
.rule{width:44px;height:2px;background:var(--champagne);border:none;}
:focus-visible{outline:2.5px solid var(--rose);outline-offset:3px;border-radius:3px;}

/* ── ANNOUNCE + HEADER ── */
.announce{background:var(--plum);color:#f0e4dd;font-size:12.5px;text-align:center;padding:9px 16px;letter-spacing:.01em;}
.announce b{color:#fff;font-weight:600;}
.hdr{position:sticky;top:0;z-index:100;background:rgba(251,246,242,.94);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);overflow-x:clip;}
.hdr-shell{padding-top:2px;padding-bottom:0;}
.hdr-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px 44px;
  padding:14px 0;min-height:96px;position:relative;}
.hdr-logo{display:flex;align-items:center;flex-shrink:0;padding-right:12px;width:auto;max-width:min(320px,44vw);
  overflow:visible;background:transparent;box-shadow:none;}
.brand-logo{display:block;height:88px;width:auto;max-width:100%;object-fit:contain;object-position:left center;}
.hdr-identity{text-align:center;min-width:0;padding:0 16px;}
.hdr-title{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(20px,2.5vw,26px);color:var(--ink);
  letter-spacing:.005em;line-height:1.15;margin:0;}
.hdr-line{font-size:clamp(13px,1.6vw,15px);font-weight:500;color:var(--ink);letter-spacing:.02em;
  line-height:1.25;margin:5px 0 0;}
.hdr-franchise{font-size:11px;font-weight:500;color:var(--muted);line-height:1.35;margin:5px 0 0;letter-spacing:.01em;}
.hdr-mm{display:flex;align-items:stretch;justify-content:center;flex-direction:column;
  padding:12px 18px;margin-left:8px;flex-shrink:0;text-align:center;max-width:248px;
  background:linear-gradient(145deg,#fff 0%,var(--rose-soft) 100%);
  border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 12px rgba(53,32,43,.06);
  cursor:pointer;text-decoration:none;
  transition:border-color .15s,box-shadow .15s,transform .12s,background .15s;}
.hdr-mm-inner{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;}
.hdr-mm-primary{font-family:"Fraunces",serif;font-size:14px;font-weight:600;color:var(--rose-deep);line-height:1.32;}
.hdr-mm-ico{margin-right:1px;}
.hdr-mm-sub{font-size:11px;font-weight:500;color:#6a5c5f;line-height:1.38;max-width:228px;}
.hdr-mm-go{font-size:12px;font-weight:600;color:var(--rose);margin-top:1px;letter-spacing:.02em;}
.hdr-mm:hover{border-color:rgba(191,106,125,.45);box-shadow:0 6px 22px rgba(191,106,125,.2);transform:translateY(-2px);
  background:linear-gradient(145deg,#fff 0%,#fcecef 100%);}
.hdr-mm:hover .hdr-mm-go{color:var(--rose-deep);}
.hdr-mm:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
.hdr-mm.on{border-color:var(--rose);background:linear-gradient(145deg,#fff 0%,var(--rose-soft) 100%);}
.hdr-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 24px;
  padding:10px 0 12px;border-top:1px solid var(--line);margin-left:0;}
.nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.nav a{font-size:13.5px;font-weight:500;color:#5c4f52;transition:color .15s;white-space:nowrap;line-height:1;padding:6px 0;border-bottom:2px solid transparent;}
.nav a:hover{color:var(--rose-deep);}
.nav a.on{color:var(--rose-deep);font-weight:600;border-bottom-color:var(--rose);}
.nav a.btn{border-bottom:none;padding:11px 20px;}
.nav .btn{margin-left:4px;}
@media(min-width:901px) and (max-width:1200px){
  .hdr-top{gap:16px 28px;padding:12px 0;min-height:88px;}
  .hdr-logo{max-width:min(280px,48vw);}
  .brand-logo{height:76px;}
  .hdr-mm{max-width:210px;padding:11px 14px;}
  .hdr-mm-primary{font-size:13px;}
  .hdr-mm-sub{font-size:10.5px;}
  .hdr-nav{gap:8px 16px;padding:9px 0 11px;}
  .nav{gap:16px;}
  .nav a{font-size:12.5px;padding:5px 0;}
  .nav a.btn{font-size:12px;padding:9px 14px;margin-left:2px;}
}
.btn{display:inline-block;font-weight:600;border-radius:999px;transition:transform .12s,background .15s,box-shadow .15s;}
.btn-primary{background:var(--rose);color:#fff;padding:11px 20px;font-size:13.5px;box-shadow:0 4px 14px rgba(191,106,125,.32);}
.btn-primary:hover{background:var(--rose-deep);transform:translateY(-1px);}
.btn-ghost{border:1.5px solid var(--line);color:var(--ink);padding:11px 22px;font-size:14px;background:#fff;}
.btn-ghost:hover{border-color:var(--rose);color:var(--rose-deep);}
.hamb{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;min-width:44px;min-height:44px;align-items:center;justify-content:center;}
.hamb span{width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.25s;}
.mnav{display:none;}

/* ── HERO ── */
.hero{position:relative;overflow:hidden;padding:64px 0 40px;}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 55% at 78% 12%,rgba(191,106,125,.09),transparent 60%),
             radial-gradient(50% 45% at 12% 88%,rgba(193,154,91,.08),transparent 60%);}
.hero-in{position:relative;z-index:1;text-align:center;max-width:760px;margin:0 auto;}
.hero h1{font-family:"Fraunces",serif;font-weight:500;font-size:clamp(38px,6.4vw,68px);line-height:1.04;
  letter-spacing:-.015em;color:var(--ink);margin:18px 0 12px;
  text-shadow:0 1px 16px rgba(251,246,242,.85),0 0 1px rgba(251,246,242,.5);}
.hero h1 em{font-style:italic;color:var(--rose-deep);}
.hero-trust{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:7px 22px;margin:0 auto 18px;max-width:640px;padding:0 4px;}
.hero-trust li{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#5a4d50;line-height:1.35;}
.hero-trust-ico{color:var(--champagne-deep);font-size:11px;font-weight:700;flex-shrink:0;line-height:1;}
.hero-sub{font-size:clamp(15px,2vw,18px);color:#6a5c5f;max-width:600px;margin:0 auto;line-height:1.65;}

/* ── HERO MATCHMAKER CARD ── */
.hero-match{position:relative;z-index:1;max-width:660px;margin:34px auto 0;background:var(--card);
  border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 60px -24px rgba(53,32,43,.32);overflow:hidden;}
.hero-match-top{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff,#fdf8f6);}
.hero-match-kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne-deep);}
.hero-match-meta{font-size:12px;color:var(--muted);font-weight:500;}
.hero-match-body{padding:28px 24px 26px;}
.hero-match-title{font-family:"Fraunces",serif;font-size:clamp(22px,3.4vw,28px);font-weight:500;color:var(--ink);
  line-height:1.2;margin-bottom:14px;}
.hero-match-title em{font-style:italic;color:var(--rose-deep);}
.hero-match-desc{font-size:15px;color:#6a5c5f;line-height:1.65;max-width:520px;margin:0 auto 22px;}
.hero-match-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:560px;margin:0 auto 22px;}
.hero-match-step{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;font-weight:600;
  color:#6a5c5f;line-height:1.3;text-align:center;}
.hero-match-step-n{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;
  background:var(--rose-soft);color:var(--rose-deep);font-family:"Fraunces",serif;font-weight:600;font-size:13px;flex-shrink:0;}
@media(max-width:480px){.hero-match-steps{grid-template-columns:repeat(2,1fr);gap:14px 10px;}}
.hero-match-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:13px 28px;font-size:15px;font-weight:600;}
.hero-match-fine{margin-top:14px;font-size:12.5px;color:var(--muted);line-height:1.5;}
.hero-plan{text-align:center;margin-top:20px;font-size:14px;color:var(--muted);line-height:1.55;}
.hero-plan a{color:var(--rose-deep);font-weight:600;}
.hero-plan a:hover{text-decoration:underline;text-underline-offset:3px;}
@media(max-width:480px){.hero-match-body{padding:24px 18px 22px;}.hero-match-btn{width:100%;}}

/* ── FINDER (signature) ── */
.finder{position:relative;z-index:1;max-width:660px;margin:34px auto 0;background:var(--card);
  border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 60px -24px rgba(53,32,43,.32);overflow:hidden;}
.finder-top{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff, #fdf8f6);}
.finder-kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne-deep);}
.finder-count{font-size:12px;color:var(--muted);font-weight:500;}
.finder-body{padding:26px 24px 24px;}
.finder-q{font-family:"Fraunces",serif;font-size:22px;font-weight:500;color:var(--ink);text-align:center;margin-bottom:20px;line-height:1.25;}
.finder-opts{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
@media(max-width:480px){.finder-opts{grid-template-columns:1fr;}.finder-body{padding:22px 18px 20px;}}
.opt{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1.5px solid var(--line);
  border-radius:14px;padding:15px 16px;cursor:pointer;font:inherit;font-size:14.5px;font-weight:500;color:var(--ink);
  transition:border-color .14s,background .14s,transform .1s;}
.opt:hover{border-color:var(--rose);background:var(--rose-soft);}
.opt:active{transform:scale(.99);}
.opt .oe{font-size:22px;line-height:1;flex-shrink:0;}
.opt small{display:block;font-weight:450;color:var(--muted);font-size:12px;margin-top:1px;}
.finder-foot{display:flex;align-items:center;justify-content:space-between;margin-top:20px;}
.dots{display:flex;gap:6px;}
.dot{width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .2s,width .2s;}
.dot.on{background:var(--rose);width:20px;border-radius:4px;}
.back{background:none;border:none;color:var(--muted);font:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:6px 4px;}
.back:hover{color:var(--rose-deep);}
.back[hidden]{visibility:hidden;}

/* Finder result */
.result{text-align:center;}
.result-eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:10px;}
.result-name{font-family:"Fraunces",serif;font-weight:600;font-size:30px;line-height:1.12;color:var(--ink);margin-bottom:12px;}
.result-name em{font-style:italic;color:var(--rose-deep);}
.result-why{font-size:14.5px;color:#5f5255;line-height:1.65;max-width:460px;margin:0 auto 18px;}
.result-picks{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:22px;}
.pick{font-size:13px;font-weight:600;color:var(--rose-deep);background:var(--rose-soft);border:1px solid #eccdd2;
  border-radius:999px;padding:7px 15px;}
.result-note{font-size:12.5px;color:var(--muted);margin-bottom:20px;line-height:1.6;}
.result-cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.result-restart{background:none;border:none;color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer;margin-top:16px;text-decoration:underline;text-underline-offset:3px;}
.result-restart:hover{color:var(--rose-deep);}

.finder-alt{text-align:center;margin-top:20px;font-size:14px;color:var(--muted);line-height:1.55;}
.finder-alt a{color:var(--rose-deep);font-weight:600;}
.finder-alt a:hover{text-decoration:underline;text-underline-offset:3px;}

/* ── CREDIBILITY STRIP ── */
.creds{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;margin-top:52px;}
.creds-in{display:flex;flex-wrap:wrap;justify-content:center;gap:0;}
.cred{flex:1;min-width:160px;text-align:center;padding:22px 18px;border-right:1px solid var(--line);}
.cred:last-child{border-right:none;}
.cred-num{font-family:"Fraunces",serif;font-size:28px;font-weight:600;color:var(--ink);line-height:1;}
.cred-lbl{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:7px;}
@media(max-width:640px){.cred{min-width:50%;border-bottom:1px solid var(--line);}.cred:nth-child(2){border-right:none;}}

/* ── SECTION SHELL ── */
.sec{padding:74px 0;}
.sec-head{max-width:640px;margin:0 auto 40px;text-align:center;}
.sec-head .rule{margin:16px auto 0;}
.sec-title{font-family:"Fraunces",serif;font-weight:500;font-size:clamp(28px,4vw,40px);line-height:1.12;color:var(--ink);margin:12px 0 12px;letter-spacing:-.01em;}
.sec-title em{font-style:italic;color:var(--rose-deep);}
.sec-sub{font-size:16px;color:#6a5c5f;line-height:1.65;}

/* who this is for */
.chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;max-width:820px;margin:0 auto;}
.chip{font-size:13.5px;font-weight:500;color:#5c4f52;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 17px;}
a.chip{display:inline-block;}
.chip:hover{border-color:var(--champagne);color:var(--champagne-deep);}

/* ── BROWSE BY QUESTION (numbered grid) ── */
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.qcard{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-radius:18px;padding:26px 24px 22px;transition:transform .16s,box-shadow .16s,border-color .16s;overflow:hidden;}
.qcard::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rose);transform:scaleY(0);transform-origin:top;transition:transform .2s;}
.qcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px -22px rgba(53,32,43,.4);border-color:transparent;}
.qcard:hover::after{transform:scaleY(1);}
.qnum{font-family:"Fraunces",serif;font-size:14px;font-weight:600;color:var(--champagne-deep);letter-spacing:.06em;margin-bottom:14px;}
.qnum-ico{font-size:26px;}
.qcard h3{font-family:"Fraunces",serif;font-weight:600;font-size:21px;line-height:1.2;color:var(--ink);margin-bottom:8px;}
.qcard p{font-size:13.5px;color:#6a5c5f;line-height:1.6;flex:1;margin-bottom:16px;}
.qlink{font-size:13px;font-weight:600;color:var(--rose-deep);display:inline-flex;align-items:center;gap:6px;}
.qcard:hover .qlink{gap:10px;}
@media(max-width:860px){.qgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.qgrid{grid-template-columns:1fr;}}

/* ── HOMEPAGE: TWO EASIEST (STL packages) ── */
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:960px;margin:0 auto;}
.twocard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;}
.twocard-img{position:relative;height:200px;overflow:hidden;background:var(--rose-soft);}
.twocard-img img{width:100%;height:100%;object-fit:cover;display:block;}
.twocard-tag{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:6px;z-index:1;}
.tt{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--ink);}
.tt.gold{color:var(--champagne-deep);background:#fdf6e9;border-color:#ecd9b4;}
.twocard-body{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1;}
.twocard-body h3{font-family:"Fraunces",serif;font-size:21px;font-weight:600;margin-bottom:10px;line-height:1.2;color:var(--ink);}
.twocard-body p{font-size:13.5px;color:#6a5c5f;line-height:1.6;flex:1;margin-bottom:16px;}
.twocard-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;}
@media(max-width:720px){.two{grid-template-columns:1fr;gap:16px;}}
@media(max-width:480px){.twocard-cta{flex-direction:column;}.twocard-cta .btn{width:100%;text-align:center;}}

/* ── TRUST (dark) ── */
.trust{background:var(--plum);color:#f2e7e1;position:relative;overflow:hidden;}
.trust::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 85% 20%,rgba(193,154,91,.16),transparent 60%);}
.trust .wrap{position:relative;}
.trust-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
.trust .eyebrow{color:var(--champagne);}
.trust h2{font-family:"Fraunces",serif;font-weight:500;font-size:clamp(28px,3.6vw,40px);line-height:1.14;color:#fff;margin:14px 0 18px;}
.trust h2 em{font-style:italic;color:#e6b878;}
.trust p{font-size:15.5px;color:#d8c7c1;line-height:1.7;margin-bottom:16px;}
.trust-list{list-style:none;display:grid;gap:14px;}
.trust-list li{display:flex;gap:13px;align-items:flex-start;font-size:14.5px;color:#ecdfd9;line-height:1.5;}
.trust-list .tick{color:var(--champagne);font-weight:700;flex-shrink:0;margin-top:1px;}
.trust-list b{color:#fff;font-weight:600;}
@media(max-width:820px){.trust-grid{grid-template-columns:1fr;gap:28px;}}

/* ── ADVISOR CTA ── */
.advisor{text-align:center;}
.advisor-card{background:linear-gradient(160deg,#fff,#fdf6f3);border:1px solid var(--line);border-radius:24px;
  padding:48px 32px;max-width:760px;margin:0 auto;box-shadow:0 24px 60px -34px rgba(53,32,43,.4);}
.advisor-card .eyebrow{color:var(--champagne-deep);}
.advisor-card h2{font-family:"Fraunces",serif;font-weight:500;font-size:clamp(26px,3.4vw,38px);line-height:1.15;margin:12px 0 14px;color:var(--ink);}
.advisor-card p{font-size:15.5px;color:#6a5c5f;line-height:1.7;max-width:540px;margin:0 auto 24px;}
.advisor-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;}
.phone-link{font-size:15px;font-weight:600;color:var(--ink);}
.phone-link:hover{color:var(--rose-deep);}
.advisor-fine{font-size:12.5px;color:var(--muted);margin-top:18px;}

/* ── FOOTER ── */
.foot{background:var(--ink);color:#c9b9bc;padding:56px 0 30px;font-size:13.5px;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1);}
.foot-brand .fb-name{font-family:"Fraunces",serif;font-size:20px;color:#fff;font-weight:600;}
.foot-brand p{margin-top:12px;line-height:1.6;color:#b3a2a5;max-width:280px;}
.foot h4{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e8b98a;margin-bottom:14px;}
.foot ul{list-style:none;display:grid;gap:9px;}
.foot a:hover{color:#fff;}
.foot-bottom{padding-top:26px;font-size:12px;color:#9a898c;line-height:1.7;}
.foot-bottom p{margin-bottom:12px;}
.foot-bottom a{color:#c9b9bc;text-decoration:underline;text-underline-offset:2px;}
@media(max-width:820px){.foot-top{grid-template-columns:1fr 1fr;gap:28px;}}
@media(max-width:480px){.foot-top{grid-template-columns:1fr;}}


/* ── DESTINATION EXPLORER ── */
.dx{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.dx-filters{display:flex;flex-direction:column;gap:14px;margin-bottom:26px;}
.frow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center;}
.frow-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  margin-right:4px;}
.fbtn{font:inherit;font-size:13.5px;font-weight:500;color:#5c4f52;background:#fff;border:1.5px solid var(--line);
  border-radius:999px;padding:8px 16px;cursor:pointer;transition:all .13s;}
.fbtn:hover{border-color:var(--rose);color:var(--rose-deep);}
.fbtn.on{background:var(--rose);border-color:var(--rose);color:#fff;font-weight:600;}
.dx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.dcard{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:16px;
  padding:20px 20px 18px;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;}
.dcard:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px rgba(53,32,43,.42);border-color:var(--rose);}
.dcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:7px;}
.dcard h3{font-family:"Fraunces",serif;font-weight:600;font-size:18px;line-height:1.22;color:var(--ink);}
.dstar{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--champagne-deep);
  background:#fdf4e6;border:1px solid #eddcbd;border-radius:999px;padding:3px 9px;white-space:nowrap;flex-shrink:0;}
.dstar-book{color:#2d6a3e;background:#edf7ef;border-color:#b8dfc0;}
.tlbl{font-size:12.5px;font-weight:700;color:var(--rose-deep);margin:-2px 0 8px;line-height:1.35;}
.dcard-book{border-color:#eddcbd;box-shadow:0 12px 30px -18px rgba(53,32,43,.28);}
.dcard p{font-size:13px;color:#6a5c5f;line-height:1.55;flex:1;margin-bottom:14px;}
.dmeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px;}
.dtag{font-size:11px;font-weight:500;color:var(--muted);background:#fff;border:1px solid var(--line);
  border-radius:6px;padding:3px 8px;}
.dtag.mo{color:var(--rose-deep);border-color:#eccdd2;background:var(--rose-soft);font-weight:600;}
.dcard-cta{display:flex;gap:8px;margin-top:auto;}
.dest-opts{margin-top:10px;}
.dest-opts-panel{padding:10px 12px 12px;}
.dest-opt-grp{margin-bottom:14px;}
.dest-opt-grp:last-child{margin-bottom:0;}
.dest-opt-grp-title{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin:0 0 8px;}
.dest-sup{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;
  padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:6px;}
.dest-sup:last-child{margin-bottom:0;}
.dest-sup-in{flex:1;min-width:0;}
.dest-sup-name{display:block;font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.25;}
.dest-sup-desc{display:block;font-size:12px;color:#6a5c5f;line-height:1.45;margin-top:3px;}
.dest-sup-btn{flex-shrink:0;font-size:11.5px;font-weight:700;line-height:1.2;color:#fff;background:var(--rose-deep);
  padding:8px 12px;border-radius:8px;text-decoration:none;white-space:nowrap;}
.dest-sup-btn:hover{background:var(--rose);color:#fff;}
@media(max-width:520px){
  .dest-sup{flex-direction:column;align-items:stretch;}
  .dest-sup-btn{text-align:center;}
}
.dbtn{flex:1;text-align:center;font-size:12.5px;font-weight:600;border-radius:9px;padding:9px 10px;transition:all .13s;}
.dbtn-main{background:var(--rose);color:#fff;}
.dbtn-main:hover{background:var(--rose-deep);}
.dbtn-alt{border:1.5px solid var(--line);color:var(--ink);background:#fff;}
.dbtn-alt:hover{border-color:var(--rose);color:var(--rose-deep);}
.dx-empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:14.5px;}
.dx-more{text-align:center;margin-top:26px;}
.dx-more button{font:inherit;font-size:14px;font-weight:600;color:var(--rose-deep);background:#fff;
  border:1.5px solid var(--line);border-radius:999px;padding:12px 28px;cursor:pointer;transition:all .13s;}
.dx-more button:hover{border-color:var(--rose);background:var(--rose-soft);}
@media(max-width:860px){.dx-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.dx-grid{grid-template-columns:1fr;}.frow-label{width:100%;text-align:center;margin:0 0 2px;}}

/* ── RESORT EXPLORER: compact filter layout ── */
#resorts .livebar{margin-bottom:18px;padding:18px 22px;}
#rxFeaturedWrap{margin-bottom:8px;}
.rx-dest-block-head{margin-bottom:16px;text-align:center;max-width:680px;margin-left:auto;margin-right:auto;}
.rx-dest-block-title{font-family:"Fraunces",serif;font-size:21px;font-weight:600;color:var(--ink);line-height:1.3;margin:0 0 8px;}
.rx-dest-block-sub{font-size:14px;color:#6a5c5f;line-height:1.6;margin:0;}
.rx-dest-feat-grid{max-width:1100px;margin:0 auto;}
.rx-feat-card{padding:16px 16px 14px;}
.rx-feat-card .dphoto{margin:-16px -16px 12px;height:148px;border-radius:12px 12px 0 0;}
.rx-feat-card h3{font-size:17px;}
.rx-feat-loc{margin:-2px 0 8px;color:var(--rose-deep);font-weight:600;font-size:12px;line-height:1.35;}
.rx-feat-why{font-size:12px;line-height:1.5;padding:8px 10px;margin-bottom:10px;}
.rx-feat-card .dmeta{margin-bottom:10px;}
.rx-feat-card .dcard-cta{margin-top:auto;}
@media(max-width:860px){
  .rx-dest-feat-grid .rx-feat-card:last-child:nth-child(odd){grid-column:1/-1;max-width:420px;margin:0 auto;width:100%;}
}
#resorts .dx-filters--rx{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
#resorts .frow-primary{align-items:flex-start;justify-content:flex-start;gap:6px;}
#resorts .frow-primary .frow-label{width:100%;margin:0 0 1px;font-size:10.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
#resorts .f-disclose{margin:0;border:1px solid var(--line);border-radius:10px;background:#fff;}
#resorts .f-disclose-btn{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;padding:9px 12px;min-height:40px;font-size:12.5px;font-weight:500;color:var(--muted);
  cursor:pointer;border-radius:10px;}
#resorts .f-disclose-btn::-webkit-details-marker{display:none;}
#resorts .f-disclose-btn::marker{display:none;content:"";}
#resorts .f-disclose-btn:focus-visible{outline:2.5px solid var(--rose);outline-offset:2px;border-radius:10px;}
#resorts .f-disclose[open] .f-disclose-btn{border-bottom:1px solid var(--line);border-radius:10px 10px 0 0;}
#resorts .f-disclose-chevron{flex-shrink:0;font-size:11px;color:var(--muted);line-height:1;transition:transform .15s;}
#resorts .f-disclose[open] .f-disclose-chevron{transform:rotate(180deg);}
#resorts .f-disclose-panel{padding:8px 10px 10px;}
#resorts .frow-brand{justify-content:flex-start;gap:6px;}
#resorts .frow-brand .fbtn{font-size:13px;padding:7px 12px;}
#resorts #rStyle .f-disclose--inline{flex:1 1 100%;width:100%;margin-top:2px;}
#resorts #rStyle .f-disclose--inline:has(.fbtn.on) .f-disclose-btn{color:var(--rose-deep);font-weight:600;}
#resorts .f-disclose:has(#rBrand .fbtn.on:not([data-b2="all"])) .f-disclose-btn{color:var(--rose-deep);font-weight:600;}
#resorts .frow-more{justify-content:flex-start;gap:6px;margin:0;}
#resorts .frow-more .fbtn{font-size:13px;padding:7px 12px;}
#resorts .rx-controls{display:flex;flex-direction:column;gap:0;margin-bottom:4px;}
#resorts .rx-controls #rBudget-slot{margin-top:0;}
#resorts .rx-controls #rBudget .brow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  max-width:none;margin:0;padding:11px 14px;justify-content:flex-start;}
#resorts .rx-controls #rBudget .brow-head{flex-shrink:0;}
#resorts .rx-controls #rBudget .slider{flex:1 1 200px;min-width:0;max-width:none;}
#resorts .rx-controls #rBudget .fsort{flex:0 0 auto;margin-left:auto;}
#resorts .rx-controls .dx-count--filt{margin-top:8px;}
#resorts .rx-controls .blegend-disclose{margin-top:4px;}
@media(max-width:640px){
  #resorts .frow-primary .frow-label,#resorts .frow-label--inline{text-align:left;}
  #resorts .rx-controls #rBudget .brow-head{width:100%;}
  #resorts .rx-controls #rBudget .slider{flex:1 1 100%;min-width:0;}
  #resorts .rx-controls #rBudget .fsort{margin-left:0;width:100%;}
}
@media(max-width:560px){
  #resorts .frow-primary .frow-label{width:100%;text-align:left;}
}

/* ── RESORT PAGE: jump cards + major sections ── */
#resorts .rx-jump{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px;}
.rx-jump-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#fff;
  border:1.5px solid var(--line);border-left:4px solid var(--rose);border-radius:14px;text-decoration:none;color:inherit;
  cursor:pointer;box-shadow:0 4px 18px -14px rgba(53,32,43,.28);
  transition:border-color .15s,box-shadow .15s,transform .15s,background .15s;}
.rx-jump-card--alt{border-left-color:var(--champagne);background:linear-gradient(135deg,#fff 0%,#fdf8f6 100%);}
.rx-jump-card:hover{border-color:var(--rose);border-left-color:var(--rose-deep);background:#fff;
  box-shadow:0 12px 32px -16px rgba(191,106,125,.45);transform:translateY(-2px);}
.rx-jump-card:focus-visible{outline:2.5px solid var(--rose);outline-offset:3px;border-color:var(--rose);}
.rx-jump-card:active{transform:translateY(0);box-shadow:0 6px 20px -14px rgba(191,106,125,.35);}
.rx-jump-ico{font-size:24px;line-height:1;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;
  justify-content:center;background:var(--rose-soft);border-radius:10px;}
.rx-jump-card--alt .rx-jump-ico{background:#fdf6e9;}
.rx-jump-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;}
.rx-jump-title{font-family:"Fraunces",serif;font-size:16px;font-weight:600;line-height:1.28;color:var(--ink);}
.rx-jump-desc{font-size:12.5px;color:var(--muted);line-height:1.45;}
.rx-jump-cta{font-size:12.5px;font-weight:700;color:var(--rose-deep);margin-top:6px;}
.rx-jump-card:hover .rx-jump-cta{text-decoration:underline;text-underline-offset:2px;}
.sec-major{padding:56px 0;border-top:1px solid var(--line);background:#fff;position:relative;}
.sec-major::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(1120px,100%);
  height:1px;background:linear-gradient(90deg,transparent,var(--champagne) 20%,var(--champagne) 80%,transparent);}
.sec-major-alt{background:var(--bg);}
.sec-head-major{max-width:680px;margin:0 auto 28px;text-align:center;}
.sec-major-ico{display:block;font-size:28px;line-height:1;margin-bottom:8px;}
.sec-title-major{font-size:clamp(28px,4.2vw,42px);line-height:1.12;margin-top:8px;}
.sec-major .sec-sub{font-size:14.5px;line-height:1.62;max-width:62ch;margin-left:auto;margin-right:auto;}
.sec-major .cmp-wrap{max-width:100%;}
.sec-major .cmp-wrap .cmp{box-shadow:0 8px 28px -18px rgba(53,32,43,.18);}
#brands,#inclusions{scroll-margin-top:92px;}
@media(max-width:768px){
  #resorts .rx-jump{grid-template-columns:1fr;gap:10px;margin-bottom:16px;}
}
@media(max-width:640px){
  .rx-jump-card{padding:14px 15px;}
  .sec-major{padding:40px 0;}
  .sec-head-major{margin-bottom:22px;}
}

/* result chips become links */
a.pick{transition:background .13s,border-color .13s;}
a.pick:hover{background:var(--rose);border-color:var(--rose);color:#fff;}

/* ── CRUISE EXPLORER (reuses dcard system on tinted bg) ── */
.cx{background:var(--bg);}
.cx .dcard{background:#fff;}
.cwhy{font-size:12.5px;color:var(--rose-deep);background:var(--rose-soft);border:1px solid #f0d9dd;
  border-radius:9px;padding:9px 11px;line-height:1.5;margin-bottom:13px;}
.cwhy b{color:var(--rose-deep);font-weight:700;}
.dbook{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;font-size:12.5px;
  font-weight:700;color:var(--champagne-deep);background:#fdf6e9;border:1px solid #ecd9b4;border-radius:9px;
  padding:9px 10px;margin-top:9px;transition:all .13s;}
.dbook:hover{background:var(--champagne);border-color:var(--champagne);color:#fff;}

/* ── CRUISE FEATURE SPOTLIGHTS ── */
.cx-spotlights{display:grid;gap:20px;margin-top:28px;}
.cx-spot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;align-items:center;
  background:linear-gradient(160deg,#fff,#fdf6f3);border:1px solid var(--line);border-radius:20px;
  padding:28px;box-shadow:0 20px 48px -32px rgba(53,32,43,.35);}
.cx-spot-visual{display:flex;align-items:center;justify-content:center;background:#fff;
  border:1px solid var(--line);border-radius:14px;padding:28px 24px;min-height:140px;}
.cx-spot-visual img{max-width:200px;max-height:72px;width:100%;object-fit:contain;}
.cx-spot h3{font-family:"Fraunces",serif;font-size:clamp(20px,2.5vw,26px);font-weight:600;line-height:1.2;color:var(--ink);margin-bottom:6px;}
.cx-spot-sub{font-size:14px;font-weight:600;color:var(--rose-deep);margin-bottom:12px;line-height:1.4;}
.cx-spot p{font-size:14px;color:#6a5c5f;line-height:1.65;margin-bottom:16px;}
.cx-spot-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;}
.cx-spot-tag{font-size:11.5px;font-weight:600;color:var(--champagne-deep);background:#fdf4e6;
  border:1px solid #eddcbd;border-radius:8px;padding:6px 10px;text-align:center;line-height:1.35;}
@media(max-width:768px){
  .cx-spot{grid-template-columns:1fr;gap:18px;padding:22px;}
  .cx-spot-highlights{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:400px){.cx-spot-highlights{grid-template-columns:1fr;}}

/* ── LIVE SEARCH BAR ── */
.livebar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  background:linear-gradient(135deg,var(--plum),var(--plum-2));border-radius:18px;padding:22px 26px;margin-bottom:30px;
  box-shadow:0 18px 40px -26px rgba(53,32,43,.6);}
.livebar-ico{font-size:30px;line-height:1;flex-shrink:0;}
.livebar-txt{flex:1;min-width:230px;}
.livebar-txt h4{font-family:"Fraunces",serif;font-size:19px;font-weight:600;color:#fff;margin-bottom:4px;line-height:1.25;}
.livebar-txt p{font-size:13.5px;color:#cbb8bf;line-height:1.55;}
.livebar .btn{flex-shrink:0;background:var(--champagne);color:#2a2024;padding:12px 24px;font-size:14px;font-weight:700;}
.livebar .btn:hover{background:#d8b878;color:#2a2024;}
@media(max-width:560px){.livebar{padding:20px;}.livebar .btn{width:100%;text-align:center;}}


/* ── BUDGET BADGE / SORT ── */
.dprice{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#7a6238;
  background:#fdf6e9;border:1px solid #ecd9b4;border-radius:6px;padding:3px 8px;white-space:nowrap;}
.dprice b{color:var(--champagne-deep);font-weight:800;letter-spacing:.02em;}
.fsort{font:inherit;font-size:13px;font-weight:500;color:#5c4f52;background:#fff;border:1.5px solid var(--line);
  border-radius:999px;padding:8px 14px;cursor:pointer;margin-left:6px;}
.fsort:hover{border-color:var(--rose);color:var(--rose-deep);}
.budget-note{text-align:center;font-size:12px;color:var(--muted);margin:-8px 0 18px;line-height:1.6;}
.budget-note b{color:#6a5c5f;font-weight:600;}
@media(max-width:560px){.fsort{margin-left:0;width:100%;}}


/* ── BUDGET RANGE SLIDER ── */
.brow{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 22px;max-width:720px;margin:0 auto;}
.brow-head{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.brange{font-size:13px;font-weight:700;color:var(--rose-deep);background:var(--rose-soft);
  border:1px solid #eccdd2;border-radius:999px;padding:5px 13px;white-space:nowrap;}
.slider{position:relative;flex:1;min-width:220px;height:34px;}
.slider-track{position:absolute;top:11px;left:0;right:0;height:5px;background:var(--line);border-radius:3px;}
.slider-fill{position:absolute;top:11px;height:5px;background:linear-gradient(90deg,var(--rose),var(--champagne));border-radius:3px;}
.slider input[type=range]{position:absolute;top:4px;left:0;width:100%;height:20px;margin:0;
  -webkit-appearance:none;appearance:none;background:none;pointer-events:none;}
.slider input[type=range]:focus-visible{outline:none;}
.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;cursor:grab;
  width:19px;height:19px;border-radius:50%;background:#fff;border:3px solid var(--rose);
  box-shadow:0 2px 6px rgba(53,32,43,.28);}
.slider input[type=range]::-webkit-slider-thumb:active{cursor:grabbing;}
.slider input[type=range]::-moz-range-thumb{pointer-events:auto;cursor:grab;
  width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--rose);
  box-shadow:0 2px 6px rgba(53,32,43,.28);}
.slider input[type=range]:focus-visible::-webkit-slider-thumb{outline:2.5px solid var(--champagne);outline-offset:2px;}
.slider-ticks{position:absolute;top:24px;left:0;right:0;display:flex;justify-content:space-between;
  font-size:11px;font-weight:700;color:var(--muted);pointer-events:none;}
@media(max-width:560px){.brow{gap:14px;}.fsort{margin-left:0;width:100%;}}

/* ── BUDGET LEGEND ── */
[id$="Budget-slot"]{margin-top:16px;}
.dx-count--filt{text-align:left;font-size:12.5px;color:var(--muted);margin:10px 0 0;padding:0;line-height:1.4;}
.dx-count--filt:empty{display:none;}
.dx-count--filt b{color:var(--ink);font-weight:600;}
.blegend-disclose{margin:4px 0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.blegend-disclose-btn{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;padding:9px 12px;min-height:40px;font-size:12.5px;font-weight:500;color:var(--muted);
  cursor:pointer;border-radius:10px;}
.blegend-disclose-btn::-webkit-details-marker{display:none;}
.blegend-disclose-btn::marker{display:none;content:"";}
.blegend-disclose-btn:focus-visible{outline:2.5px solid var(--rose);outline-offset:2px;border-radius:10px;}
.blegend-disclose[open] .blegend-disclose-btn{border-bottom:1px solid var(--line);border-radius:10px 10px 0 0;}
.blegend-chevron{flex-shrink:0;font-size:11px;color:var(--muted);line-height:1;transition:transform .15s;}
.blegend-disclose[open] .blegend-chevron{transform:rotate(180deg);}
.blegend-panel{padding:10px 12px 12px;}
.blegend-disclose .blegend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.blegend-disclose .bl{background:#fff;border:1px solid var(--line);box-shadow:none;padding:8px 10px;}
.blegend{margin:12px 0 18px;padding:0;background:transparent;border:none;border-radius:0;}
.blegend--page{max-width:820px;margin-left:auto;margin-right:auto;}
.blegend-kicker,.blegend-title{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin:0 0 7px;}
.blegend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
.bl{display:flex;align-items:flex-start;gap:8px;padding:8px 11px;border-radius:10px;text-align:left;
  border:1px solid transparent;box-shadow:0 1px 0 rgba(53,32,43,.04);}
.blegend--page .bl:nth-child(1){background:linear-gradient(145deg,#fdf8f4,#f8f0e8);}
.blegend--page .bl:nth-child(2){background:linear-gradient(145deg,#fdf5f6,#f8ecef);}
.blegend--page .bl:nth-child(3){background:linear-gradient(145deg,#faf6ef,#f3ecdf);}
.blegend--page .bl:nth-child(4){background:linear-gradient(145deg,#f6f1f3,#ede6ea);}
.bl-body{min-width:0;flex:1;}
.bl-sym{flex-shrink:0;font-family:"Fraunces",Georgia,serif;font-size:14px;font-weight:700;
  color:var(--champagne-deep);letter-spacing:.01em;line-height:1.2;min-width:1.75em;padding-top:1px;}
.bl-amt{display:block;font-size:11.5px;font-weight:600;color:var(--ink);line-height:1.25;}
.bl-desc{display:block;font-size:10px;color:var(--muted);line-height:1.35;margin-top:2px;}
.blegend-foot{font-size:10.5px;color:var(--muted);margin:8px 0 0;padding:0;border:none;
  text-align:left;line-height:1.5;max-width:72ch;}
.blegend-foot b{color:#6a5c5f;font-weight:600;}
.blegend-foot a{color:var(--rose-deep);font-weight:600;text-decoration:none;}
.blegend-foot a:hover{text-decoration:underline;}
@media(max-width:640px){
  .blegend--page .blegend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  .blegend--page .bl{padding:9px 10px;min-height:52px;}
  .blegend--page .bl-sym{font-size:13px;}
}


/* ── FLEX PAY ── */
.flex{background:var(--bg);}
.flex-card{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:22px;
  overflow:hidden;box-shadow:0 24px 60px -34px rgba(53,32,43,.4);}
.flex-top{background:linear-gradient(135deg,var(--plum),var(--plum-2));padding:34px 32px;position:relative;overflow:hidden;}
.flex-top::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 88% 30%,rgba(193,154,91,.18),transparent 60%);}
.flex-top>*{position:relative;}
.flex-badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--champagne);border:1px solid rgba(193,154,91,.4);border-radius:999px;
  padding:5px 13px;margin-bottom:14px;}
.flex-top h2{font-family:"Fraunces",serif;font-weight:500;font-size:clamp(26px,3.4vw,36px);line-height:1.14;color:#fff;margin-bottom:12px;}
.flex-top h2 em{font-style:italic;color:#e6b878;}
.flex-top p{font-size:15px;color:#d8c7c1;line-height:1.65;max-width:520px;}
.flex-body{padding:30px 32px 32px;}
.flex-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px;}
.fx{text-align:center;}
.fx-ico{font-size:22px;line-height:1;margin-bottom:8px;}
.fx-t{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:3px;}
.fx-d{font-size:11.5px;color:var(--muted);line-height:1.5;}
.flex-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:26px;border-top:1px solid var(--line);}
.fs{display:flex;gap:12px;align-items:flex-start;}
.fs-n{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--rose-soft);border:1px solid #eccdd2;
  color:var(--rose-deep);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.fs-t{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px;}
.fs-d{font-size:12px;color:var(--muted);line-height:1.55;}
.flex-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:28px;
  padding-top:24px;border-top:1px solid var(--line);}
.flex-fine{font-size:10.5px;color:#a09295;line-height:1.6;margin-top:18px;text-align:center;}
.flex-fine a{text-decoration:underline;text-underline-offset:2px;}
@media(max-width:760px){.flex-grid{grid-template-columns:1fr 1fr;}.flex-steps{grid-template-columns:1fr;}}


/* ── EMAIL CAPTURE (Finder result) ── */
.cap{margin-top:22px;padding-top:22px;border-top:1px solid var(--line);}
.cap-hd{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:5px;}
.cap-sub{font-size:12.5px;color:var(--muted);line-height:1.55;margin-bottom:14px;}
.cap-row{display:flex;gap:8px;}
.cap-row input{flex:1;min-width:0;font:inherit;font-size:14.5px;color:var(--ink);background:#fff;
  border:1.5px solid var(--line);border-radius:11px;padding:13px 15px;outline:none;transition:border-color .13s;}
.cap-row input::placeholder{color:#b3a4a7;}
.cap-row input:focus{border-color:var(--rose);}
.cap-row input.err{border-color:#c0392b;background:#fdf3f2;}
.cap-row button{flex-shrink:0;font:inherit;font-size:14px;font-weight:700;color:#fff;background:var(--rose);
  border:none;border-radius:11px;padding:13px 20px;cursor:pointer;transition:background .13s;}
.cap-row button:hover{background:var(--rose-deep);}
.cap-row button:disabled{opacity:.6;cursor:default;}
.cap-msg{font-size:12.5px;margin-top:9px;line-height:1.5;min-height:1em;}
.cap-msg.bad{color:#c0392b;}
.cap-msg.good{color:#2d6a3e;}
.cap-fine{font-size:11.5px;color:var(--muted);margin-top:10px;line-height:1.55;}
.cap-done{text-align:center;background:var(--rose-soft);border:1px solid #eccdd2;border-radius:14px;padding:22px;}
.cap-done .cd-ico{font-size:26px;line-height:1;margin-bottom:8px;}
.cap-done .cd-t{font-family:"Fraunces",serif;font-size:19px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.cap-done .cd-d{font-size:13px;color:#6a5c5f;line-height:1.6;margin-bottom:16px;}
@media(max-width:480px){.cap-row{flex-direction:column;}.cap-row button{width:100%;}}


/* ── IMAGERY ── */
.hero{padding-top:0;}
.hero-media{position:relative;height:clamp(260px,38vw,420px);margin:0 0 -52px;overflow:hidden;}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 52%;display:block;
  transform:scale(1.03);filter:saturate(1.06) contrast(1.03);}
.hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(53,32,43,.18) 0%,transparent 38%,
             rgba(251,246,242,.12) 68%,rgba(251,246,242,.32) 84%,var(--bg) 100%);}
.hero-in{padding-top:28px;}
@media(max-width:480px){
  .hero-trust{gap:6px 14px;margin-bottom:16px;}
  .hero-trust li{font-size:12.5px;}
  .hero-media{margin-bottom:-44px;}
}

/* card photos (resorts + destinations) */
.dphoto{position:relative;margin:-20px -20px 15px;height:170px;overflow:hidden;
  border-radius:15px 15px 0 0;background:var(--rose-soft);}
.dphoto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.dcard:hover .dphoto img{transform:scale(1.045);}
.dphoto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(42,32,36,.45) 100%);}

/* brand logo chip (cruise + tour cards) */
.dlogo{display:flex;align-items:center;justify-content:center;height:52px;margin:-4px 0 12px;}
.dlogo img{max-height:38px;max-width:150px;object-fit:contain;opacity:.9;}


/* ── KNOW BEFORE YOU GO ── */
.kbyg{max-width:900px;margin:0 auto;}
.kbyg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.kbyg-2col{grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:700px){.kbyg-grid,.kbyg-2col{grid-template-columns:1fr;}}
.kb{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:20px 22px;transition:all .15s;}
.kb:hover{border-color:var(--rose);box-shadow:0 14px 32px -22px rgba(53,32,43,.4);transform:translateY(-2px);}
.kb-ico{font-size:24px;line-height:1;flex-shrink:0;}
.kb-t{font-size:14.5px;font-weight:700;color:var(--ink);margin-bottom:4px;line-height:1.3;}
.kb-d{font-size:12.5px;color:#6a5c5f;line-height:1.6;}
.kb-d b{color:var(--rose-deep);}
.kb-l{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:700;color:var(--rose-deep);}
.kb:hover .kb-l{text-decoration:underline;text-underline-offset:3px;}


/* ── ON-PAGE PLAN FORM ── */
.planwrap{max-width:820px;margin:0 auto;}
.planbox{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;
  box-shadow:0 24px 60px -34px rgba(53,32,43,.4);}
.planbox-hd{padding:26px 28px 20px;text-align:center;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff,#fdf8f6);}
.planbox-hd .eyebrow{color:var(--champagne-deep);}
.planbox-hd h2{font-family:"Fraunces",serif;font-weight:500;font-size:clamp(24px,3.2vw,32px);
  line-height:1.18;color:var(--ink);margin:10px 0 8px;}
.planbox-hd h2 em{font-style:italic;color:var(--rose-deep);}
.planbox-hd p{font-size:14.5px;color:#6a5c5f;line-height:1.6;max-width:520px;margin:0 auto;}
.planbox-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px;}
.pm{font-size:12px;font-weight:600;color:var(--rose-deep);background:var(--rose-soft);
  border:1px solid #eccdd2;border-radius:999px;padding:5px 12px;}
#planFrame{width:100%;border:0;display:block;min-height:760px;background:#fff;}
.plan-fallback{padding:34px 28px;text-align:center;}
.plan-fallback p{font-size:14.5px;color:#6a5c5f;line-height:1.6;margin-bottom:16px;}
.prefill{margin:0 28px 0;padding:14px 16px;background:var(--rose-soft);border:1px solid #eccdd2;
  border-radius:12px;font-size:13px;color:var(--rose-deep);line-height:1.55;display:none;}
.prefill.on{display:block;}
.prefill b{color:var(--ink);}
.prefill-copy{margin-top:8px;font:inherit;font-size:12.5px;font-weight:700;color:#fff;background:var(--rose);
  border:none;border-radius:8px;padding:8px 14px;cursor:pointer;}
.prefill-copy:hover{background:var(--rose-deep);}


.plan-alt{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;
  padding:16px 20px;border-top:1px solid var(--line);background:#fdf8f6;
  font-size:13px;color:var(--muted);text-align:center;}
.plan-alt a{color:var(--rose-deep);font-weight:700;}
.plan-alt a:hover{text-decoration:underline;text-underline-offset:3px;}
.plan-alt-sep{color:#d5c6c9;}


/* ── NONSTOP FROM ST. LOUIS ── */
.stl{background:linear-gradient(135deg,var(--plum),var(--plum-2));color:#f2e7e1;position:relative;overflow:hidden;}
.stl::before{content:"";position:absolute;inset:0;
  background:radial-gradient(45% 60% at 88% 15%,rgba(193,154,91,.18),transparent 60%),
             radial-gradient(40% 50% at 5% 90%,rgba(191,106,125,.16),transparent 60%);}
.stl .wrap{position:relative;}
.stl .eyebrow{color:var(--champagne);}
.stl h2{font-family:"Fraunces",serif;font-weight:500;font-size:clamp(28px,3.8vw,42px);line-height:1.12;
  color:#fff;margin:12px 0 12px;}
.stl h2 em{font-style:italic;color:#e6b878;}
.stl-sub{font-size:16px;color:#d8c7c1;line-height:1.65;max-width:600px;margin:0 auto 34px;text-align:center;}
.stl-head{text-align:center;max-width:660px;margin:0 auto;}
.routes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:960px;margin:0 auto;}
.route{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;
  padding:22px;display:flex;flex-direction:column;transition:all .15s;}
.route:hover{background:rgba(255,255,255,.1);border-color:var(--champagne);transform:translateY(-3px);}
.route-hop{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--champagne);margin-bottom:12px;}
.route-hop .arrow{opacity:.6;}
.route h3{font-family:"Fraunces",serif;font-size:22px;font-weight:600;color:#fff;margin-bottom:8px;line-height:1.2;}
.route-days{font-size:13px;color:#e6b878;font-weight:600;margin-bottom:4px;}
.route-window{font-size:12px;color:#a99aa0;margin-bottom:14px;}
.route-gets{font-size:13px;color:#d8c7c1;line-height:1.6;flex:1;margin-bottom:16px;}
.route-gets b{color:#fff;font-weight:600;}
.route-btn{display:block;text-align:center;font-size:12.5px;font-weight:700;color:#2a2024;background:var(--champagne);
  border:none;border-radius:9px;padding:10px;cursor:pointer;font-family:inherit;}
.route-btn:hover{background:#d8b878;}
.stl-fine{text-align:center;font-size:11.5px;color:#9a8b91;line-height:1.6;margin-top:26px;max-width:720px;
  margin-left:auto;margin-right:auto;}
.stl-fine a{color:#c7b3b9;text-decoration:underline;text-underline-offset:2px;}
@media(max-width:820px){.routes{grid-template-columns:1fr;}}


.kb-wide{grid-column:1/-1;}
.kb-wide .kb-ico{font-size:28px;}
@media(max-width:700px){.kb-wide{grid-column:auto;}}


.kb-rules{display:grid;gap:8px;margin:12px 0;}
.kb-rule{display:block;font-size:12.5px;color:#5f5255;line-height:1.55;background:var(--rose-soft);
  border-left:3px solid var(--rose);border-radius:0 8px 8px 0;padding:9px 12px;}
.kb-rule b{color:var(--rose-deep);}


/* ── MOBILE NAV ── */
@media(max-width:1080px){
  html,body{overflow-x:hidden;}
  .hdr-nav,.nav{display:none;}
  .hamb{display:flex;position:absolute;top:14px;right:0;z-index:2;}
  .hdr-top{display:flex;flex-direction:column;align-items:center;text-align:center;
    gap:0;padding:16px 52px 14px;min-height:0;}
  .hdr-logo{order:1;margin:0 auto 10px;max-width:min(300px,90vw);padding:0;}
  .hdr-identity{order:2;padding:0;}
  .hdr-mm{order:3;margin-top:14px;max-width:min(360px,94vw);width:100%;padding:14px 18px;}
  .brand-logo{height:72px;object-position:center;}
  .mnav{position:fixed;inset:0;z-index:200;background:rgba(53,32,43,.98);backdrop-filter:blur(6px);
    flex-direction:column;padding:88px 28px 40px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .mnav.open{display:flex;}
  .mnav a{font-family:"Fraunces",serif;font-size:22px;font-weight:500;color:#f0e4dd;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1);
    min-height:48px;display:flex;align-items:center;}
  .mnav .btn-primary{font-family:"Inter",sans-serif;font-size:16px;text-align:center;margin-top:22px;color:#fff;min-height:48px;display:flex;align-items:center;justify-content:center;}
  .mnav-close{position:absolute;top:22px;right:24px;background:none;border:none;color:#f0e4dd;font-size:30px;cursor:pointer;
    min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}
  a.chip{padding:12px 18px;min-height:44px;display:inline-flex;align-items:center;}
}
@media(max-width:520px){
  .hdr-top{padding:14px 44px 12px;}
  .hdr-logo{max-width:min(260px,92vw);}
  .brand-logo{height:64px;}
  .hdr-title{font-size:18px;}
  .hdr-line{font-size:13px;}
  .hdr-franchise{font-size:10.5px;}
  .hdr-mm{padding:12px 16px;}
  .hdr-mm-primary{font-size:13.5px;}
  .hdr-mm-sub{font-size:11px;}
  .wrap{padding:0 16px;}
}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto;}
}
.fade{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;}
.fade.in{opacity:1;transform:none;}
/* ── POSITIONING BADGES ── */
.dtag.stl{color:#2f6b4f;background:#eaf5ef;border-color:#c9e5d5;font-weight:600;}

/* ── "ALSO BOOKABLE" BRANDS ── */
.chip-ask{background:#fff;border-style:dashed;color:#6a5c5f;cursor:default;}
.chip-ask:hover{border-color:var(--line);color:#6a5c5f;}
.chip-cta{background:var(--rose);border-color:var(--rose);color:#fff;font-weight:700;}
.chip-cta:hover{background:var(--rose-dark,#9a4f61);border-color:var(--rose-dark,#9a4f61);color:#fff;}

/* ── ALSO-BOOKABLE ACTIONS ── */
.alsobar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px;}
.alsonote{text-align:center;font-size:12.5px;color:var(--muted);line-height:1.7;margin-top:18px;
  max-width:620px;margin-left:auto;margin-right:auto;}
.alsonote b{color:#6a5c5f;}
.alsonote a{color:var(--rose-deep);font-weight:700;}
.alsonote a:hover{text-decoration:underline;text-underline-offset:3px;}

/* ── HEADLINE PAIR: nonstop + package ── */
.dtag.pkg{color:#7a5c1f;background:#fdf6e3;border-color:#ecdcb4;font-weight:600;}

/* ── WHERE TOUR OPERATORS GO ── */
.where{margin:0 0 12px;padding:11px 12px;background:var(--bg);border:1px dashed var(--line);border-radius:10px;}
.where-lbl{display:block;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--champagne-deep);margin-bottom:7px;}
.where-list{display:flex;flex-wrap:wrap;gap:5px;}
.wtag{font-size:11.5px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);
  border-radius:6px;padding:3px 8px;line-height:1.4;}
.wtag-more{color:var(--muted);font-weight:500;font-style:italic;border-style:dashed;}

/* ── CRUISE LINE BREAKDOWN ── */
.brk{display:grid;gap:9px;margin:0 0 13px;padding:12px 13px;background:var(--bg);
  border:1px dashed var(--line);border-radius:11px;}
.brk-row{display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:start;}
.brk-k{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--champagne-deep);padding-top:2px;}
.brk-v{font-size:12.5px;color:#5f5255;line-height:1.55;}
.sws{display:inline-block;font-size:10.5px;font-weight:700;border-radius:5px;padding:2px 7px;margin-right:4px;}
.sws-yes{color:#2f6b4f;background:#eaf5ef;border:1px solid #c9e5d5;}
.sws-part{color:#7a5c1f;background:#fdf6e3;border:1px solid #ecdcb4;}
.sws-no{color:#8b7c7e;background:#f4f0f0;border:1px solid var(--line);}
@media(max-width:560px){.brk-row{grid-template-columns:1fr;gap:2px;}}

/* ── SCREEN-READER ONLY ── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── BOOKING TIMELINE ── */
.tl{max-width:820px;margin:0 auto;display:grid;gap:2px;}
.tlrow{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:16px 18px;background:var(--bg);
  border-left:3px solid var(--rose);border-radius:0 10px 10px 0;}
.tlrow:nth-child(even){background:#fdf8f6;}
.tlwhen{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--rose-deep);padding-top:2px;}
.tlwhat{font-size:13.5px;color:#5f5255;line-height:1.65;}
.tlwhat b{color:var(--ink);}
.tlwhat a{color:var(--rose-deep);font-weight:700;}
@media(max-width:640px){.tlrow{grid-template-columns:1fr;gap:5px;}}

/* ── COMPARISON TABLES ── */
.cmp-wrap{max-width:100%;margin:0 auto;overflow-x:visible;}
.cmp{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);
  border-radius:14px;overflow:hidden;font-size:13.5px;table-layout:fixed;min-width:0;}
.cmp thead th{background:var(--plum);color:#fff;font-family:"Fraunces",serif;font-weight:600;font-size:13.5px;
  text-align:left;padding:10px 11px;line-height:1.3;vertical-align:top;word-wrap:break-word;}
.cmp tbody th{text-align:left;font-size:12.5px;font-weight:700;color:var(--rose-deep);background:var(--bg);
  padding:11px 12px;vertical-align:top;border-top:1px solid var(--line);}
.cmp tbody td{padding:10px 11px;color:#5f5255;line-height:1.55;vertical-align:top;border-top:1px solid var(--line);
  word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;}
.cmp tbody td b{color:var(--ink);}
.cmp tbody td a{color:var(--rose-deep);font-weight:700;}
.cmp tbody tr:hover td{background:#fdfaf9;}
.cmp-cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px;}

/* ── FAQ ── */
.faqs{max-width:820px;margin:0 auto;display:grid;gap:10px;}
.faq{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .15s;}
.faq[open]{border-color:var(--rose);}
.faq-q{cursor:pointer;list-style:none;padding:17px 20px;font-size:15px;font-weight:600;color:var(--ink);
  display:flex;justify-content:space-between;align-items:center;gap:14px;}
.faq-q::-webkit-details-marker{display:none;}
.faq-q::after{content:"+";font-size:20px;font-weight:400;color:var(--rose);flex-shrink:0;transition:transform .2s;}
.faq[open] .faq-q::after{transform:rotate(45deg);}
.faq-q:hover{color:var(--rose-deep);}
.faq-a{padding:0 20px 18px;font-size:14px;color:#5f5255;line-height:1.75;}

/* ── BRAND COMPARISON ── */
.cmp-brands{min-width:0;font-size:12.5px;}
.cmp-brands thead th:nth-child(1){width:11%;}
.cmp-brands thead th:nth-child(2){width:14%;}
.cmp-brands thead th:nth-child(3){width:11%;}
.cmp-brands thead th:nth-child(4){width:28%;}
.cmp-brands thead th:nth-child(5){width:28%;}
.cmp-brands thead th:nth-child(6){width:8%;}
.cmp-brands tbody th{font-size:12.5px;color:var(--ink);}
.cmp-brands td{font-size:12.5px;}
.cmp-brands .pb{font-weight:800;color:var(--champagne-deep);white-space:nowrap;font-size:14px;text-align:center;}
.cmp-brands .ctry{font-size:11.5px;color:#6a5c5f;line-height:1.45;}
.adx{display:inline-block;font-size:10.5px;font-weight:700;border-radius:5px;padding:3px 7px;line-height:1.3;}
.adx-yes{color:#2f6b4f;background:#eaf5ef;border:1px solid #c9e5d5;}
.adx-part{color:#7a5c1f;background:#fdf6e3;border:1px solid #ecdcb4;}
.adx-no{color:#8b7c7e;background:#f4f0f0;border:1px solid var(--line);}

/* ── FEATURED DEALS ── */
.deals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;max-width:1000px;margin:0 auto;}
.dealcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:20px;transition:transform .15s,box-shadow .15s,border-color .15s;}
.dealcard:hover{transform:translateY(-3px);border-color:var(--rose);box-shadow:0 16px 36px -22px rgba(53,32,43,.42);}
.deal-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px;}
.deal-tag{font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--champagne-deep);
  background:#fdf6e9;border:1px solid #ecd9b4;border-radius:999px;padding:4px 10px;}
.deal-soon{font-size:10.5px;font-weight:800;color:#fff;background:var(--rose);border-radius:999px;padding:4px 10px;}
.deal-title{font-family:"Fraunces",serif;font-size:19px;font-weight:600;color:var(--ink);line-height:1.25;margin-bottom:6px;}
.deal-meta{font-size:12px;font-weight:600;color:var(--rose-deep);margin-bottom:10px;}
.deal-detail{font-size:13px;color:#6a5c5f;line-height:1.6;flex:1;margin-bottom:12px;}
.deal-from{font-size:13px;color:var(--ink);margin-bottom:8px;}
.deal-from b{font-size:17px;font-family:"Fraunces",serif;}
.deal-from span{font-size:11.5px;color:var(--muted);}
.deal-terms{font-size:11px;color:var(--muted);line-height:1.55;margin-bottom:13px;padding-top:9px;border-top:1px dashed var(--line);}
.deal-btn{display:block;text-align:center;font-size:12.5px;font-weight:700;color:#fff;background:var(--rose);
  border-radius:9px;padding:10px;margin-top:auto;}
.deal-btn:hover{background:var(--rose-deep);}
.nodeals{grid-column:1/-1;text-align:center;padding:34px 24px;background:var(--bg);border:1px dashed var(--line);
  border-radius:14px;font-size:14px;color:#6a5c5f;line-height:1.7;}
.nodeals a{color:var(--rose-deep);font-weight:700;}
#dealStamp .stale{color:var(--rose-deep);font-weight:600;}

/* ── COMING SOON RESORTS ── */
.rx-soon-jamaica{margin-top:28px;}
.soon-grid{display:grid;grid-template-columns:1fr;gap:20px;max-width:920px;margin:0 auto;}
.soon-card{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:0;background:#fff;
  border:1px solid var(--line);border-radius:16px;overflow:hidden;
  transition:transform .15s,box-shadow .15s,border-color .15s;}
.soon-card:hover{transform:translateY(-3px);border-color:var(--rose);box-shadow:0 16px 36px -22px rgba(53,32,43,.42);}
.soon-photo{min-height:220px;background:var(--bg);}
.soon-photo img{width:100%;height:100%;object-fit:cover;display:block;min-height:220px;}
.soon-body{display:flex;flex-direction:column;padding:22px 24px 20px;}
.soon-heading{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--rose-deep);margin:0 0 10px;}
.soon-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.soon-name{font-family:"Fraunces",serif;font-size:21px;font-weight:600;line-height:1.25;color:var(--ink);margin:0;}
.soon-badge{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;
  background:var(--rose);border-radius:999px;padding:4px 10px;white-space:nowrap;flex-shrink:0;}
.soon-status{font-size:13px;color:var(--ink);margin:0 0 12px;}
.soon-status b{color:var(--rose-deep);}
.soon-desc{font-size:13.5px;color:#6a5c5f;line-height:1.6;margin:0 0 14px;}
.soon-ideal-lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin:0 0 8px;}
.soon-ideal{margin:0 0 16px;padding-left:18px;font-size:13px;color:#6a5c5f;line-height:1.55;}
.soon-ideal li{margin-bottom:4px;}
.soon-cta{flex-wrap:wrap;}
@media(max-width:720px){
  .soon-card{grid-template-columns:1fr;}
  .soon-photo{min-height:200px;}
  .soon-photo img{min-height:200px;}
  .soon-body{padding:18px 18px 16px;}
  .soon-top{flex-direction:column;align-items:flex-start;}
  .soon-cta{flex-direction:column;}
}

/* ── HONEYMOON INCLUSIONS TABLE ── */
.cmp-inc{min-width:0;}
.cmp-inc thead th:nth-child(1){width:18%;}
.cmp-inc thead th:nth-child(2){width:46%;}
.cmp-inc thead th:nth-child(3){width:36%;}
.cmp-inc tbody th{font-size:12.5px;}
.cmp-inc .xtra{font-size:12px;color:var(--muted);}

/* Responsive: stacked comparison cards (tablet + mobile) */
@media(max-width:1024px){
  .cmp-responsive thead{display:none;}
  .cmp-responsive{border:none;background:transparent;border-radius:0;overflow:visible;}
  .cmp-responsive tbody tr{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;
    padding:14px 16px;margin-bottom:10px;box-shadow:0 2px 8px -6px rgba(53,32,43,.12);}
  .cmp-responsive tbody tr:hover td{background:transparent;}
  .cmp-responsive tbody th{display:block;width:100%;padding:0 0 10px;margin:0 0 10px;
    font-family:"Fraunces",serif;font-size:17px;font-weight:600;color:var(--ink);
    background:transparent;border-bottom:1px solid var(--line);border-top:none;}
  .cmp-responsive tbody td{display:block;width:100%;padding:10px 0 0;border-top:none;font-size:13.5px;line-height:1.55;}
  .cmp-responsive tbody td::before{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;
    text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
  .cmp-responsive.cmp-brands tbody td:nth-of-type(1)::before{content:"Where";}
  .cmp-responsive.cmp-brands tbody td:nth-of-type(2)::before{content:"Adults-only?";}
  .cmp-responsive.cmp-brands tbody td:nth-of-type(3)::before{content:"What it's known for";}
  .cmp-responsive.cmp-brands tbody td:nth-of-type(4)::before{content:"Who it suits";}
  .cmp-responsive.cmp-brands tbody td:nth-of-type(5)::before{content:"Budget tier";}
  .cmp-responsive.cmp-brands .pb{text-align:left;font-size:15px;}
  .cmp-responsive.cmp-inc tbody td:nth-of-type(1)::before{content:"Complimentary honeymoon benefits";}
  .cmp-responsive.cmp-inc tbody td:nth-of-type(2)::before{content:"Optional add-ons";}
  .cmp-responsive.cmp-inc tbody td:nth-of-type(1)::after{content:"Before you travel: request perks at booking unless noted above. Some brands require a marriage certificate — check benefits for details.";
    display:block;margin-top:10px;padding:9px 11px;font-size:12px;line-height:1.5;color:#5c4f52;
    background:var(--bg);border:1px solid var(--line);border-radius:8px;font-weight:500;
    letter-spacing:0;text-transform:none;}
}

/* ── HONEYMOON MATCHMAKER ── */
.quizbox{max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:22px;
  overflow:hidden;box-shadow:0 24px 60px -30px rgba(53,32,43,.35);}
.quiz-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;
  background:linear-gradient(180deg,#fff,#fdf8f6);border-bottom:1px solid var(--line);}
.quiz-kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne-deep);}
.quiz-count{font-size:12px;color:var(--muted);font-weight:500;}
.quiz-bar{height:3px;background:var(--line);}
.quiz-fill{height:100%;background:linear-gradient(90deg,var(--rose),var(--champagne));transition:width .3s ease;}
.quiz-body{padding:28px 24px 26px;}
.quiz-q{font-family:"Fraunces",serif;font-size:23px;font-weight:500;color:var(--ink);text-align:center;
  line-height:1.3;margin-bottom:22px;}
.quiz-q em{font-style:italic;color:var(--rose-deep);}
.quiz-opts{display:grid;gap:10px;}
.quiz-opt{font:inherit;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:13px;
  padding:15px 17px;font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;transition:all .13s;}
.quiz-opt:hover{border-color:var(--rose);background:var(--rose-soft);transform:translateX(2px);}
.quiz-opt small{display:block;font-weight:450;color:var(--muted);font-size:12.5px;margin-top:3px;}
.quiz-back{background:none;border:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;
  margin-top:16px;padding:6px;}
.quiz-q-sub{font-size:14.5px;color:#6a5c5f;text-align:center;line-height:1.6;margin:-12px auto 20px;max-width:480px;}
.quiz-opt-visual{display:flex;align-items:flex-start;gap:12px;}
.quiz-opt-ico{font-size:22px;line-height:1;flex-shrink:0;margin-top:1px;}
.quiz-opt-txt{display:block;flex:1;min-width:0;}
.quiz-opts-visual .quiz-opt{padding:16px 18px;}
.quiz-opts-visual{grid-template-columns:repeat(2,1fr);}
@media(max-width:520px){.quiz-opts-visual{grid-template-columns:1fr;}}
.quiz-back:hover{color:var(--rose-deep);}

.quiz-welcome{text-align:center;padding:8px 4px 4px;}
.quiz-welcome-ico{font-size:36px;margin-bottom:12px;}
.quiz-welcome-title{font-family:"Fraunces",serif;font-size:clamp(24px,4vw,30px);font-weight:600;color:var(--ink);line-height:1.2;margin:0 0 12px;}
.quiz-welcome-sub{font-size:16px;color:var(--ink);margin:0 0 10px;line-height:1.5;}
.quiz-welcome-body{font-size:14.5px;color:#6a5c5f;line-height:1.65;margin:0 auto 22px;max-width:480px;}
.quiz-start-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 32px;font-size:15px;font-weight:600;margin-top:6px;}
.quiz-partner-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-deep);background:var(--rose-soft);border:1px solid #eccdd2;border-radius:999px;padding:5px 12px;margin-bottom:14px;}
.quiz-name-step{text-align:center;max-width:360px;margin:0 auto;}
.quiz-name-step .quiz-q{margin-bottom:8px;}
.mm-name-input{margin:0 0 16px;text-align:center;}
.nf-input.err{border-color:#c0392b;background:#fdf3f2;}

.mm-compat-score{font-family:"Fraunces",serif;font-size:clamp(42px,8vw,56px);font-weight:600;color:var(--rose-deep);line-height:1;margin:6px 0 8px;}
.mm-compat-label{font-size:18px;font-weight:500;color:var(--ink);display:block;margin-top:4px;}
.mm-compat-note{font-size:13px;color:var(--muted);line-height:1.55;margin:0 auto 6px;max-width:420px;}
.mm-compat-list,.mm-differ-list{list-style:none;display:grid;gap:8px;text-align:left;}
.mm-compat-list li,.mm-differ-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#5a4d50;line-height:1.55;}
.mm-differ-list li::before{content:"◦";color:var(--champagne-deep);font-weight:700;flex-shrink:0;}
.mm-compat-empty{font-size:14px;color:#6a5c5f;line-height:1.55;text-align:left;}
.mm-budget-est{font-family:"Fraunces",serif;font-size:28px;font-weight:600;color:var(--ink);}
.mm-budget-note{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5;}
.mm-dest-hero{display:flex;flex-direction:column;}
.mm-dest-why{font-size:13px;color:#6a5c5f;line-height:1.55;margin:8px 0 0;}
.mm-cta-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);}

/* ── Welcome: time estimate + resume banner ── */
.quiz-welcome-time{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;
  color:var(--champagne-deep);background:var(--rose-soft);border-radius:999px;padding:6px 14px;margin-bottom:18px;}
.mm-resume{text-align:left;background:var(--rose-soft);border:1px solid #eccdd2;border-radius:14px;
  padding:16px 18px;margin:4px 0 20px;}
.mm-resume-text{font-size:14px;color:var(--ink);line-height:1.5;margin-bottom:12px;}
.mm-resume-actions{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;}
.mm-resume-actions .btn{min-height:44px;}
.mm-resume-restart{background:none;border:none;font:inherit;font-size:13px;color:var(--muted);
  text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:6px 2px;}
.mm-resume-restart:hover{color:var(--rose-deep);}

/* ── Shared budget step: dollar entry + quick picks ── */
.mm-budget-input-row{display:flex;align-items:center;gap:8px;max-width:min(260px,100%);margin:0 auto 16px;
  border:1.5px solid var(--line);border-radius:13px;padding:4px 6px 4px 16px;background:#fff;}
.mm-budget-input-row:focus-within{border-color:var(--rose);box-shadow:0 0 0 3px rgba(191,106,125,.12);}
.mm-budget-dollar{font-size:20px;font-weight:700;color:var(--muted);flex-shrink:0;}
.mm-budget-input{border:none;padding:12px 6px;font-size:20px;font-weight:600;text-align:left;width:100%;
  min-height:44px;background:transparent;}
.mm-budget-input:focus{outline:none;box-shadow:none;}
.mm-budget-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:14px;}
.mm-budget-chip{flex:0 0 auto;width:auto;text-align:center;padding:10px 16px;font-size:13.5px;
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
.mm-budget-notsure{display:block;width:100%;text-align:center;font-size:13.5px;color:var(--muted);
  min-height:44px;display:flex;align-items:center;justify-content:center;margin-bottom:6px;}

/* ── Results teaser: the free, quick read shown before any ask ── */
.mm-teaser{text-align:left;background:linear-gradient(160deg,#fff,#fdf6f3);border:1px solid var(--line);
  border-radius:16px;padding:20px 20px 18px;margin:18px 0;}
.mm-teaser-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;}
.mm-teaser-row+.mm-teaser-row{border-top:1px solid var(--line);}
.mm-teaser-ico{font-size:20px;line-height:1.3;flex-shrink:0;}
.mm-teaser-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:3px;}
.mm-teaser-value{font-size:17px;font-weight:600;color:var(--ink);line-height:1.3;}
.mm-teaser-sub{font-size:13px;color:#6a5c5f;line-height:1.5;margin-top:4px;}
.mm-teaser-budget{font-size:13.5px;color:#5a4d50;line-height:1.55;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);}
.mm-teaser-note{font-size:12.5px;color:var(--muted);line-height:1.55;margin-top:10px;}

/* ── Divider between the concise result and the deep-dive report ── */
.mm-report-divider{display:flex;align-items:center;gap:14px;margin:30px 0 4px;}
.mm-report-divider::before,.mm-report-divider::after{content:"";flex:1;height:1px;background:var(--line);}
.mm-report-divider span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;}

/* ── Repeat CTA at the bottom of the full report ── */
.mm-cta-repeat{text-align:center;}
.mm-cta-repeat p{font-size:14.5px;color:#6a5c5f;margin-bottom:14px;}
.mm-couple-form{text-align:left;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);}
.mm-travel-dates{margin-top:16px;text-align:left;}
.mm-travel-dates .mm-form-grid{margin-bottom:12px;}
.qm-season{font-size:.88rem;color:var(--ink-muted,#6b5c62);margin:10px 0 0;line-height:1.45;}
.mm-season-summary{font-size:.95rem;color:var(--ink-muted,#6b5c62);line-height:1.5;margin:0;}
.quiz-opt.on{border-color:var(--rose-deep);box-shadow:0 0 0 1px var(--rose-deep);}
.mm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.nf-textarea{min-height:88px;resize:vertical;line-height:1.5;padding-top:10px;padding-bottom:10px;}
.mm-submit-success{text-align:center;padding:28px 16px 8px;}
.mm-success-ico{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:var(--champagne);color:var(--champagne-deep);font-size:26px;font-weight:700;line-height:52px;}
.mm-success-h{font-family:"Fraunces",serif;font-size:22px;font-weight:600;color:var(--ink);margin:0 0 10px;}
.mm-success-p{font-size:15px;color:#6a5c5f;line-height:1.6;max-width:440px;margin:0 auto;}
.mm-retry-btn{display:inline;margin-left:6px;padding:4px 12px;font:inherit;font-size:13px;font-weight:600;color:var(--rose-deep);background:transparent;border:1px solid var(--rose);border-radius:6px;cursor:pointer;}
.mm-retry-btn:hover{background:var(--bg);}
@media(max-width:520px){.mm-form-grid{grid-template-columns:1fr;}}
@media(max-width:400px){
  .quiz-body{padding:22px 16px 22px;}
  .mm-teaser{padding:16px 14px 14px;}
  .mm-budget-chip{padding:10px 12px;font-size:13px;}
}
.mm-couple-result .mm-section:first-of-type{border-top:none;padding-top:0;margin-top:14px;}
.mm-consultation{text-align:left;}
.mm-consultation .mm-found{text-align:center;}
.mm-consult-intro{text-align:center;font-size:15px;color:#6a5c5f;line-height:1.6;margin:0 auto 18px;max-width:520px;}
.mm-personality{text-align:center;}
.mm-personality-title{font-family:"Fraunces",serif;font-size:clamp(24px,4vw,32px);font-weight:600;color:var(--rose-deep);line-height:1.2;margin:4px 0 10px;}
.mm-personality-blurb{font-size:15px;color:#6a5c5f;line-height:1.65;max-width:540px;margin:0 auto;}
.mm-match-pct{font-family:"Fraunces",serif;font-size:22px;font-weight:600;color:var(--rose-deep);margin:4px 0 6px;}
.mm-consult-rank{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.mm-consult-rank .qm-name{font-family:"Fraunces",serif;font-size:18px;font-weight:600;color:var(--ink);}
.mm-match-why{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
.mm-match-why-h{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:8px;}
.mm-match-bullets{list-style:none;display:grid;gap:6px;margin:0;padding:0;}
.mm-match-bullets li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:#5a4d50;line-height:1.5;}
.mm-consult-card .mm-dest-name{font-family:"Fraunces",serif;font-size:22px;font-weight:600;color:var(--ink);}
.mm-diff-block{padding:12px 0;border-bottom:1px solid var(--line);}
.mm-diff-block:last-child{border-bottom:none;padding-bottom:0;}
.mm-diff-lead,.mm-diff-sub{font-size:14px;color:var(--ink);margin:0 0 4px;line-height:1.5;}
.mm-diff-resolve{font-size:13.5px;color:#6a5c5f;margin:8px 0 0;line-height:1.55;font-style:italic;}
.mm-not-rec-item{padding:14px 0;border-bottom:1px solid var(--line);}
.mm-not-rec-item:last-child{border-bottom:none;padding-bottom:0;}
.mm-not-rec-title{font-family:"Fraunces",serif;font-size:16px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.mm-not-rec-body{font-size:14px;color:#6a5c5f;line-height:1.6;margin:0;}
.mm-advisor-text{font-size:15px;color:var(--ink);line-height:1.7;margin:0;padding:16px;background:var(--bg);border:1px solid var(--line);border-radius:14px;}
.mm-cta-list-intro{font-size:14px;color:var(--ink);margin:12px 0 8px;line-height:1.5;text-align:left;}
.mm-cta-list{text-align:left;margin:0 0 18px;padding-left:20px;color:#5a4d50;font-size:14px;line-height:1.65;}
.mm-cta-list li{margin-bottom:4px;}
.mm-consultation .mm-ready{text-align:center;}
.mm-consultation .mm-ready-sub{text-align:center;}
.mm-consultation .mm-cta{display:flex;width:100%;max-width:360px;margin:0 auto;justify-content:center;}
.mm-consultation .mm-compat-note{margin-top:12px;font-size:13px;}
.mm-budget-row .mm-budget-est{text-align:left;}
@media(max-width:520px){
  .mm-match-pct{font-size:20px;}
  .mm-personality-title{font-size:22px;}
  .mm-advisor-text{padding:14px;font-size:14px;}
  .mm-dest-hero.mm-consult-card{flex-direction:column;}
  .mm-compare-picks{grid-template-columns:1fr;}
  .mm-explore-grid{grid-template-columns:1fr;}
  .mm-explore-toggle{width:100%;}
}
.mm-explore-intro{font-size:14px;color:#6a5c5f;line-height:1.6;margin:0 0 14px;}
.mm-explore-invest{font-size:13px;color:var(--ink);line-height:1.5;margin:4px 0 8px;font-weight:500;}
.mm-rank-note{font-size:13px;color:#6a5c5f;line-height:1.55;margin:8px 0 0;font-style:italic;}
.mm-explore-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
.mm-explore-toggle{min-height:40px;padding:10px 14px;font-size:13px;font-weight:600;}
.mm-compare-pick{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;}
.mm-compare-pick input{width:16px;height:16px;accent-color:var(--rose-deep);}
.mm-explore-panel{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);overflow:hidden;max-height:0;opacity:0;transition:max-height .45s ease,opacity .3s ease,padding .3s ease;}
.mm-explore-panel.is-open{max-height:2400px;opacity:1;padding-top:14px;}
.mm-explore-panel[hidden]{display:block;max-height:0;opacity:0;padding-top:0;border-top:none;margin-top:0;}
.mm-explore-panel[hidden].is-open{display:block;}
.mm-explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.mm-explore-stat{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;}
.mm-explore-k{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:4px;}
.mm-explore-v{display:block;font-size:13.5px;color:var(--ink);line-height:1.45;}
.mm-explore-block{margin-bottom:14px;}
.mm-explore-h{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:8px;}
.mm-explore-p{font-size:14px;color:#5a4d50;line-height:1.6;margin:0;}
.mm-explore-note{font-size:13px;color:#6a5c5f;line-height:1.5;margin:8px 0 0;}
.mm-explore-list{list-style:none;display:grid;gap:6px;margin:0;padding:0;}
.mm-explore-list li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:#5a4d50;line-height:1.5;}
.mm-explore-trade li::before{content:"◦";color:var(--champagne-deep);font-weight:700;flex-shrink:0;}
.mm-explore-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:600;color:var(--rose-deep);}
.mm-explore-dest .mm-dest-img{height:88px;}
.mm-compare-picks{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-bottom:14px;}
.mm-compare-label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--rose-deep);text-transform:uppercase;letter-spacing:.06em;}
.mm-compare-select{font-size:14px;padding:12px 14px;}
.mm-compare-btn{min-height:48px;padding:12px 18px;white-space:nowrap;}
.mm-compare-result{margin-top:8px;padding-top:8px;}
.mm-compare-result.is-open{animation:fadeInUp .35s ease;}
@keyframes fadeInUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.mm-compare-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.mm-compare-table th,.mm-compare-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
.mm-compare-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--champagne-deep);}
.mm-compare-table tbody th{font-weight:600;color:var(--ink);width:34%;}
.mm-compare-win{background:rgba(191,106,125,.08);font-weight:700;color:var(--rose-deep);}
.mm-compare-tie{background:var(--bg);}
.mm-compare-note{font-size:12.5px;color:var(--muted);margin:10px 0 0;line-height:1.5;}
.mm-compare-error{font-size:14px;color:#6a5c5f;margin:0;}
.mm-neal-q-list{list-style:none;display:grid;gap:10px;margin:0;padding:0;}
.mm-neal-q-list li{font-size:14.5px;color:var(--ink);line-height:1.55;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-radius:12px;}
.mm-neal-q-list li::before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:8px;border-radius:50%;background:var(--rose-soft);color:var(--rose-deep);font-weight:700;font-size:12px;vertical-align:middle;}
.mm-planning-report .mm-found{font-size:clamp(15px,2.5vw,18px);}
.mm-snapshot{background:linear-gradient(180deg,rgba(251,246,242,.9),#fff);border:1px solid var(--line);border-radius:16px;padding:18px 16px 6px;margin-top:8px;}
.mm-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.mm-snap-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:12px;}
.mm-snap-ico{font-size:18px;line-height:1.2;flex-shrink:0;}
.mm-snap-body{min-width:0;}
.mm-snap-k{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:3px;}
.mm-snap-v{display:block;font-size:14px;color:var(--ink);line-height:1.45;font-weight:500;}
.mm-driver-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:driver;}
.mm-driver-list li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink);line-height:1.5;padding:11px 14px;background:var(--bg);border:1px solid var(--line);border-radius:12px;}
.mm-driver-rank{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:50%;background:var(--rose-soft);color:var(--rose-deep);font-size:12px;font-weight:700;flex-shrink:0;}
.mm-budget-scenario{padding:14px 0;border-top:1px solid var(--line);}
.mm-budget-scenario:first-of-type{border-top:none;padding-top:0;}
.mm-budget-scenario-lead{font-size:14px;color:#5a4d50;line-height:1.6;margin:0 0 10px;}
.mm-budget-scenario-name{font-family:"Fraunces",serif;font-size:20px;font-weight:600;color:var(--rose-deep);margin:0 0 10px;}
.mm-budget-scenario-why .mm-explore-h{margin-bottom:6px;}
.mm-booking-rec-text{font-size:15px;color:var(--ink);line-height:1.65;margin:0;padding:14px 16px;background:var(--bg);border:1px solid var(--line);border-radius:12px;}
.mm-advisor-opp-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.mm-advisor-opp-list li{font-size:14px;color:#5a4d50;line-height:1.55;padding:10px 12px 10px 28px;background:var(--bg);border:1px solid var(--line);border-radius:10px;position:relative;}
.mm-advisor-opp-list li::before{content:"\2022";position:absolute;left:12px;color:var(--champagne-deep);font-weight:700;}
.mm-timeline-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.mm-timeline-list li{display:flex;gap:10px;align-items:center;font-size:14.5px;line-height:1.45;padding:10px 12px;border-radius:10px;border:1px solid var(--line);}
.mm-timeline-done{background:rgba(191,106,125,.06);color:var(--ink);}
.mm-timeline-todo{background:#fff;color:#6a5c5f;}
.mm-timeline-box{font-weight:700;color:var(--rose-deep);width:18px;text-align:center;flex-shrink:0;}
.mm-planning-report .mm-cta{max-width:420px;font-size:14px;line-height:1.3;padding:14px 18px;}
.mm-cta-body{font-size:14px;color:#5a4d50;line-height:1.65;margin:0 auto 12px;max-width:540px;text-align:center;}
.mm-cta-obligation{margin-bottom:18px;font-weight:500;color:var(--ink);}
.mm-form-notice{font-size:13.5px;color:var(--ink);line-height:1.55;margin:0 0 16px;padding:12px 14px;background:var(--rose-soft);border:1px solid #eccdd2;border-radius:12px;text-align:left;}
.mm-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;}
.mm-trust-card{padding:14px 14px 12px;background:var(--bg);border:1px solid var(--line);border-radius:12px;}
.mm-trust-ico{font-size:22px;line-height:1;display:block;margin-bottom:8px;}
.mm-trust-title{font-family:"Fraunces",serif;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:6px;line-height:1.25;}
.mm-trust-body{font-size:13.5px;color:#6a5c5f;line-height:1.55;margin:0;}
.mm-trust-privacy{padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;}
.mm-trust-privacy-h{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:8px;}
.mm-trust-privacy-p{font-size:13.5px;color:#5a4d50;line-height:1.55;margin:0 0 6px;}
.mm-trust-privacy-p:last-child{margin-bottom:0;}
.mm-trust-response{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--rose-deep);background:var(--rose-soft);border:1px solid #eccdd2;border-radius:999px;padding:8px 14px;margin-bottom:4px;}
.mm-almost-done{margin:20px 0 16px;padding:16px;background:var(--bg);border:1px solid var(--line);border-radius:12px;text-align:center;}
.mm-almost-done-h{font-family:"Fraunces",serif;font-size:18px;font-weight:600;color:var(--rose-deep);margin-bottom:8px;}
.mm-almost-done-p{font-size:14px;color:#5a4d50;line-height:1.6;margin:0 0 6px;}
.mm-almost-done-p:last-child{margin-bottom:0;}
.mm-success-lead{font-size:16px;font-weight:600;color:var(--ink);margin:0 0 8px;}
.mm-success-sub{font-size:14px;font-weight:600;color:var(--ink);margin:14px 0 8px;text-align:left;max-width:440px;margin-left:auto;margin-right:auto;}
.mm-success-list{text-align:left;margin:0 auto 14px;padding-left:20px;max-width:440px;color:#5a4d50;font-size:14px;line-height:1.65;}
.mm-success-list li{margin-bottom:4px;}
@media(max-width:520px){
  .mm-snapshot-grid{grid-template-columns:1fr;}
  .mm-planning-report .mm-cta{font-size:13px;max-width:100%;}
  .mm-trust-grid{grid-template-columns:1fr;}
}


.mm-result{text-align:center;}
.mm-found{font-size:13px;font-weight:700;color:var(--champagne-deep);margin-bottom:10px;}
.mm-style-title{font-family:"Fraunces",serif;font-size:clamp(26px,4vw,34px);font-weight:600;color:var(--ink);line-height:1.15;margin-bottom:10px;}
.mm-style-blurb{font-size:15px;color:#6a5c5f;line-height:1.65;max-width:520px;margin:0 auto 14px;}
.mm-intro{font-size:14.5px;color:var(--ink);font-weight:500;line-height:1.55;margin-bottom:22px;}
.mm-section{text-align:left;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);}
.mm-section-h{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:12px;}
.mm-vtype{font-size:17px;font-weight:600;color:var(--ink);}
.mm-destgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.mm-dest{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:12px;overflow:hidden;color:inherit;transition:border-color .14s,transform .12s;}
.mm-dest:hover{border-color:var(--rose);transform:translateY(-2px);}
.mm-dest-img{height:72px;overflow:hidden;}
.mm-dest-img img{width:100%;height:100%;object-fit:cover;display:block;}
.mm-dest-body{padding:10px 12px 12px;}
.mm-dest-name{font-family:"Fraunces",serif;font-size:14px;font-weight:600;color:var(--ink);line-height:1.25;}
.mm-dest-meta{font-size:11.5px;color:var(--rose-deep);margin-top:4px;font-weight:600;}
.mm-chips{display:flex;flex-wrap:wrap;gap:8px;}
.mm-chip{font-size:13px;font-weight:600;color:var(--rose-deep);background:var(--rose-soft);border:1px solid #eccdd2;border-radius:999px;padding:7px 14px;}
.mm-cruises{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.mm-cruise{display:flex;align-items:center;gap:10px;}
.mm-cruise .dlogo{margin:0;height:auto;}
.mm-cruise .dlogo img{max-height:32px;}
.mm-cruise-name{font-size:13.5px;font-weight:600;color:var(--ink);}
.mm-why ul{list-style:none;display:grid;gap:10px;}
.mm-why li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#5a4d50;line-height:1.55;}
.mm-why-tick{color:var(--champagne-deep);font-weight:700;flex-shrink:0;}
.mm-ready{font-size:13px;font-weight:700;color:var(--champagne-deep);margin-top:8px;}
.mm-ready-sub{font-size:14px;color:#6a5c5f;line-height:1.65;margin:10px auto 18px;max-width:520px;}
.mm-cta-wrap{margin:0 auto 10px;}
.mm-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 28px;font-size:15px;font-weight:600;}
.mm-cta-fine{font-size:12.5px;color:var(--muted);margin-bottom:8px;}
.mm-retake{display:block;margin:14px auto 0;}
.qmatch-cruise{align-items:center;padding:12px 14px;}
.qmatch-cruise .dlogo{margin:0;flex-shrink:0;}
@media(max-width:520px){
  .mm-destgrid{grid-template-columns:1fr;}
  .mm-dest{flex-direction:row;}
  .mm-dest-img{width:88px;height:auto;min-height:72px;flex-shrink:0;}
  .mm-cta{width:100%;}
}

.quiz-result{text-align:center;}
.qr-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne-deep);}
.qr-title{font-size:30px;font-weight:600;color:var(--ink);margin:8px 0 8px;}
.qr-note{font-size:13.5px;color:#6a5c5f;line-height:1.65;max-width:470px;margin:0 auto 22px;}
.qmatches{display:grid;gap:12px;text-align:left;}
.qmatch{display:flex;gap:14px;background:var(--bg);border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.qm-img{width:110px;flex-shrink:0;}
.qm-img img{width:100%;height:100%;object-fit:cover;display:block;}
.qm-body{padding:14px 16px 14px 0;flex:1;}
.qmatch:not(:has(.qm-img)) .qm-body{padding-left:16px;}
.qm-name{font-family:"Fraunces",serif;font-size:17px;font-weight:600;color:var(--ink);line-height:1.25;}
.qm-loc{font-size:12px;font-weight:600;color:var(--rose-deep);margin:3px 0 7px;display:flex;align-items:center;gap:6px;}
.qm-why{font-size:12.5px;color:#6a5c5f;line-height:1.55;}
@media(max-width:520px){.qm-img{display:none;} .qm-body{padding-left:16px;}}

/* ── NETLIFY LEAD FORM ── */
.nform{padding:26px 28px 24px;}
.hp{position:absolute;left:-9999px;visibility:hidden;}
.nf-label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--rose-deep);margin:16px 0 7px;}
.nf-label:first-of-type{margin-top:0;}
.nf-label span{text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted);}
.nf-input{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;
  border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;outline:none;
  transition:border-color .14s,box-shadow .14s;}
.nf-input::placeholder{color:#bfb0b3;}
.nf-input:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(191,106,125,.12);}
textarea.nf-input{resize:vertical;line-height:1.6;}
.nf-btn{width:100%;margin-top:22px;font:inherit;font-size:16px;font-weight:700;color:#fff;
  background:var(--rose);border:none;border-radius:12px;padding:16px;cursor:pointer;
  box-shadow:0 6px 20px rgba(191,106,125,.32);transition:background .15s,transform .1s;}
.nf-btn:hover{background:var(--rose-deep);}
.nf-btn:active{transform:translateY(1px);}
.nf-fine{text-align:center;font-size:12px;color:var(--muted);margin-top:14px;line-height:1.6;}

/* ── ASK ONE QUESTION ── */
.askform{max-width:560px;margin:0 auto;display:grid;gap:12px;}
.askform .nf-btn{margin-top:4px;}

/* ── MOBILE STICKY CTA ── */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:90;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  background:rgba(251,246,242,.96);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;}
.sticky-cta .btn-primary{padding:13px 18px;font-size:13.5px;flex:1 1 140px;min-width:0;max-width:280px;text-align:center;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
.sticky-cta-long{display:none;}
.sticky-cta-short{display:inline;}
.sticky-phone{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;padding:12px 16px;min-height:44px;display:inline-flex;align-items:center;flex:0 0 auto;
  border:1.5px solid var(--line);border-radius:999px;background:#fff;}
.sticky-phone:hover{border-color:var(--rose);color:var(--rose-deep);}
@media(max-width:1080px){
  .sticky-cta{display:flex;}
  body.has-sticky{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));}
}
@media(max-width:390px){
  .sticky-cta{flex-direction:column;align-items:stretch;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));gap:8px;}
  .sticky-cta .btn-primary{flex:1 1 auto;max-width:none;width:100%;}
  .sticky-cta-long{display:inline;}
  .sticky-cta-short{display:none;}
  .sticky-phone{width:100%;justify-content:center;}
  body.has-sticky{padding-bottom:calc(118px + env(safe-area-inset-bottom,0px));}
}
