/* Shared interaction language. Preserve page-specific editorial layouts. */
:root {
  --r5-control-radius: 8px;
  --r5-control-height: 48px;
  --r5-control-ink: #1a1a1a;
  --r5-control-muted: #62605b;
  --r5-control-border: #8f8a81;
  --r5-control-focus: #8a6a2a;
  --r5-control-font: 'Sora', -apple-system, sans-serif;
}
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: #e7dcc5; color: #1a1a1a; }
input, textarea { caret-color: var(--r5-control-ink); }
button { font-family: inherit; }
:is(.r5-btn-primary,.r5-btn-secondary,.r5-btn-dark,.r5-btn-ghost,.r5-btn-ghost-light,.home-btn-primary,.home-btn-ghost,.svc-btn,.mvc-btn,.rrad-btn,.sp-btn,.airport-button,.btn,.r5-tunnel-continue,.r5-nav-cta) {
  font-family: var(--r5-control-font);
  min-height: var(--r5-control-height);
  line-height: 1.4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition-property: background-color, color, border-color, opacity, transform;
  transition-duration: 150ms;
  transition-timing-function: ease-out;
}
:is(.r5-btn-primary,.r5-btn-secondary,.r5-btn-dark,.r5-btn-ghost,.r5-btn-ghost-light,.home-btn-primary,.home-btn-ghost,.svc-btn,.mvc-btn,.rrad-btn,.sp-btn,.airport-button,.btn):hover { opacity: 1; }
:is(.r5-btn-primary,.r5-btn-secondary,.r5-btn-dark,.r5-btn-ghost,.r5-btn-ghost-light,.home-btn-primary,.home-btn-ghost,.svc-btn,.mvc-btn,.rrad-btn,.sp-btn,.airport-button,.btn):active { scale: .96; transform: none; }
.r5-header .r5-nav > a { min-height: 44px; display: inline-flex; align-items: center; }
:is(button,a,input,select,textarea):focus-visible { outline: 2px solid var(--r5-control-focus); outline-offset: 3px; }
.m-menu :focus-visible { outline-color: #e3b876; }
.r5-nav a[aria-current="page"], .m-menu a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.fld label, .ct-form-card .r5-tunnel-field label, .r5-tunnel .r5-field label {
  font-family: var(--r5-control-font); font-size: 13px; line-height: 1.5;
  letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--r5-control-muted);
}
.fld input, .fld select, .fld textarea, .ct-form-card .r5-tunnel-field input {
  min-height: var(--r5-control-height); padding: 12px 14px;
  border: 1px solid var(--r5-control-border); border-radius: var(--r5-control-radius);
  background: #fff; color: var(--r5-control-ink); font-family: var(--r5-control-font); font-size: 16px;
  transition: border-color 150ms ease-out;
}
.fld input:focus, .fld select:focus, .fld textarea:focus, .ct-form-card .r5-tunnel-field input:focus {
  border-color: var(--r5-control-focus); outline: 2px solid var(--r5-control-focus); outline-offset: 2px; box-shadow: none;
}
.fld input::placeholder, .fld textarea::placeholder, .ct-form-card input::placeholder { color: #70706a; opacity: 1; }
.book-consent { min-height: 44px; padding-block: 10px; font-size: 13px; }
.book-consent a, .book-note a, .ct-form-tail a, .r5-outcome a { text-decoration: underline; text-underline-offset: 3px; }
#bookform .btn { min-height: var(--r5-control-height); border-radius: var(--r5-control-radius); }
#bookform button:disabled { opacity: .6; cursor: progress; }
#bookform [aria-pressed="true"] { background: #1a1a1a; color: #fff; }
.r5-optional-label { color: var(--r5-control-muted); font-size: 12px; font-weight: 400; }
.r5-outcome { overflow-wrap: anywhere; }
.r5-outcome h3 { font: 400 28px/1.2 'Playfair Display',Georgia,serif; margin: 0 0 14px; color: #1a1a1a; }
.r5-outcome p { margin: 0 0 16px; font: 14px/1.7 var(--r5-control-font); color: #62605b; }
.r5-outcome dl { margin-block: 20px; padding-block: 16px; border-block: 1px solid #dedbd4; }
.r5-outcome dt { font: 500 12px/1.5 var(--r5-control-font); color: #62605b; margin-bottom: 4px; }
.r5-outcome dd { margin: 0 0 14px; font: 400 14px/1.6 var(--r5-control-font); color: #1a1a1a; }
.r5-outcome dd:last-child { margin-bottom: 0; }
.r5-outcome .r5-reference { font-size: 12px; user-select: all; overflow-wrap: anywhere; }
.r5-outcome .r5-outcome-contact { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.r5-outcome .r5-outcome-hours { font-size: 12px; margin-bottom: 0; }
.book-err .r5-recovery-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.book-err .r5-recovery-actions .btn { width: auto; margin: 0; padding: 12px 18px; min-height: 48px; border-radius: 8px; font-family: var(--r5-control-font); font-size: 14px; }
.r5-cookie-settings, #cookie-settings { font: inherit; color: inherit; border: 0; background: transparent; padding: 10px 0; min-height: 44px; margin: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.r5-cookie-settings { display: block; font-size: 12px; width: fit-content; margin: 16px auto 0; }
.ct-top { padding-top: 64px; padding-bottom: 36px; }
.ct-top h1 { font-size: clamp(44px,6vw,76px); margin-bottom: 18px; }
.ct-top .ct-lead { font-size: 16px; max-width: 55ch; }
.ct-main { padding-top: 40px; }
.ct-form-card { padding: 32px; }
.ct-form-card h2 { font-size: 30px; }
.ct-form-card .ct-form-sub { margin-bottom: 20px; }
.ct-form-card .r5-tunnel-field { margin-bottom: 20px; }
.ct-form-card .ct-service-detail { margin: 24px 0 0; font-size: 13px; line-height: 1.7; color: #62605b; }
.ct-form-tail { margin-top: 24px; padding-top: 20px; }
@media(max-width:680px) {
  .ct-top { padding: 32px 24px 28px; }
  .ct-top .label { margin-bottom: 16px; letter-spacing: .16em; font-size: 10px; }
  .ct-top h1 { font-size: 42px; margin-bottom: 14px; }
  .ct-main { padding: 24px 20px 64px; }
  .ct-form-card { padding: 24px 20px; }
  .ct-form-card h2 { font-size: 27px; }
  .ct-form-card .r5-tunnel-field { margin-bottom: 16px; }
  .ct-form-card .r5-tunnel-continue { margin-top: 4px; }
  .r5-outcome h3 { font-size: 26px; }
  .book-err .r5-recovery-actions .btn { width: 100%; }
}
@media(min-width:681px) and (max-width:1024px) { .m-actionbar { display:none; } }
@media(prefers-reduced-motion:reduce) {
  .r5-tunnel .r5-step { animation:none!important; }
  .m-menu, .m-menu *, body .r5-header, .m-burger span { transition:none!important; animation:none!important; }
  :is(.r5-btn-primary,.r5-btn-secondary,.r5-btn-dark,.r5-btn-ghost,.r5-btn-ghost-light,.home-btn-primary,.home-btn-ghost,.svc-btn,.mvc-btn,.rrad-btn,.sp-btn,.airport-button,.btn) { transition:none; }
  :is(.r5-btn-primary,.r5-btn-secondary,.r5-btn-dark,.r5-btn-ghost,.r5-btn-ghost-light,.home-btn-primary,.home-btn-ghost,.svc-btn,.mvc-btn,.rrad-btn,.sp-btn,.airport-button,.btn):active { scale:1; }
}

.r5-tunnel-close:active { transform: translateY(-50%) scale(.96); }

/* A receipt replaces the enquiry card's introduction rather than nesting another card. */
.r5-enquiry-received > :is(h2,h3,p,.eyebrow) { display:none; }
#bf-ok.r5-outcome { border:0; border-radius:0; background:transparent; padding:0; }
.book-err.r5-outcome { border:0; border-top:1px solid #dedbd4; border-radius:0; background:transparent; padding:24px 0 0; }
.ct-form-card .r5-tunnel-continue { min-height:48px; padding:14px 20px; border-radius:8px; font:500 14px/1.4 var(--r5-control-font); }
