.contact-hero{display:flex;flex-direction:column;gap:24px}@media(min-width:960px){.contact-hero{flex-direction:row;align-items:flex-start;gap:40px}.contact-hero__content{flex:2}.contact-hero__side{flex:1}}.contact-hero__side{margin-top:8px}.contact-hero__highlight{margin-top:16px;color:var(--color-text-muted)}.contact-hero__cta{margin-top:20px}.contact-layout{display:flex;flex-direction:column;gap:32px}@media(min-width:960px){.contact-layout{flex-direction:row;align-items:flex-start}.contact-layout__form{flex:3}.contact-layout__info{flex:2;display:flex;flex-direction:column;gap:24px}}.contact-form{margin-top:16px;display:flex;flex-direction:column;gap:20px}.contact-form__grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.contact-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-form__field{display:flex;flex-direction:column;gap:8px}.contact-form__field--full{grid-column:1/-1}.contact-form label{font-size:var(--text-sm);color:var(--color-text)}.contact-form__consents{display:flex;flex-direction:column;gap:8px}.contact-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:var(--text-xs);color:var(--color-text-muted)}.contact-checkbox input[type="checkbox"]{margin-top:4px;min-width:16px;height:16px;border-radius:4px;border:1px solid var(--gray-300)}.contact-checkbox__label a{text-decoration:underline}.contact-form__hint{margin-top:4px}.contact-form__actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}@media(min-width:640px){.contact-form__actions{flex-direction:row;align-items:center;justify-content:space-between}}.contact-form__note{max-width:360px}.contact-info-block+.contact-info-block{margin-top:24px}.contact-details{margin-top:12px;display:flex;flex-direction:column;gap:12px}.contact-details__item dt{font-size:var(--text-sm);color:var(--color-text-muted)}.contact-details__item dd{font-size:var(--text-base);color:var(--color-text)}.contact-details__item a{text-decoration:underline}.contact-quick-links{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.contact-quick-link{font-size:var(--text-sm);padding:6px 12px;border-radius:999px;background-color:var(--color-surface-soft);border:1px solid var(--gray-100)}.contact-quick-link:hover{background-color:var(--color-primary-soft);color:var(--color-primary)}.opening-hours{margin-top:12px;display:flex;flex-direction:column;gap:10px}.opening-hours__row{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-sm)}.opening-hours__row dt{color:var(--color-text-muted)}.opening-hours__row dd{color:var(--color-text)}.opening-hours__note{margin-top:12px}.reservation-grid{display:flex;flex-direction:column;gap:28px}@media(min-width:960px){.reservation-grid{flex-direction:row;align-items:flex-start}.reservation-grid__content{flex:3;padding-right:12px}.reservation-grid__highlight{flex:2}}.reservation-list{margin-top:12px;display:flex;flex-direction:column;gap:8px;font-size:var(--text-sm);color:var(--color-text-muted)}.reservation-list--compact{margin-top:10px}.reservation-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px}.reservation-note{margin-top:12px}.location-grid{display:flex;flex-direction:column;gap:28px}@media(min-width:960px){.location-grid{flex-direction:row;align-items:flex-start}.location-grid__map{flex:3}.location-grid__faq{flex:2}}.location-map-wrapper{margin-top:16px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs);background-color:var(--color-surface-soft)}.location-map-wrapper iframe{width:100%;min-height:260px;border:0}@media(min-width:768px){.location-map-wrapper iframe{min-height:320px}}.location-extra{margin-top:12px}.faq-snippet{margin-top:12px}.social-grid{display:flex;flex-direction:column;gap:28px}@media(min-width:960px){.social-grid{flex-direction:row;align-items:flex-start}.social-grid__content{flex:3;padding-right:12px}.social-grid__privacy{flex:2}}.social-links{margin-top:12px;display:flex;flex-direction:column;gap:8px}.social-links a{text-decoration:underline;font-size:var(--text-sm)}.privacy-links{margin-top:12px;display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm)}.privacy-links a{text-decoration:underline}.sticky-cta{pointer-events:none}.sticky-cta .btn{pointer-events:auto}.faq-item__question span{margin-left:8px;font-size:var(--text-lg);line-height:1}.faq-item__question:hover{color:var(--color-primary)}