
/* Brand-preserving refinements, company details and accessible mobile navigation */
html { scroll-behavior: smooth; }
html, body { width: 100%; }
body { font-family: "Inter Tight", "Inter", Arial, sans-serif; }
main, section { min-width: 0; }
main section[id] { scroll-margin-top: 6rem; }
img { max-width: 100%; height: auto; }
.navbar-toggler { cursor: pointer; }
.navbar .nav-link, .navbar .btn, .navbar .navbar-brand a { cursor: pointer; }
.navbar .nav-link:focus-visible, .navbar .navbar-brand a:focus-visible,
.navbar .btn:focus-visible, .site-footer-details a:focus-visible,
.btn:focus-visible, .navbar-toggler:focus-visible {
  outline: 3px solid #ae6d41; outline-offset: 3px;
}
.footer4 .site-footer-details { color: #fefae6; }
.site-footer-details { padding: 2rem 0 1.35rem; border-bottom: 1px solid rgba(255,255,255,.28); text-align: left; }
.site-footer-details__grid { display:grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 2.25rem; }
.site-footer-details__title { color: inherit; font-size: 1.15rem; font-weight: 700; margin: 0 0 1rem; }
.site-footer-details__list { display:grid; grid-template-columns: auto minmax(0,1fr); gap: .45rem .9rem; margin: 0; font-size: .95rem; line-height:1.55; }
.site-footer-details__list dt { font-weight: 700; }
.site-footer-details__list dd { margin: 0; overflow-wrap: anywhere; }
.site-footer-details__contact p { margin: 0 0 .5rem; font-size: .95rem; line-height: 1.55; overflow-wrap:anywhere; }
.site-footer-details__links { display:flex; flex-wrap:wrap; gap:.7rem 1.4rem; margin-top:1.45rem; }
.site-footer-details__links a { color: inherit; text-decoration: underline; text-underline-offset: .2em; font-size:.98rem; }
.site-data-notice { margin-top: 1.45rem; padding: 1rem 1.15rem; border: 1px solid rgba(255,255,255,.3); border-radius: .7rem; background:rgba(255,255,255,.06); }
.site-data-notice__title { font-size: 1rem; font-weight:700; margin:0 0 .4rem; color:inherit; }
.site-data-notice__text { margin:0; font-size:.88rem; line-height:1.6; color:inherit; }
.footer4 .media-container-row { padding-top: 1.2rem; }
.contact-form-hint { margin:1.3rem 0 0; font-size:.96rem; text-align:center; }
.contact-request-form .form-control:focus-visible { outline:2px solid #ae6d41; outline-offset:1px; }
.legal-main { background: #fefae6; padding: 9rem 0 5rem; min-height: 60vh; }
.legal-main .legal-content { max-width: 870px; margin-inline:auto; padding-inline:1.5rem; }
.legal-main h1 { font-size: clamp(1.85rem, 4.2vw, 3.6rem); line-height:1.18; margin:0 0 1.6rem; }
.legal-main h2 { font-size: clamp(1.3rem, 2.4vw, 1.7rem); line-height:1.35; margin: 2rem 0 .85rem; }
.legal-main p, .legal-main li { font-size: 1.05rem; line-height:1.75; overflow-wrap:anywhere; }
.legal-main ul { padding-left: 1.3rem; }
.legal-main a { color: #634522; text-decoration:underline; }
.legal-main .legal-intro { font-size: 1.15rem; }
@media (max-width: 991px) {
 .menu .navbar { min-height: 4.65rem; }
 .menu button.navbar-toggler { display:flex; align-items:center; justify-content:center; flex-shrink:0; min-width:44px;  }
 .menu .navbar-collapse { width:100%; max-height: calc(100vh - 4.65rem); overflow-y:auto; }
 .menu .navbar-collapse.show { display:block; }
 .menu .navbar-nav { width:100%; flex-wrap:nowrap; }
 .menu .navbar-nav .nav-item { width:100%; }
 .menu .navbar-buttons { width:100%; padding-top:.5rem; }
 .menu .navbar-buttons .btn { margin: .4rem 0 1rem; }
 .menu .navbar-toggler[aria-expanded="true"] .hamburger span:nth-child(2),
 .menu .navbar-toggler[aria-expanded="true"] .hamburger span:nth-child(3) { opacity:0; }
}
@media (max-width: 767px) {
 .site-footer-details__grid { grid-template-columns:1fr; gap:1.5rem; }
 .site-footer-details__list { grid-template-columns:minmax(0,1fr); gap:.15rem; }
 .site-footer-details__list dd { margin-bottom:.55rem; }
 .site-footer-details__links { flex-direction:column; gap:.75rem; }
 .site-footer-details { padding-top:1.4rem; }
 .legal-main { padding-top:7rem; padding-bottom:3rem; }
 .menu .navbar-brand .navbar-caption { font-size: 1rem; overflow-wrap:anywhere; }
 .menu .navbar-logo img { max-width: 53px; }
}
@media (max-width: 360px) {
 .menu .navbar-brand { max-width: calc(100% - 52px); }
 .menu .navbar-brand .navbar-caption { font-size: .87rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
