/* Consent surfaces: quiet typography, equal choice buttons and restrained brand accents. */
.cc-ui { --cc-ink:#101514; --cc-paper:#f7f9f8; --cc-muted:#52605a; --cc-line:#d9dfdc; color:var(--cc-ink); font:400 1rem/1.5 Satoshi,sans-serif; }
.cc-ui,.cc-ui * { box-sizing:border-box; }
.cc-ui button { font-family:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.cc-ui :is(button,a,input):focus-visible { outline:2px solid #277321; outline-offset:4px; }
.cc-ui a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.cc-ui a:hover { text-decoration-thickness:2px; }
.cc-ui p { margin:0; font-size:.875rem; line-height:1.6; color:var(--cc-muted); }
.cc-brand { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.cc-brand img { display:block; width:144px; height:20px; object-fit:contain; }
.cc-brand>span { color:var(--cc-muted); font-size:.625rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.cc-banner { display:none; position:fixed; z-index:1000; right:1.5rem; bottom:1.5rem; flex-direction:column; align-items:stretch; gap:1.5rem; width:440px; max-width:calc(100% - 3rem); max-height:calc(100dvh - 3rem); overflow-y:auto; padding:1.75rem; background:var(--cc-paper); border:1px solid #fff; border-radius:var(--cv-radius); box-shadow:0 8px 40px #1015141f,0 1px 4px #1015140a; }
.cc-banner-copy { min-width:0; }
.cc-banner h2 { margin:1.5rem 0 .75rem; font-family:Satoshi,sans-serif; font-size:1.5rem; font-weight:500; line-height:1.2; letter-spacing:-.035em; }
.cc-banner-actions { text-align:center; }
.cc-choices { display:grid; grid-template-columns:1fr 1fr; gap:.625rem; }
.cc-ui .cc-button { display:inline-flex; justify-content:center; align-items:center; gap:1rem; min-height:46px; padding:.75rem 1rem; border:1px solid #b6c1ba; border-radius:var(--cv-radius); color:var(--cc-ink); background:transparent; font-size:.8125rem; font-weight:500; line-height:1.4; text-align:center; text-decoration:none; transition:background-color .15s,border-color .15s; }
.cc-ui .cc-button:hover { background:#e8eeeb; border-color:#76897c; }
.cc-text-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin:.5rem 0 -.5rem; padding:.5rem; border:0; color:var(--cc-muted); background:transparent; font-size:.8125rem; line-height:1.4; text-decoration:underline; text-underline-offset:4px; }
.cc-text-button:hover { color:var(--cc-ink); text-decoration-thickness:2px; }
.cc-preferences { display:none; position:fixed; z-index:1001; inset:0; align-items:center; justify-content:center; padding:1.5rem; }
.cc-overlay { position:absolute; inset:0; background:#1015148c; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.cc-panel { position:relative; z-index:1; display:flex; flex-direction:column; width:100%; max-width:580px; max-height:calc(100dvh - 3rem); min-height:0; margin:0; overflow:hidden; border:1px solid #fff; border-radius:var(--cv-radius); background:var(--cc-paper); box-shadow:0 24px 80px #10151433; }
.cc-panel-header { position:relative; flex:none; padding:2rem 2rem 1.5rem; }
.cc-panel-header .cc-brand { justify-content:flex-start; padding-right:2.25rem; }
.cc-panel-header .cc-brand>span { display:none; }
.cc-panel-header h2 { margin:1.75rem 0 .75rem; font-family:Satoshi,sans-serif; font-size:1.75rem; font-weight:500; line-height:1.2; letter-spacing:-.035em; outline:none; }
.cc-panel-header p { max-width:49ch; }
.cc-close { position:absolute; top:1.25rem; right:1.25rem; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:12px; border:0; border-radius:var(--cv-radius); background:transparent; color:var(--cc-muted); transition:background-color .15s; }
.cc-close:hover { background:#e8eeeb; color:var(--cc-ink); }
.cc-close svg { width:20px; height:20px; }
.cc-panel-content { min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:0 2rem; scrollbar-width:thin; scrollbar-color:#b6c1ba transparent; }
.cc-panel-content>.cc-choices { margin-bottom:.75rem; }
.cc-category { border-bottom:1px solid var(--cc-line); padding:.875rem 0 1.125rem; }
.cc-category:last-child { border-bottom:0; }
.cc-category-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:44px; margin-bottom:.125rem; }
.cc-category h3 { margin:0; font-family:Satoshi,sans-serif; font-size:.9375rem; font-weight:500; line-height:1.4; letter-spacing:0; }
.cc-category p { padding-right:3.75rem; font-size:.8125rem; line-height:1.55; }
.cc-required { flex-shrink:0; color:#42633d; font-size:.6875rem; line-height:1.4; font-weight:500; }
.cc-switch { position:relative; flex:none; display:flex; align-items:center; width:44px; height:44px; margin:0; cursor:pointer; }
.cc-switch input { position:absolute; z-index:1; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.cc-switch-track { display:block; width:44px; height:26px; border:1px solid #738479; border-radius:var(--cv-radius-round); background:#d9dfdc; transition:background-color .15s; }
.cc-switch-track::after { content:""; display:block; width:18px; height:18px; margin:3px; border-radius:var(--cv-radius-round); background:#fff; box-shadow:0 1px 3px #10151433; transition:transform .15s; }
.cc-switch input:checked+.cc-switch-track { background:#31752b; border-color:#31752b; }
.cc-switch input:checked+.cc-switch-track::after { transform:translateX(18px); }
.cc-switch input:focus-visible+.cc-switch-track { outline:2px solid #277321; outline-offset:4px; }
.cc-panel-footer { flex:none; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.25rem 2rem; border-top:1px solid var(--cc-line); background:var(--cc-paper); }
.cc-panel-footer>a { display:inline-flex; align-items:center; min-height:44px; color:var(--cc-muted); font-size:.75rem; }
.cc-ui .cc-save { min-width:196px; color:#f7f9f8; background:var(--cc-ink); border-color:var(--cc-ink); }
.cc-ui .cc-save:hover { background:#263731; border-color:#263731; }
@media(max-width:600px) {
  .cc-banner { right:.75rem; bottom:.75rem; width:440px; max-width:calc(100% - 1.5rem); max-height:calc(100dvh - 1.5rem); padding:1.5rem; gap:1.25rem; }
  .cc-banner h2 { font-size:1.375rem; }
  .cc-preferences { padding:.75rem; }
  .cc-panel { max-height:calc(100dvh - 1.5rem); border-radius:var(--cv-radius); }
  .cc-panel-header { padding:1.5rem 1.25rem 1.25rem; }
  .cc-panel-header h2 { font-size:1.5rem; margin-top:1.5rem; }
  .cc-close { top:.75rem; right:.75rem; }
  .cc-panel-content { padding:0 1.25rem; }
  .cc-category p { padding-right:1.75rem; }
  .cc-panel-footer { flex-direction:column-reverse; gap:.25rem; padding:1rem 1.25rem .5rem; }
  .cc-ui .cc-save { width:100%; }
  .cc-ui .cc-button { padding:.75rem .5rem; }
}
@media(max-height:620px) {
  .cc-panel-header { padding:1rem 1.25rem; }
  .cc-panel-header .cc-brand { display:none; }
  .cc-panel-header h2 { margin:0 2rem .5rem 0; }
  .cc-panel-footer { padding:.75rem 1.25rem; flex-direction:row; }
  .cc-panel-footer .cc-save { width:auto; min-width:160px; }
}
@media(prefers-reduced-motion:reduce) { .cc-ui,.cc-ui * { transition:none!important; } }
@media print { .cc-ui { display:none!important; } }

.cc-video-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;background:#17201d;color:#fff;text-align:center;padding:clamp(1rem,3vw,3rem);font-family:inherit}
.cc-video-placeholder[hidden]{display:none}
.cc-video-placeholder p{margin:0;font-size:clamp(.9rem,1.5vw,1.2rem)}
.cc-video-placeholder button{border:1px solid #7ad371;border-radius:var(--cv-radius);background:transparent;color:inherit;padding:.75rem 1rem;font:inherit;cursor:pointer}
.cc-video-placeholder button:focus-visible{outline:2px solid #7ad371;outline-offset:4px}
.cc-video-placeholder small{opacity:.75;font-size:.8rem}
.contact-privacy-note{font-size:.8125rem;line-height:1.5;max-width:44rem;margin:1rem 0 0}
.contact-privacy-note a{text-decoration:underline;text-underline-offset:.15em}
