/* PBForward CSS v2.20260511 — Font: Plus Jakarta Sans (all) */
/* ─── TOKENS ─── */
:root{
  --brand:#3865a9;--brand-dark:#2a4d87;--brand-light:#e8eef7;
  --brand-lighter:#f4f7fc;--accent:#c8a84b;
  --text:#1a1f2e;--text-muted:#5a6275;--border:#dde4f0;
  --white:#fff;--radius:12px;--radius-lg:20px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans',sans-serif;color:var(--text);background:var(--white);line-height:1.6;overflow-x:hidden;}

/* ─── NAV ─── */
nav#main-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 5%;height:68px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{text-decoration:none;display:flex;align-items:center;}
.nav-logo-img{height:52px !important;width:auto !important;max-width:260px;display:block !important;visibility:visible !important;opacity:1 !important;}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none;}
.nav-links>li{position:relative;}
.nav-links a,.nav-item-btn{text-decoration:none;font-size:.88rem;font-weight:500;color:var(--text-muted);transition:color .2s;letter-spacing:.02em;cursor:pointer;background:none;border:none;font-family:'Plus Jakarta Sans',sans-serif;padding:0;display:flex;align-items:center;gap:.3rem;}
.nav-links a:hover,.nav-item-btn:hover,.nav-links a.nav-active{color:var(--brand);}
.nav-cta{background:var(--brand)!important;color:var(--white)!important;padding:.5rem 1.25rem!important;border-radius:6px;font-weight:600!important;}
.nav-cta:hover{background:var(--brand-dark)!important;color:var(--white)!important;}
/* Dropdown — zero gap, JS-controlled .open class */
.nav-dropdown{
  position:absolute;
  /* padding-top crea un'area invisibile che copre il gap sopra il dropdown */
  top:100%;
  padding-top:12px;
  left:50%;
  transform:translateX(-50%);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .15s ease,visibility .15s;
  z-index:200;
}
/* Il box visibile del dropdown */
.nav-dropdown-inner{
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:0 12px 40px rgba(56,101,169,.14);
  padding:.5rem;min-width:260px;
  transform:translateY(-4px);
  transition:transform .15s ease;
}
.nav-dropdown.open{
  opacity:1;visibility:visible;pointer-events:auto;
}
.nav-dropdown.open .nav-dropdown-inner{
  transform:translateY(0);
}
.nav-chevron{width:14px;height:14px;opacity:.5;transition:transform .2s;}
.nav-item-btn.open .nav-chevron{transform:rotate(180deg);}
.nav-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;border-radius:8px;transition:background .15s;text-decoration:none;}
.nav-dropdown-item:hover{background:var(--brand-lighter);}
.nav-dd-icon{width:34px;height:34px;border-radius:8px;background:var(--brand-light);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;}
.nav-dd-label{font-size:.83rem;font-weight:600;color:var(--text);display:block;line-height:1.2;}
.nav-dd-sub{font-size:.73rem;color:var(--text-muted);font-weight:300;}

/* ─── SHARED ─── */
section{padding:100px 5%;}
.section-tag{display:inline-block;font-size:.73rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);background:var(--brand-light);border-radius:4px;padding:.3rem .75rem;margin-bottom:1.2rem;}
.section-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--text);margin-bottom:1rem;}
.section-sub{font-size:1.05rem;color:var(--text-muted);font-weight:300;line-height:1.7;max-width:600px;}
.btn-primary{background:var(--brand);color:var(--white);padding:.85rem 2rem;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 18px rgba(56,101,169,.3);display:inline-block;}
.btn-primary:hover{background:var(--brand-dark);transform:translateY(-1px);}
.btn-ghost{color:var(--brand);font-weight:600;font-size:.95rem;text-decoration:none;transition:color .2s;}
.btn-ghost:hover{color:var(--brand-dark);}
.btn-white{background:var(--white);color:var(--brand);padding:.7rem 1.5rem;border-radius:7px;font-weight:700;font-size:.88rem;text-decoration:none;display:inline-block;transition:transform .2s;}
.btn-white:hover{transform:translateY(-1px);}

/* ─── HOMEPAGE HERO ─── */
#hero{min-height:100vh;display:flex;align-items:center;padding:100px 5% 80px;position:relative;overflow:hidden;}
/* hero bg is now set via CSS background shorthand with image overlay */
.hero-grid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(56,101,169,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(56,101,169,.04) 1px,transparent 1px);background-size:60px 60px;}
.hero-blob{position:absolute;right:-8%;top:8%;width:52%;aspect-ratio:1;background:radial-gradient(circle at 60% 40%,rgba(56,101,169,.08) 0%,transparent 70%);z-index:0;animation:float 8s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-20px) rotate(3deg);}}
.hero-inner{position:relative;z-index:1;max-width:680px;animation:fadeUp .9s ease both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.hero-badge{display:inline-flex;align-items:center;gap:.6rem;background:var(--white);border:1px solid var(--border);border-radius:100px;padding:.35rem 1.25rem;font-size:.78rem;font-weight:600;color:var(--brand);letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.75rem;box-shadow:0 2px 12px rgba(56,101,169,.1);}

.hero-badge-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;}
.hero-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2.4rem,5vw,3.8rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text);margin-bottom:1.4rem;}
.hero-title em{font-style:normal;color:var(--brand);position:relative;}
.hero-title em::after{content:'';position:absolute;left:0;bottom:4px;right:0;height:3px;background:var(--accent);border-radius:2px;opacity:.6;}
.hero-sub{font-size:1.1rem;color:var(--text-muted);line-height:1.7;margin-bottom:2.5rem;max-width:560px;font-weight:300;}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;}
.hero-stats{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--border);}
.hero-stat .number{font-family:'Plus Jakarta Sans',sans-serif;font-size:2rem;font-weight:700;color:var(--brand);line-height:1;}
.hero-stat .label{font-size:.8rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;}

/* ─── QUOTE ─── */
.quote-section{background:var(--brand);padding:70px 5%;text-align:center;}
.quote-section blockquote{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:600;color:var(--white);max-width:820px;margin:0 auto;line-height:1.45;}
.quote-section cite{display:block;margin-top:1.2rem;font-size:.83rem;font-style:normal;font-weight:500;color:rgba(255,255,255,.55);letter-spacing:.06em;text-transform:uppercase;}

/* ─── SERVICES ─── */
#services{background:var(--brand-lighter);}
.services-header{margin-bottom:4rem;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.service-card{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;border:1px solid var(--border);position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;text-decoration:none;display:block;color:inherit;}
.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(56,101,169,.12);}
.service-card.featured{background:var(--brand);border-color:var(--brand);}
.service-top-bar{height:3px;border-radius:2px;background:var(--brand);margin-bottom:2rem;}
.service-card.featured .service-top-bar{background:var(--accent);}
.service-icon{width:52px;height:52px;border-radius:12px;background:var(--brand-light);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.5rem;}
.service-card.featured .service-icon{background:rgba(255,255,255,.15);}
.service-tag-sm{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);background:var(--brand-light);border-radius:4px;padding:.2rem .6rem;display:inline-block;margin-bottom:1rem;}
.service-card.featured .service-tag-sm{background:rgba(255,255,255,.15);color:var(--white);}
.s-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.3rem;font-weight:600;color:var(--text);margin-bottom:.75rem;line-height:1.25;}
.service-card.featured .s-title{color:var(--white);}
.s-desc{font-size:.88rem;color:var(--text-muted);line-height:1.65;font-weight:300;margin-bottom:1.5rem;}
.service-card.featured .s-desc{color:rgba(255,255,255,.8);}
.s-list{list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.s-list li{font-size:.83rem;color:var(--text-muted);display:flex;align-items:flex-start;gap:.6rem;font-weight:400;}
.service-card.featured .s-list li{color:rgba(255,255,255,.8);}
.s-list li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand);flex-shrink:0;margin-top:6px;}
.service-card.featured .s-list li::before{background:var(--accent);}
.s-cta-link{margin-top:2rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--brand);}
.service-card.featured .s-cta-link{color:var(--white);}

/* ─── FAQ ─── */
.home-faq{background:var(--white);}
.help-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start;margin-top:4rem;}
.help-sticky{position:sticky;top:88px;}
.faq-list{display:flex;flex-direction:column;}
.faq-item{border-bottom:1px solid var(--border);overflow:hidden;}
.faq-item:first-child{border-top:1px solid var(--border);}
.faq-question{width:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 0;text-align:left;font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;font-weight:600;color:var(--text);transition:color .2s;gap:1rem;}
.faq-question:hover{color:var(--brand);}
.faq-icon{width:26px;height:26px;border-radius:50%;background:var(--brand-light);border:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:1.1rem;font-weight:400;transition:transform .3s,background .2s;line-height:1;}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--brand);color:var(--white);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .3s;font-size:.9rem;color:var(--text-muted);font-weight:300;line-height:1.7;}
.faq-item.open .faq-answer{max-height:300px;padding-bottom:1.4rem;}
.help-cta-box{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);border-radius:var(--radius-lg);padding:2.5rem;color:var(--white);margin-top:2.5rem;}
.help-cta-box h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.3rem;font-weight:700;margin-bottom:.75rem;line-height:1.3;}
.help-cta-box p{font-size:.88rem;opacity:.8;font-weight:300;margin-bottom:1.5rem;line-height:1.6;}



/* ─── PAGE HERO (About & Contact) ─── */
.page-hero{min-height:50vh;display:flex;align-items:center;padding:120px 5% 80px;position:relative;overflow:hidden;}
/* page-hero bg via section background with image overlay */
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(56,101,169,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(56,101,169,.04) 1px,transparent 1px);background-size:60px 60px;}
.page-hero-inner{position:relative;z-index:1;max-width:720px;animation:fadeUp .8s ease both;}
.page-hero-inner--narrow{max-width:600px;}
.page-hero-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text);margin-bottom:1.2rem;}
.page-hero-sub{font-size:1.1rem;color:var(--text-muted);font-weight:300;line-height:1.7;max-width:580px;}

