/* =====================================================
   OpenTech Support - Consolidated Enterprise CSS
   Cleaned and deduplicated while preserving working behavior
===================================================== */

:root{
  --primary:#037EF3;
  --primary-dark:#026BCE;
  --accent:#FFDD00;
  --ink:#0B1220;
  --slate:#3A475A;
  --bg:#F5F7FA;
  --border:#E6EAF0;
  --surface:#FFFFFF;

  --radius:12px;
  --shadow-sm:0 6px 18px rgba(11,18,32,.06);
  --shadow-md:0 14px 40px rgba(11,18,32,.10);
  --max:1140px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}

body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  line-height:1.6;
  background:
    linear-gradient(to bottom,#ffffff 0%,var(--bg) 60%),
    repeating-linear-gradient(
      0deg,
      rgba(11,18,32,.015),
      rgba(11,18,32,.015) 1px,
      transparent 1px,
      transparent 3px
    );
  background-attachment:fixed;
}

a{color:inherit;text-decoration:none}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:3px solid rgba(3,126,243,.35);
  outline-offset:2px;
  border-radius:10px;
}

/* =========================
   Layout
========================= */

.container{max-width:var(--max);margin:0 auto;padding:0 20px}
.section{padding:80px 0;position:relative}
.section-divider{border-top:1px solid var(--border)}

.section-accent::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:60px;
  height:3px;
  background:var(--primary);
}

.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.overflow-auto{overflow:auto}

/* =========================
   Typography
========================= */

h1,h2,h3,h4{margin:0 0 16px;color:var(--ink)}
.h1{font-size:52px;font-weight:800;line-height:1.1}
.h2{font-size:32px;font-weight:700}
.h3{font-size:20px;font-weight:600}
.lead{font-size:20px;color:var(--slate);margin-bottom:28px}
.p{color:var(--slate)}
.kicker{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  color:var(--primary);
  margin-bottom:14px;
}

.mb-0{margin-bottom:0}
.muted{color:var(--slate)}
.text-center{text-align:center}
.display-block{display:block}

/* =========================
   Utility spacing
========================= */

.mt-8{margin-top:8px}
.mt-10{margin-top:10px}
.mt-12{margin-top:12px}
.mt-14{margin-top:14px}
.mt-16{margin-top:16px}
.mt-20{margin-top:20px}
.mt-24{margin-top:24px}

.section-card{margin-top:24px}

.visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* =========================
   Logo
========================= */

.logo{height:34px;width:auto;display:block}
@media (min-width:992px){
  .logo{height:38px}
}

/* =========================
   Header
========================= */

.site-header{
  position:sticky;
  top:0;
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(8px);
  border-bottom:none;
  z-index:1000;
  overflow:visible;
}

.header-row{
  padding:18px 0;
}

.brand{
  font-weight:800;
  font-size:18px;
  color:var(--ink);
  white-space:nowrap;
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.skip-link{
  position:absolute;
  top:-100px;
  left:20px;
  background:linear-gradient(135deg,#037EF3,#1a8cff);
  color:#fff;
  padding:12px 18px;
  border-radius:10px;
  font-weight:700;
  font-size:14px;
  text-decoration:none;
  z-index:9999;
  box-shadow:0 10px 25px rgba(3,126,243,.35);
  transition:top .25s ease,transform .25s ease;
}

.skip-link:focus{
  top:20px;
  transform:translateY(0);
  outline:3px solid #FFDD00;
  outline-offset:3px;
}

/* =========================
   Theme toggle
========================= */

.theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:10px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.55);
  color:var(--ink);
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
  flex:0 0 auto;
}

.theme-toggle:hover{
  transform:translateY(-1px);
  border-color:rgba(3,126,243,.35);
}

.theme-toggle__icon{
  font-weight:700;
  font-size:16px;
  line-height:1;
}

/* =========================
   Desktop nav
========================= */

.nav{
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.nav--desktop{
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:nowrap;
  min-width:0;
  overflow:visible;
}


.nav--desktop a,
.nav--desktop button{
  flex:0 0 auto;
  white-space:nowrap;
}

.nav a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  text-decoration:none;
  color:var(--slate);
  font-weight:500;
  padding:8px 10px;
  border-radius:8px;
  transition:.2s ease;
  position:relative;
}

.nav .btn{
  color:#FFFFFF !important;
  margin-left:6px;
}

.nav a:hover,
.nav a.active{
  background:rgba(3,126,243,.08);
  color:var(--ink);
}

.nav a::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:6px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--primary),rgba(3,126,243,.55));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
  opacity:.9;
}

.nav a:hover::after,
.nav a.active::after,
.nav a:focus-visible::after{
  transform:scaleX(1);
}

.nav-icon{
  width:16px;
  height:16px;
  margin-right:6px;
  vertical-align:-2px;
  stroke:currentColor;
  stroke-width:1.8;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
}

.nav a:hover .nav-icon,
.nav-dropdown__toggle:hover .nav-icon{
  transform:translateY(-1px);
  transition:transform .15s ease;
}

/* =========================
   Dropdowns + mega menu
========================= */

.nav-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.nav .nav-dropdown__toggle{
  appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
  font:inherit;
  color:var(--slate);
  font-weight:500;
  padding:8px 10px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:.2s ease;
  position:relative;
}

.nav .nav-dropdown__toggle:hover,
.nav .nav-dropdown__toggle:focus-visible,
.nav .nav-dropdown__toggle.active,
.nav .nav-dropdown.is-open .nav-dropdown__toggle{
  background:rgba(3,126,243,.08);
  color:var(--ink);
}

.nav .nav-dropdown__toggle::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:6px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--primary),rgba(3,126,243,.55));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
  opacity:.9;
}

.nav .nav-dropdown__toggle:hover::after,
.nav .nav-dropdown__toggle:focus-visible::after,
.nav .nav-dropdown__toggle.active::after,
.nav .nav-dropdown.is-open .nav-dropdown__toggle::after{
  transform:scaleX(1);
}

.nav .nav-dropdown__chev{
  font-size:12px;
  opacity:.85;
}

.site-header .nav-dropdown__menu{
  z-index:9999;
  display:none;
  min-width:240px;
  padding:10px;
  background:#FFFFFF;
  border:1px solid #E6EAF0;
  border-radius:14px;
  box-shadow:0 14px 40px rgba(11,18,32,.10);
  margin-top:0;
}

.site-header .nav-dropdown__menu a,
.drawer-accordion__content a{
  display:flex;
  align-items:center;
  gap:8px;
}

.site-header .nav-dropdown__menu a{
  padding:10px;
  border-radius:12px;
  color:#0B1220;
  font-weight:650;
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}

.site-header .nav-dropdown__menu a:hover,
.site-header .nav-dropdown__menu a.active{
  background:rgba(3,126,243,.10);
  color:#0B1220;
}

.site-header .nav-dropdown__menu a::after{
  content:none !important;
}

.nav-dropdown--mega .nav-dropdown__menu--mega{
  padding:0;
  min-width:720px;
  max-width:92vw;
  border-radius:18px;
  overflow:hidden;
}

.mega-menu{
  display:grid;
  grid-template-columns:260px 1fr;
  min-width:0;
}

.mega-menu__intro{
  padding:22px;
  border-right:1px solid var(--border);
  background:linear-gradient(180deg,rgba(3,126,243,.08),rgba(255,221,0,.05));
}

.mega-menu__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:16px;
  min-width:0;
}

.mega-menu__item{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  border:1px solid transparent;
  border-radius:14px;
  background:transparent;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.site-header .nav-dropdown--mega .nav-dropdown__menu--mega a.mega-menu__item{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  padding:16px;
}

.mega-menu__item:hover,
.mega-menu__item.active{
  background:rgba(3,126,243,.08);
  border-color:rgba(3,126,243,.18);
  transform:translateY(-1px);
}

.mega-menu__icon{
  width:20px;
  height:20px;
  display:block;
  margin-bottom:10px;
  stroke:currentColor;
  stroke-width:1.8;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  color:var(--primary);
}

.mega-menu__title{
  width:100%;
  display:block;
  font-weight:850;
  color:#0B1220;
  margin-bottom:0;
  white-space:normal;
  overflow-wrap:anywhere;
}

.mega-menu__text{
  width:100%;
  display:block;
  font-size:13px;
  line-height:1.55;
  color:#3A475A;
  white-space:normal;
  overflow-wrap:anywhere;
}

.nav-dropdown--mega.is-open .nav-dropdown__toggle{
  background:rgba(3,126,243,.08);
  color:var(--ink);
}

.nav-dropdown--mega.is-open .nav-dropdown__toggle::after{
  transform:scaleX(1);
}

/* =========================
   Mobile header actions
========================= */

.header-actions--mobile{display:none}

.menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:10px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.55);
  color:var(--ink);
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}

.menu-toggle:hover{
  transform:translateY(-1px);
  border-color:rgba(3,126,243,.35);
}

.menu-toggle__icon{
  font-weight:900;
  font-size:18px;
  line-height:1;
}

.nav-overlay{
  position:fixed;
  inset:0;
  background:rgba(11,18,32,.55);
  backdrop-filter:blur(6px);
  z-index:110;
}

.nav-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(360px,92vw);
  height:100vh;
  background:var(--surface);
  border-left:1px solid var(--border);
  box-shadow:0 22px 70px rgba(11,18,32,.22);
  z-index:120;
  transform:translateX(102%);
  transition:transform .28s ease;
  display:flex;
  flex-direction:column;
}

.nav-drawer.is-open{transform:translateX(0)}

.nav-drawer__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 18px 12px;
  border-bottom:1px solid var(--border);
}

.nav-drawer__title{
  font-weight:900;
  color:var(--ink);
}

.nav-drawer__close{
  width:40px;
  height:40px;
  border-radius:10px;
  border:1px solid var(--border);
  background:transparent;
  color:var(--ink);
  cursor:pointer;
}

.nav-drawer__links{
  padding:12px;
  display:grid;
  gap:6px;
}

.nav-drawer__links a{
  padding:12px;
  border-radius:12px;
  color:var(--ink);
  font-weight:650;
  text-decoration:none;
  transition:background .2s ease;
}

.nav-drawer__links a:hover,
.nav-drawer__links a.active{
  background:rgba(3,126,243,.10);
}

.nav-drawer__footer{
  margin-top:auto;
  padding:14px 12px 18px;
  border-top:1px solid var(--border);
}

.nav-drawer__cta{width:100%;text-align:center}
body.nav-open{overflow:hidden}

.drawer-accordion{
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.04);
  overflow:hidden;
}

.drawer-accordion__summary{
  list-style:none;
  cursor:pointer;
  padding:12px;
  border-radius:14px;
  font-weight:750;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.drawer-accordion__summary::-webkit-details-marker{display:none}

.drawer-accordion__chev{
  font-size:12px;
  opacity:.85;
  transition:transform .2s ease;
}

.drawer-accordion[open] .drawer-accordion__chev{transform:rotate(180deg)}

.drawer-accordion__content{
  padding:6px 10px 10px;
  display:grid;
  gap:6px;
}

.drawer-accordion__content a{
  padding:12px;
  border-radius:12px;
  font-weight:650;
  color:var(--ink);
  background:transparent;
  border:1px solid transparent;
  transition:background .2s ease;
}

.drawer-accordion__content a:hover,
.drawer-accordion__content a.active{
  background:rgba(3,126,243,.10);
}

/* =========================
   Reveal
========================= */

.reveal{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .6s ease,transform .6s ease;
  will-change:opacity,transform;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* =========================
   Buttons
========================= */

.btn{
  display:inline-block;
  background:linear-gradient(135deg,var(--primary),#1a8cff);
  color:#FFFFFF;
  padding:13px 22px;
  border-radius:10px;
  font-weight:600;
  text-decoration:none;
  transition:.25s ease;
  box-shadow:0 8px 22px rgba(3,126,243,.25);
}

.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(3,126,243,.30);
}

.btn-secondary{
  background:#FFFFFF;
  border:1px solid var(--border);
  color:var(--ink);
  padding:13px 22px;
  border-radius:10px;
  font-weight:600;
  text-decoration:none;
  transition:.2s ease;
}

.btn-secondary:hover{
  border-color:var(--primary);
  color:var(--primary);
}

.btn-compact{padding:10px 14px}
.theme-light .btn:hover{background:#0269cc;border-color:#0269cc}

/* =========================
   Hero
========================= */

.hero{
  padding:120px 0 100px;
  position:relative;
  background:linear-gradient(to bottom right,rgba(3,126,243,.06),rgba(255,221,0,.04));
  border-bottom:1px solid var(--border);
}

.hero--tight{padding:92px 0 74px}

/* =========================
   Cards
========================= */

.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  box-shadow:var(--shadow-sm);
  transition:.3s ease;
  overflow:visible;
}

.card:hover{
  box-shadow:var(--shadow-md);
  transform:translateY(-4px);
}

/* =========================
   Trust strip
========================= */

.trust-strip{text-align:center;margin-top:28px;padding:32px 28px}
.trust-strip__grid{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trust-strip__item{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.60);
  font-weight:800;
  color:var(--ink);
}
.trust-strip__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:10px;
  background:rgba(3,126,243,.08);
  border:1px solid rgba(3,126,243,.15);
  font-size:16px;
  flex:0 0 auto;
  line-height:1;
}

/* =========================
   Grid
========================= */

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}

/* =========================
   Tables
========================= */

.table{
  width:100%;
  border-collapse:collapse;
  margin-top:24px;
  background:#FFFFFF;
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
}

.table th{text-align:left;background:rgba(3,126,243,.06);padding:16px;border-bottom:1px solid var(--border);font-weight:600}
.table td{padding:16px;border-bottom:1px solid var(--border)}
.table tr:last-child td{border-bottom:none}

/* =========================
   Forms
========================= */

label{display:block;margin-bottom:8px;font-weight:500;color:var(--slate)}

input,textarea,select{
  width:100%;
  padding:14px;
  border-radius:10px;
  border:1px solid var(--border);
  font-family:inherit;
  font-size:14px;
  background:#FFFFFF;
  color:var(--ink);
}

input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(3,126,243,.15);
}

textarea{min-height:150px;resize:vertical}

/* =========================
   Notices
========================= */

.notice{
  padding:16px;
  border-radius:10px;
  background:rgba(3,126,243,.08);
  border:1px solid rgba(3,126,243,.25);
  margin-bottom:24px;
  color:var(--ink);
}

.error{background:rgba(255,221,0,.30);border-color:rgba(255,221,0,.50)}

/* =========================
   Footer
========================= */

.site-footer{
  background:#FFFFFF;
  border-top:1px solid var(--border);
  padding:48px 0 28px;
  margin-top:80px;
}

.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;align-items:start}
.footer-title{font-weight:600;margin-bottom:12px;font-size:15px;color:var(--ink)}
.footer-brand{display:inline-block}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:8px}
.footer-links a{color:var(--slate);text-decoration:none;transition:.2s ease}
.footer-links a:hover{color:var(--primary)}
.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--border);color:var(--slate);font-size:14px}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.footer-legal{display:flex;gap:16px}
.footer-legal a{color:var(--slate);font-size:14px;text-decoration:none;transition:.2s ease}
.footer-legal a:hover{color:var(--primary)}
.badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.sp-badge{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(3,126,243,.06);color:var(--ink)}
.footer-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);margin-bottom:36px}
.footer-ip{font-size:13px;color:var(--slate);opacity:.85;white-space:nowrap}

.site-footer.site-footer--dark{
  background:#0B1220;
  color:rgba(234,240,255,.90);
  border-top:1px solid rgba(255,255,255,.10);
  padding:56px 0 26px;
  margin-top:80px;
}

