/* Scoped controls, with equal treatment of acceptance and rejection. */
#swcdc-consent [hidden],.swcdc-map [hidden],[data-swcdc-consent-open][hidden] { display:none !important; }
.swcdc-cookie-banner,.swcdc-cookie-dialog,.swcdc-storage-note { color:#deedf3; background:#031f2e; border:1px solid #365767; box-shadow:0 12px 60px #0005; font-family:Inter,Arial,sans-serif; }
.swcdc-cookie-banner { position:fixed; z-index:1000; bottom:20px; left:50%; transform:translateX(-50%); width:calc(100% - 40px); max-width:1040px; padding:20px 24px; border-radius:20px; display:grid; grid-template-columns:minmax(0,1fr); gap:16px; max-height:calc(100dvh - 40px); overflow-y:auto; }
.swcdc-cookie-label { display:block; color:#70cedc; text-transform:uppercase; letter-spacing:1.8px; font-size:11px; font-weight:700; margin-bottom:5px; }
.swcdc-cookie-banner h2 { color:#fff; font-size:23px; letter-spacing:-.5px; line-height:1.25; margin:0 0 8px; }
.swcdc-cookie-banner p,.swcdc-cookie-dialog p { margin:0; font-size:14px; line-height:1.6; color:#c4dce6; }
.swcdc-cookie-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; }
.swcdc-cookie-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; font-size:12px; }
.swcdc-cookie-links a,.swcdc-cookie-dialog a { color:#98dbe6; text-decoration:underline; text-underline-offset:3px; }
.swcdc-cookie-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; flex-shrink:0; margin-left:auto; }
.swcdc-dialog-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.swcdc-choice { display:inline-flex; align-items:center; justify-content:center; text-align:center; min-height:46px; border:1px solid #6793a5; border-radius:10px; background:#123a4b; color:#fff; padding:12px 14px; font:600 13px/1.4 Inter,Arial,sans-serif; cursor:pointer; text-decoration:none; }
.swcdc-choice:hover { background:#214e60; color:#fff; border-color:#a1dce8; }
.swcdc-cookie-actions .swcdc-choice { min-height:44px; padding:11px 16px; }
#swcdc-consent button:focus-visible,#swcdc-consent a:focus-visible,#swcdc-consent input:focus-visible,.swcdc-map button:focus-visible,.swcdc-map a:focus-visible,.swcdc-cookie-footer:focus-visible { outline:2px solid #9ceaf6; outline-offset:3px; }
.swcdc-cookie-dialog { position:fixed; inset:0; margin:auto; width:calc(100% - 32px); max-width:600px; max-height:calc(100dvh - 32px); overflow-y:auto; padding:28px; border-radius:20px; }
.swcdc-cookie-dialog::backdrop { background:#000b; }
.swcdc-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.swcdc-dialog-heading h2 { margin:0; font-size:24px; line-height:1.25; color:#fff; }
.swcdc-cookie-close { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; line-height:0; border:1px solid #426574; border-radius:50%; background:#0d3344; color:#fff; cursor:pointer; }
.swcdc-cookie-close svg { display:block; width:24px; height:24px; }
.swcdc-cookie-category { border:1px solid #345566; border-radius:12px; padding:18px; margin-top:18px; }
.swcdc-category-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:30px; margin:0 0 10px; }
.swcdc-category-heading h3,.swcdc-category-heading > span:first-child { margin:0; font-size:16px; color:#fff; font-weight:600; }
.swcdc-category-heading h3 + span { font-size:11px; color:#b4d2dc; }
.swcdc-category-heading input { appearance:auto; accent-color:#78cbda; width:24px; height:24px; flex:0 0 24px; margin:0; cursor:pointer; }
.swcdc-dialog-actions { margin-top:22px; }
.swcdc-save { grid-column:1/-1; }
.swcdc-cookie-dialog .swcdc-cookie-detail { font-size:12px; margin-top:16px; }
.swcdc-cookie-footer { appearance:none; background:transparent; border:0; font:inherit; color:inherit; cursor:pointer; padding:0; text-decoration:underline; text-underline-offset:3px; }
.swcdc-cookie-footer:hover { color:var(--color-aqua); }
.swcdc-storage-note { position:fixed; z-index:1001; left:50%; bottom:12px; transform:translateX(-50%); max-width:520px; width:calc(100% - 32px); padding:12px 18px; border-radius:12px; font-size:13px; }
.swcdc-map { position:relative; width:100%; min-height:500px; background:#062838; color:#e0eef3; }
.swcdc-map-placeholder { min-height:500px; padding:54px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:radial-gradient(ellipse at center,#0c3b4b 0%,#031f2e 80%); }
.swcdc-map-icon { display:grid; place-items:center; width:60px; height:60px; border:1px solid #497986; border-radius:50%; margin-bottom:20px; color:#8ed7e3; }
.swcdc-map-icon svg { display:block; width:28px; height:28px; }
.swcdc-map-placeholder h2 { margin:0 0 16px; font-size:clamp(25px,3vw,36px); color:#fff; }
.swcdc-map-placeholder p { max-width:620px; margin:0; font-size:15px; line-height:1.7; color:#c8dfe8; }
.swcdc-map-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:24px 0 16px; }
.swcdc-map-placeholder .swcdc-map-note { font-size:12px; color:#a5c4d1; }
.swcdc-map-frame:empty { display:none; }
.swcdc-map-frame iframe { display:block; border:0; width:100%; height:500px; }
.swcdc-map-settings { display:block; width:100%; min-height:42px; padding:10px 20px; border:0; color:#cce6ef; background:#062838; text-align:center; text-decoration:underline; cursor:pointer; font:13px/1.4 Inter,Arial,sans-serif; }
/* Obsolete remote decorative fallback: current portraits already have local images. */
.director-photo::before { background-image:none; }
@media(max-width:760px) {
 .swcdc-cookie-banner { width:calc(100% - 24px); bottom:12px; padding:20px; gap:18px; grid-template-columns:1fr; max-height:calc(100dvh - 24px); border-radius:16px; }
 .swcdc-cookie-bottom { flex-direction:column; align-items:stretch; gap:16px; }
 .swcdc-cookie-actions { grid-template-columns:repeat(2,minmax(0,1fr)); margin-left:0; }
 .swcdc-cookie-actions .swcdc-settings-link { grid-column:1/-1; grid-row:1; }
 .swcdc-cookie-banner h2 { font-size:21px; }
 .swcdc-cookie-banner p { font-size:13px; }
 .swcdc-cookie-dialog { padding:20px; }
 .swcdc-dialog-heading h2 { font-size:22px; }
 .swcdc-cookie-category { padding:14px; }
}
@media(prefers-reduced-motion:reduce) { #swcdc-consent * { scroll-behavior:auto; transition:none; } }