/* ─── ABOUT ─── */
.about-story{background:var(--white);padding:100px 5%;}
.about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-story p{font-size:1rem;color:var(--text-muted);font-weight:300;line-height:1.75;margin-bottom:1.2rem;}
.about-card{background:var(--brand-lighter);border-radius:var(--radius-lg);padding:2.5rem;border:1px solid var(--border);position:relative;overflow:hidden;}
.about-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand),var(--accent));}
.about-card-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.15rem;font-weight:600;color:var(--brand);margin-bottom:.5rem;}
.about-card>p{font-size:.9rem;color:var(--text-muted);line-height:1.65;font-weight:300;}
.about-card-highlight{background:var(--brand);color:var(--white);border-radius:var(--radius);padding:1.8rem;margin-top:1.5rem;}
.about-card-highlight .big{font-family:'Plus Jakarta Sans',sans-serif;font-size:2.2rem;font-weight:700;line-height:1;margin-bottom:.4rem;}
.about-card-highlight small{font-size:.8rem;opacity:.75;font-weight:300;}
.about-framework{background:var(--brand-lighter);padding:100px 5%;}
.framework-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem;}
.framework-card{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;border:1px solid var(--border);position:relative;}
.framework-number{font-family:'Plus Jakarta Sans',sans-serif;font-size:3rem;font-weight:700;color:var(--brand);opacity:.1;line-height:1;margin-bottom:.5rem;}
.framework-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.2rem;font-weight:600;color:var(--text);margin-bottom:.75rem;margin-top:.5rem;}
.framework-card p{font-size:.88rem;color:var(--text-muted);font-weight:300;line-height:1.65;}
/* ─── ABOUT PILLARS ─── */
.about-pillars{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  margin-top:2rem;
}
.pillar{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  padding:1.1rem 1.25rem;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--brand-lighter);
  transition:border-color .2s, box-shadow .2s;
}
.pillar:hover{
  border-color:var(--brand);
  box-shadow:0 4px 16px rgba(56,101,169,.08);
}
.pillar-icon{
  font-size:1.3rem;
  line-height:1;
  flex-shrink:0;
  margin-top:.1rem;
}
.pillar strong{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.95rem;
  font-weight:600;
  color:var(--brand);
  display:block;
  margin-bottom:.15rem;
}
.pillar span{
  font-size:.8rem;
  color:var(--text-muted);
  font-weight:300;
  line-height:1.4;
}
.about-values{background:var(--white);padding:100px 5%;}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3.5rem;}
.value-item{padding:1.5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--brand-lighter);}
.value-icon{font-size:1.5rem;margin-bottom:.75rem;display:block;}
.value-item h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.5rem;}
.value-item p{font-size:.83rem;color:var(--text-muted);font-weight:300;line-height:1.6;}
.about-stats{background:var(--brand);padding:80px 5%;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center;}
.stat-number{font-family:'Plus Jakarta Sans',sans-serif;font-size:3rem;font-weight:700;color:var(--white);line-height:1;margin-bottom:.5rem;}
.stat-label{font-size:.83rem;color:rgba(255,255,255,.65);font-weight:300;line-height:1.5;}

/* ─── CONTACT PAGE ─── */
.contact-page{background:var(--white);padding:100px 5%;}
.contact-page-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:start;}
.contact-info-list{margin-bottom:2.5rem;}
.contact-info-item{display:flex;align-items:flex-start;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--border);}
.contact-info-item:first-child{border-top:1px solid var(--border);}
.contact-icon{width:40px;height:40px;border-radius:10px;background:var(--brand-lighter);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.contact-info-item strong{display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin-bottom:.2rem;}
.contact-info-item span{font-size:.9rem;color:var(--text-muted);font-weight:300;}
.contact-services-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;}
.contact-service-link{display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:600;color:var(--brand);text-decoration:none;padding:.7rem 0;border-bottom:1px solid var(--border);transition:gap .2s;}
.contact-service-link:first-of-type{border-top:1px solid var(--border);}
.contact-service-link:hover{gap:1rem;}
.contact-service-link span{font-size:1rem;}
.form-wrapper{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;border:1px solid var(--border);box-shadow:0 4px 24px rgba(56,101,169,.06);}
.form-wrapper h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.3rem;font-weight:600;color:var(--text);margin-bottom:.5rem;}
.form-wrapper>p{font-size:.88rem;color:var(--text-muted);font-weight:300;margin-bottom:2rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{margin-bottom:1.2rem;}
.form-group label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.4rem;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border-radius:8px;border:1.5px solid var(--border);background:var(--white);font-family:'Plus Jakarta Sans',sans-serif;font-size:.9rem;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;appearance:none;}
.form-group input::placeholder,.form-group textarea::placeholder{color:#b0b8cc;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(56,101,169,.1);}
.form-group textarea{resize:vertical;min-height:110px;}
.form-submit{width:100%;padding:.9rem;background:var(--brand);color:var(--white);border:none;border-radius:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,transform .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;}
.form-submit:hover{background:var(--brand-dark);transform:translateY(-1px);}
.form-success{background:#edfaf3;border:1px solid #a3e6c2;border-radius:8px;padding:1rem 1.25rem;font-size:.9rem;color:#1a6640;font-weight:500;margin-top:1rem;}
.form-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:1rem 1.25rem;font-size:.9rem;color:#991b1b;font-weight:500;margin-top:1rem;}
.contact-faq-strip{background:var(--brand-lighter);padding:100px 5%;}
.contact-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3.5rem;}
.contact-faq-item{background:var(--white);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);}
.contact-faq-item h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.6rem;}
.contact-faq-item p{font-size:.88rem;color:var(--text-muted);font-weight:300;line-height:1.65;}

/* ─── LANDING PAGE STYLES ─── */
.lp-hero{min-height:78vh;display:flex;align-items:center;padding:120px 5% 80px;position:relative;overflow:hidden;}
.lp-hero-bg{position:absolute;inset:0;z-index:0;}
.lp-hero-bg-mod{
  background:
    linear-gradient(135deg,rgba(232,238,247,.88) 0%,rgba(213,227,245,.80) 50%,rgba(255,255,255,.60) 100%),
    var(--hero-img) center/cover no-repeat !important;
}
.lp-hero-bg-out{
  background:
    linear-gradient(135deg,rgba(238,243,235,.88) 0%,rgba(216,234,221,.80) 50%,rgba(255,255,255,.60) 100%),
    var(--hero-img) center/cover no-repeat !important;
}
.lp-hero-bg-mnt{
  background:
    linear-gradient(135deg,rgba(240,238,247,.88) 0%,rgba(224,216,245,.80) 50%,rgba(255,255,255,.60) 100%),
    var(--hero-img) center/cover no-repeat !important;
}
.lp-hero-grid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(56,101,169,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(56,101,169,.04) 1px,transparent 1px);background-size:60px 60px;}
.lp-hero-accent{position:absolute;right:-5%;top:10%;width:45%;aspect-ratio:1;border-radius:50%;z-index:0;animation:float 9s ease-in-out infinite;}
.lp-hero-accent-mod{background:radial-gradient(circle at 60% 40%,rgba(56,101,169,.12) 0%,transparent 70%);}
.lp-hero-accent-out{background:radial-gradient(circle at 60% 40%,rgba(72,140,96,.1) 0%,transparent 70%);}
.lp-hero-accent-mnt{background:radial-gradient(circle at 60% 40%,rgba(120,80,180,.1) 0%,transparent 70%);}
.lp-hero-inner{position:relative;z-index:1;max-width:700px;animation:fadeUp .8s ease both;}
.lp-crumb{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:500;color:var(--text-muted);margin-bottom:1.5rem;text-decoration:none;transition:color .2s;}
.lp-crumb:hover{color:var(--brand);}
.lp-crumb svg{width:14px;height:14px;}
.lp-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--white);border:1px solid var(--border);border-radius:100px;padding:.35rem 1rem;font-size:.78rem;font-weight:600;color:var(--brand);letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.5rem;box-shadow:0 2px 12px rgba(56,101,169,.08);}
.lp-badge-dot{width:8px;height:8px;border-radius:50%;display:block;flex-shrink:0;}
.lp-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text);margin-bottom:1.2rem;}
.lp-title em{font-style:normal;color:var(--brand);}
.lp-sub{font-size:1.1rem;color:var(--text-muted);line-height:1.7;margin-bottom:2.5rem;font-weight:300;max-width:580px;}
.lp-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;}
.lp-hero-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;}
.lp-chip{background:var(--white);border:1px solid var(--border);border-radius:100px;padding:.3rem .9rem;font-size:.78rem;font-weight:500;color:var(--text-muted);}
.lp-benefits{background:var(--white);padding:90px 5%;}
.lp-benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem;}
.benefit-card{padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--brand-lighter);transition:transform .2s,box-shadow .2s;}
.benefit-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(56,101,169,.1);}
.benefit-icon{font-size:1.8rem;margin-bottom:1rem;display:block;}
.benefit-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:600;color:var(--text);margin-bottom:.5rem;}
.benefit-desc{font-size:.85rem;color:var(--text-muted);font-weight:300;line-height:1.6;}
.lp-process{background:var(--brand-lighter);padding:90px 5%;}
.process-steps{margin-top:3.5rem;display:flex;flex-direction:column;}
.process-step{display:grid;grid-template-columns:80px 1fr;gap:2rem;align-items:start;padding:2rem 0;border-bottom:1px solid var(--border);}
.process-step:first-child{border-top:1px solid var(--border);}
.step-number{font-family:'Plus Jakarta Sans',sans-serif;font-size:2.5rem;font-weight:700;color:var(--brand);opacity:.2;line-height:1;text-align:center;}
.step-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.4rem;}
.step-desc{font-size:.9rem;color:var(--text-muted);font-weight:300;line-height:1.65;}
.step-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;}
.step-tag{background:var(--white);border:1px solid var(--border);border-radius:4px;padding:.2rem .6rem;font-size:.73rem;font-weight:600;color:var(--brand);}
.lp-faq{background:var(--white);padding:90px 5%;}
.lp-faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start;margin-top:3.5rem;}
.lp-cta-banner{background:var(--brand);padding:80px 5%;text-align:center;position:relative;overflow:hidden;}
.lp-cta-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);}
.lp-cta-banner-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;}
.lp-cta-banner h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;color:var(--white);line-height:1.2;margin-bottom:1rem;}
.lp-cta-banner p{font-size:1rem;color:rgba(255,255,255,.75);font-weight:300;margin-bottom:2.5rem;line-height:1.65;}

/* ─── FOOTER LIGHT ─── */
#main-footer,
body #main-footer {
  background: #f4f7fc !important;
  background-color: #f4f7fc !important;
  border-top: 1px solid #dde4f0;
  padding: 0 5%;
  color: #5a6275;
}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding:4rem 0 3rem;}
.footer-logo-link{display:inline-block;margin-bottom:1rem;}
.footer-logo-img{height:30px !important;width:auto !important;max-width:180px;display:block !important;visibility:visible !important;opacity:1 !important;}
.footer-tagline{font-family:'Plus Jakarta Sans',sans-serif;font-size:.85rem;color:var(--text-muted);font-weight:300;line-height:1.6;max-width:260px;margin-bottom:1.5rem;}
.footer-linkedin{display:inline-flex;align-items:center;gap:.5rem;font-size:.83rem;font-weight:600;color:var(--brand);text-decoration:none;border:1.5px solid var(--brand);border-radius:6px;padding:.45rem .9rem;transition:background .2s,color .2s;}
.footer-linkedin:hover{background:var(--brand);color:var(--white);}
.footer-nav-group h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;}
.footer-nav-group ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.footer-nav-group a{font-size:.88rem;color:var(--text-muted);text-decoration:none;font-weight:400;transition:color .2s;}
.footer-nav-group a:hover{color:var(--brand);}
.footer-bottom{font-family:'Plus Jakarta Sans',sans-serif;border-top:1px solid var(--border);padding:1.25rem 0;display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--text-muted);}
.footer-bottom-links{display:flex;gap:1.5rem;}
.footer-bottom-links a{font-size:.8rem;color:var(--text-muted);text-decoration:none;transition:color .2s;}
.footer-bottom-links a:hover{color:var(--brand);}

