/*
Theme Name: Saiora Modern Starter
Theme URI: https://example.com/
Author: OpenAI
Version: 3.3.1
Description: Elementor-friendly classic WordPress starter theme with dark premium hero, trust strip, modern IT solutions section, Solutek-style services, dark testimonial carousel, quote form, and upgraded footer.
Text Domain: saiora-modern-starter
Requires at least: 6.4
Requires PHP: 7.4
*/

:root{
  --theme-primary:#0c54a8;
  --theme-secondary:#002b53;
  --theme-accent:#26a5db;
  --theme-bg:#f5f8fc;
  --theme-surface:#ffffff;
  --theme-border:#dce5ef;
  --theme-text:#17314f;
  --theme-muted:#68788b;
  --theme-heading:#002b53;
  --theme-soft:#eef5fb;
  --theme-soft-2:#f8fbff;
  --theme-dark:#031c37;

  --font-heading:'Inter', Arial, sans-serif;
  --font-body:'Inter', Arial, sans-serif;

  --container:1280px;
  --radius:20px;
  --section-space:110px;
  --shadow-sm:0 14px 35px rgba(2,33,67,.08);
  --shadow-md:0 24px 70px rgba(2,33,67,.12);
  --shadow-lg:0 35px 120px rgba(2,33,67,.2);
  --transition:all .35s ease;
}

/* 7 color schemas */
body.theme-blue-navy{
  --theme-primary:#0c54a8;--theme-secondary:#002b53;--theme-accent:#26a5db;
  --theme-bg:#f5f8fc;--theme-surface:#ffffff;--theme-border:#dce5ef;
  --theme-text:#17314f;--theme-muted:#68788b;--theme-heading:#002b53;
  --theme-soft:#eef5fb;--theme-soft-2:#f8fbff;--theme-dark:#031c37;
}
body.theme-orange-navy{
  --theme-primary:#fc5b2d;--theme-secondary:#002b53;--theme-accent:#fdc500;
  --theme-bg:#f8f7f5;--theme-surface:#ffffff;--theme-border:#eadfd8;
  --theme-text:#17314f;--theme-muted:#6f7784;--theme-heading:#002b53;
  --theme-soft:#fff3ee;--theme-soft-2:#fffaf7;--theme-dark:#031c37;
}
body.theme-gold-business{
  --theme-primary:#EEA20A;--theme-secondary:#002b53;--theme-accent:#fb9512;
  --theme-bg:#fbfaf6;--theme-surface:#ffffff;--theme-border:#ece2c9;
  --theme-text:#27384a;--theme-muted:#7e7b70;--theme-heading:#002b53;
  --theme-soft:#fff6e4;--theme-soft-2:#fffcf3;--theme-dark:#031c37;
}
body.theme-teal-tech{
  --theme-primary:#00a29d;--theme-secondary:#002b53;--theme-accent:#0da187;
  --theme-bg:#f3fbfb;--theme-surface:#ffffff;--theme-border:#d8eceb;
  --theme-text:#173f4f;--theme-muted:#67828a;--theme-heading:#002b53;
  --theme-soft:#e9f8f7;--theme-soft-2:#f7fdfc;--theme-dark:#05243f;
}
body.theme-sky-modern{
  --theme-primary:#26a5db;--theme-secondary:#008eb4;--theme-accent:#0c54a8;
  --theme-bg:#f4fafe;--theme-surface:#ffffff;--theme-border:#d8eaf3;
  --theme-text:#1d4158;--theme-muted:#698194;--theme-heading:#002b53;
  --theme-soft:#eaf7fd;--theme-soft-2:#f8fcff;--theme-dark:#07243d;
}
body.theme-indigo-premium{
  --theme-primary:#37449a;--theme-secondary:#002b53;--theme-accent:#7c4b8d;
  --theme-bg:#f6f7fc;--theme-surface:#ffffff;--theme-border:#dfe3f0;
  --theme-text:#263358;--theme-muted:#717999;--theme-heading:#1f2a60;
  --theme-soft:#eef0fb;--theme-soft-2:#fafbff;--theme-dark:#141f4a;
}
body.theme-multi-brand{
  --theme-primary:#fc5b2d;--theme-secondary:#0c54a8;--theme-accent:#00a29d;
  --theme-bg:#f8fafc;--theme-surface:#ffffff;--theme-border:#dde7ef;
  --theme-text:#17314f;--theme-muted:#6e7e8e;--theme-heading:#002b53;
  --theme-soft:#eef7fb;--theme-soft-2:#f9fcff;--theme-dark:#031c37;
}
/* =========================
   Theme Schema 8: Orange Tech
========================= */
body.theme-orange-tech{
  --theme-primary:#ff6b2c;
  --theme-secondary:#08213f;
  --theme-accent:#ffb703;
  --theme-bg:#fff7f1;
  --theme-surface:#ffffff;
  --theme-border:#f0d8c8;
  --theme-text:#23354a;
  --theme-muted:#7b6f68;
  --theme-heading:#08213f;
  --theme-soft:#fff1e8;
  --theme-soft-2:#fffaf6;
  --theme-dark:#071a33;
}

/* =========================
   Theme Schema 9: Burnt Orange Navy
========================= */
body.theme-burnt-orange-navy{
  --theme-primary:#d95d1e;
  --theme-secondary:#002b53;
  --theme-accent:#f7a928;
  --theme-bg:#faf6f2;
  --theme-surface:#ffffff;
  --theme-border:#ead8ca;
  --theme-text:#26384d;
  --theme-muted:#766f6a;
  --theme-heading:#06294d;
  --theme-soft:#fff0e5;
  --theme-soft-2:#fffaf6;
  --theme-dark:#02162d;
}

/* =========================
   Theme Schema 10: Coral Business
========================= */
body.theme-coral-business{
  --theme-primary:#ff7043;
  --theme-secondary:#12324f;
  --theme-accent:#ffb84d;
  --theme-bg:#fff8f4;
  --theme-surface:#ffffff;
  --theme-border:#f1d8cd;
  --theme-text:#2d3b4f;
  --theme-muted:#7b7270;
  --theme-heading:#12324f;
  --theme-soft:#fff0e9;
  --theme-soft-2:#fffaf7;
  --theme-dark:#10243d;
}

/* =========================
   Theme Schema 11: Copper Premium
========================= */
body.theme-copper-premium{
  --theme-primary:#c96b2c;
  --theme-secondary:#1d2f45;
  --theme-accent:#e7a44b;
  --theme-bg:#fbf7f1;
  --theme-surface:#ffffff;
  --theme-border:#eadccb;
  --theme-text:#2d3542;
  --theme-muted:#7a7168;
  --theme-heading:#1d2f45;
  --theme-soft:#f9eadc;
  --theme-soft-2:#fffaf4;
  --theme-dark:#17283c;
}

/* =========================
   Theme Schema 12: Amber Orange
========================= */
body.theme-amber-orange{
  --theme-primary:#f97316;
  --theme-secondary:#0f2f4a;
  --theme-accent:#facc15;
  --theme-bg:#fff8ed;
  --theme-surface:#ffffff;
  --theme-border:#f0dfc6;
  --theme-text:#26364a;
  --theme-muted:#776f63;
  --theme-heading:#0f2f4a;
  --theme-soft:#fff3d8;
  --theme-soft-2:#fffbf3;
  --theme-dark:#08213a;
}

/* =========================
   Theme Schema 13: Sunset IT
========================= */
body.theme-sunset-it{
  --theme-primary:#ff5f2e;
  --theme-secondary:#17395c;
  --theme-accent:#ff9f1c;
  --theme-bg:#fff6f0;
  --theme-surface:#ffffff;
  --theme-border:#efd5c8;
  --theme-text:#27384d;
  --theme-muted:#7b716c;
  --theme-heading:#17395c;
  --theme-soft:#ffede4;
  --theme-soft-2:#fffaf6;
  --theme-dark:#0d2742;
}

/* =========================
   Theme Schema 14: Orange Slate
========================= */
body.theme-orange-slate{
  --theme-primary:#ea580c;
  --theme-secondary:#334155;
  --theme-accent:#f59e0b;
  --theme-bg:#f8fafc;
  --theme-surface:#ffffff;
  --theme-border:#e5ddd6;
  --theme-text:#253244;
  --theme-muted:#64748b;
  --theme-heading:#1e293b;
  --theme-soft:#fff1e6;
  --theme-soft-2:#fffaf5;
  --theme-dark:#111827;
}


*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--theme-bg);
  color:var(--theme-text);
  font-family:var(--font-body);
  line-height:1.7;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:var(--theme-primary);transition:var(--transition)}
a:hover{color:var(--theme-accent)}
h1,h2,h3,h4,h5,h6{
  margin:0 0 16px;
  line-height:1.08;
  color:var(--theme-heading);
  font-family:var(--font-heading);
}
h1{font-size:clamp(42px,6vw,78px)}
h2{font-size:clamp(32px,4vw,40px)}
h3{font-size:clamp(22px,2.2vw,30px)}
p{margin:0 0 16px}
ul{margin:0;padding:0}
input,select,textarea,button{font:inherit}
.container{width:min(100% - 32px, var(--container));margin-inline:auto}
.section{padding:var(--section-space) 0}
.section-dark{
  background:
    radial-gradient(circle at 80% 10%, rgba(38,165,219,.18), transparent 20%),
    linear-gradient(180deg,var(--theme-dark),var(--theme-secondary));
  color:#fff;
}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,.section-dark p{color:#fff}
.eyebrow,.kicker{
  display:inline-block;
  margin-bottom:14px;
  color:var(--theme-accent);
  font-size:15px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.section-head{max-width:760px;margin:0 auto 38px;text-align:center}
.text-center{text-align:center}

/* Layout helpers */
.grid-2,.grid-3,.grid-4{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* Header */
.site-topbar{
  background:var(--theme-dark);
  color:rgba(255,255,255,.85);
  font-size:20px;
}
.site-topbar a{color:#fdbe00}
.topbar-inner{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.topbar-list{display:flex;gap:18px;flex-wrap:wrap;color:#fdbe00}
.site-header-wrap{
  position:sticky;
  top:0;
  z-index:999;
  background: rgba(255,255,255,.92);
  border-bottom:1px solid rgba(220,229,239,.7);
  backdrop-filter:blur(16px);
}
.site-header{
  min-height:88px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:28px;
  align-items:center;
}
.branding{display:flex;align-items:center;gap:14px;color:var(--theme-secondary);font-weight:800}
.brand-mark{
  width:46px;height:46px;border-radius:14px;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  box-shadow:0 16px 40px rgba(12,84,168,.25);
}
.site-title{font-size:22px;color:var(--theme-secondary)}
.primary-nav .menu,
.primary-nav ul{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
}
.primary-nav li{position:relative}
.primary-nav a{
  color:var(--theme-heading);
  font-weight:700;
  font-size:20px;
}

.primary-nav ul ul {
    min-width: 360px;
}

.primary-nav ul ul li a {
    white-space: nowrap;
    line-height: 1.35;
    padding: 14px 24px;
}

.primary-nav .sub-menu{
  position:absolute;
  left:0;top:100%;
  min-width:220px;
  display:block;
  padding:12px;
  opacity:0;visibility:hidden;transform:translateY(12px);
  background:#fff;border:1px solid var(--theme-border);border-radius:16px;
  box-shadow:var(--shadow-md);
}
.primary-nav li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.primary-nav .sub-menu li{margin:0}
.primary-nav .sub-menu a{display:block;padding:10px 12px;border-radius:10px}
.primary-nav .sub-menu a:hover{background:var(--theme-soft)}
.header-cta{display:flex;align-items:center;gap:16px}
.header-phone{font-weight:700;color:var(--theme-muted)}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  border:none;
  cursor:pointer;
  transition:var(--transition);
  font-weight:800;
  line-height:1;
}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  box-shadow:0 16px 40px rgba(12,84,168,.24);
}
.btn-primary:hover{transform:translateY(-3px);color:#fff}
.btn-outline{
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(6px);
}
.btn-light{
  color:var(--theme-heading);
  background:#fff;
  border:1px solid var(--theme-border);
}
.btn-warm{
  color:#fff;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  box-shadow:0 16px 36px rgba(12,84,168,.22);
}
.btn-warm:hover{transform:translateY(-3px);color:#fff}

/* Generic cards */
.ui-card{
  position:relative;
  background:var(--theme-surface);
  border:1px solid var(--theme-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:var(--transition);
}
.ui-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
}
.ui-card-pad{padding:30px}
.ui-glass{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 22px 65px rgba(0,0,0,.18);
  backdrop-filter:blur(12px);
  border-radius:24px;
}
.hover-tilt{transform-style:preserve-3d;transition:transform .35s ease, box-shadow .35s ease}
.hover-tilt:hover{transform:perspective(1200px) rotateX(6deg) rotateY(-8deg) translateY(-8px)}
.hover-lift:hover{transform:translateY(-8px)}

/* Latest focus list icon/text fix */
.list-check{
  list-style:none;
  margin:18px 0 0;
  padding:0;
}

.list-check li{
  position:relative;
  padding-left:30px;
  margin:12px 0;
  color:var(--theme-text);
}

.list-check li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--theme-primary);
  font-weight:900;
}
/* Hero */
.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 14%, rgba(38,165,219,.18), transparent 18%),
    radial-gradient(circle at 18% 8%, rgba(12,84,168,.14), transparent 22%),
    linear-gradient(180deg,var(--theme-dark) 0%, var(--theme-secondary) 100%);
  color:#fff;
}
.hero::before{
  content:"";
  position:absolute;inset:auto auto -80px -80px;
  width:280px;height:280px;border-radius:50%;
  background:rgba(38,165,219,.08);filter:blur(10px);
}
.hero .container{position:relative;z-index:2}
.hero-grid{
  min-height:calc(100vh - 134px);
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:40px;
  align-items:center;
}
.hero-copy h1,.hero-copy h2,.hero-copy h3,.hero-copy p,.hero-copy li{color:#fff}
.hero-copy p,.hero-copy li{color:rgba(255,255,255,.75)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.hero-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.hero-tag{
  padding:10px 14px;border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;font-size:14px;font-weight:700;
}

/* Orbit */
.hero-visual{
  position:relative;
  transform:translateY(-46px);
  min-height:620px;
  overflow:visible;
}
.orbit-stage{
  position:relative;
  width:min(100%,560px);
  height:560px;
  margin-left:auto;
  overflow:visible;
}
.orbit-glow{
  position:absolute;
  inset:70px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(38,165,219,.34) 0%, rgba(12,84,168,.20) 35%, rgba(252,91,45,.14) 60%, transparent 78%);
  filter:blur(30px);
  animation:orbitPulse 5.5s ease-in-out infinite;
}
.orbit-ring,.orbit-ring-two,.orbit-ring-three{
  position:absolute;border-radius:50%;pointer-events:none;
}
.orbit-ring{
  inset:88px;
  border:2px dashed rgba(38,165,219,.82);
  box-shadow:
    0 0 0 1px rgba(38,165,219,.12),
    0 0 26px rgba(38,165,219,.28),
    inset 0 0 20px rgba(38,165,219,.12);
  animation:spin 15s linear infinite;
}
.orbit-ring-two{
  inset:22px;
  border:2px solid rgba(12,84,168,.30);
  box-shadow:
    0 0 34px rgba(12,84,168,.18),
    inset 0 0 24px rgba(12,84,168,.10);
  animation:spinReverse 15s linear infinite;
}
.orbit-ring-three{
  inset:140px;
  border:2px dotted rgba(252,91,45,.78);
  box-shadow:
    0 0 22px rgba(252,91,45,.24),
    inset 0 0 12px rgba(252,91,45,.14);
  animation:spin 15s linear infinite;
}
.orbit-node,.orbit-node-two,.orbit-node-three,.orbit-node-four{
  position:absolute;border-radius:50%;
  box-shadow:0 0 18px currentColor, 0 0 34px currentColor;
}
.orbit-node{width:16px;height:16px;top:-8px;left:50%;margin-left:-8px;color:var(--theme-accent);background:currentColor}
.orbit-node-two{width:14px;height:14px;right:70px;bottom:24px;color:#fdc500;background:currentColor}
.orbit-node-three{width:12px;height:12px;left:34px;top:48%;color:#fc5b2d;background:currentColor}
.orbit-node-four{width:10px;height:10px;right:120px;top:60px;color:#7c4b8d;background:currentColor}

.orbit-logo-center{
  position:absolute;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  width:260px;
  height:260px;
  border-radius:50%;
  display:grid;
  place-items:center;
  overflow:visible;
  z-index:5;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  box-shadow:
    0 0 0 14px rgba(255,255,255,.03),
    0 30px 80px rgba(0,0,0,.30),
    inset 0 0 40px rgba(38,165,219,.15);
}
.orbit-logo-center::before{
  content:"";
  position:absolute;
  inset:-42px;
  border-radius:50%;
  border:3px dashed rgba(255,90,20,.95);
  animation:orbitLogoRotate 18s linear infinite;
  z-index:6;
  pointer-events:none;
}
.orbit-logo-center::after{
  content:"";
  position:absolute;
  inset:20px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(12,84,168,.25),rgba(38,165,219,.18));
  box-shadow:inset 0 0 40px rgba(255,255,255,.08);
  z-index:1;
}
.orbit-logo-halo{
  position:absolute;
  inset:-48px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(38,165,219,.25), transparent 70%);
  animation:orbitLogoPulse 6s ease-in-out infinite;
  z-index:0;
}
.orbit-logo-crop{
  position:relative;
  z-index:4;
  width:178px;
  height:178px;
  border-radius:50%;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.orbit-logo-crop img{
  --logo-scale:1.25;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:scale(var(--logo-scale));
  transform-origin:center;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.38));
  animation:orbitLogoFloat 6s ease-in-out infinite;
}

.float-card{
  position:absolute;
  padding:16px 18px;
  color:#fff;
  font-weight:800;
  border-radius:18px;
  z-index:4;
}
.float-card small{display:block;color:rgba(255,255,255,.72);font-weight:600}
.fc-a{top:36px;right:18px;animation:floaty 4.2s ease-in-out infinite}
.fc-b{left:-75px;bottom:260px;animation:floaty 5.2s ease-in-out infinite}
.fc-c{right:0;bottom:28px;animation:floaty 5.2s ease-in-out infinite}
.fc-d{top:36px;left:45px;animation:floaty 4.2s ease-in-out infinite}
.fc-e{top:210px;right:-65px;animation:floaty 6.2s ease-in-out infinite}
.fc-f{left:20px;bottom:26px;animation:floaty 6.8s ease-in-out infinite}

/* Trust feature row */
.trust-strip-wrap{
  margin-top:-36px;
  position:relative;
  z-index:4;
}
.trust-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  padding:22px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(10,34,70,.06);
  box-shadow:0 18px 50px rgba(2,33,67,.08);
}
.trust-strip-card{
  position:relative;
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  align-items:center;
  padding:18px 18px 18px 14px;
  border-radius:18px;
  background:#f6f9fc;
  border:1px solid rgba(10,34,70,.05);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.trust-strip-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 36px rgba(2,33,67,.10);
  border-color:rgba(12,84,168,.08);
}
.trust-strip-icon{
  width:46px;height:46px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--theme-soft),var(--theme-soft-2));
  color:var(--theme-primary);
  font-weight:900;font-size:20px;
  box-shadow:0 10px 22px rgba(12,84,168,.10);
  transition:var(--transition);
}
.trust-strip-card:hover .trust-strip-icon{
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
}
.trust-strip-text h3{font-size:17px;margin-bottom:4px}
.trust-strip-text p{margin:0;color:var(--theme-muted);font-size:14px}

