/* =========================
   HEADER
   ========================= */

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.96);
  backdrop-filterblur(12px);
  box-shadow:0 8px 24px rgba(15,23,42,.08);
}

.site-header .header-inner{Ffooter
  width:min(1280px, calc(100% - 1.25rem));
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:78px;
  padding:14px 0;
  position:relative;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(15,23,42,.08);
}

.branding{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  margin-right:auto;
}

.branding .custom-logo-link{
  display:inline-flex;
  align-items:center;
  margin:0;
}

.branding .custom-logo,
.branding img{
  display:block;
  width:auto;
  max-height:58px;
}

.site-title{
  text-decoration:none;
  font-size:1.3rem;
  font-weight:700;
  color:var(--text);
}
/* =========================
   TOP BAR
   ========================= */

.top-bar{
  background:#24364d;
  color:#ffffff;
  font-size:14px;
}

.top-bar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:10px 0;
  flex-wrap:wrap;
}

.top-bar a{
  color:#fff;
  text-decoration:none;
}

.top-bar-left{
  display:flex;
  align-items:center;
  gap:0;
  flex:1 1 auto;
  flex-wrap:wrap;
  min-width:0;
}

.top-bar-left .top-bar-item{
  color:#ffffff;
  text-decoration:none;
  line-height:1.4;
  padding:0 14px;
  position:relative;
}

.top-bar-left .top-bar-message{
  padding-left:0;
  margin-left:-10px;
}

.top-bar-left .top-bar-item + .top-bar-item::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:18px;
  background:rgba(255,255,255,.35);
}

.top-bar-right{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.top-bar-follow-label{
  color:#ffffff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  white-space:nowrap;
}

.top-bar-actions{
  display:flex;
  gap:1rem;
  align-items:center;
  flex-wrap:wrap;
}
/* =========================
   SOCIAL ICONS
   ========================= */

.social-links{
  display:flex;
  align-items:center;
  gap:10px;
}

.social-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  text-decoration:none;
  transition:all .2s ease;
}

.social-links a:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.55);
}

.social-icon{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.social-icon svg{
  width:16px;
  height:16px;
  display:block;
  fill:#ffffff;
}

.social-links--footer{
  margin-top:12px;
}
/* =========================
   MENU
   ========================= */

.primary-navigation{
  margin-left:auto;
  flex:1 1 auto;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}

.primary-navigation .menu,
.primary-navigation .menu ul{
  list-style:none;
  margin:0;
  padding:0;
}

.primary-navigation .menu{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  width:100%;
}

.primary-navigation .menu > li{
  position:relative;
  margin:0;
  padding:0;
}

.primary-navigation .menu > li > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  background:rgba(255,255,255,.96);
  color:#0f172a;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
  line-height:1;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
  transition:all .2s ease;
}

.primary-navigation .menu > li:hover > a,
.primary-navigation .menu > li.menu-open > a,
.primary-navigation .menu > li.focus > a,
.primary-navigation .menu > li.current-menu-item > a,
.primary-navigation .menu > li.current-menu-ancestor > a{
  background:#ffffff;
  color:#1b66d1;
  border-color:rgba(27,102,209,.18);
  box-shadow:0 10px 24px rgba(15,23,42,.10);
}

.primary-navigation .menu-item-has-children > a:after{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  margin-left:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  vertical-align:middle;
}

.primary-navigation .sub-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:240px;
  background:#ffffff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  box-shadow:0 18px 40px rgba(15,23,42,.12);
  padding:10px 0;
  display:none;
  z-index:1000;
}

.primary-navigation li:hover > .sub-menu,
.primary-navigation li.menu-open > .sub-menu,
.primary-navigation li.focus > .sub-menu{
  display:block;
}

.primary-navigation .sub-menu li{
  position:relative;
  list-style:none;
}

.primary-navigation .sub-menu a{
  display:block;
  padding:12px 14px;
  border-radius:12px;
  text-decoration:none;
  color:#0f172a;
  white-space:nowrap;
}

.primary-navigation .sub-menu a:hover,
.primary-navigation .sub-menu li:hover > a,
.primary-navigation .sub-menu li.menu-open > a,
.primary-navigation .sub-menu li.focus > a{
  background:#f8fafc;
  color:#1d4ed8;
}

.primary-navigation .sub-menu .sub-menu{
  top:0;
  left:100%;
  margin-left:12px;
}

.primary-navigation .menu > li:last-child > .sub-menu,
.primary-navigation .menu > li:nth-last-child(2) > .sub-menu{
  left:auto;
  right:0;
}

.primary-navigation .menu > li:last-child > .sub-menu .sub-menu,
.primary-navigation .menu > li:nth-last-child(2) > .sub-menu .sub-menu{
  left:auto;
  right:100%;
  margin-left:0;
  margin-right:12px;
}

.site-header .menu-item-has-children{
  position:relative;
}

.site-header .menu-item-has-children > .sub-menu{
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  pointer-events:none;
}

.site-header .menu-item-has-children.is-open > .sub-menu,
.site-header .menu-item-has-children:hover > .sub-menu,
.site-header .menu-item-has-children:focus-within > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

.menu-toggle{
  display:none;
}
/* =========================
   SECTION / HERO
   ========================= */

.section{
  padding:88px 0;
}

.hero-home{
  background:
    radial-gradient(circle at top right, rgba(27,102,209,.12), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
  padding:96px 0 86px;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:2rem;
  align-items:stretch;
}

.eyebrow{
  display:inline-block;
  font-size:.82rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--brand);
  margin-bottom:1rem;
}

.hero-home h1,
.entry-title{
  font-size:clamp(2.2rem, 5vw, 4rem);
  line-height:1.06;
  margin:0 0 1rem;
}

.hero-home h1{
  max-width:12ch;
}

.hero-home p{
  font-size:1.05rem;
  color:var(--muted);
  max-width:62ch;
}

.button-row{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.5rem;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 1.4rem;
  border-radius:999px;
  background:var(--brand);
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

.button-secondary{
  background:#fff;
  color:var(--text);
  border:1px solid var(--line);
}

.trust-mini-row{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:1.3rem;
}

.trust-mini-row span{
  padding:.55rem .85rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:.9rem;
  color:var(--muted);
}
/* =========================
   GENERIC SURFACES
   ========================= */

.hero-card,
.card,
.feature,
.content-card,
.cyber-card{
  background:var(--surface);
  border:1px solid rgba(217,226,236,.8);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.hero-panel,
.content-card{
  padding:2rem;
}

.check-list{
  margin:1rem 0 0;
  padding-left:1.1rem;
}

.check-list li + li{
  margin-top:.75rem;
}

.trust-band{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:2rem;
  align-items:start;
}

.trust-band p{
  color:var(--muted);
}

.muted{
  background:var(--bg);
}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:2rem;
  margin-bottom:2rem;
}

.section-head h2{
  margin:0;
  max-width:16ch;
}

.text-link{
  color:var(--brand);
  font-weight:700;
  text-decoration:none;
}

.text-link::after{
  content:"→";
  transition:transform .2s ease;
}

.text-link:hover::after{
  transform:translateX(4px);
}
/* =========================
   UNIVERSAL CARD GRID
   ========================= */

.cards-grid,
.card-grid,
.service-cards,
.posts-grid,
.cyber-card-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
  width:100%;
  align-items:stretch;
}

@supports not (display:grid){
  .cards-grid,
  .card-grid,
  .service-cards,
  .posts-grid,
  .cyber-card-grid{
    display:flex;
    flex-wrap:wrap;
    gap:24px;
  }

  .cards-grid > *,
  .card-grid > *,
  .service-cards > *,
  .posts-grid > *,
  .cyber-card-grid > *{
    width:calc(50% - 12px);
  }
}

.card,
.service-card,
.post-card,
.cyber-card,
article.card,
article.service-card,
article.post-card{
  width:100%;
  min-width:0;
  margin:0;
  box-sizing:border-box;
}

.card:not(.cyber-card),
.service-card,
.post-card,
article.card:not(.cyber-card),
article.service-card,
article.post-card{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:18px;
  padding:20px;
}

.card-media,
.card-image,
.card-thumb,
.service-card-image,
.post-card-image{
  flex:0 0 120px;
  width:120px;
  max-width:120px;
  min-width:120px;
}

.card-media img,
.card-image img,
.card-thumb img,
.service-card-image img,
.post-card-image img,
.card > img,
.service-card > img,
.post-card > img{
  display:block;
  width:120px;
  max-width:120px;
  height:120px;
  object-fit:cover;
  border-radius:12px;
}

.card-content,
.card-copy,
.service-card-copy,
.post-card-copy,
.card-body{
  flex:1 1 auto;
  min-width:0;
}

.card-content h3,
.card-copy h3,
.service-card-copy h3,
.post-card-copy h3,
.card-body h3,
.card h3{
  margin:0 0 10px;
  line-height:1.2;
  font-size:1.35rem;
}

.card-content p,
.card-copy p,
.service-card-copy p,
.post-card-copy p,
.card-body p,
.card p,
.entry-content,
.archive-description,
.entry-meta{
  margin:0 0 12px;
  line-height:1.55;
  color:var(--muted);
}

.card > :not(img),
.service-card > :not(img),
.post-card > :not(img){
  min-width:0;
}

.premium-service-card a,
.premium-post-card a,
.service-card a,
.post-card a{
  color:var(--brand);
  font-weight:700;
  text-decoration:none;
}
/* =========================
   FEATURE / SPLIT SECTIONS
   ========================= */

.split-section{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:2rem;
  align-items:start;
}

.stats-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  margin-top:1.5rem;
}

.stat{
  background:#f8fbff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:1rem;
}

.stat strong{
  display:block;
  margin-bottom:.3rem;
}

.stat span{
  color:var(--muted);
  font-size:.95rem;
}

.quote-card{
  padding:1.8rem;
}

.dark{
  background:linear-gradient(135deg, #0e1727 0%, #16243b 100%);
  color:#fff;
}

.dark .eyebrow{
  color:#8ec5ff;
}

.dark p,
.dark h2,
.dark h3{
  color:#fff;
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
  margin-top:2rem;
}

.feature{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  padding:1.25rem;
  box-shadow:none;
}
/* =========================
   PAGE / POST LAYOUT
   ========================= */

.page-shell{
  padding:48px 0 88px;
}

.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-bottom:1.2rem;
  font-size:.95rem;
  color:var(--muted);
}

.breadcrumbs a{
  text-decoration:none;
}

.entry-header{
  margin-bottom:1.5rem;
}

.entry-meta{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  font-size:.95rem;
  margin:0 0 .5rem;
}

.featured-image{
  margin:1.2rem 0 0;
  overflow:hidden;
  border-radius:16px;
}

.pagination-wrap{
  margin-top:2rem;
}
/* =========================
   SOCIAL MEDIA PAGE
   ========================= */

.hero-social{
  padding:88px 0 80px;
}

.hero-social .hero-content{
  max-width:760px;
}

.hero-social h1{
  max-width:14ch;
}

.hero-social p{
  max-width:62ch;
}

.social-section-head{
  margin-bottom:1.25rem;
}

.social-intro-copy{
  margin-bottom:2rem;
}

.social-card-grid{
  margin-top:1rem;
}

.social-card{
  text-decoration:none;
}

.social-card .card-content h3,
.social-link-card .card-content h3{
  margin-top:0;
}

.social-instagram-feed{
  border-top:1px solid rgba(217,226,236,.7);
  border-bottom:1px solid rgba(217,226,236,.7);
}

.social-feed-panel{
  padding:1.5rem;
  overflow:hidden;
}

.social-feed-panel iframe,
.social-feed-panel img,
.social-feed-panel video{
  max-width:100%;
}

.social-feed-panel .esf-container,
.social-feed-panel .easy-social-feed-container,
.social-feed-panel [class*="instagram"],
.social-feed-panel [class*="insta"]{
  width:100%;
  max-width:100%;
}

.social-links-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.social-link-card{
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.social-link-card:hover{
  transform:translateY(-3px);
  border-color:#c7d6e5;
  box-shadow:0 22px 42px rgba(15,23,42,.10);
}

.social-link-card .card-content{
  width:100%;
}

.social-cta-panel{
  padding:2rem;
}

.social-cta-panel h2{
  margin:0 0 1rem;
  font-size:clamp(1.9rem, 3vw, 2.7rem);
  line-height:1.1;
}

.social-cta-panel p:last-of-type{
  max-width:62ch;
  margin-bottom:0;
}

.social-cta-panel .button-row{
  margin-top:1.5rem;
}
/* =========================
   VOICE / NETWORK / CYBER HEROES
   ========================= */

.voice-cx-hero-full,
.network-hero-full{
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 34%),
    radial-gradient(circle at bottom right, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 30%),
    linear-gradient(135deg, #0f172a 0%, #1a2940 52%, #24364d 100%);
}

.voice-cx-hero-full::before,
.network-hero-full::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:40px 40px;
  opacity:.18;
  pointer-events:none;
}

.voice-cx-hero-full .container,
.network-hero-full .container{
  width:100%;
  position:relative;
  z-index:1;
}

.voice-cx-hero-full .hero-content,
.network-hero-full .hero-content{
  max-width:760px;
  margin:0 auto;
  text-align:center;
  padding:52px 20px;
}

.voice-cx-hero-full h1,
.voice-cx-hero-full p,
.network-hero-full h1,
.network-hero-full p{
  color:#ffffff;
}

.voice-cx-hero-full h1,
.network-hero-full h1{
  font-size:clamp(1.6rem, 3vw, 2.4rem);
  line-height:1.15;
  margin:0 0 12px;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}

.voice-cx-hero-full p,
.network-hero-full p{
  font-size:clamp(0.95rem, 1.2vw, 1.05rem);
  max-width:640px;
  margin:0 auto;
  text-shadow:0 2px 8px rgba(0,0,0,.22);
}

.voice-cx-hero-full .button-row,
.network-hero-full .hero-buttons{
  margin-top:20px;
  justify-content:center;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.voice-cx-hero-full .button{
  padding:10px 18px;
  font-size:0.95rem;
}

.hero-cyber,
.hero-cyber .hero-content,
.hero-cyber .eyebrow,
.hero-cyber h1,
.hero-cyber p,
.hero-cyber a,
.hero-network,
.hero-network .hero-content,
.hero-network .eyebrow,
.hero-network h1,
.hero-network p,
.hero-network a{
  color:#ffffff !important;
}

.hero-cyber .button-secondary,
.network-hero-full .btn-secondary{
  color:#ffffff !important;
  border-color:rgba(255,255,255,0.7) !important;
  background:transparent !important;
}

.section-intro{
  padding-top:32px;
  padding-bottom:20px;
}

.section-intro .section-heading{
  max-width:820px;
  margin:0 auto;
  text-align:center;
}

.section-intro .eyebrow{
  margin-bottom:8px;
  font-size:0.8rem;
}

.section-intro h2{
  font-size:clamp(1.35rem, 2.2vw, 2rem);
  line-height:1.2;
  margin-bottom:12px;
}

.section-intro p{
  font-size:clamp(0.95rem, 1.1vw, 1.02rem);
  margin:0 auto;
  max-width:700px;
}
/* =========================
   NETWORK CARDS + FLOW
   ========================= */

section.hero-network.network-hero-force-dark{
  background:#1b2d42 !important;
  background-image:none !important;
  color:#ffffff !important;
  min-height:260px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 !important;
}

section.hero-network.network-hero-force-dark::before,
section.hero-network.network-hero-force-dark::after{
  display:none !important;
  content:none !important;
}

section.hero-network.network-hero-force-dark .container{
  position:relative !important;
  z-index:2 !important;
}

section.hero-network.network-hero-force-dark .hero-content{
  max-width:760px !important;
  margin:0 auto !important;
  text-align:center !important;
  padding:52px 20px !important;
}

section.hero-network.network-hero-force-dark,
section.hero-network.network-hero-force-dark .hero-content,
section.hero-network.network-hero-force-dark .eyebrow,
section.hero-network.network-hero-force-dark h1,
section.hero-network.network-hero-force-dark p,
section.hero-network.network-hero-force-dark a{
  color:#ffffff !important;
}

section.hero-network.network-hero-force-dark .eyebrow{
  display:inline-block !important;
  margin:0 0 12px !important;
}

section.hero-network.network-hero-force-dark h1{
  margin:0 0 14px !important;
  font-size:clamp(1.9rem, 3vw, 2.8rem) !important;
  line-height:1.12 !important;
}

section.hero-network.network-hero-force-dark p{
  margin:0 auto !important;
  max-width:700px !important;
  font-size:1rem !important;
  line-height:1.7 !important;
}

section.hero-network.network-hero-force-dark .hero-buttons{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
  margin-top:22px !important;
}

section.hero-network.network-hero-force-dark .btn,
section.hero-network.network-hero-force-dark .button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:0 18px !important;
  text-decoration:none !important;
  border-radius:999px !important;
}

section.hero-network.network-hero-force-dark .btn-secondary{
  background:transparent !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.7) !important;
}

section.network-grid-section .network-card-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:28px !important;
  width:100% !important;
  align-items:stretch !important;
}

section.network-grid-section article.network-card{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:#ffffff !important;
  border:1px solid rgba(217,226,236,.85) !important;
  border-radius:20px !important;
  box-shadow:0 18px 40px rgba(15,23,42,.08) !important;
  overflow:hidden !important;
}

section.network-grid-section article.network-card .network-card-inner{
  display:grid !important;
  grid-template-columns:260px minmax(0, 1fr) !important;
  min-height:300px !important;
  height:100% !important;
  align-items:stretch !important;
  gap:0 !important;
  padding:0 !important;
}

section.network-grid-section article.network-card .network-card-media{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  background:#dbe5ef !important;
}

section.network-grid-section article.network-card .network-card-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:300px !important;
  object-fit:cover !important;
  object-position:center !important;
  border:0 !important;
  border-radius:0 !important;
}

section.network-grid-section article.network-card .network-card-body{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding:26px 28px !important;
  min-width:0 !important;
}

section.network-grid-section article.network-card .network-card-body h3{
  margin:0 0 10px !important;
  font-size:1.28rem !important;
  line-height:1.2 !important;
  color:#0f172a !important;
}

section.network-grid-section article.network-card .network-card-subheading{
  display:block !important;
  margin:0 0 14px !important;
  font-size:.95rem !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  color:#1d4ed8 !important;
}

section.network-grid-section article.network-card .network-card-body p{
  margin:0 !important;
  font-size:1rem !important;
  line-height:1.72 !important;
  color:#526072 !important;
}

.network-approach-flow{
  max-width:920px;
  margin:32px auto 0;
  display:grid;
  gap:22px;
}

.network-approach-step{
  display:grid;
  grid-template-columns:44px minmax(0, 1fr);
  gap:20px;
  align-items:stretch;
}

.network-approach-visual{
  position:relative;
  min-height:100%;
  display:block;
}

.network-approach-dot{
  display:block;
  position:relative;
  z-index:2;
  width:18px;
  height:18px;
  margin:8px auto 0;
  border-radius:50%;
  background:#1b66d1;
  border:4px solid rgba(27,102,209,.14);
}

.network-approach-line{
  display:block;
  position:absolute;
  top:28px;
  bottom:-22px;
  left:50%;
  width:2px;
  margin-left:-1px;
  background:#c8d9f2;
}

.network-approach-step:last-child .network-approach-line{
  display:none;
}

.network-approach-content{
  background:#ffffff;
  border:1px solid rgba(217,226,236,.9);
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:24px 26px;
}

.network-approach-content h3{
  margin:0 0 10px;
  font-size:1.22rem;
  line-height:1.2;
  color:var(--text);
}

.network-approach-content p{
  margin:0;
  font-size:1rem;
  line-height:1.7;
  color:var(--muted);
}
/* =========================
   SHARED SOLUTION CARD PATTERN
   ========================= */

.ucaas-grid-section .ucaas-card-grid,
.ccaas-grid-section .ccaas-card-grid,
.ai-grid-section .ai-card-grid,
.voice-cx-grid-section .voice-card-grid,
.cyber-grid-section .cyber-solution-card-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:28px !important;
  width:100% !important;
  align-items:stretch !important;
}

.ucaas-grid-section .ucaas-card,
.ccaas-grid-section .ccaas-card,
.ai-grid-section .ai-card,
.voice-cx-grid-section .voice-card,
.cyber-grid-section .cyber-solution-card{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:#ffffff !important;
  border:1px solid rgba(217,226,236,.85) !important;
  border-radius:20px !important;
  box-shadow:0 18px 40px rgba(15,23,42,.08) !important;
  overflow:hidden !important;
}

.ucaas-grid-section .ucaas-card-inner,
.ccaas-grid-section .ccaas-card-inner,
.ai-grid-section .ai-card-inner,
.voice-cx-grid-section .voice-card-inner,
.cyber-grid-section .cyber-solution-card-inner{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 260px !important;
  align-items:stretch !important;
  min-height:300px !important;
  height:100% !important;
  gap:0 !important;
  padding:0 !important;
}

.ucaas-grid-section .ucaas-card-copy,
.ccaas-grid-section .ccaas-card-copy,
.ai-grid-section .ai-card-copy,
.voice-cx-grid-section .voice-card-copy,
.cyber-grid-section .cyber-solution-card-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding:26px 28px !important;
  min-width:0 !important;
}

.ucaas-grid-section .ucaas-card-copy h3,
.ccaas-grid-section .ccaas-card-copy h3,
.ai-grid-section .ai-card-copy h3,
.voice-cx-grid-section .voice-card-copy h3,
.cyber-grid-section .cyber-solution-card-copy h3{
  margin:0 0 10px !important;
  font-size:1.28rem !important;
  line-height:1.2 !important;
  color:#0f172a !important;
}

.ucaas-grid-section .ucaas-card-copy p,
.ccaas-grid-section .ccaas-card-copy p,
.ai-grid-section .ai-card-copy p,
.voice-cx-grid-section .voice-card-copy p,
.cyber-grid-section .cyber-solution-card-copy p{
  font-size:1rem !important;
  line-height:1.72 !important;
  color:#526072 !important;
}

.ai-grid-section .ai-card-copy p{
  margin:0 0 12px !important;
}

.ucaas-grid-section .ucaas-card-copy p,
.ccaas-grid-section .ccaas-card-copy p,
.voice-cx-grid-section .voice-card-copy p{
  margin:0 !important;
}

.cyber-grid-section .cyber-solution-card-copy p{
  margin:0 !important;
}

.cyber-grid-section .cyber-solution-card-copy p + p{
  margin-top:12px !important;
}

.voice-cx-grid-section .voice-card-copy .subheading,
.cyber-grid-section .cyber-solution-card-copy .subheading{
  margin:0 0 14px !important;
  font-size:.95rem !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  color:#1d4ed8 !important;
}

.ai-grid-section .ai-card-kicker{
  display:inline-block;
  margin:0 0 12px !important;
  font-size:.85rem !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color:#1d4ed8 !important;
}

.ai-grid-section .ai-card-copy ul{
  margin:0;
  padding-left:1.15rem;
  color:#526072;
}

.ai-grid-section .ai-card-copy li + li{
  margin-top:.45rem;
}

.ucaas-grid-section .ucaas-card-media,
.ccaas-grid-section .ccaas-card-media,
.ai-grid-section .ai-card-media,
.voice-cx-grid-section .voice-card-media,
.cyber-grid-section .cyber-solution-card-media{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  background:#dbe5ef !important;
}

.ucaas-grid-section .ucaas-card-media img,
.ccaas-grid-section .ccaas-card-media img,
.ai-grid-section .ai-card-media img,
.voice-cx-grid-section .voice-card-media img,
.cyber-grid-section .cyber-solution-card-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:300px !important;
  object-fit:cover !important;
  object-position:center !important;
  border:0 !important;
  border-radius:0 !important;
  margin:0 !important;
}

.ucaas-grid-section .ucaas-card,
.ucaas-grid-section .ucaas-card *,
.ccaas-grid-section .ccaas-card,
.ccaas-grid-section .ccaas-card *,
.ai-grid-section .ai-card,
.ai-grid-section .ai-card *,
.voice-cx-grid-section .voice-card,
.voice-cx-grid-section .voice-card *,
.cyber-grid-section .cyber-solution-card,
.cyber-grid-section .cyber-solution-card *{
  box-sizing:border-box !important;
}

.ucaas-grid-section .ucaas-card .card-content,
.ucaas-grid-section .ucaas-card .card-copy,
.ucaas-grid-section .ucaas-card .card-body,
.ucaas-grid-section .ucaas-card .card-media,
.ccaas-grid-section .ccaas-card .card-content,
.ccaas-grid-section .ccaas-card .card-copy,
.ccaas-grid-section .ccaas-card .card-body,
.ccaas-grid-section .ccaas-card .card-media,
.ai-grid-section .ai-card .card-content,
.ai-grid-section .ai-card .card-copy,
.ai-grid-section .ai-card .card-body,
.ai-grid-section .ai-card .card-media,
.voice-cx-grid-section .voice-card .card-content,
.voice-cx-grid-section .voice-card .card-copy,
.voice-cx-grid-section .voice-card .card-body,
.voice-cx-grid-section .voice-card .card-media,
.cyber-grid-section .cyber-solution-card .card-content,
.cyber-grid-section .cyber-solution-card .card-copy,
.cyber-grid-section .cyber-solution-card .card-body,
.cyber-grid-section .cyber-solution-card .card-media{
  all:unset;
}
/* =========================
   UCAAS HERO
   ========================= */

.hero-ucaas.ucaas-hero-force-dark{
  position:relative;
  left:50%;
  right:50%;
  width:100vw;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  background:#1b2d42 !important;
  background-image:none !important;
  color:#ffffff !important;
  padding:72px 0 !important;
  min-height:auto !important;
  display:flex;
  align-items:center;
}

.hero-ucaas.ucaas-hero-force-dark .container{
  width:min(1200px, calc(100% - 2rem));
  margin-inline:auto;
}

.hero-ucaas.ucaas-hero-force-dark .hero-content{
  max-width:760px;
}

.hero-ucaas.ucaas-hero-force-dark .eyebrow{
  display:inline-block;
  margin:0 0 14px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#c7d7ea !important;
}

.hero-ucaas.ucaas-hero-force-dark h1{
  margin:0 0 14px;
  font-size:clamp(2rem, 4vw, 3.2rem);
  line-height:1.1;
  color:#ffffff !important;
}

.hero-ucaas.ucaas-hero-force-dark p{
  margin:0;
  max-width:700px;
  font-size:1.05rem;
  line-height:1.7;
  color:#dbe7f3 !important;
}

.hero-ucaas.ucaas-hero-force-dark,
.hero-ucaas.ucaas-hero-force-dark + section{
  margin-top:0 !important;
}
/* =========================
   ABOUT PAGE TITLES
   ========================= */

.hero-about-full{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  background:#1b2d42 !important;
  background-image:none !important;
  color:#fff !important;
  min-height:320px;
  display:flex;
  align-items:center;
  padding:72px 0;
}

.hero-about-full .container{
  width:min(1200px, calc(100% - 2rem));
  margin-inline:auto;
}

.hero-about-full .hero-content,
.hero-about-full .eyebrow,
.hero-about-full h1,
.hero-about-full p{
  color:#fff !important;
}

.hero-about-full .hero-content{
  max-width:760px;
}

.hero-about-full .eyebrow{
  display:inline-block;
  margin-bottom:14px;
  opacity:.9;
}

.hero-about-full .button-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}

.page-header,
.entry-header,
.hero-about-full,
.hero-about{
  background:#1b2d42 !important;
  background-image:none !important;
  color:#ffffff !important;
}

.page-header,
.entry-header{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:56px 0 40px;
  border:none;
}

.page-header .container,
.entry-header .container,
.page-header .wrap,
.entry-header .wrap,
.page-header .inner,
.entry-header .inner{
  width:min(1200px, calc(100% - 2rem));
  margin-inline:auto;
}

.page-header h1,
.entry-header h1,
.page-title,
.hero-about h1,
.hero-about-full h1{
  color:#ffffff !important;
  font-family:Arial, Helvetica, sans-serif;
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:1.1;
  font-weight:700;
  letter-spacing:-0.02em;
  margin:0;
}

.page-header p,
.entry-header p,
.hero-about p,
.hero-about-full p{
  color:rgba(255,255,255,0.92) !important;
  font-size:1.08rem;
  line-height:1.7;
}

.page-header .eyebrow,
.entry-header .eyebrow,
.hero-about .eyebrow,
.hero-about-full .eyebrow{
  color:rgba(255,255,255,0.82) !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.82rem;
  font-weight:700;
}

.page-header *,
.entry-header *{
  background:transparent !important;
  box-shadow:none !important;
}
/* =========================
   FOOTER
   ========================= */

.site-footer{
  background:#24364d;
  color:#e4ebf3;
  padding:1rem 0 .7rem;
}

.footer-bottom{
  padding-top:.75rem;
  padding-bottom:.55rem;
  border-top:1px solid rgba(255,255,255,.16);
  display:grid;
  grid-template-columns:minmax(220px, 280px) minmax(420px, 1fr) minmax(180px, 220px);
  gap:1.25rem 2rem;
  align-items:start;
}

.footer-left{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.55rem;
}

.footer-left p{
  margin:0;
  font-size:.9rem;
  color:#c3d0e0;
  line-height:1.35;
}

.social-links-labeled{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  flex-wrap:nowrap;
}

.social-links-labeled a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  padding:0;
  background:transparent;
  border:2px solid rgba(255,255,255,.95);
  border-radius:50%;
  line-height:1;
  text-decoration:none;
  box-sizing:border-box;
}

.social-links-labeled a:hover{
  transform:translateY(-2px);
  opacity:.92;
  box-shadow:0 0 0 3px rgba(255,255,255,.12);
}

.social-links-labeled svg{
  width:28px;
  height:28px;
  display:block;
}

.footer-middle{
  display:grid;
  grid-template-columns:repeat(3, minmax(120px, 1fr));
  gap:1rem 1.5rem;
  align-items:start;
}

.footer-link-group h4{
  margin:0 0 .45rem;
  font-size:.9rem;
  font-weight:600;
  color:#ffffff;
  line-height:1.3;
}

.footer-inline-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.3rem;
}

.footer-inline-links a{
  color:#d9e4f0;
  text-decoration:none;
  font-size:.84rem;
  line-height:1.4;
}

.footer-inline-links a:hover{
  color:#ffffff;
  text-decoration:underline;
}

.footer-right{
  display:flex;
  justify-content:flex-end;
}

.footer-cert-grid{
  display:grid;
  grid-template-columns:repeat(2, 82px);
  gap:8px;
}

.footer-cert-item{
  display:flex;
  align-items:center;
  justify-content:center;
  width:82px;
  height:62px;
  padding:6px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  text-decoration:none;
}

.footer-cert-item:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.28);
}

.footer-cert-item img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  display:block;
}

@media (max-width:1100px){
  .footer-bottom{
    grid-template-columns:1fr;
    gap:1.25rem;
  }

  .footer-left,
  .footer-right{
    align-items:center;
    justify-content:center;
  }

  .footer-left{
    text-align:center;
  }

  .social-links-labeled{
    justify-content:center;
  }

  .footer-middle{
    grid-template-columns:repeat(3, minmax(140px, 1fr));
  }

  .footer-link-group{
    text-align:center;
  }

  .footer-inline-links{
    align-items:center;
  }

  .footer-right{
    justify-content:center;
  }
}

@media (max-width:760px){
  .footer-middle{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .footer-cert-grid{
    grid-template-columns:repeat(2, 76px);
  }

  .footer-cert-item{
    width:76px;
    height:58px;
  }
}

@media (max-width:640px){
  .social-links-labeled a{
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
  }

  .social-links-labeled svg{
    width:24px;
    height:24px;
  }
}
@media (max-width:820px){
  .footer-link-columns{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .footer-link-group{
    text-align:center;
  }

  .footer-inline-links{
    align-items:center;
  }
}

@media (max-width:640px){
  .footer-cert-grid{
    grid-template-columns:repeat(2, minmax(76px, 1fr));
  }

  .footer-cert-item{
    width:84px;
    height:66px;
  }

  .social-links-labeled{
    gap:10px;
  }

  .social-links-labeled a{
    width:48px;
    height:48px;
    min-width:48px;
    min-height:48px;
  }

  .social-links-labeled svg{
    width:36px;
    height:36px;
  }
}
/* =========================
   RESPONSIVE
   ========================= */

@media (max-width:1180px){
  .connectivity-process-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:1100px){
  .footer-bottom{
    justify-content:center;
  }

  .footer-bottom p{
    width:100%;
    text-align:center;
  }

  .footer-inline-links{
    justify-content:center;
    width:100%;
  }

  .social-links-labeled{
    justify-content:center;
    width:100%;
  }

  .card-grid-4{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .contact-hero-inner,
  .contact-main-grid,
  .page-it-support .it-support-split-grid,
  .knowledge-hub-hero__inner{
    grid-template-columns:1fr;
  }

  .contact-hero-panel,
  .knowledge-hub-hero__panel{
    justify-content:flex-start;
  }

  .it-support-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .it-support-two-col{
    grid-template-columns:1fr;
  }

  .it-support-cta{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:1024px){
  .hero-grid,
  .trust-band,
  .split-section,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .feature-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

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

  .menu-toggle{
    display:inline-block;
    min-width:88px;
    min-height:44px;
    border:1px solid #d9e2ec;
    border-radius:999px;
    background:#ffffff;
    font-weight:700;
    cursor:pointer;
    margin-left:auto;
  }

  .primary-navigation{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    margin-left:0;
    background:#ffffff;
    border-top:1px solid #d9e2ec;
    box-shadow:0 18px 40px rgba(15,23,42,0.08);
    padding:1rem;
    width:100%;
  }

  .primary-navigation.is-open{
    display:block;
  }

  .primary-navigation .menu{
    display:block;
  }

  .primary-navigation .menu > li > a{
    display:block;
    padding:.95rem 1rem;
    margin-bottom:.2rem;
    border-radius:12px;
  }

  .primary-navigation .sub-menu,
  .primary-navigation .sub-menu .sub-menu{
    position:static;
    min-width:0;
    border:0;
    box-shadow:none;
    border-radius:0;
    padding:.2rem 0 .5rem 1rem;
    display:none;
    margin:0;
  }

  .primary-navigation li.menu-open > .sub-menu{
    display:block;
  }
}

@media (max-width:991px){
  .home-what-we-do-banner{
    min-height:320px;
  }

  .home-what-we-do-banner__inner{
    padding:44px 28px;
  }

  .home-what-we-do-banner__content{
    width:85%;
    max-width:85%;
  }

  .home-what-we-do-banner .home-what-we-do-banner__content *,
  .home-what-we-do-banner .home-what-we-do-banner__eyebrow,
  .home-what-we-do-banner .home-what-we-do-banner__title,
  .home-what-we-do-banner .home-what-we-do-banner__text{
    font-size:1rem !important;
  }

  .home-solutions-banner,
  .home-solutions-banner__inner{
    min-height:160px;
  }

  .home-solutions-banner__inner{
    padding-top:24px;
    padding-bottom:24px;
  }

  .homepage-network-style-grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .homepage-network-style-card{
    grid-template-columns:minmax(0, 1fr) minmax(220px, .8fr);
  }

  .homepage-network-style-card__content{
    padding:24px;
  }

  .homepage-network-style-card__content h3{
    font-size:1.15rem;
  }

  .premium-outcomes{
    padding:48px 0;
  }

  .premium-outcomes-cards,
  .premium-outcomes-cards--six{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:20px !important;
  }

  .premium-outcomes-cards .why-intuity-card,
  .premium-outcomes .why-intuity-card{
    min-height:240px;
    padding:24px !important;
  }

  .premium-outcomes-cards .why-intuity-card h3,
  .premium-outcomes-cards .why-intuity-card h4,
  .premium-outcomes .why-intuity-card h3,
  .premium-outcomes .why-intuity-card h4{
    font-size:1.08rem !important;
  }

  .premium-outcomes-cards .why-intuity-card p,
  .premium-outcomes .why-intuity-card p{
    font-size:.96rem !important;
    line-height:1.68 !important;
  }

  .knowledge-hub-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:20px !important;
  }

  .knowledge-hub-grid .knowledge-hub-card .card-media img{
    height:220px;
  }

  .knowledge-hub-grid .knowledge-hub-card .card-content{
    padding:20px;
  }

  .knowledge-hub-grid .knowledge-hub-card h3{
    font-size:1.15rem;
  }
}

@media (max-width:980px){
  .site-header .header-inner{
    flex-wrap:wrap;
  }

  .primary-navigation{
    width:100%;
    margin-left:0;
  }

  .primary-navigation .menu{
    flex-wrap:wrap;
  }

  .connectivity-hero-grid,
  .connectivity-split-card,
  .connectivity-support-grid{
    grid-template-columns:1fr;
  }

  .connectivity-option-grid{
    grid-template-columns:1fr;
  }

  .connectivity-hero-points{
    grid-template-columns:1fr;
  }

  .connectivity-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .connectivity-hero-copy h1{
    max-width:none;
  }
}

@media (max-width:900px){
  .cards-grid,
  .card-grid,
  .service-cards,
  .posts-grid,
  .cyber-card-grid,
  .feature-grid,
  .social-links-grid,
  .ucaas-grid-section .ucaas-card-grid,
  .ccaas-grid-section .ccaas-card-grid,
  .ai-grid-section .ai-card-grid,
  .voice-cx-grid-section .voice-card-grid,
  .cyber-grid-section .cyber-solution-card-grid,
  section.network-grid-section .network-card-grid,
  .knowledge-hub-post-grid{
    grid-template-columns:1fr !important;
  }

  @supports not (display:grid){
    .cards-grid > *,
    .card-grid > *,
    .service-cards > *,
    .posts-grid > *,
    .cyber-card-grid > *{
      width:100%;
    }
  }

  .card:not(.cyber-card),
  .service-card,
  .post-card,
  article.card:not(.cyber-card),
  article.service-card,
  article.post-card{
    flex-direction:column;
  }

  .card-media,
  .card-image,
  .card-thumb,
  .service-card-image,
  .post-card-image{
    width:100%;
    max-width:100%;
    min-width:0;
    flex:0 0 auto;
  }

  .card-media img,
  .card-image img,
  .card-thumb img,
  .service-card-image img,
  .post-card-image img,
  .card > img,
  .service-card > img,
  .post-card > img{
    width:100%;
    max-width:100%;
    height:auto;
  }

  .section-grid .cyber-card-inner{
    flex-direction:column;
  }

  .section-grid .cyber-card .card-media,
  .section-grid .cyber-card .card-media img{
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
  }

  .section{
    padding:64px 0;
  }

  .hero-home{
    padding:74px 0 64px;
  }

  .hero-home h1{
    max-width:none;
  }

  .section-head{
    align-items:start;
    flex-direction:column;
  }

  .top-bar-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .top-bar-right{
    margin-left:0;
    flex-wrap:wrap;
  }

  section.network-grid-section article.network-card .network-card-inner{
    grid-template-columns:220px minmax(0, 1fr) !important;
    min-height:280px !important;
  }

  section.network-grid-section article.network-card .network-card-media img{
    min-height:280px !important;
  }

  .ucaas-grid-section .ucaas-card-inner,
  .ccaas-grid-section .ccaas-card-inner,
  .ai-grid-section .ai-card-inner,
  .voice-cx-grid-section .voice-card-inner,
  .cyber-grid-section .cyber-solution-card-inner,
  .knowledge-hub-post-card.has-image .knowledge-hub-post-card__inner{
    grid-template-columns:minmax(0, 1fr) 220px !important;
    min-height:300px !important;
  }

  .ucaas-grid-section .ucaas-card-media img,
  .ccaas-grid-section .ccaas-card-media img,
  .ai-grid-section .ai-card-media img,
  .voice-cx-grid-section .voice-card-media img,
  .cyber-grid-section .cyber-solution-card-media img,
  .knowledge-hub-post-card.has-image .knowledge-hub-post-card__media,
  .knowledge-hub-post-card.has-image .knowledge-hub-post-card__media img{
    min-height:300px !important;
  }
}

@media (max-width:767px){
  .top-bar,
  .header-top-bar,
  .site-top-bar{
    padding:8px 12px;
  }

  .top-bar .container,
  .header-top-bar .container,
  .site-top-bar .container{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    width:100%;
  }

  .top-bar-left,
  .header-top-left,
  .site-top-bar-left{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:6px 10px;
    width:100%;
    text-align:center;
    line-height:1.4;
  }

  .top-bar-left span,
  .top-bar-left a,
  .header-top-left span,
  .header-top-left a,
  .site-top-bar-left span,
  .site-top-bar-left a{
    font-size:13px;
    white-space:normal;
    word-break:break-word;
  }

  .top-bar-left .divider,
  .header-top-left .divider,
  .site-top-bar-left .divider{
    display:none;
  }

  .top-bar-right,
  .header-top-right,
  .site-top-bar-right{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    width:100%;
  }

  .top-bar-right a,
  .header-top-right a,
  .site-top-bar-right a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
  }

  .top-bar-right img,
  .top-bar-right svg,
  .header-top-right img,
  .header-top-right svg,
  .site-top-bar-right img,
  .site-top-bar-right svg{
    width:20px;
    height:20px;
    max-width:100%;
  }

  .top-bar-left{
    flex-direction:column;
    align-items:flex-start;
  }

  .top-bar-left .top-bar-item{
    padding:0;
  }

  .top-bar-left .top-bar-message{
    margin-left:0;
  }

  .top-bar-left .top-bar-item + .top-bar-item::before{
    display:none;
  }

  .top-bar-follow-label{
    margin-bottom:4px;
  }

  .voice-cx-hero-full,
  .network-hero-full{
    min-height:200px;
  }

  .voice-cx-hero-full .hero-content,
  .network-hero-full .hero-content{
    padding:38px 18px;
  }

  .voice-cx-hero-full h1,
  .network-hero-full h1{
    font-size:clamp(1.35rem, 6vw, 1.9rem);
  }

  .voice-cx-hero-full p,
  .network-hero-full p{
    font-size:0.92rem;
  }

  .section-intro{
    padding-top:24px;
    padding-bottom:16px;
  }

  .section-intro h2{
    font-size:clamp(1.2rem, 5vw, 1.55rem);
  }

  .section-intro p{
    font-size:0.94rem;
  }

  .home-what-we-do-banner{
    min-height:280px;
    border-radius:16px;
  }

  .home-what-we-do-banner__overlay{
    background:linear-gradient(180deg, rgba(15,23,42,.78) 0%, rgba(15,23,42,.62) 100%);
  }

  .home-what-we-do-banner__inner{
    padding:32px 20px;
  }

  .home-what-we-do-banner__content{
    width:100%;
    max-width:100%;
    text-align:center;
  }

  .home-what-we-do-banner .home-what-we-do-banner__content *,
  .home-what-we-do-banner .home-what-we-do-banner__eyebrow,
  .home-what-we-do-banner .home-what-we-do-banner__title,
  .home-what-we-do-banner .home-what-we-do-banner__text{
    font-size:.95rem !important;
    line-height:1.6 !important;
  }

  .home-solutions-banner,
  .home-solutions-banner__inner{
    min-height:140px;
  }

  .home-solutions-banner__overlay{
    background:linear-gradient(180deg, rgba(15,23,42,.78) 0%, rgba(15,23,42,.62) 100%);
  }

  .home-solutions-banner__inner{
    padding-top:20px;
    padding-bottom:20px;
  }

  .home-solutions-banner__eyebrow,
  .home-solutions-banner__title,
  .home-solutions-banner__link{
    font-size:.95rem;
    line-height:1.45;
  }

  .homepage-solution-card-grid{
    width:100% !important;
    max-width:100% !important;
  }

  .homepage-solution-card-inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .homepage-solution-card-media{
    height:220px !important;
    order:1 !important;
  }

  .homepage-solution-card-media img{
    height:220px !important;
    min-height:220px !important;
  }

  .homepage-solution-card-copy{
    order:2 !important;
    padding:22px 20px !important;
  }

  .homepage-solution-card-copy h3{
    font-size:1.14rem !important;
  }

  .homepage-solution-card-copy p{
    font-size:.96rem !important;
    line-height:1.65 !important;
  }

  .homepage-network-style-card{
    grid-template-columns:1fr;
  }

  .homepage-network-style-card__media{
    order:-1;
  }

  .homepage-network-style-card__media img{
    min-height:200px;
  }

  .homepage-network-style-card__content{
    padding:20px;
  }

  .homepage-network-style-card__content h3{
    font-size:1.05rem;
  }

  .homepage-network-style-card__content p{
    font-size:.96rem;
    line-height:1.6;
  }

  .premium-outcomes{
    padding:40px 0;
  }

  .premium-outcomes-intro{
    margin-bottom:24px;
  }

  .premium-outcomes-intro h2{
    line-height:1.22;
  }

  .premium-outcomes-intro p{
    font-size:1rem;
    line-height:1.65;
  }

  .premium-outcomes-cards,
  .premium-outcomes-cards--six{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .premium-outcomes-cards .why-intuity-card,
  .premium-outcomes .why-intuity-card{
    min-height:auto;
    padding:22px 20px !important;
    border-radius:18px !important;
  }

  .premium-outcomes-cards .why-intuity-card .eyebrow,
  .premium-outcomes .why-intuity-card .eyebrow{
    font-size:.84rem !important;
  }

  .premium-outcomes-cards .why-intuity-card h3,
  .premium-outcomes-cards .why-intuity-card h4,
  .premium-outcomes .why-intuity-card h3,
  .premium-outcomes .why-intuity-card h4{
    font-size:1.02rem !important;
    line-height:1.38 !important;
  }

  .premium-outcomes-cards .why-intuity-card p,
  .premium-outcomes .why-intuity-card p{
    font-size:.95rem !important;
    line-height:1.62 !important;
  }

  .knowledge-hub-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .knowledge-hub-grid .knowledge-hub-card .card-media img{
    height:200px;
  }

  .knowledge-hub-grid .knowledge-hub-card .card-content{
    padding:18px;
  }

  .knowledge-hub-grid .knowledge-hub-card h3{
    font-size:1.05rem;
  }

  .knowledge-hub-grid .knowledge-hub-card p{
    font-size:.96rem;
    line-height:1.6;
  }

  .knowledge-hub-hero{
    padding:58px 0 40px;
  }

  .knowledge-hub-panel-card{
    padding:24px 20px;
  }

  .knowledge-hub-post-card.has-image .knowledge-hub-post-card__inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .knowledge-hub-post-card.has-image .knowledge-hub-post-card__media{
    order:1;
    height:220px;
    min-height:220px;
  }

  .knowledge-hub-post-card.has-image .knowledge-hub-post-card__media img{
    height:220px;
    min-height:220px;
  }

  .knowledge-hub-post-card__content{
    order:2;
    padding:22px 20px;
  }

  .knowledge-hub-post-card__title{
    font-size:1.12rem;
  }

  .knowledge-hub-post-card__excerpt,
  .knowledge-hub-post-card__excerpt p{
    font-size:.96rem;
    line-height:1.65;
  }

  section.hero-network.network-hero-force-dark{
    min-height:220px !important;
  }

  section.hero-network.network-hero-force-dark .hero-content{
    padding:40px 18px !important;
  }

  section.hero-network.network-hero-force-dark h1{
    font-size:clamp(1.4rem, 6vw, 1.95rem) !important;
  }

  section.hero-network.network-hero-force-dark p{
    font-size:.95rem !important;
  }

  section.network-grid-section article.network-card .network-card-inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  section.network-grid-section article.network-card .network-card-media{
    height:220px !important;
  }

  section.network-grid-section article.network-card .network-card-media img{
    height:220px !important;
    min-height:220px !important;
  }

  section.network-grid-section article.network-card .network-card-body{
    padding:22px 20px !important;
  }

  section.network-grid-section article.network-card .network-card-body h3{
    font-size:1.14rem !important;
  }

  section.network-grid-section article.network-card .network-card-subheading{
    font-size:.9rem !important;
  }

  section.network-grid-section article.network-card .network-card-body p{
    font-size:.96rem !important;
    line-height:1.65 !important;
  }

  .network-approach-step{
    grid-template-columns:30px minmax(0, 1fr);
    gap:14px;
  }

  .network-approach-dot{
    width:14px;
    height:14px;
    margin-top:10px;
    border-width:3px;
  }

  .network-approach-line{
    top:24px;
    bottom:-18px;
  }

  .network-approach-content{
    padding:20px 18px;
  }

  .network-approach-content h3{
    font-size:1.08rem;
  }

  .network-approach-content p{
    font-size:.96rem;
    line-height:1.65;
  }

  .ucaas-grid-section .ucaas-card-inner,
  .ccaas-grid-section .ccaas-card-inner,
  .ai-grid-section .ai-card-inner,
  .voice-cx-grid-section .voice-card-inner,
  .cyber-grid-section .cyber-solution-card-inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .ucaas-grid-section .ucaas-card-media,
  .ccaas-grid-section .ccaas-card-media,
  .ai-grid-section .ai-card-media,
  .voice-cx-grid-section .voice-card-media,
  .cyber-grid-section .cyber-solution-card-media{
    height:220px !important;
  }

  .ucaas-grid-section .ucaas-card-media img,
  .ccaas-grid-section .ccaas-card-media img,
  .ai-grid-section .ai-card-media img,
  .voice-cx-grid-section .voice-card-media img,
  .cyber-grid-section .cyber-solution-card-media img{
    height:220px !important;
    min-height:220px !important;
  }

  .ucaas-grid-section .ucaas-card-copy,
  .ccaas-grid-section .ccaas-card-copy,
  .ai-grid-section .ai-card-copy,
  .voice-cx-grid-section .voice-card-copy,
  .cyber-grid-section .cyber-solution-card-copy{
    padding:22px 20px !important;
  }

  .ucaas-grid-section .ucaas-card-copy h3,
  .ccaas-grid-section .ccaas-card-copy h3,
  .ai-grid-section .ai-card-copy h3,
  .voice-cx-grid-section .voice-card-copy h3,
  .cyber-grid-section .cyber-solution-card-copy h3{
    font-size:1.14rem !important;
  }

  .voice-cx-grid-section .voice-card-copy .subheading,
  .cyber-grid-section .cyber-solution-card-copy .subheading{
    font-size:.9rem !important;
    margin-bottom:12px !important;
  }

  .ucaas-grid-section .ucaas-card-copy p,
  .ccaas-grid-section .ccaas-card-copy p,
  .ai-grid-section .ai-card-copy p,
  .ai-grid-section .ai-card-copy li,
  .voice-cx-grid-section .voice-card-copy p,
  .cyber-grid-section .cyber-solution-card-copy p{
    font-size:.96rem !important;
    line-height:1.65 !important;
  }

  .ai-grid-section .ai-card-kicker{
    font-size:.8rem !important;
    margin-bottom:10px !important;
  }

  .hero-ucaas.ucaas-hero-force-dark{
    padding:48px 0 !important;
  }

  .hero-ucaas.ucaas-hero-force-dark h1{
    font-size:clamp(1.7rem, 7vw, 2.3rem);
  }

  .hero-ucaas.ucaas-hero-force-dark p{
    font-size:1rem;
  }

  .contact-centre-media-grid,
  .contact-centre-split,
  .guided-steps,
  .card-grid-3,
  .feature-list-grid{
    grid-template-columns:1fr;
  }

  .cta-panel{
    flex-direction:column;
    align-items:flex-start;
    padding:1.5rem;
  }

  .cta-actions{
    justify-content:flex-start;
  }

  .hero-contact-centre.contact-centre-hero-force-dark{
    min-height:280px;
  }

  .card-grid-4{
    grid-template-columns:1fr;
  }

  .info-card,
  .guided-step,
  .feature-item,
  .contact-form-wrap,
  .contact-info-card,
  .contact-map-card,
  .hero-panel-card{
    padding:1.2rem;
  }

  .contact-hero{
    padding:58px 0 40px;
  }

  .form-grid.two-col{
    grid-template-columns:1fr;
  }

  .contact-map-embed iframe{
    height:300px;
  }

  .contact-hero-copy h1{
    font-size:2.2rem;
  }

  .faq-overview-band{
    margin-top:-34px;
  }

  .faq-topic-pill{
    width:100%;
    justify-content:flex-start;
  }

  .faq-question{
    padding:18px 18px;
    font-size:1rem;
  }

  .faq-answer{
    padding:0 18px 20px;
  }

  .faq-icon{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .page-it-support .it-support-split-card{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .page-it-support .it-support-split-card__media{
    min-height:220px !important;
  }

  .it-support-hero{
    padding:72px 0 60px;
  }

  .it-support-section{
    padding:60px 0;
  }

  .it-support-card-grid{
    grid-template-columns:1fr;
  }

  .it-support-panel,
  .it-support-cta,
  .it-support-info-card{
    padding:1.5rem;
  }

  .connectivity-hero{
    padding:72px 0 58px;
  }

  .connectivity-intro,
  .connectivity-options,
  .connectivity-comparison,
  .connectivity-process,
  .connectivity-support,
  .connectivity-cta{
    padding:64px 0;
  }

  .connectivity-split-card,
  .connectivity-option-card,
  .connectivity-process-card,
  .connectivity-hero-card,
  .connectivity-cta-card,
  .connectivity-reasons-card{
    padding:24px;
  }

  .connectivity-mini-grid,
  .connectivity-process-grid{
    grid-template-columns:1fr;
  }

  .button-row{
    flex-direction:column;
    align-items:stretch;
  }

  .button-primary,
  .button-secondary{
    width:100%;
  }

  .connectivity-table{
    min-width:720px;
  }
}

@media (max-width:640px){
  .footer-inline-links{
    gap:.6rem .9rem;
  }

  .footer-inline-links a{
    font-size:.84rem;
  }

  .social-links-labeled{
    gap:10px;
  }

  .social-links-labeled a{
    width:48px;
    height:48px;
    min-width:48px;
    min-height:48px;
  }

  .social-links-labeled svg{
    width:36px;
    height:36px;
  }

  .testimonial-banner-section{
    padding-bottom:2rem;
  }

  .testimonial-card{
    flex:0 0 86vw;
    width:86vw;
    max-width:340px;
  }

  .testimonial-card-inner{
    min-height:240px;
    padding:1.2rem 1.1rem 1.1rem;
  }

  .testimonial-text{
    font-size:.95rem;
    line-height:1.65;
  }
}

@media (prefers-reduced-motion: reduce){
  .testimonial-track{
    animation:none;
  }
}
/* =========================
   MOBILE LAYOUT FIXES
   ========================= */

html,
body{
  max-width:100%;
  overflow-x:hidden;
}

body{
  position:relative;
}

img,
video,
iframe,
svg{
  max-width:100%;
  height:auto;
}

.site-header,
.site-main,
.site-footer,
.container{
  max-width:100%;
}

.container{
  width:min(100%, 1200px);
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
  box-sizing:border-box;
}

/* Prevent common overflow causes */
.site-header *,
.site-main *,
.site-footer *{
  box-sizing:border-box;
  min-width:0;
}

.top-bar,
.site-header,
.site-main,
.site-footer{
  overflow-x:clip;
}

/* Tables / pre / embedded items */
table,
pre{
  max-width:100%;
}

pre{
  overflow:auto;
}
/* =========================
   TOP BAR
   ========================= */

.top-bar{
  background:#0f172a;
  color:#e4ebf3;
  font-size:14px;
}

.top-bar a{
  color:#e4ebf3;
  text-decoration:none;
}

.top-bar a:hover{
  color:#ffffff;
}

.top-bar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:44px;
  padding:10px 0;
}

.top-bar-left,
.top-bar-right{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.top-bar-message{
  opacity:.95;
}

.top-bar-social{
  display:flex;
  align-items:center;
  gap:10px;
}

.top-bar-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
}

.top-bar-social img,
.top-bar-social svg{
  width:16px;
  height:16px;
  display:block;
}
/* =========================
   MAIN NAV / DROPDOWNS
   ========================= */

.site-header{
  position:relative;
  z-index:1000;
}

.main-navigation,
.main-navigation ul{
  max-width:100%;
}

.main-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
}

.main-navigation li{
  position:relative;
}

.main-navigation a{
  text-decoration:none;
}

/* Desktop dropdown safeguard */
.main-navigation .sub-menu{
  max-width:min(92vw, 340px);
  white-space:normal;
}

.main-navigation .sub-menu li{
  width:100%;
}

.main-navigation .sub-menu a{
  display:block;
  width:100%;
}
/* =========================
   MOBILE ONLY
   ========================= */

@media (max-width: 991px){

  html,
  body{
    overflow-x:hidden !important;
  }

  .container{
    padding-left:16px;
    padding-right:16px;
  }

  /* Top bar stays visible and usable */
  .top-bar{
    display:block !important;
  }

  .top-bar-inner{
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:8px;
    padding:10px 0;
  }

  .top-bar-left,
  .top-bar-right{
    width:100%;
    display:flex !important;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    gap:8px 14px;
  }

  .top-bar-left .top-bar-item,
  .top-bar-right .top-bar-item,
  .top-bar-message{
    display:inline-flex !important;
  }

  .top-bar-message{
    width:100%;
    margin-bottom:2px;
  }

  .top-bar-social{
    display:flex !important;
    flex-wrap:nowrap;
  }

  /* Prevent header overflow */
  .site-header .container,
  .header-inner,
  .nav-wrap{
    max-width:100%;
  }

  /* Mobile menu panel */
  .main-navigation{
    width:100%;
    max-width:100%;
  }

  .main-navigation ul.menu,
  .main-navigation .menu{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:0;
  }

  .main-navigation .menu > li{
    width:100%;
  }

  .main-navigation .menu > li > a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:14px 0;
  }

  /* Force dropdowns onto a single column, not two rows */
  .main-navigation .sub-menu,
  .main-navigation .children{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    display:none;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0;
    padding:6px 0 10px;
    border:none;
    box-shadow:none;
    background:transparent;
    grid-template-columns:1fr !important;
    flex-direction:column !important;
  }

  .main-navigation .menu-item-has-children.open > .sub-menu,
  .main-navigation .menu-item-has-children.open > .children,
  .main-navigation .menu-item-has-children:focus-within > .sub-menu,
  .main-navigation .menu-item-has-children:focus-within > .children{
    display:flex;
  }

  .main-navigation .sub-menu li,
  .main-navigation .children li{
    display:block;
    width:100% !important;
    margin:0;
  }

  .main-navigation .sub-menu a,
  .main-navigation .children a{
    display:block;
    width:100% !important;
    padding:10px 14px;
    white-space:normal;
    line-height:1.4;
    border-radius:12px;
  }

  /* Common page sections that often overflow on mobile */
  .hero,
  .contact-hero,
  .page-it-support,
  .page-contact-centre,
  .page-connectivity,
  .page-faq,
  .knowledge-hub-page,
  .site-main section{
    overflow-x:hidden;
  }

  /* Cards / grids */
  [class*="grid"],
  [class*="cards"],
  [class*="columns"],
  .wp-block-columns{
    grid-template-columns:1fr !important;
    flex-wrap:wrap;
  }

  .wp-block-column{
    flex-basis:100% !important;
  }
}


/* =========================
   HOMEPAGE LAYOUT REPAIR
   ========================= */

.homepage-modern{
  background:linear-gradient(180deg,#f5f8fc 0%,#ffffff 32%,#f7fbff 100%);
}

.hero-home.premium-hero{
  position:relative;
  overflow:hidden;
  padding:88px 0 72px;
  background:
    radial-gradient(circle at top right, rgba(27,102,209,.12), transparent 30%),
    linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%);
}

.hero-grid.premium-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:32px;
  align-items:stretch;
}

.hero-copy{
  min-width:0;
}

.hero-copy h1{
  margin:0 0 18px;
  font-size:clamp(2.3rem,4vw,4.1rem);
  line-height:1.05;
  letter-spacing:-.03em;
  color:#0f172a;
  max-width:13ch;
}

.hero-copy p{
  max-width:700px;
  color:#526072;
  line-height:1.8;
  font-size:1.03rem;
}

.hero-panel,
.hero-card.premium-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
}

.hero-card.premium-card{
  padding:28px;
  border:1px solid #d9e2ec;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.homepage-anchor-nav-section{
  padding:24px 0 8px;
  background:linear-gradient(180deg,#eef4fb 0%,#f5f8fc 100%);
}

.homepage-anchor-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}

.homepage-anchor-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  background:#ffffff;
  border:1px solid #d9e2ec;
  border-radius:999px;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  color:#0f172a;
  text-decoration:none;
  font-weight:600;
  transition:all .22s ease;
}

.homepage-anchor-nav a:hover{
  transform:translateY(-2px);
  border-color:#bfd0e4;
  color:#1b66d1;
  box-shadow:0 16px 32px rgba(15,23,42,.08);
}

.home-what-we-do-banner{
  position:relative;
  overflow:hidden;
  min-height:360px;
  display:flex;
  align-items:center;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}

.home-what-we-do-banner__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(15,23,42,.78),rgba(27,102,209,.55));
}

.home-what-we-do-banner__inner{
  position:relative;
  z-index:1;
}

.home-what-we-do-banner__content{
  max-width:760px;
  color:#fff;
}

.home-what-we-do-banner__title{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.9rem,3vw,3rem);
  line-height:1.12;
}

.home-what-we-do-banner__text,
.home-what-we-do-banner__eyebrow{
  color:#fff;
}

.home-solutions-banner-wrap{
  margin-bottom:34px;
}

.home-solutions-banner{
  position:relative;
  overflow:hidden;
  min-height:280px;
  display:flex;
  align-items:center;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  border-radius:24px;
}

.home-solutions-banner__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(15,23,42,.76),rgba(27,102,209,.48));
}

.home-solutions-banner__inner{
  position:relative;
  z-index:1;
}

.home-solutions-banner__content{
  max-width:720px;
  color:#fff;
}

.home-solutions-banner__title{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.9rem,3vw,3rem);
  line-height:1.12;
}

.home-solutions-banner__eyebrow,
.home-solutions-banner__link{
  color:#fff;
}

.homepage-solution-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}

.homepage-solution-card{
  display:block;
  width:100%;
  min-width:0;
  background:#fff;
  border:1px solid rgba(217,226,236,.85);
  border-radius:20px;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
  overflow:hidden;
}

.homepage-solution-card-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  align-items:stretch;
  min-height:300px;
  height:100%;
}

.homepage-solution-card-copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:26px 28px;
  min-width:0;
}

.homepage-solution-card-copy h3{
  margin:0 0 10px;
  font-size:1.28rem;
  line-height:1.2;
  color:#0f172a;
}

.homepage-solution-card-copy p{
  margin:0 0 14px;
  font-size:1rem;
  line-height:1.72;
  color:#526072;
}

.homepage-solution-card-copy a{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  text-decoration:none;
}

.homepage-solution-card-copy a::after{
  content:"→";
}

.homepage-solution-card-media{
  width:100%;
  height:100%;
  min-width:0;
  overflow:hidden;
  background:#dbe5ef;
}

.homepage-solution-card-media img{
  display:block;
  width:100%;
  height:100%;
  min-height:300px;
  object-fit:cover;
  object-position:center;
  border:0;
  border-radius:0;
  margin:0;
}

.premium-outcomes{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.premium-outcomes-cards--six{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.why-intuity-card{
  padding:28px 24px;
  border:1px solid #d9e2ec;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}

.knowledge-hub-home-section .knowledge-hub-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.knowledge-hub-home-section .knowledge-hub-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #d9e2ec;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}

.knowledge-hub-home-section .card-media img{
  width:100%;
  height:220px;
  object-fit:cover;
}

.testimonial-banner-section{
  overflow:hidden;
}

.testimonial-marquee{
  overflow:hidden;
  width:100%;
}

.testimonial-track{
  display:flex;
  gap:20px;
  width:max-content;
}

.testimonial-card{
  width:min(420px,80vw);
  flex:0 0 auto;
}

.testimonial-card-inner{
  height:100%;
  padding:26px 24px;
  border:1px solid #d9e2ec;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}

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

  .homepage-solution-card-grid{
    grid-template-columns:1fr;
  }

  .premium-outcomes-cards--six{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .knowledge-hub-home-section .knowledge-hub-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:767px){
  .hero-home.premium-hero{
    padding:72px 0 58px;
  }

  .hero-copy h1{
    max-width:none;
    font-size:clamp(2rem,8vw,3rem);
  }

  .homepage-anchor-nav{
    flex-direction:column;
    align-items:stretch;
  }

  .homepage-anchor-nav a{
    width:100%;
  }

  .home-what-we-do-banner,
  .home-solutions-banner{
    min-height:auto;
    padding:52px 0;
    border-radius:20px;
  }

  .homepage-solution-card-inner{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .homepage-solution-card-media{
    height:220px;
    order:1;
  }

  .homepage-solution-card-media img{
    height:220px;
    min-height:220px;
  }

  .homepage-solution-card-copy{
    order:2;
    padding:22px 20px;
  }

  .premium-outcomes-cards--six,
  .knowledge-hub-home-section .knowledge-hub-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   MOBILE-ONLY REPAIRS
   Applies only to small screens and leaves other breakpoints unchanged
   ========================================================= */
@media (max-width: 767px){

  /* -------------------------
     GLOBAL MOBILE SAFETY
     ------------------------- */
  html, body{
    overflow-x:hidden;
  }

  body{
    word-wrap:break-word;
  }

  .container,
  .site-header .header-inner,
  .top-bar-inner{
    width:100%;
    max-width:100%;
    padding-left:16px;
    padding-right:16px;
    box-sizing:border-box;
  }

  img{
    max-width:100%;
    height:auto;
  }

  /* -------------------------
     HEADER + TOP BAR
     ------------------------- */
  .top-bar{
    padding:0;
  }

  .top-bar-inner{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:8px;
    padding-top:8px;
    padding-bottom:8px;
  }

  .top-bar-left,
  .top-bar-right,
  .header-top-left,
  .header-top-right{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px;
  }

  .top-bar a,
  .top-bar span,
  .top-bar p,
  .top-bar li{
    font-size:13px;
    line-height:1.45;
  }

  .top-bar .social-links,
  .top-bar .header-social,
  .top-bar .social-icons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }

  .site-header{
    position:sticky;
    top:0;
  }

  .site-header .header-inner{
    min-height:72px;
    gap:12px;
    padding-top:10px;
    padding-bottom:10px;
  }

  .branding,
  .site-branding{
    min-width:0;
    flex:1 1 auto;
  }

  .branding img,
  .site-branding img,
  .custom-logo{
    max-height:46px;
    width:auto;
  }

  .menu-toggle{
    flex:0 0 auto;
    min-width:88px;
    min-height:42px;
    font-size:14px;
  }

  .primary-navigation,
  #site-navigation{
    width:100%;
  }

  /* mobile dropdown */
  .primary-navigation ul,
  #primary-menu{
    width:100%;
  }

  .primary-navigation .sub-menu{
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    box-shadow:none !important;
  }

  /* -------------------------
     GLOBAL SECTION / GRID STACKING
     ------------------------- */
  .section-padding,
  .section,
  .uc-section,
  .contact-main-section,
  .knowledge-hub-grid-section{
    padding-top:56px;
    padding-bottom:56px;
  }

  .section-heading,
  .section-head{
    margin-bottom:24px;
  }

  .section-heading h1,
  .section-heading h2,
  .hero-copy h1,
  .hero-content h1{
    max-width:none;
  }

  .split-section,
  .split-grid,
  .hero-grid,
  .premium-grid,
  .about-hero-inner,
  .knowledge-hub-hero__inner,
  .contact-hero-inner,
  .solutions-hero-inner,
  .uc-hero-inner,
  .connectivity-hero-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  /* -------------------------
     HOMEPAGE
     ------------------------- */
  .hero-home,
  .hero-home.premium-hero{
    padding-top:64px;
    padding-bottom:52px;
  }

  .homepage-anchor-nav,
  .trust-mini-row,
  .homepage-hero-points{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  .homepage-anchor-nav a,
  .trust-mini-row span,
  .homepage-hero-points span{
    width:100%;
    justify-content:center;
  }

  .home-what-we-do-banner,
  .home-solutions-banner{
    min-height:auto !important;
    padding-top:48px;
    padding-bottom:48px;
    background-position:center center;
    border-radius:18px;
  }

  .homepage-solution-card-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .homepage-solution-card-inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .homepage-solution-card-media{
    order:1;
    height:220px !important;
    min-height:220px !important;
  }

  .homepage-solution-card-media img{
    width:100%;
    height:220px !important;
    min-height:220px !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  .homepage-solution-card-copy{
    order:2;
    padding:20px 18px !important;
  }

  .premium-outcomes-cards,
  .premium-outcomes-cards--six,
  .knowledge-hub-home-section .knowledge-hub-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .testimonial-track{
    gap:14px !important;
  }

  .testimonial-card{
    width:min(88vw, 360px) !important;
  }

  /* -------------------------
     UNIFIED COMMUNICATIONS
     ------------------------- */
  .uc-hero-combined{
    padding-top:64px !important;
    padding-bottom:52px !important;
  }

  .uc-page-links{
    flex-direction:column;
    align-items:stretch;
  }

  .uc-page-links a{
    width:100%;
  }

  .uc-benefit-grid,
  .uc-related-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .uc-cta-panel{
    padding:22px 18px !important;
    border-radius:18px !important;
  }

  /* -------------------------
     SOLUTIONS PAGE
     ------------------------- */
  .solutions-hero{
    padding-top:64px !important;
    padding-bottom:52px !important;
  }

  .solutions-anchor-nav{
    flex-direction:column;
    align-items:stretch;
  }

  .solutions-anchor-nav a{
    width:100%;
  }

  .solutions-card-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .solutions-card-inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .solutions-card-media{
    order:1;
    height:220px !important;
  }

  .solutions-card-media img{
    width:100%;
    height:220px !important;
    min-height:220px !important;
    object-fit:cover !important;
  }

  .solutions-card-copy{
    order:2;
    padding:20px 18px !important;
  }

  .solutions-approach-grid{
    grid-template-columns:1fr !important;
  }

  .solutions-cta-panel{
    padding:22px 18px !important;
  }

  /* -------------------------
     ABOUT US
     ------------------------- */
  .about-hero{
    padding-top:64px !important;
    padding-bottom:52px !important;
  }

  .about-anchor-nav{
    flex-direction:column;
    align-items:stretch;
  }

  .about-anchor-nav a{
    width:100%;
  }

  .about-difference-grid,
  .about-approach-grid,
  .about-team-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .about-team-media{
    padding:20px !important;
  }

  .about-team-media img{
    max-width:180px !important;
  }

  .about-values-panel{
    padding:22px 18px !important;
    border-radius:18px !important;
  }

  /* -------------------------
     CONTACT PAGE
     ------------------------- */
  .contact-hero{
    padding-top:64px !important;
    padding-bottom:52px !important;
  }

  .contact-main-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .contact-form-card-modern,
  .contact-info-card-modern,
  .contact-help-card,
  .contact-panel-card{
    border-radius:18px !important;
  }

  .contact-form-card-header,
  .contact-form-cf7{
    padding:20px 18px !important;
  }

  .contact-form-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .contact-whatsapp-qr-image img{
    max-width:180px !important;
    height:auto !important;
  }

  /* -------------------------
     KNOWLEDGE HUB
     ------------------------- */
  .knowledge-hub-hero{
    padding-top:64px !important;
    padding-bottom:52px !important;
  }

  .knowledge-hub-post-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .knowledge-hub-post-card__inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .knowledge-hub-post-card__media{
    order:1;
    height:220px !important;
    min-height:220px !important;
  }

  .knowledge-hub-post-card__media img{
    width:100%;
    height:220px !important;
    min-height:220px !important;
    object-fit:cover !important;
  }

  .knowledge-hub-post-card__content{
    order:2;
    padding:20px 18px !important;
  }

  .partner-item{
    width:170px !important;
  }

  .partner-item-inner{
    min-height:92px !important;
    padding:16px !important;
  }

  .partner-item-inner img{
    max-height:40px !important;
  }

  /* -------------------------
     CONNECTIVITY
     ------------------------- */
  .connectivity-anchor-nav{
    flex-direction:column;
    align-items:stretch;
  }

  .connectivity-anchor-nav a{
    width:100%;
  }

  .connectivity-option-grid,
  .connectivity-process-grid,
  .connectivity-support-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .connectivity-table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .connectivity-table{
    min-width:680px;
  }

  /* -------------------------
     CYBER SECURITY
     ------------------------- */
  .cyber-anchor-nav{
    flex-direction:column;
    align-items:stretch;
  }

  .cyber-anchor-nav a{
    width:100%;
  }

  .cyber-solution-card-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .cyber-solution-card-inner{
    grid-template-columns:1fr !important;
  }

  .cyber-solution-card-media{
    height:220px !important;
  }

  .cyber-solution-card-media img{
    width:100%;
    height:220px !important;
    object-fit:cover !important;
  }

  /* -------------------------
     CCAAS / CONTACT CENTRE / AI
     ------------------------- */
  .ccaas-anchor-nav,
  .contact-centre-anchor-nav,
  .ai-anchor-nav{
    flex-direction:column;
    align-items:stretch;
  }

  .ccaas-anchor-nav a,
  .contact-centre-anchor-nav a,
  .ai-anchor-nav a{
    width:100%;
  }

  .ccaas-card-grid,
  .ai-card-grid,
  .ai-outcomes-grid,
  .contact-centre-media-grid,
  .card-grid-3{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .ccaas-card-inner,
  .ai-card-inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .ccaas-card-media,
  .ai-card-media{
    order:1;
    height:220px !important;
  }

  .ccaas-card-media img,
  .ai-card-media img{
    width:100%;
    height:220px !important;
    min-height:220px !important;
    object-fit:cover !important;
  }

  .ccaas-card-copy,
  .ai-card-copy{
    order:2;
    padding:20px 18px !important;
  }
}

/* =========================
   AI PAGE REFRESH - LIVELIER STYLE
   ========================= */

.ai-vendors-section,
.ai-use-cases-section{
  position:relative;
  padding:96px 0;
  overflow:hidden;
}

.ai-vendors-section{
  background:
    radial-gradient(circle at 12% 10%, rgba(27,102,209,.16), transparent 32%),
    radial-gradient(circle at 88% 20%, rgba(71,163,255,.18), transparent 30%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
  border-top:1px solid #d9e2ec;
  border-bottom:1px solid #d9e2ec;
}

.ai-use-cases-section{
  background:
    linear-gradient(180deg,#ffffff 0%,#f5f8fc 100%);
  border-top:1px solid #d9e2ec;
}

.ai-vendors-section::after,
.ai-use-cases-section::after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:1px;
  height:100%;
  background:linear-gradient(180deg,transparent,#d9e2ec,transparent);
  opacity:.75;
  pointer-events:none;
}

.ai-vendor-accordion{
  max-width:1040px;
  margin:42px auto 0;
  display:grid;
  gap:18px;
}

.ai-vendor-item{
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(12px);
  border:1px solid rgba(217,226,236,.95);
  border-radius:26px;
  box-shadow:0 18px 44px rgba(15,23,42,.08);
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.ai-vendor-item:hover{
  transform:translateY(-3px);
  box-shadow:0 26px 58px rgba(15,23,42,.12);
  border-color:#b9d4f7;
}

.ai-vendor-item summary{
  cursor:pointer;
  list-style:none;
  display:grid;
  grid-template-columns:230px 1fr;
  gap:22px;
  align-items:center;
  padding:26px 72px 26px 30px;
  position:relative;
}

.ai-vendor-item summary::-webkit-details-marker{
  display:none;
}

.ai-vendor-item summary::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:5px;
  border-radius:0 999px 999px 0;
  background:linear-gradient(180deg,#1b66d1,#47a3ff);
}

.ai-vendor-item summary::after{
  content:"+";
  position:absolute;
  right:28px;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:999px;
  background:#eef5ff;
  color:#1b66d1;
  display:grid;
  place-items:center;
  font-size:24px;
  font-weight:800;
  box-shadow:inset 0 0 0 1px #d9e8ff;
}

.ai-vendor-item[open] summary::after{
  content:"–";
  background:#1b66d1;
  color:#ffffff;
}

.ai-vendor-name{
  color:#0f172a;
  font-size:1.22rem;
  font-weight:900;
  letter-spacing:-.02em;
}

.ai-vendor-short{
  color:#526072;
  line-height:1.65;
}

.ai-vendor-detail{
  border-top:1px solid #e7edf5;
  padding:24px 30px 30px 260px;
  background:
    linear-gradient(90deg,rgba(238,245,255,.85),rgba(255,255,255,.65));
}

.ai-vendor-detail p{
  margin:0;
  color:#334155;
  line-height:1.75;
}

/* Strong visual divider between AI sections */
.ai-section-divider{
  height:72px;
  background:
    linear-gradient(90deg,transparent,#d9e2ec,transparent),
    linear-gradient(180deg,#ffffff,#f5f8fc);
  display:flex;
  align-items:center;
  justify-content:center;
}

.ai-section-divider span{
  width:86px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,#1b66d1,#47a3ff);
}

/* Business use cases */
.ai-use-case-grid{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.ai-use-case-card{
  background:#ffffff;
  border:1px solid #d9e2ec;
  border-radius:28px;
  padding:32px;
  min-height:245px;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.ai-use-case-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 15%, rgba(27,102,209,.14), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(71,163,255,.16), transparent 28%);
  pointer-events:none;
}

.ai-use-case-card::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:118px;
  height:118px;
  border-radius:999px;
  background:#eef5ff;
  border:1px solid #d9e8ff;
}

.ai-use-case-card:hover{
  transform:translateY(-7px);
  box-shadow:0 30px 64px rgba(15,23,42,.14);
  border-color:#b9d4f7;
}

.ai-use-case-card h3,
.ai-use-case-card p{
  position:relative;
  z-index:1;
}

.ai-use-case-card h3{
  color:#0f172a;
  font-size:1.24rem;
  line-height:1.25;
  margin:0 0 14px;
  letter-spacing:-.02em;
}

.ai-use-case-card p{
  color:#526072;
  line-height:1.7;
  margin:0;
}

.ai-use-case-icon{
  display:none;
}

/* Mobile */
@media (max-width: 900px){
  .ai-use-case-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width: 760px){
  .ai-vendors-section,
  .ai-use-cases-section{
    padding:62px 0;
  }

  .ai-vendor-item summary{
    grid-template-columns:1fr;
    padding:24px 66px 24px 24px;
  }

  .ai-vendor-detail{
    padding:22px 24px 26px;
  }

  .ai-use-case-grid{
    grid-template-columns:1fr;
  }

  .ai-use-case-card{
    min-height:auto;
    padding:28px;
  }

  .ai-section-divider{
    height:52px;
  }
}

@media (min-width: 901px){
  .main-navigation .menu-item-has-children > a{
    pointer-events:auto;
  }
}

/* =========================
   SOLUTIONS PAGE MODERN
   ========================= */

.page-solutions-modern{
  background:#ffffff;
}

/* HERO */

.solutions-hero-modern{
  padding:96px 0 82px;
  background:
    radial-gradient(circle at 12% 12%, rgba(27,102,209,.16), transparent 32%),
    radial-gradient(circle at 92% 18%, rgba(71,163,255,.16), transparent 30%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
  border-bottom:1px solid #d9e2ec;
  overflow:hidden;
}

.solutions-hero-inner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:42px;
  align-items:center;
}

.solutions-hero-copy{
  max-width:760px;
}

.solutions-hero-copy h1{
  margin:14px 0 20px;
  color:#0f172a;
  font-size:clamp(2.35rem,5vw,4.35rem);
  line-height:1.02;
  letter-spacing:-.045em;
}

.solutions-hero-copy .hero-lead{
  max-width:680px;
  color:#526072;
  font-size:1.18rem;
  line-height:1.75;
  margin:0;
}

.solutions-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}

.solutions-hero-panel{
  background:#0f172a;
  color:#ffffff;
  border-radius:32px;
  padding:34px;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
  position:relative;
  overflow:hidden;
}

.solutions-hero-panel::before{
  content:"";
  position:absolute;
  right:-70px;
  top:-70px;
  width:190px;
  height:190px;
  border-radius:999px;
  background:rgba(71,163,255,.24);
}

.solutions-hero-panel h2{
  position:relative;
  z-index:1;
  margin:0 0 22px;
  color:#ffffff;
  font-size:1.55rem;
}

.solutions-hero-panel ul{
  position:relative;
  z-index:1;
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:14px;
}

.solutions-hero-panel li{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:14px 16px 14px 44px;
  color:#dbeafe;
  line-height:1.45;
  position:relative;
}

.solutions-hero-panel li::before{
  content:"";
  position:absolute;
  left:16px;
  top:18px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#47a3ff;
  box-shadow:0 0 0 5px rgba(71,163,255,.14);
}

/* INTRO */

.solutions-intro-modern{
  padding:86px 0;
  background:#ffffff;
}

.solutions-intro-heading{
  max-width:850px;
  margin:0 auto;
  text-align:center;
}

.solutions-intro-heading h2{
  margin:12px 0 18px;
  color:#0f172a;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.08;
  letter-spacing:-.035em;
}

.solutions-intro-heading p{
  color:#526072;
  font-size:1.08rem;
  line-height:1.75;
  margin:0;
}

.solutions-intro-grid{
  margin-top:38px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.solutions-intro-grid article{
  background:#f8fbff;
  border:1px solid #d9e2ec;
  border-radius:26px;
  padding:30px;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  position:relative;
  overflow:hidden;
}

.solutions-intro-grid article::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:6px;
  background:linear-gradient(90deg,#1b66d1,#47a3ff);
}

.solutions-intro-grid h3{
  color:#0f172a;
  margin:0 0 12px;
  font-size:1.25rem;
}

.solutions-intro-grid p{
  color:#526072;
  line-height:1.65;
  margin:0;
}

/* SOLUTIONS CARDS */

.solutions-services-section{
  padding:96px 0;
  background:
    radial-gradient(circle at 10% 8%, rgba(27,102,209,.12), transparent 30%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
  border-top:1px solid #d9e2ec;
  border-bottom:1px solid #d9e2ec;
}

.solutions-card-grid{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.solution-service-card{
  background:#ffffff;
  border:1px solid #d9e2ec;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
  display:flex;
  flex-direction:column;
  min-height:100%;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.solution-service-card:hover{
  transform:translateY(-7px);
  box-shadow:0 30px 64px rgba(15,23,42,.14);
  border-color:#b9d4f7;
}

.solution-service-image{
  height:185px;
  overflow:hidden;
  background:#eaf1f9;
}

.solution-service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}

.solution-service-card:hover .solution-service-image img{
  transform:scale(1.05);
}

.solution-service-content{
  padding:26px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.solution-service-content span{
  color:#1b66d1;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:10px;
}

.solution-service-content h3{
  color:#0f172a;
  font-size:1.18rem;
  line-height:1.25;
  margin:0 0 12px;
  letter-spacing:-.02em;
}

.solution-service-content p{
  color:#526072;
  line-height:1.65;
  margin:0 0 20px;
}

.solution-service-content a{
  margin-top:auto;
  color:#1b66d1;
  font-weight:800;
  text-decoration:none;
}

.solution-service-content a:hover{
  text-decoration:underline;
}

/* APPROACH */

.solutions-approach-section{
  padding:96px 0;
  background:
    radial-gradient(circle at 15% 10%, rgba(27,102,209,.16), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f5f8fc 100%);
  border-bottom:1px solid #d9e2ec;
}

.solutions-approach-panel{
  background:#0f172a;
  color:#ffffff;
  border-radius:34px;
  padding:48px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:42px;
  box-shadow:0 28px 70px rgba(15,23,42,.22);
  position:relative;
  overflow:hidden;
}

.solutions-approach-panel::before{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:260px;
  height:260px;
  border-radius:999px;
  background:rgba(71,163,255,.22);
}

.solutions-approach-copy,
.solutions-approach-steps{
  position:relative;
  z-index:1;
}

.solutions-approach-copy .eyebrow{
  color:#93c5fd;
}

.solutions-approach-copy h2{
  color:#ffffff;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.05;
  margin:12px 0 18px;
  letter-spacing:-.035em;
}

.solutions-approach-copy p{
  color:#dbeafe;
  line-height:1.75;
  font-size:1.05rem;
  margin:0;
}

.solutions-approach-steps{
  display:grid;
  gap:18px;
}

.solutions-approach-steps article{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  padding:24px;
  backdrop-filter:blur(10px);
  transition:transform .25s ease, background .25s ease;
}

.solutions-approach-steps article:hover{
  transform:translateX(6px);
  background:rgba(255,255,255,.12);
}

.solutions-approach-steps span{
  display:inline-flex;
  margin-bottom:10px;
  color:#93c5fd;
  font-weight:800;
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.08em;
}

.solutions-approach-steps h3{
  color:#ffffff;
  margin:0 0 8px;
  font-size:1.2rem;
}

.solutions-approach-steps p{
  color:#dbeafe;
  margin:0;
  line-height:1.65;
}

/* WHY INTUITY */

.solutions-why-section{
  padding:96px 0;
  background:#ffffff;
}

.solutions-benefit-grid{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.solutions-benefit-grid article{
  background:#f8fbff;
  border:1px solid #d9e2ec;
  border-radius:26px;
  padding:28px;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  position:relative;
  overflow:hidden;
}

.solutions-benefit-grid article::before{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:112px;
  height:112px;
  border-radius:999px;
  background:#eef5ff;
  border:1px solid #d9e8ff;
}

.solutions-benefit-grid h3,
.solutions-benefit-grid p{
  position:relative;
  z-index:1;
}

.solutions-benefit-grid h3{
  color:#0f172a;
  margin:0 0 12px;
  font-size:1.18rem;
}

.solutions-benefit-grid p{
  color:#526072;
  line-height:1.65;
  margin:0;
}

/* CTA */

.solutions-cta-modern{
  padding:86px 0 96px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27,102,209,.15), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f5f8fc 100%);
}

.solutions-cta-panel{
  background:#0f172a;
  color:#ffffff;
  border-radius:34px;
  padding:46px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
  align-items:center;
  box-shadow:0 28px 70px rgba(15,23,42,.22);
  position:relative;
  overflow:hidden;
}

.solutions-cta-panel::before{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:230px;
  height:230px;
  border-radius:999px;
  background:rgba(71,163,255,.24);
}

.solutions-cta-panel::after{
  content:"";
  position:absolute;
  left:-70px;
  bottom:-70px;
  width:180px;
  height:180px;
  border-radius:999px;
  background:rgba(27,102,209,.22);
}

.solutions-cta-copy,
.solutions-cta-action{
  position:relative;
  z-index:1;
}

.solutions-cta-copy .eyebrow{
  color:#93c5fd;
}

.solutions-cta-copy h2{
  color:#ffffff;
  margin:12px 0 14px;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.05;
  letter-spacing:-.035em;
}

.solutions-cta-copy p{
  color:#dbeafe;
  line-height:1.75;
  margin:0;
  max-width:720px;
  font-size:1.05rem;
}

.solutions-cta-action{
  display:grid;
  gap:12px;
  justify-items:center;
}

.solutions-cta-action span{
  color:#bfdbfe;
  font-size:.95rem;
  text-align:center;
}

/* RESPONSIVE */

@media (max-width:1200px){
  .solutions-card-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .solutions-benefit-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:900px){
  .solutions-hero-inner,
  .solutions-intro-grid,
  .solutions-approach-panel,
  .solutions-cta-panel{
    grid-template-columns:1fr;
  }

  .solutions-card-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .solutions-cta-action{
    justify-items:start;
  }
}

@media (max-width:760px){
  .solutions-hero-modern{
    padding:66px 0 56px;
  }

  .solutions-intro-modern,
  .solutions-services-section,
  .solutions-approach-section,
  .solutions-why-section,
  .solutions-cta-modern{
    padding:62px 0;
  }

  .solutions-hero-panel{
    padding:26px;
    border-radius:26px;
  }

  .solutions-card-grid,
  .solutions-benefit-grid{
    grid-template-columns:1fr;
  }

  .solution-service-image{
    height:210px;
  }

  .solutions-approach-panel,
  .solutions-cta-panel{
    padding:30px;
    border-radius:26px;
  }

  .solutions-approach-steps article:hover{
    transform:none;
  }
}

/* =========================
   MOBILE PAGE MODERN
   ========================= */

.page-mobile-modern{
  background:#ffffff;
}

/* HERO */

.mobile-hero-modern{
  padding:96px 0 82px;
  background:
    radial-gradient(circle at 12% 12%, rgba(27,102,209,.16), transparent 32%),
    radial-gradient(circle at 92% 18%, rgba(71,163,255,.16), transparent 30%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
  border-bottom:1px solid #d9e2ec;
  overflow:hidden;
}

.mobile-hero-inner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:42px;
  align-items:center;
}

.mobile-hero-copy{
  max-width:760px;
}

.mobile-hero-copy h1{
  margin:14px 0 20px;
  color:#0f172a;
  font-size:clamp(2.35rem,5vw,4.35rem);
  line-height:1.02;
  letter-spacing:-.045em;
}

.mobile-hero-copy .hero-lead{
  max-width:680px;
  color:#526072;
  font-size:1.18rem;
  line-height:1.75;
  margin:0;
}

.mobile-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}

.mobile-hero-panel{
  background:#0f172a;
  color:#ffffff;
  border-radius:32px;
  padding:34px;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
  position:relative;
  overflow:hidden;
}

.mobile-hero-panel::before{
  content:"";
  position:absolute;
  right:-70px;
  top:-70px;
  width:190px;
  height:190px;
  border-radius:999px;
  background:rgba(71,163,255,.24);
}

.mobile-hero-panel h2{
  position:relative;
  z-index:1;
  margin:0 0 22px;
  color:#ffffff;
  font-size:1.55rem;
}

.mobile-hero-panel ul{
  position:relative;
  z-index:1;
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:14px;
}

.mobile-hero-panel li{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:14px 16px 14px 44px;
  color:#dbeafe;
  line-height:1.45;
  position:relative;
}

.mobile-hero-panel li::before{
  content:"";
  position:absolute;
  left:16px;
  top:18px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#47a3ff;
  box-shadow:0 0 0 5px rgba(71,163,255,.14);
}

/* INTRO */

.mobile-intro-modern{
  padding:86px 0;
  background:#ffffff;
}

.mobile-intro-heading{
  max-width:850px;
  margin:0 auto;
  text-align:center;
}

.mobile-intro-heading h2{
  margin:12px 0 18px;
  color:#0f172a;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.08;
  letter-spacing:-.035em;
}

.mobile-intro-heading p{
  color:#526072;
  font-size:1.08rem;
  line-height:1.75;
  margin:0;
}

.mobile-intro-grid{
  margin-top:38px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.mobile-intro-grid article{
  background:#f8fbff;
  border:1px solid #d9e2ec;
  border-radius:26px;
  padding:30px;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  position:relative;
  overflow:hidden;
}

.mobile-intro-grid article::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:6px;
  background:linear-gradient(90deg,#1b66d1,#47a3ff);
}

.mobile-intro-grid h3{
  color:#0f172a;
  margin:0 0 12px;
  font-size:1.25rem;
}

.mobile-intro-grid p{
  color:#526072;
  line-height:1.65;
  margin:0;
}

/* SERVICES */

.mobile-services-section{
  padding:96px 0;
  background:
    radial-gradient(circle at 10% 8%, rgba(27,102,209,.12), transparent 30%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
  border-top:1px solid #d9e2ec;
  border-bottom:1px solid #d9e2ec;
}

.mobile-card-grid{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.mobile-service-card{
  background:#ffffff;
  border:1px solid #d9e2ec;
  border-radius:28px;
  padding:32px;
  min-height:230px;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.mobile-service-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 15%, rgba(27,102,209,.14), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(71,163,255,.16), transparent 28%);
  pointer-events:none;
}

.mobile-service-card::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:118px;
  height:118px;
  border-radius:999px;
  background:#eef5ff;
  border:1px solid #d9e8ff;
}

.mobile-service-card:hover{
  transform:translateY(-7px);
  box-shadow:0 30px 64px rgba(15,23,42,.14);
  border-color:#b9d4f7;
}

.mobile-service-card h3,
.mobile-service-card p{
  position:relative;
  z-index:1;
}

.mobile-service-card h3{
  color:#0f172a;
  font-size:1.24rem;
  line-height:1.25;
  margin:0 0 14px;
  letter-spacing:-.02em;
}

.mobile-service-card p{
  color:#526072;
  line-height:1.7;
  margin:0;
}

/* APPROACH */

.mobile-approach-section{
  padding:96px 0;
  background:
    radial-gradient(circle at 15% 10%, rgba(27,102,209,.16), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f5f8fc 100%);
  border-bottom:1px solid #d9e2ec;
}

.mobile-approach-panel{
  background:#0f172a;
  color:#ffffff;
  border-radius:34px;
  padding:48px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:42px;
  box-shadow:0 28px 70px rgba(15,23,42,.22);
  position:relative;
  overflow:hidden;
}

.mobile-approach-panel::before{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:260px;
  height:260px;
  border-radius:999px;
  background:rgba(71,163,255,.22);
}

.mobile-approach-copy,
.mobile-approach-steps{
  position:relative;
  z-index:1;
}

.mobile-approach-copy .eyebrow{
  color:#93c5fd;
}

.mobile-approach-copy h2{
  color:#ffffff;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.05;
  margin:12px 0 18px;
  letter-spacing:-.035em;
}

.mobile-approach-copy p{
  color:#dbeafe;
  line-height:1.75;
  font-size:1.05rem;
  margin:0;
}

.mobile-approach-steps{
  display:grid;
  gap:18px;
}

.mobile-approach-steps article{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  padding:24px;
  backdrop-filter:blur(10px);
  transition:transform .25s ease, background .25s ease;
}

.mobile-approach-steps article:hover{
  transform:translateX(6px);
  background:rgba(255,255,255,.12);
}

.mobile-approach-steps span{
  display:inline-flex;
  margin-bottom:10px;
  color:#93c5fd;
  font-weight:800;
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.08em;
}

.mobile-approach-steps h3{
  color:#ffffff;
  margin:0 0 8px;
  font-size:1.2rem;
}

.mobile-approach-steps p{
  color:#dbeafe;
  margin:0;
  line-height:1.65;
}

/* USE CASES */

.mobile-use-cases-section{
  padding:96px 0;
  background:#ffffff;
}

.mobile-use-case-grid{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.mobile-use-case-grid article{
  background:#ffffff;
  border:1px solid #d9e2ec;
  border-radius:28px;
  padding:32px;
  min-height:220px;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.mobile-use-case-grid article::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 15%, rgba(27,102,209,.14), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(71,163,255,.16), transparent 28%);
  pointer-events:none;
}

.mobile-use-case-grid article:hover{
  transform:translateY(-7px);
  box-shadow:0 30px 64px rgba(15,23,42,.14);
  border-color:#b9d4f7;
}

.mobile-use-case-grid h3,
.mobile-use-case-grid p{
  position:relative;
  z-index:1;
}

.mobile-use-case-grid h3{
  color:#0f172a;
  margin:0 0 14px;
  font-size:1.24rem;
  line-height:1.25;
}

.mobile-use-case-grid p{
  color:#526072;
  line-height:1.7;
  margin:0;
}

/* WHY INTUITY */

.mobile-why-section{
  padding:96px 0;
  background:
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
  border-top:1px solid #d9e2ec;
}

.mobile-benefit-grid{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.mobile-benefit-grid article{
  background:#f8fbff;
  border:1px solid #d9e2ec;
  border-radius:26px;
  padding:28px;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  position:relative;
  overflow:hidden;
}

.mobile-benefit-grid article::before{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:112px;
  height:112px;
  border-radius:999px;
  background:#eef5ff;
  border:1px solid #d9e8ff;
}

.mobile-benefit-grid h3,
.mobile-benefit-grid p{
  position:relative;
  z-index:1;
}

.mobile-benefit-grid h3{
  color:#0f172a;
  margin:0 0 12px;
  font-size:1.18rem;
}

.mobile-benefit-grid p{
  color:#526072;
  line-height:1.65;
  margin:0;
}

/* FAQ */

.mobile-faq-section{
  padding:96px 0;
  background:#ffffff;
  border-top:1px solid #d9e2ec;
}

.mobile-faq-list{
  max-width:960px;
  margin:42px auto 0;
  display:grid;
  gap:16px;
}

.mobile-faq-list details{
  background:#ffffff;
  border:1px solid #d9e2ec;
  border-radius:22px;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  overflow:hidden;
}

.mobile-faq-list summary{
  cursor:pointer;
  list-style:none;
  padding:22px 66px 22px 24px;
  color:#0f172a;
  font-weight:800;
  position:relative;
}

.mobile-faq-list summary::-webkit-details-marker{
  display:none;
}

.mobile-faq-list summary::after{
  content:"+";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:999px;
  background:#eef5ff;
  color:#1b66d1;
  display:grid;
  place-items:center;
  font-size:22px;
  font-weight:800;
}

.mobile-faq-list details[open] summary::after{
  content:"–";
  background:#1b66d1;
  color:#ffffff;
}

.mobile-faq-list p{
  border-top:1px solid #e7edf5;
  padding:20px 24px 24px;
  margin:0;
  color:#526072;
  line-height:1.7;
  background:#f8fbff;
}

/* CTA */

.mobile-cta-modern{
  padding:86px 0 96px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27,102,209,.15), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f5f8fc 100%);
}

.mobile-cta-panel{
  background:#0f172a;
  color:#ffffff;
  border-radius:34px;
  padding:46px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
  align-items:center;
  box-shadow:0 28px 70px rgba(15,23,42,.22);
  position:relative;
  overflow:hidden;
}

.mobile-cta-panel::before{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:230px;
  height:230px;
  border-radius:999px;
  background:rgba(71,163,255,.24);
}

.mobile-cta-panel::after{
  content:"";
  position:absolute;
  left:-70px;
  bottom:-70px;
  width:180px;
  height:180px;
  border-radius:999px;
  background:rgba(27,102,209,.22);
}

.mobile-cta-copy,
.mobile-cta-action{
  position:relative;
  z-index:1;
}

.mobile-cta-copy .eyebrow{
  color:#93c5fd;
}

.mobile-cta-copy h2{
  color:#ffffff;
  margin:12px 0 14px;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.05;
  letter-spacing:-.035em;
}

.mobile-cta-copy p{
  color:#dbeafe;
  line-height:1.75;
  margin:0;
  max-width:720px;
  font-size:1.05rem;
}

.mobile-cta-action{
  display:grid;
  gap:12px;
  justify-items:center;
}

.mobile-cta-action span{
  color:#bfdbfe;
  font-size:.95rem;
  text-align:center;
}

/* RESPONSIVE */

@media (max-width:1200px){
  .mobile-benefit-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:900px){
  .mobile-hero-inner,
  .mobile-intro-grid,
  .mobile-card-grid,
  .mobile-approach-panel,
  .mobile-use-case-grid,
  .mobile-cta-panel{
    grid-template-columns:1fr;
  }

  .mobile-cta-action{
    justify-items:start;
  }
}

@media (max-width:760px){
  .mobile-hero-modern{
    padding:66px 0 56px;
  }

  .mobile-intro-modern,
  .mobile-services-section,
  .mobile-approach-section,
  .mobile-use-cases-section,
  .mobile-why-section,
  .mobile-faq-section,
  .mobile-cta-modern{
    padding:62px 0;
  }

  .mobile-hero-panel{
    padding:26px;
    border-radius:26px;
  }

  .mobile-benefit-grid{
    grid-template-columns:1fr;
  }

  .mobile-service-card,
  .mobile-use-case-grid article{
    min-height:auto;
    padding:28px;
  }

  .mobile-approach-panel,
  .mobile-cta-panel{
    padding:30px;
    border-radius:26px;
  }

  .mobile-approach-steps article:hover{
    transform:none;
  }
}

/* =========================
   IT SUPPORT PAGE MODERN
   ========================= */

.page-it-support-modern{
  background:#ffffff;
}

.it-hero-modern{
  padding:96px 0 82px;
  background:
    radial-gradient(circle at 12% 12%, rgba(27,102,209,.16), transparent 32%),
    radial-gradient(circle at 92% 18%, rgba(71,163,255,.16), transparent 30%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
  border-bottom:1px solid #d9e2ec;
  overflow:hidden;
}

.it-hero-inner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:42px;
  align-items:center;
}

.it-hero-copy{
  max-width:760px;
}

.it-hero-copy h1{
  margin:14px 0 20px;
  color:#0f172a;
  font-size:clamp(2.35rem,5vw,4.35rem);
  line-height:1.02;
  letter-spacing:-.045em;
}

.it-hero-copy .hero-lead{
  max-width:680px;
  color:#526072;
  font-size:1.18rem;
  line-height:1.75;
  margin:0;
}

.it-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}

.it-hero-panel{
  background:#0f172a;
  color:#ffffff;
  border-radius:32px;
  padding:34px;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
  position:relative;
  overflow:hidden;
}

.it-hero-panel::before{
  content:"";
  position:absolute;
  right:-70px;
  top:-70px;
  width:190px;
  height:190px;
  border-radius:999px;
  background:rgba(71,163,255,.24);
}

.it-hero-panel h2{
  position:relative;
  z-index:1;
  margin:0 0 22px;
  color:#ffffff;
  font-size:1.55rem;
}

.it-hero-panel ul{
  position:relative;
  z-index:1;
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:14px;
}

.it-hero-panel li{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:14px 16px 14px 44px;
  color:#dbeafe;
  line-height:1.45;
  position:relative;
}

.it-hero-panel li::before{
  content:"";
  position:absolute;
  left:16px;
  top:18px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#47a3ff;
  box-shadow:0 0 0 5px rgba(71,163,255,.14);
}

.it-intro-modern,
.it-use-cases-section,
.it-faq-section{
  padding:86px 0;
  background:#ffffff;
}

.it-intro-heading{
  max-width:850px;
  margin:0 auto;
  text-align:center;
}

.it-intro-heading h2{
  margin:12px 0 18px;
  color:#0f172a;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.08;
  letter-spacing:-.035em;
}

.it-intro-heading p{
  color:#526072;
  font-size:1.08rem;
  line-height:1.75;
  margin:0;
}

.it-intro-grid{
  margin-top:38px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.it-intro-grid article{
  background:#f8fbff;
  border:1px solid #d9e2ec;
  border-radius:26px;
  padding:30px;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  position:relative;
  overflow:hidden;
}

.it-intro-grid article::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:6px;
  background:linear-gradient(90deg,#1b66d1,#47a3ff);
}

.it-intro-grid h3{
  color:#0f172a;
  margin:0 0 12px;
  font-size:1.25rem;
}

.it-intro-grid p{
  color:#526072;
  line-height:1.65;
  margin:0;
}

.it-services-section{
  padding:96px 0;
  background:
    radial-gradient(circle at 10% 8%, rgba(27,102,209,.12), transparent 30%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
  border-top:1px solid #d9e2ec;
  border-bottom:1px solid #d9e2ec;
}

.it-card-grid,
.it-use-case-grid{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.it-service-card,
.it-use-case-grid article{
  background:#ffffff;
  border:1px solid #d9e2ec;
  border-radius:28px;
  padding:32px;
  min-height:220px;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.it-service-card::before,
.it-use-case-grid article::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 15%, rgba(27,102,209,.14), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(71,163,255,.16), transparent 28%);
  pointer-events:none;
}

.it-service-card::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:118px;
  height:118px;
  border-radius:999px;
  background:#eef5ff;
  border:1px solid #d9e8ff;
}

.it-service-card:hover,
.it-use-case-grid article:hover{
  transform:translateY(-7px);
  box-shadow:0 30px 64px rgba(15,23,42,.14);
  border-color:#b9d4f7;
}

.it-service-card h3,
.it-service-card p,
.it-use-case-grid h3,
.it-use-case-grid p{
  position:relative;
  z-index:1;
}

.it-service-card h3,
.it-use-case-grid h3{
  color:#0f172a;
  font-size:1.24rem;
  line-height:1.25;
  margin:0 0 14px;
  letter-spacing:-.02em;
}

.it-service-card p,
.it-use-case-grid p{
  color:#526072;
  line-height:1.7;
  margin:0;
}

.it-approach-section{
  padding:96px 0;
  background:
    radial-gradient(circle at 15% 10%, rgba(27,102,209,.16), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f5f8fc 100%);
  border-bottom:1px solid #d9e2ec;
}

.it-approach-panel{
  background:#0f172a;
  color:#ffffff;
  border-radius:34px;
  padding:48px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:42px;
  box-shadow:0 28px 70px rgba(15,23,42,.22);
  position:relative;
  overflow:hidden;
}

.it-approach-panel::before{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:260px;
  height:260px;
  border-radius:999px;
  background:rgba(71,163,255,.22);
}

.it-approach-copy,
.it-approach-steps{
  position:relative;
  z-index:1;
}

.it-approach-copy .eyebrow{
  color:#93c5fd;
}

.it-approach-copy h2{
  color:#ffffff;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.05;
  margin:12px 0 18px;
  letter-spacing:-.035em;
}

.it-approach-copy p{
  color:#dbeafe;
  line-height:1.75;
  font-size:1.05rem;
  margin:0;
}

.it-approach-steps{
  display:grid;
  gap:18px;
}

.it-approach-steps article{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  padding:24px;
  backdrop-filter:blur(10px);
  transition:transform .25s ease, background .25s ease;
}

.it-approach-steps article:hover{
  transform:translateX(6px);
  background:rgba(255,255,255,.12);
}

.it-approach-steps span{
  display:inline-flex;
  margin-bottom:10px;
  color:#93c5fd;
  font-weight:800;
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.08em;
}

.it-approach-steps h3{
  color:#ffffff;
  margin:0 0 8px;
  font-size:1.2rem;
}

.it-approach-steps p{
  color:#dbeafe;
  margin:0;
  line-height:1.65;
}

.it-why-section{
  padding:96px 0;
  background:linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
  border-top:1px solid #d9e2ec;
}

.it-benefit-grid{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.it-benefit-grid article{
  background:#f8fbff;
  border:1px solid #d9e2ec;
  border-radius:26px;
  padding:28px;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  position:relative;
  overflow:hidden;
}

.it-benefit-grid article::before{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:112px;
  height:112px;
  border-radius:999px;
  background:#eef5ff;
  border:1px solid #d9e8ff;
}

.it-benefit-grid h3,
.it-benefit-grid p{
  position:relative;
  z-index:1;
}

.it-benefit-grid h3{
  color:#0f172a;
  margin:0 0 12px;
  font-size:1.18rem;
}

.it-benefit-grid p{
  color:#526072;
  line-height:1.65;
  margin:0;
}

.it-faq-section{
  border-top:1px solid #d9e2ec;
}

.it-faq-list{
  max-width:960px;
  margin:42px auto 0;
  display:grid;
  gap:16px;
}

.it-faq-list details{
  background:#ffffff;
  border:1px solid #d9e2ec;
  border-radius:22px;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  overflow:hidden;
}

.it-faq-list summary{
  cursor:pointer;
  list-style:none;
  padding:22px 66px 22px 24px;
  color:#0f172a;
  font-weight:800;
  position:relative;
}

.it-faq-list summary::-webkit-details-marker{
  display:none;
}

.it-faq-list summary::after{
  content:"+";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:999px;
  background:#eef5ff;
  color:#1b66d1;
  display:grid;
  place-items:center;
  font-size:22px;
  font-weight:800;
}

.it-faq-list details[open] summary::after{
  content:"–";
  background:#1b66d1;
  color:#ffffff;
}

.it-faq-list p{
  border-top:1px solid #e7edf5;
  padding:20px 24px 24px;
  margin:0;
  color:#526072;
  line-height:1.7;
  background:#f8fbff;
}

.it-cta-modern{
  padding:86px 0 96px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27,102,209,.15), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f5f8fc 100%);
}

.it-cta-panel{
  background:#0f172a;
  color:#ffffff;
  border-radius:34px;
  padding:46px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
  align-items:center;
  box-shadow:0 28px 70px rgba(15,23,42,.22);
  position:relative;
  overflow:hidden;
}

.it-cta-panel::before{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:230px;
  height:230px;
  border-radius:999px;
  background:rgba(71,163,255,.24);
}

.it-cta-panel::after{
  content:"";
  position:absolute;
  left:-70px;
  bottom:-70px;
  width:180px;
  height:180px;
  border-radius:999px;
  background:rgba(27,102,209,.22);
}

.it-cta-copy,
.it-cta-action{
  position:relative;
  z-index:1;
}

.it-cta-copy .eyebrow{
  color:#93c5fd;
}

.it-cta-copy h2{
  color:#ffffff;
  margin:12px 0 14px;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.05;
  letter-spacing:-.035em;
}

.it-cta-copy p{
  color:#dbeafe;
  line-height:1.75;
  margin:0;
  max-width:720px;
  font-size:1.05rem;
}

.it-cta-action{
  display:grid;
  gap:12px;
  justify-items:center;
}

.it-cta-action span{
  color:#bfdbfe;
  font-size:.95rem;
  text-align:center;
}

@media (max-width:1200px){
  .it-benefit-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:900px){
  .it-hero-inner,
  .it-intro-grid,
  .it-card-grid,
  .it-approach-panel,
  .it-use-case-grid,
  .it-cta-panel{
    grid-template-columns:1fr;
  }

  .it-cta-action{
    justify-items:start;
  }
}

@media (max-width:760px){
  .it-hero-modern{
    padding:66px 0 56px;
  }

  .it-intro-modern,
  .it-services-section,
  .it-approach-section,
  .it-use-cases-section,
  .it-why-section,
  .it-faq-section,
  .it-cta-modern{
    padding:62px 0;
  }

  .it-hero-panel{
    padding:26px;
    border-radius:26px;
  }

  .it-benefit-grid{
    grid-template-columns:1fr;
  }

  .it-service-card,
  .it-use-case-grid article{
    min-height:auto;
    padding:28px;
  }

  .it-approach-panel,
  .it-cta-panel{
    padding:30px;
    border-radius:26px;
  }

  .it-approach-steps article:hover{
    transform:none;
  }
}

/* =========================
   FIXED FLOATING MENU BAR
   ========================= */

body{
  overflow-x:hidden;
}

/* Keep full header above page content */
.site-header,
header.site-header,
#masthead{
  position:sticky !important;
  top:0 !important;
  z-index:99999 !important;
  background:#ffffff !important;
}

/* Float the menu itself in the top-right */
.site-header .main-navigation,
#masthead .main-navigation,
nav.main-navigation{
  position:fixed !important;
  top:118px !important;
  right:28px !important;
  left:auto !important;
  width:auto !important;
  max-width:calc(100vw - 56px) !important;
  z-index:100000 !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid #d9e2ec !important;
  border-radius:999px !important;
  padding:8px 10px !important;
  box-shadow:0 18px 44px rgba(15,23,42,.16) !important;
  backdrop-filter:blur(14px);
}

/* Keep menu items in one row on desktop */
.site-header .main-navigation > div > ul,
.site-header .main-navigation ul.menu,
#masthead .main-navigation ul.menu{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
  padding:0 !important;
}

/* Better submenu hover gap */
.main-navigation .menu-item-has-children{
  position:relative !important;
}

.main-navigation .menu-item-has-children::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:36px;
  background:transparent;
}

.main-navigation .sub-menu{
  margin-top:20px !important;
  z-index:100001 !important;
}

/* Mobile: do not float the menu */
@media (max-width:900px){
  .site-header .main-navigation,
  #masthead .main-navigation,
  nav.main-navigation{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    max-width:100% !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#ffffff !important;
  }
}


.main-navigation .menu-item-has-children.submenu-open > .sub-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

/* =========================
   STICKY TOP MENU - ALL PAGES
   ========================= */

/* Remove red test border if still present */
nav{
  outline:none !important;
}

/* Keep the whole header fixed at top */
.site-header,
header,
#masthead{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:999999 !important;
  background:#ffffff !important;
  box-shadow:0 10px 30px rgba(15,23,42,.08) !important;
}

/* Stop page content hiding behind fixed header */
body{
  padding-top:120px !important;
}

/* Keep the nav visible in the top right */
.site-header nav,
header nav,
#masthead nav,
.main-navigation{
  position:relative !important;
  z-index:1000000 !important;
  display:flex !important;
  justify-content:flex-end !important;
}

/* Desktop menu layout */
.site-header nav ul,
header nav ul,
#masthead nav ul,
.main-navigation ul{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
}

/* Admin bar fix */
.admin-bar .site-header,
.admin-bar header,
.admin-bar #masthead{
  top:32px !important;
}

.admin-bar body{
  padding-top:152px !important;
}

/* Mobile */
@media (max-width:782px){
  .admin-bar .site-header,
  .admin-bar header,
  .admin-bar #masthead{
    top:46px !important;
  }

  body{
    padding-top:105px !important;
  }
}

@media (max-width:760px){
  body{
    padding-top:95px !important;
  }
}


/* =========================================================
   GLOBAL MENU FIX
   Forces dropdown menus to display vertically on all pages
   ========================================================= */

.site-header,
.main-header,
.header-main,
.header-navigation,
.primary-navigation,
.main-navigation,
.nav-primary {
  z-index: 99999;
}

/* Keep the main menu horizontal */
.main-navigation > ul,
.primary-navigation > ul,
.nav-primary > ul,
.menu-primary-menu-container > ul,
.site-header nav > ul {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: nowrap;
}

/* Reset all nested dropdown menus */
.main-navigation ul ul,
.primary-navigation ul ul,
.nav-primary ul ul,
.menu-primary-menu-container ul ul,
.site-header nav ul ul,
.site-header .sub-menu {
  display: block !important;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  width: max-content;
  max-width: 320px;
  padding: 10px;
  margin: 0;
  list-style: none;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  pointer-events: none;
  z-index: 999999;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
}

/* Important: stop submenu items becoming horizontal */
.main-navigation ul ul li,
.primary-navigation ul ul li,
.nav-primary ul ul li,
.menu-primary-menu-container ul ul li,
.site-header nav ul ul li,
.site-header .sub-menu li {
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 0 !important;
}

/* Dropdown links */
.main-navigation ul ul a,
.primary-navigation ul ul a,
.nav-primary ul ul a,
.menu-primary-menu-container ul ul a,
.site-header nav ul ul a,
.site-header .sub-menu a {
  display: block !important;
  width: 100% !important;
  padding: 11px 14px !important;
  white-space: nowrap;
  border-radius: 12px;
  color: #0f172a;
  text-decoration: none;
  line-height: 1.25;
}

/* Hover behaviour */
.main-navigation li,
.primary-navigation li,
.nav-primary li,
.menu-primary-menu-container li,
.site-header nav li {
  position: relative;
}

.main-navigation li:hover > ul,
.main-navigation li:focus-within > ul,
.primary-navigation li:hover > ul,
.primary-navigation li:focus-within > ul,
.nav-primary li:hover > ul,
.nav-primary li:focus-within > ul,
.menu-primary-menu-container li:hover > ul,
.menu-primary-menu-container li:focus-within > ul,
.site-header nav li:hover > ul,
.site-header nav li:focus-within > ul,
.site-header li:hover > .sub-menu,
.site-header li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition-delay: 0s;
}

/* Delay hiding dropdowns so users can move from parent to child menu */
.main-navigation ul ul,
.primary-navigation ul ul,
.nav-primary ul ul,
.menu-primary-menu-container ul ul,
.site-header nav ul ul,
.site-header .sub-menu {
  transition:
    opacity 0.18s ease 0.35s,
    visibility 0.18s ease 0.35s,
    transform 0.18s ease 0.35s;
}

.main-navigation li:hover > ul,
.main-navigation li:focus-within > ul,
.primary-navigation li:hover > ul,
.primary-navigation li:focus-within > ul,
.nav-primary li:hover > ul,
.nav-primary li:focus-within > ul,
.menu-primary-menu-container li:hover > ul,
.menu-primary-menu-container li:focus-within > ul,
.site-header nav li:hover > ul,
.site-header nav li:focus-within > ul,
.site-header li:hover > .sub-menu,
.site-header li:focus-within > .sub-menu {
  transition:
    opacity 0.18s ease 0s,
    visibility 0.18s ease 0s,
    transform 0.18s ease 0s;
}

/* Second-level dropdowns open to the side */
.main-navigation ul ul ul,
.primary-navigation ul ul ul,
.nav-primary ul ul ul,
.menu-primary-menu-container ul ul ul,
.site-header nav ul ul ul {
  top: 0;
  left: 100%;
  margin-left: 8px;
}

/* Stop page overflow caused by dropdowns or wide sections */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* Mobile menu: allow vertical stacking */
@media (max-width: 900px) {
  .main-navigation > ul,
  .primary-navigation > ul,
  .nav-primary > ul,
  .menu-primary-menu-container > ul,
  .site-header nav > ul {
    flex-wrap: wrap;
  }

  .main-navigation ul ul,
  .primary-navigation ul ul,
  .nav-primary ul ul,
  .menu-primary-menu-container ul ul,
  .site-header nav ul ul,
  .site-header .sub-menu {
    position: static;
    width: 100%;
    max-width: none;
    min-width: 0;
    box-shadow: none;
    border-radius: 12px;
    margin-top: 8px;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
  }

  .main-navigation ul ul a,
  .primary-navigation ul ul a,
  .nav-primary ul ul a,
  .menu-primary-menu-container ul ul a,
  .site-header nav ul ul a,
  .site-header .sub-menu a {
    white-space: normal;
  }
}

/* =========================================================
   MODERN HOMEPAGE
   Styled to match IT Support page
   ========================================================= */

.page-home-modern {
  background: linear-gradient(180deg, #f5f8fc 0%, #ffffff 34%, #f7fbff 100%);
  color: #0f172a;
  overflow-x: hidden;
}

.page-home-modern .container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.home-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 13px;
  border: 1px solid rgba(27, 102, 209, 0.18);
  border-radius: 999px;
  background: rgba(27, 102, 209, 0.08);
  color: #1b66d1;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home-hero {
  position: relative;
  padding: 88px 0 76px;
  background:
    radial-gradient(circle at 15% 18%, rgba(27, 102, 209, 0.16), transparent 32%),
    linear-gradient(135deg, #f5f8fc 0%, #ffffff 52%, #eef6ff 100%);
}

.home-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.12), transparent);
}

.home-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: 48px;
  align-items: center;
}

.home-hero-copy h1 {
  max-width: 760px;
  margin: 0;
  color: #0f172a;
  font-size: clamp(2.45rem, 5vw, 4.8rem);
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.home-hero-lead {
  max-width: 700px;
  margin: 24px 0 0;
  color: #526072;
  font-size: 1.16rem;
  line-height: 1.72;
}

.home-hero-actions,
.home-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.button-primary,
.button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.button-primary {
  background: #1b66d1;
  color: #ffffff;
  box-shadow: 0 16px 30px rgba(27, 102, 209, 0.24);
}

.button-primary:hover {
  transform: translateY(-2px);
  color: #ffffff;
  box-shadow: 0 20px 38px rgba(27, 102, 209, 0.28);
}

.button-secondary {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.button-secondary:hover {
  transform: translateY(-2px);
  color: #0f172a;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.10);
}

.home-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.home-hero-points div {
  padding: 10px 14px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #334155;
  font-size: 0.92rem;
  font-weight: 700;
}

.home-hero-panel {
  display: grid;
  gap: 18px;
}

.home-hero-panel-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(27, 102, 209, 0.92)),
    radial-gradient(circle at top right, rgba(255,255,255,0.20), transparent 34%);
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.home-hero-panel-card span {
  display: inline-block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home-hero-panel-card h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.home-hero-panel-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
}

.home-hero-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.home-hero-mini-grid div {
  min-height: 120px;
  padding: 20px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.home-hero-mini-grid strong,
.home-hero-mini-grid span {
  display: block;
}

.home-hero-mini-grid strong {
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 1.05rem;
}

.home-hero-mini-grid span {
  color: #526072;
  font-size: 0.95rem;
  line-height: 1.45;
}

.home-services,
.home-process {
  padding: 82px 0;
}

.home-section-heading {
  max-width: 760px;
  margin-bottom: 34px;
}

.home-section-heading h2,
.home-split-copy h2,
.home-cta h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.home-section-heading p,
.home-split-copy p,
.home-cta p {
  margin: 18px 0 0;
  color: #526072;
  font-size: 1.05rem;
  line-height: 1.7;
}

.home-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.home-service-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.home-service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(27, 102, 209, 0.24);
  box-shadow: 0 24px 52px rgba(15, 23, 42, 0.12);
}

.home-service-image {
  height: 168px;
  overflow: hidden;
  background: #eaf1f8;
}

.home-service-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-service-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}

.home-service-content h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.22rem;
  line-height: 1.2;
}

.home-service-content p {
  flex: 1;
  margin: 12px 0 18px;
  color: #526072;
  font-size: 0.96rem;
  line-height: 1.58;
}

.home-service-content a {
  width: fit-content;
  color: #1b66d1;
  font-weight: 800;
  text-decoration: none;
}

.home-service-content a:hover {
  text-decoration: underline;
}

.home-split-section {
  padding: 86px 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(27, 102, 209, 0.10), transparent 28%),
    #ffffff;
}

.home-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.72fr);
  gap: 34px;
  align-items: stretch;
}

.home-check-list {
  display: grid;
  gap: 16px;
  margin-top: 28px;
}

.home-check-list div {
  padding: 18px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 20px;
  background: #f8fbff;
}

.home-check-list strong,
.home-check-list span {
  display: block;
}

.home-check-list strong {
  margin-bottom: 7px;
  color: #0f172a;
}

.home-check-list span {
  color: #526072;
  line-height: 1.55;
}

.home-split-card {
  padding: 30px;
  border-radius: 28px;
  background: #0f172a;
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.home-split-card h3 {
  margin: 0 0 20px;
  color: #ffffff;
  font-size: 1.55rem;
}

.home-split-card ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-split-card li {
  position: relative;
  padding-left: 26px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}

.home-split-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #64a2ff;
}

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

.home-process-card {
  padding: 24px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.home-process-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  border-radius: 14px;
  background: rgba(27, 102, 209, 0.10);
  color: #1b66d1;
  font-weight: 900;
}

.home-process-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.2rem;
}

.home-process-card p {
  margin: 10px 0 0;
  color: #526072;
  line-height: 1.58;
}

.home-cta {
  padding: 76px 0 92px;
}

.home-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 38px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 12%, rgba(255,255,255,0.20), transparent 30%),
    linear-gradient(135deg, #0f172a 0%, #1b66d1 100%);
  color: #ffffff;
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.20);
}

.home-cta h2,
.home-cta p {
  color: #ffffff;
}

.home-cta p {
  color: rgba(255, 255, 255, 0.78);
}

.home-cta .home-eyebrow {
  border-color: rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.12);
  color: #ffffff;
}

.home-cta .button-secondary {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: none;
}

.home-cta .button-secondary:hover {
  color: #ffffff;
}

/* Tablet */
@media (max-width: 1100px) {
  .home-hero-inner,
  .home-split-grid {
    grid-template-columns: 1fr;
  }

  .home-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-cta-inner {
    grid-template-columns: 1fr;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .page-home-modern .container {
    width: min(100% - 28px, 1180px);
  }

  .home-hero {
    padding: 54px 0 52px;
  }

  .home-hero-inner {
    gap: 30px;
  }

  .home-hero-copy h1 {
    font-size: clamp(2.2rem, 12vw, 3.4rem);
    line-height: 1;
  }

  .home-hero-lead {
    font-size: 1rem;
    line-height: 1.65;
  }

  .home-hero-actions,
  .home-cta-actions {
    flex-direction: column;
  }

  .home-hero-actions a,
  .home-cta-actions a {
    width: 100%;
  }

  .home-hero-mini-grid,
  .home-service-grid,
  .home-process-grid {
    grid-template-columns: 1fr;
  }

  .home-hero-panel-card,
  .home-split-card,
  .home-cta-inner {
    border-radius: 24px;
    padding: 24px;
  }

  .home-services,
  .home-process,
  .home-split-section {
    padding: 58px 0;
  }

  .home-service-card {
    border-radius: 22px;
  }

  .home-service-image {
    height: 190px;
  }

  .home-section-heading h2,
  .home-split-copy h2,
  .home-cta h2 {
    font-size: clamp(1.9rem, 9vw, 2.6rem);
    line-height: 1.06;
  }
}

/* Small mobile */
@media (max-width: 420px) {
  .home-hero-points {
    flex-direction: column;
  }

  .home-hero-points div {
    width: 100%;
  }

  .home-service-image {
    height: 170px;
  }
}

/* =========================================================
   REMOVE BLANK WHITE BAR ABOVE HEADER
   ========================================================= */

html,
body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body::before,
.site::before,
#page::before,
.site-header::before {
  display: none !important;
  content: none !important;
}

/* Remove accidental top spacing from common wrappers */
#page,
.site,
.site-main,
.main-wrapper,
.page-home-modern {
  margin-top: 0 !important;
}

/* WordPress admin bar should still work for logged-in users */
body.admin-bar {
  margin-top: 0 !important;
}

body.admin-bar .site-header,
body.admin-bar .header,
body.admin-bar .main-header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .site-header,
  body.admin-bar .header,
  body.admin-bar .main-header {
    top: 46px;
  }
}

/* =========================================================
   MOBILE ONLY SITE REPAIR
   Header, menu, dropdowns, cards, images and page overflow
   ========================================================= */

@media (max-width: 900px) {

  /* Stop sideways scrolling / blank white space */
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  img,
  video,
  iframe {
    max-width: 100%;
  }

  #page,
  .site,
  .site-main,
  main,
  section,
  .container {
    max-width: 100%;
    overflow-x: hidden;
  }

  .container,
  .wrap,
  .site-container,
  .content-area {
    width: min(100% - 28px, 1180px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* =========================================================
     MOBILE TOP BAR
     ========================================================= */

  .top-bar,
  .site-top-bar,
  .header-top,
  .top-header,
  .utility-bar {
    position: relative !important;
    z-index: 1000;
    width: 100%;
    padding: 8px 14px !important;
    overflow: hidden;
  }

  .top-bar .container,
  .site-top-bar .container,
  .header-top .container,
  .top-header .container,
  .utility-bar .container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 100% !important;
    text-align: center !important;
  }

  .top-bar *,
  .site-top-bar *,
  .header-top *,
  .top-header *,
  .utility-bar * {
    max-width: 100%;
    font-size: 12px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  /* =========================================================
     MOBILE HEADER
     ========================================================= */

  .site-header,
  .header,
  .main-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    width: 100%;
    background: #ffffff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
  }

  body.admin-bar .site-header,
  body.admin-bar .header,
  body.admin-bar .main-header {
    top: 46px !important;
  }

  .site-header .container,
  .header .container,
  .main-header .container,
  .header-main,
  .site-header-inner,
  .main-header-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 10px 14px !important;
  }

  .site-branding,
  .custom-logo-link,
  .site-logo {
    display: flex !important;
    align-items: center !important;
    max-width: calc(100% - 96px) !important;
  }

  .site-branding img,
  .custom-logo-link img,
  .site-logo img,
  .site-header img.custom-logo {
    width: auto !important;
    max-width: 170px !important;
    height: auto !important;
    max-height: 52px !important;
    object-fit: contain !important;
  }

  /* =========================================================
     MOBILE MENU BUTTON
     ========================================================= */

  .menu-toggle,
  button.menu-toggle,
  .nav-toggle,
  .mobile-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 78px !important;
    min-height: 42px !important;
    margin-left: auto !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
  }

  /* =========================================================
     MOBILE MENU PANEL
     ========================================================= */

  .main-navigation,
  .primary-navigation,
  .nav-primary,
  .header-navigation,
  .site-header nav {
    width: 100% !important;
    flex-basis: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .main-navigation > div,
  .primary-navigation > div,
  .nav-primary > div,
  .header-navigation > div,
  .menu-primary-menu-container {
    width: 100% !important;
  }

  .main-navigation ul,
  .primary-navigation ul,
  .nav-primary ul,
  .header-navigation ul,
  .site-header nav ul,
  .menu-primary-menu-container ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px !important;
    list-style: none !important;
    background: #ffffff !important;
    border-radius: 20px !important;
  }

  .main-navigation li,
  .primary-navigation li,
  .nav-primary li,
  .header-navigation li,
  .site-header nav li,
  .menu-primary-menu-container li {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: both !important;
  }

  .main-navigation a,
  .primary-navigation a,
  .nav-primary a,
  .header-navigation a,
  .site-header nav a,
  .menu-primary-menu-container a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  .main-navigation a:hover,
  .primary-navigation a:hover,
  .nav-primary a:hover,
  .header-navigation a:hover,
  .site-header nav a:hover,
  .menu-primary-menu-container a:hover {
    background: #f5f8fc !important;
    color: #1b66d1 !important;
  }

  /* Force all dropdowns to sit below their parent on mobile */
  .main-navigation ul ul,
  .primary-navigation ul ul,
  .nav-primary ul ul,
  .header-navigation ul ul,
  .site-header nav ul ul,
  .menu-primary-menu-container ul ul,
  .site-header .sub-menu {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 4px 0 8px !important;
    padding: 8px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    background: #f5f8fc !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    gap: 4px !important;
  }

  .main-navigation ul ul li,
  .primary-navigation ul ul li,
  .nav-primary ul ul li,
  .header-navigation ul ul li,
  .site-header nav ul ul li,
  .menu-primary-menu-container ul ul li,
  .site-header .sub-menu li {
    display: block !important;
    width: 100% !important;
  }

  .main-navigation ul ul a,
  .primary-navigation ul ul a,
  .nav-primary ul ul a,
  .header-navigation ul ul a,
  .site-header nav ul ul a,
  .menu-primary-menu-container ul ul a,
  .site-header .sub-menu a {
    width: 100% !important;
    min-height: 40px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    background: #ffffff !important;
    white-space: normal !important;
  }

  /* Remove desktop flyout behaviour on mobile */
  .main-navigation ul ul ul,
  .primary-navigation ul ul ul,
  .nav-primary ul ul ul,
  .header-navigation ul ul ul,
  .site-header nav ul ul ul,
  .menu-primary-menu-container ul ul ul {
    left: auto !important;
    top: auto !important;
    margin-left: 0 !important;
  }

  /* =========================================================
     HERO SECTIONS MOBILE
     ========================================================= */

  .home-hero,
  .it-support-hero,
  .uc-hero,
  .contact-hero,
  .connectivity-hero,
  .knowledge-hero,
  .page-hero {
    padding: 42px 0 42px !important;
  }

  .home-hero-inner,
  .it-support-hero-inner,
  .uc-hero-inner,
  .contact-hero-inner,
  .connectivity-hero-inner,
  .knowledge-hero-inner,
  .hero-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .home-hero-copy h1,
  .it-support-hero h1,
  .uc-hero h1,
  .contact-hero h1,
  .connectivity-hero h1,
  .knowledge-hero h1,
  .page-hero h1 {
    font-size: clamp(2rem, 10vw, 3rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.045em !important;
  }

  .home-hero-lead,
  .it-support-hero-lead,
  .uc-hero-lead,
  .contact-hero .hero-lead,
  .connectivity-hero-lead,
  .knowledge-hero-lead,
  .hero-lead {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  .home-hero-actions,
  .it-support-hero-actions,
  .uc-hero-actions,
  .contact-hero-actions,
  .connectivity-hero-actions,
  .hero-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .home-hero-actions a,
  .it-support-hero-actions a,
  .uc-hero-actions a,
  .contact-hero-actions a,
  .connectivity-hero-actions a,
  .hero-actions a,
  .button-primary,
  .button-secondary {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  /* =========================================================
     CARDS MOBILE
     ========================================================= */

  .home-service-grid,
  .services-grid,
  .service-grid,
  .cards-grid,
  .feature-grid,
  .home-process-grid,
  .home-hero-mini-grid,
  .home-split-grid,
  .it-support-grid,
  .it-support-card-grid,
  .uc-card-grid,
  .contact-grid,
  .connectivity-grid,
  .knowledge-grid,
  .posts-grid,
  .latest-posts-grid,
  .testimonial-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
  }

  .home-service-card,
  .service-card,
  .card,
  .feature-card,
  .home-process-card,
  .home-hero-panel-card,
  .home-split-card,
  .it-support-card,
  .it-support-split-card,
  .uc-card,
  .contact-card,
  .connectivity-card,
  .knowledge-card,
  .post-card,
  .testimonial-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 22px !important;
  }

  .home-service-card,
  .service-card,
  .post-card,
  .knowledge-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .home-service-image,
  .service-card-image,
  .card-image,
  .post-card-image,
  .knowledge-card-image {
    width: 100% !important;
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #eaf1f8 !important;
  }

  .home-service-image img,
  .service-card-image img,
  .card-image img,
  .post-card-image img,
  .knowledge-card-image img,
  .home-service-card img,
  .service-card img,
  .post-card img,
  .knowledge-card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 190px !important;
    max-height: 190px !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .home-service-content,
  .service-card-content,
  .card-content,
  .post-card-content,
  .knowledge-card-content {
    padding: 20px !important;
  }

  .home-service-content h3,
  .service-card h3,
  .card h3,
  .feature-card h3,
  .post-card h3,
  .knowledge-card h3 {
    font-size: 1.2rem !important;
    line-height: 1.25 !important;
  }

  .home-service-content p,
  .service-card p,
  .card p,
  .feature-card p,
  .post-card p,
  .knowledge-card p {
    font-size: 0.96rem !important;
    line-height: 1.58 !important;
  }

  /* Make text-only cards breathe better */
  .feature-card,
  .home-process-card,
  .it-support-card,
  .uc-card,
  .connectivity-card,
  .contact-card,
  .testimonial-card {
    padding: 22px !important;
  }

  /* =========================================================
     SECTION SPACING MOBILE
     ========================================================= */

  .home-services,
  .home-process,
  .home-split-section,
  .it-support-section,
  .uc-section,
  .contact-section,
  .connectivity-section,
  .knowledge-section,
  .latest-insights,
  .testimonials,
  section {
    scroll-margin-top: 120px;
  }

  .home-services,
  .home-process,
  .home-split-section {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .home-section-heading,
  .section-heading,
  .it-support-section-heading,
  .uc-section-heading,
  .connectivity-section-heading,
  .knowledge-section-heading {
    max-width: 100% !important;
    margin-bottom: 24px !important;
  }

  .home-section-heading h2,
  .section-heading h2,
  .it-support-section-heading h2,
  .uc-section-heading h2,
  .connectivity-section-heading h2,
  .knowledge-section-heading h2,
  .home-split-copy h2,
  .home-cta h2 {
    font-size: clamp(1.8rem, 8vw, 2.45rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
  }

  /* =========================================================
     CTA MOBILE
     ========================================================= */

  .home-cta,
  .cta-section {
    padding: 52px 0 !important;
  }

  .home-cta-inner,
  .cta-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .home-cta-actions,
  .cta-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }

  /* =========================================================
     FOOTER MOBILE
     ========================================================= */

  .site-footer,
  .footer {
    overflow-x: hidden !important;
  }

  .site-footer .container,
  .footer .container,
  .footer-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    text-align: center !important;
  }

  .site-footer nav ul,
  .footer nav ul,
  .footer-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    align-items: center !important;
    padding-left: 0 !important;
  }
}

/* =========================================================
   MOBILE COLLAPSED MENU SUPPORT
   Keeps menu hidden until the Menu button is opened
   ========================================================= */

@media (max-width: 900px) {

  .main-navigation.toggled ul,
  .main-navigation[aria-expanded="true"] ul,
  .primary-navigation.toggled ul,
  .primary-navigation[aria-expanded="true"] ul,
  .site-header nav.toggled ul,
  .site-header nav[aria-expanded="true"] ul {
    display: flex !important;
  }

  .main-navigation:not(.toggled) > div > ul,
  .main-navigation:not(.toggled) .menu,
  .primary-navigation:not(.toggled) > div > ul,
  .primary-navigation:not(.toggled) .menu,
  .site-header nav:not(.toggled) > div > ul,
  .site-header nav:not(.toggled) .menu {
    display: none !important;
  }

  .main-navigation.toggled > div > ul,
  .main-navigation.toggled .menu,
  .primary-navigation.toggled > div > ul,
  .primary-navigation.toggled .menu,
  .site-header nav.toggled > div > ul,
  .site-header nav.toggled .menu {
    display: flex !important;
  }
}
/* =========================================================
   CONTACT CENTRE PAGE
   Styled to match IT Support page
   ========================================================= */

/* Remove blank white bar above header */
html,
body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body::before,
.site::before,
#page::before,
.site-header::before {
  display: none !important;
  content: none !important;
}

#page,
.site,
.site-main,
.page-contact-centre {
  margin-top: 0 !important;
}

.page-contact-centre {
  background: linear-gradient(180deg, #f5f8fc 0%, #ffffff 34%, #f7fbff 100%);
  color: #0f172a;
  overflow-x: hidden;
}

.page-contact-centre .container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.contact-centre-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 13px;
  border: 1px solid rgba(27, 102, 209, 0.18);
  border-radius: 999px;
  background: rgba(27, 102, 209, 0.08);
  color: #1b66d1;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-centre-eyebrow-light {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

/* HERO */
.contact-centre-hero {
  position: relative;
  padding: 88px 0 76px;
  background:
    radial-gradient(circle at 15% 18%, rgba(27, 102, 209, 0.16), transparent 32%),
    linear-gradient(135deg, #f5f8fc 0%, #ffffff 52%, #eef6ff 100%);
}

.contact-centre-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.12), transparent);
}

.contact-centre-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: 48px;
  align-items: center;
}

.contact-centre-hero-copy h1 {
  max-width: 780px;
  margin: 0;
  color: #0f172a;
  font-size: clamp(2.45rem, 5vw, 4.8rem);
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.contact-centre-hero-lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: #526072;
  font-size: 1.16rem;
  line-height: 1.72;
}

.contact-centre-hero-actions,
.contact-centre-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.contact-centre-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.contact-centre-hero-points div {
  padding: 10px 14px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #334155;
  font-size: 0.92rem;
  font-weight: 700;
}

.contact-centre-hero-panel {
  display: grid;
  gap: 18px;
}

.contact-centre-hero-panel-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(27, 102, 209, 0.92)),
    radial-gradient(circle at top right, rgba(255,255,255,0.20), transparent 34%);
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.contact-centre-hero-panel-card span {
  display: inline-block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-centre-hero-panel-card h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.contact-centre-hero-panel-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
}

.contact-centre-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.contact-centre-mini-grid div {
  min-height: 120px;
  padding: 20px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.contact-centre-mini-grid strong,
.contact-centre-mini-grid span {
  display: block;
}

.contact-centre-mini-grid strong {
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 1.05rem;
}

.contact-centre-mini-grid span {
  color: #526072;
  font-size: 0.95rem;
  line-height: 1.45;
}

/* SHARED BUTTONS */
.page-contact-centre .button-primary,
.page-contact-centre .button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.page-contact-centre .button-primary {
  background: #1b66d1;
  color: #ffffff;
  box-shadow: 0 16px 30px rgba(27, 102, 209, 0.24);
}

.page-contact-centre .button-primary:hover {
  transform: translateY(-2px);
  color: #ffffff;
  box-shadow: 0 20px 38px rgba(27, 102, 209, 0.28);
}

.page-contact-centre .button-secondary {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.page-contact-centre .button-secondary:hover {
  transform: translateY(-2px);
  color: #0f172a;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.10);
}

/* INTRO SPLIT */
.contact-centre-section {
  padding: 86px 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(27, 102, 209, 0.10), transparent 28%),
    #ffffff;
}

.contact-centre-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.72fr);
  gap: 34px;
  align-items: stretch;
}

.contact-centre-split-copy h2,
.contact-centre-section-heading h2,
.contact-centre-dark-inner h2,
.contact-centre-cta h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.contact-centre-split-copy p,
.contact-centre-section-heading p,
.contact-centre-dark-inner p,
.contact-centre-cta p {
  margin: 18px 0 0;
  color: #526072;
  font-size: 1.05rem;
  line-height: 1.7;
}

.contact-centre-split-card {
  padding: 30px;
  border-radius: 28px;
  background: #0f172a;
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.contact-centre-split-card h3 {
  margin: 0 0 20px;
  color: #ffffff;
  font-size: 1.55rem;
}

.contact-centre-split-card ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-centre-split-card li {
  position: relative;
  padding-left: 26px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}

.contact-centre-split-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #64a2ff;
}

/* SERVICE CARDS */
.contact-centre-services,
.contact-centre-process {
  padding: 82px 0;
}

.contact-centre-section-heading {
  max-width: 780px;
  margin-bottom: 34px;
}

.contact-centre-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.contact-centre-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: 26px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.contact-centre-card:hover {
  transform: translateY(-4px);
  border-color: rgba(27, 102, 209, 0.24);
  box-shadow: 0 24px 52px rgba(15, 23, 42, 0.12);
}

.contact-centre-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 18px;
  border-radius: 15px;
  background: rgba(27, 102, 209, 0.10);
  color: #1b66d1;
  font-weight: 900;
}

.contact-centre-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.28rem;
  line-height: 1.2;
}

.contact-centre-card p {
  flex: 1;
  margin: 13px 0 0;
  color: #526072;
  font-size: 0.98rem;
  line-height: 1.62;
}

.contact-centre-card-link {
  display: inline-flex;
  width: fit-content;
  margin-top: 18px;
  color: #1b66d1;
  font-weight: 850;
  text-decoration: none;
}

.contact-centre-card-link:hover {
  text-decoration: underline;
}

/* DARK SECTION */
.contact-centre-dark-section {
  padding: 88px 0;
  background:
    radial-gradient(circle at 88% 12%, rgba(100, 162, 255, 0.18), transparent 30%),
    linear-gradient(135deg, #0f172a 0%, #1b66d1 100%);
  color: #ffffff;
}

.contact-centre-dark-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 34px;
  align-items: center;
}

.contact-centre-dark-inner h2,
.contact-centre-dark-inner p {
  color: #ffffff;
}

.contact-centre-dark-inner p {
  color: rgba(255, 255, 255, 0.78);
}

.contact-centre-dark-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.contact-centre-dark-grid div {
  min-height: 150px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.10);
}

.contact-centre-dark-grid strong,
.contact-centre-dark-grid span {
  display: block;
}

.contact-centre-dark-grid strong {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 1.12rem;
}

.contact-centre-dark-grid span {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.55;
}

/* PROCESS */
.contact-centre-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.contact-centre-process-card {
  padding: 24px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.contact-centre-process-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  border-radius: 14px;
  background: rgba(27, 102, 209, 0.10);
  color: #1b66d1;
  font-weight: 900;
}

.contact-centre-process-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.2rem;
}

.contact-centre-process-card p {
  margin: 10px 0 0;
  color: #526072;
  line-height: 1.58;
}

/* CTA */
.contact-centre-cta {
  padding: 76px 0 92px;
}

.contact-centre-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 38px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 12%, rgba(255,255,255,0.20), transparent 30%),
    linear-gradient(135deg, #0f172a 0%, #1b66d1 100%);
  color: #ffffff;
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.20);
}

.contact-centre-cta h2,
.contact-centre-cta p {
  color: #ffffff;
}

.contact-centre-cta p {
  color: rgba(255, 255, 255, 0.78);
}

.contact-centre-cta .button-secondary {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: none;
}

.contact-centre-cta .button-secondary:hover {
  color: #ffffff;
}

/* TABLET */
@media (max-width: 1100px) {
  .contact-centre-hero-inner,
  .contact-centre-split-grid,
  .contact-centre-dark-inner {
    grid-template-columns: 1fr;
  }

  .contact-centre-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-centre-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-centre-cta-inner {
    grid-template-columns: 1fr;
  }
}

/* MOBILE */
@media (max-width: 700px) {
  .page-contact-centre .container {
    width: min(100% - 28px, 1180px);
  }

  .contact-centre-hero {
    padding: 54px 0 52px;
  }

  .contact-centre-hero-inner {
    gap: 30px;
  }

  .contact-centre-hero-copy h1 {
    font-size: clamp(2.2rem, 12vw, 3.4rem);
    line-height: 1;
  }

  .contact-centre-hero-lead {
    font-size: 1rem;
    line-height: 1.65;
  }

  .contact-centre-hero-actions,
  .contact-centre-cta-actions {
    flex-direction: column;
  }

  .contact-centre-hero-actions a,
  .contact-centre-cta-actions a {
    width: 100%;
  }

  .contact-centre-mini-grid,
  .contact-centre-card-grid,
  .contact-centre-process-grid,
  .contact-centre-dark-grid {
    grid-template-columns: 1fr;
  }

  .contact-centre-hero-panel-card,
  .contact-centre-split-card,
  .contact-centre-card,
  .contact-centre-process-card,
  .contact-centre-dark-grid div,
  .contact-centre-cta-inner {
    border-radius: 24px;
    padding: 24px;
  }

  .contact-centre-section,
  .contact-centre-services,
  .contact-centre-process,
  .contact-centre-dark-section {
    padding: 58px 0;
  }

  .contact-centre-split-copy h2,
  .contact-centre-section-heading h2,
  .contact-centre-dark-inner h2,
  .contact-centre-cta h2 {
    font-size: clamp(1.9rem, 9vw, 2.6rem);
    line-height: 1.06;
  }

  .contact-centre-hero-points {
    flex-direction: column;
  }

  .contact-centre-hero-points div {
    width: 100%;
  }
}

/* =========================================================
   CCAAS PAGE
   Styled to match IT Support page
   ========================================================= */

/* Remove blank white bar above header */
html,
body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body::before,
.site::before,
#page::before,
.site-header::before {
  display: none !important;
  content: none !important;
}

#page,
.site,
.site-main,
.page-ccaas {
  margin-top: 0 !important;
}

.page-ccaas {
  background: linear-gradient(180deg, #f5f8fc 0%, #ffffff 34%, #f7fbff 100%);
  color: #0f172a;
  overflow-x: hidden;
}

.page-ccaas .container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.ccaas-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 13px;
  border: 1px solid rgba(27, 102, 209, 0.18);
  border-radius: 999px;
  background: rgba(27, 102, 209, 0.08);
  color: #1b66d1;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ccaas-eyebrow-light {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

/* HERO */
.ccaas-hero {
  position: relative;
  padding: 88px 0 76px;
  background:
    radial-gradient(circle at 15% 18%, rgba(27, 102, 209, 0.16), transparent 32%),
    linear-gradient(135deg, #f5f8fc 0%, #ffffff 52%, #eef6ff 100%);
}

.ccaas-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.12), transparent);
}

.ccaas-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: 48px;
  align-items: center;
}

.ccaas-hero-copy h1 {
  max-width: 780px;
  margin: 0;
  color: #0f172a;
  font-size: clamp(2.45rem, 5vw, 4.8rem);
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.ccaas-hero-lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: #526072;
  font-size: 1.16rem;
  line-height: 1.72;
}

.ccaas-hero-actions,
.ccaas-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.ccaas-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.ccaas-hero-points div {
  padding: 10px 14px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #334155;
  font-size: 0.92rem;
  font-weight: 700;
}

.ccaas-hero-panel {
  display: grid;
  gap: 18px;
}

.ccaas-hero-panel-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(27, 102, 209, 0.92)),
    radial-gradient(circle at top right, rgba(255,255,255,0.20), transparent 34%);
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.ccaas-hero-panel-card span {
  display: inline-block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ccaas-hero-panel-card h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.ccaas-hero-panel-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
}

.ccaas-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ccaas-mini-grid div {
  min-height: 130px;
  padding: 20px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.ccaas-mini-grid strong,
.ccaas-mini-grid span {
  display: block;
}

.ccaas-mini-grid strong {
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 1.05rem;
}

.ccaas-mini-grid span {
  color: #526072;
  font-size: 0.95rem;
  line-height: 1.45;
}

/* SHARED BUTTONS */
.page-ccaas .button-primary,
.page-ccaas .button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.page-ccaas .button-primary {
  background: #1b66d1;
  color: #ffffff;
  box-shadow: 0 16px 30px rgba(27, 102, 209, 0.24);
}

.page-ccaas .button-primary:hover {
  transform: translateY(-2px);
  color: #ffffff;
  box-shadow: 0 20px 38px rgba(27, 102, 209, 0.28);
}

.page-ccaas .button-secondary {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.page-ccaas .button-secondary:hover {
  transform: translateY(-2px);
  color: #0f172a;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.10);
}

/* INTRO SPLIT */
.ccaas-section,
.ccaas-support-section {
  padding: 86px 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(27, 102, 209, 0.10), transparent 28%),
    #ffffff;
}

.ccaas-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.72fr);
  gap: 34px;
  align-items: stretch;
}

.ccaas-split-copy h2,
.ccaas-section-heading h2,
.ccaas-dark-inner h2,
.ccaas-cta h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.ccaas-split-copy p,
.ccaas-section-heading p,
.ccaas-dark-inner p,
.ccaas-cta p {
  margin: 18px 0 0;
  color: #526072;
  font-size: 1.05rem;
  line-height: 1.7;
}

.ccaas-split-card {
  padding: 30px;
  border-radius: 28px;
  background: #0f172a;
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.ccaas-split-card h3 {
  margin: 0 0 20px;
  color: #ffffff;
  font-size: 1.55rem;
}

.ccaas-split-card ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ccaas-split-card li {
  position: relative;
  padding-left: 26px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}

.ccaas-split-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #64a2ff;
}

/* BENEFIT CARDS */
.ccaas-services,
.ccaas-process {
  padding: 82px 0;
}

.ccaas-section-heading {
  max-width: 780px;
  margin-bottom: 34px;
}

.ccaas-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.ccaas-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: 26px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.ccaas-card:hover {
  transform: translateY(-4px);
  border-color: rgba(27, 102, 209, 0.24);
  box-shadow: 0 24px 52px rgba(15, 23, 42, 0.12);
}

.ccaas-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 18px;
  border-radius: 15px;
  background: rgba(27, 102, 209, 0.10);
  color: #1b66d1;
  font-weight: 900;
}

.ccaas-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.28rem;
  line-height: 1.2;
}

.ccaas-card p {
  flex: 1;
  margin: 13px 0 0;
  color: #526072;
  font-size: 0.98rem;
  line-height: 1.62;
}

/* DARK FEATURE SECTION */
.ccaas-dark-section {
  padding: 88px 0;
  background:
    radial-gradient(circle at 88% 12%, rgba(100, 162, 255, 0.18), transparent 30%),
    linear-gradient(135deg, #0f172a 0%, #1b66d1 100%);
  color: #ffffff;
}

.ccaas-dark-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 34px;
  align-items: center;
}

.ccaas-dark-inner h2,
.ccaas-dark-inner p {
  color: #ffffff;
}

.ccaas-dark-inner p {
  color: rgba(255, 255, 255, 0.78);
}

.ccaas-dark-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ccaas-dark-grid div {
  min-height: 150px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.10);
}

.ccaas-dark-grid strong,
.ccaas-dark-grid span {
  display: block;
}

.ccaas-dark-grid strong {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 1.12rem;
}

.ccaas-dark-grid span {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.55;
}

/* CHECK LIST */
.ccaas-check-list {
  display: grid;
  gap: 16px;
}

.ccaas-check-list div {
  padding: 18px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 20px;
  background: #f8fbff;
}

.ccaas-check-list strong,
.ccaas-check-list span {
  display: block;
}

.ccaas-check-list strong {
  margin-bottom: 7px;
  color: #0f172a;
}

.ccaas-check-list span {
  color: #526072;
  line-height: 1.55;
}

/* PROCESS */
.ccaas-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.ccaas-process-card {
  padding: 24px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.ccaas-process-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  border-radius: 14px;
  background: rgba(27, 102, 209, 0.10);
  color: #1b66d1;
  font-weight: 900;
}

.ccaas-process-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.2rem;
}

.ccaas-process-card p {
  margin: 10px 0 0;
  color: #526072;
  line-height: 1.58;
}

/* CTA */
.ccaas-cta {
  padding: 76px 0 92px;
}

.ccaas-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 38px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 12%, rgba(255,255,255,0.20), transparent 30%),
    linear-gradient(135deg, #0f172a 0%, #1b66d1 100%);
  color: #ffffff;
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.20);
}

.ccaas-cta h2,
.ccaas-cta p {
  color: #ffffff;
}

.ccaas-cta p {
  color: rgba(255, 255, 255, 0.78);
}

.ccaas-cta .button-secondary {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: none;
}

.ccaas-cta .button-secondary:hover {
  color: #ffffff;
}

/* TABLET */
@media (max-width: 1100px) {
  .ccaas-hero-inner,
  .ccaas-split-grid,
  .ccaas-dark-inner {
    grid-template-columns: 1fr;
  }

  .ccaas-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ccaas-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ccaas-cta-inner {
    grid-template-columns: 1fr;
  }
}

/* MOBILE */
@media (max-width: 700px) {
  .page-ccaas .container {
    width: min(100% - 28px, 1180px);
  }

  .ccaas-hero {
    padding: 54px 0 52px;
  }

  .ccaas-hero-inner {
    gap: 30px;
  }

  .ccaas-hero-copy h1 {
    font-size: clamp(2.2rem, 12vw, 3.4rem);
    line-height: 1;
  }

  .ccaas-hero-lead {
    font-size: 1rem;
    line-height: 1.65;
  }

  .ccaas-hero-actions,
  .ccaas-cta-actions {
    flex-direction: column;
  }

  .ccaas-hero-actions a,
  .ccaas-cta-actions a {
    width: 100%;
  }

  .ccaas-mini-grid,
  .ccaas-card-grid,
  .ccaas-process-grid,
  .ccaas-dark-grid {
    grid-template-columns: 1fr;
  }

  .ccaas-hero-panel-card,
  .ccaas-split-card,
  .ccaas-card,
  .ccaas-process-card,
  .ccaas-dark-grid div,
  .ccaas-cta-inner {
    border-radius: 24px;
    padding: 24px;
  }

  .ccaas-section,
  .ccaas-services,
  .ccaas-process,
  .ccaas-dark-section,
  .ccaas-support-section {
    padding: 58px 0;
  }

  .ccaas-split-copy h2,
  .ccaas-section-heading h2,
  .ccaas-dark-inner h2,
  .ccaas-cta h2 {
    font-size: clamp(1.9rem, 9vw, 2.6rem);
    line-height: 1.06;
  }

  .ccaas-hero-points {
    flex-direction: column;
  }

  .ccaas-hero-points div {
    width: 100%;
  }
}

/* =========================================================
   CCAAS PAGE COLOUR AND CONTRAST UPDATE
   Add below existing CCaaS CSS
   ========================================================= */

.page-ccaas {
  background:
    radial-gradient(circle at 10% 5%, rgba(27, 102, 209, 0.11), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(20, 184, 166, 0.10), transparent 24%),
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 34%, #f1f7ff 100%);
}

/* Updated hero with more colour depth */
.ccaas-hero {
  background:
    radial-gradient(circle at 12% 18%, rgba(27, 102, 209, 0.22), transparent 34%),
    radial-gradient(circle at 86% 8%, rgba(20, 184, 166, 0.18), transparent 28%),
    radial-gradient(circle at 78% 80%, rgba(100, 162, 255, 0.16), transparent 34%),
    linear-gradient(135deg, #eef6ff 0%, #ffffff 48%, #eaf7ff 100%) !important;
}

/* Hero label update */
.ccaas-eyebrow-hero {
  background: linear-gradient(135deg, rgba(27, 102, 209, 0.12), rgba(20, 184, 166, 0.12));
  border-color: rgba(27, 102, 209, 0.24);
  color: #1454b8;
}

/* Make hero panel richer */
.ccaas-hero-panel-card {
  background:
    radial-gradient(circle at 92% 8%, rgba(100, 162, 255, 0.34), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(20, 184, 166, 0.20), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%) !important;
  border-color: rgba(255, 255, 255, 0.16);
}

/* Give the four mini cards a more colourful feel */
.ccaas-mini-grid div {
  background:
    linear-gradient(180deg, #ffffff 0%, #f3f9ff 100%) !important;
  border-color: rgba(27, 102, 209, 0.14) !important;
}

.ccaas-mini-grid div:nth-child(2) {
  background:
    linear-gradient(180deg, #ffffff 0%, #effdf9 100%) !important;
  border-color: rgba(20, 184, 166, 0.18) !important;
}

.ccaas-mini-grid div:nth-child(3) {
  background:
    linear-gradient(180deg, #ffffff 0%, #f4f7ff 100%) !important;
  border-color: rgba(99, 102, 241, 0.16) !important;
}

.ccaas-mini-grid div:nth-child(4) {
  background:
    linear-gradient(180deg, #ffffff 0%, #f2f8ff 100%) !important;
  border-color: rgba(27, 102, 209, 0.18) !important;
}

/* Add colour to benefit cards while keeping the same card style */
.ccaas-card {
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border-color: rgba(27, 102, 209, 0.12) !important;
}

.ccaas-card:nth-child(2),
.ccaas-card:nth-child(5) {
  background:
    linear-gradient(180deg, #ffffff 0%, #f2fbf8 100%) !important;
  border-color: rgba(20, 184, 166, 0.16) !important;
}

.ccaas-card:nth-child(3),
.ccaas-card:nth-child(6) {
  background:
    linear-gradient(180deg, #ffffff 0%, #f4f7ff 100%) !important;
  border-color: rgba(99, 102, 241, 0.14) !important;
}

.ccaas-card-icon {
  background:
    linear-gradient(135deg, rgba(27, 102, 209, 0.14), rgba(100, 162, 255, 0.18)) !important;
  color: #1454b8 !important;
}

.ccaas-card:nth-child(2) .ccaas-card-icon,
.ccaas-card:nth-child(5) .ccaas-card-icon {
  background:
    linear-gradient(135deg, rgba(20, 184, 166, 0.14), rgba(45, 212, 191, 0.18)) !important;
  color: #0f766e !important;
}

.ccaas-card:nth-child(3) .ccaas-card-icon,
.ccaas-card:nth-child(6) .ccaas-card-icon {
  background:
    linear-gradient(135deg, rgba(99, 102, 241, 0.12), rgba(129, 140, 248, 0.18)) !important;
  color: #4f46e5 !important;
}

/* Stronger section contrast */
.ccaas-section,
.ccaas-support-section {
  background:
    radial-gradient(circle at 82% 18%, rgba(20, 184, 166, 0.10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
}

.ccaas-services,
.ccaas-process {
  background:
    radial-gradient(circle at 12% 8%, rgba(27, 102, 209, 0.08), transparent 28%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 100%) !important;
}

/* Dark section with more depth */
.ccaas-dark-section {
  background:
    radial-gradient(circle at 88% 12%, rgba(45, 212, 191, 0.22), transparent 30%),
    radial-gradient(circle at 10% 92%, rgba(100, 162, 255, 0.20), transparent 34%),
    linear-gradient(135deg, #07111f 0%, #0f2c59 46%, #1b66d1 100%) !important;
}

.ccaas-dark-grid div {
  background: rgba(255, 255, 255, 0.13) !important;
  border-color: rgba(255, 255, 255, 0.20) !important;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.12);
}

/* Checklist contrast */
.ccaas-check-list div {
  background:
    linear-gradient(180deg, #ffffff 0%, #f3f9ff 100%) !important;
  border-color: rgba(27, 102, 209, 0.13) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}

/* CTA with stronger colour */
.ccaas-cta-inner {
  background:
    radial-gradient(circle at 92% 12%, rgba(45, 212, 191, 0.24), transparent 30%),
    radial-gradient(circle at 8% 88%, rgba(100, 162, 255, 0.22), transparent 30%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%) !important;
}

/* =========================================================
   SOLUTIONS PAGE H1 DARKER HEADING
   ========================================================= */

.page-solutions h1,
.solutions-page h1,
.page-template-page-solutions h1,
body.page-template-page-solutions h1,
body.page-slug-solutions h1 {
  color: #0f172a !important;
}

/* =========================================================
   NETWORKS PAGE
   Styled to match IT Support page
   ========================================================= */

/* Remove blank white bar above header */
html,
body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body::before,
.site::before,
#page::before,
.site-header::before {
  display: none !important;
  content: none !important;
}

#page,
.site,
.site-main,
.page-networks {
  margin-top: 0 !important;
}

.page-networks {
  background:
    radial-gradient(circle at 10% 5%, rgba(27, 102, 209, 0.10), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(20, 184, 166, 0.09), transparent 24%),
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 34%, #f1f7ff 100%);
  color: #0f172a;
  overflow-x: hidden;
}

.page-networks .container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.networks-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 13px;
  border: 1px solid rgba(27, 102, 209, 0.18);
  border-radius: 999px;
  background: rgba(27, 102, 209, 0.08);
  color: #1b66d1;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.networks-eyebrow-hero {
  background: linear-gradient(135deg, rgba(27, 102, 209, 0.12), rgba(20, 184, 166, 0.12));
  border-color: rgba(27, 102, 209, 0.24);
  color: #1454b8;
}

.networks-eyebrow-light {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

/* HERO */
.networks-hero {
  position: relative;
  padding: 88px 0 76px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27, 102, 209, 0.22), transparent 34%),
    radial-gradient(circle at 86% 8%, rgba(20, 184, 166, 0.16), transparent 28%),
    radial-gradient(circle at 78% 80%, rgba(100, 162, 255, 0.14), transparent 34%),
    linear-gradient(135deg, #eef6ff 0%, #ffffff 48%, #eaf7ff 100%);
}

.networks-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.12), transparent);
}

.networks-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: 48px;
  align-items: center;
}

.networks-hero-copy h1 {
  max-width: 780px;
  margin: 0;
  color: #0f172a;
  font-size: clamp(2.45rem, 5vw, 4.8rem);
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.networks-hero-lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: #526072;
  font-size: 1.16rem;
  line-height: 1.72;
}

.networks-hero-actions,
.networks-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.networks-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.networks-hero-points div {
  padding: 10px 14px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #334155;
  font-size: 0.92rem;
  font-weight: 700;
}

.networks-hero-panel {
  display: grid;
  gap: 18px;
}

.networks-hero-panel-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 8%, rgba(100, 162, 255, 0.34), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(20, 184, 166, 0.20), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%);
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.networks-hero-panel-card span {
  display: inline-block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.networks-hero-panel-card h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.networks-hero-panel-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
}

.networks-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.networks-mini-grid div {
  min-height: 130px;
  padding: 20px;
  border: 1px solid rgba(27, 102, 209, 0.14);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f3f9ff 100%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.networks-mini-grid div:nth-child(2),
.networks-mini-grid div:nth-child(4) {
  background: linear-gradient(180deg, #ffffff 0%, #effdf9 100%);
  border-color: rgba(20, 184, 166, 0.18);
}

.networks-mini-grid strong,
.networks-mini-grid span {
  display: block;
}

.networks-mini-grid strong {
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 1.05rem;
}

.networks-mini-grid span {
  color: #526072;
  font-size: 0.95rem;
  line-height: 1.45;
}

/* BUTTONS */
.page-networks .button-primary,
.page-networks .button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.page-networks .button-primary {
  background: #1b66d1;
  color: #ffffff;
  box-shadow: 0 16px 30px rgba(27, 102, 209, 0.24);
}

.page-networks .button-primary:hover {
  transform: translateY(-2px);
  color: #ffffff;
  box-shadow: 0 20px 38px rgba(27, 102, 209, 0.28);
}

.page-networks .button-secondary {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.page-networks .button-secondary:hover {
  transform: translateY(-2px);
  color: #0f172a;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.10);
}

/* SPLIT SECTIONS */
.networks-section,
.networks-support-section {
  padding: 86px 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(20, 184, 166, 0.10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.networks-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.72fr);
  gap: 34px;
  align-items: stretch;
}

.networks-split-copy h2,
.networks-section-heading h2,
.networks-dark-inner h2,
.networks-cta h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.networks-split-copy p,
.networks-section-heading p,
.networks-dark-inner p,
.networks-cta p {
  margin: 18px 0 0;
  color: #526072;
  font-size: 1.05rem;
  line-height: 1.7;
}

.networks-split-card {
  padding: 30px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 90% 8%, rgba(100, 162, 255, 0.20), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #1d355d 100%);
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.networks-split-card h3 {
  margin: 0 0 20px;
  color: #ffffff;
  font-size: 1.55rem;
}

.networks-split-card ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.networks-split-card li {
  position: relative;
  padding-left: 26px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}

.networks-split-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #64a2ff;
}

/* SERVICE CARDS */
.networks-services,
.networks-process {
  padding: 82px 0;
  background:
    radial-gradient(circle at 12% 8%, rgba(27, 102, 209, 0.08), transparent 28%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.networks-section-heading {
  max-width: 780px;
  margin-bottom: 34px;
}

.networks-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.networks-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: 26px;
  border: 1px solid rgba(27, 102, 209, 0.12);
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.networks-card:nth-child(2),
.networks-card:nth-child(5) {
  background: linear-gradient(180deg, #ffffff 0%, #f2fbf8 100%);
  border-color: rgba(20, 184, 166, 0.16);
}

.networks-card:nth-child(3),
.networks-card:nth-child(6) {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7ff 100%);
  border-color: rgba(99, 102, 241, 0.14);
}

.networks-card:hover {
  transform: translateY(-4px);
  border-color: rgba(27, 102, 209, 0.24);
  box-shadow: 0 24px 52px rgba(15, 23, 42, 0.12);
}

.networks-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 18px;
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(27, 102, 209, 0.14), rgba(100, 162, 255, 0.18));
  color: #1454b8;
  font-weight: 900;
}

.networks-card:nth-child(2) .networks-card-icon,
.networks-card:nth-child(5) .networks-card-icon {
  background: linear-gradient(135deg, rgba(20, 184, 166, 0.14), rgba(45, 212, 191, 0.18));
  color: #0f766e;
}

.networks-card:nth-child(3) .networks-card-icon,
.networks-card:nth-child(6) .networks-card-icon {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.12), rgba(129, 140, 248, 0.18));
  color: #4f46e5;
}

.networks-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.28rem;
  line-height: 1.2;
}

.networks-card p {
  flex: 1;
  margin: 13px 0 0;
  color: #526072;
  font-size: 0.98rem;
  line-height: 1.62;
}

/* DARK FEATURE SECTION */
.networks-dark-section {
  padding: 88px 0;
  background:
    radial-gradient(circle at 88% 12%, rgba(45, 212, 191, 0.22), transparent 30%),
    radial-gradient(circle at 10% 92%, rgba(100, 162, 255, 0.20), transparent 34%),
    linear-gradient(135deg, #07111f 0%, #0f2c59 46%, #1b66d1 100%);
  color: #ffffff;
}

.networks-dark-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 34px;
  align-items: center;
}

.networks-dark-inner h2,
.networks-dark-inner p {
  color: #ffffff;
}

.networks-dark-inner p {
  color: rgba(255, 255, 255, 0.78);
}

.networks-dark-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.networks-dark-grid div {
  min-height: 150px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.20);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.13);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.12);
}

.networks-dark-grid strong,
.networks-dark-grid span {
  display: block;
}

.networks-dark-grid strong {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 1.12rem;
}

.networks-dark-grid span {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.55;
}

/* CHECK LIST */
.networks-check-list {
  display: grid;
  gap: 16px;
}

.networks-check-list div {
  padding: 18px;
  border: 1px solid rgba(27, 102, 209, 0.13);
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f3f9ff 100%);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}

.networks-check-list strong,
.networks-check-list span {
  display: block;
}

.networks-check-list strong {
  margin-bottom: 7px;
  color: #0f172a;
}

.networks-check-list span {
  color: #526072;
  line-height: 1.55;
}

/* PROCESS */
.networks-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.networks-process-card {
  padding: 24px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.networks-process-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  border-radius: 14px;
  background: rgba(27, 102, 209, 0.10);
  color: #1b66d1;
  font-weight: 900;
}

.networks-process-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.2rem;
}

.networks-process-card p {
  margin: 10px 0 0;
  color: #526072;
  line-height: 1.58;
}

/* CTA */
.networks-cta {
  padding: 76px 0 92px;
}

.networks-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 38px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 12%, rgba(45, 212, 191, 0.24), transparent 30%),
    radial-gradient(circle at 8% 88%, rgba(100, 162, 255, 0.22), transparent 30%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%);
  color: #ffffff;
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.20);
}

.networks-cta h2,
.networks-cta p {
  color: #ffffff;
}

.networks-cta p {
  color: rgba(255, 255, 255, 0.78);
}

.networks-cta .button-secondary {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: none;
}

.networks-cta .button-secondary:hover {
  color: #ffffff;
}

/* TABLET */
@media (max-width: 1100px) {
  .networks-hero-inner,
  .networks-split-grid,
  .networks-dark-inner {
    grid-template-columns: 1fr;
  }

  .networks-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .networks-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .networks-cta-inner {
    grid-template-columns: 1fr;
  }
}

/* MOBILE */
@media (max-width: 700px) {
  .page-networks .container {
    width: min(100% - 28px, 1180px);
  }

  .networks-hero {
    padding: 54px 0 52px;
  }

  .networks-hero-inner {
    gap: 30px;
  }

  .networks-hero-copy h1 {
    font-size: clamp(2.2rem, 12vw, 3.4rem);
    line-height: 1;
  }

  .networks-hero-lead {
    font-size: 1rem;
    line-height: 1.65;
  }

  .networks-hero-actions,
  .networks-cta-actions {
    flex-direction: column;
  }

  .networks-hero-actions a,
  .networks-cta-actions a {
    width: 100%;
  }

  .networks-mini-grid,
  .networks-card-grid,
  .networks-process-grid,
  .networks-dark-grid {
    grid-template-columns: 1fr;
  }

  .networks-hero-panel-card,
  .networks-split-card,
  .networks-card,
  .networks-process-card,
  .networks-dark-grid div,
  .networks-cta-inner {
    border-radius: 24px;
    padding: 24px;
  }

  .networks-section,
  .networks-services,
  .networks-process,
  .networks-dark-section,
  .networks-support-section {
    padding: 58px 0;
  }

  .networks-split-copy h2,
  .networks-section-heading h2,
  .networks-dark-inner h2,
  .networks-cta h2 {
    font-size: clamp(1.9rem, 9vw, 2.6rem);
    line-height: 1.06;
  }

  .networks-hero-points {
    flex-direction: column;
  }

  .networks-hero-points div {
    width: 100%;
  }
}

/* =========================================================
   SOCIAL MEDIA UPDATES PAGE
   Styled to match IT Support page
   ========================================================= */

/* Remove blank white bar above header */
html,
body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body::before,
.site::before,
#page::before,
.site-header::before {
  display: none !important;
  content: none !important;
}

#page,
.site,
.site-main,
.page-social-updates {
  margin-top: 0 !important;
}

.page-social-updates {
  background:
    radial-gradient(circle at 10% 5%, rgba(27, 102, 209, 0.10), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(20, 184, 166, 0.09), transparent 24%),
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 34%, #f1f7ff 100%);
  color: #0f172a;
  overflow-x: hidden;
}

.page-social-updates .container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.social-updates-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 13px;
  border: 1px solid rgba(27, 102, 209, 0.18);
  border-radius: 999px;
  background: rgba(27, 102, 209, 0.08);
  color: #1b66d1;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.social-updates-eyebrow-hero {
  background: linear-gradient(135deg, rgba(27, 102, 209, 0.12), rgba(20, 184, 166, 0.12));
  border-color: rgba(27, 102, 209, 0.24);
  color: #1454b8;
}

.social-updates-eyebrow-light {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

/* HERO */
.social-updates-hero {
  position: relative;
  padding: 88px 0 76px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27, 102, 209, 0.22), transparent 34%),
    radial-gradient(circle at 86% 8%, rgba(20, 184, 166, 0.16), transparent 28%),
    radial-gradient(circle at 78% 80%, rgba(100, 162, 255, 0.14), transparent 34%),
    linear-gradient(135deg, #eef6ff 0%, #ffffff 48%, #eaf7ff 100%);
}

.social-updates-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.12), transparent);
}

.social-updates-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: 48px;
  align-items: center;
}

.social-updates-hero-copy h1 {
  max-width: 780px;
  margin: 0;
  color: #0f172a;
  font-size: clamp(2.45rem, 5vw, 4.8rem);
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.social-updates-hero-lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: #526072;
  font-size: 1.16rem;
  line-height: 1.72;
}

.social-updates-hero-actions,
.social-updates-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.social-updates-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.social-updates-hero-points div {
  padding: 10px 14px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #334155;
  font-size: 0.92rem;
  font-weight: 700;
}

.social-updates-hero-panel {
  display: grid;
  gap: 18px;
}

.social-updates-hero-panel-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 8%, rgba(100, 162, 255, 0.34), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(20, 184, 166, 0.20), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%);
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.social-updates-hero-panel-card span {
  display: inline-block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.social-updates-hero-panel-card h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.social-updates-hero-panel-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
}

.social-updates-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.social-updates-mini-grid a {
  display: block;
  min-height: 130px;
  padding: 20px;
  border: 1px solid rgba(27, 102, 209, 0.14);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f3f9ff 100%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  text-decoration: none;
}

.social-updates-mini-grid a:nth-child(2),
.social-updates-mini-grid a:nth-child(4) {
  background: linear-gradient(180deg, #ffffff 0%, #effdf9 100%);
  border-color: rgba(20, 184, 166, 0.18);
}

.social-updates-mini-grid strong,
.social-updates-mini-grid span {
  display: block;
}

.social-updates-mini-grid strong {
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 1.05rem;
}

.social-updates-mini-grid span {
  color: #526072;
  font-size: 0.95rem;
  line-height: 1.45;
}

/* BUTTONS */
.page-social-updates .button-primary,
.page-social-updates .button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.page-social-updates .button-primary {
  background: #1b66d1;
  color: #ffffff;
  box-shadow: 0 16px 30px rgba(27, 102, 209, 0.24);
}

.page-social-updates .button-primary:hover {
  transform: translateY(-2px);
  color: #ffffff;
  box-shadow: 0 20px 38px rgba(27, 102, 209, 0.28);
}

.page-social-updates .button-secondary {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.page-social-updates .button-secondary:hover {
  transform: translateY(-2px);
  color: #0f172a;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.10);
}

/* SPLIT SECTION */
.social-updates-section {
  padding: 86px 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(20, 184, 166, 0.10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.social-updates-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.72fr);
  gap: 34px;
  align-items: stretch;
}

.social-updates-split-copy h2,
.social-updates-section-heading h2,
.social-updates-dark-inner h2,
.social-updates-cta h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.social-updates-split-copy p,
.social-updates-section-heading p,
.social-updates-dark-inner p,
.social-updates-cta p {
  margin: 18px 0 0;
  color: #526072;
  font-size: 1.05rem;
  line-height: 1.7;
}

.social-updates-split-card {
  padding: 30px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 90% 8%, rgba(100, 162, 255, 0.20), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #1d355d 100%);
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.social-updates-split-card h3 {
  margin: 0 0 20px;
  color: #ffffff;
  font-size: 1.55rem;
}

.social-updates-split-card ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.social-updates-split-card li {
  position: relative;
  padding-left: 26px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}

.social-updates-split-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #64a2ff;
}

/* FEED SECTION */
.social-updates-feed-section {
  padding: 82px 0;
  background:
    radial-gradient(circle at 12% 8%, rgba(27, 102, 209, 0.08), transparent 28%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.social-updates-section-heading {
  max-width: 780px;
  margin-bottom: 34px;
}

.social-updates-feed-wrap {
  padding: 24px;
  border: 1px solid rgba(27, 102, 209, 0.12);
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.social-updates-plugin-output {
  width: 100%;
  overflow: hidden;
}

.social-updates-plugin-output iframe {
  width: 100% !important;
  max-width: 100% !important;
  border: 0;
}

.social-updates-placeholder {
  display: grid;
  gap: 22px;
}

.social-updates-placeholder-card {
  padding: 28px;
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f3f9ff 100%);
  border: 1px solid rgba(27, 102, 209, 0.14);
}

.social-updates-placeholder-card span {
  display: inline-block;
  margin-bottom: 10px;
  color: #1b66d1;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.78rem;
}

.social-updates-placeholder-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.6rem;
}

.social-updates-placeholder-card p {
  margin: 12px 0 0;
  color: #526072;
  line-height: 1.65;
}

.social-updates-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.social-updates-placeholder-grid a {
  display: block;
  min-height: 150px;
  padding: 22px;
  border: 1px solid rgba(27, 102, 209, 0.13);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}

.social-updates-placeholder-grid strong,
.social-updates-placeholder-grid span {
  display: block;
}

.social-updates-placeholder-grid strong {
  margin-bottom: 10px;
  color: #0f172a;
  font-size: 1.12rem;
}

.social-updates-placeholder-grid span {
  color: #526072;
  line-height: 1.55;
}

/* DARK SECTION */
.social-updates-dark-section {
  padding: 88px 0;
  background:
    radial-gradient(circle at 88% 12%, rgba(45, 212, 191, 0.22), transparent 30%),
    radial-gradient(circle at 10% 92%, rgba(100, 162, 255, 0.20), transparent 34%),
    linear-gradient(135deg, #07111f 0%, #0f2c59 46%, #1b66d1 100%);
  color: #ffffff;
}

.social-updates-dark-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 34px;
  align-items: center;
}

.social-updates-dark-inner h2,
.social-updates-dark-inner p {
  color: #ffffff;
}

.social-updates-dark-inner p {
  color: rgba(255, 255, 255, 0.78);
}

.social-updates-dark-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.social-updates-dark-grid div {
  min-height: 150px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.20);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.13);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.12);
}

.social-updates-dark-grid strong,
.social-updates-dark-grid span {
  display: block;
}

.social-updates-dark-grid strong {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 1.12rem;
}

.social-updates-dark-grid span {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.55;
}

/* CTA */
.social-updates-cta {
  padding: 76px 0 92px;
}

.social-updates-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 38px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 12%, rgba(45, 212, 191, 0.24), transparent 30%),
    radial-gradient(circle at 8% 88%, rgba(100, 162, 255, 0.22), transparent 30%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%);
  color: #ffffff;
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.20);
}

.social-updates-cta h2,
.social-updates-cta p {
  color: #ffffff;
}

.social-updates-cta p {
  color: rgba(255, 255, 255, 0.78);
}

.social-updates-cta .button-secondary {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: none;
}

.social-updates-cta .button-secondary:hover {
  color: #ffffff;
}

/* TABLET */
@media (max-width: 1100px) {
  .social-updates-hero-inner,
  .social-updates-split-grid,
  .social-updates-dark-inner {
    grid-template-columns: 1fr;
  }

  .social-updates-placeholder-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .social-updates-cta-inner {
    grid-template-columns: 1fr;
  }
}

/* MOBILE */
@media (max-width: 700px) {
  .page-social-updates .container {
    width: min(100% - 28px, 1180px);
  }

  .social-updates-hero {
    padding: 54px 0 52px;
  }

  .social-updates-hero-inner {
    gap: 30px;
  }

  .social-updates-hero-copy h1 {
    font-size: clamp(2.2rem, 12vw, 3.4rem);
    line-height: 1;
  }

  .social-updates-hero-lead {
    font-size: 1rem;
    line-height: 1.65;
  }

  .social-updates-hero-actions,
  .social-updates-cta-actions {
    flex-direction: column;
  }

  .social-updates-hero-actions a,
  .social-updates-cta-actions a {
    width: 100%;
  }

  .social-updates-mini-grid,
  .social-updates-dark-grid,
  .social-updates-placeholder-grid {
    grid-template-columns: 1fr;
  }

  .social-updates-hero-panel-card,
  .social-updates-split-card,
  .social-updates-dark-grid div,
  .social-updates-feed-wrap,
  .social-updates-placeholder-card,
  .social-updates-placeholder-grid a,
  .social-updates-cta-inner {
    border-radius: 24px;
    padding: 24px;
  }

  .social-updates-section,
  .social-updates-feed-section,
  .social-updates-dark-section {
    padding: 58px 0;
  }

  .social-updates-split-copy h2,
  .social-updates-section-heading h2,
  .social-updates-dark-inner h2,
  .social-updates-cta h2 {
    font-size: clamp(1.9rem, 9vw, 2.6rem);
    line-height: 1.06;
  }

  .social-updates-hero-points {
    flex-direction: column;
  }

  .social-updates-hero-points div {
    width: 100%;
  }
}

/* =========================================================
   SOCIAL MEDIA UPDATES - JUICER FEED STYLING
   ========================================================= */

.social-updates-juicer-wrap {
  padding: 28px !important;
  background:
    radial-gradient(circle at 10% 5%, rgba(27, 102, 209, 0.06), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border: 1px solid rgba(27, 102, 209, 0.14) !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08) !important;
  overflow: hidden;
}

/* Main Juicer container */
.social-updates-juicer-wrap .juicer-feed {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
}

/* Hide Juicer referral heading if it appears */
.social-updates-juicer-wrap .juicer-feed .referral,
.social-updates-juicer-wrap .juicer-feed h1.referral {
  display: none !important;
}

/* Feed item cards */
.social-updates-juicer-wrap .juicer-feed .j-post,
.social-updates-juicer-wrap .juicer-feed .feed-item {
  overflow: hidden !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08) !important;
}

/* Post images */
.social-updates-juicer-wrap .juicer-feed img {
  max-width: 100% !important;
  height: auto !important;
}

/* Post text */
.social-updates-juicer-wrap .juicer-feed .j-message,
.social-updates-juicer-wrap .juicer-feed .j-text,
.social-updates-juicer-wrap .juicer-feed .feed-item p {
  color: #526072 !important;
  font-size: 0.96rem !important;
  line-height: 1.6 !important;
}

/* Links */
.social-updates-juicer-wrap .juicer-feed a {
  color: #1b66d1 !important;
  text-decoration: none !important;
}

.social-updates-juicer-wrap .juicer-feed a:hover {
  text-decoration: underline !important;
}

/* Social source icons / labels */
.social-updates-juicer-wrap .juicer-feed .j-source,
.social-updates-juicer-wrap .juicer-feed .j-meta {
  color: #0f172a !important;
}

/* Load more button */
.social-updates-juicer-wrap .juicer-feed .j-paginate,
.social-updates-juicer-wrap .juicer-feed .j-load-more {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin: 28px auto 0 !important;
  padding: 13px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #1b66d1 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 16px 30px rgba(27, 102, 209, 0.24) !important;
}

/* Mobile */
@media (max-width: 700px) {
  .social-updates-juicer-wrap {
    padding: 18px !important;
    border-radius: 24px !important;
  }

  .social-updates-juicer-wrap .juicer-feed .j-post,
  .social-updates-juicer-wrap .juicer-feed .feed-item {
    border-radius: 20px !important;
  }
}

/* =========================================================
   FAQ PAGE
   Styled to match IT Support page
   ========================================================= */

/* Remove blank white bar above header */
html,
body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body::before,
.site::before,
#page::before,
.site-header::before {
  display: none !important;
  content: none !important;
}

#page,
.site,
.site-main,
.page-faq-modern {
  margin-top: 0 !important;
}

.page-faq-modern {
  background:
    radial-gradient(circle at 10% 5%, rgba(27, 102, 209, 0.10), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(20, 184, 166, 0.09), transparent 24%),
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 34%, #f1f7ff 100%);
  color: #0f172a;
  overflow-x: hidden;
}

.page-faq-modern .container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.faq-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 13px;
  border: 1px solid rgba(27, 102, 209, 0.18);
  border-radius: 999px;
  background: rgba(27, 102, 209, 0.08);
  color: #1b66d1;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.faq-eyebrow-hero {
  background: linear-gradient(135deg, rgba(27, 102, 209, 0.12), rgba(20, 184, 166, 0.12));
  border-color: rgba(27, 102, 209, 0.24);
  color: #1454b8;
}

.faq-eyebrow-light {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

/* HERO */
.faq-hero {
  position: relative;
  padding: 88px 0 76px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27, 102, 209, 0.22), transparent 34%),
    radial-gradient(circle at 86% 8%, rgba(20, 184, 166, 0.16), transparent 28%),
    radial-gradient(circle at 78% 80%, rgba(100, 162, 255, 0.14), transparent 34%),
    linear-gradient(135deg, #eef6ff 0%, #ffffff 48%, #eaf7ff 100%);
}

.faq-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.12), transparent);
}

.faq-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: 48px;
  align-items: center;
}

.faq-hero-copy h1 {
  max-width: 780px;
  margin: 0;
  color: #0f172a;
  font-size: clamp(2.45rem, 5vw, 4.8rem);
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.faq-hero-lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: #526072;
  font-size: 1.16rem;
  line-height: 1.72;
}

.faq-hero-actions,
.faq-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.faq-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.faq-hero-points div {
  padding: 10px 14px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #334155;
  font-size: 0.92rem;
  font-weight: 700;
}

.faq-hero-panel {
  display: grid;
  gap: 18px;
}

.faq-hero-panel-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 8%, rgba(100, 162, 255, 0.34), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(20, 184, 166, 0.20), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%);
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.faq-hero-panel-card span {
  display: inline-block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.faq-hero-panel-card h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.faq-hero-panel-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
}

.faq-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.faq-mini-grid div {
  min-height: 130px;
  padding: 20px;
  border: 1px solid rgba(27, 102, 209, 0.14);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f3f9ff 100%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.faq-mini-grid div:nth-child(2),
.faq-mini-grid div:nth-child(4) {
  background: linear-gradient(180deg, #ffffff 0%, #effdf9 100%);
  border-color: rgba(20, 184, 166, 0.18);
}

.faq-mini-grid strong,
.faq-mini-grid span {
  display: block;
}

.faq-mini-grid strong {
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 1.05rem;
}

.faq-mini-grid span {
  color: #526072;
  font-size: 0.95rem;
  line-height: 1.45;
}

/* BUTTONS */
.page-faq-modern .button-primary,
.page-faq-modern .button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.page-faq-modern .button-primary {
  background: #1b66d1;
  color: #ffffff;
  box-shadow: 0 16px 30px rgba(27, 102, 209, 0.24);
}

.page-faq-modern .button-primary:hover {
  transform: translateY(-2px);
  color: #ffffff;
  box-shadow: 0 20px 38px rgba(27, 102, 209, 0.28);
}

.page-faq-modern .button-secondary {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.page-faq-modern .button-secondary:hover {
  transform: translateY(-2px);
  color: #0f172a;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.10);
}

/* INTRO */
.faq-intro-section {
  padding: 86px 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(20, 184, 166, 0.10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.faq-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.72fr);
  gap: 34px;
  align-items: stretch;
}

.faq-split-copy h2,
.faq-section-heading h2,
.faq-cta h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.faq-split-copy p,
.faq-section-heading p,
.faq-cta p {
  margin: 18px 0 0;
  color: #526072;
  font-size: 1.05rem;
  line-height: 1.7;
}

.faq-split-card {
  padding: 30px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 90% 8%, rgba(100, 162, 255, 0.20), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #1d355d 100%);
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.faq-split-card h3 {
  margin: 0 0 20px;
  color: #ffffff;
  font-size: 1.55rem;
}

.faq-split-card ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.faq-split-card li {
  position: relative;
  padding-left: 26px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}

.faq-split-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #64a2ff;
}

/* FAQ SECTION */
.faq-section {
  padding: 82px 0;
  background:
    radial-gradient(circle at 12% 8%, rgba(27, 102, 209, 0.08), transparent 28%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.faq-section-heading {
  max-width: 780px;
  margin-bottom: 34px;
}

.faq-category-accordion {
  display: grid;
  gap: 16px;
}

/* Main compressed sections */
.faq-category {
  overflow: hidden;
  border: 1px solid rgba(27, 102, 209, 0.13);
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.faq-category-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 18px;
  padding: 24px 26px;
  border: 0;
  background:
    radial-gradient(circle at 96% 0%, rgba(20, 184, 166, 0.12), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  color: #0f172a;
  cursor: pointer;
  text-align: left;
}

.faq-category-toggle span {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 900;
  letter-spacing: -0.025em;
}

.faq-category-toggle em {
  position: relative;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(27, 102, 209, 0.10);
}

.faq-category-toggle em::before,
.faq-category-toggle em::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: #1b66d1;
  transform: translate(-50%, -50%);
  transition: transform 0.18s ease;
}

.faq-category-toggle em::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-category.is-open .faq-category-toggle {
  background:
    radial-gradient(circle at 92% 8%, rgba(100, 162, 255, 0.18), transparent 32%),
    radial-gradient(circle at 8% 92%, rgba(20, 184, 166, 0.12), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%);
  color: #ffffff;
}

.faq-category.is-open .faq-category-toggle em {
  background: rgba(255, 255, 255, 0.16);
}

.faq-category.is-open .faq-category-toggle em::before,
.faq-category.is-open .faq-category-toggle em::after {
  background: #ffffff;
}

.faq-category.is-open .faq-category-toggle em::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.faq-category-panel {
  display: none;
  padding: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.faq-category.is-open .faq-category-panel {
  display: block;
}

/* Nested FAQ items */
.faq-items {
  display: grid;
  gap: 12px;
}

.faq-item {
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 20px;
  background: #ffffff;
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 18px 20px;
  border: 0;
  background: #ffffff;
  color: #0f172a;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.faq-question span {
  position: relative;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 12px;
  background: rgba(27, 102, 209, 0.10);
}

.faq-question span::before,
.faq-question span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 13px;
  height: 2px;
  border-radius: 999px;
  background: #1b66d1;
  transform: translate(-50%, -50%);
  transition: transform 0.18s ease;
}

.faq-question span::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-answer {
  display: none;
  padding: 0 20px 20px;
}

.faq-answer p {
  margin: 0;
  color: #526072;
  line-height: 1.68;
}

.faq-item.is-open .faq-question {
  color: #1b66d1;
}

.faq-item.is-open .faq-question span::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.faq-item.is-open .faq-answer {
  display: block;
}

/* CTA */
.faq-cta {
  padding: 76px 0 92px;
}

.faq-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 38px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 12%, rgba(45, 212, 191, 0.24), transparent 30%),
    radial-gradient(circle at 8% 88%, rgba(100, 162, 255, 0.22), transparent 30%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%);
  color: #ffffff;
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.20);
}

.faq-cta h2,
.faq-cta p {
  color: #ffffff;
}

.faq-cta p {
  color: rgba(255, 255, 255, 0.78);
}

.faq-cta .button-secondary {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: none;
}

.faq-cta .button-secondary:hover {
  color: #ffffff;
}

/* TABLET */
@media (max-width: 1100px) {
  .faq-hero-inner,
  .faq-split-grid {
    grid-template-columns: 1fr;
  }

  .faq-cta-inner {
    grid-template-columns: 1fr;
  }
}

/* MOBILE */
@media (max-width: 700px) {
  .page-faq-modern .container {
    width: min(100% - 28px, 1180px);
  }

  .faq-hero {
    padding: 54px 0 52px;
  }

  .faq-hero-inner {
    gap: 30px;
  }

  .faq-hero-copy h1 {
    font-size: clamp(2.2rem, 12vw, 3.4rem);
    line-height: 1;
  }

  .faq-hero-lead {
    font-size: 1rem;
    line-height: 1.65;
  }

  .faq-hero-actions,
  .faq-cta-actions {
    flex-direction: column;
  }

  .faq-hero-actions a,
  .faq-cta-actions a {
    width: 100%;
  }

  .faq-mini-grid {
    grid-template-columns: 1fr;
  }

  .faq-hero-panel-card,
  .faq-split-card,
  .faq-cta-inner {
    border-radius: 24px;
    padding: 24px;
  }

  .faq-intro-section,
  .faq-section {
    padding: 58px 0;
  }

  .faq-split-copy h2,
  .faq-section-heading h2,
  .faq-cta h2 {
    font-size: clamp(1.9rem, 9vw, 2.6rem);
    line-height: 1.06;
  }

  .faq-hero-points {
    flex-direction: column;
  }

  .faq-hero-points div {
    width: 100%;
  }

  .faq-category-toggle {
    padding: 20px;
  }

  .faq-category-toggle span {
    font-size: 1.25rem;
  }

  .faq-category-panel {
    padding: 14px;
  }

  .faq-question {
    padding: 16px;
    font-size: 0.96rem;
  }

  .faq-answer {
    padding: 0 16px 16px;
  }
}

/* =========================================================
   CONTACT PAGE - CF7 MESSAGE BOX SIZE REDUCTION
   ========================================================= */

.contact-page-modern .wpcf7 textarea,
.page-contact .wpcf7 textarea,
.contact-form-section .wpcf7 textarea,
.contact-form-card .wpcf7 textarea {
  min-height: 90px !important;
  height: 90px !important;
  max-height: 110px !important;
  resize: vertical;
}

/* Specific support for common CF7 textarea field names */
.contact-page-modern textarea[name="your-message"],
.contact-page-modern textarea[name="message"],
.contact-page-modern textarea[name="how-we-can-help"] {
  min-height: 90px !important;
  height: 90px !important;
  max-height: 110px !important;
}

/* =========================================================
   CONTACT PAGE - WHATSAPP QR CARD
   ========================================================= */

.contact-whatsapp-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 22px;
  align-items: center;
  width: 100%;
  padding: 24px;
  border: 1px solid rgba(27, 102, 209, 0.14);
  border-radius: 24px;
  background:
    radial-gradient(circle at 95% 5%, rgba(37, 211, 102, 0.16), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f3fff8 100%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.contact-whatsapp-label {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 10px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(37, 211, 102, 0.12);
  color: #15803d;
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-whatsapp-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.35rem;
  line-height: 1.2;
}

.contact-whatsapp-card p {
  margin: 10px 0 0;
  color: #526072;
  font-size: 0.98rem;
  line-height: 1.6;
}

.contact-whatsapp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 42px;
  margin-top: 16px;
  padding: 11px 18px;
  border-radius: 999px;
  background: #25d366;
  color: #ffffff !important;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(37, 211, 102, 0.24);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.contact-whatsapp-button:hover {
  transform: translateY(-2px);
  color: #ffffff !important;
  text-decoration: none;
  box-shadow: 0 18px 34px rgba(37, 211, 102, 0.28);
}

.contact-whatsapp-qr {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.contact-whatsapp-qr img {
  display: block;
  width: 130px;
  height: 130px;
  object-fit: contain;
}

/* Mobile */
@media (max-width: 700px) {
  .contact-whatsapp-card {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 22px;
  }

  .contact-whatsapp-label,
  .contact-whatsapp-button {
    margin-left: auto;
    margin-right: auto;
  }

  .contact-whatsapp-qr img {
    width: 160px;
    height: 160px;
  }
}

/* =========================
   TOP BAR
   ========================= */

.top-bar{
  background:#0f172a;
  color:#ffffff;
  font-size:14px;
  line-height:1.4;
}

.top-bar a{
  color:#ffffff;
  text-decoration:none;
}

.top-bar a:hover{
  color:#dbeafe;
}

.top-bar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:44px;
  padding:10px 0;
}

.top-bar-left,
.top-bar-right{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.top-bar-message{
  display:inline-flex;
  align-items:center;
}

.top-bar-item{
  display:inline-flex;
  align-items:center;
}

.top-bar-follow{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}

.top-bar-social{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}

.top-bar-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  flex:0 0 30px;
}

.top-bar-social img,
.top-bar-social svg{
  width:16px;
  height:16px;
  display:block;
}

/* =========================
   MOBILE TOP BAR FIX
   ========================= */

@media (max-width: 991px){

  .top-bar{
    display:block !important;
  }

  .top-bar .container{
    padding-left:16px;
    padding-right:16px;
  }

  .top-bar-inner{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:8px;
    padding:10px 0 12px;
    min-height:auto;
  }

  .top-bar-left,
  .top-bar-right{
    width:100%;
    display:flex !important;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    gap:8px 12px;
  }

  .top-bar-message{
    width:100%;
    display:block;
    margin:0;
    line-height:1.45;
  }

  .top-bar-item{
    display:inline-flex !important;
    width:auto;
    max-width:100%;
    word-break:break-word;
  }

  .top-bar-item[href^="mailto:"]{
    white-space:normal;
    overflow-wrap:anywhere;
  }

  .top-bar-right{
    gap:8px;
  }

  .top-bar-follow{
    display:inline-flex !important;
    margin-right:2px;
  }

  .top-bar-social{
    display:flex !important;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    flex-wrap:nowrap;
  }

  .top-bar-social a{
    width:28px;
    height:28px;
    flex:0 0 28px;
  }
}

@media (max-width: 575px){

  .top-bar{
    font-size:13px;
  }

  .top-bar-inner{
    gap:7px;
    padding:9px 0 11px;
  }

  .top-bar-left,
  .top-bar-right{
    gap:7px 10px;
  }

  .top-bar-message{
    font-size:13px;
  }

  .top-bar-social a{
    width:26px;
    height:26px;
    flex:0 0 26px;
  }

  .top-bar-social img,
  .top-bar-social svg{
    width:14px;
    height:14px;
  }
}

/* =========================================================
   FINAL MOBILE TOP BAR FIX
   Put this at the very end of style.css
   ========================================================= */

.top-bar-right .social-links{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}

.top-bar-right .social-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
}

.top-bar-right .social-links .social-icon{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.top-bar-right .social-links .social-icon svg{
  width:16px;
  height:16px;
  display:block;
  fill:#ffffff;
}

@media (max-width: 767px){

  .top-bar{
    padding:0 !important;
    overflow:hidden !important;
  }

  .top-bar .container,
  .top-bar-inner{
    width:100% !important;
    max-width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
    box-sizing:border-box !important;
  }

  .top-bar-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
    min-height:auto !important;
  }

  .top-bar-left,
  .top-bar-right{
    width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px 12px !important;
    margin:0 !important;
  }

  .top-bar-message{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.45 !important;
    font-size:13px !important;
  }

  .top-bar-item{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    max-width:100% !important;
    padding:0 !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .top-bar-item::before,
  .top-bar-left .top-bar-item + .top-bar-item::before{
    display:none !important;
    content:none !important;
  }

  .top-bar-item[href^="mailto:"]{
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  .top-bar-follow,
  .top-bar-follow-label{
    display:inline-flex !important;
    align-items:center !important;
    margin:0 !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
  }

  .top-bar-right .social-links,
  .top-bar-social{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    width:auto !important;
  }

  .top-bar-right .social-links a,
  .top-bar-social a{
    width:28px !important;
    height:28px !important;
    flex:0 0 28px !important;
  }

  .top-bar-right .social-links .social-icon,
  .top-bar-social .social-icon{
    width:14px !important;
    height:14px !important;
  }

  .top-bar-right .social-links .social-icon svg,
  .top-bar-social .social-icon svg{
    width:14px !important;
    height:14px !important;
  }
}

@media (max-width: 480px){

  .top-bar-message,
  .top-bar-item,
  .top-bar-follow,
  .top-bar-follow-label{
    font-size:12.5px !important;
  }

  .top-bar-right{
    gap:6px 10px !important;
  }

  .top-bar-right .social-links a,
  .top-bar-social a{
    width:26px !important;
    height:26px !important;
    flex:0 0 26px !important;
  }
}

/* =========================
   SOCIAL LINKS CARDS
   ========================= */

.social-links-grid-section{
  padding:32px 0 20px;
}

.social-links-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.social-link-card{
  border:1px solid #d9e2ec;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 32px rgba(15,23,42,.06);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.social-link-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(15,23,42,.1);
  border-color:#bfd0e4;
}

.social-link-card-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:16px;
  min-height:250px;
  padding:28px 22px;
  text-decoration:none;
}

.social-link-card-logo{
  width:88px;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  border:1px solid #e2e8f0;
}

.social-link-card-logo img{
  display:block;
  width:72px;
  height:72px;
  object-fit:contain;
}

.social-link-card-copy h3{
  margin:0 0 8px;
  font-size:1.2rem;
  line-height:1.2;
  color:#0f172a;
}

.social-link-card-copy p{
  margin:0;
  color:#526072;
  line-height:1.7;
}

.social-link-card-linkedin .social-link-card-logo{
  background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);
}

.social-link-card-instagram .social-link-card-logo{
  background:linear-gradient(180deg,#fff1f2 0%,#ffffff 100%);
}

.social-link-card-facebook .social-link-card-logo{
  background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);
}

.social-link-card-x .social-link-card-logo{
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
}

@media (max-width:1100px){
  .social-links-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:767px){
  .social-links-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .social-link-card-inner{
    min-height:220px;
    padding:24px 18px;
  }

  .social-link-card-logo{
    width:76px;
    height:76px;
  }

  .social-link-card-logo img{
    width:60px;
    height:60px;
  }
}

/* =========================
   SOCIAL MEDIA UPDATES PAGE
   ========================= */

.social-page-modern{
  background:linear-gradient(180deg,#f5f8fc 0%,#ffffff 34%,#f7fbff 100%);
}

.social-hero{
  position:relative;
  overflow:hidden;
  padding:88px 0 72px;
  background:
    radial-gradient(circle at top left, rgba(27,102,209,.18), transparent 32%),
    radial-gradient(circle at bottom right, rgba(59,130,246,.12), transparent 28%),
    linear-gradient(135deg,#0f172a 0%,#132238 52%,#0b1220 100%);
  color:#fff;
}

.social-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:32px 32px;
  opacity:.18;
  pointer-events:none;
}

.social-hero-inner{
  position:relative;
  z-index:1;
  max-width:860px;
}

.social-hero .eyebrow{
  display:inline-block;
  margin-bottom:14px;
  color:#93c5fd;
}

.social-hero h1{
  margin:0 0 16px;
  font-size:clamp(2.3rem,4vw,4.1rem);
  line-height:1.05;
  color:#fff;
  letter-spacing:-.03em;
}

.social-hero p{
  margin:0;
  max-width:760px;
  color:rgba(255,255,255,.86);
  font-size:1.03rem;
  line-height:1.82;
}

.social-links-grid-section{
  padding:32px 0 20px;
}

.social-links-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.social-link-card{
  border:1px solid #d9e2ec;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 32px rgba(15,23,42,.06);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.social-link-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(15,23,42,.1);
  border-color:#bfd0e4;
}

.social-link-card-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:16px;
  min-height:250px;
  padding:28px 22px;
  text-decoration:none;
}

.social-link-card-logo{
  width:88px;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  border:1px solid #e2e8f0;
}

.social-link-card-logo img{
  display:block;
  width:72px;
  height:72px;
  object-fit:contain;
}

.social-link-card-copy h3{
  margin:0 0 8px;
  font-size:1.2rem;
  line-height:1.2;
  color:#0f172a;
}

.social-link-card-copy p{
  margin:0;
  color:#526072;
  line-height:1.7;
}

.social-link-card-linkedin .social-link-card-logo{
  background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);
}

.social-link-card-instagram .social-link-card-logo{
  background:linear-gradient(180deg,#fff1f2 0%,#ffffff 100%);
}

.social-link-card-facebook .social-link-card-logo{
  background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);
}

.social-link-card-x .social-link-card-logo{
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
}

.social-feed-section{
  padding:26px 0 78px;
}

.social-feed-heading{
  max-width:820px;
  margin:0 auto 28px;
  text-align:center;
}

.social-feed-card{
  border:1px solid #d9e2ec;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
  overflow:hidden;
  padding:24px;
}

@media (max-width:1100px){
  .social-links-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:767px){
  .social-hero{
    padding:72px 0 60px;
  }

  .social-hero h1{
    font-size:clamp(2rem,8vw,3rem);
  }

  .social-links-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .social-link-card-inner{
    min-height:220px;
    padding:24px 18px;
  }

  .social-link-card-logo{
    width:76px;
    height:76px;
  }

  .social-link-card-logo img{
    width:60px;
    height:60px;
  }

  .social-feed-card{
    padding:18px;
    border-radius:20px;
  }
}

/* =========================
   SOCIAL MEDIA UPDATES PAGE
   ========================= */

.social-page-modern{
  background:linear-gradient(180deg,#f5f8fc 0%,#ffffff 34%,#f7fbff 100%);
}

.social-hero{
  position:relative;
  overflow:hidden;
  padding:88px 0 72px;
  background:
    radial-gradient(circle at top left, rgba(27,102,209,.18), transparent 32%),
    radial-gradient(circle at bottom right, rgba(59,130,246,.12), transparent 28%),
    linear-gradient(135deg,#0f172a 0%,#132238 52%,#0b1220 100%);
  color:#fff;
}

.social-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:32px 32px;
  opacity:.18;
  pointer-events:none;
}

.social-hero-inner{
  position:relative;
  z-index:1;
  max-width:860px;
}

.social-hero .eyebrow{
  display:inline-block;
  margin-bottom:14px;
  color:#93c5fd;
}

.social-hero h1{
  margin:0 0 16px;
  font-size:clamp(2.3rem,4vw,4.1rem);
  line-height:1.05;
  color:#fff;
  letter-spacing:-.03em;
}

.social-hero p{
  margin:0;
  max-width:760px;
  color:rgba(255,255,255,.86);
  font-size:1.03rem;
  line-height:1.82;
}

.social-links-grid-section{
  padding:32px 0 20px;
}

.social-links-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.social-link-card{
  border:1px solid #d9e2ec;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 32px rgba(15,23,42,.06);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.social-link-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(15,23,42,.1);
  border-color:#bfd0e4;
}

.social-link-card-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:16px;
  min-height:250px;
  padding:28px 22px;
  text-decoration:none;
}

.social-link-card-logo{
  width:88px;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  border:1px solid #e2e8f0;
}

.social-link-card-logo img{
  display:block;
  width:72px;
  height:72px;
  object-fit:contain;
}

.social-link-card-copy h3{
  margin:0 0 8px;
  font-size:1.2rem;
  line-height:1.2;
  color:#0f172a;
}

.social-link-card-copy p{
  margin:0;
  color:#526072;
  line-height:1.7;
}

.social-link-card-linkedin .social-link-card-logo{
  background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);
}

.social-link-card-instagram .social-link-card-logo{
  background:linear-gradient(180deg,#fff1f2 0%,#ffffff 100%);
}

.social-link-card-facebook .social-link-card-logo{
  background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);
}

.social-link-card-x .social-link-card-logo{
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
}

.social-feed-section{
  padding:26px 0 78px;
}

.social-feed-heading{
  max-width:820px;
  margin:0 auto 28px;
  text-align:center;
}

.social-feed-card{
  border:1px solid #d9e2ec;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
  overflow:hidden;
  padding:24px;
}

@media (max-width:1100px){
  .social-links-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:767px){
  .social-hero{
    padding:72px 0 60px;
  }

  .social-hero h1{
    font-size:clamp(2rem,8vw,3rem);
  }

  .social-links-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .social-link-card-inner{
    min-height:220px;
    padding:24px 18px;
  }

  .social-link-card-logo{
    width:76px;
    height:76px;
  }

  .social-link-card-logo img{
    width:60px;
    height:60px;
  }

  .social-feed-card{
    padding:18px;
    border-radius:20px;
  }
}

/* =========================================================
   FINAL MOBILE HEADER + MENU + CONNECTIVITY FIX
   Put this at the very end of style.css
   ========================================================= */

@media (max-width: 900px){

  /* -------------------------
     STOP OLD FIXES FIGHTING EACH OTHER
     ------------------------- */
  html,
  body{
    overflow-x:hidden !important;
    max-width:100% !important;
  }

  body{
    padding-top:0 !important;
  }

  .site-header,
  header.site-header,
  #masthead{
    position:sticky !important;
    top:0 !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    box-shadow:0 8px 24px rgba(15,23,42,.08) !important;
  }

  .admin-bar .site-header,
  .admin-bar header.site-header,
  .admin-bar #masthead{
    top:46px !important;
  }

  /* -------------------------
     TOP BAR MOBILE
     ------------------------- */
  .top-bar{
    display:block !important;
    padding:0 !important;
    overflow:visible !important;
  }

  .top-bar .container,
  .top-bar-inner{
    width:100% !important;
    max-width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
    box-sizing:border-box !important;
  }

  .top-bar-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    min-height:auto !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  .top-bar-left,
  .top-bar-right{
    width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px 12px !important;
    margin:0 !important;
  }

  .top-bar-message{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    font-size:13px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  .top-bar-item{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    font-size:13px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  .top-bar-left .top-bar-item + .top-bar-item::before,
  .top-bar-item::before{
    display:none !important;
    content:none !important;
  }

  .top-bar-follow,
  .top-bar-follow-label{
    display:inline-flex !important;
    align-items:center !important;
    margin:0 !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
  }

  .top-bar-right .social-links,
  .social-links--topbar{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    width:auto !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
  }

  .top-bar-right .social-links a,
  .social-links--topbar a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:28px !important;
    height:28px !important;
    flex:0 0 28px !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:999px !important;
    padding:0 !important;
    min-height:0 !important;
  }

  .top-bar-right .social-links .social-icon,
  .social-links--topbar .social-icon{
    width:14px !important;
    height:14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .top-bar-right .social-links .social-icon svg,
  .social-links--topbar .social-icon svg{
    width:14px !important;
    height:14px !important;
    display:block !important;
    fill:#ffffff !important;
  }

  /* -------------------------
     MOBILE HEADER ROW
     ------------------------- */
  .site-header .header-inner{
    width:100% !important;
    max-width:100% !important;
    min-height:72px !important;
    padding:12px 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    flex-wrap:wrap !important;
    border-bottom:0 !important;
  }

  .branding{
    flex:1 1 auto !important;
    min-width:0 !important;
    margin-right:0 !important;
  }

  .branding .custom-logo,
  .branding img{
    max-height:46px !important;
    width:auto !important;
  }

  .menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:88px !important;
    min-height:42px !important;
    padding:0 16px !important;
    margin-left:auto !important;
    border:1px solid #d9e2ec !important;
    border-radius:999px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    font-weight:700 !important;
    cursor:pointer !important;
    box-shadow:0 8px 20px rgba(15,23,42,.08) !important;
  }

  /* -------------------------
     MOBILE MENU CLOSED STATE
     ------------------------- */
  .primary-navigation{
    display:none !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    flex:0 0 100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .primary-navigation.is-open{
    display:block !important;
  }

  .primary-navigation .menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
    width:100% !important;
    margin:12px 0 0 !important;
    padding:12px !important;
    list-style:none !important;
    background:#ffffff !important;
    border:1px solid #d9e2ec !important;
    border-radius:20px !important;
    box-shadow:0 18px 40px rgba(15,23,42,.08) !important;
  }

  .primary-navigation .menu > li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .primary-navigation .menu > li > a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:44px !important;
    padding:12px 14px !important;
    margin:0 !important;
    background:#ffffff !important;
    color:#0f172a !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:14px !important;
    white-space:normal !important;
    line-height:1.35 !important;
    box-shadow:none !important;
  }

  /* -------------------------
     MOBILE SUBMENUS
     ------------------------- */
  .primary-navigation .sub-menu{
    display:none !important;
    position:static !important;
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    margin:6px 0 0 !important;
    padding:8px !important;
    background:#f8fbff !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:16px !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .primary-navigation .menu > li.menu-open > .sub-menu,
  .primary-navigation .sub-menu li.menu-open > .sub-menu{
    display:block !important;
  }

  .primary-navigation .sub-menu li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  .primary-navigation .sub-menu a{
    display:block !important;
    width:100% !important;
    padding:10px 12px !important;
    border-radius:12px !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.4 !important;
    background:#ffffff !important;
    color:#0f172a !important;
  }

  .primary-navigation .sub-menu .sub-menu{
    margin-top:8px !important;
  }

  /* -------------------------
     CONNECTIVITY PAGE TEXT FIX
     ------------------------- */
  .page-connectivity,
  .page-connectivity *{
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  .page-connectivity p,
  .page-connectivity li,
  .page-connectivity a,
  .page-connectivity span,
  .page-connectivity h2,
  .page-connectivity h3,
  .page-connectivity h4,
  .page-connectivity .connectivity-option-card,
  .page-connectivity .connectivity-process-card,
  .page-connectivity .connectivity-hero-card,
  .page-connectivity .connectivity-split-card,
  .page-connectivity .connectivity-reasons-card,
  .page-connectivity .network-card-body,
  .page-connectivity .card-content,
  .page-connectivity .card-copy,
  .page-connectivity .card-body{
    word-break:normal !important;
    overflow-wrap:break-word !important;
    white-space:normal !important;
    hyphens:none !important;
  }

  /* Specific fix for Business Internet Access section */
  .page-connectivity .business-internet-access,
  .page-connectivity .business-internet-access *,
  .page-connectivity .connectivity-option-grid,
  .page-connectivity .connectivity-option-grid *,
  .page-connectivity section.network-grid-section article.network-card .network-card-body,
  .page-connectivity section.network-grid-section article.network-card .network-card-body *{
    word-break:normal !important;
    overflow-wrap:break-word !important;
    letter-spacing:normal !important;
  }
}

@media (max-width: 480px){
  .top-bar-message,
  .top-bar-item,
  .top-bar-follow,
  .top-bar-follow-label{
    font-size:12.5px !important;
  }

  .top-bar-right .social-links a,
  .social-links--topbar a{
    width:26px !important;
    height:26px !important;
    flex:0 0 26px !important;
  }
}

/* =========================================================
   CONNECTIVITY PAGE MOBILE REPAIR
   Put this at the very end of style.css
   ========================================================= */

.page-connectivity,
.page-connectivity *{
  box-sizing:border-box;
}

@media (max-width: 900px){

  .page-connectivity{
    overflow-x:hidden !important;
  }

  .page-connectivity .container{
    width:min(100% - 28px, 1180px) !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .page-connectivity .connectivity-hero-grid,
  .page-connectivity .connectivity-support-grid,
  .page-connectivity .connectivity-option-grid,
  .page-connectivity .connectivity-process-grid{
    grid-template-columns:1fr !important;
  }

  .page-connectivity .connectivity-split-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:24px !important;
    min-height:auto !important;
  }

  .page-connectivity .business-internet-access-section,
  .page-connectivity .business-internet-access-copy,
  .page-connectivity .business-internet-access-check,
  .page-connectivity .connectivity-split-copy,
  .page-connectivity .connectivity-check-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .page-connectivity .business-internet-access-copy,
  .page-connectivity .business-internet-access-check,
  .page-connectivity .connectivity-split-copy,
  .page-connectivity .connectivity-check-card{
    padding:0 !important;
  }

  .page-connectivity .business-internet-access-section h2,
  .page-connectivity .business-internet-access-section h3,
  .page-connectivity .business-internet-access-section p,
  .page-connectivity .business-internet-access-section li,
  .page-connectivity .business-internet-access-section span,
  .page-connectivity .connectivity-option-card h3,
  .page-connectivity .connectivity-option-card p,
  .page-connectivity .connectivity-option-card li,
  .page-connectivity .connectivity-process-card h3,
  .page-connectivity .connectivity-process-card p,
  .page-connectivity .connectivity-reasons-card h3,
  .page-connectivity .connectivity-reasons-card li{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:none !important;
    letter-spacing:normal !important;
  }

  .page-connectivity .business-internet-access-section p,
  .page-connectivity .business-internet-access-section li,
  .page-connectivity .connectivity-option-card p,
  .page-connectivity .connectivity-option-card li,
  .page-connectivity .connectivity-process-card p,
  .page-connectivity .connectivity-reasons-card li{
    font-size:.96rem !important;
    line-height:1.65 !important;
  }

  .page-connectivity .business-internet-access-section .section-eyebrow{
    display:inline-flex !important;
    width:auto !important;
    max-width:100% !important;
    white-space:normal !important;
  }

  .page-connectivity .connectivity-option-card,
  .page-connectivity .connectivity-process-card,
  .page-connectivity .connectivity-reasons-card,
  .page-connectivity .connectivity-hero-card,
  .page-connectivity .connectivity-mini-card,
  .page-connectivity .connectivity-check-card,
  .page-connectivity .connectivity-cta-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .page-connectivity .connectivity-option-card,
  .page-connectivity .connectivity-process-card,
  .page-connectivity .connectivity-reasons-card,
  .page-connectivity .connectivity-hero-card,
  .page-connectivity .connectivity-mini-card,
  .page-connectivity .connectivity-check-card,
  .page-connectivity .connectivity-cta-card,
  .page-connectivity .connectivity-support-copy{
    padding:22px 20px !important;
  }

  .page-connectivity .connectivity-hero{
    padding:58px 0 46px !important;
  }

  .page-connectivity .connectivity-intro,
  .page-connectivity .connectivity-options,
  .page-connectivity .connectivity-comparison,
  .page-connectivity .connectivity-process,
  .page-connectivity .connectivity-support,
  .page-connectivity .connectivity-cta{
    padding:58px 0 !important;
  }

  .page-connectivity .button-row{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .page-connectivity .button-row a{
    width:100% !important;
  }

  .page-connectivity .connectivity-anchor-nav{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }

  .page-connectivity .connectivity-anchor-nav a{
    width:100% !important;
    text-align:center !important;
  }
}

@media (max-width: 700px){

  .page-connectivity .connectivity-hero-copy h1{
    font-size:clamp(2.1rem, 11vw, 3.2rem) !important;
    line-height:1.02 !important;
  }

  .page-connectivity .business-internet-access-section h2,
  .page-connectivity .connectivity-support-copy h2,
  .page-connectivity .connectivity-cta-card h2,
  .page-connectivity .section-heading h2{
    font-size:clamp(1.8rem, 8vw, 2.4rem) !important;
    line-height:1.08 !important;
  }

  .page-connectivity .connectivity-table-wrap{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  .page-connectivity .connectivity-table{
    min-width:720px !important;
  }
}

/* =========================================================
   FINAL MOBILE TOP BAR + MENU OVERRIDE
   Put this at the very end of style.css
   ========================================================= */

@media (max-width: 900px){

  .top-bar{
    display:block !important;
    background:#0f172a !important;
    overflow:visible !important;
  }

  .top-bar-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    min-height:auto !important;
    padding:10px 16px !important;
  }

  .top-bar-left,
  .top-bar-right{
    width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px 12px !important;
    margin:0 !important;
  }

  .top-bar-message{
    display:block !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }

  .top-bar-item{
    display:inline-flex !important;
    width:auto !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  .top-bar-left .top-bar-item + .top-bar-item::before{
    display:none !important;
  }

  .top-bar-follow{
    display:inline-flex !important;
    align-items:center !important;
    margin:0 !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
  }

  .social-links--topbar{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
    width:auto !important;
  }

  .social-links--topbar a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:999px !important;
    background:transparent !important;
  }

  .social-links--topbar .social-icon{
    width:14px !important;
    height:14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .social-links--topbar .social-icon svg{
    width:14px !important;
    height:14px !important;
    fill:#ffffff !important;
  }

  .site-header .header-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    width:100% !important;
    min-height:72px !important;
    padding:12px 16px !important;
  }

  .menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:88px !important;
    min-height:42px !important;
    margin-left:auto !important;
  }

  .primary-navigation{
    display:none !important;
    width:100% !important;
    flex:0 0 100% !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .primary-navigation.is-open{
    display:block !important;
  }

  .primary-navigation .menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    gap:8px !important;
    margin:12px 0 0 !important;
    padding:12px !important;
    list-style:none !important;
    background:#ffffff !important;
    border:1px solid #d9e2ec !important;
    border-radius:20px !important;
    box-shadow:0 18px 40px rgba(15,23,42,.08) !important;
  }

  .primary-navigation .menu > li{
    width:100% !important;
    display:block !important;
    margin:0 !important;
  }

  .primary-navigation .menu > li > a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:44px !important;
    padding:12px 14px !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:14px !important;
    background:#ffffff !important;
    white-space:normal !important;
    line-height:1.35 !important;
    box-shadow:none !important;
  }

  .primary-navigation .sub-menu{
    display:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:6px 0 0 !important;
    padding:8px !important;
    background:#f8fbff !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:16px !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .primary-navigation .menu > li.menu-open > .sub-menu,
  .primary-navigation .sub-menu li.menu-open > .sub-menu{
    display:block !important;
  }

  .primary-navigation .sub-menu li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  .primary-navigation .sub-menu a{
    display:block !important;
    width:100% !important;
    padding:10px 12px !important;
    border-radius:12px !important;
    background:#ffffff !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.4 !important;
  }
}

@media (max-width: 575px){
  .top-bar-message,
  .top-bar-item,
  .top-bar-follow{
    font-size:12.5px !important;
  }

  .social-links--topbar a{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
  }
}

.menu-item-has-children{
  position:relative;
}

.menu-item-has-children > a{
  position:relative;
  z-index:2;
  pointer-events:auto;
}

.menu-item-has-children > .submenu-toggle{
  position:relative;
  z-index:3;
  margin-left:8px;
  background:none;
  border:0;
  cursor:pointer;
  padding:6px;
  line-height:1;
}

.menu-item-has-children > .sub-menu{
  z-index:20;
}

@media (min-width: 768px){
  .menu-item-has-children > a{
    display:inline-flex;
    align-items:center;
  }

  .menu-item-has-children > .submenu-toggle{
    display:none;
  }
}

@media (max-width: 767px){
  .menu-item-has-children{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
  }

  .menu-item-has-children > a{
    flex:1 1 auto;
    min-width:0;
  }

  .menu-item-has-children > .submenu-toggle{
    flex:0 0 auto;
  }

  .menu-item-has-children > .sub-menu{
    display:none;
    width:100%;
  }

  .menu-item-has-children.submenu-open > .sub-menu{
    display:block;
  }
}

/* =========================================================
   IOS MOBILE HARD FIX
   Put this at the very end of style.css
   ========================================================= */

@media screen and (max-width: 900px){

  /* ---------- stop old mobile rules clipping the header ---------- */
  html,
  body{
    overflow-x:hidden !important;
    max-width:100% !important;
  }

  .site-header,
  .top-bar,
  .top-bar-inner,
  .header-inner{
    overflow:visible !important;
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }

  .site-header{
    position:sticky !important;
    top:0 !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    z-index:999999 !important;
    background:#ffffff !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .admin-bar .site-header{
    top:46px !important;
  }

  /* ---------- top bar ---------- */
  .site-header .top-bar{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    background:#0f172a !important;
    color:#ffffff !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
  }

  .site-header .top-bar .container,
  .site-header .top-bar-inner{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    padding:10px 16px !important;
    margin:0 !important;
  }

  .site-header .top-bar-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    min-height:auto !important;
  }

  .site-header .top-bar-left,
  .site-header .top-bar-right{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:100% !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px 12px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header .top-bar-message{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#ffffff !important;
    font-size:13px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }

  .site-header .top-bar-item,
  .site-header .top-bar-left a,
  .site-header .top-bar-right a{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#ffffff !important;
    text-decoration:none !important;
    font-size:13px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  .site-header .top-bar-left .top-bar-item + .top-bar-item::before,
  .site-header .top-bar-item::before{
    display:none !important;
    content:none !important;
  }

  .site-header .top-bar-follow,
  .site-header .top-bar-follow-label{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    color:#ffffff !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
  }

  /* ---------- top bar icons ---------- */
  .site-header .social-links--topbar,
  .site-header .top-bar-right .social-links{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .site-header .social-links--topbar a,
  .site-header .top-bar-right .social-links a{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center !important;
    justify-content:center !important;
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    max-width:28px !important;
    max-height:28px !important;
    padding:0 !important;
    margin:0 !important;
    border:1px solid rgba(255,255,255,.24) !important;
    border-radius:999px !important;
    background:transparent !important;
    flex:0 0 28px !important;
  }

  .site-header .social-links--topbar .social-icon,
  .site-header .top-bar-right .social-links .social-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    min-height:14px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header .social-links--topbar .social-icon svg,
  .site-header .top-bar-right .social-links .social-icon svg{
    display:block !important;
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    min-height:14px !important;
    fill:#ffffff !important;
  }

  /* ---------- header row ---------- */
  .site-header .header-inner{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-height:72px !important;
    padding:12px 16px !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    flex-wrap:wrap !important;
    background:#ffffff !important;
    border-bottom:0 !important;
  }

  .site-header .branding{
    display:flex !important;
    align-items:center !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    margin-right:0 !important;
  }

  .site-header .branding img,
  .site-header .custom-logo{
    max-height:46px !important;
    width:auto !important;
  }

  .site-header .menu-toggle{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:88px !important;
    min-height:42px !important;
    margin-left:auto !important;
    padding:0 16px !important;
    border:1px solid #d9e2ec !important;
    border-radius:999px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    box-shadow:0 8px 20px rgba(15,23,42,.08) !important;
  }

  /* ---------- mobile nav ---------- */
  .site-header #primary-navigation,
  .site-header .primary-navigation{
    display:none !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    flex:0 0 100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    z-index:999999 !important;
  }

  .site-header #primary-navigation.is-open,
  .site-header .primary-navigation.is-open{
    display:block !important;
  }

  .site-header #primary-navigation .menu,
  .site-header .primary-navigation .menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100% !important;
    gap:8px !important;
    margin:12px 0 0 !important;
    padding:12px !important;
    list-style:none !important;
    background:#ffffff !important;
    border:1px solid #d9e2ec !important;
    border-radius:20px !important;
    box-shadow:0 18px 40px rgba(15,23,42,.08) !important;
  }

  .site-header #primary-navigation .menu > li,
  .site-header .primary-navigation .menu > li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header #primary-navigation .menu > li > a,
  .site-header .primary-navigation .menu > li > a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:44px !important;
    padding:12px 14px !important;
    margin:0 !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:14px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    text-decoration:none !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.35 !important;
    box-shadow:none !important;
  }

  .site-header #primary-navigation .sub-menu,
  .site-header .primary-navigation .sub-menu{
    display:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:6px 0 0 !important;
    padding:8px !important;
    background:#f8fbff !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:16px !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .site-header #primary-navigation .menu > li.menu-open > .sub-menu,
  .site-header #primary-navigation .sub-menu li.menu-open > .sub-menu,
  .site-header .primary-navigation .menu > li.menu-open > .sub-menu,
  .site-header .primary-navigation .sub-menu li.menu-open > .sub-menu{
    display:block !important;
  }

  .site-header #primary-navigation .sub-menu li,
  .site-header .primary-navigation .sub-menu li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  .site-header #primary-navigation .sub-menu a,
  .site-header .primary-navigation .sub-menu a{
    display:block !important;
    width:100% !important;
    padding:10px 12px !important;
    border-radius:12px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    text-decoration:none !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.4 !important;
  }
}

@media screen and (max-width: 575px){
  .site-header .top-bar-message,
  .site-header .top-bar-item,
  .site-header .top-bar-follow,
  .site-header .top-bar-follow-label{
    font-size:12.5px !important;
  }

  .site-header .social-links--topbar a,
  .site-header .top-bar-right .social-links a{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    max-width:26px !important;
    max-height:26px !important;
    flex:0 0 26px !important;
  }

  .site-header .social-links--topbar .social-icon,
  .site-header .top-bar-right .social-links .social-icon,
  .site-header .social-links--topbar .social-icon svg,
  .site-header .top-bar-right .social-links .social-icon svg{
    width:13px !important;
    height:13px !important;
    min-width:13px !important;
    min-height:13px !important;
  }
}

.header-consultation-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:#1b66d1;
  color:#ffffff;
  text-decoration:none;
  font-weight:700;
  line-height:1;
  box-shadow:0 10px 24px rgba(27,102,209,.22);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  margin-right:14px;
  flex:0 0 auto;
}

.header-consultation-button:hover{
  transform:translateY(-2px);
  color:#ffffff;
  box-shadow:0 14px 30px rgba(27,102,209,.28);
}

@media (max-width:1024px){
  .header-consultation-button{
    order:-1;
    min-height:40px;
    padding:0 14px;
    font-size:14px;
    margin-right:0;
  }

  .site-header .header-inner{
    align-items:center;
  }
}

@media (max-width:767px){
  .header-consultation-button{
    width:100%;
    margin:0 0 10px;
  }
}

/* =========================
   HEADER CONSULTATION BUTTON
   ========================= */

.header-consultation-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:#1b66d1;
  color:#ffffff;
  text-decoration:none;
  font-weight:700;
  line-height:1;
  box-shadow:0 10px 24px rgba(27,102,209,.22);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  flex:0 0 auto;
  order:0;
}

.header-consultation-button:hover{
  transform:translateY(-2px);
  color:#ffffff;
  box-shadow:0 14px 30px rgba(27,102,209,.28);
}

.site-header .header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.site-header .branding{
  margin-right:auto;
}

@media (max-width:1024px){
  .header-consultation-button{
    order:1;
    min-height:40px;
    padding:0 14px;
    font-size:14px;
  }

  .site-header .branding{
    order:0;
    margin-right:auto;
  }

  .menu-toggle{
    order:2;
  }

  .primary-navigation{
    order:3;
    flex:0 0 100%;
  }
}

@media (max-width:767px){
  .header-consultation-button{
    width:100%;
    order:3;
  }

  .site-header .branding{
    order:0;
  }

  .menu-toggle{
    order:1;
  }

  .primary-navigation{
    order:4;
  }
}

/* =========================================================
   TOP LEFT CONSULTATION BUTTON
   ========================================================= */

.top-bar-consultation-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:#1b66d1;
  color:#ffffff !important;
  text-decoration:none;
  font-weight:700;
  line-height:1;
  box-shadow:0 8px 20px rgba(27,102,209,.22);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  flex:0 0 auto;
}

.top-bar-consultation-button:hover{
  transform:translateY(-1px);
  color:#ffffff !important;
  box-shadow:0 12px 24px rgba(27,102,209,.28);
}

.top-bar-left{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.top-bar-left .top-bar-consultation-button + .top-bar-message{
  margin-left:2px;
}

@media (max-width:767px){
  .top-bar-consultation-button{
    min-height:32px;
    padding:0 12px;
    font-size:12px;
  }
}

/* =========================================================
   HOMEPAGE TESTIMONIAL MARQUEE RESTORE
   ========================================================= */

.testimonial-banner-section{
  overflow:hidden;
  padding:76px 0;
}

.testimonial-marquee{
  overflow:hidden;
  width:100%;
  position:relative;
}

.testimonial-track{
  display:flex;
  align-items:stretch;
  gap:20px;
  width:max-content;
  animation:testimonialScroll 42s linear infinite;
  will-change:transform;
}

.testimonial-marquee:hover .testimonial-track{
  animation-play-state:paused;
}

.testimonial-card{
  flex:0 0 420px;
  width:420px;
  max-width:420px;
}

.testimonial-card-inner{
  height:100%;
  padding:26px 24px;
  border:1px solid #d9e2ec;
  border-radius:20px;
  background:#ffffff;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}

@keyframes testimonialScroll{
  0%{
    transform:translateX(0);
  }
  100%{
    transform:translateX(-50%);
  }
}

@media (max-width:767px){
  .testimonial-card{
    flex:0 0 86vw;
    width:86vw;
    max-width:340px;
  }

  .testimonial-card-inner{
    min-height:240px;
    padding:1.2rem 1.1rem 1.1rem;
  }
}

@media (prefers-reduced-motion: reduce){
  .testimonial-track{
    animation:none;
  }
}

/* =========================================================
   HOMEPAGE TESTIMONIALS RESTORE
   ========================================================= */

.testimonial-banner-section{
  display:block !important;
  overflow:hidden !important;
  width:100% !important;
  padding:76px 0 !important;
  position:relative !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
}

.testimonial-marquee{
  display:block !important;
  overflow:hidden !important;
  width:100% !important;
  position:relative !important;
}

.testimonial-track{
  display:flex !important;
  align-items:stretch !important;
  gap:20px !important;
  width:max-content !important;
  min-width:max-content !important;
  animation:testimonialScroll 42s linear infinite !important;
  will-change:transform;
}

.testimonial-marquee:hover .testimonial-track{
  animation-play-state:paused;
}

.testimonial-card{
  flex:0 0 420px !important;
  width:420px !important;
  max-width:420px !important;
  min-width:420px !important;
}

.testimonial-card-inner{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  gap:14px !important;
  height:100% !important;
  min-height:240px !important;
  padding:26px 24px !important;
  border:1px solid #d9e2ec !important;
  border-radius:20px !important;
  background:#ffffff !important;
  box-shadow:0 12px 28px rgba(15,23,42,.05) !important;
}

.testimonial-text{
  margin:0 !important;
  color:#526072 !important;
  font-size:1rem !important;
  line-height:1.7 !important;
}

.testimonial-card-inner strong{
  display:block !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:1rem !important;
}

.testimonial-card-inner span{
  display:block !important;
  color:#64748b !important;
  font-size:.92rem !important;
}

@keyframes testimonialScroll{
  0%{
    transform:translateX(0);
  }
  100%{
    transform:translateX(-50%);
  }
}

@media (max-width:767px){
  .testimonial-card{
    flex:0 0 86vw !important;
    width:86vw !important;
    max-width:340px !important;
    min-width:86vw !important;
  }

  .testimonial-card-inner{
    min-height:240px !important;
    padding:20px 18px !important;
  }

  .testimonial-text{
    font-size:.96rem !important;
    line-height:1.65 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .testimonial-track{
    animation:none !important;
  }
}

/* =========================================================
   STRONGER DESKTOP MENU HOVER
   ========================================================= */

.primary-navigation .menu > li{
  position:relative;
}

.primary-navigation .menu > li::after{
  content:"";
  position:absolute;
  left:-8px;
  right:-8px;
  top:100%;
  height:54px;
  background:transparent;
}

.primary-navigation .menu-item-has-children > .sub-menu{
  margin-top:18px !important;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
  transition:
    opacity .18s ease,
    transform .18s ease,
    visibility 0s linear .18s;
}

.primary-navigation .menu-item-has-children:hover > .sub-menu,
.primary-navigation .menu-item-has-children.menu-open > .sub-menu,
.primary-navigation .menu-item-has-children.focus > .sub-menu,
.primary-navigation .menu-item-has-children.submenu-open > .sub-menu{
  display:block;
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
  transition:
    opacity .18s ease,
    transform .18s ease,
    visibility 0s linear 0s;
}

.primary-navigation .sub-menu .menu-item-has-children::after{
  content:"";
  position:absolute;
  top:0;
  left:100%;
  width:30px;
  height:100%;
  background:transparent;
}

.primary-navigation .sub-menu .sub-menu{
  margin-left:14px !important;
}

@media (max-width:1024px){
  .primary-navigation .menu > li::after,
  .primary-navigation .sub-menu .menu-item-has-children::after{
    display:none !important;
  }

  .primary-navigation .menu-item-has-children > .sub-menu{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
    transition:none !important;
  }
}

/* =========================================================
   HOMEPAGE - OUR APPROACH MODERN REFRESH
   ========================================================= */

.home-process-modern{
  position:relative;
  padding:88px 0;
  background:
    radial-gradient(circle at 12% 14%, rgba(27,102,209,.12), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
}

.home-process-intro-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:26px;
  align-items:center;
  margin-bottom:34px;
  padding:30px 32px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:30px;
  background:
    radial-gradient(circle at top right, rgba(27,102,209,.10), transparent 30%),
    #ffffff;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.home-process-intro-copy h2{
  margin:0;
}

.home-process-intro-copy p{
  max-width:700px;
  margin:14px 0 0;
  color:#526072;
  line-height:1.75;
}

.home-process-intro-side{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  max-width:320px;
}

.home-process-intro-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 14px;
  border:1px solid rgba(27,102,209,.14);
  border-radius:999px;
  background:#f8fbff;
  color:#1b66d1;
  font-weight:700;
  font-size:.92rem;
}

.home-process-timeline{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  position:relative;
}

.home-process-card-modern{
  position:relative;
  overflow:hidden;
  padding:28px 24px 24px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:24px;
  background:
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 16px 36px rgba(15,23,42,.07);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.home-process-card-modern:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 48px rgba(15,23,42,.11);
  border-color:rgba(27,102,209,.22);
}

.home-process-card-modern::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,#1b66d1,#47a3ff);
}

.home-process-step-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin-bottom:18px;
  border-radius:16px;
  background:rgba(27,102,209,.10);
  color:#1b66d1;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.04em;
}

.home-process-card-modern h3{
  margin:0 0 10px;
  font-size:1.24rem;
  line-height:1.2;
  color:#0f172a;
}

.home-process-card-modern p{
  margin:0;
  color:#526072;
  line-height:1.68;
}

/* =========================================================
   HOMEPAGE - TESTIMONIALS MODERN REFRESH
   ========================================================= */

.testimonial-banner-section-modern{
  position:relative;
  padding:88px 0;
  background:
    radial-gradient(circle at 90% 12%, rgba(27,102,209,.10), transparent 28%),
    linear-gradient(180deg,#f7fbff 0%,#ffffff 100%);
}

.testimonial-section-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
  margin-bottom:28px;
}

.testimonial-section-heading h2{
  margin:0;
}

.testimonial-section-heading p{
  margin:14px 0 0;
  max-width:760px;
  color:#526072;
  line-height:1.75;
}

.testimonial-section-badge{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  min-width:220px;
  padding:18px 20px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 14px 30px rgba(15,23,42,.06);
}

.testimonial-section-badge span{
  color:#1b66d1;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.testimonial-section-badge strong{
  color:#0f172a;
  font-size:1rem;
  line-height:1.35;
}

.testimonial-card-modern{
  flex:0 0 420px !important;
  width:420px !important;
  max-width:420px !important;
  min-width:420px !important;
}

.testimonial-card-modern .testimonial-card-inner{
  position:relative;
  overflow:hidden;
  display:flex !important;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  min-height:260px !important;
  padding:28px 24px 24px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at top right, rgba(27,102,209,.10), transparent 34%),
    #ffffff !important;
  box-shadow:0 16px 36px rgba(15,23,42,.08) !important;
}

.testimonial-quote-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border-radius:16px;
  background:rgba(27,102,209,.10);
  color:#1b66d1;
  font-size:2rem;
  font-weight:800;
  line-height:1;
}

.testimonial-card-modern .testimonial-text{
  margin:0;
  color:#334155 !important;
  font-size:1rem !important;
  line-height:1.75 !important;
}

.testimonial-meta{
  display:grid;
  gap:4px;
  padding-top:10px;
  border-top:1px solid rgba(15,23,42,.08);
}

.testimonial-meta strong{
  color:#0f172a !important;
  font-size:1rem;
}

.testimonial-meta span{
  color:#64748b !important;
  font-size:.92rem !important;
}

@media (max-width:1100px){
  .home-process-timeline{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .testimonial-section-header{
    grid-template-columns:1fr;
    align-items:start;
  }

  .testimonial-section-badge{
    min-width:0;
    width:100%;
    max-width:320px;
  }
}

@media (max-width:767px){
  .home-process-modern,
  .testimonial-banner-section-modern{
    padding:64px 0;
  }

  .home-process-intro-card{
    grid-template-columns:1fr;
    padding:24px 20px;
    border-radius:24px;
  }

  .home-process-intro-side{
    justify-content:flex-start;
    max-width:none;
  }

  .home-process-timeline{
    grid-template-columns:1fr;
    gap:18px;
  }

  .home-process-card-modern{
    padding:24px 20px 20px;
    border-radius:20px;
  }

  .testimonial-card-modern{
    flex:0 0 86vw !important;
    width:86vw !important;
    max-width:340px !important;
    min-width:86vw !important;
  }

  .testimonial-card-modern .testimonial-card-inner{
    min-height:240px !important;
    padding:22px 18px 18px !important;
    border-radius:20px !important;
  }

  .testimonial-card-modern .testimonial-text{
    font-size:.96rem !important;
    line-height:1.68 !important;
  }
}

.home-hero-fit{
  margin:16px 0 0;
  color:#1b66d1;
  font-size:.98rem;
  line-height:1.65;
  font-weight:600;
  max-width:760px;
}

.solutions-market-fit{
  margin:18px 0 0;
  color:#1b66d1;
  font-size:.98rem;
  line-height:1.65;
  font-weight:600;
  max-width:760px;
}

.ai-cta-links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:26px;
}

@media (max-width:767px){
  .ai-cta-links{
    flex-direction:column;
    align-items:stretch;
  }

  .ai-cta-links a{
    width:100%;
  }
}

.contact-route-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:0 0 26px;
}

.contact-route-card{
  padding:22px 20px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 14px 30px rgba(15,23,42,.05);
}

.contact-route-card h3{
  margin:0 0 10px;
  color:#0f172a;
  font-size:1.12rem;
  line-height:1.25;
}

.contact-route-card p{
  margin:0;
  color:#526072;
  line-height:1.65;
}

@media (max-width:900px){
  .contact-route-grid{
    grid-template-columns:1fr;
  }
}

.knowledge-topic-nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.knowledge-topic-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  background:#ffffff;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  color:#0f172a;
  font-weight:600;
  text-decoration:none;
  transition:all .2s ease;
}

.knowledge-topic-nav a:hover{
  transform:translateY(-2px);
  color:#1b66d1;
  border-color:rgba(27,102,209,.18);
  box-shadow:0 16px 30px rgba(15,23,42,.08);
}

@media (max-width:767px){
  .knowledge-topic-nav{
    flex-direction:column;
    align-items:stretch;
  }

  .knowledge-topic-nav a{
    width:100%;
  }
}

.teams-calling-hero{
  padding:88px 0 76px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27,102,209,.16), transparent 32%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
}

.teams-calling-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:34px;
  align-items:center;
}

.teams-calling-hero-panel{
  padding:30px;
  border-radius:28px;
  background:#0f172a;
  color:#ffffff;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
}

.teams-calling-hero-panel h2{
  margin:0 0 18px;
  color:#ffffff;
}

.teams-calling-hero-panel ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}

.teams-calling-hero-panel li{
  position:relative;
  padding-left:24px;
  color:rgba(255,255,255,.84);
  line-height:1.6;
}

.teams-calling-hero-panel li::before{
  content:"";
  position:absolute;
  left:0;
  top:.65em;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#64a2ff;
}

.teams-calling-hero-actions,
.teams-calling-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:26px;
}

.teams-calling-benefit-grid,
.teams-calling-review-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.teams-calling-review-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.teams-calling-benefit-card,
.teams-calling-review-card{
  padding:26px 24px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
}

.teams-calling-benefit-card h3,
.teams-calling-review-card h3{
  margin:0 0 10px;
  color:#0f172a;
  font-size:1.18rem;
  line-height:1.25;
}

.teams-calling-benefit-card p,
.teams-calling-review-card p{
  margin:0;
  color:#526072;
  line-height:1.68;
}

.teams-calling-cta-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:34px;
  border-radius:30px;
  background:linear-gradient(135deg,#0f172a 0%,#1b66d1 100%);
  color:#ffffff;
  box-shadow:0 26px 70px rgba(15,23,42,.20);
}

.teams-calling-cta-panel h2,
.teams-calling-cta-panel p{
  color:#ffffff;
}

.teams-calling-cta-panel p{
  color:rgba(255,255,255,.82);
}

@media (max-width:980px){
  .teams-calling-hero-inner,
  .teams-calling-cta-panel{
    grid-template-columns:1fr;
  }

  .teams-calling-benefit-grid,
  .teams-calling-review-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:767px){
  .teams-calling-hero{
    padding:68px 0 58px;
  }

  .teams-calling-hero-actions,
  .teams-calling-cta-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .teams-calling-hero-actions a,
  .teams-calling-cta-actions a{
    width:100%;
  }

  .teams-calling-hero-panel,
  .teams-calling-benefit-card,
  .teams-calling-review-card,
  .teams-calling-cta-panel{
    padding:24px 20px;
    border-radius:22px;
  }
}

.header-consultation-button{
  display:none !important;
}

/* =========================================
   FLOATING BOOK A CONSULTATION BUTTON
   ========================================= */

.header-consultation-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:fixed !important;
  top:50% !important;
  left:20px !important;
  transform:translateY(-50%) !important;
  z-index:999999 !important;

  min-height:42px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  background:#1b66d1 !important;
  color:#ffffff !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap !important;

  box-shadow:0 10px 24px rgba(27,102,209,.22) !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.header-consultation-button:hover{
  color:#ffffff !important;
  text-decoration:none !important;
  transform:translateY(-50%) translateX(2px) !important;
  box-shadow:0 14px 30px rgba(27,102,209,.28) !important;
}

/* keep it clear of the WordPress admin bar */
body.admin-bar .header-consultation-button{
  top:calc(50% + 16px) !important;
}

/* tablet */
@media (max-width:1024px){
  .header-consultation-button{
    left:14px !important;
    min-height:40px !important;
    padding:0 14px !important;
    font-size:14px !important;
  }
}

/* mobile */
@media (max-width:767px){
  .header-consultation-button{
    left:10px !important;
    top:auto !important;
    bottom:16px !important;
    transform:none !important;
    min-height:40px !important;
    padding:0 14px !important;
    font-size:13px !important;
  }

  .header-consultation-button:hover{
    transform:translateY(-2px) !important;
  }
}

/* =========================================
   FLOATING BOOK A CONSULTATION BUTTON
   ========================================= */

.header-consultation-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:fixed !important;
  top:50% !important;
  left:20px !important;
  transform:translateY(-50%) !important;
  z-index:999999 !important;

  min-height:42px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  background:#1b66d1 !important;
  color:#ffffff !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap !important;

  box-shadow:0 10px 24px rgba(27,102,209,.22) !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.header-consultation-button:hover{
  color:#ffffff !important;
  text-decoration:none !important;
  transform:translateY(-50%) translateX(2px) !important;
  box-shadow:0 14px 30px rgba(27,102,209,.28) !important;
}

body.admin-bar .header-consultation-button{
  top:calc(50% + 16px) !important;
}

@media (max-width:1024px){
  .header-consultation-button{
    left:14px !important;
    min-height:40px !important;
    padding:0 14px !important;
    font-size:14px !important;
  }
}

@media (max-width:767px){
  .header-consultation-button{
    top:auto !important;
    bottom:16px !important;
    left:10px !important;
    transform:none !important;
    min-height:40px !important;
    padding:0 14px !important;
    font-size:13px !important;
  }

  .header-consultation-button:hover{
    transform:translateY(-2px) !important;
  }
}
/* =========================================================
   FLOATING LOGO - TOP LEFT ON ALL PAGES
   ========================================================= */

/* =========================================================
   FLOATING LOGO - ALWAYS VISIBLE ON SCROLL
   ========================================================= */

.floating-site-logo{
  position:fixed !important;
  top:18px !important;
  left:18px !important;
  z-index:9999999 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 14px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 14px 34px rgba(15,23,42,.12) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  transform:none !important;
  transition:transform .2s ease !important;
}

.floating-site-logo:hover{
  transform:translateY(-1px) !important;
}

.floating-site-logo .custom-logo-link{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
}

.floating-site-logo .custom-logo,
.floating-site-logo img{
  display:block !important;
  width:auto !important;
  max-height:52px !important;
  height:auto !important;
}

.floating-site-logo__text{
  color:#0f172a !important;
  font-size:1rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-decoration:none !important;
}

.site-header .branding{
  display:none !important;
}

/* stop parent elements interfering with fixed positioning */
html,
body{
  overflow-x:hidden !important;
}

body .floating-site-logo{
  position:fixed !important;
}

/* make sure header stays below the logo */
.site-header,
header.site-header,
#masthead{
  z-index:1000 !important;
}

@media (max-width:1024px){
  .floating-site-logo{
    top:14px !important;
    left:14px !important;
    padding:8px 12px !important;
    border-radius:16px !important;
  }

  .floating-site-logo .custom-logo,
  .floating-site-logo img{
    max-height:44px !important;
  }
}

@media (max-width:767px){
  .floating-site-logo{
    top:12px !important;
    left:12px !important;
    bottom:auto !important;
    padding:8px 10px !important;
  }

  .floating-site-logo .custom-logo,
  .floating-site-logo img{
    max-height:38px !important;
  }
}

body,
.site,
#page,
.site-header,
.site-main{
  transform:none !important;
  -webkit-transform:none !important;
}

/* =========================================================
   FLOATING LOGO - REAL FIX
   ========================================================= */

.floating-site-logo{
  position:fixed !important;
  top:18px !important;
  left:18px !important;
  z-index:9999999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 14px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 14px 34px rgba(15,23,42,.12) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

.floating-site-logo__link,
.floating-site-logo .custom-logo-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  text-decoration:none !important;
}

.floating-site-logo img,
.floating-site-logo .custom-logo{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-height:52px !important;
  max-width:none !important;
}

.floating-site-logo__text{
  display:inline-block !important;
  color:#0f172a !important;
  font-size:1rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-decoration:none !important;
}

.site-header .branding,
.site-header .branding .custom-logo-link,
.site-header .branding .custom-logo,
.site-header .branding img{
  display:none !important;
}

.site-header,
header.site-header,
#masthead{
  z-index:1000 !important;
}

html,
body{
  overflow-x:hidden !important;
}

body,
#page,
.site,
.site-main{
  transform:none !important;
  -webkit-transform:none !important;
}

@media (max-width:1024px){
  .floating-site-logo{
    top:14px !important;
    left:14px !important;
    padding:8px 12px !important;
  }

  .floating-site-logo img,
  .floating-site-logo .custom-logo{
    max-height:44px !important;
  }
}

@media (max-width:767px){
  .floating-site-logo{
    top:12px !important;
    left:12px !important;
    padding:8px 10px !important;
    border-radius:16px !important;
  }

  .floating-site-logo img,
  .floating-site-logo .custom-logo{
    max-height:38px !important;
  }
}

/* =========================================================
   FLOATING CONSULTATION BUTTON
   ========================================================= */

.floating-consultation-button{
  position: fixed !important;
  top: 96px !important;
  left: 18px !important;
  z-index: 9999998 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #1b66d1 0%, #0f4fb8 100%) !important;
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.18) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease !important;
}

.floating-consultation-button:hover,
.floating-consultation-button:focus{
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.22) !important;
}

.floating-consultation-button:focus-visible{
  outline: 3px solid rgba(27,102,209,.22) !important;
  outline-offset: 3px !important;
}

@media (max-width: 1024px){
  .floating-consultation-button{
    top: 84px !important;
    left: 14px !important;
    padding: 11px 16px !important;
    font-size: 0.9rem !important;
  }
}

@media (max-width: 767px){
  .floating-consultation-button{
    top: 74px !important;
    left: 12px !important;
    padding: 10px 14px !important;
    font-size: 0.86rem !important;
    min-height: 40px !important;
  }
}

/* =========================================
   FLOATING FULL-WIDTH LOGO BAR
   ========================================= */

:root{
  --floating-logo-bar-height:50px;
}

/* fixed logo bar hard against top of page */
.floating-site-logo{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:var(--floating-logo-bar-height) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:2px 12px !important;
  margin:0 !important;
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 4px 12px rgba(15,23,42,.06) !important;
  z-index:9998 !important;
}

/* tighter logo sizing */
.floating-site-logo__link,
.floating-site-logo__text{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  text-decoration:none !important;
}

.floating-site-logo .custom-logo{
  display:block !important;
  width:auto !important;
  height:55px !important;
  max-width:416px !important;
  margin:0 !important;
}

/* push header down by exact bar height only */
.site-header{
  margin-top:var(--floating-logo-bar-height) !important;
}

/* admin bar support */
body.admin-bar .floating-site-logo{
  top:32px !important;
}

body.admin-bar .site-header{
  margin-top:calc(var(--floating-logo-bar-height) + 32px) !important;
}

@media (max-width:782px){
  body.admin-bar .floating-site-logo{
    top:46px !important;
  }

  body.admin-bar .site-header{
    margin-top:calc(var(--floating-logo-bar-height) + 46px) !important;
  }
}

@media (max-width:767px){
  :root{
    --floating-logo-bar-height:44px;
  }

  .floating-site-logo{
    padding:1px 10px !important;
  }

  .floating-site-logo .custom-logo{
    height:34px !important;
    max-width:280px !important;
  }
}

/* =========================
   CCAAS PAGE
   ========================= */

.page-ccaas-modern{
  background:linear-gradient(180deg,#f5f8fc 0%,#ffffff 28%,#f7fbff 100%);
}

.ccaas-section{
  padding:84px 0;
}

.container--narrow{
  max-width:900px;
}

.page-eyebrow,
.section-kicker{
  display:inline-block;
  margin-bottom:12px;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.section-kicker{
  color:#1b66d1;
}

.section-heading{
  margin-bottom:34px;
}

.section-heading--center{
  text-align:center;
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

.section-heading h2{
  margin:0 0 12px;
}

.section-heading p{
  margin:0;
  color:#526072;
}

/* =========================
   HERO
   ========================= */

.ccaas-hero{
  position:relative;
  overflow:hidden;
  padding:96px 0 82px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.94)),
    url('https://intuitysandbox.uk/wp-content/uploads/2026/04/cc-image.webp') center/cover no-repeat;
  color:#000;
}

.ccaas-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:32px;
  align-items:center;
}

.ccaas-hero__copy h1{
  margin:0 0 18px;
  color:#000;
}

.ccaas-hero__lead{
  margin:0;
  max-width:760px;
  color:#000;
  font-size:1.06rem;
}

.page-eyebrow{
  color:#000;
}

.ccaas-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:26px;
}

.ccaas-hero__highlights{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}

.ccaas-hero__highlights span{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#000;
  font-size:.92rem;
  white-space:nowrap;
}

.ccaas-hero .button-primary{
  background:#1b66d1;
  color:#fff;
}

.ccaas-hero .button-primary:hover{
  background:#1557b5;
  color:#fff;
}

.ccaas-hero .button-secondary{
  border:1px solid rgba(0,0,0,.18);
  color:#000;
  background:#fff;
}

.ccaas-hero .button-secondary:hover{
  background:#f3f6fa;
  color:#000;
}

.ccaas-hero__image-card{
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 28px 60px rgba(0,0,0,.18);
  background:rgba(255,255,255,.92);
}

.ccaas-hero__image-card img{
  display:block;
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
}

/* =========================
   INTRO
   ========================= */

.ccaas-section--intro{
  background:#fff;
}

.ccaas-intro p{
  margin:0 0 18px;
  color:#526072;
  font-size:1.02rem;
}

.ccaas-intro p:last-child{
  margin-bottom:0;
}

/* =========================
   BENEFITS
   ========================= */

.ccaas-section--benefits{
  background:transparent;
}

.ccaas-card-grid{
  display:grid;
  gap:24px;
}

.ccaas-card-grid--4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.ccaas-card-grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.ccaas-card{
  height:100%;
  padding:26px 24px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
}

.ccaas-card h3{
  margin:0 0 10px;
  font-size:1.08rem;
  color:#0f172a;
}

.ccaas-card p{
  margin:0;
  color:#526072;
}

.ccaas-card--featured{
  border-color:rgba(27,102,209,.22);
  box-shadow:0 18px 40px rgba(27,102,209,.10);
}

/* =========================
   SPLIT SECTION
   ========================= */

.ccaas-section--split{
  background:#f5f8fc;
}

.ccaas-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);
  gap:34px;
  align-items:center;
}

.ccaas-split__content h2{
  margin-top:0;
}

.ccaas-split__content p{
  color:#526072;
}

.ccaas-checklist{
  list-style:none;
  margin:22px 0 0;
  padding:0;
  display:grid;
  gap:12px;
}

.ccaas-checklist li{
  position:relative;
  padding-left:22px;
  color:#0f172a;
}

.ccaas-checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#1b66d1;
}

.ccaas-image-panel{
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 20px 48px rgba(15,23,42,.10);
  background:#eaf0f6;
}

.ccaas-image-panel img{
  display:block;
  width:100%;
  min-height:420px;
  object-fit:cover;
}

/* =========================
   FEATURES
   ========================= */

.ccaas-section--features{
  background:#fff;
}

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

.ccaas-feature{
  height:100%;
  padding:22px 20px;
  border-radius:20px;
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  box-shadow:0 14px 32px rgba(15,23,42,.05);
}

.ccaas-feature h3{
  margin:0 0 8px;
  font-size:1rem;
  color:#0f172a;
}

.ccaas-feature p{
  margin:0;
  color:#526072;
  font-size:.96rem;
}

/* =========================
   PLATFORM SECTION
   ========================= */

.ccaas-section--platforms{
  background:#f5f8fc;
}

/* =========================
   VALUE SECTION
   ========================= */

.ccaas-section--value{
  background:#fff;
}

.ccaas-value-panel{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:28px;
  padding:34px;
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 20px 46px rgba(15,23,42,.07);
}

.ccaas-value-panel__copy h2{
  margin-top:0;
}

.ccaas-value-panel__copy p{
  color:#526072;
}

.ccaas-value-panel__points{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-content:start;
}

.value-point{
  padding:16px 18px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  color:#0f172a;
  font-weight:600;
}

/* =========================
   CTA
   ========================= */

.ccaas-section--cta{
  padding-top:0;
  background:transparent;
}

.ccaas-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:34px;
  border-radius:28px;
  background:linear-gradient(135deg,#0f172a 0%,#1b2d42 100%);
  color:#fff;
  box-shadow:0 24px 52px rgba(15,23,42,.16);
}

.ccaas-cta__copy h2{
  margin:0 0 10px;
  color:#fff;
}

.ccaas-cta__copy p{
  margin:0;
  color:rgba(255,255,255,.88);
  max-width:760px;
}

.ccaas-cta .section-kicker{
  color:#93c5fd;
}

.ccaas-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:flex-end;
}

.ccaas-cta .button-secondary{
  border-color:rgba(255,255,255,.26);
  color:#fff;
  background:transparent;
}

.ccaas-cta .button-secondary:hover{
  background:rgba(255,255,255,.08);
}

/* =========================
   REMOVE SIDE FLOATING MENUS
   ========================= */

.floating-side-menu,
.side-floating-menu,
.side-menu-floating,
.floating-quick-links,
.quick-links-floating,
.sticky-side-menu,
.fixed-side-menu,
.side-cta-floating,
.floating-social-bar,
.floating-contact-bar{
  display:none !important;
}

/* =========================
   HIDE HEADER BOOK A CONSULTATION ONLY
   KEEP FLOATING VERSION
   ========================= */

.site-header .header-consultation-button,
.site-header .top-bar-consultation,
.site-header .button-consultation,
.site-header a[href*="contact"].header-cta,
.site-header .book-consultation{
  display:none !important;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 1180px){
  .ccaas-card-grid--4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ccaas-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 960px){
  .ccaas-hero__inner,
  .ccaas-split,
  .ccaas-value-panel{
    grid-template-columns:1fr;
  }

  .ccaas-cta{
    flex-direction:column;
    align-items:flex-start;
  }

  .ccaas-cta__actions{
    justify-content:flex-start;
  }

  .ccaas-hero__image-card img,
  .ccaas-image-panel img{
    min-height:320px;
  }
}

@media (max-width: 720px){
  .ccaas-section{
    padding:68px 0;
  }

  .ccaas-hero{
    padding:82px 0 68px;
  }

  .ccaas-card-grid--4,
  .ccaas-card-grid--3,
  .ccaas-feature-grid{
    grid-template-columns:1fr;
  }

  .ccaas-card,
  .ccaas-feature,
  .ccaas-cta,
  .ccaas-value-panel{
    padding:24px 20px;
  }

  .ccaas-hero__highlights{
    gap:8px;
  }

  .ccaas-hero__highlights span{
    min-height:36px;
    font-size:.88rem;
  }
}

/* =========================================================
   FOOTER REPAIR
   Put at the very end of style.css
   ========================================================= */

.site-footer{
  background:#24364d !important;
  color:#e4ebf3 !important;
  padding:1rem 0 .8rem !important;
  overflow:hidden;
}

.site-footer .container{
  width:min(1200px, calc(100% - 32px));
  margin:0 auto;
}

.site-footer .footer-bottom{
  display:grid !important;
  grid-template-columns:minmax(240px, 300px) minmax(420px, 1fr) minmax(190px, 240px) !important;
  gap:1.25rem 2rem !important;
  align-items:start !important;
  padding-top:.8rem !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
}

.site-footer .footer-left{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:.7rem !important;
}

.site-footer .footer-left p{
  margin:0 !important;
  color:#d7e2ee !important;
  font-size:.92rem !important;
  line-height:1.35 !important;
}

.site-footer .social-links-labeled{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}

.site-footer .social-links-labeled a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#ffffff !important;
  text-decoration:none !important;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

.site-footer .social-links-labeled a:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(255,255,255,.42) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
}

.site-footer .social-links-labeled svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
  fill:currentColor !important;
}

.site-footer .footer-middle{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(130px, 1fr)) !important;
  gap:1rem 1.5rem !important;
  align-items:start !important;
}

.site-footer .footer-link-group{
  min-width:0;
}

.site-footer .footer-link-group h4{
  margin:0 0 .55rem !important;
  color:#ffffff !important;
  font-size:.92rem !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}

.site-footer .footer-inline-links{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:.38rem !important;
}

.site-footer .footer-inline-links a{
  color:#d9e4f0 !important;
  text-decoration:none !important;
  font-size:.85rem !important;
  line-height:1.45 !important;
}

.site-footer .footer-inline-links a:hover{
  color:#ffffff !important;
  text-decoration:underline !important;
}

.site-footer .footer-right{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
}

.site-footer .footer-cert-grid{
  display:grid !important;
  grid-template-columns:repeat(2, 88px) !important;
  gap:10px !important;
}

.site-footer .footer-cert-item{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:88px !important;
  height:66px !important;
  padding:6px !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:12px !important;
  text-decoration:none !important;
  transition:background .2s ease, border-color .2s ease, transform .2s ease !important;
}

.site-footer .footer-cert-item:hover{
  background:rgba(255,255,255,.1) !important;
  border-color:rgba(255,255,255,.25) !important;
  transform:translateY(-2px) !important;
}

.site-footer .footer-cert-item img{
  display:block !important;
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

/* tablet */
@media (max-width:1100px){
  .site-footer .footer-bottom{
    grid-template-columns:1fr !important;
    gap:1.4rem !important;
  }

  .site-footer .footer-left,
  .site-footer .footer-right{
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .site-footer .social-links-labeled{
    justify-content:center !important;
  }

  .site-footer .footer-middle{
    grid-template-columns:repeat(3, minmax(140px, 1fr)) !important;
  }

  .site-footer .footer-link-group{
    text-align:center !important;
  }

  .site-footer .footer-inline-links{
    align-items:center !important;
  }
}

/* mobile */
@media (max-width:760px){
  .site-footer{
    padding:.9rem 0 .7rem !important;
  }

  .site-footer .footer-middle{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }

  .site-footer .footer-cert-grid{
    grid-template-columns:repeat(2, 78px) !important;
    gap:8px !important;
  }

  .site-footer .footer-cert-item{
    width:78px !important;
    height:60px !important;
  }

  .site-footer .social-links-labeled a{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
  }

  .site-footer .social-links-labeled svg{
    width:17px !important;
    height:17px !important;
  }
}

/* =========================================================
   FLOATING LOGO BAR
   ========================================================= */

:root{
  --floating-logo-bar-height: 52px;
}

body{
  padding-top: var(--floating-logo-bar-height) !important;
}

.floating-site-logo{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: var(--floating-logo-bar-height) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 6px 16px rgba(15,23,42,.08) !important;
  z-index: 9999 !important;
}

.floating-site-logo__link{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

.floating-site-logo .custom-logo{
  display: block !important;
  width: auto !important;
  height: 42px !important;
  max-width: 320px !important;
  margin: 0 auto !important;
}

/* =========================================================
   FLOATING CONSULTATION BUTTON - MIDDLE LEFT
   ========================================================= */

.floating-consultation-button{
  position: fixed !important;
  top: 50% !important;
  left: 18px !important;
  transform: translateY(-50%) !important;
  z-index: 999998 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #1b66d1 0%, #0f4fb8 100%) !important;
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.18) !important;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease !important;
}

.floating-consultation-button:hover,
.floating-consultation-button:focus{
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-50%) translateX(2px) !important;
  box-shadow: 0 18px 38px rgba(15,23,42,.22) !important;
}

.floating-consultation-button:focus-visible{
  outline: 3px solid rgba(27,102,209,.22) !important;
  outline-offset: 3px !important;
}

/* =========================================================
   HEADER SPACING
   ========================================================= */

.site-header{
  position: relative !important;
  z-index: 1000 !important;
  margin-top: 0 !important;
}

.top-bar{
  margin-top: 0 !important;
}

.site-header .header-inner{
  min-height: 72px;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 1024px){
  .floating-consultation-button{
    left: 14px !important;
    padding: 11px 16px !important;
    font-size: 0.9rem !important;
  }
}

@media (max-width: 767px){
  :root{
    --floating-logo-bar-height: 46px;
  }

  .floating-site-logo .custom-logo{
    height: 34px !important;
    max-width: 260px !important;
  }

  .floating-consultation-button{
    top: auto !important;
    bottom: 16px !important;
    left: 10px !important;
    transform: none !important;
    min-height: 40px !important;
    padding: 10px 14px !important;
    font-size: 0.86rem !important;
  }

  .floating-consultation-button:hover,
  .floating-consultation-button:focus{
    transform: translateY(-2px) !important;
  }
}

/* =========================================================
   SOCIAL BOARD PAGE - FULL LAYOUT REPAIR
   Put this at the VERY END of style.css
   ========================================================= */

.social-board-page{
  background:
    radial-gradient(circle at 10% 5%, rgba(27,102,209,.10), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(20,184,166,.08), transparent 24%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 34%,#f1f7ff 100%);
  overflow-x:hidden;
}

.social-board-page .container{
  width:min(1240px, calc(100% - 40px));
  margin:0 auto;
}

/* hero */
.social-board-hero{
  padding:88px 0 72px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27,102,209,.18), transparent 34%),
    radial-gradient(circle at 86% 8%, rgba(20,184,166,.12), transparent 28%),
    linear-gradient(135deg,#eef6ff 0%,#ffffff 48%,#eaf7ff 100%);
}

.social-board-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:36px;
  align-items:start;
}

.social-board-eyebrow{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:14px;
  padding:8px 13px;
  border:1px solid rgba(27,102,209,.18);
  border-radius:999px;
  background:rgba(27,102,209,.08);
  color:#1b66d1;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.social-board-eyebrow--light{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.12);
  color:#ffffff;
}

.social-board-hero__copy h1{
  margin:0;
  color:#0f172a;
  font-size:clamp(2.4rem,5vw,4.6rem);
  line-height:.98;
  letter-spacing:-.05em;
  max-width:780px;
}

.social-board-hero__copy p{
  margin:22px 0 0;
  color:#526072;
  font-size:1.08rem;
  line-height:1.75;
  max-width:720px;
}

.social-board-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.social-board-hero__tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.social-board-hero__tags span{
  padding:10px 14px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  background:rgba(255,255,255,.8);
  color:#334155;
  font-size:.92rem;
  font-weight:700;
}

.social-board-hero__panel{
  display:grid;
  gap:16px;
}

.social-pin-card{
  position:relative;
  padding:24px 22px 22px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 16px 36px rgba(15,23,42,.08);
}

.social-pin-card__pin{
  position:absolute;
  top:10px;
  right:14px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#ef4444;
  box-shadow:0 1px 4px rgba(0,0,0,.18);
}

.social-pin-card--b .social-pin-card__pin{ background:#1b66d1; }
.social-pin-card--c .social-pin-card__pin{ background:#14b8a6; }

.social-pin-card strong{
  display:block;
  margin:0 0 8px;
  color:#0f172a;
  font-size:1.08rem;
}

.social-pin-card p{
  margin:0;
  color:#526072;
  line-height:1.65;
}

/* links */
.social-board-links{
  padding:30px 0 16px;
}

.social-board-links__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.social-board-link{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:240px;
  padding:28px 22px;
  border:1px solid #d9e2ec;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 14px 32px rgba(15,23,42,.06);
  text-align:center;
  text-decoration:none;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.social-board-link:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(15,23,42,.10);
  border-color:#bfd0e4;
}

.social-board-link__pin{
  position:absolute;
  top:12px;
  right:16px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#ef4444;
}

.social-board-link--linkedin .social-board-link__pin{ background:#0a66c2; }
.social-board-link--instagram .social-board-link__pin{ background:#e1306c; }
.social-board-link--facebook .social-board-link__pin{ background:#1877f2; }
.social-board-link--x .social-board-link__pin{ background:#111827; }

.social-board-link__logo{
  width:84px;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  border-radius:20px;
  border:1px solid #e2e8f0;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}

.social-board-link__logo img{
  width:64px;
  height:64px;
  object-fit:contain;
}

.social-board-link h3{
  margin:0 0 8px;
  color:#0f172a;
  font-size:1.15rem;
}

.social-board-link p{
  margin:0;
  color:#526072;
  line-height:1.65;
}

/* board heading */
.social-board-feed-section{
  padding:26px 0 82px;
}

.social-board-heading{
  max-width:860px;
  margin:0 auto 26px;
  text-align:center;
}

.social-board-heading h2{
  margin:0;
  color:#0f172a;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.04;
  letter-spacing:-.04em;
}

.social-board-heading p{
  margin:16px auto 0;
  max-width:760px;
  color:#526072;
  line-height:1.75;
}

/* cork board frame */
.social-board-frame{
  position:relative;
  width:100%;
  padding:30px;
  border-radius:28px;
  background:
    linear-gradient(135deg, #d8b07a 0%, #c99762 24%, #d7ac76 52%, #bf8b58 100%);
  box-shadow:
    inset 0 0 0 10px #7b5738,
    0 22px 48px rgba(15,23,42,.14);
}

.social-board-frame__pin{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#c62828;
  box-shadow:0 2px 6px rgba(0,0,0,.24);
  z-index:2;
}

.social-board-frame__pin--tl{ top:14px; left:14px; }
.social-board-frame__pin--tr{ top:14px; right:14px; }
.social-board-frame__pin--bl{ bottom:14px; left:14px; }
.social-board-frame__pin--br{ bottom:14px; right:14px; }

.social-board-feed-wrap{
  width:100%;
  max-width:100%;
  min-width:0;
  padding:8px;
  border-radius:18px;
  background:rgba(255,255,255,.12);
  box-sizing:border-box;
  overflow:visible;
}

/* juicer container */
.social-board-juicer,
.social-board-juicer .juicer-feed{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

.social-board-juicer .referral,
.social-board-juicer h1.referral{
  display:none !important;
}

/* use a proper wide grid instead of narrow cards */
.social-board-juicer .juicer-feed{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:26px !important;
  align-items:start !important;
  justify-content:stretch !important;
  column-count:unset !important;
  column-gap:0 !important;
  padding:0 !important;
  list-style:none !important;
}

/* post cards */
.social-board-juicer .juicer-feed > li,
.social-board-juicer .juicer-feed > div,
.social-board-juicer .j-post,
.social-board-juicer .feed-item,
.social-board-juicer li.feed-item{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:16px !important;
  break-inside:auto !important;
  -webkit-column-break-inside:auto !important;
  page-break-inside:auto !important;
  background:#fffdf8 !important;
  border:1px solid rgba(90,62,35,.14) !important;
  border-radius:16px !important;
  box-shadow:0 10px 22px rgba(15,23,42,.10) !important;
  transform:rotate(0deg) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* gentle random paper effect without making them unreadable */
.social-board-juicer .juicer-feed > li:nth-child(4n+1),
.social-board-juicer .j-post:nth-child(4n+1){
  transform:rotate(-1.2deg) !important;
}
.social-board-juicer .juicer-feed > li:nth-child(4n+2),
.social-board-juicer .j-post:nth-child(4n+2){
  transform:rotate(.8deg) !important;
}
.social-board-juicer .juicer-feed > li:nth-child(4n+3),
.social-board-juicer .j-post:nth-child(4n+3){
  transform:rotate(-.6deg) !important;
}
.social-board-juicer .juicer-feed > li:nth-child(4n+4),
.social-board-juicer .j-post:nth-child(4n+4){
  transform:rotate(1deg) !important;
}

/* do not let inner elements set skinny widths */
.social-board-juicer .j-post *,
.social-board-juicer .feed-item *{
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* image area */
.social-board-juicer .j-image,
.social-board-juicer .j-post-image,
.social-board-juicer .image-wrapper,
.social-board-juicer .media{
  display:block !important;
  width:100% !important;
  margin:0 0 14px !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#eef2f7 !important;
}

.social-board-juicer img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:cover !important;
  border-radius:12px !important;
}

/* text */
.social-board-juicer .j-message,
.social-board-juicer .j-text,
.social-board-juicer .j-post-text,
.social-board-juicer .feed-item p,
.social-board-juicer p{
  width:100% !important;
  max-width:none !important;
  margin:0 0 12px !important;
  color:#526072 !important;
  font-size:.98rem !important;
  line-height:1.65 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}

.social-board-juicer .j-meta,
.social-board-juicer .j-source,
.social-board-juicer .j-social-meta,
.social-board-juicer small{
  color:#0f172a !important;
  font-size:.88rem !important;
  line-height:1.45 !important;
}

.social-board-juicer a{
  color:#1b66d1 !important;
  text-decoration:none !important;
}

.social-board-juicer a:hover{
  text-decoration:underline !important;
}

/* load more */
.social-board-juicer .j-paginate,
.social-board-juicer .j-load-more{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  margin:24px auto 0 !important;
  padding:13px 22px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#1b66d1 !important;
  color:#ffffff !important;
  font-weight:800 !important;
  text-decoration:none !important;
  box-shadow:0 16px 30px rgba(27,102,209,.24) !important;
}

/* CTA */
.social-board-cta{
  padding:0 0 92px;
}

.social-board-cta__panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:38px;
  border-radius:30px;
  background:
    radial-gradient(circle at 92% 12%, rgba(45,212,191,.24), transparent 30%),
    radial-gradient(circle at 8% 88%, rgba(100,162,255,.22), transparent 30%),
    linear-gradient(135deg,#0f172a 0%,#154f9f 52%,#1b66d1 100%);
  color:#ffffff;
  box-shadow:0 26px 70px rgba(15,23,42,.20);
}

.social-board-cta__copy h2,
.social-board-cta__copy p{
  color:#ffffff;
}

.social-board-cta__copy h2{
  margin:0;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.05;
  letter-spacing:-.04em;
}

.social-board-cta__copy p{
  margin:16px 0 0;
  color:rgba(255,255,255,.82);
  line-height:1.75;
}

.social-board-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.social-board-cta .button-secondary--light{
  background:rgba(255,255,255,.12);
  color:#ffffff;
  border-color:rgba(255,255,255,.22);
  box-shadow:none;
}

/* tablet */
@media (max-width:1100px){
  .social-board-hero__inner,
  .social-board-cta__panel{
    grid-template-columns:1fr;
  }

  .social-board-links__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .social-board-juicer .juicer-feed{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

/* mobile */
@media (max-width:767px){
  .social-board-page .container{
    width:min(100% - 28px, 1240px);
  }

  .social-board-hero{
    padding:68px 0 58px;
  }

  .social-board-hero__copy h1{
    font-size:clamp(2.15rem,11vw,3.2rem);
    line-height:1;
  }

  .social-board-hero__actions,
  .social-board-cta__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .social-board-hero__actions a,
  .social-board-cta__actions a{
    width:100%;
  }

  .social-board-hero__tags,
  .social-board-links__grid{
    grid-template-columns:1fr;
  }

  .social-board-links__grid{
    display:grid;
    gap:18px;
  }

  .social-board-link{
    min-height:220px;
    padding:24px 18px;
  }

  .social-board-frame{
    padding:20px;
    border-radius:22px;
  }

  .social-board-feed-wrap{
    padding:4px;
  }

  .social-board-juicer .juicer-feed{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .social-board-juicer .juicer-feed > li,
  .social-board-juicer .juicer-feed > div,
  .social-board-juicer .j-post,
  .social-board-juicer .feed-item,
  .social-board-juicer li.feed-item{
    transform:none !important;
    padding:14px !important;
    border-radius:14px !important;
  }

  .social-board-cta__panel{
    padding:24px;
    border-radius:24px;
  }
}

/* =========================================================
   JUICER NOTICE BOARD HARD FIX
   Add at the VERY END of style.css
   ========================================================= */

.social-board-feed-wrap--juicer-fix{
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}

.social-board-juicer-fix{
  width:100% !important;
  max-width:100% !important;
}

.social-board-juicer-fix .referral,
.social-board-juicer-fix h1.referral{
  display:none !important;
}

.social-board-juicer-fix .juicer-feed{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(320px, 1fr)) !important;
  gap:24px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  align-items:start !important;
  justify-content:stretch !important;
  column-count:unset !important;
  column-gap:0 !important;
}

/* target all likely Juicer post wrappers */
.social-board-juicer-fix .juicer-feed > li,
.social-board-juicer-fix .juicer-feed .j-post,
.social-board-juicer-fix .juicer-feed .feed-item,
.social-board-juicer-fix .juicer-feed li.feed-item{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:16px !important;
  background:#fffdf8 !important;
  border:1px solid rgba(90,62,35,.14) !important;
  border-radius:16px !important;
  box-shadow:0 10px 22px rgba(15,23,42,.10) !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  float:none !important;
  clear:none !important;
}

/* slight board effect without making cards unreadable */
.social-board-juicer-fix .juicer-feed > li:nth-child(4n+1),
.social-board-juicer-fix .juicer-feed .j-post:nth-child(4n+1){
  transform:rotate(-1deg) !important;
}
.social-board-juicer-fix .juicer-feed > li:nth-child(4n+2),
.social-board-juicer-fix .juicer-feed .j-post:nth-child(4n+2){
  transform:rotate(.8deg) !important;
}
.social-board-juicer-fix .juicer-feed > li:nth-child(4n+3),
.social-board-juicer-fix .juicer-feed .j-post:nth-child(4n+3){
  transform:rotate(-.7deg) !important;
}
.social-board-juicer-fix .juicer-feed > li:nth-child(4n+4),
.social-board-juicer-fix .juicer-feed .j-post:nth-child(4n+4){
  transform:rotate(.9deg) !important;
}

/* stop narrow inner columns */
.social-board-juicer-fix .juicer-feed *,
.social-board-juicer-fix .j-post *,
.social-board-juicer-fix .feed-item *{
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* images */
.social-board-juicer-fix .j-image,
.social-board-juicer-fix .j-post-image,
.social-board-juicer-fix .image-wrapper,
.social-board-juicer-fix .media{
  display:block !important;
  width:100% !important;
  margin:0 0 14px !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#eef2f7 !important;
}

.social-board-juicer-fix img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  border-radius:12px !important;
}

/* text */
.social-board-juicer-fix .j-message,
.social-board-juicer-fix .j-text,
.social-board-juicer-fix .j-post-text,
.social-board-juicer-fix p{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 12px !important;
  color:#526072 !important;
  font-size:.98rem !important;
  line-height:1.65 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}

.social-board-juicer-fix .j-meta,
.social-board-juicer-fix .j-source,
.social-board-juicer-fix small{
  color:#0f172a !important;
  font-size:.88rem !important;
  line-height:1.45 !important;
}

.social-board-juicer-fix a{
  color:#1b66d1 !important;
  text-decoration:none !important;
}

.social-board-juicer-fix a:hover{
  text-decoration:underline !important;
}

/* load more */
.social-board-juicer-fix .j-paginate,
.social-board-juicer-fix .j-load-more{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  margin:24px auto 0 !important;
  padding:13px 22px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#1b66d1 !important;
  color:#ffffff !important;
  font-weight:800 !important;
  text-decoration:none !important;
  box-shadow:0 16px 30px rgba(27,102,209,.24) !important;
}

/* make sure board uses full width */
.social-board-frame{
  overflow:visible !important;
}

.social-board-feed-wrap--juicer-fix,
.social-board-juicer-fix,
.social-board-juicer-fix .juicer-feed{
  min-width:0 !important;
}

/* tablet */
@media (max-width: 1024px){
  .social-board-juicer-fix .juicer-feed{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

/* mobile */
@media (max-width: 767px){
  .social-board-juicer-fix .juicer-feed{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .social-board-juicer-fix .juicer-feed > li,
  .social-board-juicer-fix .juicer-feed .j-post,
  .social-board-juicer-fix .juicer-feed .feed-item,
  .social-board-juicer-fix .juicer-feed li.feed-item{
    transform:none !important;
    padding:14px !important;
  }
}

/* =========================================================
   SOCIAL BOARD HARD FIX
   Put at the VERY END of style.css
   ========================================================= */

.social-board-page--hardfix{
  background:linear-gradient(180deg,#f5f8fc 0%,#ffffff 34%,#f7fbff 100%);
}

.social-board-hero{
  padding:88px 0 72px;
  background:
    radial-gradient(circle at top left, rgba(27,102,209,.14), transparent 32%),
    linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%);
}

.social-board-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:32px;
  align-items:stretch;
}

.social-board-eyebrow{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(27,102,209,.08);
  border:1px solid rgba(27,102,209,.16);
  color:#1b66d1;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:14px;
}

.social-board-eyebrow--light{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.18);
  color:#ffffff;
}

.social-board-hero__copy h1{
  margin:0 0 14px;
  color:#0f172a;
  font-size:clamp(2.3rem,4.5vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.04em;
}

.social-board-hero__copy p{
  margin:0;
  color:#526072;
  line-height:1.75;
  font-size:1.04rem;
  max-width:760px;
}

.social-board-hero__actions,
.social-board-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:26px;
}

.social-board-hero__tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.social-board-hero__tags span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(15,23,42,.08);
  color:#334155;
  font-size:.92rem;
  font-weight:600;
}

.social-board-hero__panel{
  display:grid;
  gap:16px;
}

.social-pin-card{
  position:relative;
  padding:24px 22px 20px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 32px rgba(15,23,42,.08);
}

.social-pin-card__pin{
  position:absolute;
  top:12px;
  left:18px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#e11d48;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
}

.social-pin-card strong{
  display:block;
  margin:8px 0 8px;
  color:#0f172a;
  font-size:1.08rem;
}

.social-pin-card p{
  margin:0;
  color:#526072;
  line-height:1.65;
}

.social-board-links{
  padding:26px 0 18px;
}

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

.social-board-link{
  position:relative;
  display:block;
  text-decoration:none;
  padding:24px 20px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 30px rgba(15,23,42,.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.social-board-link:hover{
  transform:translateY(-3px);
  border-color:#c8d6e5;
  box-shadow:0 20px 40px rgba(15,23,42,.10);
}

.social-board-link__pin{
  position:absolute;
  top:12px;
  right:16px;
  width:11px;
  height:11px;
  border-radius:999px;
  background:#f59e0b;
}

.social-board-link__logo{
  width:68px;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:#f8fbff;
  border:1px solid #e2e8f0;
  margin-bottom:16px;
}

.social-board-link__logo img{
  width:46px;
  height:46px;
  object-fit:contain;
}

.social-board-link h3{
  margin:0 0 8px;
  color:#0f172a;
  font-size:1.12rem;
}

.social-board-link p{
  margin:0;
  color:#526072;
  line-height:1.65;
}

.social-board-feed-section{
  padding:28px 0 76px;
}

.social-board-heading{
  max-width:820px;
  margin:0 auto 26px;
  text-align:center;
}

.social-board-heading h2{
  margin:0 0 12px;
  color:#0f172a;
  font-size:clamp(1.9rem,3vw,3rem);
  line-height:1.08;
}

.social-board-heading p{
  margin:0;
  color:#526072;
  line-height:1.7;
}

.social-board-frame--hardfix{
  position:relative;
  padding:26px;
  border-radius:28px;
  background:
    linear-gradient(180deg,#c89d68 0%,#b98752 100%);
  box-shadow:0 20px 46px rgba(15,23,42,.14);
}

.social-board-feed-wrap--hardfix{
  padding:22px;
  border-radius:18px;
  background:
    linear-gradient(180deg,#f7ecd8 0%,#f2e3c7 100%);
  box-shadow:inset 0 2px 8px rgba(90,62,35,.10);
}

.social-board-frame__pin{
  position:absolute;
  width:14px;
  height:14px;
  border-radius:999px;
  background:#d11f3a;
  box-shadow:0 2px 5px rgba(0,0,0,.2);
}

.social-board-frame__pin--tl{ top:10px; left:12px; }
.social-board-frame__pin--tr{ top:10px; right:12px; }
.social-board-frame__pin--bl{ bottom:10px; left:12px; }
.social-board-frame__pin--br{ bottom:10px; right:12px; }

/* =========================
   JUICER HARD OVERRIDE
   ========================= */

.social-board-juicer-hardfix,
.social-board-juicer-hardfix .juicer-feed{
  width:100% !important;
  max-width:100% !important;
}

.social-board-juicer-hardfix .referral,
.social-board-juicer-hardfix h1.referral{
  display:none !important;
}

.social-board-juicer-hardfix ul.juicer-feed{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:22px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  clear:both !important;
}

/* catch multiple Juicer item patterns */
.social-board-juicer-hardfix ul.juicer-feed > li,
.social-board-juicer-hardfix .j-post,
.social-board-juicer-hardfix .feed-item,
.social-board-juicer-hardfix li.feed-item,
.social-board-juicer-hardfix li.juicer-post{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:16px !important;
  float:none !important;
  clear:none !important;
  background:#fffdfa !important;
  border:1px solid rgba(90,62,35,.12) !important;
  border-radius:16px !important;
  box-shadow:0 8px 18px rgba(15,23,42,.08) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* stop long narrow left column behaviour */
.social-board-juicer-hardfix .juicer-feed:before,
.social-board-juicer-hardfix .juicer-feed:after{
  display:none !important;
  content:none !important;
}

.social-board-juicer-hardfix .juicer-feed > li:nth-child(4n+1),
.social-board-juicer-hardfix .j-post:nth-child(4n+1){
  transform:rotate(-.8deg) !important;
}
.social-board-juicer-hardfix .juicer-feed > li:nth-child(4n+2),
.social-board-juicer-hardfix .j-post:nth-child(4n+2){
  transform:rotate(.7deg) !important;
}
.social-board-juicer-hardfix .juicer-feed > li:nth-child(4n+3),
.social-board-juicer-hardfix .j-post:nth-child(4n+3){
  transform:rotate(-.5deg) !important;
}
.social-board-juicer-hardfix .juicer-feed > li:nth-child(4n+4),
.social-board-juicer-hardfix .j-post:nth-child(4n+4){
  transform:rotate(.6deg) !important;
}

.social-board-juicer-hardfix .j-image,
.social-board-juicer-hardfix .j-post-image,
.social-board-juicer-hardfix .image-wrapper,
.social-board-juicer-hardfix .media,
.social-board-juicer-hardfix .j-picture{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 14px !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#eef2f7 !important;
}

.social-board-juicer-hardfix img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  border-radius:12px !important;
}

.social-board-juicer-hardfix .j-message,
.social-board-juicer-hardfix .j-text,
.social-board-juicer-hardfix .j-post-text,
.social-board-juicer-hardfix .j-caption,
.social-board-juicer-hardfix p{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 10px !important;
  color:#526072 !important;
  font-size:.97rem !important;
  line-height:1.68 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}

.social-board-juicer-hardfix .j-meta,
.social-board-juicer-hardfix .j-source,
.social-board-juicer-hardfix .j-social,
.social-board-juicer-hardfix small,
.social-board-juicer-hardfix time{
  color:#0f172a !important;
  font-size:.88rem !important;
  line-height:1.45 !important;
}

.social-board-juicer-hardfix a{
  color:#1b66d1 !important;
  text-decoration:none !important;
}

.social-board-juicer-hardfix a:hover{
  text-decoration:underline !important;
}

.social-board-juicer-hardfix .j-paginate,
.social-board-juicer-hardfix .j-load-more{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  margin:24px auto 0 !important;
  padding:12px 20px !important;
  border-radius:999px !important;
  background:#1b66d1 !important;
  color:#ffffff !important;
  border:0 !important;
  box-shadow:0 12px 24px rgba(27,102,209,.24) !important;
}

/* CTA */
.social-board-cta{
  padding:0 0 84px;
}

.social-board-cta__panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:36px;
  border-radius:28px;
  background:linear-gradient(135deg,#0f172a 0%,#1b66d1 100%);
  box-shadow:0 24px 60px rgba(15,23,42,.18);
}

.social-board-cta__copy h2{
  margin:0 0 12px;
  color:#ffffff;
  font-size:clamp(1.9rem,3vw,3rem);
  line-height:1.06;
}

.social-board-cta__copy p{
  margin:0;
  color:rgba(255,255,255,.82);
  line-height:1.7;
}

.button-secondary--light{
  background:rgba(255,255,255,.12) !important;
  color:#ffffff !important;
  border-color:rgba(255,255,255,.22) !important;
}

.button-secondary--light:hover{
  color:#ffffff !important;
}

/* responsive */
@media (max-width:1100px){
  .social-board-hero__inner,
  .social-board-cta__panel{
    grid-template-columns:1fr;
  }

  .social-board-links__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .social-board-juicer-hardfix ul.juicer-feed{
    grid-template-columns:1fr !important;
  }

  .social-board-juicer-hardfix ul.juicer-feed > li,
  .social-board-juicer-hardfix .j-post,
  .social-board-juicer-hardfix .feed-item,
  .social-board-juicer-hardfix li.feed-item,
  .social-board-juicer-hardfix li.juicer-post{
    transform:none !important;
  }
}

@media (max-width:767px){
  .social-board-hero{
    padding:70px 0 58px;
  }

  .social-board-links__grid{
    grid-template-columns:1fr;
  }

  .social-board-frame--hardfix{
    padding:16px;
    border-radius:22px;
  }

  .social-board-feed-wrap--hardfix{
    padding:14px;
  }

  .social-board-cta__panel{
    padding:24px;
    border-radius:22px;
  }

  .social-board-hero__actions,
  .social-board-cta__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .social-board-hero__actions a,
  .social-board-cta__actions a{
    width:100%;
  }
}

/* =========================================================
   SOCIAL BOARD REFINEMENTS
   ========================================================= */

.social-board-hero__inner--single{
  grid-template-columns:1fr !important;
}

.social-board-hero__copy--full{
  max-width:920px;
}

.social-board-heading--socials{
  margin:0 auto 24px;
  text-align:center;
}

.social-board-heading--socials h2{
  margin:0;
}

.social-board-links__grid--logos{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  max-width:900px;
  margin:0 auto;
}

.social-board-link--logo-only{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:150px;
  padding:24px;
}

.social-board-link--logo-only h3,
.social-board-link--logo-only p{
  display:none !important;
}

.social-board-link--logo-only .social-board-link__pin{
  top:10px;
  right:12px;
}

.social-board-link--logo-only .social-board-link__logo{
  width:96px;
  height:96px;
  margin:0;
  border-radius:22px;
}

.social-board-link--logo-only .social-board-link__logo img{
  width:60px;
  height:60px;
}

/* coloured logo card backgrounds */
.social-board-link--linkedin .social-board-link__logo{
  background:linear-gradient(180deg,#eaf4ff 0%,#ffffff 100%);
  border-color:#b9d7f7;
}

.social-board-link--linkedin .social-board-link__logo img{
  filter:none;
}

.social-board-link--instagram .social-board-link__logo{
  background:linear-gradient(180deg,#fff1f5 0%,#ffffff 100%);
  border-color:#f2c6d4;
}

.social-board-link--facebook .social-board-link__logo{
  background:linear-gradient(180deg,#eef4ff 0%,#ffffff 100%);
  border-color:#c5d7fb;
}

.social-board-link--x .social-board-link__logo{
  background:linear-gradient(180deg,#f5f7fa 0%,#ffffff 100%);
  border-color:#d6dde5;
}

/* make simple-icons appear in brand colours */
.social-board-link--linkedin .social-board-link__logo img{
  filter: invert(30%) sepia(97%) saturate(1037%) hue-rotate(181deg) brightness(92%) contrast(88%);
}

.social-board-link--instagram .social-board-link__logo img{
  filter: invert(30%) sepia(84%) saturate(2280%) hue-rotate(312deg) brightness(94%) contrast(93%);
}

.social-board-link--facebook .social-board-link__logo img{
  filter: invert(32%) sepia(89%) saturate(1278%) hue-rotate(202deg) brightness(92%) contrast(92%);
}

.social-board-link--x .social-board-link__logo img{
  filter:none;
}

@media (max-width:900px){
  .social-board-links__grid--logos{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:767px){
  .social-board-links__grid--logos{
    grid-template-columns:1fr;
    max-width:320px;
  }

  .social-board-link--logo-only{
    min-height:130px;
    padding:20px;
  }

  .social-board-link--logo-only .social-board-link__logo{
    width:84px;
    height:84px;
  }

  .social-board-link--logo-only .social-board-link__logo img{
    width:52px;
    height:52px;
  }
}

/* =========================================================
   MAIN MENU BAR WIDTH + POSITION TWEAK
   ========================================================= */

@media (min-width: 1025px){

  .primary-navigation{
    margin-left:auto !important;
    margin-right:0 !important;
  }

  .primary-navigation .menu{
    gap:8px !important;
  }

  .primary-navigation .menu > li > a{
    min-height:38px !important;
    padding:0 12px !important;
    font-size:.92rem !important;
  }

  .site-header .header-inner{
    justify-content:flex-end !important;
    gap:12px !important;
    padding-right:10px !important;
  }

  .site-header .branding{
    margin-right:auto !important;
  }
}

/* If you are using the floating menu version as well */
@media (min-width: 1025px){
  .site-header .main-navigation,
  #masthead .main-navigation,
  nav.main-navigation{
    right:16px !important;
    padding:6px 8px !important;
  }

  .site-header .main-navigation ul.menu,
  #masthead .main-navigation ul.menu{
    gap:8px !important;
  }

  .site-header .main-navigation ul.menu > li > a,
  #masthead .main-navigation ul.menu > li > a{
    min-height:38px !important;
    padding:0 12px !important;
    font-size:.92rem !important;
  }
}

@media (min-width: 1025px){
  .primary-navigation .menu > li > a,
  .site-header .main-navigation ul.menu > li > a,
  #masthead .main-navigation ul.menu > li > a{
    min-height:36px !important;
    padding:0 10px !important;
    font-size:.88rem !important;
  }
}

/* =========================================================
   FINAL DESKTOP MENU HEIGHT + POSITION FIX
   Put this at the VERY END of style.css
   ========================================================= */

@media (min-width: 1025px){

  /* keep the header itself slimmer */
  .site-header .header-inner{
    min-height: 56px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    padding-right: 6px !important;
    align-items: center !important;
  }

  /* move menu further right and keep it compact */
  .primary-navigation{
    margin-left: auto !important;
    margin-right: 0 !important;
  }

  .primary-navigation .menu{
    gap: 6px !important;
    align-items: center !important;
  }

  /* reduce pill height */
  .primary-navigation .menu > li > a{
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 10px !important;
    font-size: 0.86rem !important;
    line-height: 1 !important;
    border-radius: 999px !important;
  }

  /* tighten dropdown arrow spacing */
  .primary-navigation .menu-item-has-children > a:after{
    width: 7px !important;
    height: 7px !important;
    margin-left: 6px !important;
  }

  /* if the menu is using the floating/fixed nav version */
  .site-header .main-navigation,
  #masthead .main-navigation,
  nav.main-navigation{
    top: 74px !important;
    right: 10px !important;
    padding: 4px 6px !important;
    border-radius: 999px !important;
  }

  .site-header .main-navigation ul.menu,
  #masthead .main-navigation ul.menu{
    gap: 6px !important;
    align-items: center !important;
  }

  .site-header .main-navigation ul.menu > li > a,
  #masthead .main-navigation ul.menu > li > a{
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 10px !important;
    font-size: 0.86rem !important;
    line-height: 1 !important;
    border-radius: 999px !important;
  }
}

/* =========================
   QUOTE CALCULATOR PAGE
   ========================= */

.page-quote-calculator {
  background: linear-gradient(180deg, #f5f8fc 0%, #ffffff 32%, #f7fbff 100%);
  color: #0f172a;
}

.quote-calc-hero {
  padding: 92px 0 76px;
  background:
    radial-gradient(circle at top left, rgba(27, 102, 209, 0.16), transparent 34%),
    linear-gradient(135deg, #eef5ff 0%, #ffffff 58%, #f5f8fc 100%);
}

.quote-calc-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 34px;
  align-items: center;
}

.quote-calc-hero-copy {
  max-width: 780px;
}

.quote-calc-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(27, 102, 209, 0.1);
  color: #1b66d1;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.quote-calc-hero h1 {
  margin: 0 0 18px;
  max-width: 780px;
  color: #0f172a;
  font-size: clamp(2.45rem, 5vw, 4.8rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.quote-calc-lead {
  max-width: 690px;
  margin: 0;
  color: #526072;
  font-size: 1.12rem;
  line-height: 1.75;
}

.quote-calc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.quote-calc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 20px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.quote-calc-button:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.quote-calc-button-primary {
  background: #1b66d1;
  color: #ffffff;
  box-shadow: 0 14px 30px rgba(27, 102, 209, 0.22);
}

.quote-calc-button-primary:hover {
  background: #1557b5;
  color: #ffffff;
}

.quote-calc-button-secondary {
  background: #ffffff;
  color: #0f172a;
  border-color: #d9e2ec;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.quote-calc-button-secondary:hover {
  background: #f8fafc;
  color: #0f172a;
}

.quote-calc-hero-card {
  background: #ffffff;
  border: 1px solid #d9e2ec;
  border-radius: 26px;
  padding: 30px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.quote-calc-hero-card h2 {
  margin: 0 0 16px;
  color: #0f172a;
  font-size: 1.45rem;
  letter-spacing: -0.03em;
}

.quote-calc-hero-card ul {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0 0 18px;
  list-style: none;
}

.quote-calc-hero-card li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 14px;
  border-radius: 16px;
  background: #f5f8fc;
  color: #0f172a;
  font-weight: 700;
}

.quote-calc-hero-card strong {
  color: #1b66d1;
}

.quote-calc-hero-card p {
  margin: 0;
  color: #526072;
  line-height: 1.65;
}

.quote-calc-section {
  padding: 76px 0;
}

.quote-calc-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
  gap: 30px;
  align-items: start;
}

.quote-calc-panel,
.quote-calc-summary-card,
.quote-calc-info-card {
  background: #ffffff;
  border: 1px solid #d9e2ec;
  border-radius: 28px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.quote-calc-panel {
  padding: 34px;
}

.quote-calc-section-heading {
  margin-bottom: 26px;
}

.quote-calc-section-heading h2 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: clamp(1.9rem, 3vw, 2.7rem);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.quote-calc-section-heading p {
  margin: 0;
  color: #526072;
  line-height: 1.7;
}

.quote-calc-form {
  display: grid;
  gap: 18px;
}

.quote-calc-field {
  display: grid;
  gap: 8px;
}

.quote-calc-field label {
  color: #0f172a;
  font-size: 0.98rem;
  font-weight: 800;
}

.quote-calc-field input,
.quote-calc-field select {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid #d9e2ec;
  border-radius: 16px;
  background: #ffffff;
  color: #0f172a;
  font-size: 1rem;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.quote-calc-field input:focus,
.quote-calc-field select:focus {
  border-color: #1b66d1;
  box-shadow: 0 0 0 4px rgba(27, 102, 209, 0.12);
}

.quote-calc-field small {
  color: #526072;
  font-size: 0.86rem;
  line-height: 1.55;
}

.quote-calc-desk-phone-field {
  display: none;
  padding: 18px;
  border-radius: 20px;
  background: #f5f8fc;
  border: 1px solid #d9e2ec;
}

.quote-calc-desk-phone-field.is-visible {
  display: grid;
}

.quote-calc-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.quote-calc-form-actions button {
  font-family: inherit;
}

.quote-calc-summary {
  position: sticky;
  top: 110px;
}

.quote-calc-summary-card {
  padding: 30px;
}

.quote-calc-price {
  margin: 4px 0 6px;
  color: #0f172a;
  font-size: clamp(3rem, 5vw, 4.8rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 1;
}

.quote-calc-price-note {
  margin: 0 0 24px;
  color: #526072;
  line-height: 1.65;
}

.quote-calc-breakdown {
  display: grid;
  gap: 10px;
  margin-bottom: 26px;
}

.quote-calc-breakdown div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border-radius: 16px;
  background: #f5f8fc;
}

.quote-calc-breakdown span {
  color: #526072;
  font-weight: 700;
}

.quote-calc-breakdown strong {
  color: #0f172a;
  font-weight: 900;
}

.quote-calc-selected {
  padding-top: 22px;
  border-top: 1px solid #d9e2ec;
}

.quote-calc-selected h3 {
  margin: 0 0 14px;
  color: #0f172a;
  font-size: 1.25rem;
  letter-spacing: -0.025em;
}

.quote-calc-selected ul {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.quote-calc-selected li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(217, 226, 236, 0.75);
  color: #526072;
}

.quote-calc-selected li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.quote-calc-selected strong {
  color: #0f172a;
  text-align: right;
}

.quote-calc-disclaimer {
  margin-top: 24px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(27, 102, 209, 0.08);
}

.quote-calc-disclaimer p {
  margin: 0;
  color: #526072;
  font-size: 0.92rem;
  line-height: 1.65;
}

.quote-calc-info {
  padding: 0 0 82px;
}

.quote-calc-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.quote-calc-info-card {
  padding: 28px;
}

.quote-calc-info-card h2 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 1.55rem;
  letter-spacing: -0.035em;
}

.quote-calc-info-card p {
  margin: 0;
  color: #526072;
  line-height: 1.75;
}

/* =========================
   QUOTE CALCULATOR MOBILE
   ========================= */

@media (max-width: 980px) {
  .quote-calc-hero {
    padding: 70px 0 56px;
  }

  .quote-calc-hero-inner,
  .quote-calc-layout,
  .quote-calc-info-grid {
    grid-template-columns: 1fr;
  }

  .quote-calc-summary {
    position: static;
  }
}

@media (max-width: 640px) {
  .quote-calc-hero {
    padding: 54px 0 44px;
  }

  .quote-calc-hero-card,
  .quote-calc-panel,
  .quote-calc-summary-card,
  .quote-calc-info-card {
    border-radius: 22px;
    padding: 22px;
  }

  .quote-calc-section {
    padding: 52px 0;
  }

  .quote-calc-hero-actions,
  .quote-calc-form-actions {
    flex-direction: column;
  }

  .quote-calc-button {
    width: 100%;
  }

  .quote-calc-selected li,
  .quote-calc-breakdown div {
    align-items: flex-start;
  }
}

/* Solutions page intro text to black */
.page-solutions-modern .solutions-intro-heading p,
.page-solutions-modern .solutions-intro-heading .hero-lead,
.page-solutions-modern .solutions-intro-heading .solutions-market-fit,
.page-solutions-modern .solutions-intro-modern p {
  color: #000000 !important;
}

/* =========================================================
   CUSTOMER PORTAL PAGE
   ========================================================= */

.customer-portal-page{
  background:linear-gradient(180deg,#f5f8fc 0%,#ffffff 34%,#f7fbff 100%);
}

.customer-portal-eyebrow{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:14px;
  padding:8px 13px;
  border:1px solid rgba(27,102,209,.18);
  border-radius:999px;
  background:rgba(27,102,209,.08);
  color:#1b66d1;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.customer-portal-hero{
  padding:88px 0 72px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27,102,209,.16), transparent 32%),
    radial-gradient(circle at 88% 12%, rgba(20,184,166,.10), transparent 24%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 100%);
}

.customer-portal-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:32px;
  align-items:start;
}

.customer-portal-hero__copy h1{
  margin:0 0 16px;
  color:#0f172a;
  font-size:clamp(2.3rem,5vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.045em;
}

.customer-portal-hero__copy p{
  max-width:760px;
  margin:0;
  color:#526072;
  font-size:1.05rem;
  line-height:1.78;
}

.customer-portal-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.customer-portal-summary-card{
  padding:28px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(27,102,209,.12), transparent 34%),
    #ffffff;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.customer-portal-summary-card__label{
  display:inline-block;
  margin-bottom:18px;
  color:#1b66d1;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.customer-portal-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.customer-portal-summary-grid div{
  padding:18px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:#f8fbff;
}

.customer-portal-summary-grid strong{
  display:block;
  margin-bottom:6px;
  color:#0f172a;
  font-size:1.35rem;
  line-height:1;
}

.customer-portal-summary-grid span{
  display:block;
  color:#526072;
  font-size:.92rem;
}

.customer-portal-status-section{
  padding:0 0 88px;
}

.service-status-accordion{
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  border-radius:30px;
  background:#ffffff;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.service-status-accordion__summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:28px 30px;
  background:
    radial-gradient(circle at 92% 8%, rgba(100,162,255,.16), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.service-status-accordion__summary::-webkit-details-marker{
  display:none;
}

.service-status-accordion__summary h2{
  margin:0 0 8px;
  color:#0f172a;
  font-size:clamp(1.8rem,3.5vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}

.service-status-accordion__summary p{
  margin:0;
  color:#526072;
  line-height:1.65;
}

.service-status-accordion__toggle{
  position:relative;
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:14px;
  background:rgba(27,102,209,.10);
}

.service-status-accordion__toggle::before,
.service-status-accordion__toggle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:2px;
  border-radius:999px;
  background:#1b66d1;
  transform:translate(-50%,-50%);
  transition:transform .18s ease;
}

.service-status-accordion__toggle::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.service-status-accordion[open] .service-status-accordion__toggle::after{
  transform:translate(-50%,-50%) rotate(0deg);
}

.service-status-accordion__content{
  padding:8px 28px 28px;
}

.service-status-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 20px;
  padding:0 2px;
}

.service-status-toolbar__note{
  margin:0;
  color:#526072;
  line-height:1.6;
}

.service-status-toolbar__note strong{
  color:#0f172a;
}

.service-status-refresh-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  background:#ffffff;
  color:#1b66d1;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(15,23,42,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, opacity .18s ease;
}

.service-status-refresh-button:hover{
  transform:translateY(-1px);
  border-color:rgba(27,102,209,.22);
  box-shadow:0 16px 30px rgba(15,23,42,.08);
}

.service-status-refresh-button.is-loading,
.service-status-refresh-button:disabled{
  opacity:.72;
  cursor:wait;
}

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

.service-status-card{
  padding:24px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}

.service-status-card.is-operational{
  background:linear-gradient(180deg,#ffffff 0%,#f3fff8 100%);
  border-color:rgba(34,197,94,.18);
}

.service-status-card.is-degraded{
  background:linear-gradient(180deg,#ffffff 0%,#fff9ef 100%);
  border-color:rgba(245,158,11,.22);
}

.service-status-card.is-outage{
  background:linear-gradient(180deg,#ffffff 0%,#fff3f3 100%);
  border-color:rgba(239,68,68,.22);
}

.service-status-card.is-unknown{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border-color:rgba(148,163,184,.22);
}

.service-status-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.service-status-card__title-wrap h3{
  margin:0 0 6px;
  color:#0f172a;
  font-size:1.22rem;
  line-height:1.2;
}

.service-status-card__vendor{
  margin:0;
  color:#64748b;
  font-size:.9rem;
  font-weight:700;
}

.service-status-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  font-size:.84rem;
  font-weight:800;
  white-space:nowrap;
}

.service-status-pill__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
}

.service-status-pill.is-operational{
  background:rgba(34,197,94,.12);
  color:#15803d;
}

.service-status-pill.is-operational .service-status-pill__dot{
  background:#22c55e;
}

.service-status-pill.is-degraded{
  background:rgba(245,158,11,.14);
  color:#b45309;
}

.service-status-pill.is-degraded .service-status-pill__dot{
  background:#f59e0b;
}

.service-status-pill.is-outage{
  background:rgba(239,68,68,.12);
  color:#b91c1c;
}

.service-status-pill.is-outage .service-status-pill__dot{
  background:#ef4444;
}

.service-status-pill.is-unknown{
  background:rgba(148,163,184,.14);
  color:#475569;
}

.service-status-pill.is-unknown .service-status-pill__dot{
  background:#94a3b8;
}

.service-status-card__message{
  margin:0 0 12px;
  color:#334155;
  line-height:1.7;
}

.service-status-card__meta{
  margin:0 0 8px;
  color:#64748b;
  font-size:.9rem;
  line-height:1.55;
}

.service-status-card__actions{
  margin-top:16px;
}

.service-status-card__actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 14px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  background:#ffffff;
  color:#1b66d1;
  text-decoration:none;
  font-weight:800;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.service-status-card__actions a:hover{
  transform:translateY(-1px);
  border-color:rgba(27,102,209,.22);
  box-shadow:0 12px 26px rgba(15,23,42,.08);
}

.service-status-footnote{
  margin-top:24px;
  padding:18px 20px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:#f8fbff;
}

.service-status-footnote p{
  margin:0;
  color:#526072;
  line-height:1.7;
}

@media (max-width: 980px){
  .customer-portal-hero__inner,
  .service-status-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767px){
  .customer-portal-hero{
    padding:72px 0 58px;
  }

  .customer-portal-hero__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .customer-portal-hero__actions a{
    width:100%;
  }

  .customer-portal-summary-card,
  .service-status-accordion__summary,
  .service-status-accordion__content,
  .service-status-card{
    padding:22px 20px;
  }

  .service-status-accordion{
    border-radius:24px;
  }

  .service-status-card{
    border-radius:20px;
  }

  .service-status-card__top{
    flex-direction:column;
    align-items:flex-start;
  }

  .customer-portal-summary-grid{
    grid-template-columns:1fr;
  }

  .service-status-toolbar{
    flex-direction:column;
    align-items:stretch;
  }

  .service-status-refresh-button{
    width:100%;
  }
}

/* =========================================================
   CUSTOMER PORTAL - DIRECT LIVE STATUS LAYOUT
   ========================================================= */

.customer-portal-status-block{
  padding:30px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:30px;
  background:#ffffff;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.customer-portal-status-block__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
  margin-bottom:24px;
}

.customer-portal-status-block__head h2{
  margin:0 0 8px;
  color:#0f172a;
  font-size:clamp(1.8rem,3.5vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}

.customer-portal-status-block__head p{
  margin:0;
  color:#526072;
  line-height:1.65;
}

@media (max-width: 900px){
  .customer-portal-status-block__head{
    grid-template-columns:1fr;
    align-items:start;
  }
}

@media (max-width: 767px){
  .customer-portal-status-block{
    padding:22px 20px;
    border-radius:24px;
  }
}

/* =========================================================
   CUSTOMER PORTAL - VENDOR ACCORDION STATUS
   ========================================================= */

.customer-portal-page{
  background:linear-gradient(180deg,#f5f8fc 0%,#ffffff 34%,#f7fbff 100%);
}

.customer-portal-status-block{
  padding:30px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:30px;
  background:#ffffff;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.customer-portal-status-block__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
  margin-bottom:24px;
}

.customer-portal-status-block__head h2{
  margin:0 0 8px;
  color:#0f172a;
  font-size:clamp(1.8rem,3vw,2.6rem);
  line-height:1.08;
}

.customer-portal-status-block__head p{
  margin:0;
  color:#526072;
  line-height:1.65;
}

.service-status-toolbar{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-end;
}

.service-status-toolbar__note{
  margin:0;
  color:#526072;
  font-size:.95rem;
}

.service-status-refresh-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  background:#ffffff;
  color:#0f172a;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}

.service-status-refresh-button:hover{
  transform:translateY(-1px);
}

.vendor-status-accordion-list{
  display:grid;
  gap:16px;
}

.vendor-status-accordion{
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 14px 32px rgba(15,23,42,.06);
  overflow:hidden;
}

.vendor-status-accordion__toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 24px;
  border:0;
  background:#ffffff;
  cursor:pointer;
  text-align:left;
}

.vendor-status-accordion__heading{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.vendor-status-accordion__heading h3{
  margin:0 0 4px;
  color:#0f172a;
  font-size:1.25rem;
  line-height:1.2;
}

.vendor-status-accordion__heading p{
  margin:0;
  color:#526072;
  font-size:.95rem;
}

.vendor-status-accordion__icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  position:relative;
}

.vendor-status-accordion__icon::before,
.vendor-status-accordion__icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2px;
  background:#1b66d1;
  border-radius:999px;
  transform:translate(-50%,-50%);
}

.vendor-status-accordion__icon::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.vendor-status-accordion__toggle[aria-expanded="true"] .vendor-status-accordion__icon::after{
  transform:translate(-50%,-50%) rotate(0deg);
}

.vendor-status-accordion__panel{
  display:none;
  padding:0 24px 24px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.vendor-status-services{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.vendor-status-service-card{
  padding:20px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:#ffffff;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.vendor-status-service-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}

.vendor-status-service-card h4{
  margin:0;
  color:#0f172a;
  font-size:1.05rem;
  line-height:1.3;
}

.vendor-status-service-card p{
  margin:0 0 12px;
  color:#526072;
  line-height:1.6;
}

.vendor-status-service-card a{
  color:#1b66d1;
  font-weight:700;
  text-decoration:none;
}

.vendor-status-service-card a:hover{
  text-decoration:underline;
}

/* traffic lights */
.vendor-status-traffic,
.vendor-status-pill__dot{
  display:inline-block;
  border-radius:999px;
}

.vendor-status-traffic{
  width:16px;
  height:16px;
  flex:0 0 16px;
  box-shadow:0 0 0 5px rgba(15,23,42,.06);
}

.vendor-status-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  font-size:.85rem;
  font-weight:700;
  white-space:nowrap;
}

.vendor-status-pill__dot{
  width:10px;
  height:10px;
}

.status-operational .vendor-status-traffic,
.vendor-status-pill.status-operational .vendor-status-pill__dot{
  background:#16a34a;
}

.vendor-status-pill.status-operational{
  background:rgba(22,163,74,.10);
  color:#166534;
}

.status-degraded .vendor-status-traffic,
.vendor-status-pill.status-degraded .vendor-status-pill__dot{
  background:#f59e0b;
}

.vendor-status-pill.status-degraded{
  background:rgba(245,158,11,.12);
  color:#92400e;
}

.status-outage .vendor-status-traffic,
.vendor-status-pill.status-outage .vendor-status-pill__dot{
  background:#dc2626;
}

.vendor-status-pill.status-outage{
  background:rgba(220,38,38,.10);
  color:#991b1b;
}

.status-unknown .vendor-status-traffic,
.vendor-status-pill.status-unknown .vendor-status-pill__dot{
  background:#64748b;
}

.vendor-status-pill.status-unknown{
  background:rgba(100,116,139,.12);
  color:#334155;
}

@media (max-width:900px){
  .customer-portal-status-block__head{
    grid-template-columns:1fr;
    align-items:start;
  }

  .service-status-toolbar{
    align-items:flex-start;
  }

  .vendor-status-services{
    grid-template-columns:1fr;
  }
}

@media (max-width:767px){
  .customer-portal-status-block{
    padding:22px 20px;
    border-radius:24px;
  }

  .vendor-status-accordion__toggle{
    padding:18px 18px;
  }

  .vendor-status-accordion__panel{
    padding:0 18px 18px;
  }

  .vendor-status-service-card{
    padding:18px;
    border-radius:18px;
  }

  .vendor-status-service-card__top{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* =========================================================
   PROFESSIONAL SERVICES PAGE
   ========================================================= */

.professional-services-page{
  background:
    radial-gradient(circle at 10% 5%, rgba(27,102,209,.10), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(20,184,166,.09), transparent 24%),
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 34%, #f1f7ff 100%);
  color:#0f172a;
  overflow-x:hidden;
}

.professional-services-page .container{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
}

.professional-services-eyebrow{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:14px;
  padding:8px 13px;
  border:1px solid rgba(27,102,209,.18);
  border-radius:999px;
  background:rgba(27,102,209,.08);
  color:#1b66d1;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.professional-services-eyebrow--light{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.12);
  color:#ffffff;
}

/* HERO */

.professional-services-hero{
  position:relative;
  padding:88px 0 76px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27,102,209,.22), transparent 34%),
    radial-gradient(circle at 86% 8%, rgba(20,184,166,.16), transparent 28%),
    radial-gradient(circle at 78% 80%, rgba(100,162,255,.14), transparent 34%),
    linear-gradient(135deg, #eef6ff 0%, #ffffff 48%, #eaf7ff 100%);
}

.professional-services-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(15,23,42,.12), transparent);
}

.professional-services-hero__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr);
  gap:48px;
  align-items:center;
}

.professional-services-hero__copy h1{
  max-width:780px;
  margin:0;
  color:#0f172a;
  font-size:clamp(2.45rem, 5vw, 4.6rem);
  line-height:.97;
  letter-spacing:-.055em;
}

.professional-services-hero__lead{
  max-width:760px;
  margin:24px 0 0;
  color:#526072;
  font-size:1.14rem;
  line-height:1.74;
}

.professional-services-hero__actions,
.professional-services-cloud__actions,
.professional-services-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}

.professional-services-hero__tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.professional-services-hero__tags span{
  padding:10px 14px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#334155;
  font-size:.92rem;
  font-weight:700;
}

.professional-services-hero__panel{
  display:grid;
  gap:18px;
}

.professional-services-summary-card{
  position:relative;
  overflow:hidden;
  padding:32px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 8%, rgba(100,162,255,.34), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(20,184,166,.20), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%);
  color:#ffffff;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
}

.professional-services-summary-card__label{
  display:inline-block;
  margin-bottom:14px;
  color:rgba(255,255,255,.78);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.professional-services-summary-card h2{
  margin:0;
  color:#ffffff;
  font-size:clamp(1.7rem, 3vw, 2.5rem);
  line-height:1.08;
  letter-spacing:-.04em;
}

.professional-services-summary-card p{
  margin:18px 0 0;
  color:rgba(255,255,255,.82);
  line-height:1.68;
}

/* HEADINGS */

.professional-services-section-heading{
  max-width:820px;
  margin-bottom:34px;
}

.professional-services-section-heading h2,
.professional-services-covered__copy h2,
.professional-services-cloud__copy h2,
.professional-services-cta__copy h2{
  margin:0;
  color:#0f172a;
  font-size:clamp(2rem, 4vw, 3.25rem);
  line-height:1.03;
  letter-spacing:-.045em;
}

.professional-services-section-heading p,
.professional-services-covered__copy p,
.professional-services-cloud__copy p,
.professional-services-cta__copy p{
  margin:18px 0 0;
  color:#526072;
  font-size:1.05rem;
  line-height:1.72;
}

/* INTRO */

.professional-services-intro{
  padding:86px 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(20,184,166,.10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.professional-services-intro__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
}

.professional-services-intro-card{
  background:#f8fbff;
  border:1px solid #d9e2ec;
  border-radius:26px;
  padding:30px;
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  position:relative;
  overflow:hidden;
}

.professional-services-intro-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:6px;
  background:linear-gradient(90deg, #1b66d1, #47a3ff);
}

.professional-services-intro-card h3{
  color:#0f172a;
  margin:0 0 12px;
  font-size:1.25rem;
}

.professional-services-intro-card p{
  color:#526072;
  line-height:1.66;
  margin:0;
}

/* COVERED */

.professional-services-covered{
  padding:88px 0;
}

.professional-services-covered__panel{
  background:
    radial-gradient(circle at 88% 12%, rgba(45,212,191,.22), transparent 30%),
    radial-gradient(circle at 10% 92%, rgba(100,162,255,.20), transparent 34%),
    linear-gradient(135deg, #07111f 0%, #0f2c59 46%, #1b66d1 100%);
  color:#ffffff;
  border-radius:34px;
  padding:42px;
  box-shadow:0 28px 70px rgba(15,23,42,.22);
}

.professional-services-covered__copy h2,
.professional-services-covered__copy p{
  color:#ffffff;
}

.professional-services-covered__copy p{
  color:rgba(255,255,255,.82);
}

.professional-services-covered__grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}

.professional-services-covered__item{
  min-height:120px;
  padding:22px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:22px;
  background:rgba(255,255,255,.13);
  box-shadow:0 18px 36px rgba(0,0,0,.12);
}

.professional-services-covered__item strong,
.professional-services-covered__item span{
  display:block;
}

.professional-services-covered__item strong{
  margin-bottom:10px;
  color:#ffffff;
  font-size:1.08rem;
}

.professional-services-covered__item span{
  color:rgba(255,255,255,.82);
  line-height:1.58;
}

/* BENEFITS */

.professional-services-benefits{
  padding:82px 0;
  background:
    radial-gradient(circle at 12% 8%, rgba(27,102,209,.08), transparent 28%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.professional-services-benefits__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
}

.professional-services-benefit-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:26px;
  border:1px solid rgba(27,102,209,.12);
  border-radius:24px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.professional-services-benefit-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:18px;
  border-radius:15px;
  background:linear-gradient(135deg, rgba(27,102,209,.14), rgba(100,162,255,.18));
  color:#1454b8;
  font-weight:900;
}

.professional-services-benefit-card h3{
  margin:0;
  color:#0f172a;
  font-size:1.28rem;
  line-height:1.2;
}

.professional-services-benefit-card p{
  margin:13px 0 0;
  color:#526072;
  font-size:.98rem;
  line-height:1.62;
}

/* PROCESS */

.professional-services-process{
  padding:82px 0;
}

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

.professional-services-process-card{
  padding:24px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.professional-services-process-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:78px;
  height:42px;
  margin-bottom:18px;
  padding:0 14px;
  border-radius:14px;
  background:rgba(27,102,209,.10);
  color:#1b66d1;
  font-weight:900;
}

.professional-services-process-card h3{
  margin:0;
  color:#0f172a;
  font-size:1.18rem;
  line-height:1.24;
}

.professional-services-process-card p{
  margin:10px 0 0;
  color:#526072;
  line-height:1.62;
}

/* CLOUD */

.professional-services-cloud{
  padding:86px 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(20,184,166,.10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.professional-services-cloud__grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(320px,.72fr);
  gap:34px;
  align-items:stretch;
}

.professional-services-cloud__copy p + p{
  margin-top:16px;
}

.professional-services-cloud__panel{
  padding:30px;
  border-radius:28px;
  background:
    radial-gradient(circle at 90% 8%, rgba(100,162,255,.20), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #1d355d 100%);
  color:#ffffff;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
}

.professional-services-cloud__panel h3{
  margin:0 0 20px;
  color:#ffffff;
  font-size:1.55rem;
}

.professional-services-cloud__panel ul{
  display:grid;
  gap:13px;
  margin:0;
  padding:0;
  list-style:none;
}

.professional-services-cloud__panel li{
  position:relative;
  padding-left:26px;
  color:rgba(255,255,255,.82);
  line-height:1.58;
}

.professional-services-cloud__panel li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:9px;
  height:9px;
  border-radius:999px;
  background:#64a2ff;
}

/* CTA */

.professional-services-cta{
  padding:76px 0 92px;
}

.professional-services-cta__panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:38px;
  border-radius:30px;
  background:
    radial-gradient(circle at 92% 12%, rgba(45,212,191,.24), transparent 30%),
    radial-gradient(circle at 8% 88%, rgba(100,162,255,.22), transparent 30%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%);
  color:#ffffff;
  box-shadow:0 26px 70px rgba(15,23,42,.20);
}

.professional-services-cta__copy h2,
.professional-services-cta__copy p{
  color:#ffffff;
}

.professional-services-cta__copy p{
  color:rgba(255,255,255,.82);
}

.professional-services-cta .button-secondary--light{
  background:rgba(255,255,255,.12);
  color:#ffffff;
  border-color:rgba(255,255,255,.22);
  box-shadow:none;
}

.professional-services-cta .button-secondary--light:hover{
  color:#ffffff;
}

/* RESPONSIVE */

@media (max-width:1100px){
  .professional-services-hero__inner,
  .professional-services-cloud__grid,
  .professional-services-cta__panel{
    grid-template-columns:1fr;
  }

  .professional-services-intro__grid,
  .professional-services-benefits__grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .professional-services-process__grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .professional-services-cta__actions{
    justify-content:flex-start;
  }
}

@media (max-width:700px){
  .professional-services-page .container{
    width:min(100% - 28px, 1180px);
  }

  .professional-services-hero{
    padding:54px 0 52px;
  }

  .professional-services-hero__inner{
    gap:30px;
  }

  .professional-services-hero__copy h1{
    font-size:clamp(2.2rem, 12vw, 3.4rem);
    line-height:1;
  }

  .professional-services-hero__lead{
    font-size:1rem;
    line-height:1.65;
  }

  .professional-services-hero__actions,
  .professional-services-cloud__actions,
  .professional-services-cta__actions{
    flex-direction:column;
  }

  .professional-services-hero__actions a,
  .professional-services-cloud__actions a,
  .professional-services-cta__actions a{
    width:100%;
  }

  .professional-services-hero__tags,
  .professional-services-covered__grid,
  .professional-services-intro__grid,
  .professional-services-benefits__grid,
  .professional-services-process__grid{
    grid-template-columns:1fr;
    display:grid;
  }

  .professional-services-hero__tags{
    gap:10px;
  }

  .professional-services-hero__tags span{
    width:100%;
  }

  .professional-services-summary-card,
  .professional-services-covered__panel,
  .professional-services-intro-card,
  .professional-services-benefit-card,
  .professional-services-process-card,
  .professional-services-cloud__panel,
  .professional-services-cta__panel{
    border-radius:24px;
    padding:24px;
  }

  .professional-services-intro,
  .professional-services-covered,
  .professional-services-benefits,
  .professional-services-process,
  .professional-services-cloud{
    padding:58px 0;
  }

  .professional-services-section-heading h2,
  .professional-services-covered__copy h2,
  .professional-services-cloud__copy h2,
  .professional-services-cta__copy h2{
    font-size:clamp(1.9rem, 9vw, 2.6rem);
    line-height:1.06;
  }
}

/* =========================================================
   CUSTOMER PORTAL PAGE
   ========================================================= */

.customer-portal-page{
  background:
    radial-gradient(circle at 10% 8%, rgba(27,102,209,.10), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(20,184,166,.08), transparent 24%),
    linear-gradient(180deg,#f5f8fc 0%,#ffffff 34%,#f7fbff 100%);
  color:#0f172a;
  overflow-x:hidden;
}

.customer-portal-page .container{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
}

/* =========================================================
   SHARED BITS
   ========================================================= */

.customer-portal-eyebrow{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin-bottom:14px;
  padding:8px 13px;
  border:1px solid rgba(27,102,209,.18);
  border-radius:999px;
  background:rgba(27,102,209,.08);
  color:#1b66d1;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.customer-portal-page .button-primary,
.customer-portal-page .button-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 22px;
  border-radius:999px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.customer-portal-page .button-primary{
  background:#1b66d1;
  color:#ffffff;
  box-shadow:0 16px 30px rgba(27,102,209,.24);
}

.customer-portal-page .button-primary:hover{
  transform:translateY(-2px);
  color:#ffffff;
  box-shadow:0 20px 38px rgba(27,102,209,.28);
}

.customer-portal-page .button-secondary{
  background:#ffffff;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.12);
  box-shadow:0 12px 24px rgba(15,23,42,.06);
}

.customer-portal-page .button-secondary:hover{
  transform:translateY(-2px);
  color:#0f172a;
  box-shadow:0 16px 30px rgba(15,23,42,.10);
}

/* =========================================================
   HERO
   ========================================================= */

.customer-portal-hero{
  position:relative;
  padding:88px 0 76px;
  background:
    radial-gradient(circle at 12% 18%, rgba(27,102,209,.20), transparent 34%),
    radial-gradient(circle at 86% 8%, rgba(20,184,166,.14), transparent 28%),
    radial-gradient(circle at 78% 80%, rgba(100,162,255,.12), transparent 34%),
    linear-gradient(135deg, #eef6ff 0%, #ffffff 48%, #eaf7ff 100%);
}

.customer-portal-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(15,23,42,.12), transparent);
}

.customer-portal-hero__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr);
  gap:42px;
  align-items:center;
}

.customer-portal-hero__copy h1{
  margin:0;
  max-width:760px;
  color:#0f172a;
  font-size:clamp(2.4rem, 5vw, 4.6rem);
  line-height:.98;
  letter-spacing:-.05em;
}

.customer-portal-hero__copy p{
  max-width:720px;
  margin:22px 0 0;
  color:#526072;
  font-size:1.08rem;
  line-height:1.75;
}

.customer-portal-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}

.customer-portal-hero__panel{
  display:block;
}

.customer-portal-summary-card{
  position:relative;
  overflow:hidden;
  padding:32px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 8%, rgba(100,162,255,.34), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(20,184,166,.20), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #154f9f 52%, #1b66d1 100%);
  color:#ffffff;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
}

.customer-portal-summary-card__label{
  display:inline-block;
  margin-bottom:14px;
  color:rgba(255,255,255,.80);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.customer-portal-summary-card h2{
  margin:0;
  color:#ffffff;
  font-size:clamp(1.7rem, 3vw, 2.4rem);
  line-height:1.08;
  letter-spacing:-.03em;
}

.customer-portal-summary-card p{
  margin:16px 0 0;
  color:rgba(255,255,255,.84);
  line-height:1.7;
}

/* =========================================================
   STATUS SECTION
   ========================================================= */

.customer-portal-status-section{
  padding:82px 0 92px;
}

.customer-portal-status-block{
  padding:34px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:30px;
  background:
    radial-gradient(circle at top right, rgba(27,102,209,.07), transparent 30%),
    #ffffff;
  box-shadow:0 18px 44px rgba(15,23,42,.08);
}

.customer-portal-status-block__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
  margin-bottom:28px;
}

.customer-portal-status-block__head h2{
  margin:0;
  color:#0f172a;
  font-size:clamp(2rem, 4vw, 3rem);
  line-height:1.05;
  letter-spacing:-.04em;
}

.customer-portal-status-block__head p{
  margin:12px 0 0;
  color:#526072;
  line-height:1.7;
}

/* =========================================================
   TOOLBAR
   ========================================================= */

.service-status-toolbar{
  display:grid;
  gap:12px;
  justify-items:end;
}

.service-status-toolbar__note{
  margin:0;
  color:#526072;
  font-size:.95rem;
  line-height:1.5;
}

.service-status-toolbar__note strong{
  color:#0f172a;
}

.service-status-refresh-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  background:#ffffff;
  color:#0f172a;
  font-size:.95rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.service-status-refresh-button:hover{
  transform:translateY(-1px);
  border-color:rgba(27,102,209,.22);
  box-shadow:0 14px 28px rgba(15,23,42,.10);
}

.service-status-refresh-button:disabled{
  opacity:.75;
  cursor:wait;
}

/* =========================================================
   VENDOR ACCORDIONS
   ========================================================= */

.vendor-status-accordion-list{
  display:grid;
  gap:16px;
}

.vendor-status-accordion{
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}

.vendor-status-accordion.status-operational{
  border-color:rgba(34,197,94,.22);
}

.vendor-status-accordion.status-degraded{
  border-color:rgba(245,158,11,.24);
}

.vendor-status-accordion.status-outage{
  border-color:rgba(239,68,68,.24);
}

.vendor-status-accordion__toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:20px;
  padding:22px 24px;
  border:0;
  background:
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  color:#0f172a;
  cursor:pointer;
  text-align:left;
}

.vendor-status-accordion.status-operational .vendor-status-accordion__toggle{
  background:
    linear-gradient(180deg,#ffffff 0%,#f3fff7 100%);
}

.vendor-status-accordion.status-degraded .vendor-status-accordion__toggle{
  background:
    linear-gradient(180deg,#ffffff 0%,#fffaf1 100%);
}

.vendor-status-accordion.status-outage .vendor-status-accordion__toggle{
  background:
    linear-gradient(180deg,#ffffff 0%,#fff4f4 100%);
}

.vendor-status-accordion__heading{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.vendor-status-accordion__heading h3{
  margin:0;
  color:#0f172a;
  font-size:1.28rem;
  line-height:1.2;
}

.vendor-status-accordion__heading p{
  margin:6px 0 0;
  color:#526072;
  font-size:.95rem;
  line-height:1.45;
}

.vendor-status-traffic{
  flex:0 0 auto;
  width:18px;
  height:18px;
  border-radius:999px;
  box-shadow:0 0 0 6px rgba(148,163,184,.12);
}

.vendor-status-traffic.status-operational{
  background:#22c55e;
  box-shadow:0 0 0 6px rgba(34,197,94,.14);
}

.vendor-status-traffic.status-degraded{
  background:#f59e0b;
  box-shadow:0 0 0 6px rgba(245,158,11,.16);
}

.vendor-status-traffic.status-outage{
  background:#ef4444;
  box-shadow:0 0 0 6px rgba(239,68,68,.14);
}

.vendor-status-traffic.status-unknown{
  background:#94a3b8;
  box-shadow:0 0 0 6px rgba(148,163,184,.14);
}

.vendor-status-accordion__icon{
  position:relative;
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:14px;
  background:rgba(27,102,209,.10);
}

.vendor-status-accordion__icon::before,
.vendor-status-accordion__icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:2px;
  border-radius:999px;
  background:#1b66d1;
  transform:translate(-50%, -50%);
  transition:transform .18s ease;
}

.vendor-status-accordion__icon::after{
  transform:translate(-50%, -50%) rotate(90deg);
}

.vendor-status-accordion__toggle[aria-expanded="true"] .vendor-status-accordion__icon::after{
  transform:translate(-50%, -50%) rotate(0deg);
}

.vendor-status-accordion__panel{
  display:none;
  padding:0 22px 22px;
}

/* =========================================================
   SERVICE CARDS
   ========================================================= */

.vendor-status-services{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}

.vendor-status-service-card{
  padding:22px 20px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:#ffffff;
  box-shadow:0 12px 26px rgba(15,23,42,.04);
}

.vendor-status-service-card.status-operational{
  background:linear-gradient(180deg,#ffffff 0%,#f4fff7 100%);
  border-color:rgba(34,197,94,.18);
}

.vendor-status-service-card.status-degraded{
  background:linear-gradient(180deg,#ffffff 0%,#fffaf1 100%);
  border-color:rgba(245,158,11,.20);
}

.vendor-status-service-card.status-outage{
  background:linear-gradient(180deg,#ffffff 0%,#fff4f4 100%);
  border-color:rgba(239,68,68,.18);
}

.vendor-status-service-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}

.vendor-status-service-card h4{
  margin:0;
  color:#0f172a;
  font-size:1.08rem;
  line-height:1.3;
}

.vendor-status-service-card p{
  margin:0 0 14px;
  color:#526072;
  font-size:.96rem;
  line-height:1.65;
}

.vendor-status-service-card a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#1b66d1;
  font-weight:800;
  text-decoration:none;
}

.vendor-status-service-card a::after{
  content:"→";
}

.vendor-status-service-card a:hover{
  text-decoration:underline;
}

/* =========================================================
   STATUS PILL
   ========================================================= */

.vendor-status-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.vendor-status-pill__dot{
  width:9px;
  height:9px;
  border-radius:999px;
  background:currentColor;
}

.vendor-status-pill.status-operational{
  background:rgba(34,197,94,.12);
  color:#15803d;
}

.vendor-status-pill.status-degraded{
  background:rgba(245,158,11,.14);
  color:#b45309;
}

.vendor-status-pill.status-outage{
  background:rgba(239,68,68,.12);
  color:#b91c1c;
}

.vendor-status-pill.status-unknown{
  background:rgba(148,163,184,.14);
  color:#475569;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width:1100px){
  .customer-portal-hero__inner,
  .customer-portal-status-block__head{
    grid-template-columns:1fr;
  }

  .service-status-toolbar{
    justify-items:start;
  }
}

@media (max-width:900px){
  .vendor-status-services{
    grid-template-columns:1fr;
  }
}

@media (max-width:700px){
  .customer-portal-page .container{
    width:min(100% - 28px, 1180px);
  }

  .customer-portal-hero{
    padding:54px 0 52px;
  }

  .customer-portal-hero__copy h1{
    font-size:clamp(2.15rem, 11vw, 3.25rem);
    line-height:1;
  }

  .customer-portal-hero__copy p{
    font-size:1rem;
    line-height:1.65;
  }

  .customer-portal-hero__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .customer-portal-hero__actions a{
    width:100%;
  }

  .customer-portal-summary-card,
  .customer-portal-status-block{
    padding:24px 20px;
    border-radius:24px;
  }

  .customer-portal-status-section{
    padding:58px 0 64px;
  }

  .customer-portal-status-block__head h2{
    font-size:clamp(1.9rem, 9vw, 2.5rem);
    line-height:1.08;
  }

  .vendor-status-accordion__toggle{
    padding:18px 18px;
  }

  .vendor-status-accordion__heading h3{
    font-size:1.08rem;
  }

  .vendor-status-accordion__heading p{
    font-size:.9rem;
  }

  .vendor-status-accordion__panel{
    padding:0 16px 16px;
  }

  .vendor-status-service-card{
    padding:18px 16px;
    border-radius:18px;
  }

  .vendor-status-service-card__top{
    flex-direction:column;
    align-items:flex-start;
  }

  .vendor-status-pill{
    white-space:normal;
  }
}

/* =========================================
   CONTACT PAGE GOOGLE MAP FIX
   ========================================= */

.contact-map-card{
  width:100%;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
}

.contact-map-card__header{
  padding:24px 24px 18px;
}

.contact-map-card__header h3{
  margin:0 0 10px;
  color:#0f172a;
  font-size:1.35rem;
  line-height:1.2;
}

.contact-map-card__header p{
  margin:0;
  color:#526072;
  line-height:1.65;
}

.contact-map-embed{
  position:relative;
  width:100%;
  line-height:0;
  overflow:hidden;
  border-top:1px solid rgba(15,23,42,.08);
}

.contact-map-embed iframe{
  display:block;
  width:100%;
  min-height:420px;
  border:0;
}

@media (max-width:767px){
  .contact-map-card{
    border-radius:20px;
  }

  .contact-map-card__header{
    padding:20px 18px 16px;
  }

  .contact-map-embed iframe{
    min-height:300px;
  }
}