: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-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;}
.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);}
.mm-couple-form{text-align:left;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);}
.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;}}
.mm-couple-result .mm-section:first-of-type{border-top:none;padding-top:0;margin-top:14px;}


.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));}
}

/* ── DESTINATION WEDDING SITE FRAMEWORK ── */
.hdr-nav--full{gap:6px 14px;padding:9px 0 11px;}
.hdr-nav--full .nav{gap:14px;}
.hdr-nav--full .nav a{font-size:12.5px;}
.hdr-nav--full .nav a.btn{font-size:12px;padding:9px 16px;margin-left:2px;}
@media(min-width:901px) and (max-width:1200px){
  .hdr-nav--full .nav a{font-size:11.5px;}
  .hdr-nav--full .nav{gap:10px;}
}

.crumbs{padding:18px 0 0;}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;list-style:none;font-size:13px;color:var(--muted);}
.crumbs li{display:flex;align-items:center;gap:8px;}
.crumbs li+li::before{content:"/";color:#c4b4b6;font-weight:500;}
.crumbs a{color:#6a5c5f;font-weight:500;transition:color .15s;}
.crumbs a:hover{color:var(--rose-deep);}
.crumbs [aria-current="page"]{color:var(--ink);font-weight:600;}

.page-hero{position:relative;padding:48px 0 36px;overflow:hidden;}
.page-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(55% 50% at 82% 8%,rgba(191,106,125,.08),transparent 58%),
             radial-gradient(45% 40% at 10% 92%,rgba(193,154,91,.07),transparent 58%);}
.page-hero-in{position:relative;z-index:1;max-width:760px;margin:0 auto;text-align:center;}
.page-hero-lead{font-size:clamp(15px,2vw,17px);color:#6a5c5f;line-height:1.65;max-width:620px;margin:0 auto;}

.ph-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:900px){.ph-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.ph-grid{grid-template-columns:1fr;}}
.ph-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px 22px 22px;min-height:140px;
  transition:transform .16s,box-shadow .16s,border-color .16s;}
.ph-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px -20px rgba(53,32,43,.28);border-color:transparent;}
.ph-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:10px;}
.ph-title{font-family:"Fraunces",serif;font-size:20px;font-weight:500;color:var(--ink);line-height:1.25;margin-bottom:8px;}
.ph-note{font-size:14px;color:var(--muted);line-height:1.55;}

.site-map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:768px){.site-map-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.site-map-grid{grid-template-columns:1fr;}}
.site-map-link{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:18px 18px 16px;transition:transform .14s,border-color .14s,box-shadow .14s;}
.site-map-link:hover{transform:translateY(-3px);border-color:rgba(191,106,125,.35);box-shadow:0 14px 30px -18px rgba(53,32,43,.25);}
.site-map-link strong{font-family:"Fraunces",serif;font-size:17px;font-weight:500;color:var(--ink);}
.site-map-link span{font-size:13px;color:var(--muted);line-height:1.5;}

.quiz-placeholder{max-width:720px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:22px;
  padding:36px 28px;text-align:center;box-shadow:0 20px 50px -24px rgba(53,32,43,.22);}
.quiz-placeholder p{font-size:15px;color:#6a5c5f;line-height:1.65;max-width:520px;margin:0 auto 18px;}

.contact-placeholder{max-width:640px;margin:0 auto;display:grid;gap:14px;}
.contact-block{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;text-align:center;}
.contact-block h3{font-family:"Fraunces",serif;font-size:20px;font-weight:500;margin-bottom:8px;}
.contact-block p{font-size:14px;color:var(--muted);line-height:1.6;}

.page-toc{padding:14px 0 18px;border-bottom:1px solid var(--line);background:rgba(251,246,242,.94);
  position:sticky;top:0;z-index:40;backdrop-filter:blur(10px);}
.page-toc-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:10px;}
.page-toc-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;}
.page-toc-list a{display:inline-flex;align-items:center;font-size:13px;font-weight:500;color:#5c4f52;
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;transition:border-color .14s,color .14s,transform .12s;}
.page-toc-list a:hover{border-color:var(--rose);color:var(--rose-deep);transform:translateY(-1px);}

.ia-section{scroll-margin-top:96px;}
.ia-section--cta{scroll-margin-top:88px;}

.ia-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.ia-grid--2{grid-template-columns:repeat(2,1fr);}
.ia-grid--4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.ia-grid,.ia-grid--4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.ia-grid,.ia-grid--2,.ia-grid--4{grid-template-columns:1fr;}}

.ia-slot{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:24px 22px 20px;min-height:132px;text-decoration:none;color:inherit;
  transition:transform .16s,box-shadow .16s,border-color .16s;}
