/*
Theme Name: KairosMSP
Theme URI: https://kairosmsp.com
Author: KairosMSP
Author URI: https://kairosmsp.com
Description: Custom WordPress theme for KairosMSP — Managed IT Services, North Georgia.
Version: 1.0.0
License: Proprietary
Text Domain: kairosmsp
*/

:root {
  --tx-xs: clamp(.75rem, .7rem + .25vw, .875rem);
  --tx-sm: clamp(.875rem, .8rem + .35vw, 1rem);
  --tx-base: clamp(1rem, .95rem + .25vw, 1.125rem);
  --tx-lg: clamp(1.125rem, 1rem + .75vw, 1.5rem);
  --tx-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --tx-2xl: clamp(2rem, 1rem + 3vw, 3.75rem);
  --tx-hero: clamp(3rem, .5rem + 8vw, 7rem);

  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;
  --s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;
  --s20:5rem;--s24:6rem;

  --bg:#f4f6fa;
  --surface:#ffffff;
  --surf2:#edf1f8;
  --surfoff:#e2e9f3;
  --border:rgba(10,44,86,.09);
  --divider:rgba(10,44,86,.06);
  --text:#060f22;
  --muted:#4a607c;
  --faint:#7f96b3;
  --navy:#0b3872;
  --navy-dk:#061e43;
  --navy-lt:#1550a0;
  --orange:#ef7b1a;
  --orange-h:#d9680d;
  --orange-dim:rgba(239,123,26,.15);
  --success:#2a7241;

  --r-xs:2px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;

  --shadow-sm:0 1px 4px rgba(6,15,34,.06),0 4px 12px rgba(6,15,34,.04);
  --shadow-md:0 4px 16px rgba(6,15,34,.08),0 12px 32px rgba(6,15,34,.06);
  --shadow-lg:0 8px 24px rgba(6,15,34,.10),0 24px 56px rgba(6,15,34,.10);

  --ease:cubic-bezier(.16,1,.3,1);
  --ti:200ms cubic-bezier(.16,1,.3,1);
  --w:1140px;
  --font-d:'Satoshi',Inter,sans-serif;
  --font-b:'General Sans',Inter,sans-serif;

  --logo-text:var(--text);
  --logo-stop:var(--orange);
  --logo-check:var(--navy);
  --logo-div:var(--orange);
  --logo-msp:var(--text);
  --hdr-nav:var(--muted);
}

[data-theme="dark"] {
  --bg:#06101f;
  --surface:#0b1a30;
  --surf2:#0f2040;
  --surfoff:#132647;
  --border:rgba(255,255,255,.08);
  --divider:rgba(255,255,255,.06);
  --text:#e4eeff;
  --muted:#8fabc8;
  --faint:#4d6a89;
  --shadow-sm:0 1px 4px rgba(0,0,0,.25),0 4px 12px rgba(0,0,0,.2);
  --shadow-md:0 4px 16px rgba(0,0,0,.3),0 12px 32px rgba(0,0,0,.25);
  --shadow-lg:0 8px 24px rgba(0,0,0,.35),0 24px 56px rgba(0,0,0,.35);
  --logo-check:var(--orange);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --bg:#06101f;
    --surface:#0b1a30;
    --surf2:#0f2040;
    --surfoff:#132647;
    --border:rgba(255,255,255,.08);
    --divider:rgba(255,255,255,.06);
    --text:#e4eeff;
    --muted:#8fabc8;
    --faint:#4d6a89;
    --logo-check:var(--orange);
  }
}

.site-header.scrolled {
  --logo-text:#fff;
  --logo-stop:var(--navy-dk);
  --logo-check:#fff;
  --logo-div:rgba(255,255,255,.55);
  --logo-msp:#fff;
  --hdr-nav:rgba(255,255,255,.92);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-padding-top:5rem}