/* Modern IT solutions */
.modern-it-section{
  position:relative;
  padding:20px;
  background:#f6f1e7;
}
.modern-it-shell{
  position:relative;
  overflow:hidden;
  max-width:1800px;
  margin:0 auto;
  border-radius:30px;
  background:#fff;
  min-height:920px;
  box-shadow:0 20px 60px rgba(0,0,0,0.08);
}
.modern-it-top{
  position:relative;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  align-items:stretch;
  min-height:650px;
}
.modern-it-copy{
  position:relative;
  padding:56px 54px 68px;
  z-index:3;
}
.modern-it-copy::after{
  content:"";
  position:absolute;
  top:0;
  right:-220px;
  width:340px;
  height:100%;
  background:var(--theme-surface);
  clip-path:polygon(0 0, 100% 0, 25% 100%, 0 100%);
  z-index:-1;
}
.modern-it-network{
  position:absolute;
  right:18%;
  top:86px;
  width:360px;
  height:360px;
  opacity:.32;
  background:
    radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--theme-accent) 26%, transparent) 0 3px, transparent 4px),
    radial-gradient(circle at 46% 30%, color-mix(in srgb, var(--theme-accent) 24%, transparent) 0 3px, transparent 4px),
    radial-gradient(circle at 62% 16%, color-mix(in srgb, var(--theme-accent) 24%, transparent) 0 3px, transparent 4px),
    radial-gradient(circle at 68% 46%, color-mix(in srgb, var(--theme-accent) 26%, transparent) 0 3px, transparent 4px),
    radial-gradient(circle at 34% 58%, color-mix(in srgb, var(--theme-accent) 24%, transparent) 0 3px, transparent 4px),
    radial-gradient(circle at 78% 68%, color-mix(in srgb, var(--theme-accent) 26%, transparent) 0 3px, transparent 4px),
    radial-gradient(circle at 52% 82%, color-mix(in srgb, var(--theme-accent) 24%, transparent) 0 3px, transparent 4px),
    radial-gradient(circle at 18% 76%, color-mix(in srgb, var(--theme-accent) 24%, transparent) 0 3px, transparent 4px);
}
.modern-it-network::before,
.modern-it-network::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(24deg, transparent 47%, color-mix(in srgb, var(--theme-accent) 18%, transparent) 48% 49%, transparent 50%),
    linear-gradient(62deg, transparent 47%, color-mix(in srgb, var(--theme-accent) 16%, transparent) 48% 49%, transparent 50%),
    linear-gradient(122deg, transparent 47%, color-mix(in srgb, var(--theme-accent) 16%, transparent) 48% 49%, transparent 50%),
    linear-gradient(152deg, transparent 47%, color-mix(in srgb, var(--theme-accent) 14%, transparent) 48% 49%, transparent 50%);
  opacity:.75;
}
.modern-it-title{
  max-width:640px;
  font-size:clamp(44px,4vw,82px);
  line-height:.98;
  letter-spacing:-.04em;
  margin-bottom:20px;
}
.modern-it-title .accent{color:var(--theme-primary)}
.modern-it-line{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:24px;
}
.modern-it-line-icon{
  width:54px;height:54px;
  border-radius:16px;
  display:grid;place-items:center;
  background:color-mix(in srgb, var(--theme-primary) 8%, white);
  border:1px solid color-mix(in srgb, var(--theme-primary) 14%, transparent);
  color:var(--theme-primary);
}
.modern-it-line-rule{
  flex:1;
  height:2px;
  background:linear-gradient(90deg, color-mix(in srgb, var(--theme-primary) 35%, transparent), rgba(0,0,0,.08));
}
.modern-it-subtitle{
  max-width:610px;
  font-size:clamp(28px,3.3vw,58px);
  line-height:1.06;
  letter-spacing:-.03em;
  margin-bottom:18px;
}
.modern-it-lead{
  max-width:630px;
  font-size:18px;
  line-height:1.55;
  color:#2c3850;
}
.modern-it-lead strong{color:var(--theme-primary)}
.modern-it-image{
  position:relative;
  min-height:650px;
  overflow:hidden;
}
.modern-it-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.modern-it-cards-band{
  position:relative;
  z-index:4;
  margin-top:-86px;
  padding:0 52px;
}
.modern-it-cards{
  display:grid;
  grid-template-columns:repeat(5,200px);
  gap:22px;
}
.modern-it-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#fff;
  border:1px solid rgba(11,34,70,.08);
  border-radius:22px;
  box-shadow:0 16px 38px rgba(11,34,70,.10);
  min-height:210px;
  padding:24px 20px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s cubic-bezier(.22,1,.36,1), border-color .35s ease;
}
.modern-it-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
  z-index:0;
}
.modern-it-card::after{
  content:"";
  position:absolute;
  top:-60px;
  right:-60px;
  width:160px;
  height:160px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.22), transparent 68%);
  transform:scale(.7);
  opacity:0;
  transition:opacity .35s ease, transform .35s ease;
  z-index:0;
}
.modern-it-card > *{position:relative;z-index:2}
.modern-it-card:hover{
  transform:translateY(-10px);
  box-shadow:0 26px 54px rgba(11,34,70,.18);
  border-color:transparent;
}
.modern-it-card:hover::before{opacity:1}
.modern-it-card:hover::after{opacity:1;transform:scale(1)}
.modern-it-card-icon{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  color:var(--theme-primary);
  border-radius:18px;
  background:rgba(12,84,168,.06);
  transition:transform .35s cubic-bezier(.22,1,.36,1), background .35s ease, color .35s ease, box-shadow .35s ease;
}
.modern-it-card-icon svg{
  width:70px;
  height:70px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .35s ease;
}
.modern-it-card.microsoft .modern-it-card-icon{font-size:0}
.modern-it-card.microsoft .modern-it-card-icon img{
  width:62px;
  height:62px;
  object-fit:contain;
  display:block;
  transition:transform .35s ease, filter .35s ease;
}
.modern-it-card h3{
  font-size:20px;
  line-height:1.22;
  letter-spacing:-.02em;
  color:#18243c;
  margin:0;
  transition:color .3s ease;
}
.modern-it-card:hover .modern-it-card-icon{
  transform:translateY(-4px) scale(1.06);
  background:#fff;
  color:var(--theme-primary);
  box-shadow:0 14px 26px rgba(0,0,0,.12);
}
.modern-it-card:hover .modern-it-card-icon svg{transform:scale(1.04)}
.modern-it-card:hover .modern-it-card-icon img{transform:scale(1.05);filter:brightness(1.05)}
.modern-it-card:hover h3{color:#fff}

.modern-it-bottom{
  position:relative;
  margin-top:-16px;
  background:linear-gradient(180deg, var(--theme-primary) 0%, var(--theme-secondary) 100%);
  padding:80px 52px 52px;
}
.modern-it-bottom::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:14px;
  background:#fff;
}
.modern-it-bottom-grid{
  display:grid;
  grid-template-columns:.7fr 1.42fr .8fr;
  gap:34px;
  align-items:center;
}
.modern-it-trust{
  display:grid;
  grid-template-columns:84px 1fr;
  gap:18px;
  align-items:center;
}
.modern-it-trust-icon{
  position:relative;
  width:84px;
  height:84px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  z-index:1;
}
.modern-it-trust-icon svg{
  width:44px;
  height:44px;
  fill:#fff;
  z-index:2;
}
.modern-it-trust-icon::before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:50%;
  border:2px dashed rgba(255,255,255,.6);
  animation:rotateRing 10s linear infinite;
}
.modern-it-trust-icon::after{
  content:"";
  position:absolute;
  inset:-14px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.15), transparent 70%);
  z-index:0;
}
.modern-it-trust h3{
  font-size:24px;
  line-height:1.2;
  color:#fff;
}
.modern-it-trust h3 span{color:color-mix(in srgb, var(--theme-accent) 65%, white)}
.modern-it-bottom-copy-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
}
.modern-it-bottom-copy{
  flex:1;
  min-width:320px;
  padding-left:34px;
  border-left:1px solid rgba(255,255,255,.34);
}
.modern-it-bottom-copy p{
  font-size:18px;
  line-height:1.65;
  color:rgba(255,255,255,.90);
  margin:0;
}
.modern-it-bottom-copy strong{color:var(--theme-accent)}
.modern-it-badge-img{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.modern-it-badge-img img{
  width:220px;
  height:auto;
  display:block;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,.45));
  transition:transform .35s ease;
}
.modern-it-badge-img img:hover{transform:translateY(-8px) scale(1.06)}
.modern-it-values{
  list-style:none;
  display:grid;
  gap:16px;
}
.modern-it-values li{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  align-items:center;
  color:#fff;
  font-size:18px;
  font-weight:800;
}
.modern-it-values-icon{
  width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;
  background:color-mix(in srgb, var(--theme-accent) 20%, transparent);
  border:1px solid rgba(255,255,255,.14);
}
.modern-it-values-icon svg{
  width:22px;height:22px;
  stroke:#fff;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Services */
.services-solutek{
  padding-top:96px;
  padding-bottom:110px;
  background:linear-gradient(180deg, var(--theme-soft-2) 0%, var(--theme-bg) 100%);
}
.services-solutek .grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:34px 30px;
  align-items:stretch;
}
.services-solutek .service-card{
  position:relative;
  overflow:visible;
  isolation:isolate;
  background:#f3f3f3;
  border:1px solid #e8e8e8;
  border-radius:32px;
  padding:44px 36px 92px;
  min-height:335px;
  box-shadow:none;
  transition:transform .32s ease, box-shadow .32s ease, border-color .32s ease, background-color .32s ease;
  background-image:
    linear-gradient(135deg, rgba(255,255,255,.22) 0 2px, transparent 2px),
    radial-gradient(circle at 14% 36%, rgba(255,255,255,.28) 0 5px, transparent 5.5px),
    radial-gradient(circle at 22% 82%, rgba(255,255,255,.24) 0 5px, transparent 5.5px),
    radial-gradient(circle at 46% 58%, rgba(255,255,255,.20) 0 5px, transparent 5.5px),
    radial-gradient(circle at 61% 24%, rgba(255,255,255,.20) 0 5px, transparent 5.5px),
    radial-gradient(circle at 79% 71%, rgba(255,255,255,.18) 0 5px, transparent 5.5px);
  background-size:34px 34px, auto, auto, auto, auto, auto;
}
.services-solutek .service-card::before{
  content:"";
  position:absolute;
  top:0;left:50%;
  transform:translateX(-50%);
  width:84%;
  height:4px;
  border-radius:999px;
  background:var(--theme-secondary);
  z-index:4;
}
.services-solutek .service-card::after{
  content:"";
  position:absolute;
  top:0;left:8%;
  width:40%;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--theme-primary),var(--theme-accent));
  z-index:5;
  transition:left .45s cubic-bezier(.22,1,.36,1), width .45s cubic-bezier(.22,1,.36,1);
}
.services-solutek .service-card .service-overlay{
  position:absolute;
  inset:0;
  border-radius:32px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.14) 0 2px, transparent 2px),
    radial-gradient(circle at 14% 36%, rgba(255,255,255,.22) 0 5px, transparent 5.5px),
    radial-gradient(circle at 22% 82%, rgba(255,255,255,.18) 0 5px, transparent 5.5px),
    radial-gradient(circle at 46% 58%, rgba(255,255,255,.16) 0 5px, transparent 5.5px),
    radial-gradient(circle at 61% 24%, rgba(255,255,255,.16) 0 5px, transparent 5.5px),
    radial-gradient(circle at 79% 71%, rgba(255,255,255,.14) 0 5px, transparent 5.5px),
    linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-accent) 100%);
  background-size:34px 34px, auto, auto, auto, auto, auto, auto;
  clip-path:polygon(0 0, 0 0, 0 100%, 0 100%);
  transition:clip-path .48s cubic-bezier(.22,1,.36,1);
  z-index:1;
  pointer-events:none;
}
.services-solutek .service-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 28px rgba(0,0,0,.06);
  border-color:color-mix(in srgb, var(--theme-primary) 30%, transparent);
}
.services-solutek .service-card:hover::after{left:18%;width:60%}
.services-solutek .service-card:hover .service-overlay{clip-path:polygon(0 0, 100% 0, 78% 100%, 0 100%)}
.services-solutek .service-card > *{position:relative}
.services-solutek .service-card h3,
.services-solutek .service-card hr,
.services-solutek .service-card p,
.services-solutek .service-card .service-cut,
.services-solutek .service-card .service-icon{z-index:3}
.services-solutek .service-card h3{
  margin:0 0 26px;
  text-align:center;
  font-size:22px;
  line-height:1.25;
  font-weight:800;
  color:#07133a;
  transition:color .3s ease;
}
.services-solutek .service-card hr{
  border:0;
  height:1px;
  background:#d8d8d8;
  margin:0 0 28px;
  transition:background .3s ease;
}
.services-solutek .service-card p{
  margin:0;
  text-align:center;
  color:#7a7a7a;
  font-size:15px;
  line-height:2;
  font-weight:500;
  transition:color .3s ease;
}
.services-solutek .service-card:hover h3,
.services-solutek .service-card:hover p{color:#fff}
.services-solutek .service-card:hover hr{background:rgba(255,255,255,.45)}
.services-solutek .service-card .service-cut{
  position:absolute;
  left:50%;bottom:-1px;
  transform:translateX(-50%);
  width:96px;height:48px;
  background:var(--theme-bg);
  border-top-left-radius:48px;
  border-top-right-radius:48px;
  z-index:2;
}
.services-solutek .service-card .service-icon{
  position:absolute;
  left:50%;bottom:-28px;
  transform:translateX(-50%);
  width:58px;height:58px;
  border-radius:50%;
  background:#f3f3f3;
  border:1px solid #e7e7e7;
  display:grid;place-items:center;
  color:var(--theme-primary);
  box-shadow:0 0 0 10px var(--theme-bg);
  transition:transform .32s ease, background-color .32s ease, border-color .32s ease, color .32s ease, box-shadow .32s ease;
  z-index:4;
}
.services-solutek .service-card:hover .service-icon{
  transform:translateX(-50%) translateY(-3px);
  background:var(--theme-primary);
  color:#fff;
  border-color:var(--theme-primary);
  box-shadow:0 0 0 10px var(--theme-bg), 0 8px 16px rgba(0,0,0,.06);
}
.services-solutek .service-card .service-icon svg{
  width:28px;height:28px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.service-card-link{
	display:block;
	text-decoration:none;
	color:inherit;
}

/* Customized solutions */
.trust-section{
  position:relative;
  background:
    radial-gradient(circle at 80% 20%, rgba(38,165,219,.08), transparent 18%),
    linear-gradient(90deg, #001634 0%, #001229 100%);
}
.trust-section .container{position:relative;z-index:2}
.trust-panel{
  display:grid;
  grid-template-columns:1fr .96fr;
  gap:34px;
  align-items:start;
}
.trust-left h2,
.trust-left p,
.trust-left h3,
.trust-right h3,
.trust-right p,
.trust-right li{color:#fff}
.trust-left p{max-width:720px;color:rgba(255,255,255,.84)}
.trust-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:20px;
}
.trust-feature-card{
  padding:22px 22px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 50px rgba(0,0,0,.12);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.trust-feature-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 70px rgba(0,0,0,.18);
  border-color:rgba(38,165,219,.18);
}
.trust-feature-card p{color:rgba(255,255,255,.82)}
.trust-right{
  padding:28px;
  border-radius:26px;
  background:rgba(0,0,0,.12);
  box-shadow:0 20px 80px rgba(0,0,0,.18);
}
.trust-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin-bottom:22px;
}
.trust-stat{
  position:relative;
  padding:22px 20px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.trust-stat:hover{
  transform:translateY(-6px) rotate(-.4deg);
  box-shadow:0 22px 60px rgba(0,0,0,.18);
  border-color:rgba(38,165,219,.16);
}
.trust-stat strong{
  display:block;
  font-size:46px;
  line-height:1;
  color:#fff;
  margin-bottom:12px;
}
.trust-stat p{
  color:rgba(255,255,255,.86);
  margin-bottom:16px;
}
.trust-progress{
  position:relative;
  width:100%;
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  overflow:hidden;
}
.trust-progress::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:78%;
  border-radius:999px;
  background:linear-gradient(90deg, #20e0b5, #26a5db);
  transition:width .35s ease;
}
.trust-stat:nth-child(2) .trust-progress::before{width:72%}
.trust-stat:hover .trust-progress::before{width:84%}
.trust-stat:nth-child(2):hover .trust-progress::before{width:79%}
.trust-number-list{
  list-style:none;
  margin-top:6px;
}
.trust-number-list li{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:12px;
  align-items:start;
  margin:14px 0;
  color:#fff;
}
.trust-number-list .num{
  width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.12);
  color:#fff;font-weight:800;font-size:14px;
  transition:var(--transition);
}
.trust-number-list li:hover .num{
  background:linear-gradient(135deg,var(--theme-accent),var(--theme-primary));
  transform:scale(1.06);
}

/* Other sections */
.industry-card,.process-card,.faq-item{padding:30px}
.industry-card p,.process-card p{color:var(--theme-muted)}
.process-num{
  width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;font-weight:900;margin:0 auto 18px;
}
.faq-item summary{
  list-style:none;cursor:pointer;font-weight:800;color:var(--theme-heading)
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";float:right;color:var(--theme-primary)}
.faq-item[open] summary::after{content:"–"}
.faq-item .faq-body{padding-top:16px;color:var(--theme-muted)}

/* Compact CTA */
.cta-tech-band{
  margin-top:34px;
  padding:28px 36px;
  border-radius:30px;
  background:linear-gradient(90deg, color-mix(in srgb, var(--theme-primary) 88%, white) 0%, color-mix(in srgb, var(--theme-accent) 84%, white) 100%);
  color:#fff;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:24px;
  align-items:center;
  box-shadow:0 24px 70px rgba(28,112,235,.18);
}
.cta-tech-band h2,
.cta-tech-band p{color:#fff}
.cta-tech-band h2{
  font-size:clamp(30px,3vw,42px);
  margin-bottom:10px;
}
.cta-tech-band p{
  margin:0;
  font-size:18px;
  color:rgba(255,255,255,.92);
}
.cta-tech-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cta-tech-band .btn-primary{
  background:#fff;
  color:var(--theme-primary);
  box-shadow:none;
}
.cta-tech-band .btn-primary:hover{color:var(--theme-primary)}
.cta-tech-band .btn-outline{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}

/* Dark testimonial section */
.testimonial-solutek-dark{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 20%, color-mix(in srgb, var(--theme-accent) 12%, transparent), transparent 22%),
    radial-gradient(circle at 88% 16%, color-mix(in srgb, var(--theme-primary) 12%, transparent), transparent 20%),
    linear-gradient(180deg, var(--theme-dark) 0%, var(--theme-secondary) 100%);
}
.testimonial-solutek-dark::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:42px 42px;
  opacity:.28;
  pointer-events:none;
}
.testimonial-solutek-dark .container{
  position:relative;
  z-index:2;
}
.testimonial-solutek-dark .section-head{
  max-width:760px;
}
.testimonial-solutek-dark .section-head h2,
.testimonial-solutek-dark .section-head p{
  color:#fff;
}
.testimonial-solutek-dark .section-head p{
  color:rgba(255,255,255,.72);
}
.testimonial-dark-stage{overflow:hidden}
.testimonial-dark-track{
  display:flex;
  gap:24px;
  transition:transform .7s ease;
  will-change:transform;
}
.testimonial-dark-card{
 flex:0 0 calc((100% - 24px)/2); position:relative; overflow:hidden; padding:28px; border-radius:26px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); box-shadow:0 24px 70px rgba(0,0,0,.18); backdrop-filter:blur(10px); transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.testimonial-dark-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.06), transparent 45%, color-mix(in srgb, var(--theme-accent) 18%, transparent));
  opacity:.8;
  pointer-events:none;
}
/* hover selected card expands */
.testimonial-dark-card:hover{
  transform:translateY(-8px);
  border-color:color-mix(in srgb, var(--theme-accent) 24%, transparent);
  box-shadow:0 30px 90px rgba(0,0,0,.24);
}


