.contact-hero{padding-top:var(--space-12)}
.contact-hero-shell{margin-inline:auto}
.contact-hero-grid{display:grid;gap:var(--space-6)}
@media(min-width:768px){.contact-hero-grid{grid-template-columns:minmax(0,1.1fr)minmax(0,1fr);align-items:center}}
.contact-hero-copy p{max-width:32rem}
.contact-hero-highlights{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}
.contact-hero-side h2{margin-bottom:var(--space-3)}
.contact-hero-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}
.contact-pill{display:inline-flex;align-items:center;padding:0.35rem 0.9rem;border-radius:var(--radius-pill);background:var(--color-primary-soft);font-size:var(--text-xs);font-weight:500;color:var(--color-text)}
.contact-hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.contact-grid{display:grid;gap:var(--space-6)}
@media(min-width:960px){.contact-grid{grid-template-columns:minmax(0,1.5fr)minmax(0,1fr)}}
.contact-form-card{align-self:flex-start}
.contact-form{display:flex;flex-direction:column;gap:var(--space-4)}
.contact-form-grid{margin-bottom:var(--space-1)}
.form-field{display:flex;flex-direction:column;gap:var(--space-2)}
.form-field label{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}
.form-footer{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-2)}
@media(min-width:768px){.form-footer{flex-direction:row;align-items:flex-start;justify-content:space-between}}
.form-consents{display:flex;flex-direction:column;gap:var(--space-2);max-width:32rem}
.consent-field{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-soft)}
.consent-field input{width:auto;margin-top:0.15rem}
.form-note{font-size:var(--text-xs);margin-top:-4px}
.contact-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}
.contact-reservation p{margin-bottom:var(--space-3)}
.reservation-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}
.reservation-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}
.contact-details-card{display:flex;flex-direction:column;gap:var(--space-4)}
.contact-details{display:grid;gap:var(--space-3)}
.contact-details dt{font-size:var(--text-xs);letter-spacing:0.12em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:var(--space-1)}
.contact-details dd{font-size:var(--text-sm);color:var(--color-text)}
.opening-hours ul{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2);margin-bottom:var(--space-2)}
.opening-hours li{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--color-text)}
.service-team{display:flex;flex-direction:column;gap:var(--space-3)}
.team-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-soft)}
.team-tags li{padding:0.25rem 0.75rem;border-radius:var(--radius-pill);background:var(--color-surface-muted)}
.section-muted{background:var(--gray-50)}
.location-grid{display:grid;gap:var(--space-6);align-items:start}
@media(min-width:960px){.location-grid{grid-template-columns:minmax(0,1.2fr)minmax(0,1fr)}}
.transport-info h3{margin-top:var(--space-3);margin-bottom:var(--space-2)}
.transport-list{display:flex;flex-direction:column;gap:var(--space-2)}
.transport-list li span{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}
.location-map-wrapper{width:100%}
.location-map-card{display:flex;flex-direction:column;gap:var(--space-3)}
.map-placeholder{border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-blue),var(--accent-mint));padding:var(--space-5);color:var(--color-text);min-height:220px;display:flex;align-items:flex-end}
.map-placeholder p{color:var(--color-text);margin-bottom:0;font-size:var(--text-sm);max-width:24rem}
.map-load-btn{align-self:flex-start}
.map-note{font-size:var(--text-xs)}
.faq-container{display:flex;flex-direction:column;gap:var(--space-6)}
.faq-grid{display:grid;gap:var(--space-6)}
@media(min-width:960px){.faq-grid{grid-template-columns:minmax(0,1.5fr)minmax(0,0.9fr)}}
.faq-list{display:flex;flex-direction:column;gap:var(--space-3)}
.faq-item{border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft);padding:var(--space-4);border:1px solid rgba(255,255,255,0.8)}
.faq-item summary{list-style:none;cursor:pointer;font-weight:600;font-size:var(--text-sm);color:var(--color-text);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item[open]{border-color:rgba(138,208,196,0.6)}
.faq-item .faq-body{margin-top:var(--space-3)}
.faq-item .faq-body p{margin-bottom:0;font-size:var(--text-sm)}
.faq-aside{align-self:flex-start}
.faq-aside p{margin-bottom:var(--space-3)}
.faq-contact-options{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-sm)}
.faq-contact-options span{font-weight:600;color:var(--color-text)}
.faq-contact-options a{display:block}
@media(max-width:767px){.contact-hero{padding-top:var(--space-8)}.sticky-cta{left:50%;transform:translateX(-50%)}}
