/* ============================================================
   ACTIVAIRE DESIGN SYSTEM  (av-*)
   ------------------------------------------------------------
   Codified from the live activaire.com (activaire-chisel theme),
   then extended for Curator Now's content-dense vertical pages.

   FAITHFUL to activaire.com:
     · Palette  purple #6226AF · teal #3BABA1 · navy #030416 · amber #FFBF00
     · Type     Tondo, line-height 1.15, tight tracking
     · Container 1160px           · Buttons 8px radius, teal
     · Cards    16px radius, soft  · Shadow 0 20px 30px rgba (soft, never offset)
     · FAQ      teal bold accordion labels
   EXTENDED (no activaire equivalent — built from the same DNA):
     · --av-tint light surface + --av-ink text, for long content sections
     · Fluid display type for marketing heroes
     · av-stat, av-chip, av-bento, av-timeline components
   ============================================================ */

:root{
  /* palette */
  --av-purple:#6226AF;  --av-purple-700:#54219A; --av-purple-900:#3D1574;
  --av-navy:#0B0620;     --av-teal:#3BABA1;  --av-teal-300:#6FCCC2; --av-amber:#FFBF00;
  --av-orange:#FF5A3C;   --av-blue:#0B72CE;  --av-grape:#C361E9;
  --av-white:#fff;       --av-tint:#F4EFFA;  --av-ink:#1B0B33;  --av-ink-60:rgba(27,11,51,.62);
  --av-white-70:rgba(255,255,255,.72); --av-white-55:rgba(255,255,255,.55);

  /* type */
  --av-font:'tondo',system-ui,-apple-system,Segoe UI,sans-serif;
  --av-h1:clamp(2.7rem,6.2vw,4.6rem);
  --av-h2:clamp(1.95rem,4vw,3rem);
  --av-h3:1.5rem;
  --av-eyebrow:.82rem;

  /* space + shape */
  --av-wrap:1160px;
  --av-pad:clamp(64px,9vh,120px);   /* section vertical rhythm (≈ activaire 10vh) */
  --av-r-btn:.5rem;   --av-r-card:1rem;  --av-r-lg:1.75rem;
  --av-shadow:0 20px 40px rgba(11,6,32,.18);
  --av-shadow-sm:0 8px 22px rgba(11,6,32,.12);
}