.site-footer--dark .footer-top{display:grid !important;grid-template-columns:2fr 1fr 1fr 1fr !important;gap:34px !important;align-items:start !important;padding-top:6px}
.site-footer--dark .footer-col{display:flex;flex-direction:column;gap:12px;min-width:0 !important}
.site-footer--dark .footer-muted{color:rgba(234,240,255,.72);margin:0;line-height:1.65;max-width:52ch}
.site-footer--dark .footer-title{color:rgba(234,240,255,.95);font-weight:850;letter-spacing:.01em;margin-bottom:12px}
.site-footer--dark .footer-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.site-footer--dark .footer-logo{height:34px;width:auto;display:block}
.site-footer--dark .footer-divider{
  height:1px;
  width:100%;
  border-radius:999px;
  margin:0 0 34px;
  background:linear-gradient(90deg,rgba(3,126,243,0),rgba(3,126,243,.55),rgba(255,221,0,.45),rgba(3,126,243,.55),rgba(3,126,243,0));
  opacity:.85;
  position:relative;
  overflow:hidden;
}
.site-footer--dark .footer-divider::after{
  content:"";
  position:absolute;
  top:-6px;
  left:-30%;
  width:30%;
  height:14px;
  background:radial-gradient(circle,rgba(255,255,255,.24),rgba(255,255,255,0) 70%);
  filter:blur(6px);
  animation:footerSweep 5.5s ease-in-out infinite;
  opacity:.55;
}
@keyframes footerSweep{0%{transform:translateX(0)}50%{transform:translateX(260%)}100%{transform:translateX(0)}}
.site-footer--dark .badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.site-footer--dark .sp-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:750;letter-spacing:.02em;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:rgba(234,240,255,.82)}
.site-footer--dark .footer-links{list-style:none;padding:0;margin:0;display:grid;gap:8px;min-width:0}
.site-footer--dark .footer-links li,
.site-footer--dark .footer-links a{min-width:0}
.site-footer--dark .footer-links a{color:rgba(234,240,255,.78);text-decoration:none;transition:color .2s ease,transform .2s ease,opacity .2s ease;display:inline-flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-footer--dark .footer-links a:hover{color:#FFFFFF;transform:translateX(1px)}
.site-footer--dark .footer-cta{margin-top:6px}
.site-footer--dark .footer-cta a{max-width:100%;white-space:nowrap}
.site-footer--dark .btn-portal{display:inline-flex;justify-content:center;align-items:center;width:fit-content;background:linear-gradient(135deg,var(--primary),#1a8cff);color:#FFFFFF !important;border:1px solid rgba(255,255,255,.10);box-shadow:0 14px 40px rgba(3,126,243,.22);padding:12px 16px;border-radius:12px;font-weight:800}
.site-footer--dark .btn-portal:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary))}
.site-footer--dark .footer-link-btn{display:inline-flex;justify-content:center;align-items:center;width:fit-content;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:rgba(234,240,255,.86)}
.site-footer--dark .footer-link-btn:hover{border-color:rgba(3,126,243,.45);color:#FFFFFF}
.site-footer--dark .footer-bottom{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10)}
.site-footer--dark .footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.site-footer--dark .footer-legal{display:flex;gap:16px;flex-wrap:wrap}
.site-footer--dark .footer-legal a{font-size:14px;color:rgba(234,240,255,.70);text-decoration:none;transition:color .2s ease}
.site-footer--dark .footer-legal a:hover{color:#FFFFFF}
.site-footer--dark .footer-ip-block{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:rgba(234,240,255,.86);line-height:1}
.site-footer--dark .footer-ip-label{font-size:12px;font-weight:850;letter-spacing:.02em;opacity:.85}
.site-footer--dark .footer-ip-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:12px;font-weight:800;color:rgba(234,240,255,.92)}
.site-footer--dark .footer-ip-country{font-family:inherit;font-weight:800;opacity:.8;margin-left:6px}
.site-footer--dark .footer-ip-copy{appearance:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(234,240,255,.90);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850;cursor:pointer;transition:transform .15s ease,border-color .2s ease,background .2s ease,color .2s ease}
.site-footer--dark .footer-ip-copy:hover{border-color:rgba(3,126,243,.45);background:rgba(3,126,243,.14);color:#fff;transform:translateY(-1px)}
.site-footer--dark .footer-ip-copy:disabled{opacity:.75;cursor:default;transform:none}

/* =========================
   Breadcrumbs / callout / FAQ / pill
========================= */

.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--slate);margin-bottom:16px}
.breadcrumbs a{color:var(--slate);text-decoration:none}
.breadcrumbs a:hover{color:var(--primary)}
.callout{margin-top:16px;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.65);backdrop-filter:blur(6px)}
.callout-title{font-weight:800;font-size:14px;letter-spacing:.02em}
.callout-meta{font-size:13px;opacity:.75;margin-top:2px}
.pill{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:6px 10px;border-radius:999px;border:1px solid rgba(3,126,243,.25);background:rgba(3,126,243,.08);font-weight:850;font-size:12px;letter-spacing:.03em}
.pill--accent{background:var(--accent);border-color:rgba(255,221,0,.55);color:#0B1220}
.faq-list{display:grid;gap:10px;margin-top:12px}
.faq{border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.60);padding:12px 14px;transition:box-shadow .2s ease,transform .2s ease,background .2s ease}
.faq:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.faq summary{cursor:pointer;font-weight:900;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"›";font-size:18px;line-height:1;transform:rotate(0deg);transition:transform .2s ease;color:var(--slate)}
.faq[open] summary::after{transform:rotate(90deg)}
.faq .muted{margin-top:10px;line-height:1.65}
.faq .muted p{margin:10px 0 0}
.faq .muted ul,
.faq .muted ol{margin:10px 0 0;padding-left:18px}
.faq .muted li{margin:6px 0}
.faq .muted a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}

/* =========================
   Pricing
========================= */

.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.pricing-card{position:relative;overflow:hidden;transform:translateY(0)}
.pricing-card .plan{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:10px}
.pricing-card .price{font-size:40px;font-weight:800;line-height:1.1;margin:0 0 8px;color:var(--ink)}
.pricing-card .per{font-size:14px;color:var(--slate);margin-bottom:16px}
.pricing-card .cta{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}
.pricing-card.featured{border:1px solid rgba(3,126,243,.28);box-shadow:0 18px 60px rgba(3,126,243,.16);transform:translateY(-4px)}
.pricing-card.featured::before{content:"Most Popular";position:absolute;top:18px;right:18px;background:rgba(255,221,0,.28);border:1px solid rgba(255,221,0,.45);color:var(--ink);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
.pricing-card .included{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:13px;color:var(--slate)}
.checklist{list-style:none;padding-left:0;margin:18px 0 0}
.checklist li{padding-left:26px;position:relative;margin:10px 0;color:var(--slate)}
.checklist li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;border-radius:4px;background:rgba(3,126,243,.18);border:1px solid rgba(3,126,243,.28)}

/* =========================
   Status page
========================= */

.status-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.status-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid var(--border);background:rgba(3,126,243,.06);font-weight:700}
.status-pill::before{content:"";width:10px;height:10px;border-radius:50%;background:rgba(58,71,90,.45);box-shadow:0 0 0 6px rgba(58,71,90,.12)}
.status-pill--up{background:rgba(3,126,243,.08)}
.status-pill--up::before{background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.14)}
.status-pill--degraded{background:rgba(255,221,0,.18)}
.status-pill--degraded::before{background:#f59e0b;box-shadow:0 0 0 6px rgba(245,158,11,.18)}
.status-pill--maint{background:rgba(3,126,243,.10)}
.status-pill--maint::before{background:#60a5fa;box-shadow:0 0 0 6px rgba(96,165,250,.16)}
.status-pill--down{background:rgba(255,221,0,.22)}
.status-pill--down::before{background:#ef4444;box-shadow:0 0 0 6px rgba(239,68,68,.16)}
.status-pill--loading{opacity:.85}
.status-alerts{display:grid;gap:14px;margin-bottom:18px}
.status-banner{border-radius:var(--radius);border:1px solid var(--border);padding:18px;background:rgba(255,221,0,.18)}
.status-banner--warning{background:rgba(255,221,0,.18)}
.status-banner--danger{background:rgba(239,68,68,.10)}
.status-banner--info{background:rgba(3,126,243,.10)}
.status-banner__title{font-weight:900;margin-bottom:6px}
.status-banner__content{color:var(--slate)}
.status-banner__meta{margin-top:8px;font-size:13px;color:var(--slate)}
.status-groups{display:grid;gap:16px}
.status-group__title{font-weight:900;margin-bottom:10px}
.status-rows{display:grid;gap:10px;margin-top:12px}
.status-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.status-name{font-weight:800}
.status-sub{font-size:13px;margin-top:4px}
.status-row__right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;text-align:right}
.status-tag,
.component-state{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;border:1px solid var(--border);font-size:12px;font-weight:800;background:rgba(3,126,243,.06);color:var(--ink)}
.status-tag::before,
.component-state::before{content:"";width:8px;height:8px;border-radius:50%;margin-right:6px;display:inline-block;background:rgba(58,71,90,.45)}
.status-tag--up,
.component-state--up{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.26)}
.status-tag--degraded,
.component-state--degraded{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.28)}
.status-tag--maint,
.component-state--maint{background:rgba(96,165,250,.14);border-color:rgba(96,165,250,.28)}
.status-tag--down,
.component-state--down{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.26)}
.status-tag--loading,
.component-state--loading{opacity:.85;background:rgba(3,126,243,.06);border-color:rgba(3,126,243,.20)}
.status-tag--up::before,
.component-state--up::before{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.16)}
.status-tag--degraded::before,
.component-state--degraded::before{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.18)}
.status-tag--maint::before,
.component-state--maint::before{background:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.18)}
.status-tag--down::before,
.component-state--down::before{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.18)}
.status-tag--loading::before,
.component-state--loading::before{background:var(--primary);box-shadow:0 0 0 4px rgba(3,126,243,.18)}
.status-metric{font-size:12px;color:var(--slate);border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.6)}
.status-metric--time{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status-hero-row{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;align-items:start}
.status-badge-wrap{border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:rgba(255,255,255,.6)}
.status-badge-title{font-size:13px;margin-bottom:10px}
.status-badge{width:100%;height:auto;display:block;border-radius:12px}
.status-badge-actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}
.components-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.component-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:space-between;gap:12px}
.component-name{font-weight:850}
.status-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}
.incident-list{display:grid;gap:12px;margin-top:12px}
.incident-item{display:flex;gap:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.6)}
.incident-badge{font-size:12px;font-weight:900;padding:8px 10px;border-radius:999px;border:1px solid var(--border);height:fit-content;background:rgba(3,126,243,.06)}
.incident-badge--incident{background:rgba(255,221,0,.18);border-color:rgba(255,221,0,.35)}
.incident-badge--maintenance{background:rgba(3,126,243,.10);border-color:rgba(3,126,243,.25)}
.incident-title{font-weight:900}
.incident-time{font-size:13px;margin-top:6px}
.spark{display:inline-flex;align-items:center;justify-content:center;width:92px;height:22px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.6);overflow:hidden}
.spark svg{display:block}
.spark-line{stroke:rgba(3,126,243,.85);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.spark-dot{fill:rgba(3,126,243,.95)}
.spark--degraded .spark-line{stroke:rgba(245,158,11,.9)}
.spark--degraded .spark-dot{fill:rgba(245,158,11,.95)}
.spark--down .spark-line{stroke:rgba(239,68,68,.9)}
.spark--down .spark-dot{fill:rgba(239,68,68,.95)}
.spark--up .spark-line{stroke:rgba(34,197,94,.9)}
.spark--up .spark-dot{fill:rgba(34,197,94,.95)}
.uptime{margin-top:10px;display:flex;gap:3px;flex-wrap:nowrap;align-items:center}
.uptime .u{width:10px;height:6px;border-radius:999px;background:rgba(58,71,90,.18);border:1px solid rgba(58,71,90,.14)}
.uptime .u--up{background:rgba(34,197,94,.30);border-color:rgba(34,197,94,.28)}
.uptime .u--down{background:rgba(239,68,68,.24);border-color:rgba(239,68,68,.28)}
.uptime .u--maint{background:rgba(96,165,250,.26);border-color:rgba(96,165,250,.30)}
.uptime .u--pending{background:rgba(245,158,11,.20);border-color:rgba(245,158,11,.26)}

/* =========================
   Quick actions
========================= */

.quick-actions{margin-bottom:24px}
.quick-actions-card{padding:24px}
.quick-actions-title{font-weight:700;margin-bottom:14px}
.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.quick-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:12px;border:1px solid var(--border);text-align:center;font-weight:600;color:var(--slate);background:rgba(255,255,255,.60);transition:background .2s ease,transform .2s ease,border-color .2s ease}
.quick-action:hover{background:rgba(3,126,243,.08);border-color:rgba(3,126,243,.35);transform:translateY(-2px)}

/* =========================
   Portal
========================= */

.portal-dashboard{padding:28px}
.portal-dashboard__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.portal-dashboard__title{margin-top:8px;margin-bottom:8px}
.portal-dashboard__sub{margin:0;max-width:72ch}
.portal-dashboard__cta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.portal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.portal-stat{border:1px solid var(--border);border-radius:14px;padding:14px;background:rgba(255,255,255,.60)}
.portal-stat__label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:var(--slate)}
.portal-stat__value{font-size:18px;font-weight:900;margin-top:6px;color:var(--ink)}
.portal-stat__meta{font-size:13px;margin-top:6px}
.portal-info{margin-top:14px;display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--border)}
.portal-info__item{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
.portal-info__label{font-weight:800;color:var(--ink);font-size:13px}
.portal-info__value{color:var(--slate);font-size:13px}
.portal-login-card{padding:28px}
.portal-login-card__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start}
.portal-login-panel{border:1px solid var(--border);border-radius:14px;padding:18px;background:rgba(255,255,255,.60)}
.portal-login-form label{display:block;margin-bottom:8px;font-weight:500;color:var(--slate)}
.portal-login-form input{margin-bottom:16px}
.portal-note{opacity:.85}
.portal-sso-panel__title{font-weight:900;font-size:14px;color:var(--ink)}
.portal-sso-panel__text{margin-top:8px;color:var(--slate);font-size:13px;line-height:1.6}
.portal-sso-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.sso-icon{font-size:16px;line-height:1}
.portal-card{display:flex;flex-direction:column;height:100%}
.portal-card .actions{margin-top:auto;padding-top:12px}
.portal-card .btn-secondary{white-space:nowrap}
.portal-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:8px;border-radius:8px;background:rgba(3,126,243,.08);border:1px solid rgba(3,126,243,.15);font-size:15px}
.support-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:18px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.60)}
.support-item{display:flex;align-items:flex-start;gap:12px}
.support-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:16px;background:rgba(3,126,243,.08);border:1px solid rgba(3,126,243,.15)}
.support-title{font-size:13px;font-weight:800;color:var(--ink)}
.support-text{font-size:13px;color:var(--slate);margin-top:2px}
.workflow{padding:24px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.60)}
.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}
.workflow-step{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.60);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.workflow-step:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);background:rgba(255,255,255,.72)}
.workflow-number{width:34px;height:34px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:900;font-size:13px;color:var(--ink);background:rgba(3,126,243,.10);border:1px solid rgba(3,126,243,.18)}
.workflow-title{font-weight:900;font-size:13px;color:var(--ink)}
.workflow-text{font-size:13px;color:var(--slate);margin-top:4px;line-height:1.55}
.prep{padding:24px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.60)}
.prep-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.prep-title{font-weight:900;color:var(--ink);font-size:14px;margin-bottom:4px}
.prep-text{color:var(--slate);font-size:13px;line-height:1.6;max-width:70ch}
.prep-cta{white-space:nowrap}
.prep-list{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.prep-list li{padding:12px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.60);color:var(--slate);font-size:13px;line-height:1.6}
.prep-list strong{color:var(--ink)}

