.visit-page { color:var(--body-copy); }

.visit-skip { position:absolute;left:-10000px; }
.visit-skip:focus { left:1rem;top:1rem;z-index:1000;background:#fff;padding:1rem; }
.visit-hero,.visit-location,.visit-menu,.visit-mobile { padding:4.5rem max(2rem,calc((100vw - 1160px)/2)); }
.visit-hero { display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:4rem;background:#e8f5f8; }
.visit-copy h1 { font-size:clamp(2.7rem,4.4vw,4.2rem);margin:1rem 0;max-width:17ch; }
.visit-copy p:not(.eyebrow) { line-height:1.7;max-width:36rem; }
.visit-copy .visit-tagline { font-size:1.35rem;font-weight:700;margin:1rem 0; }
.visit-opening { display:inline-block;background:var(--candy);padding:.65rem 1rem;border-radius:.5rem;font-weight:700;color:var(--cherry-dark); }
.visit-actions { display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem; }
.visit-art { background:#fff;border:2px solid var(--azure);padding:1.5rem;border-radius:1.5rem;text-align:center; }
.visit-art img { display:block;width:100%;height:auto; }
.visit-art p { font-family:Anton,sans-serif;font-size:1.75rem;color:var(--cherry);margin:.5rem 0; }
.visit-location { display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;scroll-margin-top:1rem; }
.visit-page h2 { font-size:clamp(2rem,3vw,3rem);margin:.75rem 0 1.2rem; }
.visit-location p,.visit-menu p,.visit-mobile p { line-height:1.7; }
.visit-address { background:var(--candy);padding:2.3rem;border-radius:1.5rem; }
.visit-address address { font-style:normal;font-size:1.9rem;font-weight:700;line-height:1.4; }
.visit-address address span { display:block;font-size:1.1rem;font-weight:500; }
.visit-call { display:block;margin-top:1.2rem;text-decoration:underline; }
.visit-social { display:flex;gap:1.5rem;font-weight:700;margin-top:1.5rem; }
.visit-social a { text-decoration:underline; }
.visit-menu { background:#fff9ee;display:grid;grid-template-columns:1fr 1fr;gap:5rem; }
.visit-flavors article { border-top:2px solid var(--azure);padding:1rem 0; }
.visit-flavors h3 { font-size:1.5rem;margin:0 0 .4rem; }
.visit-flavors p { margin:0; }
.visit-mobile { display:flex;align-items:center;justify-content:space-between;gap:3rem; }
.visit-mobile > div { max-width:43rem; }
.visit-mobile .button { flex-shrink:0; }
@media(max-width:760px) { .visit-hero,.visit-location,.visit-menu,.visit-mobile { padding:2.5rem 1.25rem;gap:2rem;grid-template-columns:1fr; } .visit-art { max-width:28rem;width:100%;margin:auto; } .visit-mobile { display:block; } .visit-mobile .button { margin-top:1rem; } .visit-address { padding:1.5rem; } .visit-actions .button { flex:1;text-align:center; }  }
