/* Site additions are scoped to new classes; original layout rules are retained. */
html { scroll-behavior: smooth; }
body { overflow-wrap: anywhere; }
main section[id], .site-legal-section { scroll-margin-top: 5.75rem; }
.skip-link { position: fixed; top: -100px; left: 10px; z-index: 20000; background: #ffffff; color: #12300e; padding: 10px 15px; border-radius: 5px; }
.skip-link:focus { top: 10px; }
.site-legal-main { background: #f7f8f5; color: #17300f; min-height: 62vh; padding: 5.5rem 0 6rem; }
.site-legal-article { max-width: 880px; margin: 0 auto; background: #fff; padding: clamp(24px,4vw,54px); border-radius: 18px; box-shadow: 0 10px 38px rgba(10,22,4,.07); }
.site-legal-article h1 { font-size: clamp(2rem,4vw,3.1rem); line-height:1.15; font-weight: 700; margin: 0 0 1.35rem; }
.site-legal-lead { font-size: 1.15rem; line-height:1.75; margin-bottom:2rem; }
.site-legal-section { margin-top:2rem; }
.site-legal-section h2 { font-size:1.4rem; font-weight:700; margin-bottom:0.8rem; }
.site-legal-section p { font-size:1rem; line-height:1.8; margin:0; }
.site-legal-details { color: #f3f7ed; border-bottom:1px solid rgba(255,255,255,.16); padding-bottom:1.5rem; margin-bottom:1.4rem; }
.site-legal-details__title { margin:0 0 1.25rem; font-size:1.45rem; line-height:1.3; font-weight:700; color:#ffffff; }
.site-legal-details__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.85rem 2rem; margin:0; }
.site-legal-details__grid > div { min-width:0; }
.site-legal-details__grid dt { color:#d0e5c8; font-size:0.89rem; font-weight:600; margin:0 0 .16rem; }
.site-legal-details__grid dd { color:#ffffff; font-size:0.98rem; margin:0; overflow-wrap:anywhere; }
.site-legal-navigation { padding-bottom:1.25rem; }
.site-legal-navigation nav { display:flex; flex-wrap:wrap; gap:.65rem 1.3rem; }
.site-legal-navigation a { color:#f7f9f4; text-decoration:underline; text-underline-offset:4px; font-size:0.94rem; }
.site-legal-navigation a:hover,.site-legal-navigation a:focus-visible { color:#cfe0c3; }
.site-data-notice { margin:0 0 1.5rem; background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.15); border-radius:12px; padding:1rem 1.2rem; color:#e3eddd; }
.site-data-notice__title { margin:0 0 .45rem; color:#ffffff; font-size:1rem; font-weight:700; line-height:1.5; }
.site-data-notice__text { margin:0; color:#dee6d9; line-height:1.6; font-size:0.90rem; }
.form-action-note { margin:1rem 0 0; font-size:.92rem; line-height:1.6; }
.navbar .navbar-toggler { cursor:pointer; }
.navbar .navbar-toggler:focus-visible, .site-legal-navigation a:focus-visible { outline:3px solid #5a9c43; outline-offset:3px; }
@media(max-width: 767px) {
 .site-legal-main { padding:2.5rem 0 3.5rem; }
 .site-legal-article { border-radius:10px; }
 .site-legal-details__grid { grid-template-columns:minmax(0,1fr); }
 .site-legal-navigation nav { flex-direction:column; align-items:flex-start; }
 .navbar .navbar-collapse { max-height:calc(100dvh - 90px); overflow-y:auto; }
}
@media(max-width: 370px) { .site-legal-article { padding:1.25rem; } }
@media(prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
