@font-face{font-family:Plex;src:url("assets/plex-regular.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url("assets/plex-medium.woff") format("woff");font-weight:500 600;font-display:swap}
:root{--ink:#152e43;--muted:#446173;--paper:#faf8f3;--map:#e8eeea;--blue:#bcd4e6;--red:#f5bdab;--coral:#b54e35;--navy:#142e45;color:var(--ink);background:var(--paper);font-family:Plex,Arial,sans-serif}
*{box-sizing:border-box}body,h1,h2,p,figure{margin:0}img,svg{display:block}a{color:inherit;text-decoration:none;touch-action:manipulation}a:focus-visible{outline:3px solid #be4c26;outline-offset:3px}
.wrap{max-width:1320px;width:calc(100% - clamp(36px,8vw,120px));margin-inline:auto}
header{background:white}.mast,.brands,.crew-brand,.location{display:flex;align-items:center}.mast{height:86px;justify-content:space-between}.brands{gap:21px}.brands i{width:2px;height:38px;background:#e7ebed}.crew-brand{gap:10px;font:700 18px/.99 Arial,sans-serif;letter-spacing:-.7px}.crew-brand img{width:83px}.als-brand{width:77px;height:59px;object-fit:contain}.location{gap:8px;font-size:15px}.location svg{width:18px;height:18px}
.layout{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);grid-template-rows:auto 1fr;grid-template-areas:"intro map" "directory map";gap:22px clamp(24px,3vw,48px);padding-block:32px 45px;align-items:start}
.intro{grid-area:intro;position:relative;isolation:isolate;overflow:hidden;background:#102b41;color:white;min-height:clamp(250px,22vw,310px);display:flex;align-items:flex-end}.hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 48%}.intro:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,25,41,.87) 0%,rgba(7,25,41,.77) 48%,rgba(7,25,41,.27) 100%)}.intro-copy{padding:clamp(24px,2.6vw,42px);width:100%}
.question,.instruction{display:block}.question{font-size:clamp(17px,1.5vw,24px);font-weight:500;letter-spacing:-.025em}.instruction{font-family:Georgia,"Times New Roman",serif;font-size:clamp(43px,4.5vw,69px);letter-spacing:-.055em;font-weight:400;line-height:.98;margin:12px 0 16px;max-width:10ch}.intro p{font-size:17px;line-height:1.48;max-width:36ch}.return{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding-inline:12px;margin-top:15px;background:white;color:var(--ink);font-weight:600}.return[hidden]{display:none}.return:after{content:"→"}
.map-column{grid-area:map;min-width:0}figure{position:relative;background:var(--map);overflow:hidden}.map-top,figcaption{display:flex;align-items:center;justify-content:space-between;position:relative;padding:17px 22px 0}.map-top>span:first-child{font-family:Georgia,serif;font-size:34px;letter-spacing:-1.6px;line-height:1}.map-top em{font:500 14px/1.3 Plex,Arial,sans-serif;color:var(--muted);letter-spacing:0;margin-left:9px}.north{display:flex;flex-direction:column;gap:3px;align-items:center;font-size:11px}.north svg{width:12px;height:15px}
.utah-map{display:block;width:100%;height:clamp(332px,28vw,400px);position:relative}.county{fill:#fcfbf6;stroke:#90a69d;stroke-width:1;stroke-linejoin:round}.county.crew{fill:var(--red);stroke:#aa6956;stroke-width:1.4}.county.als{fill:var(--blue);stroke:#6e8da6;stroke-width:1.4}.utah-map [data-county]{cursor:pointer;touch-action:manipulation}.utah-map [data-county]:is(:focus-visible,:hover,.active) .als{fill:#7eaccf;stroke:#264a65;stroke-width:2}.utah-map [data-county]:is(:focus-visible,:hover,.active) .crew{fill:#ec997e;stroke:#973d29;stroke-width:2}.label-hit{fill:transparent;pointer-events:all}.label path{stroke:#526b77;stroke-width:1.4;fill:none;pointer-events:none}.label circle{fill:#294f64;stroke:white;stroke-width:1;pointer-events:none}.label[data-county=Utah] circle{fill:var(--coral)}.label text{fill:var(--ink);font:600 18px Plex,Arial,sans-serif;paint-order:stroke;stroke:var(--map);stroke-width:3px}.label.active text{text-decoration:underline}
figcaption{justify-content:center;gap:23px;padding:7px 12px 16px;font-size:14px;font-weight:500}figcaption span,.group h2{display:flex;align-items:center;gap:9px}.dot{width:13px;height:13px;display:inline-block;border-radius:50%;flex:none}.blue{background:#a4c5df}.coral{background:#eea98e}
.directions{background:var(--navy);color:white;display:flex;align-items:center;gap:14px;padding:19px 22px;min-height:77px}.directions strong,.directions small{display:block}.directions strong{font-size:19px;line-height:1.2;font-weight:600}.directions small{font-size:14px;margin-top:4px;color:#d5e3eb}.way-icon{color:#ffc0a6}.way-icon svg{width:31px;height:31px}.directions>svg{margin-left:auto;width:20px;flex:none}.directions:hover{background:#23435b}
.directory{grid-area:directory;display:grid;gap:17px;width:100%}.group h2{font-size:15px;font-weight:600;margin:0 0 6px}.choice{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:46px;padding:10px 13px;font-size:16px;font-weight:500;background:#e8eff3}.choice[data-county=Utah]{background:#f6e7df}.choice svg{width:18px;height:18px;flex:none}.choice:is(:focus-visible,:hover,.active){background:#cedeeb}.choice[data-county=Utah]:is(:focus-visible,:hover,.active){background:#f2cfbd}.pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.store{background:#172f42;color:white}.store-in{display:grid;grid-template-columns:1.18fr .82fr;align-items:stretch;min-height:245px}.store-photo{position:relative;min-height:220px;overflow:hidden}.store-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.store-copy{padding:clamp(25px,3vw,48px);align-self:center}.store-copy h2{font:400 clamp(29px,3vw,47px)/1.04 Georgia,serif;letter-spacing:-.05em}.store-copy p,.store-copy address{font-size:16px;line-height:1.48;margin-top:8px}.store-copy address{font-style:normal;color:#d8e3e9}.store-copy a{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:8px;font-weight:600;text-decoration:underline;text-underline-offset:5px}.store-copy a:hover{color:#ffc4ad}
@media(min-width:1600px){.layout{padding-block:45px 50px}}
@media(min-width:701px) and (max-width:1000px){.wrap{width:calc(100% - 44px)}.layout{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:16px 20px}.intro-copy{padding:22px}.instruction{font-size:44px}.intro p{font-size:16px}.utah-map{height:315px}.map-top{padding:17px 14px 0}.directions{padding:15px 13px;gap:9px}.directions strong{font-size:17px}.directions small{font-size:13px}.choice{padding:9px;font-size:15px}.store-copy{padding:24px}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.mast{height:72px}.crew-brand{font-size:14px;gap:6px}.crew-brand img{width:56px}.brands{gap:12px}.brands i{height:30px}.als-brand{width:51px;height:47px}.location{font-size:13px;gap:5px}.location svg{width:15px}.layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"intro" "map" "directory";gap:16px;padding-block:16px 28px}.intro{min-height:160px}.intro-copy{padding:19px 20px}.question{font-size:17px}.instruction{font-size:clamp(36px,8vw,48px);max-width:none;margin:6px 0 8px}.intro p{font-size:15px;max-width:42ch}.return{margin-top:10px}.map-top{padding:12px 14px 0}.map-top>span:first-child{font-size:28px}.utah-map{height:auto;max-height:330px}.label text{font-size:21px}.directions{padding:14px 13px;gap:10px;min-height:68px}.directions strong{font-size:16px}.directions small{font-size:12px}.way-icon svg{width:25px;height:25px}figcaption{padding:4px 10px 12px;font-size:13px}.directory{gap:14px}.store-in{grid-template-columns:1fr;min-height:0;padding-block:16px 22px}.store-photo{min-height:135px}.store-copy{padding:20px 8px 0}.store-copy address br{display:none}.store-copy address br:after{content:" "}}
@media(max-width:370px){.location{font-size:12px}.wrap{width:calc(100% - 24px)}.choice{padding:10px;font-size:15px}}
@media(prefers-reduced-motion:no-preference){.choice,.directions,.county{transition:background-color .18s,fill .18s}.choice svg{transition:transform .18s}.choice:hover svg{transform:translateX(3px)}}
.wash-ripples{pointer-events:none}
.wash-ripples circle{opacity:0;fill:none;stroke:#4085a9;stroke-width:2.6;vector-effect:non-scaling-stroke;transform-origin:321px 185.2px}
.replay-map{font:500 14px Plex,Arial,sans-serif;color:#233e51;background:transparent;border:0;cursor:pointer;min-height:44px;padding:0 9px}
.replay-map:hover{text-decoration:underline}.replay-map:focus-visible{outline:2px solid currentColor}
@media(prefers-reduced-motion:no-preference){
.utah-map.play .wash-ripples circle{animation:rinse 1.95s cubic-bezier(.19,.65,.3,1) var(--delay) both}
.utah-map.play .county.crew{animation:county-coral 1.25s ease-out}
.utah-map.play .county.als{animation:county-blue 1.1s ease-out var(--arrival,.45s) both}
.utah-map [data-county][data-county="Davis"]{--arrival:.62s}.utah-map [data-county][data-county="Tooele"]{--arrival:.72s}.utah-map [data-county][data-county="Summit"]{--arrival:.56s}
@keyframes rinse{0%{transform:scale(3);opacity:0}12%{opacity:.72}100%{transform:scale(245);opacity:0}}
@keyframes county-coral{35%{fill:#e58360}100%{fill:var(--red)}}
@keyframes county-blue{0%,100%{fill:var(--blue)}40%{fill:#77aaca}}
}
@media(prefers-reduced-motion:reduce){.replay-map{display:none}}

.county-surface{position:relative}

.tap-map{position:absolute;inset:0;margin:auto;display:block;touch-action:manipulation}
#county-feedback:not([hidden]){padding:10px 16px;text-align:center;background:#fff;color:var(--ink)}
#county-feedback a{font-weight:600;text-decoration:underline}
.layout{grid-template-areas:"intro map" "city map" "directory map";grid-template-rows:auto auto 1fr}
.city-picker{grid-area:city;background:white;border:1px solid #c4d3d8;min-width:0}
.city-picker summary{padding:15px 18px;font-size:18px;font-weight:500;cursor:pointer;color:var(--navy)}
.city-picker summary::marker{color:#55788c}
.city-body{padding:0 18px 16px}.city-body label{display:block;font-size:14px;color:var(--muted);margin-bottom:5px}
.city-body input,.city-body select{width:100%;min-height:44px;font:inherit;padding:8px 11px;border:1px solid #97aab1;background:white;color:var(--ink);border-radius:4px}
.city-list{max-height:178px;overflow-y:auto;overscroll-behavior:contain;border-bottom:1px solid #d7e0e3}
.city-body button{font:inherit;color:var(--navy);cursor:pointer}.city-list button,#zip-only{display:block;text-align:left;width:100%;border:0;background:white;padding:10px 4px;min-height:44px}
.city-list button:hover,.city-list button:focus-visible{background:#e9f2f5}#zip-only{font-size:14px;text-decoration:underline}.city-body :focus-visible,.city-picker summary:focus-visible{outline:2px solid #37697d;outline-offset:2px}
#city-step:not(:empty),#city-result:not(:empty){margin-top:10px}#city-step form{display:flex;align-items:end;gap:8px}#city-step form label,#city-result label{display:grid;gap:12px}#city-step form label{flex:1;min-width:0;margin:0}#city-step button,.booking{padding:10px 14px;border-radius:4px;background:var(--navy);color:white;border:0;min-height:44px}.booking{display:inline-flex;align-items:center;margin-top:8px;font-weight:500}.city-place{font-weight:600;margin-bottom:8px}.city-list p{padding:10px 4px}
@media(max-width:700px){.layout{grid-template-areas:"intro" "city" "map" "directory";grid-template-rows:auto}}