/* show full testimonial on hover */
.testimonial-dark-card:hover p{
  display:block;
  overflow:visible;
  -webkit-line-clamp:unset;
}
.testimonial-dark-top{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.testimonial-dark-avatar{
  width:64px;height:64px;border-radius:18px;
  overflow:hidden;
  flex:0 0 auto;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  border:1px solid rgba(255,255,255,.14);
}
.testimonial-dark-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;        /* 🔥 KEY LINE */
  object-position:right;  /* keeps face centered */
  display:block;
}
.testimonial-dark-meta strong{
  display:block;
  color:#fff;
  font-size:18px;
}
.testimonial-dark-meta span{
  color:rgba(255,255,255,.68);
  font-size:14px;
}
.testimonial-dark-stars{
  position:relative;
  z-index:2;
  color:#ffb547;
  letter-spacing:.12em;
  font-size:14px;
  margin-bottom:14px;
}
.testimonial-dark-card p{
  position:relative; z-index:2; color:rgba(255,255,255,.78); margin:0;
}
.testimonial-dark-quote{
  position:absolute;
  right:22px;
  top:18px;
  font-size:64px;
  line-height:1;
  color:rgba(255,255,255,.08);
  z-index:1;
}
.testimonial-logo-rail{
  margin-top:32px;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
}
.testimonial-logo-item{
  min-height:88px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  transition:transform .3s ease, border-color .3s ease, background .3s ease;
}
.testimonial-logo-item:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.09);
  border-color:color-mix(in srgb, var(--theme-accent) 24%, transparent);
}
.testimonial-logo-item img{
  max-width:100%;
  max-height:42px;
  width:auto;
  object-fit:contain;
  filter:brightness(0) invert(1) opacity(.92);
}

/* Request a Quote */
.quote-shell{
  display:grid;
  grid-template-columns:.98fr 1.02fr;
  gap:28px;
  align-items:stretch;
}
.quote-contact-panel,
.quote-form-card{
  padding:28px 28px 24px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
}
.quote-contact-panel h2{
  font-size:clamp(34px,4vw,58px);
  margin-bottom:10px;
}
.quote-contact-panel p{color:var(--theme-muted)}
.quote-contact-list{
  list-style:none;
  margin-top:22px;
}
.quote-contact-list li{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  align-items:start;
  margin:18px 0;
}
.quote-contact-list .q-icon{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background:#eef3fb;
  color:var(--theme-primary);
  border:1px solid rgba(12,84,168,.06);
  font-size:18px;
  transition:transform .35s ease, background .35s ease, color .35s ease, box-shadow .35s ease;
}
.quote-contact-list li:hover .q-icon{
  transform:translateY(-3px) rotate(-6deg);
  background:linear-gradient(135deg,var(--theme-accent),#2495ff);
  color:#fff;
  box-shadow:0 16px 30px rgba(38,165,219,.24);
}
.quote-contact-list strong{display:block;margin-bottom:2px;color:var(--theme-heading)}
.quote-contact-list span{color:var(--theme-muted)}
.quote-form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.form-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.form-field-full{grid-column:1 / -1}
.form-field label{display:none}
.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  min-height:54px;
  padding:14px 18px;
  border-radius:18px;
  border:1px solid var(--theme-border);
  background:#fff;
  color:var(--theme-text);
  outline:none;
  transition:var(--transition);
}
.form-field textarea{
  min-height:130px;
  resize:vertical;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color:var(--theme-accent);
  box-shadow:0 0 0 4px rgba(38,165,219,.12);
}
.quote-form-card .btn{
  min-height:50px;
  padding:0 22px;
}
.quote-form-note{
  margin-top:12px;
  color:var(--theme-muted);
  font-size:13px;
}

/* Footer */
/* Footer */
.home3-footer{
  background:transparent;
  color:#d4e3f4;
  margin-top:120px;
}
.footer-top-band{
  background:var(--theme-primary);
  color:#fff;
  border-radius:36px 36px 0 0;
  padding:34px 42px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.footer-top-left,
.footer-top-right{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap: wrap;
}
.footer-top-band h3{
  margin:0;
  color:#fff;
  font-size:22px;
}
.footer-top-icon{
  position: relative;    
  width:70px;
  height:70px;
  border-radius:50%;
  display:grid; 
  place-items:center;
  font-size:28px;
  flex:0 0 auto;
}

/* ICON stays static */
.footer-top-icon svg,
.footer-top-icon img,
.footer-top-icon{
  z-index:2;
  position:relative;
  font-size:22px;
  color:#fff;
}

/* DASHED ROTATING RING */
.footer-top-icon::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border:2px dashed rgba(255,255,255,.55);
  animation:footerRingSpin 18s linear infinite;
}



.footer-call-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 28px;
  border-radius:999px;
  background:#001b44;
  color:#fff;
  font-weight:800;
}


.footer-email-pill {
 display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 28px;
  border-radius:999px;
  background:#001b44;
  color:#fff;
  font-weight:800;
}

.footer-email-pill:hover,
.footer-call-pill:hover {
    text-decoration: underline;
}

.footer-main-wrap{
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.03), transparent 22%),
    linear-gradient(180deg, #03112f 0%, #020b25 100%);
  position:relative;
  overflow:hidden;
}
.footer-main-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:120px 120px, 120px 120px;
  opacity:.15;
  pointer-events:none;
}
.footer-main{
  position:relative;
  z-index:1;
  padding:70px 0 24px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr .8fr .8fr 1fr;
  gap:34px;
}
.footer-brand-col p{
  color:#b9cae0;
  max-width:360px;
  margin:20px 0 22px;
}
.footer-socials{
  display:flex;
  gap:14px;
  margin-top:18px;
}
.footer-socials a{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
}
.footer-socials a:hover{
  background:var(--theme-primary);
  border-color:var(--theme-primary);
}
.footer-main h4{
  color:#fff;
  margin:0 0 22px;
  font-size:18px;
}
.footer-links{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:14px;
}
.footer-links a{
  color:#c7d7ea;
}
.footer-links a:hover{
  color:#fff;
}
.footer-newsletter p{
  color:#b9cae0;
  margin-bottom:22px;
}
.footer-subscribe-form{
  display:flex;
  align-items:stretch;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  overflow:hidden;
  max-width:320px;
}
.footer-subscribe-form input{
  flex:1;
  min-width:0;
  border:0;
  background:transparent;
  color:#fff;
  padding:16px 18px;
  font:inherit;
}
.footer-subscribe-form input::placeholder{ color:#8fa5c2; }
.footer-subscribe-form button{
  width:64px;
  border:0;
  background:var(--theme-primary);
  color:#fff;
  cursor:pointer;
  font-size:20px;
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:40px;
  padding-top:24px;
  color:#b7c8de;
}
.footer-bottom-links{
  display:flex;
  gap:24px;
}
.footer-bottom-links a{
  color:#b7c8de;
}
.footer-bottom-links a:hover{
  color:#fff;
}

@keyframes flashSweep{
  0%{ transform:translateX(-120%); }
  100%{ transform:translateX(120%); }
}

@media (max-width: 1100px){
  .hero-grid,
  .two-col,
  .footer-grid,
  .request-quote-grid{
    grid-template-columns:1fr;
  }

  .trust-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .process-grid,
  .testimonial-grid{
    grid-template-columns:1fr;
  }
.footer-top-band-wrapper {
    width: 100%;
    background: #0f172a; /* match your theme */
    padding: 20px 40px;
}
  .footer-top-band{
      max-width: 1400px; /* control inner width */
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media (max-width:1024px){
  .testimonial-dark-card{flex:0 0 100%}
}

@media (max-width:767px){
  .testimonial-dark-card{flex:0 0 100%}
}
@media (max-width: 820px){
  .menu-list{ display:none; }
  .mobile-toggle{
    display:inline-grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid var(--theme-border);
    background:#fff;
    border-radius:12px;
    font-size:22px;
  }
  .site-header.open .mobile-drawer{ display:block; }

  .nav-actions .btn{ display:none; }

  .hero-dashboard-stats,
  .trust-grid,
  .form-grid{
    grid-template-columns:1fr;
  }

  .hero-dark{ padding-top:70px; }

  .footer-top-band{
    padding:26px 24px;
    border-radius:24px 24px 0 0;
  }

  .footer-main{ padding:50px 0 24px; }
  .footer-bottom-links{ gap:16px; }

  .cta-flash-content{
    align-items:flex-start;
  }
}


/* ===== FOOTER LOGO SECTION ALIGNMENT FIX ===== */

.footer-brand-v2{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center; /* change to center if you want center layout */
  justify-content:flex-start;
}

/* Logo */
.footer-brand-v2 img{
  display:block;    
  max-width:220px;
  margin:0 0 20px 0;
}

/* Text */
.footer-brand-v2 p{
  max-width:420px;
  line-height:1.7;
  margin-bottom:22px;
}

/* Social Icons */
.footer-social{
  display:flex;
  gap:12px;
  margin-top:10px;
}

.footer-social a{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  transition:all .3s ease;
}

.footer-social a:hover{
  background:var(--theme-accent);
  transform:translateY(-3px);
}

/* ===== WPForms 49 Final Alignment Fix ===== */

#wpforms-49,
#wpforms-form-49,
#wpforms-49 .wpforms-field-container{
  width:100% !important;
  max-width:100% !important;
}

#wpforms-49 .wpforms-field-container{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
}

#wpforms-49 .wpforms-field{
  padding:0 !important;
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  clear:none !important;
}

/* remove WPForms clearfix layout issue */
#wpforms-49 .wpforms-field-row:before,
#wpforms-49 .wpforms-field-row:after{
  content:none !important;
  display:none !important;
}

/* Name field full row */
#wpforms-49 .wpforms-field-name{
  grid-column:1 / -1 !important;
}

#wpforms-49 .wpforms-field-name .wpforms-field-row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

#wpforms-49 .wpforms-field-row-block,
#wpforms-49 .wpforms-one-half,
#wpforms-49 .wpforms-first,
#wpforms-49 .wpforms-last{
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
}

/* Select and message full row */
#wpforms-49 .wpforms-field-select,
#wpforms-49 .wpforms-field-textarea{
  grid-column:1 / -1 !important;
}

/* Hide labels */
#wpforms-49 .wpforms-field-label,
#wpforms-49 .wpforms-field-sublabel{
  display:none !important;
}

/* Inputs */
#wpforms-49 input,
#wpforms-49 select,
#wpforms-49 textarea{
  width:100% !important;
  max-width:100% !important;
  min-height:58px !important;
  height:auto !important;
  padding:16px 20px !important;
  border-radius:18px !important;
  border:1px solid var(--theme-border) !important;
  background:#fff !important;
  color:var(--theme-text) !important;
  font-size:16px !important;
  box-shadow:none !important;
  outline:none !important;
}

#wpforms-49 textarea{
  min-height:130px !important;
}

/* Submit */
#wpforms-49 .wpforms-submit-container{
  padding:16px 0 0 !important;
  margin:0 !important;
}

#wpforms-49 button.wpforms-submit{
  width:100% !important;
  min-height:50px !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent)) !important;
  color:#fff !important;
  font-weight:900 !important;
}

.quote-form-title{
  font-size:32px;
  font-weight:800;
  margin-bottom:18px;
  color:var(--theme-heading);
}

.quote-form-note{
  display:none !important;
}




/* ===== Partner Section ===== */

.partner-section{
  padding:90px 0;
  background:linear-gradient(180deg,var(--theme-bg),var(--theme-soft-2));
  overflow:hidden;
}


.partner-wrap{
  text-align:center;
  background:#fff;
  border:1px solid var(--theme-border);
  border-radius:34px;
  padding:54px 40px;
  box-shadow:0 24px 70px rgba(2,33,67,.08);
  overflow:hidden;
}

.partner-wrap h2{
  margin-bottom:12px;
}

.partner-wrap p{
  max-width:720px;
  margin:0 auto 34px;
  color:var(--theme-muted);
}
.partner-carousel{
  position:relative;
  overflow:hidden;
  width:100%;
}

.partner-carousel::before,
.partner-carousel::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:90px;
  z-index:2;
  pointer-events:none;
}

.partner-carousel::before{
  left:0;
  background:linear-gradient(90deg,#fff,transparent);
}

.partner-carousel::after{
  right:0;
  background:linear-gradient(270deg,#fff,transparent);
}

.partner-track{
  display:flex;
  gap:24px;
  width:max-content;
  animation:partnerSlide 30s linear infinite;
}

.partner-carousel:hover .partner-track{
  animation-play-state:paused;
}
.partner-logos{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}

.partner-logo{
   flex:0 0 240px;
  height:110px;
  border-radius:24px;
  background:transparent;
  border:none;
  box-shadow: none;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}

.partner-logo:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 44px rgba(2,33,67,.12);
  border-color:color-mix(in srgb,var(--theme-primary) 24%, transparent);
}

.partner-logo img{
  width:auto;
  height:100%;
  max-height:90px;
  object-fit:contain;
  object-position:center;
  filter:none !important;
  opacity:1 !important;
  transform:scale(1.2);
  transition:all .35s ease;
}

.partner-logo:hover img{
  transform:scale(1.25);
}


@media(max-width:900px){
  .partner-logos{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:520px){
  .partner-section{
    padding:70px 0;
  }

  .partner-wrap{
    padding:38px 20px;
  }

  .partner-logos{
    grid-template-columns:1fr;
  }
}
@media(max-width:767px){
  .partner-section{
    padding:70px 0;
  }
 .partner-wrap{
    padding:38px 20px;
  }

  .partner-logo{
    flex-basis:220px;
    height:130px;
  }
 .partner-logo img{
    max-width:200px;
    max-height:105px;
    transform:scale(1.12);
 }
  .partner-track{
    animation-duration:22s;
  }
}

@media(max-width:767px){
  #wpforms-49 .wpforms-field-container,
  #wpforms-49 .wpforms-field-name .wpforms-field-row{
    grid-template-columns:1fr !important;
  }
}

@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes spinReverse{from{transform:rotate(360deg)}to{transform:rotate(0deg)}}
@keyframes orbitPulse{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.05);opacity:1}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes orbitLogoRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes orbitLogoPulse{0%,100%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@keyframes orbitLogoFloat{0%,100%{transform:scale(var(--logo-scale)) translateY(0)}50%{transform:scale(var(--logo-scale)) translateY(-6px)}}
@keyframes rotateRing{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes footerRingSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}} 
@keyframes partnerSlide{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 12px));}}




/* ===== MOBILE RESPONSIVE FIXES ===== */
/* ===== CRITICAL MOBILE FINAL OVERRIDE ===== */

@media (max-width:767px){

  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
  }

  body *{
    max-width:100%;
  }

  .container{
    width:calc(100% - 28px) !important;
  }

  .site-topbar{
    font-size:14px !important;
  }

  .topbar-inner,
  .topbar-list{
    justify-content:left !important;
    text-align:center;
     font-size:14px;
     color: #fff;
  }


  .site-header{
    grid-template-columns:1fr !important;
    text-align:center;
  }

  .branding,
  .header-cta{
    justify-content:center;
  }

  .primary-nav .menu,
  .primary-nav ul{
    flex-wrap:wrap;
    gap:12px;
  }

  .primary-nav a{
    font-size:15px !important;
  }

  .hero-grid{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    padding:60px 0 40px;
    text-align:center;
  }

  .hero-actions,
  .hero-tags{
    justify-content:center;
  }

  .hero-visual{
    min-height:360px !important;
    transform:none !important;
    overflow:hidden !important;
    margin-top:20px;
  }

  .orbit-stage{
    width:320px !important;
    height:320px !important;
    max-width:320px !important;
    margin:0 auto !important;
  }

  .orbit-ring-two{
    inset:8px !important;
  }

  .orbit-ring{
    inset:48px !important;
  }

  .orbit-ring-three{
    inset:92px !important;
  }

  .orbit-logo-center{
    width:138px !important;
    height:138px !important;
  }

  .orbit-logo-crop{
    width:92px !important;
    height:92px !important;
  }

  .orbit-logo-center::before{
    inset:-16px !important;
    border-width:2px !important;
  }

  .orbit-logo-halo{
    inset:-26px !important;
  }

  .float-card{
    position:absolute !important;
    padding:8px 10px !important;
    font-size:11px !important;
    border-radius:12px !important;
    white-space:nowrap;
  }

  .float-card small{
    font-size:10px !important;
  }

  .fc-a{top:4px !important;right:8px !important;left:auto !important;bottom:auto !important}
  .fc-b{top:128px !important;left:0 !important;right:auto !important;bottom:auto !important}
  .fc-c{right:8px !important;bottom:8px !important;left:auto !important;top:auto !important}
  .fc-d{top:4px !important;left:8px !important;right:auto !important;bottom:auto !important}
  .fc-e{top:132px !important;right:0 !important;left:auto !important;bottom:auto !important}
  .fc-f{left:14px !important;bottom:8px !important;right:auto !important;top:auto !important}

  .trust-strip,
  .trust-panel,
  .trust-feature-grid,
  .trust-stats,
  .grid-2,
  .grid-3,
  .grid-4,
  .quote-shell{
    grid-template-columns:1fr !important;
  }

  .modern-it-section{
    padding:14px !important;
  }

  .modern-it-shell{
    min-height:auto !important;
    border-radius:22px !important;
  }

  .modern-it-top{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .modern-it-copy{
    padding:32px 20px !important;
  }

  .modern-it-copy::after,
  .modern-it-network{
    display:none !important;
  }

  .modern-it-image{
    min-height:260px !important;
  }

  .modern-it-cards-band{
    margin-top:0 !important;
    padding:20px !important;
  }

  .modern-it-cards{
    grid-template-columns:1fr !important;
  }

     .modern-it-bottom{
       padding:42px 22px 34px !important;
  }

  .modern-it-bottom-grid{
     display:grid !important;
    grid-template-columns:1fr !important;
    gap:28px !important;
    text-align:center !important;
  }

  .modern-it-trust{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    text-align:center !important;
  }

  .modern-it-trust h3{
    font-size:24px !important;
    line-height:1.25 !important;
    max-width:300px !important;
    margin:0 auto !important;
  }
  .modern-it-bottom-copy{
   width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    padding-left:0 !important;
    border-left:0 !important;
  }

  .modern-it-bottom-copy-wrap{
   display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:24px !important;
    text-align:center !important;
  }

.modern-it-bottom-copy p{
    font-size:16px !important;
    line-height:1.75 !important;
    max-width:320px !important;
    margin:0 auto !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    white-space:normal !important;
  }

.modern-it-badge-img{
    width:100% !important;
    justify-content:center !important;
  }

  .modern-it-badge-img img{
    width:150px !important;
    max-width:150px !important;
    margin:0 auto !important;
  }
   .modern-it-values{
    width:100% !important;
    max-width:320px !important;
    margin:0 auto !important;
  }

  .modern-it-values li{
    grid-template-columns:42px 1fr !important;
    text-align:left !important;
    font-size:16px !important;
  }
  .services-solutek .grid-3{
    grid-template-columns:1fr !important;
    gap:56px !important;
  }

  .cta-tech-band{
    grid-template-columns:1fr !important;
    text-align:center;
    padding:26px 20px !important;
  }

  .cta-tech-actions{
    justify-content:center !important;
  }

  .testimonial-dark-card{
    flex:0 0 100% !important;
  }

  .testimonial-logo-rail{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .quote-contact-panel,
  .quote-form-card{
    padding:24px 20px !important;
  }

  #wpforms-49 .wpforms-field-container,
  #wpforms-49 .wpforms-field-name .wpforms-field-row{
    grid-template-columns:1fr !important;
  }

  .footer-grid{
    grid-template-columns:1fr !important;
    text-align:center;
  }

  .footer-brand-col p{
    margin-left:auto;
    margin-right:auto;
  }

  .footer-socials,
  .footer-bottom,
  .footer-bottom-links{
    justify-content:center;
  }

  .footer-top-band{
    flex-direction:column !important;
    align-items:center !important;
    text-align:center;
    padding:26px 20px !important;
  }

  .footer-top-left,
  .footer-top-right{
    flex-direction:column !important;
  }
}

/* Hide location text on mobile */
@media (max-width:767px){
  .site-topbar .topbar-list:last-child{
    display:none !important;
  }
}

/* ===== ABOUT PAGE ===== */

.about-hero{
  position:relative;
  overflow:hidden;
  padding:110px 0;
}

.about-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:44px;
  align-items:center;
}

