/* Bundloo design system — shared across all pages */
:root{
  --ink:#0d1b2a; --ink-soft:#33445a; --mist:#6b7a90;
  --paper:#f6f8fb; --white:#ffffff;
  --teal:#0fb5a6; --teal-dk:#0a8c80; --coral:#ff6b5e; --gold:#ffb84d;
  --indigo:#2a3d8f; --sky:#3fb0ff; --fest:#b5179e; --fest-dk:#7b2d8e;
  --ring:rgba(13,27,42,.08);
  --shadow:0 10px 40px -12px rgba(13,27,42,.25);
  --shadow-lg:0 30px 80px -24px rgba(13,27,42,.45);
  --radius:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4.serif{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.1;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.serif-i{font-style:italic}
.center{text-align:center}

.btn{border:0;cursor:pointer;font-family:inherit;font-weight:700;border-radius:999px;padding:11px 20px;font-size:15px;transition:transform .15s ease,box-shadow .15s ease;display:inline-flex;align-items:center;gap:8px;justify-content:center}
.btn:hover{transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-primary{background:linear-gradient(135deg,var(--teal),var(--teal-dk));color:#fff;box-shadow:0 8px 22px -8px rgba(15,181,166,.7)}
.btn-dark{background:var(--ink);color:#fff}
.btn-line{background:#fff;border:1.5px solid var(--ring);color:var(--ink)}
.btn-lg{padding:15px 26px;font-size:16px}

header.site{position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(14px);background:rgba(246,248,251,.82);border-bottom:1px solid var(--ring)}
header.site nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;letter-spacing:-.02em}
.logo .mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#ff9a3c,#ff4d8d 52%,#5b3df5);display:grid;place-items:center;color:#fff;box-shadow:var(--shadow)}
.logo .mark svg{width:23px;height:23px}
.navlinks{display:flex;gap:28px;font-weight:600;font-size:15px;color:var(--ink-soft)}
.navlinks a:hover,.navlinks a.active{color:var(--teal-dk)}
.nav-cta{display:flex;gap:12px;align-items:center}
@media(max-width:960px){.navlinks{display:none}.nav-cta .btn-ghost{display:none}}

.hero{position:relative;overflow:hidden;padding:60px 0 84px}
.hero-bg{position:absolute;inset:0;z-index:0;background:
  radial-gradient(1100px 520px at 78% -8%,rgba(63,176,255,.30),transparent 60%),
  radial-gradient(900px 500px at 8% 12%,rgba(15,181,166,.26),transparent 55%),
  radial-gradient(800px 600px at 60% 110%,rgba(255,107,94,.18),transparent 55%);}
.hero-bg::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(13,27,42,.05) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr;gap:36px}}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--ring);box-shadow:var(--shadow);border-radius:999px;padding:7px 14px;font-weight:700;font-size:13px;color:var(--ink-soft)}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(15,181,166,.18)}
h1.headline{font-size:clamp(38px,6vw,66px);margin:20px 0 18px}
h1.headline .grad{background:linear-gradient(120deg,var(--teal-dk),var(--indigo) 60%,var(--coral));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{font-size:19px;color:var(--ink-soft);max-width:520px;margin-bottom:26px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.trust{display:flex;gap:22px;flex-wrap:wrap;color:var(--mist);font-size:13.5px;font-weight:600}
.trust span{display:flex;align-items:center;gap:7px}
.trust svg{width:16px;height:16px;color:var(--teal-dk)}

.bundler{background:var(--white);border-radius:24px;box-shadow:var(--shadow-lg);border:1px solid var(--ring);overflow:hidden}
.tabs{display:flex;padding:8px;gap:8px;background:linear-gradient(180deg,#fbfdff,#f1f5fa)}
.tab{flex:1;text-align:center;padding:12px;border-radius:14px;font-weight:700;font-size:15px;cursor:pointer;color:var(--ink-soft);transition:.18s}
.tab.active{background:var(--white);color:var(--ink);box-shadow:var(--shadow)}
.panel{padding:22px}
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;font-weight:700;color:var(--mist);text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}
.input,.select{width:100%;border:1.5px solid var(--ring);background:#fbfdff;border-radius:13px;padding:13px 14px;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink)}
.input:focus,.select:focus{outline:none;border-color:var(--teal);background:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.budget-head{display:flex;justify-content:space-between;align-items:baseline}
.budget-val{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--teal-dk)}
input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--sky));margin-top:6px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--teal);box-shadow:var(--shadow);cursor:pointer}
input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--teal);cursor:pointer}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chip{font-size:12.5px;font-weight:700;padding:7px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--ring);color:var(--ink-soft);cursor:pointer}
.chip:hover,.chip.on{border-color:var(--teal);color:var(--teal-dk);background:#effbf9}
.disclose{font-size:11.5px;color:var(--mist);text-align:center;padding:11px;background:#fbfdff;border-top:1px solid var(--ring)}

.providers{padding:26px 0 6px}
.providers .wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}
.providers .lbl{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--mist);font-weight:700}
.prov{padding:8px 16px;border-radius:12px;background:var(--white);border:1px solid var(--ring);box-shadow:var(--shadow);font-weight:800;color:var(--ink-soft);font-size:14.5px}

