#contact-page .contact-hero { padding-block: clamp(4rem, 8vw, 7rem); }
#contact-page .contact-hero__layout { display:grid; grid-template-columns:minmax(0, 42fr) minmax(0, 58fr); align-items:center; gap:clamp(3rem, 5vw, 5rem); }
#contact-page .contact-hero__copy { min-width:0; max-width:35rem; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-5); }
#contact-page .contact-hero__copy > * { margin:0; }
#contact-page .contact-hero__copy h1 { max-width:11ch; }
#contact-page .contact-hero__copy > p { max-width:35rem; }
#contact-page .contact-hero__actions { display:flex; min-width:0; flex-wrap:wrap; align-items:center; gap:var(--space-4); }
#contact-page .contact-hero__actions > * { min-width:0; }
#contact-page .contact-hero__text-link { font-family:var(--font-heading); font-size:var(--text-sm); font-weight:800; }
#contact-page .contact-hero__callout { max-width:26.25rem; display:flex; flex-direction:column; gap:var(--space-3); }
#contact-page .contact-hero__callout > * { margin:0; }
#contact-page .contact-hero__callout .rule { margin:0; }
#contact-page .contact-hero__media { width:100%; min-width:0; margin:0; aspect-ratio:16 / 10; }
#contact-page .contact-hero__media img { width:100%; height:100%; object-fit:cover; object-position:right center; }
#contact-page .contact-routes__heading { max-width:41.25rem; }
#contact-page .contact-routes__grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-5); margin-top:var(--space-7); }
#contact-page .contact-route-card { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); padding:var(--space-6); border:var(--border-default); border-radius:var(--radius-panel); background:var(--color-ink-800); }
#contact-page .contact-route-card > * { margin:0; }
#contact-page .contact-route-card__rule { width:3rem; height:2px; background:var(--color-brass-400); }
#contact-page .contact-route-card__label, #contact-page .visit-plan__label { color:var(--color-brass-400); font-family:var(--font-heading); font-size:var(--text-xs); font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
#contact-page .contact-route-card h3 { font-size:var(--text-xl); }
#contact-page .contact-route-card__route {
  display:inline-flex; align-items:center; min-height:2.75rem;
  font-family:var(--font-heading); font-size:var(--text-sm); font-weight:800;
  letter-spacing:.06em; text-transform:uppercase;
  color:var(--color-ivory-50); text-decoration:underline; text-underline-offset:.2em;
  overflow-wrap:anywhere;
}

#contact-page .contact-route-card__route:hover { color:var(--color-brass-400); }