.about-hero-copy p{
  max-width:720px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.about-hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.about-hero-visual{
  position:relative;
  padding:34px;
  color:#fff;
}

.about-exp-card{
  border-radius:26px;
  padding:34px;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  box-shadow:0 26px 70px rgba(0,0,0,.22);
  text-align:center;
}

.about-exp-card strong{
  display:block;
  color:#fff;
  font-size:72px;
  line-height:1;
}

.about-exp-card span{
  display:block;
  color:#fff;
  font-weight:800;
  margin-top:10px;
}

.about-section-dotted-bg{
 position:relative;
  background:
    radial-gradient(rgba(0,0,0,0.08) 1px, transparent 1px),
    linear-gradient(to bottom, #ffffff, #f4f7fb);

  background-size:14px 14px, 100% 100%;
}

.about-section-dotted-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at center, transparent 40%, rgba(255,255,255,0.9) 100%);
  pointer-events:none;
}
.about-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-top:18px;
}

.about-mini-grid div{
  padding:20px;
  border-radius:20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  transition:all .35s ease;
}

.about-mini-grid div:hover{
  transform:translateY(-5px);
  background:rgba(255,255,255,.12);
}

.about-mini-grid strong{
  display:block;
  color:#fff;
  font-size:22px;
}

.about-mini-grid span{
  color:rgba(255,255,255,.75);
}

.about-intro-grid{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:44px;
  align-items:center;
}

.about-image-card{
  position:relative;
  border-radius:32px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio: 2000 / 1400;
}

/* OVERLAY GLOW */
.about-image-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.15) 40%,
    rgba(255,255,255,0) 80%
  );
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}


/* keeps same height as content */
.about-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
}

.about-image-card img{
   width:100%;
  height:auto;
  object-fit:contain;
  transition:transform .6s ease;
}

.about-image-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0) 60%,
    rgba(0,0,0,0.25)
  );
}

/* HOVER EFFECT */
.about-image-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
}

.about-image-card:hover img{
  transform:scale(1.05);
}

.about-image-card:hover::after{
  opacity:1;
}

.about-intro-copy p{
  color:var(--theme-muted);
  text-align: justify;
}

.about-check-list{
  list-style:none;
  margin-top:22px;
  display:grid;
  gap:12px;
}

.about-check-list li{
  position:relative;
  padding-left:34px;
  color:var(--theme-heading);
  font-weight:700;
}

.about-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:13px;
}

.about-value-grid{
  margin-top:34px;
}

.about-value-card{
  position:relative;
  overflow:hidden;
  padding:34px;
  border-radius:28px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.about-value-card:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
  border-color:rgba(38,165,219,.26);
}

.about-value-card h3,
.about-value-card p{
  color:#fff;
}

.about-value-card p{
  color:rgba(255,255,255,.78);
}

.about-value-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:22px;
}

.about-process-grid{
  margin-top:34px;
}

.about-process-card{
  padding:30px;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.about-process-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
}

.about-process-card span{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
}

.about-process-card p{
  color:var(--theme-muted);
}

.about-highlight-box{
  border-radius:34px;
  padding:44px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:center;
}

.about-highlight-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.about-highlight-list span{
  padding:12px 16px;
  border-radius:999px;
  background:var(--theme-soft);
  color:var(--theme-heading);
  font-weight:800;
  transition:all .35s ease;
}

.about-highlight-list span:hover{
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  transform:translateY(-3px);
}



@media(max-width:900px){
  .about-hero-grid,
  .about-intro-grid,
  .about-highlight-box{
    grid-template-columns:1fr;
  }

  .about-hero,
  .about-intro-section,
  .about-values-section,
  .about-process-section,
  .about-service-highlight,
  .about-cta-section{
    padding:70px 0;
  }

  .about-image-card{
    min-height:380px;
  }
  .about-image-card img{
    width:100% !important;
    height:auto !important;
  }

  .about-highlight-box{
    padding:30px 22px;
  }

  .about-mini-grid{
    grid-template-columns:1fr;
  }
}


/* ===== SERVICES PAGE PREMIUM REDESIGN ===== */

.services-premium-hero{
  position:relative;
  overflow:hidden;
  padding:120px 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(38,165,219,.18), transparent 26%),
    radial-gradient(circle at 85% 30%, rgba(12,84,168,.22), transparent 28%),
    linear-gradient(135deg,#02162d 0%, #04264b 48%, #031c37 100%);
  color:#fff;
}

.services-premium-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:48px 48px;
  opacity:.35;
}

.services-premium-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:48px;
  align-items:center;
}

.services-premium-copy h1,
.services-premium-copy p{
  color:#fff;
}

.services-premium-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:19px;
}

.services-hero-pills{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.services-hero-pills span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.services-premium-visual{
  position:relative;
  min-height:480px;
}

.services-orbit-ring,
.services-orbit-ring.two{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.services-orbit-ring{
  inset:40px;
  border:2px dashed rgba(38,165,219,.72);
  animation:spin 18s linear infinite;
}

.services-orbit-ring.two{
  inset:92px;
  border:2px dotted rgba(255,255,255,.22);
  animation:spinReverse 20s linear infinite;
}

.services-center-icon{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:190px;
  height:190px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}

.services-center-icon svg{
  width:92px;
  height:92px;
  stroke:#fff;
  fill:none;
  stroke-width:1.6;
}

.services-orbit-card.main{
  position:absolute;
  right:20px;
  top:20px;
  padding:26px;
  border-radius:26px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
  z-index:3;
}

.services-orbit-card strong{
  display:block;
  color:#fff;
  font-size:54px;
  line-height:1;
}

.services-orbit-card span{
  color:rgba(255,255,255,.76);
  font-weight:800;
}

.services-float{
  position:absolute;
  padding:14px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-weight:900;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  animation:floaty 5s ease-in-out infinite;
}

.sf-1{left:10px;top:90px}
.sf-2{right:0;bottom:110px;animation-delay:.7s}
.sf-3{left:70px;bottom:40px;animation-delay:1.1s}

.services-overview-section{
  background:#fff;
}

.services-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:42px;
  align-items:center;
}

.services-overview-grid p{
  color:var(--theme-muted);
  font-size:18px;
}

.services-page-cards{
  background:linear-gradient(180deg,#eef5fb 0%, #f8fbff 100%);
}

.services-dark-detail{
  background:
    radial-gradient(circle at 82% 18%, rgba(38,165,219,.14), transparent 22%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
}

.services-dark-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:44px;
  align-items:center;
}

.services-dark-detail h2,
.services-dark-detail p{
  color:#fff;
}

.services-dark-detail p{
  color:rgba(255,255,255,.74);
}

.services-detail-list{
  display:grid;
  gap:18px;
}

.services-detail-list div{
  padding:24px;
  border-radius:24px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.services-detail-list div:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.11);
}

.services-detail-list strong{
  color:var(--theme-accent);
  font-size:18px;
}

.services-detail-list span{
  display:block;
  color:#fff;
  font-size:22px;
  font-weight:900;
  margin:6px 0;
}

.services-process-bright{
  background:#fff;
}

.services-process-card.bright{
  padding:30px;
  border-radius:26px;
  background:var(--theme-soft-2);
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.services-process-card.bright:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
}

.services-process-card.bright span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:18px;
}

.services-process-card.bright p{
  color:var(--theme-muted);
}

.services-local-seo{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
}

.services-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:34px;
  align-items:center;
  padding:44px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.services-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

@media(max-width:900px){
  .services-premium-grid,
  .services-overview-grid,
  .services-dark-grid,
  .services-local-box{
    grid-template-columns:1fr;
  }

  .services-premium-hero{
    padding:90px 0;
  }

  .services-premium-visual{
    min-height:360px;
  }

  .services-center-icon{
    width:150px;
    height:150px;
  }

  .services-center-icon svg{
    width:72px;
    height:72px;
  }

  .services-local-box{
    padding:30px 22px;
  }
}


/* ===== MANAGED IT SERVICES PAGE ===== */

.managed-hero{
  position:relative;
  overflow:hidden;
  padding:120px 0;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(12,84,168,.22), transparent 28%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.managed-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.32;
  pointer-events:none;
}

.managed-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:48px;
  align-items:center;
}

.managed-hero-copy h1,
.managed-hero-copy p{
  color:#fff;
}

.managed-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:19px;
}

.managed-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.managed-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.managed-hero-image{
  position:relative;
  min-height:520px;
  margin: 0px 0 150px -30px;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 34px 100px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.12);
}

.managed-hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 45%, rgba(2,22,45,.46));
  pointer-events:none;
}

.managed-hero-image img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  object-position:center;
}

.managed-image-badge{
  position:absolute;
  left:24px;
  bottom:24px;
  z-index:2;
  padding:22px 24px;
  border-radius:24px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}

.managed-image-badge strong{
  display:block;
  color:#fff;
  font-size:48px;
  line-height:1;
}

.managed-image-badge span{
  color:rgba(255,255,255,.82);
  font-weight:800;
}

.managed-overview{
  background:#fff;
}

.managed-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:42px;
  align-items:center;
}

.managed-overview-grid p{
  color:var(--theme-muted);
  font-size:18px;
}

.managed-support-section{
  background:
    radial-gradient(rgba(12,84,168,.09) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
}

.managed-support-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.managed-support-card{
  position:relative;
  overflow:hidden;
  padding:32px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.managed-support-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.managed-support-card > *{
  position:relative;
  z-index:2;
}

.managed-support-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.managed-support-card:hover::before{
  opacity:1;
}

.managed-support-card:hover h3,
.managed-support-card:hover p,
.managed-support-card:hover .managed-support-icon{
  color:#fff;
}

.managed-support-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:20px;
  transition:all .35s ease;
}

.managed-support-card:hover .managed-support-icon{
  background:rgba(255,255,255,.16);
}

.managed-support-card p{
  color:var(--theme-muted);
}

.managed-image-band{
  background:#fff;
}

.managed-band-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:44px;
  align-items:center;
}

.managed-band-visual{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:500px;
  box-shadow:var(--shadow-md);
}

.managed-band-visual img{
  width:100%;
  height:100%;
  min-height:500px;
  object-fit:cover;
  object-position:center;
}

.managed-band-copy p{
  color:var(--theme-muted);
  font-size:18px;
}

.managed-check-list{
  list-style:none;
  display:grid;
  gap:14px;
  margin-top:22px;
}

.managed-check-list li{
  position:relative;
  padding-left:34px;
  font-weight:800;
  color:var(--theme-heading);
}

.managed-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:13px;
}

.managed-process-section{
  background:
    radial-gradient(circle at 85% 15%, rgba(38,165,219,.14), transparent 20%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
}

.managed-process-section h2,
.managed-process-section p{
  color:#fff;
}

.managed-process-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  margin-top:34px;
}

.managed-process-step{
  padding:30px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.managed-process-step:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
  border-color:rgba(38,165,219,.28);
}

.managed-process-step span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:18px;
}

.managed-process-step h3{
  color:#fff;
}

.managed-process-step p{
  color:rgba(255,255,255,.76);
}

.managed-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
}

.managed-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:34px;
  align-items:center;
  padding:44px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.managed-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

@media(max-width:900px){
  .managed-hero-grid,
  .managed-overview-grid,
  .managed-support-grid,
  .managed-band-grid,
  .managed-process-timeline,
  .managed-local-box{
    grid-template-columns:1fr;
  }

  .managed-hero{
    padding:90px 0;
  }

  .managed-hero-image,
  .managed-hero-image img,
  .managed-band-visual,
  .managed-band-visual img{
    min-height:360px;
  }

  .managed-local-box{
    padding:30px 22px;
  }
}




/* ===== FIREWALL & CYBERSECURITY PAGE ===== */

.firewall-hero{
  position:relative;
  overflow:hidden;
  padding:120px 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(38,165,219,.18), transparent 24%),
    radial-gradient(circle at 84% 24%, rgba(252,91,45,.10), transparent 22%),
    linear-gradient(135deg,#020b25 0%, #031c37 44%, #062f59 100%);
  color:#fff;
}

.firewall-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 54px 54px, 54px 54px;
  opacity:.35;
  pointer-events:none;
}

.firewall-hero-grid{
  position:relative;
  z-index:2;
  display:flex;
  grid-template-columns:1.05fr .95fr;
  gap:48px;
  align-items:center;
}

.firewall-hero-copy h1,
.firewall-hero-copy p{
  color:#fff;
}

.firewall-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:19px;
}

.firewall-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.firewall-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.firewall-hero-visual{
  position:relative;
  height:100%;
  min-height:520px; /* match text height */
  border-radius:26px;
  overflow:hidden;
}

/* Make image behave like premium hero */
.firewall-hero-visual img{
  width:100%;
  height:100%;
  object-fit:fill;   /* fills container */
  object-position:center; /* keeps subject centered */
  display:block;
}
.firewall-hero-image{
  position:relative;
  height:100%;
  min-height:540px; /* adjust based on your layout */
  border-radius:26px;
  overflow:hidden;
}

/* Full premium image behavior */
.firewall-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.cyber-radar-ring{
  position:absolute;
  inset:36px;
  border-radius:50%;
  border:2px dashed rgba(38,165,219,.72);
  animation:spin 18s linear infinite;
}

.cyber-radar-ring.second{
  inset:96px;
  border:2px dotted rgba(255,255,255,.24);
  animation:spinReverse 22s linear infinite;
}

.cyber-shield-core{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:200px;
  height:200px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  box-shadow:0 34px 100px rgba(0,0,0,.34);
}

.cyber-shield-core svg{
  width:96px;
  height:96px;
  stroke:#fff;
  fill:none;
  stroke-width:1.6;
}

.cyber-node{
  position:absolute;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--theme-accent);
  box-shadow:0 0 18px var(--theme-accent),0 0 34px var(--theme-accent);
}

.node-one{top:34px;left:50%}
.node-two{right:58px;bottom:86px;background:#fdc500;box-shadow:0 0 18px #fdc500}
.node-three{left:62px;bottom:120px;background:#fc5b2d;box-shadow:0 0 18px #fc5b2d}

.cyber-float-card{
  position:absolute;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  backdrop-filter:blur(12px);
  box-shadow:0 20px 60px rgba(0,0,0,.20);
  animation:floaty 5.4s ease-in-out infinite;
}

.cyber-float-card strong{
  display:block;
  color:#fff;
}

.cyber-float-card span{
  color:rgba(255,255,255,.72);
  font-size:13px;
}

.cyber-card-one{left:0;top:96px}
.cyber-card-two{right:0;top:58px;animation-delay:.6s}
.cyber-card-three{right:28px;bottom:72px;animation-delay:1.1s}

.firewall-dual-section{
  background:#fff;
}

.firewall-dual-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}

.firewall-dual-card{
  position:relative;
  overflow:hidden;
  padding:36px;
  border-radius:32px;
  background:linear-gradient(180deg,#f8fbff,#eef5fb);
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.firewall-dual-card.cyber{
  background:linear-gradient(180deg,#fff8f3,#f8fbff);
}

.firewall-dual-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
}

.firewall-dual-icon{
  width:70px;
  height:70px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  margin-bottom:22px;
}

.firewall-dual-icon svg{
  width:34px;
  height:34px;
  stroke:#fff;
  fill:none;
  stroke-width:1.8;
}

.firewall-dual-card p{
  color:var(--theme-muted);
}

.firewall-dual-card ul{
  list-style:none;
  display:grid;
  gap:10px;
  margin-top:18px;
}

.firewall-dual-card li{
  position:relative;
  padding-left:28px;
  font-weight:800;
  color:var(--theme-heading);
}

.firewall-dual-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--theme-primary);
}

.firewall-image-section{
  background:
    radial-gradient(rgba(12,84,168,.08) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
}

.firewall-image-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:44px;
  align-items:center;
}

.firewall-image-card{
  overflow:hidden;
  border-radius:34px;
  min-height:500px;
  box-shadow:var(--shadow-md);
}

.firewall-image-card img{
  width:100%;
  height:100%;
  min-height:500px;
  object-fit:cover;
  object-position:center;
}

.firewall-image-copy p{
  color:var(--theme-muted);
  font-size:18px;
}

.firewall-feature-list{
  display:grid;
  gap:14px;
  margin-top:24px;
}

.firewall-feature-list div{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  align-items:center;
  padding:18px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--theme-border);
}

.firewall-feature-list strong{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
}

.firewall-feature-list span{
  font-weight:900;
  color:var(--theme-heading);
}

.firewall-services-matrix{
  background:#fff;
}

