/* Compact desktop rail; guest and professional booking forms are unchanged. */
.rail-lead form { gap: 7px; }
.rail-lead form label:not(.live-consent):not(.live-honeypot) {
  padding: 8px 10px 7px; border-radius: 8px;
  border-color: #c8bbaa80; background: #fcf8f280;
}
.rail-lead form label:not(.live-consent) span {
  font-size: 10px; letter-spacing: .08em; margin-bottom: 3px;
}
.rail-lead form input:not([type=checkbox]) {
  font-size: 14px; line-height: 1.4; min-height: 26px; padding: 0;
}
.rail-lead form input::placeholder { color: #918779; opacity: 1; }
.rail-lead form .live-consent {
  background: transparent; border: 0; border-radius: 0;
  padding: 3px 0!important; gap: 7px; box-shadow: none;
}
.rail-lead form .live-consent span {
  font-size: 11px!important; line-height: 1.4; color: #786b5d; font-weight: 400;
}
.rail-lead .live-consent input[type=checkbox] {
  flex-basis: 15px!important; min-width: 15px!important; width: 15px!important;
  height: 15px!important; min-height: 15px!important; margin-top: 2px;
  accent-color: #9c4c3c;
}
.rail-lead .live-status { font-size: 12px; line-height: 1.5; }
.site-rail>.rail-pro-lead { margin-top: 8px; padding: 10px 12px 13px; }
.rail-pro-lead form label:not(.live-honeypot) { padding: 7px 9px 6px; }
.rail-pro-lead .rail-primary { min-height: 40px; font-size: 12px; }
.rail-pro-lead .pro-lead-consent { color: #786b5d; font-size: 9px; line-height: 1.45; padding: 0 2px; }
footer.brand-footer {
  grid-template-columns: minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);
  gap: clamp(24px,3vw,48px); align-items: start;
}
.footer-route { min-width: 0; width: 100%; max-width: 260px; align-self: start; justify-self: center; }
.footer-route-link {
  display: block; overflow: hidden; border: 1px solid #a58e7259;
  border-radius: 12px; color: #f1e6d6; background: #ffffff05;
  text-decoration: none; transition: border-color .2s, background .2s;
}
.footer-route-link:hover { border-color: #ddb88c; background: #ffffff0b; }
.footer-route-link:focus-visible { outline: 2px solid #ddb88c; outline-offset: 5px; }
.footer-route-link img {
  display: block; width: 100%; height: auto; aspect-ratio: 1918/820; object-fit: contain;
}
.footer-route-action {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 10px 12px; min-height: 44px; font-size: 14px; line-height: 1.4;
}
.footer-route-action span:last-child { color: #ddb88c; }
.footer-route small { display: block; margin-top: 9px; color: #c8baa9; font-size: 12px; line-height: 1.5; }
@media (max-width:1180px) {
  footer.brand-footer { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  footer.brand-footer .footer-credit { grid-column: 1/-1; justify-self: stretch; max-width: none; border-left: 0; border-top: 1px solid #a26a3a77; padding: 24px 0 0; }
}
@media (max-width:600px) {
  footer.brand-footer { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .footer-route { justify-self: start; }
}
