/*
Theme Name: Emori
Theme URI: https://emori.co
Template: Avada
Author: Emori
Description: Emori marketing site — child theme of Avada. Carries the Emori design system (brand tokens + bespoke components) on top of Avada. Built from the v4 mockup. All custom classes are namespaced `e-` to never collide with Avada/Fusion classes.
Version: 1.4.2
*/

/* =============================================================
   EMORI DESIGN SYSTEM  —  child theme layer over Avada
   Apply these classes via the "CSS Class" field on Avada elements.
   Layout (containers/columns/header/footer) = native Avada.
   This file = brand tokens + the bespoke polish Avada can't do natively.
   ============================================================= */

:root{
  /* locked brand palette (2026-05-10) */
  --e-navy:#0B132B;
  --e-navy-2:#0F1A38;
  --e-navy-3:#142243;
  --e-navy-line:#1E2A4D;
  --e-turq:#3BA7C7;
  --e-turq-soft:#6FC7DF;
  --e-turq-deep:#1F7C9A;
  --e-ivory:#FFF8EE;
  --e-ivory-lift:#FFFCF5;
  --e-green:#6BAA75;
  --e-lavender:#A98FE0;
  --e-yellow:#FFB627;
  --e-pink:#F26E9A;
  /* ink */
  --e-on-dark:#E9EEFA;
  --e-on-dark-dim:#97A2BE;
  --e-on-light:#0B132B;
  --e-on-light-dim:#5A6685;
  /* type */
  --e-sans:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --e-serif:'Fraunces',Georgia,serif;
  --e-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
}

/* ---------- TYPE HELPERS (apply to Avada Title/Text elements) ---------- */
.e-serif{font-family:var(--e-serif)!important;font-style:italic;font-weight:500;}
.e-mono{font-family:var(--e-mono)!important;}
.e-accent{color:var(--e-turq-soft)!important;}
.e-accent-deep{color:var(--e-turq-deep)!important;}

/* tagline — Fraunces italic, for emotional lines */
.e-tagline{font-family:var(--e-serif)!important;font-style:italic;font-weight:500;line-height:1.3;}

/* eyebrow — small mono uppercase label with a dot */
.e-eyebrow{
  font-family:var(--e-mono)!important;font-weight:500!important;font-size:11px!important;
  letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--e-turq)!important;
  display:inline-flex!important;align-items:center;gap:10px;
}
.e-eyebrow::before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;}
.e-eyebrow.is-light{color:var(--e-turq-deep)!important;}
.e-eyebrow.c-yellow{color:var(--e-yellow)!important;}
.e-eyebrow.c-lavender{color:var(--e-lavender)!important;}
.e-eyebrow.c-green{color:var(--e-green)!important;}
.e-eyebrow.c-pink{color:var(--e-pink)!important;}

/* mono note — small technical caption */
.e-mono-note{
  font-family:var(--e-mono)!important;font-size:11px!important;letter-spacing:.12em!important;
  text-transform:uppercase!important;color:var(--e-on-dark-dim)!important;
}
.e-mono-note.is-light{color:var(--e-on-light-dim)!important;}

/* ---------- SIGNATURE MOTIF: the Unique code tag ---------- */
.e-uc{
  display:inline-flex;align-items:center;gap:4px;
  font-family:var(--e-mono);font-weight:500;font-size:12px;letter-spacing:.04em;
  color:var(--e-turq);background:rgba(59,167,199,.08);
  border:1px solid rgba(59,167,199,.20);border-radius:5px;
  padding:4px 9px;line-height:1;white-space:nowrap;
}
.e-uc b{letter-spacing:.12em;font-weight:500;}
.e-uc i{opacity:.5;font-style:normal;}
.e-uc.is-solid{background:var(--e-turq);color:var(--e-navy);border-color:var(--e-turq);}
.e-uc.is-light{color:var(--e-turq-deep);background:rgba(31,124,154,.07);border-color:rgba(31,124,154,.22);}

/* ---------- BUTTON SKIN (optional override for Avada buttons) ---------- */
.e-btn{
  display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 22px;
  border-radius:999px;font-weight:600;font-size:14px;letter-spacing:-.01em;white-space:nowrap;
  font-family:var(--e-sans);text-decoration:none;cursor:pointer;
  transition:transform .15s ease,box-shadow .22s ease,background .2s ease,border-color .2s ease;
}
.e-btn-primary{background:var(--e-turq);color:var(--e-navy);border:1px solid var(--e-turq);}
.e-btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px -10px rgba(59,167,199,.6),0 0 0 4px rgba(59,167,199,.12);}
.e-btn-ghost{background:transparent;color:var(--e-ivory);border:1px solid rgba(255,255,255,.18);}
.e-btn-ghost:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.32);transform:translateY(-2px);}
.e-btn-lg{height:54px;padding:0 28px;font-size:15px;}

/* ---------- CARD ---------- */
.e-card{
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.07);border-radius:20px;
  transition:border-color .25s ease,transform .25s ease,background .25s ease;
}
.e-card:hover{border-color:rgba(59,167,199,.4);transform:translateY(-4px);}
.e-card.on-light{background:var(--e-ivory-lift);border-color:rgba(11,19,43,.08);}
.e-card.on-light:hover{border-color:rgba(31,124,154,.4);}

/* ---------- IMAGE PLACEHOLDER (swap for real photos later) ---------- */
.e-ph{
  position:relative;width:100%;border-radius:14px;overflow:hidden;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 1px,transparent 1px 11px),
    linear-gradient(180deg,rgba(59,167,199,.06),rgba(11,19,43,.4));
  border:1px dashed rgba(255,255,255,.13);
  display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;
}
.e-ph.on-light{
  background:
    repeating-linear-gradient(135deg,rgba(11,19,43,.05) 0 1px,transparent 1px 11px),
    linear-gradient(180deg,rgba(11,19,43,.04),rgba(11,19,43,.02));
  border-color:rgba(11,19,43,.16);
}
.e-ph-label{
  font-family:var(--e-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--e-on-dark-dim);background:rgba(11,19,43,.6);padding:6px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px);text-align:center;max-width:84%;
}
.e-ph.on-light .e-ph-label{background:rgba(255,248,238,.85);border-color:rgba(11,19,43,.1);color:var(--e-on-light-dim);}

