:root{--ink:#1b1425;--black:#120d19;--purple:#39214d;--violet:#8c57d7;--yellow:#ffd21f;--muted:#797383;--line:#ebe6ef;--white:#fff;--bg:#faf9fb;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--bg);font-family:'DM Sans',Arial,sans-serif;color:var(--ink);line-height:1.5}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none;color:inherit}.container{width:min(1200px,calc(100% - 48px));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;top:-80px;left:10px;padding:10px;background:white;z-index:100}.skip-link:focus{top:10px}.site-header{height:78px;position:sticky;top:0;z-index:600;background:#17101ef2;border-bottom:1px solid #ffffff13;backdrop-filter:blur(12px);color:white}.header-inner{height:100%;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.brand-mark{background:var(--yellow);border-radius:11px;color:#1b1220;font-weight:900;font-family:Outfit,sans-serif;font-size:27px;line-height:1;width:39px;height:39px;display:grid;place-items:center;position:relative;letter-spacing:-3px}.brand-dot{color:#8a4dda;position:absolute;right:4px;bottom:5px}.brand-type{font-family:Outfit,sans-serif;font-size:23px;line-height:.85;font-weight:900;letter-spacing:.4px}.brand-type small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:3px;color:var(--yellow);margin-top:7px;font-weight:800}.desktop-nav{display:flex;gap:30px;margin:auto;font-size:13px;color:#d4cdd9;font-weight:700}.desktop-nav a:hover,.desktop-nav a:focus{color:var(--yellow)}.header-location{font-size:12px;color:#ccc3d5;white-space:nowrap}.header-location:first-letter{color:var(--yellow)}.btn{border:0;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:15px 23px;font-weight:800;font-size:13px;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-2px)}.btn-small{padding:11px 17px;font-size:12px}.btn-outline{border:1px solid #9d8caa;background:transparent;color:white}.btn-yellow{background:var(--yellow);color:#22162a;box-shadow:0 8px 25px #ffd21f24}.btn-yellow:hover{background:#ffe055}.btn-transparent{color:white;background:transparent}.hero{min-height:570px;background:radial-gradient(ellipse at 82% 40%,#4c255a 0%,transparent 52%),linear-gradient(118deg,#191020 0%,#26152f 70%,#201528 100%);color:white;overflow:hidden;position:relative}.hero-layout{display:grid;grid-template-columns:1.08fr .92fr;min-height:570px;align-items:center;position:relative;z-index:1}.hero-copy{padding:75px 0 82px}.eyebrow,.section-kicker{font-size:11px;font-weight:900;letter-spacing:2.1px;color:#9c69e0}.eyebrow{color:#edd8ff;background:#ffffff12;border:1px solid #ffffff25;display:inline-flex;align-items:center;gap:11px;border-radius:30px;padding:9px 15px;letter-spacing:1.25px}.pulse-dot{width:8px;height:8px;border-radius:100%;background:var(--yellow);box-shadow:0 0 0 5px #ffd21f27}.hero h1,h2,h3{font-family:Outfit,sans-serif}.hero h1{font-size:clamp(44px,5vw,73px);line-height:1.07;letter-spacing:-2.7px;margin:22px 0 22px;font-weight:900;max-width:660px}.hero h1 em{font-style:normal;color:var(--yellow);display:block}.yellow-dot{color:white}.hero-copy>p{max-width:500px;font-size:16px;color:#c9bdd0;line-height:1.85}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}.hero-stats{display:flex;align-items:center;gap:30px;margin-top:57px}.hero-stats>div{display:flex;flex-direction:column}.hero-stats b{font-family:Outfit,sans-serif;font-size:26px;color:white}.hero-stats small{font-size:10px;color:#b2a2bf;margin-top:2px}.stat-divider{height:27px;width:1px;background:#ffffff28}.hero-art{position:relative;height:455px;display:grid;place-items:center}.orbit{position:absolute;border-radius:50%;border:1px solid #ffffff18;aspect-ratio:1}.orbit-a{width:395px;background:radial-gradient(circle,#9e58b61c,transparent 65%)}.orbit-b{width:300px;border-style:dashed;transform:rotate(24deg)}.hero-symbol{position:relative;font-family:Outfit,sans-serif;font-weight:900;font-size:250px;line-height:1;color:var(--yellow);letter-spacing:-35px;text-shadow:8px 16px 0 #6b3885,0 0 100px #9c53be66;transform:rotate(-8deg);padding-right:35px}.hero-symbol span{font-size:65px;letter-spacing:0;position:absolute;right:14px;bottom:25px;color:#a57aff;text-shadow:none}.float-tag{position:absolute;border:1px solid #ffffff40;backdrop-filter:blur(14px);background:#ffffff17;padding:12px 17px;border-radius:14px;font-size:12px;font-weight:700;box-shadow:0 16px 50px #0003}.tag-top{top:66px;right:-14px;transform:rotate(5deg)}.tag-bottom{bottom:75px;left:5px;transform:rotate(-5deg)}.section{padding-top:83px;padding-bottom:84px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section-heading h2,.itinerary-info h2{font-weight:900;font-size:clamp(29px,3.6vw,44px);line-height:1.14;letter-spacing:-1.1px;margin:10px 0}.section-heading h2 span,.itinerary-info h2 span{color:#8b4cce}.section-heading p,.itinerary-info>p{color:var(--muted);margin:0;font-size:14px}.demo-pill{color:#6c468a;border:1px solid #e4d8f0;background:#f6effb;padding:7px 13px;border-radius:30px;font-size:11px;white-space:nowrap;font-weight:700}.search-layout{display:flex;gap:12px}.search-input{background:white;display:flex;align-items:center;flex:1;border:1px solid #e8e0e9;border-radius:14px;padding:0 18px;box-shadow:0 8px 30px #21102b06}.search-input span{font-size:28px;color:#88639e}.search-input input{width:100%;padding:17px 12px;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}.btn-location{background:#f2ebf8;color:#623b81;white-space:nowrap}.category-chips{display:flex;gap:10px;flex-wrap:wrap;margin:23px 0}.category-chip{background:white;border:1px solid var(--line);border-radius:50px;padding:10px 18px;color:#5c5363;font-size:12px;font-weight:800}.category-chip:hover,.category-chip.active{background:#281739;border-color:#281739;color:white}.filters-row{display:flex;gap:15px;align-items:end;flex-wrap:wrap;padding:21px;background:white;border:1px solid var(--line);border-radius:16px}.filter-field{display:flex;flex:1;min-width:155px;flex-direction:column;gap:7px}.filter-field label{font-size:11px;font-weight:800;color:#62566c}.filter-field select{padding:11px 12px;border:1px solid #e6dfea;background:#fcfbfd;color:#4a3d55;border-radius:10px;font-size:12px;width:100%}.clear-btn{border:0;background:transparent;color:#8d5caf;padding:12px;font-size:12px;font-weight:800}.result-top{display:flex;align-items:center;justify-content:space-between;margin:36px 0 18px}.result-top h3{font-size:22px;margin:0}.result-top span{font-size:12px;color:var(--muted)}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.place-card{background:white;border-radius:19px;overflow:hidden;box-shadow:0 12px 40px #3114360b;border:1px solid #eeeaf0;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.place-card:hover{transform:translateY(-4px);box-shadow:0 17px 45px #31143618}.card-art{height:178px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,var(--art1),var(--art2))}.card-art:before{content:'';position:absolute;width:180px;height:180px;border:1px solid #ffffff35;border-radius:50%;right:-42px;top:-44px}.card-art:after{content:'';position:absolute;width:100px;height:100px;border:1px solid #ffffff40;border-radius:50%;bottom:-58px;left:35px}.art-emoji{font-size:78px;filter:drop-shadow(0 9px 8px #25172925);z-index:1}.card-category{position:absolute;top:15px;left:15px;background:#ffffffeb;padding:6px 11px;border-radius:30px;font-size:10px;font-weight:900;color:#382844;z-index:2}.card-price{position:absolute;bottom:15px;right:15px;background:#1e1529d9;color:white;border-radius:25px;padding:6px 11px;font-size:10px;font-weight:700;z-index:2}.card-body{padding:19px 20px 22px;display:flex;flex:1;flex-direction:column}.card-location{font-size:11px;color:#8b64a5;font-weight:800}.card-body h3{font-size:21px;margin:7px 0;line-height:1.2}.card-body p{font-size:12px;color:#797281;line-height:1.65;margin:4px 0 17px;flex:1}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:14px;border-top:1px solid #f0eaf2;font-size:11px;color:#736777}.card-footer a{color:#66369c;font-weight:800}.empty-state{text-align:center;padding:65px 0}.empty-state span{font-size:50px}.itinerary-section{background:linear-gradient(120deg,#22142f,#362146);color:white}.itinerary-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:center}.itinerary-info h2{font-size:clamp(35px,4.4vw,54px);margin:14px 0 19px}.itinerary-info h2 span{color:var(--yellow)}.itinerary-info>p{color:#c0aecb;line-height:1.8;max-width:500px}.time-panel{background:#ffffff10;border:1px solid #ffffff24;padding:25px;border-radius:19px;margin-top:30px}.time-panel>label:first-child{font-size:14px;font-weight:800}.time-options{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}.time-options button{background:#ffffff15;border:1px solid #ffffff2d;border-radius:10px;padding:10px 13px;color:#eee6f2;font-size:12px;font-weight:800}.time-options button.active{background:var(--yellow);color:#211327;border-color:var(--yellow)}.custom-time{display:flex;align-items:center;gap:13px;margin-bottom:20px}.custom-time label{font-size:11px;white-space:nowrap;color:#cfc3d7}.custom-time input{width:100%;accent-color:var(--yellow)}.custom-time strong{min-width:45px;text-align:right;color:var(--yellow)}.planner-check{display:flex;align-items:center;gap:9px;font-size:12px;color:#e6daee;margin-bottom:20px}.planner-check input{accent-color:var(--yellow)}.btn-full{width:100%}.small-note{font-size:11px!important;margin-top:18px!important;color:#ac98bc!important}.itinerary-results{background:white;color:var(--ink);border-radius:24px;padding:29px;box-shadow:0 22px 70px #09050c55;min-height:400px}.itinerary-result-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.itinerary-overline{color:#9c59c1;font-weight:900;font-size:9px;letter-spacing:2px}.itinerary-result-head h3{font-size:25px;margin:4px 0}.time-badge{font-size:10px;font-weight:800;white-space:nowrap;background:#f4eff8;border-radius:30px;padding:8px 10px;color:#75458d}.route-summary{background:#f8f4fb;border-radius:12px;padding:12px 15px;font-size:12px;color:#685475;margin-top:16px}.route-list{list-style:none;margin:22px 0 16px;padding:0}.route-item{position:relative;padding:0 0 21px 50px;min-height:67px}.route-item:not(:last-child):before{content:'';position:absolute;left:18px;top:35px;bottom:-2px;width:1px;border-left:2px dashed #ded2e8}.route-num{position:absolute;left:0;top:1px;width:37px;height:37px;border-radius:11px;background:#f1e8f8;color:#713e9e;display:grid;place-items:center;font-weight:900;font-size:12px}.route-item h4{font-size:14px;margin:0 0 4px}.route-item p{font-size:11px;color:#928498;margin:0}.route-item a{color:#8350b1;text-decoration:underline;text-underline-offset:2px}.route-empty{padding:25px 0;color:#695975}.btn-route{width:100%;background:#261531;color:white}.map-shell{height:465px;background:#f2eaf7;border-radius:19px;overflow:hidden;border:1px solid #e7e1eb;position:relative}.map-shell #leaflet-map{height:100%;width:100%}.map-fallback{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;text-align:center;padding:30px;background:#f6f2f8;z-index:5}.map-fallback[hidden]{display:none}.map-fallback p{max-width:440px}.map-disclaimer{font-size:11px;color:#8c8494;margin-top:14px}.map-pin{background:var(--yellow);border:3px solid white;border-radius:50%;box-shadow:0 3px 13px #2010206b;width:30px;height:30px;display:grid;place-items:center;font-size:13px}.leaflet-popup-content a{color:#673f9f;font-weight:bold}.cta-bottom{background:#ffd21f;padding:64px 0}.cta-bottom .container{display:flex;align-items:center;justify-content:space-between;gap:22px}.cta-bottom .section-kicker{color:#6b4b13}.cta-bottom h2{font-size:36px;margin:6px 0}.cta-bottom h2 span{color:#633b8d}.cta-bottom p{margin:0;color:#5e4928;font-size:13px}.cta-bottom .btn{background:#24142f;color:white;white-space:nowrap}.footer{background:#170f20;color:#b4a5c0;padding:30px 0}.footer-inner{display:flex;gap:18px;justify-content:space-between;align-items:center}.footer p{font-size:11px}.footer-brand{font:900 22px Outfit,sans-serif;color:white}.footer-brand span{color:var(--yellow)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:#281739;color:white;padding:12px 19px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;z-index:1000;transition:.2s;box-shadow:0 8px 30px #0003}.toast.visible{opacity:1;transform:translate(-50%,0)}@media(max-width:1000px){.hero-layout{grid-template-columns:1fr .7fr}.hero-symbol{font-size:185px}.orbit-a{width:290px}.orbit-b{width:220px}.itinerary-grid{gap:32px}.header-location{display:none}}@media(max-width:780px){.container{width:min(100% - 32px,1200px)}.site-header{height:70px}.desktop-nav{display:none}.header-inner{justify-content:space-between;gap:10px}.hero-layout{grid-template-columns:1fr;min-height:unset}.hero-copy{padding:65px 0}.hero-art{display:none}.hero h1{letter-spacing:-1.8px}.hero-stats{margin-top:36px}.section{padding:60px 0}.cards-grid{grid-template-columns:repeat(2,1fr)}.itinerary-grid{grid-template-columns:1fr}.itinerary-info h2{max-width:600px}.map-shell{height:400px}.cta-bottom .container{flex-direction:column;align-items:start}}@media(max-width:520px){.header-inner>.btn{font-size:10px;padding:10px}.brand-type{font-size:19px}.brand-mark{width:34px;height:34px;font-size:24px}.hero h1{font-size:44px}.hero-copy>p{font-size:14px}.hero-actions{gap:6px}.hero-stats{gap:15px}.hero-stats small{font-size:9px}.hero-stats b{font-size:22px}.section-heading{align-items:start;flex-direction:column}.search-layout{flex-direction:column}.search-input input{padding:14px 10px}.btn-location{width:100%}.filters-row{gap:12px;padding:14px}.filter-field{min-width:calc(50% - 6px)}.cards-grid{grid-template-columns:1fr}.card-art{height:180px}.time-panel,.itinerary-results{padding:19px}.custom-time label{display:none}.footer-inner{flex-wrap:wrap}.footer-inner p{margin:0}.cta-bottom h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
