:root{--wood-950:#1b100b;--wood-900:#2b1a12;--wood-800:#402719;--wood-700:#5b3926;--wood-600:#795037;--wood-500:#9a6a48;--wood-300:#caa27f;--wood-100:#ead8c7;--paper:#f7f3ee;--surface:#fffdf9;--ink:#201713;--muted:#78695f;--line:rgba(64,39,25,.13);--shadow:0 24px 70px rgba(48,30,20,.10);--radius:24px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"DM Sans",sans-serif;background:var(--paper);color:var(--ink);line-height:1.5;min-height:100vh;transition:.35s}.site-noise{position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.navbar{position:sticky;top:18px;z-index:1000;width:min(1240px,92%);margin:0 auto;min-height:70px;padding:10px 12px 10px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,253,249,.82);backdrop-filter:blur(24px);box-shadow:0 12px 40px rgba(39,25,17,.08);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;overflow:hidden;background:var(--wood-900);box-shadow:0 7px 20px rgba(43,26,18,.18);flex:0 0 auto}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy strong{font-size:14px;letter-spacing:.1px}.brand-copy small{font-size:9px;color:var(--muted);margin-top:4px}.nav-links{display:flex;gap:28px;margin-left:auto;margin-right:25px}.nav-links a{font-size:12px;font-weight:600;text-decoration:none;color:var(--muted);transition:.25s}.nav-links a:hover{color:var(--wood-700)}.theme-btn{border:1px solid var(--line);background:var(--wood-900);color:#fff;width:42px;height:42px;border-radius:13px;cursor:pointer;transition:.25s}.theme-btn:hover{transform:translateY(-2px);background:var(--wood-700)}.hero{width:min(1240px,92%);margin:22px auto 0;position:relative;overflow:hidden;border-radius:34px;background:linear-gradient(135deg,#1b100b 0%,#2b1a12 45%,#5b3926 100%);color:#fff;box-shadow:0 32px 90px rgba(40,24,15,.27);border:1px solid rgba(255,255,255,.08)}.hero-grid{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,black,transparent 80%)}.hero-art{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.hero-art-a{width:550px;height:550px;right:-220px;top:-220px;background:radial-gradient(circle,#d4ae8b33,transparent 68%)}.hero-art-b{width:480px;height:480px;left:-270px;bottom:-280px;background:radial-gradient(circle,#9a6a4845,transparent 65%)}.hero-content{position:relative;padding:52px 66px 60px}.hero-kicker{display:flex;align-items:center;gap:10px;color:#d9b99d;font-size:10px;font-weight:700;letter-spacing:2.4px;margin-bottom:44px}.hero-kicker span{width:28px;height:1px;background:#caa27f}.hero-layout{display:grid;grid-template-columns:minmax(0,1.25fr) 390px;gap:70px;align-items:center}.hero-logo{width:58px;height:58px;border-radius:17px;padding:3px;background:#ffffff18;border:1px solid #ffffff24;margin-bottom:18px}.hero-logo img{width:100%;height:100%;object-fit:cover;border-radius:14px}.hero-overline{font-size:11px;letter-spacing:2.8px;color:#d9b99d;font-weight:700}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-2.5px;margin:9px 0 22px;font-weight:700}.hero h1 em{color:#d7b18f;font-style:normal}.hero-lead{max-width:650px;color:#e4d8cf;font-size:16px;line-height:1.8}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}.btn{display:inline-flex;align-items:center;gap:10px;border-radius:12px;padding:13px 17px;font-size:12px;font-weight:700;text-decoration:none;transition:.25s}.btn-primary{background:#fff;color:var(--wood-900);box-shadow:0 14px 28px #0003}.btn-primary:hover{transform:translateY(-3px)}.btn-ghost{color:#fff;border:1px solid #ffffff2e;background:#ffffff0c}.btn-ghost:hover{background:#fff1}.trust-row{display:flex;gap:19px;margin-top:27px;color:#cdbfb5;font-size:10px}.trust-row i{color:#caa27f;margin-right:5px}.hero-panel{padding:15px;border:1px solid #ffffff18;border-radius:24px;background:#ffffff0d;backdrop-filter:blur(14px);box-shadow:0 25px 55px #0003}.panel-top{display:flex;justify-content:space-between;color:#c9b8ac;font-size:9px;font-weight:700;letter-spacing:1.5px;padding:3px 3px 12px}.mini-map{height:205px;border-radius:17px;position:relative;overflow:hidden;background:radial-gradient(circle at 60% 25%,#9a6a4855,transparent 25%),linear-gradient(145deg,#3b271d,#674733);background-image:linear-gradient(35deg,transparent 48%,#ffffff0d 49% 50%,transparent 51%),linear-gradient(120deg,transparent 48%,#ffffff0a 49% 50%,transparent 51%);background-size:45px 45px}.map-route{position:absolute;width:270px;height:110px;left:48px;top:53px;border-top:2px dashed #d7b18f99;border-radius:50%;transform:rotate(-10deg)}.pin{position:absolute;width:11px;height:11px;background:#fff;border:3px solid #9a6a48;border-radius:50%;box-shadow:0 0 0 6px #ffffff13}.pin-one{left:40px;top:132px}.pin-two{left:160px;top:86px}.pin-three{right:45px;top:52px}.map-label{position:absolute;font-size:8px;color:#fff;background:#1b100bcc;padding:4px 7px;border-radius:6px}.label-one{left:28px;top:109px}.label-two{right:25px;top:27px}.panel-destination{display:flex;justify-content:space-between;align-items:center;padding:16px 4px 14px}.panel-destination small{display:block;font-size:8px;letter-spacing:1.4px;color:#bba89b}.panel-destination strong{display:block;font-size:16px;margin-top:4px}.round-icon,.collection-icon,.card-icon{display:grid;place-items:center;border-radius:12px}.round-icon{width:38px;height:38px;background:#fff;color:var(--wood-900)}.panel-stats{border-top:1px solid #ffffff14;padding-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.panel-stats b{display:block;font-size:14px}.panel-stats span{font-size:8px;color:#bba89b}.planner-wrap,.workspace,.saved-section{width:min(1180px,90%);margin:84px auto 0}.workspace{scroll-margin-top:110px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px}.section-heading.compact{margin-bottom:20px}.eyebrow,.card-label{font-size:9px;font-weight:800;letter-spacing:2px;color:var(--wood-600)}.section-heading h2{font-family:"Playfair Display",serif;font-size:36px;line-height:1.1;margin-top:7px;color:var(--wood-950)}.section-heading p{max-width:370px;color:var(--muted);font-size:12px;line-height:1.7}.search-section{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:10px;padding:13px;border:1px solid var(--line);background:var(--surface);border-radius:18px;box-shadow:var(--shadow)}.field{min-width:0}.field label{display:block;font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:2px 0 7px 4px}.field-input{height:48px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);background:#fff;border-radius:11px}.field-input i{font-size:12px;color:var(--wood-600)}.field-input input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:12px}.plan-btn{height:48px;align-self:end;border:0;border-radius:11px;background:var(--wood-900);color:#fff;padding:0 18px;font:700 12px "DM Sans";cursor:pointer;box-shadow:0 10px 22px #2b1a1224;transition:.25s}.plan-btn:hover{background:var(--wood-700);transform:translateY(-2px)}.status-bar{margin-top:10px;min-height:26px;text-align:center;font-size:10px;color:var(--muted);padding:6px 10px}.status-success,.status-error,.status-loading{border-radius:8px}.status-success{background:#e7efe8;color:#3b6043}.status-error{background:#f6e8e5;color:#8b3f35}.status-loading{background:#eee3d9;color:var(--wood-700)}.dashboard-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:16px}.card,.saved-trips{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:19px;box-shadow:var(--shadow)}.card{min-height:350px;transition:.25s}.card:hover,.saved-trips:hover{transform:translateY(-4px);box-shadow:0 30px 75px rgba(48,30,20,.14)}.card-head,.saved-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:15px}.card-head h3,.saved-head h3{font-size:17px;margin-top:4px;color:var(--wood-950)}.card-icon,.collection-icon{width:38px;height:38px;background:#f2e8de;color:var(--wood-700)}#map{height:272px;width:100%;border-radius:15px;overflow:hidden}.empty-state{height:272px;border:1px dashed #d8c9bd;border-radius:15px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px;color:var(--muted);gap:10px}.empty-state i{font-size:24px;color:var(--wood-500)}.empty-state p{font-size:11px;max-width:180px}.weather-card{background:#f8f2ec;border:1px solid #eaded4;border-radius:14px;padding:16px;color:var(--ink);margin-top:8px}.weather-card h3{font-size:15px;margin-bottom:9px}.hotel-grid{display:grid;grid-template-columns:1fr;gap:10px}.hotel-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;display:grid;grid-template-columns:95px 1fr;min-height:92px}.hotel-card img{width:95px;height:100%;object-fit:cover}.hotel-info{padding:12px}.hotel-info h4{font-size:12px;color:var(--wood-900)}.saved-section{margin-bottom:90px}.saved-trips{padding:23px}.saved-head{align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.trips-list{display:grid;gap:9px}.trip-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:#fcfaf7}.trip-info{font-size:12px;color:var(--ink);line-height:1.7}.delete-btn{border:0;background:transparent;color:#8c4b3d;font-size:11px;font-weight:700;cursor:pointer;padding:8px}.delete-btn:hover{text-decoration:underline}.footer{background:var(--wood-900);color:#fff;margin-top:0;padding:54px 0 22px;border-top:1px solid #ffffff12}.footer-inner,.footer-bottom{width:min(1180px,90%);margin:auto}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:38px}.footer-brand{display:flex;align-items:center;gap:13px}.footer-brand .brand-mark{background:#fff}.footer-brand strong{font-size:15px}.footer-brand p{font-size:10px;color:#cbbab0;margin-top:4px}.footer-meta{display:flex;align-items:center;gap:20px;color:#bfaea3;font-size:10px}.footer-meta a{color:#fff;text-decoration:none;font-weight:700}.socials{display:flex;gap:8px}.socials a{width:35px;height:35px;border:1px solid #ffffff1e;border-radius:10px;display:grid;place-items:center;color:#fff;text-decoration:none;transition:.25s}.socials a:hover{background:#fff;color:var(--wood-900)}.footer-bottom{border-top:1px solid #ffffff12;padding-top:18px;display:flex;justify-content:space-between;color:#9e8b7e;font-size:9px}.light-mode{background:#f7f3ee;color:var(--ink)}.light-mode .navbar{background:#fffdf9}.light-mode .theme-btn{background:var(--wood-900);color:#fff}.light-mode .hero{box-shadow:0 32px 90px #301d1222}.light-mode .section-heading h2{color:var(--wood-950)}body:not(.light-mode){background:linear-gradient(180deg,#21130d 0%,#2b1a12 38%,#1c100b 100%);color:#fff}body:not(.light-mode) .navbar{background:#2b1a12d9;border-color:#ffffff16}body:not(.light-mode) .brand-copy strong{color:#fff}body:not(.light-mode) .nav-links a{color:#cdbcb0}body:not(.light-mode) .nav-links a:hover{color:#fff}body:not(.light-mode) .section-heading h2{color:#fff}body:not(.light-mode) .section-heading p{color:#c4b4a9}body:not(.light-mode) .search-section,body:not(.light-mode) .card,body:not(.light-mode) .saved-trips{background:#fff;color:var(--ink)}body:not(.light-mode) .theme-btn{background:#fff;color:var(--wood-900)}body:not(.light-mode) .footer{background:#fff;color:var(--wood-900);border-top-color:#ffffff}body:not(.light-mode) .footer-brand .brand-mark{background:var(--wood-900)}body:not(.light-mode) .footer-brand p,body:not(.light-mode) .footer-meta{color:#78695f}body:not(.light-mode) .footer-meta a{color:var(--wood-900)}body:not(.light-mode) .socials a{color:var(--wood-900);border-color:#4027191a}.light-mode .hero{background:linear-gradient(135deg,#1b100b,#4b2e20)}#introLoader{position:fixed;inset:0;z-index:9999;background:#1b100b;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;transition:opacity .6s,visibility .6s}.loader-mark{width:74px;height:74px;border-radius:20px;overflow:hidden;box-shadow:0 20px 50px #0005;animation:loaderIn .7s ease}.loader-mark img{width:100%;height:100%;object-fit:cover}#introLoader span{font-size:9px;letter-spacing:3px;color:#d2b49b;margin-top:17px}#introLoader strong{font-family:"Playfair Display";font-size:21px;margin-top:5px}#introLoader.hide{opacity:0;visibility:hidden}@keyframes loaderIn{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:1000px){.hero-layout{grid-template-columns:1fr}.hero-panel{max-width:500px}.dashboard-grid{grid-template-columns:1fr 1fr}.map-card{grid-column:1/-1}.search-section{grid-template-columns:1fr 1fr}.destination-field{grid-column:1/-1}.plan-btn{width:100%}}@media(max-width:700px){.navbar{top:8px;width:94%}.nav-links{display:none}.hero{width:94%;border-radius:25px}.hero-content{padding:35px 25px 40px}.hero-kicker{margin-bottom:30px;font-size:8px}.hero h1{font-size:48px}.hero-lead{font-size:14px}.hero-panel{margin-top:10px}.planner-wrap,.workspace,.saved-section{width:90%;margin-top:60px}.section-heading{display:block}.section-heading h2{font-size:30px}.section-heading p{margin-top:10px}.search-section{grid-template-columns:1fr}.destination-field{grid-column:auto}.dashboard-grid{grid-template-columns:1fr}.map-card{grid-column:auto}.footer-inner,.footer-bottom{width:90%}.footer-inner{flex-direction:column;align-items:flex-start}.footer-meta{width:100%;justify-content:space-between}.footer-bottom{gap:10px;flex-direction:column}}@media(max-width:460px){.brand-copy small{display:none}.hero h1{font-size:42px}.hero-actions{flex-direction:column}.btn{justify-content:center}.trust-row{gap:10px;flex-wrap:wrap}.panel-stats b{font-size:12px}.footer-meta{align-items:flex-start;flex-direction:column}.hotel-card{grid-template-columns:85px 1fr}.hotel-card img{width:85px}}

.hotel-grid{width:100%;display:grid;grid-template-columns:1fr;gap:10px;min-width:0}
.hotel-card{width:100%;max-width:100%;min-width:0;min-height:92px;height:92px;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:stretch;overflow:hidden;border-radius:13px;background:#fff;border:1px solid var(--line)}
.hotel-card img{display:block;width:92px !important;height:92px !important;max-width:92px !important;max-height:92px !important;min-width:0;min-height:0;object-fit:cover;object-position:center}
.hotel-info{min-width:0;overflow:hidden;padding:12px}
.hotel-info h4{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hotels-section{min-width:0;overflow:hidden}
.hotels-section #hotels{min-width:0;width:100%}

@media (max-width:1000px){
  .dashboard-grid{grid-template-columns:1fr 1fr}
  .map-card{grid-column:1/-1}
  .hotels-section,.weather-section{min-width:0}
}

@media (max-width:700px){
  .dashboard-grid{grid-template-columns:1fr;gap:14px}
  .map-card{grid-column:auto}
  .card{width:100%;min-width:0;padding:15px}
  #map{height:300px}
  .empty-state{height:220px}
  .hotel-card{height:86px;grid-template-columns:82px minmax(0,1fr)}
  .hotel-card img{width:82px !important;height:86px !important;max-width:82px !important;max-height:86px !important}
  .hotel-info{padding:11px}
}

@media (max-width:460px){
  .hotel-card{height:78px;grid-template-columns:72px minmax(0,1fr);border-radius:11px}
  .hotel-card img{width:72px !important;height:78px !important;max-width:72px !important;max-height:78px !important}
  .hotel-info{padding:9px}
  .hotel-info h4{font-size:11px}
  #map{height:250px}
}

.inspiration-grid{gap:8px}
.inspiration-card{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:62px;
  min-height:62px;
  padding:0;
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  align-items:stretch;
  text-align:left;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.inspiration-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(48,30,20,.12);border-color:#caa27f}
.inspiration-card:focus-visible{outline:2px solid var(--wood-500);outline-offset:2px}
.inspiration-card img{width:62px !important;height:62px !important;max-width:62px !important;max-height:62px !important;object-fit:cover;display:block}
.inspiration-card .hotel-info{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:7px 9px;min-width:0}
.inspiration-title{display:block;font-size:11px;font-weight:800;color:var(--wood-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inspiration-card .hotel-info small{font-size:8px;color:var(--muted);white-space:nowrap}
.empty-state{height:220px}
.empty-state i{display:none}

.image-zoom{position:fixed;inset:0;z-index:10000;background:rgba(10,7,5,.88);display:flex;align-items:center;justify-content:center;padding:30px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;backdrop-filter:blur(6px)}
.image-zoom.show{opacity:1;visibility:visible;pointer-events:auto}
.image-zoom img{display:block;max-width:min(900px,92vw);max-height:86vh;width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 25px 80px rgba(0,0,0,.45)}
.zoom-close{position:absolute;top:18px;right:22px;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.zoom-close:hover{background:rgba(255,255,255,.22)}
body.zoom-open{overflow:hidden}

@media(max-width:700px){
  .inspiration-card{height:58px;min-height:58px;grid-template-columns:58px minmax(0,1fr)}
  .inspiration-card img{width:58px !important;height:58px !important;max-width:58px !important;max-height:58px !important}
  .inspiration-card .hotel-info{padding:6px 8px}
  .inspiration-title{font-size:10px}
  .inspiration-card .hotel-info small{font-size:7px}
  .image-zoom{padding:18px}
  .image-zoom img{max-width:94vw;max-height:80vh;border-radius:12px}
}