/* ---------- FEATURE LIST ---------- */
.e-feature-list{display:flex;flex-direction:column;gap:13px;list-style:none;margin:0;padding:0;}
.e-feature-list li{display:flex;gap:12px;align-items:flex-start;font-size:14px;}
.e-feature-list li::before{
  content:"";width:17px;height:17px;border-radius:999px;flex:none;margin-top:3px;
  background:rgba(59,167,199,.16);border:1px solid var(--e-turq);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpath d='M4.5 9l2.5 2.5L12.5 6' stroke='%233BA7C7' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---------- ATMOSPHERIC GLOW + GRID (add to an Avada Container) ---------- */
.e-glow{position:relative;overflow:hidden;}
.e-glow::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%,rgba(59,167,199,.18),transparent 70%),
    radial-gradient(ellipse 40% 40% at 80% 25%,rgba(169,143,224,.10),transparent 70%);
}
.e-glow > *{position:relative;z-index:1;}
.e-gridbg{position:relative;}
.e-gridbg::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 80%);
          mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 80%);
}

/* glowing divider */
.e-hr-glow{height:1px;border:none;background:linear-gradient(90deg,transparent,rgba(59,167,199,.4),transparent);width:100%;}

/* ---------- FLOATING CHIP (live-scan indicator) ---------- */
.e-chip{
  display:inline-flex;align-items:center;gap:9px;padding:9px 14px;
  background:rgba(11,19,43,.85);border:1px solid rgba(255,255,255,.1);
  border-radius:999px;backdrop-filter:blur(8px);
  font-family:var(--e-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--e-ivory);
}
.e-chip .e-dot{width:8px;height:8px;border-radius:999px;background:var(--e-turq);box-shadow:0 0 12px var(--e-turq);}
.e-chip .e-dot.pulse{animation:e-pulse 2s infinite;}
@keyframes e-pulse{50%{box-shadow:0 0 0 7px rgba(59,167,199,0);}}

/* ---------- DEVICE / MEMORY MOCKUP ---------- */
.e-device{
  width:300px;max-width:100%;border-radius:36px;padding:12px;
  background:linear-gradient(180deg,#1a2444,#0d1530);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 60px 120px -40px rgba(0,0,0,.6),0 0 80px -20px rgba(59,167,199,.25);
}
.e-device-screen{border-radius:26px;background:var(--e-navy);overflow:hidden;border:1px solid rgba(255,255,255,.04);padding-bottom:16px;}
.e-device-bar{display:flex;justify-content:space-between;padding:14px 20px 8px;font-family:var(--e-mono);font-size:11px;color:var(--e-on-dark-dim);}
.e-device-url{margin:0 12px 12px;padding:8px 12px;background:rgba(255,255,255,.04);border-radius:10px;
  font-family:var(--e-mono);font-size:11px;color:var(--e-on-dark-dim);display:flex;align-items:center;gap:6px;}
.e-device-url b{color:var(--e-turq);font-weight:500;}
.e-device-body{padding:0 14px;}

/* ---------- PRICING ---------- */
.e-price-card{
  background:var(--e-ivory-lift);border:1px solid rgba(11,19,43,.08);border-radius:24px;
  padding:36px 30px;display:flex;flex-direction:column;position:relative;
  transition:transform .25s ease,box-shadow .25s ease;
}
.e-price-card.featured{border:1px solid var(--e-turq);box-shadow:0 30px 80px -30px rgba(31,124,154,.32);}
.e-price-badge{
  position:absolute;top:-12px;left:28px;padding:6px 12px;border-radius:999px;
  font-family:var(--e-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--e-navy);
}
.e-price-amt{font-size:54px;font-weight:700;color:var(--e-navy);letter-spacing:-.04em;line-height:1;font-family:var(--e-sans);}
.e-price-amt span{display:block;font-size:14px;font-weight:500;color:var(--e-on-light-dim);letter-spacing:0;margin-top:2px;}
.e-price-feats{display:flex;flex-direction:column;gap:11px;margin:26px 0;flex:1;list-style:none;padding:0;}
.e-price-feats li{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--e-navy);}
.e-price-feats li.off{color:rgba(11,19,43,.38);}
.e-price-feats .e-tick{width:18px;height:18px;border-radius:999px;flex:none;background:var(--e-turq);
  display:inline-flex;align-items:center;justify-content:center;}
.e-price-feats li.off .e-tick{background:transparent;border:1px solid rgba(11,19,43,.16);}
.e-price-annual{margin-top:12px;font-size:13px;color:var(--e-on-light-dim);
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1;}
.e-price-annual strong{color:var(--e-navy);font-weight:700;}
.e-price-save{display:inline-flex;align-items:center;font-family:var(--e-mono);
  font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#1F7C9A;background:rgba(31,124,154,.1);padding:3px 8px;border-radius:999px;}

/* ---------- REVEAL (Avada has native animations too; this is a fallback) ---------- */
.e-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);}
.e-reveal.in{opacity:1;transform:none;}

/* ---------- SECTION TEXT CONTEXTS ---------- */
.e-on-dark,.e-on-dark *{color:var(--e-on-dark);}
.e-on-dark .e-dim{color:var(--e-on-dark-dim);}
.e-on-light .e-dim{color:var(--e-on-light-dim);}

/* ============================================================
   LAYOUT + TYPOGRAPHY HELPERS  (phase-1 build — used inside
   Avada Text elements; sections are native Avada Containers)
   ============================================================ */
.e-wrap{max-width:1180px;margin:0 auto;}
.e-row{display:grid;gap:24px;align-items:start;}
.e-row.center{align-items:center;}
.e-cols-2{grid-template-columns:1fr 1fr;}
.e-cols-3{grid-template-columns:repeat(3,1fr);}
.e-cols-4{grid-template-columns:repeat(4,1fr);}
.e-split-58{grid-template-columns:1.15fr 1fr;}
.e-split-64{grid-template-columns:1.4fr 1fr;}
.e-split-46{grid-template-columns:1fr 1.1fr;}
.e-gap-lg{gap:64px;}.e-gap-md{gap:32px;}.e-gap-sm{gap:14px;}
.e-flex{display:flex;}.e-between{justify-content:space-between;}
.e-items-center{align-items:center;}.e-items-end{align-items:flex-end;}
.e-wrap-flex{flex-wrap:wrap;}.e-center-x{justify-content:center;}
.e-mt-3{margin-top:12px;}.e-mt-4{margin-top:16px;}.e-mt-5{margin-top:20px;}
.e-mt-6{margin-top:24px;}.e-mt-8{margin-top:32px;}.e-mt-10{margin-top:40px;}
.e-mt-12{margin-top:48px;}.e-mt-16{margin-top:64px;}
.e-text-center{text-align:center;}.e-mx-auto{margin-left:auto;margin-right:auto;}
.e-max-560{max-width:560px;}.e-max-680{max-width:680px;}.e-max-820{max-width:820px;}