/* =========================
   Homepage services
========================= */

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}
.service-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--primary),rgba(3,126,243,.35));opacity:.9}
.service-card .h3{margin-bottom:10px}
.service-card .p{margin-bottom:0}
.service-card .actions{margin-top:auto;padding-top:18px}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.service-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;margin-bottom:14px;background:rgba(3,126,243,.08);border:1px solid rgba(3,126,243,.15);color:var(--primary);flex:0 0 auto}
.service-icon svg{width:20px;height:20px;display:block;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.industry-card{display:block}
.status-tip{background:rgba(255,221,0,.08);border-color:rgba(255,221,0,.30)}

/* =========================
   AI assistant + widget
========================= */

.ai-assistant-card{padding:28px}
.ai-result-card{height:100%}
.ai-meta-list{display:grid;gap:10px;font-size:14px;color:var(--slate)}
.ai-meta-list strong{color:var(--ink)}
#aiRefinedText{min-height:220px}

.ai-chat-launcher-wrap{position:fixed;right:20px;bottom:20px;z-index:90 !important}
.ai-chat-launcher{appearance:none;border:0;cursor:pointer;padding:14px 18px;border-radius:999px;background:linear-gradient(135deg,var(--primary),#1a8cff);color:#fff;font-weight:800;box-shadow:0 16px 40px rgba(3,126,243,.28)}

.ai-chat-panel{
  position:fixed !important;
  right:20px !important;
  bottom:78px !important;
  width:min(420px,calc(100vw - 24px)) !important;
  height:520px !important;
  max-height:80vh !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  border:1px solid var(--border) !important;
  border-radius:18px !important;
  background:var(--surface) !important;
  box-shadow:var(--shadow-md) !important;
  z-index:95 !important;
  overflow:hidden !important;
}

.ai-chat-panel__header{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:12px !important;
  padding:16px 18px !important;
  border-bottom:1px solid var(--border) !important;
  flex:none !important;
}

.ai-chat-panel__title{font-weight:900;color:var(--ink)}
.ai-chat-panel__sub{font-size:13px;color:var(--slate);margin-top:2px}
.ai-chat-panel__header-actions{display:flex;gap:8px}
.ai-chat-panel__icon{appearance:none;border:1px solid var(--border);background:transparent;color:var(--ink);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.ai-chat-panel__icon:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.26);transform:translateY(-1px)}

.ai-chat-panel__body{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:16px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-behavior:smooth !important;
  background:linear-gradient(to bottom,rgba(3,126,243,.03),transparent 120px);
}

.ai-chat-msg{flex:none !important;max-width:90% !important;padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.6;white-space:pre-wrap}
.ai-chat-msg--assistant{background:rgba(3,126,243,.08);border:1px solid rgba(3,126,243,.14);color:var(--ink);align-self:flex-start}
.ai-chat-msg--user{background:rgba(11,18,32,.06);border:1px solid var(--border);color:var(--ink);align-self:flex-end}
.ai-chat-msg--thinking{opacity:.8}

.ai-chat-cta{display:flex !important;flex-direction:column !important;gap:8px !important;margin-top:12px !important;width:100% !important;flex:none !important}
.ai-chat-cta .btn,
.ai-chat-cta .btn-secondary{display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;min-height:42px;padding:10px 14px;border-radius:10px;text-decoration:none;text-align:center;white-space:normal !important}

.ai-chat-panel__composer{display:block !important;flex:none !important;min-height:auto !important;margin:0 !important;padding:14px !important;border-top:1px solid var(--border) !important;background:var(--surface) !important}
.ai-chat-panel__composer textarea{width:100% !important;min-height:96px !important;max-height:140px !important;margin:0 0 12px 0 !important;background:var(--surface) !important;color:var(--ink) !important;border:1px solid var(--border) !important}
.ai-chat-panel__composer textarea::placeholder{color:var(--slate) !important;opacity:.85 !important}
.ai-chat-panel__actions{display:flex;gap:10px;flex-wrap:wrap}
.ai-chat-panel__actions .btn,
.ai-chat-panel__actions .btn-secondary{flex:1;text-align:center}
.ai-chat-panel[hidden]{display:none !important}
.ai-chat-panel:not([hidden]){display:grid !important}

.ai-page{max-width:1100px;margin:0 auto;padding:40px 20px 80px}
.ai-page h1{font-size:36px;margin-bottom:16px}
.ai-page p{color:var(--slate);font-size:16px;line-height:1.7;max-width:760px}

.ai-chat-panel--page{
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  width:100% !important;
  max-width:100% !important;
  min-height:560px !important;
  height:560px !important;
  margin-top:24px !important;
  display:grid !important;
  grid-template-rows:auto 1fr auto !important;
  border-radius:16px;
  overflow:hidden !important;
  z-index:1 !important;
  box-shadow:none !important;
}

.ai-page-layout,
.ai-page-main,
.ai-assistant-card,
.card{overflow:visible !important}

.ai-chat-panel--page + *{margin-top:24px}
.ai-chat-panel--page[hidden]{display:none !important}
.ai-chat-panel--page .ai-chat-panel__header{position:relative;z-index:2}
.ai-chat-panel--page .ai-chat-panel__body{min-height:0 !important;overflow-y:auto !important;overflow-x:hidden !important;display:flex !important;flex-direction:column !important;gap:12px !important;padding:16px !important;-webkit-overflow-scrolling:touch}
.ai-chat-panel--page .ai-chat-panel__composer{position:relative;z-index:2;margin-top:auto !important;padding:14px !important}
.ai-chat-panel--page .ai-chat-panel__actions{display:flex;gap:10px;align-items:stretch}
.ai-chat-panel--page .ai-chat-panel__actions .btn,
.ai-chat-panel--page .ai-chat-panel__actions .btn-secondary{flex:1 1 0;width:100%;text-align:center}
.ai-chat-panel--page .ai-chat-msg{max-width:90%}
.ai-chat-panel--page .ai-chat-msg--assistant{align-self:flex-start}
.ai-chat-panel--page .ai-chat-msg--user{align-self:flex-end}
.ai-chat-panel--page,
.ai-chat-panel--page *{box-sizing:border-box}

body.nav-open .ai-chat-launcher-wrap,
body.nav-open .ai-chat-panel{opacity:0 !important;pointer-events:none !important;visibility:hidden !important}

/* =========================
   Theme tip popup
========================= */

.theme-tip{position:fixed;top:84px;right:24px;z-index:1400;width:min(320px,calc(100vw - 32px));opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.theme-tip.show{opacity:1;transform:translateY(0);pointer-events:auto}
.theme-tip__inner{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:var(--shadow-md)}
.theme-tip__icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:rgba(3,126,243,.08);border:1px solid rgba(3,126,243,.15);font-size:14px;flex:0 0 auto}
.theme-tip__content{min-width:0}
.theme-tip__content strong{display:block;font-size:13px;line-height:1.2;color:var(--ink)}
.theme-tip__text{margin-top:4px;font-size:13px;line-height:1.5;color:var(--slate)}
.theme-tip__close{appearance:none;border:0;background:transparent;color:var(--slate);font-size:16px;cursor:pointer;padding:0;line-height:1;flex:0 0 auto}
.theme-tip__close:hover{color:var(--ink)}

/* =========================
   Security toast
========================= */

.security-toast{position:fixed;bottom:24px;right:24px;z-index:1200;max-width:380px;width:calc(100% - 32px);background:#0B1220;color:#fff;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.25);opacity:0;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease}
.security-toast.show{opacity:1;transform:translateY(0)}
.toast-inner{display:flex;gap:14px;padding:16px 18px;align-items:flex-start}
.toast-icon{font-size:18px;margin-top:2px}
.toast-content strong{display:block;margin-bottom:4px}
.toast-text{font-size:13px;line-height:1.45;color:#cfd6e4}
.toast-close{margin-left:auto;background:none;border:none;color:#9aa4b2;font-size:18px;cursor:pointer}
.toast-close:hover{color:#fff}

/* =========================
   Announcement Bar
========================= */

#announceBar{display:block}
#announceBar[aria-hidden="true"]{display:none}

.announce-bar{
  position:relative;
  overflow:hidden;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,0.08);
}

.announce-bar::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:rgba(255,255,255,0.9);
}

.announce-bar--info{background:#0f172a;color:#fff}
.announce-bar--info .announce-badge{background:rgba(255,255,255,0.14);color:#fff}
.announce-bar--warning{background:linear-gradient(90deg,#7c2d12 0%,#92400e 100%);color:#fff}
.announce-bar--warning::before{background:#fbbf24}
.announce-bar--warning .announce-badge{background:rgba(255,255,255,0.16);color:#fff;border:1px solid rgba(255,255,255,0.22)}
.announce-bar--critical{background:linear-gradient(90deg,#7f1d1d 0%,#991b1b 100%);color:#fff;box-shadow:inset 0 -1px 0 rgba(255,255,255,0.08)}
.announce-bar--critical::before{background:#fca5a5}
.announce-bar--critical .announce-badge{background:rgba(255,255,255,0.16);color:#fff;border:1px solid rgba(255,255,255,0.22)}

.announce-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:52px;
  padding:.7rem 0;
  flex-wrap:nowrap;
}

.announce-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}
.announce-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex:0 0 auto}
.announce-text{font-weight:500;min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.announce-right{display:flex;align-items:center;gap:10px;flex:0 0 auto;white-space:nowrap}
.announce-cta{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;color:#fff;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,0.45)}
.announce-cta:hover{border-bottom-color:rgba(255,255,255,0.9)}
.announce-close{appearance:none;border:0;background:transparent;color:inherit;font-size:1rem;line-height:1;cursor:pointer;opacity:.85;padding:6px;flex:0 0 auto}
.announce-close:hover{opacity:1}
.announce-fade-in{animation:announceFadeIn 360ms ease both}
.announce-fade-out{animation:announceFadeOut 240ms ease both}
@keyframes announceFadeIn{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}
@keyframes announceFadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2px)}}

/* =========================
   Ecosystem drawer
========================= */

.ecosystem-toggle{appearance:none;border:0;background:transparent;color:inherit;font-size:1.35rem;line-height:1;cursor:pointer;margin-right:14px;padding:8px;border-radius:10px;transition:background .2s ease,transform .2s ease}
.ecosystem-toggle:hover{background:rgba(3,126,243,.08);transform:translateY(-1px)}
.ecosystem-drawer{position:fixed;top:0;left:0;bottom:0;width:min(520px,94vw);background:linear-gradient(180deg,rgba(17,27,46,.98),rgba(11,18,32,.98));color:#fff;transform:translateX(-100%);transition:transform .28s ease;z-index:10000;overflow-y:auto;box-shadow:20px 0 50px rgba(0,0,0,.32);border-right:1px solid rgba(255,255,255,.08)}
.ecosystem-drawer.is-open{transform:translateX(0)}
.ecosystem-drawer__inner{min-height:100%;display:flex;flex-direction:column;padding:24px 22px 28px}
.ecosystem-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.ecosystem-drawer__eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7db7ff;margin-bottom:8px}
.ecosystem-drawer__title{font-size:1.25rem;font-weight:800;color:#fff;line-height:1.2}
.ecosystem-drawer__sub{font-size:.92rem;line-height:1.55;color:rgba(234,240,255,.72);margin-top:8px;max-width:44ch}
.ecosystem-drawer__close{appearance:none;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;font-size:1.1rem;line-height:1;cursor:pointer;padding:8px;border-radius:10px;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.ecosystem-drawer__close:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.20);transform:translateY(-1px)}
.ecosystem-drawer__body{display:grid;gap:22px}
.ecosystem-block__label{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:12px}
.ecosystem-brand-grid{display:grid;gap:12px}
.ecosystem-brand-card{display:block;border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:16px;background:rgba(255,255,255,.04);text-decoration:none;color:#fff;transition:transform .18s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.ecosystem-brand-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.06);border-color:rgba(3,126,243,.35);box-shadow:0 14px 32px rgba(0,0,0,.18)}
.ecosystem-brand-card--active{border-color:rgba(255,221,0,.35);background:linear-gradient(180deg,rgba(3,126,243,.10),rgba(255,221,0,.05))}
.ecosystem-brand-card--muted{opacity:.8;cursor:default}
.ecosystem-brand-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.ecosystem-brand-card__title{font-size:1rem;font-weight:800;color:#fff}
.ecosystem-brand-card__text{font-size:.9rem;line-height:1.55;color:rgba(234,240,255,.74)}
.ecosystem-brand-card__links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ecosystem-brand-card__links span{font-size:.74rem;font-weight:700;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:rgba(234,240,255,.82)}
.ecosystem-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ecosystem-link-list{display:grid;gap:10px}
.ecosystem-link-row{display:block;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.03);text-decoration:none;color:#fff;transition:background .2s ease,border-color .2s ease,transform .18s ease}
.ecosystem-link-row:hover{background:rgba(255,255,255,.06);border-color:rgba(3,126,243,.30);transform:translateY(-1px)}
.ecosystem-link-row span{display:block;font-weight:750;color:#fff}
.ecosystem-link-row small{display:block;margin-top:3px;font-size:.82rem;line-height:1.45;color:rgba(234,240,255,.68)}
.ecosystem-health-grid{display:grid;gap:10px}
.ecosystem-health-item{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.ecosystem-health-item__name{font-weight:750;color:#fff}
.ecosystem-status-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;font-size:.74rem;font-weight:800;white-space:nowrap;border:1px solid rgba(255,255,255,.10)}
.ecosystem-status-pill::before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block}
.ecosystem-status-pill--up{background:rgba(34,197,94,.14);color:#fff;border-color:rgba(34,197,94,.24)}
.ecosystem-status-pill--up::before{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.14)}
.ecosystem-status-pill--maint{background:rgba(245,158,11,.14);color:#fff;border-color:rgba(245,158,11,.24)}
.ecosystem-status-pill--maint::before{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}
.ecosystem-status-pill--soon{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.12)}
.ecosystem-status-pill--soon::before{background:rgba(255,255,255,.66)}
.ecosystem-status-pill--loading{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.12)}
.ecosystem-status-pill--loading::before{background:rgba(255,255,255,.66);box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.ecosystem-soon{font-size:.72rem;opacity:.72}
.ecosystem-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .2s ease;z-index:9999}
.ecosystem-overlay.is-active{opacity:1}
body.ecosystem-drawer-open{overflow:hidden}
a.ecosystem-status-pill{text-decoration:none}

/* =========================
   Legal pages
========================= */

.legal-page{max-width:900px}
.legal-card{padding:32px}
.legal-card h2{margin-top:28px;margin-bottom:12px;font-size:24px}
.legal-card h3{margin-top:18px;margin-bottom:8px;font-size:18px}
.legal-card p,
.legal-card li{color:var(--slate);line-height:1.75}
.legal-card ul{margin:10px 0 0;padding-left:20px}
.legal-card a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}

/* =========================
   Trust Center
========================= */

.trust-center-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.trust-center-card,
.trust-resource-card,
.trust-commitment-card{height:100%}
.trust-list{margin:16px 0 0;padding-left:20px;color:var(--slate)}
.trust-list li{margin:10px 0;line-height:1.7}
.trust-policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}
.trust-policy-link{display:block;padding:18px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.6);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.trust-policy-link strong{display:block;color:var(--ink);font-size:16px;margin-bottom:6px}
.trust-policy-link span{display:block;color:var(--slate);line-height:1.6;font-size:14px}
.trust-policy-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:rgba(3,126,243,.28);background:rgba(3,126,243,.05)}

/* =========================
   Cookie banner
========================= */

body > .cookie-banner{
  position:fixed !important;
  left:20px !important;
  right:20px !important;
  bottom:20px !important;
  top:auto !important;
  z-index:20000 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-end !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
}

body > .cookie-banner[hidden]{display:none !important}
body > .cookie-banner .cookie-banner__inner{width:min(980px,100%) !important;display:flex !important;align-items:flex-end !important;justify-content:space-between !important;gap:18px !important;padding:18px !important;margin:0 !important;border-radius:16px !important;border:1px solid var(--border) !important;background:rgba(255,255,255,.96) !important;backdrop-filter:blur(12px) !important;box-shadow:0 18px 50px rgba(11,18,32,.16) !important;pointer-events:auto !important}
body > .cookie-banner .cookie-banner__content{min-width:0 !important;flex:1 1 auto !important}
body > .cookie-banner .cookie-banner__title{display:block !important;font-size:15px !important;font-weight:900 !important;color:var(--ink) !important;margin-bottom:6px !important}
body > .cookie-banner .cookie-banner__text{margin:0 !important;color:var(--slate) !important;font-size:14px !important;line-height:1.65 !important}
body > .cookie-banner .cookie-banner__text a{color:var(--primary) !important;text-decoration:underline !important;text-underline-offset:3px !important}
body > .cookie-banner .cookie-banner__actions{display:flex !important;gap:10px !important;flex:0 0 auto !important;align-items:center !important}

/* =========================
   Helpers
========================= */

#sessionKey{font-size:1.3rem;letter-spacing:2px;text-align:center;padding:14px;max-width:280px;margin:auto;display:block}
#assistJoinForm{text-align:center}
.m365-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.m365-issues .incident-item + .incident-item{margin-top:10px}
.incident-list .incident-item + .incident-item{margin-top:10px}

/* =========================
   Dark mode auto
========================= */

@media (prefers-color-scheme:dark){
  html:not(.theme-light){
    --bg:#0B1220;
    --surface:#111B2E;
    --border:rgba(255,255,255,.10);
    --ink:#EAF0FF;
    --slate:rgba(234,240,255,.72);
    --shadow-sm:0 10px 26px rgba(0,0,0,.35);
    --shadow-md:0 20px 60px rgba(0,0,0,.45);
    color-scheme:dark;
  }

  html:not(.theme-light) body{
    background:
      linear-gradient(to bottom,rgba(17,27,46,.85),rgba(11,18,32,1)),
      repeating-linear-gradient(0deg,rgba(255,255,255,.02),rgba(255,255,255,.02) 1px,transparent 1px,transparent 3px);
    background-attachment:fixed;
  }

  html:not(.theme-light) .site-header{background:rgba(11,18,32,.72);border-bottom:1px solid var(--border)}
  html:not(.theme-light) .nav a{color:rgba(234,240,255,.78)}
  html:not(.theme-light) .nav a:hover,
  html:not(.theme-light) .nav a.active{background:rgba(3,126,243,.16);color:var(--ink)}
  html:not(.theme-light) .hero{background:linear-gradient(to bottom right,rgba(3,126,243,.16),rgba(255,221,0,.08))}
  html:not(.theme-light) input,
  html:not(.theme-light) textarea,
  html:not(.theme-light) select{background:rgba(255,255,255,.04);color:var(--ink);border:1px solid var(--border)}
  html:not(.theme-light) select option{background-color:#111B2E !important;color:#EAF0FF !important}
  html:not(.theme-light) select option:checked{background:#1B2A44 !important;color:#FFFFFF !important}
  html:not(.theme-light) select option[value=""]{color:rgba(234,240,255,.72) !important}
  html:not(.theme-light) .btn-secondary{background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--ink)}
  html:not(.theme-light) .table{background:rgba(255,255,255,.03)}
  html:not(.theme-light) .table th{background:rgba(3,126,243,.14)}
  html:not(.theme-light) .site-footer{background:rgba(11,18,32,.75);border-top:1px solid var(--border)}
  html:not(.theme-light) .theme-toggle,
  html:not(.theme-light) .menu-toggle{background:rgba(255,255,255,.04);border-color:var(--border);color:var(--ink)}
  html:not(.theme-light) .nav-overlay{background:rgba(0,0,0,.55)}
  html:not(.theme-light) .callout{background:rgba(3,126,243,.12);border-color:rgba(255,255,255,.10)}
  html:not(.theme-light) .faq,
  html:not(.theme-light) .status-badge-wrap,
  html:not(.theme-light) .component-card,
  html:not(.theme-light) .incident-item,
  html:not(.theme-light) .spark,
  html:not(.theme-light) .workflow,
  html:not(.theme-light) .workflow-step,
  html:not(.theme-light) .prep,
  html:not(.theme-light) .prep-list li,
  html:not(.theme-light) .portal-login-panel,
  html:not(.theme-light) .ai-result-card,
  html:not(.theme-light) .legal-card,
  html:not(.theme-light) .trust-policy-link{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.10)}
  html:not(.theme-light) .workflow-number{background:rgba(3,126,243,.18);border-color:rgba(3,126,243,.22)}
  html:not(.theme-light) .support-strip,
  html:not(.theme-light) .portal-stat,
  html:not(.theme-light) .portal-info__item,
  html:not(.theme-light) .quick-action,
  html:not(.theme-light) .quick-actions-card,
  html:not(.theme-light) .portal-dashboard{border-color:rgba(255,255,255,.10)}
  html:not(.theme-light) .portal-dashboard{background:rgba(17,27,46,.65)}
  html:not(.theme-light) .portal-stat{background:rgba(255,255,255,.04)}
  html:not(.theme-light) .portal-info__item{background:rgba(255,255,255,.03)}
  html:not(.theme-light) .support-strip{background:rgba(255,255,255,.04)}
  html:not(.theme-light) .quick-action{background:rgba(255,255,255,.04);color:var(--ink)}
  html:not(.theme-light) .quick-actions-card{background:rgba(17,27,46,.55)}
  html:not(.theme-light) .quick-action:hover{background:rgba(3,126,243,.14);border-color:rgba(3,126,243,.35);color:var(--ink)}
  html:not(.theme-light) .support-text,
  html:not(.theme-light) .portal-stat__label,
  html:not(.theme-light) .portal-stat__meta{color:var(--slate)}
  html:not(.theme-light) .portal-info__value code{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:var(--ink);padding:4px 8px;border-radius:10px}
  html:not(.theme-light) .spark,
  html:not(.theme-light) .uptime .u{border-color:rgba(255,255,255,.10)}
  html:not(.theme-light) .uptime .u{background:rgba(255,255,255,.06)}
  html:not(.theme-light) .trust-strip__item{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
  html:not(.theme-light) .service-icon{background:rgba(3,126,243,.14);border-color:rgba(255,255,255,.10)}
  html:not(.theme-light) .service-card::before{background:linear-gradient(90deg,var(--primary),rgba(255,221,0,.25))}
  html:not(.theme-light) .theme-tip__inner{background:rgba(17,27,46,.94);border-color:rgba(255,255,255,.10)}
  html:not(.theme-light) .site-header .nav-dropdown__menu,
  html:not(.theme-light) .nav-dropdown__menu,
  html:not(.theme-light) .nav-dropdown__menu--mega{background:#111B2E !important;border:1px solid rgba(255,255,255,.10) !important;box-shadow:0 20px 60px rgba(0,0,0,.45) !important}
  html:not(.theme-light) .site-header .nav-dropdown__menu a,
  html:not(.theme-light) .nav-dropdown__menu a,
  html:not(.theme-light) .nav-dropdown__menu--mega a,
  html:not(.theme-light) .nav-dropdown__menu .mega-menu__title,
  html:not(.theme-light) .nav-dropdown__menu--mega .mega-menu__title{color:#EAF0FF !important}
  html:not(.theme-light) .site-header .mega-menu__title{color:#EAF0FF}
  html:not(.theme-light) .site-header .mega-menu__text,
  html:not(.theme-light) .nav-dropdown__menu .mega-menu__text,
  html:not(.theme-light) .nav-dropdown__menu--mega .mega-menu__text{color:rgba(234,240,255,.72) !important}
  html:not(.theme-light) .site-header .mega-menu__intro,
  html:not(.theme-light) .mega-menu__intro{background:linear-gradient(180deg,rgba(3,126,243,.14),rgba(255,221,0,.06)) !important;border-right-color:rgba(255,255,255,.10) !important}
  html:not(.theme-light) .site-header .nav .nav-dropdown__toggle{color:rgba(234,240,255,.78)}
  html:not(.theme-light) .site-header .nav .nav-dropdown__toggle:hover,
  html:not(.theme-light) .site-header .nav .nav-dropdown__toggle:focus-visible,
  html:not(.theme-light) .site-header .nav .nav-dropdown__toggle.active,
  html:not(.theme-light) .site-header .nav .nav-dropdown.is-open .nav-dropdown__toggle{color:#EAF0FF;background:rgba(3,126,243,.16)}
  html:not(.theme-light) .theme-dark .mega-menu__icon,
  html:not(.theme-light) .mega-menu__icon{color:#7db7ff}
  html:not(.theme-light) .cookie-banner__inner,
  html:not(.theme-light) body > .cookie-banner .cookie-banner__inner{background:rgba(17,27,46,.96) !important;border-color:rgba(255,255,255,.10) !important;box-shadow:0 20px 60px rgba(0,0,0,.45) !important}
  html:not(.theme-light) .ai-chat-panel__composer textarea{background:rgba(255,255,255,.04) !important;color:var(--ink) !important;border:1px solid var(--border) !important}
}

/* =========================
   Manual themes
========================= */

.theme-dark{
  --bg:#0B1220;
  --surface:#111B2E;
  --border:rgba(255,255,255,.10);
  --ink:#EAF0FF;
  --slate:rgba(234,240,255,.72);
  --shadow-sm:0 10px 26px rgba(0,0,0,.35);
  --shadow-md:0 20px 60px rgba(0,0,0,.45);
  color-scheme:dark;
}

.theme-dark body{
  background:
    linear-gradient(to bottom,rgba(17,27,46,.85),rgba(11,18,32,1)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.02),rgba(255,255,255,.02) 1px,transparent 1px,transparent 3px);
  background-attachment:fixed;
}

.theme-dark .site-header{background:rgba(11,18,32,.72);border-bottom:1px solid var(--border)}
.theme-dark .nav a{color:rgba(234,240,255,.78)}
.theme-dark .nav a:hover,
.theme-dark .nav a.active{background:rgba(3,126,243,.16);color:var(--ink)}
.theme-dark .hero{background:linear-gradient(to bottom right,rgba(3,126,243,.16),rgba(255,221,0,.08))}
.theme-dark input,
.theme-dark textarea,
.theme-dark select{background:rgba(255,255,255,.04);color:var(--ink);border:1px solid var(--border)}
.theme-dark select option{background-color:#111B2E !important;color:#EAF0FF !important}
.theme-dark select option:checked{background:#1B2A44 !important;color:#FFFFFF !important}
.theme-dark select option[value=""]{color:rgba(234,240,255,.72) !important}
.theme-dark .btn-secondary{background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--ink)}
.theme-dark .site-footer{background:rgba(11,18,32,.75);border-top:1px solid var(--border)}
.theme-dark .theme-toggle,
.theme-dark .menu-toggle{background:rgba(255,255,255,.04);border-color:var(--border);color:var(--ink)}
.theme-dark .nav-overlay{background:rgba(0,0,0,.55)}
.theme-dark .callout{background:rgba(3,126,243,.12);border-color:rgba(255,255,255,.10)}
.theme-dark .faq,
.theme-dark .status-badge-wrap,
.theme-dark .component-card,
.theme-dark .incident-item,
.theme-dark .spark,
.theme-dark .workflow,
.theme-dark .workflow-step,
.theme-dark .prep,
.theme-dark .prep-list li,
.theme-dark .portal-login-panel,
.theme-dark .ai-result-card,
.theme-dark .legal-card,
.theme-dark .trust-policy-link{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.10)}
.theme-dark .workflow-number{background:rgba(3,126,243,.18);border-color:rgba(3,126,243,.22)}
.theme-dark .portal-dashboard{background:rgba(17,27,46,.65);border-color:rgba(255,255,255,.10)}
.theme-dark .portal-stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);color:var(--ink)}
.theme-dark .portal-stat__label,
.theme-dark .portal-stat__meta,
.theme-dark .support-text,
.theme-dark .status-sub,
.theme-dark .status-metric{color:var(--slate)}
.theme-dark .portal-info__item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.10)}
.theme-dark .portal-info__value code{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:var(--ink);padding:4px 8px;border-radius:10px}
.theme-dark .support-strip{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10)}
.theme-dark .quick-action{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);color:var(--ink)}
.theme-dark .quick-action:hover{background:rgba(3,126,243,.14);border-color:rgba(3,126,243,.35);color:var(--ink)}
.theme-dark .quick-actions-card{background:rgba(17,27,46,.55);border-color:rgba(255,255,255,.10)}
.theme-dark .spark,
.theme-dark .uptime .u{border-color:rgba(255,255,255,.10)}
.theme-dark .uptime .u{background:rgba(255,255,255,.06)}
.theme-dark .trust-strip__item{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.theme-dark .service-icon{background:rgba(3,126,243,.14);border-color:rgba(255,255,255,.10)}
.theme-dark .service-card::before{background:linear-gradient(90deg,var(--primary),rgba(255,221,0,.25))}
.theme-dark .theme-tip__inner{background:rgba(17,27,46,.94);border-color:rgba(255,255,255,.10)}
.theme-dark .footer-ip{color:rgba(234,240,255,.70);opacity:.9}
.theme-dark .nav-dropdown__menu,
.theme-dark .nav-dropdown__menu--mega{background:#111B2E !important;border:1px solid rgba(255,255,255,.10) !important;box-shadow:0 20px 60px rgba(0,0,0,.45) !important}
.theme-dark .nav-dropdown__menu a,
.theme-dark .nav-dropdown__menu--mega a,
.theme-dark .nav-dropdown__menu .mega-menu__title,
.theme-dark .nav-dropdown__menu--mega .mega-menu__title{color:#EAF0FF !important}
.theme-dark .nav-dropdown__menu .mega-menu__text,
.theme-dark .nav-dropdown__menu--mega .mega-menu__text{color:rgba(234,240,255,.72) !important}
.theme-dark .nav-dropdown__menu a:hover,
.theme-dark .nav-dropdown__menu a.active,
.theme-dark .nav-dropdown__menu--mega a:hover,
.theme-dark .nav-dropdown__menu--mega a.active,
.theme-dark .nav-dropdown__menu .mega-menu__item:hover,
.theme-dark .nav-dropdown__menu .mega-menu__item.active{background:rgba(3,126,243,.14) !important;color:#EAF0FF !important}
.theme-dark .mega-menu__intro{background:linear-gradient(180deg,rgba(3,126,243,.14),rgba(255,221,0,.06)) !important;border-right-color:rgba(255,255,255,.10) !important}
.theme-dark .site-header .nav .nav-dropdown__toggle{color:rgba(234,240,255,.78)}
.theme-dark .site-header .nav .nav-dropdown__toggle:hover,
.theme-dark .site-header .nav .nav-dropdown__toggle:focus-visible,
.theme-dark .site-header .nav .nav-dropdown__toggle.active,
.theme-dark .site-header .nav .nav-dropdown.is-open .nav-dropdown__toggle{color:#EAF0FF;background:rgba(3,126,243,.16)}
.theme-dark .mega-menu__icon{color:#7db7ff}
.theme-dark .ai-chat-panel__composer textarea{background:rgba(255,255,255,.04) !important;color:var(--ink) !important;border:1px solid var(--border) !important}
.theme-dark body > .cookie-banner .cookie-banner__inner{background:rgba(17,27,46,.96) !important;border-color:rgba(255,255,255,.10) !important;box-shadow:0 20px 60px rgba(0,0,0,.45) !important}

.theme-light{
  --bg:#F5F7FA;
  --surface:#FFFFFF;
  --border:#E6EAF0;
  --ink:#0B1220;
  --slate:#3A475A;
  --shadow-sm:0 6px 18px rgba(11,18,32,.06);
  --shadow-md:0 14px 40px rgba(11,18,32,.10);
}

.theme-light body{
  background:
    linear-gradient(to bottom,#ffffff 0%,var(--bg) 60%),
    repeating-linear-gradient(0deg,rgba(11,18,32,.015),rgba(11,18,32,.015) 1px,transparent 1px,transparent 3px);
  background-attachment:fixed;
}

.theme-light .site-header{background:rgba(255,255,255,.85);border-bottom:1px solid var(--border)}

/* =========================
   Responsive
========================= */

@media (max-width:1100px){
  .nav-dropdown--mega .nav-dropdown__menu--mega{min-width:640px;max-width:92vw}
  .mega-menu{grid-template-columns:1fr;min-width:0}
  .mega-menu__intro{border-right:0;border-bottom:1px solid var(--border)}
  .mega-menu__grid{grid-template-columns:1fr 1fr}
  .nav--desktop .btn{padding:12px 16px}
  .site-footer--dark .footer-top{grid-template-columns:1fr 1fr !important;gap:26px !important}
  .site-footer--dark .footer-links a{white-space:normal}
}

@media (max-width:992px){
  .grid-2,
  .grid-3,
  .pricing-grid,
  .services-grid,
  .portal-login-card__grid,
  .workflow-grid{grid-template-columns:1fr}

  .portal-stats{grid-template-columns:1fr 1fr}
  .trust-strip__grid,
  .trust-center-grid,
  .trust-policy-grid{grid-template-columns:1fr}
}

@media (max-width:900px){
  .nav--desktop{display:none}
  .header-actions--mobile{display:flex;align-items:center;gap:10px}
  .header-cta{padding:11px 12px;font-size:14px}
  .nav-dropdown__menu,
  .nav-dropdown--mega .nav-dropdown__menu--mega{display:none !important}
  .support-strip,
  .components-row,
  .status-hero-row{grid-template-columns:1fr}
  .status-row{flex-direction:column}
  .status-row__right{justify-content:flex-start;text-align:left}
  .site-footer--dark .footer-top{grid-template-columns:1fr !important;gap:24px !important}
  .site-footer--dark .footer-bottom-inner{gap:14px}
  .site-footer--dark .footer-ip-block{width:fit-content;max-width:100%}
  .theme-tip{top:auto;right:16px;left:16px;bottom:20px;width:auto}
  .ai-chat-panel--page{min-height:540px !important;height:540px !important}
}

@media (max-width:768px){
  .announce-inner{flex-wrap:wrap;align-items:flex-start}
  .announce-left,
  .announce-right{width:100%}
  .announce-text{white-space:normal;overflow:visible;text-overflow:unset}
}

@media (max-width:760px){
  .ecosystem-drawer{width:min(420px,94vw)}
  .ecosystem-columns{grid-template-columns:1fr}
}

@media (max-width:720px){
  .header-row{padding:12px 0}
  .hero{padding:84px 0 70px}
  .hero--tight{padding:78px 0 64px}
  .section{padding:56px 0}
  .h1{font-size:40px}
  .lead{font-size:18px}
  body > .cookie-banner{left:16px !important;right:16px !important;bottom:16px !important}
  body > .cookie-banner .cookie-banner__inner{flex-direction:column !important;align-items:stretch !important;gap:14px !important;padding:16px !important}
  body > .cookie-banner .cookie-banner__actions{width:100% !important;flex-direction:column !important}
  body > .cookie-banner .cookie-banner__actions .btn,
  body > .cookie-banner .cookie-banner__actions .btn-secondary{width:100% !important;text-align:center !important}
}

@media (max-width:640px){
  .portal-stats{grid-template-columns:1fr}
  .portal-dashboard{padding:22px}
  .security-toast{right:16px;left:16px;bottom:16px;max-width:none}
  .ai-chat-launcher-wrap{right:16px;left:16px;bottom:16px}
  .ai-chat-launcher{width:100%}
  .ai-chat-panel{right:16px !important;left:16px !important;bottom:72px !important;width:auto !important;height:70vh !important;max-height:70vh !important}
  .ai-chat-msg{max-width:100% !important}
  .ai-chat-panel__actions{display:flex !important;flex-direction:column !important;gap:10px !important}
  .ai-chat-panel__actions .btn,
  .ai-chat-panel__actions .btn-secondary{width:100% !important}
  .ai-chat-panel--page{min-height:520px !important;height:520px !important;margin-top:20px !important}
  .ai-chat-panel--page .ai-chat-msg{max-width:100%}
  .ai-chat-panel--page .ai-chat-panel__actions{flex-direction:column}
}

@media (max-width:520px){
  .trust-strip__grid{grid-template-columns:1fr}
  .trust-strip__item{justify-content:flex-start}
}

@media (max-width:420px){
  .h1{font-size:34px}
  .theme-toggle,
  .menu-toggle{width:40px;height:40px}
}

@media (min-width:901px){
  .nav-drawer,
  .nav-overlay,
  .header-actions--mobile{display:none !important}
}

.nav-drawer[hidden],
.nav-overlay[hidden]{display:none !important}

@media (prefers-reduced-motion:reduce){
  .site-footer--dark .footer-divider::after{animation:none}
}

.kb-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:20px;
}

.kb-card{
display:block;
padding:24px;
border:1px solid #E6EAF0;
border-radius:14px;
background:#fff;
text-decoration:none;
color:#0B1220;
transition:.2s;
}

.kb-card:hover{
border-color:#037EF3;
box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.kb-article{
max-width:800px;
margin:auto;
}

.kb-article h2{
margin-top:28px;
}

.kb-article-list{
  display:grid;
  gap:12px;
}

.kb-article-link{
  display:block;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(255,255,255,.04);
  color:var(--ink);
  font-weight:650;
  line-height:1.5;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.kb-article-link:hover{
  background:rgba(3,126,243,.10);
  border-color:rgba(3,126,243,.28);
  transform:translateY(-1px);
}

.theme-light .kb-article-link{
  background:#fff;
}

.theme-dark .kb-article-link,
html:not(.theme-light) .kb-article-link{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.10);
  color:var(--ink);
}
.kb-article-card,
.kb-side-card{
  height:100%;
}

.kb-article-content{
  max-width:78ch;
}

.kb-article-content h2{
  margin-bottom:12px;
}

.kb-article-content p,
.kb-article-content li{
  color:var(--slate);
  line-height:1.75;
}

.kb-step-list{
  margin:0;
  padding-left:22px;
  display:grid;
  gap:10px;
}

.kb-step-list li strong{
  color:var(--ink);
}

.kb-article-list{
  display:grid;
  gap:12px;
}

.kb-article-link{
  display:block;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#FFFFFF;
  color:var(--ink);
  font-weight:650;
  line-height:1.5;
  transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}

.kb-article-link:hover{
  background:rgba(3,126,243,.06);
  border-color:rgba(3,126,243,.28);
  transform:translateY(-1px);
  box-shadow:var(--shadow-sm);
}

.theme-dark .kb-article-link,
html:not(.theme-light) .kb-article-link{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.10);
  color:var(--ink);
}

.theme-dark .kb-article-link:hover,
html:not(.theme-light) .kb-article-link:hover{
  background:rgba(3,126,243,.12);
  border-color:rgba(3,126,243,.28);
}

@media (max-width: 992px){
  .kb-article-card,
  .kb-side-card{
    height:auto;
  }
}

.kb-nav-card{
  height:100%;
}

.kb-nav-list{
  display:grid;
  gap:10px;
}

.kb-nav-link{
  display:block;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(255,255,255,.6);
  color:var(--ink);
  font-weight:700;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.kb-nav-link:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-sm);
  border-color:rgba(3,126,243,.28);
  background:rgba(3,126,243,.05);
}

.kb-nav-link.is-active{
  border-color:rgba(3,126,243,.38);
  background:rgba(3,126,243,.10);
  color:var(--ink);
}

.theme-dark .kb-nav-link,
html:not(.theme-light) .kb-nav-link{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.10);
}

.theme-dark .kb-nav-link.is-active,
html:not(.theme-light) .kb-nav-link.is-active{
  background:rgba(3,126,243,.16);
  border-color:rgba(3,126,243,.35);
}

.kb-nav-card{
  height:100%;
}

.kb-nav-list{
  display:grid;
  gap:10px;
}

.kb-nav-link{
  display:block;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(255,255,255,.6);
  color:var(--ink);
  font-weight:700;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.kb-nav-link:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-sm);
  border-color:rgba(3,126,243,.28);
  background:rgba(3,126,243,.05);
}

.kb-nav-link.is-active{
  border-color:rgba(3,126,243,.38);
  background:rgba(3,126,243,.10);
  color:var(--ink);
}

.theme-dark .kb-nav-link,
html:not(.theme-light) .kb-nav-link{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.10);
}

.theme-dark .kb-nav-link.is-active,
html:not(.theme-light) .kb-nav-link.is-active{
  background:rgba(3,126,243,.16);
  border-color:rgba(3,126,243,.35);
}

.kb-sidebar-stack{
  display:grid;
  gap:24px;
  align-content:start;
}

.kb-search-card{
  overflow:visible;
}

.kb-search-box{
  display:block;
}

.kb-search-input{
  width:100%;
  padding:16px 18px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.75);
  color:var(--ink);
  font-size:16px;
  font-family:inherit;
}

.kb-search-input:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(3,126,243,.15);
}

.kb-search-meta{
  font-size:14px;
  color:var(--slate);
}

.kb-category-card[hidden],
.trust-policy-link[hidden]{
  display:none !important;
}

.theme-dark .kb-search-input,
html:not(.theme-light) .kb-search-input{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.10);
  color:var(--ink);
}

/* =========================
   M365 widget
========================= */

.m365-header{
  display:flex;
  justify-content:flex-end;
  margin-bottom:10px;
}

.m365-summary{
  margin:0 0 12px;
  color:var(--slate);
  line-height:1.6;
}

.m365-updated{
  margin-bottom:14px;
  font-size:13px;
  color:var(--slate);
  opacity:.9;
}

.m365-error{
  margin-bottom:14px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(239,68,68,.22);
  background:rgba(239,68,68,.08);
  color:#b91c1c;
}

.m365-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  border:1px solid transparent;
}

.m365-badge--loading{
  background:#f5f7fa;
  color:#3a475a;
  border-color:#e6eaf0;
}

.m365-badge--healthy{
  background:rgba(34,197,94,.12);
  color:#166534;
  border-color:rgba(34,197,94,.20);
}

.m365-badge--warning{
  background:rgba(245,158,11,.12);
  color:#b45309;
  border-color:rgba(245,158,11,.22);
}

.m365-badge--critical{
  background:rgba(239,68,68,.12);
  color:#b91c1c;
  border-color:rgba(239,68,68,.22);
}

.m365-services{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  margin-bottom:18px;
}

.m365-service{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:8px;
padding:14px 16px;
border:1px solid var(--border);
border-radius:14px;
background:rgba(255,255,255,.65);
transition:all .18s ease;
}

.m365-service:hover{
transform:translateY(-2px);
box-shadow:0 6px 20px rgba(0,0,0,.08);
}

.m365-service-name{
font-size:14px;
font-weight:700;
color:var(--ink);
}

.m365-service-status{
display:flex;
align-items:center;
}

.m365-service strong{
  color:var(--ink);
  font-size:14px;
}

.m365-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
  flex:0 0 10px;
  margin-right:8px;
}

.m365-dot--healthy{
  background:#22c55e;
}

.m365-dot--warning{
  background:#f59e0b;
}

.m365-dot--critical{
  background:#ef4444;
}

.m365-dot--unknown{
  background:#94a3b8;
}

.m365-issues{
  border-top:1px solid var(--border);
  padding-top:16px;
}

.m365-issues-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.m365-issues-header h3{
  margin:0;
  font-size:16px;
  color:var(--ink);
}

.m365-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  min-height:32px;
  padding:0 10px;
  border-radius:999px;
  background:#f5f7fa;
  border:1px solid var(--border);
  color:var(--ink);
  font-size:12px;
  font-weight:800;
}

.m365-issues-list{
  display:grid;
  gap:12px;
}

.m365-issue{
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px 16px;
  background:rgba(255,255,255,.65);
  color:var(--slate);
  line-height:1.6;
}

.m365-issue strong{
  display:block;
  margin-bottom:6px;
  color:var(--ink);
}

.m365-issue-placeholder{
  border:1px dashed var(--border);
  border-radius:14px;
  padding:14px 16px;
  background:rgba(255,255,255,.45);
  color:var(--slate);
}

/* theme-aware dark mode */

.theme-dark .m365-service,
html:not(.theme-light) .m365-service{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.10);
}

.theme-dark .m365-issue,
html:not(.theme-light) .m365-issue{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.10);
}

.theme-dark .m365-issue-placeholder,
html:not(.theme-light) .m365-issue-placeholder{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.10);
  color:var(--slate);
}

.theme-dark .m365-count,
html:not(.theme-light) .m365-count{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.10);
  color:var(--ink);
}

