/* The map is an illustration of our service area, never a live fleet feed. */
body.map-direction{--map-water:#173c50;--map-land:#324d58;--map-coast:#698793;--map-road:#718791;--map-accent:#e7c98e;--map-heading:#faf7ef;--map-muted:#b9cdd7;--map-bg:#193547}
body.map-direction[data-palette=amber]{--map-water:#3a352d;--map-land:#565448;--map-coast:#8b8c71;--map-road:#a19c86;--map-accent:#f4cc8b;--map-bg:#312c25}
body.map-direction[data-palette=forest]{--map-water:#153932;--map-land:#35594a;--map-coast:#719480;--map-road:#89a093;--map-accent:#dbdba2;--map-bg:#1b332d}
body.map-direction[data-palette=ivory]{--map-water:#d1e0df;--map-land:#f0eee4;--map-coast:#a3b7b3;--map-road:#bcc6be;--map-accent:#446965;--map-heading:#223d41;--map-muted:#526f74;--map-bg:#e8ece3}
.map-hero{position:relative;isolation:isolate;min-height:790px;height:100svh;max-height:1000px;display:grid;grid-template-columns:44% 56%;align-items:center;padding:118px 5% 40px;overflow:hidden;background:radial-gradient(ellipse at 75% 45%,var(--map-water),var(--map-bg) 76%);color:var(--map-heading)}
.map-copy{position:relative;z-index:3;padding:0 0 40px;max-width:570px}
.map-eyebrow{display:block;font-size:11px;letter-spacing:2px;color:var(--map-muted)}
.map-copy h1{font-family:'Avenir Next',Avenir,Arial,sans-serif;font-weight:400;font-size:clamp(48px,5.3vw,80px);line-height:1.08;letter-spacing:-3px;margin:27px 0 25px;color:var(--map-heading)}
.map-copy h1 em{display:block;font-family:Georgia,serif;font-style:normal;font-size:.86em;font-weight:400;letter-spacing:-2px;color:var(--map-accent)}
.map-copy p{font-size:16px;line-height:1.65;max-width:330px;color:var(--map-muted);margin:0 0 32px}
.map-reserve{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 30px;border-radius:9px;background:var(--map-heading);color:var(--map-bg);border:1px solid transparent;font-size:15px;transition:transform .2s,box-shadow .2s}
.map-reserve:hover{transform:translateY(-2px);box-shadow:0 10px 30px #061e332b}
.map-signature{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--map-muted);margin-top:27px}
.map-signature img{height:24px;width:24px;object-fit:contain}.map-signature b{font-size:17px;letter-spacing:-.5px;font-weight:500;color:var(--map-heading)}
.map-stage{position:relative;isolation:isolate;width:calc(100% + 9vw);max-width:900px;margin-left:-3vw;aspect-ratio:740/760}
.map-stage:before{content:'';position:absolute;inset:3% 1% 2% 0;background:var(--map-water);border-radius:50%;filter:blur(65px);opacity:.65;z-index:-1}
.map-drawing{position:absolute;inset:0;mask-image:radial-gradient(ellipse 55% 56% at 52% 52%,#000 54%,transparent 98%)}
.bay-cartography,.map-routes{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.map-routes{fill:none;stroke-linecap:round;stroke-linejoin:round}
.route-underlay{stroke:var(--map-accent);stroke-width:11;opacity:.06}
.route-track{stroke:var(--map-accent);stroke-width:2.6;opacity:.92}
.route-traveler-halo{fill:var(--map-accent);opacity:.13}.route-traveler-dot{fill:var(--map-heading);stroke:var(--map-accent);stroke-width:2}
.map-route-origin{fill:var(--map-water);stroke:var(--map-accent);stroke-width:2}
.map-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-7px,-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;min-height:44px;padding:8px 12px 8px 0;background:transparent;border:none;color:var(--map-muted);font-size:14px;line-height:1.3;letter-spacing:0;cursor:pointer;z-index:5;text-align:left}
.map-pin i{display:block;width:12px;height:12px;flex:none;border:1.5px solid var(--map-muted);border-radius:50%;background:var(--map-bg);transition:all .25s}
.map-pin span{padding:4px 8px;border-radius:6px;background:color-mix(in srgb,var(--map-bg) 80%,transparent);transition:color .2s}
.map-pin:hover span,.map-pin[aria-pressed=true] span{color:var(--map-heading)}
.map-pin:hover i,.map-pin[aria-pressed=true] i{background:var(--map-accent);border-color:var(--map-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--map-accent) 12%,transparent)}
.map-pin[aria-pressed=true]{font-weight:500}
.map-label{position:absolute;font-size:12px;color:var(--map-muted);letter-spacing:.2px;white-space:nowrap;pointer-events:none}
.map-ocean{left:13%;top:72%;font:italic 15px Georgia,serif;letter-spacing:2px;opacity:.55;transform:rotate(-21deg)}
.map-bay{left:52%;top:67%;font:italic 14px Georgia,serif;opacity:.55;transform:rotate(-38deg)}
.map-sfo{left:43%;top:74%;color:var(--map-accent);font-size:11px;letter-spacing:1px}
.map-oakland{left:58%;top:52%}.map-sjc{left:73%;top:91%;font-size:11px}
.map-north{position:absolute;right:10%;top:17%;display:grid;justify-items:center;gap:7px;color:var(--map-muted);font-size:9px;letter-spacing:1px;opacity:.7}.map-north:before{content:'';width:1px;height:24px;background:linear-gradient(var(--map-muted) 50%,transparent 50%);border-left:1px solid var(--map-muted)}
.map-caption{position:absolute;bottom:11%;left:7%;padding:14px 18px;border:1px solid color-mix(in srgb,var(--map-coast) 40%,transparent);border-radius:12px;background:color-mix(in srgb,var(--map-bg) 90%,transparent);backdrop-filter:blur(12px);box-shadow:0 14px 40px #00172a18;max-width:290px;color:var(--map-heading);z-index:6}
.map-caption small{display:block;font-size:10px;letter-spacing:1.3px;color:var(--map-muted);margin-bottom:7px}.map-caption strong{display:block;font-size:15px;font-weight:500}.map-caption-line{display:flex;align-items:center;gap:10px}.map-caption-line:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--map-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--map-accent) 10%,transparent)}
.map-footer{position:absolute;left:5%;right:5%;bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid color-mix(in srgb,var(--map-coast) 24%,transparent);padding-top:17px;color:var(--map-muted);font-size:11px}
.map-controls{display:flex;align-items:center;gap:15px}.map-pause{font-size:11px;display:inline-flex;align-items:center;gap:8px;color:var(--map-muted);min-height:36px;padding:5px 10px;border:1px solid color-mix(in srgb,var(--map-coast) 40%,transparent);border-radius:20px}.pause-icon{width:7px;height:9px;border-inline:2px solid currentColor}.map-pause[aria-pressed=true] .pause-icon{border:0;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.map-direction .preview-bar{background:transparent!important;color:var(--map-muted)!important}.map-direction .site-header .menu-toggle{color:var(--map-heading)}.map-direction .cinema-brand img{filter:none!important}.map-direction[data-palette=ivory] .cinema-brand img{filter:brightness(.2)!important}
.map-direction .palette-bar{position:relative;top:auto;bottom:auto;left:auto;transform:none;margin:22px auto;max-width:max-content;background:var(--p-panel);color:var(--p-text);border-color:var(--line);box-shadow:none}.map-direction .palette-bar button[aria-pressed=true]{background:var(--p-raised);box-shadow:none}.map-direction .journey-editorial{padding-top:85px}
.map-hero button:focus-visible{outline:2px solid var(--map-accent);outline-offset:5px}
@media(min-width:1700px){.map-hero{padding-inline:9%}.map-stage{margin-left:0;width:calc(100% + 3vw)}}
@media(max-width:1050px) and (min-width:761px){.map-hero{grid-template-columns:43% 57%;min-height:740px}.map-copy h1{font-size:52px}.map-copy p{font-size:14px}.map-stage{width:calc(100% + 11vw);margin-left:-7vw}.map-caption{bottom:2%;left:15%}}
@media(max-width:760px){
 .map-hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;align-items:stretch;padding:154px 24px 84px}
 .map-copy{padding:0;max-width:none;text-align:center}
 .map-eyebrow{font-size:9px;letter-spacing:1.8px}
 .map-copy h1{font-size:clamp(39px,9vw,55px);letter-spacing:-1.8px;line-height:1.12;margin:21px 0 17px}
 .map-copy h1 em{letter-spacing:-1px;font-size:.87em}
 .map-copy p{font-size:14px;line-height:1.6;max-width:290px;margin:0 auto 24px}
 .map-reserve{min-height:50px;min-width:180px;font-size:14px;padding:13px 25px}
 .map-signature{display:none}
 .map-stage{margin:-8px -24px -8px;width:calc(100% + 48px);max-width:none;aspect-ratio:740/800}
 .map-drawing{mask-image:radial-gradient(ellipse 55% 57% at 51% 51%,#000 60%,transparent 98%)}
 .map-pin{font-size:12px;gap:4px;transform:translate(-5px,-50%);padding-right:4px}
 .map-pin i{width:10px;height:10px}.map-pin span{padding:4px 5px}
 .map-label{font-size:10px}.map-ocean{font-size:11px;left:9%}.map-bay{font-size:11px;left:53%}
 .map-caption{left:6%;bottom:5%;padding:12px 14px;max-width:215px;border-radius:10px}
 .map-caption small{font-size:8px;margin-bottom:6px}.map-caption strong{font-size:12px}
 .map-sfo{font-size:10px}.map-sjc{left:75%;font-size:9px}.map-north{right:13%;top:21%}
 .map-footer{left:24px;right:24px;bottom:19px;font-size:10px;padding-top:10px}
 .map-controls>span{display:none}.map-pause{font-size:10px;min-height:36px}.map-footer>span{max-width:150px;line-height:1.5}
 .map-direction .palette-bar{gap:1px;padding:5px;max-width:calc(100% - 24px)}.map-direction .palette-bar button{padding:8px 10px;font-size:11px}
 .map-direction .journey-editorial{padding-top:55px}
}
@media(prefers-reduced-motion:reduce){.map-hero *{transition:none!important}.map-reserve:hover{transform:none}}
/* Let the guest's addresses bring the map to life. */
.map-copy{max-width:520px}.map-copy h1{font-size:clamp(46px,4.8vw,73px);margin-bottom:21px}.map-copy>p{margin-bottom:23px;font-size:17px}.map-trip-form{position:relative;max-width:355px}.map-addresses{border:1px solid color-mix(in srgb,var(--map-coast) 65%,transparent);border-radius:13px;background:color-mix(in srgb,var(--map-bg) 85%,transparent);box-shadow:0 15px 35px #082c371a;text-align:left}.map-input-row{display:flex;align-items:center;gap:15px;padding:14px 18px;min-height:76px}.map-input-row+ .map-input-row{border-top:1px solid color-mix(in srgb,var(--map-coast) 35%,transparent)}.map-input-row>i{width:9px;height:9px;flex:none;border:1.5px solid var(--map-accent)}.pickup-symbol{border-radius:50%}.destination-symbol{background:var(--map-accent);border-radius:1px}.map-input-wrap{flex:1;min-width:0}.map-input-wrap label{display:block;font-size:10px;font-weight:400;letter-spacing:.3px;color:var(--map-muted);margin-bottom:7px}.map-input-wrap input{font:inherit;font-size:15px;color:var(--map-heading);border:0;border-radius:0;outline:0;width:100%;background:transparent;padding:0;text-overflow:ellipsis}.map-input-wrap input::placeholder{color:var(--map-muted);opacity:.8}.map-input-row:focus-within{background:color-mix(in srgb,var(--map-coast) 10%,transparent)}.map-input-row:first-child:focus-within{border-radius:12px 12px 0 0}.map-input-row:last-child:focus-within{border-radius:0 0 12px 12px}.map-trip-form .map-reserve{width:100%;margin-top:14px}.map-try{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--map-muted);font-size:11px;min-height:40px;margin:4px auto 0}.map-try svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.2}.map-try:hover{color:var(--map-heading)}
.map-results{position:absolute;left:0;right:0;z-index:40;margin-top:13px;background:var(--map-bg);border:1px solid var(--map-coast);box-shadow:0 16px 40px #04131c66;border-radius:10px;overflow:hidden;max-height:235px;overflow-y:auto}.map-results [role=option]{padding:12px 16px;display:flex;gap:13px;align-items:center;cursor:pointer;min-height:57px;color:var(--map-heading);border-bottom:1px solid color-mix(in srgb,var(--map-coast) 20%,transparent);font-size:13px}.map-results [role=option]:last-child{border:0}.map-results [role=option]:hover,.map-results [aria-selected=true]{background:color-mix(in srgb,var(--map-coast) 24%,var(--map-bg))}.map-results small{display:block;color:var(--map-muted);font-size:10px;margin-top:4px}.map-results .place-symbol{width:26px;height:26px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--map-coast) 55%,transparent);border-radius:7px;flex:none;font-size:12px}.map-no-results{padding:15px;font-size:12px;line-height:1.5;color:var(--map-muted)}
.map-drawing{opacity:.65;transition:opacity .65s}.map-stage.has-location .map-drawing{opacity:1}.map-route-lines,.map-origin-marker,.map-destination-marker{transition:opacity .4s}.map-marker-halo{fill:var(--map-accent);opacity:.1}.map-place-label{position:absolute;left:var(--x);top:var(--y);font-size:13px;color:var(--map-muted);white-space:nowrap;display:flex;align-items:center;gap:9px;transform:translate(-3px,-50%);pointer-events:none;line-height:1.3}.map-place-label i{width:5px;height:5px;flex:none;border-radius:50%;background:var(--map-coast)}.map-place-label.is-active{color:var(--map-heading);text-shadow:0 2px 5px var(--map-bg)}.map-place-label.is-active i{background:var(--map-accent)}.map-airport-label{font-size:11px;letter-spacing:1px}.map-caption[hidden]{display:none}.map-signature{margin-top:12px}
@media(max-width:760px){.map-hero{padding-top:145px}.map-copy{max-width:none}.map-copy h1{font-size:clamp(38px,9vw,54px);margin:19px 0 14px}.map-copy>p{font-size:15px;margin-bottom:22px}.map-trip-form{margin:auto;max-width:380px;width:100%}.map-input-row{min-height:69px;padding:12px 17px}.map-input-wrap input{font-size:16px}.map-input-wrap label{font-size:10px}.map-try{font-size:11px}.map-stage{margin-top:-14px}.map-place-label{font-size:10px;gap:5px}.map-airport-label{font-size:9px}.map-copy{z-index:8}.map-stage .map-caption{bottom:2%;left:6%;max-width:245px}.map-north{top:25%}}
.map-place-label{transform:translate(-15px,-50%);gap:8px}.map-place-label i{display:grid;place-items:center;width:29px;height:29px;border:1px solid color-mix(in srgb,var(--map-coast) 60%,transparent);background:var(--map-bg);border-radius:10px;color:var(--map-muted);box-shadow:0 4px 12px #001a2b12;transition:transform .4s,background .4s}.map-place-label svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.map-place-label.is-active i{background:var(--map-accent);color:var(--map-bg);border-color:var(--map-accent);transform:translateY(-3px);box-shadow:0 4px 15px #091d2930}.map-results .place-symbol svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.map-place-label[data-place=oakland]{transform:translate(-15px,-115%)}
@media(max-width:760px){.map-place-label{gap:5px;transform:translate(-13px,-50%)}.map-place-label i{width:25px;height:25px;border-radius:8px}.map-place-label svg{width:14px;height:14px}.map-place-label[data-place=oakland]{transform:translate(-13px,-115%)}}

body.map-direction[data-palette=ivory]{--map-road-shadow:#c2cfca;--map-street:#a6b9b3;--map-contour:#a7b7a8}
/* Service choices share the map's palette, linework, and quiet place markers. */
body.map-direction .refined-journeys{display:block;padding:68px 5% 85px!important;background:var(--map-bg);border-top:1px solid color-mix(in srgb,var(--map-coast) 25%,transparent);color:var(--map-heading)}
.refined-journeys .journey-intro{display:block;margin:0 0 32px;max-width:none;padding:0}
.refined-journeys .journey-intro h2{font-family:'Avenir Next',Avenir,Arial,sans-serif;font-size:36px;font-weight:400;line-height:1.2;letter-spacing:-1.2px;margin:0 0 12px;color:var(--map-heading)}
body.map-direction .refined-journeys .journey-intro>p{font-size:15px;line-height:1.5;letter-spacing:0;margin:0;color:var(--map-muted);max-width:none}
.refined-journeys .journey-choices{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px;border:0}
body.map-direction .refined-journeys .journey-card{position:relative;display:flex;flex-direction:column;align-items:stretch;grid-column:span 2;text-align:left;min-width:0;padding:0 0 25px;border:1px solid color-mix(in srgb,var(--map-coast) 35%,transparent);border-radius:17px;background:color-mix(in srgb,var(--map-land) 32%,var(--map-bg));overflow:hidden;transition:background .25s,border-color .25s,transform .25s;min-height:226px}
.refined-journeys .journey-card:nth-child(n+4){grid-column:span 3}
.refined-journeys .journey-card::before,.refined-journeys .journey-card::after{display:none}
.refined-journeys .journey-art{height:100px;width:100%;display:block;position:relative;overflow:hidden}
.refined-journeys .journey-route-art{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:none;opacity:.55}
.journey-route-art .quiet-route{fill:none;stroke:var(--map-coast);stroke-width:1;opacity:.4}
.journey-route-art .bright-route{fill:none;stroke:var(--map-accent);stroke-width:1;opacity:.6}
.journey-route-art circle{fill:var(--map-accent);stroke:none;opacity:.65}
.refined-journeys .journey-pin{position:absolute;top:26px;left:24px;display:grid;place-items:center;width:52px;height:52px;border:1px solid color-mix(in srgb,var(--map-coast) 50%,transparent);border-radius:17px;background:var(--map-bg);color:var(--map-accent);box-shadow:0 8px 20px #041e2010;transition:transform .25s}
.refined-journeys .journey-pin svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.refined-journeys .journey-card-copy{display:block;padding:0 24px}
body.map-direction .refined-journeys .journey-card strong{display:block;font-size:19px;line-height:1.35;font-weight:500;letter-spacing:-.3px;color:var(--map-heading);margin:0 0 9px}
body.map-direction .refined-journeys .journey-card small{display:block;font-size:14px;line-height:1.55;letter-spacing:0;color:var(--map-muted);margin:0}
.refined-journeys .journey-explore{font-size:12px;color:var(--map-accent);padding:19px 24px 0;margin-top:auto;opacity:.8}
body.map-direction .refined-journeys .journey-card:hover{background:color-mix(in srgb,var(--map-land) 65%,var(--map-bg));border-color:var(--map-coast);transform:translateY(-3px)}
.refined-journeys .journey-card:hover .journey-pin{transform:translateY(-3px)}
.refined-journeys .journey-card:focus-visible{outline:2px solid var(--map-accent);outline-offset:4px}
@media(min-width:1400px){.refined-journeys .journey-choices{grid-template-columns:repeat(5,minmax(0,1fr))}.refined-journeys .journey-card,.refined-journeys .journey-card:nth-child(n+4){grid-column:span 1}}
@media(max-width:760px){body.map-direction .refined-journeys{padding:42px 24px 52px!important}.refined-journeys .journey-intro{margin-bottom:25px}.refined-journeys .journey-intro h2{font-size:29px;letter-spacing:-.7px}body.map-direction .refined-journeys .journey-intro>p{font-size:14px}.refined-journeys .journey-choices{grid-template-columns:1fr 1fr;gap:12px}body.map-direction .refined-journeys .journey-card{grid-column:span 1;min-height:228px;padding-bottom:18px;border-radius:14px}.refined-journeys .journey-card:nth-child(n+4){grid-column:span 1}.refined-journeys .journey-card:last-child{grid-column:span 2;min-height:178px;padding-left:85px;justify-content:center}.refined-journeys .journey-card:last-child .journey-art{position:absolute;left:0;top:0;height:100%}.refined-journeys .journey-card:last-child .journey-pin{top:30px}.refined-journeys .journey-card:last-child .journey-card-copy,.refined-journeys .journey-card:last-child .journey-explore{position:relative}.refined-journeys .journey-art{height:83px}.refined-journeys .journey-pin{left:17px;top:20px;width:44px;height:44px;border-radius:14px}.refined-journeys .journey-pin svg{width:25px;height:25px}.refined-journeys .journey-card-copy{padding:0 17px}body.map-direction .refined-journeys .journey-card strong{font-size:17px;margin-bottom:7px}body.map-direction .refined-journeys .journey-card small{font-size:13px}.refined-journeys .journey-explore{padding:14px 17px 0;font-size:12px}.refined-journeys .journey-card:last-child .journey-explore{margin-top:0}}
@media(prefers-reduced-motion:reduce){.refined-journeys .journey-card,.refined-journeys .journey-pin{transition:none!important;transform:none!important}}
body.map-direction .refined-journeys .journey-card:nth-child(n+4){grid-column:span 3}
@media(min-width:1400px){body.map-direction .refined-journeys .journey-card,body.map-direction .refined-journeys .journey-card:nth-child(n+4){grid-column:span 1}}
@media(max-width:760px){body.map-direction .refined-journeys .journey-card:nth-child(n+4){grid-column:span 1}body.map-direction .refined-journeys .journey-card:last-child{grid-column:span 2}}
/* One quiet atlas continues behind the full page. */
body.map-direction{position:relative;isolation:isolate;background:var(--map-bg);padding-bottom:0}
.page-map-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--map-water)}
.page-map-backdrop>svg{position:absolute;width:135%;height:125%;left:-5%;top:-12%;opacity:.38;fill:none;stroke:none;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 95%)}
.page-map-backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--map-bg),color-mix(in srgb,var(--map-bg) 72%,transparent) 45%,color-mix(in srgb,var(--map-bg) 24%,transparent));pointer-events:none}
body.map-direction .refined-journeys,body.map-direction .intelligence,body.map-direction .faq,body.map-direction .contact,body.map-direction .site-footer{background:transparent;border-color:color-mix(in srgb,var(--map-coast) 22%,transparent)}
body.map-direction .refined-journeys{border-top:0}
body.map-direction .refined-journeys .journey-card{background:color-mix(in srgb,var(--map-land) 42%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.map-direction .refined-journeys .journey-card:hover{background:color-mix(in srgb,var(--map-land) 78%,transparent)}
body.map-direction .journey-console{background:color-mix(in srgb,var(--map-bg) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 55px #051d211f}
body.map-direction .palette-bar{background:color-mix(in srgb,var(--map-bg) 80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.map-direction .map-hero{background:radial-gradient(ellipse at 75% 45%,var(--map-water),var(--map-bg) 76%);mask-image:linear-gradient(#000 0%,#000 87%,#000d 96%,#0008)}
body.map-direction .faq-list details{background:color-mix(in srgb,var(--map-bg) 55%,transparent);padding-inline:18px}
body.map-direction .contact-channels{background:color-mix(in srgb,var(--map-bg) 55%,transparent);padding:24px;border:1px solid color-mix(in srgb,var(--map-coast) 25%,transparent);border-radius:16px}
@media(max-width:760px){.page-map-backdrop>svg{width:190%;left:-55%;height:115%;top:-5%;opacity:.32}.page-map-backdrop::after{background:color-mix(in srgb,var(--map-bg) 50%,transparent)}body.map-direction .refined-journeys .journey-card{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}body.map-direction .contact-channels{padding:20px}}
/* Keep the interactive hero on the same continuous map surface. */
body.map-direction .map-hero{background:transparent;mask-image:none;-webkit-mask-image:none}
.map-stage::before{display:none}
body.map-direction .map-footer{border-top:0}
.page-map-backdrop{--map-reveal:0}
.page-map-backdrop>svg{opacity:calc(.38 * var(--map-reveal))}
@media(max-width:760px){.page-map-backdrop>svg{opacity:calc(.32 * var(--map-reveal))}}
/* Quiet, readable answers on the same forest atlas. */
body.map-direction .refined-faq{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.5fr);gap:70px;align-items:start;padding:76px 5%;border-top:1px solid color-mix(in srgb,var(--map-coast) 22%,transparent);background:transparent}
.refined-faq .faq-intro{padding-top:20px}
body.map-direction .refined-faq h2{font-family:'Avenir Next',Avenir,Arial,sans-serif;font-size:36px;font-weight:400;letter-spacing:-1.2px;line-height:1.2;margin:0;color:var(--map-heading)}
body.map-direction .refined-faq .faq-list{border:1px solid color-mix(in srgb,var(--map-coast) 38%,transparent);border-radius:17px;overflow:hidden;background:color-mix(in srgb,var(--map-bg) 73%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.map-direction .refined-faq .faq-list details{padding:0;margin:0;border:0;border-bottom:1px solid color-mix(in srgb,var(--map-coast) 28%,transparent);background:transparent}
body.map-direction .refined-faq .faq-list details:last-child{border-bottom:0}
body.map-direction .refined-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:22px 26px;margin:0;cursor:pointer;color:var(--map-heading);font-size:17px;line-height:1.45;font-weight:400;letter-spacing:0;transition:background .2s}
.refined-faq summary::-webkit-details-marker{display:none}.refined-faq summary::marker{content:''}
body.map-direction .refined-faq .faq-question{display:block;color:inherit;font:inherit;transform:none}
body.map-direction .refined-faq .faq-toggle{display:grid;place-items:center;flex:none;width:31px;height:31px;border:1px solid color-mix(in srgb,var(--map-coast) 44%,transparent);border-radius:50%;background:transparent;color:var(--map-accent);transform:none}
.refined-faq .faq-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
.refined-faq details[open] .faq-plus-stem{opacity:0}
body.map-direction .refined-faq details[open] .faq-toggle{background:color-mix(in srgb,var(--map-accent) 12%,transparent);border-color:color-mix(in srgb,var(--map-accent) 35%,transparent)}
body.map-direction .refined-faq summary:hover{background:color-mix(in srgb,var(--map-land) 30%,transparent)}
.refined-faq summary:focus-visible{outline:2px solid var(--map-accent);outline-offset:-4px;border-radius:8px}
body.map-direction .refined-faq .faq-answer{padding:0 70px 26px 26px}
body.map-direction .refined-faq .faq-answer p{margin:0;padding:0;max-width:none;font-size:15px;line-height:1.75;letter-spacing:0;color:var(--map-muted)}
@media(max-width:760px){body.map-direction .refined-faq{grid-template-columns:1fr;gap:25px;padding:45px 24px 52px}.refined-faq .faq-intro{padding-top:0}body.map-direction .refined-faq h2{font-size:29px;letter-spacing:-.7px}body.map-direction .refined-faq .faq-list{border-radius:14px}body.map-direction .refined-faq summary{font-size:16px;gap:14px;min-height:76px;padding:19px 18px}body.map-direction .refined-faq .faq-toggle{width:28px;height:28px}body.map-direction .refined-faq .faq-answer{padding:0 22px 23px 18px}body.map-direction .refined-faq .faq-answer p{font-size:14px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){body.map-direction .refined-faq summary{transition:none}}
/* Two distinct, explorable Miles journeys. */
body.map-direction .miles-experience{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;align-items:center;padding:90px 5%;border-top:1px solid color-mix(in srgb,var(--map-coast) 24%,transparent);color:var(--map-heading);background:transparent}
.experience-brand{display:flex;gap:9px;align-items:center;font-size:23px;font-weight:500;letter-spacing:-.6px;margin-bottom:27px}.experience-brand img{border-radius:9px}
.miles-experience h2{font-family:'Avenir Next',Avenir,Arial,sans-serif;font-size:clamp(35px,4vw,52px);font-weight:400;line-height:1.12;letter-spacing:-1.6px;margin:0 0 24px;color:var(--map-heading)}.miles-experience h2 em{font:inherit;color:var(--map-accent)}
.experience-intro>p{font-size:16px;line-height:1.65;color:var(--map-muted);max-width:270px;margin:0 0 31px}
.experience-modes{display:flex;flex-direction:column;gap:11px;max-width:290px}.experience-modes button{display:flex;align-items:center;gap:14px;padding:17px 20px;border:1px solid color-mix(in srgb,var(--map-coast) 50%,transparent);border-radius:12px;color:var(--map-muted);font-size:15px;text-align:left;background:color-mix(in srgb,var(--map-bg) 65%,transparent);transition:background .2s,color .2s,border-color .2s}.experience-modes button[aria-pressed=true]{background:var(--map-accent);color:var(--map-bg);border-color:var(--map-accent)}.experience-modes button:hover:not([aria-pressed=true]){background:var(--map-land)}.experience-modes svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex:none}
.experience-panel{border:1px solid color-mix(in srgb,var(--map-coast) 45%,transparent);border-radius:22px;overflow:hidden;background:color-mix(in srgb,var(--map-bg) 94%,transparent);box-shadow:0 25px 65px #041c2226;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.experience-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px 26px 0}.experience-panel-head>div>span{font-size:10px;letter-spacing:1.2px;color:var(--map-muted)}.experience-panel-head h3{font-size:18px;font-weight:500;letter-spacing:-.3px;line-height:1.4;margin:8px 0 0;color:var(--map-heading)}.experience-sample{font-size:10px;color:var(--map-muted);padding:6px 8px;border:1px solid color-mix(in srgb,var(--map-coast) 30%,transparent);border-radius:6px;white-space:nowrap}
.experience-map{height:235px;position:relative;overflow:hidden;margin-top:12px;background:radial-gradient(ellipse,var(--map-water),transparent 75%)}.experience-map>svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:none}.experience-map>.experience-bay-cartography{opacity:.62;mask-image:radial-gradient(ellipse,#000 30%,transparent 75%)}.experience-map-note{position:absolute;bottom:9px;left:26px;font-size:11px;color:var(--map-muted);background:color-mix(in srgb,var(--map-bg) 85%,transparent);padding:6px 9px;border-radius:6px}
.experience-route-base{fill:none;stroke:var(--map-accent);stroke-width:2;opacity:.25;stroke-linecap:round;stroke-linejoin:round}.experience-route-active{fill:none;stroke:var(--map-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.experience-traveler{fill:var(--map-heading);stroke:none}.experience-pins circle{fill:var(--map-bg);stroke:var(--map-accent);stroke-width:2}.experience-pins text{fill:var(--map-heading);stroke:var(--map-bg);stroke-width:3;paint-order:stroke;font-family:'Avenir Next',Arial,sans-serif;font-size:14px}
.experience-chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:4px 26px 0}.experience-chapters button{padding:12px 0;text-align:left;color:var(--map-muted);font-size:12px;min-height:48px}.experience-chapters i{display:block;height:3px;background:color-mix(in srgb,var(--map-coast) 40%,transparent);border-radius:2px;margin-bottom:11px;transition:background .2s}.experience-chapters button[aria-pressed=true]{color:var(--map-heading)}.experience-chapters button[aria-pressed=true] i{background:var(--map-accent)}.experience-chapters button:hover i{background:var(--map-accent)}
.experience-detail{padding:18px 26px 24px;min-height:168px}.experience-step-label{font-size:10px;letter-spacing:1px;color:var(--map-accent)}.experience-detail h4{font-size:25px;font-weight:400;line-height:1.25;letter-spacing:-.5px;color:var(--map-heading);margin:10px 0}.experience-detail>p{font-size:14px;line-height:1.6;color:var(--map-muted);margin:0;min-height:45px}.experience-status{display:flex;align-items:center;gap:8px;color:var(--map-muted);font-size:11px;margin-top:12px}.experience-status-dot{width:5px;height:5px;background:var(--map-accent);border-radius:50%}
.experience-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 26px;border-top:1px solid color-mix(in srgb,var(--map-coast) 25%,transparent);font-size:11px;color:var(--map-muted)}.experience-play{display:flex;align-items:center;gap:7px;padding:7px 0 7px 12px;min-height:36px;color:var(--map-muted);font-size:11px}.experience-play svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.3}.miles-experience button:focus-visible{outline:2px solid var(--map-accent);outline-offset:3px}
@media(max-width:760px){body.map-direction .miles-experience{grid-template-columns:1fr;gap:29px;padding:48px 24px}.experience-brand{font-size:21px;margin-bottom:20px}.experience-brand img{width:30px;height:30px}.miles-experience h2{font-size:36px;margin-bottom:17px;letter-spacing:-1px}.experience-intro>p{max-width:300px;font-size:15px;margin-bottom:24px}.experience-modes{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:none}.experience-modes button{padding:14px 12px;gap:8px;font-size:12px;min-height:52px;border-radius:10px}.experience-modes svg{width:17px;height:17px}.experience-panel{border-radius:17px}.experience-panel-head{padding:22px 18px 0;gap:10px;align-items:flex-start}.experience-panel-head h3{font-size:16px}.experience-panel-head>div>span{font-size:9px}.experience-sample{font-size:8px;padding:5px 6px}.experience-map{height:213px}.experience-map-note{left:18px;font-size:10px}.experience-chapters{margin-inline:18px;gap:8px}.experience-chapters button{font-size:11px}.experience-detail{padding:17px 18px 23px;min-height:183px}.experience-detail h4{font-size:23px}.experience-detail>p{font-size:14px}.experience-panel-foot{padding:11px 18px}}
@media(prefers-reduced-motion:reduce){.experience-modes button,.experience-chapters i{transition:none}}
.experience-chapters{grid-template-columns:repeat(4,1fr)}.experience-visual{height:250px;position:relative}.experience-map{height:100%;margin-top:0}.experience-map[hidden],.experience-workflow[hidden]{display:none}.experience-workflow{height:100%;box-sizing:border-box;padding:23px 26px 10px;animation:workflow-in .35s ease-out}.workflow-label{display:block;font-size:10px;letter-spacing:1px;color:var(--map-muted);margin-bottom:13px}.workflow-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid color-mix(in srgb,var(--map-coast) 23%,transparent);font-size:12px}.workflow-row>span{color:var(--map-muted);flex-shrink:0}.workflow-row strong{color:var(--map-heading);font-weight:400;text-align:right;font-size:13px}.workflow-vehicle{padding-top:16px;font-size:11px;color:var(--map-muted)}.workflow-vehicle>div{display:flex;gap:9px;margin-top:9px}.workflow-vehicle b,.workflow-vehicle>div>span{display:block;padding:9px 17px;border-radius:8px;border:1px solid var(--map-coast);font-weight:400;color:var(--map-muted)}.workflow-vehicle b{background:color-mix(in srgb,var(--map-accent) 17%,transparent);border-color:var(--map-accent);color:var(--map-heading)}.workflow-person{display:flex;align-items:center;gap:13px;padding:7px 0 13px}.workflow-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--map-land);color:var(--map-accent)}.workflow-avatar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.3}.workflow-person strong{display:block;font-size:15px;font-weight:400;color:var(--map-heading)}.workflow-person div>span{display:block;margin-top:5px;font-size:11px;color:var(--map-muted)}.workflow-review-route{font-size:16px;line-height:1.5;color:var(--map-heading);margin-bottom:6px}.workflow-review-route>span{color:var(--map-muted);padding:0 6px;font-size:12px}.workflow-ready{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--map-accent);margin-top:14px;flex-wrap:wrap}.workflow-ready small{width:100%;font-size:10px;color:var(--map-muted);padding-left:20px}.experience-detail{min-height:190px}.experience-status{line-height:1.5}.experience-status-dot{flex-shrink:0}@keyframes workflow-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:760px){.experience-visual{height:247px}.experience-workflow{padding:21px 18px 9px}.workflow-row{gap:12px;font-size:11px}.workflow-row strong{font-size:12px}.workflow-review-route{font-size:14px}.experience-detail{min-height:210px}.experience-modes button{line-height:1.4}.experience-modes button:last-child{font-size:11px}}
@media(prefers-reduced-motion:reduce){.experience-workflow{animation:none}}
.workflow-vehicle button{padding:9px 17px;border-radius:8px;border:1px solid var(--map-coast);font-weight:400;color:var(--map-muted);font-size:11px;min-height:38px;background:transparent}.workflow-vehicle button[aria-pressed=true]{background:color-mix(in srgb,var(--map-accent) 17%,transparent);border-color:var(--map-accent);color:var(--map-heading)}
@media(max-width:760px){body.map-direction .refined-journeys .journey-card:last-child{padding:25px 15px 25px 80px;min-height:178px}}

/* One entry into the full service preview */
body.map-direction .experience-entry{margin-top:28px;padding:16px 28px;border:1px solid var(--map-accent);border-radius:30px;background:var(--map-accent);color:var(--map-bg);font:inherit;font-weight:600;cursor:pointer}
body.map-direction .experience-entry:hover{filter:brightness(1.08)}
body.map-direction .experience-service{display:flex;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid color-mix(in srgb,var(--map-coast) 30%,transparent);color:var(--map-muted);font-size:14px}
body.map-direction .experience-service select{flex:1;min-width:0;padding:10px 38px 10px 14px;border:1px solid var(--map-coast);border-radius:12px;background:var(--map-bg);color:var(--map-heading);font:inherit;font-size:16px;color-scheme:dark}
body.map-direction .experience-entry:focus-visible,body.map-direction .experience-service select:focus-visible{outline:2px solid var(--map-accent);outline-offset:4px}

/* Consistent entry alignment and service details */
body.map-direction .miles-experience{align-items:start}
body.map-direction .experience-intro{padding-top:12px}
body.map-direction dialog.service-sheet{width:560px;border-radius:24px;background:var(--map-bg);color:var(--map-heading);border:1px solid var(--map-coast)}
body.map-direction .service-sheet .dialog-close{background:transparent;border:1px solid var(--map-coast);color:var(--map-heading);width:42px;height:42px}
.service-sheet-body{padding:36px}
.service-symbol{width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--map-coast);border-radius:18px;color:var(--map-accent);background:var(--map-land);margin-bottom:24px}
.service-symbol svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-sheet h2{font-family:'Avenir Next',Avenir,Arial,sans-serif;font-size:34px;line-height:1.15;font-weight:500;letter-spacing:-1px;margin:0 0 16px;color:var(--map-heading)}
.service-summary{font-size:17px;line-height:1.6;color:var(--map-muted);margin:0 0 24px}
.service-points{border-top:1px solid color-mix(in srgb,var(--map-coast) 40%,transparent);margin-bottom:28px}
.service-points>div{padding:17px 0;border-bottom:1px solid color-mix(in srgb,var(--map-coast) 40%,transparent)}
.service-points strong{font-size:16px;font-weight:500;color:var(--map-heading)}
.service-points p{font-size:15px;line-height:1.5;margin:5px 0 0;color:var(--map-muted)}
.service-plan{width:100%;min-height:52px;border:0;border-radius:28px;background:var(--map-accent);color:var(--map-bg);font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.service-plan:focus-visible{outline:2px solid var(--map-heading);outline-offset:4px}
@media(max-width:760px){.service-sheet-body{padding:26px 24px}.service-sheet h2{font-size:29px}.service-summary{font-size:16px}.service-symbol{margin-bottom:22px}body.map-direction .experience-intro{padding-top:0}}

/* Shared reservation surfaces follow the selected palette. */
body[data-palette] .booking-dialog{border-radius:22px;border:1px solid color-mix(in srgb,var(--p-muted) 35%,transparent);color-scheme:dark}
body[data-palette=ivory] .booking-dialog{color-scheme:light}
body[data-palette] .booking-head h2,body[data-palette] .reserve-brand,body[data-palette] .review-intro h3{color:var(--p-text)}
body[data-palette] .booking-head h2{font-size:clamp(25px,4vw,32px);line-height:1.2}
body[data-palette] .reserve-brand small,body[data-palette] .vehicle-choice small,body[data-palette] .review-block small,body[data-palette] .completion-note{color:var(--p-muted)}
body[data-palette] .booking-bottom{background:var(--p-panel);border-color:color-mix(in srgb,var(--p-muted) 25%,transparent)}
body[data-palette] .booking-progress{gap:8px;border:0}
body[data-palette] .booking-progress span{flex:1;justify-content:center;background:var(--p-deep);color:var(--p-muted);border:1px solid transparent;padding:11px 6px}
body[data-palette] .booking-progress span.active{background:var(--p-raised);color:var(--p-text);border-color:var(--p-accent)}
body[data-palette] .booking-progress span.done{background:var(--p-deep);color:var(--p-accent)}
body[data-palette] .booking-progress span:before,body[data-palette] .booking-progress span:after{display:none}
body[data-palette] .booking-progress span b{color:inherit}
body[data-palette] .booking-dialog .icon-button{background:var(--p-deep);color:var(--p-text);border-color:var(--p-muted);flex-shrink:0}
body[data-palette] .form-step input:not([type=radio],[type=checkbox]),body[data-palette] .form-step select,body[data-palette] .form-step textarea,body[data-palette] .reserve-route input,body[data-palette] .stop-row input{background-color:var(--p-deep);color:var(--p-text);border:1px solid color-mix(in srgb,var(--p-muted) 40%,transparent);font-size:16px;border-radius:12px;min-height:50px}
body[data-palette] .form-step select{appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%238a9c8d' stroke-width='1.7'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat}
body[data-palette] .form-step input::placeholder,body[data-palette] .form-step textarea::placeholder{color:var(--p-muted);opacity:.7}
body[data-palette] .form-step label,body[data-palette] .vehicle-choice legend{font-size:14px;color:var(--p-text)}
body[data-palette] .airport-shortcuts button,body[data-palette] .reserve-route .add-stop,body[data-palette] .review-edit{color:var(--p-accent);background:transparent;border-color:var(--p-muted)}
body[data-palette] .vehicle-choice{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-palette] .vehicle-choice b{font-size:15px;color:var(--p-text)}
body[data-palette] .vehicle-choice small{font-size:13px;line-height:1.5}
body[data-palette] .vehicle-choice label>span{border-radius:12px;padding:18px 12px;min-height:120px;border:1px solid color-mix(in srgb,var(--p-muted) 40%,transparent)}
body[data-palette] .vehicle-choice input:checked+span{border-color:var(--p-accent);box-shadow:inset 0 0 0 1px var(--p-accent)}
body[data-palette] .booking-bottom .button{border-radius:26px;min-height:50px;font-size:16px}
body[data-palette] .preview-note{background:var(--p-deep);border-color:var(--line);font-size:13px}
.event-form{padding:0 32px}.event-intro{color:var(--p-muted);font-size:16px;line-height:1.6;margin:0 0 25px}#event-complete{padding:0 32px 32px}#event-complete h3{font-size:26px}#event-complete p{color:var(--p-muted);line-height:1.6}
@media(max-width:760px){body[data-palette] .vehicle-choice{grid-template-columns:1fr}body[data-palette] .vehicle-choice label>span{min-height:0;padding:15px}.event-form{padding:0 21px}.event-form .field-row{flex-direction:column;gap:0}.booking-head{gap:12px}}

/* SVL leads the public request experience. */
body .svl-reserve-brand{margin-bottom:20px}
body .svl-reserve-brand img{width:104px;height:auto;max-height:none;object-fit:contain;border-radius:0}
body[data-palette=ivory] .svl-reserve-brand img{filter:brightness(0)}

/* Four clear services and a more legible atlas. */
body.map-direction[data-palette=forest]{--map-water:#153d35;--map-land:#426653;--map-coast:#87a58c;--map-road:#9eb4a0;--map-street:#a3b5a0}
body.map-direction .map-drawing{mask-image:radial-gradient(ellipse 58% 60% at 52% 52%,#000 60%,transparent 98%)}
body.map-direction .map-place-label{color:var(--map-heading);font-size:14px;text-shadow:0 1px 8px var(--map-bg)}
body.map-direction .map-place-label i{width:34px;height:34px;background:color-mix(in srgb,var(--map-bg) 90%,transparent);border-color:var(--map-coast);color:var(--map-accent);border-radius:12px;box-shadow:0 5px 15px #071d2426}
body.map-direction .map-place-label svg{width:18px;height:18px}
body.map-direction .map-ocean,body.map-direction .map-bay{opacity:.7}
body.map-direction .map-footer{justify-content:flex-end}
body.map-direction .refined-journeys .journey-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
body.map-direction .refined-journeys .journey-card,body.map-direction .refined-journeys .journey-card:nth-child(n+4){grid-column:span 1}
@media(max-width:1050px){body.map-direction .refined-journeys .journey-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.map-direction .refined-journeys .journey-card:last-child{grid-column:span 1;padding:0 0 18px;min-height:228px;justify-content:initial}body.map-direction .refined-journeys .journey-card:last-child .journey-art{position:relative;height:83px}body.map-direction .refined-journeys .journey-card:last-child .journey-pin{top:20px}body.map-direction .refined-journeys .journey-card:last-child .journey-explore{margin-top:auto}body.map-direction .map-place-label{font-size:12px}body.map-direction .map-place-label i{width:28px;height:28px}body.map-direction .map-place-label svg{width:15px;height:15px}}

/* Personally arranged services lead, with equal visual care for every service. */
body.map-direction .refined-journeys .tailored-services{grid-template-columns:repeat(6,minmax(0,1fr))}
body.map-direction .refined-journeys .tailored-services .journey-card{grid-column:span 2}
body.map-direction .refined-journeys .tailored-services .journey-card:nth-child(-n+2){grid-column:span 3}
.daily-days{border:0;padding:0;margin:0 0 24px;display:flex;gap:7px;flex-wrap:wrap}.daily-days legend{font-size:14px;margin-bottom:10px}.daily-days label{position:relative;cursor:pointer}.daily-days input{position:absolute;opacity:0}.daily-days span{display:block;padding:12px 13px;background:var(--p-deep);border:1px solid var(--p-muted);border-radius:12px;color:var(--p-text);font-size:14px}.daily-days input:checked+span{background:var(--p-raised);border-color:var(--p-accent);box-shadow:inset 0 0 0 1px var(--p-accent)}.daily-days input:focus-visible+span{outline:2px solid var(--p-accent);outline-offset:3px}.daily-complete{padding:0 32px 32px}.daily-complete p{color:var(--p-muted);line-height:1.6}
@media(max-width:760px){body.map-direction .refined-journeys .tailored-services{grid-template-columns:1fr}body.map-direction .refined-journeys .tailored-services .journey-card,body.map-direction .refined-journeys .tailored-services .journey-card:nth-child(-n+2){grid-column:span 1;min-height:215px}body.map-direction .refined-journeys .tailored-services .journey-card:nth-child(n+3){min-height:195px}}

.account-entry{margin-left:auto;color:var(--map-heading);font-size:14px;padding:10px 18px;border:1px solid var(--map-coast);border-radius:24px}.site-header .account-entry+.menu-toggle{margin-left:14px}.mobile-menu [data-account]{color:var(--p-text);font:inherit;text-align:left;padding:16px 0}
.account-dialog{width:610px}#account-content{padding:38px}.account-logo{width:85px;height:auto;display:block;margin-bottom:22px}.account-preview-label{font-size:10px;letter-spacing:1.7px;color:var(--p-muted)}#account-content h2{font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-.8px;margin:16px 0}#account-content p{font-size:16px;line-height:1.6;color:var(--p-muted)}#account-content label{display:block;color:var(--p-text);font-size:14px;margin:22px 0}#account-content input{display:block;width:100%;box-sizing:border-box;background:var(--p-deep);color:var(--p-text);border:1px solid var(--p-muted);border-radius:12px;padding:15px;margin-top:9px;font:inherit;font-size:16px}#account-content form>.button{width:100%;border-radius:28px;margin:10px 0 16px;min-height:52px}#account-content small{display:block;color:var(--p-muted);font-size:12px;line-height:1.6}#account-content strong{overflow-wrap:anywhere}#account-content .account-link{display:block;color:var(--p-accent);font-size:14px;padding:14px 0;text-align:left}.account-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--p-deep);border-radius:12px;padding:5px;margin:25px 0}.account-tabs button{padding:12px 4px;color:var(--p-muted);font-size:12px;border-radius:9px}.account-tabs button[aria-pressed=true]{background:var(--p-raised);color:var(--p-text)}.account-empty{padding:22px 0}.account-empty h3{font-size:23px;font-weight:400;margin:8px 0}.account-empty .button{border-radius:26px;margin-top:12px}.account-glyph{font-size:40px;color:var(--p-accent)}.account-note{background:var(--p-deep);padding:20px;border-radius:14px;margin:20px 0}.account-note p{margin:6px 0}.account-placeholder{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--p-muted);font-size:15px}.account-placeholder span{color:var(--p-muted);overflow-wrap:anywhere}.account-placeholder strong{font-weight:500}body[data-palette=ivory] .account-logo{filter:brightness(0)}
@media(max-width:760px){#account-content{padding:28px 22px}.account-entry{font-size:13px;padding:9px 14px}.account-tabs button{font-size:11px}.account-placeholder{flex-direction:column;gap:8px}}
/* Matched header controls. */
body.map-direction .site-header .account-entry,
body.map-direction .site-header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;box-sizing:border-box;width:auto;min-width:96px;height:42px;min-height:42px;padding:0 17px;border:1px solid color-mix(in srgb,var(--map-coast) 65%,transparent);border-radius:24px;background:color-mix(in srgb,var(--map-bg) 75%,transparent);color:var(--map-heading);font-family:inherit;font-size:14px;font-weight:400;line-height:1;letter-spacing:0;cursor:pointer;transition:background .2s,border-color .2s}
body.map-direction .site-header .account-entry{margin-left:auto}
body.map-direction .site-header .account-entry+.menu-toggle{margin-left:10px}
body.map-direction .site-header .menu-toggle svg{width:17px;height:17px;flex-shrink:0}
body.map-direction .site-header .account-entry:hover,
body.map-direction .site-header .menu-toggle:hover{background:var(--map-land);border-color:var(--map-coast)}
body.map-direction .site-header .account-entry:focus-visible,
body.map-direction .site-header .menu-toggle:focus-visible{outline:2px solid var(--map-accent);outline-offset:4px}
@media(max-width:760px){body.map-direction .site-header .account-entry,body.map-direction .site-header .menu-toggle{min-width:84px;height:42px;padding:0 13px;font-size:13px}body.map-direction .site-header .account-entry+.menu-toggle{margin-left:0}}
body.map-direction .site-header{column-gap:10px}
body.map-direction .site-header .account-entry+.menu-toggle{margin-left:0}

/* Direct, balanced contact options. */
body.map-direction .refined-contact{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:50px;padding:64px 5%;margin:0;border-top:1px solid color-mix(in srgb,var(--map-coast) 25%,transparent)}
body.map-direction .refined-contact h2{font-family:'Avenir Next',Avenir,Arial,sans-serif;font-size:clamp(30px,3.5vw,42px);font-weight:400;letter-spacing:-1px;line-height:1.15;margin:0 0 14px;color:var(--map-heading)}
body.map-direction .refined-contact .contact-intro p{font-size:16px;line-height:1.5;color:var(--map-muted);margin:0}
body.map-direction .refined-contact .contact-channels{display:grid;gap:12px;padding:0;background:transparent;border:0;border-radius:0}
body.map-direction .refined-contact .contact-channels a{display:flex;align-items:center;gap:17px;padding:20px 22px;border:1px solid color-mix(in srgb,var(--map-coast) 40%,transparent);border-radius:16px;background:color-mix(in srgb,var(--map-land) 30%,var(--map-bg));text-decoration:none;min-width:0;transition:background .2s}
body.map-direction .refined-contact .contact-channels a:hover{background:var(--map-land)}
body.map-direction .refined-contact .contact-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:13px;background:var(--map-bg);color:var(--map-accent)}
.contact-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
body.map-direction .refined-contact .contact-value{min-width:0;display:flex;flex-direction:column;gap:6px;letter-spacing:0}
body.map-direction .refined-contact .contact-value>span{font-size:13px;color:var(--map-muted);letter-spacing:0;text-transform:none}
body.map-direction .refined-contact .contact-value strong{font-size:18px;font-weight:400;line-height:1.4;color:var(--map-heading);overflow-wrap:anywhere;letter-spacing:0}
@media(max-width:760px){body.map-direction .refined-contact{grid-template-columns:1fr;gap:25px;padding:42px 24px}body.map-direction .refined-contact .contact-channels a{padding:17px 16px;gap:13px}body.map-direction .refined-contact .contact-value strong{font-size:16px}}
body.map-direction .refined-contact .contact-channels a{justify-content:flex-start;text-align:left}
body.map-direction .refined-contact .contact-value{margin:0;align-items:flex-start}

/* Compact contact layout with one consistent left edge. */
body.map-direction .refined-contact{display:block;padding:48px 5% 50px}
body.map-direction .refined-contact .contact-intro{margin:0 0 24px}
body.map-direction .refined-contact h2{font-size:32px;margin:0}
body.map-direction .refined-contact .contact-channels{display:flex;flex-wrap:wrap;gap:24px 64px}
body.map-direction .refined-contact .contact-channels a{padding:0;min-height:56px;border:0;border-radius:0;background:transparent;gap:14px;justify-content:flex-start;text-align:left}
body.map-direction .refined-contact .contact-channels a:hover{background:transparent}
body.map-direction .refined-contact .contact-channels a:hover strong{color:var(--map-accent)}
body.map-direction .refined-contact .contact-icon{background:transparent;width:28px;height:36px;border-radius:0}
body.map-direction .refined-contact .contact-value{margin:0;align-items:flex-start;gap:4px}
@media(max-width:760px){body.map-direction .refined-contact{padding:36px 24px 40px}body.map-direction .refined-contact .contact-channels{flex-direction:column;gap:20px}body.map-direction .refined-contact h2{font-size:29px}}

body.map-direction .site-footer{display:flex;align-items:center;flex-wrap:wrap;gap:28px;padding:32px 5%;border-top:1px solid color-mix(in srgb,var(--map-coast) 25%,transparent)}
body.map-direction .site-footer .footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-left:auto}
body.map-direction .site-footer .footer-contact>span{font-size:13px;color:var(--map-muted)}
body.map-direction .site-footer .footer-contact a{font-size:15px;line-height:1.4;color:var(--map-heading);text-decoration:none;overflow-wrap:anywhere}
body.map-direction .site-footer .footer-contact a:hover{text-decoration:underline;text-underline-offset:4px}
body.map-direction .site-footer .footer-contact+div{margin:0}
@media(max-width:760px){body.map-direction .site-footer{padding:28px 24px;gap:22px}body.map-direction .site-footer .footer-contact{margin-left:0;flex-basis:100%}}

#map-service-description{font-size:14px;line-height:1.5;margin:8px 0 0;color:var(--map-muted)}
.map-caption.scene-enter{animation:map-service-in .55s ease both}
@keyframes map-service-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.map-caption.scene-enter{animation:none}}

body.map-direction .map-place-label.north-bay-label{transform:translate(calc(-100% + 17px),-50%);flex-direction:row-reverse;gap:8px}
@media(max-width:760px){body.map-direction .map-place-label.north-bay-label{transform:translate(calc(-100% + 14px),-50%)}}

body.map-direction .map-stage{aspect-ratio:900/1280}
body.map-direction .map-caption{left:3%;bottom:5%;max-width:230px}
body.map-direction .map-ocean{left:19%;top:64%}
body.map-direction .map-bay{left:43%;top:38%}
@media(max-width:760px){body.map-direction .map-stage{aspect-ratio:900/1280}body.map-direction .map-place-label{font-size:10px;gap:5px}body.map-direction .map-place-label i{width:23px;height:23px}body.map-direction .map-caption{bottom:0;left:0;max-width:190px}}
/* Fit the expanded coastline within the hero instead of clipping southern cities. */
body.map-direction .map-stage{height:620px;width:auto;max-width:none;aspect-ratio:900/1280;margin-left:0;justify-self:center}
body.map-direction .map-caption{bottom:4%;left:-13%;max-width:210px}
@media(max-width:760px){body.map-direction .map-stage{height:auto;width:100%;max-width:500px;aspect-ratio:900/1280;margin:10px auto 0}body.map-direction .map-caption{left:0;bottom:0;max-width:175px}}

.map-place-label{transition:opacity .45s ease,filter .45s ease}
.showcase-playing .map-place-label{opacity:0;filter:blur(3px)}
.showcase-playing .map-place-label.showcase-place{opacity:1;filter:blur(0)}
@media(prefers-reduced-motion:reduce){.map-place-label{transition:none}}

/* Each service gets its own floating map card. */
body.map-direction .showcase-playing .map-caption{left:var(--scene-x,3%);top:var(--scene-y,60%);bottom:auto;width:205px;max-width:205px;box-sizing:border-box;padding:18px;border-radius:20px;background:color-mix(in srgb,var(--map-bg) 94%,transparent);box-shadow:0 12px 32px #001a2426;transition:left .8s ease,top .8s ease}
.showcase-symbol{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--map-land);color:var(--map-accent);margin-bottom:12px}.showcase-symbol svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.showcase-dots{display:flex;gap:5px;margin-top:14px}.showcase-dots i{width:5px;height:5px;border-radius:4px;background:var(--map-coast);opacity:.4}.showcase-dots i.current{width:22px;background:var(--map-accent);opacity:1}
.map-hero:not(.showcase-playing) .showcase-symbol,.map-hero:not(.showcase-playing) .showcase-dots{display:none}
@media(max-width:760px){body.map-direction .showcase-playing .map-caption{width:165px;max-width:165px;padding:13px}.showcase-symbol{width:27px;height:27px;margin-bottom:8px}.map-caption small{font-size:8px}.map-caption strong{font-size:13px}#map-service-description{font-size:12px}}
@media(prefers-reduced-motion:reduce){body.map-direction .showcase-playing .map-caption{transition:none}}

.map-camera{position:absolute;inset:0;transform-origin:0 0;transition:transform 1.4s cubic-bezier(.22,.7,.25,1)}
body.map-direction .map-stage{overflow:hidden}
body.map-direction .map-camera .map-place-label{font-size:11px}
body.map-direction .map-camera .map-place-label i{width:24px;height:24px;border-radius:8px}
body.map-direction .map-camera .map-place-label svg{width:14px;height:14px}
@media(prefers-reduced-motion:reduce){.map-camera{transition:none}}
/* Reserve a separate caption area so service cards never cover destinations. */
body.map-direction .map-stage{height:710px;overflow:hidden}
body.map-direction .map-camera{bottom:150px}
body.map-direction .showcase-playing .map-caption,
body.map-direction .map-caption{left:0;right:0;top:auto;bottom:4px;width:100%;max-width:none;min-height:130px;padding:18px 20px;border-radius:18px;transition:none}
body.map-direction .map-caption .showcase-symbol{float:left;margin:0 14px 45px 0}
body.map-direction .map-caption .showcase-dots{margin-left:46px}
body.map-direction .map-caption small{margin-bottom:6px}
body.map-direction .map-caption #map-service-description{margin-top:6px}
@media(max-width:760px){body.map-direction .map-stage{height:auto;aspect-ratio:900/1500;overflow:hidden}body.map-direction .map-camera{bottom:145px}body.map-direction .showcase-playing .map-caption,body.map-direction .map-caption{left:0;top:auto;bottom:0;width:100%;max-width:none;min-height:125px;padding:16px}}

.map-viewport{position:absolute;inset:0 0 150px;overflow:hidden}
body.map-direction .map-camera{inset:0}
@media(max-width:760px){.map-viewport{bottom:145px}}
/* Compact service captions without the repeated introduction. */
body.map-direction .map-stage{height:620px}
.map-viewport{bottom:105px}
body.map-direction .showcase-playing .map-caption{min-height:0;padding:13px 16px;border-radius:14px}
.showcase-playing .map-caption>small,.showcase-playing .showcase-dots{display:none!important}
body.map-direction .showcase-playing .map-caption .showcase-symbol{width:28px;height:28px;float:left;margin:4px 12px 20px 0;border-radius:9px}
body.map-direction .showcase-playing .map-caption .showcase-symbol svg{width:18px;height:18px}
body.map-direction .showcase-playing .map-caption strong{font-size:15px}
body.map-direction .showcase-playing .map-caption #map-service-description{font-size:12px;margin-top:4px}
@media(max-width:760px){body.map-direction .map-stage{height:auto;aspect-ratio:900/1500}.map-viewport{bottom:100px}}
body.map-direction .showcase-playing .map-caption{left:50%;right:auto;width:max-content;max-width:calc(100% - 24px);transform:translateX(-50%);padding:11px 15px}
body.map-direction .showcase-playing .map-caption.scene-enter{animation:compact-caption-in .45s ease both}
@keyframes compact-caption-in{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){body.map-direction .showcase-playing .map-caption.scene-enter{animation:none}}
/* Compact mobile service rows. */
@media(max-width:760px){
body.map-direction .refined-journeys .tailored-services{gap:10px}
body.map-direction .refined-journeys .tailored-services .journey-card,
body.map-direction .refined-journeys .tailored-services .journey-card:nth-child(-n+2),
body.map-direction .refined-journeys .tailored-services .journey-card:nth-child(n+3),
body.map-direction .refined-journeys .tailored-services .journey-card:last-child{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:13px;row-gap:5px;min-height:0;padding:16px;align-items:center;border-radius:14px}
body.map-direction .refined-journeys .tailored-services .journey-art,
body.map-direction .refined-journeys .tailored-services .journey-card:last-child .journey-art{position:relative;inset:auto;width:40px;height:40px;grid-row:1/3;overflow:visible}
body.map-direction .refined-journeys .tailored-services .journey-route-art{display:none}
body.map-direction .refined-journeys .tailored-services .journey-pin,
body.map-direction .refined-journeys .tailored-services .journey-card:last-child .journey-pin{inset:0;width:40px;height:40px;border-radius:12px;box-shadow:none}
body.map-direction .refined-journeys .tailored-services .journey-pin svg{width:22px;height:22px}
body.map-direction .refined-journeys .tailored-services .journey-card-copy{padding:0;grid-column:2}
body.map-direction .refined-journeys .tailored-services .journey-card strong{font-size:16px;margin:0 0 4px;line-height:1.25}
body.map-direction .refined-journeys .tailored-services .journey-card small{font-size:12px;line-height:1.4}
body.map-direction .refined-journeys .tailored-services .journey-explore,
body.map-direction .refined-journeys .tailored-services .journey-card:last-child .journey-explore{grid-column:2;padding:3px 0 0;margin:0;font-size:11px}
}
@media(max-width:760px){body.map-direction .refined-journeys .tailored-services .journey-card{margin:0}}
/* Free scrolling: never pull visitors toward a section boundary. */
html:has(body.map-direction){scroll-snap-type:none;scroll-behavior:auto;scroll-padding-top:24px}
body.map-direction #home,body.map-direction #services,body.map-direction #before-you-go,body.map-direction .site-footer{scroll-snap-align:none;scroll-snap-stop:normal;scroll-margin-top:0}
html:has(body.map-direction.modal-open){scroll-snap-type:none}
body.map-direction dialog{scroll-snap-type:none;overscroll-behavior:contain}
@media(max-width:760px){html:has(body.map-direction){scroll-padding-top:18px}}
@media(prefers-reduced-motion:reduce){html:has(body.map-direction){scroll-snap-type:none;scroll-behavior:auto}}
