/* Support and policies: presentation only, using the public site's local fonts
   and navy/gold palette. Keep the reading column comfortable in every locale. */
body.legal-v39.public-site { background:#071923; }
.legal-v39 .legal-page { min-height:calc(100vh - 82px); padding-bottom:80px; }
.legal-v39 .legal-shell { width:min(1360px,calc(100% - 80px)); margin-inline:auto; }
.legal-v39 .legal-hero {
  position:relative;
  padding:34px 0 45px;
  border-bottom:1px solid #29404c;
  background:linear-gradient(90deg,#071923 12%,#071923eb 55%,#071923ad),url('/assets/public/city-panorama.webp') center 56%/cover;
}
.legal-v39 .legal-hero .public-breadcrumb { flex-wrap:wrap; margin-bottom:28px; }
.legal-v39 .legal-kicker { margin:0 0 13px; color:#c7a769; font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.legal-v39 .legal-hero h1 { max-width:950px; margin:0; color:#ebe7dc; font-family:var(--serif); font-size:clamp(44px,5vw,68px); font-weight:500; letter-spacing:-.025em; line-height:1.05; text-wrap:balance; overflow-wrap:anywhere; }
.legal-v39 .legal-hero-description,.legal-v39 .legal-hero .legal-intro { max-width:730px; margin:17px 0 0; color:#b7c3c8; font-size:14px; line-height:1.8; }
.legal-v39 .legal-effective { display:flex; flex-wrap:wrap; gap:5px 8px; margin-top:21px; color:#92a6b0; font-size:11px; }
.legal-v39 .legal-effective time { color:#c8b58c; }
.legal-v39 .legal-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:38px; align-items:start; padding-top:38px; }
.legal-v39 .legal-nav { position:sticky; top:28px; min-width:0; padding:18px 10px 10px; border:1px solid #29404c; border-radius:4px; background:#0a202d; }
.legal-v39 .legal-nav-label { margin:0 12px 15px; color:#91a6b0; font-size:10px; line-height:1.6; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.legal-v39 .legal-nav a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:46px; padding:11px 12px; border-left:2px solid transparent; border-radius:2px; color:#bac6cc; font-size:12px; line-height:1.6; transition:background .18s,color .18s; overflow-wrap:anywhere; }
.legal-v39 .legal-nav a::after { content:'›'; flex:none; color:#718b98; font-size:18px; line-height:1; }
.legal-v39 .legal-nav a:hover { background:#122d3b; color:#ebe7dc; }
.legal-v39 .legal-nav a[aria-current='page'] { border-left-color:#c7a769; background:#c7a76910; color:#dcc28b; }
.legal-v39 .legal-nav a[aria-current='page']::after { color:#c7a769; }
.legal-v39 .legal-content { min-width:0; padding:clamp(24px,3.6vw,50px); border:1px solid #29404c; border-radius:4px; background:#0b202c; }
.legal-v39 .legal-outline { margin-bottom:31px; border-bottom:1px solid #29404c; }
.legal-v39 .legal-outline summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:0 0 20px; color:#d4bd8d; font-size:12px; font-weight:500; cursor:pointer; list-style:none; }
.legal-v39 .legal-outline summary::-webkit-details-marker { display:none; }
.legal-v39 .legal-outline summary::after { content:'+'; font-size:20px; font-weight:400; line-height:1; }
.legal-v39 .legal-outline[open] summary::after { content:'−'; }
.legal-v39 .legal-outline nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px 24px; padding-bottom:23px; }
.legal-v39 .legal-content .legal-outline nav a { display:block; padding:7px 0; color:#b3c1c8; font-size:12px; line-height:1.7; text-decoration:none; }
.legal-v39 .legal-content .legal-outline nav a:hover { color:#dcc28b; text-decoration:underline; }
.legal-v39 .legal-content > .legal-intro { margin:0; color:#d0d8da; font-size:17px; line-height:1.8; }
.legal-v39 .legal-section + .legal-section,.legal-v39 .legal-intro + .legal-section { margin-top:32px; padding-top:32px; border-top:1px solid #29404c; }
.legal-v39 .legal-section h2 { margin:0 0 16px; color:#ebe7dc; font-family:var(--serif); font-size:clamp(26px,2.6vw,34px); font-weight:500; letter-spacing:-.015em; line-height:1.18; overflow-wrap:anywhere; scroll-margin-top:28px; }
.legal-v39 .legal-section h3 { margin:26px 0 10px; color:#cdb789; font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.04em; line-height:1.6; }
.legal-v39 .legal-section p { color:#b4c2c9; font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.legal-v39 .legal-section p + p { margin-top:14px; }
.legal-v39 .legal-section ul { display:grid; gap:10px; margin:18px 0 0; padding:0; list-style:none; }
.legal-v39 .legal-section li { position:relative; padding-left:20px; color:#bdc9ce; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.legal-v39 .legal-section li::before { content:''; position:absolute; top:.77em; left:2px; width:5px; height:5px; border:1px solid #bda06b; transform:rotate(45deg); }
.legal-v39 .legal-content a:not(.legal-email-card) { color:#d1b881; text-decoration:underline; text-decoration-color:#c7a76966; text-underline-offset:4px; }
.legal-v39 .legal-content a:not(.legal-email-card):hover { color:#e6d2a8; text-decoration-color:currentColor; }
.legal-v39 .legal-email-card { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 18px; margin-top:18px; padding:18px 20px; border:1px solid #776a4d; border-radius:3px; background:#c7a76909; color:#ebe7dc; overflow-wrap:anywhere; transition:background .18s,border-color .18s; }
.legal-v39 .legal-email-card:hover { background:#c7a76912; border-color:#c7a769; }
.legal-v39 .legal-email-card span { color:#c7a769; font-size:12px; font-weight:500; }
.legal-v39 .legal-email-card b { min-width:0; font-size:17px; font-weight:500; }
.legal-v39 .legal-note { margin:20px 0; padding:18px 21px; border-left:2px solid #bda06b; border-radius:0 3px 3px 0; background:#c7a76909; }
.legal-v39 .legal-note p { color:#c5ccca; }
.legal-v39 .legal-contact-content { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:0; border:0; background:none; }
.legal-v39 .legal-contact-content .legal-section { min-width:0; margin:0; padding:28px; border:1px solid #29404c; border-radius:4px; background:#0b202c; }
.legal-v39 .legal-contact-content .legal-section h2 { font-size:30px; }
.legal-v39 .legal-contact-content .legal-email-card { display:grid; grid-template-columns:28px minmax(0,1fr); justify-content:start; gap:5px 12px; padding:18px 15px; }
.legal-v39 .legal-contact-icon { grid-row:1/3; color:#c7a769; }
.legal-v39 .legal-contact-content .legal-email-card b { font-size:15px; }
.legal-v39 .legal-contact-content .legal-note { padding:15px 17px; }
.legal-v39 .legal-contact-list { margin-top:18px; }
.legal-v39 .legal-contact-list p { display:grid; grid-template-columns:minmax(112px,160px) minmax(0,1fr); gap:18px; margin:0; padding:12px 0; border-bottom:1px solid #29404c; }
.legal-v39 .legal-contact-list p:last-child { border-bottom:0; }
.legal-v39 .legal-contact-list strong { color:#91a6b0; font-size:11px; font-weight:500; letter-spacing:.04em; }
.legal-v39 .legal-page :focus-visible { outline:2px solid #dac28b; outline-offset:4px; }
.legal-v39 .legal-page:focus { outline:0; }
@media (max-width:1100px) {
  .legal-v39 .legal-shell { width:calc(100% - 48px); }
  .legal-v39 .legal-layout { grid-template-columns:205px minmax(0,1fr); gap:24px; }
  .legal-v39 .legal-contact-content { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:800px) {
  .legal-v39 .legal-layout { grid-template-columns:minmax(0,1fr); }
  .legal-v39 .legal-nav { position:static; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:16px 10px 10px; }
  .legal-v39 .legal-nav-label { grid-column:1/-1; margin-bottom:7px; }
  .legal-v39 .legal-nav a { min-width:0; font-size:11px; }
  .legal-v39 .legal-contact-content { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .legal-v39 .legal-contact-content .legal-section { padding:24px; }
}
@media (max-width:600px) {
  .legal-v39 .legal-page { padding-bottom:45px; }
  .legal-v39 .legal-shell { width:calc(100% - 36px); }
  .legal-v39 .legal-hero { padding:25px 0 32px; }
  .legal-v39 .legal-hero .public-breadcrumb { gap:8px; margin-bottom:23px; }
  .legal-v39 .legal-hero h1 { font-size:44px; }
  .legal-v39 .legal-layout { gap:22px; padding-top:24px; }
  .legal-v39 .legal-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .legal-v39 .legal-nav a { gap:7px; padding:10px 9px; }
  .legal-v39 .legal-content { padding:24px 20px; }
  .legal-v39 .legal-outline nav { grid-template-columns:minmax(0,1fr); gap:0; }
  .legal-v39 .legal-section + .legal-section,.legal-v39 .legal-intro + .legal-section { margin-top:27px; padding-top:27px; }
  .legal-v39 .legal-email-card { align-items:flex-start; flex-direction:column; padding:16px; }
  .legal-v39 .legal-email-card b { font-size:16px; }
  .legal-v39 .legal-contact-content { grid-template-columns:minmax(0,1fr); padding:0; }
  .legal-v39 .legal-contact-content .legal-section { margin:0; padding:25px 21px; }
  .legal-v39 .legal-contact-list p { grid-template-columns:minmax(0,1fr); gap:3px; }
}
@media (prefers-reduced-motion:reduce) {
  .legal-v39 .legal-page * { scroll-behavior:auto!important; transition:none!important; }
}
@media print {
  body.legal-v39.public-site { background:#fff; color:#111; }
  .legal-v39 .nav,.legal-v39 .foot,.legal-v39 .legal-nav,.legal-v39 .legal-outline,.legal-v39 .public-breadcrumb { display:none; }
  .legal-v39 .legal-page { min-height:0; padding:0; }
  .legal-v39 .legal-shell { width:100%; }
  .legal-v39 .legal-hero { padding:20px 0; border:0; background:none; }
  .legal-v39 .legal-hero h1,.legal-v39 .legal-section h2,.legal-v39 .legal-section h3 { color:#111; }
  .legal-v39 .legal-kicker,.legal-v39 .legal-effective,.legal-v39 .legal-effective time,.legal-v39 .legal-hero-description,.legal-v39 .legal-hero .legal-intro { color:#555; }
  .legal-v39 .legal-layout,.legal-v39 .legal-contact-content { display:block; padding:0; }
  .legal-v39 .legal-content,.legal-v39 .legal-contact-content .legal-section { padding:0; border:0; background:none; }
  .legal-v39 .legal-contact-content .legal-section { margin-top:24px; }
  .legal-v39 .legal-section p,.legal-v39 .legal-section li,.legal-v39 .legal-content > .legal-intro { color:#222; }
  .legal-v39 .legal-section + .legal-section { border-top-color:#bbb; }
  .legal-v39 .legal-content a,.legal-v39 .legal-email-card span { color:#111!important; }
  .legal-v39 .legal-email-card,.legal-v39 .legal-note { border-color:#888; background:none; }
}