.theme-dark .m365-issues,
html:not(.theme-light) .m365-issues{
  border-top-color:rgba(255,255,255,.10);
}

.theme-dark .m365-error,
html:not(.theme-light) .m365-error{
  background:rgba(239,68,68,.12);
  border-color:rgba(239,68,68,.28);
  color:#fca5a5;
}

.theme-dark .m365-badge--loading,
html:not(.theme-light) .m365-badge--loading{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.10);
  color:var(--ink);
}

.theme-dark .m365-badge--healthy,
html:not(.theme-light) .m365-badge--healthy{
  background:rgba(34,197,94,.18);
  border-color:rgba(34,197,94,.30);
  color:#86efac;
}

.theme-dark .m365-badge--warning,
html:not(.theme-light) .m365-badge--warning{
  background:rgba(245,158,11,.18);
  border-color:rgba(245,158,11,.30);
  color:#fbbf24;
}

.theme-dark .m365-badge--critical,
html:not(.theme-light) .m365-badge--critical{
  background:rgba(239,68,68,.18);
  border-color:rgba(239,68,68,.30);
  color:#f87171;
}

/* pulse */

.m365-dot--critical{
  animation:m365PulseCritical 1.8s infinite;
}

.m365-dot--warning{
  animation:m365PulseWarning 2.2s infinite;
}

