/* ============ EE-Pulse Website — Shared Styles ============ */
:root{
  --paper:#fbfaf6; --card:#ffffff; --panel:#f4f2ec;
  --ink:#12120f; --ink-2:#54524b; --muted:#8b887e;
  --line:#e6e3d9; --line-strong:#c9c5b8;
  --blue:#2a78d6; --blue-deep:#1c5cab; --blue-ink:#123c73; --blue-wash:#eaf2fc;
  --signal:#ff8a00; --signal-btn:#f57600; --signal-deep:#d96800; --signal-wash:#fff0e0; --signal-ink:#7a4200;
  --red:#d03b3b; --red-wash:#fdf0ee; --green:#0f8a0f; --green-wash:#eefaee;
  --grid-c:rgba(42,120,214,.07);
  --font:"Quattrocento Sans",Verdana,system-ui,sans-serif;
  --radius:14px;
  --shadow:0 1px 2px rgba(18,18,15,.05),0 12px 32px -12px rgba(18,18,15,.14);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);background:var(--paper);color:var(--ink);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;}
::selection{background:var(--blue);color:#fff;}
h1,h2,h3,h4{font-weight:700;line-height:1.14;letter-spacing:-.01em;}
a{color:inherit;text-decoration:none;}
img,svg{max-width:100%;display:block;}
.mono{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-deep);font-weight:700;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

/* millimeter grid backdrop */
.mm{position:relative;}
.mm::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(var(--grid-c) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-c) 1px,transparent 1px),
    linear-gradient(rgba(42,120,214,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(42,120,214,.045) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px;
  mask-image:linear-gradient(to bottom,#000 60%,transparent);}
.mm>*{position:relative;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.95rem;padding:13px 24px;border-radius:999px;border:2px solid transparent;transition:transform .15s, box-shadow .2s, background .2s,color .2s,border-color .2s;cursor:pointer;font-family:var(--font);}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--signal-btn);color:#fff;box-shadow:0 6px 18px -6px rgba(224,117,0,.55);}
.btn-primary:hover{background:var(--signal-deep);color:#fff;box-shadow:0 10px 26px -8px rgba(224,117,0,.6);}
.btn-blue{background:var(--blue);color:#fff;}
.btn-blue:hover{background:var(--blue-deep);}
.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:transparent;}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue-deep);}

/* ---------- header & megamenu ---------- */
header{position:sticky;top:0;z-index:90;background:
  linear-gradient(90deg, rgba(42,120,214,.12) 0%, rgba(251,250,246,0) 42%, rgba(255,138,0,.13) 100%),
  rgba(251,250,246,.92);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s, box-shadow .3s;}
header.scrolled{border-color:var(--line);box-shadow:0 4px 24px -12px rgba(18,18,15,.12);}
.nav{display:flex;align-items:center;gap:8px;height:76px;}
.logo{font-weight:700;font-size:1.78rem;letter-spacing:-.02em;margin-right:26px;display:inline-flex;flex-direction:column;line-height:1.02;}
.logo .lw{display:block;}
.logo .ee{color:var(--blue);}
.logo .lpulse{width:100%;height:10px;margin-top:3px;}
.logo .lpulse .run{stroke-dasharray:26 74;animation:lpulse-run 2.8s linear infinite;}
@keyframes lpulse-run{to{stroke-dashoffset:-100;}}
.nav-links{display:flex;align-items:stretch;gap:6px;font-size:1.12rem;font-weight:700;color:var(--ink-2);height:76px;}
.nav-links>li{list-style:none;position:relative;display:flex;align-items:center;}
.nav-links>li>a{display:flex;align-items:center;gap:7px;padding:10px 14px;border-radius:10px;transition:background .2s,color .2s;}
.nav-links>li>a:hover,.nav-links>li.open>a,.nav-links>li>a.active{background:var(--blue-wash);color:var(--blue-deep);}
.nav-links .caret{display:inline-flex;align-items:center;transition:transform .25s;}
.nav-links .caret svg{display:block;}
.nav-links li.open .caret{transform:rotate(180deg);}
.nav .btn{margin-left:auto;padding:10px 20px;font-size:.9rem;}

.mega{position:fixed;left:0;right:0;top:76px;background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(18,18,15,.35);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .18s .15s,transform .18s .15s,visibility .18s .15s;}
li.open>.mega,li:hover>.mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s;}
.mega-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:320px 1fr;}
.mega-side{background:linear-gradient(160deg,var(--blue-wash),#fff 70%);border-right:1px solid var(--line);padding:26px;display:flex;flex-direction:column;gap:14px;}
.mega-side .illu{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--card);}
.mega-side h4{font-size:1.02rem;}
.mega-side p{font-size:.84rem;color:var(--ink-2);line-height:1.5;}
.mega-side a{color:var(--blue-deep);font-weight:700;font-size:.86rem;}
.mega-items{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:4px;align-content:start;}
.mega-items a{display:block;padding:12px 14px;border-radius:12px;transition:background .18s;}
.mega-items a:hover{background:var(--panel);}
.mega-items .t{font-weight:700;font-size:.93rem;color:var(--ink);display:flex;gap:8px;align-items:center;}
.mega-items .t .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);flex:0 0 auto;}
.mega-items .d{font-size:.8rem;color:var(--muted);line-height:1.45;margin-top:2px;}