body{min-height:100dvh;font-family:var(--font-b);font-size:var(--tx-base);line-height:1.65;background:var(--bg);color:var(--text);overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:var(--r-sm)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.container{width:min(calc(100% - 2.5rem),var(--w));margin-inline:auto}
.section{padding-block:clamp(var(--s16),9vw,var(--s24))}
.band-navy{background:var(--navy-dk);color:#fff;position:relative;overflow:hidden}
.band-navy .container{position:relative;z-index:1}
.band-navy::after{
  content:'';
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  opacity:.03
}
.band-surface{background:var(--surface)}
.band-bg{background:var(--bg)}

.eyebrow{display:inline-flex;align-items:center;gap:var(--s3);font-size:var(--tx-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.eyebrow::before{content:'';width:1.5rem;height:2px;background:currentColor;flex-shrink:0}
.section-title{font-family:var(--font-d);font-size:var(--tx-2xl);line-height:1.0;letter-spacing:-.045em;font-weight:900}
.section-sub{margin-top:var(--s4);color:var(--muted);max-width:60ch;line-height:1.75}

.site-header{position:sticky;top:0;z-index:50;overflow:visible}
.hdr-bg{
  position:absolute;inset:0;
  background:color-mix(in srgb,var(--bg) 84%,transparent);
  backdrop-filter:blur(22px);
  border-bottom:1px solid var(--divider);
  transition:background 450ms var(--ease),box-shadow 450ms var(--ease),border-color 450ms var(--ease)
}
.site-header.scrolled .hdr-bg{
  background:var(--orange);
  border-color:transparent;
  box-shadow:0 4px 28px rgba(239,123,26,.32)
}

.hdr-inner{
  position:relative;
  z-index:1;
  min-height:4.75rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s4);
  overflow:visible;
}

.brand{display:inline-flex;align-items:center;min-height:44px;flex:0 0 auto}
.brand-svg{width:min(256px,42vw);height:auto}
.logo-wordmark{fill:var(--logo-text);transition:fill 360ms var(--ease)}
.logo-stop{stroke:var(--logo-stop);transition:stroke 360ms var(--ease)}
.logo-check{stroke:var(--logo-check);transition:stroke 360ms var(--ease)}
.logo-div{fill:var(--logo-div);transition:fill 360ms var(--ease)}
.logo-msp{fill:var(--logo-msp);transition:fill 360ms var(--ease)}

.hdr-nav{
  display:none;
  align-items:center;
  gap:var(--s2);
  margin-left:auto;
  color:var(--hdr-nav);
  position:relative;
  flex:1 1 auto;
  justify-content:flex-end;
  overflow:visible;
}

.hdr-nav > a,
.hdr-dd-toggle{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 var(--s3);
  border-radius:var(--r-sm);
  font-size:var(--tx-sm);
  font-weight:700;
  white-space:nowrap;
  transition:opacity var(--ti),color var(--ti),background var(--ti);
}

.hdr-nav > a:hover,
.hdr-dd-toggle:hover{opacity:.7}

.hdr-nav > a[aria-current="page"]{color:var(--orange)}

.hdr-dd-toggle{
  gap:6px;
  color:var(--hdr-nav);
}

.hdr-dd-toggle.is-open,
.hdr-dd-toggle[aria-expanded="true"]{
  color:var(--orange);
}

.hdr-dd-caret{
  display:inline-block;
  width:0;height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid currentColor;
  transition:transform 200ms var(--ease);
}

.hdr-dd-toggle.is-open .hdr-dd-caret,
.hdr-dd-toggle[aria-expanded="true"] .hdr-dd-caret{
  transform:rotate(180deg);
}

.site-header.scrolled .hdr-nav > a,
.site-header.scrolled .hdr-dd-toggle{
  color:rgba(255,255,255,.92);
}

.site-header.scrolled .hdr-dd-toggle.is-open,
.site-header.scrolled .hdr-dd-toggle[aria-expanded="true"]{
  color:#fff;
}

.hdr-desktop-dropdown{
  position:fixed;
  z-index:10000;
}

.hdr-desktop-dropdown[hidden]{
  display:none !important;
}

.hdr-desktop-dropdown-inner{
  min-width:280px;
  padding:10px;
  background:#e9edf4;
  border:1px solid rgba(10,44,86,.08);
  border-radius:12px;
  box-shadow:0 14px 34px rgba(6,15,34,.14);
}

.hdr-desktop-dropdown-inner a{
  display:block;
  padding:12px 14px;
  border-radius:8px;
  color:var(--text);
  font-size:var(--tx-sm);
  font-weight:700;
  line-height:1.35;
  white-space:nowrap;
}

.hdr-desktop-dropdown-inner a:hover{
  background:#dde5f0;
  color:var(--orange);
}

.hdr-actions{
  display:flex;
  align-items:center;
  gap:var(--s3);
  flex:0 0 auto;
}

.theme-btn{
  width:42px;height:42px;
  border-radius:var(--r-sm);
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  display:grid;place-items:center;
  transition:background var(--ti),border-color var(--ti),color var(--ti),transform var(--ti)
}
.theme-btn:hover{transform:rotate(18deg)}

.site-header.scrolled .theme-btn{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.25);
  color:#fff
}

.hdr-burger{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:44px;
  height:44px;
  padding:var(--s2);
  border-radius:var(--r-sm);
  border:1px solid var(--border);
  background:var(--surface);
  transition:background var(--ti),border-color var(--ti)
}

.hdr-burger span{
  display:block;
  width:20px;
  height:2px;
  background:var(--text);
  border-radius:2px;
  transition:transform 300ms var(--ease),opacity 200ms,background 360ms var(--ease)
}

.hdr-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hdr-burger.is-open span:nth-child(2){opacity:0}
.hdr-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.site-header.scrolled .hdr-burger{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.25)
}
.site-header.scrolled .hdr-burger span{background:#fff}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--s2);
  min-height:44px;
  padding:.75rem 1.35rem;
  border-radius:var(--r-sm);
  font-size:var(--tx-sm);
  font-weight:700;
  letter-spacing:.025em;
  transition:background var(--ti),color var(--ti),border-color var(--ti),transform var(--ti),box-shadow var(--ti);
  white-space:nowrap
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn:active{transform:none;box-shadow:none}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-h)}
.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}
.btn-secondary:hover{border-color:var(--orange);color:var(--orange)}
.btn-outline{border:1.5px solid rgba(255,255,255,.3);color:#fff;background:transparent}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7)}
.btn-ghost-hero{border:1.5px solid rgba(255,255,255,.3);color:#fff;background:transparent}
.btn-ghost-hero:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7)}
.site-header.scrolled .btn-secondary{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25);color:#fff}
.site-header.scrolled .btn-primary{background:var(--navy-dk);box-shadow:none}
.site-header.scrolled .btn-primary:hover{background:var(--navy)}