@keyframes m365PulseCritical{
  0%{box-shadow:0 0 0 0 rgba(239,68,68,.45)}
  70%{box-shadow:0 0 0 8px rgba(239,68,68,0)}
  100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}
}

@keyframes m365PulseWarning{
  0%{box-shadow:0 0 0 0 rgba(245,158,11,.35)}
  70%{box-shadow:0 0 0 8px rgba(245,158,11,0)}
  100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}
}

@media (max-width:640px){
  .m365-services{
    grid-template-columns:1fr;
  }

  .m365-issues-header{
    align-items:flex-start;
  }
}

@media (prefers-reduced-motion:reduce){
  .m365-dot--critical,
  .m365-dot--warning{
    animation:none;
  }
}

.m365-status-pill{
display:inline-flex;
align-items:center;
gap:6px;
padding:4px 10px;
border-radius:999px;
font-size:12px;
font-weight:700;
border:1px solid transparent;
}

/* operational */

.m365-status-healthy{
background:rgba(34,197,94,.12);
color:#166534;
border-color:rgba(34,197,94,.25);
}

/* degraded */

.m365-status-warning{
background:rgba(245,158,11,.12);
color:#b45309;
border-color:rgba(245,158,11,.25);
}

/* interruption */

.m365-status-critical{
background:rgba(239,68,68,.12);
color:#b91c1c;
border-color:rgba(239,68,68,.25);
}

/* unknown */

.m365-status-unknown{
background:rgba(148,163,184,.15);
color:#475569;
border-color:rgba(148,163,184,.30);
}

.m365-service{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.65);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.m365-service:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-sm);
}

.m365-service-name-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
}

.m365-service-icon{
  width:28px;
  height:28px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:900;
  background:rgba(3,126,243,.10);
  border:1px solid rgba(3,126,243,.18);
  color:var(--primary);
  flex:0 0 28px;
}

.m365-service-name{
  font-size:14px;
  font-weight:800;
  color:var(--ink);
  line-height:1.3;
}

.m365-service-status{
  display:flex;
  align-items:center;
}

.m365-status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  border:1px solid transparent;
}

.m365-status-healthy{
  background:rgba(34,197,94,.12);
  color:#166534;
  border-color:rgba(34,197,94,.25);
}

.m365-status-warning{
  background:rgba(245,158,11,.12);
  color:#b45309;
  border-color:rgba(245,158,11,.25);
}

.m365-status-critical{
  background:rgba(239,68,68,.12);
  color:#b91c1c;
  border-color:rgba(239,68,68,.25);
}

.m365-status-unknown{
  background:rgba(148,163,184,.15);
  color:#475569;
  border-color:rgba(148,163,184,.30);
}

/* dark mode */

.theme-dark .m365-service,
html:not(.theme-light) .m365-service{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.10);
}

