/* UnderHost partner logos, footer and privacy window only, for sites that keep their own header. Built by shared/build-footer-css.py */
:where(.partners-section, footer.sec-dark, .uh-privacy-fab, .uh-privacy-modal) {--cyan:#00D4FF;        
  --blue:#0091D6;        
  --navy-base:#0A1220;   
  --navy-mid:#0D1B30;    
  --navy-panel:#0F2040;  
  --soft:#F8F9FA;        
  --red:#d9251c;
  --font-head:'Manrope','Inter',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',monospace;

  
  --uh-navy:   #0D1F3C;
  --uh-blue:   #176ea5;
  --uh-cyan:   #0099cc;
  --uh-bg:     #f6f8fb;
  --uh-card:   #ffffff;
  --uh-text:   #1f2937;
  --uh-muted:  #6b7280;
  --uh-border: #e5e7eb;
  --uh-success:#16a34a;
  --uh-danger: #dc2626; --color-primary:#0091D6!important;
  --color-primary-rgb:0,145,214!important;
  --color-secondary:#00D4FF!important;
  --color-accent:#00D4FF!important;
  --color-primary-dark:#0077b8!important;
  --color-primary-light:rgba(0,145,214,0.12)!important; --bg:#0A1220;--bg2:#0D1B30;--bg3:#0F2040;
  --border:rgba(0,212,255,0.10);--text:#e8f0fb;--muted:#b8c7d9;
  --accent:var(--cyan);--btn-bg:var(--cyan);--btn-text:#0A1220;
  --nav-dd-bg:#0F2040;--nav-shadow:0 20px 40px rgba(0,0,0,.6); font-family: var(--font-body); line-height: 1.6; color: var(--text);}
:where(.partners-section, footer.sec-dark, .uh-privacy-fab, .uh-privacy-modal) :where(*, *::before, *::after) { box-sizing: border-box; margin: 0; padding: 0; }
:where(.partners-section, footer.sec-dark, .uh-privacy-fab, .uh-privacy-modal) :where(h1, h2, h3, h4, h5, h6) { font-family: var(--font-head); }
:where(.partners-section, footer.sec-dark, .uh-privacy-fab, .uh-privacy-modal) :where(img) { max-width: 100%; display: block; }
:where(.partners-section, footer.sec-dark, .uh-privacy-fab, .uh-privacy-modal) a, :where(.partners-section, footer.sec-dark, .uh-privacy-fab, .uh-privacy-modal) a:hover, :where(.partners-section, footer.sec-dark, .uh-privacy-fab, .uh-privacy-modal) a:focus { text-decoration: none !important; }
:where(.partners-section, footer.sec-dark, .uh-privacy-fab, .uh-privacy-modal) :where(a) { color: inherit; }
:where(.partners-section, footer.sec-dark, .uh-privacy-fab, .uh-privacy-modal) :where(button, input) { font-family: inherit; }
footer {background:var(--bg2);border-top:1px solid var(--border);padding:60px 0 32px}
.footer-grid {display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:28px;margin-bottom:0}
.footer-ded-row {border-top:1px solid var(--border);padding-top:32px;margin-top:32px;margin-bottom:44px}
.footer-ded-row h4 {font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text);margin-bottom:18px}
.footer-ded-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.footer-ded-grid .footer-sub-title {font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:block}
.footer-ded-grid ul {list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-ded-grid ul li a {font-size:13px;color:var(--muted);transition:color .2s}
.footer-ded-grid ul li a:hover {color:var(--accent)}
.footer-ded-grid ul li .unavail {font-size:13px;color:var(--muted);opacity:.42;pointer-events:none;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:currentColor;cursor:not-allowed}
.footer-brand p {font-size:13px;color:var(--muted);line-height:1.7;max-width:230px;margin-top:14px}
.footer-col h4 {font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
.footer-ded-row {border-top:1px solid var(--border);padding-top:28px;margin-top:28px;margin-bottom:44px}
.footer-ded-row>h4 {font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);margin-bottom:18px}
.footer-ded-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.footer-all-servers-cta {display:inline-flex;align-items:center;gap:8px;padding:9px 14px;margin:28px 0 0;border-radius:999px;background:linear-gradient(135deg,rgba(0,212,255,.18),rgba(0,145,214,.12));border:1px solid rgba(0,212,255,.35);color:#00D4FF!important;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 28px rgba(0,212,255,.08);transition:transform .2s,border-color .2s,background .2s,color .2s}
.footer-all-servers-cta i {font-size:11px;transition:transform .2s}
.footer-all-servers-cta:hover {transform:translateY(-1px);background:linear-gradient(135deg,#00D4FF,#0091D6);border-color:#00D4FF;color:#061426!important}
.footer-all-servers-cta:hover i {transform:translateX(3px)}
.footer-all-servers-cta--mobile {display:none}
.footer-ded-sub {font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:block;padding-bottom:6px;border-bottom:1px solid var(--border)}
.footer-ded-sub--specialty {margin-top:16px}
.footer-ded-grid ul {list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:0}
.footer-ded-grid ul.footer-specialty-list {gap:6px}
.footer-ded-grid ul li a {font-size:13px;color:var(--muted);transition:color .2s}
.footer-ded-grid ul li a:hover {color:var(--accent)}
.footer-ded-grid ul li a.footer-link-muted {color:rgba(184,199,217,.46)}
.footer-ded-grid ul li a.footer-link-muted:hover {color:rgba(0,212,255,.82)}
.footer-ded-grid ul li .unavail {font-size:13px;color:var(--muted);opacity:.42;pointer-events:none;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:currentColor;cursor:not-allowed}
.footer-col ul {list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-col ul li a {font-size:13px;color:var(--muted);transition:color .2s}
.footer-col ul li a:hover {color:var(--accent)}
.footer-col ul li .unavail {font-size:13px;color:var(--muted);opacity:.42;pointer-events:none;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:currentColor;cursor:not-allowed}
.footer-sub-title {font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:16px 0 8px;padding-top:8px;border-top:1px solid var(--border)}
.footer-sub-title:first-of-type {margin-top:0;border-top:none;padding-top:0}
.footer-bottom {display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.footer-bottom-right {display:flex;gap:16px}
.footer-bottom-right a:hover {color:var(--accent)}
.carousel-wrap {overflow:hidden;position:relative}
.carousel-wrap::before, .carousel-wrap::after {content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.carousel-wrap::before {left:0;background:linear-gradient(90deg,var(--bg2),transparent)}
.carousel-wrap::after {right:0;background:linear-gradient(-90deg,var(--bg2),transparent)}
.carousel-track {display:flex;gap:0;width:max-content;animation:cScroll 78s linear infinite}
.carousel-track:hover {animation-play-state:paused}
.partners-section {padding:36px 0;background:linear-gradient(135deg,#0a1a3a 0%,#0055b3 40%,#434cc5 70%,#0a1a3a 100%);position:relative}
.partners-section::before, .partners-section::after {content:'';display:block;height:3px;background:linear-gradient(90deg,#d9251c,#0091d6,#00d4ff,#434cc5,#d9251c);background-size:200% 100%;animation:borderShift 9s linear infinite;position:absolute;left:0;right:0}
.partners-section::before {top:0}
.partners-section::after {bottom:0}
.partners-section .carousel-wrap::before {display:none}
.partners-section .carousel-wrap::after {display:none}
.partner-item {padding:8px 20px;display:flex;align-items:center;justify-content:center}
.partner-item-inner {background:#fff;border-radius:8px;padding:8px 16px;display:flex;align-items:center;justify-content:center;height:52px;min-width:100px;transition:box-shadow .2s}
.partner-item-inner:hover {box-shadow:0 4px 16px rgba(0,0,0,.15)}
.partner-item img {height:32px;width:auto;max-width:110px;object-fit:contain}
.soc-btn {width:36px;height:36px;border-radius:6px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px;transition:border-color .2s,color .2s,background .2s}
.soc-btn:hover {border-color:var(--accent);color:var(--accent);background:rgba(0,145,214,0.08)}
.sec-light .carousel-wrap::before {background:linear-gradient(90deg,var(--bg),transparent)}
.sec-light .carousel-wrap::after {background:linear-gradient(-90deg,var(--bg),transparent)}
@media(max-width:1100px) {
  .footer-grid {grid-template-columns:1.4fr 1fr 1fr 1fr}
}
@media(max-width:960px) {
  .footer-grid {grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:600px) {
  .footer-grid {grid-template-columns:1fr;gap:0}
  .footer-col, .footer-brand {padding:20px 0;border-bottom:1px solid var(--border)}
  .footer-col:last-child {border-bottom:none}
  .footer-brand {padding-bottom:20px}
  .footer-ded-row {margin-top:0;padding-top:20px}
  .footer-ded-grid {grid-template-columns:1fr;gap:20px}
  .footer-all-servers-cta {width:100%;justify-content:center;margin:18px 0 2px}
  .footer-all-servers-cta--desktop {display:none}
  .footer-all-servers-cta--mobile {display:flex}
  .footer-col ul, .footer-ded-grid ul {gap:0}
  .footer-col ul li a, .footer-ded-grid ul li a, .footer-col ul li .unavail, .footer-ded-grid ul li .unavail {
    min-height:36px;
    display:flex;
    align-items:center;
    padding:6px 0;
  }
  .footer-ded-sub {margin-top:4px}
  .footer-ded-sub--specialty {margin-top:18px}
  .footer-bottom {flex-direction:column;gap:12px;text-align:center;padding-top:20px}
  .footer-bottom-right {flex-wrap:wrap;justify-content:center;gap:12px}
}
.uh-privacy-fab {
  position: fixed;
  left: 40px;
  bottom: 26px;
  width: 50px;
  height: 50px;
  border-radius: 999px;
  border: 1px solid rgba(145,232,255,0.72);
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,0.62) 0 12%, rgba(103,225,255,0.78) 13% 30%, transparent 31%),
    linear-gradient(145deg, #20d5ff 0%, #00a9ef 46%, #006fba 100%);
  box-shadow: 0 14px 28px rgba(0,169,239,0.28), 0 0 0 4px rgba(0,196,255,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  z-index: 2147482999;
  transition: transform .2s ease, box-shadow .2s ease;
}
.uh-privacy-fab[hidden], .uh-privacy-modal[hidden] {
  display: none !important;
}
.uh-privacy-fab:hover, .uh-privacy-fab:focus-visible {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 18px 34px rgba(0,196,255,0.34), 0 0 0 6px rgba(0,196,255,0.11);
  outline: none;
}
.uh-privacy-fab img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  border-radius: 999px;
  padding: 4px;
  background: rgba(255,255,255,0.94);
  box-shadow: inset 0 0 0 1px rgba(0,113,186,0.12), 0 4px 10px rgba(0,54,91,0.22);
  display: block;
}
.uh-privacy-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 2147483002;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
.uh-privacy-modal.is-open {
  display: flex;
}
.uh-privacy-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.58);
}
.uh-privacy-panel {
  position: relative;
  width: min(625px, calc(100vw - 32px));
  max-height: min(730px, calc(100vh - 48px));
  background: #fff;
  color: #111827;
  border-radius: 8px;
  box-shadow: 0 28px 80px rgba(0,0,0,0.34);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.uh-privacy-panel::before {
  content: "";
  height: 4px;
  background: linear-gradient(90deg, #002b5c, #00aeef);
  flex: 0 0 auto;
}
.uh-privacy-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 22px 24px 18px;
}
.uh-privacy-head h2 {
  margin: 0 0 10px;
  font-size: 17px;
  line-height: 1.25;
  color: #0f172a;
  font-weight: 800;
}
.uh-privacy-head p {
  margin: 0;
  color: #263244;
  font-size: 12px;
  line-height: 1.55;
}
.uh-privacy-links {
  display: flex;
  gap: 20px;
  margin-top: 14px;
}
.uh-privacy-links a {
  color: #0f172a;
  font-size: 11px;
  text-decoration: none;
}
.uh-privacy-links a:hover {
  color: #0064c8;
}
.uh-privacy-close {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  position: relative;
  margin-top: -4px;
}
.uh-privacy-close span, .uh-privacy-close span::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  top: 17px;
  height: 2px;
  background: #111827;
  transform: rotate(45deg);
}
.uh-privacy-close span::after {
  left: 0;
  right: 0;
  top: 0;
  transform: rotate(90deg);
}
.uh-privacy-close:hover {
  background: #f3f4f6;
}
.uh-privacy-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #eef1f5;
  border-bottom: 1px solid #d9dde4;
  background: #fbfdff;
}
.uh-privacy-tabs button {
  height: 48px;
  border: 0;
  background: #fff;
  color: #111827;
  cursor: pointer;
  font-weight: 700;
  font-size: 12px;
  position: relative;
}
.uh-privacy-tabs button.is-active {
  color: #0057bd;
}
.uh-privacy-tabs button.is-active::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 3px;
  background: #0057bd;
}
.uh-privacy-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 22px 24px;
  scrollbar-color: #8aa4bf #eef3f8;
  scrollbar-width: thin;
}
.uh-privacy-card {
  border: 1px solid #d7dce4;
  border-radius: 5px;
  padding: 17px 12px 17px 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 1px 0 rgba(15,23,42,0.03);
}
.uh-privacy-card:has(input:checked:not(:disabled)) {
  border-color: rgba(0,110,210,0.34);
  background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
}
.uh-privacy-card h3 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
}
.uh-privacy-card p {
  margin: 0;
  color: #536070;
  font-size: 11px;
  line-height: 1.55;
}
.uh-privacy-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}
.uh-privacy-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.uh-privacy-switch span {
  width: 38px;
  height: 20px;
  border-radius: 999px;
  background: #cfd4dc;
  position: relative;
  transition: background .18s ease;
}
.uh-privacy-switch span::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  left: 2px;
  top: 2px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.22);
  transition: transform .18s ease;
}
.uh-privacy-switch input:checked + span {
  background: #0057bd;
}
.uh-privacy-switch input:checked + span::before {
  transform: translateX(18px);
}
.uh-privacy-switch.is-locked {
  cursor: default;
}
.uh-privacy-switch.is-locked input:checked + span {
  background: #cfd4dc;
}
.uh-privacy-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  min-height: 30px;
  border-radius: 999px;
  padding: 0 12px;
  background: #eef6ff;
  color: #0057bd;
  font-size: 11px;
  font-weight: 800;
}
.uh-privacy-pill.is-off {
  background: #f3f4f6;
  color: #6b7280;
}
.uh-privacy-pill.is-required {
  background: #edfdf5;
  color: #047857;
}
.uh-privacy-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
  padding: 12px 24px;
  border-top: 1px solid #e5e7eb;
  background: #fbfdff;
}
.uh-privacy-btn {
  min-height: 36px;
  border: 0;
  border-radius: 5px;
  background: #f3f4f6;
  color: #111827;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.uh-privacy-btn:hover {
  background: #e8ebef;
}
.uh-privacy-btn-primary {
  background: #00aeef;
  color: #fff;
}
.uh-privacy-btn-primary:hover {
  background: #0091d6;
}
body.uh-privacy-lock {
  overflow: hidden !important;
}
@media (max-width: 640px) {
  .uh-privacy-fab {
    left: 14px;
    bottom: 14px;
    width: 48px;
    height: 48px;
  }
  .uh-privacy-modal {
    padding: 12px;
    align-items: flex-end;
  }
  .uh-privacy-panel {
    width: 100%;
    max-height: calc(100vh - 24px);
    border-radius: 10px;
  }
  .uh-privacy-head, .uh-privacy-body {
    padding: 18px;
  }
  .uh-privacy-card {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .uh-privacy-actions {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px 18px 18px;
  }
}
@keyframes cScroll {0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes borderShift {0%{background-position:0% 0}100%{background-position:200% 0}}
