body.contact-page-body{}
.contact-page{
  padding-bottom:var(--space-12);
}
.contact-hero{
  padding-top:var(--space-12);
  padding-bottom:var(--space-8);
}
.contact-hero-panel{
  position:relative;
}
.contact-hero-content{
  display:grid;
  gap:var(--space-6);
}
@media(min-width:900px){
  .contact-hero-content{
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
    align-items:stretch;
  }
}
.contact-hero-text h1{
  margin-bottom:var(--space-3);
}
.contact-hero-lead{
  font-size:var(--font-size-lg);
}
.contact-hero-cta{
  margin-top:var(--space-4);
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-3);
}
.contact-hero-aside-inner{
  height:100%;
}
.contact-hero-list{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.contact-label{
  display:block;
  font-size:var(--font-size-sm);
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:var(--color-text-soft);
  margin-bottom:var(--space-1);
}
.contact-address{
  margin-bottom:0;
}
.contact-hero-link{
  display:inline-flex;
  margin-top:var(--space-3);
  font-size:var(--font-size-sm);
}
.contact-layout-section{
  padding-bottom:var(--space-8);
}
.contact-grid{
  display:grid;
  gap:var(--space-6);
}
@media(min-width:1000px){
  .contact-grid{
    grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr);
    align-items:flex-start;
  }
}
.contact-info-columns{
  display:grid;
  gap:var(--space-4);
}
@media(min-width:900px){
  .contact-info-columns{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
.contact-info-block h3{
  font-size:1.15rem;
  margin-bottom:var(--space-2);
}
.lux-contact-form .form-row{
  display:grid;
  gap:var(--space-4);
  margin-bottom:var(--space-4);
}
@media(min-width:768px){
  .lux-contact-form .form-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .lux-contact-form .form-row .form-field:only-child{
    grid-column:1/-1;
  }
}
.lux-contact-form .form-field{
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
}
.lux-contact-form label{
  font-size:var(--font-size-sm);
  text-transform:uppercase;
  letter-spacing:0.13em;
}
.lux-contact-form .required{
  color:var(--color-danger);
}
.form-row-consent{
  align-items:flex-start;
}
.form-row-consent .form-field{
  flex-direction:row;
  align-items:flex-start;
  gap:var(--space-2);
}
.form-row-consent input[type="checkbox"]{
  margin-top:0.25rem;
}
.form-row-submit{
  align-items:center;
}
.form-note{
  font-size:var(--font-size-sm);
  color:var(--color-text-soft);
}
.contact-location-section{
  padding-bottom:var(--space-8);
}
.contact-location-inner{
  display:grid;
  gap:var(--space-6);
}
@media(min-width:900px){
  .contact-location-inner{
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
    align-items:center;
  }
}
.contact-location-list li+li{
  margin-top:var(--space-2);
}
.contact-location-cta{
  display:inline-flex;
  margin-top:var(--space-4);
}
.map-placeholder{
  position:relative;
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,rgba(203,165,106,0.12),rgba(203,165,106,0.3));
  min-height:260px;
  box-shadow:var(--shadow-soft);
}
.map-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:var(--space-4);
  color:var(--color-text);
}
.map-overlay span{
  font-family:var(--font-family-serif);
  font-size:var(--font-size-xl);
  margin-bottom:var(--space-2);
}
.map-overlay p{
  margin-bottom:0;
}
.contact-hours-team-section{
  padding-bottom:var(--space-8);
}
.contact-hours-team-grid{
  display:grid;
  gap:var(--space-6);
}
@media(min-width:1000px){
  .contact-hours-team-grid{
    grid-template-columns:1fr 1.2fr;
  }
}
.opening-hours-list{
  margin-bottom:var(--space-4);
}
.opening-hours-row{
  display:flex;
  justify-content:space-between;
  font-size:var(--font-size-sm);
  padding-block:0.4rem;
  border-bottom:1px solid var(--color-border-soft);
}
.opening-hours-row:last-child{
  border-bottom:none;
}
.opening-hours-row dt{
  font-weight:500;
}
.opening-hours-row dd{
  margin:0;
  color:var(--color-text-soft);
}
.opening-hours-note{
  font-size:var(--font-size-sm);
}
.team-contacts{
  display:grid;
  gap:var(--space-4);
}
@media(min-width:768px){
  .team-contacts{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
.team-role{
  font-size:var(--font-size-sm);
}
.contact-social-faq-section{
  padding-bottom:var(--space-8);
}
.contact-social-faq-grid{
  display:grid;
  gap:var(--space-6);
}
@media(min-width:1000px){
  .contact-social-faq-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  }
}
.social-links-list{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.social-label{
  display:block;
  font-size:var(--font-size-sm);
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:var(--color-text-soft);
}
.social-note{
  font-size:var(--font-size-sm);
}
.faq-list{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.faq-item h3{
  font-size:1.1rem;
  margin-bottom:var(--space-1);
}
.contact-access-events-section{
  padding-bottom:var(--space-8);
}
.contact-access-events-grid{
  display:grid;
  gap:var(--space-6);
}
@media(min-width:1000px){
  .contact-access-events-grid{
    grid-template-columns:1.1fr 1.1fr;
  }
}
.access-list li+li,
.events-list li+li{
  margin-top:var(--space-2);
}
.access-note,
.events-note{
  font-size:var(--font-size-sm);
}
.contact-feedback-section{
  padding-bottom:var(--space-12);
}
.contact-feedback-inner{
  display:grid;
  gap:var(--space-6);
}
@media(min-width:900px){
  .contact-feedback-inner{
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
    align-items:flex-start;
  }
}
.feedback-form .form-field{
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
  margin-bottom:var(--space-4);
}
.feedback-form label{
  font-size:var(--font-size-sm);
  text-transform:uppercase;
  letter-spacing:0.13em;
}
.feedback-form .form-row-submit{
  display:flex;
  justify-content:flex-start;
}
@media(max-width:600px){
  .contact-hero{
    padding-top:var(--space-10);
  }
  .opening-hours-row{
    flex-direction:column;
    align-items:flex-start;
    gap:0.15rem;
  }
}
