/* Mobile-first visit guide, ordered to match the supplied reference screens. */
:root{--visit-coral:#ff6962;--visit-dark:#2c333a}
body{color:#181818;background:#fff}
.main-route{background:#fff!important}
.main-route .reference-start,.main-route .reference-quick{background:#fff!important}
.main-route .reference-intro,.main-route .reference-quick h2{color:var(--visit-coral)!important}
.main-route .choice.yes{background:var(--visit-coral)!important;color:#fff!important}
.main-route .choice.no{background:#fff!important;border-color:#e69791!important;color:var(--visit-coral)!important}
.main-route .choice.no .next{color:var(--visit-coral)!important}
.main-route .dot.active{background:var(--visit-coral)}
.main-route .quick a{background:#f5f5f9!important;border:0;color:var(--visit-dark);box-shadow:none}
.main-route .notice{background:var(--visit-coral)!important}
.bottom .btn.lime,.main-route .bottom .btn.lime{background:var(--visit-coral)!important;color:white!important}
.bottom .btn:not(.lime),.main-route .bottom .btn:not(.lime){background:var(--visit-dark)!important;color:white!important}
.visit-reference{padding:0!important;background:#fff!important;scroll-margin-top:86px}
.visit-reference .simple-return{margin:20px auto 0}
.visit-intro{padding:58px 24px 64px;text-align:center;background:radial-gradient(ellipse at 50% 55%,#ffe6ef 0,#fff6fa 55%,#fff 100%)}
.visit-kicker{color:#ef736e;font-weight:800;font-size:20px;margin:0 0 22px}
.visit-title{font-size:clamp(30px,5.2vw,48px);line-height:1.4;letter-spacing:-1.8px;margin:0 0 32px;font-weight:900;color:#161616}
.visit-description{font-size:19px;line-height:1.9;color:#676767;margin:0 auto 36px;max-width:620px}
.visit-cta{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:20px 35px;min-width:250px;border-radius:99px;background:#ef5752;color:#fff;font-size:20px;font-weight:800;box-shadow:0 14px 30px #f7b6c280}
.visit-cta span{font-size:28px;line-height:1}
.visit-id-card{width:min(460px,92%);margin:54px auto 0;padding:28px;border:1px solid #e5dedb;border-radius:22px;background:repeating-linear-gradient(25deg,#f1f0e7 0,#f1f0e7 3px,#f5f2ef 3px,#f5f2ef 7px);display:grid;grid-template-columns:1fr 110px;gap:15px;text-align:left;box-shadow:0 15px 38px #dcc9cf35}
.visit-id-copy strong{display:block;font-size:25px;color:#263c4b;margin:3px 0 22px}.visit-id-copy b{font-size:19px}.visit-id-copy p{color:#5c6570;font-size:14px;line-height:1.7;margin:12px 0}
.visit-id-portrait{width:110px;height:145px;background:#e1eaf4;border:4px solid #fff;border-radius:12px;display:grid;place-items:center;font-size:70px}
.visit-id-caption{grid-column:1/-1;border-top:1px solid #c7c5bf;padding-top:12px;text-align:center;font-size:13px;color:#62717a}
.visit-hours{padding:56px 24px 54px;text-align:center;max-width:650px;margin:auto}
.visit-hours h2{font-size:clamp(25px,4.6vw,34px);line-height:1.65;letter-spacing:-1px;margin:0 0 50px;font-weight:900}.visit-hours h2 em{color:var(--visit-coral);font-style:normal}
.visit-hour-row{padding:30px 0;border-bottom:1px solid #ececec}.visit-hour-row h3{font-size:30px;margin:0 0 12px;color:#171717}.visit-hour-row p{font-size:24px;font-weight:700;color:#626262;margin:0}.visit-hour-row.sunday{border-bottom:0}.visit-hour-row.sunday h3,.visit-hour-row.sunday p{color:#aaa}.visit-hour-row.sunday p{font-weight:400;font-size:22px}
.visit-hours-note{font-size:14px;color:#777;line-height:1.7;margin:22px auto 28px;max-width:440px}.visit-hours .visit-cta{background:#191919;box-shadow:none;font-weight:500}
.visit-faq{padding:40px 20px 70px;max-width:760px;margin:auto;scroll-margin-top:90px}.visit-faq h2{text-align:center;font-size:32px;color:#111;margin:0 0 32px}.visit-faq details{border:0;background:#f5f5f9;border-radius:24px;margin-bottom:14px;padding:0;overflow:hidden}.visit-faq summary{position:relative;padding:23px 24px 23px 60px;font-size:21px;font-weight:500;line-height:1.6;list-style:none;cursor:pointer}.visit-faq summary::-webkit-details-marker{display:none}.visit-faq summary:before{content:'+';position:absolute;left:23px;top:24px;font-size:28px;font-weight:800;line-height:1.2}.visit-faq details[open] summary:before{content:'−'}.visit-faq details p{padding:0 24px 24px 60px;margin:0;font-size:16px;line-height:1.85;color:#666}.visit-faq .visit-cta{display:flex;width:max-content;min-width:220px;margin:30px auto 0;font-size:17px;padding:17px 28px}
@media(max-width:700px){.visit-reference{scroll-margin-top:70px}.visit-intro{padding:42px 18px 45px}.visit-kicker{font-size:15px;margin-bottom:20px}.visit-title{font-size:31px;letter-spacing:-1.3px;margin-bottom:26px}.visit-description{font-size:16px;line-height:1.9}.visit-cta{font-size:17px;min-width:220px;padding:18px 28px}.visit-id-card{padding:21px;margin-top:44px;grid-template-columns:1fr 90px;gap:10px}.visit-id-copy strong{font-size:21px;margin-bottom:17px}.visit-id-copy b{font-size:17px}.visit-id-portrait{width:90px;height:125px;font-size:58px}.visit-id-copy p{font-size:12px}.visit-id-caption{font-size:12px}.visit-hours{padding:44px 28px}.visit-hours h2{font-size:25px;margin-bottom:35px}.visit-hour-row{padding:29px 0}.visit-hour-row h3{font-size:28px}.visit-hour-row p{font-size:22px}.visit-faq{padding:36px 14px 45px}.visit-faq h2{font-size:27px;margin-bottom:25px}.visit-faq summary{font-size:18px;padding:20px 20px 20px 52px}.visit-faq summary:before{left:20px;top:21px;font-size:25px}.visit-faq details p{padding:0 20px 22px 52px;font-size:15px}}