/* ─── PRE-FOOTER CTA ─── */
.prefooter-cta{
  position:relative;padding:120px 5%;text-align:center;overflow:hidden;
  background:
    linear-gradient(rgba(15,25,55,.80),rgba(20,32,65,.78)),
    var(--prefooter-img) center/cover no-repeat !important;
}
.prefooter-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(56,101,169,.3) 0%,transparent 60%);}
.prefooter-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;}
.prefooter-inner h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:var(--white);line-height:1.2;margin-bottom:1rem;margin-top:.75rem;}
.prefooter-inner p{font-size:1rem;color:rgba(255,255,255,.8);font-weight:300;margin-bottom:2.5rem;line-height:1.65;}
.prefooter-btn{font-size:1rem;padding:.9rem 2.2rem;box-shadow:0 4px 24px rgba(0,0,0,.25);}

/* ─── ANIMATIONS ─── */
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}


/* ─── HERO IMAGE OVERLAY ─── */
/* Homepage hero with office/city image */
#hero{
  background:
    linear-gradient(135deg,rgba(244,247,252,.88) 0%,rgba(220,232,247,.80) 40%,rgba(255,255,255,.60) 80%),
    var(--hero-img) center/cover no-repeat !important;
  background-blend-mode: normal;
}
/* Page hero (About, Contact) with same image */
.page-hero{
  background:
    linear-gradient(135deg,rgba(244,247,252,.88) 0%,rgba(220,232,247,.80) 45%,rgba(255,255,255,.60) 100%),
    var(--hero-img) center/cover no-repeat !important;
}
/* Landing page heroes with same image */
.lp-hero-bg-mod{
  background:
    linear-gradient(135deg,rgba(232,238,247,.88) 0%,rgba(213,227,245,.80) 50%,rgba(255,255,255,.60) 100%),
    var(--hero-img) center/cover no-repeat !important;
}
.lp-hero-bg-out{
  background:
    linear-gradient(135deg,rgba(238,243,235,.88) 0%,rgba(216,234,221,.80) 50%,rgba(255,255,255,.60) 100%),
    var(--hero-img) center/cover no-repeat !important;
}
.lp-hero-bg-mnt{
  background:
    linear-gradient(135deg,rgba(240,238,247,.88) 0%,rgba(224,216,245,.80) 50%,rgba(255,255,255,.60) 100%),
    var(--hero-img) center/cover no-repeat !important;
}

/* ─── FOOTER RESPONSIVE ─── */
@media(max-width:900px){
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem;}
  .footer-brand{grid-column:1/-1;}
}
@media(max-width:600px){
  .footer-top{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;gap:.75rem;text-align:center;}
}
/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .values-grid,.stats-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .services-grid,.lp-benefits-grid,.framework-grid,.contact-faq-grid{grid-template-columns:1fr;}
  .about-story-grid,.help-layout,.lp-faq-grid,.contact-page-grid{grid-template-columns:1fr;gap:40px;}
  .form-row{grid-template-columns:1fr;}
  .help-sticky{position:static;}
  nav#main-nav .nav-links{display:none;}
  .lp-hero{min-height:auto;padding:110px 5% 60px;}
  .process-step{grid-template-columns:50px 1fr;gap:1rem;}
  .step-number{font-size:1.8rem;}
  .values-grid,.stats-grid{grid-template-columns:1fr 1fr;}
}

/* ─── PARTNERS SECTION ─── */
#partners{background:var(--white);padding:100px 5%;}
.partners-header{margin-bottom:3.5rem;}
.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.partner-card{background:var(--brand-lighter);border-radius:var(--radius-lg);padding:2.5rem 2rem;border:1px solid var(--border);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:1.25rem;transition:transform .2s,box-shadow .2s;}
.partner-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(56,101,169,.12);}
.partner-logo{max-height:52px;width:auto;max-width:180px;object-fit:contain;display:block;}
.partner-logo--wide{max-height:38px;max-width:220px;}
.partner-desc{font-size:.85rem;color:var(--text-muted);font-weight:300;line-height:1.65;text-align:center;}

/* ─── APPEON CONSULTING PARTNER ─── */
#appeon-partner{background:var(--brand-lighter);padding:80px 5%;border-top:1px solid var(--border);}
.appeon-partner-layout{display:grid;grid-template-columns:auto 1fr;gap:80px;align-items:center;}
.appeon-partner-badge{display:flex;align-items:center;justify-content:center;}
.appeon-badge-img{width:200px;height:auto;display:block;}
.appeon-partner-content>p{font-size:1rem;color:var(--text-muted);font-weight:300;line-height:1.75;margin-bottom:1.5rem;}
.appeon-partner-stats{display:flex;gap:2.5rem;flex-wrap:wrap;padding:1.5rem 0;border-top:1px solid var(--border);margin-top:1rem;}
.ap-stat{display:flex;flex-direction:column;gap:.25rem;}
.ap-num{font-family:'Plus Jakarta Sans',sans-serif;font-size:2rem;font-weight:700;color:var(--brand);line-height:1;}
.ap-label{font-size:.78rem;color:var(--text-muted);font-weight:400;letter-spacing:.03em;}

/* ─── ENABLE PB PAGE ─── */
.epb-overview{background:var(--white);padding:100px 5%;}
.epb-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-top:3.5rem;}
.epb-feature-card{background:var(--brand-lighter);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);transition:transform .2s,box-shadow .2s;}
.epb-feature-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(56,101,169,.1);}
.epb-feature-icon{font-size:2rem;display:block;margin-bottom:.75rem;}
.epb-feature-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.6rem;}
.epb-feature-card p{font-size:.85rem;color:var(--text-muted);font-weight:300;line-height:1.65;margin-bottom:1rem;}
.epb-feature-tags{display:flex;flex-wrap:wrap;gap:.4rem;}
.epb-feature-tags span{background:var(--white);border:1px solid var(--border);border-radius:4px;padding:.2rem .55rem;font-size:.72rem;font-weight:600;color:var(--brand);letter-spacing:.04em;}
.epb-helpdesk{background:var(--white);padding:100px 5%;}
.epb-helpdesk-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.epb-helpdesk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;}
.epb-release-card{background:var(--brand-lighter);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);margin-top:1rem;}
.epb-release-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.3rem;font-weight:700;color:var(--brand);margin-bottom:.3rem;}
.epb-release-sub{font-size:.85rem;color:var(--text-muted);margin-bottom:1.25rem;}
.epb-release-notes{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.epb-release-notes li{font-size:.85rem;color:var(--text-muted);display:flex;align-items:flex-start;gap:.5rem;}
.epb-release-notes li::before{content:'✓';color:var(--brand);font-weight:700;flex-shrink:0;}
.epb-pbopen{padding:100px 5%;}
.epb-pbopen-steps{display:flex;flex-direction:column;gap:0;margin-top:3.5rem;}
.epb-step{display:grid;grid-template-columns:80px 1fr;gap:2rem;align-items:start;padding:2rem 0;border-bottom:1px solid var(--border);}
.epb-step:first-child{border-top:1px solid var(--border);}
.epb-step-num{font-family:'Plus Jakarta Sans',sans-serif;font-size:2.5rem;font-weight:700;color:var(--brand);opacity:.2;line-height:1;}
.epb-step h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.4rem;}
.epb-step p{font-size:.9rem;color:var(--text-muted);font-weight:300;line-height:1.65;}

/* ─── RESPONSIVE — Partners & Enable PB ─── */
@media(max-width:900px){
  .partners-grid,.epb-features-grid{grid-template-columns:1fr;}
  .appeon-partner-layout{grid-template-columns:1fr;gap:2rem;text-align:center;}
  .appeon-partner-badge{justify-content:center;}
  .appeon-partner-stats{justify-content:center;}
  .epb-helpdesk-layout{grid-template-columns:1fr;gap:3rem;}
  .epb-step{grid-template-columns:50px 1fr;gap:1rem;}
  .epb-step-num{font-size:1.8rem;}
}

/* ─── ABOUT TEAM SECTION ─── */
.about-team{background:var(--brand-lighter);padding:100px 5%;}
.team-pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem;}
.team-pillar{background:var(--white);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);}
.team-pillar-icon{font-size:1.8rem;margin-bottom:.75rem;display:block;}
.team-pillar h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:600;color:var(--text);margin-bottom:.5rem;}
.team-pillar p{font-size:.88rem;color:var(--text-muted);font-weight:300;line-height:1.65;}

/* ─── ENABLE PB QUICK SERVICES ─── */
.epb-quick-services{background:var(--brand-lighter);padding:80px 5%;border-bottom:1px solid var(--border);}
.epb-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.epb-quick-card{background:var(--white);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);text-decoration:none;display:flex;flex-direction:column;gap:1rem;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;}
.epb-quick-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--accent));}
.epb-quick-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(56,101,169,.12);}
.epb-quick-icon{font-size:2rem;display:block;}
.epb-quick-body h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:600;color:var(--text);margin-bottom:.5rem;}
.epb-quick-body p{font-size:.85rem;color:var(--text-muted);font-weight:300;line-height:1.6;margin-bottom:.75rem;}
.epb-quick-cta{font-size:.83rem;font-weight:700;color:var(--brand);display:inline-block;transition:gap .2s;}
.epb-quick-card:hover .epb-quick-cta{letter-spacing:.02em;}

/* ─── RESPONSIVE ADDITIONS ─── */
@media(max-width:900px){
  .team-pillars{grid-template-columns:1fr;}
  .epb-quick-grid{grid-template-columns:1fr;}
}

/* ─── CONTACT HERO with distinct image ─── */
.page-hero--contact {
  background:
    linear-gradient(135deg,rgba(15,25,55,.70) 0%,rgba(20,32,65,.65) 50%,rgba(10,20,45,.60) 100%),
    var(--contact-hero-img) center/cover no-repeat !important;
}
/* Override the default page-hero light overlay for contact */
.page-hero--contact .page-hero-inner .section-tag {
  background: rgba(255,255,255,.15);
  color: #fff;
}
.page-hero--contact .page-hero-title {
  color: #fff;
}
.page-hero--contact .page-hero-sub {
  color: rgba(255,255,255,.82);
}

/* ─── CONTACT INFO LINK ─── */
.contact-info-link {
  font-size:.9rem;color:var(--brand);text-decoration:none;font-weight:500;
  transition:color .2s;
}
.contact-info-link:hover { color:var(--brand-dark); text-decoration:underline; }

/* ─── CONTACT OFFICES ─── */
.contact-offices { margin-top:2rem; }
.contact-offices-label {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.05rem;font-weight:600;color:var(--text);
  margin-bottom:1rem;
}
.contact-office-card {
  display:flex;align-items:flex-start;gap:.85rem;
  padding:1.2rem;border-radius:var(--radius);
  border:1px solid var(--border);background:var(--brand-lighter);
  margin-bottom:.85rem;
}
.contact-office-flag { font-size:1.5rem;line-height:1;flex-shrink:0; }
.contact-office-body { display:flex;flex-direction:column;gap:.2rem; }
.contact-office-location {
  font-size:.78rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--brand);
}
.contact-office-name {
  font-size:.9rem;font-weight:500;color:var(--text);
}
.contact-office-phone {
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.88rem;font-weight:600;color:var(--brand);
  text-decoration:none;margin-top:.2rem;
  transition:color .2s;
}
.contact-office-phone:hover { color:var(--brand-dark); }
.contact-office-phone svg { flex-shrink:0; }