/* ---------- hero ---------- */
.hero{padding:74px 0 54px;overflow:hidden;background:
  radial-gradient(58% 85% at 88% 6%, rgba(255,138,0,.16), transparent 62%),
  radial-gradient(72% 95% at 8% 18%, rgba(42,120,214,.13), transparent 58%),
  linear-gradient(180deg,#eef4fc 0%, var(--paper) 82%);}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem);margin:16px 0 20px;}
.hero h1 em{font-style:normal;color:var(--blue);position:relative;white-space:nowrap;}
.hero h1 em svg{position:absolute;left:0;right:0;bottom:-6px;width:100%;height:14px;}
.hero p.sub{font-size:1.14rem;color:var(--ink-2);max-width:33em;margin-bottom:28px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:28px;}
.trustline{display:flex;gap:20px;flex-wrap:wrap;font-size:.86rem;color:var(--ink-2);}
.trustline b{color:var(--ink);}
.trustline span::before{content:"✓";color:var(--green);font-weight:700;margin-right:7px;}

/* page hero (subpages) */
.page-hero{padding:56px 0 44px;}
.crumbs{font-size:.8rem;color:var(--muted);margin-bottom:16px;}
.crumbs a:hover{color:var(--blue-deep);}
.page-hero h1{font-size:clamp(2rem,4vw,3rem);margin:12px 0 16px;max-width:20em;}
.page-hero .sub{font-size:1.12rem;color:var(--ink-2);max-width:38em;}
.facts{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.fact{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:.85rem;color:var(--ink-2);}
.fact b{color:var(--ink);}
.fact.warn{background:var(--red-wash);border-color:rgba(208,59,59,.3);}
.fact.go{background:var(--signal-wash);border-color:rgba(224,117,0,.4);}

/* ---------- dashboard mock ---------- */
.mock{position:relative;}
.mock .window{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;transform:rotate(.6deg);}
.mock .winbar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--panel);}
.mock .winbar i{width:9px;height:9px;border-radius:50%;background:var(--line-strong);}
.mock .winbar .url{margin-left:10px;font-size:.72rem;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:3px 12px;}
.mock .body{padding:18px 20px 20px;}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;}
.kpi{border:1px solid var(--line);border-radius:12px;padding:10px 13px;background:var(--card);}
.kpi .l{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.kpi .v{font-weight:700;font-size:1.28rem;margin-top:2px;}
.kpi .v.blue{color:var(--blue-deep);}
.kpi .d{font-size:.7rem;font-weight:700;color:var(--green);}
.kpi .d.bad{color:var(--red);}
.chart{border:1px solid var(--line);border-radius:12px;padding:12px 14px 8px;}
.chart .cl{display:flex;justify-content:space-between;font-size:.78rem;font-weight:700;margin-bottom:6px;}
.chart .cl span{font-size:.64rem;color:var(--muted);font-weight:400;letter-spacing:.08em;}
.alertchip{position:absolute;right:-14px;top:38%;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;box-shadow:var(--shadow);padding:12px 16px;max-width:250px;transform:rotate(-1.2deg);animation:float 5s ease-in-out infinite;}
.alertchip .t{display:flex;gap:7px;align-items:center;font-size:.76rem;font-weight:700;margin-bottom:3px;}
.alertchip .t i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:ping 1.6s infinite;}
.alertchip p{font-size:.76rem;color:var(--ink-2);line-height:1.45;}
.savechip{position:absolute;left:-10px;bottom:-16px;background:var(--green-wash);border:1px solid rgba(15,138,15,.25);border-radius:12px;box-shadow:var(--shadow);padding:10px 16px;font-size:.8rem;transform:rotate(1deg);}
.savechip b{color:var(--green);}
@keyframes float{0%,100%{transform:rotate(-1.2deg) translateY(0)}50%{transform:rotate(-1.2deg) translateY(-7px)}}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(208,59,59,.45)}70%{box-shadow:0 0 0 9px rgba(208,59,59,0)}100%{box-shadow:0 0 0 0 rgba(208,59,59,0)}}
.pulse-path{stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 2.4s .3s cubic-bezier(.6,0,.2,1) forwards;}
@keyframes draw{to{stroke-dashoffset:0;}}

