/* Elefair Tech Pages - SaaS design system. Every rule is scoped under .efx */
.efx{
  --bg:#F6F7FB; --surface:#FFFFFF; --ink:#0B1220; --text:#334155; --muted:#64748B; --line:#E5E8F0;
  --brand:#1A6FC0; --brand-600:#155A9E; --brand-2:#2B5DAA; --cyan:#15AAE1; --soft:#E8F3FC;
  --dark:#0A0F1F; --dark-2:#111833;
  --ok:#047857; --err:#B42318; --warn:#B45309;
  --grad:linear-gradient(135deg,#2B5DAA 0%,#0B84CF 55%,#15AAE1 110%);
  --sh-sm:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
  --sh:0 12px 32px -12px rgba(16,24,40,.18),0 2px 6px rgba(16,24,40,.04);
  --sh-lg:0 40px 80px -24px rgba(10,30,60,.45);
  --r:16px; --r-sm:10px;
  --head:"Plus Jakarta Sans","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-family:var(--body); font-size:16px; line-height:1.6; color:var(--text); background:var(--surface);
  -webkit-font-smoothing:antialiased; text-align:left;
  width:100%; max-width:100%; position:relative; overflow-x:clip;
}
.efx *,.efx *::before,.efx *::after{box-sizing:border-box}
.efx [hidden]{display:none !important}
.efx p,.efx ul,.efx ol,.efx dl,.efx h1,.efx h2,.efx h3{margin:0}
.efx h1,.efx h2,.efx h3{font-family:var(--head); color:var(--ink); line-height:1.15; letter-spacing:-.02em; text-transform:none; font-weight:700}
.efx a{color:var(--brand); text-decoration:none}
.efx a:hover{color:var(--brand-600); text-decoration:underline; text-underline-offset:3px}
.efx :focus-visible{outline:3px solid rgba(26,111,192,.55); outline-offset:2px; border-radius:6px}
.efx-wrap{max-width:1200px; margin:0 auto; padding:0 24px; position:relative}
.efx-hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden}
.efx .efx-i{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none}

/* Buttons */
.efx .efx-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:11px 20px;
  border-radius:10px; border:1px solid transparent; font:600 15px/1.2 var(--body); cursor:pointer; text-decoration:none;
  white-space:nowrap; transition:transform .15s ease, box-shadow .15s ease, background .15s ease}
