.film-hero-link{display:inline-flex;align-items:center;min-height:44px;color:var(--gold);margin:12px 0;text-underline-offset:5px}
.film-section{padding:80px 0;background:linear-gradient(145deg,#102b34,#061822 70%);border-block:1px solid var(--line)}
.film-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;max-width:1000px}.film-copy h2{font:clamp(42px,5vw,68px)/1.08 'DM Serif Display',Georgia,serif;color:var(--cream);margin:20px 0}.film-copy>p{font-size:21px;line-height:1.6;color:var(--muted)}.film-copy .eyebrow{color:var(--gold);font-size:12px;letter-spacing:.18em}.film-copy .button{margin:12px 0 24px}.film-description{color:var(--muted);max-width:440px;font-size:14px;line-height:1.65}.film-description summary{cursor:pointer;min-height:44px;padding-top:12px}.film-player{margin:0;width:100%;max-width:340px;justify-self:center}.film-player video{display:block;width:100%;height:auto;aspect-ratio:512/910;background:#03090c;border:1px solid #637278;border-radius:14px;box-shadow:0 24px 60px #0005}.film-controls{display:flex;gap:10px;margin-top:14px}.film-controls button,.venue-dialog button:not(.button),.mobile-menu-toggle{min-height:44px;border:1px solid #637982;color:var(--cream);background:#0b2530;border-radius:8px;padding:10px 16px;font:inherit;cursor:pointer}.film-controls button{flex:1;font-size:14px}.film-player figcaption,.film-player #film-status{color:var(--muted);font-size:12px;text-align:center;margin:12px 0}.film-player #film-status:empty{display:none}
button.journey-stop{background:none;border:0;padding:0;cursor:pointer;font:inherit;min-height:110px}.journey-stop:focus-visible,.collectible:focus-visible{outline:2px solid var(--amber);outline-offset:6px}.browse-venues{display:block;margin:12px auto 0}.sample-passport{padding:18px 20px;border-left:2px solid var(--gold);background:#d4b07908;margin-block:24px}.sample-passport>span{display:block;color:var(--gold);font-size:11px;letter-spacing:.12em}.sample-passport>strong{display:block;color:var(--cream);margin-top:10px}.sample-passport ol{padding-left:20px;line-height:1.9;color:var(--muted);font-size:14px}.sample-passport a{color:var(--gold);display:inline-flex;min-height:44px;align-items:center;text-underline-offset:4px}
.venue-dialog{width:calc(100% - 32px);max-width:480px;max-height:90dvh;box-sizing:border-box;overflow:auto;background:#08212c;color:var(--cream);border:1px solid #6c8790;border-radius:18px;padding:24px}.venue-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.venue-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.venue-dialog-top>span{font-size:11px;color:var(--gold);letter-spacing:.12em}.venue-detail-photo{width:120px;height:120px;padding:5px;border:1px solid var(--gold);border-radius:50%;margin:16px auto 24px}.venue-dialog label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}.venue-dialog select{width:100%;min-height:44px;background:#102f3c;color:var(--cream);border:1px solid #69818b;border-radius:6px;padding:10px;font:inherit}.venue-dialog h2{font:36px/1.1 'DM Serif Display',Georgia,serif;margin:24px 0 8px}.venue-dialog p{font-size:15px;line-height:1.6;color:var(--muted)}#venue-detail-vibe{color:var(--gold);font-size:13px}.sample-ratings{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:18px 0;border-block:1px solid var(--line)}.sample-ratings span{display:block;color:var(--muted);font-size:12px}.sample-ratings strong{display:block;font-size:22px;color:var(--gold);margin-top:6px}.venue-dialog .demo-note{font-size:12px}.venue-dialog .button{width:100%;min-height:48px}.venue-dialog button:disabled{opacity:.65;cursor:default}#venue-replace-options{display:grid;gap:8px}#venue-add-status:empty{display:none}
#keepsake-city{color:var(--gold);margin:12px 0}#keepsake-route{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;list-style-position:inside;padding:0;color:var(--cream);font-size:14px}.keepsake-stamps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-width:600px;margin:20px auto}.keepsake-stamps img{width:100%;height:auto}.collection-complete small{display:block;font-size:11px;color:var(--muted);margin-top:16px}#main-nav[hidden],.mobile-menu-toggle[hidden]{display:none!important}
@media(max-width:700px){.film-section{padding:50px 0}.film-layout{grid-template-columns:1fr;gap:30px}.film-copy h2{font-size:42px}.film-copy>p{font-size:18px}.film-player{max-width:300px}.masthead .nav{position:relative}.menu-ready .masthead .nav>.store-badge{display:none}.mobile-menu-toggle{position:absolute;right:0;top:24px;font-size:13px;padding:10px 12px}.menu-ready .masthead .nav>nav{grid-row:2}.venue-dialog{padding:20px}.keepsake-stamps{gap:5px}.sample-passport{padding:16px}.journey-stop strong{overflow-wrap:anywhere}}

.venue-sherpa-value{display:flex;align-items:center;gap:7px;color:var(--gold);margin-top:6px}.venue-sherpa-value strong{margin-top:0}

/* The film is Sherpa's introduction, alongside its sample requests. */
.sherpa-story .film-player{align-self:center;scroll-margin-top:30px}.film-try{display:flex;justify-content:center;margin-top:18px;min-height:44px}.sherpa-story .film-description{margin-top:10px}.sherpa-story .film-description p{font-size:14px;line-height:1.65}
@media(max-width:700px){.sherpa-story .story-layout{display:flex;flex-direction:column;gap:0}.sherpa-story .story-copy{display:contents}.sherpa-story .story-copy>.eyebrow{order:1}.sherpa-story .story-copy>h2{order:2}.sherpa-story .story-intro{order:3}.sherpa-story .film-player{order:4;margin:20px auto 32px;max-width:300px}.sherpa-story .prompt-picks{order:5;width:100%}.sherpa-story .sherpa-example{order:6;width:100%;box-sizing:border-box}.sherpa-story .story-copy>.demo-note{order:7}}

.route-app-tabs{display:flex;justify-content:center;gap:8px;margin:18px auto 0}.route-app-tabs button{min-height:44px;padding:10px 20px;border:1px solid #71868c;border-radius:24px;color:var(--cream);background:transparent;font:inherit;cursor:pointer}.route-app-tabs button[aria-pressed=true]{color:var(--ink);background:var(--gold);border-color:var(--gold)}
/* Keep the hero handset identical in proportion to the product showcase. */
.hero-product .phone{border:5px solid #141a1d;padding:3px;border-radius:28px;aspect-ratio:auto}
.hero-product .phone>.screen{position:relative;width:100%;height:auto;aspect-ratio:853/1844;overflow:hidden;border-radius:19px;background:#101d22}
.hero-product .phone>.screen>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:0}
@media(max-width:700px){.hero-product .phone{border-width:4px;padding:2px;border-radius:24px}.hero-product .phone>.screen{border-radius:17px}}
/* Swipe from map discovery to a venue's full details. */
.venue-gallery-layout>.story-copy{max-width:700px;margin:0 auto 32px;text-align:center}.venue-gallery-layout .venue-summary{max-width:640px;margin-inline:auto}.venue-gallery{max-width:760px;margin:auto;min-width:0}.gallery-hint,.gallery-status{text-align:center;color:var(--muted);font-size:14px}.venue-gallery-track{--slide-width:300px;display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding:12px 0 22px;scroll-padding-inline:0}.venue-gallery-track:after{content:'';flex:0 0 max(0px,calc(100% - var(--slide-width) - 24px))}.venue-gallery-slide{flex:0 0 var(--slide-width);min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}.venue-gallery-slide .screen-zoom{box-sizing:border-box;border:5px solid #141a1d;padding:3px;border-radius:28px;aspect-ratio:853/1844;background:#101d22;box-shadow:0 0 0 1px #727779;transform:none}.venue-gallery-slide .screen-zoom img{width:100%;height:100%;object-fit:contain;border-radius:19px}.venue-gallery-slide figcaption{text-align:center}.venue-gallery-slide h3{font:24px/1.25 'DM Serif Display',Georgia,serif;color:var(--cream);margin:18px 0 0}.venue-gallery-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:14px}.venue-gallery-controls>button{min-height:44px;border:1px solid #71868c;border-radius:24px;background:transparent;color:var(--cream);padding:8px 16px;font:inherit;cursor:pointer}.venue-gallery-controls>button:disabled{opacity:.4;cursor:default}.venue-gallery-dots{display:flex}.venue-gallery-dots button{display:grid;place-items:center;background:none;border:0;width:36px;height:44px;padding:0;cursor:pointer}.venue-gallery-dots span{width:8px;height:8px;border:1px solid var(--gold);border-radius:50%}.venue-gallery-dots button[aria-pressed=true] span{background:var(--gold)}.venue-gallery>.demo-note{text-align:center}.venue-gallery-track:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:700px){.venue-gallery-layout>.story-copy{text-align:left}.venue-gallery-track{--slide-width:min(280px,82%);gap:20px}.venue-gallery-track:after{flex-basis:calc(100% - min(280px,82%) - 20px)}.venue-gallery-slide .screen-zoom{border-width:4px;padding:2px;border-radius:24px}.venue-gallery-slide .screen-zoom img{border-radius:17px}.venue-gallery-controls{gap:8px}.venue-gallery-controls>button{font-size:14px;padding-inline:12px}}
@media(min-width:701px){.venue-gallery-layout>.story-copy>.story-intro{margin-inline:auto}}

/* Center the three social links beneath the footer brand. */
.footer-top{flex-direction:column;justify-content:center;text-align:center}
.footer-top .social-links{width:100%;justify-content:center;align-self:center}

/* Actual app-screen layout for the three requested Tokyo sample venues. */
.venue-dialog [hidden]{display:none!important}.venue-app-preview{width:min(100%,355px);margin:20px auto 16px;border:6px solid #162832;border-radius:26px;overflow:hidden;background:#04121d;box-shadow:0 0 0 1px #87969d55,0 18px 35px #0005}.venue-app-preview img{display:block;width:100%;height:auto}.venue-dialog h2.app-preview-title{font:600 18px/1.4 Inter,Arial,sans-serif;margin:18px 0 0;text-align:center}.venue-dialog.has-app-preview .venue-dialog-top{position:sticky;top:-24px;z-index:2;background:#08212c;padding-block:8px}.venue-dialog.has-app-preview .venue-dialog-top>span{font-size:10px}
@media(max-width:700px){.venue-dialog.has-app-preview{padding:16px;max-width:440px}.venue-dialog.has-app-preview .venue-dialog-top{top:-16px}.venue-app-preview{border-width:5px;border-radius:23px}.venue-dialog.has-app-preview select{font-size:16px}}

.venue-dialog #venue-app-zoom{display:block;width:100%;padding:0;border:0;border-radius:0;background:#04121d;box-shadow:none;transition:none}.venue-dialog #venue-app-zoom:hover{transform:none}.venue-dialog #venue-app-zoom:focus-visible{outline-offset:-4px}
