@font-face { font-family: "Dancing Script"; src: url("DancingScript-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
:root { color-scheme: light; background: #f6d79d; }
* { box-sizing: border-box; }
body { min-width: 320px; min-height: 100%; margin: 0; color: #3d2519; background: #f6d79d; font-family: Georgia, serif; }
a { color: inherit; }
.contact-page { width: 100%; min-height: 100dvh; margin: 0; padding: max(18px, env(safe-area-inset-top)) 18px max(36px, calc(env(safe-area-inset-bottom) + 18px)); background: #f6d79d url("pergament-ruhig-hell.png") center top / 100% auto repeat-y; }
.contact-header { position: relative; padding: max(54px, calc(env(safe-area-inset-top) + 36px)) 18px 18px; text-align: center; color: #006b3b; text-shadow: 0 1px 0 rgb(255 243 210 / 72%); }
.back-link { position: absolute; top: 16px; left: 18px; padding: 6px 10px; color: #5d2416; font-size: .86rem; font-weight: 700; text-decoration: none; text-shadow: none; background: rgb(255 244 211 / 88%); border: 1px solid rgb(93 36 22 / 48%); border-radius: 999px; box-shadow: 0 1px 2px rgb(73 36 18 / 18%); }
.header-logo { display: block; width: clamp(62px, 18vw, 92px); height: auto; margin: 0 auto 6px; }
.eyebrow { display: none; }
h1 { max-width: 100%; margin: 5px auto 0; font-family: "Dancing Script", cursive; font-size: clamp(2rem, 8vw, 3.9rem); font-weight: 600; line-height: .88; text-align: center; }
h1 span { font-family: Georgia, serif; font-size: .5em; letter-spacing: .035em; }
.chalkboard { display: flex; justify-content: center; margin: 18px auto 28px; padding: 0; background: transparent; border: 0; box-shadow: none; }
.chalkboard img { display: block; width: min(100%, 470px); height: auto; }
h2 { margin: 0; font-family: "Dancing Script", cursive; font-size: 2.35rem; font-weight: 600; line-height: 1; text-align: center; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; clip-path: inset(50%); }
.contact-card { display: grid; justify-items: center; max-width: 610px; gap: 10px; margin: 0 auto; padding: 18px clamp(14px, 4vw, 36px) 36px; color: #4a2c1c; text-align: center; background: transparent; }
.contact-logo { display: block; width: 74px; height: auto; margin: -4px 0 -9px; }
.contact-card h2 { color: #006b3b; }
address { font-style: normal; line-height: 1.5; font-weight: 700; }
.directions-link, .reserve-link { padding: 10px 20px; color: #fff6df; font-weight: 700; text-decoration: none; background: #006b3b; border: 2px solid #c98c43; border-radius: 7px; box-shadow: 0 2px 0 #004728; }
.reserve-link { margin-top: 3px; min-width: 160px; text-transform: uppercase; letter-spacing: .05em; background: #a82016; box-shadow: 0 2px 0 #64120e; }
.contact-detail { color: #4a2c1c; font-weight: 700; text-underline-offset: 3px; }
.legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 15px; padding: 20px 8px 4px; color: #4a2c1c; font-size: .88rem; font-weight: 700; }
.legal-links a { text-underline-offset: 3px; }
a:focus-visible { outline: 3px solid #006b3b; outline-offset: 3px; }
@media (min-width: 761px) { .contact-page { max-width: 760px; margin: 0 auto; } }