/* ─── FOOTER OFFICES ─── */
.footer-offices .footer-office {
  margin-bottom:1.1rem;
  padding-bottom:1.1rem;
  border-bottom:1px solid var(--border);
}
.footer-offices .footer-office:last-of-type { border-bottom:none; margin-bottom:.5rem; }
.footer-office-location {
  font-size:.72rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--brand);margin-bottom:.15rem;
}
.footer-office-name {
  font-size:.83rem;font-weight:500;color:var(--text);margin-bottom:.2rem;
}
.footer-office-phone {
  font-size:.83rem;font-weight:600;color:var(--text-muted);
  text-decoration:none;transition:color .2s;
  display:inline-flex;align-items:center;gap:.3rem;
}
.footer-office-phone:hover { color:var(--brand); }
.footer-email-link {
  display:inline-block;margin-top:.5rem;
  font-size:.83rem;font-weight:600;color:var(--brand);
  text-decoration:none;transition:color .2s;
}
.footer-email-link:hover { color:var(--brand-dark);text-decoration:underline; }

/* ════════════════════════════════════════
   BLOG STYLES
════════════════════════════════════════ */

/* ─── Blog Archive ─── */
.blog-archive { background:var(--white); padding:80px 5% 100px; }

.blog-filters {
  display:flex; flex-wrap:wrap; gap:.5rem;
  margin-bottom:3rem;
  padding-bottom:2rem;
  border-bottom:1px solid var(--border);
}
.blog-filter-btn {
  display:inline-block;
  padding:.4rem 1rem;
  border-radius:100px;
  border:1.5px solid var(--border);
  font-size:.8rem; font-weight:600;
  color:var(--text-muted);
  text-decoration:none;
  transition:all .2s;
  background:var(--white);
  font-family:'Plus Jakarta Sans',sans-serif;
}
.blog-filter-btn:hover,
.blog-filter-btn.active {
  background:var(--brand);
  border-color:var(--brand);
  color:var(--white);
}

.blog-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
  margin-bottom:3rem;
}

.blog-card {
  background:var(--white);
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  overflow:hidden;
  transition:transform .2s, box-shadow .2s;
  display:flex; flex-direction:column;
}
.blog-card:hover {
  transform:translateY(-4px);
  box-shadow:0 12px 36px rgba(56,101,169,.1);
}
.blog-card-image-link { display:block; }
.blog-card-image {
  width:100%; height:200px;
  background-size:cover; background-position:center;
  background-color:var(--brand-lighter);
  transition:transform .3s;
}
.blog-card:hover .blog-card-image { transform:scale(1.03); }
.blog-card-image--placeholder {
  height:200px;
  background:linear-gradient(135deg,var(--brand-lighter),#dce8f7);
  position:relative;
}
.blog-card-image--placeholder::after {
  content:'📝';
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  font-size:2.5rem; opacity:.3;
}
.blog-card-body {
  padding:1.5rem;
  display:flex; flex-direction:column; gap:.6rem;
  flex:1;
}
.blog-card-meta {
  display:flex; align-items:center; flex-wrap:wrap; gap:.5rem;
}
.blog-card-date {
  font-size:.75rem; font-weight:600;
  color:var(--text-muted);
  font-family:'Plus Jakarta Sans',sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.blog-card-cat {
  font-size:.72rem; font-weight:700;
  color:var(--brand);
  background:var(--brand-light);
  border-radius:4px; padding:.15rem .5rem;
  text-decoration:none;
  font-family:'Plus Jakarta Sans',sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
  transition:background .2s;
}
.blog-card-cat:hover { background:var(--brand); color:var(--white); }
.blog-card-title {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.1rem; font-weight:600;
  line-height:1.3; color:var(--text);
  margin:0;
}
.blog-card-title a {
  text-decoration:none; color:inherit;
  transition:color .2s;
}
.blog-card-title a:hover { color:var(--brand); }
.blog-card-excerpt {
  font-size:.85rem; color:var(--text-muted);
  font-weight:300; line-height:1.6;
  font-family:'Plus Jakarta Sans',sans-serif;
  flex:1;
}
.blog-card-readmore {
  font-size:.83rem; font-weight:700;
  color:var(--brand); text-decoration:none;
  margin-top:.25rem; display:inline-block;
  font-family:'Plus Jakarta Sans',sans-serif;
  transition:gap .2s;
}
.blog-card-readmore:hover { text-decoration:underline; }

/* Pagination */
.blog-pagination { margin-top:2rem; }
.blog-pagination + ul,
ul.page-numbers {
  display:flex; gap:.5rem; list-style:none;
  flex-wrap:wrap; justify-content:center;
  margin:2.5rem 0 0;
}
ul.page-numbers li a,
ul.page-numbers li span {
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px;
  border-radius:8px;
  border:1.5px solid var(--border);
  font-size:.88rem; font-weight:600;
  color:var(--text-muted); text-decoration:none;
  font-family:'Plus Jakarta Sans',sans-serif;
  transition:all .2s;
}
ul.page-numbers li a:hover { border-color:var(--brand); color:var(--brand); }
ul.page-numbers li .current { background:var(--brand); border-color:var(--brand); color:var(--white); }
ul.page-numbers li .prev,
ul.page-numbers li .next { width:auto; padding:0 1rem; gap:.3rem; }

.blog-empty {
  text-align:center; padding:4rem 0;
  font-size:1rem; color:var(--text-muted);
}

/* ─── Single Post ─── */
.post-hero {
  padding:140px 5% 100px;
  position:relative; overflow:hidden;
  background:
    linear-gradient(135deg,rgba(244,247,252,.92) 0%,rgba(220,232,247,.85) 50%,rgba(255,255,255,.7) 100%),
    var(--hero-img) center/cover no-repeat;
}
.post-hero-inner { max-width:760px; position:relative; z-index:1; animation:fadeUp .8s ease both; }
.post-hero-meta {
  display:flex; align-items:center; flex-wrap:wrap; gap:.6rem;
  margin-bottom:1.75rem;
}
.post-back-link {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.78rem; font-weight:600; color:var(--text-muted);
  text-decoration:none; transition:color .2s;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.post-back-link:hover { color:var(--brand); }
.post-hero-title {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:700; line-height:1.15;
  letter-spacing:-.02em; color:var(--text);
  margin-bottom:1.5rem;
}
.post-hero-byline {
  display:flex; align-items:center; gap:.5rem;
  font-size:.88rem; color:var(--text-muted);
  font-family:'Plus Jakarta Sans',sans-serif;
  padding-top:1rem;
  border-top:1px solid var(--border);
}
.post-sep { opacity:.4; }
.post-author { font-weight:600; }

.post-featured-image-bottom {
  margin-top: 2.5rem;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border);
}
.post-featured-image-bottom .post-featured-img,
.post-featured-img {
  width: 100%;
  display: block;
  max-height: 520px;
  object-fit: cover;
  border-radius: var(--radius-lg);
}

.post-content-wrap { background:var(--white); padding:60px 5% 100px; }
.post-content-grid {
  display:grid;
  grid-template-columns:1fr 320px;
  gap:60px;
  align-items:start;
  max-width:1200px;
  margin:0 auto;
}

/* Post content typography */
.post-content { font-family:'Plus Jakarta Sans',sans-serif; }
.post-content h1,.post-content h2,.post-content h3,
.post-content h4,.post-content h5,.post-content h6 {
  font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--text); margin:2rem 0 .75rem; line-height:1.2;
}
.post-content h2 { font-size:1.6rem; }
.post-content h3 { font-size:1.3rem; }
.post-content h4 { font-size:1.1rem; }
.post-content p { font-size:1rem; line-height:1.8; color:var(--text-muted); margin-bottom:1.25rem; font-weight:300; }
.post-content a { color:var(--brand); text-decoration:underline; }
.post-content a:hover { color:var(--brand-dark); }
.post-content ul,.post-content ol { margin:0 0 1.25rem 1.5rem; }
.post-content li { font-size:1rem; line-height:1.75; color:var(--text-muted); margin-bottom:.4rem; font-weight:300; }
.post-content blockquote {
  border-left:3px solid var(--accent);
  margin:2rem 0; padding:1rem 1.5rem;
  background:var(--brand-lighter);
  border-radius:0 var(--radius) var(--radius) 0;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.05rem; font-style:italic; color:var(--text);
}
.post-content img { max-width:100%; border-radius:var(--radius); margin:1rem 0; }
.post-content pre,.post-content code {
  background:var(--brand-lighter); border-radius:6px;
  font-family:monospace; font-size:.88rem;
}
.post-content pre { padding:1.25rem; overflow-x:auto; margin-bottom:1.25rem; }
.post-content code { padding:.15rem .4rem; }
.post-content table { width:100%; border-collapse:collapse; margin-bottom:1.5rem; font-size:.9rem; }
.post-content th,.post-content td { padding:.75rem 1rem; border:1px solid var(--border); text-align:left; }
.post-content th { background:var(--brand-lighter); font-weight:700; font-family:'Plus Jakarta Sans',sans-serif; color:var(--brand); }
.post-content hr { border:none; border-top:1px solid var(--border); margin:2rem 0; }

/* Sidebar */
.post-sidebar { position:sticky; top:88px; display:flex; flex-direction:column; gap:1.5rem; }
.post-sidebar-block {
  background:var(--brand-lighter);
  border-radius:var(--radius-lg);
  padding:1.5rem;
  border:1px solid var(--border);
}
.post-sidebar-block h4 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1rem; font-weight:600; color:var(--text);
  margin-bottom:1rem;
}
.post-sidebar-cats { list-style:none; display:flex; flex-direction:column; gap:.4rem; }
.post-sidebar-cats a {
  font-size:.85rem; font-weight:500; color:var(--text-muted);
  text-decoration:none; display:flex; justify-content:space-between;
  transition:color .2s; font-family:'Plus Jakarta Sans',sans-serif;
  padding:.3rem 0; border-bottom:1px solid var(--border);
}
.post-sidebar-cats li:last-child a { border-bottom:none; }
.post-sidebar-cats a:hover { color:var(--brand); }
.post-sidebar-cats span { opacity:.5; }

