:root {
  --ei-red: #df3a32;
  --ei-red-dark: #ac2923;
  --ei-red-soft: #fff0ee;
  --ei-dark: #101218;
  --ei-dark-2: #181b23;
  --ei-ink: #20242d;
  --ei-muted: #5f6979;
  --ei-line: #e5e9f0;
  --ei-soft: #f5f7fa;
  --ei-white: #ffffff;
  --ei-radius: 24px;
  --ei-shadow: 0 24px 70px rgba(12, 14, 20, 0.18);
  --ei-shadow-soft: 0 14px 38px rgba(17, 19, 24, 0.08);
  --ei-container: 1240px;
  --ei-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ei-sticky-offset: 0px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(94px + var(--ei-sticky-offset)); }
body.ei-theme {
  margin: 0;
  font-family: var(--ei-font);
  color: var(--ei-ink);
  background: var(--ei-white);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.ei-theme a { color: inherit; text-decoration: none; }
body.ei-theme img { max-width: 100%; height: auto; }
body.ei-theme button, body.ei-theme input, body.ei-theme select, body.ei-theme textarea { font: inherit; }

.ei-container { width: min(var(--ei-container), calc(100% - 48px)); margin: 0 auto; }

.ei-site-header {
  position: sticky;
  top: var(--ei-sticky-offset);
  z-index: 50;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(229, 233, 240, 0.95);
}
.ei-header-inner { display: flex; align-items: center; gap: 24px; min-height: 88px; }
.ei-brand { display: flex; align-items: center; min-width: 300px; }
.ei-brand .custom-logo-link { display: inline-flex; align-items: center; }
.ei-brand-logo img, .ei-brand .custom-logo { width: auto; max-height: 64px; }
.ei-brand-fallback { display: inline-flex; align-items: center; gap: 14px; }
.ei-brand-mark {
  width: 44px; height: 44px; border-radius: 999px; display: inline-block; flex: 0 0 auto;
  background: radial-gradient(circle at 35% 30%, #ff7d77 0 18%, transparent 19%), linear-gradient(145deg, var(--ei-red), var(--ei-red-dark));
  box-shadow: inset 0 -5px 10px rgba(0,0,0,.18), 0 10px 24px rgba(216,58,50,.28);
}
.ei-brand-text { display: grid; gap: 0; }
.ei-brand-text strong { font-size: clamp(1.42rem, 2vw, 1.8rem); line-height: 1; letter-spacing: -.045em; color: var(--ei-dark); }
.ei-brand-text small { color: var(--ei-muted); font-size: .74rem; line-height: 1.2; margin-top: 5px; }
.ei-main-nav { margin-left: auto; }
.ei-nav-list { list-style: none; display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; }
.ei-nav-list a { white-space: nowrap; color: #343944; font-weight: 780; font-size: .95rem; transition: color .18s ease; }
.ei-nav-list a:hover, .ei-nav-list a:focus { color: var(--ei-red); }
.ei-header-cta {
  display: grid; justify-items: center; min-width: 132px; padding: 9px 16px 10px; border-radius: 14px;
  background: var(--ei-dark); color: var(--ei-white) !important; line-height: 1.1;
}
.ei-header-cta span { font-size: .68rem; color: rgba(255,255,255,.68); }
.ei-header-cta strong { margin-top: 4px; font-size: .86rem; }
.ei-menu-toggle { display: none; width: 46px; height: 46px; border: 0; background: var(--ei-soft); border-radius: 13px; padding: 11px; margin-left: auto; }
.ei-menu-toggle span { display: block; height: 2px; background: var(--ei-dark); border-radius: 2px; margin: 5px 0; transition: .2s ease; }

.ei-hero { position: relative; overflow: hidden; background: var(--ei-dark); color: var(--ei-white); }
.ei-hero-bg {
  position: absolute; inset: 0;
  background: linear-gradient(110deg, rgba(12,14,20,.99) 0%, rgba(18,20,27,.92) 53%, rgba(143,34,30,.88) 100%),
              repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 92px),
              repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 92px);
}
.ei-hero-bg::before { content:""; position:absolute; width:560px; height:560px; right:-120px; top:-150px; border-radius:50%; background:rgba(223,58,50,.30); filter:blur(30px); }
.ei-hero-bg::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 17% 22%, rgba(255,255,255,.10), transparent 22%), radial-gradient(circle at 80% 62%, rgba(255,255,255,.07), transparent 26%); }
.ei-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(390px,470px); gap:66px; align-items:center; min-height:720px; padding:76px 0; }
.ei-eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--ei-red); font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.14em; margin-bottom:16px; }
.ei-eyebrow::before { content:""; width:34px; height:2px; background:currentColor; border-radius:999px; }
.ei-eyebrow-light { color:#ff6b64; }
.ei-hero-copy h1, .ei-section h2, .ei-page-hero h1, .ei-cta-section h2 { margin:0; letter-spacing:-.055em; line-height:1.02; }
.ei-hero-copy h1 { max-width:780px; font-size:clamp(3.05rem,5.8vw,5.55rem); }
.ei-hero-copy p { max-width:700px; margin:26px 0 0; color:rgba(255,255,255,.80); font-size:1.14rem; line-height:1.72; }
.ei-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.ei-button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 25px; border-radius:14px; border:1px solid transparent; cursor:pointer; font-weight:900; transition:box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease; }
.ei-button:hover { transform:none; }
.ei-button:focus-visible, .ei-nav-list a:focus-visible, .ei-header-cta:focus-visible { outline:3px solid rgba(223,58,50,.28); outline-offset:3px; }
.ei-button-primary { background:var(--ei-red); color:var(--ei-white)!important; box-shadow:0 16px 32px rgba(216,58,50,.28); }
.ei-button-primary:hover { background:var(--ei-red-dark); box-shadow:0 12px 26px rgba(216,58,50,.24); }
.ei-button-ghost { background:rgba(255,255,255,.08); color:var(--ei-white)!important; border-color:rgba(255,255,255,.22); }
.ei-button-light { background:var(--ei-white); color:var(--ei-dark)!important; }
.ei-button-light:hover { background:#f1f3f6; }
.ei-button-outline-light { background:transparent; color:var(--ei-white)!important; border-color:rgba(255,255,255,.35); }
.ei-button-outline-light:hover { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.58); }
.ei-button-full { width:100%; }
.ei-button-ghost-dark { background:#f4f6f9; color:var(--ei-dark)!important; border-color:var(--ei-line); }
.ei-button-ghost-dark:hover { background:#e9edf3; border-color:#d5dbe5; }
.ei-contact-fallback { display:grid; gap:12px; margin-top:22px; }
.ei-hero-points { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.ei-hero-points span { padding:9px 12px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.07); border-radius:999px; color:rgba(255,255,255,.84); font-size:.9rem; font-weight:750; }

.ei-card { background:var(--ei-white); color:var(--ei-ink); border-radius:var(--ei-radius); box-shadow:var(--ei-shadow); }
.ei-contact-card { padding:32px; }
.ei-contact-kicker { color:var(--ei-red); text-transform:uppercase; font-size:.72rem; font-weight:900; letter-spacing:.12em; }
.ei-contact-card h2 { margin:6px 0 0; font-size:2rem; letter-spacing:-.045em; line-height:1.05; }
.ei-contact-card-head > p { margin:10px 0 20px; color:var(--ei-muted); font-size:.93rem; line-height:1.55; }
.ei-form { display:grid; gap:13px; }
.ei-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ei-form label { display:grid; gap:6px; font-weight:800; color:var(--ei-dark); font-size:.84rem; }
.ei-form input, .ei-form select, .ei-form textarea { width:100%; border:1px solid #d8dee7; border-radius:11px; min-height:46px; padding:11px 13px; color:var(--ei-ink); background:#fff; outline:none; transition:border-color .18s ease, box-shadow .18s ease; }
.ei-form textarea { resize:vertical; }
.ei-form input:focus, .ei-form select:focus, .ei-form textarea:focus { border-color:var(--ei-red); box-shadow:0 0 0 4px rgba(216,58,50,.12); }
.ei-checkbox { grid-template-columns:18px 1fr; align-items:start; gap:10px!important; color:var(--ei-muted)!important; font-weight:600!important; font-size:.78rem!important; line-height:1.45; }
.ei-checkbox input { width:18px; min-height:18px; margin-top:3px; }
.ei-checkbox a { color:var(--ei-red); text-decoration:underline; }
.ei-form-note { text-align:center; color:#7a8493; font-size:.72rem; }
.ei-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ei-alert { padding:12px 14px; border-radius:12px; font-weight:800; margin-bottom:15px; font-size:.88rem; }
.ei-alert-success { background:#e8f8ef; color:#167344; }
.ei-alert-error { background:#fff0ed; color:#a92822; }

.ei-trust-strip { background:var(--ei-white); border-bottom:1px solid var(--ei-line); }
.ei-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.ei-trust-grid div { padding:28px 24px; border-left:1px solid var(--ei-line); }
.ei-trust-grid div:last-child { border-right:1px solid var(--ei-line); }
.ei-trust-grid strong, .ei-trust-grid span { display:block; }
.ei-trust-grid strong { font-size:1.02rem; color:var(--ei-dark); }
.ei-trust-grid span { margin-top:6px; color:var(--ei-muted); font-size:.92rem; line-height:1.45; }

.ei-section { padding:108px 0; }
.ei-section-muted { background:var(--ei-soft); }
.ei-section-head { max-width:850px; margin-bottom:46px; }
.ei-section-head-compact { margin-bottom:32px; }
.ei-section h2, .ei-page-hero h1, .ei-cta-section h2 { color:var(--ei-dark); font-size:clamp(2.35rem,4vw,4.15rem); }
.ei-section-head p, .ei-split p, .ei-page-hero p, .ei-cta-section p, .ei-content { color:var(--ei-muted); font-size:1.08rem; line-height:1.75; }

.ei-services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ei-service-card { padding:28px; border:1px solid var(--ei-line); border-radius:22px; background:var(--ei-white); box-shadow:var(--ei-shadow-soft); transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.ei-service-card:hover { transform:translateY(-5px); border-color:rgba(216,58,50,.30); box-shadow:0 18px 44px rgba(17,19,24,.11); }
.ei-service-icon { width:50px; height:50px; display:inline-grid; place-items:center; border-radius:15px; background:var(--ei-red-soft); color:var(--ei-red); margin-bottom:18px; }
.ei-service-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ei-service-card h3, .ei-step h3, .ei-detail-card strong, .ei-strengths-grid h3 { margin:0 0 10px; color:var(--ei-dark); letter-spacing:-.03em; }
.ei-service-card h3 { font-size:1.08rem; }
.ei-service-card p, .ei-step p, .ei-strengths-grid p { margin:0; color:var(--ei-muted); font-size:.94rem; line-height:1.62; }

.ei-split { display:grid; grid-template-columns:.95fr 1.05fr; gap:78px; align-items:center; }
.ei-technical-visual { position:relative; min-height:500px; border-radius:32px; overflow:hidden; padding:34px; color:#fff; background:linear-gradient(145deg,#11141b,#242934); box-shadow:var(--ei-shadow); }
.ei-technical-visual::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 62px),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 62px),radial-gradient(circle at 75% 22%,rgba(223,58,50,.34),transparent 29%); }
.ei-technical-visual::after { content:""; position:absolute; inset:22px; border:1px solid rgba(255,255,255,.12); border-radius:24px; pointer-events:none; }
.ei-visual-topline, .ei-visual-core, .ei-visual-tags, .ei-visual-status { position:relative; z-index:2; }
.ei-visual-topline { display:flex; justify-content:space-between; gap:16px; color:rgba(255,255,255,.62); font-size:.69rem; font-weight:900; letter-spacing:.12em; }
.ei-visual-topline strong { color:#fff; }
.ei-visual-core { width:250px; height:250px; margin:54px auto 32px; display:grid; place-items:center; }
.ei-visual-ring { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.18); }
.ei-visual-ring-one { width:250px; height:250px; }
.ei-visual-ring-two { width:180px; height:180px; border-color:rgba(223,58,50,.62); box-shadow:0 0 60px rgba(223,58,50,.16); }
.ei-visual-ring-one::before, .ei-visual-ring-one::after { content:""; position:absolute; width:10px; height:10px; border-radius:50%; background:var(--ei-red); box-shadow:0 0 18px rgba(223,58,50,.75); }
.ei-visual-ring-one::before { top:20px; left:52px; }
.ei-visual-ring-one::after { right:17px; bottom:72px; }
.ei-visual-center { width:112px; height:112px; border-radius:50%; display:grid; place-content:center; text-align:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(10px); }
.ei-visual-center span { font-size:2rem; font-weight:950; letter-spacing:-.06em; }
.ei-visual-center small { color:rgba(255,255,255,.62); text-transform:uppercase; letter-spacing:.12em; font-size:.63rem; }
.ei-visual-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.ei-visual-tags span { padding:8px 11px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.82); font-size:.76rem; font-weight:800; }
.ei-visual-status { position:absolute; left:34px; right:34px; bottom:28px; display:flex; align-items:center; gap:9px; color:rgba(255,255,255,.70); font-size:.76rem; }
.ei-visual-status span { width:9px; height:9px; border-radius:50%; background:#43d38c; box-shadow:0 0 15px rgba(67,211,140,.72); }
.ei-check-list { list-style:none; margin:25px 0 0; padding:0; display:grid; gap:13px; }
.ei-check-list li { position:relative; padding-left:32px; font-weight:800; }
.ei-check-list li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--ei-red); font-weight:900; }

.ei-strengths-section { padding-top:88px; padding-bottom:88px; background:#fff; }
.ei-strengths-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ei-strengths-grid article { position:relative; padding:30px; border-radius:22px; background:var(--ei-dark); color:#fff; overflow:hidden; }
.ei-strengths-grid article::after { content:""; position:absolute; width:160px; height:160px; border-radius:50%; right:-75px; top:-75px; background:rgba(223,58,50,.22); }
.ei-strengths-grid article > span { position:relative; z-index:1; color:#ff716a; font-weight:950; letter-spacing:.1em; font-size:.78rem; }
.ei-strengths-grid h3 { position:relative; z-index:1; color:#fff; margin-top:22px; font-size:1.35rem; }
.ei-strengths-grid p { position:relative; z-index:1; color:rgba(255,255,255,.70); }

.ei-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ei-step { padding:29px; border-radius:22px; border:1px solid var(--ei-line); background:var(--ei-white); }
.ei-step > span { display:inline-flex; color:var(--ei-red); font-size:.82rem; font-weight:950; letter-spacing:.1em; margin-bottom:18px; }

.ei-cta-section { padding:88px 0; background:var(--ei-dark); color:var(--ei-white); }
.ei-cta-box { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.ei-cta-section h2 { color:var(--ei-white); max-width:800px; }
.ei-cta-section p { color:rgba(255,255,255,.72); max-width:690px; }
.ei-cta-actions { display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; }

.ei-contact-section { padding-top:88px; }
.ei-contact-details { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; align-items:stretch; }
.ei-detail-card { border-radius:20px; border:1px solid var(--ei-line); padding:26px; background:var(--ei-white); min-height:145px; }
.ei-detail-card strong { display:block; }
.ei-detail-card a, .ei-detail-card span { color:var(--ei-muted); font-size:.96rem; line-height:1.6; }

.ei-page-hero { padding:92px 0; background:var(--ei-dark); color:var(--ei-white); }
.ei-page-hero h1 { color:var(--ei-white); }
.ei-page-hero p { max-width:740px; color:rgba(255,255,255,.74); }
.ei-content { max-width:880px; }

.ei-footer { background:#0a0c10; color:rgba(255,255,255,.72); padding:70px 0 28px; }
.ei-footer-grid { display:grid; grid-template-columns:1.25fr .8fr 1fr 1fr; gap:38px; }
.ei-footer h3 { color:var(--ei-white); margin:0 0 14px; font-size:1rem; }
.ei-footer p { margin:0 0 10px; font-size:.91rem; }
.ei-footer a:hover { color:var(--ei-white); }
.ei-footer-brand { display:flex; align-items:center; gap:12px; color:var(--ei-white); font-size:1.2rem; }
.ei-footer-dot { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; font-size:1.35rem; line-height:1; flex:0 0 auto; }
.ei-footer-vat { color:#fff; font-weight:800; }
.ei-footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:28px; margin-top:38px; border-top:1px solid rgba(255,255,255,.12); }
.ei-footer-links { display:flex; gap:20px; }

.ei-mobile-actions { display:none; }

@media (max-width: 1180px) {
  .ei-brand { min-width:240px; }
  .ei-brand-text small { display:none; }
  .ei-nav-list { gap:18px; }
  .ei-header-cta { min-width:116px; }
  .ei-services-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 1000px) {
  .ei-header-cta { display:none; }
  .ei-menu-toggle { display:inline-block; }
  .ei-main-nav { position:absolute; top:88px; left:24px; right:24px; background:var(--ei-white); border:1px solid var(--ei-line); border-radius:18px; box-shadow:var(--ei-shadow); padding:16px; display:none; }
  .ei-main-nav.is-open { display:block; }
  .ei-nav-list { display:grid; gap:10px; }
  .ei-nav-list a { display:block; padding:12px; border-radius:12px; background:var(--ei-soft); }
  .ei-hero-grid, .ei-split { grid-template-columns:1fr; }
  .ei-hero-grid { min-height:auto; padding:68px 0; }
  .ei-hero-copy { max-width:850px; }
  .ei-contact-card { max-width:700px; }
  .ei-steps, .ei-trust-grid, .ei-contact-details { grid-template-columns:repeat(2,1fr); }
  .ei-cta-box { align-items:flex-start; flex-direction:column; }
  .ei-cta-actions { justify-content:flex-start; }
  .ei-footer-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 782px) {
}

@media (max-width: 680px) {
  html { scroll-padding-top:calc(78px + var(--ei-sticky-offset)); }
  body.ei-theme { padding-bottom:66px; }
  .ei-container { width:min(100% - 28px,var(--ei-container)); }
  .ei-header-inner { min-height:74px; }
  .ei-brand { min-width:0; max-width:72%; }
  .ei-brand .custom-logo { max-height:49px; width:auto; }
  .ei-brand-text small { display:none; }
  .ei-brand-text strong { font-size:1.35rem; }
  .ei-main-nav { top:74px; left:14px; right:14px; }
  .ei-hero-grid { padding:48px 0; gap:34px; }
  .ei-hero-copy h1 { font-size:clamp(2.72rem,12vw,4rem); }
  .ei-hero-copy p { font-size:1.02rem; }
  .ei-contact-card { padding:23px; border-radius:20px; }
  .ei-form-row { grid-template-columns:1fr; }
  .ei-services-grid, .ei-steps, .ei-trust-grid, .ei-strengths-grid, .ei-contact-details, .ei-footer-grid { grid-template-columns:1fr; }
  .ei-section { padding:74px 0; }
  .ei-section h2, .ei-cta-section h2 { font-size:clamp(2.2rem,10vw,3.2rem); }
  .ei-technical-visual { min-height:450px; padding:26px; }
  .ei-visual-core { transform:scale(.86); margin-top:42px; margin-bottom:18px; }
  .ei-visual-status { left:26px; right:26px; }
  .ei-cta-section { padding:70px 0; }
  .ei-footer-bottom { flex-direction:column; align-items:flex-start; }
  .ei-button { width:100%; }
  .ei-mobile-actions { position:fixed; z-index:60; left:0; right:0; bottom:0; height:62px; display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border-top:1px solid var(--ei-line); box-shadow:0 -10px 30px rgba(17,19,24,.10); padding:7px; gap:7px; }
  .ei-mobile-actions a { display:grid; place-items:center; border-radius:10px; font-size:.78rem; font-weight:900; }
  .ei-mobile-actions a.ei-mobile-whatsapp { background:#eaf8ef; color:#176a3f; box-shadow:inset 0 -3px 0 rgba(37,211,102,.55); }
  .ei-mobile-actions a.ei-mobile-call { background:#fff; color:var(--ei-dark); border:1px solid rgba(17,19,24,.10); }
  .ei-mobile-actions a.ei-mobile-quote { background:var(--ei-red); color:#fff; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}


/* Inner pages — v1.4 */
.ei-inner-hero { position:relative; overflow:hidden; color:#fff; background:var(--ei-dark); }
.ei-inner-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(11,13,18,.98),rgba(18,21,29,.92) 58%,rgba(177,39,33,.72)),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 86px),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 86px); }
.ei-inner-hero::after { content:""; position:absolute; width:520px; height:520px; right:-160px; top:-210px; border-radius:50%; background:rgba(223,58,50,.35); filter:blur(20px); }
.ei-inner-hero-grid { position:relative; z-index:2; min-height:570px; padding:86px 0; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(330px,.72fr); gap:70px; align-items:center; }
.ei-inner-hero-copy h1 { margin:0; max-width:850px; font-size:clamp(3rem,5.7vw,5.8rem); line-height:.98; letter-spacing:-.06em; }
.ei-inner-hero-copy > p { max-width:760px; margin:25px 0 0; color:rgba(255,255,255,.74); font-size:1.12rem; line-height:1.7; }
.ei-inner-facts { border-bottom:1px solid var(--ei-line); background:#fff; }
.ei-inner-facts-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.ei-inner-facts-grid div { padding:27px 24px; border-left:1px solid var(--ei-line); }
.ei-inner-facts-grid div:last-child { border-right:1px solid var(--ei-line); }
.ei-inner-facts-grid strong,.ei-inner-facts-grid span { display:block; }
.ei-inner-facts-grid strong { color:var(--ei-dark); font-size:1.03rem; }
.ei-inner-facts-grid span { color:var(--ei-muted); margin-top:5px; font-size:.88rem; }

.ei-inner-orbit { position:relative; min-height:390px; display:grid; place-items:center; }
.ei-inner-orbit-ring { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.18); }
.ei-inner-orbit-ring-one { width:350px; height:350px; }
.ei-inner-orbit-ring-two { width:245px; height:245px; border-color:rgba(223,58,50,.64); box-shadow:0 0 70px rgba(223,58,50,.18); }
.ei-inner-orbit-core { width:130px; height:130px; border-radius:50%; display:grid; place-content:center; text-align:center; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(14px); }
.ei-inner-orbit-core strong { font-size:2.3rem; letter-spacing:-.07em; }
.ei-inner-orbit-core span { color:rgba(255,255,255,.62); text-transform:uppercase; font-size:.58rem; letter-spacing:.11em; }
.ei-orbit-label { position:absolute; padding:8px 11px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); font-size:.72rem; font-weight:850; }
.ei-orbit-label-one { top:16%; left:4%; }
.ei-orbit-label-two { top:15%; right:2%; }
.ei-orbit-label-three { bottom:17%; left:1%; }
.ei-orbit-label-four { bottom:14%; right:5%; }

.ei-editorial-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:80px; align-items:start; }
.ei-editorial-grid h2,.ei-story-split h2,.ei-contact-sidebar h2 { margin:0; color:var(--ei-dark); font-size:clamp(2.45rem,4.4vw,4.3rem); line-height:1.02; letter-spacing:-.055em; }
.ei-editorial-copy { display:grid; gap:17px; }
.ei-editorial-copy p { margin:0; color:var(--ei-muted); font-size:1.08rem; line-height:1.82; }
.ei-values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ei-values-grid article { position:relative; overflow:hidden; min-height:270px; padding:32px; border-radius:24px; background:#fff; border:1px solid var(--ei-line); box-shadow:var(--ei-shadow-soft); }
.ei-values-grid article::after { content:""; position:absolute; width:150px; height:150px; right:-75px; top:-75px; border-radius:50%; background:var(--ei-red-soft); }
.ei-values-grid article > span { color:var(--ei-red); font-weight:950; letter-spacing:.12em; font-size:.78rem; }
.ei-values-grid h3 { margin:42px 0 12px; color:var(--ei-dark); font-size:1.55rem; letter-spacing:-.035em; }
.ei-values-grid p { margin:0; color:var(--ei-muted); line-height:1.67; }
.ei-story-split { display:grid; grid-template-columns:.92fr 1.08fr; gap:76px; align-items:center; }
.ei-story-panel { position:relative; display:grid; gap:17px; padding:32px; border-radius:28px; background:var(--ei-dark); color:#fff; box-shadow:var(--ei-shadow); }
.ei-story-panel > div { position:relative; z-index:2; padding:20px 22px 20px 55px; border-radius:16px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); }
.ei-story-panel > div::before { content:""; position:absolute; left:22px; top:27px; width:11px; height:11px; border-radius:50%; background:var(--ei-red); box-shadow:0 0 14px rgba(223,58,50,.75); }
.ei-story-panel strong,.ei-story-panel span { display:block; }
.ei-story-panel strong { font-size:1.05rem; }
.ei-story-panel span { margin-top:4px; color:rgba(255,255,255,.62); font-size:.88rem; }
.ei-story-line { position:absolute; left:59px; top:65px; bottom:65px; width:1px; background:rgba(255,255,255,.18); }

.ei-service-jump { position:sticky; top:var(--ei-sticky-offset); z-index:35; background:rgba(255,255,255,.94); backdrop-filter:blur(14px); border-bottom:1px solid var(--ei-line); }
.ei-service-jump .ei-container { display:flex; gap:10px; overflow:auto; padding-top:12px; padding-bottom:12px; scrollbar-width:none; }
.ei-service-jump .ei-container::-webkit-scrollbar { display:none; }
.ei-service-jump a { white-space:nowrap; padding:10px 14px; border-radius:999px; background:var(--ei-soft); color:var(--ei-dark); font-size:.82rem; font-weight:850; }
.ei-service-jump a:hover { background:var(--ei-red-soft); color:var(--ei-red-dark); }
.ei-service-map { position:relative; min-height:390px; }
.ei-service-map-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:118px; height:118px; display:grid; place-items:center; border-radius:30px; background:var(--ei-red); box-shadow:0 25px 70px rgba(223,58,50,.34); font-size:2.1rem; font-weight:950; }
.ei-service-map-node { position:absolute; min-width:112px; padding:13px 16px; text-align:center; border-radius:14px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.16); font-size:.78rem; font-weight:850; }
.ei-service-map .node-1 { top:12%; left:7%; }.ei-service-map .node-2 { top:11%; right:5%; }.ei-service-map .node-3 { bottom:13%; left:3%; }.ei-service-map .node-4 { bottom:12%; right:7%; }
.ei-service-map-line { position:absolute; left:50%; top:50%; width:38%; height:1px; background:rgba(255,255,255,.19); transform-origin:left center; }
.ei-service-map .line-1 { transform:rotate(-142deg); }.ei-service-map .line-2 { transform:rotate(-38deg); }.ei-service-map .line-3 { transform:rotate(142deg); }.ei-service-map .line-4 { transform:rotate(38deg); }
.ei-service-category { scroll-margin-top:150px; padding:62px 0; border-top:1px solid var(--ei-line); }
.ei-service-category:first-of-type { border-top:0; padding-top:6px; }
.ei-service-category-head { display:grid; grid-template-columns:72px 1fr; gap:24px; margin-bottom:30px; align-items:start; }
.ei-service-category-head > span { display:grid; place-items:center; width:58px; height:58px; border-radius:18px; background:var(--ei-red-soft); color:var(--ei-red); font-size:.82rem; font-weight:950; letter-spacing:.1em; }
.ei-service-category-head h2 { margin:0; color:var(--ei-dark); font-size:clamp(2rem,3.5vw,3.4rem); line-height:1.04; letter-spacing:-.05em; }
.ei-service-category-head p { margin:10px 0 0; color:var(--ei-muted); font-size:1rem; }
.ei-service-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ei-service-detail-grid-two { grid-template-columns:repeat(2,1fr); }
.ei-service-detail-grid article { padding:30px; border:1px solid var(--ei-line); border-radius:22px; background:#fff; box-shadow:var(--ei-shadow-soft); }
.ei-service-detail-grid h3 { margin:0 0 12px; color:var(--ei-dark); font-size:1.35rem; letter-spacing:-.035em; }
.ei-service-detail-grid p { margin:0; color:var(--ei-muted); line-height:1.67; }
.ei-service-detail-grid ul { margin:22px 0 0; padding:0; list-style:none; display:grid; gap:9px; }
.ei-service-detail-grid li { position:relative; padding-left:23px; color:#3f4652; font-size:.91rem; font-weight:750; }
.ei-service-detail-grid li::before { content:"✓"; position:absolute; left:0; color:var(--ei-red); }
.ei-process-banner { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
.ei-process-banner h2 { margin:0; color:var(--ei-dark); font-size:clamp(2.4rem,4vw,4rem); line-height:1.02; letter-spacing:-.055em; }
.ei-process-banner ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.ei-process-banner li { padding:20px; border-radius:16px; background:#fff; border:1px solid var(--ei-line); font-weight:850; }
.ei-process-banner li span { color:var(--ei-red); margin-right:10px; font-size:.77rem; }

.ei-inner-hero-grid-contact { grid-template-columns:1.15fr .65fr; }
.ei-contact-quick-grid { margin-top:34px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ei-contact-quick-grid a { padding:18px; border-radius:16px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); }
.ei-contact-quick-grid span,.ei-contact-quick-grid strong { display:block; }
.ei-contact-quick-grid span { color:rgba(255,255,255,.57); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; font-weight:850; }
.ei-contact-quick-grid strong { margin-top:8px; color:#fff; font-size:.91rem; overflow-wrap:anywhere; }
.ei-contact-signal { position:relative; min-height:360px; display:grid; place-items:center; }
.ei-contact-signal > div { position:relative; z-index:3; width:230px; height:230px; border-radius:50%; display:grid; place-content:center; text-align:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); box-shadow:0 0 0 42px rgba(255,255,255,.03),0 0 0 85px rgba(255,255,255,.025); }
.ei-contact-signal strong,.ei-contact-signal span { display:block; }.ei-contact-signal strong { font-size:1.45rem; }.ei-contact-signal span { margin-top:6px; color:rgba(255,255,255,.61); font-size:.8rem; }
.signal-dot { position:absolute; width:13px; height:13px; border-radius:50%; background:var(--ei-red); box-shadow:0 0 18px rgba(223,58,50,.8); }
.dot-one { left:12%; top:22%; }.dot-two { right:9%; top:34%; }.dot-three { left:23%; bottom:15%; }
.ei-contact-page-section { background:#fff; }
.ei-contact-page-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.75fr); gap:60px; align-items:start; }
.ei-contact-page-form { padding:38px; }
.ei-contact-page-form .eicf-head h2 { font-size:2.55rem; }
.ei-contact-sidebar { position:sticky; top:calc(112px + var(--ei-sticky-offset)); }
.ei-contact-sidebar > p { color:var(--ei-muted); line-height:1.72; }
.ei-contact-info-list { display:grid; gap:13px; margin-top:28px; }
.ei-contact-info-list article { padding:23px; border-radius:18px; background:var(--ei-soft); border:1px solid var(--ei-line); }
.ei-contact-info-list span,.ei-contact-info-list strong,.ei-contact-info-list a { display:block; }
.ei-contact-info-list span { color:var(--ei-red); text-transform:uppercase; letter-spacing:.1em; font-size:.69rem; font-weight:900; }
.ei-contact-info-list strong { margin-top:9px; color:var(--ei-dark); line-height:1.55; }
.ei-contact-info-list a { margin-top:13px; color:var(--ei-red-dark); font-size:.85rem; font-weight:850; }
.ei-contact-methods { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ei-contact-methods article { padding:30px; background:#fff; border:1px solid var(--ei-line); border-radius:22px; }
.ei-contact-methods article > span { color:var(--ei-red); font-size:.77rem; font-weight:950; letter-spacing:.1em; }
.ei-contact-methods h3 { margin:25px 0 10px; color:var(--ei-dark); font-size:1.45rem; }
.ei-contact-methods p { min-height:78px; margin:0; color:var(--ei-muted); line-height:1.65; }
.ei-contact-methods a { display:inline-flex; margin-top:20px; color:var(--ei-red-dark); font-weight:900; }

.ei-nav-list .current-menu-item > a,.ei-nav-list .current_page_item > a { color:var(--ei-red); }

@media (max-width:1000px) {
  .ei-inner-hero-grid,.ei-inner-hero-grid-contact,.ei-editorial-grid,.ei-story-split,.ei-process-banner,.ei-contact-page-grid { grid-template-columns:1fr; }
  .ei-inner-orbit,.ei-service-map,.ei-contact-signal { min-height:330px; max-width:580px; width:100%; margin:0 auto; }
  .ei-inner-facts-grid,.ei-values-grid,.ei-contact-quick-grid,.ei-contact-methods { grid-template-columns:repeat(2,1fr); }
  .ei-service-detail-grid,.ei-service-detail-grid-two { grid-template-columns:repeat(2,1fr); }
  .ei-contact-sidebar { position:static; }
}

@media (max-width:680px) {
  .ei-inner-hero-grid { min-height:auto; padding:58px 0 64px; gap:34px; }
  .ei-inner-hero-copy h1 { font-size:clamp(2.75rem,12vw,4rem); }
  .ei-inner-hero-copy > p { font-size:1rem; }
  .ei-inner-orbit,.ei-service-map,.ei-contact-signal { min-height:285px; transform:scale(.9); margin-top:-15px; margin-bottom:-20px; }
  .ei-inner-facts-grid,.ei-values-grid,.ei-service-detail-grid,.ei-service-detail-grid-two,.ei-contact-quick-grid,.ei-contact-methods { grid-template-columns:1fr; }
  .ei-inner-facts-grid div { border-right:1px solid var(--ei-line); border-bottom:1px solid var(--ei-line); }
  .ei-editorial-grid,.ei-story-split { gap:38px; }
  .ei-editorial-grid h2,.ei-story-split h2,.ei-contact-sidebar h2 { font-size:clamp(2.25rem,10vw,3.2rem); }
  .ei-service-jump { top:calc(74px + var(--ei-sticky-offset)); }
  .ei-service-category { scroll-margin-top:142px; padding:48px 0; }
  .ei-service-category-head { grid-template-columns:1fr; gap:15px; }
  .ei-service-category-head > span { width:50px; height:50px; }
  .ei-process-banner { gap:34px; }
  .ei-process-banner ol { grid-template-columns:1fr; }
  .ei-contact-page-form { padding:23px; }
  .ei-contact-page-form .eicf-head h2 { font-size:2.1rem; }
  .ei-contact-methods p { min-height:0; }
}

/* v1.5 refinements: UX/UI + SEO-oriented readability */
.ei-footer-brand { gap:10px; }
.ei-footer-mark { width:28px; height:28px; object-fit:contain; flex:0 0 auto; }
.ei-footer-email,
.ei-no-break { white-space:nowrap; word-break:normal; overflow-wrap:normal; }

.ei-technical-visual.ei-system-visual { min-height:500px; padding:30px; }
.ei-system-topline,
.ei-about-panel-head { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:16px; color:rgba(255,255,255,.64); font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.ei-system-topline strong,
.ei-about-panel-head strong { color:#fff; }
.ei-system-brand { display:flex; align-items:center; gap:10px; color:#fff; }
.ei-system-brand img { width:22px; height:22px; object-fit:contain; }
.ei-system-brand span { color:#fff; font-size:.8rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.ei-system-grid { position:relative; z-index:2; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:26px; padding-bottom:124px; }
.ei-system-grid::before,
.ei-system-grid::after { content:""; position:absolute; left:50%; top:48%; width:160px; height:1px; background:rgba(255,255,255,.14); transform:translateX(-50%); }
.ei-system-grid::after { width:1px; height:150px; top:19%; transform:none; }
.ei-system-card { padding:22px; min-height:108px; border-radius:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.11); backdrop-filter:blur(8px); }
.ei-system-card strong,
.ei-system-card span { display:block; }
.ei-system-card strong { color:#fff; font-size:1.06rem; letter-spacing:-.02em; }
.ei-system-card span { margin-top:7px; color:rgba(255,255,255,.66); font-size:.89rem; line-height:1.45; }
.ei-system-card-energy { box-shadow:inset 0 0 0 1px rgba(255,180,120,.12); }
.ei-system-card-security { box-shadow:inset 0 0 0 1px rgba(255,110,110,.12); }
.ei-system-card-home { box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.ei-system-card-data { box-shadow:inset 0 0 0 1px rgba(160,180,255,.12); }
.ei-system-hub { position:absolute; left:50%; top:50%; transform:translate(-50%,-18%); width:220px; padding:20px 22px; text-align:center; border-radius:22px; background:linear-gradient(180deg,rgba(235,67,57,.95),rgba(175,32,28,.95)); box-shadow:0 25px 70px rgba(223,58,50,.28); }
.ei-system-hub small,
.ei-system-hub strong,
.ei-system-hub span { display:block; }
.ei-system-hub small { color:rgba(255,255,255,.72); font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; font-weight:900; }
.ei-system-hub strong { margin-top:7px; color:#fff; font-size:1.25rem; letter-spacing:-.04em; }
.ei-system-hub span { margin-top:6px; color:rgba(255,255,255,.82); font-size:.83rem; line-height:1.45; }
.ei-system-tags { position:relative; z-index:2; display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:14px; }
.ei-system-tags span { padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.82); font-size:.76rem; font-weight:850; }

.ei-about-panel { position:relative; min-height:430px; padding:28px; border-radius:28px; background:linear-gradient(145deg,#11141b,#232834); box-shadow:var(--ei-shadow); overflow:hidden; }
.ei-about-panel::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 86% 18%,rgba(223,58,50,.32),transparent 24%),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 74px),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 74px); }
.ei-about-panel-steps,
.ei-about-panel-note { position:relative; z-index:2; }
.ei-about-panel-steps { display:grid; gap:14px; margin-top:28px; }
.ei-about-panel-steps article { display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:center; padding:16px 18px; border-radius:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.11); }
.ei-about-panel-steps article > span { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:rgba(223,58,50,.18); color:#ff8f86; font-size:.78rem; font-weight:950; }
.ei-about-panel-steps strong,
.ei-about-panel-steps small { display:block; }
.ei-about-panel-steps strong { color:#fff; font-size:1.02rem; }
.ei-about-panel-steps small { margin-top:5px; color:rgba(255,255,255,.65); font-size:.82rem; }
.ei-about-panel-note { margin-top:16px; padding:18px 20px; border-radius:18px; background:rgba(11,13,18,.72); border:1px solid rgba(255,255,255,.10); }
.ei-about-panel-note small,
.ei-about-panel-note strong,
.ei-about-panel-note span { display:block; }
.ei-about-panel-note small { color:#ff8f86; font-size:.68rem; font-weight:900; letter-spacing:.15em; }
.ei-about-panel-note strong { margin-top:7px; color:#fff; font-size:1.14rem; letter-spacing:-.03em; }
.ei-about-panel-note span { margin-top:6px; color:rgba(255,255,255,.66); font-size:.87rem; line-height:1.55; }

.ei-contact-quick-grid { grid-template-columns:1fr 1.35fr 1fr; }
.ei-contact-quick-grid .ei-contact-card-email strong { font-size:.86rem; white-space:nowrap; word-break:normal; overflow-wrap:normal; }

.ei-contact-methods article,
.ei-service-detail-grid article,
.ei-values-grid article,
.ei-step,
.ei-detail-card { transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.ei-contact-methods article:hover,
.ei-service-detail-grid article:hover,
.ei-values-grid article:hover,
.ei-step:hover,
.ei-detail-card:hover { border-color:rgba(216,58,50,.30); box-shadow:0 18px 44px rgba(17,19,24,.10); transform:translateY(-2px); }

@media (max-width: 1180px) {
  .ei-contact-quick-grid { grid-template-columns:repeat(3,1fr); }
  .ei-contact-quick-grid .ei-contact-card-email strong { white-space:normal; overflow-wrap:anywhere; }
}

@media (max-width: 1000px) {
  .ei-system-grid { padding-bottom:0; }
  .ei-system-grid::before,
  .ei-system-grid::after { display:none; }
  .ei-system-hub { position:static; transform:none; width:auto; margin-top:4px; grid-column:1 / -1; }
  .ei-about-panel { min-height:auto; }
}

@media (max-width: 680px) {
  .ei-system-topline,
  .ei-about-panel-head { flex-direction:column; align-items:flex-start; }
  .ei-technical-visual.ei-system-visual,
  .ei-about-panel { padding:22px; min-height:auto; }
  .ei-system-grid { grid-template-columns:1fr; gap:12px; margin-top:18px; }
  .ei-system-card { min-height:0; }
  .ei-system-tags { justify-content:flex-start; }
  .ei-contact-quick-grid .ei-contact-card-email strong,
  .ei-footer-email,
  .ei-no-break { white-space:normal; overflow-wrap:anywhere; }
}

/* v1.6 premium visual and spacing system */
:root {
  --ei-container: 1210px;
  --ei-section-space: clamp(84px, 8vw, 132px);
}

.ei-section { padding:var(--ei-section-space) 0; }
.ei-section-head { max-width:800px; margin-bottom:clamp(42px,5vw,64px); }
.ei-section-head-compact { margin-bottom:clamp(30px,4vw,46px); }
.ei-services-grid,
.ei-service-detail-grid,
.ei-values-grid,
.ei-strengths-grid,
.ei-contact-methods { gap:24px; }
.ei-service-card,
.ei-service-detail-grid article,
.ei-values-grid article,
.ei-contact-methods article { padding:clamp(28px,3vw,36px); }
.ei-split { gap:clamp(56px,7vw,92px); }
.ei-editorial-grid,
.ei-story-split { gap:clamp(54px,7vw,88px); }
.ei-inner-hero-grid { gap:clamp(52px,7vw,88px); padding:clamp(76px,8vw,108px) 0; }
.ei-hero-grid { gap:clamp(48px,7vw,84px); }
.ei-contact-details { gap:22px; }
.ei-cta-box { gap:52px; }

.ei-premium-visual { margin:0; position:relative; overflow:hidden; border-radius:32px; background:#10131a; border:1px solid rgba(255,255,255,.08); box-shadow:0 34px 90px rgba(12,15,22,.22); }
.ei-premium-visual::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(255,255,255,.06); }
.ei-premium-visual img { display:block; width:100%; height:auto; object-fit:cover; }
.ei-premium-visual-square { max-width:590px; justify-self:start; }
.ei-premium-visual-services { max-width:620px; justify-self:end; background:transparent; }
.ei-premium-visual-services img { aspect-ratio:4 / 3; }

.ei-inner-hero-services .ei-inner-hero-grid { grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); }
.ei-inner-hero-services .ei-premium-visual { box-shadow:0 30px 100px rgba(223,58,50,.15); }

.ei-contact-section .ei-section-head p { max-width:850px; }

@media (max-width:1000px) {
  .ei-inner-hero-services .ei-inner-hero-grid { grid-template-columns:1fr; }
  .ei-premium-visual-square,
  .ei-premium-visual-services { max-width:720px; justify-self:center; width:100%; }
}

@media (max-width:680px) {
  :root { --ei-section-space:72px; }
  .ei-section-head { margin-bottom:36px; }
  .ei-premium-visual { border-radius:22px; box-shadow:0 22px 60px rgba(12,15,22,.18); }
  .ei-inner-hero-grid { padding:58px 0 64px; gap:38px; }
  .ei-split,
  .ei-editorial-grid,
  .ei-story-split { gap:38px; }
  .ei-cta-box { gap:30px; }
}

/* v1.7 global refinement, accessibility, map and conversion */
:root {
  --ei-section-space: clamp(78px, 6.8vw, 112px);
}

.ei-skip-link {
  position:fixed;
  z-index:99999;
  top:10px;
  left:10px;
  padding:11px 15px;
  border-radius:10px;
  background:#fff;
  color:var(--ei-dark);
  font-weight:900;
  transform:translateY(-180%);
  transition:transform .16s ease;
}
.ei-skip-link:focus { transform:translateY(0); }

body.ei-theme a:focus-visible,
body.ei-theme button:focus-visible,
body.ei-theme input:focus-visible,
body.ei-theme select:focus-visible,
body.ei-theme textarea:focus-visible {
  outline:3px solid rgba(223,58,50,.38);
  outline-offset:3px;
}

.ei-hero-grid { min-height:690px; }
.ei-hero-copy { max-width:720px; }
.ei-hero-copy > p { max-width:650px; }
.ei-contact-card { align-self:center; }

.ei-service-card {
  display:flex;
  flex-direction:column;
  min-height:100%;
  color:inherit;
  text-decoration:none;
}
.ei-service-card:hover {
  transform:none;
  border-color:rgba(216,58,50,.34);
  box-shadow:0 20px 52px rgba(17,19,24,.12);
}
.ei-service-card p { flex:1; }
.ei-card-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:22px;
  color:var(--ei-red-dark);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.01em;
}
.ei-service-card:hover .ei-card-link { color:var(--ei-red); }

.ei-premium-visual-square { max-width:640px; }
.ei-premium-visual-services { max-width:690px; }
.ei-inner-hero-services .ei-inner-hero-grid {
  grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr);
  min-height:620px;
}
.ei-inner-hero-services .ei-premium-visual img {
  transform:scale(1.035);
  transform-origin:center;
}

.ei-service-jump a {
  border:1px solid transparent;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.ei-service-jump a.is-active {
  color:#fff;
  background:var(--ei-dark);
  border-color:rgba(255,255,255,.08);
}

.ei-inner-facts-grid div { min-height:96px; }
.ei-values-grid article,
.ei-service-detail-grid article,
.ei-contact-methods article,
.ei-detail-card,
.ei-step { transform:none; }
.ei-values-grid article:hover,
.ei-service-detail-grid article:hover,
.ei-contact-methods article:hover,
.ei-detail-card:hover,
.ei-step:hover { transform:none; }

.ei-detail-link {
  display:inline-flex;
  margin-top:12px;
  color:var(--ei-red-dark)!important;
  font-size:.82rem!important;
  font-weight:900;
}

.ei-contact-page-grid {
  grid-template-columns:minmax(0,1.02fr) minmax(400px,.98fr);
  gap:36px;
  align-items:start;
}
.ei-contact-page-form { padding:clamp(28px,3.5vw,44px); }
.ei-contact-side-stack { display:grid; gap:18px; }
.ei-map-card {
  position:relative;
  min-height:500px;
  overflow:hidden;
  border-radius:28px;
  background:linear-gradient(145deg,#10131a,#242834);
  box-shadow:var(--ei-shadow);
  border:1px solid rgba(255,255,255,.08);
}
.ei-map-placeholder { position:absolute; inset:0; display:grid; place-items:center; padding:34px; }
.ei-map-grid { position:absolute; inset:0; opacity:.82; background:radial-gradient(circle at 72% 18%,rgba(223,58,50,.38),transparent 30%),repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 1px,transparent 1px 52px),repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 52px); }
.ei-map-grid::before,
.ei-map-grid::after { content:""; position:absolute; background:rgba(255,255,255,.10); border-radius:999px; transform:rotate(-24deg); }
.ei-map-grid::before { width:130%; height:12px; left:-16%; top:38%; }
.ei-map-grid::after { width:120%; height:8px; left:-8%; top:63%; transform:rotate(18deg); }
.ei-map-pin { position:absolute; right:14%; top:18%; width:64px; height:64px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:linear-gradient(145deg,#f34a42,#a91f1b); box-shadow:0 22px 45px rgba(223,58,50,.42); }
.ei-map-pin span { position:absolute; width:22px; height:22px; left:21px; top:21px; border-radius:50%; background:#fff; }
.ei-map-copy { position:relative; z-index:3; width:min(100%,390px); padding:28px; border-radius:22px; background:rgba(11,13,18,.84); border:1px solid rgba(255,255,255,.13); backdrop-filter:blur(15px); color:#fff; }
.ei-map-copy h2 { margin:4px 0 8px; color:#fff; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.04; letter-spacing:-.045em; }
.ei-map-copy p { margin:0 0 22px; color:rgba(255,255,255,.68); }
.ei-map-copy small { display:block; margin-top:13px; color:rgba(255,255,255,.52); font-size:.76rem; line-height:1.5; }
.ei-map-frame { width:100%; height:500px; border:0; display:block; filter:saturate(.82) contrast(1.03); }
.ei-map-loading { min-height:500px; display:grid; place-items:center; color:#fff; background:#11141b; }

.ei-contact-side-info { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.ei-contact-side-info article { padding:20px; border-radius:18px; background:var(--ei-soft); border:1px solid var(--ei-line); min-width:0; }
.ei-contact-side-info span,
.ei-contact-side-info strong,
.ei-contact-side-info a { display:block; }
.ei-contact-side-info span { color:var(--ei-red); font-size:.68rem; font-weight:950; text-transform:uppercase; letter-spacing:.11em; }
.ei-contact-side-info strong,
.ei-contact-side-info a { margin-top:8px; color:var(--ei-dark); font-size:.9rem; line-height:1.5; overflow-wrap:anywhere; }

.ei-contact-methods article { min-height:250px; display:flex; flex-direction:column; }
.ei-contact-methods p { flex:1; }

@media (max-width:1000px) {
  .ei-hero-grid { min-height:auto; }
  .ei-inner-hero-services .ei-inner-hero-grid,
  .ei-contact-page-grid { grid-template-columns:1fr; }
  .ei-contact-side-stack { max-width:760px; width:100%; }
  .ei-map-card { min-height:460px; }
  .ei-map-frame { height:460px; }
}

@media (max-width:680px) {
  :root { --ei-section-space:68px; }
  .ei-hero-grid { padding-top:44px; padding-bottom:54px; }
  .ei-premium-visual-square,
  .ei-premium-visual-services { max-width:100%; }
  .ei-contact-page-grid { gap:24px; }
  .ei-map-card { min-height:430px; border-radius:22px; }
  .ei-map-placeholder { padding:20px; align-items:end; }
  .ei-map-copy { padding:22px; }
  .ei-map-pin { width:50px; height:50px; right:12%; top:12%; }
  .ei-map-pin span { width:16px; height:16px; left:17px; top:17px; }
  .ei-map-frame { height:430px; }
  .ei-contact-side-info { grid-template-columns:1fr; }
  .ei-contact-methods article { min-height:0; }
}

/* v1.8 compact rhythm, active navigation and always-visible map */
:root {
  --ei-section-space: clamp(54px, 4.8vw, 78px);
}

.ei-section { padding:var(--ei-section-space) 0; }
.ei-section-head { margin-bottom:clamp(28px,3vw,40px); }
.ei-section-head-compact { margin-bottom:clamp(24px,2.5vw,34px); }
.ei-hero-grid { min-height:620px; padding-top:52px; padding-bottom:52px; }
.ei-inner-hero-grid { min-height:510px; padding:clamp(54px,5.5vw,76px) 0; gap:clamp(40px,5vw,64px); }
.ei-inner-facts-grid div { min-height:82px; padding-top:20px; padding-bottom:20px; }
.ei-strengths-section,
.ei-contact-section { padding-top:var(--ei-section-space); padding-bottom:var(--ei-section-space); }
.ei-service-category { padding:40px 0; }
.ei-service-category-head { margin-bottom:24px; }
.ei-cta-section { padding:62px 0; }
.ei-footer { padding-top:52px; }
.ei-footer-bottom { margin-top:28px; }
.ei-editorial-grid,
.ei-story-split { gap:clamp(42px,5vw,66px); }
.ei-split { gap:clamp(44px,5.5vw,70px); }
.ei-contact-page-grid { gap:30px; }
.ei-contact-methods article { min-height:220px; }
.ei-values-grid article { min-height:235px; }

.ei-nav-list .current-menu-item > a,
.ei-nav-list .current_page_item > a,
.ei-nav-list a[aria-current="page"] {
  color:var(--ei-red);
}

.ei-map-card-live { min-height:500px; background:#11141b; }
.ei-map-card-live .ei-map-frame { height:500px; filter:saturate(.78) contrast(1.04); }
.ei-map-address-badge {
  position:absolute;
  z-index:3;
  left:18px;
  bottom:18px;
  width:min(330px,calc(100% - 36px));
  padding:18px 20px;
  border-radius:18px;
  background:rgba(11,13,18,.9);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 18px 48px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);
  color:#fff;
}
.ei-map-address-badge span,
.ei-map-address-badge strong,
.ei-map-address-badge small,
.ei-map-address-badge a { display:block; }
.ei-map-address-badge strong { margin-top:7px; font-size:1.12rem; letter-spacing:-.02em; }
.ei-map-address-badge small { margin-top:4px; color:rgba(255,255,255,.67); }
.ei-map-address-badge a { margin-top:12px; color:#ff8f86; font-size:.84rem; font-weight:900; }

@media (max-width:1000px) {
  .ei-hero-grid { min-height:auto; }
  .ei-contact-methods article { min-height:0; }
}

@media (max-width:680px) {
  :root { --ei-section-space:52px; }
  .ei-hero-grid { padding-top:38px; padding-bottom:44px; }
  .ei-inner-hero-grid { padding:48px 0 52px; gap:30px; }
  .ei-service-category { padding:34px 0; }
  .ei-cta-section { padding:52px 0; }
  .ei-footer { padding-top:44px; }
  .ei-values-grid article { min-height:0; }
  .ei-map-card-live { min-height:420px; }
  .ei-map-card-live .ei-map-frame { height:420px; }
  .ei-map-address-badge { left:12px; right:12px; bottom:12px; width:auto; padding:16px 17px; }
}

/* v1.9 — homepage map and technical SEO refinements */
.ei-home-map-section {
  padding: 0 0 var(--ei-section-space);
  background: var(--ei-white);
}

.ei-home-map-head {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: clamp(28px, 5vw, 76px);
  align-items: end;
  margin-bottom: clamp(24px, 3vw, 38px);
}

.ei-home-map-head h2 {
  margin: 0;
  max-width: 680px;
  color: var(--ei-dark);
  font-size: clamp(2.2rem, 3.8vw, 3.8rem);
  line-height: 1.02;
  letter-spacing: -.055em;
}

.ei-home-map-head p {
  margin: 0;
  color: var(--ei-muted);
  font-size: 1.02rem;
  line-height: 1.72;
}

.ei-home-map-card {
  position: relative;
  min-height: 310px;
  overflow: hidden;
  border-radius: 28px;
  background: #11141b;
  border: 1px solid var(--ei-line);
  box-shadow: 0 26px 70px rgba(17, 19, 24, .13);
}

.ei-home-map-frame {
  display: block;
  width: 100%;
  height: 310px;
  border: 0;
  filter: saturate(.72) contrast(1.04);
}

.ei-home-map-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(12, 15, 22, .72) 0%, rgba(12, 15, 22, .18) 46%, rgba(12, 15, 22, 0) 72%),
    linear-gradient(180deg, rgba(255, 255, 255, 0) 55%, rgba(12, 15, 22, .24) 100%);
}

.ei-home-map-address {
  position: absolute;
  z-index: 3;
  left: clamp(18px, 3vw, 34px);
  top: 50%;
  transform: translateY(-50%);
  width: min(420px, calc(100% - 36px));
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px 16px;
  align-items: center;
  padding: 24px;
  border-radius: 22px;
  color: #fff;
  background: rgba(11, 13, 18, .88);
  border: 1px solid rgba(255, 255, 255, .14);
  backdrop-filter: blur(16px);
  box-shadow: 0 22px 58px rgba(0, 0, 0, .28);
}

.ei-home-map-address img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.ei-home-map-address span,
.ei-home-map-address strong,
.ei-home-map-address small {
  display: block;
}

.ei-home-map-address span {
  color: #ff8f86;
  font-size: .69rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .13em;
}

.ei-home-map-address strong {
  margin-top: 5px;
  font-size: 1.16rem;
  letter-spacing: -.025em;
}

.ei-home-map-address small {
  margin-top: 3px;
  color: rgba(255, 255, 255, .67);
}

.ei-home-map-address a {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 2px;
  color: #fff;
  font-size: .84rem;
  font-weight: 900;
  border-bottom: 1px solid rgba(255, 255, 255, .45);
}

@media (max-width: 900px) {
  .ei-home-map-head {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (max-width: 680px) {
  .ei-home-map-section {
    padding-bottom: 52px;
  }

  .ei-home-map-card,
  .ei-home-map-frame {
    min-height: 250px;
    height: 250px;
  }

  .ei-home-map-card {
    border-radius: 22px;
  }

  .ei-home-map-address {
    left: 12px;
    right: 12px;
    top: auto;
    bottom: 12px;
    transform: none;
    width: auto;
    padding: 17px;
    grid-template-columns: 34px 1fr;
    gap: 10px 12px;
  }

  .ei-home-map-address img {
    width: 27px;
    height: 27px;
  }

  .ei-home-map-address strong {
    font-size: 1rem;
  }
}

/* v2.0 — Google reviews, official social profiles and mobile map clarity */
.ei-reviews-section { background:linear-gradient(180deg,#f6f8fb 0%,#fff 100%); }
.ei-reviews-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.65fr); gap:clamp(28px,5vw,74px); align-items:end; margin-bottom:32px; }
.ei-reviews-head h2 { margin:0; max-width:760px; color:var(--ei-dark); font-size:clamp(2.3rem,4vw,4rem); line-height:1.02; letter-spacing:-.055em; }
.ei-reviews-intro p { margin:0; color:var(--ei-muted); line-height:1.68; }
.ei-reviews-intro a { display:inline-flex; margin-top:14px; color:var(--ei-red-dark); font-weight:900; border-bottom:1px solid currentColor; }
.eigr-widget { min-height:220px; }
.eigr-loading { min-height:220px; display:flex; align-items:center; justify-content:center; gap:12px; color:var(--ei-muted); border:1px solid var(--ei-line); border-radius:24px; background:#fff; }
.eigr-spinner { width:22px; height:22px; border:2px solid #e3e7ee; border-top-color:var(--ei-red); border-radius:50%; animation:eigr-spin .75s linear infinite; }
@keyframes eigr-spin { to { transform:rotate(360deg); } }
.eigr-content { display:grid; gap:22px; }
.eigr-summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:21px 24px; border-radius:20px; color:#fff; background:linear-gradient(135deg,#11151d,#242933 58%,#6d2422); box-shadow:var(--ei-shadow-soft); }
.eigr-summary > div:last-child { display:flex; align-items:center; gap:13px; flex-wrap:wrap; }
.eigr-summary strong { font-size:1.65rem; letter-spacing:-.05em; }
.eigr-summary > div:last-child > span:last-child { color:rgba(255,255,255,.72); font-size:.9rem; }
.eigr-google-maps,
.eigr-attribution span { font-family:Roboto,Arial,sans-serif; font-style:normal; font-weight:400; letter-spacing:normal; white-space:nowrap; }
.eigr-google-maps { font-size:1rem; }
.eigr-stars { display:inline-flex; gap:2px; }
.eigr-stars span { color:rgba(255,255,255,.28); font-size:1.05rem; }
.eigr-stars .is-filled { color:#fbbc04; }
.eigr-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.eigr-card { display:flex; flex-direction:column; min-height:310px; padding:24px; border-radius:22px; background:#fff; border:1px solid var(--ei-line); box-shadow:var(--ei-shadow-soft); }
.eigr-card-head { display:flex; align-items:center; gap:12px; }
.eigr-card-head img,
.eigr-avatar { width:44px; height:44px; border-radius:50%; flex:0 0 auto; }
.eigr-card-head img { object-fit:cover; }
.eigr-avatar { display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,var(--ei-red),var(--ei-red-dark)); font-weight:950; }
.eigr-card-head > div { min-width:0; }
.eigr-card-head strong,
.eigr-card-head a,
.eigr-card-head span { display:block; }
.eigr-card-head strong,
.eigr-card-head a { color:var(--ei-dark); font-weight:900; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.eigr-card-head span { margin-top:3px; color:var(--ei-muted); font-size:.78rem; }
.eigr-card-rating { margin-top:16px; }
.eigr-card-rating .eigr-stars span { color:#d7dbe2; }
.eigr-card-rating .eigr-stars .is-filled { color:#fbbc04; }
.eigr-card p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:6; overflow:hidden; margin:16px 0 0; color:#4c5461; line-height:1.68; }
.eigr-review-link { margin-top:auto; padding-top:18px; color:var(--ei-red-dark); font-size:.84rem; font-weight:900; }
.eigr-footer { display:flex; justify-content:space-between; gap:20px; align-items:center; color:var(--ei-muted); font-size:.82rem; }
.eigr-footer a { color:var(--ei-red-dark); font-weight:900; }
.eigr-attribution { color:#5e5e5e; font-family:Roboto,Arial,sans-serif; font-size:12px; font-weight:400; letter-spacing:normal; }
.eigr-attribution a { color:inherit; }
.eigr-fallback { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:28px; border-radius:22px; background:#fff; border:1px solid var(--ei-line); box-shadow:var(--ei-shadow-soft); }
.eigr-fallback p { margin:0; color:var(--ei-muted); }
.eigr-fallback a { flex:0 0 auto; display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:0 18px; border-radius:12px; color:#fff; background:var(--ei-dark); font-weight:900; }

.ei-social-icons { display:flex; gap:9px; margin-top:18px; }
.ei-social-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.11); transition:border-color .18s ease, background .18s ease; }
.ei-social-icon:hover { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.24); }
.ei-social-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ei-social-icon.ei-social-google svg { fill:initial; stroke:none; }
.ei-social-icon.ei-social-instagram { color:#fff; }
.ei-social-icon.ei-social-instagram .fill-dot { fill:currentColor; stroke:none; }
.ei-social-icon.ei-social-facebook { color:#fff; }
.ei-social-icon.ei-social-facebook svg { fill:currentColor; stroke:none; }
.ei-social-section { padding:60px 0; background:var(--ei-dark); color:#fff; }
.ei-social-band { display:grid; grid-template-columns:minmax(0,.78fr) minmax(500px,1.22fr); gap:clamp(34px,5vw,76px); align-items:center; }
.ei-social-band h2 { margin:0; max-width:570px; color:#fff; font-size:clamp(2.2rem,3.8vw,3.65rem); line-height:1.02; letter-spacing:-.055em; }
.ei-social-band p { margin:16px 0 0; color:rgba(255,255,255,.68); line-height:1.7; }
.ei-social-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.ei-social-card { display:flex; align-items:center; gap:13px; min-width:0; padding:18px; border-radius:18px; color:#fff; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.11); }
.ei-social-card:hover { background:rgba(255,255,255,.11); border-color:rgba(255,255,255,.22); }
.ei-social-card-icon { width:42px; height:42px; display:grid; place-items:center; flex:0 0 auto; border-radius:13px; background:rgba(255,255,255,.08); }
.ei-social-card-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; }
.ei-social-card.ei-social-google svg { fill:initial; stroke:none; }
.ei-social-card.ei-social-instagram .fill-dot { fill:currentColor; stroke:none; }
.ei-social-card.ei-social-facebook svg { fill:currentColor; stroke:none; }
.ei-social-card strong,
.ei-social-card small { display:block; }
.ei-social-card strong { color:#fff; font-size:.95rem; }
.ei-social-card small { margin-top:4px; color:rgba(255,255,255,.58); font-size:.75rem; }

@media (max-width:1000px) {
  .ei-reviews-head,
  .ei-social-band { grid-template-columns:1fr; gap:20px; }
  .eigr-grid { grid-template-columns:repeat(2,1fr); }
  .eigr-card:last-child { display:none; }
}

@media (max-width:680px) {
  .ei-reviews-head { margin-bottom:24px; }
  .eigr-summary { align-items:flex-start; flex-direction:column; }
  .eigr-grid { grid-template-columns:1fr; }
  .eigr-card:last-child { display:flex; }
  .eigr-card { min-height:0; }
  .eigr-footer,
  .eigr-fallback { align-items:flex-start; flex-direction:column; }
  .eigr-fallback a { width:100%; }
  .ei-social-section { padding:50px 0; }
  .ei-social-cards { grid-template-columns:1fr; }

  /* Keep the Google Maps pin readable: the address card sits below the map on small screens. */
  .ei-home-map-card,
  .ei-map-card-live { min-height:0; height:auto; overflow:visible; background:transparent; border:0; box-shadow:none; }
  .ei-home-map-frame,
  .ei-map-card-live .ei-map-frame { height:280px; min-height:280px; border-radius:22px; border:1px solid var(--ei-line); box-shadow:var(--ei-shadow-soft); }
  .ei-home-map-overlay { display:none; }
  .ei-home-map-address,
  .ei-map-address-badge { position:static; width:100%; margin-top:12px; transform:none; box-sizing:border-box; }
  .ei-home-map-address { display:grid; }
  .ei-map-address-badge { padding:17px 18px; }
}

/* v2.1 — Google Business empty state */
.eigr-fallback-new-profile { position:relative; overflow:hidden; min-height:210px; background:linear-gradient(135deg,#11151d,#232832 58%,#6d2422); border:0; color:#fff; }
.eigr-fallback-new-profile::after { content:""; position:absolute; width:320px; height:320px; right:-160px; top:-165px; border-radius:50%; background:rgba(235,58,49,.24); }
.eigr-fallback-copy { position:relative; z-index:2; max-width:760px; }
.eigr-fallback-kicker { display:block; margin-bottom:12px; color:#ff8c84; font-size:.72rem; font-weight:950; letter-spacing:.14em; }
.eigr-fallback-copy strong { display:block; color:#fff; font-size:clamp(1.7rem,3vw,2.65rem); line-height:1.05; letter-spacing:-.05em; }
.eigr-fallback-new-profile p { margin-top:14px; color:rgba(255,255,255,.72); line-height:1.65; }
.eigr-fallback-new-profile a { position:relative; z-index:2; color:var(--ei-dark); background:#fff; }
@media (max-width:680px) {
  .eigr-fallback-new-profile { min-height:0; padding:24px; }
}

/* v2.2 — ensure the Google review CTA text remains visible */
body.ei-theme .eigr-fallback-new-profile .eigr-profile-cta {
  color: #111318 !important;
  background: #ffffff;
  border: 1px solid rgba(255,255,255,.84);
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
  text-align: center;
  line-height: 1.2;
}

body.ei-theme .eigr-fallback-new-profile .eigr-profile-cta:hover,
body.ei-theme .eigr-fallback-new-profile .eigr-profile-cta:focus-visible {
  color: #111318 !important;
  background: #f4f6f9;
  border-color: #ffffff;
}

/* v2.4 — Cookiebot trigger anchored to the real mobile CTA position.
   The previous safe-area calculation could be counted twice by iOS browsers
   when their navigation bars expanded or collapsed while scrolling. */
@media (max-width: 680px) {
  #CookiebotWidget {
    position: fixed !important;
    right: 12px !important;
    left: auto !important;
    bottom: var(--ei-cookiebot-bottom, 76px) !important;
    z-index: 75 !important;
  }
}

/* v2.5 — nuova identità visiva Elettroimpianti */
.ei-brand { min-width: 360px; }
.ei-brand-logo-link { display: inline-flex; align-items: center; max-width: 100%; }
.ei-brand-logo-img { display: block; width: auto; height: 62px; max-width: 100%; }
.ei-footer-brand { display: block; margin-bottom: 18px; }
.ei-footer-logo-link { display: inline-flex; max-width: 100%; }
.ei-footer-logo { display: block; width: min(100%, 360px); height: auto; }

@media (max-width: 1180px) {
  .ei-brand { min-width: 290px; }
  .ei-brand-logo-img { height: 56px; }
}

@media (max-width: 680px) {
  .ei-brand { max-width: 74%; }
  .ei-brand-logo-img { width: 100%; height: auto; max-height: 52px; }
  .ei-footer-logo { width: min(100%, 330px); }
}

/* v2.7 — accreditamenti, referenze e pronto intervento */
.ei-credentials-section { background:#fff; }
.ei-credential-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:34px; }
.ei-credential-card { position:relative; overflow:hidden; min-height:245px; padding:34px; border-radius:26px; border:1px solid var(--ei-line); background:linear-gradient(145deg,#fff,#f5f7fa); box-shadow:var(--ei-shadow-soft); }
.ei-credential-card::after { content:""; position:absolute; width:190px; height:190px; right:-80px; top:-90px; border-radius:50%; background:rgba(235,58,49,.09); }
.ei-credential-card > * { position:relative; z-index:2; }
.ei-credential-card > span { display:block; color:var(--ei-red); font-size:.72rem; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
.ei-credential-card h3 { margin:18px 0 14px; max-width:560px; color:var(--ei-dark); font-size:clamp(1.65rem,2.5vw,2.35rem); line-height:1.04; letter-spacing:-.05em; }
.ei-credential-card p { margin:0; max-width:640px; color:var(--ei-muted); line-height:1.72; }
.ei-credential-card-dark { color:#fff; border-color:rgba(255,255,255,.08); background:linear-gradient(135deg,#11151d,#242933 58%,#6d2422); }
.ei-credential-card-dark::after { background:rgba(235,58,49,.22); }
.ei-credential-card-dark h3 { color:#fff; }
.ei-credential-card-dark p { color:rgba(255,255,255,.72); }
.ei-credential-card-dark > span { color:#ff958e; }

.ei-reference-panel { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:clamp(32px,5vw,72px); align-items:start; margin-top:28px; padding:clamp(30px,4vw,52px); border-radius:28px; background:var(--ei-soft); border:1px solid var(--ei-line); }
.ei-reference-copy h3 { margin:12px 0 16px; color:var(--ei-dark); font-size:clamp(2rem,3.6vw,3.2rem); line-height:1.02; letter-spacing:-.055em; }
.ei-reference-copy p { margin:0; color:var(--ei-muted); line-height:1.72; }
.ei-reference-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.ei-reference-list li { min-width:0; padding:18px 19px; border-radius:17px; background:#fff; border:1px solid var(--ei-line); box-shadow:0 10px 26px rgba(17,19,24,.05); }
.ei-reference-list strong,.ei-reference-list span { display:block; }
.ei-reference-list strong { color:var(--ei-dark); font-size:.93rem; line-height:1.35; }
.ei-reference-list span { margin-top:6px; color:var(--ei-muted); font-size:.8rem; line-height:1.4; }
.ei-trademark-note { margin:14px 0 0; color:var(--ei-muted); font-size:.72rem; }

.ei-service-jump .ei-container { flex-wrap:wrap; }
.ei-service-badge { display:inline-flex; margin-bottom:15px; padding:7px 10px; border-radius:999px; color:#fff; background:var(--ei-red); font-size:.66rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
.ei-emergency-service-card { border-color:rgba(235,58,49,.32) !important; background:linear-gradient(145deg,#fff,#fff6f5) !important; }
.ei-inline-cta { display:inline-flex; margin-top:20px; min-height:42px; align-items:center; justify-content:center; padding:0 16px; border-radius:11px; color:#fff; background:var(--ei-dark); font-size:.84rem; font-weight:900; }
.ei-inline-cta:hover { color:#fff; background:#272c35; }
.ei-contact-side-info article.ei-contact-emergency { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1.2fr auto; gap:18px; align-items:center; color:#fff; background:linear-gradient(135deg,#11151d,#242933 58%,#6d2422); border-color:rgba(255,255,255,.08); }
.ei-contact-side-info article.ei-contact-emergency span { color:#ff958e; }
.ei-contact-side-info article.ei-contact-emergency strong { margin-top:0; color:#fff; }
.ei-contact-side-info article.ei-contact-emergency a { margin-top:0; display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:0 14px; border-radius:11px; color:#111318; background:#fff; white-space:nowrap; font-weight:900; }

@media (max-width:1000px) {
  .ei-reference-panel { grid-template-columns:1fr; }
  .ei-contact-side-info article.ei-contact-emergency { grid-template-columns:1fr; }
  .ei-contact-side-info article.ei-contact-emergency a { justify-self:start; }
}

@media (max-width:680px) {
  .ei-credential-cards,.ei-reference-list { grid-template-columns:1fr; }
  .ei-credential-card { min-height:0; padding:26px; }
  .ei-reference-panel { padding:24px; }
  .ei-contact-side-info article.ei-contact-emergency a { width:100%; justify-self:stretch; }
}

/* v2.9 — pronto intervento e navigazione sticky dei servizi */
:root {
  --ei-site-header-height: 88px;
  --ei-service-jump-height: 66px;
}

/* CTA leggibile anche rispetto alla regola globale body.ei-theme a */
body.ei-theme .ei-emergency-service-card .ei-inline-cta {
  color: #fff !important;
  background: var(--ei-dark) !important;
  border: 1px solid var(--ei-dark);
  box-shadow: 0 12px 24px rgba(16, 18, 24, .16);
}
body.ei-theme .ei-emergency-service-card .ei-inline-cta:hover,
body.ei-theme .ei-emergency-service-card .ei-inline-cta:focus-visible {
  color: #fff !important;
  background: #272c35 !important;
  border-color: #272c35;
}

/* Il menu delle categorie rimane sempre sotto l'header sticky. */
.ei-service-jump {
  top: calc(var(--ei-sticky-offset) + var(--ei-site-header-height));
  z-index: 46;
  box-shadow: 0 10px 26px rgba(16, 18, 24, .06);
}
.ei-service-jump .ei-container {
  flex-wrap: nowrap;
  scroll-behavior: smooth;
  scroll-padding-inline: 24px;
}
.ei-service-jump a {
  position: relative;
  flex: 0 0 auto;
}
.ei-service-jump a.is-active {
  color: #fff !important;
  background: var(--ei-dark);
  border-color: var(--ei-dark);
  box-shadow: inset 0 -3px 0 var(--ei-red), 0 8px 20px rgba(16, 18, 24, .14);
}
.ei-service-jump a.is-active::after {
  content: none;
  display: none;
}

.ei-service-category {
  scroll-margin-top: calc(var(--ei-sticky-offset) + var(--ei-site-header-height) + var(--ei-service-jump-height) + 20px);
}

@media (max-width: 680px) {
  .ei-service-jump {
    top: calc(var(--ei-sticky-offset) + var(--ei-site-header-height));
  }
  .ei-service-category {
    scroll-margin-top: calc(var(--ei-sticky-offset) + var(--ei-site-header-height) + var(--ei-service-jump-height) + 14px);
  }
}

/* v2.11 — feedback hover solo sugli elementi realmente interattivi */
/*
 * Le card informative restano visivamente stabili: niente bordo rosso,
 * sollevamento o cambio ombra al passaggio del mouse. In questo modo
 * non sembrano pulsanti o link quando non lo sono.
 */
.ei-service-detail-grid article,
.ei-values-grid article,
.ei-contact-methods article,
.ei-step,
.ei-detail-card,
.ei-credential-card,
.ei-reference-list li {
  cursor: default;
  transition: none;
}

.ei-service-detail-grid article:hover,
.ei-values-grid article:hover,
.ei-contact-methods article:hover,
.ei-step:hover,
.ei-detail-card:hover,
.ei-credential-card:hover,
.ei-reference-list li:hover {
  transform: none;
  border-color: var(--ei-line);
  box-shadow: var(--ei-shadow-soft);
}

/* Le eccezioni con enfasi visiva permanente conservano il proprio bordo. */
.ei-service-detail-grid article.ei-emergency-service-card,
.ei-service-detail-grid article.ei-emergency-service-card:hover {
  border-color: rgba(235,58,49,.32) !important;
  box-shadow: var(--ei-shadow-soft);
}

/* Hover mantenuto solo per card che sono interamente link/cliccabili. */
@media (hover: hover) and (pointer: fine) {
  a.ei-service-card:hover,
  a.ei-service-card:focus-visible {
    border-color: rgba(216,58,50,.34);
    box-shadow: 0 20px 52px rgba(17,19,24,.12);
  }
}

/* v2.13: stable deep links from Home to individual Services cards. */
.ei-service-detail-grid article[id] {
  scroll-margin-top: calc(var(--ei-sticky-offset) + var(--ei-site-header-height) + var(--ei-service-jump-height) + 20px);
}


/* v2.17 — quick actions desktop, con form rapido Home invariato */
:root {
  /* Safe first-paint position: Cookiebot loads asynchronously. */
  --ei-desktop-dock-bottom: 104px;
  --ei-cookiebot-right: 23px;
}

.ei-desktop-quick-actions {
  position: fixed;
  z-index: 72;
  right: 20px;
  bottom: var(--ei-desktop-dock-bottom);
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(17, 19, 24, .10);
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 48px rgba(17, 19, 24, .18);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(12px);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease, bottom .18s ease;
}

.ei-desktop-quick-actions.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

.ei-desktop-quick-action {
  position: relative;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  color: #fff !important;
  background: var(--ei-dark);
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 8px 22px rgba(17, 19, 24, .16);
  outline: none;
  transition: background-color .18s ease, box-shadow .18s ease, outline-color .18s ease;
}

.ei-desktop-quick-action svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ei-desktop-quick-whatsapp {
  background: #157347;
}

.ei-desktop-quick-whatsapp svg {
  fill: currentColor;
  stroke: none;
}

.ei-desktop-quick-quote {
  background: var(--ei-red);
}

.ei-desktop-quick-label {
  position: absolute;
  top: 50%;
  right: calc(100% + 12px);
  min-width: max-content;
  padding: 8px 11px;
  border-radius: 9px;
  color: #fff;
  background: var(--ei-dark);
  box-shadow: 0 10px 28px rgba(17, 19, 24, .18);
  font-size: .76rem;
  font-weight: 900;
  line-height: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(5px, -50%);
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}

.ei-desktop-quick-label::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  border: 5px solid transparent;
  border-left-color: var(--ei-dark);
  transform: translateY(-50%);
}

.ei-desktop-quick-action:hover,
.ei-desktop-quick-action:focus-visible {
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(17, 19, 24, .24);
  outline: 3px solid rgba(216, 58, 50, .18);
  outline-offset: 2px;
}

.ei-desktop-quick-phone:hover,
.ei-desktop-quick-phone:focus-visible {
  background: #272c35;
}

.ei-desktop-quick-whatsapp:hover,
.ei-desktop-quick-whatsapp:focus-visible {
  background: #0f633b;
}

.ei-desktop-quick-quote:hover,
.ei-desktop-quick-quote:focus-visible {
  background: var(--ei-red-dark);
}

.ei-desktop-quick-action:hover .ei-desktop-quick-label,
.ei-desktop-quick-action:focus-visible .ei-desktop-quick-label {
  opacity: 1;
  visibility: visible;
  transform: translate(0, -50%);
}

@media (max-width: 1000px) {
  .ei-desktop-quick-actions {
    display: none !important;
  }
}


/* v2.18.1 — keep Cookiebot centered below the desktop dock from first paint. */
@media (min-width: 1001px) {
  #CookiebotWidget {
    right: var(--ei-cookiebot-right, 23px) !important;
    left: auto !important;
  }
}


/* v2.18 — orari e call-to-action telefoniche premium */
.ei-call-cta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 11px;
  text-align: left;
  line-height: 1.05;
}

.ei-call-cta-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1.5px solid currentColor;
  border-radius: 13px;
  opacity: .96;
}

.ei-call-cta-icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ei-call-cta-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.ei-call-cta-copy small,
.ei-call-cta-copy strong,
.ei-call-cta-copy em {
  display: block;
  margin: 0;
  color: inherit;
  white-space: nowrap;
}

.ei-call-cta-copy small {
  font-size: .69rem;
  font-weight: 650;
  letter-spacing: .035em;
  opacity: .72;
}

.ei-call-cta-copy strong {
  font-size: .9rem;
  font-style: normal;
  font-weight: 950;
}

.ei-call-cta-copy em {
  font-size: .62rem;
  font-style: normal;
  opacity: .68;
}

.ei-header-cta.ei-call-cta {
  display: inline-flex;
  min-width: 178px;
  padding: 8px 15px 8px 9px;
  border-radius: 17px;
  box-shadow: 0 10px 24px rgba(16,18,24,.14);
}

.ei-header-cta .ei-call-cta-icon {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
  border-color: rgba(255,255,255,.88);
}

.ei-header-cta .ei-call-cta-copy small {
  color: rgba(255,255,255,.68);
}

.ei-header-cta .ei-call-cta-copy strong {
  margin: 0;
  font-size: .88rem;
}

.ei-button.ei-call-cta {
  min-height: 60px;
  padding: 8px 19px 8px 9px;
}

.ei-call-cta-compact {
  min-height: 48px !important;
  padding: 6px 14px 6px 7px !important;
  border-radius: 13px !important;
}

.ei-call-cta-compact .ei-call-cta-icon {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
  border-radius: 10px;
}

.ei-call-cta-compact .ei-call-cta-icon svg {
  width: 24px;
  height: 24px;
}

.ei-call-cta-compact .ei-call-cta-copy small {
  font-size: .62rem;
}

.ei-call-cta-compact .ei-call-cta-copy strong {
  font-size: .79rem;
}

body.ei-theme .ei-contact-emergency .ei-call-cta-light {
  color: var(--ei-dark) !important;
}

.ei-contact-quick-hours {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.62);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: none;
}

.ei-contact-info-note,
.ei-detail-hours,
.ei-contact-method-hours {
  display: block;
  margin-top: 8px;
  color: var(--ei-muted);
  font-size: .76rem;
  line-height: 1.45;
}

.ei-contact-hours {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(180px,1fr) auto;
  gap: 8px 22px;
  align-items: center;
  background: #fff !important;
}

.ei-contact-hours > span {
  grid-column: 1 / -1;
}

.ei-hours-row {
  display: contents;
}

.ei-contact-hours .ei-hours-row strong,
.ei-contact-hours .ei-hours-row b {
  margin: 0;
  color: var(--ei-dark);
  font-size: .96rem;
  line-height: 1.3;
}

.ei-contact-hours .ei-hours-row b {
  justify-self: end;
  font-variant-numeric: tabular-nums;
}

.ei-contact-hours > small {
  grid-column: 1 / -1;
  color: var(--ei-muted);
  font-size: .78rem;
}

.ei-footer-hours {
  display: grid;
  gap: 2px;
  margin: 13px 0 14px !important;
}

.ei-footer-hours span {
  color: rgba(255,255,255,.54);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.ei-footer-hours strong {
  color: #fff;
  font-size: .84rem;
}

.ei-footer-hours small {
  color: rgba(255,255,255,.58);
  font-size: .75rem;
}

@media (max-width: 1180px) {
  .ei-header-cta.ei-call-cta {
    min-width: 162px;
  }
}

@media (max-width: 680px) {
  .ei-button.ei-call-cta {
    justify-content: center;
  }

  .ei-contact-hours {
    grid-template-columns: 1fr auto;
  }
}


/* v2.18.2 — handset-only call buttons outside the sticky header */
.ei-call-simple-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  font-weight: 950;
  line-height: 1;
}

.ei-call-simple-icon {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  color: inherit;
}

.ei-call-simple-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ei-call-simple-label {
  display: block;
  color: inherit;
  white-space: nowrap;
}

.ei-button.ei-call-simple-cta {
  min-height: 60px;
  padding: 0 22px;
}

.ei-call-simple-cta-compact {
  min-height: 46px !important;
  padding: 0 16px !important;
  border-radius: 13px !important;
}

.ei-call-simple-cta-compact .ei-call-simple-icon {
  width: 21px;
  height: 21px;
  flex-basis: 21px;
}

.ei-call-simple-cta-compact .ei-call-simple-icon svg {
  width: 20px;
  height: 20px;
}

body.ei-theme .ei-contact-emergency .ei-call-simple-cta-light {
  color: var(--ei-dark) !important;
}


/* v2.18.4 — pronto intervento telefonico H24 e accenti WhatsApp coerenti */
.ei-emergency-call-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 9px 16px !important;
  border-radius: 13px;
  color: #fff !important;
  background: var(--ei-dark) !important;
  border: 1px solid var(--ei-dark) !important;
  box-shadow: 0 12px 28px rgba(17,19,24,.18) !important;
  line-height: 1.05;
}

.ei-emergency-call-cta:hover,
.ei-emergency-call-cta:focus-visible {
  color: #fff !important;
  background: #272c35 !important;
  border-color: #272c35 !important;
}

.ei-emergency-call-cta .ei-call-simple-icon {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  color: currentColor;
}

.ei-emergency-call-cta .ei-call-simple-icon svg {
  width: 24px;
  height: 24px;
}

.ei-emergency-call-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-width: 0;
}

.ei-emergency-call-copy strong,
.ei-emergency-call-copy small {
  display: block;
  margin: 0;
  color: inherit !important;
  white-space: nowrap;
}

.ei-emergency-call-copy strong {
  font-size: .84rem;
  font-weight: 950;
}

.ei-emergency-call-copy small {
  font-size: .72rem;
  font-weight: 750;
  opacity: .88;
}

body.ei-theme .ei-contact-side-info article.ei-contact-emergency .ei-emergency-call-cta-light {
  color: var(--ei-dark) !important;
  background: #fff !important;
  border-color: #fff !important;
}

body.ei-theme .ei-contact-side-info article.ei-contact-emergency .ei-emergency-call-cta-light:hover,
body.ei-theme .ei-contact-side-info article.ei-contact-emergency .ei-emergency-call-cta-light:focus-visible {
  color: var(--ei-dark) !important;
  background: #f4f6f9 !important;
  border-color: #f4f6f9 !important;
}

/* Un richiamo verde discreto identifica tutti i link e pulsanti WhatsApp. */
a.ei-whatsapp-accent {
  --ei-whatsapp-green: #25d366;
  --ei-whatsapp-green-dark: #157347;
  position: relative;
}

/* Pulsanti testuali nelle CTA: bordo e indicatore verde, senza stravolgere il tema. */
.ei-button.ei-whatsapp-accent {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border-color: rgba(37,211,102,.58) !important;
  box-shadow: inset 0 -3px 0 rgba(37,211,102,.78);
}

.ei-button.ei-whatsapp-accent::before,
.ei-contact-methods a.ei-whatsapp-accent::before,
.ei-footer a.ei-whatsapp-accent::before {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ei-whatsapp-green);
  box-shadow: 0 0 0 4px rgba(37,211,102,.13);
}

.ei-button-ghost-dark.ei-whatsapp-accent {
  color: var(--ei-dark) !important;
  background: #f3fbf6 !important;
}

.ei-button-outline-light.ei-whatsapp-accent {
  color: #fff !important;
  background: rgba(37,211,102,.08) !important;
}

.ei-button-outline-light.ei-whatsapp-accent:hover,
.ei-button-outline-light.ei-whatsapp-accent:focus-visible {
  background: rgba(37,211,102,.16) !important;
  border-color: rgba(37,211,102,.82) !important;
}

/* Card WhatsApp nei contatti: bordo inferiore verde e copy invariato. */
.ei-contact-quick-grid a.ei-whatsapp-accent {
  border-color: rgba(37,211,102,.38);
  box-shadow: inset 0 -3px 0 rgba(37,211,102,.72);
}

.ei-contact-quick-grid a.ei-whatsapp-accent span {
  color: #72e6a0;
}

.ei-contact-methods a.ei-whatsapp-accent {
  align-items: center;
  gap: 9px;
  color: var(--ei-whatsapp-green-dark);
}

.ei-footer a.ei-whatsapp-accent {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #67df98;
}

/* Il dock desktop e la barra mobile restano pienamente riconoscibili come WhatsApp. */
.ei-desktop-quick-whatsapp.ei-whatsapp-accent {
  background: var(--ei-whatsapp-green-dark);
  border-color: rgba(255,255,255,.16);
}

.ei-desktop-quick-whatsapp.ei-whatsapp-accent::before,
.ei-mobile-actions a.ei-whatsapp-accent::before {
  content: none;
}

.ei-mobile-actions a.ei-whatsapp-accent {
  background: #eaf8ef;
  color: #176a3f;
  box-shadow: inset 0 -3px 0 rgba(37,211,102,.55);
}

@media (max-width: 680px) {
  .ei-emergency-call-cta {
    width: 100%;
  }
}


/* v2.18.5 — hide the sticky-header call CTA on tablet and mobile.
   The bottom mobile action bar remains the only phone CTA on small screens. */
@media (max-width: 1000px) {
  .ei-site-header .ei-header-cta.ei-call-cta.ei-call-cta-header {
    display: none !important;
  }
}


/* v2.18.6 — mobile quick actions in Italian-flag order: WhatsApp, Call, Quote */
@media (max-width: 680px) {
  .ei-mobile-actions a.ei-mobile-whatsapp { background:#eaf8ef !important; color:#176a3f !important; }
  .ei-mobile-actions a.ei-mobile-call { background:#fff !important; color:var(--ei-dark) !important; border:1px solid rgba(17,19,24,.10); }
  .ei-mobile-actions a.ei-mobile-quote { background:var(--ei-red) !important; color:#fff !important; }
}