/* ---------- bands & sections ---------- */
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);}
.band .wrap{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:30px 20px;text-align:center;border-left:1px solid var(--line);}
.stat:first-child{border-left:0;}
.stat .n{font-weight:700;font-size:2rem;color:var(--blue-deep);}
.stat .t{font-size:.86rem;color:var(--ink-2);margin-top:2px;}
section{padding:88px 0;}
.sec-head{max-width:740px;margin-bottom:48px;}
.sec-head h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin:14px 0 14px;}
.sec-head p{color:var(--ink-2);font-size:1.08rem;}
.sec-head .more{display:inline-block;margin-top:14px;font-weight:700;color:var(--blue-deep);}
.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

/* ---------- cards ---------- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:transform .2s, box-shadow .25s,border-color .25s;}
a.card:hover,.card.hov:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong);}
.card h3{font-size:1.13rem;margin:14px 0 10px;}
.card p{font-size:.95rem;color:var(--ink-2);}
.card ul{margin:10px 0 0 20px;color:var(--ink-2);font-size:.95rem;display:grid;gap:6px;}
.badge-num{font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--blue-deep);background:var(--blue-wash);border:1px solid rgba(42,120,214,.25);border-radius:999px;padding:4px 12px;display:inline-block;}
.badge-sig{font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--signal-ink);background:var(--signal-wash);border:1px solid rgba(224,117,0,.4);border-radius:999px;padding:4px 12px;display:inline-block;}
.illu-top{border-radius:12px;overflow:hidden;border:1px solid var(--line);margin-bottom:6px;background:linear-gradient(150deg,var(--blue-wash),#fff);}
.arrow-link{font-weight:700;color:var(--blue-deep);font-size:.92rem;display:inline-block;margin-top:12px;}

/* ---------- pricing ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;}
.tier{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:32px 30px;display:flex;flex-direction:column;position:relative;}
.tier.best{border:2.5px solid var(--signal);box-shadow:0 24px 48px -24px rgba(224,117,0,.45);transform:scale(1.03);background:linear-gradient(175deg,var(--signal-wash) 0%,var(--card) 34%);}
.tier .tname{font-weight:700;font-size:1.15rem;}
.tier .tprice{font-weight:700;font-size:2.6rem;margin:10px 0 2px;letter-spacing:-.02em;color:var(--blue-deep);}
.tier .tprice .permo{font-size:1.05rem;font-weight:700;color:var(--muted);margin-left:5px;}
.tier .tper{font-size:.82rem;color:var(--muted);margin-bottom:20px;}
.tier ul{list-style:none;display:grid;gap:10px;font-size:.93rem;flex:1;margin-bottom:26px;}
.tier li{padding-left:26px;position:relative;color:var(--ink-2);}
.tier li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700;}
.tier .btn{justify-content:center;}
.best-flag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--signal);color:var(--ink);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 16px;border-radius:999px;}
.fineprint{font-size:.8rem;color:var(--muted);margin-top:18px;}

/* ---------- tables / accordion ---------- */
.versus{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);}
.versus table{width:100%;border-collapse:collapse;font-size:.93rem;min-width:760px;}
.versus th{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:16px 20px;border-bottom:2px solid var(--line);}
.versus td{padding:16px 20px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top;}
.versus tr:last-child td{border-bottom:0;}
.versus td:first-child{font-weight:700;color:var(--ink);white-space:nowrap;}
.versus td:last-child{background:var(--blue-wash);color:var(--blue-ink);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:18px 4px;font-weight:700;font-size:1.02rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .chev{color:var(--signal-deep);font-weight:700;transition:transform .25s;}
.faq details[open] summary .chev{transform:rotate(45deg);}
.faq .body{padding:0 4px 20px;color:var(--ink-2);font-size:.96rem;max-width:58em;}

/* ---------- content blocks (LP) ---------- */
.lp-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start;}
.checklist{list-style:none;display:grid;gap:12px;margin-top:16px;}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-size:.98rem;color:var(--ink-2);}
.checklist li .ic{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--green-wash);color:var(--green);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;margin-top:3px;}
.checklist li b{color:var(--ink);}
.callout{border-left:4px solid var(--signal);background:var(--signal-wash);border-radius:0 12px 12px 0;padding:18px 22px;font-size:.96rem;color:var(--ink-2);}
.callout b{color:var(--ink);}