section.block{padding:60px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:20px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(26px,4vw,40px)}
.sec-head p{color:var(--mist);font-weight:600;max-width:460px;margin-top:6px}
.link-more{font-weight:700;color:var(--teal-dk);white-space:nowrap}
.page-head{padding:46px 0 8px}
.page-head h1{font-size:clamp(32px,5vw,52px)}
.page-head p{color:var(--ink-soft);font-weight:600;font-size:18px;margin-top:10px;max-width:620px}
.crumbs{font-size:13px;font-weight:600;color:var(--mist);margin-bottom:14px}
.crumbs a:hover{color:var(--teal-dk)}

.compare{background:var(--white);border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr}
@media(max-width:760px){.compare{grid-template-columns:1fr}}
.compare .photo{min-height:230px;position:relative;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:20px}
.compare .photo .tag{align-self:flex-start;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px;font-weight:700;font-size:12.5px}
.compare .photo h3{color:#fff;font-size:26px}
.compare .photo .meta{font-weight:600;font-size:14px;opacity:.92}
.compare .photo .stars{color:var(--gold);font-size:15px;letter-spacing:2px}
.offers{padding:8px}
.offer{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:14px}
.offer+.offer{border-top:1px solid var(--ring)}
.offer .prov-name{font-weight:800;font-size:15px}
.offer .note{font-size:12px;color:var(--mist);font-weight:600;margin-top:2px}
.offer .right{display:flex;align-items:center;gap:14px}
.offer .price{font-family:'Fraunces',serif;font-size:22px;font-weight:600}
.best{background:linear-gradient(180deg,#effbf9,#e6f7f4)}
.badge{font-size:11px;font-weight:800;color:var(--teal-dk);background:#d2f2ec;padding:3px 8px;border-radius:999px;margin-left:8px}
.view{background:var(--ink);color:#fff;border-radius:999px;padding:9px 16px;font-weight:700;font-size:13.5px;cursor:pointer;white-space:nowrap}
.best .view{background:linear-gradient(135deg,var(--teal),var(--teal-dk))}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:880px){.grid3,.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid3,.grid2,.grid4{grid-template-columns:1fr}}

.hcard{background:var(--white);border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.hcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.hcard .img{height:170px;position:relative;color:#fff;padding:14px;display:flex;flex-direction:column;justify-content:space-between}
.hcard .img .pill{align-self:flex-start;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);padding:5px 11px;border-radius:999px;font-weight:800;font-size:12px}
.hcard .img .stars{color:var(--gold);letter-spacing:2px;font-size:14px}
.hcard .body{padding:16px;flex:1;display:flex;flex-direction:column;gap:6px}
.hcard h3{font-size:19px}
.hcard .loc{color:var(--mist);font-weight:600;font-size:13.5px}
.hcard .score{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ink-soft)}
.hcard .score b{background:var(--indigo);color:#fff;border-radius:8px;padding:3px 7px;font-family:'Fraunces',serif}
.hcard .foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;padding-top:10px;border-top:1px solid var(--ring)}
.hcard .from small{color:var(--mist);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;display:block}
.hcard .from b{font-family:'Fraunces',serif;font-size:23px;font-weight:600}
.hcard .from .cmp{font-size:11.5px;color:var(--teal-dk);font-weight:700}

.bcard{background:var(--white);border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.bcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.bcard .top{height:140px;position:relative;color:#fff;padding:16px;display:flex;flex-direction:column;justify-content:space-between}
.bcard .top .fit{align-self:flex-start;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);padding:5px 11px;border-radius:999px;font-weight:800;font-size:12px}
.bcard .top h3{color:#fff;font-size:22px}
.bcard .body{padding:16px;flex:1;display:flex;flex-direction:column;gap:11px}
.legs{display:flex;flex-direction:column;gap:9px}
.leg{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink-soft)}
.leg .ic{width:30px;height:30px;border-radius:9px;background:var(--paper);display:grid;place-items:center;font-size:15px;flex:none}
.bcard .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--ring)}
.bcard .total small{color:var(--mist);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;display:block}
.bcard .total b{font-family:'Fraunces',serif;font-size:23px;font-weight:600}

.events-band{background:var(--ink);color:#fff;border-radius:28px;padding:38px;overflow:hidden;position:relative}
.events-band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 90% 0,rgba(63,176,255,.35),transparent 60%),radial-gradient(500px 300px at 0 100%,rgba(255,107,94,.3),transparent 60%)}
.events-band .inner{position:relative;z-index:1}
.events-band h2{color:#fff;font-size:clamp(24px,3.6vw,36px)}
.events-band p{color:#aebbcd;font-weight:600;max-width:560px;margin-top:8px}
.erow{display:flex;gap:14px;overflow-x:auto;margin-top:24px;padding-bottom:6px}
.ecard{flex:0 0 230px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px;backdrop-filter:blur(6px)}
.ecard .cat{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--gold)}
.ecard h4{font-family:'Plus Jakarta Sans';font-weight:800;font-size:16.5px;margin:7px 0 3px}
.ecard .when{color:#aebbcd;font-size:13px;font-weight:600}
.ecard .cta{margin-top:13px;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13.5px;color:#fff;background:rgba(255,255,255,.12);padding:8px 13px;border-radius:999px;cursor:pointer}
.ecard .cta:hover{background:var(--teal)}

.evcard{background:var(--white);border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.evcard .band{height:96px;position:relative;color:#fff;padding:14px;display:flex;align-items:flex-end}
.evcard .band .cat{background:rgba(0,0,0,.25);backdrop-filter:blur(4px);padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.evcard .body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}
.evcard h3{font-size:19px}
.evcard .when{color:var(--mist);font-weight:700;font-size:13.5px}
.evcard .foot{margin-top:auto;padding-top:12px;display:flex;gap:8px;flex-wrap:wrap}

.local{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:760px){.local{grid-template-columns:1fr 1fr}}
.lc{background:var(--white);border:1px solid var(--ring);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.lc .emoji{font-size:26px}
.lc h4{font-family:'Plus Jakarta Sans';font-weight:800;font-size:16px;margin:9px 0 4px}
.lc p{color:var(--mist);font-size:13.5px;font-weight:600}
.poi-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.poi{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;font-weight:600}
.poi .r{color:var(--teal-dk);font-weight:800}

.filterbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid var(--ring);border-radius:16px;padding:12px;box-shadow:var(--shadow);margin-bottom:26px}
.filterbar select,.filterbar input{border:1.5px solid var(--ring);background:#fbfdff;border-radius:11px;padding:10px 12px;font-family:inherit;font-weight:600;font-size:14px}

.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:26px;margin:30px 0 12px}
.prose h3{font-size:19px;margin:22px 0 8px;font-family:'Plus Jakarta Sans';font-weight:800}
.prose p{color:var(--ink-soft);margin-bottom:14px;font-weight:500}
.prose ul{margin:0 0 16px 20px;color:var(--ink-soft)}
.prose li{margin-bottom:8px}
.prose .note{background:#fff;border:1px solid var(--ring);border-left:4px solid var(--teal);border-radius:12px;padding:16px 18px;margin:18px 0;font-weight:600;color:var(--ink-soft)}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--ring);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.step .n{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--teal),var(--indigo));color:#fff;display:grid;place-items:center;font-family:'Fraunces',serif;font-size:20px;margin-bottom:14px}
.step h3{font-size:20px;margin-bottom:8px}
.step p{color:var(--mist);font-weight:600;font-size:14.5px}

footer.site{background:var(--white);border-top:1px solid var(--ring);margin-top:30px;padding:40px 0}
.foot-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start}
.foot-note{color:var(--mist);font-size:13px;font-weight:600;max-width:380px;margin-top:12px}
.foot-cols{display:flex;gap:48px;flex-wrap:wrap}
.foot-cols b{font-size:13px;display:block;margin-bottom:10px}
.foot-cols a{display:block;color:var(--ink-soft);font-size:14px;font-weight:600;margin-bottom:8px}
.foot-cols a:hover{color:var(--teal-dk)}
.legal{border-top:1px solid var(--ring);margin-top:28px;padding-top:18px;color:var(--mist);font-size:12.5px;font-weight:600;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:640px;margin:0 auto;background:var(--ink);color:#fff;border-radius:18px;padding:18px 20px;box-shadow:var(--shadow-lg);display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.cookie p{font-size:13.5px;font-weight:600;color:#cfd9e6;flex:1;min-width:240px}
.cookie a{color:#fff;text-decoration:underline}
.cookie .btns{display:flex;gap:8px}
.cookie .btn{padding:9px 16px;font-size:13.5px}

.gap{height:24px}
.muted{color:var(--mist)}
.tagline-band{background:linear-gradient(135deg,#0d1b2a,#1b2c4a);color:#fff;border-radius:24px;padding:40px;text-align:center}
.tagline-band h2{color:#fff;font-size:clamp(24px,3.5vw,36px);margin-bottom:10px}
.tagline-band p{color:#aebbcd;font-weight:600;max-width:520px;margin:0 auto 22px}

.flagstrip{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}
.flagstrip .fchip{display:inline-flex;align-items:center;gap:7px;background:var(--white);border:1px solid var(--ring);box-shadow:var(--shadow);border-radius:999px;padding:8px 14px;font-weight:700;font-size:13.5px;color:var(--ink-soft);transition:transform .15s,border-color .15s}
.flagstrip .fchip:hover{transform:translateY(-2px);border-color:var(--teal)}
.flagstrip .fchip .fl{font-size:16px}

.fest-tag{display:inline-block;background:rgba(255,255,255,.22);backdrop-filter:blur(6px);border-radius:999px;padding:2px 9px;font-size:10.5px;font-weight:800;letter-spacing:.03em;margin-left:6px;vertical-align:middle}
.fest-tag.dark{position:absolute;top:14px;right:14px;background:linear-gradient(135deg,var(--fest),var(--fest-dk));color:#fff;margin:0;box-shadow:var(--shadow)}

.festcard{background:var(--white);border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;position:relative}
.festcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.festcard::before{content:"★ FESTIVAL";position:absolute;top:14px;right:14px;z-index:2;background:linear-gradient(135deg,var(--fest),var(--fest-dk));color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:4px 10px;border-radius:999px;box-shadow:var(--shadow)}
.fc-band{padding:20px;color:#fff;min-height:128px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px}
.fc-when{font-weight:800;font-size:13px;background:rgba(0,0,0,.22);backdrop-filter:blur(4px);align-self:flex-start;padding:4px 11px;border-radius:999px}
.fc-band h3{color:#fff;font-size:23px;margin-top:6px}
.fc-loc{font-weight:600;font-size:13.5px;opacity:.95}
.fc-body{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}
.fc-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--ring)}

.fest-hero{background:
  radial-gradient(800px 400px at 85% -10%,rgba(181,23,158,.30),transparent 60%),
  radial-gradient(700px 420px at 5% 10%,rgba(63,176,255,.22),transparent 55%);}

/* INTERACTIVE BUNDLE BUILDER */
.builder{background:#fff;border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.builder .bhead{padding:22px;color:#fff}
.builder .bhead .when{font-weight:800;font-size:12.5px;background:rgba(0,0,0,.2);backdrop-filter:blur(4px);padding:4px 11px;border-radius:999px;display:inline-block}
.builder .bhead h2{color:#fff;font-size:28px;margin:8px 0 2px}
.builder .bhead .loc{font-weight:600;opacity:.95;font-size:14px}
.builder .bbody{padding:22px}
.fixed-leg{display:flex;align-items:center;gap:12px;padding:12px 0;font-weight:600;color:var(--ink-soft);font-size:14.5px}
.fixed-leg+.fixed-leg{border-top:1px solid var(--ring)}
.fixed-leg .ic{width:32px;height:32px;border-radius:9px;background:var(--paper);display:grid;place-items:center;flex:none;font-size:15px}
.fixed-leg .px{margin-left:auto;font-weight:800;font-family:'Fraunces',serif}
.sec-label{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mist);margin:20px 0 4px}
.act-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--ring)}
.act-row .ck{width:20px;height:20px;accent-color:var(--teal);cursor:pointer;flex:none}
.act-row .at{flex:1;font-weight:600;font-size:14.5px}
.act-row .at small{display:block;color:var(--mist);font-weight:600;font-size:12px}
.act-row .ap{font-weight:600;font-family:'Fraunces',serif;font-size:17px;min-width:46px;text-align:right}
.act-row .bk{background:var(--ink);color:#fff;border-radius:999px;padding:7px 13px;font-weight:700;font-size:12.5px;white-space:nowrap}
.act-row.off{opacity:.55}
.sugg-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px dashed var(--ring);color:var(--ink-soft);font-size:14px;font-weight:600}
.sugg-row .stag{font-size:10.5px;font-weight:800;color:var(--fest-dk);background:#fbe9f6;padding:3px 8px;border-radius:999px;flex:none}
.sugg-row .sp{margin-left:auto;font-weight:700;color:var(--mist)}
.budget-banner{margin:18px 0 6px;padding:15px 18px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-weight:600}
.budget-banner.over{background:#fff3f1;border:1px solid #ffd6d0;color:#a3342a}
.budget-banner.ok{background:#effbf9;border:1px solid #cdeee8;color:var(--teal-dk)}
.budget-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#fbfdff;border:1px solid var(--ring);border-radius:14px;padding:16px 18px;margin-top:14px}
.budget-bar .bi{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.budget-bar label{font-weight:700;font-size:13px;color:var(--mist);text-transform:uppercase;letter-spacing:.04em}
.budget-bar input{width:120px;border:1.5px solid var(--ring);border-radius:11px;padding:10px 12px;font-family:inherit;font-weight:700;font-size:16px}
.total-box{text-align:right}
.total-box small{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--mist)}
.total-box b{font-family:'Fraunces',serif;font-size:30px;font-weight:600}

/* bundle card "from" caption */
.bcard .total .cap{display:block;font-size:11px;font-weight:700;color:var(--mist);margin-top:2px}
.bcard .foot .total{min-width:0}

/* bundler flights toggle + bundle validity */
.toggle-row{display:flex;align-items:center;gap:9px;margin:4px 0 14px;font-weight:700;font-size:14px;color:var(--ink);cursor:pointer;flex-wrap:wrap}
.toggle-row input{width:18px;height:18px;accent-color:var(--teal);cursor:pointer}
.toggle-row small{flex-basis:100%;color:var(--mist);font-weight:600;font-size:12px;margin-left:27px}
.valid-line{font-size:12px;font-weight:700;color:var(--teal-dk);background:#effbf9;border:1px solid #cdeee8;border-radius:999px;padding:4px 10px;align-self:flex-start;margin-top:2px}
.bhead .vchip{display:inline-block;margin-top:8px;font-weight:800;font-size:12px;background:rgba(255,255,255,.22);backdrop-filter:blur(6px);padding:4px 11px;border-radius:999px}

/* ---- savings + editorial badges ---- */
.save-badge{position:absolute;top:18px;right:18px;background:linear-gradient(135deg,#ffb84d,#ff6b5e);color:#fff;font-weight:800;font-size:12.5px;padding:6px 12px;border-radius:999px;box-shadow:var(--shadow)}
.pick-badge{position:absolute;top:14px;left:14px;background:#fff;color:var(--ink);font-weight:800;font-size:11px;letter-spacing:.02em;padding:4px 10px;border-radius:999px;box-shadow:var(--shadow)}

/* ---- live smart pick ---- */
.smart-pick{margin-top:14px}
.sp-head{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--teal-dk);margin-bottom:8px}
.sp-card{display:flex;align-items:center;gap:12px;background:#fbfdff;border:1.5px solid #cdeee8;border-radius:14px;padding:12px;transition:transform .15s,box-shadow .15s}
.sp-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.sp-emoji{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:20px;flex:none}
.sp-body{flex:1;min-width:0}
.sp-body b{font-size:15px;display:block}
.sp-legs{font-size:12px;color:var(--ink-soft);font-weight:600;margin-top:2px}
.sp-price{text-align:right;flex:none}
.sp-price small{display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--mist)}
.sp-price b{font-family:'Fraunces',serif;font-size:20px}
.sp-empty{font-size:13px;color:var(--mist);font-weight:600;background:#fbfdff;border:1px dashed var(--ring);border-radius:12px;padding:12px;text-align:center}

/* ---- stats strip ---- */
.stats-strip{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.stat{flex:1;min-width:150px;background:#fff;border:1px solid var(--ring);border-radius:16px;box-shadow:var(--shadow);padding:22px 18px;text-align:center}
.stat b{font-family:'Fraunces',serif;font-size:34px;font-weight:600;display:block;color:var(--ink);background:linear-gradient(120deg,var(--teal-dk),var(--indigo));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat span{font-weight:700;font-size:13.5px;color:var(--ink-soft)}

/* ---- why-different table ---- */
.why-table{background:#fff;border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.why-head{display:grid;grid-template-columns:1fr 1fr;font-weight:800;font-size:14px}
.why-head span{padding:16px 20px;color:var(--mist)}
.why-head .why-us{background:linear-gradient(135deg,var(--teal),var(--teal-dk));color:#fff}
.why-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ring)}
.why-row span{padding:15px 20px;font-weight:600;font-size:14.5px}
.why-them{color:var(--mist)}
.why-mine{color:var(--ink);background:#f3fbf9}
.why-mine b{color:var(--teal-dk)}

/* ---- reviews ---- */
.reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:880px){.reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.reviews-grid{grid-template-columns:1fr}}
.review{background:#fff;border:1px solid var(--ring);border-radius:16px;box-shadow:var(--shadow);padding:20px;margin:0;display:flex;flex-direction:column;gap:10px}
.review .rstars{color:var(--gold);font-size:15px;letter-spacing:1px}
.review blockquote{margin:0;font-weight:600;font-size:14.5px;color:var(--ink);line-height:1.5}
.review figcaption{color:var(--mist);font-weight:700;font-size:13px;margin-top:auto}
.review-note{text-align:center;color:var(--mist);font-size:12px;font-weight:600;margin-top:14px}

/* ---- mobile sticky CTA ---- */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:10px;padding:10px 16px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-top:1px solid var(--ring);box-shadow:0 -8px 30px -16px rgba(13,27,42,.4)}
.sticky-cta .btn{flex:1}
@media(max-width:760px){.sticky-cta{display:flex}body{padding-bottom:74px}}

/* hero saving line */
.hero-saving{margin-top:18px;display:inline-block;background:#fff;border:1px solid var(--ring);box-shadow:var(--shadow);border-radius:14px;padding:11px 16px;font-size:14px;font-weight:600;color:var(--ink-soft)}
.hero-saving b{color:var(--coral)}

/* ---- price freshness ---- */
.fresh{font-size:12px;font-weight:700;color:var(--teal-dk);background:#effbf9;border:1px solid #cdeee8;border-radius:10px;padding:8px 12px;margin:8px 8px 4px;text-align:center}

/* ---- newsletter ---- */
.news{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between;background:#fbfdff;border:1px solid var(--ring);border-radius:18px;padding:18px 22px;margin-bottom:28px}
.news-copy b{display:block;font-size:16px}
.news-copy span{color:var(--mist);font-weight:600;font-size:13.5px}
.news-form{display:flex;gap:8px;flex-wrap:wrap}
.news-form input{border:1.5px solid var(--ring);background:#fff;border-radius:12px;padding:12px 14px;font-family:inherit;font-weight:600;font-size:14.5px;min-width:220px}
.news-form input:focus{outline:none;border-color:var(--teal)}
.news-msg{flex-basis:100%;color:var(--teal-dk);font-weight:700;font-size:13px;margin:0}
.news-msg:empty{display:none}
.news-big{background:linear-gradient(135deg,#0d1b2a,#1b2c4a);border:0;padding:30px}
.news-big .news-copy b{color:#fff;font-size:22px;font-family:'Fraunces',serif;font-weight:600}
.news-big .news-copy span{color:#aebbcd}

/* ---- flight deep-link widget ---- */
.flight-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,#eef4ff,#e9fbf7);border:1px solid var(--ring);border-radius:16px;padding:18px 20px;margin:18px 0}
.flight-cta .fc-ico{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--sky),var(--indigo));color:#fff;display:grid;place-items:center;font-size:22px;flex:none}
.flight-cta .fc-txt{flex:1;min-width:200px}
.flight-cta .fc-txt b{display:block;font-size:16px}
.flight-cta .fc-txt span{color:var(--mist);font-weight:600;font-size:13px}

/* founder note (home) */
.founder{display:flex;gap:20px;align-items:center;background:linear-gradient(135deg,#fbfdff,#eef7f4);border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.founder-mark{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--teal),var(--indigo));color:#fff;display:grid;place-items:center;font-family:'Fraunces',serif;font-weight:600;font-size:24px;flex:none;box-shadow:var(--shadow)}
.founder h2{font-size:clamp(20px,2.6vw,28px);margin-bottom:6px}
.founder p{color:var(--ink-soft);font-weight:600;max-width:620px}
@media(max-width:600px){.founder{flex-direction:column;text-align:center}}

/* ---- comparison row: align prices + equal-width buttons ---- */
.offer{gap:12px}
.offer .right{gap:14px;flex:none}
.offer .price{min-width:64px;text-align:right;flex:none}
.view{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-width:188px}
@media(max-width:520px){
  .offer{flex-wrap:wrap}
  .view{min-width:0;flex:1}
}

/* bundle fixed-leg book buttons */
.fixed-leg .at{flex:1;font-weight:600;color:var(--ink-soft);font-size:14.5px}
.fixed-leg .bk{margin-left:auto;background:var(--ink);color:#fff;border-radius:999px;padding:7px 14px;font-weight:700;font-size:12.5px;white-space:nowrap}
.fixed-leg .bk:hover{background:linear-gradient(135deg,var(--teal),var(--teal-dk))}
.fixed-leg .leg-note{margin-left:auto;color:var(--mist);font-weight:700;font-size:12px}
.base-note{font-size:12.5px;color:var(--mist);font-weight:600;padding:8px 2px 2px}

/* ---- new logo wordmark + savings + event anchor (Phase 1.6) ---- */
.logo .wm{font-weight:800;letter-spacing:-.02em}
.logo .oo{background:linear-gradient(90deg,#ff7a3c,#ff4d8d);-webkit-background-clip:text;background-clip:text;color:transparent}
.save-line{font-size:12.5px;font-weight:800;color:#0a8c80;background:#eafaf6;border:1px solid #cdeee8;border-radius:8px;padding:5px 10px;margin-top:8px}
.save-line b{color:#067a6e}
.bhead .vchip.save{margin-left:6px;background:rgba(255,255,255,.3)}
.event-anchor{display:flex;gap:10px;align-items:flex-start;font-size:20px;line-height:1;background:linear-gradient(135deg,#fff4ec,#ffeef6);border:1px solid #ffd9c7;border-radius:14px;padding:12px 14px;margin-bottom:14px}
.event-anchor>div{font-size:14px;line-height:1.35}
.event-anchor b{display:block;font-weight:800;color:var(--ink);font-size:15px}
.event-anchor span{display:block;color:var(--ink-soft);font-weight:600;font-size:13px;margin-top:2px}
.event-anchor.list{margin:0 0 18px}
.sugg-row.evrow{border-top:none;background:#fff7f0;border:1px solid #ffe0cc;border-radius:10px;padding:10px 12px;margin-top:8px;color:var(--ink)}
.sugg-row.evrow .stag.tkt{color:#c2410c;background:#ffe7d6}

/* ---- event-anchored bundler card (Phase 1.6) ---- */
.bundler-event{display:flex;gap:11px;align-items:center;background:linear-gradient(135deg,#fff1e8,#ffe9f3);border:1px solid #ffd4c2;border-radius:13px;padding:11px 13px;margin-bottom:12px}
.bundler-event .be-ic{font-size:22px;line-height:1;flex:none}
.bundler-event .be-tx{min-width:0}
.bundler-event .be-tx small{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#c2410c}
.bundler-event .be-tx b{display:block;font-size:15px;font-weight:800;line-height:1.2;color:var(--ink)}
.bundler-event .be-tx span{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin-top:1px}
.be-note{font-size:12px;font-weight:700;color:var(--teal-dk);background:#effbf9;border:1px solid #cdeee8;border-radius:8px;padding:6px 10px;margin-bottom:12px}

/* ---- event bundler: show-name row + static date field (Phase 1.6b) ---- */
.be-title{border:1px solid #ffd4c2;background:linear-gradient(135deg,#fff4ec,#ffeef6);border-radius:12px;padding:11px 14px;margin:4px 0 12px}
.be-title small{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#c2410c}
.be-title b{display:block;font-size:16px;font-weight:800;color:var(--ink);line-height:1.25;margin-top:2px}
.static-field{border:1px solid var(--ring);background:#f4f6fa;border-radius:10px;padding:0 12px;height:44px;display:flex;align-items:center;font-weight:700;font-size:13.5px;color:var(--ink-soft)}
.lbl-tip{font-weight:600;color:var(--mist);font-size:11px}