.theme-dark .m365-service-icon,
html:not(.theme-light) .m365-service-icon{
  background:rgba(3,126,243,.16);
  border-color:rgba(255,255,255,.10);
  color:#7db7ff;
}

.theme-dark .m365-status-pill,
html:not(.theme-light) .m365-status-pill{
  border-color:rgba(255,255,255,.12);
}

.theme-dark .m365-status-healthy,
html:not(.theme-light) .m365-status-healthy{
  background:rgba(34,197,94,.18);
  color:#86efac;
}

.theme-dark .m365-status-warning,
html:not(.theme-light) .m365-status-warning{
  background:rgba(245,158,11,.18);
  color:#fbbf24;
}

.theme-dark .m365-status-critical,
html:not(.theme-light) .m365-status-critical{
  background:rgba(239,68,68,.18);
  color:#f87171;
}

.theme-dark .m365-status-unknown,
html:not(.theme-light) .m365-status-unknown{
  background:rgba(148,163,184,.16);
  color:#cbd5e1;
}

.m365-service-icon{
  width:30px;
  height:30px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(3,126,243,.10);
  border:1px solid rgba(3,126,243,.18);
  color:var(--primary);
  flex:0 0 30px;
}

.m365-service-icon svg{
  width:16px;
  height:16px;
  display:block;
  stroke:currentColor;
  stroke-width:1.8;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.theme-dark .m365-service-icon,
html:not(.theme-light) .m365-service-icon{
  background:rgba(3,126,243,.16);
  border-color:rgba(255,255,255,.10);
  color:#7db7ff;
}

.m365-service:has(.m365-status-critical){
  border-color:rgba(239,68,68,.28);
}

.m365-service:has(.m365-status-warning){
  border-color:rgba(245,158,11,.28);
}
.support-banner {
  border-left: 4px solid #037EF3;
  background: #f5f9ff;
}

.support-banner .kicker,
.support-banner .h3,
.support-banner .p {
  color: #0B1220;
}

html[data-theme="dark"] .support-banner,
body.dark .support-banner,
.dark .support-banner {
  background: rgba(3, 126, 243, 0.12);
  border-left-color: #5aa9ff;
}

html[data-theme="dark"] .support-banner .kicker,
html[data-theme="dark"] .support-banner .h3,
html[data-theme="dark"] .support-banner .p,
body.dark .support-banner .kicker,
body.dark .support-banner .h3,
body.dark .support-banner .p,
.dark .support-banner .kicker,
.dark .support-banner .h3,
.dark .support-banner .p {
  color: #f5f7fa;
}

/* Base result card */

.link-check-result-card {
  margin-top: 14px;
  border-radius: 18px;
  padding: 18px;
  border: 1px solid var(--border, #E6EAF0);
  background: var(--card-bg, #ffffff);
  transition: border-color .2s ease, background .2s ease;
}

/* Severity colors */

.link-check-result-card.is-safe {
  border-color: rgba(34,197,94,.35);
}

.link-check-result-card.is-caution {
  border-color: rgba(245,158,11,.45);
}

.link-check-result-card.is-warning,
.link-check-result-card.is-danger {
  border-color: rgba(239,68,68,.45);
}

/* Header */

.link-check-result-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.link-check-result-title {
  display:flex;
  gap:12px;
  align-items:center;
}

.link-check-result-icon {
  width:40px;
  height:40px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:16px;
}

/* Light theme icons */

.link-check-result-card.is-safe .link-check-result-icon {
  background:#ECFDF5;
  color:#065F46;
}

.link-check-result-card.is-caution .link-check-result-icon {
  background:#FFFBEB;
  color:#92400E;
}

.link-check-result-card.is-warning .link-check-result-icon {
  background:#FEF2F2;
  color:#991B1B;
}

/* Result title */

.link-check-result-name {
  font-weight:800;
  font-size:16px;
  color:var(--ink,#0B1220);
}

.link-check-result-sub {
  font-size:13px;
  opacity:.8;
}

/* Grid sections */

.link-check-result-grid {
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.link-check-result-block {
  padding:14px;
  border-radius:14px;
  border:1px solid var(--border,#E6EAF0);
  background:rgba(0,0,0,.02);
}

.link-check-result-block strong {
  display:block;
  margin-bottom:6px;
}

.link-check-result-list {
  padding-left:18px;
  margin:0;
}

.link-check-result-list li {
  margin-bottom:6px;
}

.link-check-result-note {
  margin-top:14px;
  font-size:14px;
  opacity:.9;
}

.link-check-result-empty {
  padding:10px;
  border-radius:10px;
  font-size:13px;
  opacity:.8;
  border:1px dashed var(--border,#E6EAF0);
}

.link-check-result-meta {
  margin-top:10px;
  font-size:12px;
  opacity:.7;
}

/* ---------------- DARK MODE ---------------- */

@media (prefers-color-scheme: dark) {

.link-check-result-card {
  background:#0f172a;
  border-color:#334155;
}

.link-check-result-block {
  background:#111827;
  border-color:#334155;
}

.link-check-result-empty {
  border-color:#334155;
}

.link-check-result-name {
  color:#f1f5f9;
}

.link-check-result-sub {
  color:#94a3b8;
}

/* Dark severity icons */

.link-check-result-card.is-safe .link-check-result-icon {
  background:rgba(34,197,94,.18);
  color:#4ade80;
}

.link-check-result-card.is-caution .link-check-result-icon {
  background:rgba(245,158,11,.18);
  color:#fbbf24;
}

.link-check-result-card.is-warning .link-check-result-icon {
  background:rgba(239,68,68,.18);
  color:#f87171;
}

}

.status-tag {
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

@media (prefers-color-scheme: dark) {

.status-tag {
  background:#1e293b;
  border:1px solid #334155;
  color:#cbd5f5;
}

}

.zrsite_Date_Opened {
  display: none !important;
}

/* =========================
   Careers / Zoho Recruit
   ========================= */

/* ---------- Base shell ---------- */

.careers-embed-shell,
.careers-embed-shell *{
  box-sizing:border-box;
}

.careers-embed-shell{
  width:100%;
}

.careers-embed-shell .embed_jobs_head,
.careers-embed-shell .embed_jobs_head2,
.careers-embed-shell .embed_jobs_head3,
.careers-embed-shell #rec_job_listing_div,
.careers-embed-shell .zrsite_Job_Listing,
.careers-embed-shell .zrsite_job_listing{
  width:100% !important;
  max-width:100% !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}

/* ---------- Zoho Recruit cards ---------- */

.careers-embed-shell .zrsite_Job_Listing_Detail,
.careers-embed-shell .zrsite_job_container,
.careers-embed-shell .zrsite_job_listing_container,
.careers-embed-shell .zrsite_jobs_container > div{
  background:#FFFFFF !important;
  border:1px solid #E6EAF0 !important;
  border-radius:20px !important;
  box-shadow:0 10px 30px rgba(11,18,32,.06) !important;
  padding:22px !important;
  margin-bottom:16px !important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.careers-embed-shell .zrsite_Job_Listing_Detail:hover,
.careers-embed-shell .zrsite_job_container:hover,
.careers-embed-shell .zrsite_job_listing_container:hover,
.careers-embed-shell .zrsite_jobs_container > div:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 38px rgba(11,18,32,.09) !important;
  border-color:rgba(3,126,243,.22) !important;
}

/* ---------- Zoho Recruit typography ---------- */

.careers-embed-shell .zrsite_JobTitle,
.careers-embed-shell .zrsite_job_title,
.careers-embed-shell .zrsite_job_title a,
.careers-embed-shell .zrsite_JobTitle a{
  color:#0B1220 !important;
  font-size:1.1rem !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}

.careers-embed-shell .zrsite_job_title a:hover,
.careers-embed-shell .zrsite_JobTitle a:hover{
  color:#037EF3 !important;
}

.careers-embed-shell .zrsite_Job_Detail,
.careers-embed-shell .zrsite_job_detail,
.careers-embed-shell .zrsite_job_meta,
.careers-embed-shell .zrsite_Job_summary{
  color:#3A475A !important;
  font-size:14px !important;
  line-height:1.6 !important;
}

.careers-embed-shell .zrsite_City,
.careers-embed-shell .zrsite_State,
.careers-embed-shell .zrsite_Country,
.careers-embed-shell .zrsite_Job_Type,
.careers-embed-shell .zrsite_Date_Opened,
.careers-embed-shell .zrsite_Salary,
.careers-embed-shell .zrsite_Industry{
  color:#3A475A !important;
  font-size:13px !important;
  font-weight:600 !important;
}

.careers-embed-shell .zrsite_Job_Description,
.careers-embed-shell .zrsite_job_description{
  color:#3A475A !important;
  font-size:14px !important;
  line-height:1.7 !important;
  margin-top:10px !important;
}

/* ---------- Zoho Recruit controls ---------- */

.careers-embed-shell a[href*="viewjob"],
.careers-embed-shell .zrsite_Apply_Button,
.careers-embed-shell .zrsite_apply_button,
.careers-embed-shell .zrsite_job_apply{
  background:#037EF3 !important;
  color:#FFFFFF !important;
  border:1px solid #037EF3 !important;
  border-radius:999px !important;
  padding:10px 16px !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.careers-embed-shell a[href*="viewjob"]:hover,
.careers-embed-shell .zrsite_Apply_Button:hover,
.careers-embed-shell .zrsite_apply_button:hover,
.careers-embed-shell .zrsite_job_apply:hover{
  background:#026FD8 !important;
  border-color:#026FD8 !important;
  color:#FFFFFF !important;
}

.careers-embed-shell input,
.careers-embed-shell select,
.careers-embed-shell textarea{
  border:1px solid #E6EAF0 !important;
  border-radius:14px !important;
  background:#FFFFFF !important;
  color:#0B1220 !important;
  padding:12px 14px !important;
  font-size:14px !important;
  box-shadow:none !important;
}

.careers-embed-shell input:focus,
.careers-embed-shell select:focus,
.careers-embed-shell textarea:focus{
  outline:none !important;
  border-color:rgba(3,126,243,.55) !important;
  box-shadow:0 0 0 4px rgba(3,126,243,.12) !important;
}

/* ---------- Zoho Recruit empty + pagination ---------- */

.careers-embed-shell .zrsite_No_Job,
.careers-embed-shell .zrsite_no_job,
.careers-embed-shell .zrsite_jobs_empty{
  background:#FFFFFF !important;
  border:1px dashed #E6EAF0 !important;
  border-radius:20px !important;
  padding:22px !important;
  color:#3A475A !important;
  text-align:center !important;
}

.careers-embed-shell .zrsite_Pagination,
.careers-embed-shell .zrsite_pagination{
  margin-top:20px !important;
}

.careers-embed-shell .zrsite_Pagination a,
.careers-embed-shell .zrsite_pagination a,
.careers-embed-shell .zrsite_Pagination span,
.careers-embed-shell .zrsite_pagination span{
  border-radius:12px !important;
  border:1px solid #E6EAF0 !important;
  color:#0B1220 !important;
  background:#FFFFFF !important;
  padding:8px 12px !important;
  text-decoration:none !important;
}

.careers-embed-shell .zrsite_Pagination .active,
.careers-embed-shell .zrsite_pagination .active{
  background:#037EF3 !important;
  border-color:#037EF3 !important;
  color:#FFFFFF !important;
}

.careers-embed-shell .zrsite_Date_Opened{
  display:none !important;
}

/* ---------- Careers layout ---------- */

.careers-layout{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:24px;
  align-items:start;
}

.careers-sidebar,
.careers-main,
.career-sidebar{
  min-width:0;
}

.careers-sidebar__inner,
.career-sidebar__inner{
  position:sticky;
  top:110px;
  align-self:start;
}

.careers-filter-card{
  margin-bottom:4px;
  padding:20px;
}

.careers-filter-stack{
  display:grid;
  gap:14px;
}

.careers-filter-stack label{
  display:block;
  margin-bottom:6px;
}

.careers-filter-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}

.career-filter-input{
  width:100%;
  margin-top:6px;
}

.careers-results-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding:18px 20px;
}

.grid-2.careers-results-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.careers-chip-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.career-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #E6EAF0;
  background:#FFFFFF;
  color:inherit;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.career-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(3,126,243,.25);
  box-shadow:0 8px 20px rgba(11,18,32,.06);
}

.career-chip.is-active{
  background:rgba(3,126,243,.08);
  border-color:rgba(3,126,243,.24);
  color:#037EF3;
}

/* ---------- Career path cards ---------- */

.career-path-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}

.career-path-card{
  display:block;
  text-decoration:none;
  color:inherit;
  border:1px solid #E6EAF0;
  box-shadow:0 10px 30px rgba(11,18,32,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.career-path-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 38px rgba(11,18,32,.09);
  border-color:rgba(3,126,243,.22);
}

.career-count-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(3,126,243,.08);
  color:#037EF3;
  font-size:12px;
  font-weight:700;
  border:1px solid rgba(3,126,243,.18);
  white-space:nowrap;
}

/* ---------- Job cards ---------- */

.career-job-card{
  border:1px solid #E6EAF0;
  box-shadow:0 10px 30px rgba(11,18,32,.05);
  transition:all .25s ease;
}

.career-job-card:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 70px rgba(11,18,32,.12);
  border-color:rgba(3,126,243,.18);
}

.career-job-card--wide{
  height:100%;
}

.career-job-card__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.career-job-card__badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.career-job-card__meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:8px;
  padding-top:2px;
}

.career-job-card .h3{
  font-size:20px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-0.2px;
}

.job-meta{
  margin-top:8px;
  color:#5F6B7A;
  font-size:14px;
  line-height:1.6;
}

.job-meta a{
  text-decoration:none;
  font-weight:600;
}

.job-meta a:hover{
  text-decoration:underline;
}

.job-salary{
  display:inline-flex;
  align-items:center;
  margin-top:12px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,221,0,.16);
  color:#0B1220;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
}

.job-posted{
  margin-top:6px;
  font-size:13px;
  color:#64748B;
}

.job-valid-through{
  margin-top:6px;
  font-size:13px;
  font-weight:600;
  color:#B45309;
}

.job-valid-through__days{
  font-weight:800;
}

/* ---------- Badges ---------- */

.status-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  background:rgba(3,126,243,.10);
  color:#037EF3;
}

.career-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.career-flag--hot{
  background:rgba(239,68,68,.12);
  color:#B91C1C;
  border:1px solid rgba(239,68,68,.24);
}

.career-flag--new{
  background:rgba(16,185,129,.12);
  color:#047857;
  border:1px solid rgba(16,185,129,.24);
}

.career-flag--urgent{
  background:rgba(245,158,11,.12);
  color:#B45309;
  border:1px solid rgba(245,158,11,.24);
}

/* ---------- Empty state ---------- */

.careers-empty-state{
  text-align:center;
  padding:32px 24px;
  border:1px solid #E6EAF0;
  box-shadow:0 10px 30px rgba(11,18,32,.05);
}

.careers-empty-state .notice{
  display:inline-block;
  margin:0 auto;
}

/* ---------- Pagination ---------- */

.pagination{
  align-items:center;
}

.pagination .btn,
.pagination .btn-secondary{
  min-width:44px;
  justify-content:center;
}

.careers-main .pagination{
  padding-top:4px;
}

/* ---------- Dark theme: Zoho embed ---------- */

html[data-theme="dark"] .careers-embed-shell .zrsite_Job_Listing_Detail,
html[data-theme="dark"] .careers-embed-shell .zrsite_job_container,
html[data-theme="dark"] .careers-embed-shell .zrsite_job_listing_container,
html[data-theme="dark"] .careers-embed-shell .zrsite_jobs_container > div,
body.dark-mode .careers-embed-shell .zrsite_Job_Listing_Detail,
body.dark-mode .careers-embed-shell .zrsite_job_container,
body.dark-mode .careers-embed-shell .zrsite_job_listing_container,
body.dark-mode .careers-embed-shell .zrsite_jobs_container > div{
  background:#101826 !important;
  border-color:#243244 !important;
  box-shadow:0 14px 34px rgba(0,0,0,.28) !important;
}

html[data-theme="dark"] .careers-embed-shell .zrsite_JobTitle,
html[data-theme="dark"] .careers-embed-shell .zrsite_job_title,
html[data-theme="dark"] .careers-embed-shell .zrsite_job_title a,
html[data-theme="dark"] .careers-embed-shell .zrsite_JobTitle a,
body.dark-mode .careers-embed-shell .zrsite_JobTitle,
body.dark-mode .careers-embed-shell .zrsite_job_title,
body.dark-mode .careers-embed-shell .zrsite_job_title a,
body.dark-mode .careers-embed-shell .zrsite_JobTitle a{
  color:#F5F7FA !important;
}

html[data-theme="dark"] .careers-embed-shell .zrsite_Job_Detail,
html[data-theme="dark"] .careers-embed-shell .zrsite_job_detail,
html[data-theme="dark"] .careers-embed-shell .zrsite_job_meta,
html[data-theme="dark"] .careers-embed-shell .zrsite_Job_summary,
html[data-theme="dark"] .careers-embed-shell .zrsite_Job_Description,
html[data-theme="dark"] .careers-embed-shell .zrsite_job_description,
html[data-theme="dark"] .careers-embed-shell .zrsite_City,
html[data-theme="dark"] .careers-embed-shell .zrsite_State,
html[data-theme="dark"] .careers-embed-shell .zrsite_Country,
html[data-theme="dark"] .careers-embed-shell .zrsite_Job_Type,
html[data-theme="dark"] .careers-embed-shell .zrsite_Salary,
html[data-theme="dark"] .careers-embed-shell .zrsite_Industry,
body.dark-mode .careers-embed-shell .zrsite_Job_Detail,
body.dark-mode .careers-embed-shell .zrsite_job_detail,
body.dark-mode .careers-embed-shell .zrsite_job_meta,
body.dark-mode .careers-embed-shell .zrsite_Job_summary,
body.dark-mode .careers-embed-shell .zrsite_Job_Description,
body.dark-mode .careers-embed-shell .zrsite_job_description,
body.dark-mode .careers-embed-shell .zrsite_City,
body.dark-mode .careers-embed-shell .zrsite_State,
body.dark-mode .careers-embed-shell .zrsite_Country,
body.dark-mode .careers-embed-shell .zrsite_Job_Type,
body.dark-mode .careers-embed-shell .zrsite_Salary,
body.dark-mode .careers-embed-shell .zrsite_Industry{
  color:#B8C4D6 !important;
}

html[data-theme="dark"] .careers-embed-shell input,
html[data-theme="dark"] .careers-embed-shell select,
html[data-theme="dark"] .careers-embed-shell textarea,
body.dark-mode .careers-embed-shell input,
body.dark-mode .careers-embed-shell select,
body.dark-mode .careers-embed-shell textarea{
  background:#0F1724 !important;
  border-color:#243244 !important;
  color:#F5F7FA !important;
}

html[data-theme="dark"] .careers-embed-shell .zrsite_No_Job,
html[data-theme="dark"] .careers-embed-shell .zrsite_no_job,
html[data-theme="dark"] .careers-embed-shell .zrsite_jobs_empty,
body.dark-mode .careers-embed-shell .zrsite_No_Job,
body.dark-mode .careers-embed-shell .zrsite_no_job,
body.dark-mode .careers-embed-shell .zrsite_jobs_empty{
  background:#101826 !important;
  border-color:#243244 !important;
  color:#B8C4D6 !important;
}

html[data-theme="dark"] .careers-embed-shell .zrsite_Pagination a,
html[data-theme="dark"] .careers-embed-shell .zrsite_pagination a,
html[data-theme="dark"] .careers-embed-shell .zrsite_Pagination span,
html[data-theme="dark"] .careers-embed-shell .zrsite_pagination span,
body.dark-mode .careers-embed-shell .zrsite_Pagination a,
body.dark-mode .careers-embed-shell .zrsite_pagination a,
body.dark-mode .careers-embed-shell .zrsite_Pagination span,
body.dark-mode .careers-embed-shell .zrsite_pagination span{
  background:#101826 !important;
  border-color:#243244 !important;
  color:#F5F7FA !important;
}

/* ---------- Dark theme: custom careers ---------- */

.theme-dark .careers-layout,
body.dark .careers-layout{
  color:var(--ink);
}

.theme-dark .career-path-card,
.theme-dark .career-job-card,
.theme-dark .careers-results-toolbar,
.theme-dark .careers-filter-card,
.theme-dark .careers-empty-state,
body.dark .career-path-card,
body.dark .career-job-card,
body.dark .careers-results-toolbar,
body.dark .careers-filter-card,
body.dark .careers-empty-state{
  background:linear-gradient(180deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.022) 100%);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 44px rgba(0,0,0,.34);
}

