/*
Theme Name: Provada Mature CP
Theme URI: https://www.provada.com/
Author: Provada
Author URI: https://www.provada.com/
Description: Provada Mature CP — the complete enterprise IT/SaaS theme for Provada with a built-in control panel (Provada Panel): editable page texts, Pages manager, SEO suite, CRM/leads, demo requests, team/partners/testimonials/case studies, products (SaaS + mobile apps) and analytics. Installs as its own theme, so any previous Provada theme stays untouched. Pairs with the Provada Core plugin.
Version: 3.9.0
Requires at least: 6.0
Tested up to: 6.7
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: provada
Tags: business, corporate, technology, enterprise, custom-logo, custom-menu, featured-images, right-sidebar, full-width-template
*/

:root{
  --navy:#0B1F3A; --navy-2:#0e2747; --navy-3:#13325c;
  --blue:#0078FF; --blue-d:#0061cf; --blue-soft:#e8f1ff;
  --silver:#B8BCC4; --silver-l:#dfe2e7;
  --ink:#1f2733; --ink-soft:#4a5568; --muted:#6b7686;
  --bg:#ffffff; --bg-2:#f4f6f9; --line:#e6e9ef;
  --maxw:1200px; --r:14px;
  --shadow:0 18px 50px -20px rgba(11,31,58,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.7; font-weight:400; -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none}
img,svg{max-width:100%}
h1,h2,h3,h4{line-height:1.18; margin:0; font-weight:700; letter-spacing:-.01em; color:var(--navy)}
p{margin:0}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}
.eyebrow{font-size:.78rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--blue); margin-bottom:18px; display:inline-block}
.eyebrow.on-dark{color:#6fb2ff}
.lead{color:var(--ink-soft); font-size:1.05rem; max-width:62ch}
.btn{display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:.95rem; padding:15px 28px; border-radius:8px; border:1.5px solid transparent; cursor:pointer; transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease}
.btn-primary{background:var(--blue); color:#fff; border-color:var(--blue)}
.btn-primary:hover{background:var(--blue-d); border-color:var(--blue-d); transform:translateY(-2px)}
.btn-outline{background:transparent; color:#fff; border-color:rgba(255,255,255,.35)}
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px)}
.btn-dark{background:var(--navy); color:#fff; border-color:var(--navy)}
.btn-dark:hover{background:var(--navy-3); transform:translateY(-2px)}
:focus-visible{outline:3px solid var(--blue); outline-offset:3px; border-radius:4px}

.screen-reader-text,.skip{position:absolute; left:-999px; top:0}
.skip{background:#fff; color:var(--navy); padding:12px 18px; z-index:2000; font-weight:600}
.skip:focus{left:12px; top:12px}

/* Header */
header.site-header{position:sticky; top:0; z-index:1000; background:rgba(11,31,58,.92); backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.08); transition:background .25s ease, box-shadow .25s ease}
header.site-header.scrolled{background:rgba(8,22,42,.98); box-shadow:0 8px 30px -12px rgba(0,0,0,.5)}
.nav{display:flex; align-items:center; justify-content:space-between; height:74px}
.brand{display:flex; flex-direction:column; line-height:1; margin-right:auto; margin-left:-4px}
.brand.brand-svg{margin-right:48px}
.brand .name{font-weight:800; letter-spacing:.22em; font-size:1.18rem; color:#fff}
.brand .tag{font-size:.56rem; letter-spacing:.24em; text-transform:uppercase; color:var(--silver); margin-top:5px}
.brand img{max-height:44px; width:auto}
.menu{display:flex; align-items:center; gap:30px; list-style:none; margin:0; padding:0}
.menu > li{position:relative}
.menu > li > a{color:var(--silver-l); font-size:.9rem; font-weight:500; padding:8px 0; position:relative; display:inline-block; transition:color .18s}
.menu > li > a:hover, .menu > li.menu-item-has-children:hover > a, .menu > li.current-menu-item > a{color:#fff}
.menu > li > a::after{content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--blue); transition:width .2s}
.menu > li > a:hover::after, .menu > li.current-menu-item > a::after{width:100%}
.menu .sub-menu{position:absolute; top:100%; left:0; transform:translateY(8px); background:#fff; border-radius:12px; box-shadow:var(--shadow); padding:10px; min-width:240px; opacity:0; visibility:hidden; transition:all .2s ease; border:1px solid var(--line); list-style:none; margin:0}
.menu li.menu-item-has-children:hover > .sub-menu, .menu li.menu-item-has-children:focus-within > .sub-menu{opacity:1; visibility:visible; transform:translateY(10px)}
.menu .sub-menu a{display:block; padding:11px 14px; border-radius:8px; font-size:.9rem; color:var(--ink); font-weight:500; transition:background .15s, color .15s}
.menu .sub-menu a:hover{background:var(--bg-2); color:var(--blue)}
.nav-cta{display:flex; align-items:center; gap:16px; margin-left:32px; flex:none}
.nav-cta .btn{padding:11px 20px; white-space:nowrap}
.burger{display:none; background:none; border:none; cursor:pointer; padding:8px; color:#fff}
.burger svg{width:26px; height:26px}

/* Tablet range: keep the menu and CTA from crowding each other. */
@media (max-width:1100px) and (min-width:761px){
  .menu{gap:20px}
  .nav-cta{margin-left:20px}
  .nav-cta .btn{padding:10px 16px; font-size:.86rem}
}

/* ===== Mega-menu + dropdowns ===== */
.menu.mega{display:flex; align-items:center; gap:26px}
.menu.mega > li{position:relative}
.menu.mega > li > a{color:var(--silver-l); font-size:.9rem; font-weight:500; padding:26px 0; display:inline-flex; align-items:center; gap:6px; transition:color .18s}
.menu.mega > li > a:hover{color:#fff}
.caret{width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); opacity:.7; transition:transform .2s}
.menu.mega > li:hover .caret{transform:rotate(225deg) translateY(-1px)}

/* Simple dropdowns */
.has-dropdown .dropdown{position:absolute; top:100%; left:0; transform:translateY(8px); background:#fff; border-radius:12px; box-shadow:var(--shadow); padding:10px; min-width:240px; opacity:0; visibility:hidden; transition:opacity .2s, transform .2s, visibility .2s; border:1px solid var(--line); list-style:none; margin:0; z-index:1200}
.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{opacity:1; visibility:visible; transform:translateY(0)}
.has-dropdown .dropdown a{display:block; padding:11px 14px; border-radius:8px; font-size:.9rem; color:var(--ink); font-weight:500; transition:background .15s, color .15s}
.has-dropdown .dropdown a:hover{background:var(--bg-2); color:var(--blue)}

/* Services mega panel */
/* Specificity must beat `.menu.mega > li{position:relative}` above, otherwise
   the panel anchors to the narrow <li> and only a thin strip gets a background. */
.menu.mega > li.has-mega{position:static}
.mega-panel{position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--line); box-shadow:0 24px 50px -20px rgba(11,31,58,.25); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s, transform .2s, visibility .2s; z-index:1200}
.has-mega:hover .mega-panel, .has-mega:focus-within .mega-panel{opacity:1; visibility:visible; transform:translateY(0)}
.mega-inner{max-width:var(--maxw); margin:0 auto; padding:34px 24px; display:grid; grid-template-columns:repeat(4,1fr) 1.2fr; gap:30px}
.mega-col .mega-h{font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; color:var(--blue); font-weight:700; margin-bottom:14px}
.mega-col ul{list-style:none; margin:0; padding:0}
.mega-col ul li{margin-bottom:3px}
.mega-col ul a{display:block; padding:7px 10px; margin-left:-10px; border-radius:7px; font-size:.88rem; color:var(--ink); font-weight:500; transition:background .15s, color .15s}
.mega-col ul a:hover{background:var(--bg-2); color:var(--blue)}
.mega-feature{background:var(--navy); border-radius:14px; padding:24px; color:#fff; display:flex; flex-direction:column; align-items:flex-start}
.mega-feature .mega-h{color:#fff; font-size:.95rem; text-transform:none; letter-spacing:0; font-weight:700; margin-bottom:8px}
.mega-feature p{color:#bcd0e8; font-size:.85rem; margin-bottom:16px}
.mega-feature .btn{padding:9px 16px; font-size:.82rem}
@media (max-width:1200px){ .mega-inner{grid-template-columns:repeat(2,1fr); gap:24px} .mega-feature{grid-column:span 2} }

/* Mobile panel */
.mobile-panel{display:none}
.mobile-menu{list-style:none; margin:0; padding:0}
.mobile-close{display:none}
.m-group{border-bottom:1px solid rgba(255,255,255,.08)}
.m-toggle{width:100%; display:flex; align-items:center; justify-content:space-between; background:none; border:0; color:#fff; font:inherit; font-size:1.05rem; font-weight:600; padding:16px 0; cursor:pointer}
.m-caret{width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .2s; opacity:.7}
.m-toggle[aria-expanded="true"] .m-caret{transform:rotate(225deg)}
.m-sub{display:none; padding:4px 0 14px 14px}
.m-sub.open{display:block}
.m-subhead{font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--blue); font-weight:700; margin:12px 0 4px}
.m-sub a{display:block; color:#aab8cc; font-size:.96rem; padding:10px 0; text-decoration:none}
.m-sub a:hover{color:#fff}

/* Hero */
.hero{position:relative; overflow:hidden; color:#fff; background:radial-gradient(1100px 600px at 78% 18%, rgba(0,120,255,.22), transparent 60%), radial-gradient(900px 500px at 10% 90%, rgba(184,188,196,.10), transparent 55%), linear-gradient(155deg, #0B1F3A 0%, #0c2447 55%, #0a1c36 100%)}
.hero::after{content:""; position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(rgba(255,255,255,.045) 1px, transparent 1px); background-size:30px 30px; mask-image:linear-gradient(transparent, #000 30%); -webkit-mask-image:linear-gradient(transparent, #000 30%)}
.hero-inner{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; padding:92px 0 84px; position:relative; z-index:2}
.hero h1{color:#fff; font-size:clamp(2.2rem,4.6vw,3.5rem); font-weight:800; letter-spacing:-.02em}
.hero p.sub{color:#c7d2e2; font-size:1.12rem; margin-top:22px; max-width:54ch}
.hero-actions{display:flex; gap:16px; margin-top:36px; flex-wrap:wrap}
.region-strip{margin-top:44px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:.84rem; color:var(--silver); font-weight:500}
.region-strip b{color:#fff; font-weight:600}
.region-strip .dot{width:5px; height:5px; border-radius:50%; background:var(--blue)}
.hero-visual{display:flex; justify-content:center; align-items:center}

/* Sections */
.section{padding:96px 0}
.sec-head{max-width:640px; margin-bottom:54px}
.sec-head h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.sec-head p{margin-top:16px; color:var(--ink-soft)}
.bg-light{background:var(--bg-2)}

/* Regional presence */
.regions{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.region-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:34px 30px; border-top:3px solid var(--blue); transition:transform .2s ease, box-shadow .2s ease}
.region-card:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
.region-card .pin{display:inline-flex; width:46px; height:46px; border-radius:11px; background:var(--blue-soft); color:var(--blue); align-items:center; justify-content:center; margin-bottom:20px}
.region-card h3{font-size:1.18rem}
.region-card .role{font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--blue); margin:8px 0 14px}
.region-card p{color:var(--ink-soft); font-size:.94rem}

/* Trust */
.trust{background:var(--navy); color:#fff}
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:48px}
.stat .num{font-size:2.6rem; font-weight:800; color:#fff; letter-spacing:-.02em}
.stat .num span{color:var(--blue)}
.stat .lbl{color:var(--silver); font-size:.86rem; margin-top:6px; font-weight:500}
.pills{display:flex; flex-wrap:wrap; gap:12px; padding-top:40px; border-top:1px solid rgba(255,255,255,.12)}
.pill{border:1px solid rgba(255,255,255,.2); border-radius:40px; padding:11px 20px; font-size:.86rem; font-weight:500; color:#dbe3ee; display:inline-flex; align-items:center; gap:9px}
.pill .dot{width:6px; height:6px; border-radius:50%; background:var(--blue)}

/* Why */
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px}
.why-card{padding:34px 28px; border-radius:var(--r); background:#fff; border:1px solid var(--line); transition:transform .2s ease, box-shadow .2s ease}
.why-card:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
.why-card .ic{width:50px; height:50px; border-radius:12px; background:var(--navy); color:#fff; display:inline-flex; align-items:center; justify-content:center; margin-bottom:22px}
.why-card h3{font-size:1.08rem}
.why-card p{color:var(--ink-soft); font-size:.92rem; margin-top:12px}

/* Services */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.svc-card{position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:36px 32px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; overflow:hidden; display:block}
.svc-card::before{content:""; position:absolute; left:0; top:0; height:100%; width:3px; background:var(--blue); transform:scaleY(0); transform-origin:top; transition:transform .25s ease}
.svc-card:hover{transform:translateY(-5px); box-shadow:var(--shadow); border-color:transparent}
.svc-card:hover::before{transform:scaleY(1)}
.svc-card .ic{width:54px; height:54px; border-radius:13px; background:var(--blue-soft); color:var(--blue); display:inline-flex; align-items:center; justify-content:center; margin-bottom:22px; transition:background .2s, color .2s}
.svc-card:hover .ic{background:var(--blue); color:#fff}
.svc-card h3{font-size:1.16rem}
.svc-card p{color:var(--ink-soft); font-size:.93rem; margin:13px 0 20px}
.svc-link{font-weight:600; font-size:.88rem; color:var(--blue); display:inline-flex; align-items:center; gap:7px}
.svc-link svg{width:16px; height:16px; transition:transform .2s}
.svc-card:hover .svc-link svg{transform:translateX(4px)}

/* Industries */
.ind-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.ind{display:flex; align-items:center; gap:13px; padding:20px 22px; background:#fff; border:1px solid var(--line); border-radius:11px; font-weight:600; font-size:.95rem; color:var(--navy); transition:transform .18s ease, border-color .18s ease}
.ind:hover{transform:translateY(-3px); border-color:var(--blue)}
.ind .d{width:9px; height:9px; border-radius:50%; background:var(--blue); flex:none}

/* CTA */
.cta-band{color:#fff; text-align:center; background:radial-gradient(800px 400px at 50% 0%, rgba(0,120,255,.22), transparent 60%), linear-gradient(160deg,#0B1F3A,#0c2447)}
.cta-band h2{color:#fff; font-size:clamp(1.8rem,3.4vw,2.6rem); max-width:18ch; margin:0 auto}
.cta-band p{color:#c7d2e2; margin:18px auto 0; max-width:54ch}
.cta-band .btn{margin-top:34px}

/* Generic page (page.php / single.php) */
.page-hero{background:linear-gradient(155deg,#0B1F3A,#0c2447); color:#fff; padding:84px 0 64px; position:relative; overflow:hidden}
.page-hero::after{content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px); background-size:30px 30px; pointer-events:none}
.page-hero .eyebrow{color:#6fb2ff}
.page-hero h1{color:#fff; font-size:clamp(2rem,4vw,3rem); position:relative; z-index:2}
.page-hero p{color:#c7d2e2; margin-top:16px; max-width:60ch; position:relative; z-index:2}
.page-body{padding:72px 0}
.entry-content{max-width:760px; margin:0 auto; font-size:1.04rem; color:var(--ink-soft)}
.entry-content h2{color:var(--navy); font-size:1.6rem; margin:2.2rem 0 1rem}
.entry-content h3{color:var(--navy); font-size:1.25rem; margin:1.8rem 0 .8rem}
.entry-content p{margin:0 0 1.2rem}
.entry-content ul,.entry-content ol{margin:0 0 1.2rem; padding-left:1.3rem}
.entry-content li{margin-bottom:.5rem}
.entry-content a{color:var(--blue); text-decoration:underline}
.entry-content img{border-radius:var(--r); height:auto}
.entry-content blockquote{border-left:3px solid var(--blue); margin:1.6rem 0; padding:.4rem 0 .4rem 1.4rem; color:var(--ink); font-style:italic}

/* Posts list (index.php) */
.post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px}
.post-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; display:flex; flex-direction:column}
.post-card:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
.post-card .thumb{aspect-ratio:16/9; background:var(--bg-2); overflow:hidden}
.post-card .thumb img{width:100%; height:100%; object-fit:cover}
/* Branded fallback shown on posts that have no featured image set. */
.post-card .thumb.thumb-ph{display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--navy),var(--navy-3))}
.thumb-ph-mark{display:flex; flex-direction:column; align-items:center; gap:10px; color:#6fb2ff}
.thumb-ph-mark b{font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; font-weight:700; color:#cdd8ea}
.single-ph{display:flex; align-items:center; justify-content:center; aspect-ratio:16/6; border-radius:var(--r); background:linear-gradient(135deg,var(--navy),var(--navy-3))}
.post-card .pc-body{padding:24px}
.post-card .pc-meta{font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-weight:600}
.post-card h2{font-size:1.18rem; margin:10px 0 10px}
.post-card p{color:var(--ink-soft); font-size:.92rem}
.pagination{margin-top:48px; display:flex; gap:8px; flex-wrap:wrap; justify-content:center}
.pagination .page-numbers{padding:10px 16px; border:1px solid var(--line); border-radius:8px; font-weight:600; font-size:.9rem; color:var(--navy)}
.pagination .current{background:var(--navy); color:#fff; border-color:var(--navy)}

/* Footer */
footer.site-footer{background:#081a2e; color:#aab6c6; padding:72px 0 36px; font-size:.9rem}
.foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.1)}
footer .name{font-weight:800; letter-spacing:.22em; color:#fff; font-size:1.15rem}
footer .ftag{font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--silver); margin-top:8px}
footer p.blurb{margin-top:18px; max-width:34ch; color:#94a3b6; font-size:.88rem}
.foot-h{color:#fff; font-weight:600; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:20px}
footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px}
footer ul a:hover{color:#fff}
.office{margin-bottom:16px}
.office b{color:#fff; font-weight:600; display:block; font-size:.86rem}
.social{display:inline-flex; width:40px; height:40px; border-radius:9px; border:1px solid rgba(255,255,255,.2); align-items:center; justify-content:center; margin-top:20px; color:#fff; transition:background .18s, border-color .18s}
.social:hover{background:var(--blue); border-color:var(--blue)}
.copyright{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:28px; color:#7b8aa0; font-size:.82rem}

/* Reveal */
.reveal{opacity:0; transform:translateY(24px)}
.reveal.in{opacity:1; transform:none; transition:opacity .6s ease, transform .6s ease}

/* WP admin bar offset */
body.admin-bar header.site-header{top:32px}

/* Responsive */
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr; gap:40px; padding:64px 0}  .hero-visual{order:-1; max-width:420px; margin:0 auto}
  .stats{grid-template-columns:repeat(2,1fr); gap:30px}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .regions{grid-template-columns:1fr}
  .post-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  /* Hide the whole primary nav (the mega menu uses `.menu.mega`, whose
     `display:flex` would otherwise out-specify a plain `.menu{display:none}`). */
  .primary-nav, .menu, .menu.mega, .nav-cta .btn{display:none}
  .burger{display:inline-flex}
  .section{padding:64px 0}
  .svc-grid, .why-grid, .ind-grid, .post-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr}
  body.admin-bar header.site-header{top:46px}
  .mobile-panel.open{display:block; position:fixed; inset:0; z-index:1500; background:var(--navy); padding:90px 24px 40px; overflow-y:auto; animation:slidein .25s ease}
  body.admin-bar .mobile-panel.open{inset:0; padding-top:120px}
  .mobile-panel.open .mobile-close{display:inline-flex; position:absolute; top:22px; right:20px; width:44px; height:44px; align-items:center; justify-content:center; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:10px; color:#fff; cursor:pointer; padding:0}
  .mobile-panel.open .mobile-close svg{width:22px; height:22px}
  .mobile-panel.open .mobile-menu > li > a{display:block; color:#fff; font-size:1.05rem; font-weight:600; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.08); text-decoration:none}
  .mobile-panel.open .btn{display:flex; justify-content:center; margin-top:24px; color:#fff}
}
@keyframes slidein{from{opacity:0; transform:translateY(-8px)} to{opacity:1; transform:none}}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto !important}
  .reveal{opacity:1; transform:none}
}

/* ============================================================
   PROVADA — Marketing, Products, SaaS & Mobile additions
   ============================================================ */

/* Pricing cards (Marketing + SaaS) */
.price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch}
.price-card{position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:36px 30px; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}
.price-card:hover{transform:translateY(-5px); box-shadow:var(--shadow)}
.price-card.featured{border-color:var(--blue); box-shadow:0 18px 50px -22px rgba(0,120,255,.35)}
.price-card.featured::before{content:""; position:absolute; inset:0; border-radius:var(--r); border:1.5px solid var(--blue); pointer-events:none}
.price-badge{position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--blue); color:#fff; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:6px 16px; border-radius:30px; white-space:nowrap}
.price-name{font-size:1.3rem; color:var(--navy)}
.price-tag{color:var(--muted); font-size:.9rem; margin-top:6px; min-height:2.6em}
.price-amount{margin:22px 0 4px; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap}
.price-amount .amt{font-size:2.6rem; font-weight:800; color:var(--navy); letter-spacing:-.02em; line-height:1}
.price-amount .per{color:var(--muted); font-size:.86rem; font-weight:500}
.price-amount .amt-was{font-size:1.15rem; font-weight:600; color:var(--muted); text-decoration:line-through; text-decoration-color:var(--silver); align-self:flex-start; margin-top:4px}
.save-pill{display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.04em; color:#1a8a4f; background:#e7f7ee; padding:3px 11px; border-radius:20px}
.price-bill-note{min-height:1.2em; margin-bottom:8px}
.yearly-note{font-size:.78rem; color:var(--blue); font-weight:600; letter-spacing:.04em}
.price-feats{list-style:none; margin:22px 0 28px; padding:22px 0 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:13px; flex:1}
.price-feats li{display:flex; align-items:flex-start; gap:11px; font-size:.92rem; color:var(--ink-soft); line-height:1.5}
.price-feats svg{color:var(--blue); flex:none; margin-top:3px}
.price-card .btn{width:100%; justify-content:center; margin-top:auto}
.price-note{text-align:center; color:var(--muted); font-size:.88rem; margin-top:36px; max-width:60ch; margin-left:auto; margin-right:auto}

/* Billing toggle */
.bill-toggle{display:inline-flex; gap:4px; padding:5px; background:#fff; border:1px solid var(--line); border-radius:40px; margin:0 auto 44px; width:fit-content; left:50%; position:relative; transform:translateX(-50%)}
.bill-opt{border:none; background:transparent; cursor:pointer; font-family:inherit; font-weight:600; font-size:.9rem; color:var(--ink-soft); padding:11px 26px; border-radius:30px; display:inline-flex; align-items:center; gap:9px; transition:background .2s, color .2s}
.bill-opt.active{background:var(--navy); color:#fff}
.bill-opt .save{font-size:.68rem; font-weight:700; letter-spacing:.04em; color:var(--blue); background:var(--blue-soft); padding:3px 9px; border-radius:20px}
.bill-opt.active .save{background:rgba(255,255,255,.16); color:#9fc6ff}

/* App cards (SaaS + Demos) */
.app-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px}
.app-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px 28px; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease}
.app-card:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
.app-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px}
.app-mark{width:48px; height:48px; border-radius:12px; background:var(--blue-soft); color:var(--blue); display:inline-flex; align-items:center; justify-content:center}
.app-status{font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:30px}
.app-status.live{background:#e7f7ee; color:#1a8a4f}
.app-status.demo{background:var(--blue-soft); color:var(--blue)}
.app-status.soon{background:#eef0f4; color:var(--muted)}
.app-card h3{font-size:1.14rem; color:var(--navy)}
.app-card > p{color:var(--ink-soft); font-size:.92rem; margin:11px 0 16px; flex:1}
.app-tags{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px}
.app-tag{font-size:.74rem; font-weight:600; color:var(--ink-soft); background:var(--bg-2); border:1px solid var(--line); padding:4px 11px; border-radius:20px}
.app-demo-link{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:.9rem; color:var(--blue); margin-top:auto}
.app-demo-link svg{transition:transform .2s}
.app-card:hover .app-demo-link svg{transform:translate(3px,-3px)}
.app-demo-link.muted{color:var(--muted); cursor:default}
/* Per-product price line + featured ribbon (SaaS app cards) */
.app-card{position:relative}
.app-card.featured{border-color:var(--blue); box-shadow:0 0 0 1px var(--blue) inset}
.app-feat{position:absolute; top:-10px; right:18px; background:var(--blue); color:#fff; font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:4px 11px; border-radius:20px}
.app-price{display:flex; align-items:baseline; flex-wrap:wrap; gap:6px; margin:0 0 16px}
.app-price-from{font-size:.78rem; font-weight:600; color:var(--muted)}
.app-price .app-amt{font-size:1.25rem; font-weight:800; color:var(--navy); line-height:1}
.app-price .app-amt-sar{font-size:1rem; font-weight:700; color:var(--ink-soft)}
.app-price .app-price-sep{color:var(--silver); font-weight:600}
.app-price .per{font-size:.78rem; font-weight:500; color:var(--muted)}
/* SAR equivalent line under the USD amount in pricing tiers */
.price-sar{display:flex; align-items:baseline; gap:7px; margin:2px 0 0}
.price-sar .amt-sar{font-size:1.18rem; font-weight:700; color:var(--ink-soft); letter-spacing:-.01em}
.price-sar .per{color:var(--muted); font-size:.82rem; font-weight:500}

/* Mobile app cards */
.mobile-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px}
.mobile-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:32px; display:flex; gap:28px; align-items:center; transition:transform .2s ease, box-shadow .2s ease}
.mobile-card:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
.mobile-phone{flex:none; width:108px; height:210px; border-radius:22px; background:linear-gradient(165deg,var(--navy),var(--navy-2)); padding:8px; position:relative; box-shadow:0 14px 34px -14px rgba(11,31,58,.5)}
.mphone-notch{position:absolute; top:14px; left:50%; transform:translateX(-50%); width:38px; height:5px; border-radius:5px; background:rgba(255,255,255,.25); z-index:2}
.mphone-screen{height:100%; border-radius:15px; background:linear-gradient(165deg, color-mix(in srgb, var(--accent) 88%, #000), color-mix(in srgb, var(--accent) 55%, #0B1F3A)); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px}
.mphone-logo{width:52px; height:52px; border-radius:15px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.7rem; color:#fff}
.mphone-name{color:#fff; font-weight:600; font-size:.82rem; letter-spacing:.02em}
.mobile-body{flex:1}
.mobile-head{display:flex; align-items:center; gap:14px; margin-bottom:10px; flex-wrap:wrap}
.mobile-head h3{font-size:1.3rem; color:var(--navy)}
.mobile-body > p{color:var(--ink-soft); font-size:.94rem; margin-bottom:20px}
.store-badges{display:flex; gap:12px; flex-wrap:wrap}
.store-badge{display:inline-flex; align-items:center; gap:10px; background:var(--navy); color:#fff; border-radius:10px; padding:9px 16px; font-size:.78rem; transition:background .18s, transform .18s}
.store-badge:hover{background:var(--navy-3); transform:translateY(-2px)}
.store-badge span{display:flex; flex-direction:column; line-height:1.25; text-align:left}
.store-badge b{font-size:.86rem; font-weight:700}
.store-badges.disabled .store-badge{background:#eef0f4; color:var(--muted); cursor:default}
.store-badges.disabled .store-badge:hover{transform:none; background:#eef0f4}

/* Feature grid (homepage products teaser) */
.feature-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px}
.feature-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:32px 28px; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; position:relative; overflow:hidden}
.feature-card::before{content:""; position:absolute; left:0; top:0; height:100%; width:3px; background:var(--blue); transform:scaleY(0); transform-origin:top; transition:transform .25s ease}
.feature-card:hover{transform:translateY(-5px); box-shadow:var(--shadow); border-color:transparent}
.feature-card:hover::before{transform:scaleY(1)}
.fc-tag{font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); margin-bottom:16px}
.feature-card h3{font-size:1.14rem; color:var(--navy)}
.feature-card p{color:var(--ink-soft); font-size:.9rem; margin:11px 0 18px; flex:1}
.feature-card .svc-link{margin-top:auto}
.feature-card .svc-link svg{width:16px; height:16px; transition:transform .2s}
.feature-card:hover .svc-link svg{transform:translateX(4px)}

/* Under construction panel */
.uc-panel{max-width:640px; margin:0 auto; text-align:center; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:54px 40px; box-shadow:var(--shadow)}
.uc-ic{width:74px; height:74px; border-radius:50%; background:var(--blue-soft); color:var(--blue); display:inline-flex; align-items:center; justify-content:center; margin-bottom:24px}
.uc-panel h2{font-size:1.6rem; color:var(--navy)}
.uc-panel p{color:var(--ink-soft); margin:14px auto 28px; max-width:46ch}

/* Responsive — products/pricing */
@media (max-width:980px){
  .app-grid{grid-template-columns:repeat(2,1fr)}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .price-grid{grid-template-columns:1fr; max-width:460px; margin-left:auto; margin-right:auto}
  .mobile-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .app-grid{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
  .mobile-card{flex-direction:column; text-align:center}
  .mobile-head{justify-content:center}
  .store-badges{justify-content:center}
  .bill-opt{padding:10px 18px}
}

/* Brand SVG logo in header */
.brand.brand-svg{display:inline-flex; align-items:center}
.brand.brand-svg img{height:46px; width:auto; display:block}
@media (max-width:760px){ .brand.brand-svg img{height:38px} }

/* Footer logo mark */
.foot-logo{height:46px; width:auto; margin-bottom:14px; display:block}

/* 3-up app grid variant (SaaS / demos) */
.app-grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){ .app-grid-3{grid-template-columns:repeat(2,1fr)} }
@media (max-width:760px){ .app-grid-3{grid-template-columns:1fr} }

/* ===== About page ===== */
.about-split{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center}
.about-split h2{font-size:clamp(1.6rem,2.6vw,2.1rem); margin-top:8px}
.about-split p{color:var(--ink-soft)}
.about-stats{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.as-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px 24px; border-top:3px solid var(--blue)}
.as-card .n{font-size:2.1rem; font-weight:800; color:var(--navy); letter-spacing:-.02em; line-height:1}
.as-card .n span{color:var(--blue)}
.as-card .l{color:var(--ink-soft); font-size:.86rem; margin-top:10px; font-weight:500}
.founder{display:flex; gap:34px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:40px; box-shadow:var(--shadow)}
.founder-mark{flex:none; width:120px; height:120px; border-radius:24px; background:linear-gradient(165deg,var(--navy),var(--navy-3)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:2.4rem; font-weight:800; letter-spacing:.04em}
.founder-body h3{font-size:1.5rem; color:var(--navy)}
.founder-role{color:var(--blue); font-weight:600; font-size:.9rem; margin:4px 0 14px}
.founder-body p{color:var(--ink-soft); font-size:.96rem}
.founder-skills{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px}
.fs{font-size:.78rem; font-weight:600; color:var(--navy); background:var(--bg-2); border:1px solid var(--line); padding:6px 13px; border-radius:20px}
.partner-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px}
.partner{background:#fff; border:1px solid var(--line); border-radius:11px; padding:22px 14px; text-align:center; font-weight:700; color:var(--navy); font-size:.92rem; letter-spacing:.01em; transition:transform .18s ease, border-color .18s ease}
.partner:hover{transform:translateY(-3px); border-color:var(--blue)}
@media (max-width:880px){
  .about-split{grid-template-columns:1fr; gap:32px}
  .founder{flex-direction:column; text-align:center; padding:32px 24px}
  .founder-skills{justify-content:center}
  .partner-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:520px){ .partner-grid{grid-template-columns:1fr 1fr} .about-stats{grid-template-columns:1fr} }

/* Operations team / pillars */
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px}
.team-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:28px 24px; transition:transform .2s ease, box-shadow .2s ease}
.team-card:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
.team-avatar{width:58px; height:58px; border-radius:15px; background:linear-gradient(165deg,var(--navy),var(--navy-3)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.12rem; font-weight:800; letter-spacing:.03em; margin-bottom:18px}
.team-card h3{font-size:1.05rem; color:var(--navy)}
.team-role{color:var(--blue); font-weight:600; font-size:.8rem; margin:4px 0 12px; letter-spacing:.01em}
.team-card p{color:var(--ink-soft); font-size:.89rem; line-height:1.55}
@media (max-width:980px){ .team-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .team-grid{grid-template-columns:1fr} }

/* ===== Contact page ===== */
.contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:42px; align-items:start; max-width:1040px; margin:0 auto}
.contact-info h2{font-size:1.4rem; color:var(--navy)}
.ci-lead{color:var(--ink-soft); margin:10px 0 26px; font-size:.95rem}
.ci-block{display:flex; gap:14px; margin-bottom:22px}
.ci-ic{flex:none; width:42px; height:42px; border-radius:11px; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center}
.ci-h{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:700; margin-bottom:6px}
.ci-block a{display:block; color:var(--blue); font-weight:600; font-size:.95rem; text-decoration:none; margin-bottom:3px}
.ci-block a:hover{text-decoration:underline}
.ci-line{display:block; color:var(--ink); font-size:.9rem; margin-bottom:4px}
.ci-line b{color:var(--navy)}
.contact-form-wrap{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:34px; box-shadow:var(--shadow)}
.contact-form .cf-row{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.cf-field{margin-bottom:16px}
.cf-field label{display:block; font-size:.82rem; font-weight:600; color:var(--navy); margin-bottom:7px}
.cf-field label span{color:var(--blue)}
.cf-field input, .cf-field select, .cf-field textarea{width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:9px; font:inherit; font-size:.95rem; color:var(--ink); background:#fff; transition:border-color .15s, box-shadow .15s}
.cf-field input:focus, .cf-field select:focus, .cf-field textarea:focus{outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,120,255,.12)}
.cf-field textarea{resize:vertical}
.cf-submit{margin-top:6px; width:100%; justify-content:center}
.cf-fine{font-size:.78rem; color:var(--muted); margin-top:14px; text-align:center}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form-notice{border-radius:10px; padding:15px 18px; margin-bottom:22px; display:flex; flex-direction:column; gap:3px; font-size:.92rem}
.form-notice strong{font-weight:700}
.form-notice.ok{background:#e7f7ee; border:1px solid #b7e6cb; color:#176c3e}
.form-notice.bad{background:#fdeaea; border:1px solid #f3c2c2; color:#a32a2a}
.form-notice.info{background:#e8f1ff; border:1px solid #c2dcff; color:#0a4ea3}
@media (max-width:820px){
  .contact-grid{grid-template-columns:1fr; gap:28px}
  .contact-form .cf-row{grid-template-columns:1fr}
  .contact-form-wrap{padding:26px}
}

/* ===== Service & Industry pages ===== */
.svc-overview{max-width:820px}
.svc-overview h2{font-size:clamp(1.5rem,2.6vw,2rem); margin:6px 0 16px}
.svc-overview p{color:var(--ink-soft); margin-bottom:1rem; font-size:1.02rem}
.svc-two-col{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start}
.check-list{list-style:none; margin:18px 0 0; padding:0}
.check-list li{display:flex; align-items:flex-start; gap:12px; padding:11px 0; color:var(--ink); font-size:1rem; font-weight:500}
.check-list li svg{flex:none; color:var(--blue); margin-top:2px}
.svc-audience{background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r); padding:30px}
.svc-audience h3{font-size:1.2rem; color:var(--navy); margin:6px 0 14px}
.audience-list{list-style:none; margin:0; padding:0}
.audience-list li{position:relative; padding:9px 0 9px 24px; color:var(--ink-soft); font-size:.96rem}
.audience-list li::before{content:""; position:absolute; left:0; top:16px; width:8px; height:8px; border-radius:50%; background:var(--blue)}
.process-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.process-step{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px 22px; position:relative; overflow:hidden}
.process-step .ps-num{font-size:2.2rem; font-weight:800; color:var(--silver); opacity:.5; line-height:1}
.process-step h3{font-size:1.05rem; color:var(--navy); margin:10px 0 8px}
.process-step p{color:var(--ink-soft); font-size:.92rem}
.ind-sol-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px}
.ind-sol{background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px}
.ind-sol h4{font-size:.98rem; color:var(--navy); margin-bottom:6px}
.ind-sol p{color:var(--ink-soft); font-size:.88rem}
a.svc-card{text-decoration:none; display:block}
@media (max-width:880px){
  .svc-two-col{grid-template-columns:1fr; gap:32px}
  .process-grid{grid-template-columns:1fr 1fr}
  .ind-sol-grid{grid-template-columns:1fr}
}
@media (max-width:520px){ .process-grid{grid-template-columns:1fr} }

/* ===== Partners rich ===== */
.partner-rich{display:flex; flex-direction:column; gap:6px; text-align:center; padding:24px 16px}
.partner-name{font-weight:700; color:var(--navy); font-size:1rem}
.partner-desc{font-size:.8rem; color:var(--muted); font-weight:500}

/* ===== Case studies ===== */
.case-list{display:flex; flex-direction:column; gap:24px; max-width:920px; margin:0 auto}
.case-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:34px; box-shadow:var(--shadow)}
.case-sector{display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--blue); background:#e8f1ff; padding:5px 12px; border-radius:20px; margin-bottom:14px}
.case-card h2{font-size:1.3rem; color:var(--navy); margin-bottom:12px}
.case-card > p{color:var(--ink-soft); font-size:1rem}
.case-metrics{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px; padding-top:24px; border-top:1px solid var(--line)}
.case-metric{text-align:center}
.cm-num{display:block; font-size:1.8rem; font-weight:800; color:var(--navy)}
.cm-lbl{display:block; font-size:.84rem; color:var(--ink-soft); margin-top:4px}
@media (max-width:600px){ .case-metrics{grid-template-columns:1fr} .case-card{padding:26px} }

/* ===== Careers ===== */
.roles-list{display:flex; flex-direction:column; gap:14px; max-width:820px; margin:0 auto}
.role-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px 26px; display:flex; align-items:center; justify-content:space-between; gap:18px}
.role-info h3{font-size:1.1rem; color:var(--navy); margin-bottom:8px}
.role-meta{display:flex; gap:18px; flex-wrap:wrap}
.role-meta span{display:inline-flex; align-items:center; gap:6px; font-size:.86rem; color:var(--ink-soft)}
.role-meta svg{color:var(--blue)}
.role-closed{font-size:.85rem; color:var(--muted); font-weight:600; white-space:nowrap}
@media (max-width:560px){ .role-card{flex-direction:column; align-items:flex-start} }

/* ===== Try Our Demos ===== */
.form-note{padding:14px 18px; border-radius:10px; margin:0 0 26px; font-weight:600}
.form-note.ok{background:#e7f6ec; color:#176b37; border:1px solid #b6e2c4}
.form-note.err{background:#fdecec; color:#9b2226; border:1px solid #f3c2c2}
.demo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.demo-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease}
.demo-card:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
.demo-thumb{position:relative; aspect-ratio:16/9; background-size:cover; background-position:center}
.demo-thumb-ph{display:flex; align-items:center; justify-content:center; color:#6fb2ff; background:linear-gradient(135deg,var(--navy),var(--navy-3))}
.demo-cat{position:absolute; top:12px; left:12px; background:rgba(11,31,58,.9); color:#fff; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:5px 10px; border-radius:6px}
.demo-body{padding:22px; display:flex; flex-direction:column; flex:1}
.demo-body h3{font-size:1.15rem; margin-bottom:8px}
.demo-body p{color:var(--ink-soft); font-size:.92rem; margin-bottom:14px}
.demo-meta{list-style:none; margin:0 0 18px; padding:0; display:flex; flex-wrap:wrap; gap:8px 18px}
.demo-meta li{font-size:.84rem; color:var(--ink)}
.demo-meta span{display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:700}
.demo-actions{margin-top:auto; display:flex; gap:10px; flex-wrap:wrap}
.demo-actions .btn{padding:11px 18px; font-size:.9rem}
@media (max-width:900px){ .demo-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .demo-grid{grid-template-columns:1fr} }

/* Request a demo — centered form */
.demo-request-form{max-width:560px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:16px; padding:30px; box-shadow:var(--shadow)}
.demo-field{margin:0 0 14px}
.demo-field label{display:block; font-weight:600; font-size:.9rem; margin-bottom:5px}
.demo-field input,.demo-field textarea,.demo-field select{width:100%; padding:11px 13px; border:1.5px solid var(--line); border-radius:8px; font:inherit; background:#fff}
.demo-field input:focus,.demo-field textarea:focus,.demo-field select:focus{border-color:var(--blue); outline:none}
.demo-row{display:flex; gap:14px}
.demo-row .demo-field{flex:1}
.demo-request-form .btn{margin-top:6px}
@media (max-width:480px){ .demo-row{flex-direction:column; gap:0} .demo-request-form{padding:24px} }

/* ===== Blog enhancements ===== */
.post-byline{color:var(--silver-l); font-size:.92rem; margin-top:14px}
.blog-search{display:flex; gap:8px; margin-top:22px; max-width:460px}
.blog-search input{flex:1; padding:12px 14px; border:1.5px solid rgba(255,255,255,.25); border-radius:8px; background:rgba(255,255,255,.06); color:#fff; font:inherit}
.blog-search input::placeholder{color:var(--silver)}
.blog-search input:focus{outline:none; border-color:var(--blue); background:rgba(255,255,255,.1)}
.blog-search button{padding:12px 20px; border:none; border-radius:8px; background:var(--blue); color:#fff; font-weight:600; cursor:pointer}
.blog-search button:hover{background:var(--blue-d)}
.featured-block{margin-bottom:44px}
.featured-heading,.related-title{font-size:1.3rem; margin-bottom:20px; padding-bottom:10px; border-bottom:2px solid var(--line)}
.post-card .thumb{position:relative}
.featured-badge{position:absolute; top:12px; left:12px; z-index:2; background:var(--blue); color:#fff; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:5px 10px; border-radius:6px}
.related-posts{max-width:900px; margin:48px auto 0; border-top:1px solid var(--line); padding-top:36px}
.post-share{display:flex; align-items:center; gap:10px; flex-wrap:wrap; max-width:760px; margin:32px auto 0}
.post-share-label{font-weight:700; color:var(--ink)}
.post-share-btn{display:inline-block; padding:8px 14px; border:1.5px solid var(--line); border-radius:8px; font-size:.85rem; font-weight:600; color:var(--ink); transition:all .15s}
.post-share-btn:hover{background:var(--navy); color:#fff; border-color:var(--navy)}

/* ===== Testimonials ===== */
.tst-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.tst-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:28px; margin:0; display:flex; flex-direction:column; gap:14px}
.tst-stars{color:#f5a623; font-size:1.05rem; letter-spacing:2px}
.tst-card blockquote{margin:0; font-size:1rem; color:var(--ink); line-height:1.7}
.tst-meta{display:flex; align-items:center; gap:12px; margin-top:auto}
.tst-logo{width:46px; height:46px; border-radius:50%; object-fit:cover}
.tst-meta strong{display:block}
.tst-meta small{color:var(--muted)}
@media (max-width:900px){ .tst-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .tst-grid{grid-template-columns:1fr} }

/* Case study extra fields */
.case-client{color:var(--ink-soft)}
.case-tech{font-size:.85rem; color:var(--muted); font-weight:600}

/* Legal pages (Terms / Privacy) */
.legal-content{max-width:820px}
.legal-content h2{font-size:1.25rem; margin:1.8em 0 .5em}
.legal-content p,.legal-content li{color:var(--ink-soft); line-height:1.8}
.legal-content ul{padding-left:1.2em; margin:.4em 0}
.legal-content a{color:var(--blue); text-decoration:underline}
.foot-legal{display:inline-flex; gap:16px}
.foot-legal a{color:var(--silver-l); text-decoration:none}
.foot-legal a:hover{color:#fff}

/* Team photos / partner logos (managed in Provada Core) */
.founder-mark,.team-avatar{overflow:hidden}
.founder-mark img,.team-avatar img{width:100%; height:100%; object-fit:cover; border-radius:inherit; display:block}
.partner-logo{margin-bottom:10px; display:flex; align-items:center; justify-content:center; min-height:42px}
.partner-logo img{max-height:42px; width:auto}

/* ===== Block editor patterns / styles (Provada-look on any page) ===== */
.entry-content .is-style-provada-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px; box-shadow:var(--shadow)}
.entry-content .is-style-provada-cta{background:linear-gradient(135deg,var(--navy),var(--navy-3)); color:#fff; border-radius:18px; padding:48px 32px}
.entry-content .is-style-provada-cta :where(h1,h2,h3,p){color:#fff}
.entry-content .wp-block-buttons .wp-block-button__link{border-radius:8px; font-weight:600}
.entry-content .wp-block-columns{gap:22px}
@media (max-width:781px){ .entry-content .is-style-provada-cta{padding:34px 22px} }

/* ===== Keep the header on one row as items are added ===== */
.nav{flex-wrap:nowrap; align-items:center}
.primary-nav{min-width:0}
.menu.mega{flex-wrap:wrap; row-gap:2px}
.nav-cta{flex:0 0 auto; white-space:nowrap}
/* Progressively tighten the menu before it ever crowds the CTA. */
@media (max-width:1320px){ .menu.mega{gap:20px} }
@media (max-width:1180px){ .menu.mega{gap:16px} .menu.mega > li > a{font-size:.86rem} .nav-cta{margin-left:18px} }

/* ===== Product image gallery / no-JS carousel ===== */
.provada-gallery{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:8px; border-radius:var(--r); -webkit-overflow-scrolling:touch; margin:0 0 16px}
.provada-gallery.is-single{overflow:visible}
.provada-gallery .pg-slide{flex:0 0 100%; scroll-snap-align:center}
.provada-gallery .pg-slide img{width:100%; aspect-ratio:16/10; object-fit:cover; display:block; border-radius:var(--r)}
.provada-gallery::-webkit-scrollbar{height:6px}
.provada-gallery::-webkit-scrollbar-thumb{background:var(--silver); border-radius:6px}
.demo-thumb-gallery{aspect-ratio:auto; background:none; padding:0}
.demo-thumb-gallery .provada-gallery{margin:0; border-radius:0}
.demo-thumb-gallery .provada-gallery .pg-slide img{border-radius:0; aspect-ratio:16/9}