.post-sidebar-cta { background:var(--brand) !important; border-color:var(--brand) !important; }
.post-sidebar-cta .section-tag { background:rgba(255,255,255,.15); color:#fff; margin-bottom:.75rem; }
.post-sidebar-cta h3 { font-family:'Plus Jakarta Sans',sans-serif; font-size:1rem; font-weight:600; color:#fff; margin-bottom:.5rem; }
.post-sidebar-cta p { font-size:.83rem; color:rgba(255,255,255,.75); font-weight:300; line-height:1.55; font-family:'Plus Jakarta Sans',sans-serif; }
.post-sidebar-cta .btn-primary { background:var(--white) !important; color:var(--brand) !important; box-shadow:none; font-size:.88rem; padding:.7rem 1rem; }
.post-sidebar-cta .btn-primary:hover { background:var(--brand-lighter) !important; }

.post-sidebar-related { list-style:none; display:flex; flex-direction:column; gap:.75rem; }
.post-sidebar-related a {
  display:flex; align-items:center; gap:.75rem;
  text-decoration:none; transition:opacity .2s;
}
.post-sidebar-related a:hover { opacity:.75; }
.related-thumb {
  width:52px; height:52px; flex-shrink:0;
  border-radius:8px;
  background-size:cover; background-position:center;
  background-color:var(--brand-lighter);
}
.related-date { display:block; font-size:.72rem; color:var(--text-muted); font-family:'Plus Jakarta Sans',sans-serif; }
.related-title { display:block; font-size:.83rem; font-weight:600; color:var(--text); line-height:1.3; font-family:'Plus Jakarta Sans',sans-serif; }

/* Post nav */
.post-nav-strip {
  background:var(--brand-lighter);
  border-top:1px solid var(--border);
  padding:2rem 5%;
}
.post-nav-inner {
  display:grid; grid-template-columns:1fr auto 1fr;
  gap:2rem; align-items:center; max-width:1200px; margin:0 auto;
}
.post-nav-item { display:flex; flex-direction:column; gap:.35rem; }
.post-nav-next { text-align:right; }
.post-nav-label { font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); font-family:'Plus Jakarta Sans',sans-serif; }
.post-nav-title { font-size:.9rem; font-weight:600; color:var(--brand); text-decoration:none; line-height:1.3; font-family:'Plus Jakarta Sans',sans-serif; }
.post-nav-title:hover { text-decoration:underline; }
.post-nav-all {
  display:inline-block; font-size:.83rem; font-weight:600;
  color:var(--text-muted); text-decoration:none;
  padding:.5rem 1.25rem; border-radius:6px;
  border:1.5px solid var(--border);
  white-space:nowrap; font-family:'Plus Jakarta Sans',sans-serif;
  transition:all .2s;
}
.post-nav-all:hover { border-color:var(--brand); color:var(--brand); }

/* ─── Blog Responsive ─── */
@media(max-width:1024px){
  .post-content-grid { grid-template-columns:1fr; }
  .post-sidebar { position:static; }
}
@media(max-width:900px){
  .blog-grid { grid-template-columns:1fr 1fr; }
  .post-nav-inner { grid-template-columns:1fr; text-align:center; }
  .post-nav-all { margin:0 auto; }
}
@media(max-width:600px){
  .blog-grid { grid-template-columns:1fr; }
}

/* ─── HOME BLOG PREVIEW ─── */
.home-blog {
  background: var(--brand-lighter);
  padding: 100px 5%;
  border-top: 1px solid var(--border);
}
.home-blog-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 3rem;
  flex-wrap: wrap;
  gap: 1rem;
}
.home-blog-all {
  font-size: .88rem;
  font-weight: 700;
  color: var(--brand);
  text-decoration: none;
  font-family: 'Plus Jakarta Sans', sans-serif;
  white-space: nowrap;
  transition: color .2s;
  padding-bottom: .25rem;
  border-bottom: 2px solid var(--accent);
}
.home-blog-all:hover { color: var(--brand-dark); }
.home-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}
.home-blog-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: transform .2s, box-shadow .2s;
}
.home-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(56,101,169,.1);
}
.home-blog-card-img {
  height: 180px;
  background-size: cover;
  background-position: center;
  background-color: var(--brand-lighter);
  transition: transform .3s;
}
.home-blog-card:hover .home-blog-card-img { transform: scale(1.03); }
.home-blog-card-img--empty {
  background: linear-gradient(135deg, var(--brand-lighter), #dce8f7);
}
.home-blog-card-body {
  padding: 1.4rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  flex: 1;
}
.home-blog-card-date {
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.home-blog-card-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--text);
  margin: 0;
  flex: 1;
}
.home-blog-card-excerpt {
  font-size: .83rem;
  color: var(--text-muted);
  font-weight: 300;
  line-height: 1.6;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.home-blog-card-cta {
  font-size: .8rem;
  font-weight: 700;
  color: var(--brand);
  font-family: 'Plus Jakarta Sans', sans-serif;
  margin-top: .25rem;
}

@media(max-width:900px){
  .home-blog-grid { grid-template-columns: 1fr; }
  .home-blog-header { flex-direction: column; align-items: flex-start; }
}

/* ═══════════════════════════════════════
   SERVICE CARDS — DIFFERENTIATED VARIANTS
═══════════════════════════════════════ */

/* Shared header layout */
.service-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}
.service-card-header .service-icon { margin-bottom: 0; }
.service-card-header .service-tag-sm { margin-bottom: 0; }