/* headings (real h-tags inside Avada Text elements) */
.e-h1{font-family:var(--e-sans);font-weight:600;letter-spacing:-.04em;line-height:1.05;
  font-size:clamp(44px,6.2vw,86px);color:var(--e-ivory);margin:0;}
.e-h2{font-family:var(--e-sans);font-weight:700;letter-spacing:-.035em;line-height:1.06;
  font-size:clamp(32px,4.2vw,54px);color:var(--e-ivory);margin:0;}
.e-h3{font-family:var(--e-sans);font-weight:700;letter-spacing:-.02em;line-height:1.1;
  font-size:clamp(22px,2.2vw,30px);color:var(--e-ivory);margin:0;}
.e-on-light .e-h1,.e-on-light .e-h2,.e-on-light .e-h3{color:var(--e-navy);}
.e-lede{font-size:18px;color:var(--e-on-dark-dim);line-height:1.65;}
.e-on-light .e-lede{color:var(--e-on-light-dim);}
.e-body{color:var(--e-on-dark-dim);line-height:1.65;}
.e-on-light .e-body{color:var(--e-on-light-dim);}
.e-btn-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}

@media(max-width:920px){
  .e-cols-2,.e-cols-3,.e-cols-4,.e-split-58,.e-split-64,.e-split-46{grid-template-columns:1fr;}
}

/* ============================================================
   HEADER + FOOTER  (rendered inside Avada Layout Sections)
   ============================================================ */
.e-header{
  position:sticky;top:0;z-index:100;
  background:rgba(11,19,43,.82);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:background .3s,border-color .3s;
}
.e-header.is-stuck{background:rgba(11,19,43,.94);border-bottom-color:rgba(255,255,255,.1);}
.e-header-inner{display:flex;align-items:center;justify-content:space-between;height:74px;max-width:1180px;margin:0 auto;padding:0 32px;}
.e-brand img{height:26px;width:auto;display:block;}
.e-nav{display:flex;gap:34px;align-items:center;}
.e-nav a{font-size:14px;font-weight:500;color:var(--e-on-dark-dim);transition:color .2s;text-decoration:none;}
.e-nav a:hover,.e-nav a.active{color:var(--e-ivory);}
.e-header-cta{display:flex;gap:12px;align-items:center;}
.e-nav-toggle{display:none;width:42px;height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.14);
  align-items:center;justify-content:center;background:transparent;cursor:pointer;}
.e-nav-toggle span,.e-nav-toggle span::before,.e-nav-toggle span::after{
  display:block;width:18px;height:2px;background:var(--e-ivory);position:relative;content:"";
  transition:transform .25s ease,top .25s ease,background .15s ease;}
.e-nav-toggle span::before{position:absolute;top:-6px;}
.e-nav-toggle span::after{position:absolute;top:6px;}

/* ---------- MOBILE MENU — full-screen overlay (apple-style) ---------- */
.e-mobile-menu{
  display:none;
  position:fixed;left:0;right:0;top:74px;bottom:0;
  background:var(--e-navy);
  z-index:99;
  flex-direction:column;
  padding:34px 32px 40px;
  overflow-y:auto;
  opacity:0;
  transform:translateY(-12px);
  transition:opacity .3s ease,transform .3s ease;
  pointer-events:none;
}
.e-mobile-nav{display:flex;flex-direction:column;}
.e-mobile-nav a{
  font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1;
  color:var(--e-ivory);text-decoration:none;
  padding:20px 0;border-bottom:1px solid rgba(255,255,255,.08);
  transition:color .2s ease;
}
.e-mobile-nav a:hover,.e-mobile-nav a:active{color:var(--e-turq);}
.e-mobile-cta{display:flex;flex-direction:column;gap:12px;margin-top:34px;}
.e-mobile-cta .e-btn{display:flex;width:100%;height:54px;justify-content:center;font-size:15px;}

/* ---------- APP STORE BADGES (hero) ---------- */
.e-store-badges a{display:inline-block;transition:transform .2s ease,opacity .2s ease;}
.e-store-badges a:hover{transform:translateY(-2px);opacity:.92;}
.e-store-badges img{filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));}

.e-footer{background:var(--e-navy);border-top:1px solid rgba(255,255,255,.06);}
.e-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:46px;max-width:1180px;margin:0 auto;padding:0 32px;}
.e-footer h5{font-family:var(--e-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--e-on-dark-dim);margin:0 0 15px;font-weight:500;}
.e-footer ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0;}
.e-footer a{font-size:14px;color:var(--e-ivory);opacity:.72;text-decoration:none;transition:opacity .2s,color .2s;}
.e-footer a:hover{opacity:1;color:var(--e-turq);}
.e-footer-bottom{max-width:1180px;margin:50px auto 0;padding:24px 32px 0;border-top:1px solid rgba(255,255,255,.05);
  display:flex;justify-content:space-between;gap:14px;font-family:var(--e-mono);font-size:12px;color:var(--e-on-dark-dim);flex-wrap:wrap;}

/* ---------- FAQ ACCORDION ---------- */
.e-faq-item{border-bottom:1px solid rgba(11,19,43,.09);}
.e-faq-q{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:24px 0;background:none;border:none;cursor:pointer;font-family:var(--e-sans);}
.e-faq-q .e-faq-title{font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--e-navy);transition:color .2s;}
.e-faq-q:hover .e-faq-title{color:var(--e-turq-deep);}
.e-faq-toggle{width:32px;height:32px;border-radius:999px;border:1px solid rgba(11,19,43,.16);
  display:inline-flex;align-items:center;justify-content:center;flex:none;transition:all .25s;color:var(--e-navy);}
.e-faq-q[aria-expanded="true"] .e-faq-toggle{background:var(--e-turq);border-color:var(--e-turq);transform:rotate(45deg);}
.e-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.e-faq-a-inner{padding:0 0 26px;max-width:680px;}