.efx .efx-btn:hover{text-decoration:none; transform:translateY(-1px)}
.efx .efx-btn-sm{min-height:38px; padding:8px 14px; font-size:14px; border-radius:9px}
.efx .efx-btn-lg{min-height:52px; padding:14px 26px; font-size:16px; border-radius:12px}
.efx .efx-btn-block{width:100%}
.efx .efx-btn-primary{background:var(--brand); color:#fff; box-shadow:0 8px 20px -8px rgba(26,111,192,.7), inset 0 1px 0 rgba(255,255,255,.18)}
.efx .efx-btn-primary:hover{background:var(--brand-600); color:#fff}
.efx .efx-btn-outline{background:#fff; color:var(--ink); border-color:#D0D5DD; box-shadow:var(--sh-sm)}
.efx .efx-btn-outline:hover{border-color:var(--brand); color:var(--brand)}
.efx .efx-btn-glass{background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.2); backdrop-filter:blur(8px)}
.efx .efx-btn-glass:hover{background:rgba(255,255,255,.16); color:#fff}
.efx .efx-btn-white{background:#fff; color:var(--brand-600)}
.efx .efx-btn-white:hover{color:var(--brand-600); box-shadow:0 10px 30px -10px rgba(0,0,0,.4)}
@media (prefers-reduced-motion:reduce){.efx .efx-btn,.efx .efx-card{transition:none}.efx .efx-btn:hover,.efx .efx-card:hover{transform:none}}

/* Header */
.efx-nav{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.82); backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid rgba(229,232,240,.8)}
.admin-bar .efx-nav{top:32px}
.efx-nav-in{display:flex; align-items:center; gap:28px; height:68px}
.efx .efx-logo{display:inline-flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none}
.efx-logo-mark{display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:var(--grad); box-shadow:0 6px 14px -6px rgba(26,111,192,.8)}
.efx-logo-mark svg{width:20px; height:20px; fill:#fff}
.efx .efx-logo-img{width:40px; height:40px; display:block; object-fit:contain; flex:none; filter:drop-shadow(0 4px 8px rgba(15,23,42,.18))}
.efx-foot .efx-logo-img{width:48px; height:48px; filter:none}
.efx-logo-text{font:800 19px/1 var(--head); letter-spacing:-.02em}
.efx-logo-text span{color:var(--brand); margin-left:1px}
.efx-logo-light{color:#fff !important}
.efx-logo-light .efx-logo-text span{color:#7CCBEF}
.efx-nav-links{display:flex; gap:4px; margin-left:12px}
.efx .efx-nav-links a{color:var(--text); font-weight:500; font-size:15px; padding:8px 12px; border-radius:8px}
.efx .efx-nav-links a:hover{color:var(--ink); background:var(--bg); text-decoration:none}
.efx-nav-cta{margin-left:auto; display:flex; align-items:center; gap:16px}
.efx .efx-nav-phone{color:var(--ink); font-weight:600; font-size:14.5px}

/* Mobile menu */
.efx .efx-menu-btn{display:none; align-items:center; justify-content:center; width:42px; height:42px; padding:0; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); cursor:pointer}
.efx-menu-btn .efx-m-close{display:none}
.efx-nav.is-open .efx-menu-btn .efx-m-open{display:none}
.efx-nav.is-open .efx-menu-btn .efx-m-close{display:inline}
.efx .efx-menu-extra{display:none}

/* Hero */
.efx-hero{position:relative; background:var(--dark); color:#CBD5E1; padding:88px 0 40px; overflow:hidden; isolation:isolate}
.efx-hero-glow{position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
   radial-gradient(600px 400px at 85% 10%, rgba(21,170,225,.32), transparent 60%),
   radial-gradient(500px 380px at 10% 0%, rgba(43,93,170,.55), transparent 60%),
   radial-gradient(500px 300px at 60% 100%, rgba(21,170,225,.22), transparent 60%)}
.efx-hero::after{content:""; position:absolute; inset:0; z-index:-1; opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:48px 48px; mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 75%); -webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 75%)}
.efx-hero-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center}
.efx-pill{display:inline-flex; align-items:center; gap:10px; padding:6px 14px 6px 8px; border-radius:999px; font-size:13.5px; font-weight:500;
  color:#E6F3FC; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14)}
.efx-pill-dot{flex:none; width:20px; height:20px; border-radius:50%; background:var(--grad); position:relative}
.efx-pill-dot::after{content:""; position:absolute; inset:7px; border-radius:50%; background:#fff}
.efx-hero h1{color:#fff; font-size:clamp(2.3rem,5vw,3.9rem); font-weight:800; letter-spacing:-.035em; line-height:1.06; margin-top:22px}
.efx-hero-sub{margin-top:20px !important; font-size:1.15rem; max-width:54ch; color:#AAB6CA}
.efx-hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px}
.efx-hero-trust{list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:28px !important; font-size:14.5px; color:#CBD5E1}
.efx-hero-trust li{display:flex; align-items:center; gap:8px; margin:0}
.efx-hero-trust .efx-i{width:18px; height:18px; color:#34D399; stroke-width:2.4}

/* Mock dashboard */
.efx-mock{position:relative; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:8px;
  box-shadow:var(--sh-lg), inset 0 1px 0 rgba(255,255,255,.08)}
.efx-mock-bar{display:flex; align-items:center; gap:6px; padding:8px 10px 12px}
.efx-mock-bar i{width:10px; height:10px; border-radius:50%; background:#334155}
.efx-mock-bar i:nth-child(1){background:#F87171}.efx-mock-bar i:nth-child(2){background:#FBBF24}.efx-mock-bar i:nth-child(3){background:#34D399}
.efx-mock-bar span{margin-left:10px; font-size:12px; color:#94A3B8}
.efx-mock-body{display:grid; grid-template-columns:52px 1fr; background:#0F1630; border-radius:12px; min-height:330px; overflow:hidden}
.efx-mock-side{display:flex; flex-direction:column; gap:12px; padding:16px 12px; border-right:1px solid rgba(255,255,255,.06)}
.efx-mock-side b{display:block; width:28px; height:28px; border-radius:8px; background:rgba(255,255,255,.07)}
.efx-mock-side b.on{background:var(--grad)}
.efx-mock-main{padding:18px; display:grid; gap:14px; align-content:start}
.efx-mock-stats{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.efx-mock-stats div{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.06); border-radius:10px; padding:12px}
.efx-mock-stats small{display:block; font-size:11px; color:#94A3B8}
.efx-mock-stats strong{display:block; font:700 20px/1.3 var(--head); color:#fff; margin-top:2px}
.efx-mock em{font-style:normal; font-size:11px; color:#34D399}
.efx-mock em.warn{color:#FBBF24}
.efx-mock-chart{display:flex; align-items:flex-end; gap:8px; height:90px; padding:12px; background:rgba(255,255,255,.03); border-radius:10px}
.efx-mock-chart span{flex:1; border-radius:5px 5px 2px 2px; background:linear-gradient(180deg,#3FB6E8,#1A6FC0)}
.efx-mock-chart span:last-child{background:linear-gradient(180deg,#9CA3AF,#64748B)}
.efx-mock-rows{display:grid; gap:6px}
.efx-mock-rows div{display:flex; align-items:center; gap:10px; font-size:12.5px; color:#CBD5E1; padding:8px 10px; background:rgba(255,255,255,.03); border-radius:8px}
.efx-mock-rows i{width:8px; height:8px; border-radius:50%}
.efx-mock-rows i.g{background:#34D399}.efx-mock-rows i.a{background:#FBBF24}
.efx-mock-rows em{margin-left:auto}
.efx-float{position:absolute; display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:14px; background:#fff; color:var(--ink);
  box-shadow:0 20px 40px -12px rgba(0,0,0,.45); font-size:13px}
.efx-float b{display:block; font-family:var(--head)} .efx-float small{color:var(--muted)}
.efx-float .efx-i{width:34px; height:34px; padding:7px; border-radius:10px; color:#fff; background:var(--grad)}
.efx-float-1{left:-36px; bottom:46px}
.efx-float-2{right:-24px; top:-22px}

.efx-platforms{display:flex; flex-wrap:wrap; align-items:center; gap:14px 28px; margin-top:72px; padding-top:28px; border-top:1px solid rgba(255,255,255,.08)}
.efx-platforms > span{font-size:13.5px; color:#94A3B8}
.efx-marquee{min-width:0; flex:1}
.efx-platforms ul{list-style:none; display:flex; flex-wrap:wrap; gap:10px 28px; padding:0; margin:0}
.efx-platforms li{margin:0; font:700 16px/1 var(--head); color:#E2E8F0; opacity:.75; letter-spacing:-.01em; white-space:nowrap}
.efx-platforms li[aria-hidden="true"]{display:none}
@keyframes efx-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:768px){
  .efx-platforms{display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin-top:48px; padding-top:24px}
  .efx-platforms > *{min-width:0; max-width:100%}
  .efx-platforms > span{text-align:center}
  .efx-marquee{overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
  .efx-platforms .efx-marquee-track{flex-wrap:nowrap; gap:10px; width:max-content; animation:efx-marquee 28s linear infinite}
  .efx-platforms li,.efx-platforms li[aria-hidden="true"]{display:block; font-size:14.5px; opacity:1; color:#E2E8F0; padding:10px 16px; border-radius:999px;
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12)}
  .efx-marquee:hover .efx-marquee-track,.efx-marquee:active .efx-marquee-track{animation-play-state:paused}
}
@media (max-width:768px) and (prefers-reduced-motion:reduce){
  .efx-marquee{overflow-x:auto; -webkit-mask-image:none; mask-image:none; scroll-snap-type:x mandatory}
  .efx-platforms .efx-marquee-track{animation:none}
  .efx-platforms li{scroll-snap-align:start}
  .efx-platforms li[aria-hidden="true"]{display:none}
}

/* Sections */
.efx-section{padding:96px 0}
.efx-section-alt{background:var(--bg)}
.efx-head{text-align:center; max-width:720px; margin:0 auto 48px}
.efx-head-left{text-align:left; margin:0}
.efx-kicker{display:inline-block; font-size:13.5px; font-weight:600; color:var(--brand); background:var(--soft); padding:5px 12px; border-radius:999px; margin-bottom:16px !important}
.efx-head h2{font-size:clamp(1.9rem,3.6vw,2.75rem); font-weight:800}
.efx-head > p:not(.efx-kicker){margin-top:14px !important; font-size:1.1rem; color:var(--muted)}
.efx-head-light h2{color:#fff}
.efx-head-light > p:not(.efx-kicker){color:#AAB6CA !important}
.efx-head-light .efx-kicker{background:rgba(255,255,255,.08); color:#BFE3F7}

/* Filter */
.efx-filter{display:flex; flex-wrap:wrap; justify-content:center; gap:4px; width:max-content; max-width:100%; margin:0 auto; padding:5px; background:var(--bg); border:1px solid var(--line); border-radius:12px}
.efx .efx-filter button{appearance:none; border:0; background:transparent; color:var(--muted); font:600 14.5px/1 var(--body); padding:11px 16px; border-radius:9px; cursor:pointer; min-height:40px}
.efx .efx-filter button:hover{color:var(--ink)}
.efx .efx-filter button[aria-pressed="true"]{background:#fff; color:var(--ink); box-shadow:var(--sh-sm)}
.efx-count{text-align:center; font-size:14px; color:var(--muted); margin:14px 0 32px !important}

/* Product cards */
.efx-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px}
.efx-card{position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:28px;
  box-shadow:var(--sh-sm); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}
.efx-card:hover{transform:translateY(-4px); box-shadow:var(--sh); border-color:#CFE3F3}
.efx-card-featured{border:1.5px solid transparent; background:linear-gradient(#fff,#fff) padding-box, var(--grad) border-box; box-shadow:var(--sh)}
.efx-ribbon{position:absolute; top:-12px; right:20px; background:var(--grad); color:#fff; font-size:12px; font-weight:700; padding:5px 12px; border-radius:999px; box-shadow:0 6px 14px -6px rgba(26,111,192,.8)}
.efx-card-top{display:flex; justify-content:space-between; align-items:center; gap:12px}
.efx-icon{display:inline-grid; place-items:center; width:48px; height:48px; border-radius:12px; flex:none}
.efx-icon .efx-i{width:24px; height:24px}
.efx-c1{background:#E8F3FC; color:#1A6FC0}.efx-c2{background:#ECFDF5; color:#059669}.efx-c3{background:#F5F3FF; color:#7C3AED}
.efx-c4{background:#ECFEFF; color:#0891B2}.efx-c5{background:#FFF7ED; color:#EA580C}.efx-c6{background:#FDF2F8; color:#DB2777}.efx-c7{background:#EFF6FF; color:#2563EB}.efx-c8{background:#FEF2F2; color:#DC2626}.efx-c9{background:#F0FDF4; color:#16A34A}.efx-c10{background:#F1F5F9; color:#334155}
.efx-badge{font-size:12.5px; font-weight:600; color:var(--muted); background:var(--bg); border:1px solid var(--line); padding:4px 10px; border-radius:999px}
.efx-card h3{font-size:1.3rem; margin-top:20px}
.efx-card > p{margin-top:8px !important; color:var(--muted)}
.efx-checks{list-style:none; padding:0; margin:18px 0 0 !important; display:grid; gap:10px; font-size:15px; color:var(--text)}
.efx-checks li{position:relative; padding-left:28px; margin:0}
.efx-checks li::before{content:""; position:absolute; left:0; top:2px; width:19px; height:19px; border-radius:50%;
  background:#E8F3FC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A6FC0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.efx-card-foot{margin-top:auto; padding-top:24px; display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--line); margin-top:24px}
.efx-card-foot > span{font-size:14px; font-weight:600; color:var(--ink)}
.efx-card .efx-checks{margin-bottom:24px !important}
.efx .efx-card .efx-card-foot{margin-top:auto}
.efx-empty{text-align:center; padding:40px; border:1px dashed var(--line); border-radius:var(--r); color:var(--muted)}

/* Features */
.efx-features{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px}
.efx-feature{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:28px; box-shadow:var(--sh-sm)}
.efx-feature h3{font-size:1.1rem; margin-top:18px}
.efx-feature p{margin-top:8px !important; color:var(--muted); font-size:15px}

/* Dark services */
.efx-dark{background:var(--dark); position:relative; overflow:hidden; isolation:isolate}
.efx-dark::before{content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(700px 400px at 50% 0%, rgba(26,111,192,.35), transparent 65%)}
.efx-services{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px}
.efx .efx-service{display:flex; flex-direction:column; padding:28px; border-radius:var(--r); background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); color:#AAB6CA; text-decoration:none; transition:background .2s, border-color .2s}
.efx .efx-service:hover{background:rgba(255,255,255,.07); border-color:rgba(21,170,225,.45); text-decoration:none; color:#AAB6CA}
.efx-service .efx-icon{background:rgba(21,170,225,.15); color:#7CCBEF}
.efx-service h3{color:#fff; font-size:1.12rem; margin-top:18px}
.efx-service p{margin-top:8px !important; font-size:15px; flex:1}
.efx-link{margin-top:18px; font-weight:600; font-size:14.5px; color:#7CCBEF}

/* Plans */
.efx-plans{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch}
.efx-plan{position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:20px; padding:32px; box-shadow:var(--sh-sm)}
.efx-plan h3{font-size:1.25rem}
.efx-plan-desc{margin-top:6px !important; color:var(--muted); font-size:15px}
.efx-plan-price{margin:22px 0 4px !important; font:800 1.6rem/1.2 var(--head); color:var(--ink); letter-spacing:-.02em}
.efx-plan .efx-checks{margin-bottom:28px !important; flex:1; align-content:start}
.efx-plan-pop{background:var(--dark); border-color:var(--dark); box-shadow:var(--sh-lg); transform:scale(1.03)}
.efx-plan-pop h3,.efx-plan-pop .efx-plan-price{color:#fff}
.efx-plan-pop .efx-plan-desc,.efx-plan-pop .efx-checks{color:#CBD5E1}
.efx-plan-pop .efx-checks li::before{background-color:rgba(21,170,225,.2)}

.efx-steps{list-style:none; padding:0; margin:72px 0 0 !important; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; counter-reset:step; position:relative}
.efx-steps::before{content:""; position:absolute; top:22px; left:12%; right:12%; height:2px; background:linear-gradient(90deg,transparent,var(--line) 10%,var(--line) 90%,transparent)}
.efx-steps li{counter-increment:step; text-align:center; position:relative; margin:0}
.efx-steps li::before{content:counter(step); display:grid; place-items:center; width:46px; height:46px; margin:0 auto 16px; border-radius:50%;
  background:#fff; border:2px solid var(--brand); color:var(--brand); font:800 17px/1 var(--head); box-shadow:0 0 0 6px #fff}
.efx-steps h3{font-size:1.05rem}
.efx-steps p{margin-top:6px !important; color:var(--muted); font-size:14.5px; max-width:28ch; margin-left:auto !important; margin-right:auto !important}

/* FAQ */
.efx-faq-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start}
.efx-faq{display:grid; gap:12px}
.efx-faq details{background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--sh-sm)}
.efx-faq details[open]{border-color:#BFE3F7}
.efx-faq summary{cursor:pointer; list-style:none; padding:20px 56px 20px 22px; position:relative; font:600 16.5px/1.4 var(--head); color:var(--ink)}
.efx-faq summary::-webkit-details-marker{display:none}
.efx-faq summary::after{content:""; position:absolute; right:20px; top:50%; width:26px; height:26px; margin-top:-13px; border-radius:50%; background:var(--bg)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/14px no-repeat; transition:transform .2s}
.efx-faq details[open] summary::after{transform:rotate(180deg); background-color:var(--soft)}
.efx-faq details p{padding:0 22px 22px; color:var(--muted)}

/* CTA */
.efx-cta{position:relative; overflow:hidden; isolation:isolate; text-align:center; border-radius:28px; padding:72px 32px; background:var(--grad); color:#E6F3FC; box-shadow:var(--sh-lg)}
.efx-cta-glow{position:absolute; inset:0; z-index:-1; background:radial-gradient(500px 260px at 20% 0%,rgba(255,255,255,.25),transparent 60%),radial-gradient(400px 260px at 90% 100%,rgba(21,170,225,.45),transparent 60%)}
.efx-cta h2{color:#fff; font-size:clamp(1.9rem,3.6vw,2.7rem); font-weight:800}
.efx-cta p{margin:14px auto 0 !important; max-width:52ch; font-size:1.1rem}
.efx-cta-actions{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:32px}

/* Document pages */
.efx-legal,.efx-contact-page{background:var(--bg)}
.efx-doc-head{position:relative; overflow:hidden; isolation:isolate; background:var(--dark); padding:80px 0 120px; color:#AAB6CA}
.efx-doc-head-in{text-align:center}
.efx-doc-head h1{color:#fff; font-size:clamp(2.2rem,4.6vw,3.4rem); font-weight:800; letter-spacing:-.035em; margin-top:20px}
.efx-doc-head .efx-lede{margin:16px auto 0 !important; max-width:62ch; font-size:1.1rem}
.efx-crumbs{display:inline-flex; flex-wrap:wrap; justify-content:center; gap:4px; padding:5px; border-radius:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1)}
.efx .efx-crumbs a{color:#CBD5E1; font-size:14px; font-weight:500; padding:7px 14px; border-radius:8px}
.efx .efx-crumbs a:hover{color:#fff; background:rgba(255,255,255,.08); text-decoration:none}
.efx .efx-crumbs a[aria-current="page"]{background:#fff; color:var(--ink)}
.efx-meta{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:28px !important}
.efx-meta div{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:8px 14px; text-align:left}
.efx-meta dt{font-size:12px; color:#94A3B8}
.efx-meta dd{margin:0; font-size:14px; font-weight:600; color:#fff}
.efx-meta dd a{color:#BFE3F7}

.efx-doc{display:grid; grid-template-columns:260px minmax(0,1fr); gap:32px; margin-top:-72px; padding-bottom:96px}
.efx-toc{position:sticky; top:92px; align-self:start; max-height:calc(100vh - 110px); overflow:auto; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px; box-shadow:var(--sh)}
.admin-bar .efx-toc{top:124px}
.efx-toc-title{font:700 13px/1 var(--head); color:var(--ink); margin-bottom:12px !important; padding-left:10px}
.efx-toc ol{list-style:none; padding:0; margin:0}
.efx-toc li{margin:0}
.efx .efx-toc a{display:block; padding:7px 10px; border-radius:8px; color:var(--muted); font-size:14px; line-height:1.35}
.efx .efx-toc a:hover{background:var(--bg); color:var(--ink); text-decoration:none}
.efx .efx-toc a.is-active{background:var(--soft); color:var(--brand); font-weight:600}

.efx-paper{background:#fff; border:1px solid var(--line); border-radius:20px; padding:56px 64px; box-shadow:var(--sh)}
.efx-prose{font-size:16.5px; line-height:1.75; color:var(--text)}
.efx-prose section{scroll-margin-top:96px}
.efx-prose section + section{margin-top:40px; padding-top:40px; border-top:1px solid var(--line)}
.efx-prose h2{font-size:1.45rem; font-weight:700; margin-bottom:14px}
.efx-prose h3{font-size:1.08rem; font-weight:700; margin:24px 0 6px}
.efx-prose p + p,.efx-prose p + ul,.efx-prose ul + p,.efx-prose p + ol,.efx-prose ol + p,.efx-prose p + form{margin-top:14px}
.efx-prose ul{padding-left:0; list-style:none}
.efx-prose ul li{position:relative; padding-left:22px; margin:8px 0}
.efx-prose ul li::before{content:""; position:absolute; left:4px; top:.72em; width:7px; height:7px; border-radius:50%; background:var(--brand)}
.efx-prose ol{list-style:none; padding:0; counter-reset:li}
.efx-prose ol li{counter-increment:li; position:relative; padding-left:44px; margin:14px 0; min-height:30px}
.efx-prose ol li::before{content:counter(li); position:absolute; left:0; top:0; width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:var(--soft); color:var(--brand); font:700 14px/1 var(--head)}
.efx-prose strong{color:var(--ink)}
.efx-prose .efx-checks li::before{top:4px}
.efx-callout{background:linear-gradient(135deg,#E8F3FC,#EEF7FD); border:1px solid #C6E3F7; border-radius:14px; padding:20px 22px; margin:20px 0 !important; font-size:15.5px; line-height:1.65}
.efx-callout strong{display:block; color:var(--ink); margin-bottom:4px; font-family:var(--head)}

/* Forms */
.efx-form{display:grid; gap:18px; background:#fff; border:1px solid var(--line); border-radius:20px; padding:36px; box-shadow:var(--sh); scroll-margin-top:96px}
.efx-prose .efx-form{box-shadow:none; background:var(--bg); padding:28px}
.efx-form h2{font-size:1.4rem}
.efx-row2{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.efx-field{display:grid; gap:7px; font-size:14px; font-weight:600; color:var(--ink); margin:0}
.efx-field em{font-style:normal; font-weight:400; color:var(--muted)}
.efx .efx-field input,.efx .efx-field select,.efx .efx-field textarea{width:100%; font:400 15.5px/1.4 var(--body); color:var(--ink); background:#fff;
  border:1px solid #D0D5DD; border-radius:10px; padding:12px 14px; min-height:48px; margin:0; box-shadow:0 1px 2px rgba(16,24,40,.05); transition:border-color .15s, box-shadow .15s}
.efx .efx-field input::placeholder,.efx .efx-field textarea::placeholder{color:#98A2B3}
.efx .efx-field textarea{min-height:130px; resize:vertical}
.efx .efx-field select{min-width:0; max-width:100%; text-overflow:ellipsis}
.efx-doc > *,.efx-contact > *,.efx-row2 > *,.efx-grid > *{min-width:0}
.efx .efx-field input:focus,.efx .efx-field select:focus,.efx .efx-field textarea:focus{outline:none; border-color:#7CCBEF; box-shadow:0 0 0 4px rgba(26,111,192,.15)}
.efx-check{display:flex; gap:12px; align-items:flex-start; font-size:14.5px; line-height:1.55; margin:0; color:var(--text)}
.efx .efx-check input{width:18px; height:18px; margin-top:3px; flex:none; accent-color:var(--brand)}
.efx-fine{font-size:13.5px; color:var(--muted); text-align:center}
.efx-notice{padding:14px 16px; border-radius:12px; font-size:15px; line-height:1.5}
.efx-notice-ok{background:#ECFDF3; color:var(--ok); border:1px solid #ABEFC6}
.efx-notice-err{background:#FEF3F2; color:var(--err); border:1px solid #FECDCA}

/* Contact */
.efx-contact-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:-72px; position:relative; z-index:2}
.efx .efx-ccard{display:block; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:28px; box-shadow:var(--sh); color:var(--text); transition:transform .2s, box-shadow .2s}
.efx .efx-ccard:hover{transform:translateY(-3px); text-decoration:none; color:var(--text); box-shadow:var(--sh-lg)}
.efx-ccard h2{font-size:1.1rem; margin-top:18px}
.efx-ccard p{color:var(--muted); font-size:14.5px; margin-top:2px !important}
.efx-ccard strong{display:block; margin-top:12px; color:var(--brand); font-weight:600; word-break:break-word}
.efx-contact{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; padding:64px 0 96px; align-items:start}
.efx-contact-side h2{font-size:clamp(1.6rem,3vw,2.1rem); font-weight:800}
.efx-contact-side .efx-checks{margin-top:22px !important}
.efx-side-note{margin-top:32px; padding:22px; border-radius:14px; background:#fff; border:1px solid var(--line)}
.efx-side-note h3{font-size:1rem}
.efx-side-note p{margin-top:6px !important; font-size:14.5px; color:var(--muted)}

/* About */
.efx-about{background:var(--surface)}
.efx-about-stats{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:-72px; position:relative; z-index:2}
.efx-about-stats div{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px; box-shadow:var(--sh)}
.efx-about-stats strong{display:block; font:800 2.2rem/1.1 var(--head); letter-spacing:-.03em; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.efx-about-stats span{display:block; margin-top:6px; font-size:14.5px; color:var(--muted)}
.efx-about-story{display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start}
.efx-about-story h2{font-size:clamp(1.8rem,3.4vw,2.5rem); font-weight:800}
.efx-about-text{font-size:17px; line-height:1.75}
.efx-about-text p + p{margin-top:16px !important}
.efx-values{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.efx-values div{padding:24px; border-radius:var(--r); border:1px solid var(--line); background:#fff; box-shadow:var(--sh-sm); border-top:3px solid var(--brand)}
.efx-values h3{font-size:1.05rem}
.efx-values p{margin-top:6px !important; font-size:15px; color:var(--muted)}
.efx-company{display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:20px; padding:40px; box-shadow:var(--sh)}
.efx-company h2{font-size:1.6rem}
.efx-company > div > p{margin-top:8px !important; color:var(--muted)}
.efx-company dl{display:grid; grid-template-columns:1fr 1fr; gap:16px 32px}
.efx-company dt{font-size:13px; color:var(--muted)}
.efx-company dd{margin:2px 0 0; font-weight:600; color:var(--ink)}

/* Footer */
.efx-foot{background:var(--dark); color:#94A3B8; padding:72px 0 32px; font-size:14.5px}
.efx-foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr; gap:36px}
.efx-foot-brand p{margin:16px 0 20px !important; max-width:36ch; line-height:1.65}
.efx-foot h3{color:#fff; font-size:14px; font-weight:700; margin-bottom:14px}
.efx-foot-grid > div:not(.efx-foot-brand){display:flex; flex-direction:column; gap:10px}
.efx .efx-foot a:not(.efx-btn):not(.efx-logo){color:#94A3B8}
.efx .efx-foot a:not(.efx-btn):not(.efx-logo):hover{color:#fff; text-decoration:none}
.efx-foot-bottom{margin-top:56px; padding-top:24px; border-top:1px solid rgba(255,255,255,.08); display:grid; gap:8px; font-size:12.5px; color:#64748B}

/* Full-screen layout */
html:has(body.efx-canvas),body.efx-canvas{margin:0 !important; padding:0 !important; background:#fff; overflow-x:clip; max-width:100%}
body.efx-canvas #efx-main{margin:0; padding:0; max-width:none; width:100%}
body.efx-canvas #efx-main > p:empty{display:none}
/* Inside a theme layout: break out to full width without a sideways scrollbar */
html:has(body.efx-page:not(.efx-canvas)),body.efx-page:not(.efx-canvas){overflow-x:clip}
body.efx-page:not(.efx-canvas) .efx{width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw)}
@media (max-width:782px){.admin-bar .efx-nav{top:46px}.admin-bar .efx-toc{top:138px}}
@media (max-width:380px){ .efx .efx-nav-quote{display:none} }
@media (max-width:600px){.admin-bar .efx-nav{top:0}}
.efx img,.efx svg,.efx video{max-width:100%}
.efx h1,.efx h2,.efx h3,.efx p,.efx li,.efx a,.efx dd{overflow-wrap:break-word}

/* Theme title hiding on these pages */
body.efx-page .entry-title, body.efx-page .page-title, body.efx-page h1.wp-block-post-title, body.efx-page .entry-header{display:none}

/* Responsive */
@media (max-width:1080px){
  .efx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .efx-features,.efx-services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .efx .efx-menu-btn{display:inline-flex}
  .efx-nav-links{display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; gap:2px; margin:0; padding:12px 18px 18px;
    background:#fff; border-bottom:1px solid var(--line); box-shadow:0 20px 30px -20px rgba(15,23,42,.35)}
  .efx-nav.is-open .efx-nav-links{display:flex}
  .efx .efx-nav-links a{padding:13px 12px; font-size:16px}
  .efx .efx-nav-links .efx-menu-extra{display:block}
  .efx .efx-nav-links .efx-btn{display:flex; color:#fff; margin-top:8px}
  .efx .efx-nav-links .efx-btn:hover{background:var(--brand-600); color:#fff}
  .efx-hero-grid{grid-template-columns:1fr}
  .efx-mock{max-width:620px; margin:16px auto 0; width:100%}
  .efx-paper{padding:40px}
}
@media (max-width:860px){
  .efx-doc{grid-template-columns:minmax(0,1fr)}
  .efx-toc{position:static; max-height:none}
  .efx-faq-grid,.efx-contact{grid-template-columns:1fr; gap:32px}
  .efx-plans{grid-template-columns:1fr; max-width:480px; margin:0 auto}
  .efx-plan-pop{transform:none}
  .efx-steps{grid-template-columns:1fr 1fr}
  .efx-steps::before{display:none}
  .efx-contact-cards{grid-template-columns:1fr}
  .efx-foot-grid{grid-template-columns:1fr 1fr}
  .efx-about-stats{grid-template-columns:1fr 1fr}
  .efx-about-story,.efx-company{grid-template-columns:1fr; gap:28px}
}
@media (max-width:600px){
  .efx-wrap{padding:0 18px}
  .efx-nav-phone{display:none}
  .efx-nav-in{gap:12px; height:62px}
  .efx-nav-cta{gap:8px}
  .efx .efx-logo-img{width:34px; height:34px}
  .efx-logo-text{font-size:17px}
  .efx-hero{padding-top:56px}
  .efx-section{padding:64px 0}
  .efx-grid,.efx-features,.efx-services,.efx-steps,.efx-row2,.efx-foot-grid,.efx-values,.efx-company dl{grid-template-columns:1fr}
  .efx-company{padding:26px}
  .efx-float{display:none}
  .efx-mock-body{min-height:0}
  .efx-paper{padding:28px 22px; border-radius:16px}
  .efx-form{padding:24px}
  .efx-cta{padding:48px 22px; border-radius:20px}
  .efx-filter{width:100%}
  .efx .efx-filter button{flex:1 1 auto}
  .efx-doc-head{padding:56px 0 104px}
}
@media print{.efx-nav,.efx-toc,.efx-crumbs,.efx-foot{display:none}.efx-doc{display:block;margin:0}.efx-doc-head{background:#fff;padding:20px 0}.efx-doc-head h1{color:#000}}
