:root{--ink: #1d1d1f;--muted: #6e6e73;--soft: #f5f5f7;--line: #d2d2d7;--blue: #0071e3;--green: #34c759;--red: #ff3b30;--star: #f5a623;--max: 1200px;color:var(--ink);font-family:Inter,Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#fff}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.app-shell{min-height:100vh;background:#fff}.nav-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;width:100%;height:60px;padding:0 24px;background:var(--ink);color:#fff}.nav-logo{flex:0 0 auto;font-size:20px;font-weight:800;letter-spacing:-.2px;white-space:nowrap}.search-pill{position:relative;display:flex;align-items:center;width:clamp(460px,46vw,680px);height:48px;padding:3px 5px 3px 0;overflow:visible;background:#fff;border:1px solid var(--line);border-radius:980px;color:var(--ink)}.search-zone{position:relative;display:flex;flex:1 1 50%;flex-direction:row;align-items:center;gap:8px;min-width:0;height:100%;padding:0 12px 0 14px;color:var(--ink);font-size:15px;font-weight:400;line-height:1;white-space:nowrap}.search-zone.muted{color:#b0b0b0}.location-zone,.date-zone{cursor:pointer}.location-search-wrap,.date-input-shell{position:relative;display:flex;flex:1 1 auto;align-items:center;min-width:0;height:40px}.location-trigger{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:0;height:40px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink);font-size:15px;font-weight:400;line-height:40px;outline:none;cursor:pointer;text-align:left}.location-trigger:focus{border-color:transparent;box-shadow:none}.date-trigger{display:flex;align-items:center;justify-content:flex-start;width:100%;height:40px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:15px;font-weight:400;line-height:40px;outline:none;text-align:left}.date-trigger:focus{box-shadow:none}.calendar-menu{position:absolute;top:54px;left:-14px;z-index:30;width:286px;padding:14px;background:#fff;border:1px solid #e5e5ea;border-radius:16px;box-shadow:0 18px 44px #1d1d1f2e}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--ink)}.calendar-head strong{font-size:15px;font-weight:800}.calendar-nav{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:var(--soft);color:var(--ink);cursor:pointer;font-size:16px;font-weight:800}.calendar-nav:hover,.calendar-nav:focus{background:#e8f1ff;color:var(--blue)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:800;text-align:center}.calendar-day{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;font-size:13px;font-weight:700}.calendar-day:hover,.calendar-day:focus{background:#e8f1ff;color:var(--blue)}.calendar-day.is-muted{color:#b8b8bf}.calendar-day.is-selected{background:var(--blue);color:#fff}.city-menu{position:absolute;top:54px;left:-14px;z-index:30;display:grid;width:250px;padding:8px;background:#fff;border:1px solid #e5e5ea;border-radius:12px;box-shadow:0 18px 44px #1d1d1f2e}.city-option{height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);cursor:pointer;font-size:14px;text-align:left}.city-option:hover,.city-option:focus,.city-option[aria-selected=true]{background:var(--soft)}.search-divider{width:1px;height:24px;background:var(--line)}.icon{width:16px;text-align:center;color:#6e6e73}.search-button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:21px;background:var(--blue);color:#fff;cursor:pointer;font-size:18px;font-weight:700}.nav-actions{display:flex;align-items:center;gap:16px;margin-left:auto;font-size:14px;font-weight:600;white-space:nowrap}.avatar-button{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e0e0e0;color:#6e6e73;font-size:19px}.page{background:#fff}.home-hero{position:relative;display:flex;align-items:flex-end;min-height:560px;padding:80px 120px;overflow:hidden;color:#fff}.home-hero>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(21deg,rgba(0,0,0,.58) 22%,rgba(0,0,0,0) 48%)}.hero-copy{position:relative;width:min(760px,100%)}.hero-copy h1{max-width:760px;margin:0 0 8px;font-size:64px;font-weight:900;line-height:1.1;letter-spacing:0}.hero-copy h1 span{display:block}.hero-copy p{margin:0 0 24px;font-size:21px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:0;border-radius:980px;cursor:pointer;font-weight:700;line-height:1}.button-primary{background:var(--blue);color:#fff}.button-light{min-height:52px;background:#fff;color:var(--blue)}.full-width{width:100%}.section{padding:56px max(24px,calc((100vw - var(--max)) / 2))}.section-white{background:#fff}.section-muted{background:var(--soft)}.section-heading{width:min(var(--max),100%);margin:0 auto 24px}.section-heading h1,.section-heading h2,.split-section h2,.guide-banner h2{margin:0;color:var(--ink);font-size:28px;line-height:1.18;letter-spacing:0}.row-heading,.filter-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.eyebrow{margin:0 0 8px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}.text-link,.small-link{color:var(--blue);font-weight:700}.small-link{font-size:13px}.centered{display:block;text-align:center}.align-right{align-self:flex-end}.buddy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:min(var(--max),100%);margin:0 auto}.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.buddy-card{overflow:hidden;background:#fff;border:1px solid #ececef;border-radius:10px;box-shadow:0 12px 34px #1d1d1f0f}.buddy-image-link{display:block;height:184px;overflow:hidden;background:var(--soft)}.buddy-image{width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.buddy-card:hover .buddy-image{transform:scale(1.04)}.buddy-body{display:flex;flex-direction:column;gap:12px;min-height:276px;padding:16px}.buddy-kicker,.buddy-meta,.buddy-bottom,.guide-mini{display:flex;align-items:center;gap:8px}.buddy-kicker{justify-content:space-between;color:var(--muted);font-size:12px}.rating,.stars{color:var(--star)}.buddy-title{color:var(--ink);font-size:16px;font-weight:800;line-height:1.32}.buddy-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.buddy-meta{flex-wrap:wrap;color:var(--muted);font-size:12px}.buddy-meta span{padding:5px 9px;border-radius:999px;background:var(--soft)}.buddy-bottom{justify-content:space-between;margin-top:auto}.guide-mini img{width:28px;height:28px;border-radius:50%;object-fit:cover}.guide-mini span,.buddy-bottom strong{font-size:13px}.testimonial-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:min(var(--max),100%);margin:0 auto}.testimonial-card{min-height:188px;padding:20px;background:#fff;border-radius:8px}.testimonial-card p{color:var(--muted);font-size:14px;line-height:1.6}.testimonial-card strong{font-size:13px}.split-section{display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center;max-width:var(--max);margin:0 auto;padding:64px 0}.split-section img{width:100%;height:320px;border-radius:10px;object-fit:cover}.split-section p{color:var(--muted);line-height:1.7}.faq-list{display:grid;gap:10px;width:min(var(--max),100%);margin:0 auto}.faq-list details{padding:16px 20px;border:1px solid #e8e8ed;border-radius:8px}.faq-list summary{cursor:pointer;font-weight:800}.faq-list p{margin-bottom:0;color:var(--muted)}.guide-banner{position:relative;min-height:260px;overflow:hidden;color:#fff}.guide-banner img{width:100%;height:320px;object-fit:cover}.guide-banner:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,rgba(29,29,31,.8),rgba(29,29,31,.1))}.guide-banner>div{position:absolute;top:50%;left:max(24px,calc((100vw - var(--max)) / 2));z-index:1;width:min(440px,calc(100% - 48px));transform:translateY(-50%)}.guide-banner h2,.guide-banner p{color:#fff}.guide-banner p{line-height:1.6}.site-footer{background:var(--ink);color:#fff;padding:56px 24px}.footer-inner{max-width:var(--max);margin:0 auto}.footer-columns{display:flex;justify-content:space-between;gap:24px}.footer-column{width:180px}.footer-column h2{margin:0 0 12px;font-size:16px}.footer-column a{display:block;margin:0 0 12px;color:#6e6e73;font-size:14px}.footer-rule{height:1px;margin:48px 0;background:#333}.footer-media,.footer-payments,.footer-social{display:flex;align-items:center;gap:8px}.footer-media{justify-content:space-between;color:#6e6e73;font-size:14px}.payment-chip,.wecom{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:4px;color:#fff;font-size:10px;font-weight:900}.paypal{background:#002991}.mastercard{background:#202020;color:#ff9f0a}.visa{background:#1a1f71}.wecom{background:#fff;color:var(--blue)}.copyright{margin:48px 0 0;color:#6e6e73;font-size:14px}.auth-page{display:grid;grid-template-columns:minmax(0,1fr) 380px;min-height:720px}.auth-visual{position:relative;min-height:720px;overflow:hidden;background:var(--ink)}.auth-visual>img{width:100%;height:100%;min-height:720px;object-fit:cover}.auth-visual:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(146deg,rgba(29,29,31,0) 45%,rgba(29,29,31,.45) 75%)}.quote-card{position:absolute;left:48px;bottom:160px;z-index:1;width:380px;padding:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:18px;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.quote-card p{margin:14px 0;font-size:15px;line-height:1.6}.quote-card span{color:#d0d0d0;font-size:13px}.auth-bottom{position:absolute;inset:auto 0 0;z-index:1;padding:64px 32px 24px;color:#fff;text-align:center;background:linear-gradient(173deg,rgba(29,29,31,0) 10%,var(--ink) 75%)}.auth-bottom h1{margin:0 0 12px;font-size:22px}.auth-benefits{display:flex;justify-content:space-between;gap:12px;font-size:11px}.auth-panel{display:flex;flex-direction:column;min-height:720px;padding:48px 40px;background:#fff}.auth-tabs{display:flex;gap:8px;margin-bottom:28px}.tab{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 20px;border-radius:980px;color:var(--muted);font-size:14px;font-weight:700}.tab.active{background:var(--blue);color:#fff}.auth-form{display:flex;flex-direction:column;gap:14px}label{display:flex;flex-direction:column;gap:8px;color:var(--ink);font-size:13px;font-weight:800}input,select,textarea{width:100%;min-height:40px;padding:0 12px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}textarea{min-height:108px;padding-top:12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #0071e31f}.switch-note{padding-top:16px;color:var(--muted);font-size:13px;text-align:center}.switch-note a{color:var(--blue);font-weight:800}.intro-tour{padding-top:40px;padding-bottom:40px}.tour-intro-row{display:grid;grid-template-columns:700px minmax(0,1fr);gap:32px;align-items:start;width:min(var(--max),100%);margin:0 auto}.tour-intro-row img{width:100%;height:320px;border-radius:10px;object-fit:cover}.tour-intro-row h2{margin:8px 0 16px;font-size:22px}.tour-intro-row p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.7}.filter-bar{width:min(var(--max),100%);margin:0 auto 24px}.filter-pills{display:flex;flex-wrap:wrap;gap:8px}.filter-pills span{padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:13px;font-weight:700}.detail-page{padding:40px 24px 72px}.detail-layout{display:grid;grid-template-columns:780px 380px;gap:40px;align-items:start;max-width:var(--max);margin:0 auto}.detail-main{display:flex;flex-direction:column;gap:28px}.detail-title h1{width:min(600px,100%);margin:0 0 16px;font-size:26px;line-height:1.15}.rating-line{margin:0;color:var(--blue);font-size:13px;font-weight:700}.rating-line span{color:var(--star)}.gallery{display:grid;grid-template-columns:1fr 312px;gap:4px;height:360px;overflow:hidden;border-radius:14px}.gallery img,.gallery-more{width:100%;height:100%;object-fit:cover}.gallery-side{display:grid;grid-template-columns:1fr 1fr;gap:4px}.gallery-more{display:grid;place-items:center;color:#fff;font-size:14px;font-weight:800;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),url(/images/millfun-main.png) center / cover}.guide-card,.price-card,.form-card,.order-summary{border:1px solid var(--line);border-radius:18px;background:#fff}.guide-card{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--soft)}.guide-row{display:flex;align-items:center;gap:16px}.guide-row img{width:52px;height:52px;border-radius:50%}.guide-row h2{margin:0 0 4px;font-size:15px}.guide-row p,.guide-card>p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.guide-row span{display:inline-block;width:1px;height:10px;margin:0 8px;background:var(--line)}.message-banner{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:#e8f0fe}.message-banner p{flex:1;margin:0;font-size:13px}.message-banner button,.customize-box button{height:32px;padding:0 24px;color:var(--blue);background:#fff;border:1px solid var(--blue);border-radius:980px;cursor:pointer;font-weight:700}.content-block{padding-top:4px;border-top:1px solid #e8e8ed}.content-block:first-of-type{border-top:0}.content-block h2{margin:0 0 28px;font-size:20px}.content-block h3,.customize-box h3{margin:0 0 16px;font-size:17px}.content-block p,.customize-box p,.content-block small{color:var(--muted);font-size:14px;line-height:1.6}.itinerary-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;margin-bottom:12px;font-size:14px}.itinerary-row p{margin:0}.customize-box{padding:16px;border-radius:12px;background:var(--soft)}.chip-list{display:flex;flex-wrap:wrap;gap:10px 16px}.chip-list span{color:var(--muted);font-size:14px}.chip-list span:first-letter{color:var(--red)}.included{color:var(--muted)}.review-score{margin-bottom:16px;font-size:24px;font-weight:900}.review-score span{color:var(--muted);font-size:14px;font-weight:400}.review-block article{padding:20px;border-radius:14px;background:var(--soft)}.review-block article>div{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.review-block article strong{color:var(--ink)}.review-block a{color:var(--blue);font-size:13px;font-weight:800}.price-card{position:sticky;top:84px;display:flex;flex-direction:column;gap:20px;padding:24px}.price-card h2{margin:0;font-size:28px}.price-card ul{display:grid;gap:12px;margin:0;padding:0;color:var(--muted);font-size:14px;list-style:none}.stepper{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;margin-top:8px;padding:0 12px;border:1px solid var(--line);border-radius:8px}.stepper button{border:0;background:transparent;color:var(--blue);cursor:pointer;font-size:18px;font-weight:900}.stepper button:first-child{color:var(--muted)}.booking-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.price-note{padding-top:16px;border-top:1px solid #e8e8ed}.price-note p{margin-bottom:0;color:var(--muted);font-size:12px}.booking-page{padding:40px 24px 72px;background:var(--soft)}.booking-layout{display:grid;grid-template-columns:minmax(0,760px) 380px;gap:40px;align-items:start;max-width:var(--max);margin:0 auto}.breadcrumb{margin:0 0 14px;color:var(--blue);font-size:13px;font-weight:800}.booking-form-column h1{margin:0 0 8px;font-size:32px}.lead{margin:0 0 24px;color:var(--muted);font-size:16px;line-height:1.6}.form-card{display:grid;gap:18px;margin-bottom:16px;padding:24px}.form-card h2{margin:0;font-size:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.payment-row{display:flex;align-items:center;gap:8px}.payment-row p{margin:0 0 0 8px;color:var(--muted);font-size:13px}.order-summary{position:sticky;top:84px;display:flex;flex-direction:column;gap:18px;padding:20px}.order-summary img{width:100%;height:160px;border-radius:12px;object-fit:cover}.order-summary h2{margin:0 0 8px;font-size:18px;line-height:1.25}.order-summary p,.order-summary small{color:var(--muted);font-size:13px;line-height:1.5}.summary-lines{display:grid;gap:12px;padding:16px 0;border-top:1px solid #e8e8ed;border-bottom:1px solid #e8e8ed}.summary-lines p{display:flex;justify-content:space-between;margin:0}@media (max-width: 1100px){.search-pill{width:clamp(420px,48vw,520px)}.home-hero{padding-right:56px;padding-left:56px}.tour-intro-row,.detail-layout,.booking-layout{grid-template-columns:1fr}.price-card,.order-summary{position:static}.buddy-grid,.testimonial-grid,.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-intro-row img{height:280px}.detail-layout{max-width:780px}}@media (max-width: 760px){.nav-bar{height:auto;min-height:60px;flex-wrap:wrap;gap:12px;padding:12px 16px}.search-pill{order:3;width:100%}.nav-actions{gap:10px;font-size:13px}.home-hero{min-height:520px;padding:64px 24px}.hero-copy h1{font-size:42px}.hero-copy p{font-size:18px}.section{padding:40px 20px}.row-heading,.filter-bar{align-items:flex-start;flex-direction:column}.buddy-grid,.testimonial-grid,.compact-grid,.split-section,.form-grid,.booking-mini-grid{grid-template-columns:1fr}.split-section{padding:40px 20px}.footer-columns,.footer-media{flex-direction:column;align-items:flex-start}.footer-column{width:100%}.auth-page{grid-template-columns:1fr}.auth-visual,.auth-visual>img{min-height:520px}.quote-card{left:20px;bottom:148px;width:min(380px,calc(100% - 40px))}.auth-benefits{display:grid;grid-template-columns:1fr 1fr}.auth-panel{min-height:auto;padding:32px 24px}.tour-intro-row img{height:220px}.gallery{grid-template-columns:1fr;height:auto}.gallery-main{height:260px}.gallery-side{grid-template-columns:repeat(2,1fr);height:180px}.message-banner,.itinerary-row{grid-template-columns:1fr}.message-banner{align-items:flex-start;flex-direction:column}.detail-page,.booking-page{padding:32px 20px 48px}}@media (max-width: 460px){.search-zone{font-size:12px;padding-left:10px;padding-right:8px}.search-button{width:34px;height:34px}.nav-actions a:first-child{display:none}.hero-copy h1{font-size:36px}.section-heading h1,.section-heading h2,.split-section h2,.guide-banner h2{font-size:24px}}