.firewall-matrix-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.firewall-matrix-card{
  position:relative;
  overflow:hidden;
  padding:30px;
  border-radius:28px;
  background:var(--theme-soft-2);
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.firewall-matrix-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.firewall-matrix-card > *{
  position:relative;
  z-index:2;
}

.firewall-matrix-card:hover{
  transform:translateY(-8px);
  border-color:transparent;
  box-shadow:var(--shadow-md);
}

.firewall-matrix-card:hover::before{
  opacity:1;
}

.firewall-matrix-card span{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:18px;
  background:#fff;
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
}

.firewall-matrix-card p{
  color:var(--theme-muted);
}

.firewall-matrix-card:hover h3,
.firewall-matrix-card:hover p{
  color:#fff;
}

.firewall-process-section{
  background:
    radial-gradient(circle at 82% 18%, rgba(38,165,219,.14), transparent 22%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
}

.firewall-process-box{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:44px;
  align-items:center;
}

.firewall-process-box h2,
.firewall-process-box p{
  color:#fff;
}

.firewall-process-box p{
  color:rgba(255,255,255,.74);
}

.firewall-process-list{
  display:grid;
  gap:16px;
}

.firewall-process-list div{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:16px;
  align-items:center;
  padding:20px;
  border-radius:22px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
}

.firewall-process-list strong{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
}

.firewall-process-list span{
  color:#fff;
  font-weight:900;
}

.firewall-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
}

.firewall-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:34px;
  align-items:center;
  padding:44px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.firewall-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

@media(max-width:900px){
  .firewall-hero-grid,
  .firewall-dual-grid,
  .firewall-image-grid,
  .firewall-matrix-grid,
  .firewall-process-box,
  .firewall-local-box{
    grid-template-columns:1fr;
  }

  .firewall-hero{
    padding:90px 0;
  }

  .firewall-hero-visual{
    min-height:360px;
  }

  .cyber-shield-core{
    width:150px;
    height:150px;
  }

  .cyber-shield-core svg{
    width:72px;
    height:72px;
  }

  .firewall-image-card,
  .firewall-image-card img{
    min-height:360px;
  }

  .firewall-local-box{
    padding:30px 22px;
  }
}

/* =========================================================
   INTERNAL SERVICE/ABOUT PAGES — TABLET + MOBILE FINAL FIX
   Applies to:
   About, Services, Managed IT, Firewall & Cybersecurity
========================================================= */

/* ---------- Tablet ---------- */
@media (max-width:1024px){

  .about-hero-grid,
  .about-intro-grid,
  .about-highlight-box,
  .services-premium-grid,
  .services-overview-grid,
  .services-dark-grid,
  .services-local-box,
  .managed-hero-grid,
  .managed-overview-grid,
  .managed-band-grid,
  .managed-local-box,
  .firewall-hero-grid,
  .firewall-dual-grid,
  .firewall-image-grid,
  .firewall-process-box,
  .firewall-local-box{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }

  .about-value-grid,
  .about-process-grid,
  .services-process-grid,
  .managed-support-grid,
  .managed-process-timeline,
  .firewall-matrix-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .about-hero,
  .services-premium-hero,
  .managed-hero,
  .firewall-hero{
    padding:90px 0 !important;
  }

  .about-hero-copy,
  .services-premium-copy,
  .managed-hero-copy,
  .firewall-hero-copy{
    text-align:center !important;
  }

  .about-hero-copy p,
  .services-premium-copy p,
  .managed-hero-copy p,
  .firewall-hero-copy p{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .about-hero-actions,
  .services-premium-copy .hero-actions,
  .managed-hero-copy .hero-actions,
  .firewall-hero-copy .hero-actions,
  .services-hero-pills,
  .managed-hero-tags,
  .firewall-hero-tags{
    justify-content:center !important;
  }

  .services-premium-visual,
  .firewall-hero-visual{
    max-width:560px !important;
    width:100% !important;
    margin:0 auto !important;
  }
}


/* ---------- Mobile ---------- */
@media (max-width:767px){

  html,
  body{
    overflow-x:hidden !important;
  }

  .about-page,
  .services-page,
  .managed-it-page,
  .firewall-cyber-page{
    overflow:hidden !important;
  }

  .about-page .container,
  .services-page .container,
  .managed-it-page .container,
  .firewall-cyber-page .container{
    width:calc(100% - 28px) !important;
  }

  .about-page .section,
  .services-page .section,
  .managed-it-page .section,
  .firewall-cyber-page .section{
    padding:64px 0 !important;
  }

  .about-page h1,
  .services-page h1,
  .managed-it-page h1,
  .firewall-cyber-page h1{
    font-size:clamp(34px,10vw,46px) !important;
    line-height:1.04 !important;
  }

  .about-page h2,
  .services-page h2,
  .managed-it-page h2,
  .firewall-cyber-page h2{
    font-size:clamp(28px,8vw,38px) !important;
    line-height:1.08 !important;
  }

  .about-page h3,
  .services-page h3,
  .managed-it-page h3,
  .firewall-cyber-page h3{
    font-size:22px !important;
  }

  .about-page p,
  .services-page p,
  .managed-it-page p,
  .firewall-cyber-page p{
    font-size:16px !important;
    line-height:1.7 !important;
  }

  .about-hero,
  .services-premium-hero,
  .managed-hero,
  .firewall-hero{
    padding:72px 0 !important;
  }

  .about-hero-grid,
  .about-intro-grid,
  .about-highlight-box,
  .services-premium-grid,
  .services-overview-grid,
  .services-dark-grid,
  .services-local-box,
  .managed-hero-grid,
  .managed-overview-grid,
  .managed-support-grid,
  .managed-band-grid,
  .managed-process-timeline,
  .managed-local-box,
  .firewall-hero-grid,
  .firewall-dual-grid,
  .firewall-image-grid,
  .firewall-matrix-grid,
  .firewall-process-box,
  .firewall-local-box{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .about-value-grid,
  .about-process-grid,
  .services-process-grid{
    grid-template-columns:1fr !important;
  }

  .about-hero-copy,
  .services-premium-copy,
  .managed-hero-copy,
  .firewall-hero-copy{
    text-align:center !important;
  }

  .about-hero-copy p,
  .services-premium-copy p,
  .managed-hero-copy p,
  .firewall-hero-copy p{
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .about-hero-actions,
  .hero-actions,
  .services-hero-pills,
  .managed-hero-tags,
  .firewall-hero-tags{
    justify-content:center !important;
  }

  .hero-actions .btn,
  .about-hero-actions .btn{
    width:100% !important;
    max-width:320px !important;
  }

  /* About page */
  .about-hero-visual{
    padding:22px !important;
  }

  .about-exp-card{
    padding:28px 20px !important;
  }

  .about-exp-card strong{
    font-size:56px !important;
  }

  .about-mini-grid{
    grid-template-columns:1fr !important;
  }

  .about-image-card{
    min-height:auto !important;
    padding:14px !important;
    border-radius:24px !important;
  }

  .about-image-card img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    object-fit:contain !important;
    transform:none !important;
    border-radius:20px !important;
  }

  .about-value-card,
  .about-process-card,
  .about-highlight-box{
    padding:26px 20px !important;
    border-radius:24px !important;
  }

  .about-highlight-list{
    justify-content:center !important;
  }

  .about-highlight-list span{
    font-size:14px !important;
    text-align:center !important;
  }

  /* Services main page */
  .services-premium-visual{
    min-height:330px !important;
    max-width:330px !important;
    width:100% !important;
    margin:20px auto 0 !important;
  }

  .services-orbit-ring{
    inset:18px !important;
  }

  .services-orbit-ring.two{
    inset:62px !important;
  }

  .services-center-icon{
    width:132px !important;
    height:132px !important;
  }

  .services-center-icon svg{
    width:62px !important;
    height:62px !important;
  }

  .services-orbit-card.main{
    right:0 !important;
    top:0 !important;
    padding:18px !important;
    border-radius:20px !important;
  }

  .services-orbit-card strong{
    font-size:40px !important;
  }

  .services-float{
    padding:10px 12px !important;
    font-size:12px !important;
    white-space:nowrap !important;
  }

  .sf-1{
    left:0 !important;
    top:90px !important;
  }

  .sf-2{
    right:0 !important;
    bottom:82px !important;
  }

  .sf-3{
    left:24px !important;
    bottom:18px !important;
  }

  .services-detail-list div,
  .services-process-card.bright,
  .services-local-box{
    border-radius:24px !important;
    padding:24px 20px !important;
  }

  .services-local-box{
    text-align:center !important;
  }

  /* Keep service cards same style but mobile-safe */
  .services-solutek .grid-3{
    grid-template-columns:1fr !important;
    gap:58px !important;
  }

  .services-solutek .service-card{
    padding:38px 24px 88px !important;
    min-height:310px !important;
  }

  .services-solutek .service-card h3{
    font-size:21px !important;
  }

  /* Managed IT page */
  .managed-hero-image,
  .managed-band-visual{
    min-height:320px !important;
    border-radius:24px !important;
  }

  .managed-hero-image img,
  .managed-band-visual img{
    min-height:320px !important;
    object-fit:cover !important;
  }

  .managed-image-badge{
    left:16px !important;
    bottom:16px !important;
    padding:16px 18px !important;
    border-radius:18px !important;
  }

  .managed-image-badge strong{
    font-size:38px !important;
  }

  .managed-support-card,
  .managed-process-step,
  .managed-local-box{
    padding:24px 20px !important;
    border-radius:24px !important;
  }

  .managed-local-box{
    text-align:center !important;
  }

  .managed-check-list li{
    text-align:left !important;
  }

  /* Firewall & Cybersecurity page */
  .firewall-hero-visual{
    min-height:330px !important;
    max-width:330px !important;
    width:100% !important;
    margin:20px auto 0 !important;
  }

  .cyber-radar-ring{
    inset:16px !important;
  }

  .cyber-radar-ring.second{
    inset:64px !important;
  }

  .cyber-shield-core{
    width:132px !important;
    height:132px !important;
  }

  .cyber-shield-core svg{
    width:62px !important;
    height:62px !important;
  }

  .cyber-float-card{
    padding:10px 12px !important;
    border-radius:14px !important;
  }

  .cyber-float-card strong{
    font-size:13px !important;
  }

  .cyber-float-card span{
    font-size:11px !important;
  }

  .cyber-card-one{
    left:0 !important;
    top:76px !important;
  }

  .cyber-card-two{
    right:0 !important;
    top:20px !important;
  }

  .cyber-card-three{
    right:12px !important;
    bottom:50px !important;
  }

  .cyber-node{
    width:10px !important;
    height:10px !important;
  }

  .firewall-dual-card,
  .firewall-matrix-card,
  .firewall-process-list div,
  .firewall-local-box{
    padding:24px 20px !important;
    border-radius:24px !important;
  }

  .firewall-image-card{
    min-height:320px !important;
    border-radius:24px !important;
  }

  .firewall-image-card img{
    min-height:320px !important;
    object-fit:cover !important;
  }

  .firewall-feature-list div{
    grid-template-columns:46px 1fr !important;
    padding:16px !important;
    text-align:left !important;
  }

  .firewall-feature-list strong{
    width:46px !important;
    height:46px !important;
  }

  .firewall-process-list div{
    grid-template-columns:50px 1fr !important;
    text-align:left !important;
  }

  .firewall-process-list strong{
    width:50px !important;
    height:50px !important;
  }

  .firewall-local-box{
    text-align:center !important;
  }

  /* CTA mobile */
  .cta-tech-band{
    grid-template-columns:1fr !important;
    text-align:center !important;
    padding:28px 20px !important;
    border-radius:24px !important;
  }

  .cta-tech-actions{
    justify-content:center !important;
  }

  .cta-tech-actions .btn{
    width:100% !important;
    max-width:320px !important;
  }
}
/* ===== INTERNAL PAGES SPACING COMPACT FIX ===== */

@media (max-width:1024px){

  .about-page .section,
  .services-page .section,
  .managed-it-page .section,
  .firewall-cyber-page .section{
    padding:58px 0 !important;
  }

  .about-hero,
  .services-premium-hero,
  .managed-hero,
  .firewall-hero{
    padding:72px 0 58px !important;
  }

  .section-head{
    margin-bottom:26px !important;
  }

  .about-hero-grid,
  .about-intro-grid,
  .services-premium-grid,
  .services-overview-grid,
  .services-dark-grid,
  .managed-hero-grid,
  .managed-overview-grid,
  .managed-band-grid,
  .firewall-hero-grid,
  .firewall-image-grid{
    gap:24px !important;
  }

  .services-premium-visual,
  .firewall-hero-visual{
    min-height:300px !important;
  }

  .managed-hero-image,
  .managed-band-visual,
  .firewall-image-card{
    min-height:300px !important;
  }

  .managed-hero-image img,
  .managed-band-visual img,
  .firewall-image-card img{
    min-height:300px !important;
  }
}

@media (max-width:767px){

  .about-page .section,
  .services-page .section,
  .managed-it-page .section,
  .firewall-cyber-page .section{
    padding:46px 0 !important;
  }

  .about-hero,
  .services-premium-hero,
  .managed-hero,
  .firewall-hero{
    padding:54px 0 42px !important;
  }

  .section-head{
    margin-bottom:22px !important;
  }

  .section-head p{
    margin-bottom:0 !important;
  }

  .about-hero-grid,
  .about-intro-grid,
  .about-highlight-box,
  .services-premium-grid,
  .services-overview-grid,
  .services-dark-grid,
  .services-local-box,
  .managed-hero-grid,
  .managed-overview-grid,
  .managed-support-grid,
  .managed-band-grid,
  .managed-process-timeline,
  .managed-local-box,
  .firewall-hero-grid,
  .firewall-dual-grid,
  .firewall-image-grid,
  .firewall-matrix-grid,
  .firewall-process-box,
  .firewall-local-box{
    gap:20px !important;
  }

  .hero-actions,
  .about-hero-actions,
  .services-hero-pills,
  .managed-hero-tags,
  .firewall-hero-tags{
    margin-top:18px !important;
  }

  .services-premium-visual,
  .firewall-hero-visual{
    min-height:260px !important;
    margin-top:10px !important;
  }

  .services-center-icon,
  .cyber-shield-core{
    width:112px !important;
    height:112px !important;
  }

  .services-center-icon svg,
  .cyber-shield-core svg{
    width:52px !important;
    height:52px !important;
  }

  .managed-hero-image,
  .managed-band-visual,
  .firewall-image-card{
    min-height:260px !important;
  }

  .managed-hero-image img,
  .managed-band-visual img,
  .firewall-image-card img{
    min-height:260px !important;
  }

  .services-solutek{
    padding-top:52px !important;
    padding-bottom:64px !important;
  }

  .services-solutek .grid-3{
    gap:46px !important;
  }

  .services-solutek .service-card{
    min-height:280px !important;
    padding:34px 22px 78px !important;
  }

  .about-value-card,
  .about-process-card,
  .services-process-card.bright,
  .managed-support-card,
  .managed-process-step,
  .firewall-dual-card,
  .firewall-matrix-card{
    padding:22px 18px !important;
  }

  .services-local-box,
  .managed-local-box,
  .firewall-local-box,
  .about-highlight-box{
    padding:24px 18px !important;
  }

  .cta-tech-band{
    margin-top:0 !important;
    padding:24px 18px !important;
  }
}


/* ===== MICROSOFT 365 & SHAREPOINT PAGE ===== */

.m365-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(12,84,168,.22), transparent 28%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.m365-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.m365-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center !important;
}

.m365-hero-copy h1,
.m365-hero-copy p{
  color:#fff;
  font-size: clamp(42px, 4vw, 67px);
}

.m365-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.m365-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.m365-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.m365-hero-image{
  height:auto !important;
  min-height:0 !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:#eef5fb;
  display:block !important;
}

.m365-hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 48%, rgba(2,22,45,.44));
  pointer-events:none;
}

.m365-hero-image img{
   width:100% !important;
  height:auto !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  transform:none !important;
}

.m365-hero-image:hover img{
  transform:none !important;
}

.m365-image-badge{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}

.m365-image-badge strong{
  display:block;
  color:#fff;
  font-size:40px;
  line-height:1;
}

.m365-image-badge span{
  color:rgba(255,255,255,.82);
  font-weight:800;
}

.m365-overview{
  background:#fff;
}

.m365-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:center;
}

.m365-overview-grid p{
  color:var(--theme-muted);
  font-size:17px;
}

.m365-support-section{
  background:
    radial-gradient(rgba(12,84,168,.08) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.m365-support-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.m365-support-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.m365-support-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.m365-support-card > *{
  position:relative;
  z-index:2;
}

.m365-support-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.m365-support-card:hover::before{
  opacity:1;
}

.m365-support-card:hover h3,
.m365-support-card:hover p,
.m365-support-card:hover .m365-support-icon{
  color:#fff;
}

.m365-support-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
  transition:all .35s ease;
}

.m365-support-card:hover .m365-support-icon{
  background:rgba(255,255,255,.16);
}

.m365-support-card p{
  color:var(--theme-muted);
}

.m365-image-band{
  background:#fff;
  padding-top:78px;
  padding-bottom:78px;
}

.m365-band-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:40px;
  align-items:center;
}

.m365-band-visual{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:440px;
  box-shadow:var(--shadow-md);
}

.m365-band-visual img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:fill;
  object-position:center;
  display:block;
  transition:transform .65s ease;
}

.m365-band-visual:hover img{
  transform:scale(1.04);
}

.m365-band-copy p{
  color:var(--theme-muted);
  font-size:17px;
}

.m365-check-list{
  list-style:none;
  display:grid;
  gap:13px;
  margin-top:20px;
}

.m365-check-list li{
  position:relative;
  padding-left:34px;
  font-weight:800;
  color:var(--theme-heading);
}

.m365-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:13px;
}

.m365-process-section{
  background:
    radial-gradient(circle at 85% 15%, rgba(38,165,219,.14), transparent 20%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
  padding-top:78px;
  padding-bottom:82px;
}

.m365-process-section h2,
.m365-process-section p{
  color:#fff;
}

.m365-process-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:30px;
}

.m365-process-step{
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.m365-process-step:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
  border-color:rgba(38,165,219,.28);
}

.m365-process-step span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:17px;
}

.m365-process-step h3{
  color:#fff;
}

.m365-process-step p{
  color:rgba(255,255,255,.76);
}

.m365-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
  padding-top:72px;
  padding-bottom:72px;
}

.m365-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:32px;
  align-items:center;
  padding:40px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.m365-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

.m365-cta-section{
  padding-top:64px;
  padding-bottom:72px;
}

/* Tablet */
@media(max-width:1024px){
  .m365-hero-grid,
  .m365-overview-grid,
  .m365-band-grid,
  .m365-local-box{
    grid-template-columns:1fr;
    gap:28px;
  }

  .m365-hero-image,
  .m365-hero-image img{
    min-height:280px !important;
  }
}

  .m365-support-grid,
  .m365-process-timeline{
    grid-template-columns:repeat(2,1fr);
  }

  .m365-hero-copy{
    text-align:left;
  }

  .m365-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .m365-hero-tags,
  .m365-hero-copy .hero-actions{
    justify-content:center;
  }

  .m365-hero{
    padding:76px 0 64px;
  }
}

/* Mobile */
@media(max-width:767px){
  .m365-page{
    overflow:hidden;
  }

  .m365-hero{
    padding:54px 0 42px;
  }

  .m365-page .section,
  .m365-support-section,
  .m365-image-band,
  .m365-process-section,
  .m365-local-section,
  .m365-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .m365-hero-grid,
  .m365-overview-grid,
  .m365-support-grid,
  .m365-band-grid,
  .m365-process-timeline,
  .m365-local-box{
    grid-template-columns:1fr;
    gap:20px;
  }

  .m365-hero-copy{
    text-align:center;
  }

  .m365-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .m365-hero-copy p,
  .m365-overview-grid p,
  .m365-band-copy p,
  .m365-local-box p{
    font-size:16px;
    line-height:1.7;
  }

  .m365-hero-tags{
    justify-content:center;
    margin-top:18px;
  }

  .m365-hero-tags span{
    font-size:13px;
    padding:9px 12px;
  }

  .m365-hero-copy .hero-actions{
    justify-content:center;
    margin-top:18px;
  }

  .m365-hero-copy .btn,
  .m365-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .m365-hero-image,
  .m365-hero-image img,
  .m365-band-visual,
  .m365-band-visual img{
    min-height:270px;
  }

  .m365-hero-image,
  .m365-band-visual{
    border-radius:24px;
  }

  .m365-image-badge{
    left:14px;
    bottom:14px;
    padding:14px 16px;
    border-radius:18px;
  }

  .m365-image-badge strong{
    font-size:30px;
  }

  .m365-support-card,
  .m365-process-step{
    padding:22px 18px;
    border-radius:24px;
  }

  .m365-local-box{
    padding:24px 18px;
    border-radius:24px;
    text-align:center;
  }

  .m365-check-list li{
    text-align:left;
  }

  .m365-cta-section .cta-tech-band{
    margin-top:0;
  }
}

/* ===== WEBSITE DEVELOPMENT PAGE ===== */

.webdev-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(252,91,45,.10), transparent 24%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.webdev-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.webdev-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}

.webdev-hero-copy h1,
.webdev-hero-copy p{color:#fff}

.webdev-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.webdev-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.webdev-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.webdev-hero-image{
  position:relative;
  height:auto;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  background:#eef5fb;
  box-shadow:0 34px 100px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.12);
}

.webdev-hero-image img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center;
  display:block;
  transform:none;
  transition:transform .65s ease;
}

.webdev-hero-image:hover img{
  transform:none;
}

.webdev-image-badge{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(3,28,55,.58);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}

.webdev-image-badge strong{
  display:block;
  color:#fff;
  font-size:40px;
  line-height:1;
}

.webdev-image-badge span{
  color:rgba(255,255,255,.86);
  font-weight:800;
}

.webdev-overview{
  background:#fff;
}

.webdev-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:center;
}

.webdev-overview-grid p{
  color:var(--theme-muted);
  font-size:17px;
}

.webdev-support-section{
  background:
    radial-gradient(rgba(12,84,168,.08) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.webdev-support-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.webdev-support-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.webdev-support-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.webdev-support-card > *{
  position:relative;
  z-index:2;
}

.webdev-support-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.webdev-support-card:hover::before{opacity:1}

.webdev-support-card:hover h3,
.webdev-support-card:hover p,
.webdev-support-card:hover .webdev-support-icon{
  color:#fff;
}

.webdev-support-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
  transition:all .35s ease;
}

.webdev-support-card:hover .webdev-support-icon{
  background:rgba(255,255,255,.16);
}

.webdev-support-card p{
  color:var(--theme-muted);
}

.webdev-image-band{
  background:#fff;
  padding-top:78px;
  padding-bottom:78px;
}

.webdev-band-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:40px;
  align-items:center;
}

.webdev-band-visual{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:440px;
  box-shadow:var(--shadow-md);
}

.webdev-band-visual img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .65s ease;
}

.webdev-band-visual:hover img{
  transform:scale(1.04);
}

.webdev-band-copy p{
  color:var(--theme-muted);
  font-size:17px;
}

.webdev-check-list{
  list-style:none;
  display:grid;
  gap:13px;
  margin-top:20px;
}

.webdev-check-list li{
  position:relative;
  padding-left:34px;
  font-weight:800;
  color:var(--theme-heading);
}

.webdev-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:13px;
}

.webdev-process-section{
  background:
    radial-gradient(circle at 85% 15%, rgba(38,165,219,.14), transparent 20%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
  padding-top:78px;
  padding-bottom:82px;
}

.webdev-process-section h2,
.webdev-process-section p{color:#fff}

.webdev-process-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:30px;
}

.webdev-process-step{
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.webdev-process-step:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
  border-color:rgba(38,165,219,.28);
}

.webdev-process-step span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:17px;
}

.webdev-process-step h3{color:#fff}

.webdev-process-step p{
  color:rgba(255,255,255,.76);
}

.webdev-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
  padding-top:72px;
  padding-bottom:72px;
}

.webdev-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:32px;
  align-items:center;
  padding:40px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.webdev-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

.webdev-cta-section{
  padding-top:64px;
  padding-bottom:72px;
}