#contact-page .contact-route-card__link { overflow-wrap:anywhere; color:var(--color-ivory-50); font-family:var(--font-heading); font-size:clamp(1.1rem, 1.6vw, 1.35rem); font-weight:800; line-height:1.25; }
#contact-page address { font-style:normal; color:var(--color-ivory-50); font-family:var(--font-heading); font-weight:700; line-height:1.5; }
#contact-page .contact-routes__note { max-width:41.25rem; margin-top:var(--space-6); }
#contact-page .enquiry-themes__column { width:min(100%, 47.5rem); min-width:0; }
#contact-page .enquiry-themes__lead { max-width:40rem; }
#contact-page .enquiry-themes__items { display:flex; flex-direction:column; gap:var(--space-6); margin-top:var(--space-7); }
#contact-page .enquiry-theme { display:grid; grid-template-columns:3.5rem minmax(0, 1fr); gap:var(--space-4); min-width:0; padding-bottom:var(--space-6); border-bottom:var(--border-default); }
#contact-page .enquiry-theme__number { color:var(--color-brass-400); font-family:var(--font-heading); font-size:var(--text-sm); font-weight:800; }
#contact-page .enquiry-theme__copy { min-width:0; max-width:42.5rem; }
#contact-page .enquiry-themes__preparation { display:flex; flex-direction:column; gap:var(--space-3); margin-top:var(--space-7); padding:var(--space-5); border:var(--border-default); background:var(--color-ink-900); }
#contact-page .enquiry-themes__preparation > * { margin:0; }
#contact-page .enquiry-themes__preparation ul { display:flex; flex-wrap:wrap; gap:var(--space-3); color:var(--color-stone-300); }
#contact-page .enquiry-themes__preparation li { min-width:0; }
#contact-page .enquiry-themes__preparation li::before { margin-right:var(--space-3); color:var(--color-brass-400); content:'•'; }
#contact-page .visit-plan { padding-block:var(--section-space); }
#contact-page .visit-plan .eyebrow { color:var(--color-brass-400); }
#contact-page .visit-plan__heading { max-width:32.5rem; }
#contact-page .visit-plan__grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-6); margin-top:var(--space-7); }
#contact-page .visit-plan__block { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); padding-left:var(--space-5); border-left:2px solid var(--color-brass-400); }
#contact-page .visit-plan__block > * { margin:0; }
#contact-page .visit-plan__block p { max-width:22.5rem; }
#contact-page .poker-enquiry__intro { max-width:38.75rem; }
#contact-page .poker-enquiry__form { width:min(100%, 53.75rem); min-width:0; display:flex; flex-direction:column; gap:var(--space-6); margin-top:var(--space-7); padding:var(--space-6); border:var(--border-default); border-radius:var(--radius-panel); background:var(--color-ink-800); }
#contact-page .poker-enquiry__fields { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-5); }
#contact-page .poker-enquiry__field { min-width:0; }
#contact-page .poker-enquiry__field--full { grid-column:1 / -1; }
#contact-page .poker-enquiry__field .form-error[hidden] { display:none; }
#contact-page .poker-enquiry__submit { display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-2); }
#contact-page .poker-enquiry__submit > * { margin:0; }
#contact-page .poker-enquiry__direct-note { padding-top:var(--space-5); border-top:var(--border-default); }
#contact-page .poker-enquiry__direct-note p { margin:0; overflow-wrap:anywhere; }
#contact-page .poker-enquiry__status { min-height:1.6rem; color:var(--color-ivory-50); font-weight:600; }
#contact-page .room-context__layout { display:grid; grid-template-columns:minmax(0, 65fr) minmax(18.75rem, 35fr); align-items:start; gap:clamp(3rem, 5vw, 4rem); }
#contact-page .room-context__features { min-width:0; max-width:41.25rem; }
#contact-page .room-context__features article { max-width:41.25rem; padding-top:var(--space-5); margin-top:var(--space-6); border-top:var(--border-default); }
#contact-page .room-context__features article:first-of-type { padding-top:0; margin-top:var(--space-6); border-top:0; }
#contact-page .room-context__features .rule { margin-bottom:var(--space-4); }
#contact-page .room-context__note { min-width:0; max-width:21.25rem; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); padding:var(--space-6); border:var(--border-default); background:var(--color-ink-900); }
#contact-page .room-context__note > * { margin:0; }
#contact-page .enquiry-process__heading { max-width:40rem; }
#contact-page .enquiry-process__steps { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-6); margin-top:var(--space-7); }
#contact-page .enquiry-process__step { min-width:0; display:flex; flex-direction:column; gap:var(--space-4); padding-top:var(--space-5); border-top:2px solid var(--color-brass-400); }
#contact-page .enquiry-process__step > * { min-width:0; margin:0; }
#contact-page .enquiry-process__step > span { color:var(--color-stone-500); font-family:var(--font-heading); font-size:var(--text-3xl); font-weight:800; line-height:1; }
#contact-page .enquiry-process__clarification { max-width:38.75rem; margin-top:var(--space-8); }
#contact-page .enquiry-process__clarification .rule { margin-bottom:var(--space-4); }
#contact-page .contact-closing { padding-block:var(--section-space-compact); }
#contact-page .contact-closing__panel { display:flex; flex-direction:column; align-items:stretch; gap:var(--space-7); padding:var(--space-7); border-top:2px solid var(--color-brass-400); background:var(--color-felt-700); }
#contact-page .contact-closing__copy { width:min(100%, 47.5rem); min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-5); }
#contact-page .contact-closing__copy > * { margin:0; }
#contact-page .contact-closing__copy p { max-width:35rem; }
#contact-page .contact-closing__actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-4); }
#contact-page .contact-closing__actions > * { min-width:0; }
#contact-page .contact-closing__strip { width:min(100%, 61.25rem); display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-4); padding-top:var(--space-5); border-top:1px solid color-mix(in srgb, var(--color-ivory-50) 24%, transparent); }
#contact-page .contact-closing__strip > * { min-width:0; overflow-wrap:anywhere; }
#contact-page .contact-closing__strip address { color:var(--color-ivory-50); font-family:var(--font-body); font-weight:500; }
@media (max-width:1050px) { #contact-page .contact-routes__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } #contact-page .contact-routes__grid > :nth-child(3) { grid-column:1 / -1; } }
@media (max-width:1000px) { #contact-page .visit-plan__grid { grid-template-columns:1fr; gap:var(--space-7); } #contact-page .visit-plan__block { width:100%; } #contact-page .visit-plan__block p { max-width:36rem; } }
@media (max-width:900px) { #contact-page .contact-hero__layout { grid-template-columns:1fr; gap:var(--space-7); } #contact-page .contact-hero__copy { max-width:34rem; } #contact-page .contact-hero__media { aspect-ratio:4 / 3; } #contact-page .room-context__layout { grid-template-columns:1fr; gap:var(--space-7); } #contact-page .room-context__features { max-width:41.25rem; } #contact-page .room-context__note { width:100%; max-width:none; } }
@media (max-width:850px) { #contact-page .enquiry-process__steps { grid-template-columns:1fr; gap:var(--space-6); } #contact-page .enquiry-process__step { display:grid; grid-template-columns:2.25rem minmax(0, 1fr); align-items:start; } #contact-page .enquiry-process__step > span { font-size:var(--text-xl); } }
@media (max-width:760px) { #contact-page .contact-hero { padding-block:var(--section-space); } #contact-page .contact-hero__copy { width:100%; max-width:34rem; } #contact-page .contact-hero__copy h1 { font-size:clamp(2.5rem, 12vw, 3.2rem); } #contact-page .contact-hero__actions { width:100%; align-items:stretch; } #contact-page .contact-hero__actions .button { width:100%; } #contact-page .contact-routes__grid { grid-template-columns:1fr; gap:var(--space-4); } #contact-page .contact-routes__grid > :nth-child(3) { grid-column:auto; } #contact-page .contact-route-card { width:100%; padding:var(--space-5); } #contact-page .enquiry-theme { grid-template-columns:2rem minmax(0, 1fr); gap:var(--space-3); } #contact-page .poker-enquiry__form { padding:var(--space-5); } #contact-page .poker-enquiry__fields { grid-template-columns:1fr; gap:var(--space-4); } #contact-page .poker-enquiry__field--full { grid-column:auto; } #contact-page .poker-enquiry input, #contact-page .poker-enquiry select { min-height:48px; } #contact-page .poker-enquiry__submit { width:100%; } #contact-page .poker-enquiry__submit button { width:100%; } #contact-page .contact-closing__panel { padding:var(--space-5); } }
@media (max-width:699px) { #contact-page .contact-closing__actions { width:100%; flex-direction:column; align-items:stretch; } #contact-page .contact-closing__actions .button { width:100%; min-height:48px; } #contact-page .contact-closing__strip { flex-direction:column; align-items:flex-start; } }
@media (hover:hover) { #contact-page .contact-hero__media:hover img { transform:scale(1.02); } }