/* ---------- PRICING TABS ---------- */
.e-tabs{display:inline-flex;padding:5px;border-radius:999px;background:rgba(11,19,43,.05);border:1px solid rgba(11,19,43,.08);}
.e-tabs button{padding:10px 22px;border-radius:999px;font-size:13px;font-weight:600;color:var(--e-on-light-dim);
  border:none;background:none;cursor:pointer;transition:all .2s;font-family:var(--e-sans);}
.e-tabs button.active{background:var(--e-navy);color:var(--e-ivory);}
.e-tab-pane{display:none;}
.e-tab-pane.active{display:block;}

/* ---------- JUMP CHIPS / GHOST PILLS ---------- */
.e-pill{padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.1);font-size:13px;
  font-weight:500;color:var(--e-ivory);text-decoration:none;display:inline-block;transition:all .2s;background:rgba(255,255,255,.02);}
.e-pill:hover{border-color:var(--e-turq);color:var(--e-turq);}
.e-pill.static{cursor:default;}

/* ---------- DASHBOARD MOCK (business page) ---------- */
.e-dash{background:var(--e-navy);border-radius:20px;padding:24px;border:1px solid var(--e-navy-line);
  box-shadow:0 40px 100px -30px rgba(11,19,43,.4);}
.e-dash-stat{padding:14px;background:rgba(255,255,255,.03);border-radius:10px;border:1px solid rgba(255,255,255,.06);}

/* ---------- RESPONSIVE HEADER/FOOTER ---------- */
@media(max-width:920px){
  /* desktop nav + inline CTAs collapse into the full-screen overlay */
  .e-nav{display:none;}
  .e-header-cta .e-btn{display:none;}
  .e-nav-toggle{display:inline-flex;position:relative;z-index:10001;cursor:pointer;}
  /* overlay is in the DOM; opacity/pointer-events gate visibility */
  .e-mobile-menu{display:flex;}
  body.e-menu-open{overflow:hidden;}
  body.e-menu-open .e-mobile-menu{opacity:1;transform:translateY(0);pointer-events:auto;}
  /* hamburger morphs into an X */
  body.e-menu-open .e-nav-toggle span{background:transparent;}
  body.e-menu-open .e-nav-toggle span::before{top:0;transform:rotate(45deg);}
  body.e-menu-open .e-nav-toggle span::after{top:0;transform:rotate(-45deg);}
  .e-footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  .e-footer-grid{grid-template-columns:1fr;}
  .e-header-inner{padding:0 22px;}
}

/* ============================================================
   GLOBAL HORIZONTAL OVERFLOW GUARD
   Avada's fusion-builder-row uses width:104%+negative-margin for
   gutter math, making the page slightly wider than the viewport.
   This causes mobile Safari to allow horizontal scrolling, which
   shifts the entire page right and clips the left edge.
   Locking overflow-x on html (not just body — Safari ignores body-only)
   prevents horizontal scroll. Also reset the row width on mobile
   so content never actually overflows.
   ============================================================ */
html { overflow-x: hidden; }

