/*
Theme Name: Critical Path Security
Theme URI: https://www.criticalpathsecurity.com/
Author: Critical Path Security
Author URI: https://www.criticalpathsecurity.com/
Description: Standalone dark-theme for Critical Path Security. Ported from the Managed Security mockup (v3): sticky glass nav, animated network hero, stat strip, glass cards, and offerings grid. Built to be previewed and switched to.
Version: 1.2.1
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: critical-path-security
*/

:root{
  --brand:#0066b3;
  --brand-dark:#004c93;
  --brand-light:#4da3ff;
  --bg-0:#050f20;
  --bg-1:#081b36;
  --bg-2:#0c2748;
  --bg-3:#0f2f57;
  --text:#f4f8ff;
  --text-2:#aebdd1;
  --text-3:#7e93ad;
  --line:rgba(255,255,255,.12);
  --line-soft:rgba(255,255,255,.08);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--text);
  background:var(--bg-0);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;}
img{max-width:100%;height:auto;}

.skip-link{
  position:absolute;left:-9999px;top:0;background:var(--brand);color:#fff;
  padding:10px 16px;border-radius:0 0 6px 0;z-index:100;
}
.skip-link:focus{left:0;}

/* ---------- NAV ---------- */
header.site-nav{
  position:sticky;top:0;z-index:50;
  background:rgba(5,15,32,.72);
  backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
header.site-nav.scrolled{
  box-shadow:0 8px 28px rgba(0,0,0,.35);
  border-bottom-color:var(--line-soft);
  background:rgba(5,15,32,.92);
}
.nav-inner{
  max-width:1180px;margin:0 auto;padding:16px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.logo{font-weight:800;font-size:17px;letter-spacing:.01em;color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;}
.logo span{color:var(--brand-light);}
.logo img,.logo .custom-logo{height:40px;width:auto;max-height:40px;display:block;}
.logo .custom-logo-link{display:block;line-height:0;}
nav.links > ul{list-style:none;display:flex;gap:28px;align-items:center;margin:0;padding:0;}
nav.links li{position:relative;}
nav.links a{
  font-size:14.5px;font-weight:600;color:var(--text-2);text-decoration:none;
  transition:color .15s ease;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;
}
nav.links a:hover,
nav.links li.current-menu-item>a,
nav.links li.current-menu-ancestor>a{color:#fff;}

/* Caret indicator on items that have a submenu */
nav.links .menu-item-has-children > a::after{
  content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);margin-top:-3px;opacity:.55;transition:transform .18s ease;
}
nav.links .menu-item-has-children:hover > a::after,
nav.links .menu-item-has-children:focus-within > a::after{transform:rotate(-135deg);margin-top:2px;opacity:.9;}

/* Dropdown submenus */
nav.links ul.sub-menu{
  list-style:none;margin:0;padding:8px;
  position:absolute;top:calc(100% + 12px);left:0;min-width:230px;
  background:rgba(6,17,35,.98);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 22px 48px rgba(0,0,0,.5);backdrop-filter:blur(10px);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;z-index:60;
}
/* Invisible bridge so the pointer can travel into the dropdown */
nav.links ul.sub-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
nav.links li:hover > ul.sub-menu,
nav.links li:focus-within > ul.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
nav.links ul.sub-menu li{position:relative;}
nav.links ul.sub-menu a{
  display:block;padding:9px 12px;border-radius:8px;font-weight:600;
  color:var(--text-2);white-space:normal;line-height:1.35;
}
nav.links ul.sub-menu a:hover{background:rgba(77,163,255,.12);color:#fff;}

nav.links .nav-cta > a,
nav.links a.nav-cta{
  background:var(--brand);color:#fff!important;padding:10px 20px;border-radius:7px;
  font-weight:700!important;
}
nav.links .nav-cta > a:hover,
nav.links a.nav-cta:hover{background:var(--brand-dark);color:#fff!important;}

.nav-toggle{
  display:none;background:none;border:1px solid var(--line);border-radius:7px;
  color:#fff;padding:8px 10px;cursor:pointer;
}

/* ---------- HERO ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 480px at 12% -10%, rgba(77,163,255,.20), transparent 60%),
    radial-gradient(700px 420px at 100% 10%, rgba(0,102,179,.16), transparent 55%),
    linear-gradient(180deg,var(--bg-0) 0%,var(--bg-1) 100%);
  padding:110px 32px 0;
}
.hero-graphic{position:absolute;inset:0;pointer-events:none;opacity:.9;}
.hero-graphic svg{position:absolute;top:0;left:0;width:100%;height:100%;}
.hero-graphic canvas.hero-fx{position:absolute;top:0;left:0;width:100%;height:100%;display:block;}
html.hero-fx-on .hero-graphic .hero-fx-fallback{display:none;}
.hero-graphic::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(5,15,32,0) 55%,rgba(5,15,32,.55) 100%);
}
.hero-graphic .node{fill:var(--brand-light);opacity:.75;animation:pulse 3.6s ease-in-out infinite;}
.hero-graphic .node.d2{animation-delay:.6s;}
.hero-graphic .node.d3{animation-delay:1.2s;}
.hero-graphic .node.d4{animation-delay:1.8s;}
.hero-graphic .node.d5{animation-delay:2.4s;}
.hero-graphic line{stroke:rgba(77,163,255,.3);stroke-width:1;}
@keyframes pulse{0%,100%{opacity:.3;r:2.2;}50%{opacity:1;r:3.8;}}
.hero-inner{position:relative;z-index:1;max-width:820px;margin:0 auto;text-align:center;padding-bottom:56px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#bcdcff;background:rgba(77,163,255,.14);border:1px solid rgba(77,163,255,.25);
  padding:7px 14px;border-radius:20px;margin-bottom:22px;
}
.hero h1{
  font-size:clamp(34px,5vw,52px);line-height:1.08;font-weight:800;
  margin:0 0 20px;letter-spacing:-.01em;color:#fff;
}
.hero h1 em{color:var(--brand-light);font-style:normal;}
.hero p{font-size:18px;line-height:1.6;color:var(--text-2);margin:0 auto;max-width:640px;}
.hero-ctas{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap;}.btn-primary{
  background:var(--brand);color:#fff;padding:14px 26px;border-radius:8px;
  font-weight:700;text-decoration:none;font-size:15px;display:inline-block;
  box-shadow:0 10px 28px rgba(0,102,179,.4);border:none;cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(77,163,255,.45);background:var(--brand-dark);}
.btn-ghost{
  background:transparent;color:#fff;padding:14px 26px;border-radius:8px;
  font-weight:700;text-decoration:none;font-size:15px;border:1.5px solid rgba(255,255,255,.28);display:inline-block;
  transition:border-color .18s ease, transform .18s ease, background .18s ease;
}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--brand-light);background:rgba(77,163,255,.1);}

section{padding:88px 32px;position:relative;}
.wrap{max-width:1180px;margin:0 auto;position:relative;z-index:1;}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease, transform .6s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ---------- STAT STRIP ---------- */
.statbar{
  position:relative;z-index:1;display:flex;flex-wrap:wrap;
  background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:16px;
  margin:0 auto;max-width:1000px;transform:translateY(50%);
  backdrop-filter:blur(6px);
}
.stat{
  flex:1 1 200px;min-width:160px;text-align:center;padding:26px 22px;
  border-right:1px solid var(--line);transition:transform .2s ease, background .2s ease;border-radius:16px;
}
.stat:last-child{border-right:none;}
.stat:hover{transform:translateY(-4px);background:rgba(255,255,255,.04);}
.stat svg{margin-bottom:10px;}
.stat .val{font-size:28px;font-weight:800;line-height:1.1;letter-spacing:-.01em;color:#fff;}
.stat .lbl{font-size:12.5px;color:var(--text-2);margin-top:6px;line-height:1.4;}
.hero-spacer{height:60px;}

/* Compact hero for interior pages (Page with Hero template) */
.hero.page-hero{padding:96px 32px 64px;}
.hero.page-hero .hero-inner{padding-bottom:0;}

/* ---------- section backdrop dot texture ---------- */
.dot-texture::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(circle at 25% 15%, #000 0%, transparent 65%);
          mask-image:radial-gradient(circle at 25% 15%, #000 0%, transparent 65%);
}

/* ---------- WHY (dark glass cards) ---------- */
.section-why{background:var(--bg-1);border-top:1px solid var(--line-soft);}
.why-head{max-width:600px;margin:0 0 42px;}
.why-head h2{font-size:30px;font-weight:800;margin:0 0 12px;letter-spacing:-.01em;color:#fff;}
.why-head p{font-size:16px;color:var(--text-2);line-height:1.6;margin:0;}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;}
.why-card{
  background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:26px 24px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.why-card:hover{
  transform:translateY(-4px);background:rgba(255,255,255,.065);
  box-shadow:0 20px 40px rgba(0,0,0,.35), 0 0 0 1px rgba(77,163,255,.3);
  border-color:rgba(77,163,255,.35);
}
.why-icon{
  width:44px;height:44px;border-radius:10px;background:rgba(77,163,255,.14);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--brand-light);
}
.why-card h3{font-size:16px;font-weight:700;margin:0 0 8px;color:#fff;}
.why-card p{font-size:14px;color:var(--text-2);line-height:1.55;margin:0;}

/* ---------- TRUST BAND ---------- */
.dark-band{background:var(--bg-2);border-top:1px solid var(--line-soft);}
.dark-band h2{font-size:28px;font-weight:800;margin:0 0 12px;color:#fff;}
.dark-band > .wrap > p{color:var(--text-2);font-size:16px;max-width:560px;margin:0 0 42px;}
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;}
.trust-item{
  background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:24px;
  transition:background .2s ease, transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.trust-item:hover{
  background:rgba(255,255,255,.07);transform:translateY(-4px);border-color:rgba(77,163,255,.35);
  box-shadow:0 20px 40px rgba(0,0,0,.35), 0 0 0 1px rgba(77,163,255,.3);
}
.trust-item svg{color:var(--brand-light);margin-bottom:14px;}
.trust-item h3{font-size:16px;font-weight:700;margin:0 0 8px;color:#fff;}
.trust-item p{font-size:14px;color:var(--text-2);line-height:1.55;margin:0;}

/* ---------- OFFERINGS (dark) ---------- */
.section-offerings{background:var(--bg-3);border-top:1px solid var(--line-soft);}
.offerings-head{max-width:600px;margin:0 0 42px;}
.offerings-head h2{font-size:30px;font-weight:800;margin:0 0 12px;letter-spacing:-.01em;color:#fff;}
.offerings-head p{font-size:16px;color:var(--text-2);line-height:1.6;margin:0;}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;}
.card{
  display:flex;flex-direction:column;
  background:rgba(255,255,255,.045);border:1px solid var(--line);border-top:3px solid var(--brand-light);
  border-radius:12px;padding:28px 26px 26px;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.card:hover{
  transform:translateY(-6px);background:rgba(255,255,255,.07);
  box-shadow:0 24px 50px rgba(0,0,0,.4), 0 0 0 1px rgba(77,163,255,.35);
  border-top-color:#fff;
}
.card h3{margin:0 0 10px;font-size:19px;font-weight:800;color:#fff;}
.card p{color:var(--text-2);font-size:14.5px;line-height:1.6;flex:1 0 auto;margin:0;}
.card .card-body{flex:1 0 auto;color:var(--text-2);font-size:14.5px;line-height:1.6;}
.card .card-body p{margin:0 0 12px;}
.card .card-body :last-child{margin-bottom:0;}
.card .card-body a{color:var(--brand-light);}
.card .cta{
  margin-top:18px;display:inline-flex;align-items:center;gap:6px;
  color:var(--brand-light);font-weight:700;text-decoration:none;font-size:14.5px;
  transition:gap .15s ease;
}
.card .cta:hover{gap:10px;}
.card .cta svg{transition:transform .15s ease;}
.card .cta:hover svg{transform:translateX(2px);}

/* ---------- TESTIMONIALS ---------- */
.section-services{background:var(--bg-1);border-top:1px solid var(--line-soft);}
.section-quotes{background:var(--bg-2);border-top:1px solid var(--line-soft);}
.quote-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media (max-width:1100px){.quote-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.quote-grid{grid-template-columns:1fr;}}
.quote-card{
  margin:0;position:relative;background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-radius:12px;padding:28px 26px;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.quote-card:hover{transform:translateY(-4px);border-color:rgba(77,163,255,.35);box-shadow:0 20px 40px rgba(0,0,0,.35), 0 0 0 1px rgba(77,163,255,.3);}
.quote-card::before{
  content:"\201C";position:absolute;top:2px;right:18px;font-size:64px;line-height:1;
  color:rgba(77,163,255,.18);font-family:Georgia,'Times New Roman',serif;
}
.quote-card blockquote{margin:0 0 14px;color:var(--text);font-size:15.5px;line-height:1.65;position:relative;z-index:1;}
.quote-card blockquote p{margin:0 0 10px;}
.quote-card blockquote p:last-child{margin-bottom:0;}
.quote-card figcaption{color:var(--brand-light);font-weight:700;font-size:14px;}

/* ---------- CREDENTIALS / LOGO WALL ---------- */
.section-credentials{background:var(--bg-3);border-top:1px solid var(--line-soft);text-align:center;}
.credentials-head{max-width:640px;margin:0 auto 8px;}
.credentials-head h2{font-size:30px;font-weight:800;margin:0 0 12px;letter-spacing:-.01em;color:#fff;}
.logo-label{
  color:var(--text-3);font-size:12.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;margin:34px 0 18px;
}
.logo-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;}
.logo-chip{
  background:#fff;border-radius:10px;padding:12px 18px;height:64px;min-width:96px;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.28);transition:transform .18s ease;
}
.logo-chip:hover{transform:translateY(-3px);}
.logo-chip img{max-height:40px;width:auto;height:auto;display:block;}
/* Partner/integration logos are white artwork: show them on dark glass, larger and evenly sized */
.logo-row-partner{gap:14px;}
.logo-row-partner .logo-chip{
  background:rgba(255,255,255,.05);border:1px solid var(--line);box-shadow:none;
  height:72px;min-width:150px;padding:14px 22px;
}
.logo-row-partner .logo-chip:hover{background:rgba(255,255,255,.09);border-color:rgba(77,163,255,.35);}
.logo-row-partner .logo-chip img{max-height:34px;max-width:150px;opacity:.92;}

/* ---------- FOOTER CTA ---------- */
.cta-band{  background:linear-gradient(180deg,var(--bg-0) 0%,#020810 100%);
  border-top:1px solid var(--line-soft);
  text-align:center;color:#fff;
}
.cta-band h2{font-size:26px;font-weight:800;margin:0 0 12px;color:#fff;}
.cta-band p{color:var(--text-2);margin:0 0 28px;font-size:15.5px;}

/* ---------- SITE FOOTER ---------- */
footer.site-footer{
  padding:44px 32px 28px;background:#020810;border-top:1px solid var(--line-soft);
}
.footer-inner{
  max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:24px;
  align-items:center;justify-content:space-between;
}
.footer-inner .footer-menu ul{list-style:none;display:flex;flex-wrap:wrap;gap:20px;margin:0;padding:0;}
.footer-inner .footer-menu a{color:var(--text-2);text-decoration:none;font-size:14px;font-weight:600;}
.footer-inner .footer-menu a:hover{color:#fff;}
.footer-copy{font-size:12.5px;color:var(--text-3);}
.widget-area{
  max-width:1180px;margin:0 auto 28px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;color:var(--text-2);
  padding-bottom:28px;border-bottom:1px solid var(--line-soft);
}
.widget-area .widget{
  background:rgba(255,255,255,.03);border:1px solid var(--line-soft);
  border-radius:12px;padding:24px;
}
.widget-area .widget-title{color:#fff;font-size:15px;font-weight:700;margin:0 0 14px;letter-spacing:.01em;}
.widget-area a{color:var(--text-2);}
.widget-area a:hover{color:#fff;}
.widget-area .widget ul{list-style:none;margin:0;padding:0;}
.widget-area .widget_recent_entries li,
.widget-area .widget_pages li,
.widget-area .widget_categories li,
.widget-area .widget_nav_menu li{
  padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:14px;line-height:1.45;
}
.widget-area .widget_recent_entries li:last-child,
.widget-area .widget_pages li:last-child,
.widget-area .widget_categories li:last-child,
.widget-area .widget_nav_menu li:last-child{border-bottom:none;}
.widget-area .widget_recent_entries a{text-decoration:none;}

/* Zoho newsletter embed -> blend into the widget card (overrides inline styles) */
#custom_html-3 #customForm,
#custom_html-3 .quick_form_2_css[name="SIGNUP_BODY"]{
  background:transparent!important;width:100%!important;min-width:0!important;
  border:none!important;border-radius:0!important;
  font-family:'Manrope',-apple-system,sans-serif!important;overflow:visible!important;
}
#custom_html-3 #SIGNUP_HEADING{
  background:transparent!important;color:#fff!important;text-align:left!important;
  font-family:'Manrope',-apple-system,sans-serif!important;font-size:15px!important;
  font-weight:700!important;padding:0 0 12px!important;
}
#custom_html-3 #zcampaignOptinForm{padding:0!important;}
#custom_html-3 input[type="text"]{
  background:rgba(255,255,255,.06)!important;color:#fff!important;
  border:1px solid var(--line)!important;border-radius:8px!important;
  text-align:left!important;font-family:'Manrope',-apple-system,sans-serif!important;
  padding:10px 12px!important;height:auto!important;
}
#custom_html-3 input[type="text"]::placeholder{color:var(--text-3)!important;}
#custom_html-3 #zcWebOptin{
  background:var(--brand)!important;color:#fff!important;border-radius:8px!important;
  font-family:'Manrope',-apple-system,sans-serif!important;font-weight:700!important;
  padding:11px 20px!important;cursor:pointer;width:100%!important;
}
#custom_html-3 #zcWebOptin:hover{background:var(--brand-dark)!important;}

/* ---------- GENERIC CONTENT (page / post / archive) ---------- */
.content-area{padding:72px 32px 88px;background:linear-gradient(180deg,var(--bg-0) 0%,var(--bg-1) 100%);min-height:60vh;}
.content-narrow{max-width:820px;margin:0 auto;}
.entry-header h1{font-size:clamp(28px,4vw,42px);font-weight:800;color:#fff;margin:0 0 12px;letter-spacing:-.01em;}
.entry-meta{color:var(--text-3);font-size:13.5px;margin:0 0 28px;}
.entry-content{color:var(--text-2);font-size:16.5px;line-height:1.7;}
.entry-content h2{color:#fff;font-size:26px;font-weight:800;margin:36px 0 14px;}
.entry-content h3{color:#fff;font-size:20px;font-weight:700;margin:28px 0 12px;}
.entry-content a{color:var(--brand-light);}
.entry-content img{border-radius:10px;}
.entry-content blockquote{border-left:3px solid var(--brand-light);margin:24px 0;padding:6px 20px;color:var(--text);background:rgba(255,255,255,.04);border-radius:0 8px 8px 0;}
.entry-content code,.entry-content pre{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:8px;}
.entry-content pre{padding:16px;overflow:auto;}
.entry-content code{padding:2px 6px;font-size:.9em;}

.post-card{
  display:block;background:rgba(255,255,255,.045);border:1px solid var(--line);
  border-top:3px solid var(--brand-light);border-radius:12px;padding:26px;margin-bottom:22px;
  text-decoration:none;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.post-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.35), 0 0 0 1px rgba(77,163,255,.3);}
.post-card h2{color:#fff;font-size:22px;font-weight:800;margin:0 0 8px;}
.post-card .entry-meta{margin:0 0 12px;}
.post-card p{color:var(--text-2);margin:0;line-height:1.6;}

.pagination{max-width:820px;margin:36px auto 0;display:flex;gap:10px;flex-wrap:wrap;}
.pagination .page-numbers{
  padding:8px 14px;border:1px solid var(--line);border-radius:8px;color:var(--text-2);text-decoration:none;
}
.pagination .page-numbers.current{background:var(--brand);color:#fff;border-color:var(--brand);}
.pagination .page-numbers:hover{color:#fff;border-color:var(--brand-light);}

/* WordPress core alignment/caption helpers */
.alignleft{float:left;margin:6px 24px 12px 0;}
.alignright{float:right;margin:6px 0 12px 24px;}
.aligncenter{display:block;margin-left:auto;margin-right:auto;}
.wp-caption-text{font-size:13px;color:var(--text-3);}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;}

/* ---------- PAGE HERO EXTRAS ---------- */
.hero.page-hero .hero-ctas{margin-top:28px;}
.hero-meta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;color:var(--text-3);font-size:14px;margin-top:14px;}
.hero-meta a{color:var(--brand-light);text-decoration:none;}
.hero-meta .dot{opacity:.5;}
.btn-sm{padding:10px 18px;font-size:14px;}

/* Page-builder pages need the full width */
body.fl-builder .content-narrow{max-width:1180px;}
.content-area.content-wide{padding-top:56px;}
.content-area .fl-row-content-wrap,.content-area .fl-module-content{color:inherit;}

/* ---------- INDUSTRIES ---------- */
.section-industries{background:var(--bg-2);border-top:1px solid var(--line-soft);}
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.industry-card{
  background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:26px 24px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.industry-card:hover{transform:translateY(-4px);border-color:rgba(77,163,255,.35);box-shadow:0 20px 40px rgba(0,0,0,.35), 0 0 0 1px rgba(77,163,255,.3);}
.industry-card h3{font-size:17px;font-weight:700;margin:0 0 8px;color:#fff;}
.industry-card p{font-size:14px;color:var(--text-2);line-height:1.55;margin:0;}
@media (max-width:1000px){.industry-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.industry-grid{grid-template-columns:1fr;}}

/* ---------- PROCESS STRIP ---------- */
.section-process{background:var(--bg-1);border-top:1px solid var(--line-soft);}
.process-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step;}
.process-step{
  position:relative;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:28px 24px 24px;
}
.process-step::after{
  content:"";position:absolute;top:44px;right:-24px;width:24px;height:1px;
  background:linear-gradient(90deg,rgba(77,163,255,.6),transparent);
}
.process-step:last-child::after{display:none;}
.step-num{
  display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.08em;color:var(--brand-light);
  background:rgba(77,163,255,.14);border:1px solid rgba(77,163,255,.3);padding:4px 10px;border-radius:14px;margin-bottom:14px;
}
.process-step h3{font-size:17px;font-weight:700;margin:0 0 8px;color:#fff;}
.process-step p{font-size:14px;color:var(--text-2);line-height:1.55;margin:0;}
@media (max-width:1000px){.process-grid{grid-template-columns:repeat(2,1fr);}.process-step::after{display:none;}}
@media (max-width:600px){.process-grid{grid-template-columns:1fr;}}

/* ---------- TESTIMONIAL SECTOR TAG ---------- */
.quote-sector{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-3);margin-bottom:12px;
}

/* ---------- INSIGHTS / POST CARDS ---------- */
.section-insights{background:var(--bg-2);border-top:1px solid var(--line-soft);}
.section-insights.related{background:var(--bg-1);}
.insights-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:0 0 36px;}
.insights-head h2{font-size:30px;font-weight:800;margin:0;letter-spacing:-.01em;color:#fff;}
.insights-head .cta{display:inline-flex;align-items:center;gap:6px;color:var(--brand-light);font-weight:700;text-decoration:none;font-size:14.5px;}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.post-card{
  margin:0;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:12px;overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;display:flex;flex-direction:column;
}
.post-card:hover{transform:translateY(-4px);border-color:rgba(77,163,255,.35);box-shadow:0 20px 40px rgba(0,0,0,.35), 0 0 0 1px rgba(77,163,255,.3);}
.post-card-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit;}
.post-media{position:relative;aspect-ratio:16/9;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.post-media img{width:100%;height:100%;object-fit:cover;display:block;}
.post-media.g1{background:radial-gradient(circle at 20% 20%,rgba(77,163,255,.45),transparent 60%),linear-gradient(135deg,#0c2748,#050f20);}
.post-media.g2{background:radial-gradient(circle at 80% 30%,rgba(0,102,179,.5),transparent 60%),linear-gradient(135deg,#0f2f57,#081b36);}
.post-media.g3{background:radial-gradient(circle at 50% 80%,rgba(77,163,255,.35),transparent 60%),linear-gradient(135deg,#081b36,#0c2748);}
.post-media.g4{background:radial-gradient(circle at 30% 70%,rgba(0,102,179,.45),transparent 60%),linear-gradient(135deg,#050f20,#0f2f57);}
.post-media-mark{color:rgba(255,255,255,.22);}
.post-badge{
  position:absolute;top:12px;left:12px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:rgba(5,15,32,.7);border:1px solid var(--line);padding:5px 10px;border-radius:14px;backdrop-filter:blur(6px);
}
.post-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;}
.post-card-body .entry-meta{margin:0 0 8px;font-size:12.5px;}
.post-card-body h2{color:#fff;font-size:18px;font-weight:800;margin:0 0 10px;line-height:1.35;}
.post-card-body p{color:var(--text-2);margin:0 0 16px;line-height:1.55;font-size:14px;flex:1;}
.post-card-body .cta{display:inline-flex;align-items:center;gap:6px;color:var(--brand-light);font-weight:700;font-size:14px;}
@media (max-width:1000px){.post-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.post-grid{grid-template-columns:1fr;}}

.entry-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;}
.tag-chip{font-size:12.5px;color:var(--text-2);border:1px solid var(--line);padding:5px 12px;border-radius:14px;text-decoration:none;}
.tag-chip:hover{color:#fff;border-color:var(--brand-light);}
.post-nav{display:flex;justify-content:space-between;gap:16px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line-soft);}
.post-nav a{color:var(--brand-light);text-decoration:none;font-weight:600;font-size:14px;}
.post-nav-next{text-align:right;margin-left:auto;}

/* ---------- CONTACT ---------- */
.contact-intro{padding-bottom:0;min-height:0;}
.section-contact{background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-0) 100%);}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:28px;align-items:start;}
.contact-form-card{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:34px 32px;}
.contact-form-card h2{font-size:26px;font-weight:800;color:#fff;margin:0 0 8px;}
.contact-lead{color:var(--text-2);margin:0 0 24px;}
.contact-aside{display:grid;gap:16px;}
.contact-card{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:22px;}
.contact-card h3{font-size:15px;font-weight:700;color:#fff;margin:0 0 6px;}
.contact-card p{margin:0;color:var(--text);font-size:15px;line-height:1.5;}
.contact-card p.muted{color:var(--text-3);font-size:13px;margin-top:4px;}
.contact-card a{color:var(--brand-light);text-decoration:none;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}

/* WPForms -> dark theme */
.wpforms-container .wpforms-field-label{color:#fff!important;font-weight:600!important;font-size:14px!important;}
.wpforms-container .wpforms-field-sublabel,.wpforms-container .wpforms-field-description{color:var(--text-3)!important;}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=tel],
.wpforms-container input[type=number],.wpforms-container select,.wpforms-container textarea{
  background:rgba(255,255,255,.06)!important;color:#fff!important;border:1px solid var(--line)!important;
  border-radius:8px!important;padding:12px 14px!important;font-family:inherit!important;font-size:15px!important;max-width:100%!important;
}
.wpforms-container input:focus,.wpforms-container textarea:focus,.wpforms-container select:focus{border-color:var(--brand-light)!important;box-shadow:0 0 0 3px rgba(77,163,255,.2)!important;outline:none!important;}
.wpforms-container input::placeholder,.wpforms-container textarea::placeholder{color:var(--text-3)!important;}
.wpforms-container select option{background:#0c2748;color:#fff;}
.wpforms-container ul.wpforms-checkbox-list li label,.wpforms-container .wpforms-field-checkbox label{color:var(--text-2)!important;font-weight:500!important;}
.wpforms-container .wpforms-submit,.wpforms-container button[type=submit]{
  background:var(--brand)!important;color:#fff!important;border:none!important;border-radius:8px!important;
  padding:14px 26px!important;font-weight:700!important;font-size:15px!important;font-family:inherit!important;
  box-shadow:0 10px 28px rgba(0,102,179,.4)!important;transition:transform .18s ease, background .18s ease!important;cursor:pointer;
}
.wpforms-container .wpforms-submit:hover{background:var(--brand-dark)!important;transform:translateY(-2px);}
.wpforms-container .wpforms-error{color:#ff8a8a!important;}
.wpforms-confirmation-container-full{background:rgba(77,163,255,.12)!important;border:1px solid rgba(77,163,255,.35)!important;color:#fff!important;border-radius:10px!important;}

/* ---------- RICH FOOTER ---------- */
.footer-top{
  max-width:1180px;margin:0 auto 36px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:36px;
  padding-bottom:36px;border-bottom:1px solid var(--line-soft);
}
.footer-brand .logo img{height:44px;}
.footer-brand p{color:var(--text-2);font-size:14px;line-height:1.6;margin:16px 0 18px;max-width:380px;}
.social-links{display:flex;gap:10px;}
.social-links a{
  width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  color:var(--text-2);border:1px solid var(--line);transition:color .15s ease, border-color .15s ease, background .15s ease;
}
.social-links a:hover{color:#fff;border-color:var(--brand-light);background:rgba(77,163,255,.12);}
.footer-col h4{color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:6px 0 16px;}
.footer-links,.footer-contact{list-style:none;margin:0;padding:0;}
.footer-links li,.footer-contact li{margin:0 0 10px;font-size:14px;line-height:1.5;}
.footer-links a,.footer-contact a{color:var(--text-2);text-decoration:none;}
.footer-links a:hover,.footer-contact a:hover{color:#fff;}
.footer-contact li{color:var(--text-2);}
.footer-col .btn-sm{margin-top:8px;display:inline-block;}
@media (max-width:1000px){.footer-top{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.footer-top{grid-template-columns:1fr;}}

@media (max-width:820px){
  nav.links{
    position:absolute;top:100%;right:16px;left:16px;
    background:rgba(5,15,32,.98);border:1px solid var(--line);border-radius:12px;
    padding:16px;display:none;
  }
  nav.links.open{display:block;}
  nav.links > ul{flex-direction:column;gap:14px;align-items:flex-start;}
  nav.links .menu-item-has-children > a::after{display:none;}
  nav.links ul.sub-menu{
    position:static;opacity:1;visibility:visible;transform:none;
    background:transparent;border:none;box-shadow:none;backdrop-filter:none;
    padding:8px 0 2px 14px;min-width:0;margin-top:6px;
    border-left:1px solid var(--line);border-radius:0;
  }
  nav.links ul.sub-menu a{padding:6px 0;}
  .nav-toggle{display:inline-flex;}
}
@media (max-width:720px){
  .stat{border-right:none;border-bottom:1px solid var(--line);padding:18px 0;}
  .stat:last-child{border-bottom:none;}
  .statbar{transform:none;margin:36px auto 0;}
  .hero-spacer{height:36px;}
}
