/* Contact remains a quiet editorial page. Motion belongs to selections and the existing reveal. */
.rc-contact-welcome { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,7vw,112px); padding-block:clamp(68px,8vw,120px) 64px; }
.rc-contact-welcome h1 { max-width:11ch; font-size:clamp(46px,5vw,76px); line-height:1.08; letter-spacing:-.05em; font-weight:550; }
.rc-contact-welcome .rc-contact-eyebrow { margin:0 0 24px; font-size:11px; color:var(--rc-accent); letter-spacing:.08em; }
.rc-contact-welcome-copy { padding-top:36px; }
.rc-contact-welcome-copy > p:first-child { font-size:clamp(16px,1.35vw,19px); line-height:1.8; max-width:57ch; color:var(--rc-muted); margin:0; }
.rc-contact-welcome-copy .rc-contact-welcome-close { color:var(--rc-ink); font-size:18px; margin:22px 0 24px; }
.rc-contact-welcome .rc-contact-unconnected { max-width:58ch; margin:18px 0 0; color:var(--rc-muted); font-size:12px; line-height:1.65; }
.rc-contact-ways { padding-block:32px 48px; scroll-margin-top:120px; }
.rc-contact-ways header { display:flex; justify-content:space-between; align-items:baseline; gap:36px; }
.rc-contact-ways h2 { font-size:clamp(28px,3vw,44px); line-height:1.16; letter-spacing:-.035em; font-weight:500; margin:0; }
.rc-contact-ways header p { font-size:15px; line-height:1.65; color:var(--rc-muted); max-width:45ch; margin:0; }
.rc-visit-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:36px; }
.rc-visit-modes button { display:flex; flex-direction:column; gap:5px; min-width:0; min-height:112px; padding:14px 18px; background:#fff; border:1px solid #86868b; border-radius:24px; font:inherit; color:var(--rc-ink); text-align:left; cursor:pointer; transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease; }
.rc-visit-choice-meta { display:flex; justify-content:space-between; align-items:center; width:100%; color:var(--rc-accent); font-size:11px; line-height:1; font-variant-numeric:tabular-nums; }
.rc-visit-choice-selected { display:inline-flex; gap:5px; align-items:center; visibility:hidden; }
.rc-visit-choice-heading { display:flex; justify-content:space-between; align-items:baseline; gap:10px; width:100%; font-size:clamp(20px,1.5vw,22px); line-height:1.25; }
.rc-visit-choice-arrow { flex:none; font-size:22px; transition:transform 180ms ease; }
.rc-visit-choice-description { font-size:14px; line-height:1.45; color:#6e6e73; }
.rc-visit-modes button[aria-pressed="true"] { background:var(--rc-accent); border-color:var(--rc-accent); color:#fff; }
.rc-visit-modes button[aria-pressed="true"] :is(.rc-visit-choice-meta,.rc-visit-choice-description) { color:#fff; }
.rc-visit-modes button[aria-pressed="true"] .rc-visit-choice-selected { visibility:visible; }
.rc-visit-modes button[aria-pressed="true"] .rc-visit-choice-arrow { transform:rotate(90deg); }
/* Use the Catalog's pointer-origin fill; preserve the larger viewing choices. */
.rc-site .rc-visit-modes button.rc-reference-action { border-radius:24px; }
.rc-site .rc-visit-subchoices button.rc-reference-action { border-radius:999px; }
.rc-site .rc-contact-ways button.rc-reference-action:is(.is-reference-hover,:focus-visible) { color:#ffffff; border-color:transparent; }
.rc-site .rc-contact-ways button.rc-reference-action:is(.is-reference-hover,:focus-visible) :is(.rc-visit-choice-meta,.rc-visit-choice-description) { color:inherit; }
.rc-visit-panels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding-top:26px; }
.rc-visit-panel h3 { font-size:19px; line-height:1.25; margin:0 0 12px; font-weight:500; }
.rc-visit-panel .rc-visit-intro { font-size:15px; line-height:1.7; color:var(--rc-muted); margin:0 0 20px; max-width:50ch; }
.rc-visit-panel ol { display:grid; gap:13px; padding-left:22px; margin:24px 0; font-size:15px; line-height:1.5; }
.rc-visit-panel li { padding-left:7px; }
.rc-visit-panel li::marker { font-size:12px; color:var(--rc-accent); }
.rc-visit-note,.rc-visit-confirm-note { font-size:12px; line-height:1.65; color:var(--rc-muted); max-width:60ch; }
.rc-visit-confirm-note { margin:28px 0 0; }
.rc-visit-subchoices { display:flex; gap:8px; flex-wrap:wrap; }
.rc-visit-subchoices button { background:#fff; border:1px solid #86868b; border-radius:999px; font:inherit; font-size:14px; min-height:44px; padding:10px 17px; cursor:pointer; color:var(--rc-ink); transition:background-color 180ms,color 180ms; }
.rc-visit-subchoices button[aria-pressed="true"] { background:var(--rc-accent); border-color:var(--rc-accent); color:white; }
.rc-contact-ways :is(button,a):focus-visible { outline:2px solid var(--rc-accent); outline-offset:4px; }
.rc-contact-ways[data-visit-selected]:not([data-visit-selected=""]) .rc-visit-panels { display:block; }
.rc-contact-ways[data-visit-selected]:not([data-visit-selected=""]) .rc-visit-panel { display:grid; grid-template-columns:1fr 1.6fr; column-gap:clamp(36px,7vw,110px); }
.rc-contact-ways[data-visit-selected]:not([data-visit-selected=""]) .rc-visit-panel h3 { grid-column:1; }
.rc-contact-ways[data-visit-selected]:not([data-visit-selected=""]) .rc-visit-panel .rc-visit-intro { grid-column:1; }
.rc-contact-ways[data-visit-selected]:not([data-visit-selected=""]) .rc-visit-panel .rc-visit-subchoices { grid-column:1; }
.rc-contact-ways[data-visit-selected]:not([data-visit-selected=""]) .rc-visit-panel ol { grid-column:2; grid-row:1 / span 4; display:grid; grid-template-columns:1fr 1fr; gap:28px 42px; margin:4px 0; align-self:start; }
.rc-contact-ways[data-visit-selected]:not([data-visit-selected=""]) .rc-visit-panel .rc-visit-note { grid-column:1; margin-bottom:0; }
.rc-visit-panel[hidden] { display:none!important; }
.rc-contact-ways[data-visit-selected]:not([data-visit-selected=""]) .rc-visit-panel:not([hidden]) { animation:rc-visit-panel-enter 180ms ease-out; }
@keyframes rc-visit-panel-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
body.rc-site[data-page="contact"] .rc-contact-hero { border-top:1px solid var(--rc-line); padding-top:64px; }
body.rc-site[data-page="contact"] .rc-contact-intro h2 { font-size:clamp(30px,3.5vw,48px); line-height:1.12; letter-spacing:-.035em; font-weight:500; }
body.rc-site[data-page="contact"] .rc-contact-intro > .rc-contact-visit-status { color:var(--rc-accent); font-size:15px; }
#contact-form { scroll-margin-top:125px; }
body.rc-site[data-page="contact"] .rc-contact-submit:disabled { color:var(--rc-muted); background:transparent; border-color:var(--rc-line); opacity:.65; cursor:not-allowed; }
.rc-contact-same-floor { max-width:52ch; margin:14px 0; }
.rc-contact-map-same-floor { font-size:13px!important; line-height:1.65; margin:16px 0; }
.rc-contact-arrival-marker { display:grid; place-items:center; background:none; border:none; color:#1d1d1f; cursor:pointer; }
.rc-contact-arrival-marker svg { display:block; width:36px; height:36px; overflow:visible; pointer-events:none; filter:drop-shadow(0 3px 4px rgba(29,29,31,.2)); }
.rc-contact-arrival-marker:focus-visible { outline:2px solid #1d1d1f; outline-offset:2px; border-radius:9px; }
@media(hover:hover) and (pointer:fine) {
  .rc-visit-modes button:not(.rc-reference-action):not([aria-pressed="true"]):hover,
  .rc-visit-subchoices button:not(.rc-reference-action):hover { color:#ffffff; border-color:var(--rc-accent); background:var(--rc-accent); }
  .rc-visit-modes button:not(.rc-reference-action):hover :is(.rc-visit-choice-meta,.rc-visit-choice-description) { color:inherit; }
}
@media(hover:none),(pointer:coarse) { .rc-site .rc-contact-ways button.rc-reference-action:active :is(.rc-visit-choice-meta,.rc-visit-choice-description) { color:inherit; } }
@media(max-width:900px) { .rc-contact-welcome { gap:40px; } .rc-visit-modes,.rc-visit-panels { gap:20px; } }
@media(max-width:760px) {
  .rc-contact-welcome { display:block; padding-block:52px 38px; }
  .rc-contact-welcome h1 { font-size:clamp(42px,10vw,62px); max-width:13ch; }
  .rc-contact-welcome-copy { padding-top:28px; }
  .rc-contact-ways { padding-block:24px 32px; scroll-margin-top:92px; }
  .rc-contact-ways header { display:block; }
  .rc-contact-ways header p { margin-top:16px; }
  .rc-visit-modes { grid-template-columns:1fr; gap:12px; margin-top:28px; }
  .rc-visit-modes button { min-height:96px; padding:13px 16px; }
  .rc-visit-panels { grid-template-columns:1fr; gap:28px; }
  .rc-contact-ways[data-visit-selected]:not([data-visit-selected=""]) .rc-visit-panel { display:block; }
  .rc-contact-ways[data-visit-selected]:not([data-visit-selected=""]) .rc-visit-panel ol { grid-template-columns:1fr; gap:16px; margin:24px 0; }
  body.rc-site[data-page="contact"] .rc-contact-hero { padding-top:44px; }
  #contact-form { scroll-margin-top:96px; }
}
@media(prefers-reduced-motion:reduce) { .rc-contact-ways *, .rc-contact-ways *::before, .rc-contact-ways *::after { transition:none!important; animation:none!important; } }
html.rc-motion-paused .rc-contact-ways *, html.rc-motion-suspended .rc-contact-ways * { transition:none!important; animation:none!important; }