.hdr-mobile-overlay{
  position:fixed;
  inset:0;
  z-index:199;
  background:rgba(6,15,34,.5);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 300ms var(--ease),visibility 300ms var(--ease);
}

.hdr-mobile-overlay.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.hdr-mobile-menu{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  width:min(340px,90vw);
  background:var(--surface);
  box-shadow:var(--shadow-lg);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  z-index:200;
  visibility:hidden;
  transform:translateX(100%);
  transition:transform 340ms var(--ease),visibility 340ms var(--ease);
}

.hdr-mobile-menu.is-open{
  visibility:visible;
  transform:translateX(0);
}

.hdr-mobile-menu-inner{
  display:flex;
  flex-direction:column;
  padding:var(--s16) var(--s6) var(--s8);
}

.hdr-mobile-menu-inner > a{
  display:block;
  padding:var(--s3) 0;
  font-size:var(--tx-base);
  font-weight:700;
  color:var(--text);
  border-bottom:1px solid var(--divider);
  transition:color var(--ti);
}

.hdr-mobile-menu-inner > a:hover{color:var(--orange)}
.hdr-mobile-menu-inner > a[aria-current="page"]{color:var(--orange)}

.hdr-mobile-dd{border-bottom:1px solid var(--divider)}

.hdr-mobile-dd summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--s3) 0;
  font-size:var(--tx-base);
  font-weight:700;
  color:var(--text);
  cursor:pointer;
  list-style:none;
  transition:color var(--ti);
}

.hdr-mobile-dd summary::-webkit-details-marker{display:none}

.hdr-mobile-dd summary::after{
  content:'';
  display:inline-block;
  width:0;height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid currentColor;
  transition:transform 200ms var(--ease);
}

.hdr-mobile-dd[open] summary{color:var(--orange)}
.hdr-mobile-dd[open] summary::after{transform:rotate(180deg)}

.hdr-mobile-submenu{
  display:flex;
  flex-direction:column;
  padding:var(--s2) 0 var(--s3) var(--s4);
}

.hdr-mobile-submenu a{
  display:block;
  padding:var(--s2) 0;
  font-size:var(--tx-sm);
  font-weight:600;
  color:var(--muted);
  transition:color var(--ti);
}

.hdr-mobile-submenu a:hover{color:var(--orange)}
.hdr-mobile-submenu a[aria-current="page"]{color:var(--orange)}

.hdr-mobile-actions{
  display:flex;
  flex-direction:column;
  gap:var(--s3);
  margin-top:var(--s8);
}

.hdr-mobile-actions .btn{
  width:100%;
  justify-content:center;
}

.page-hero{background:var(--navy-dk);color:#fff;padding-block:clamp(var(--s16),10vw,var(--s24));position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 50%,rgba(239,123,26,.12),transparent 65%)}
.page-hero .eyebrow{color:rgba(255,255,255,.5)}
.page-hero .eyebrow::before{background:rgba(255,255,255,.3)}
.page-hero h1{font-family:var(--font-d);font-size:var(--tx-2xl);line-height:1.05;letter-spacing:-.045em;font-weight:900;margin-top:var(--s4);max-width:18ch}
.page-hero h1 span{color:var(--orange)}
.page-hero p{margin-top:var(--s4);color:rgba(255,255,255,.7);max-width:56ch;line-height:1.75;font-size:var(--tx-lg)}
.page-hero-ctas{margin-top:var(--s8);display:flex;flex-wrap:wrap;gap:var(--s3)}

.site-footer{background:var(--navy-dk);padding-block:var(--s12);color:#fff}
.footer-layout{display:grid;gap:var(--s6)}
.footer-tagline{color:rgba(255,255,255,.45);font-size:var(--tx-sm);margin-top:var(--s3);max-width:48ch}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s5);font-size:var(--tx-sm);color:rgba(255,255,255,.45)}
.footer-links a:hover{color:var(--orange)}
.footer-copy{color:rgba(255,255,255,.28);font-size:var(--tx-sm)}