@media(max-width:1024px){
  .webdev-hero-grid,
  .webdev-overview-grid,
  .webdev-band-grid,
  .webdev-local-box{
    grid-template-columns:1fr;
    gap:28px;
  }

  .webdev-support-grid,
  .webdev-process-timeline{
    grid-template-columns:repeat(2,1fr);
  }

  .webdev-hero-copy{
    text-align:center;
  }

  .webdev-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .webdev-hero-tags,
  .webdev-hero-copy .hero-actions{
    justify-content:center;
  }

  .webdev-hero{
    padding:76px 0 64px;
  }
}

@media(max-width:767px){
  .webdev-page{
    overflow:hidden;
  }

  .webdev-hero{
    padding:54px 0 42px;
  }

  .webdev-page .section,
  .webdev-support-section,
  .webdev-image-band,
  .webdev-process-section,
  .webdev-local-section,
  .webdev-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .webdev-hero-grid,
  .webdev-overview-grid,
  .webdev-support-grid,
  .webdev-band-grid,
  .webdev-process-timeline,
  .webdev-local-box{
    grid-template-columns:1fr;
    gap:20px;
  }

  .webdev-hero-copy{
    text-align:center;
  }

  .webdev-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .webdev-hero-copy p,
  .webdev-overview-grid p,
  .webdev-band-copy p,
  .webdev-local-box p{
    font-size:16px;
    line-height:1.7;
  }

  .webdev-hero-tags{
    justify-content:center;
    margin-top:18px;
  }

  .webdev-hero-tags span{
    font-size:13px;
    padding:9px 12px;
  }

  .webdev-hero-copy .hero-actions{
    justify-content:center;
    margin-top:18px;
  }

  .webdev-hero-copy .btn,
  .webdev-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .webdev-hero-image,
  .webdev-band-visual{
    border-radius:24px;
  }

  .webdev-band-visual,
  .webdev-band-visual img{
    min-height:270px;
  }

  .webdev-image-badge{
    left:14px;
    bottom:14px;
    padding:14px 16px;
    border-radius:18px;
  }

  .webdev-image-badge strong{
    font-size:30px;
  }

  .webdev-support-card,
  .webdev-process-step{
    padding:22px 18px;
    border-radius:24px;
  }

  .webdev-local-box{
    padding:24px 18px;
    border-radius:24px;
    text-align:center;
  }

  .webdev-check-list li{
    text-align:left;
  }

  .webdev-cta-section .cta-tech-band{
    margin-top:0;
  }
}


/* ===== IT INFRASTRUCTURE PAGE ===== */

.infra-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(252,91,45,.10), transparent 24%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.infra-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.infra-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}

.infra-hero-copy h1,
.infra-hero-copy p{color:#fff}

.infra-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.infra-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.infra-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.infra-hero-image{
  position:relative;
  height:auto;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 34px 100px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.12);
}

.infra-hero-image img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center;
  display:block;
  transform:none;
  transition:transform .65s ease;
}

.infra-hero-image:hover img{
  transform:none;
}

.infra-image-badge{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(3,28,55,.58);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}

.infra-image-badge strong{
  display:block;
  color:#fff;
  font-size:40px;
  line-height:1;
}

.infra-image-badge span{
  color:rgba(255,255,255,.86);
  font-weight:800;
}

.infra-overview{
  background:#fff;
}

.infra-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:center;
}

.infra-overview-grid p{
  color:var(--theme-muted);
  font-size:17px;
}

.infra-support-section{
  background:
    radial-gradient(rgba(12,84,168,.08) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.infra-support-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.infra-support-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.infra-support-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.infra-support-card > *{
  position:relative;
  z-index:2;
}

.infra-support-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.infra-support-card:hover::before{opacity:1}

.infra-support-card:hover h3,
.infra-support-card:hover p,
.infra-support-card:hover .infra-support-icon{
  color:#fff;
}

.infra-support-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
  transition:all .35s ease;
}

.infra-support-card:hover .infra-support-icon{
  background:rgba(255,255,255,.16);
}

.infra-support-card p{
  color:var(--theme-muted);
}

.infra-image-band{
  background:#fff;
  padding-top:78px;
  padding-bottom:78px;
}

.infra-band-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:40px;
  align-items:center;
}

.infra-band-visual{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:440px;
  box-shadow:var(--shadow-md);
}

.infra-band-visual img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .65s ease;
}

.infra-band-visual:hover img{
  transform:scale(1.04);
}

.infra-band-copy p{
  color:var(--theme-muted);
  font-size:17px;
}

.infra-check-list{
  list-style:none;
  display:grid;
  gap:13px;
  margin-top:20px;
}

.infra-check-list li{
  position:relative;
  padding-left:34px;
  font-weight:800;
  color:var(--theme-heading);
}

.infra-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:13px;
}

.infra-process-section{
  background:
    radial-gradient(circle at 85% 15%, rgba(38,165,219,.14), transparent 20%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
  padding-top:78px;
  padding-bottom:82px;
}

.infra-process-section h2,
.infra-process-section p{color:#fff}

.infra-process-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:30px;
}

.infra-process-step{
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.infra-process-step:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
  border-color:rgba(38,165,219,.28);
}

.infra-process-step span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:17px;
}

.infra-process-step h3{color:#fff}

.infra-process-step p{
  color:rgba(255,255,255,.76);
}

.infra-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
  padding-top:72px;
  padding-bottom:72px;
}

.infra-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:32px;
  align-items:center;
  padding:40px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.infra-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

.infra-cta-section{
  padding-top:64px;
  padding-bottom:72px;
}

@media(max-width:1024px){
  .infra-hero-grid,
  .infra-overview-grid,
  .infra-band-grid,
  .infra-local-box{
    grid-template-columns:1fr;
    gap:28px;
  }

  .infra-support-grid,
  .infra-process-timeline{
    grid-template-columns:repeat(2,1fr);
  }

  .infra-hero-copy{
    text-align:center;
  }

  .infra-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .infra-hero-tags,
  .infra-hero-copy .hero-actions{
    justify-content:center;
  }

  .infra-hero{
    padding:76px 0 64px;
  }
}

@media(max-width:767px){
  .infra-page{
    overflow:hidden;
  }

  .infra-hero{
    padding:54px 0 42px;
  }

  .infra-page .section,
  .infra-support-section,
  .infra-image-band,
  .infra-process-section,
  .infra-local-section,
  .infra-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .infra-hero-grid,
  .infra-overview-grid,
  .infra-support-grid,
  .infra-band-grid,
  .infra-process-timeline,
  .infra-local-box{
    grid-template-columns:1fr;
    gap:20px;
  }

  .infra-hero-copy{
    text-align:center;
  }

  .infra-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .infra-hero-copy p,
  .infra-overview-grid p,
  .infra-band-copy p,
  .infra-local-box p{
    font-size:16px;
    line-height:1.7;
  }

  .infra-hero-tags{
    justify-content:center;
    margin-top:18px;
  }

  .infra-hero-tags span{
    font-size:13px;
    padding:9px 12px;
  }

  .infra-hero-copy .hero-actions{
    justify-content:center;
    margin-top:18px;
  }

  .infra-hero-copy .btn,
  .infra-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .infra-hero-image,
  .infra-band-visual{
    border-radius:24px;
  }

  .infra-band-visual,
  .infra-band-visual img{
    min-height:270px;
  }

  .infra-image-badge{
    left:14px;
    bottom:14px;
    padding:14px 16px;
    border-radius:18px;
  }

  .infra-image-badge strong{
    font-size:30px;
  }

  .infra-support-card,
  .infra-process-step{
    padding:22px 18px;
    border-radius:24px;
  }

  .infra-local-box{
    padding:24px 18px;
    border-radius:24px;
    text-align:center;
  }

  .infra-check-list li{
    text-align:left;
  }

  .infra-cta-section .cta-tech-band{
    margin-top:0;
  }
}


/* ===== CLOUD HOSTING & MIGRATION PAGE ===== */

.cloud-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(252,91,45,.10), transparent 24%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.cloud-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.cloud-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}

.cloud-hero-copy h1,
.cloud-hero-copy p{color:#fff}

.cloud-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.cloud-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.cloud-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.cloud-hero-image{
  position:relative;
  height:auto;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 34px 100px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.12);
}

.cloud-hero-image img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center;
  display:block;
  transform:none;
}

.cloud-hero-image:hover img{
  transform:none;
}

.cloud-image-badge{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(3,28,55,.58);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}

.cloud-image-badge strong{
  display:block;
  color:#fff;
  font-size:40px;
  line-height:1;
}

.cloud-image-badge span{
  color:rgba(255,255,255,.86);
  font-weight:800;
}

.cloud-overview{
  background:#fff;
}

.cloud-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:center;
}

.cloud-overview-grid p{
  color:var(--theme-muted);
  font-size:17px;
}

.cloud-support-section{
  background:
    radial-gradient(rgba(12,84,168,.08) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.cloud-support-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.cloud-support-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.cloud-support-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.cloud-support-card > *{
  position:relative;
  z-index:2;
}

.cloud-support-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.cloud-support-card:hover::before{opacity:1}

.cloud-support-card:hover h3,
.cloud-support-card:hover p,
.cloud-support-card:hover .cloud-support-icon{
  color:#fff;
}

.cloud-support-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
  transition:all .35s ease;
}

.cloud-support-card:hover .cloud-support-icon{
  background:rgba(255,255,255,.16);
}

.cloud-support-card p{
  color:var(--theme-muted);
}

.cloud-image-band{
  background:#fff;
  padding-top:78px;
  padding-bottom:78px;
}

.cloud-band-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:40px;
  align-items:center;
}

.cloud-band-visual{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:440px;
  box-shadow:var(--shadow-md);
}

.cloud-band-visual img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .65s ease;
}

.cloud-band-visual:hover img{
  transform:scale(1.04);
}

.cloud-band-copy p{
  color:var(--theme-muted);
  font-size:17px;
}

.cloud-check-list{
  list-style:none;
  display:grid;
  gap:13px;
  margin-top:20px;
}

.cloud-check-list li{
  position:relative;
  padding-left:34px;
  font-weight:800;
  color:var(--theme-heading);
}

.cloud-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:13px;
}

.cloud-process-section{
  background:
    radial-gradient(circle at 85% 15%, rgba(38,165,219,.14), transparent 20%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
  padding-top:78px;
  padding-bottom:82px;
}

.cloud-process-section h2,
.cloud-process-section p{color:#fff}

.cloud-process-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:30px;
}

.cloud-process-step{
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.cloud-process-step:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
  border-color:rgba(38,165,219,.28);
}

.cloud-process-step span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:17px;
}

.cloud-process-step h3{color:#fff}

.cloud-process-step p{
  color:rgba(255,255,255,.76);
}

.cloud-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
  padding-top:72px;
  padding-bottom:72px;
}

.cloud-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:32px;
  align-items:center;
  padding:40px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.cloud-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

.cloud-cta-section{
  padding-top:64px;
  padding-bottom:72px;
}

@media(max-width:1024px){
  .cloud-hero-grid,
  .cloud-overview-grid,
  .cloud-band-grid,
  .cloud-local-box{
    grid-template-columns:1fr;
    gap:28px;
  }

  .cloud-support-grid,
  .cloud-process-timeline{
    grid-template-columns:repeat(2,1fr);
  }

  .cloud-hero-copy{
    text-align:center;
  }

  .cloud-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .cloud-hero-tags,
  .cloud-hero-copy .hero-actions{
    justify-content:center;
  }

  .cloud-hero{
    padding:76px 0 64px;
  }
}

@media(max-width:767px){
  .cloud-page{
    overflow:hidden;
  }

  .cloud-hero{
    padding:54px 0 42px;
  }

  .cloud-page .section,
  .cloud-support-section,
  .cloud-image-band,
  .cloud-process-section,
  .cloud-local-section,
  .cloud-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .cloud-hero-grid,
  .cloud-overview-grid,
  .cloud-support-grid,
  .cloud-band-grid,
  .cloud-process-timeline,
  .cloud-local-box{
    grid-template-columns:1fr;
    gap:20px;
  }

  .cloud-hero-copy{
    text-align:center;
  }

  .cloud-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .cloud-hero-copy p,
  .cloud-overview-grid p,
  .cloud-band-copy p,
  .cloud-local-box p{
    font-size:16px;
    line-height:1.7;
  }

  .cloud-hero-tags{
    justify-content:center;
    margin-top:18px;
  }

  .cloud-hero-tags span{
    font-size:13px;
    padding:9px 12px;
  }

  .cloud-hero-copy .hero-actions{
    justify-content:center;
    margin-top:18px;
  }

  .cloud-hero-copy .btn,
  .cloud-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .cloud-hero-image,
  .cloud-band-visual{
    border-radius:24px;
  }

  .cloud-band-visual,
  .cloud-band-visual img{
    min-height:270px;
  }

  .cloud-image-badge{
    left:14px;
    bottom:14px;
    padding:14px 16px;
    border-radius:18px;
  }

  .cloud-image-badge strong{
    font-size:30px;
  }

  .cloud-support-card,
  .cloud-process-step{
    padding:22px 18px;
    border-radius:24px;
  }

  .cloud-local-box{
    padding:24px 18px;
    border-radius:24px;
    text-align:center;
  }

  .cloud-check-list li{
    text-align:left;
  }

  .cloud-cta-section .cta-tech-band{
    margin-top:0;
  }
}

/* ===== MANAGED IT SERVICES PAGE - FINAL PATTERN ===== */

.mit-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(252,91,45,.10), transparent 24%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.mit-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.mit-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}

.mit-hero-copy h1,
.mit-hero-copy p{color:#fff}

.mit-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.mit-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.mit-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.mit-hero-image{
  position:relative;
  height:auto;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 34px 100px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.12);
}

.mit-hero-image img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center;
  display:block;
  transform:none;
}

.mit-hero-image:hover img{
  transform:none;
}

.mit-image-badge{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(3,28,55,.58);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}

.mit-image-badge strong{
  display:block;
  color:#fff;
  font-size:40px;
  line-height:1;
}

.mit-image-badge span{
  color:rgba(255,255,255,.86);
  font-weight:800;
}

.mit-overview{
  background:#fff;
}

.mit-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:center;
}

.mit-overview-grid p{
  color:var(--theme-muted);
  font-size:17px;
}

.mit-support-section{
  background:
    radial-gradient(rgba(12,84,168,.08) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.mit-support-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.mit-support-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.mit-support-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.mit-support-card > *{
  position:relative;
  z-index:2;
}

.mit-support-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.mit-support-card:hover::before{opacity:1}

.mit-support-card:hover h3,
.mit-support-card:hover p,
.mit-support-card:hover .mit-support-icon{
  color:#fff;
}

.mit-support-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
  transition:all .35s ease;
}

.mit-support-card:hover .mit-support-icon{
  background:rgba(255,255,255,.16);
}

.mit-support-card p{
  color:var(--theme-muted);
}

.mit-image-band{
  background:#fff;
  padding-top:78px;
  padding-bottom:78px;
}

.mit-band-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:40px;
  align-items:center;
}

.mit-band-visual{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:440px;
  box-shadow:var(--shadow-md);
}

.mit-band-visual img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .65s ease;
}

.mit-band-visual:hover img{
  transform:scale(1.04);
}

.mit-band-copy p{
  color:var(--theme-muted);
  font-size:17px;
}

.mit-check-list{
  list-style:none;
  display:grid;
  gap:13px;
  margin-top:20px;
}

.mit-check-list li{
  position:relative;
  padding-left:34px;
  font-weight:800;
  color:var(--theme-heading);
}

.mit-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:13px;
}

.mit-process-section{
  background:
    radial-gradient(circle at 85% 15%, rgba(38,165,219,.14), transparent 20%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
  padding-top:78px;
  padding-bottom:82px;
}

.mit-process-section h2,
.mit-process-section p{color:#fff}

.mit-process-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:30px;
}

.mit-process-step{
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.mit-process-step:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
  border-color:rgba(38,165,219,.28);
}

.mit-process-step span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:17px;
}

.mit-process-step h3{color:#fff}

.mit-process-step p{
  color:rgba(255,255,255,.76);
}

.mit-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
  padding-top:72px;
  padding-bottom:72px;
}

.mit-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:32px;
  align-items:center;
  padding:40px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.mit-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

.mit-cta-section{
  padding-top:64px;
  padding-bottom:72px;
}

@media(max-width:1024px){
  .mit-hero-grid,
  .mit-overview-grid,
  .mit-band-grid,
  .mit-local-box{
    grid-template-columns:1fr;
    gap:28px;
  }

  .mit-support-grid,
  .mit-process-timeline{
    grid-template-columns:repeat(2,1fr);
  }

  .mit-hero-copy{
    text-align:center;
  }

  .mit-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .mit-hero-tags,
  .mit-hero-copy .hero-actions{
    justify-content:center;
  }

  .mit-hero{
    padding:76px 0 64px;
  }
}

@media(max-width:767px){
  .mit-page{
    overflow:hidden;
  }

  .mit-hero{
    padding:54px 0 42px;
  }

  .mit-page .section,
  .mit-support-section,
  .mit-image-band,
  .mit-process-section,
  .mit-local-section,
  .mit-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .mit-hero-grid,
  .mit-overview-grid,
  .mit-support-grid,
  .mit-band-grid,
  .mit-process-timeline,
  .mit-local-box{
    grid-template-columns:1fr;
    gap:20px;
  }

  .mit-hero-copy{
    text-align:center;
  }

  .mit-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .mit-hero-copy p,
  .mit-overview-grid p,
  .mit-band-copy p,
  .mit-local-box p{
    font-size:16px;
    line-height:1.7;
  }

  .mit-hero-tags{
    justify-content:center;
    margin-top:18px;
  }

  .mit-hero-tags span{
    font-size:13px;
    padding:9px 12px;
  }

  .mit-hero-copy .hero-actions{
    justify-content:center;
    margin-top:18px;
  }

  .mit-hero-copy .btn,
  .mit-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .mit-hero-image,
  .mit-band-visual{
    border-radius:24px;
  }

  .mit-band-visual,
  .mit-band-visual img{
    min-height:270px;
  }

  .mit-image-badge{
    left:14px;
    bottom:14px;
    padding:14px 16px;
    border-radius:18px;
  }

  .mit-image-badge strong{
    font-size:30px;
  }

  .mit-support-card,
  .mit-process-step{
    padding:22px 18px;
    border-radius:24px;
  }

  .mit-local-box{
    padding:24px 18px;
    border-radius:24px;
    text-align:center;
  }

  .mit-check-list li{
    text-align:left;
  }

  .mit-cta-section .cta-tech-band{
    margin-top:0;
  }
}


/* ===== FIREWALL & CYBERSECURITY PAGE - FINAL PATTERN ===== */

.fcsec-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(252,91,45,.12), transparent 24%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.fcsec-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.fcsec-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}

.fcsec-hero-copy h1,
.fcsec-hero-copy p{color:#fff}

.fcsec-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.fcsec-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.fcsec-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.fcsec-hero-image{
  position:relative;
  height:auto;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 34px 100px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.12);
}

.fcsec-hero-image img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center;
  display:block;
  transform:none;
}

.fcsec-hero-image:hover img{
  transform:none;
}

.fcsec-image-badge{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(3,28,55,.58);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}

.fcsec-image-badge strong{
  display:block;
  color:#fff;
  font-size:40px;
  line-height:1;
}

.fcsec-image-badge span{
  color:rgba(255,255,255,.86);
  font-weight:800;
}

.fcsec-overview{
  background:#fff;
}

.fcsec-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:center;
}

.fcsec-overview-grid p{
  color:var(--theme-muted);
  font-size:17px;
}

.fcsec-support-section{
  background:
    radial-gradient(rgba(12,84,168,.08) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.fcsec-support-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.fcsec-support-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.fcsec-support-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.fcsec-support-card > *{
  position:relative;
  z-index:2;
}

.fcsec-support-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.fcsec-support-card:hover::before{opacity:1}

.fcsec-support-card:hover h3,
.fcsec-support-card:hover p,
.fcsec-support-card:hover .fcsec-support-icon{
  color:#fff;
}

.fcsec-support-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
  transition:all .35s ease;
}

.fcsec-support-card:hover .fcsec-support-icon{
  background:rgba(255,255,255,.16);
}

.fcsec-support-card p{
  color:var(--theme-muted);
}

.fcsec-image-band{
  background:#fff;
  padding-top:78px;
  padding-bottom:78px;
}

.fcsec-band-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:40px;
  align-items:center;
}