.ia-slot:hover{transform:translateY(-3px);box-shadow:0 16px 36px -20px rgba(53,32,43,.28);border-color:transparent;}
.ia-slot-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:10px;}
.ia-slot-title{font-family:"Fraunces",serif;font-size:20px;font-weight:500;color:var(--ink);line-height:1.25;margin-bottom:8px;}
.ia-slot-note{font-size:14px;color:var(--muted);line-height:1.55;flex:1;}
.ia-slot-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--rose-deep);}

.ia-related{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);}
.ia-related-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:10px;}
.ia-related-grid{display:flex;flex-wrap:wrap;gap:10px;}
.ia-related-link{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--rose-deep);
  background:var(--rose-soft);border:1px solid #eccdd2;border-radius:999px;padding:9px 16px;transition:background .14s,transform .12s;}
.ia-related-link:hover{background:#fcecef;transform:translateY(-1px);}
.ia-related-go{font-size:12px;}

.ia-timeline{display:grid;gap:12px;max-width:760px;margin:0 auto;}
.ia-step{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:18px 18px 16px;}
.ia-step-n{font-family:"Fraunces",serif;font-size:18px;font-weight:600;color:var(--champagne-deep);line-height:1;}
.ia-step-title{font-family:"Fraunces",serif;font-size:18px;font-weight:500;color:var(--ink);line-height:1.25;margin-bottom:6px;}
.ia-step-note{font-size:14px;color:var(--muted);line-height:1.55;}
.ia-step-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:600;color:var(--rose-deep);}

.ia-faq-list{max-width:760px;margin:0 auto;display:grid;gap:10px;}
.ia-faq-ph{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0;overflow:hidden;}
.ia-faq-ph summary{font-family:"Fraunces",serif;font-size:17px;font-weight:500;color:var(--ink);padding:16px 18px;cursor:pointer;list-style:none;}
.ia-faq-ph summary::-webkit-details-marker{display:none;}
.ia-faq-ph-body{padding:0 18px 16px;border-top:1px solid var(--line);}
.ia-faq-ph-body p{font-size:14px;color:var(--muted);line-height:1.6;padding-top:12px;}

.advisor-card .ia-related{text-align:left;margin-top:20px;padding-top:16px;}
.advisor-card .ia-related-grid{justify-content:center;}

