.catalog-intro { padding:13px 15px; margin:0 0 17px; border:1px solid #cbd9cf; border-radius:12px; background:#edf2e9; }
.catalog-intro>strong { color:#284c40; font-size:16px; }
.catalog-intro p { color:#617163; font-size:11px; line-height:1.55; margin:6px 0 9px; }
.catalog-intro .text-button { font-size:11px; }
.scope-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
.scope-tabs button { padding:10px 5px; font-size:10px; }
.access-card .area-number { color:#2d665c; font-weight:800; }
.access-card .area-description { -webkit-line-clamp:3; }
.access-card .spot-card-facts { align-items:start; }
.location-rule-badges { display:flex; flex-wrap:wrap; gap:5px; margin:9px 0 4px; }
.location-rule-badges span { padding:4px 7px; background:#f3ecdc; color:#82632c; border-radius:5px; font-size:9px; }
.location-rule-badges .high-exposure-badge { color:#9b483c; background:#f6e5dd; }
.permanent-notice { margin-top:24px; border-top:1px solid #d9dfd2; padding-top:18px; }
.permanent-notice strong { font-size:12px; color:#3a5147; }
.permanent-notice p { font-size:11px; line-height:1.6; color:#6b7569; }
.permanent-notice button { font-size:11px; }
.map-spot-dot.access-dot { width:22px; height:22px; margin:2px; background:#fff9e9; border:2px solid #397366; color:#295f51; border-radius:6px; font-size:8px; font-weight:800; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 4px #173e4333; }
.map-spot-dot.access-dot.selected { background:#245f54; color:#fffaf0; border-color:#fffaf0; outline:2px solid #245f54; }
.map-spot-dot.access-dot.high-exposure-pin { border-color:#a96547; color:#934d38; }
.map-spot-dot.access-dot.high-exposure-pin.selected { background:#934d38; color:white; }
.access-reference h3 { font-size:18px; margin:9px 0 12px; }
.access-reference p,.location-safety p,.location-safety li,.local-rule-card p,.local-rule-card li { font-size:12px; line-height:1.7; color:#596b61; }
.coordinate-provenance { display:flex; flex-direction:column; gap:5px; padding:12px; margin:14px 0; background:#f3f2e9; border-radius:8px; }
.coordinate-provenance strong { color:#2b5b53; font-size:14px; font-variant-numeric:tabular-nums; }
.coordinate-provenance span { font-size:10px; line-height:1.5; color:#728074; }
.location-safety { padding:16px; border-radius:9px; background:#f5eddf; border-left:3px solid #b68a43; }
.location-safety h4,.local-rule-card h4 { margin:8px 0; font-size:15px; }
.location-safety ul,.local-rule-card ul { padding-left:18px; }
.location-safety.high-exposure { background:#f7e9df; border-color:#b3664e; }
.local-rule-card { margin:14px 0; padding:15px; border:1px solid #d9dfd3; border-radius:9px; }
.local-rule-card .rule-link,.legal-item .rule-link { display:block; font-size:11px; margin:7px 0; }
.local-rule-card .data-age { margin-top:10px; line-height:1.5; }
.shore-overview .detail-section:first-child { padding-top:18px; }
.legal-reviewed { color:#6e7b6c; font-size:11px; border-top:1px solid #dbe0d4; padding-top:12px; }
.legal-jump-links { display:flex; gap:6px; flex-wrap:wrap; margin:18px 0 25px; }
.legal-jump-links .secondary-button { min-height:32px; padding:7px 10px; font-size:10px; }
.legal-section { border-top:1px solid #d8dfd1; margin-top:24px; padding-top:25px; scroll-margin-top:18px; }
.legal-section>h3 { margin:8px 0 18px; font-size:23px; color:#284c40; }
.legal-section>p { color:#687666; font-size:13px; line-height:1.8; }
.legal-item { padding-bottom:18px; margin-bottom:16px; border-bottom:1px solid #e5e6dc; }
.legal-item:last-child { border-bottom:0; margin-bottom:0; }
.legal-item h4 { margin:0 0 8px; font-size:15px; color:#344f43; }
.legal-item p { font-size:13px; line-height:1.8; margin:0 0 9px; color:#596b5c; }
.local-rule-disclosure { padding:13px 0; border-bottom:1px solid #dbe0d5; }
.local-rule-disclosure summary { cursor:pointer; font-weight:650; font-size:14px; color:#315548; }
.local-rule-disclosure summary span { display:block; font-size:10px; font-weight:400; margin:5px 0 0 14px; color:#778170; }
.local-rule-disclosure p,.local-rule-disclosure li { font-size:12px; line-height:1.75; color:#5c6d5e; }
.local-rule-disclosure ul { padding-left:20px; }
.local-location-links { display:flex; gap:6px; flex-wrap:wrap; margin:15px 0 5px; }
.local-location-links button { text-align:left; white-space:normal; font-size:10px; }
.legal-help { background:#f3e6d8; padding:18px; border-radius:10px; margin-top:26px; color:#865238; }
.legal-help p { font-size:12px; line-height:1.65; }
.legal-strip { margin:12px 0; border-left:3px solid #b28a43; padding:4px 12px; font-size:11px; line-height:1.7; color:#6f6754; }
@media (max-width:1450px) { .main-nav { gap:2px; } .main-nav .nav-item { padding-left:10px; padding-right:10px; font-size:11px; } .sources-top { display:none; } }
@media (max-width:760px) { .catalog-intro { margin-bottom:14px; } .mobile-bottom-nav { grid-template-columns:repeat(5,1fr); } .mobile-bottom-nav button { font-size:9px; } .legal-section>h3 { font-size:21px; } }
