/* Shared contact details and footer; independent of menu cards and order controls. */
.site-footer{box-sizing:border-box;background:#062a20;color:#d8e2de;padding:44px max(5vw,20px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);gap:28px;font:14px/1.65 Arial,sans-serif}
.site-footer *{box-sizing:border-box}.site-footer .site-footer-brand{font:700 28px Georgia,serif;color:#fff}.site-footer p{margin:8px 0}.site-footer address{font-style:normal;overflow-wrap:anywhere}.site-footer a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.site-footer a:hover{text-decoration:underline}.site-footer nav{display:flex;flex-direction:column;align-items:start}.site-footer small{grid-column:1/-1;color:#b7ccc2}.site-footer a:focus-visible,.social-qr-card a:focus-visible,.contact-cta:focus-visible{outline:3px solid #d4145a;outline-offset:4px}.site-sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
#contact{display:block}#contact .contact-heading{max-width:800px;margin-bottom:30px}#contact h2{overflow-wrap:anywhere}.contact-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0}.contact-details dt{font-size:13px;font-weight:800;color:#0b3d2e;margin-bottom:8px}.contact-details dd{margin:0;color:#514d48;overflow-wrap:anywhere}.contact-details address{font-style:normal}.contact-details a{display:inline-flex;align-items:center;min-height:44px}.map-panel{margin-top:32px;padding:28px;border:1px solid #ded8cf;border-left:4px solid #d4145a;border-radius:12px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px}.map-panel h3{color:#0b3d2e;margin:6px 0 12px}.map-panel p{margin:0}.contact-eyebrow{font-size:12px;font-weight:700;color:#69645e}.contact-cta{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:12px 20px;background:#0b3d2e;color:#fff;border:0;border-radius:6px;font:700 14px Arial,sans-serif}.contact-cta:disabled{background:#e7ece8;color:#496154;cursor:default}.contact-status{font-size:12px;color:#69645e;line-height:1.5}.map-panel .contact-status{margin-top:10px;max-width:240px}.social-section{margin-top:40px}.social-section>h3{color:#0b3d2e;margin-bottom:24px}.social-qr-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.social-qr-card{min-width:0;padding:18px;background:#fff;border:1px solid #ded8cf;border-radius:12px;display:flex;flex-direction:column;align-items:center;text-align:center}.social-qr-card h4{font:700 17px Georgia,serif;color:#0b3d2e;margin:0 0 16px}.qr-slot{width:100%;aspect-ratio:1;display:grid;place-items:center;background:#f7f1e8;border:1px dashed #c5c0b7;border-radius:8px;overflow:hidden}.qr-slot span{font-size:12px;color:#69645e;padding:12px}.qr-slot img{display:block;width:100%;height:100%;object-fit:contain}.social-qr-card a,.social-qr-card>.contact-status{margin:14px 0 0;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:12px}.social-qr-card a{font-weight:700;color:#0b3d2e}
.about-language{display:flex;gap:4px}.about-language button{border:0;background:none;min-width:44px;min-height:44px;font-weight:700;color:#0b3d2e;cursor:pointer}.about-language button[aria-pressed="true"]{color:#d4145a}.about-page .site-header{gap:20px}.about-page .site-nav{margin-left:auto}.about-page .intro{padding-block:64px;gap:40px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.about-page .intro-visual{margin:0;width:100%;max-width:440px}.about-page .intro-visual img{aspect-ratio:4/3}.about-page .intro-visual:before{display:none}.about-page .section{padding-block:64px}.about-page .intro h1{font-size:clamp(2.6rem,4.8vw,4.5rem)}.about-page .intro>div{display:contents}.about-page .intro{grid-template-areas:'heading visual' 'lead visual';row-gap:20px}.about-page .intro .eyebrow{grid-area:heading;align-self:start;margin:0}.about-page .intro h1{grid-area:heading;margin-top:38px}.about-page .intro .lead{grid-area:lead;margin:0}.about-page .intro-visual{grid-area:visual}.about-page .site-nav a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1000px){.contact-details{grid-template-columns:repeat(2,minmax(0,1fr))}.social-qr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.about-page .intro{grid-template-columns:1fr;grid-template-areas:'heading' 'visual' 'lead';gap:26px}.about-page .intro-visual{max-width:560px;justify-self:center}.about-page .site-header{height:auto;min-height:70px;flex-wrap:wrap;padding-block:12px;gap:8px 16px}.about-page .site-nav{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:6px 18px}.about-page .about-language{margin-left:auto}.about-page .site-nav a:not(.current){display:inline-flex}}
@media(max-width:600px){.site-footer{grid-template-columns:1fr;gap:20px}.contact-details{grid-template-columns:1fr;gap:18px}.map-panel{display:block;padding:22px}.map-panel>div+div{margin-top:20px}.social-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.social-qr-card{padding:14px 10px}.about-page .intro,.about-page .section{padding-block:44px}}

/* Supplied QR artwork is always whole, sharp and surrounded by white space. */
.social-qr-card .qr-slot{margin:0;display:flex;width:100%;aspect-ratio:1;min-height:0;padding:12px;border:0;border-radius:6px;background:#fff;overflow:hidden}
.social-qr-card .qr-slot img{width:100%;height:100%;object-fit:contain;opacity:1;filter:none}
.social-qr-card{padding:18px 14px}
.site-footer.brand-closing{display:block;padding:56px max(5vw,20px) 24px}
.closing-scene{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px;max-width:1296px;margin:auto}
.closing-scene img{display:block;width:100%;height:auto;max-width:720px;max-height:520px;object-fit:contain;border-radius:14px}
.brand-closing .closing-message{font:clamp(30px,3.8vw,60px)/1.3 Georgia,serif;color:#f7f1e8;text-align:center;margin:0;letter-spacing:.015em}
.closing-message>span:last-child{font-size:.66em;letter-spacing:.12em}.closing-heart{color:#f04c86}
.closing-bottom{max-width:1296px;margin:32px auto 0;padding-top:20px;border-top:1px solid #ffffff24;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.brand-closing .closing-bottom nav{flex-direction:row;flex-wrap:wrap;gap:24px}
@media(max-width:700px){.closing-scene{grid-template-columns:1fr;gap:28px}.closing-scene img{max-height:400px}.closing-bottom{justify-content:center;text-align:center}.brand-closing .closing-message{font-size:clamp(30px,8vw,48px)}}

/* Contact-only composition; QR artwork and shared footers keep their existing rules. */
#contact .contact-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,56px);align-items:center;max-width:1296px;margin:auto}
#contact .contact-copy{min-width:0}#contact .contact-heading{margin-bottom:28px}#contact .contact-heading h2{color:#0b3d2e}
#contact .contact-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#contact .contact-details>div{padding:18px;background:#fff;border:1px solid #ded8cf;border-radius:10px;min-width:0}
#contact .contact-details dt{margin-bottom:6px}#contact .contact-details dd{line-height:1.65}
#contact .map-panel{margin-top:22px;padding:0;border:0;background:transparent;display:block}
#contact .contact-cta{gap:12px;border:1px solid #0b3d2e;min-height:48px}#contact .contact-cta:hover{background:#d4145a;border-color:#d4145a}
#contact .contact-visual{min-width:0;margin:0;display:flex;justify-content:center}
#contact .contact-visual img{display:block;width:100%;height:auto;max-width:540px;max-height:660px;object-fit:contain;border-radius:12px}
#contact .social-section{max-width:1296px;margin:48px auto 0}#contact .social-section>h3{font-size:clamp(22px,2.2vw,30px)}
@media(max-width:850px){#contact .contact-layout{grid-template-columns:1fr;gap:28px}#contact .contact-visual img{max-width:520px;max-height:640px}}
@media(max-width:600px){#contact .contact-details{grid-template-columns:1fr}#contact .contact-details>div{padding:16px 18px}#contact .contact-visual img{max-height:none}}
