@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root { --ink:#141313; --ink-soft:#74716d; --paper:#f0eee9; --paper-deep:#e4e0d8; --cream:#faf9f6; --line:rgba(20,19,19,.14); --orange:#f2704b; --orange-light:#ff9b78; --night:#171615; --night-muted:#98938c; --white:#fffdf9; --serif:'Playfair Display', Georgia, serif; --sans:'Manrope', Arial, sans-serif; --mono:'DM Mono', monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:14px; line-height:1.5; overflow-x:hidden; }
button, input, textarea { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.site-shell { min-height:100vh; overflow:hidden; }
.page-width { width:min(1240px, calc(100% - 80px)); margin-inline:auto; }
.site-header { position:absolute; inset:0 0 auto; z-index:20; height:94px; display:flex; align-items:center; justify-content:space-between; padding:0 40px; color:var(--white); mix-blend-mode:normal; }
.brand { display:flex; align-items:center; gap:12px; line-height:1; }
.brand-symbol { position:relative; display:inline-flex; align-items:center; justify-content:center; width:31px; height:31px; border:1px solid currentColor; border-radius:50%; transform:rotate(-28deg); }
.brand-symbol::before, .brand-symbol::after { content:''; position:absolute; width:7px; height:7px; border:1px solid currentColor; border-radius:50%; }
.brand-symbol::before { top:5px; left:5px; }.brand-symbol::after { bottom:5px; right:5px; }
.brand-symbol i { display:block; width:2px; height:2px; margin:1px; border-radius:50%; background:currentColor; }
.brand-wordmark { display:flex; flex-direction:column; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }.brand-wordmark b { font-weight:800; }.brand-wordmark span { opacity:.62; }
.main-nav { display:flex; gap:38px; margin-left:100px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }.main-nav a { opacity:.75; transition:opacity .2s; }.main-nav a:hover { opacity:1; }
.header-actions { display:flex; align-items:center; gap:22px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }.text-button { padding:8px 0; border:0; background:none; color:inherit; opacity:.8; }.text-button:hover { opacity:1; }
.button { display:inline-flex; gap:18px; align-items:center; justify-content:center; border:1px solid transparent; padding:17px 23px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s, background .2s, border-color .2s, color .2s; }.button:hover { transform:translateY(-2px); }.button span { font-size:17px; line-height:0; font-weight:400; }.button-small { padding:11px 15px; }.button-light { background:var(--white); color:var(--ink); }.button-primary { background:var(--orange); color:var(--white); }.button-primary:hover { background:#ff815a; }.button-outline { color:var(--white); border-color:rgba(255,255,255,.4); background:transparent; }.button-outline:hover { border-color:var(--white); background:rgba(255,255,255,.08); }.button-wide { width:100%; }.menu-toggle { display:none; border:0; background:none; color:inherit; }.menu-toggle span { display:block; width:24px; height:1px; background:currentColor; margin:6px 0; }
.hero { position:relative; min-height:760px; height:94vh; max-height:920px; display:flex; align-items:center; color:var(--white); background:#211d1a; isolation:isolate; }.hero-background { position:absolute; z-index:-3; inset:0; background-image:linear-gradient(90deg,rgba(14,12,11,.86) 0%,rgba(14,12,11,.52) 43%,rgba(14,12,11,.1) 100%), linear-gradient(0deg,rgba(14,12,11,.48),rgba(14,12,11,.03) 60%), url('дизайн/c917008fcd7158573566cbc6f546a823.jpg'); background-size:cover; background-position:center; filter:saturate(.9); }.hero-background::after { content:''; position:absolute; inset:0; background:linear-gradient(110deg,rgba(222,103,69,.35),transparent 38%); mix-blend-mode:screen; }.hero-grain { position:absolute; z-index:-2; inset:0; opacity:.13; pointer-events:none; 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='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); }
.hero-content { padding-top:70px; }.eyebrow, .section-kicker, .modal-kicker { display:flex; align-items:center; gap:9px; font:10px var(--mono); letter-spacing:.12em; text-transform:uppercase; }.eyebrow-dot, .live-pulse { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--orange-light); box-shadow:0 0 0 4px rgba(255,155,120,.17); }.eyebrow-year { opacity:.5; }.hero h1 { max-width:780px; margin:28px 0 23px; font-size:clamp(58px,7.2vw,112px); font-weight:500; letter-spacing:-.065em; line-height:.89; }.hero h1 em, h2 em { font-family:var(--serif); font-weight:500; letter-spacing:-.04em; }.hero-lede { margin:0 0 28px; color:rgba(255,255,255,.68); font-size:15px; line-height:1.6; }.hero-cta { margin-top:8px; }.hero-meta { position:absolute; right:40px; bottom:108px; display:flex; align-items:center; gap:13px; color:rgba(255,255,255,.67); font:10px var(--mono); letter-spacing:.1em; text-transform:uppercase; }.scroll-line { display:inline-block; width:53px; height:1px; background:rgba(255,255,255,.47); }.hero-search { position:absolute; right:0; bottom:0; left:0; display:grid; grid-template-columns:1.2fr 2.5fr 1fr; align-items:center; gap:25px; height:86px; border-top:1px solid rgba(255,255,255,.35); }.search-label { font:11px var(--mono); letter-spacing:.09em; text-transform:uppercase; }.search-control { display:flex; align-items:center; gap:14px; height:100%; cursor:pointer; }.search-pin { color:var(--orange-light); font-size:23px; }.search-placeholder { flex:1; color:rgba(255,255,255,.74); font-size:16px; }.search-arrow { display:flex; align-items:center; justify-content:center; width:35px; height:35px; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-size:18px; }.search-note { justify-self:end; color:rgba(255,255,255,.54); font:10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.live-pulse { background:#68d58b; box-shadow:0 0 0 4px rgba(104,213,139,.15); margin-right:6px; }
.intro-section { padding-top:150px; padding-bottom:150px; }.section-kicker { color:var(--ink-soft); }.section-kicker > span:first-child { color:var(--ink); }.kicker-line { width:45px; height:1px; background:currentColor; opacity:.45; }.intro-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:12%; margin-top:48px; }.intro-grid h2, .section-heading-row h2, .how-heading h2, .host-copy h2, .final-cta h2 { margin:0; font-size:clamp(48px,6vw,84px); font-weight:500; letter-spacing:-.07em; line-height:.95; }.intro-copy { padding-top:13px; max-width:315px; }.intro-copy p { margin:0 0 32px; color:var(--ink-soft); font-size:16px; line-height:1.65; }.underlined-link { display:inline-flex; gap:15px; padding-bottom:8px; border-bottom:1px solid var(--ink); font:11px var(--mono); letter-spacing:.07em; text-transform:uppercase; }.underlined-link span { font-size:15px; line-height:.6; }.stat-row { display:flex; gap:100px; margin-top:106px; border-top:1px solid var(--line); padding-top:22px; }.stat { display:flex; align-items:flex-start; gap:12px; }.stat strong { font:40px var(--serif); font-weight:500; line-height:.9; }.stat span { color:var(--ink-soft); font:10px var(--mono); line-height:1.3; text-transform:uppercase; letter-spacing:.06em; }
.destinations-section { padding:102px 0 132px; color:var(--white); background:var(--night); }.section-kicker.light { color:var(--night-muted); }.section-kicker.light > span:first-child { color:var(--white); }.section-heading-row { display:flex; justify-content:space-between; align-items:flex-end; }.section-heading-row h2 { margin-top:29px; color:var(--white); }.circle-button { display:flex; align-items:center; justify-content:center; width:50px; height:50px; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:none; color:var(--white); font-size:21px; transition:background .2s; }.circle-button:hover { background:var(--orange); border-color:var(--orange); }.destination-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; grid-template-rows:240px 240px; gap:12px; margin-top:67px; }.destination-card { position:relative; min-height:220px; overflow:hidden; padding:24px; border:0; text-align:left; color:var(--white); background:#333; }.destination-card-large { grid-row:span 2; }.destination-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s; }.destination-card:hover img { transform:scale(1.05); }.destination-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.3),transparent 42%,rgba(0,0,0,.75)); }.destination-top, .destination-bottom { position:absolute; right:24px; left:24px; z-index:1; display:flex; justify-content:space-between; font:10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.destination-top { top:21px; color:rgba(255,255,255,.73); }.destination-bottom { bottom:20px; align-items:flex-end; flex-direction:column; }.destination-bottom strong { align-self:flex-start; font-size:31px; font-weight:500; letter-spacing:-.06em; line-height:1; text-transform:none; }.destination-bottom span { margin-top:7px; color:rgba(255,255,255,.65); }
.how-section { padding:150px 0 160px; }.how-heading { align-items:flex-start; margin-top:46px; }.how-heading p { max-width:320px; margin:4px 0 0; color:var(--ink-soft); font-size:15px; line-height:1.65; }.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:100px; border-top:1px solid var(--line); }.step-card { position:relative; min-height:232px; padding:24px 22px 22px 0; border-right:1px solid var(--line); }.step-card + .step-card { padding-left:22px; }.step-card:last-child { border-right:0; }.step-number { color:var(--ink-soft); font:10px var(--mono); }.step-icon { display:block; margin-top:49px; color:var(--orange); font-size:30px; }.step-card h3 { margin:18px 0 8px; font-size:16px; letter-spacing:-.03em; }.step-card p { max-width:220px; margin:0; color:var(--ink-soft); font-size:13px; line-height:1.6; }
.host-section { background:var(--night); color:var(--white); }.host-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; min-height:650px; gap:70px; }.host-copy h2 { margin:35px 0 26px; }.host-copy p { max-width:310px; margin:0 0 32px; color:var(--night-muted); font-size:15px; line-height:1.7; }.host-visual { position:relative; height:500px; }.host-photo { position:absolute; z-index:1; top:70px; right:13%; width:60%; height:380px; overflow:hidden; transform:rotate(5deg); }.host-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent,rgba(23,22,21,.4)); }.host-photo img { width:100%; height:100%; object-fit:cover; }.host-orbit { position:absolute; border:1px solid rgba(255,255,255,.2); border-radius:50%; transform:rotate(-17deg); }.orbit-one { top:35px; left:15%; width:67%; height:410px; }.orbit-two { top:86px; right:0; width:53%; height:310px; border-color:rgba(242,112,75,.8); }.host-caption { position:absolute; z-index:2; bottom:42px; left:4%; display:flex; align-items:center; gap:13px; color:rgba(255,255,255,.77); font:10px var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.final-cta { padding:145px 0 160px; text-align:center; }.final-cta .section-kicker { justify-content:center; }.final-cta h2 { margin:42px auto 34px; }.final-cta .button { margin-inline:auto; }
.site-footer { display:grid; grid-template-columns:1fr 1.2fr 1fr 1fr; gap:30px; align-items:end; padding-top:32px; padding-bottom:42px; border-top:1px solid var(--line); }.footer-brand { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:700; line-height:1.15; letter-spacing:.1em; text-transform:uppercase; }.footer-brand .brand-symbol { width:27px; height:27px; }.footer-note { color:var(--ink-soft); font:13px var(--serif); line-height:1.2; }.footer-links { display:flex; flex-direction:column; gap:5px; color:var(--ink-soft); font:10px var(--mono); text-transform:uppercase; letter-spacing:.06em; }.footer-links a:hover { color:var(--ink); }.footer-legal { justify-self:end; color:var(--ink-soft); font:10px var(--mono); line-height:1.7; text-align:right; text-transform:uppercase; }.footer-legal span { opacity:.55; }
.explore-screen { background:var(--paper); min-height:100vh; padding:143px 0 72px; }.explore-header { display:flex; align-items:flex-end; justify-content:space-between; }.explore-header h1 { margin:26px 0 0; font-size:clamp(50px,6.7vw,92px); font-weight:500; letter-spacing:-.07em; line-height:.9; }.explore-header h1 em { font-family:var(--serif); font-weight:500; }.back-button { align-self:flex-start; margin-top:7px; border:0; background:none; color:var(--ink-soft); font:11px var(--mono); text-transform:uppercase; letter-spacing:.08em; }.back-button:hover { color:var(--ink); }.explorer-layout { display:grid; grid-template-columns:1.55fr .75fr; min-height:560px; gap:14px; margin-top:65px; }.map-panel, .place-panel { min-height:560px; }.map-panel { position:relative; overflow:hidden; background:#d0cbc1; }.map-toolbar { position:absolute; z-index:4; top:18px; right:18px; left:18px; display:flex; justify-content:space-between; gap:14px; }.map-search { display:flex; align-items:center; gap:10px; width:min(400px, 70%); padding:12px 14px; background:rgba(250,249,246,.9); box-shadow:0 5px 25px rgba(0,0,0,.1); }.map-search > span { color:var(--orange); font-size:19px; }.map-search input { min-width:0; width:100%; border:0; outline:0; background:none; font-size:12px; }.map-search kbd { color:var(--ink-soft); font:9px var(--mono); }.map-location { padding:11px 14px; border:0; background:rgba(20,19,19,.75); color:var(--white); font:10px var(--mono); letter-spacing:.06em; text-transform:uppercase; }.map-canvas { position:absolute; inset:0; overflow:hidden; background:radial-gradient(circle at 12% 22%,rgba(242,112,75,.18) 0 3%,transparent 3.3%), linear-gradient(127deg,#d9d4cc 0 32%,#c4c0b7 32.1% 44%,#d6d1c9 44.1% 70%,#bfc1b8 70.1%); }.map-canvas::before { content:''; position:absolute; inset:-20% -10%; background:radial-gradient(ellipse at 28% 20%,rgba(245,242,234,.78) 0 20%,transparent 21%),radial-gradient(ellipse at 74% 55%,rgba(246,242,231,.85) 0 19%,transparent 20%),radial-gradient(ellipse at 42% 78%,rgba(228,225,215,.85) 0 17%,transparent 18%); transform:rotate(-12deg); }.map-continent { position:absolute; border-radius:47% 53% 37% 63% / 54% 42% 58% 46%; background:rgba(91,105,91,.13); filter:blur(.2px); }.continent-one { width:31%; height:30%; top:21%; left:8%; transform:rotate(-18deg); }.continent-two { width:24%; height:22%; top:41%; left:42%; transform:rotate(21deg); }.continent-three { width:32%; height:25%; top:17%; right:7%; transform:rotate(18deg); }.map-grid-lines { position:absolute; inset:-40%; opacity:.4; background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(255,255,255,.45) 40px),repeating-linear-gradient(90deg,transparent 0 55px,rgba(255,255,255,.3) 56px); transform:rotate(-11deg); }.map-pin { position:absolute; z-index:3; display:flex; flex-direction:column; align-items:center; gap:6px; border:0; background:none; color:var(--ink); transform:translate(-50%,-50%); }.pin-dot { display:block; width:17px; height:17px; border:5px solid rgba(242,112,75,.3); border-radius:50%; background:var(--orange); box-shadow:0 0 0 1px rgba(242,112,75,.6); transition:transform .2s; }.map-pin:hover .pin-dot, .map-pin.selected .pin-dot { transform:scale(1.35); }.pin-label { padding:3px 6px; background:rgba(250,249,246,.8); font:10px var(--mono); letter-spacing:.04em; text-transform:uppercase; }.map-pin.inactive .pin-dot { background:#8e8b82; border-color:rgba(142,139,130,.3); box-shadow:none; }.map-pin.inactive .pin-label { opacity:.55; }.map-legend { position:absolute; z-index:3; bottom:18px; left:18px; display:flex; gap:15px; padding:10px 12px; background:rgba(250,249,246,.82); color:var(--ink-soft); font:9px var(--mono); text-transform:uppercase; }.legend-dot { display:inline-block; width:5px; height:5px; margin-right:4px; border-radius:50%; background:#8e8b82; vertical-align:middle; }.active-dot { background:var(--orange); }.map-coordinates { position:absolute; right:18px; bottom:18px; color:rgba(20,19,19,.47); font:9px var(--mono); line-height:1.6; text-align:right; }
.place-panel { display:flex; flex-direction:column; background:var(--night); color:var(--white); }.place-image { position:relative; height:206px; overflow:hidden; }.place-image img { width:100%; height:100%; object-fit:cover; opacity:.85; }.place-image::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(23,22,21,.72),transparent 60%); }.place-image-label { position:absolute; z-index:1; right:20px; bottom:17px; left:20px; display:flex; justify-content:space-between; font:9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.place-info { display:flex; flex:1; flex-direction:column; padding:25px 25px 22px; }.place-info .eyebrow { color:var(--night-muted); }.place-info h2 { margin:14px 0 7px; font-size:39px; font-weight:500; letter-spacing:-.07em; line-height:1; }.place-info h2 em { font-family:var(--serif); }.place-region { color:var(--night-muted); font:10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }.place-copy { margin:21px 0 19px; color:#bdb7af; font-size:13px; line-height:1.55; }.place-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:auto; margin-bottom:22px; padding-top:17px; border-top:1px solid rgba(255,255,255,.13); }.place-fact { display:flex; flex-direction:column; gap:3px; }.place-fact span { color:var(--night-muted); font:9px var(--mono); letter-spacing:.05em; text-transform:uppercase; }.place-fact strong { font-size:13px; font-weight:500; }.place-info .button { width:100%; }.empty-place { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; height:100%; padding:30px; }.empty-place h2 { max-width:300px; margin:17px 0 8px; font-size:34px; font-weight:500; line-height:1; letter-spacing:-.06em; }.empty-place p { color:var(--night-muted); line-height:1.6; }.hosts-strip { display:grid; grid-template-columns:1.2fr repeat(3,1fr); gap:22px; align-items:center; padding:25px 0 0; }.strip-label { font:10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.mini-host { display:flex; align-items:center; gap:10px; }.mini-avatar { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#cbc2ba; color:var(--ink); font:10px var(--mono); }.mini-host b, .mini-host small { display:block; }.mini-host b { font-size:11px; font-weight:600; }.mini-host small { margin-top:1px; color:var(--ink-soft); font-size:10px; }.mini-rating { margin-left:auto; color:var(--ink-soft); font:10px var(--mono); }
.modal-backdrop { position:fixed; z-index:40; inset:0; background:rgba(14,13,12,.72); backdrop-filter:blur(9px); }.modal-backdrop[hidden] { display:none; }.trip-modal, .login-modal { z-index:50; width:min(540px, calc(100% - 32px)); max-height:calc(100vh - 32px); margin:auto; padding:38px; border:0; background:var(--paper); color:var(--ink); box-shadow:0 28px 100px rgba(0,0,0,.35); }.trip-modal::backdrop, .login-modal::backdrop { background:transparent; }.trip-modal[open], .login-modal[open] { animation:modal-in .25s ease-out; } @keyframes modal-in { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }.modal-close { position:absolute; top:17px; right:17px; display:flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid var(--line); border-radius:50%; background:none; color:var(--ink); font-size:20px; line-height:1; }.modal-kicker { color:var(--ink-soft); }.trip-modal h2, .login-modal h2 { margin:17px 0 8px; font-size:49px; font-weight:500; letter-spacing:-.07em; line-height:.93; }.trip-modal h2 em, .login-modal h2 em { font-family:var(--serif); }.modal-intro { max-width:400px; margin:0 0 25px; color:var(--ink-soft); line-height:1.5; }.trip-place-summary { display:flex; align-items:center; gap:13px; margin-bottom:22px; padding:9px; background:var(--paper-deep); }.trip-place-summary img { width:60px; height:54px; object-fit:cover; }.trip-place-summary div { display:flex; flex:1; flex-direction:column; }.trip-place-summary .eyebrow { font-size:8px; }.trip-place-summary strong { margin-top:2px; font-size:14px; }.trip-place-summary small { color:var(--ink-soft); font-size:10px; }.edit-place { align-self:flex-start; border:0; background:none; color:var(--ink-soft); font:10px var(--mono); text-transform:uppercase; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.trip-modal label, .login-modal label { display:flex; flex-direction:column; gap:7px; margin-bottom:15px; font:10px var(--mono); letter-spacing:.06em; text-transform:uppercase; }.trip-modal input[type=date], .trip-modal input[type=time], .trip-modal textarea, .login-modal input { width:100%; padding:11px 12px; border:1px solid var(--line); outline:0; background:rgba(255,255,255,.35); color:var(--ink); font:12px var(--sans); letter-spacing:0; text-transform:none; }.trip-modal input:focus, .trip-modal textarea:focus, .login-modal input:focus { border-color:var(--orange); }.trip-modal textarea { resize:vertical; }.optional { color:var(--ink-soft); text-transform:none; }.trip-modal fieldset { margin:0 0 19px; padding:0; border:0; }.trip-modal legend { margin-bottom:9px; font:10px var(--mono); letter-spacing:.06em; text-transform:uppercase; }.choice-row { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }.choice-row label { margin:0; }.choice-row input { position:absolute; opacity:0; }.choice-row span { display:flex; justify-content:center; padding:10px 4px; border:1px solid var(--line); color:var(--ink-soft); font:10px var(--mono); cursor:pointer; }.choice-row input:checked + span { border-color:var(--orange); background:var(--orange); color:var(--white); }.budget-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:9px; font:10px var(--mono); letter-spacing:.06em; text-transform:uppercase; }.budget-heading strong { color:var(--orange); font:18px var(--serif); font-weight:500; }.budget-range { width:100%; accent-color:var(--orange); }.range-labels { display:flex; justify-content:space-between; margin:0 0 19px; color:var(--ink-soft); font:9px var(--mono); }.price-breakdown { display:flex; flex-direction:column; gap:5px; margin:10px 0 20px; padding:13px 0 14px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink-soft); font:10px var(--mono); }.price-breakdown span { display:flex; justify-content:space-between; }.price-breakdown b { color:var(--ink); font-weight:500; }.price-breakdown .breakdown-total { margin-top:5px; color:var(--ink); }.price-breakdown .breakdown-total b { color:var(--orange); font:20px var(--serif); }.form-disclaimer { display:block; margin-top:10px; color:var(--ink-soft); font-size:10px; text-align:center; }.login-modal { width:min(440px, calc(100% - 32px)); }.login-modal form { margin-top:28px; }.login-options { display:flex; justify-content:space-between; align-items:center; margin:-3px 0 25px; color:var(--ink-soft); font:10px var(--mono); }.login-options a { text-decoration:underline; }.checkbox-label { flex-direction:row!important; align-items:center; gap:4px!important; margin:0!important; text-transform:none!important; letter-spacing:0!important; }.checkbox-label input { accent-color:var(--orange); }.switch-copy { margin:22px 0 0; color:var(--ink-soft); font-size:12px; text-align:center; }.switch-copy button { border:0; background:none; color:var(--ink); text-decoration:underline; }.toast { position:fixed; z-index:70; right:25px; bottom:25px; display:flex; align-items:center; gap:10px; max-width:min(380px, calc(100% - 32px)); padding:13px 17px; transform:translateY(120px); opacity:0; background:var(--ink); color:var(--white); box-shadow:0 10px 30px rgba(0,0,0,.2); font-size:12px; transition:transform .3s, opacity .3s; }.toast.show { transform:translateY(0); opacity:1; }.toast-icon { color:var(--orange-light); }
body.menu-open .main-nav { display:flex; } body.modal-open { overflow:hidden; }
@media (max-width: 900px) { .page-width { width:min(100% - 40px, 650px); }.site-header { height:76px; padding:0 20px; }.main-nav { display:none; position:absolute; top:65px; right:20px; left:20px; flex-direction:column; gap:0; padding:14px 18px; background:var(--ink); }.main-nav a { padding:11px 0; }.header-actions { display:none; }.menu-toggle { display:block; }.hero { min-height:710px; height:90vh; }.hero-content { padding-top:36px; }.hero h1 { font-size:clamp(54px, 12vw, 78px); }.hero-meta { display:none; }.hero-search { width:calc(100% - 40px); height:auto; min-height:110px; grid-template-columns:1fr; gap:9px; padding:16px 0; }.search-control { height:40px; }.search-note { justify-self:start; }.intro-section, .how-section { padding-top:100px; padding-bottom:100px; }.intro-grid { grid-template-columns:1fr; gap:30px; }.intro-copy { padding-top:0; }.stat-row { gap:36px; margin-top:70px; }.stat strong { font-size:30px; }.stat span { font-size:9px; }.destinations-section { padding:80px 0 100px; }.destination-grid { grid-template-columns:1fr 1fr; grid-template-rows:270px 170px 170px; }.destination-card-large { grid-row:span 1; grid-column:span 2; }.destination-bottom strong { font-size:26px; }.how-heading { flex-direction:column; gap:28px; }.steps-grid { grid-template-columns:1fr 1fr; }.step-card:nth-child(2) { border-right:0; }.step-card:nth-child(3), .step-card:nth-child(4) { border-top:1px solid var(--line); }.step-card:nth-child(3) { padding-left:0; }.host-grid { grid-template-columns:1fr; gap:0; padding-top:80px; padding-bottom:60px; }.host-visual { margin-top:30px; height:420px; }.host-photo { right:11%; width:66%; height:320px; }.site-footer { grid-template-columns:1fr 1fr; gap:32px; }.footer-legal { justify-self:start; text-align:left; }.explore-screen { padding-top:110px; }.explore-header { align-items:flex-start; flex-direction:column; gap:22px; }.back-button { order:-1; }.explorer-layout { grid-template-columns:1fr; margin-top:34px; }.map-panel, .place-panel { min-height:480px; }.map-panel { min-height:500px; }.hosts-strip { grid-template-columns:1fr 1fr; gap:18px; }.strip-label { grid-column:span 2; }.mini-rating { display:none; }.trip-modal, .login-modal { padding:29px 22px; }.trip-modal h2, .login-modal h2 { font-size:42px; } }
@media (max-width: 520px) { .hero-background { background-position:62% center; }.hero h1 { font-size:54px; }.hero-lede { font-size:13px; }.search-placeholder { font-size:14px; }.intro-grid h2, .section-heading-row h2, .how-heading h2, .host-copy h2, .final-cta h2 { font-size:51px; }.stat-row { justify-content:space-between; gap:10px; }.stat { gap:6px; }.stat strong { font-size:25px; }.stat span { font-size:8px; }.destination-grid { grid-template-columns:1fr; grid-template-rows:repeat(3,190px); }.destination-card-large { grid-column:auto; }.destination-card:nth-child(4) { display:none; }.steps-grid { grid-template-columns:1fr; }.step-card, .step-card + .step-card { min-height:auto; padding:24px 0!important; border-right:0; border-top:1px solid var(--line); }.step-card:first-child { border-top:0; }.step-icon { margin-top:28px; }.host-visual { height:350px; }.host-photo { top:50px; right:0; width:78%; height:260px; }.orbit-one { left:0; width:88%; height:300px; }.orbit-two { width:70%; height:230px; }.host-caption { bottom:14px; left:0; }.site-footer { grid-template-columns:1fr; }.footer-legal { justify-self:start; }.map-toolbar { flex-direction:column; }.map-search { width:100%; }.map-location { align-self:flex-start; }.map-canvas { top:120px; }.place-panel { min-height:520px; }.hosts-strip { grid-template-columns:1fr; }.strip-label { grid-column:auto; }.mini-host { padding-bottom:8px; border-bottom:1px solid var(--line); }.choice-row { gap:4px; }.choice-row span { font-size:9px; }.form-grid { gap:8px; } }
