.contact-hero-shell{align-items:center}.contact-hero-media{grid-template-rows:1.1fr 0.9fr}.contact-hero-photo-large{background-image:url("/assets/images/grand-river-hero-banquet.webp")}.contact-hero-photo-small{background-image:url("/assets/images/atmospheric-pavilion-dining.webp")}.contact-main-grid{align-items:flex-start;gap:var(--space-8)}.contact-main-left{grid-column:span 7}.contact-main-right{grid-column:span 5}.contact-form{margin-top:var(--space-4)}.contact-grid-responsive{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.contact-form-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-2)}.contact-consent-row{margin-top:var(--space-2)}.contact-consent-label{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.contact-consent-label input[type="checkbox"]{margin-top:0.2rem}.contact-aside-card{position:sticky;top:calc(72px + var(--space-6));display:block}.contact-aside-title{font-size:var(--font-size-xl);margin-bottom:var(--space-3)}.contact-aside-block{margin-top:var(--space-4)}.contact-aside-block h3{font-size:var(--font-size-md);margin-bottom:var(--space-2);font-family:var(--font-sans);text-transform:none;letter-spacing:0}.contact-hours-list{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text)}.contact-hours-list li{display:flex;justify-content:space-between;gap:var(--space-2)}.contact-hours-list span:first-child{font-weight:500}.contact-hours-list span:last-child{color:var(--color-text-muted)}.contact-map-grid{gap:var(--space-10);align-items:flex-start}.contact-map-embed-wrapper{grid-column:span 5}.contact-map-card-inner{display:flex;flex-direction:column;gap:var(--space-4)}.contact-map-visual{position:relative;border-radius:var(--radius-lg);background:linear-gradient(135deg,#f4e6d5,#e6d0b5);padding:var(--space-4);min-height:260px;overflow:hidden}.contact-map-river{position:absolute;top:-10%;bottom:-10%;left:35%;right:20%;background:linear-gradient(180deg,#8fbadf,#4979a8);opacity:0.9;border-radius:60% 40% 65% 35%}.contact-map-marker{position:absolute;top:46%;left:32%;transform:translate(-50%,-50%);background:var(--color-primary);color:#fff;padding:0.45rem 0.8rem;border-radius:var(--radius-pill);font-size:var(--font-size-xs);box-shadow:var(--shadow-md);z-index:2;white-space:nowrap}.contact-map-legend{position:absolute;bottom:var(--space-3);left:var(--space-3);right:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text);z-index:2}.contact-map-legend span{padding:0.25rem 0.7rem;border-radius:var(--radius-pill);background:rgba(255,255,255,0.9);border:1px solid rgba(213,201,184,0.8)}.contact-dual-grid{gap:var(--space-10);align-items:stretch}.contact-event-content{gap:var(--space-4)}.contact-links-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.contact-cardroom-card{height:100%}.contact-cardroom-title{font-size:var(--font-size-xl);margin-bottom:var(--space-3)}.contact-cardroom-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);margin-bottom:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text)}.contact-feedback-grid{gap:var(--space-10);align-items:flex-start}.contact-social-card-wrapper{grid-column:span 5}.contact-social-card h2{font-size:var(--font-size-xl);margin-bottom:var(--space-3)}.contact-social-list{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--font-size-sm)}.contact-social-label{display:block;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.16em;color:var(--color-text-muted)}@media (max-width:1023px){.contact-main-left,.contact-main-right,.contact-map-embed-wrapper,.contact-social-card-wrapper{grid-column:span 12}.contact-main-grid,.contact-map-grid,.contact-dual-grid,.contact-feedback-grid{gap:var(--space-6)}.contact-aside-card{position:static}.contact-map-visual{min-height:220px}}@media (max-width:767px){.contact-grid-responsive{grid-template-columns:1fr}.contact-form-footer{flex-direction:column;align-items:flex-start}.contact-hours-list li{flex-direction:column;align-items:flex-start}.contact-map-visual{padding:var(--space-3)}.contact-map-marker{left:40%}.contact-map-legend{flex-direction:column;align-items:flex-start}.contact-links-row{flex-direction:column;align-items:stretch}}