/* ---------- base ---------- */
*{box-sizing:border-box}
body.av{margin:0;font-family:var(--av-font);background:var(--av-purple);color:var(--av-white);
  line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.av h1,.av h2,.av h3,.av h4{font-weight:700;line-height:1.12;letter-spacing:-.022em;margin:0}
.av h1{font-size:var(--av-h1)} .av h2{font-size:var(--av-h2)} .av h3{font-size:var(--av-h3)}
.av p{margin:0;line-height:1.55}
.av a{color:inherit;text-decoration:none}

/* ---------- layout ---------- */
.av-wrap{max-width:var(--av-wrap);margin:0 auto;padding:0 28px}
.av-section{padding:var(--av-pad) 0}
.av-section--purple{background:var(--av-purple);color:#fff}
.av-section--navy{background:var(--av-navy);color:#fff}
.av-section--tint{background:var(--av-tint);color:var(--av-ink)}          /* extension */
.av-section--tint h1,.av-section--tint h2,.av-section--tint h3{color:var(--av-ink)}
.av-round-top{border-radius:var(--av-r-lg) var(--av-r-lg) 0 0}

/* ---------- eyebrow ---------- */
.av-eyebrow{display:inline-block;font-size:var(--av-eyebrow);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--av-teal);margin-bottom:22px}

/* ---------- headline accents ---------- */
.av h1 .teal,.av h2 .teal{color:var(--av-teal)}
.av-underline{background-image:linear-gradient(transparent 68%,rgba(59,171,161,.32) 68%,rgba(59,171,161,.32) 92%,transparent 92%)}

/* ---------- buttons (faithful .c-btn) ---------- */
.av-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:inherit;font-weight:700;font-size:1rem;cursor:pointer;border:0;
  padding:.78rem 1.5rem;border-radius:var(--av-r-btn);transition:transform .2s,filter .2s,background .2s}
/* note: 2-class selectors so button colors beat the `.av a{color:inherit}` rule on color sections */
.av-btn.av-btn--primary{background:var(--av-teal);color:#fff;box-shadow:0 8px 20px rgba(59,171,161,.28)}
.av-btn.av-btn--primary:hover{transform:translateY(-2px);filter:brightness(1.07)}
.av-btn.av-btn--ghost{background:transparent;border:1.5px solid var(--av-teal);color:#fff}
.av-btn.av-btn--ghost:hover{background:rgba(59,171,161,.14)}
.av-btn.av-btn--white{background:#fff;color:var(--av-ink)}
.av-link{font-weight:700;color:#fff;border-bottom:2px solid var(--av-teal);padding-bottom:3px}

/* ---------- card (faithful .c-card) ---------- */
.av-card{background:#fff;color:var(--av-ink);border-radius:var(--av-r-card);
  padding:2rem;box-shadow:var(--av-shadow);border:1px solid rgba(11,6,32,.05)}
.av-card__title{font-size:1.25rem;font-weight:700;line-height:1.15;margin-bottom:.6rem;color:var(--av-ink)}
.av-card__body{color:var(--av-ink-60);font-size:.98rem}

/* ---------- stat (extension, on-system) ---------- */
.av-stat .num{font-size:clamp(2.6rem,5vw,3.4rem);font-weight:700;color:var(--av-teal);line-height:1;letter-spacing:-.03em}
.av-stat .lbl{font-weight:700;font-size:1.1rem;margin:.7rem 0 .4rem;color:var(--av-ink)}
.av-stat .src{font-size:.82rem;color:var(--av-ink-60)}

/* ---------- chip / pill (extension) ---------- */
.av-chip{display:inline-flex;align-items:center;border:1.5px solid rgba(255,255,255,.28);
  border-radius:999px;padding:11px 20px;font-weight:700;font-size:.98rem;color:#fff}
.av-chip--on{background:var(--av-teal);border-color:var(--av-teal)}
.av-section--tint .av-chip{border-color:rgba(27,11,51,.16);color:var(--av-ink)}

/* ---------- grids ---------- */
.av-grid{display:grid;gap:22px}
.av-grid--3{grid-template-columns:repeat(3,1fr)}
.av-grid--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:820px){.av-grid--3,.av-grid--2{grid-template-columns:1fr}}

/* ---------- accordion FAQ (faithful .c-accordion) ---------- */
.av-acc{border-top:1px solid rgba(27,11,51,.12)}
.av-acc details{border-bottom:1px solid rgba(27,11,51,.12)}
.av-acc summary{cursor:pointer;list-style:none;font-weight:700;font-size:1.15rem;color:var(--av-teal);
  padding:1.4rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.av-acc summary::-webkit-details-marker{display:none}
.av-acc summary::after{content:'+';font-size:1.5rem;color:var(--av-teal);transition:transform .2s}
.av-acc details[open] summary::after{transform:rotate(45deg)}
.av-acc .ans{color:var(--av-ink-60);padding:0 0 1.5rem;max-width:62ch}

/* ---------- logo strip ---------- */
.av-logos{display:flex;align-items:center;gap:48px;flex-wrap:wrap}
.av-logos img{height:30px;filter:brightness(0) invert(1);opacity:.78}
.av-section--tint .av-logos img{filter:none;opacity:.55}

/* ---------- nav ---------- */
.av-nav{position:sticky;top:0;z-index:60;background:rgba(98,38,175,.9);backdrop-filter:blur(10px)}
.av-nav__in{max-width:var(--av-wrap);margin:0 auto;padding:0 28px;height:80px;display:flex;align-items:center;justify-content:space-between}
.av-nav__logo{height:26px;display:block}
.av-nav__links{display:flex;align-items:center;gap:34px}
.av-nav__links a{color:#fff;font-weight:500;opacity:.92}
.av-nav__links a:hover{opacity:1}
.av-nav__links a.av-btn--white{color:var(--av-ink);opacity:1}
.av-nav__links > a.active{opacity:1;color:var(--av-teal)}
@media(max-width:760px){.av-nav__links a:not(.av-btn){display:none}}

/* ---------- nav dropdown ---------- */
.nav-drop{position:relative;display:flex;align-items:center}
.nav-drop__btn{background:none;border:0;font-family:inherit;font-size:inherit;font-weight:500;color:#fff;opacity:.92;cursor:pointer;display:inline-flex;align-items:center;gap:.38em;padding:0;line-height:1}
.nav-drop__btn:hover{opacity:1}
.nav-drop__chevron{transition:transform .18s}
.nav-drop.open .nav-drop__chevron{transform:rotate(180deg)}
.nav-drop__menu{display:none;position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(11,6,32,.22),0 0 0 1px rgba(11,6,32,.06);padding:6px 0;min-width:196px;z-index:200}
.nav-drop.open .nav-drop__menu{display:block}
.nav-drop__menu a{display:block;padding:9px 20px;font-weight:600;font-size:.95rem;color:var(--av-ink);white-space:nowrap;transition:background .12s,color .12s}
.nav-drop__menu a:hover{background:var(--av-tint);color:var(--av-purple)}
.nav-drop__menu a.active{background:var(--av-teal);color:#fff;padding:9px 20px}
.nav-drop__menu a.active:hover{background:var(--av-teal)}
@media(max-width:760px){.nav-drop{display:none}}

/* ---------- footer ---------- */
.av-footer{background:var(--av-navy);padding:72px 0 0;color:#fff}
.av-footer h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--av-teal-300);margin:0 0 16px}
.av-footer h5{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--av-purple);margin:24px 0 10px}
.av-footer a{display:block;color:var(--av-white-70);margin-bottom:10px;text-decoration:none}
.av-footer a:hover{color:#fff}
.av-footer__logo{height:24px;filter:brightness(0) invert(1);display:block;margin-bottom:16px}
.av-footer__tagline{font-size:.86rem;color:var(--av-white-55);line-height:1.65;max-width:22ch;margin:0}
.av-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 0.8fr;gap:48px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08)}
@media(max-width:1000px){.av-footer__grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:600px){.av-footer__grid{grid-template-columns:1fr 1fr}}
.av-footer__bottom{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:16px;flex-wrap:wrap}
.av-footer__copy{font-size:.82rem;color:var(--av-white-55);margin:0}
.av-footer__legal{display:flex;align-items:center;gap:20px}
.av-footer__legal a{color:var(--av-white-55);font-size:.82rem;display:inline-flex;align-items:center;margin-bottom:0}
.av-footer__legal a:hover{color:#fff}
/* legacy cols layout (keep for backward compat) */
.av-footer__cols{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}
.av-footer__copy--legacy{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem;color:var(--av-white-55)}

/* ---------- motion (faithful .c-anim--float) ---------- */
@media(prefers-reduced-motion:no-preference){
  .av-float{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
  .av-float.in{opacity:1;transform:none}
}

/* ---------- extended palette sections + accents ---------- */
.av-section--amber{background:var(--av-amber);color:var(--av-navy)}
.av-section--amber h1,.av-section--amber h2,.av-section--amber h3{color:var(--av-navy)}
.av-section--blue{background:var(--av-blue);color:#fff}
.av-section--orange{background:var(--av-orange);color:#fff}
.c-teal{color:var(--av-teal)} .c-amber{color:var(--av-amber)} .c-orange{color:var(--av-orange)} .c-blue{color:var(--av-blue)}

/* pill eyebrow: dash + label on a dark capsule (extension) */
.av-eyebrow--pill{background:var(--av-navy);color:#fff;padding:9px 18px 9px 15px;border-radius:999px;
  display:inline-flex;align-items:center;gap:11px;margin-bottom:0}
.av-eyebrow--pill::before{content:"";width:18px;height:2px;background:var(--av-teal);border-radius:2px}

/* FAQ capsules: white pills on a color band (the contrast you liked) */
.av-faq-caps{max-width:880px;margin:0 auto;text-align:left}
.av-faq-caps details{background:#fff;border-radius:18px;margin-bottom:14px;box-shadow:0 8px 22px rgba(11,6,32,.13);overflow:hidden}
.av-faq-caps summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  gap:1rem;padding:1.25rem 1.6rem;font-weight:700;font-size:1.12rem;color:var(--av-navy)}
.av-faq-caps summary::-webkit-details-marker{display:none}
.av-faq-caps summary::after{content:"+";flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  background:var(--av-navy);color:var(--av-amber);display:grid;place-items:center;font-size:1.3rem;line-height:1;transition:transform .2s}
.av-faq-caps details[open] summary::after{content:"–"}
.av-faq-caps .ans{padding:0 1.6rem 1.45rem;color:var(--av-ink-60);max-width:70ch}