.page-hero-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;margin-top:24px;}
.page-hero-supplier-shop,.advisor-supplier-shop{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:center;align-items:center;margin-top:14px;width:100%;}
.page-hero-supplier-label,.advisor-supplier-label{font-size:12px;color:var(--muted);font-weight:500;}
.btn-supplier{font-size:13px;font-weight:600;color:var(--muted);padding:6px 2px;border-radius:0;background:transparent;border-bottom:1px solid var(--line);box-shadow:none;}
.btn-supplier:hover{color:var(--rose-deep);border-color:var(--rose);transform:none;background:transparent;}
.page-hero-note{max-width:640px;margin:20px auto 0;padding:12px 16px;font-size:13px;line-height:1.6;color:#5c4f52;
  background:#fdf6e9;border:1px solid #ecdcb4;border-radius:12px;text-align:left;}
.page-hero-note b{color:var(--ink);}

.ia-body{max-width:820px;margin:0 auto;font-size:15px;color:#5f5255;line-height:1.7;}
.ia-body p{margin:0 0 14px;}
.ia-body p:last-child{margin-bottom:0;}
.ia-body ul,.ia-body ol{margin:0 0 14px;padding-left:1.25rem;}
.ia-body li{margin-bottom:6px;}
.ia-body a{color:var(--rose-deep);font-weight:600;}
.ia-body .ia-callout{margin-top:16px;padding:12px 14px;font-size:13px;line-height:1.6;color:#5c4f52;
  background:var(--bg);border:1px solid var(--line);border-radius:10px;}
.ia-body .cmp-wrap{margin-top:8px;max-width:100%;}
.ia-body .cmp-note{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.55;}

@media(max-width:1024px){
  .cmp-responsive.cmp-pkg tbody td:nth-of-type(1)::before{content:"Best for";}
  .cmp-responsive.cmp-pkg tbody td:nth-of-type(2)::before{content:"Guest count";}
  .cmp-responsive.cmp-pkg tbody td:nth-of-type(3)::before{content:"Starting price";}
  .cmp-responsive.cmp-pkg tbody td:nth-of-type(4)::before{content:"Ceremony highlights";}
  .cmp-responsive.cmp-pkg tbody td:nth-of-type(5)::before{content:"Reception highlights";}
  .cmp-responsive.cmp-pkg tbody td:nth-of-type(6)::before{content:"Photo & entertainment";}
  .cmp-responsive.cmp-venues tbody td:nth-of-type(1)::before{content:"Venue type";}
  .cmp-responsive.cmp-venues tbody td:nth-of-type(2)::before{content:"Ceremony capacity";}
  .cmp-responsive.cmp-venues tbody td:nth-of-type(3)::before{content:"Cocktail / buffet capacity";}
  .cmp-responsive.cmp-venues tbody td:nth-of-type(4)::before{content:"Best fit";}
  .cmp-responsive.cmp-tiers tbody td:nth-of-type(1)::before{content:"Key benefits";}
  .cmp-responsive.cmp-hic tbody td:nth-of-type(1)::before{content:"Guest profile";}
  .cmp-responsive.cmp-hic tbody td:nth-of-type(2)::before{content:"Atmosphere";}
  .cmp-responsive.cmp-hic tbody td:nth-of-type(3)::before{content:"Wedding fit";}
  .cmp-responsive.cmp-hic tbody td:nth-of-type(4)::before{content:"Guide";}
  .cmp-responsive.cmp-cruise tbody td:nth-of-type(1)::before{content:"Guest profile";}
  .cmp-responsive.cmp-cruise tbody td:nth-of-type(2)::before{content:"Best for";}
  .cmp-responsive.cmp-cruise tbody td:nth-of-type(3)::before{content:"Wedding size";}
  .cmp-responsive.cmp-cruise tbody td:nth-of-type(4)::before{content:"Ceremony locations";}
  .cmp-responsive.cmp-cruise tbody td:nth-of-type(5)::before{content:"Private island";}
  .cmp-responsive.cmp-cruise tbody td:nth-of-type(6)::before{content:"Symbolic / legal";}
  .cmp-responsive.cmp-cruise tbody td:nth-of-type(7)::before{content:"Dining";}
  .cmp-responsive.cmp-cruise tbody td:nth-of-type(8)::before{content:"Nightlife";}
  .cmp-responsive.cmp-cruise tbody td:nth-of-type(9)::before{content:"Children";}
  .cmp-responsive.cmp-cruise tbody td:nth-of-type(10)::before{content:"Group appeal";}
  .cmp-responsive.cmp-rc-pkg tbody td:nth-of-type(1)::before{content:"Best for";}
  .cmp-responsive.cmp-rc-pkg tbody td:nth-of-type(2)::before{content:"Guest count";}
  .cmp-responsive.cmp-rc-pkg tbody td:nth-of-type(3)::before{content:"Ceremony timing";}
  .cmp-responsive.cmp-rc-pkg tbody td:nth-of-type(4)::before{content:"Key inclusions";}
  .cmp-responsive.cmp-rc-pkg tbody td:nth-of-type(5)::before{content:"Couple perks";}
  .cmp-responsive.cmp-vv-pkg tbody td:nth-of-type(1)::before{content:"Best for";}
  .cmp-responsive.cmp-vv-pkg tbody td:nth-of-type(2)::before{content:"Guest count";}
  .cmp-responsive.cmp-vv-pkg tbody td:nth-of-type(3)::before{content:"Ideal style";}
  .cmp-responsive.cmp-vv-pkg tbody td:nth-of-type(4)::before{content:"Major inclusions";}
  .cmp-responsive.cmp-vv-pkg tbody td:nth-of-type(5)::before{content:"Reception & couple perks";}
  .cmp-responsive.cmp-budget-pct tbody td:nth-of-type(1)::before{content:"Typical share";}
  .cmp-responsive.cmp-budget-pct tbody td:nth-of-type(2)::before{content:"Notes";}
  .cmp-responsive.cmp-worksheet tbody td:nth-of-type(1)::before{content:"Example allocation";}
  .cmp-responsive.cmp-worksheet tbody td:nth-of-type(2)::before{content:"Share";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(1)::before{content:"Package structure";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(2)::before{content:"Couple stays";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(3)::before{content:"Guest stays";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(4)::before{content:"Food & beverages";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(5)::before{content:"Entertainment";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(6)::before{content:"Reception flexibility";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(7)::before{content:"Outside vendors";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(8)::before{content:"Date flexibility";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(9)::before{content:"Transportation";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(10)::before{content:"Honeymoon";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(11)::before{content:"Predictability";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(12)::before{content:"Weather / itinerary";}
  .cmp-responsive.cmp-budget-rc tbody td:nth-of-type(13)::before{content:"Best suited for";}
  .cmp-responsive.cmp-rvc tbody td:nth-of-type(1)::before{content:"Resort wedding";}
  .cmp-responsive.cmp-rvc tbody td:nth-of-type(2)::before{content:"Cruise wedding";}
}

/* ── Wedding budget guide ── */
.budget-section-media{max-width:820px;margin:0 auto 20px;}
.budget-section-media:empty{display:none;}
.budget-section-media[hidden]{display:none!important;}
.guide-img{margin:0;}
.guide-img-el{width:100%;height:auto;max-height:480px;object-fit:cover;object-position:center;
  border-radius:16px;display:block;background:var(--rose-soft);}
.page-hero .budget-section-media{margin-top:20px;}
.page-hero-media{margin-top:20px;}
/* Legacy placeholder slots — suppressed when regenerated; kept for safety */
.budget-img-slot{margin:0;}
.budget-img-ph{display:none!important;}
.hero-media[hidden],.hero-media:empty{display:none!important;}
.dphoto[hidden]{display:none!important;}
.dphoto:empty{height:0;margin:0;padding:0;border:none;}
.budget-who-pays{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px;}
.budget-who-col{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;}
.budget-who-col h3{font-family:"Fraunces",serif;font-size:17px;font-weight:600;margin:0 0 12px;color:var(--ink);}
.budget-who-col ul{margin:0;padding-left:1.1rem;font-size:14px;line-height:1.55;color:#5f5255;}
.budget-who-col li{margin-bottom:6px;}
.budget-worksheet{margin-bottom:28px;}
.budget-worksheet:last-child{margin-bottom:0;}
.budget-worksheet-title{font-family:"Fraunces",serif;font-size:20px;font-weight:600;margin:0 0 6px;color:var(--ink);}
.budget-worksheet-target{font-size:13px;color:var(--muted);margin:0 0 12px;}
.budget-calc-wrap{max-width:820px;margin:0 auto;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;}
.budget-calc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 20px;}
.budget-calc-field{display:flex;flex-direction:column;gap:6px;}
.budget-calc-field--full{grid-column:1/-1;margin-bottom:4px;}
.budget-calc-field label{font-size:13px;font-weight:600;color:var(--ink);}
.budget-calc-hint{font-size:11.5px;color:var(--muted);line-height:1.45;}
.budget-calc-field input,.budget-calc-field select{font:inherit;font-size:15px;padding:11px 13px;border:1.5px solid var(--line);
  border-radius:10px;background:#fff;color:var(--ink);outline:none;transition:border-color .13s,box-shadow .13s;}
.budget-calc-field input:focus,.budget-calc-field select:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(180,90,110,.12);}
.budget-calc-results{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);}
.budget-calc-status{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;margin-bottom:16px;font-size:14px;line-height:1.55;}
.budget-calc-status--ok{background:#edf7f0;border:1px solid #b8dfc4;color:#1f5c32;}
.budget-calc-status--warn{background:#fdf3f0;border:1px solid #eccdc4;color:#7a3a2e;}
.budget-calc-status-ico{font-weight:800;font-size:16px;line-height:1;flex-shrink:0;}
.budget-calc-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px;margin:0;}
.budget-calc-summary div{display:flex;flex-direction:column;gap:4px;}
.budget-calc-summary dt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);}
.budget-calc-summary dd{margin:0;font-size:16px;font-weight:600;color:var(--ink);}
.budget-calc-summary .budget-calc-over{color:#b42318;}
.budget-calc-privacy{font-size:12px;color:var(--muted);margin:16px 0 0;line-height:1.55;}
.budget-calc-cta{margin-top:18px;}
@media(max-width:760px){
  .budget-who-pays{grid-template-columns:1fr;}
  .budget-calc-grid{grid-template-columns:1fr;}
  .budget-calc-summary{grid-template-columns:1fr;}
}

/* ── Wedding planning timeline guide ── */
.tl-milestones{max-width:920px;margin:0 auto;}
.tl-milestone-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.tl-milestone-item{margin:0;}
.tl-milestone-link{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:#fff;border:1px solid var(--line);
  border-radius:14px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s;height:100%;}
.tl-milestone-link:hover,.tl-milestone-link:focus-visible{border-color:var(--rose);box-shadow:0 4px 16px rgba(120,60,70,.08);outline:none;}
.tl-milestone-when{font-family:"Fraunces",serif;font-size:15px;font-weight:600;color:var(--ink);}
.tl-milestone-sum{font-size:13px;line-height:1.5;color:var(--muted);}
.tl-tasks{margin:0 0 16px;padding-left:1.25rem;font-size:14px;line-height:1.6;color:#5f5255;}
.tl-tasks li{margin-bottom:6px;}
.tl-resp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0;}
.tl-resp-col{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;}
.tl-resp-title{font-family:"Fraunces",serif;font-size:15px;font-weight:600;margin:0 0 10px;color:var(--ink);}
.tl-resp-col ul{margin:0;padding-left:1.1rem;font-size:13px;line-height:1.55;color:#5f5255;}
.tl-resp-col li{margin-bottom:5px;}
.tl-compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:12px 0 8px;}
.tl-compare-col{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;}
.tl-compare-col h3{font-family:"Fraunces",serif;font-size:16px;font-weight:600;margin:0 0 10px;color:var(--ink);}
.tl-compare-col ul{margin:0;padding-left:1.1rem;font-size:13.5px;line-height:1.55;color:#5f5255;}
.tl-compare-col li{margin-bottom:5px;}
.tl-print-wrap{text-align:center;margin-bottom:8px;}
.tl-print-btn{margin-bottom:8px;}
.tl-print-sheet{display:none;}
.tl-check-item{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;cursor:pointer;}
.tl-check-item input{margin-top:3px;flex-shrink:0;}
.tl-print-group{margin-bottom:18px;break-inside:avoid;}
.tl-print-group h3{font-family:"Fraunces",serif;font-size:16px;margin:0 0 8px;color:#222;}
.tl-print-tasks{list-style:none;margin:0;padding:0;}
.tl-print-tasks li{margin-bottom:6px;}
.tl-print-header{margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #ccc;}
.tl-print-title{font-family:"Fraunces",serif;font-size:22px;margin:0 0 8px;color:#222;}
.tl-print-meta{font-size:12px;color:#555;margin:0 0 4px;}
.tl-print-disclaimer{font-size:11px;color:#666;margin:8px 0 0;line-height:1.5;}

@media(max-width:760px){
  .tl-milestone-list{grid-template-columns:1fr;}
  .tl-resp-grid{grid-template-columns:1fr;}
  .tl-compare-grid{grid-template-columns:1fr;}
}

@media(max-width:1024px){
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(1)::before{content:"Date flexibility";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(2)::before{content:"Guest booking";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(3)::before{content:"Wedding package";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(4)::before{content:"Venue confirmation";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(5)::before{content:"Guest arrival";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(6)::before{content:"Final guest count";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(7)::before{content:"Legal ceremony";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(8)::before{content:"Outside vendors";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(9)::before{content:"Weather backup";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(10)::before{content:"Day-of schedule";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(11)::before{content:"Honeymoon";}
  .cmp-responsive.cmp-timeline-rc tbody td:nth-of-type(12)::before{content:"Major planning risk";}
  .cmp-responsive.cmp-timeline-matrix tbody td:nth-of-type(1)::before{content:"Couple";}
  .cmp-responsive.cmp-timeline-matrix tbody td:nth-of-type(2)::before{content:"Neal Lewis & Associates";}
  .cmp-responsive.cmp-timeline-matrix tbody td:nth-of-type(3)::before{content:"Wedding department";}
  .cmp-responsive.cmp-timeline-matrix tbody td:nth-of-type(4)::before{content:"Guest";}
}

@media print{
  .announce,.hdr,.foot,.crumbs,.page-toc,.page-hero,.sticky-cta,.tl-print-wrap,.ia-section--cta,.mnav{display:none!important;}
  .ia-section{display:none!important;}
  #print-checklist,#guest-checklist{display:block!important;}
  #print-checklist .sec-head,#print-checklist .ia-related,#guest-checklist .sec-head,#guest-checklist .ia-related{display:none!important;}
  .tl-print-sheet{display:block!important;}
  .sec{padding:0!important;}
  body{background:#fff!important;color:#000!important;}
  a{color:#000!important;text-decoration:none!important;}
}

/* ── Guest travel guide ── */
.gt-payment-timeline{max-width:720px;margin:16px auto 0;}
.gt-payment-step{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.gt-payment-step:last-child{border-bottom:none;}
.gt-payment-when{flex:0 0 140px;font-family:"Fraunces",serif;font-size:14px;font-weight:600;color:var(--ink);}
.gt-payment-what{flex:1;font-size:14px;line-height:1.55;color:#5f5255;}
.gt-contact-order{counter-reset:gt-contact;list-style:none;margin:0;padding:0;}
.gt-contact-order li{counter-increment:gt-contact;display:flex;gap:12px;margin-bottom:10px;font-size:14px;line-height:1.55;color:#5f5255;}
.gt-contact-order li::before{content:counter(gt-contact);flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--rose);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}

@media(max-width:1024px){
  .cmp-responsive.cmp-guest-group tbody td:nth-of-type(1)::before{content:"Official group booking";}
  .cmp-responsive.cmp-guest-group tbody td:nth-of-type(2)::before{content:"Independent booking";}
  .cmp-responsive.cmp-guest-matrix tbody td:nth-of-type(1)::before{content:"Couple";}
  .cmp-responsive.cmp-guest-matrix tbody td:nth-of-type(2)::before{content:"Guest";}
  .cmp-responsive.cmp-guest-matrix tbody td:nth-of-type(3)::before{content:"Neal Lewis & Associates";}
  .cmp-responsive.cmp-guest-matrix tbody td:nth-of-type(4)::before{content:"Resort or cruise supplier";}
}

@media(max-width:760px){
  .gt-payment-step{flex-direction:column;gap:4px;}
  .gt-payment-when{flex:none;}
}

/* MSC Cruises Weddings — quick facts & comparison tables */
.msc-quick-facts .cmp-row td:first-child{font-weight:600;color:var(--ink);}
.cmp-msc-carib-med,.cmp-msc-three-line{width:100%;border-collapse:collapse;font-size:.92rem;}
.cmp-msc-carib-med th,.cmp-msc-carib-med td,.cmp-msc-three-line th,.cmp-msc-three-line td{padding:10px 12px;border:1px solid var(--line);vertical-align:top;}
.cmp-msc-carib-med thead th,.cmp-msc-three-line thead th{background:var(--sand);font-weight:600;text-align:left;}
.cmp-msc-three-line td:first-child{font-weight:600;color:var(--ink);}
@media(max-width:760px){
  .cmp-msc-carib-med thead,.cmp-msc-three-line thead{display:none;}
  .cmp-msc-carib-med tr,.cmp-msc-three-line tr{display:block;margin-bottom:1rem;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
  .cmp-msc-carib-med td,.cmp-msc-three-line td{display:block;border:none;border-bottom:1px solid var(--line);}
  .cmp-msc-carib-med td:last-child,.cmp-msc-three-line td:last-child{border-bottom:none;}
  .cmp-msc-carib-med td::before,.cmp-msc-three-line td::before{content:attr(data-label);display:block;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px;}
  .cmp-msc-carib-med td:first-child::before,.cmp-msc-three-line td:first-child::before{content:none;}
  .cmp-msc-carib-med td:first-child,.cmp-msc-three-line td:first-child{background:var(--sand);font-weight:600;}
}

/* ── Destination Wedding Planning Assessment ── */
.ia-section--assessment{padding-top:12px;padding-bottom:48px;}
.dw-assess{margin:0;}
.dw-assess-shell{
  background:linear-gradient(145deg,var(--plum) 0%,var(--plum-2) 55%,#2a1a22 100%);
  border-radius:20px;padding:clamp(24px,4vw,40px);
  box-shadow:0 12px 40px rgba(53,32,43,.18);
  color:#f4e9e2;
  animation:dwAssessIn .45s ease;
}
@keyframes dwAssessIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.dw-assess-intro{font-size:13px;color:rgba(244,233,226,.72);margin-bottom:16px;text-align:center;}
.dw-assess-progress{height:6px;background:rgba(255,255,255,.12);border-radius:4px;overflow:hidden;margin-bottom:8px;}
.dw-assess-progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--rose),var(--champagne));border-radius:4px;transition:width .35s ease;}
.dw-assess-progress-text{font-size:12px;color:rgba(244,233,226,.65);text-align:center;margin-bottom:4px;}
.dw-assess-saved{font-size:12px;color:var(--champagne);text-align:center;margin-bottom:12px;}
.dw-assess-body{min-height:220px;margin:24px 0;}
.dw-assess-fieldset{border:none;margin:0;padding:0;}
.dw-assess-q{font-family:"Fraunces",Georgia,serif;font-size:clamp(20px,3vw,26px);font-weight:600;color:#fff;
  line-height:1.35;margin-bottom:12px;text-align:center;}
.dw-assess-hint{font-size:14px;color:rgba(244,233,226,.7);text-align:center;margin-bottom:22px;line-height:1.6;}
.dw-assess-opts{display:flex;flex-direction:column;gap:10px;max-width:560px;margin:0 auto;}
.dw-assess-opt{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:12px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);cursor:pointer;
  transition:background .15s,border-color .15s,transform .12s;font-size:15px;color:#ede4df;line-height:1.45;}
.dw-assess-opt:hover{background:rgba(191,106,125,.18);border-color:rgba(191,106,125,.45);}
.dw-assess-opt input{flex-shrink:0;margin-top:3px;accent-color:var(--rose);}
.dw-assess-opt:has(input:checked){background:rgba(191,106,125,.28);border-color:var(--rose);color:#fff;}
.dw-assess-number{display:flex;align-items:center;justify-content:center;gap:4px;max-width:280px;margin:0 auto;}
.dw-assess-prefix{font-size:22px;font-weight:600;color:var(--champagne);}
.dw-assess-input{width:100%;max-width:220px;padding:14px 16px;font-size:18px;border-radius:10px;
  border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;}
.dw-assess-input::placeholder{color:rgba(255,255,255,.35);}
.dw-assess-textarea{width:100%;max-width:560px;margin:0 auto;display:block;padding:14px 16px;font-size:15px;
  border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;
  font-family:inherit;line-height:1.55;resize:vertical;}
.dw-assess-textarea::placeholder{color:rgba(255,255,255,.35);}
.dw-assess-error{color:#ffb4c4;font-size:13px;text-align:center;margin-top:14px;}
.dw-assess-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  padding-top:8px;border-top:1px solid rgba(255,255,255,.1);}
.dw-assess-nav .btn{min-width:120px;}
.dw-assess-prev:disabled{opacity:.4;cursor:not-allowed;}
.dw-assess-result-card{animation:dwAssessIn .4s ease;}
.dw-assess-result-heading{font-family:"Fraunces",Georgia,serif;font-size:clamp(22px,3.5vw,28px);
  color:#fff;text-align:center;margin-bottom:28px;outline:none;}
.dw-assess-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:28px;}
.dw-assess-result-block{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:14px;padding:18px 20px;}
.dw-assess-result-block--wide{grid-column:1/-1;}
.dw-assess-result-block h3{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--champagne);margin-bottom:10px;}
.dw-assess-result-block p{font-size:14px;line-height:1.65;color:rgba(244,233,226,.88);}
.dw-assess-result-list{margin:0;padding-left:18px;font-size:14px;line-height:1.65;color:rgba(244,233,226,.88);}
.dw-assess-result-list li+li{margin-top:6px;}
.dw-assess-note{font-size:12px;color:rgba(244,233,226,.55);margin-top:10px;line-height:1.5;}
.dw-assess-result-next{text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);}
.dw-assess-result-next h3{font-family:"Fraunces",Georgia,serif;font-size:20px;color:#fff;margin-bottom:12px;}
.dw-assess-result-next p{font-size:14px;line-height:1.7;color:rgba(244,233,226,.78);max-width:640px;margin:0 auto 14px;}
.dw-assess-disclaimer{font-size:12px;color:rgba(244,233,226,.55);font-style:italic;}
.dw-assess-result-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:22px 0 16px;}
.dw-assess-result-cta .btn-ghost{background:transparent;border-color:rgba(255,255,255,.25);color:#f4e9e2;}
.dw-assess-result-cta .btn-ghost:hover{border-color:var(--rose);color:#fff;}
.dw-assess-restart{background:none;border:none;color:rgba(244,233,226,.5);font-size:13px;cursor:pointer;
  padding:8px 12px;text-decoration:underline;text-underline-offset:3px;}
.dw-assess-restart:hover{color:var(--rose);}
@media(max-width:600px){
  .dw-assess-shell{padding:20px 16px;border-radius:16px;}
  .dw-assess-nav{flex-direction:column-reverse;}
  .dw-assess-nav .btn{width:100%;text-align:center;}
  .dw-assess-result-cta .btn{width:100%;}
}

/* ── Wedding show landing (/weddings/) ── */
.page-wedding-show .crumbs{padding:10px 0 0;font-size:13px;}
.hdr--compact .hdr-shell{padding-bottom:10px;}
.hdr--compact .hdr-top{align-items:center;gap:12px;}
.hdr--compact .hdr-identity{display:none;}
.hdr-compact-cta{margin-left:auto;flex-shrink:0;}
.hdr-compact-cta .btn{padding:10px 14px;font-size:13px;min-height:44px;white-space:nowrap;}
.show-hero{padding:28px 0 20px;text-align:center;}
.show-hero-in{max-width:640px;margin:0 auto;}
.show-hero-title{font-size:clamp(26px,7vw,36px);line-height:1.15;margin:12px 0 14px;color:var(--ink);}
.show-hero-lead{font-size:clamp(15px,3.8vw,17px);line-height:1.6;color:#5f5255;margin:0 auto 14px;}
.show-hero-trust{font-size:13px;font-weight:600;color:var(--rose-deep);margin-bottom:20px;line-height:1.5;}
.show-hero-cta{display:flex;flex-direction:column;gap:10px;align-items:stretch;max-width:360px;margin:0 auto;}
.show-hero-cta .btn{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:14px 18px;font-size:15px;}
.show-trust{padding:16px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.5);}
.show-trust-list{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:center;list-style:none;margin:0;padding:0;font-size:12.5px;font-weight:600;color:var(--ink);}
.show-trust-list li{display:flex;align-items:center;gap:6px;}
.show-trust-ico{color:var(--rose);font-size:11px;}
.show-trust-catp{flex:1 1 100%;justify-content:center;font-weight:500;color:#6a5c5f;font-size:12px;}
.show-section{padding:32px 0;}
.show-section-in{max-width:640px;margin:0 auto;text-align:center;}
.show-section-title{font-size:clamp(22px,5.5vw,28px);line-height:1.2;margin-bottom:12px;color:var(--ink);}
.show-section-lead{font-size:15px;line-height:1.65;color:#6a5c5f;margin:0 auto 18px;max-width:560px;}
.show-inline-cta{margin-top:8px;}
.show-inline-cta .btn{min-height:48px;padding:14px 20px;}
.show-path-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:20px;}
.show-path-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 18px;text-align:left;display:flex;flex-direction:column;gap:10px;}
.show-path-card--featured{border-color:var(--rose);box-shadow:0 12px 32px -20px rgba(183,93,106,.35);}
.show-path-title{font-family:"Fraunces",serif;font-size:19px;font-weight:600;color:var(--ink);margin:0;}
.show-path-copy{font-size:14px;line-height:1.6;color:#6a5c5f;margin:0;flex:1;}
.show-path-cta{margin-top:4px;}
.show-path-cta .btn{width:100%;min-height:44px;justify-content:center;}
.show-format-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px;text-align:left;}
.show-format-col{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 16px;}
.show-format-col h3{font-family:"Fraunces",serif;font-size:17px;margin:0 0 10px;color:var(--ink);}
.show-format-col p,.show-format-col ul{font-size:14px;line-height:1.6;color:#6a5c5f;margin:0;}
.show-format-col ul{padding-left:18px;margin:0;}
.show-format-col li+li{margin-top:6px;}
.show-dest-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px;text-align:left;}
.show-dest-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 16px;}
.show-dest-card h3{font-family:"Fraunces",serif;font-size:18px;margin:0 0 8px;}
.show-dest-card p{font-size:14px;line-height:1.6;color:#6a5c5f;margin:0 0 12px;}
.show-dest-link{font-size:14px;font-weight:600;color:var(--rose-deep);text-decoration:none;}
.show-dest-link:hover{text-decoration:underline;}
.show-note{font-size:13px;color:#6a5c5f;margin-top:16px;}
.show-note a{color:var(--rose-deep);font-weight:600;}
.show-checklist{text-align:left;max-width:520px;margin:0 auto;padding-left:20px;font-size:14px;line-height:1.65;color:#5f5255;}
.show-checklist li+li{margin-top:8px;}
.show-role-note{font-size:13px;line-height:1.6;color:#6a5c5f;margin-top:18px;text-align:left;max-width:520px;margin-left:auto;margin-right:auto;padding:12px 14px;background:rgba(183,93,106,.06);border-radius:10px;}
.show-step-list{list-style:none;margin:20px auto 0;padding:0;max-width:400px;text-align:left;}
.show-step-list li{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);}
.show-step-list li:last-child{border-bottom:none;}
.show-step-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--rose);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.show-step-text{font-size:15px;line-height:1.5;color:var(--ink);padding-top:2px;}
.show-mid-cta-in,.show-final-cta-in{max-width:640px;margin:0 auto;text-align:center;padding:28px 20px;background:linear-gradient(135deg,rgba(53,32,43,.04),rgba(183,93,106,.08));border-radius:18px;border:1px solid var(--line);}
.show-resource-list{list-style:none;margin:16px auto 0;padding:0;max-width:360px;text-align:left;}
.show-resource-list li{border-bottom:1px solid var(--line);}
.show-resource-list li:last-child{border-bottom:none;}
.show-resource-list a{display:block;padding:12px 4px;font-size:15px;font-weight:600;color:var(--rose-deep);text-decoration:none;}
.show-resource-list a:hover{text-decoration:underline;}
.show-full-guide{margin-top:18px;font-size:14px;}
.show-full-guide a{color:var(--rose-deep);font-weight:600;text-decoration:none;}
.show-full-guide a:hover{text-decoration:underline;}
.dw-assess-reset-head{margin:8px auto 0;display:inline-flex;}
.sticky-cta--show{align-items:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));}
.sticky-cta--show .btn-primary{flex:1 1 auto;max-width:none;font-size:14px;padding:13px 14px;}
.sticky-cta-dismiss{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;padding:0;}
.sticky-cta-dismiss:hover{border-color:var(--rose);color:var(--rose-deep);}
@media(min-width:600px){
  .show-hero{padding:36px 0 24px;}
  .show-hero-cta{flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:none;}
  .show-hero-cta .btn{width:auto;min-width:200px;flex:0 1 auto;}
  .show-path-grid{grid-template-columns:repeat(2,1fr);}
  .show-path-card--featured{grid-column:1/-1;}
  .show-format-grid,.show-dest-grid{grid-template-columns:repeat(2,1fr);}
  .hdr--compact .hdr-identity{display:block;}
}
@media(min-width:900px){
  .show-path-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:430px){
  .page-wedding-show .brand-logo{max-width:140px;height:auto;}
  .hdr--compact .hdr-title{font-size:15px;}
  .hdr--compact .hdr-line,.hdr--compact .hdr-franchise{display:none;}
}
@media(max-width:374px){
  .show-trust-list{font-size:11.5px;gap:8px 12px;}
  .show-hero-trust{font-size:12px;}
}