/* compatibility chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{border:1px solid var(--line-strong);background:var(--card);border-radius:999px;padding:8px 18px;font-size:.86rem;font-weight:700;color:var(--ink-2);}
.chip.proto{background:var(--blue-wash);border-color:rgba(42,120,214,.3);color:var(--blue-deep);}
.compat{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:36px 40px;display:grid;grid-template-columns:1.05fr 1.4fr;gap:36px;align-items:center;}
.compat h3{font-size:1.35rem;margin:10px 0 10px;}
.compat p{color:var(--ink-2);font-size:.97rem;}
.compat .steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;font-size:.86rem;font-weight:700;color:var(--blue-deep);}
.compat .steps span{background:var(--blue-wash);border-radius:999px;padding:7px 15px;}
@media(max-width:980px){.compat{grid-template-columns:1fr;padding:28px;}}

/* ---------- CTA final ---------- */
.cta-final{background:linear-gradient(160deg,var(--blue-wash),#fff 80%);border:1px solid var(--line);color:var(--ink);border-radius:26px;padding:64px;position:relative;overflow:hidden;}
.cta-final::before{content:"";position:absolute;inset:0;background:
  linear-gradient(rgba(42,120,214,.1) 1px,transparent 1px),
  linear-gradient(90deg,rgba(42,120,214,.1) 1px,transparent 1px);
  background-size:26px 26px;mask-image:radial-gradient(70% 90% at 75% 15%,#000,transparent);}
.cta-final>*{position:relative;}
.cta-final h2{font-size:clamp(1.8rem,3.2vw,2.6rem);max-width:16em;}
.cta-final p{color:var(--ink-2);max-width:36em;margin:16px 0 26px;}
.cta-final ol{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:34px 0 38px;counter-reset:step;list-style:none;}
.cta-final ol li{counter-increment:step;font-size:.93rem;color:var(--ink-2);padding-top:14px;border-top:2px solid rgba(42,120,214,.25);}
.cta-final ol li::before{content:"0" counter(step);color:var(--signal-deep);display:block;font-size:.78rem;font-weight:700;letter-spacing:.16em;margin-bottom:8px;}
.cta-final b{color:var(--ink);}

/* rating */
.rating-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:var(--shadow);text-align:center;transform:rotate(-.8deg);}
.rating-card .stars{color:var(--signal);font-size:1.6rem;letter-spacing:4px;}
.rating-card .big{font-weight:700;font-size:3.2rem;}
.rating-card p{color:var(--ink-2);font-size:.92rem;}
.rating-card .divider{height:1px;background:var(--line);margin:22px 0;}
.cert-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.cert{font-size:.7rem;font-weight:700;letter-spacing:.08em;border:1px solid var(--line-strong);border-radius:999px;padding:6px 14px;color:var(--ink-2);}

/* ---------- footer ---------- */
footer{padding:56px 0 40px;color:var(--muted);font-size:.9rem;background:var(--card);border-top:1px solid var(--line);}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px;}
footer h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px;}
footer ul{list-style:none;display:grid;gap:8px;}
footer a:hover{color:var(--blue-deep);}
footer .legal{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1);}
.rv.in{opacity:1;transform:none;}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}

@media(max-width:980px){
  .hero-grid,.lp-grid{grid-template-columns:1fr;gap:40px;}
  .cards3,.cards2,.cards4,.tiers{grid-template-columns:1fr;}
  .band .wrap{grid-template-columns:1fr 1fr;}
  .stat:nth-child(3){border-left:0;}
  .nav-links{display:none;}
  .cta-final{padding:44px 28px;}
  .cta-final ol{grid-template-columns:1fr;}
  footer .cols{grid-template-columns:1fr 1fr;}
  .alertchip{position:static;transform:none;margin-top:14px;max-width:none;}
  .savechip{position:static;transform:none;display:inline-block;margin-top:10px;}
  .tier.best{transform:none;}
}
