@import url("pmb-button-text-weight.css");
/* PMB Enterprise architecture — category, bundle, and generated service pages */
:root{
  --bg:#080e1a;--bg2:#0c1424;--panel:rgba(12,20,36,0.82);
  --border:rgba(0,180,255,0.12);--border2:rgba(0,180,255,0.22);
  --blue:#00b4ff;--teal:#00e5c8;--blue-dim:rgba(0,180,255,0.08);
  --white:#e8f0ff;--muted:#6a7fa8;--muted2:#8a9fc4;
  /* Shared primary CTA — darker gradient, high-contrast label */
  --btn-primary-grad:linear-gradient(180deg,#0d8eb8 0%,#066a94 48%,#044d6e 100%);
  --btn-primary-text:#ffffff;
  --btn-primary-border:1px solid rgba(255,255,255,.22);
  --nav-h:88px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{
  scroll-behavior:smooth;
  scroll-padding-top:var(--nav-h, 88px);
}
section{
  scroll-margin-top:0;
}
body{
  background:var(--bg);color:var(--white);
  font-family:'Outfit',sans-serif;font-weight:400;line-height:1.7;overflow-x:hidden;
}
h1,h2,h3{font-family:'Rajdhani',sans-serif;font-weight:700;line-height:1.15;letter-spacing:0.02em}
a{color:inherit;text-decoration:none}
.svc-page-bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:strict;
}
.svc-page-bg__layer{
  position:absolute;inset:-12%;pointer-events:none;
  opacity:.38;will-change:transform,opacity,background-position;
}
@media(max-width:720px){ .svc-page-bg__layer{opacity:.26} }
@media(prefers-reduced-motion:reduce){
  .svc-page-bg__layer{animation:none!important;transform:none!important}
}
img{max-width:100%}
nav{
  position:fixed;top:0;left:0;width:100%;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 5vw;overflow:visible;
  background:rgba(8,14,26,0.75);
  backdrop-filter:blur(18px);border-bottom:1px solid var(--border);
  transition:padding .3s,background .3s;
}
nav.scrolled{padding:.85rem 5vw;background:rgba(8,14,26,0.95)}
.nav-logo{display:flex;align-items:center;flex-shrink:0;overflow:visible;line-height:0}
.nav-logo .nav-logo-img{display:block;height:auto;width:clamp(150px,48vw,170px)}
@media(min-width:600px){ .nav-logo .nav-logo-img{width:clamp(180px,32vw,210px)} }
@media(min-width:900px){ .nav-logo .nav-logo-img{width:clamp(230px,24vw,260px)} }
.nav-links{display:flex;gap:2rem;list-style:none;flex-wrap:wrap}
.nav-links a{
  font-size:.83rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted2);font-weight:500;padding-bottom:2px;position:relative;transition:color .2s;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:1px;
  background:var(--blue);transition:width .25s;
}
.nav-links a:hover{color:var(--white)}
.nav-links a:hover::after{width:100%}
@media(min-width:901px){
  .nav-dropdown-wrap{
    position:relative;
    padding-bottom:.5rem;
  }
  .nav-dropdown-wrap > .nav-dropdown-trigger::after{display:none}
  .nav-dropdown-menu{
    position:absolute;top:100%;left:50%;transform:translateX(-50%);
    min-width:min(320px,94vw);list-style:none;margin:0;padding:.5rem 0 .45rem;
    background:rgba(8,14,26,.97);border:1px solid var(--border2);border-radius:12px;
    box-shadow:0 18px 50px rgba(0,0,0,.45);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .2s ease,visibility 0s linear .2s;
    z-index:320;
  }
  .nav-dropdown-wrap:hover .nav-dropdown-menu,
  .nav-dropdown-wrap:focus-within .nav-dropdown-menu{
    opacity:1;visibility:visible;pointer-events:auto;
    transition-delay:0s;
  }
  .nav-dropdown-menu a{
    display:block;padding:.55rem 1.15rem;font-size:.76rem;letter-spacing:.05em;
    text-transform:none;font-weight:500;white-space:nowrap;
  }
  .nav-dropdown-menu a::after{display:none}
  .nav-dropdown-menu a:hover{background:rgba(0,180,255,.1);color:var(--white)}
  .nav-dropdown-sep{height:1px;margin:.35rem .75rem;background:rgba(0,180,255,.12);list-style:none;padding:0}
}
@media(max-width:900px){
  .nav-dropdown-menu{display:none!important}
}
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--btn-primary-grad);
  color:var(--btn-primary-text);border:none;border-radius:999px;
  padding:.92rem 2.45rem;font-family:'Rajdhani',sans-serif;font-weight:700;
  font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  border:var(--btn-primary-border);
  text-shadow:0 1px 1px rgba(0,0,0,.35);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 10px 28px rgba(0,60,90,.45),
    0 2px 10px rgba(0,0,0,.4);
  cursor:pointer;transition:box-shadow .22s ease,transform .18s ease,filter .2s ease;
}
.btn-primary:hover{
  filter:brightness(1.05);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 14px 36px rgba(0,100,140,.42),
    0 0 28px rgba(0,160,220,.22),
    0 4px 12px rgba(0,0,0,.38);
  transform:translateY(-2px);
}
.btn-ghost,
.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:1px solid rgba(0,180,255,.35);
  color:var(--white);border-radius:999px;
  padding:.82rem 2rem;font-family:'Rajdhani',sans-serif;font-weight:700;
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  transition:border-color .2s,background .2s,transform .18s;
}
.btn-ghost:hover,
.btn-secondary:hover{border-color:var(--teal);background:var(--blue-dim);transform:translateY(-2px)}
.section{position:relative;z-index:10;padding:3.25rem 5vw}
.section-inner{max-width:1100px;margin:0 auto}
.section-inner--narrow{max-width:720px}
.section-tag{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue);font-weight:600;margin-bottom:.55rem;
}
.section-tag::before{content:'//';opacity:.5}
.section-title{
  font-size:clamp(1.65rem,3.5vw,2.1rem);letter-spacing:.035em;margin-bottom:.5rem;
}
.section-title em{font-style:normal;color:var(--blue)}
.detail-panel{
  margin-top:1rem;
  background:linear-gradient(165deg,rgba(12,20,36,.88),rgba(10,16,28,.92));
  border:1px solid rgba(0,180,255,.12);
  border-radius:14px;padding:1.25rem 1.35rem;
  box-shadow:0 4px 24px rgba(0,0,0,.2);
}
.detail-panel p{
  color:rgba(184,198,228,.95);font-size:1rem;line-height:1.78;margin-top:.85rem;
}
.detail-panel p:first-child{margin-top:0}
.detail-list{list-style:none;padding:0;margin:0}
.detail-list li{
  position:relative;padding-left:1.15rem;margin-top:.72rem;
  color:rgba(184,198,228,.95);font-size:.98rem;line-height:1.72;
}
.detail-list li:first-child{margin-top:0}
.detail-list li::before{
  content:'';position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--teal));
  box-shadow:0 0 10px rgba(0,180,255,.35);
}
.svc-hero{
  min-height:min(58vh,560px);display:flex;align-items:center;
  padding:6.25rem 5vw 2.75rem;position:relative;z-index:10;isolation:isolate;overflow:hidden;
}
.svc-hero::before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 90% 75% at 50% 18%,rgba(6,12,24,.28) 0%,transparent 55%),
    linear-gradient(180deg,rgba(6,12,22,.86) 0%,rgba(6,12,22,.52) 45%,rgba(6,12,22,.9) 100%);
}
.svc-hero-inner{max-width:720px;margin:0 auto;position:relative;z-index:2;padding:0 1rem}
.svc-hero .section-tag{margin-bottom:.5rem}
.svc-hero h1{
  font-size:clamp(2rem,4.5vw,2.85rem);letter-spacing:.02em;line-height:1.08;margin-bottom:.65rem;
}
.svc-hero h1 em{
  font-style:normal;background:linear-gradient(90deg,var(--blue),var(--teal));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.svc-hero-lead{
  color:rgba(184,198,228,.96);font-size:1.05rem;line-height:1.75;max-width:40rem;margin-bottom:1.2rem;
}
.svc-hero-btns{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
#svc-detail,#category-body{background:var(--bg);border-top:1px solid rgba(0,180,255,.08)}
#svc-detail .section:nth-child(even),#category-body .section:nth-child(even){
  background:rgba(12,20,36,0.35);
}
.cta-final{
  text-align:center;padding:3.25rem 5vw 3.5rem;position:relative;z-index:10;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,180,255,.08),transparent 55%),var(--bg);
  border-top:1px solid rgba(0,180,255,.1);
}
.cta-final-inner{max-width:560px;margin:0 auto}
.cta-final h2{font-size:clamp(1.65rem,3.5vw,2.05rem);margin-bottom:.75rem}
.cta-final p{color:rgba(184,198,228,.95);font-size:1.02rem;line-height:1.75;margin-bottom:1.35rem}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:none}
/* Category / catalog grid — mirrors homepage service cards */
.services-grid--catalog{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.3rem;margin-top:2.5rem;align-items:stretch;
}
#category-services .svc-card,#category-services a.svc-card{
  display:flex;flex-direction:column;height:100%;
  color:inherit;text-decoration:none;
  padding:2rem 2rem 1.95rem;border-radius:14px;position:relative;overflow:hidden;
  border:1px solid rgba(0,180,255,.14);
  background:linear-gradient(165deg,rgba(14,24,44,.96) 0%,rgba(11,19,36,.89) 48%,rgba(13,24,44,.94) 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.055) inset,
    0 10px 36px rgba(0,0,0,.26),
    0 2px 10px rgba(0,180,255,.055);
  transition:transform .36s cubic-bezier(.22,1,.36,1),border-color .3s ease,box-shadow .36s ease;
}
#category-services a.svc-card{cursor:pointer}
#category-services .svc-card:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
#category-services .svc-icon-wrap{
  width:72px;height:72px;border-radius:16px;margin-bottom:1.52rem;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,rgba(0,180,255,.12),rgba(0,229,200,.1));
  border:1px solid rgba(0,180,255,.22);
  transition:box-shadow .35s ease,background .35s ease,transform .35s ease;
}
#category-services .svc-icon-wrap svg{width:40px;height:40px;display:block}
#category-services .svc-card h3{
  font-size:1.12rem;margin-bottom:.72rem;letter-spacing:.045em;font-weight:700;
  color:rgba(244,248,255,.98);
}
#category-services .svc-card p{
  flex-grow:1;margin:0;font-size:.97rem;line-height:1.65;
  color:rgba(232,240,255,.86);text-shadow:0 1px 2px rgba(0,0,0,.35);
}
#category-services .svc-link{
  margin-top:1.1rem;align-self:flex-start;
  font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);font-weight:600;
  opacity:1;transform:none;
  transition:color .2s ease,letter-spacing .2s ease;
}
#category-services .svc-card:hover{
  transform:translateY(-5px);
  border-color:rgba(0,180,255,.28);
  box-shadow:
    0 1px 0 rgba(255,255,255,.07) inset,
    0 18px 44px rgba(0,0,0,.34),
    0 0 0 1px rgba(0,180,255,.08),
    0 0 28px rgba(0,180,255,.1);
}
#category-services .svc-card:hover .svc-icon-wrap{
  transform:translateY(-1px);
  box-shadow:0 0 0 1px rgba(0,0,0,.12) inset,0 8px 26px rgba(0,180,255,.18);
}
#category-services .svc-card:hover .svc-link{color:var(--teal);letter-spacing:.1em}
.mobile-call-fab{display:none}
@media(max-width:768px){
  .mobile-call-fab{
    display:flex;align-items:center;justify-content:center;
    position:fixed;bottom:20px;right:20px;z-index:250;
    width:60px;height:60px;border-radius:50%;
    background:var(--blue);color:#fff;
    box-shadow:0 6px 22px rgba(0,0,0,.38),0 2px 10px rgba(0,180,255,.32);
    text-decoration:none;-webkit-tap-highlight-color:transparent;
  }
  .mobile-call-fab svg{width:26px;height:26px;display:block}
}
@media(max-width:720px){ .nav-links{gap:1rem} }

/* Search bar system — mirrors homepage styles exactly */
.search-bar{
  display:flex;align-items:center;gap:.5rem;
  background:var(--blue-dim);border:1px solid var(--border);
  border-radius:20px;padding:.35rem .9rem;
  transition:border-color .2s,box-shadow .2s;
}
.search-bar:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,180,255,.1)}
.search-bar input{
  background:transparent;border:none;outline:none;
  color:var(--white);font-family:'Outfit',sans-serif;font-size:.83rem;
  width:140px;
}
.search-bar input::placeholder{color:var(--muted)}
.search-icon{color:var(--muted);font-size:.85rem}
.site-search-wrap.smart-search-wrap{position:relative}