.fcsec-band-visual{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:440px;
  box-shadow:var(--shadow-md);
}

.fcsec-band-visual img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .65s ease;
}

.fcsec-band-visual:hover img{
  transform:scale(1.04);
}

.fcsec-band-copy p{
  color:var(--theme-muted);
  font-size:17px;
}

.fcsec-check-list{
  list-style:none;
  display:grid;
  gap:13px;
  margin-top:20px;
}

.fcsec-check-list li{
  position:relative;
  padding-left:34px;
  font-weight:800;
  color:var(--theme-heading);
}

.fcsec-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:13px;
}

.fcsec-process-section{
  background:
    radial-gradient(circle at 85% 15%, rgba(38,165,219,.14), transparent 20%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
  padding-top:78px;
  padding-bottom:82px;
}

.fcsec-process-section h2,
.fcsec-process-section p{color:#fff}

.fcsec-process-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:30px;
}

.fcsec-process-step{
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.fcsec-process-step:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
  border-color:rgba(38,165,219,.28);
}

.fcsec-process-step span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:17px;
}

.fcsec-process-step h3{color:#fff}

.fcsec-process-step p{
  color:rgba(255,255,255,.76);
}

.fcsec-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
  padding-top:72px;
  padding-bottom:72px;
}

.fcsec-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:32px;
  align-items:center;
  padding:40px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.fcsec-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

.fcsec-cta-section{
  padding-top:64px;
  padding-bottom:72px;
}

@media(max-width:1024px){
  .fcsec-hero-grid,
  .fcsec-overview-grid,
  .fcsec-band-grid,
  .fcsec-local-box{
    grid-template-columns:1fr;
    gap:28px;
  }

  .fcsec-support-grid,
  .fcsec-process-timeline{
    grid-template-columns:repeat(2,1fr);
  }

  .fcsec-hero-copy{
    text-align:center;
  }

  .fcsec-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .fcsec-hero-tags,
  .fcsec-hero-copy .hero-actions{
    justify-content:center;
  }

  .fcsec-hero{
    padding:76px 0 64px;
  }
}

@media(max-width:767px){
  .fcsec-page{
    overflow:hidden;
  }

  .fcsec-hero{
    padding:54px 0 42px;
  }

  .fcsec-page .section,
  .fcsec-support-section,
  .fcsec-image-band,
  .fcsec-process-section,
  .fcsec-local-section,
  .fcsec-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .fcsec-hero-grid,
  .fcsec-overview-grid,
  .fcsec-support-grid,
  .fcsec-band-grid,
  .fcsec-process-timeline,
  .fcsec-local-box{
    grid-template-columns:1fr;
    gap:20px;
  }

  .fcsec-hero-copy{
    text-align:center;
  }

  .fcsec-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .fcsec-hero-copy p,
  .fcsec-overview-grid p,
  .fcsec-band-copy p,
  .fcsec-local-box p{
    font-size:16px;
    line-height:1.7;
  }

  .fcsec-hero-tags{
    justify-content:center;
    margin-top:18px;
  }

  .fcsec-hero-tags span{
    font-size:13px;
    padding:9px 12px;
  }

  .fcsec-hero-copy .hero-actions{
    justify-content:center;
    margin-top:18px;
  }

  .fcsec-hero-copy .btn,
  .fcsec-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .fcsec-hero-image,
  .fcsec-band-visual{
    border-radius:24px;
  }

  .fcsec-band-visual,
  .fcsec-band-visual img{
    min-height:270px;
  }

  .fcsec-image-badge{
    left:14px;
    bottom:14px;
    padding:14px 16px;
    border-radius:18px;
  }

  .fcsec-image-badge strong{
    font-size:30px;
  }

  .fcsec-support-card,
  .fcsec-process-step{
    padding:22px 18px;
    border-radius:24px;
  }

  .fcsec-local-box{
    padding:24px 18px;
    border-radius:24px;
    text-align:center;
  }

  .fcsec-check-list li{
    text-align:left;
  }

  .fcsec-cta-section .cta-tech-band{
    margin-top:0;
  }
}

/* ===== MICROSOFT 365 & SHAREPOINT PAGE - FINAL PATTERN ===== */

.msp-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(252,91,45,.10), transparent 24%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.msp-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.msp-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}

.msp-hero-copy h1,
.msp-hero-copy p{color:#fff}

.msp-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.msp-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.msp-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.msp-hero-image{
  position:relative;
  height:auto;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  background:#eef5fb;
  box-shadow:0 34px 100px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.12);
}

.msp-hero-image img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center;
  display:block;
  transform:none;
}

.msp-hero-image:hover img{
  transform:none;
}

.msp-image-badge{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(3,28,55,.58);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}

.msp-image-badge strong{
  display:block;
  color:#fff;
  font-size:40px;
  line-height:1;
}

.msp-image-badge span{
  color:rgba(255,255,255,.86);
  font-weight:800;
}

.msp-overview{
  background:#fff;
}

.msp-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:center;
}

.msp-overview-grid p{
  color:var(--theme-muted);
  font-size:17px;
}

.msp-support-section{
  background:
    radial-gradient(rgba(12,84,168,.08) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.msp-support-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.msp-support-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.msp-support-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.msp-support-card > *{
  position:relative;
  z-index:2;
}

.msp-support-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.msp-support-card:hover::before{opacity:1}

.msp-support-card:hover h3,
.msp-support-card:hover p,
.msp-support-card:hover .msp-support-icon{
  color:#fff;
}

.msp-support-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
  transition:all .35s ease;
}

.msp-support-card:hover .msp-support-icon{
  background:rgba(255,255,255,.16);
}

.msp-support-card p{
  color:var(--theme-muted);
}

.msp-image-band{
  background:#fff;
  padding-top:78px;
  padding-bottom:78px;
}

.msp-band-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:40px;
  align-items:center;
}

.msp-band-visual{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:440px;
  box-shadow:var(--shadow-md);
}

.msp-band-visual img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .65s ease;
}

.msp-band-visual:hover img{
  transform:scale(1.04);
}

.msp-band-copy p{
  color:var(--theme-muted);
  font-size:17px;
}

.msp-check-list{
  list-style:none;
  display:grid;
  gap:13px;
  margin-top:20px;
}

.msp-check-list li{
  position:relative;
  padding-left:34px;
  font-weight:800;
  color:var(--theme-heading);
}

.msp-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:13px;
}

.msp-process-section{
  background:
    radial-gradient(circle at 85% 15%, rgba(38,165,219,.14), transparent 20%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
  padding-top:78px;
  padding-bottom:82px;
}

.msp-process-section h2,
.msp-process-section p{color:#fff}

.msp-process-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:30px;
}

.msp-process-step{
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.msp-process-step:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
  border-color:rgba(38,165,219,.28);
}

.msp-process-step span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:17px;
}

.msp-process-step h3{color:#fff}

.msp-process-step p{
  color:rgba(255,255,255,.76);
}

.msp-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
  padding-top:72px;
  padding-bottom:72px;
}

.msp-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:32px;
  align-items:center;
  padding:40px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.msp-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

.msp-cta-section{
  padding-top:64px;
  padding-bottom:72px;
}

@media(max-width:1024px){
  .msp-hero-grid,
  .msp-overview-grid,
  .msp-band-grid,
  .msp-local-box{
    grid-template-columns:1fr;
    gap:28px;
  }

  .msp-support-grid,
  .msp-process-timeline{
    grid-template-columns:repeat(2,1fr);
  }

  .msp-hero-copy{
    text-align:center;
  }

  .msp-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .msp-hero-tags,
  .msp-hero-copy .hero-actions{
    justify-content:center;
  }

  .msp-hero{
    padding:76px 0 64px;
  }
}

@media(max-width:767px){
  .msp-page{
    overflow:hidden;
  }

  .msp-hero{
    padding:54px 0 42px;
  }

  .msp-page .section,
  .msp-support-section,
  .msp-image-band,
  .msp-process-section,
  .msp-local-section,
  .msp-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .msp-hero-grid,
  .msp-overview-grid,
  .msp-support-grid,
  .msp-band-grid,
  .msp-process-timeline,
  .msp-local-box{
    grid-template-columns:1fr;
    gap:20px;
  }

  .msp-hero-copy{
    text-align:center;
  }

  .msp-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .msp-hero-copy p,
  .msp-overview-grid p,
  .msp-band-copy p,
  .msp-local-box p{
    font-size:16px;
    line-height:1.7;
  }

  .msp-hero-tags{
    justify-content:center;
    margin-top:18px;
  }

  .msp-hero-tags span{
    font-size:13px;
    padding:9px 12px;
  }

  .msp-hero-copy .hero-actions{
    justify-content:center;
    margin-top:18px;
  }

  .msp-hero-copy .btn,
  .msp-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .msp-hero-image,
  .msp-band-visual{
    border-radius:24px;
  }

  .msp-band-visual,
  .msp-band-visual img{
    min-height:270px;
  }

  .msp-image-badge{
    left:14px;
    bottom:14px;
    padding:14px 16px;
    border-radius:18px;
  }

  .msp-image-badge strong{
    font-size:30px;
  }

  .msp-support-card,
  .msp-process-step{
    padding:22px 18px;
    border-radius:24px;
  }

  .msp-local-box{
    padding:24px 18px;
    border-radius:24px;
    text-align:center;
  }

  .msp-check-list li{
    text-align:left;
  }

  .msp-cta-section .cta-tech-band{
    margin-top:0;
  }
}

/* ===== IT CONSULTATION PAGE - FINAL PATTERN ===== */

.itc-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(252,91,45,.10), transparent 24%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.itc-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.itc-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}

.itc-hero-copy h1,
.itc-hero-copy p{color:#fff}

.itc-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.itc-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.itc-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.itc-hero-image{
  position:relative;
  height:auto;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 34px 100px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.12);
}

.itc-hero-image img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center;
  display:block;
  transform:none;
}

.itc-hero-image:hover img{
  transform:none;
}

.itc-image-badge{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(3,28,55,.58);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}

.itc-image-badge strong{
  display:block;
  color:#fff;
  font-size:40px;
  line-height:1;
}

.itc-image-badge span{
  color:rgba(255,255,255,.86);
  font-weight:800;
}

.itc-overview{
  background:#fff;
}

.itc-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:center;
}

.itc-overview-grid p{
  color:var(--theme-muted);
  font-size:17px;
}

.itc-support-section{
  background:
    radial-gradient(rgba(12,84,168,.08) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.itc-support-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.itc-support-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.itc-support-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.itc-support-card > *{
  position:relative;
  z-index:2;
}

.itc-support-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.itc-support-card:hover::before{opacity:1}

.itc-support-card:hover h3,
.itc-support-card:hover p,
.itc-support-card:hover .itc-support-icon{
  color:#fff;
}

.itc-support-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
  transition:all .35s ease;
}

.itc-support-card:hover .itc-support-icon{
  background:rgba(255,255,255,.16);
}

.itc-support-card p{
  color:var(--theme-muted);
}

.itc-image-band{
  background:#fff;
  padding-top:78px;
  padding-bottom:78px;
}

.itc-band-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:40px;
  align-items:center;
}

.itc-band-visual{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:440px;
  box-shadow:var(--shadow-md);
}

.itc-band-visual img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .65s ease;
}

.itc-band-visual:hover img{
  transform:scale(1.04);
}

.itc-band-copy p{
  color:var(--theme-muted);
  font-size:17px;
}

.itc-check-list{
  list-style:none;
  display:grid;
  gap:13px;
  margin-top:20px;
}

.itc-check-list li{
  position:relative;
  padding-left:34px;
  font-weight:800;
  color:var(--theme-heading);
}

.itc-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:13px;
}

.itc-process-section{
  background:
    radial-gradient(circle at 85% 15%, rgba(38,165,219,.14), transparent 20%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
  padding-top:78px;
  padding-bottom:82px;
}

.itc-process-section h2,
.itc-process-section p{color:#fff}

.itc-process-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:30px;
}

.itc-process-step{
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.itc-process-step:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
  border-color:rgba(38,165,219,.28);
}

.itc-process-step span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:17px;
}

.itc-process-step h3{color:#fff}

.itc-process-step p{
  color:rgba(255,255,255,.76);
}

.itc-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
  padding-top:72px;
  padding-bottom:72px;
}

.itc-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:32px;
  align-items:center;
  padding:40px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.itc-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

.itc-cta-section{
  padding-top:64px;
  padding-bottom:72px;
}

@media(max-width:1024px){
  .itc-hero-grid,
  .itc-overview-grid,
  .itc-band-grid,
  .itc-local-box{
    grid-template-columns:1fr;
    gap:28px;
  }

  .itc-support-grid,
  .itc-process-timeline{
    grid-template-columns:repeat(2,1fr);
  }

  .itc-hero-copy{
    text-align:center;
  }

  .itc-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .itc-hero-tags,
  .itc-hero-copy .hero-actions{
    justify-content:center;
  }

  .itc-hero{
    padding:76px 0 64px;
  }
}

@media(max-width:767px){
  .itc-page{
    overflow:hidden;
  }

  .itc-hero{
    padding:54px 0 42px;
  }

  .itc-page .section,
  .itc-support-section,
  .itc-image-band,
  .itc-process-section,
  .itc-local-section,
  .itc-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .itc-hero-grid,
  .itc-overview-grid,
  .itc-support-grid,
  .itc-band-grid,
  .itc-process-timeline,
  .itc-local-box{
    grid-template-columns:1fr;
    gap:20px;
  }

  .itc-hero-copy{
    text-align:center;
  }

  .itc-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .itc-hero-copy p,
  .itc-overview-grid p,
  .itc-band-copy p,
  .itc-local-box p{
    font-size:16px;
    line-height:1.7;
  }

  .itc-hero-tags{
    justify-content:center;
    margin-top:18px;
  }

  .itc-hero-tags span{
    font-size:13px;
    padding:9px 12px;
  }

  .itc-hero-copy .hero-actions{
    justify-content:center;
    margin-top:18px;
  }

  .itc-hero-copy .btn,
  .itc-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .itc-hero-image,
  .itc-band-visual{
    border-radius:24px;
  }

  .itc-band-visual,
  .itc-band-visual img{
    min-height:270px;
  }

  .itc-image-badge{
    left:14px;
    bottom:14px;
    padding:14px 16px;
    border-radius:18px;
  }

  .itc-image-badge strong{
    font-size:30px;
  }

  .itc-support-card,
  .itc-process-step{
    padding:22px 18px;
    border-radius:24px;
  }

  .itc-local-box{
    padding:24px 18px;
    border-radius:24px;
    text-align:center;
  }

  .itc-check-list li{
    text-align:left;
  }

  .itc-cta-section .cta-tech-band{
    margin-top:0;
  }
}

/* ===== FAQ PAGE ===== */

.faq-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(252,91,45,.10), transparent 24%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.faq-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.faq-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:42px;
  align-items:center;
}

.faq-hero-copy h1,
.faq-hero-copy p{
  color:#fff;
}

.faq-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.faq-hero-panel{
  position:relative;
  overflow:hidden;
  padding:36px;
  border-radius:34px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 34px 100px rgba(0,0,0,.30);
  backdrop-filter:blur(12px);
}

.faq-hero-panel::before{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:var(--theme-primary);
}

.faq-hero-panel h3,
.faq-hero-panel p{
  position:relative;
  z-index:2;
  color:#fff;
}

.faq-hero-panel p{
  color:rgba(255,255,255,.76);
}

.faq-hero-icon{
  position:relative;
  z-index:2;
  width:86px;
  height:86px;
  border-radius:26px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  color:#fff;
  font-size:46px;
  font-weight:900;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}

.faq-hero-tags{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.faq-hero-tags span{
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:13px;
}

.faq-main-section{
  background:
    radial-gradient(rgba(12,84,168,.07) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.faq-layout{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:34px;
  align-items:start;
}

.faq-sidebar{
  position:sticky;
  top:120px;
  padding:30px;
  border-radius:30px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
}

.faq-sidebar p{
  color:var(--theme-muted);
}

.faq-topic-list{
  display:grid;
  gap:10px;
  margin-top:22px;
}

.faq-topic-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 16px;
  border-radius:16px;
  background:var(--theme-soft-2);
  border:1px solid var(--theme-border);
  color:var(--theme-heading);
  font-weight:800;
}

.faq-topic-list a::after{
  content:"→";
  color:var(--theme-primary);
}

.faq-topic-list a:hover{
  transform:translateX(4px);
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  border-color:transparent;
}

.faq-topic-list a:hover::after{
  color:#fff;
}

.faq-content{
  display:grid;
  gap:28px;
}

.faq-group{
  padding:30px;
  border-radius:32px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
}

.faq-group h2{
  font-size:clamp(26px,3vw,38px);
  margin-bottom:20px;
}

.faq-accordion{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border:1px solid var(--theme-border);
  background:var(--theme-soft-2);
  margin-bottom:14px;
  transition:all .35s ease;
}

.faq-accordion:last-child{
  margin-bottom:0;
}

.faq-accordion[open]{
  background:#fff;
  box-shadow:0 18px 44px rgba(2,33,67,.08);
  border-color:color-mix(in srgb,var(--theme-primary) 24%, transparent);
}

.faq-accordion summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:22px 64px 22px 22px;
  color:var(--theme-heading);
  font-weight:900;
  line-height:1.35;
}

.faq-accordion summary::-webkit-details-marker{
  display:none;
}

.faq-accordion summary::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:22px;
  line-height:1;
}

.faq-accordion[open] summary::after{
  content:"–";
}

.faq-answer{
  padding:0 22px 22px;
}

.faq-answer p{
  margin:0;
  color:var(--theme-muted);
}

.faq-cta-section{
  background:#fff;
  padding-top:64px;
  padding-bottom:72px;
}

@media(max-width:1024px){
  .faq-hero-grid,
  .faq-layout{
    grid-template-columns:1fr;
    gap:28px;
  }

  .faq-hero-copy{
    text-align:center;
  }

  .faq-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .faq-hero-copy .hero-actions{
    justify-content:center;
  }

  .faq-sidebar{
    position:relative;
    top:auto;
  }

  .faq-topic-list{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:767px){
  .faq-page{
    overflow:hidden;
  }

  .faq-hero{
    padding:54px 0 42px;
  }

  .faq-page .section,
  .faq-main-section,
  .faq-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .faq-hero-grid,
  .faq-layout{
    grid-template-columns:1fr;
    gap:20px;
  }

  .faq-hero-copy{
    text-align:center;
  }

  .faq-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .faq-hero-copy p,
  .faq-answer p,
  .faq-sidebar p{
    font-size:16px;
    line-height:1.7;
  }

  .faq-hero-copy .hero-actions{
    justify-content:center;
    margin-top:18px;
  }

  .faq-hero-copy .btn,
  .faq-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .faq-hero-panel,
  .faq-sidebar,
  .faq-group{
    padding:24px 18px;
    border-radius:24px;
  }

  .faq-hero-icon{
    width:70px;
    height:70px;
    border-radius:20px;
    font-size:36px;
  }

  .faq-topic-list{
    grid-template-columns:1fr;
  }

  .faq-group h2{
    font-size:28px;
  }

  .faq-accordion{
    border-radius:18px;
  }

  .faq-accordion summary{
    padding:18px 58px 18px 18px;
    font-size:16px;
  }

  .faq-accordion summary::after{
    right:16px;
    width:32px;
    height:32px;
  }

  .faq-answer{
    padding:0 18px 18px;
  }

  .faq-cta-section .cta-tech-band{
    margin-top:0;
  }
}

/* ===== PRIVACY POLICY PAGE ===== */

.privacy-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(252,91,45,.10), transparent 24%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.privacy-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.privacy-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:42px;
  align-items:center;
}

.privacy-hero-copy h1,
.privacy-hero-copy p{
  color:#fff;
}