.theme-dark .career-path-card:hover,
.theme-dark .career-job-card:hover,
body.dark .career-path-card:hover,
body.dark .career-job-card:hover{
  border-color:rgba(3,126,243,.32);
  box-shadow:0 24px 54px rgba(0,0,0,.40);
}

.theme-dark .careers-results-toolbar,
body.dark .careers-results-toolbar{
  background:linear-gradient(180deg, rgba(3,126,243,.10), rgba(255,255,255,.02));
  border:1px solid rgba(3,126,243,.18);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}

.theme-dark .careers-filter-card,
body.dark .careers-filter-card{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
}

.theme-dark .careers-sidebar__inner,
body.dark .careers-sidebar__inner{
  backdrop-filter:blur(10px);
}

.theme-dark .career-count-badge,
body.dark .career-count-badge{
  background:rgba(3,126,243,.18);
  color:#9FD2FF;
  border-color:rgba(3,126,243,.24);
}

.theme-dark .career-chip,
body.dark .career-chip{
  background:rgba(255,255,255,.035);
  border-color:rgba(255,255,255,.10);
  color:rgba(255,255,255,.88);
}

.theme-dark .career-chip:hover,
body.dark .career-chip:hover{
  background:rgba(255,255,255,.055);
  border-color:rgba(3,126,243,.26);
  color:#FFFFFF;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}

.theme-dark .career-chip.is-active,
body.dark .career-chip.is-active{
  background:rgba(3,126,243,.18);
  border-color:rgba(3,126,243,.30);
  color:#A9D8FF;
}

.theme-dark .careers-filter-stack label,
body.dark .careers-filter-stack label{
  color:rgba(255,255,255,.90);
}

.theme-dark .career-filter-input,
body.dark .career-filter-input{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
  color:#F5F8FC;
}

.theme-dark .career-filter-input::placeholder,
body.dark .career-filter-input::placeholder{
  color:rgba(255,255,255,.44);
}

.theme-dark .career-filter-input:focus,
body.dark .career-filter-input:focus{
  border-color:rgba(3,126,243,.46);
  box-shadow:0 0 0 4px rgba(3,126,243,.16);
  outline:none;
}

.theme-dark .career-job-card,
body.dark .career-job-card{
  background:linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 50px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.04);
}

.theme-dark .career-job-card:hover,
body.dark .career-job-card:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 70px rgba(0,0,0,.55);
}

.theme-dark .career-job-card .h3,
.theme-dark .career-path-card .h3,
.theme-dark .careers-results-toolbar .h3,
body.dark .career-job-card .h3,
body.dark .career-path-card .h3,
body.dark .careers-results-toolbar .h3{
  color:#F7FAFF;
}

.theme-dark .job-meta,
.theme-dark .job-posted,
.theme-dark .job-valid-through,
body.dark .job-meta,
body.dark .job-posted,
body.dark .job-valid-through{
  color:rgba(255,255,255,.72);
}

.theme-dark .job-meta,
body.dark .job-meta{
  font-size:13px;
  opacity:.75;
}

.theme-dark .job-meta a,
body.dark .job-meta a{
  color:#8ECAFF;
}

.theme-dark .job-meta a:hover,
body.dark .job-meta a:hover{
  color:#C2E2FF;
}

.theme-dark .job-salary,
body.dark .job-salary{
  background:linear-gradient(135deg, rgba(255,221,0,.18), rgba(255,221,0,.10));
  color:#FFE36B;
  border:1px solid rgba(255,221,0,.28);
  box-shadow:0 6px 18px rgba(255,221,0,.15);
  font-weight:700;
}

.theme-dark .career-job-card__meta,
body.dark .career-job-card__meta{
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:12px;
  margin-top:12px;
}

.theme-dark .career-job-card .p,
body.dark .career-job-card .p{
  font-size:14px;
  line-height:1.6;
  color:rgba(255,255,255,.78);
}

.theme-dark .status-tag,
body.dark .status-tag{
  background:rgba(3,126,243,.18);
  color:#A6D7FF;
  border:1px solid rgba(3,126,243,.22);
  backdrop-filter:blur(6px);
  letter-spacing:.2px;
}

.theme-dark .career-flag,
body.dark .career-flag{
  backdrop-filter:blur(6px);
  letter-spacing:.2px;
}

.theme-dark .career-flag--hot,
body.dark .career-flag--hot{
  background:rgba(239,68,68,.18);
  color:#FFAAAA;
  border:1px solid rgba(239,68,68,.24);
}

.theme-dark .career-flag--new,
body.dark .career-flag--new{
  background:rgba(16,185,129,.18);
  color:#7FF0C4;
  border:1px solid rgba(16,185,129,.24);
}

.theme-dark .career-flag--urgent,
body.dark .career-flag--urgent{
  background:rgba(245,158,11,.16);
  color:#FFD67F;
  border:1px solid rgba(245,158,11,.24);
}

.theme-dark .careers-empty-state,
body.dark .careers-empty-state{
  background:
    radial-gradient(circle at top, rgba(3,126,243,.11), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%);
}

.theme-dark .careers-empty-state .kicker,
body.dark .careers-empty-state .kicker{
  color:#9FD2FF;
}

.theme-dark .careers-empty-state .h3,
body.dark .careers-empty-state .h3{
  color:#F7FAFF;
}

.theme-dark .careers-empty-state .p,
.theme-dark .careers-results-toolbar .muted,
.theme-dark .careers-filter-card .p,
body.dark .careers-empty-state .p,
body.dark .careers-results-toolbar .muted,
body.dark .careers-filter-card .p{
  color:rgba(255,255,255,.74);
}

.theme-dark .pagination .btn-secondary,
body.dark .pagination .btn-secondary{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  color:#EEF4FB;
}

.theme-dark .pagination .btn-secondary:hover,
body.dark .pagination .btn-secondary:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(3,126,243,.24);
}

.theme-dark .pagination .btn[aria-current="page"],
body.dark .pagination .btn[aria-current="page"]{
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}

.theme-dark .hero,
body.dark .hero{
  background:
    radial-gradient(circle at top left, rgba(3,126,243,.18), transparent 34%),
    radial-gradient(circle at top right, rgba(255,221,0,.08), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,0) 100%);
}

.theme-dark .hero .breadcrumbs,
body.dark .hero .breadcrumbs{
  color:rgba(255,255,255,.62);
}

.theme-dark .hero .breadcrumbs a,
body.dark .hero .breadcrumbs a{
  color:rgba(255,255,255,.84);
}

.theme-dark .hero .breadcrumbs a:hover,
body.dark .hero .breadcrumbs a:hover{
  color:#9FD2FF;
}

.theme-dark .hero .lead,
body.dark .hero .lead{
  color:rgba(255,255,255,.82);
  max-width:780px;
}

.theme-dark .hero .btn-secondary,
body.dark .hero .btn-secondary{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.11);
  color:#EEF4FB;
}

.theme-dark .hero .btn-secondary:hover,
body.dark .hero .btn-secondary:hover{
  background:rgba(255,255,255,.065);
  border-color:rgba(3,126,243,.24);
}

.theme-dark .callout,
body.dark .callout{
  margin-top:22px;
  padding:20px 22px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.022) 100%);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 40px rgba(0,0,0,.26);
  backdrop-filter:blur(10px);
}

.theme-dark .callout-title,
body.dark .callout-title{
  color:#F7FAFF;
}

.theme-dark .callout-meta,
body.dark .callout-meta{
  color:rgba(255,255,255,.76);
}

.theme-dark .callout .pill,
body.dark .callout .pill{
  background:rgba(3,126,243,.16);
  border:1px solid rgba(3,126,243,.22);
  color:#A6D7FF;
}

.theme-dark .btn,
body.dark .btn{
  background:linear-gradient(135deg, #037EF3, #005FD1);
  box-shadow:0 10px 28px rgba(3,126,243,.35);
}

.theme-dark .btn:hover,
body.dark .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(3,126,243,.45);
}

/* ---------- Responsive ---------- */

@media (max-width:1199px){
  .career-path-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:1100px){
  .careers-layout{
    grid-template-columns:1fr;
  }

  .careers-sidebar__inner,
  .career-sidebar__inner{
    position:static;
    top:auto;
  }
}

@media (max-width:959px){
  .careers-filter-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:800px){
  .grid-2.careers-results-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:767px){
  .career-path-grid{
    grid-template-columns:1fr;
  }
}
.theme-dark .careers-results-toolbar .career-chip,
body.dark .careers-results-toolbar .career-chip{
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.10);
}

.theme-dark .careers-results-toolbar .career-chip.is-active,
body.dark .careers-results-toolbar .career-chip.is-active{
  background:rgba(3,126,243,.18);
  color:#a9d8ff;
  border-color:rgba(3,126,243,.28);
}
.career-job-card{
  padding:26px;
}

.career-job-card .h3{
  margin-bottom:10px;
}

.career-job-card .actions{
  margin-top:16px;
}
.job-valid-through.is-expired{
  color:#f87171;
}
.careers-filter-stack > div{
  padding-bottom:2px;
}

.careers-filter-stack label{
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
}
.theme-dark .career-job-card,
body.dark .career-job-card{
  border-color:rgba(255,255,255,.09);
}

.site-footer--dark .footer-col--brand{
  max-width: 36rem;
}

.site-footer--dark .footer-col--cta{
  min-width: 0;
}

.site-footer--dark .footer-contact{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.site-footer--dark .footer-contact__item{
  display:grid;
  gap:2px;
}

.site-footer--dark .footer-contact__item strong{
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(234,240,255,.62);
}

.site-footer--dark .footer-contact__item a,
.site-footer--dark .footer-contact__item span{
  color:rgba(234,240,255,.88);
}

.site-footer--dark .footer-contact__item a:hover{
  color:#fff;
}

.site-footer--dark .footer-cta{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.site-footer--dark .footer-cta .btn,
.site-footer--dark .footer-cta .btn-secondary{
  width:100%;
  justify-content:center;
  text-align:center;
}

.site-footer--full {
  width: 100%;
}

.site-footer--full .footer-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 48px 24px 0;
}

.site-footer--full .footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
  gap: 32px;
}
.footer-col {
  min-width: 0;
}

.footer-col--brand {
  max-width: 420px;
}

.footer-col--cta {
  max-width: 320px;
}