.float-call{
  position:fixed;
  right:1.25rem;
  bottom:1.25rem;
  z-index:40;
  border-radius:var(--r-sm);
  box-shadow:0 8px 28px rgba(239,123,26,.4);
  transform:translateY(100px);
  opacity:0;
  transition:transform 480ms var(--ease),opacity 480ms var(--ease),box-shadow var(--ti)
}
.float-call.show{transform:translateY(0);opacity:1}
.float-call:hover{box-shadow:0 14px 36px rgba(239,123,26,.6)}

.reveal{opacity:0;transform:translateY(14px);transition:opacity 580ms var(--ease),transform 580ms var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
.d1{transition-delay:80ms}.d2{transition-delay:160ms}.d3{transition-delay:240ms}

@media (min-width:768px){
  .hdr-nav{display:flex}
  .hdr-burger{display:none}
  .hdr-mobile-menu,
  .hdr-mobile-overlay{display:none !important}
  .footer-layout{grid-template-columns:1fr auto;align-items:end}
}

@media (max-width:767px){
  .hdr-actions .btn-secondary,
  .hdr-actions .hdr-cta{display:none}
}

/* FORCE desktop dropdown panel */
#hdr-desktop-dropdown{
  position:fixed !important;
  z-index:10000 !important;
}

#hdr-desktop-dropdown[hidden]{
  display:none !important;
}

#hdr-desktop-dropdown .hdr-desktop-dropdown-inner{
  display:block !important;
  min-width:280px !important;
  padding:10px !important;
  background:#e9edf4 !important;
  border:1px solid rgba(10,44,86,.08) !important;
  border-radius:12px !important;
  box-shadow:0 14px 34px rgba(6,15,34,.14) !important;
}

#hdr-desktop-dropdown .hdr-desktop-dropdown-inner a{
  display:block !important;
  width:100% !important;
  padding:12px 14px !important;
  border-radius:8px !important;
  color:var(--text) !important;
  font-size:var(--tx-sm) !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  white-space:nowrap !important;
}

#hdr-desktop-dropdown .hdr-desktop-dropdown-inner a:hover{
  background:#dde5f0 !important;
  color:var(--orange) !important;
}

/* patch */

.site-header,
.site-header .hdr-inner,
.site-header .hdr-nav,
.site-header .hdr-actions,
.site-header .brand,
.site-header .hdr-nav > a,
.site-header .hdr-dd-toggle,
.site-header .hdr-dd-toggle * {
  pointer-events: auto !important;
}

.site-header .hdr-bg {
  pointer-events: none !important;
}

.site-header .hdr-nav {
  position: relative !important;
  z-index: 1005 !important;
}

.site-header .hdr-nav > a,
.site-header .hdr-dd-toggle {
  position: relative !important;
  z-index: 1006 !important;
}

.site-header .hdr-actions {
  position: relative !important;
  z-index: 1006 !important;
}

.site-header .brand {
  position: relative !important;
  z-index: 1006 !important;
}

/* ─── Footer ─────────────────────────────────────────────────────────── */
.site-footer {
  background: #061e43 !important;
  color: rgba(255,255,255,.75) !important;
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 1.75rem 0 0 !important;
}

.site-footer,
.site-footer * {
  color-scheme: dark;
}

.footer-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: start;
}

@media (min-width: 768px) {
  .footer-layout {
    grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr);
    gap: 1.75rem 2.5rem;
  }
}

.footer-brand {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.footer-tagline {
  margin: 0;
  max-width: 34ch;
  font-size: .875rem;
  line-height: 1.5;
  color: rgba(255,255,255,.5) !important;
}

.footer-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 1.25rem;
}

@media (min-width: 1100px) {
  .footer-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem 1.5rem;
  }
}

.footer-nav-col {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  min-width: 0;
}

.footer-nav-heading {
  margin: 0 0 .35rem;
  font-size: .68rem;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #ef7b1a !important;
}

.footer-nav a {
  font-size: .84rem;
  line-height: 1.32;
  color: rgba(255,255,255,.58) !important;
  text-decoration: none;
  transition: color .18s ease;
}

.footer-nav a:hover {
  color: #ffffff !important;
}

.footer-bottom {
  margin-top: 1.25rem;
  padding: .85rem 0;
  border-top: 1px solid rgba(255,255,255,.07);
  background: #061e43 !important;
}

.footer-copy {
  margin: 0;
  font-size: .78rem;
  line-height: 1.35;
  color: rgba(255,255,255,.32) !important;
  text-align: center;
}