/* ── OUTSTAFFING — light with teal/green accent ── */
.service-card--out {
  background: var(--white);
  border-color: var(--border);
  position: relative;
  overflow: hidden;
}
.service-card--out::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 160px;
  background: linear-gradient(to top, rgba(72,160,100,.06), transparent);
  pointer-events: none;
}
.service-top-bar--out {
  background: linear-gradient(90deg, #3a8f5c, #5ab97a) !important;
}
.service-icon--out {
  background: #e8f5ee !important;
}
.service-tag-sm--out {
  background: #e8f5ee !important;
  color: #2d7a4a !important;
}
.service-card--out .s-title { color: var(--text); }
.service-card--out .s-desc  { color: var(--text-muted); }
.service-card--out .s-list li { color: var(--text-muted); }
.service-card--out .s-list li::before { background: #3a8f5c !important; }
.s-cta-link--out { color: #2d7a4a !important; }
.service-card--out:hover {
  border-color: #3a8f5c;
  box-shadow: 0 16px 40px rgba(58,143,92,.12);
}

/* ── MAINTENANCE — light with purple/indigo accent ── */
.service-card--mnt {
  background: var(--white);
  border-color: var(--border);
  position: relative;
  overflow: hidden;
}
.service-card--mnt::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 160px;
  background: linear-gradient(to top, rgba(120,80,180,.06), transparent);
  pointer-events: none;
}
.service-top-bar--mnt {
  background: linear-gradient(90deg, #7850b4, #9b6dd1) !important;
}
.service-icon--mnt {
  background: #f0ebf9 !important;
}
.service-tag-sm--mnt {
  background: #f0ebf9 !important;
  color: #6038a0 !important;
}
.service-card--mnt .s-title { color: var(--text); }
.service-card--mnt .s-desc  { color: var(--text-muted); }
.service-card--mnt .s-list li { color: var(--text-muted); }
.service-card--mnt .s-list li::before { background: #7850b4 !important; }
.s-cta-link--mnt { color: #6038a0 !important; }
.service-card--mnt:hover {
  border-color: #7850b4;
  box-shadow: 0 16px 40px rgba(120,80,180,.12);
}

/* ─── MAINTENANCE BENEFITS GRID — 3+wide+3 layout ─── */
.mnt-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3.5rem;
}
/* PowerServer/PowerClient spans all 3 columns */
.benefit-card--wide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  gap: .5rem 1.25rem;
  align-items: start;
}
.benefit-card--wide .benefit-icon {
  grid-row: 1;
  grid-column: 1;
  font-size: 2rem;
  margin-bottom: 0;
}
.benefit-card--wide .benefit-title {
  grid-row: 1;
  grid-column: 2;
  align-self: center;
}
.benefit-card--wide .benefit-desc {
  grid-row: 2;
  grid-column: 2;
}
.benefit-desc--two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
.benefit-desc--two-col p {
  font-size: .85rem;
  color: var(--text-muted);
  font-weight: 300;
  line-height: 1.65;
  margin: 0;
}
@media(max-width:900px){
  .mnt-benefits-grid { grid-template-columns: 1fr; }
  .benefit-card--wide { grid-column: 1; grid-template-columns: auto 1fr; }
  .benefit-desc--two-col { grid-template-columns: 1fr; }
}

/* ─── ENABLE PB QUICK ACCESS — differentiated cards ─── */

/* Replace old emoji icon with SVG icon wrap */
.epb-quick-icon-wrap {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-bottom: 1.25rem;
  transition: transform .2s;
}
.epb-quick-card:hover .epb-quick-icon-wrap { transform: scale(1.08); }

/* HELPDESK — brand blue, solid background */
.epb-quick-card--helpdesk {
  background: var(--brand);
  border-color: var(--brand);
}
.epb-quick-card--helpdesk::before { background: linear-gradient(90deg, var(--brand-dark), var(--accent)); }
.epb-quick-icon-wrap--helpdesk {
  background: rgba(255,255,255,.18);
  color: #fff;
}
.epb-quick-card--helpdesk h3 { color: #fff; }
.epb-quick-card--helpdesk p  { color: rgba(255,255,255,.8); }
.epb-quick-card--helpdesk .epb-quick-cta { color: var(--accent); }
.epb-quick-card--helpdesk:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(56,101,169,.25);
}

/* DOWNLOAD — clean white with green accent */
.epb-quick-card--download {
  background: var(--white);
  border-color: var(--border);
}
.epb-quick-card--download::before { background: linear-gradient(90deg, #3a8f5c, #5ab97a); }
.epb-quick-icon-wrap--download {
  background: #e8f5ee;
  color: #2d7a4a;
}
.epb-quick-card--download h3 { color: var(--text); }
.epb-quick-card--download p  { color: var(--text-muted); }
.epb-quick-card--download .epb-quick-cta { color: #2d7a4a; }
.epb-quick-card--download:hover {
  border-color: #3a8f5c;
  box-shadow: 0 12px 36px rgba(58,143,92,.12);
}

/* PRODUCT SITE — clean white with purple accent */
.epb-quick-card--site {
  background: var(--white);
  border-color: var(--border);
}
.epb-quick-card--site::before { background: linear-gradient(90deg, #7850b4, #9b6dd1); }
.epb-quick-icon-wrap--site {
  background: #f0ebf9;
  color: #6038a0;
}
.epb-quick-card--site h3 { color: var(--text); }
.epb-quick-card--site p  { color: var(--text-muted); }
.epb-quick-card--site .epb-quick-cta { color: #6038a0; }
.epb-quick-card--site:hover {
  border-color: #7850b4;
  box-shadow: 0 12px 36px rgba(120,80,180,.12);
}

/* ─── ENABLE PB FEATURES — compact row layout ─── */
.epb-features-compact {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 2.5rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--white);
}
.epb-feature-row {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem 1.75rem;
  border-bottom: 1px solid var(--border);
  transition: background .15s;
}
.epb-feature-row:last-child { border-bottom: none; }
.epb-feature-row:hover { background: var(--brand-lighter); }
.epb-feature-row-icon {
  width: 44px; height: 44px;
  background: var(--brand-lighter);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: var(--brand);
  flex-shrink: 0;
  transition: background .15s, color .15s;
}
.epb-feature-row:hover .epb-feature-row-icon {
  background: var(--brand);
  color: #fff;
}
.epb-feature-row-body h4 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .95rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: .2rem;
}
.epb-feature-row-body p {
  font-size: .83rem;
  color: var(--text-muted);
  font-weight: 300;
  line-height: 1.55;
  margin: 0;
}
.epb-feature-row-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: flex-end;
  flex-shrink: 0;
}
.epb-feature-row-tags span {
  font-size: .72rem;
  font-weight: 600;
  color: var(--brand);
  background: var(--brand-light);
  border-radius: 4px;
  padding: .2rem .5rem;
  white-space: nowrap;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
@media(max-width:700px){
  .epb-feature-row { grid-template-columns: 44px 1fr; }
  .epb-feature-row-tags { display: none; }
}

/* ─── ENABLE PB — specific hero image ─── */
.page-hero--enablepb {
  background:
    linear-gradient(135deg,rgba(15,25,55,.72) 0%,rgba(20,32,65,.68) 50%,rgba(10,20,45,.62) 100%),
    var(--enable-pb-hero-img) center/cover no-repeat !important;
}
.page-hero--enablepb .section-tag { background:rgba(255,255,255,.15); color:#fff; }
.page-hero--enablepb .page-hero-title { color:#fff; }
.page-hero--enablepb .page-hero-sub { color:rgba(255,255,255,.82); }
.page-hero--enablepb .btn-primary { background:var(--accent); color:var(--text); }

/* ─── BLOG — specific hero image ─── */
.page-hero--blog {
  background:
    linear-gradient(135deg,rgba(15,25,55,.65) 0%,rgba(20,32,65,.60) 50%,rgba(10,20,45,.55) 100%),
    var(--blog-hero-img) center/cover no-repeat !important;
}
.page-hero--blog .section-tag { background:rgba(255,255,255,.15); color:#fff; }
.page-hero--blog .page-hero-title { color:#fff; }
.page-hero--blog .page-hero-sub { color:rgba(255,255,255,.82); }

/* ─── WHITE GHOST BUTTON — for dark hero backgrounds ─── */
.btn-ghost--white {
  border-color: rgba(255,255,255,.7) !important;
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
}
.btn-ghost--white:hover {
  border-color: #fff !important;
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
}

/* ─── ABOUT — specific hero image ─── */
.page-hero--about {
  background:
    linear-gradient(135deg,rgba(10,20,50,.68) 0%,rgba(15,28,60,.62) 50%,rgba(8,18,45,.58) 100%),
    var(--about-hero-img) center/cover no-repeat !important;
}
.page-hero--about .section-tag { background:rgba(255,255,255,.15); color:#fff; }
.page-hero--about .page-hero-title { color:#fff; }
.page-hero--about .page-hero-sub { color:rgba(255,255,255,.82); }

/* ─── MAINTENANCE 5-card: 2 + wide + 2 ─── */
.mnt-benefits-grid--5 {
  grid-template-columns: repeat(2, 1fr);
}
.mnt-benefits-grid--5 .benefit-card--wide {
  grid-column: 1 / -1;
}
@media(max-width:900px){
  .mnt-benefits-grid--5 { grid-template-columns: 1fr; }
  .mnt-benefits-grid--5 .benefit-card--wide { grid-column: 1; }
}

.footer-bottom-sep{margin:0 .5rem;opacity:.4;}

/* ─── COOKIE POLICY / STANDARD WP PAGES — full width ─── */
.page-template-default .entry-content,
.page-template-default article,
.single-page-content,
body.page:not(.page-template-front-page):not(.page-template-page-about):not(.page-template-page-contact):not(.page-template-page-modernization):not(.page-template-page-outstaffing):not(.page-template-page-maintenance):not(.page-template-page-enable-pb):not(.page-template-page-blog) .wp-block-group,
.entry-content { max-width: 100% !important; width: 100% !important; }

/* ─── BLOG PAGINATION — fix invisible number ─── */
ul.page-numbers li .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  border-radius: 8px;
  border: 1.5px solid var(--border);
  font-size: .88rem;
  font-weight: 600;
  color: var(--text-muted);
  text-decoration: none;
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: var(--white);
  transition: all .2s;
}
ul.page-numbers li .page-numbers.current {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--white);
}
ul.page-numbers li .page-numbers:hover:not(.current) {
  border-color: var(--brand);
  color: var(--brand);
}
ul.page-numbers { display: flex; gap: .5rem; list-style: none; flex-wrap: wrap; justify-content: center; margin: 2.5rem 0 0; padding: 0; }

/* ─── BLOG CARD IMAGES — ensure correct display ─── */
.blog-card-image {
  overflow: hidden;
  position: relative;
}
.blog-card-image-link {
  display: block;
  overflow: hidden;
}
.blog-card-image {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  height: 200px;
  width: 100%;
  display: block;
  transition: transform .3s;
}
.blog-card:hover .blog-card-image { transform: scale(1.03); }

/* ─── DEFAULT WP PAGE (Cookie Policy, Terms, etc.) ─── */
.wp-page-hero {
  padding: 100px 5% 60px;
  background: var(--brand-lighter);
  border-bottom: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.wp-page-hero-inner { position: relative; z-index: 1; max-width: 900px; }
.wp-page-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 700;
  color: var(--text);
  margin: 0;
}
.wp-page-content { background: var(--white); padding: 60px 5% 100px; }
.wp-page-content-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; box-sizing: border-box; overflow-x: hidden; }
.wp-page-article { font-family: 'Plus Jakarta Sans', sans-serif; }
.wp-page-article h1, .wp-page-article h2, .wp-page-article h3,
.wp-page-article h4, .wp-page-article h5, .wp-page-article h6 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700; color: var(--text); margin: 2rem 0 .75rem; line-height: 1.25;
}
.wp-page-article h2 { font-size: 1.5rem; }
.wp-page-article h3 { font-size: 1.2rem; }
.wp-page-article p { font-size: .95rem; line-height: 1.8; color: var(--text-muted); margin-bottom: 1.25rem; font-weight: 300; }
.wp-page-article a { color: var(--brand); text-decoration: underline; }
.wp-page-article ul, .wp-page-article ol { margin: 0 0 1.25rem 1.5rem; }
.wp-page-article li { font-size: .95rem; line-height: 1.75; color: var(--text-muted); margin-bottom: .4rem; font-weight: 300; }
.wp-page-article table { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; font-size: .88rem; }
.wp-page-article th, .wp-page-article td { padding: .75rem 1rem; border: 1px solid var(--border); text-align: left; vertical-align: top; }
.wp-page-article th { background: var(--brand-lighter); font-weight: 700; color: var(--brand); }
.wp-page-article td { background: var(--white); color: var(--text-muted); font-weight: 300; }
.wp-page-article tr:nth-child(even) td { background: var(--brand-lighter); }

/* ─── COOKIE POLICY PLUGIN — force full width ─── */
.wp-page-content-inner,
.wp-page-article,
.entry-content,
.cmplz-document,
.cmplz-cookie-statement,
.cc-compliance,
.cookiepolicy,
[class*="cookie"] .wp-block-group,
[class*="complianz"],
[class*="cookieyes"],
[class*="gdpr"] {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Fix cookie plugin tables */
.wp-page-article table,
.cmplz-document table,
[class*="cookie"] table {
  width: 100% !important;
  table-layout: fixed !important;
  word-break: break-word;
}

/* Fix the cookie consent buttons column that overflows */
.wp-page-article td:last-child,
.cmplz-document td:last-child {
  min-width: 120px;
  word-break: normal;
}

/* ─── COMPLIANZ PLUGIN — contained layout ─── */
.cmplz-document,
#cmplz-document,
.cmplz-cookiepolicy,
.wp-block-cmplz-cookiepolicy {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  padding: 0 !important;
}

/* Cookie table — contained, no overflow */
.cmplz-document table,
.cmplz-cookiepolicy table,
#cmplz-document table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  box-sizing: border-box !important;
}

.cmplz-document table td,
.cmplz-document table th,
.cmplz-cookiepolicy table td,
.cmplz-cookiepolicy table th {
  padding: .6rem .8rem !important;
  vertical-align: middle !important;
  word-break: break-word !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ─── COMPLIANZ header row consent toggle fix ─── */
.cmplz-cookiepolicy .cmplz-header,
.cmplz-document .cmplz-header {
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 1rem !important;
}
.cmplz-cookiepolicy .cmplz-consent-toggle,
.cmplz-document .cmplz-consent-toggle,
.cmplz-cookiepolicy [class*="consent-toggle"],
.cmplz-document [class*="consent-toggle"] {
  white-space: nowrap !important;
  min-width: max-content !important;
  flex-shrink: 0 !important;
}
.cmplz-cookiepolicy .cmplz-category-header,
.cmplz-document .cmplz-category-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: .75rem !important;
  padding: .75rem 1rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
/* Prevent the service name from pushing consent button off screen */
.cmplz-cookiepolicy .cmplz-service-name,
.cmplz-document .cmplz-service-name {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.cmplz-cookiepolicy .cmplz-purpose,
.cmplz-document .cmplz-purpose {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* ─── COMPLIANZ shortcode wrapper — force contained ─── */
.wp-page-content { overflow-x: hidden !important; }
.wp-page-content-inner { overflow-x: hidden !important; }
.wp-page-article { overflow-x: hidden !important; }
#cmplz-cookies-overview {
  max-width: 100% !important;
  width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* ─── BLOG PAGINATION — fix current page number visibility ─── */
ul.page-numbers li span.current,
ul.page-numbers li .page-numbers.current {
  background: var(--brand) !important;
  border-color: var(--brand) !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  border: 1.5px solid var(--brand) !important;
}

/* ─── BLOG PAGINATION — inner span color fix ─── */
ul.page-numbers .current span {
  color: #ffffff !important;
}

/* ─── BLOG CARD IMAGE — show top of image, not center ─── */
.blog-card-image,
.home-blog-card-img {
  background-position: top center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* ══════════════════════════════════════
   FUTURIZE PB PAGE
══════════════════════════════════════ */

/* Hero background */
.lp-hero-bg-futurize {
  position: absolute;
  inset: 0;
  background: url() center/cover no-repeat;
  background-image: var(--futurize-hero-img);
  opacity: 1;
}
.lp-hero-bg-futurize::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(8,15,35,.35) 0%, rgba(15,25,55,.25) 50%, rgba(10,20,50,.30) 100%);
}

/* Dark hero — white text */
.lp-hero:has(.lp-hero-bg-futurize) .lp-title {
  color: #fff !important;
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  line-height: 1.2 !important;
}
.lp-hero:has(.lp-hero-bg-futurize) .lp-sub {
  color: rgba(255,255,255,.78) !important;
}
.lp-hero:has(.lp-hero-bg-futurize) .lp-badge {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.2) !important;
}
.lp-hero:has(.lp-hero-bg-futurize) .lp-chip {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
}

/* ── Hero split layout (Futurize) ── */
.lp-hero--split .lp-hero-inner--split {
  max-width: 1160px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 4rem;
}
.lp-hero-text { display: flex; flex-direction: column; gap: 0; }
.lp-hero-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeUp 1s ease .2s both;
}
.lp-hero-product-img {
  width: 100%;
  max-width: 480px;
  border-radius: 16px;
  box-shadow: 0 32px 80px rgba(0,0,0,.45), 0 8px 24px rgba(0,0,0,.3);
}
@media (max-width: 768px) {
  .lp-hero--split .lp-hero-inner--split {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .lp-hero-visual { order: -1; }
  .lp-hero-product-img { max-width: 320px; }
}

/* Formula section */
.futurize-intro {
  background: var(--white);
  padding: 80px 5%;
  border-bottom: 1px solid var(--border);
}
.futurize-intro-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.futurize-tagline {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.2rem, 2.8vw, 2.2rem);
  font-weight: 700;
  font-style: italic;
  color: var(--brand);
  margin-bottom: 2.5rem;
  line-height: 1.2;
  letter-spacing: -.01em;
  white-space: nowrap;
}
.futurize-formula {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.futurize-formula-part {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 700;
  color: var(--brand);
  background: var(--brand-lighter);
  padding: .5rem 1.5rem;
  border-radius: 8px;
  border: 2px solid var(--brand);
}
.futurize-formula-op {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 300;
  color: var(--text-muted);
}
.futurize-formula-result {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 700;
  color: var(--white);
  background: var(--brand);
  padding: .5rem 1.5rem;
  border-radius: 8px;
}
.futurize-intro-inner p {
  font-size: 1.05rem;
  color: var(--text-muted);
  line-height: 1.7;
  font-weight: 300;
  max-width: 700px;
  margin: 0 auto;
}

/* Stack section */
.futurize-stack {
  background: var(--white);
  padding: 80px 5%;
}
.futurize-stack-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 2.5rem;
}
.futurize-stack-card {
  background: var(--brand-lighter);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 2rem;
}
.futurize-stack-icon { font-size: 2rem; margin-bottom: 1rem; display: block; }
.futurize-stack-card h3 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.1rem; font-weight: 700;
  color: var(--text); margin-bottom: .75rem;
}
.futurize-stack-card p {
  font-size: .88rem; color: var(--text-muted);
  font-weight: 300; line-height: 1.65; margin-bottom: 1rem;
}

/* Collaboration section */
.futurize-collab {
  background: var(--brand);
  padding: 80px 5%;
  text-align: center;
}
.futurize-collab-inner { max-width: 700px; margin: 0 auto; }
.futurize-collab .section-tag { background: rgba(255,255,255,.15); color: #fff; display: inline-block; }
.futurize-collab .section-title { color: #fff; }
.futurize-collab .section-sub { color: rgba(255,255,255,.8); }

/* Partial conversion section */
.futurize-partial {
  background: var(--brand-lighter);
  padding: 80px 5%;
  border-top: 1px solid var(--border);
}
.futurize-partial-inner { max-width: 860px; margin: 0 auto; }
.futurize-partial .section-title { margin-bottom: 1.5rem; }
.futurize-partial p {
  font-size: .95rem; color: var(--text-muted);
  font-weight: 300; line-height: 1.75;
  margin-bottom: 1.25rem;
}
.futurize-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 2rem;
}
.futurize-option {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  transition: border-color .2s, box-shadow .2s;
}
.futurize-option:hover {
  border-color: var(--brand);
  box-shadow: 0 4px 16px rgba(56,101,169,.08);
}
.futurize-option span:first-child { font-size: 1.5rem; }
.futurize-option strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .92rem; font-weight: 700; color: var(--brand);
}
.futurize-option span:last-child {
  font-size: .82rem; color: var(--text-muted); font-weight: 300;
}

@media(max-width:900px){
  .futurize-stack-grid { grid-template-columns: 1fr; }
  .futurize-options { grid-template-columns: 1fr; }
  .futurize-formula { gap: .75rem; }
}

/* ══════════════════════════════════════
   FUTURIZE PB — REDESIGNED SECTIONS
══════════════════════════════════════ */

/* ── 5 TOOLS CARDS in a row, vertical ── */
.futurize-tools {
  background: var(--white);
  padding: 80px 5%;
}
.futurize-tools-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
.futurize-tool-card {
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  padding: 1.75rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
  transition: transform .2s, box-shadow .2s;
}
.futurize-tool-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(56,101,169,.12);
}
/* 5 tool cards: stepped progression #3865a9 → #ff914d */
.futurize-tool-card--style   { background: linear-gradient(135deg, #3865a9 0%, #4d78b8 100%); }
.futurize-tool-card--explain { background: linear-gradient(135deg, #6b6aac 0%, #7d7cbf 100%); }
.futurize-tool-card--api     { background: linear-gradient(135deg, #9e6fa5 0%, #b380b8 100%); }
.futurize-tool-card--logic   { background: linear-gradient(135deg, #d1749e 0%, #e085b0 100%); }
.futurize-tool-card--windows { background: linear-gradient(135deg, #ff914d 0%, #ffa566 100%); }
.futurize-tool-card h4 { color: #fff !important; }
.futurize-tool-card p  { color: rgba(255,255,255,.85) !important; }
.futurize-tool-icon { font-size: 1.8rem; display: block; }
.futurize-tool-card h4 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .92rem; font-weight: 700;
  color: var(--text); line-height: 1.3;
}
.futurize-tool-card p {
  font-size: .8rem; color: var(--text-muted);
  font-weight: 300; line-height: 1.6; margin: 0;
  flex: 1;
}

/* ── STACK — gradient bg, no emoji, compact ── */
.futurize-stack-v2 {
  background: linear-gradient(135deg, #1a2a6c 0%, #2d3a8c 40%, #1e4d8c 100%);
  padding: 60px 5%;
}
.futurize-stack-v2-inner { max-width: 1100px; margin: 0 auto; }
.futurize-stack-v2 .section-title { margin-bottom: 1.5rem; }
.futurize-stack-v2-grid {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-top: 2rem;
  background: rgba(255,255,255,.08);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,.15);
  overflow: hidden;
}
.futurize-stack-v2-card {
  flex: 1;
  padding: 2rem;
}
.futurize-stack-v2-sep {
  width: 1px;
  background: rgba(255,255,255,.2);
  flex-shrink: 0;
}
.futurize-stack-v2-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .72rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--accent); margin-bottom: .75rem;
}
.futurize-stack-v2-card p {
  font-size: .85rem; color: rgba(255,255,255,.7);
  font-weight: 300; line-height: 1.6; margin-bottom: 1rem;
}
.futurize-stack-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.futurize-stack-tag {
  font-size: .72rem; font-weight: 600; letter-spacing: .02em;
  padding: .25rem .7rem; border-radius: 100px;
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.75);
  border: 1px solid rgba(255,255,255,.15);
}
.futurize-stack-tag--rec {
  background: rgba(200,168,75,.18);
  color: var(--accent);
  border-color: rgba(200,168,75,.3);
}
.futurize-stack-note {
  text-align: center; margin-top: 1.25rem;
  font-size: .75rem; color: rgba(255,255,255,.4);
  font-weight: 300; letter-spacing: .02em;
}

/* ── 4 RESOURCE CARDS in a row, vertical ── */
.futurize-resources {
  background: var(--white);
  padding: 80px 5%;
}
.futurize-resources-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
.futurize-resource-card {
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  padding: 1.75rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
  transition: transform .2s, box-shadow .2s;
}
.futurize-resource-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(56,101,169,.1);
}
/* 4 resource cards: stepped progression #3865a9 → #ff914d */
.futurize-resource-card--pm   { background: linear-gradient(135deg, #3865a9 0%, #4d78b8 100%); }
.futurize-resource-card--arch { background: linear-gradient(135deg, #7c6daa 0%, #9180be 100%); }
.futurize-resource-card--dev  { background: linear-gradient(135deg, #be74a1 0%, #d486b5 100%); }
.futurize-resource-card--qa   { background: linear-gradient(135deg, #ff914d 0%, #ffa566 100%); }
.futurize-resource-card h4 { color: #fff !important; }
.futurize-resource-card p  { color: rgba(255,255,255,.85) !important; }
.futurize-resource-icon { font-size: 1.8rem; display: block; }
.futurize-resource-card h4 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .92rem; font-weight: 700;
  color: var(--text); line-height: 1.3;
}
.futurize-resource-card p {
  font-size: .8rem; color: var(--text-muted);
  font-weight: 300; line-height: 1.6; margin: 0; flex: 1;
}

/* ── PROCESS — enhanced graphics ── */
.lp-process {
  background: var(--brand);
  padding: 80px 5%;
  position: relative;
  overflow: hidden;
}
.lp-process::before {
  content: '';
  position: absolute;
  top: -100px; right: -100px;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.08) 0%, transparent 70%);
  pointer-events: none;
}
.lp-process .section-tag { background: rgba(255,255,255,.15); color: rgba(255,255,255,.9); }
.lp-process .section-title { color: #fff; }
.lp-process .section-sub { color: rgba(255,255,255,.7); }
.lp-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
  position: relative;
  z-index: 1;
}
.lp-step {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: background .2s, border-color .2s;
}
.lp-step:hover {
  background: rgba(255,255,255,.18);
  border-color: rgba(200,168,75,.5);
}
.step-number {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 2rem; font-weight: 800;
  color: var(--accent);
  opacity: .9;
  line-height: 1;
}
.step-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .92rem; font-weight: 700;
  color: #fff; line-height: 1.3;
}
.step-desc {
  font-size: .8rem; color: rgba(255,255,255,.55);
  font-weight: 300; line-height: 1.65; margin: 0;
}

/* ── HYBRID (Collaboration + Partial conversion) ── */
.futurize-hybrid {
  background: linear-gradient(135deg, #0f1c4a 0%, #1a3066 50%, #0d2244 100%);
  padding: 80px 5%;
}
.futurize-hybrid-inner { max-width: 1100px; margin: 0 auto; }
.futurize-hybrid-grid {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 3rem;
  align-items: start;
}
.futurize-hybrid-divider {
  background: rgba(255,255,255,.15);
  align-self: stretch;
}
.futurize-options-mini {
  display: flex;
  flex-direction: column;
  gap: .6rem;
  margin-top: 1.25rem;
}
.futurize-option-mini {
  display: flex;
  align-items: baseline;
  gap: .6rem;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  padding: .6rem 1rem;
}
.futurize-option-mini strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .82rem; font-weight: 700;
  color: var(--accent);
  white-space: nowrap;
}
.futurize-option-mini span {
  font-size: .78rem; color: rgba(255,255,255,.55);
  font-weight: 300;
}

@media(max-width:1100px){
  .futurize-tools-grid { grid-template-columns: repeat(3, 1fr); }
  .futurize-resources-grid { grid-template-columns: repeat(2, 1fr); }
  .lp-steps { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width:768px){
  .futurize-tools-grid { grid-template-columns: 1fr 1fr; }
  .futurize-resources-grid { grid-template-columns: 1fr; }
  .futurize-stack-v2-grid { flex-direction: column; }
  .futurize-stack-v2-sep { width: 100%; height: 1px; }
  .futurize-hybrid-grid { grid-template-columns: 1fr; }
  .futurize-hybrid-divider { display: none; }
  .lp-steps { grid-template-columns: 1fr; }
}

/* ── Futurize Q&A rows ──────────────────────────────────────── */
.futurize-qa {
  border-top: 0.5px solid var(--border);
}
.futurize-qa-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 0.5px solid var(--border);
  position: relative;
  overflow: hidden;
}

/* ── Futurize hero merged ───────────────────────────────────── */
.futurize-hero-merged {
  min-height: 100vh;
}
.futurize-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 72px 5% 64px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.futurize-hero-logo {
  margin-bottom: 40px;
}
.futurize-hero-logo img {
  width: 100%;
  max-width: 552px;
  height: auto;
  display: block;
}
.futurize-hero-merged .lp-badge { margin-bottom: 16px; }
.futurize-hero-merged .lp-title {
  white-space: nowrap;
  text-align: left;
  color: #fff !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
}
.futurize-hero-merged .lp-sub  { max-width: 600px; text-align: left; }
.futurize-hero-merged .lp-hero-chips { justify-content: flex-start; }

.lp-hero-bg-futurize {
  position: absolute;
  inset: 0;
  background: url() center/cover no-repeat;
  background-image: var(--futurize-hero-img);
  opacity: 1;
}
.lp-hero-bg-futurize::after { content: none; }
.lp-hero:has(.lp-hero-bg-futurize) .lp-title  { color: #fff !important; }
.lp-hero:has(.lp-hero-bg-futurize) .lp-sub    { color: rgba(255,255,255,.8) !important; }
.lp-hero:has(.lp-hero-bg-futurize) .lp-badge  { background: rgba(255,255,255,.12); color: rgba(255,255,255,.85); border-color: rgba(255,255,255,.2); }
.lp-hero:has(.lp-hero-bg-futurize) .lp-chip   { background: rgba(255,255,255,.1); color: rgba(255,255,255,.8); border-color: rgba(255,255,255,.2); }

@media (max-width: 600px) {
  .futurize-hero-merged .lp-title { white-space: normal; }
  .futurize-hero-logo img { max-width: 280px; }
}

/* ── Futurize intro (formula section) ──────────────────────── */
.futurize-intro {
  background: #f0f3f8;
  padding: 80px 5%;
  border-bottom: 1px solid var(--border);
}
.futurize-intro-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.futurize-formula {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.futurize-formula-part {
  border: 2px solid var(--brand);
  border-radius: 10px;
  padding: 12px 28px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(1rem, 2vw, 1.4rem);
  font-weight: 700;
  color: var(--brand);
}
.futurize-formula-op {
  font-size: clamp(1.2rem, 2.5vw, 1.8rem);
  color: var(--text-muted);
  font-weight: 300;
}
.futurize-formula-result {
  border: 2px solid var(--brand);
  border-radius: 10px;
  padding: 12px 28px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(1rem, 2vw, 1.4rem);
  font-weight: 700;
  background: var(--brand);
  color: #fff;
}
.futurize-intro-inner p {
  font-size: 1rem;
  color: var(--text-muted);
  line-height: 1.75;
  max-width: 640px;
  margin: 0 auto;
}

/* ── Futurize Q&A rows ──────────────────────────────────────── */
.futurize-qa { border-top: 0.5px solid var(--border); }
.futurize-qa-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 0.5px solid var(--border);
  position: relative;
  overflow: hidden;
}
.futurize-qa-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 1;
  z-index: 0;
}
.futurize-qa-item:nth-child(1) .futurize-qa-bg { background-image: var(--qa-bg-01); }
.futurize-qa-item:nth-child(2) .futurize-qa-bg { background-image: var(--qa-bg-02); }
.futurize-qa-item:nth-child(3) .futurize-qa-bg { background-image: var(--qa-bg-03); }
.futurize-qa-item:nth-child(4) .futurize-qa-bg { background-image: var(--qa-bg-04); }
.futurize-qa-item:hover .futurize-qa-bg { filter: brightness(1.08); }
.futurize-qa-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,.55) 0%, rgba(0,0,0,.40) 50%, rgba(0,0,0,.55) 100%);
  z-index: 0;
}
.futurize-qa-left {
  position: relative;
  z-index: 1;
  border-right: 0.5px solid rgba(255,255,255,.2);
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2.5rem;
}
.futurize-qa-right {
  position: relative;
  z-index: 1;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.25rem;
}
.futurize-qa-text { position: relative; z-index: 1; }
.futurize-qa-num  { display: none; }
.futurize-qa-q {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  margin-bottom: .85rem;
  text-shadow: 0 2px 8px rgba(0,0,0,.6), 0 1px 2px rgba(0,0,0,.8);
}
.futurize-qa-a {
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.4;
  margin: 0;
  text-shadow: 0 1px 6px rgba(0,0,0,.5);
}
.futurize-qa-body {
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  color: #fff;
  line-height: 1.75;
  margin: 0;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
.futurize-qa-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.futurize-qa-tag {
  background: rgba(255,255,255,.15);
  color: #fff;
  font-size: .8rem;
  padding: 5px 14px;
  border-radius: 20px;
  border: 0.5px solid rgba(255,255,255,.3);
  font-weight: 500;
}
@media (max-width: 768px) {
  .futurize-qa-item { grid-template-columns: 1fr; }
  .futurize-qa-left { min-height: 200px; border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.2); }
}

/* ── Futurize Metrics ───────────────────────────────────────── */
.futurize-metrics {
  background: var(--brand);
  padding: 0;
}
.futurize-metrics-inner {
  display: flex;
  align-items: stretch;
  max-width: 100%;
}
.futurize-metric {
  flex: 1;
  padding: 2.5rem 2rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}
.futurize-metric-sep {
  width: 1px;
  background: rgba(255,255,255,.15);
  align-self: stretch;
}
.futurize-metric-value {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 800;
  color: #fff;
  line-height: 1;
}
.futurize-metric-unit {
  font-size: .6em;
  font-weight: 600;
  opacity: .8;
}
.futurize-metric-label {
  font-size: .82rem;
  color: rgba(255,255,255,.7);
  line-height: 1.4;
  max-width: 160px;
}
@media (max-width: 768px) {
  .futurize-metrics-inner { flex-wrap: wrap; }
  .futurize-metric { flex: 0 0 50%; border-bottom: 1px solid rgba(255,255,255,.1); }
  .futurize-metric-sep { display: none; }
}

/* ── Futurize How We Start ──────────────────────────────────── */
.futurize-start {
  background: #f0f3f8;
  padding: 80px 5%;
}
.futurize-start-inner {
  max-width: 1100px;
  margin: 0 auto;
}
.futurize-start-grid {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-top: 3rem;
}
.futurize-start-card {
  flex: 1;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}
.futurize-start-card--pilot  { border-top: 3px solid #3865a9; }
.futurize-start-card--plan   { border-top: 3px solid #9e6fa5; }
.futurize-start-card--delivery { border-top: 3px solid #ff914d; }
.futurize-start-step {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 2rem;
  font-weight: 800;
  color: var(--border);
  line-height: 1;
}
.futurize-start-card h3 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text);
  margin: 0;
}
.futurize-start-card p {
  font-size: .9rem;
  color: var(--text-muted);
  line-height: 1.7;
  margin: 0;
  flex: 1;
}
.futurize-start-detail {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  padding-top: .75rem;
  border-top: 1px solid var(--border);
}
.futurize-start-detail span {
  font-size: .8rem;
  color: var(--text-muted);
  font-weight: 500;
}
.futurize-start-arrow {
  font-size: 1.5rem;
  color: var(--border);
  padding: 0 1rem;
  align-self: center;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .futurize-start-grid { flex-direction: column; }
  .futurize-start-arrow { transform: rotate(90deg); align-self: center; padding: .5rem 0; }
}

/* ── Futurize CTA ───────────────────────────────────────────── */
.futurize-cta {
  background: linear-gradient(135deg, #0d1b2e 0%, #1a3066 100%);
  padding: 100px 5%;
  text-align: center;
}
.futurize-cta-inner {
  max-width: 640px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.futurize-cta-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  margin: 0;
}
.futurize-cta-sub {
  font-size: 1.1rem;
  color: rgba(255,255,255,.65);
  margin: 0;
  line-height: 1.6;
}
.futurize-cta-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: .5rem;
}
.futurize-cta-btn {
  display: inline-block;
  padding: .9rem 2rem;
  border-radius: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .95rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity .2s, transform .2s;
}
.futurize-cta-btn:hover { opacity: .88; transform: translateY(-2px); }
.futurize-cta-btn--primary {
  background: #ff914d;
  color: #fff;
}
.futurize-cta-btn--ghost {
  background: transparent;
  color: rgba(255,255,255,.8);
  border: 1px solid rgba(255,255,255,.25);
}

/* ── Futurize network diagram ───────────────────────────────── */
.futurize-network-wrap {
  position: relative;
  max-width: 560px;
  margin: 2.5rem auto 0;
}
.futurize-net { width: 100%; height: auto; display: block; }
.fpb-node { cursor: pointer; }
.fpb-node circle { transition: filter .2s; }
.fpb-node:hover circle { filter: brightness(1.15); }
.fpb-line { stroke-dasharray: 6 4; animation: fpb-dash 1.6s linear infinite; }
@keyframes fpb-dash { to { stroke-dashoffset: -20; } }
.futurize-net-desc {
  margin-top: 1rem;
  background: var(--white);
  border: 0.5px solid var(--border);
  border-radius: 12px;
  padding: 12px 20px;
  font-size: .9rem;
  color: var(--text-muted);
  line-height: 1.6;
  text-align: center;
  min-height: 52px;
}

/* ── Futurize network pulse ─────────────────────────────────── */
.fpb-pulse {
  animation: fpb-pulse 2s ease-out infinite;
}
@keyframes fpb-pulse {
  0%   { opacity: .5; stroke-width: 0; }
  70%  { opacity: 0;  stroke-width: 14; }
  100% { opacity: 0;  stroke-width: 14; }
}

/* ── Futurize network ───────────────────────────────────────── */
.futurize-network-outer { max-width: 600px; margin: 2.5rem auto 0; }
.futurize-network-wrap { position: relative; }
.futurize-net { width: 100%; height: auto; display: block; }
.fpb-node { cursor: pointer; }
.fpb-node circle:not(.fpb-pulse) { transition: filter .2s; }
.fpb-node:hover circle:not(.fpb-pulse),
.fpb-node.active circle:not(.fpb-pulse) { filter: brightness(1.15); }
.fpb-line { stroke-dasharray: 6 4; animation: fpb-dash 1.6s linear infinite; }
@keyframes fpb-dash { to { stroke-dashoffset: -20; } }
.fpb-tooltip {
  position: absolute;
  width: 210px;
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: .82rem;
  color: var(--text-muted);
  line-height: 1.55;
  box-shadow: 0 4px 20px rgba(0,0,0,.1);
  pointer-events: none;
  z-index: 10;
  transition: border-color .2s;
}
.fpb-tooltip strong {
  display: block;
  color: var(--text);
  font-weight: 600;
  font-size: .88rem;
  margin-bottom: 4px;
}

/* ── Futurize Teaser Banner ─────────────────────────────────── */
.futurize-teaser { background: linear-gradient(135deg,#0d1b2e 0%,#1a3066 100%); border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
.futurize-teaser-inner { max-width: 1200px; margin: 0 auto; padding: 2rem 5%; display: flex; align-items: center; gap: 2.5rem; }
.futurize-teaser-logo { flex-shrink: 0; }
.futurize-teaser-logo img { height: 48px; width: auto; display: block; }
.futurize-teaser-content { flex: 1; }
.futurize-teaser-tag { font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #ff914d; margin-bottom: .35rem; }
.futurize-teaser-text { font-size: .95rem; color: rgba(255,255,255,.75); line-height: 1.5; margin: 0; }
.futurize-teaser-btn { flex-shrink: 0; display: inline-block; padding: .7rem 1.5rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; color: #fff; font-size: .88rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .2s, border-color .2s; }
.futurize-teaser-btn:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.35); }
@media (max-width: 768px) { .futurize-teaser-inner { flex-direction: column; align-items: flex-start; gap: 1rem; } .futurize-teaser-btn { align-self: flex-start; } }
