@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root{
  --ink:#2f3542;
  --muted:#7d8490;
  --teal:#8fd7cf;
  --teal-dark:#5baea7;
  --gold:#d9b35f;
  --gold-soft:#f4e7be;
  --cream:#fffaf0;
  --navy:#46536a;
  --line:#eadfce;
  --bg:#fffdf9;
  --white:#ffffff;
  --lavender:#e8dcff;
  --lavender-strong:#cdb5ff;
  --pink:#ffdce8;
  --pink-strong:#f6b8cd;
  --blue:#dceeff;
  --blue-strong:#afd4f7;
  --mint:#ddf6e9;
  --mint-strong:#aee4c7;
  --peach:#ffe5d0;
  --peach-strong:#f7c49d;
  --yellow:#fff1c9;
  --shadow:0 24px 70px rgba(90,76,48,.11);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:linear-gradient(180deg,#fffdf9 0%,#fffaf4 100%)}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
.container{width:min(1200px,calc(100% - 34px));margin:auto}
.topbar{position:sticky;top:0;z-index:60;background:rgba(246,249,251,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,232,234,.8)}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand-orbit{position:relative;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#f5d98c,#d9b35f);display:grid;place-items:center;color:#3a3d45;box-shadow:0 12px 28px rgba(13,143,140,.24)}
.brand-orbit i{position:absolute;width:54px;height:22px;border:1.5px solid rgba(230,183,91,.85);border-radius:50%;transform:rotate(-25deg)}
.brand-orbit b{position:relative;font:800 20px Manrope}
.brand-copy{display:flex;flex-direction:column}
.brand-copy strong{font:800 20px Manrope}
.brand-copy small{color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.main-nav{display:flex;gap:28px;align-items:center;font-weight:700;font-size:14px}
.nav-cta{background:#fff3cf;color:#9a6f18;padding:11px 16px;border-radius:999px}
.hero-luxe{position:relative;overflow:hidden;min-height:760px;display:flex;align-items:center;background:linear-gradient(135deg,#fffdf9 0%,#fff8ee 40%,#f6f1ff 100%)}
.hero-bg-shape{position:absolute;border-radius:50%;filter:blur(10px)}
.shape-one{width:360px;height:360px;background:rgba(232,220,255,.72);top:-80px;left:-90px}
.shape-two{width:300px;height:300px;background:rgba(255,220,232,.72);right:-40px;bottom:-90px}
.hero-layout{display:grid;grid-template-columns:1fr .95fr;gap:56px;align-items:center;position:relative;z-index:2}
.hero-chip,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:#9a6f18;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.hero-copy h1{font:800 clamp(54px,7vw,90px)/.95 Manrope;letter-spacing:-.065em;margin:18px 0 22px}
.hero-copy h1 span{background:linear-gradient(135deg,#f1cc76,#d6a94c);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy p{font-size:20px;line-height:1.7;color:var(--muted);max-width:690px}
.hero-actions{display:flex;gap:13px;margin-top:30px}
.btn{border:0;border-radius:16px;padding:14px 21px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,#f1cc76,#d6a94c);color:#3a3d45;box-shadow:0 14px 30px rgba(13,143,140,.23)}
.btn-ghost,.btn-secondary{background:#fff;border:1px solid var(--line)}
.btn-lg{padding:17px 24px}
.btn-full{width:100%}
.btn-small{padding:10px 15px;background:#e6f4f3;color:#9a6f18}
.trust-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}
.trust-bar div{padding:15px 0;border-top:1px solid var(--line)}
.trust-bar strong,.trust-bar span{display:block}
.trust-bar span{font-size:12px;color:var(--muted);margin-top:3px}

.hero-visual{position:relative}
.world-card{position:relative;height:520px;border-radius:38px;background:linear-gradient(145deg,#f9f4ff,#fff8eb);box-shadow:var(--shadow);overflow:hidden}
.world-card:before{content:"";position:absolute;inset:35px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.13),rgba(255,255,255,.02) 52%,transparent 53%),radial-gradient(circle at 60% 60%,rgba(13,143,140,.35),transparent 48%)}
.world-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:34px 34px}
.map-orbit{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.orbit-a{inset:75px 55px;transform:rotate(18deg)}
.orbit-b{inset:120px 80px;transform:rotate(-22deg)}
.map-dot{position:absolute;width:13px;height:13px;border:3px solid rgba(255,255,255,.85);border-radius:50%;background:var(--gold);box-shadow:0 0 0 7px rgba(230,183,91,.14)}
.dot-one{left:28%;top:31%}.dot-two{right:25%;top:44%}.dot-three{left:44%;bottom:24%}
.route-line{position:absolute;height:2px;background:linear-gradient(90deg,var(--gold),rgba(255,255,255,.7));transform-origin:left center}
.route-one{width:180px;left:31%;top:34%;transform:rotate(18deg)}
.route-two{width:145px;left:46%;top:59%;transform:rotate(-34deg)}
.trip-float{position:absolute;display:flex;gap:11px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 14px 35px rgba(0,0,0,.16)}
.trip-float strong,.trip-float small{display:block}.trip-float small{color:var(--muted);margin-top:3px;font-size:11px}
.float-icon{width:34px;height:34px;border-radius:11px;background:#e5f5f3;color:#9a6f18;display:grid;place-items:center;font-weight:800}
.card-a{left:24px;bottom:34px}.card-b{right:20px;top:28px}.card-c{right:34px;bottom:120px}

.planner-stage{padding:86px 0;background:#fff}
.planner-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}
.planner-heading h2,.section-title-row h2,.section-title-center h2{font:800 clamp(34px,5vw,52px)/1.05 Manrope;letter-spacing:-.04em;margin:10px 0}
.planner-status{padding:9px 12px;border-radius:999px;background:#eef6f5;color:#9a6f18;font-size:12px;font-weight:800}
.planner-pro{background:#fff;border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:var(--shadow)}
.planner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.field{display:flex;flex-direction:column;gap:8px}.field>span{font-size:12px;font-weight:800;color:#36515a}
.field-wide{grid-column:span 2}
.input-wrap{display:flex;align-items:center;gap:10px;background:#f8fbfb;border:1px solid var(--line);border-radius:15px;padding:0 14px}
.input-wrap i{font-style:normal;color:#9a6f18;font-weight:800}
.input-wrap input,.input-wrap select{width:100%;padding:15px 0;border:0;background:transparent;outline:none;color:var(--ink)}
.purpose-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.purpose-tiles label input{display:none}
.purpose-tiles span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:14px 10px;background:#f8fbfb;border:1px solid var(--line);border-radius:15px;cursor:pointer;font-size:18px}
.purpose-tiles b{font-size:11px;color:#36515a}
.purpose-tiles input:checked+span{border-color:var(--teal);background:#e8f6f4;box-shadow:0 0 0 3px rgba(13,143,140,.08)}
.planner-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.lock-toggle{display:flex;align-items:center;gap:12px}.lock-toggle input{display:none}
.switch{width:46px;height:26px;border-radius:999px;background:#dfe9ea;position:relative}
.switch:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 3px 8px rgba(0,0,0,.15)}
.lock-toggle input:checked+.switch{background:var(--teal)}
.lock-toggle input:checked+.switch:before{left:23px}
.lock-toggle strong,.lock-toggle small{display:block}.lock-toggle small{color:var(--muted)}

.discover-section,.purpose-section,.how-section{padding:94px 0}
.discover-section{background:linear-gradient(180deg,#fffdf9,#f9f5ff)}
.section-title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}
.budget-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.budget-show-card{min-height:280px;border-radius:28px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow);overflow:hidden;position:relative}
.budget-show-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-40px;top:-35px;background:rgba(255,255,255,.12)}
.budget-show-card span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.budget-show-card h3{font:800 30px Manrope;margin:12px 0}.budget-show-card p{max-width:290px;line-height:1.6}
.card-teal{background:linear-gradient(145deg,#0e8f8c,#086a70);color:#3a3d45}
.card-gold{background:linear-gradient(145deg,#f3c86f,#e5a93b);color:#2f2b21}
.card-navy{background:linear-gradient(145deg,#183e4b,#0d2832);color:#3a3d45}

.section-title-center{text-align:center;max-width:760px;margin:0 auto 44px}
.section-title-center p{color:var(--muted);font-size:17px;line-height:1.7}
.purpose-showcase,.how-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.purpose-showcase article,.how-flow article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 32px rgba(15,36,48,.06)}
.purpose-showcase article div{font-size:30px}.purpose-showcase h3,.how-flow h3{font:800 20px Manrope}
.purpose-showcase p,.how-flow p{color:var(--muted);line-height:1.6}
.how-flow span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e8f6f4;color:#9a6f18;font-weight:800}

footer{background:linear-gradient(135deg,#fffaf0,#f5efff);color:#3a3d45;padding:40px 0}.footer-wrap{display:flex;justify-content:space-between;align-items:center}.footer-brand .brand-copy small{color:#a9bbc1}

/* Results */
.results-body{background:linear-gradient(180deg,#f5f9fa,#fff)}
.results-page{padding:46px 0 90px}
.results-hero-card{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:30px;border-radius:28px;background:linear-gradient(135deg,#fff,#f0f8f7);border:1px solid var(--line);box-shadow:var(--shadow)}
.results-hero-card h1{font:800 38px Manrope;margin:12px 0 8px}
.budget-total{min-width:220px;background:#0f3943;color:#3a3d45;padding:22px;border-radius:20px}
.budget-total small,.budget-total span{display:block;color:#bbced2}.budget-total strong{display:block;font:800 38px Manrope;margin:5px 0}
.premium-trust{margin-top:20px;padding:15px 18px;border-radius:16px;background:#fff7e4;border:1px solid #efd89c;color:#6f571a}
.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.destination-card{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 18px 44px rgba(15,36,48,.09)}
.destination-visual{position:relative;min-height:210px;padding:24px;display:flex;align-items:flex-end;background:linear-gradient(160deg,#6fc9c3,#e9c77d)}
.destination-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(9,38,46,.55))}
.destination-visual h3{position:relative;z-index:2;color:#3a3d45;font:800 30px Manrope;margin:0}
.live-context-badge{position:absolute;top:16px;right:16px;z-index:3;background:rgba(255,255,255,.92);padding:8px 10px;border-radius:999px;font-size:11px;font-weight:800}
.live-context-badge.is-live{background:#e7f7ef;color:#1f8f63}
.destination-body{padding:24px}
.trip-top{display:flex;justify-content:space-between;font-size:12px;color:#9a6f18;font-weight:800}
.fit-badge{background:#e7f7ef;color:#1f8f63;padding:7px 9px;border-radius:999px}
.trip-card h3{font:800 22px Manrope}.trip-card p{color:var(--muted);line-height:1.6}
.trip-facts{display:grid;gap:8px;margin:18px 0;color:var(--muted);font-size:13px}
.price-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.price-panel>div{background:#f6fafb;border:1px solid var(--line);padding:13px;border-radius:15px}.price-panel small,.price-panel strong{display:block}.price-panel strong{font:800 19px Manrope;margin-top:4px}.positive strong{color:#1f8f63}.negative strong{color:#b54a44}
.complete-plan{display:none;margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.complete-plan.open{display:block}
.mini-cost{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--line)}
.day-item{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:12px 0}.day-item>span{font-weight:800;color:#9a6f18}
.live-context-panel,.provider-box{margin-top:16px;padding:15px;border-radius:15px;background:#f6fafb;border:1px solid var(--line)}
.ai-note{margin-top:28px;padding:40px;border-radius:26px;background:linear-gradient(135deg,#e8dcff,#ffe5d0);color:#3a3d45;text-align:center}

.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eff8f7,#fff8e8)}
.auth-card{width:min(430px,calc(100% - 28px));padding:30px;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}
.auth-card label{display:block;margin:14px 0}.auth-card input{width:100%;padding:14px;border:1px solid var(--line);border-radius:13px}
.error-box{background:#fff1f0;color:#9d2c28;padding:12px;border-radius:12px}
.admin-page{padding:60px 0}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.admin-grid article{background:#fff;padding:24px;border-radius:22px;border:1px solid var(--line);box-shadow:0 12px 32px rgba(15,36,48,.06)}.admin-grid article span{display:block;font:800 32px Manrope;margin:12px 0}

@media(max-width:1000px){
  .hero-layout{grid-template-columns:1fr}.hero-visual{display:none}.planner-grid{grid-template-columns:repeat(2,1fr)}.purpose-tiles{grid-template-columns:repeat(3,1fr)}
  .budget-showcase,.purpose-showcase,.how-flow,.result-grid,.admin-grid{grid-template-columns:repeat(2,1fr)}
  .main-nav a:not(.nav-cta){display:none}
}
@media(max-width:650px){
  .hero-luxe{min-height:auto;padding:60px 0}.hero-copy h1{font-size:52px}.hero-copy p{font-size:17px}
  .trust-bar,.planner-grid,.budget-showcase,.purpose-showcase,.how-flow,.result-grid,.admin-grid{grid-template-columns:1fr}
  .field-wide{grid-column:span 1}.purpose-tiles{grid-template-columns:repeat(2,1fr)}
  .planner-footer,.footer-wrap,.results-hero-card{flex-direction:column;align-items:stretch}
  .planner-heading{align-items:flex-start;gap:16px;flex-direction:column}
  .budget-total{width:100%}
}

/* Phase 6 pastel multicolor overrides */
body{background:linear-gradient(180deg,#fffdf9 0%,#fffaf6 45%,#f9f5ff 100%);color:var(--ink)}
.topbar{background:rgba(255,253,249,.94);border-bottom:1px solid #eee3d5}
.brand-orbit{background:linear-gradient(145deg,#f3d687,#d8ae54);color:#5f4a1d}
.brand-orbit i{border-color:rgba(255,255,255,.92)}
.nav-cta{background:#fff2cf;color:#916d20}
.hero-luxe{background:
  radial-gradient(circle at 12% 12%,rgba(232,220,255,.85),transparent 28%),
  radial-gradient(circle at 88% 18%,rgba(255,220,232,.78),transparent 24%),
  radial-gradient(circle at 76% 88%,rgba(220,238,255,.82),transparent 25%),
  linear-gradient(135deg,#fffdf9,#fff8ef)}
.hero-copy h1 span{background:linear-gradient(135deg,#d6aa4d,#b98d33);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-chip,.section-kicker{color:#9b7220}
.btn-primary{background:linear-gradient(135deg,#eac76f,#cf9f40);color:#4a3a17;box-shadow:0 14px 30px rgba(210,170,83,.26)}
.btn-ghost,.btn-secondary{background:#fff;border:1px solid #eadfce}
.world-card{background:linear-gradient(145deg,#fff,#fff7ea);border:1px solid #eedfcb}
.world-card:before{background:radial-gradient(circle at 35% 35%,rgba(232,220,255,.95),rgba(255,255,255,.35) 52%,transparent 53%),radial-gradient(circle at 60% 60%,rgba(220,238,255,.9),transparent 48%)}
.world-grid{background-image:linear-gradient(rgba(182,158,110,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(182,158,110,.08) 1px,transparent 1px)}
.trip-float{background:rgba(255,255,255,.96)}
.float-icon{background:#fff1c9;color:#916d20}
.planner-stage{background:#fff}
.planner-pro{background:#fffdfb;border-color:#eadfce}
.input-wrap{background:#fff;border-color:#eadfce}
.purpose-tiles span{background:#fff;border-color:#eadfce}
.purpose-tiles label:nth-child(1) span{background:#fff1c9}
.purpose-tiles label:nth-child(2) span{background:#ddf6e9}
.purpose-tiles label:nth-child(3) span{background:#ffdce8}
.purpose-tiles label:nth-child(4) span{background:#e8dcff}
.purpose-tiles label:nth-child(5) span{background:#dceeff}
.purpose-tiles label:nth-child(6) span{background:#ffe5d0}
.purpose-tiles input:checked+span{border-color:#d9b35f;box-shadow:0 0 0 3px rgba(217,179,95,.18)}
.switch{background:#eee5d7}
.lock-toggle input:checked+.switch{background:#d9b35f}
.discover-section{background:linear-gradient(180deg,#fffaf1,#f9f4ff)}
.budget-show-card{color:#3a3d45}
.card-teal{background:linear-gradient(145deg,#ddf6e9,#bde8d0)}
.card-gold{background:linear-gradient(145deg,#fff1c9,#f2d98d)}
.card-navy{background:linear-gradient(145deg,#dceeff,#bcdcf8)}
.purpose-section{background:#fff}
.purpose-showcase article:nth-child(1){background:#ddf6e9}
.purpose-showcase article:nth-child(2){background:#ffdce8}
.purpose-showcase article:nth-child(3){background:#fff1c9}
.purpose-showcase article:nth-child(4){background:#e8dcff}
.how-section{background:linear-gradient(180deg,#fff,#fffaf4)}
.how-flow article:nth-child(1){background:#ffe5d0}
.how-flow article:nth-child(2){background:#dceeff}
.how-flow article:nth-child(3){background:#ddf6e9}
.how-flow article:nth-child(4){background:#e8dcff}
.how-flow span{background:#fff7e1;color:#946d1e}
footer{background:linear-gradient(135deg,#fffaf0,#f4efff);color:#3c414b;border-top:1px solid #eadfce}
.footer-brand .brand-copy small{color:#7d8490}
.results-body{background:linear-gradient(180deg,#fffdf9,#f7f3ff)}
.results-hero-card{background:linear-gradient(135deg,#fff,#fff7eb 55%,#f5efff);border-color:#eadfce}
.budget-total{background:linear-gradient(145deg,#fff1c9,#f2d790);color:#4b3b18}
.budget-total small,.budget-total span{color:#7a632a}
.premium-trust{background:#fff7df;border-color:#ecd99e;color:#6d571d}
.destination-card{border-color:#eadfce;background:#fff}
.destination-card:nth-child(1) .destination-visual{background:linear-gradient(160deg,#ddf6e9,#b7dfd0)}
.destination-card:nth-child(2) .destination-visual{background:linear-gradient(160deg,#ffdce8,#f5bfd3)}
.destination-card:nth-child(3) .destination-visual{background:linear-gradient(160deg,#dceeff,#bad7f2)}
.destination-visual:after{background:linear-gradient(180deg,transparent,rgba(255,255,255,.12))}
.destination-visual h3{color:#3d424a;text-shadow:none}
.fit-badge{background:#fff1c9;color:#8e6a1f}
.price-panel>div{background:#fffaf4;border-color:#eadfce}
.live-context-panel,.provider-box{background:#fffaf4;border-color:#eadfce}
.ai-note{background:linear-gradient(135deg,#e8dcff,#ffe5d0);color:#3f434c}
.auth-page{background:linear-gradient(135deg,#fffaf0,#f3eeff)}
.admin-grid article:nth-child(4n+1){background:#fff1c9}
.admin-grid article:nth-child(4n+2){background:#ddf6e9}
.admin-grid article:nth-child(4n+3){background:#ffdce8}
.admin-grid article:nth-child(4n+4){background:#e8dcff}