.site-footer--full .footer-bottom {
  margin-top: 40px;
  padding: 20px 24px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.site-footer--full .footer-bottom-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
}
@media (max-width: 1100px) {
  .site-footer--full .footer-top {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 700px) {
  .site-footer--full .footer-top {
    grid-template-columns: 1fr;
  }

  .site-footer--full .footer-inner {
    padding: 32px 18px 0;
  }
}
@media (min-width: 1100px) {
  .footer-col--brand {
    grid-column: span 1;
  }
}

.cta-strip {
  position: sticky;
  bottom: 0;
  z-index: 50;
  width: 100%;
  background: linear-gradient(135deg, #037EF3, #025ec2);
  box-shadow: 0 -8px 24px rgba(0,0,0,0.25);
}

.cta-strip__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.cta-strip__content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cta-strip__title {
  font-weight: 600;
  font-size: 16px;
  color: #fff;
}

.cta-strip__text {
  font-size: 13px;
  color: rgba(255,255,255,0.85);
}

.cta-strip__actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.cta-strip .btn {
  background: #fff;
  color: #037EF3;
}

.cta-strip .btn-secondary {
  border-color: rgba(255,255,255,0.6);
  color: #fff;
}

.cta-strip__close {
  background: none;
  border: none;
  color: #fff;
  font-size: 18px;
  opacity: 0.7;
  cursor: pointer;
}

@media (max-width: 768px) {
  .cta-strip__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .cta-strip__actions {
    width: 100%;
  }

  .cta-strip__actions .btn,
  .cta-strip__actions .btn-secondary {
    flex: 1;
    text-align: center;
  }
}

.footer-top--4col{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:32px !important;
  align-items:start !important;
}

.footer-brand-row{
  display:grid;
  grid-template-columns:minmax(0, 1.6fr) minmax(320px, .9fr);
  gap:28px;
  align-items:start;
  padding:0 0 30px;
  margin-bottom:30px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.footer-brand-row__main{
  display:grid;
  gap:14px;
}

.footer-brand-row__text{
  max-width:70ch;
  margin:0;
}

.footer-brand-row__meta{
  display:grid;
  gap:18px;
  justify-items:start;
}

.footer-contact-block{
  display:grid;
  gap:8px;
}

.footer-contact-row{
  font-size:13px;
  line-height:1.6;
  color:rgba(234,240,255,.78);
}

.footer-contact-row strong{
  color:rgba(234,240,255,.96);
  margin-right:6px;
}

.footer-note{
  margin-top:14px;
  font-size:12px;
  line-height:1.6;
  color:rgba(234,240,255,.66);
}

.footer-title--sub{
  margin-top:20px;
}

@media (max-width: 1100px){
  .footer-top--4col{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .footer-brand-row{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  .footer-top--4col{
    grid-template-columns:1fr !important;
  }

  .footer-brand-row{
    gap:20px;
    padding-bottom:24px;
    margin-bottom:24px;
  }
}

.site-footer--full .footer-inner{
  width:min(1600px, calc(100% - 64px));
  margin:0 auto;
}

@media (max-width: 720px){
  .site-footer--full .footer-inner{
    width:calc(100% - 32px);
  }
}

.footer-brand-row__meta{
  display:grid;
  gap:18px;
  justify-items:start;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.03);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}

.footer-brand-row{
  display:grid;
  grid-template-columns:minmax(0, 1.8fr) minmax(320px, .85fr);
  gap:36px;
  align-items:start;
  padding:0 0 34px;
  margin-bottom:34px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.footer-brand-row__text{
  max-width:62ch;
  margin:0;
  font-size:16px;
  line-height:1.75;
}

.footer-top--4col{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:28px !important;
  align-items:start !important;
}

.site-footer--dark .footer-links{
  gap:10px;
}

.site-footer--dark .footer-links a{
  color:rgba(234,240,255,.80);
  line-height:1.5;
}

.site-footer--dark .footer-links a:hover{
  color:#ffffff;
}

.site-footer--dark .footer-bottom{
  margin-top:38px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.10);
}

.site-footer--dark .footer-bottom-inner{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
}

.site-footer--dark .footer-legal{
  justify-content:flex-end;
}

@media (max-width: 900px){
  .site-footer--dark .footer-bottom-inner{
    grid-template-columns:1fr;
    justify-items:start;
  }

  .site-footer--dark .footer-legal{
    justify-content:flex-start;
  }
}

.footer-brand-row__main{
  display:grid;
  gap:16px;
  padding-right:10px;
}

.footer-logo{
  max-width:160px;
}

.badge-row{
  margin-top:6px;
}

.footer-brand-row__meta{
  transition: all .25s ease;
}

.footer-brand-row__meta:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
}

.footer-title{
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.75);
  margin-bottom:10px;
}

.footer-col{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.footer-bottom-inner{
  grid-template-columns:1fr auto 1fr;
}

.footer-ip-block{
  justify-self:center;
}

.footer-legal{
  justify-self:end;
  display:flex;
  gap:16px;
}

.footer-links a{
  position:relative;
  transition:all .2s ease;
}

.footer-links a::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:1px;
  background:#fff;
  transition:width .2s ease;
}

.footer-links a:hover::after{
  width:100%;
}

@media (max-width: 768px){
  .footer-brand-row__meta{
    width:100%;
  }

  .footer-brand-row__meta .btn,
  .footer-brand-row__meta .btn-secondary{
    width:100%;
    text-align:center;
  }
}

.search-page-form{
  margin-top:20px;
  display:flex;
  gap:12px;
  align-items:center;
  max-width:760px;
}

.search-page-form input[type="search"]{
  flex:1 1 auto;
  min-width:0;
  border:1px solid var(--border-color, #E6EAF0);
  border-radius:16px;
  background:#fff;
  color:var(--ink, #0B1220);
  padding:14px 16px;
  font-size:15px;
  box-shadow:none;
}

.search-page-form input[type="search"]:focus{
  outline:none;
  border-color:rgba(3,126,243,.45);
  box-shadow:0 0 0 4px rgba(3,126,243,.12);
}

.search-results-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.search-results-list{
  display:grid;
  gap:18px;
}

.search-result-card{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.search-result-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 38px rgba(11,18,32,.09);
  border-color:rgba(3,126,243,.18);
}

.search-result-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.search-result-card__link{
  color:inherit;
  text-decoration:none;
}

.search-result-card__link:hover{
  color:#037EF3;
}

.search-empty-state{
  text-align:left;
}

@media (max-width: 767px){
  .search-page-form{
    flex-direction:column;
    align-items:stretch;
  }

  .search-page-form .btn{
    width:100%;
  }
}

html[data-theme="dark"] .search-page-form input[type="search"],
.theme-dark .search-page-form input[type="search"],
body.dark .search-page-form input[type="search"]{
  background:#101826;
  border-color:#243244;
  color:#F5F7FA;
}

html[data-theme="dark"] .search-page-form input[type="search"]:focus,
.theme-dark .search-page-form input[type="search"]:focus,
body.dark .search-page-form input[type="search"]:focus{
  border-color:rgba(3,126,243,.42);
  box-shadow:0 0 0 4px rgba(3,126,243,.14);
}


/* =========================
   Header spacing refinement
========================= */

.header-row{
  display:grid;
  grid-template-columns:auto auto minmax(0, 1fr);
  align-items:center;
  gap:18px;
}

.brand{
  margin-right:4px;
}

.nav--desktop{
  justify-content:flex-end;
  gap:10px;
  min-width:0;
  overflow:visible;
}

.nav--desktop > a,
.nav--desktop > .nav-dropdown,
.nav--desktop > .header-search,
.nav--desktop > .theme-toggle{
  flex:0 0 auto;
}

.nav--desktop > a,
.nav--desktop > .nav-dropdown > .nav-dropdown__toggle{
  height:42px;
  display:inline-flex;
  align-items:center;
}


.theme-toggle{
  margin-left:2px;
}

/* keep the desktop nav from feeling too stretched */
@media (min-width: 1101px){
  .site-header .container.header-row{
    max-width:1280px;
  }
}


/* =========================
   Header Search
========================= */

.header-search{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:42px;
  min-width:42px;
  height:42px;
  flex:0 0 42px;
  margin-left:6px;
  margin-right:2px;
  z-index:1200;
  transition:flex-basis .22s ease,width .22s ease,min-width .22s ease;
}

.header-search.is-open{
  min-width:340px;
  width:340px;
  flex:0 0 340px;
}

.header-search__toggle{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(255,255,255,.55);
  color:var(--ink);
  cursor:pointer;
  transition:
    transform .18s ease,
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease,
    opacity .18s ease;
  box-shadow:none;
}

.header-search__toggle:hover{
  transform:translateY(-1px);
  border-color:rgba(3,126,243,.34);
  box-shadow:0 8px 20px rgba(11,18,32,.08);
}

.header-search__toggle-icon{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.global-search{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface);
  box-shadow:0 10px 28px rgba(11,18,32,.12);
}

.global-search input{
  flex:1 1 auto;
  min-width:0;
  width:auto;
  height:36px;
  padding:0 14px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-size:14px;
  box-shadow:none;
}

.global-search input::placeholder{
  color:var(--slate);
  opacity:.8;
}

.global-search input:focus{
  outline:none;
  box-shadow:none;
  border:0;
}

.global-search__btn{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--primary),#1a8cff);
  color:#fff;
  cursor:pointer;
  box-shadow:none;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}

.global-search__btn:hover{
  transform:none;
  box-shadow:none;
}

.global-search__icon{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.global-search--desktop{
  position:absolute;
  top:50%;
  right:0;
  transform:translateY(-50%);
  width:340px;
  max-width:340px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  overflow:visible;
  z-index:1201;
}

.header-search.is-open .global-search--desktop{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.header-search.is-open .header-search__toggle{
  opacity:0;
  pointer-events:none;
  transform:scale(.96);
}

.global-search--mobile{
  margin:0 0 18px;
  position:relative;
  top:auto;
  right:auto;
  transform:none;
  width:100%;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  overflow:visible;
  box-shadow:none;
}

.header-search__suggestions{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:100%;
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 18px 40px rgba(11,18,32,.14);
  z-index:1300;
}

.header-search__suggestions[hidden]{
  display:none !important;
}

.header-search__suggestion{
  display:block;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid transparent;
  background:rgba(3,126,243,.04);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}

.header-search__suggestion:hover,
.header-search__suggestion.is-active{
  background:rgba(3,126,243,.08);
  border-color:rgba(3,126,243,.18);
  transform:translateY(-1px);
}

.header-search__suggestion-title{
  display:block;
  font-size:14px;
  font-weight:800;
  color:var(--ink);
  line-height:1.35;
}

.header-search__suggestion-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:4px;
}

.header-search__suggestion-type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  background:rgba(3,126,243,.10);
  color:var(--primary);
}

.header-search__suggestion-excerpt{
  display:block;
  margin-top:6px;
  font-size:12px;
  line-height:1.5;
  color:var(--slate);
}

.global-search--mobile .header-search__suggestions{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  width:auto;
}

@media (max-width:1100px){
  .header-search,
  .header-search--desktop{
    display:none;
  }
}

.theme-dark .header-search__toggle,
html:not(.theme-light) .header-search__toggle{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.10);
  color:#F5F7FA;
}

.theme-dark .global-search,
html:not(.theme-light) .global-search{
  background:rgba(17,24,39,.96);
  border-color:rgba(255,255,255,.10);
  box-shadow:0 18px 40px rgba(0,0,0,.34);
}

.theme-dark .global-search input,
html:not(.theme-light) .global-search input{
  color:#F5F7FA;
}

.theme-dark .global-search input::placeholder,
html:not(.theme-light) .global-search input::placeholder{
  color:rgba(255,255,255,.48);
}

.theme-dark .header-search__suggestions,
html:not(.theme-light) .header-search__suggestions{
  background:#101826;
  border-color:rgba(255,255,255,.10);
  box-shadow:0 20px 44px rgba(0,0,0,.34);
}

.theme-dark .header-search__suggestion,
html:not(.theme-light) .header-search__suggestion{
  background:rgba(255,255,255,.04);
}

.theme-dark .header-search__suggestion:hover,
.theme-dark .header-search__suggestion.is-active,
html:not(.theme-light) .header-search__suggestion:hover,
html:not(.theme-light) .header-search__suggestion.is-active{
  background:rgba(3,126,243,.12);
  border-color:rgba(3,126,243,.22);
}

.theme-dark .header-search__suggestion-title,
html:not(.theme-light) .header-search__suggestion-title{
  color:#F5F7FA;
}

.theme-dark .header-search__suggestion-excerpt,
html:not(.theme-light) .header-search__suggestion-excerpt{
  color:rgba(255,255,255,.66);
}

/* =========================
   Week 1 Conversion Layer
========================= */

.floating-request-btn{
  position:fixed;
  right:20px;
  bottom:88px;
  z-index:1400;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:0 18px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--primary),#1a8cff);
  color:#fff;
  font-weight:800;
  box-shadow:0 18px 42px rgba(3,126,243,.28);
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}

.floating-request-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 50px rgba(3,126,243,.34);
}

.floating-request-btn__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-size:18px;
  line-height:1;
  flex:0 0 28px;
}

.floating-request-btn__text{
  white-space:nowrap;
}

.cta-strip{
  position:sticky;
  bottom:0;
  z-index:1300;
  width:100%;
  background:linear-gradient(135deg,#037EF3,#025ec2);
  box-shadow:0 -8px 24px rgba(0,0,0,0.25);
}

.cta-strip__inner{
  max-width:1400px;
  margin:0 auto;
  padding:16px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.cta-strip__content{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.cta-strip__title{
  font-weight:700;
  font-size:16px;
  color:#fff;
}

.cta-strip__text{
  font-size:13px;
  color:rgba(255,255,255,.86);
}

.cta-strip__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

.cta-strip .btn{
  background:#fff;
  color:#037EF3;
  box-shadow:none;
}

.cta-strip .btn-secondary{
  background:transparent;
  border-color:rgba(255,255,255,.5);
  color:#fff;
}

.cta-strip__close{
  appearance:none;
  border:0;
  background:transparent;
  color:#fff;
  font-size:18px;
  line-height:1;
  opacity:.75;
  cursor:pointer;
}

.cta-strip__close:hover{
  opacity:1;
}

.support-banner{
  border-left:4px solid #037EF3;
  background:#f5f9ff;
}

.support-banner .kicker,
.support-banner .h3,
.support-banner .p{
  color:#0B1220;
}

@media (max-width:768px){
  .cta-strip__inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .cta-strip__actions{
    width:100%;
    flex-wrap:wrap;
  }

  .cta-strip__actions .btn,
  .cta-strip__actions .btn-secondary{
    flex:1 1 0;
    text-align:center;
    justify-content:center;
  }

  .floating-request-btn{
    right:16px;
    left:16px;
    bottom:84px;
    justify-content:center;
  }
}

.theme-dark .support-banner,
html:not(.theme-light) .support-banner{
  background:rgba(3,126,243,.12);
  border-left-color:#5aa9ff;
}

.theme-dark .support-banner .kicker,
.theme-dark .support-banner .h3,
.theme-dark .support-banner .p,
html:not(.theme-light) .support-banner .kicker,
html:not(.theme-light) .support-banner .h3,
html:not(.theme-light) .support-banner .p{
  color:#F5F7FA;
}

/* =========================
   Header conversion bar
========================= */

.header-conversion-bar{
  border-bottom:1px solid var(--border);
  background:
    linear-gradient(135deg, rgba(3,126,243,.08), rgba(255,221,0,.06));
}

.header-conversion-bar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px 0;
  flex-wrap:wrap;
}

.header-conversion-bar__content{
  min-width:0;
  flex:1 1 520px;
}

.header-conversion-bar__eyebrow{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--primary);
  margin-bottom:4px;
}

.header-conversion-bar__title{
  font-size:15px;
  font-weight:800;
  line-height:1.35;
  color:var(--ink);
}

.header-conversion-bar__text{
  margin-top:2px;
  font-size:13px;
  line-height:1.55;
  color:var(--slate);
}

.header-conversion-bar__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  flex-wrap:wrap;
}

.header-conversion-bar .btn,
.header-conversion-bar .btn-secondary{
  white-space:nowrap;
}

.theme-dark .header-conversion-bar,
html:not(.theme-light) .header-conversion-bar{
  border-bottom-color:rgba(255,255,255,.10);
  background:
    linear-gradient(135deg, rgba(3,126,243,.16), rgba(255,221,0,.06));
}

.theme-dark .header-conversion-bar__title,
html:not(.theme-light) .header-conversion-bar__title{
  color:#F5F7FA;
}

.theme-dark .header-conversion-bar__text,
html:not(.theme-light) .header-conversion-bar__text{
  color:rgba(255,255,255,.72);
}

@media (max-width:900px){
  .header-conversion-bar__inner{
    align-items:flex-start;
  }

  .header-conversion-bar__actions{
    width:100%;
  }

  .header-conversion-bar .btn,
  .header-conversion-bar .btn-secondary{
    flex:1 1 180px;
    text-align:center;
    justify-content:center;
  }
}

@media (max-width:640px){
  .header-conversion-bar__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .header-conversion-bar .btn,
  .header-conversion-bar .btn-secondary{
    width:100%;
  }
}