.privacy-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.privacy-hero-panel{
  padding:36px;
  border-radius:34px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 34px 100px rgba(0,0,0,.30);
  backdrop-filter:blur(12px);
}

.privacy-hero-panel h3,
.privacy-hero-panel p{
  color:#fff;
}

.privacy-hero-panel p{
  color:rgba(255,255,255,.76);
}

.privacy-hero-icon{
  width:86px;
  height:86px;
  border-radius:26px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  font-size:42px;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}

.privacy-main-section{
  background:
    radial-gradient(rgba(12,84,168,.07) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.privacy-layout{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:34px;
  align-items:start;
}

.privacy-sidebar{
  position:sticky;
  top:120px;
  padding:30px;
  border-radius:30px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
}

.privacy-topic-list{
  display:grid;
  gap:10px;
  margin-top:22px;
}

.privacy-topic-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 16px;
  border-radius:16px;
  background:var(--theme-soft-2);
  border:1px solid var(--theme-border);
  color:var(--theme-heading);
  font-weight:800;
}

.privacy-topic-list a::after{
  content:"→";
  color:var(--theme-primary);
}

.privacy-topic-list a:hover{
  transform:translateX(4px);
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  border-color:transparent;
}

.privacy-topic-list a:hover::after{
  color:#fff;
}

.privacy-content{
  display:grid;
  gap:22px;
}

.privacy-card{
  padding:30px;
  border-radius:30px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
}

.privacy-card h2{
  font-size:clamp(24px,2.5vw,34px);
}

.privacy-card p{
  color:var(--theme-muted);
}

.privacy-card ul{
  list-style:none;
  display:grid;
  gap:12px;
  margin-top:18px;
}

.privacy-card li{
  position:relative;
  padding-left:32px;
  font-weight:800;
  color:var(--theme-heading);
}

.privacy-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:12px;
}

.privacy-contact-box{
  display:grid;
  gap:10px;
  padding:22px;
  border-radius:22px;
  background:var(--theme-soft-2);
  border:1px solid var(--theme-border);
}

.privacy-contact-box strong{
  color:var(--theme-heading);
  font-size:18px;
}

.privacy-contact-box span{
  color:var(--theme-muted);
}

.privacy-cta-section{
  background:#fff;
  padding-top:64px;
  padding-bottom:72px;
}

@media(max-width:1024px){
  .privacy-hero-grid,
  .privacy-layout{
    grid-template-columns:1fr;
    gap:28px;
  }

  .privacy-hero-copy{
    text-align:center;
  }

  .privacy-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .privacy-sidebar{
    position:relative;
    top:auto;
  }

  .privacy-topic-list{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:767px){
  .privacy-page{
    overflow:hidden;
  }

  .privacy-hero{
    padding:54px 0 42px;
  }

  .privacy-page .section,
  .privacy-main-section,
  .privacy-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .privacy-hero-grid,
  .privacy-layout{
    grid-template-columns:1fr;
    gap:20px;
  }

  .privacy-hero-copy{
    text-align:center;
  }

  .privacy-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .privacy-hero-copy p,
  .privacy-card p{
    font-size:16px;
    line-height:1.7;
  }

  .privacy-hero-panel,
  .privacy-sidebar,
  .privacy-card{
    padding:24px 18px;
    border-radius:24px;
  }

  .privacy-hero-icon{
    width:70px;
    height:70px;
    border-radius:20px;
    font-size:34px;
  }

  .privacy-topic-list{
    grid-template-columns:1fr;
  }

  .privacy-card h2{
    font-size:26px;
  }

  .privacy-contact-box{
    padding:18px;
    border-radius:18px;
  }

  .privacy-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .privacy-cta-section .cta-tech-band{
    margin-top:0;
  }
}

/* ===== SERVICE AREA PAGES ===== */

.area-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 76px;
  background:
    radial-gradient(circle at 14% 22%, rgba(38,165,219,.16), transparent 24%),
    radial-gradient(circle at 84% 20%, rgba(252,91,45,.10), transparent 24%),
    linear-gradient(135deg,#02162d 0%, #04264b 52%, #031c37 100%);
  color:#fff;
}

.area-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:18px 18px, 56px 56px, 56px 56px;
  opacity:.30;
  pointer-events:none;
}

.area-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}

.area-hero-copy h1,
.area-hero-copy p{color:#fff}

.area-hero-copy p{
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:18px;
}

.area-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.area-hero-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:14px;
}

.area-hero-image{
  position:relative;
  height:auto;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 34px 100px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.12);
}

.area-hero-image img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center;
  display:block;
  transform:none;
}

.area-image-badge{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(3,28,55,.58);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}

.area-image-badge strong{
  display:block;
  color:#fff;
  font-size:36px;
  line-height:1;
}

.area-image-badge span{
  color:rgba(255,255,255,.86);
  font-weight:800;
}

.area-overview{
  background:#fff;
}

.area-overview-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:center;
}

.area-overview-grid p{
  color:var(--theme-muted);
  font-size:17px;
}

.area-services-section{
  background:
    radial-gradient(rgba(12,84,168,.08) 1px, transparent 1px),
    linear-gradient(180deg,#eef5fb,#f8fbff);
  background-size:16px 16px, 100% 100%;
  padding-top:78px;
  padding-bottom:82px;
}

.area-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.area-service-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.area-service-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.area-service-card > *{
  position:relative;
  z-index:2;
}

.area-service-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.area-service-card:hover::before{opacity:1}

.area-service-card span{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
}

.area-service-card:hover h3,
.area-service-card:hover p,
.area-service-card:hover span{
  color:#fff;
}

.area-service-card:hover span{
  background:rgba(255,255,255,.16);
}

.area-service-card p{
  color:var(--theme-muted);
}

.area-process-section{
  background:
    radial-gradient(circle at 85% 15%, rgba(38,165,219,.14), transparent 20%),
    linear-gradient(180deg,#031c37,#02162d);
  color:#fff;
  padding-top:78px;
  padding-bottom:82px;
}

.area-process-section h2,
.area-process-section p{color:#fff}

.area-process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:30px;
}

.area-process-card{
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  transition:all .35s ease;
}

.area-process-card:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.11);
}

.area-process-card span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-weight:900;
  margin-bottom:17px;
}

.area-process-card h3{color:#fff}

.area-process-card p{
  color:rgba(255,255,255,.76);
}

.area-local-section{
  background:linear-gradient(180deg,#f6f1e7,#f8fbff);
  padding-top:72px;
  padding-bottom:72px;
}

.area-local-box{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:32px;
  align-items:center;
  padding:40px;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-md);
}

.area-local-box p{
  margin:0;
  color:var(--theme-muted);
  font-size:17px;
}

.area-cta-section{
  padding-top:64px;
  padding-bottom:72px;
}

@media(max-width:1024px){
  .area-hero-grid,
  .area-overview-grid,
  .area-local-box{
    grid-template-columns:1fr;
    gap:28px;
  }

  .area-services-grid,
  .area-process-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .area-hero-copy{
    text-align:center;
  }

  .area-hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .area-hero-tags,
  .area-hero-copy .hero-actions{
    justify-content:center;
  }

  .area-hero{
    padding:76px 0 64px;
  }
}

@media(max-width:767px){
  .area-page{
    overflow:hidden;
  }

  .area-hero{
    padding:54px 0 42px;
  }

  .area-page .section,
  .area-services-section,
  .area-process-section,
  .area-local-section,
  .area-cta-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .area-hero-grid,
  .area-overview-grid,
  .area-services-grid,
  .area-process-grid,
  .area-local-box{
    grid-template-columns:1fr;
    gap:20px;
  }

  .area-hero-copy{
    text-align:center;
  }

  .area-hero-copy h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.04;
  }

  .area-hero-copy p,
  .area-overview-grid p,
  .area-local-box p{
    font-size:16px;
    line-height:1.7;
  }

  .area-hero-tags{
    justify-content:center;
    margin-top:18px;
  }

  .area-hero-tags span{
    font-size:13px;
    padding:9px 12px;
  }

  .area-hero-copy .hero-actions{
    justify-content:center;
    margin-top:18px;
  }

  .area-hero-copy .btn,
  .area-cta-section .btn{
    width:100%;
    max-width:320px;
  }

  .area-hero-image{
    border-radius:24px;
  }

  .area-image-badge{
    left:14px;
    bottom:14px;
    padding:14px 16px;
    border-radius:18px;
  }

  .area-image-badge strong{
    font-size:28px;
  }

  .area-service-card,
  .area-process-card{
    padding:22px 18px;
    border-radius:24px;
  }

  .area-local-box{
    padding:24px 18px;
    border-radius:24px;
    text-align:center;
  }

  .area-cta-section .cta-tech-band{
    margin-top:0;
  }
}

/* ===== FOOTER PROFESSIONAL ALIGNMENT FIX ===== */

.footer-grid-pro{
  grid-template-columns:1.25fr .75fr 1fr 1.05fr;
  align-items:start;
}

.footer-branding img{
  max-width:220px;
  width:100%;
  height:auto;
}

.footer-main .footer-col{
  min-width:0;
}

.footer-main h4{
  position:relative;
  padding-bottom:12px;
}

.footer-main h4::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:44px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--theme-primary),var(--theme-accent));
}

.footer-brand-col p,
.footer-service-areas p{
  color:#b9cae0;
  line-height:1.75;
}

.footer-links{
  gap:11px;
}

.footer-links a{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.footer-links a::before{
  content:"›";
  color:var(--theme-primary);
  font-weight:900;
  transition:transform .3s ease;
}

.footer-links a:hover::before{
  transform:translateX(4px);
}

.footer-service-links{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
  padding:0;
}

.footer-service-links a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:42px;
  padding:10px 13px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.84);
  font-weight:800;
  font-size:14px;
}

.footer-service-links a::after{
  content:"→";
  color:var(--theme-primary);
}

.footer-service-links a:hover{
  transform:translateY(-2px);
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  border-color:transparent;
  color:#fff;
}

.footer-service-links a:hover::after{
  color:#fff;
}

.footer-bottom{
  align-items:center;
}

@media(max-width:1100px){
  .footer-grid-pro{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:767px){
  .footer-grid-pro{
    grid-template-columns:1fr;
    text-align:center;
  }

  .footer-main h4::after{
    left:50%;
    transform:translateX(-50%);
  }

  .footer-brand-col p{
    margin-left:auto;
    margin-right:auto;
  }

  .footer-socials{
    justify-content:center;
  }

  .footer-links a{
    justify-content:center;
  }

  .footer-service-links{
    grid-template-columns:1fr;
  }

  .footer-bottom{
    justify-content:center;
    text-align:center;
  }
}

/* ===== HEADER LOGO SIZE FIX ===== */

.site-header .custom-logo,
.site-header .branding img,
.site-header-wrap .custom-logo-link img{
  max-width:220px !important;
  width:220px !important;
  height:auto !important;
  object-fit:contain !important;
}

.site-header .custom-logo-link,
.site-header .branding{
  display:flex !important;
  align-items:center !important;
}

.site-header{
  min-height:92px !important;
}

@media(max-width:767px){
  .site-header .custom-logo,
  .site-header .branding img,
  .site-header-wrap .custom-logo-link img{
    max-width:190px !important;
    width:190px !important;
  }

  .site-header{
    min-height:auto !important;
  }
}

/* ===== UNIVERSAL WPForms Quote Form Styling ===== */

.quote-form-card .wpforms-container,
.quote-form-card .wpforms-form,
.quote-form-card .wpforms-field-container{
  width:100% !important;
  max-width:100% !important;
}

.quote-form-card .wpforms-field-container{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
}

.quote-form-card .wpforms-field{
  padding:0 !important;
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  clear:none !important;
}

.quote-form-card .wpforms-field-name{
  grid-column:1 / -1 !important;
}

.quote-form-card .wpforms-field-name .wpforms-field-row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

.quote-form-card .wpforms-field-row-block,
.quote-form-card .wpforms-one-half,
.quote-form-card .wpforms-first,
.quote-form-card .wpforms-last{
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
}

.quote-form-card .wpforms-field-email,
.quote-form-card .wpforms-field-number{
  grid-column:auto !important;
}

.quote-form-card .wpforms-field-select,
.quote-form-card .wpforms-field-textarea{
  grid-column:1 / -1 !important;
}

.quote-form-card .wpforms-field-label,
.quote-form-card .wpforms-field-sublabel{
  display:none !important;
}

.quote-form-card input,
.quote-form-card select,
.quote-form-card textarea{
  width:100% !important;
  max-width:100% !important;
  min-height:58px !important;
  height:auto !important;
  padding:16px 20px !important;
  border-radius:18px !important;
  border:1px solid var(--theme-border) !important;
  background:#fff !important;
  color:var(--theme-text) !important;
  font-size:16px !important;
  box-shadow:none !important;
  outline:none !important;
}

.quote-form-card textarea{
  min-height:130px !important;
}

.quote-form-card input:focus,
.quote-form-card select:focus,
.quote-form-card textarea:focus{
  border-color:var(--theme-accent) !important;
  box-shadow:0 0 0 4px rgba(38,165,219,.12) !important;
}

.quote-form-card .wpforms-recaptcha-container,
.quote-form-card .wpforms-is-turnstile{
  grid-column:1 / -1 !important;
  margin:10px 0 !important;
  padding:0 !important;
}

.quote-form-card .wpforms-submit-container{
  grid-column:1 / -1 !important;
  padding:16px 0 0 !important;
  margin:0 !important;
}

.quote-form-card button.wpforms-submit{
  width:100% !important;
  min-height:54px !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent)) !important;
  color:#fff !important;
  font-weight:900 !important;
}

@media(max-width:767px){
  .quote-form-card .wpforms-field-container,
  .quote-form-card .wpforms-field-name .wpforms-field-row{
    grid-template-columns:1fr !important;
  }
}

/* ===== WPForms Name Field Alignment Fix ===== */

.quote-form-card .wpforms-field-name .wpforms-field-row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
}

.quote-form-card .wpforms-field-name .wpforms-field-row-block{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.quote-form-card .wpforms-field-name input{
  width:100% !important;
  margin:0 !important;
}

/* remove WPForms hidden spacing/clearfix issue */
.quote-form-card .wpforms-field-row::before,
.quote-form-card .wpforms-field-row::after{
  content:none !important;
  display:none !important;
}

/* ===== SERVICE AREA VALUE SECTION ===== */

.area-value-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 18%, rgba(38,165,219,.08), transparent 22%),
    linear-gradient(180deg,#ffffff 0%, #f7fbff 100%);
  padding-top:72px;
  padding-bottom:76px;
}

.area-value-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(rgba(12,84,168,.05) 1px, transparent 1px);
  background-size:18px 18px;
  opacity:.45;
  pointer-events:none;
}

.area-value-section .container{
  position:relative;
  z-index:2;
}

.area-value-head{
  max-width:900px;
  margin:0 auto 38px;
  text-align:center;
}

.area-value-head p{
  color:var(--theme-muted);
  font-size:16px;
  line-height:1.8;
}

.area-value-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.area-value-card{
  position:relative;
  overflow:hidden;
  padding:28px 24px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:var(--shadow-sm);
  transition:all .35s ease;
}

.area-value-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  opacity:0;
  transition:opacity .35s ease;
}

.area-value-card > *{
  position:relative;
  z-index:2;
}

.area-value-card:hover{
  transform:translateY(-8px);
  border-color:transparent;
  box-shadow:var(--shadow-md);
}

.area-value-card:hover::before{
  opacity:1;
}

.area-value-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--theme-primary);
  font-weight:900;
  margin-bottom:18px;
}

.area-value-card h3{
  font-size:21px;
  line-height:1.3;
}

.area-value-card p{
  color:var(--theme-muted);
}

.area-value-card:hover h3,
.area-value-card:hover p,
.area-value-card:hover .area-value-icon{
  color:#fff;
}

.area-value-card:hover .area-value-icon{
  background:rgba(255,255,255,.16);
}

@media(max-width:1100px){
  .area-value-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:767px){
  .area-value-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .area-value-head{
    margin-bottom:26px;
  }

  .area-value-head p{
    font-size:16px;
  }

  .area-value-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .area-value-card{
    padding:22px 18px;
    border-radius:24px;
  }
}


/* ===== SAIORA CUSTOM CHATBOT ===== */

.saiora-chatbot{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99999;
  font-family:var(--font-body);
}

.saiora-chat-toggle{
  width:64px;
  height:64px;
  border:0;
  border-radius:50%;
  cursor:pointer;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  font-size:28px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}

.saiora-chat-window{
  position:absolute;
  right:0;
  bottom:82px;
  width:360px;
  max-width:calc(100vw - 32px);
  overflow:hidden;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  display:none;
}

.saiora-chat-window.open{
  display:block;
}

.saiora-chat-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 20px;
  background:linear-gradient(135deg,var(--theme-dark),var(--theme-secondary));
  color:#fff;
}

.saiora-chat-header strong,
.saiora-chat-header span{
  display:block;
  color:#fff;
}

.saiora-chat-header span{
  font-size:13px;
  opacity:.75;
}

.saiora-chat-header button{
  border:0;
  background:transparent;
  color:#fff;
  font-size:28px;
  cursor:pointer;
}

.saiora-chat-body{
  max-height:420px;
  overflow:auto;
  padding:18px;
  display:grid;
  gap:12px;
}

.saiora-bot-msg,
.saiora-user-msg{
  padding:12px 14px;
  border-radius:16px;
  font-size:14px;
  line-height:1.55;
}

.saiora-bot-msg{
  background:var(--theme-soft);
  color:var(--theme-text);
  border-top-left-radius:4px;
}

.saiora-user-msg{
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  border-top-right-radius:4px;
  justify-self:end;
}

.saiora-chat-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.saiora-chat-options button,
.saiora-chat-link{
  border:1px solid var(--theme-border);
  background:#fff;
  color:var(--theme-heading);
  border-radius:999px;
  padding:9px 12px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  text-align:center;
}

.saiora-chat-options button:hover,
.saiora-chat-link:hover{
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  color:#fff;
  border-color:transparent;
}

.saiora-chat-input{
  display:flex;
  border-top:1px solid var(--theme-border);
}

.saiora-chat-input input{
  flex:1;
  border:0;
  padding:15px;
  outline:none;
}

.saiora-chat-input button{
  width:56px;
  border:0;
  background:var(--theme-primary);
  color:#fff;
  cursor:pointer;
}

@media(max-width:767px){
  .saiora-chatbot{
    right:16px;
    bottom:16px;
  }

  .saiora-chat-window{
    width:calc(100vw - 32px);
    bottom:76px;
  }
}

/* ===== CHERRY CHATBOT PREMIUM POLISH ===== */

.saiora-chat-toggle{
  position:relative;
  animation:cherryPulse 2.6s ease-in-out infinite;
}

.saiora-chat-toggle::after{
  content:"";
  position:absolute;
  right:6px;
  top:6px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#32d583;
  border:2px solid #fff;
}

.saiora-chat-window{
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    0 28px 90px rgba(0,0,0,.30),
    0 0 0 1px rgba(38,165,219,.08);
}

.saiora-chat-header{
  background:
    radial-gradient(circle at 18% 20%, rgba(38,165,219,.28), transparent 28%),
    linear-gradient(135deg,var(--theme-dark),var(--theme-primary));
}

.saiora-chat-header strong{
  font-size:18px;
}

.saiora-chat-header span{
  font-size:12px;
  letter-spacing:.02em;
}

.saiora-bot-msg{
  border:1px solid rgba(12,84,168,.08);
  box-shadow:0 10px 24px rgba(2,33,67,.06);
}

.saiora-user-msg{
  box-shadow:0 12px 26px rgba(12,84,168,.18);
}

.saiora-chat-options button{
  box-shadow:0 8px 18px rgba(2,33,67,.05);
}

.saiora-chat-options button::before{
  content:"";
}

.saiora-chat-input input{
  background:#fff;
}

.saiora-chat-input button{
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));
  font-weight:900;
}

@keyframes cherryPulse{
  0%,100%{
    transform:translateY(0);
    box-shadow:0 20px 50px rgba(0,0,0,.25);
  }
  50%{
    transform:translateY(-4px);
    box-shadow:0 28px 70px rgba(0,0,0,.32);
  }
}