@media (max-width: 780px) {
  .fusion-builder-row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ============================================================
   AVADA OVERRIDE LAYER
   Avada outputs dynamic CSS in <head> AFTER the child stylesheet,
   which re-colours headings/containers to its own defaults.
   These rules use !important so the Emori brand always wins.
   ============================================================ */
.e-h1, .e-h2, .e-h3,
.fusion-text .e-h1, .fusion-text .e-h2, .fusion-text .e-h3 { color: var(--e-ivory) !important; }
.e-on-light .e-h1, .e-on-light .e-h2, .e-on-light .e-h3 { color: var(--e-navy) !important; }
.e-h1 .e-accent, .e-h2 .e-accent, .e-h3 .e-accent, .e-accent { color: var(--e-turq-soft) !important; }
.e-on-light .e-accent { color: var(--e-turq-deep) !important; }
.e-accent-deep { color: var(--e-turq-deep) !important; }
.e-serif { color: inherit; }
.e-h1 .e-serif, .e-h2 .e-serif, .e-h3 .e-serif { color: var(--e-turq-soft) !important; }
.e-on-light .e-h1 .e-serif, .e-on-light .e-h2 .e-serif, .e-on-light .e-h3 .e-serif { color: var(--e-turq-deep) !important; }
.e-body, .fusion-text .e-body { color: var(--e-on-dark-dim) !important; }
.e-on-light .e-body { color: var(--e-on-light-dim) !important; }
.e-lede { color: var(--e-on-dark-dim) !important; }
.e-on-light .e-lede { color: var(--e-on-light-dim) !important; }
.e-tagline { color: var(--e-turq-soft) !important; }
.e-on-light .e-tagline { color: var(--e-turq-deep) !important; }
.e-header { background: rgba(11,19,43,.92) !important; }
.e-footer { background: var(--e-navy) !important; }
.e-footer h5 { color: var(--e-on-dark-dim) !important; }
.e-footer a { color: var(--e-ivory) !important; }
.e-footer p.e-body { color: var(--e-on-dark-dim) !important; }
/* Avada adds heavy default margins to headings inside Text elements — neutralise */
.fusion-text .e-h1, .fusion-text .e-h2, .fusion-text .e-h3 { margin: 0 !important; }
.fusion-text h5 { margin: 0 0 15px !important; }

/* ============================================================
   FULL-BLEED FIX — kill the white gaps/edges
   Avada's #main wrapper has padding + white body shows around
   boxed containers. Sections are now hundred_percent="yes";
   these rules remove the surrounding white.
   ============================================================ */
body { background-color: var(--e-navy) !important; }
/* Neutralise Avada's entire wrapper chain so sections span edge-to-edge.
   chain: body > #boxed-wrapper > #wrapper > #main > #content > #post-N > .fusion-fullwidth */
#boxed-wrapper, #wrapper, #main, #content,
.fusion-body .hentry, [id^="post-"].page, [id^="post-"].type-page {
  max-width: 100% !important;
  width: 100% !important;
  background: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
#main { padding-top: 0 !important; padding-bottom: 0 !important; }
/* the section containers themselves: true full-bleed */
.fusion-fullwidth {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ============================================================
   PRICING-2 (native Avada showcase) — visual skin
   Scoped to .e-pricing2 sections + .e-pricing-tabs class on
   the fusion_tabs element. Matches v4/pricing.html target.
   ============================================================ */
.e-pricing2.e-on-light .fusion-title.e-h1 h1 {
  font-size: clamp(44px, 6.2vw, 80px) !important;
  font-weight: 600 !important;
  letter-spacing: -.04em !important;
  line-height: 1.05 !important;
  font-family: var(--e-sans) !important;
  color: var(--e-navy) !important;
}
.e-pricing2.e-on-light .fusion-title.e-h2 h2 {
  font-size: clamp(28px, 4vw, 44px) !important;
  letter-spacing: -.03em !important;
  line-height: 1.1 !important;
  font-family: var(--e-sans) !important;
  font-weight: 700 !important;
  color: var(--e-navy) !important;
}
.e-pricing2 .fusion-title.e-h3 h3 {
  font-size: 24px !important;
  letter-spacing: -.02em !important;
  font-family: var(--e-sans) !important;
  font-weight: 700 !important;
  color: var(--e-navy) !important;
  line-height: 1.15 !important;
}

/* Tabs nav -> segmented navy pill (v4 .tabs) */
.fusion-tabs.e-pricing-tabs > .nav {
  display: flex !important;
  justify-content: center !important;
  border: none !important;
  margin: 0 !important;
}
.fusion-tabs.e-pricing-tabs .nav-tabs {
  display: inline-flex !important;
  border: 1px solid rgba(11,19,43,.08) !important;
  background: rgba(11,19,43,.05) !important;
  border-radius: 999px !important;
  padding: 5px !important;
  margin: 0 auto !important;
  gap: 0 !important;
  width: auto !important;
}
.fusion-tabs.e-pricing-tabs .nav-tabs > li {
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  list-style: none !important;
  float: none !important;
}
.fusion-tabs.e-pricing-tabs .nav-tabs > li > a {
  border: none !important;
  background: transparent !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  color: #5A6685 !important;
  margin: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: background .2s, color .2s !important;
}
.fusion-tabs.e-pricing-tabs .nav-tabs > li > a:hover { color: var(--e-navy) !important; }
.fusion-tabs.e-pricing-tabs .nav-tabs > li > a > h4 {
  font-family: var(--e-sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  line-height: 1 !important;
  border: none !important;
}
.fusion-tabs.e-pricing-tabs .nav-tabs > li.active > a,
.fusion-tabs.e-pricing-tabs .nav-tabs > li > a.active {
  background: var(--e-navy) !important;
  color: var(--e-ivory) !important;
}
.fusion-tabs.e-pricing-tabs .nav-tabs > li.active > a > h4,
.fusion-tabs.e-pricing-tabs .nav-tabs > li > a.active > h4 {
  color: var(--e-ivory) !important;
}

/* Tab content area */
.fusion-tabs.e-pricing-tabs .tab-content {
  margin-top: 34px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
.fusion-tabs.e-pricing-tabs .tab-pane {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* Card columns inside tabs — flex column for bottom-aligned buttons */
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-builder-row-inner {
  align-items: stretch !important;
}
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion_builder_column_inner {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
}
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion_builder_column_inner > .fusion-column-wrapper {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

/* Stretch checklist + bottom-align button */
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion_builder_column_inner .fusion-checklist {
  flex: 1 1 auto !important;
}
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion_builder_column_inner .fusion-button-wrapper {
  margin-top: auto !important;
}

/* Allow badge inside fusion_text to anchor to the column, not the text wrapper */
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion_builder_column_inner .fusion-text {
  position: static !important;
}

/* Checklist rows -> v4 round-tick look */
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  background: none !important;
}
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist .fusion-li-item,
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: var(--e-navy) !important;
  padding: 0 !important;
  margin: 0 0 11px !important;
  border: none !important;
  background: none !important;
  line-height: 1.45 !important;
}
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist .fusion-li-item:last-child,
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist li:last-child { margin-bottom: 0 !important; }

/* Tick icon -> 18px round turquoise badge with tiny check */
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist .icon-wrapper,
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist li > i {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  border-radius: 999px !important;
  background: var(--e-turq) !important;
  color: #FFFFFF !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  line-height: 1 !important;
  flex: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist .icon-wrapper i {
  font-size: 10px !important;
  color: #FFFFFF !important;
}

/* "Off" rows (fa-minus icon) -> muted text + ghost tick */
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist li:has(i.fa-minus),
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist .fusion-li-item:has(i.fa-minus) {
  color: rgba(11,19,43,.38) !important;
}
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist li:has(i.fa-minus) > i,
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist li:has(i.fa-minus) .icon-wrapper,
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist li > i.fa-minus,
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion-checklist li i[class*="fa-minus"] {
  background: transparent !important;
  border: 1px solid rgba(11,19,43,.16) !important;
  color: rgba(11,19,43,.4) !important;
}

/* Card column background to match v4 ivory-lift if not set inline */
.e-pricing2 .fusion-tabs.e-pricing-tabs .fusion_builder_column_inner {
  background: var(--e-ivory-lift);
}

/* Fine-print bar — give it a touch more breathing room */
.e-pricing2 .fusion-tabs.e-pricing-tabs .tab-pane > .fusion-text > div[style*="space-between"] {
  margin-top: 34px;
}

/* Native pill buttons — minor polish */
.e-pricing2 .fusion-button {
  font-family: var(--e-sans) !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
}

/* ============================================================
   PRICING-2 — corrections pass (alignment + grid + padding)
   ============================================================ */

/* 1. Constrain section rows + side padding so content doesn't hit viewport edges */
.e-pricing2 > .fusion-builder-row {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
@media (max-width: 640px) {
  .e-pricing2 > .fusion-builder-row {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* 2. Force-center the hero lede paragraph */
.e-pricing2 .fusion-text > p.e-lede,
.e-pricing2 .fusion-text > .e-lede {
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  display: block !important;
}

/* 3. Card grid — convert the row-inner inside tabs to a clean 3-col CSS grid
      with consistent 20px gap, overriding Avada's wide percent gutters */
.e-pricing2 .fusion-tabs.e-pricing-tabs .tab-pane .fusion-builder-row-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media (max-width: 880px) {
  .e-pricing2 .fusion-tabs.e-pricing-tabs .tab-pane .fusion-builder-row-inner {
    grid-template-columns: 1fr !important;
  }
}

/* Make each card column ignore Avada's percent width/margin/spacing — grid handles cells */
.e-pricing2 .fusion-tabs.e-pricing-tabs .tab-pane .fusion-builder-row-inner > .fusion_builder_column_inner {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  flex: none !important;
  --awb-spacing-right-large: 0 !important;
  --awb-spacing-left-large: 0 !important;
  --awb-spacing-right-medium: 0 !important;
  --awb-spacing-left-medium: 0 !important;
  --awb-spacing-right-small: 0 !important;
  --awb-spacing-left-small: 0 !important;
  --awb-margin-bottom-large: 0 !important;
  --awb-margin-bottom-medium: 0 !important;
  --awb-margin-bottom-small: 0 !important;
  --awb-width-large: 100% !important;
  --awb-width-medium: 100% !important;
  --awb-width-small: 100% !important;
}

/* Tabs container shouldn't override the row's max-width — keep the row constraints */
.e-pricing2 .fusion-tabs.e-pricing-tabs {
  width: 100% !important;
}

/* Hero column needs no extra left/right padding (row already adds it) */
.e-pricing2.e-on-light > .fusion-builder-row > .fusion-layout-column {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* FAQ teaser — give the two split columns inner breathing room */
.e-pricing2.e-on-light > .fusion-builder-row > .fusion-layout-column.fusion_builder_column_3_5 {
  padding-right: 40px !important;
}
@media (max-width: 880px) {
  .e-pricing2.e-on-light > .fusion-builder-row > .fusion-layout-column.fusion_builder_column_3_5 {
    padding-right: 0 !important;
    margin-bottom: 24px !important;
  }
}

/* =============================================================
   PHASE-2 NATIVE: FAQ PAGE SKIN  (scoped to .e-faqp)
   v1.2.0 — added 2026-05-15
   ============================================================= */

/* Constrain row width and add side padding (hundred_percent containers have no inner padding) */
.e-faqp > .fusion-builder-row {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

/* Sidebar: sticky in scroll, lighter background card */
.e-faqp .e-faq-side > .fusion-column-wrapper { position: sticky; top: 96px; }
@media (max-width: 880px) {
  .e-faqp .e-faq-side > .fusion-column-wrapper { position: static; }
  .e-faqp .e-faq-main { padding-left: 0 !important; margin-top: 32px; }
}

/* Native fusion_accordion skin — match v4 plus/cross design */
.e-faqp .e-faq-acc .fusion-panel {
  border: none !important;
  border-bottom: 1px solid rgba(11,19,43,.09) !important;
  border-radius: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.e-faqp .e-faq-acc .panel-heading { padding: 0 !important; background: transparent !important; }
.e-faqp .e-faq-acc .panel-title { margin: 0 !important; }
.e-faqp .e-faq-acc .panel-title > a {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 22px 0 !important;
  font-family: var(--e-sans) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  color: var(--e-navy) !important;
  text-decoration: none !important;
  background: transparent !important;
}
.e-faqp .e-faq-acc .panel-title > a:hover .fusion-toggle-heading { color: var(--e-turq-deep) !important; }
.e-faqp .e-faq-acc .fusion-toggle-heading { flex: 1; }

/* Chevron arrow icon — strip Avada's box, draw a clean CSS chevron */
.e-faqp .e-faq-acc .fusion-toggle-icon-wrapper {
  width: 20px !important;
  height: 20px !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
  position: relative !important;
  transition: none !important;
}
/* Kill every child Avada renders inside the wrapper — keep only ::before chevron */
.e-faqp .e-faq-acc .fusion-toggle-icon-wrapper > * {
  display: none !important;
  font-size: 0 !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}
/* CSS-drawn chevron > */
.e-faqp .e-faq-acc .fusion-toggle-icon-wrapper::before {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  border-right: 2px solid rgba(11,19,43,.45);
  border-bottom: 2px solid rgba(11,19,43,.45);
  transform: rotate(-45deg);
  transition: transform .25s, border-color .25s;
  flex: none;
}
/* Open state — chevron points down */
.e-faqp .e-faq-acc .panel-title > a:not(.collapsed) .fusion-toggle-icon-wrapper::before {
  transform: rotate(45deg);
  border-color: var(--e-turq-deep);
}

/* Content panel */
.e-faqp .e-faq-acc .panel-collapse { border: none !important; }
.e-faqp .e-faq-acc .panel-body {
  padding: 0 0 26px 0 !important;
  border: none !important;
  background: transparent !important;
  font-family: var(--e-sans) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--e-on-light-dim) !important;
  max-width: 720px !important;
}
.e-faqp .e-faq-acc .panel-body a {
  color: var(--e-turq-deep) !important;
  border-bottom: 2px solid var(--e-turq) !important;
  text-decoration: none !important;
}

/* On-dark CTA section: light heading + body */
.e-faqp.e-on-dark .fusion-title.e-on-dark-h h2,
.e-faqp .fusion-title.e-on-dark-h h2 {
  color: var(--e-ivory) !important;
  font-family: var(--e-sans) !important;
}
.e-faqp .e-on-dark-body { color: var(--e-on-dark-dim) !important; }
.e-faqp .e-cta-btn-row { gap: 14px !important; }

/* =============================================================
   PHASE-2 NATIVE: BUSINESS PAGE SKIN  (scoped to .e-bizp)
   v1.2.0
   ============================================================= */

.e-bizp > .fusion-builder-row {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

/* On-dark title sizes — make sure all heading tags inside native fusion_title turn ivory */
.e-bizp.e-on-dark .fusion-title.e-on-dark-h h1,
.e-bizp.e-on-dark .fusion-title.e-on-dark-h h2,
.e-bizp.e-on-dark .fusion-title.e-on-dark-h h3,
.e-bizp .fusion-title.e-on-dark-h h1,
.e-bizp .fusion-title.e-on-dark-h h2,
.e-bizp .fusion-title.e-on-dark-h h3 {
  color: var(--e-ivory) !important;
  font-family: var(--e-sans) !important;
}
.e-bizp .e-on-dark-body { color: var(--e-on-dark-dim) !important; }
.e-bizp .e-on-dark-body a { color: var(--e-turq) !important; }

/* CTA button row spacing on hero */
.e-bizp .e-cta-btn-row { display: flex !important; gap: 14px !important; flex-wrap: wrap !important; }
.e-bizp .e-cta-btn-row .fusion-button-wrapper { margin: 0 !important; }

/* Equalize card heights for 3-up hero row and verticals grids */
.e-bizp .fusion-layout-column .fusion-column-wrapper { height: 100%; }

/* On-light section needs the same gutter treatment as pricing for the 3_5/2_5 split */
.e-bizp.e-on-light .fusion_builder_column_3_5 > .fusion-column-wrapper { padding-right: 0 !important; }

/* Quote section — center the testimonial fusion_text without inheriting Avada paragraph margin */
.e-bizp .e-biz-quote { font-family: var(--e-serif) !important; }

/* Talk-to-us gradient panel: when wrapping fusion_text opens a <div>, fusion_builder_row_inner inside renders fine.
   The inner row needs to NOT use Avada's 104% inline width hack inside our gradient panel. Use grid. */
.e-bizp .e-biz-talk-wrap .fusion-builder-row-inner {
  display: grid !important;
  grid-template-columns: 3fr 2fr !important;
  gap: 32px !important;
  width: 100% !important;
  margin: 0 !important;
  align-items: center;
}
.e-bizp .e-biz-talk-wrap .fusion_builder_column_inner {
  --awb-spacing-left-large: 0 !important;
  --awb-spacing-right-large: 0 !important;
  --awb-spacing-left-medium: 0 !important;
  --awb-spacing-right-medium: 0 !important;
  --awb-spacing-left-small: 0 !important;
  --awb-spacing-right-small: 0 !important;
  --awb-width-large: 100% !important;
  --awb-width-medium: 100% !important;
}
@media (max-width: 880px) {
  .e-bizp .e-biz-talk-wrap .fusion-builder-row-inner {
    grid-template-columns: 1fr !important;
  }
}

/* On the on-light section, the checklist should look like the v4 design (turquoise round ticks) */
.e-bizp.e-on-light .fusion-checklist li > i {
  width: 18px !important; height: 18px !important;
  border-radius: 999px !important;
  background: var(--e-turq) !important;
  color: #fff !important;
  font-size: 10px !important;
}

/* =============================================================
   PHASE-2 NATIVE: USE-CASES PAGE SKIN  (scoped to .e-ucp)
   v1.2.0
   ============================================================= */

.e-ucp > .fusion-builder-row {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

.e-ucp.e-on-dark .fusion-title.e-on-dark-h h1,
.e-ucp.e-on-dark .fusion-title.e-on-dark-h h2,
.e-ucp.e-on-dark .fusion-title.e-on-dark-h h3 {
  color: var(--e-ivory) !important;
  font-family: var(--e-sans) !important;
}
.e-ucp .e-on-dark-body { color: var(--e-on-dark-dim) !important; }

/* Reversed use-case rows — image on right, text on left when class .is-reversed is set */
.e-ucp.e-uc-row.is-reversed .fusion-builder-row {
  flex-direction: row-reverse !important;
}

/* For the use-case rows where text goes on the LEFT (is-reversed), the inner padding should be on the LEFT column NOT right; CSS overrides ensure consistent text gutter regardless */
.e-ucp.e-uc-row .fusion_builder_column_1_2 + .fusion_builder_column_1_2 {
  /* on standard layout, second col gets left padding via shortcode */
}

@media (max-width: 880px) {
  .e-ucp.e-uc-row.is-reversed .fusion-builder-row {
    flex-direction: column !important;
  }
  .e-ucp.e-uc-row .fusion_builder_column_1_2 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 20px !important;
  }
}

/* CTA button row */
.e-ucp .e-cta-btn-row { gap: 14px !important; }

/* =============================================================
   PHASE-2 NATIVE: HOME PAGE SKIN  (scoped to .e-homep)
   v1.2.0
   ============================================================= */

.e-homep > .fusion-builder-row {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

.e-homep.e-on-dark .fusion-title.e-on-dark-h h1,
.e-homep.e-on-dark .fusion-title.e-on-dark-h h2,
.e-homep.e-on-dark .fusion-title.e-on-dark-h h3 {
  color: var(--e-ivory) !important;
  font-family: var(--e-sans) !important;
}
.e-homep .e-on-dark-body { color: var(--e-on-dark-dim) !important; }
.e-homep .e-cta-btn-row { gap: 14px !important; }

/* Audience cards need position:relative so the radial-gradient div positions inside them */
.e-homep .fusion_builder_column_1_2 > .fusion-column-wrapper { position: relative; overflow: hidden; }

/* Hub card — full clickable anchor with hover lift */
.e-homep .e-hub-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 230px;
  padding: 28px;
  background: rgba(255,248,238,0.03);
  border: 1px solid rgba(255,248,238,0.08);
  border-radius: 18px;
  text-decoration: none !important;
  color: inherit;
  transition: transform .25s, border-color .25s, background .25s;
  height: 100%;
}
.e-homep .e-hub-card:hover {
  transform: translateY(-3px);
  border-color: rgba(59,167,199,0.45);
  background: rgba(59,167,199,0.06);
}
.e-homep .e-hub-h {
  margin: 14px 0 10px 0 !important;
  font-family: var(--e-sans);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--e-ivory);
}
.e-homep .e-hub-p {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--e-on-dark-dim);
}
.e-homep .e-hub-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
}
.e-homep .e-hub-arrow { color: var(--e-turq); font-size: 18px; }

/* Hero row: prevent the phone column from overflowing on smaller screens */
@media (max-width: 880px) {
  .e-homep .fusion_builder_column_3_5,
  .e-homep .fusion_builder_column_2_5 {
    padding: 0 !important;
  }
}

/* Closing CTA — make the column wrapper a wrap-row so buttons sit side-by-side centered.
   The column is flex-direction:column by default which forces children to stack. */
.e-homep .e-home-cta > .fusion-column-wrapper {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
}
/* Force non-button children to take full-row width so they don't sit beside buttons */
.e-homep .e-home-cta > .fusion-column-wrapper > * {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}
/* Buttons render as bare <a class="fusion-button"> — keep them at natural width so two fit on the same row */
.e-homep .e-home-cta > .fusion-column-wrapper > .fusion-button {
  flex: 0 0 auto !important;
  max-width: none !important;
  margin: 0 7px !important;
}

/* =============================================================
   GLOBAL: boxed content within full-width containers   v1.2.1
   The fusion-builder-row inside has inline width:104%!important so
   we can't constrain it directly. Instead, pad the CONTAINER so its
   inner width equals 1200px centered, while the background still
   spans full viewport. Applied to every Phase-2 page.
   ============================================================= */
.e-homep.fusion-fullwidth,
.e-bizp.fusion-fullwidth,
.e-ucp.fusion-fullwidth,
.e-faqp.fusion-fullwidth,
.e-pricing2.fusion-fullwidth {
  padding-left: max(28px, calc((100% - 1200px) / 2)) !important;
  padding-right: max(28px, calc((100% - 1200px) / 2)) !important;
}

/* Cancel the earlier row max-width attempt (the row will now naturally fit) */
.e-homep > .fusion-builder-row,
.e-bizp > .fusion-builder-row,
.e-ucp > .fusion-builder-row,
.e-faqp > .fusion-builder-row,
.e-pricing2 > .fusion-builder-row {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (max-width: 640px) {
  .e-homep.fusion-fullwidth,
  .e-bizp.fusion-fullwidth,
  .e-ucp.fusion-fullwidth,
  .e-faqp.fusion-fullwidth,
  .e-pricing2.fusion-fullwidth {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* =============================================================
   SUB-HEADING IN SERIF ITALIC  (class: e-h-sub)   v1.2.2
   Pablo's request: split the serif-accent text out of the main h1/h2
   into a SEPARATE fusion_title element with class="e-h-sub" so each
   line is editable on its own from the Avada UI.
   ============================================================= */
.fusion-title.e-h-sub { margin: 0 !important; }
.fusion-title.e-h-sub h1,
.fusion-title.e-h-sub h2,
.fusion-title.e-h-sub h3 {
  font-family: var(--e-serif) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* On dark backgrounds the accent is bright turquoise */
.e-homep .fusion-title.e-h-sub h1,
.e-homep .fusion-title.e-h-sub h2,
.e-homep .fusion-title.e-h-sub h3,
.e-bizp .fusion-title.e-h-sub h1,
.e-bizp .fusion-title.e-h-sub h2,
.e-bizp .fusion-title.e-h-sub h3,
.e-ucp .fusion-title.e-h-sub h1,
.e-ucp .fusion-title.e-h-sub h2,
.e-ucp .fusion-title.e-h-sub h3,
.e-faqp.e-on-dark .fusion-title.e-h-sub h1,
.e-faqp.e-on-dark .fusion-title.e-h-sub h2 {
  color: var(--e-turq) !important;
}

/* On light backgrounds the accent is deeper turquoise */
.e-bizp.e-on-light .fusion-title.e-h-sub h1,
.e-bizp.e-on-light .fusion-title.e-h-sub h2,
.e-faqp.e-on-light .fusion-title.e-h-sub h1,
.e-faqp.e-on-light .fusion-title.e-h-sub h2,
.e-pricing2 .fusion-title.e-h-sub h1,
.e-pricing2 .fusion-title.e-h-sub h2 {
  color: var(--e-turq-deep) !important;
}

/* =============================================================
   MOBILE RESPONSIVE — force-stack cards at narrow widths   v1.3.0
   Avada's --awb-width-small:100% isn't activating at iPhone widths
   for our Phase-2 pages, so we force columns to stack ourselves.
   ============================================================= */
@media (max-width: 780px) {
  /* Force all Phase-2 page columns + inner columns to full-width stack */
  .e-homep .fusion-flex-column,
  .e-homep .fusion_builder_column_inner,
  .e-bizp .fusion-flex-column,
  .e-bizp .fusion_builder_column_inner,
  .e-ucp .fusion-flex-column,
  .e-ucp .fusion_builder_column_inner,
  .e-faqp .fusion-flex-column,
  .e-pricing2 .fusion-flex-column,
  .e-pricing2 .fusion_builder_column_inner {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    --awb-width-large: 100% !important;
    --awb-width-medium: 100% !important;
    --awb-spacing-left-large: 0 !important;
    --awb-spacing-right-large: 0 !important;
    --awb-spacing-left-medium: 0 !important;
    --awb-spacing-right-medium: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Pricing-2 native cards: collapse the CSS grid to single column */
  .e-pricing2 .fusion-tabs.e-pricing-tabs .tab-pane .fusion-builder-row-inner {
    grid-template-columns: 1fr !important;
  }

  /* DON'T touch .fusion-column-wrapper padding here — Avada applies the column shortcode's
     padding_top/right/bottom/left to it, which IS the card's internal breathing room. */

  /* Hub cards on mobile — let internal flex/space-between actually breathe */
  .e-homep .e-hub-card {
    min-height: auto;
  }
  .e-homep .e-hub-foot {
    gap: 12px;
    flex-wrap: wrap;
  }

  /* Container side padding tightens on small screens */
  .e-homep.fusion-fullwidth,
  .e-bizp.fusion-fullwidth,
  .e-ucp.fusion-fullwidth,
  .e-faqp.fusion-fullwidth,
  .e-pricing2.fusion-fullwidth {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Use-cases is-reversed rows: undo the row-reverse on mobile so image always comes first */
  .e-ucp.e-uc-row.is-reversed .fusion-builder-row {
    flex-direction: column !important;
  }

  /* Headings + body that were sized for desktop — bring sizes down on mobile */
  .e-homep .fusion-title.e-h1 h1,
  .e-bizp .fusion-title.e-h1 h1,
  .e-ucp .fusion-title.e-h1 h1,
  .e-faqp .fusion-title.e-h1 h1,
  .e-pricing2 .fusion-title.e-h1 h1,
  .e-homep .fusion-title.e-h-sub h1,
  .e-bizp .fusion-title.e-h-sub h1,
  .e-ucp .fusion-title.e-h-sub h1,
  .e-faqp .fusion-title.e-h-sub h1,
  .e-pricing2 .fusion-title.e-h-sub h1 {
    font-size: 40px !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
  }
  .e-homep .fusion-title.e-h2 h2,
  .e-bizp .fusion-title.e-h2 h2,
  .e-ucp .fusion-title.e-h2 h2,
  .e-faqp .fusion-title.e-h2 h2,
  .e-pricing2 .fusion-title.e-h2 h2,
  .e-homep .fusion-title.e-h-sub h2,
  .e-bizp .fusion-title.e-h-sub h2,
  .e-ucp .fusion-title.e-h-sub h2,
  .e-faqp .fusion-title.e-h-sub h2,
  .e-pricing2 .fusion-title.e-h-sub h2 {
    font-size: 32px !important;
    line-height: 1.15 !important;
    letter-spacing: -.5px !important;
  }
}

