/* ClerkMinutes — sitewide brand overrides, loaded by every page after the Framer CSS.

   HEADER: one look on every page. The reference is the main navbar (Framer component
   framer-BZkuO, fixed to the top of the main layout template), with the style guide's 46px pill
   buttons from the "Buttons" section further down:
     ≥ 1200px  "Desktop pagetop"  padding 24px 80px + 46px buttons → 94px bar, logo at x 80 / y 30.5
     <  1200px  "Phone pagetop"    padding 20px 24px + 33px logo    → 73px bar, logo at x 24 / y 20
   Logo lockup: the gradient mark at 30×33, 8px, "ClerkMinutes" in Plus Jakarta Sans 800 at 24px
   (20px on phones) with -0.03em tracking, and the ® as a 10px/300 superscript.
   Selectors target Framer's own element names and component classes, so nothing in the hydrated
   markup has to change. The hand-built 404 page reproduces the same header in its own CSS
   (assets/site/404/404.css) — keep the two in step. */

/* ======================================================================================
   1. Logo lockup — every navbar and the footer
   Lockups come in three shapes in the export:
   (a) main navbar + footer:   <Logo> <SVG mark> <div> <Logo Text>ClerkMinutes <Logo Text>® </div> </Logo>
   (b) campaign navbar desktop: <Logo> <SVG mark> <Logo Text>ClerkMinutes <Logo Text>® </Logo>
   (c) landing + campaign navbars on tablet/phone: <Logo> <SVG mark> <Logo Text>ClerkMinutes </Logo>
       (no ® block; /tape-recorder carries the ® as a <span> inside the wordmark instead)
   ====================================================================================== */

/* --- Nav lockup container: mark 30×33, 8px to the wordmark, everything vertically centered --- */
[data-framer-name="Logo"]:has([data-framer-component-type="SVG"]):has([data-framer-name="Logo Text"]) {
  gap: 0 !important;
  column-gap: 0 !important;
  align-items: center !important;
}
[data-framer-name="Logo"]:has([data-framer-name="Logo Text"]) > [data-framer-component-type="SVG"] {
  width: 30px !important;
  height: 33px !important;
  flex: none !important;
  margin-right: 8px !important;
}
/* (a) Framer gives the wordmark row a fixed height with top alignment, which pushes the wordmark
   above the mark's center. Let the row size to its text and center it on the mark; the ® block
   keeps align-self: flex-start, so it still sits as a superscript. */
[data-framer-name="Logo"] > div:has(> [data-framer-name="Logo Text"]) {
  height: auto !important;
  min-height: 0 !important;
  align-items: center !important;
}

/* --- Wordmark: every Logo Text block (the ® block is re-styled right below) ---------------- */
[data-framer-name="Logo"] [data-framer-name="Logo Text"] p.framer-text {
  --framer-font-size: 24px !important;
  --framer-font-weight: 800 !important;
  --framer-letter-spacing: -0.03em !important;
  --framer-line-height: 1 !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* --- Registered mark: the Logo Text that follows the wordmark, as a small superscript --------- */
[data-framer-name="Logo"] [data-framer-name="Logo Text"] ~ [data-framer-name="Logo Text"] {
  align-self: flex-start !important;
  margin-left: 1px !important;
}
[data-framer-name="Logo"] [data-framer-name="Logo Text"] ~ [data-framer-name="Logo Text"] p.framer-text {
  --framer-font-size: 10px !important;
  --framer-font-weight: 300 !important;
  --framer-letter-spacing: 0 !important;
  --framer-line-height: 1 !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}
/* (b) When the ® block sits beside the mark instead of inside a wordmark row, the row is the
   mark's 33px: push the ® down so its top meets the 24px wordmark's top ((33 − 24) / 2). */
[data-framer-name="Logo"] > [data-framer-component-type="SVG"] ~ [data-framer-name="Logo Text"] ~ [data-framer-name="Logo Text"] {
  margin-top: 4.5px !important;
}
/* (c) A wordmark that carries its own ® as a <span> (/tape-recorder): the same superscript */
[data-framer-name="Logo"]:has([data-framer-component-type="SVG"]) [data-framer-name="Logo Text"] p.framer-text > span.framer-text {
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  display: inline-block;
  vertical-align: top;
  margin-left: 1px;
}
/* (c) Lockups with no ® at all (landing + campaign navbars on tablet/phone): add it */
[data-framer-name="Logo"]:has([data-framer-component-type="SVG"]):not(:has([data-framer-name="Logo Text"] ~ [data-framer-name="Logo Text"]))
  [data-framer-name="Logo Text"] p.framer-text:not(:has(> span.framer-text))::after {
  content: "\00AE";
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1;
  display: inline-block;
  vertical-align: top;
  margin-left: 1px;
}

/* --- Footer lockup (text only, larger): same proportions ------------------------------- */
[data-framer-name="Logo"]:not(:has([data-framer-component-type="SVG"])) [data-framer-name="Logo Text"] p.framer-text {
  --framer-font-size: 36px !important;
  font-size: 36px !important;
}
[data-framer-name="Logo"]:not(:has([data-framer-component-type="SVG"])) [data-framer-name="Logo Text"] ~ [data-framer-name="Logo Text"] p.framer-text {
  --framer-font-size: 14px !important;
  font-size: 14px !important;
}

/* --- Phone: slightly smaller wordmark, mark stays 30×33 (matches the 404 page) ---------- */
@media (max-width: 809.98px) {
  [data-framer-name="Logo"]:has([data-framer-component-type="SVG"]) [data-framer-name="Logo Text"] p.framer-text {
    --framer-font-size: 20px !important;
    font-size: 20px !important;
  }
  [data-framer-name="Logo"]:has([data-framer-component-type="SVG"]) [data-framer-name="Logo Text"] ~ [data-framer-name="Logo Text"] p.framer-text {
    --framer-font-size: 10px !important;
    font-size: 10px !important;
  }
  [data-framer-name="Logo"] > [data-framer-component-type="SVG"] ~ [data-framer-name="Logo Text"] ~ [data-framer-name="Logo Text"] {
    margin-top: 6.5px !important;   /* (33 − 20) / 2 */
  }
  [data-framer-name="Logo"]:not(:has([data-framer-component-type="SVG"])) [data-framer-name="Logo Text"] p.framer-text {
    --framer-font-size: 30px !important;
    font-size: 30px !important;
  }
  [data-framer-name="Logo"]:not(:has([data-framer-component-type="SVG"])) [data-framer-name="Logo Text"] ~ [data-framer-name="Logo Text"] p.framer-text {
    --framer-font-size: 12px !important;
    font-size: 12px !important;
  }
}

/* ======================================================================================
   2. Navbar geometry — same bar height and logo position on every page
   Five navbar components exist in the export. The main one (framer-BZkuO, ~75 pages) is the
   reference (see the top of this file). The others are moved onto the same grid here:
   - framer-Y1xtz  logo-only campaign navbar (/17days, /agenda, /cmca26, /evolution, /exclusive-*,
                   /freedom, /iimc-reno, /iimc26, /ncamc, /new-way, /north-carolina, /omca26,
                   /shore2026, /swell2026, /national-meeting-minutes-day-special, /brochure desktop):
                   81px bar, 2px logo gap, and a "Tablet pagetop" variant (810–1279px, 32px padding).
   - framer-BZkuO  "Tablet pagetop" variant (rendered only by /customers at 810–1279px): each nav
                   link is boxed at 88px, so the labels overlap; 32px side padding.
   - framer-M0qft  (/start, /welcome) and framer-9IBIf (/tape-recorder): clones of the main navbar
                   with a Tablet variant (810–1279px, 32px padding, 140px primary button).
   Breakpoints differ between templates (1200 vs 1280), so the overrides use media queries, not
   variant names alone. The Alt floating navbar on /national-meeting-minutes-day is left alone.
   ====================================================================================== */

/* Campaign logo-only navbar: 94px bar from 1200px up (logo at y 30.5), the 73px phone bar below */
@media (min-width: 1200px) {
  .framer-Y1xtz.framer-t24mrp { min-height: 94px !important; padding: 24px 80px !important; }
}
@media (max-width: 1199.98px) {
  .framer-Y1xtz.framer-t24mrp { min-height: 73px !important; padding: 20px 24px !important; }
}

/* Tablet variants of the main navbar and its clones: un-box the nav links on /customers, then
   from 1200px up lay them out like the desktop bar; below 1200px like the phone bar. */
.framer-BZkuO.framer-v-1vqscgp .framer-1aa5kga-container,
.framer-BZkuO.framer-v-1vqscgp .framer-1iq7j6f-container,
.framer-BZkuO.framer-v-1vqscgp .framer-5uwc7v-container { width: auto !important; }
@media (min-width: 1200px) {
  .framer-BZkuO.framer-v-1vqscgp.framer-ydji6p,
  .framer-M0qft.framer-v-we4bwl.framer-1ck3bx5,
  .framer-9IBIf.framer-v-xmk9c4.framer-zcoagb { padding: 24px 80px !important; }
  .framer-BZkuO.framer-v-1vqscgp .framer-1o6yt1c,
  .framer-M0qft.framer-v-we4bwl .framer-b44ebw,
  .framer-9IBIf.framer-v-xmk9c4 .framer-1obgk6v { gap: 24px !important; }
}
@media (max-width: 1199.98px) {
  /* 13.5px + 46px pill buttons + 13.5px = the 73px phone bar, logo at y 20 */
  .framer-BZkuO.framer-v-1vqscgp.framer-ydji6p,
  .framer-M0qft.framer-v-we4bwl.framer-1ck3bx5,
  .framer-9IBIf.framer-v-xmk9c4.framer-zcoagb { padding: 13.5px 24px !important; }
}
/* The gradient trial pill (Buttons section below) sizes itself to its label; the "Buttons" rules
   un-fix the 180px/140px slot in the main navbar — do the same on the navbar clones so the pill
   sits at the same distance from the right edge on /start, /welcome, and /tape-recorder. */
.framer-M0qft .framer-zypjjl-container,
.framer-9IBIf .framer-cbts5z-container { width: auto !important; }

/* /customers: Framer boxed the page at 1280px and the navbar with it; let the bar span the viewport */
.framer-BBYjb .framer-1smvuqy-container { width: 100% !important; }

/* NOTE: do not add a blanket text-wrap: balance/pretty to .framer-text. Framer sizes many text
   boxes with width: min-content, and balance/pretty change that measurement, which shrinks nav
   items and pills. Apply text-wrap only to text inside fixed-width wrappers, case by case. */

/* ======================================================================================
   /for/cities and /for/counties — "500+ clerks / 150+ cities / 2K–200K residents" stats
   block (Framer class framer-yxj0x1, shared by both pages).
   Desktop keeps its centered 3-up row; labels balance so "ClerkMinutes" never sits alone.
   Phones: the three cards become one centered, full-width stack with hairline dividers
   instead of three left-aligned 240px cards 64px apart.
   ====================================================================================== */
.framer-yxj0x1 p.framer-text { text-wrap: balance; }
@media (max-width: 809.98px) {
  .framer-yxj0x1 {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 16px 24px 8px !important;
  }
  .framer-yxj0x1 > div {
    width: 100% !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 20px 0 !important;
    border-top: 1px solid #e6e8ec;
  }
  .framer-yxj0x1 > div:first-child { border-top: 0; }
  .framer-yxj0x1 h2.framer-text {
    --framer-font-size: 34px !important;
    font-size: 34px !important;
    line-height: 1.1 !important;
  }
  .framer-yxj0x1 p.framer-text { max-width: 24ch; margin: 0 auto; }
}

/* ======================================================================================
   Orphan fixes — generated by tools/orphans/sweep (headless scan of every page at 390/768/1024/1440).
   Each selector is one Framer text wrapper whose heading or paragraph ended with a lone word.
   Headings and short labels use text-wrap: balance; long paragraphs use text-wrap: pretty.
   Rules are scoped to the breakpoints where the orphan appeared. Re-run the sweep after copy changes.
   ====================================================================================== */
.framer-158d1tp h3.framer-text, .framer-15m50nt h3.framer-text, .framer-18s7ha3 p.framer-text, .framer-197ht5u h3.framer-text,
.framer-19tbgp3 h3.framer-text, .framer-19wt48b h3.framer-text, .framer-1c25o5k p.framer-text, .framer-1gakwn2 h3.framer-text,
.framer-1i8sad1 h3.framer-text, .framer-1icfjgi p.framer-text, .framer-1mz9yhq h3.framer-text, .framer-1oh7szy p.framer-text,
.framer-1oobdcw p.framer-text, .framer-1rbclcp h2.framer-text, .framer-1u3sfvq p.framer-text, .framer-1w3p0i6 h1.framer-text,
.framer-1wwi610 h3.framer-text, .framer-26e3nw h3.framer-text, .framer-8c82yg h3.framer-text, .framer-b1zehn h3.framer-text,
.framer-ed1rvw p.framer-text, .framer-n1ps0o h1.framer-text, .framer-rexoe3 h3.framer-text, .framer-t50enn h3.framer-text,
.framer-xabxim h3.framer-text, .framer-yfk3k0 h3.framer-text {
  text-wrap: balance;
}
.framer-19u5adz p.framer-text, .framer-1rbclcp p.framer-text, .framer-d38kze p.framer-text, .framer-i3nhf4 p.framer-text,
.framer-nji5j0 p.framer-text {
  text-wrap: pretty;
}
@media (max-width: 809.98px) {
  .framer-1czpqn7 h4.framer-text, .framer-1hdr0jw h4.framer-text, .framer-1izxn67 h1.framer-text, .framer-1l1hwb3 p.framer-text,
  .framer-1q5e5sw p.framer-text, .framer-1rbclcp h3.framer-text, .framer-1ru1p7y p.framer-text, .framer-1wfrs1a p.framer-text,
  .framer-5r27ql p.framer-text, .framer-jxdiyy h4.framer-text, .framer-uukltg p.framer-text, .framer-xo98qs h4.framer-text {
    text-wrap: balance;
  }
}
@media (min-width: 1200px) {
  .framer-1czpqn7 h4.framer-text, .framer-1hdr0jw h4.framer-text, .framer-1izxn67 h1.framer-text, .framer-1l1hwb3 p.framer-text,
  .framer-1q5e5sw p.framer-text, .framer-1rbclcp h3.framer-text, .framer-1ru1p7y p.framer-text, .framer-1wfrs1a p.framer-text,
  .framer-5r27ql p.framer-text, .framer-jxdiyy h4.framer-text, .framer-uukltg p.framer-text, .framer-xo98qs h4.framer-text {
    text-wrap: balance;
  }
}
@media (max-width: 809.98px) {
  .framer-1l210lp p.framer-text, .framer-1rvgu9o p.framer-text, .framer-1x2ekdd p.framer-text, .framer-no7fhh p.framer-text {
    text-wrap: pretty;
  }
}
@media (min-width: 1200px) {
  .framer-1l210lp p.framer-text, .framer-1rvgu9o p.framer-text, .framer-1x2ekdd p.framer-text, .framer-no7fhh p.framer-text {
    text-wrap: pretty;
  }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-16po5b2 h3.framer-text, .framer-1cpoxqq p.framer-text, .framer-1er1d50 p.framer-text, .framer-1rhd9f7 p.framer-text,
  .framer-1stbx98 p.framer-text, .framer-1vje6fk p.framer-text, .framer-2ayrd5 h3.framer-text, .framer-2hvtfd p.framer-text,
  .framer-hdnqsy h1.framer-text {
    text-wrap: balance;
  }
}
@media (min-width: 1200px) {
  .framer-16po5b2 h3.framer-text, .framer-1cpoxqq p.framer-text, .framer-1er1d50 p.framer-text, .framer-1rhd9f7 p.framer-text,
  .framer-1stbx98 p.framer-text, .framer-1vje6fk p.framer-text, .framer-2ayrd5 h3.framer-text, .framer-2hvtfd p.framer-text,
  .framer-hdnqsy h1.framer-text {
    text-wrap: balance;
  }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-1du9dfk p.framer-text, .framer-1g90udt p.framer-text, .framer-1k6i0nb p.framer-text, .framer-1xgzhkb p.framer-text,
  .framer-b7bjyc p.framer-text, .framer-c33gyn p.framer-text, .framer-k623rn p.framer-text, .framer-p0tnmy p.framer-text,
  .framer-qnqus8 p.framer-text, .framer-xzrx5b p.framer-text {
    text-wrap: pretty;
  }
}
@media (min-width: 1200px) {
  .framer-1du9dfk p.framer-text, .framer-1g90udt p.framer-text, .framer-1k6i0nb p.framer-text, .framer-1xgzhkb p.framer-text,
  .framer-b7bjyc p.framer-text, .framer-c33gyn p.framer-text, .framer-k623rn p.framer-text, .framer-p0tnmy p.framer-text,
  .framer-qnqus8 p.framer-text, .framer-xzrx5b p.framer-text {
    text-wrap: pretty;
  }
}
@media (min-width: 1200px) {
  .framer-101ualg h2.framer-text, .framer-12ur6p h3.framer-text, .framer-16sqsf3 p.framer-text, .framer-1ajkd9f h2.framer-text,
  .framer-1cuipq7 p.framer-text, .framer-1cutnqt h3.framer-text, .framer-1gdlpog h3.framer-text, .framer-1hbddrx h2.framer-text,
  .framer-1hekell h3.framer-text, .framer-1j5b4rj h3.framer-text, .framer-1oinuu8 h3.framer-text, .framer-1py948w h3.framer-text,
  .framer-1rn811z h2.framer-text, .framer-1uj1xb8 h3.framer-text, .framer-1w33jzr h2.framer-text, .framer-1xwhfgf h2.framer-text,
  .framer-1yep8v h2.framer-text, .framer-3bxgss h3.framer-text, .framer-8tco6 h3.framer-text, .framer-cwz6r4 h3.framer-text,
  .framer-fgxerd p.framer-text, .framer-icyl4z p.framer-text, .framer-j59ohn h3.framer-text, .framer-jcjc9n p.framer-text,
  .framer-kaq8wf h2.framer-text, .framer-l9o3v0 h3.framer-text, .framer-mpdp9g h3.framer-text, .framer-n2os4s h3.framer-text,
  .framer-no7l4 h3.framer-text, .framer-tld2vg p.framer-text, .framer-uw4wu2 p.framer-text, .framer-vfpyeu h2.framer-text,
  .framer-vre56b h3.framer-text, .framer-wh9hyn p.framer-text, .framer-wmn5ev h3.framer-text, .framer-xb4bt6 h2.framer-text,
  .framer-y5jjwk p.framer-text {
    text-wrap: balance;
  }
}
@media (min-width: 1200px) {
  .framer-10qftis p.framer-text, .framer-12tp7jp p.framer-text, .framer-15f4f26 p.framer-text, .framer-15tr68m p.framer-text,
  .framer-1991mkm p.framer-text, .framer-1bb4v4h p.framer-text, .framer-1mxocfb p.framer-text, .framer-1u3zsv3 p.framer-text,
  .framer-1wzsg p.framer-text, .framer-1ydw1kh p.framer-text, .framer-3p7hdd p.framer-text, .framer-444otl p.framer-text,
  .framer-d5np26 p.framer-text, .framer-fsxxwv p.framer-text, .framer-l4etda p.framer-text, .framer-lhz1bi p.framer-text,
  .framer-m7hj7l p.framer-text, .framer-pehsm6 p.framer-text, .framer-s1gptr p.framer-text, .framer-vrp656 p.framer-text {
    text-wrap: pretty;
  }
}
@media (max-width: 809.98px) {
  .framer-12ypucw p.framer-text, .framer-1aodrbr p.framer-text, .framer-1iqdqd5 p.framer-text, .framer-1ojdguc p.framer-text,
  .framer-1tfzbni p.framer-text, .framer-1wvy1wn p.framer-text, .framer-3326p7 h3.framer-text, .framer-6foz12 p.framer-text,
  .framer-a3vb4w p.framer-text, .framer-bkygtm p.framer-text, .framer-cyanl2 p.framer-text, .framer-dv4ys9 h3.framer-text,
  .framer-e3oh92 p.framer-text, .framer-fcsgsj p.framer-text, .framer-sg8xyc p.framer-text, .framer-zpaxm0 p.framer-text {
    text-wrap: balance;
  }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-12ypucw p.framer-text, .framer-1aodrbr p.framer-text, .framer-1iqdqd5 p.framer-text, .framer-1ojdguc p.framer-text,
  .framer-1tfzbni p.framer-text, .framer-1wvy1wn p.framer-text, .framer-3326p7 h3.framer-text, .framer-6foz12 p.framer-text,
  .framer-a3vb4w p.framer-text, .framer-bkygtm p.framer-text, .framer-cyanl2 p.framer-text, .framer-dv4ys9 h3.framer-text,
  .framer-e3oh92 p.framer-text, .framer-fcsgsj p.framer-text, .framer-sg8xyc p.framer-text, .framer-zpaxm0 p.framer-text {
    text-wrap: balance;
  }
}
@media (max-width: 809.98px) {
  .framer-16p88e6 p.framer-text, .framer-179zwlr p.framer-text, .framer-1aij2y4 p.framer-text, .framer-1hpye55 p.framer-text,
  .framer-fz7r7j p.framer-text, .framer-jum504 p.framer-text, .framer-p3uw2z p.framer-text, .framer-s98u15 p.framer-text,
  .framer-ul9yq5 p.framer-text, .framer-vheagw p.framer-text, .framer-yx4wam p.framer-text {
    text-wrap: pretty;
  }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-16p88e6 p.framer-text, .framer-179zwlr p.framer-text, .framer-1aij2y4 p.framer-text, .framer-1hpye55 p.framer-text,
  .framer-fz7r7j p.framer-text, .framer-jum504 p.framer-text, .framer-p3uw2z p.framer-text, .framer-s98u15 p.framer-text,
  .framer-ul9yq5 p.framer-text, .framer-vheagw p.framer-text, .framer-yx4wam p.framer-text {
    text-wrap: pretty;
  }
}
@media (max-width: 809.98px) {
  .framer-10xculc h4.framer-text, .framer-1162m5h h2.framer-text, .framer-126tkyk h2.framer-text, .framer-12tkep p.framer-text,
  .framer-13smc90 h1.framer-text, .framer-143gnk9 p.framer-text, .framer-1495yw0 p.framer-text, .framer-14p1x0h p.framer-text,
  .framer-14shpi8 h3.framer-text, .framer-14shq1r p.framer-text, .framer-14usein h3.framer-text, .framer-14xshvp h2.framer-text,
  .framer-158hkgm h1.framer-text, .framer-15a6o61 h1.framer-text, .framer-15bfjk7 p.framer-text, .framer-15luhsr p.framer-text,
  .framer-162zdvi h3.framer-text, .framer-16bm523 h3.framer-text, .framer-18cy8s8 h3.framer-text, .framer-18ilwkl h3.framer-text,
  .framer-19fv97z h4.framer-text, .framer-19srmvs p.framer-text, .framer-1ahexol h4.framer-text, .framer-1ayanhf h1.framer-text,
  .framer-1bdbygb p.framer-text, .framer-1bgy5xa p.framer-text, .framer-1caeo43 p.framer-text, .framer-1co53f3 p.framer-text,
  .framer-1dgh54c h4.framer-text, .framer-1dihjv4 p.framer-text, .framer-1ef3cty p.framer-text, .framer-1eiu2bg p.framer-text,
  .framer-1enexxt p.framer-text, .framer-1f567wn p.framer-text, .framer-1f835qd h1.framer-text, .framer-1fakmcd h1.framer-text,
  .framer-1ftj8cg p.framer-text, .framer-1gbuh7f h1.framer-text, .framer-1ge5h24 p.framer-text, .framer-1gu8x9i p.framer-text,
  .framer-1h1gild h1.framer-text, .framer-1h1skn0 h4.framer-text, .framer-1hgnd5g h3.framer-text, .framer-1hrev4c p.framer-text,
  .framer-1hu7l07 h2.framer-text, .framer-1io5v7l h2.framer-text, .framer-1kql80r h1.framer-text, .framer-1l271vu p.framer-text,
  .framer-1ldlra9 p.framer-text, .framer-1lsc1t0 h1.framer-text, .framer-1mcfn7b p.framer-text, .framer-1o8lkom p.framer-text,
  .framer-1pzy0uh p.framer-text, .framer-1r11ijd h1.framer-text, .framer-1rbclcp h4.framer-text, .framer-1rbclcp h5.framer-text,
  .framer-1rq61cz p.framer-text, .framer-1u7e0r4 p.framer-text, .framer-1w4v7sb h1.framer-text, .framer-1xd2x3d p.framer-text,
  .framer-1y52grz p.framer-text, .framer-1y6mbft h1.framer-text, .framer-1yn3gs0 p.framer-text, .framer-1yochcv h1.framer-text,
  .framer-1yubbp9 h1.framer-text, .framer-2q65vh p.framer-text, .framer-2qvyh7 p.framer-text, .framer-39i6nx p.framer-text,
  .framer-4fkzu4 p.framer-text, .framer-4k6vo h1.framer-text, .framer-4rr8m0 p.framer-text, .framer-5bnecl h3.framer-text,
  .framer-5n5l3y p.framer-text, .framer-5seko6 h3.framer-text, .framer-6dd6ph p.framer-text, .framer-6hcmu2 p.framer-text,
  .framer-99pg2q p.framer-text, .framer-9al7kd p.framer-text, .framer-9y0h59 p.framer-text, .framer-agdj48 h1.framer-text,
  .framer-an4mz3 p.framer-text, .framer-askc18 h1.framer-text, .framer-bdsfyz h4.framer-text, .framer-c3nuxt h2.framer-text,
  .framer-cyt4rm h2.framer-text, .framer-d3t2yt h4.framer-text, .framer-dpib7r h4.framer-text, .framer-dxk9jh h3.framer-text,
  .framer-enojvw p.framer-text, .framer-et0eqx h1.framer-text, .framer-ey8y3j h2.framer-text, .framer-eyq8ly h2.framer-text,
  .framer-ezbbi8 p.framer-text, .framer-fejo1m p.framer-text, .framer-gafi7y p.framer-text, .framer-gitgto p.framer-text,
  .framer-hszw7o h1.framer-text, .framer-hu08bt p.framer-text, .framer-hya8d3 p.framer-text, .framer-i4qjgz p.framer-text,
  .framer-idxeew h1.framer-text, .framer-ifqedo p.framer-text, .framer-k27eqy h2.framer-text, .framer-kg2b7k p.framer-text,
  .framer-lffcct p.framer-text, .framer-lk9myd h4.framer-text, .framer-mvk8cl h3.framer-text, .framer-nzwyog p.framer-text,
  .framer-ohopqt p.framer-text, .framer-pq59of h1.framer-text, .framer-rnyg6j p.framer-text, .framer-tfmx4g p.framer-text,
  .framer-uaz1hc p.framer-text, .framer-uo2ccm h2.framer-text, .framer-uxghbp p.framer-text, .framer-v1sqov h2.framer-text,
  .framer-vuci47 p.framer-text, .framer-w1pboc p.framer-text, .framer-xwpjz4 h3.framer-text, .framer-ygeidj p.framer-text,
  .framer-yxvw4r h4.framer-text, .framer-zj4rvz p.framer-text {
    text-wrap: balance;
  }
}
@media (max-width: 809.98px) {
  .framer-10gcaiw p.framer-text, .framer-10gsdzs p.framer-text, .framer-10mblz8 p.framer-text, .framer-10snpvf p.framer-text,
  .framer-13c9by2 p.framer-text, .framer-13dt2oi p.framer-text, .framer-1482juw p.framer-text, .framer-15801hu p.framer-text,
  .framer-16fonrn p.framer-text, .framer-1999zbo p.framer-text, .framer-19yd0k8 p.framer-text, .framer-1ewfry2 p.framer-text,
  .framer-1f5ufpw p.framer-text, .framer-1hq6zu2 p.framer-text, .framer-1j2qeai p.framer-text, .framer-1kafd14 p.framer-text,
  .framer-1ki4rpk p.framer-text, .framer-1m2xjtb p.framer-text, .framer-1n7zrz p.framer-text, .framer-1n9s5wf p.framer-text,
  .framer-1oqmld7 p.framer-text, .framer-1q6use3 p.framer-text, .framer-1rcj7tp p.framer-text, .framer-1rd99qt p.framer-text,
  .framer-1tbq4ye p.framer-text, .framer-1un0wms p.framer-text, .framer-1uyo9vz p.framer-text, .framer-1vs3p9x p.framer-text,
  .framer-1w39gmf p.framer-text, .framer-1w8ynzg p.framer-text, .framer-1wvlhm1 p.framer-text, .framer-1xct4r9 p.framer-text,
  .framer-2egvk8 p.framer-text, .framer-44kdas p.framer-text, .framer-87uw4k p.framer-text, .framer-8x14p7 p.framer-text,
  .framer-c0uf5r p.framer-text, .framer-ck44l p.framer-text, .framer-fxp1ub p.framer-text, .framer-g5ph0z p.framer-text,
  .framer-g8qxuj p.framer-text, .framer-ijr4vg p.framer-text, .framer-j45q70 p.framer-text, .framer-jgne8i p.framer-text,
  .framer-kmt4k p.framer-text, .framer-ko7qfe p.framer-text, .framer-kyl9g3 p.framer-text, .framer-l3ry5u p.framer-text,
  .framer-mgk1v0 p.framer-text, .framer-mt0558 p.framer-text, .framer-nilzwx p.framer-text, .framer-p515kx p.framer-text,
  .framer-ps1557 p.framer-text, .framer-qqaisv p.framer-text, .framer-qzqm2j p.framer-text, .framer-r5pvkd p.framer-text,
  .framer-re1ueb p.framer-text, .framer-s5skzj p.framer-text, .framer-sdr1lv p.framer-text, .framer-spx8zi p.framer-text,
  .framer-uvyg4x p.framer-text, .framer-v53fcf p.framer-text, .framer-vmth94 p.framer-text, .framer-vw5o2p p.framer-text,
  .framer-xa72fj p.framer-text, .framer-xjng7u p.framer-text, .framer-y42ulx p.framer-text {
    text-wrap: pretty;
  }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-14fhr2c h3.framer-text, .framer-154eddx p.framer-text, .framer-16wdj8r p.framer-text, .framer-193uplk h3.framer-text,
  .framer-1cl0l2r h3.framer-text, .framer-1g7am6x h3.framer-text, .framer-1jnf34 p.framer-text, .framer-1jv4x8e h3.framer-text,
  .framer-1n4dgbf h3.framer-text, .framer-1nxebij h3.framer-text, .framer-1o3nspl h3.framer-text, .framer-1ocs235 p.framer-text,
  .framer-1pz2d2m p.framer-text, .framer-1rfm6px h1.framer-text, .framer-1xcppnp h3.framer-text, .framer-7nspvk p.framer-text,
  .framer-b25kmy p.framer-text, .framer-gb8ywg p.framer-text, .framer-gk0hcz h3.framer-text, .framer-hh1uud p.framer-text,
  .framer-idgh88 p.framer-text, .framer-jsch5q p.framer-text, .framer-mr78lq p.framer-text, .framer-nvfa4u p.framer-text,
  .framer-olnbas h3.framer-text, .framer-orivee h1.framer-text, .framer-rwywfn h3.framer-text, .framer-t34hva h3.framer-text,
  .framer-vdyzmi h3.framer-text {
    text-wrap: balance;
  }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-10y2lj2 p.framer-text, .framer-129vqzn p.framer-text, .framer-15ada5d p.framer-text, .framer-1cjr5vt p.framer-text,
  .framer-1licc2v p.framer-text, .framer-1szgzv7 p.framer-text, .framer-1yb5fop p.framer-text, .framer-93cdv8 p.framer-text,
  .framer-acpsse p.framer-text, .framer-be67l5 p.framer-text, .framer-cdlm4w p.framer-text, .framer-mmctnb p.framer-text,
  .framer-rci2cx p.framer-text, .framer-s8iyod p.framer-text, .framer-wueaa0 p.framer-text, .framer-ysuveb p.framer-text {
    text-wrap: pretty;
  }
}
/* Comparison tables inside blog articles: narrow cells read better balanced than pretty. */
.framer-1rbclcp td p.framer-text, .framer-1rbclcp th p.framer-text { text-wrap: balance; }

/* --- FAQ accordion (brand style guide v1.02, "05 UI Elements → FAQ accordion") -----------
   Full-width pill cards on ice blue (#F0F6FE), 28px radius, 24×32 padding, 700-weight question
   with a periwinkle (#5B8DEF) + / − toggle on the right; the answer expands inside the same card.
   framer-C2f34 is the shared Framer FAQ item component used on every page with an accordion
   (home, pricing, product tour, /for/*, conference pages, …). Inline Framer styles are beaten
   with !important; the component's own class names are stable across pages. */
.framer-C2f34 {
  background-color: #F0F6FE !important;
  border-radius: 28px !important;
  padding: 24px 32px !important;
  gap: 16px !important;                 /* question row → answer */
}
.framer-C2f34 .framer-ocakh1 {          /* question row: text + toggle */
  gap: 24px !important;
}
.framer-C2f34 .framer-mt0558 .framer-text {   /* question */
  --framer-font-size: 17px !important;
  --framer-font-weight: 700 !important;
  --framer-line-height: 1.3em !important;
  --framer-text-color: #0A0A0F !important;
  --framer-text-alignment: left !important;
}
.framer-C2f34 .framer-1h86d6m {         /* answer row: spans the card like the question */
  padding: 0 !important;
}
.framer-C2f34 .framer-1rcj7tp .framer-text {  /* answer */
  --framer-font-size: 15px !important;
  --framer-font-weight: 400 !important;
  --framer-line-height: 1.65em !important;
  --framer-text-color: #3A3A44 !important;
  --framer-paragraph-spacing: 12px !important;
}
.framer-C2f34 .framer-18gyf1e,           /* the two bars of the + / − toggle */
.framer-C2f34 .framer-1coiz9a {
  background-color: #5B8DEF !important;
}
/* 16px between cards (Framer uses 16 or 24 depending on the page) */
:has(> [class$="-container"] > .framer-C2f34),
:has(> .ssr-variant > [class$="-container"] > .framer-C2f34) {
  gap: 16px !important;
}

/* --- Rich-text FAQs as native <details> accordions (meeting-minutes-with-* pages) ----------
   Same look as the Framer FAQ component above; the first item is open by default. */
.cm-faq {
  display: block;
  background: #F0F6FE;
  border-radius: 28px;
  padding: 24px 32px;
  margin: 0 0 16px !important;
}
.cm-faq summary.cm-faq-q {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  font-family: "Plus Jakarta Sans", "Plus Jakarta Sans Placeholder", sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  color: #0A0A0F;
  text-align: left;
  white-space: normal;
}
.cm-faq summary.cm-faq-q::-webkit-details-marker { display: none; }
.cm-faq summary.cm-faq-q::after {          /* + / − toggle */
  content: "+";
  flex: none;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  color: #5B8DEF;
}
.cm-faq[open] summary.cm-faq-q::after { content: "−"; }
.cm-faq > p.framer-text {
  --framer-font-size: 15px !important;
  --framer-font-weight: 400 !important;
  --framer-line-height: 1.65em !important;
  --framer-text-color: #3A3A44 !important;
  margin: 16px 0 0 !important;
  white-space: normal;
}
.cm-faq > p.framer-text .framer-text {     /* colored spans inside answers follow the answer color */
  --framer-text-color: #3A3A44 !important;
}

/* /pricing FAQ: the injected concise list (assets/site/pricing-faq.js) replaces the exported one. */
.cm-faq-replaced { display: none !important; }
.cm-faq-list { display: block; width: 100%; }


/* --- Phone number: vanity number + dialable digits ------------------------------------- */
/* One markup everywhere (Framer Embed html strings, hand-built pages, rich text):
     <a href="tel:+18884394681" class="cm-tel">
       [<span class="cm-tel-label">Toll-Free:</span>]
       <span class="cm-tel-vanity">888-HEYGOV1</span> <span class="cm-tel-digits">888-439-4681</span>
     </a>
   Default = stacked: the vanity number on top, the digits to dial in a smaller muted line
   underneath; an optional label sits left of both lines. The spaces between the spans are
   real text, so copy/paste gives "888-HEYGOV1 888-439-4681".
   .cm-tel--inline  = one line, digits in parentheses (inside a sentence or a CTA strip).
   .cm-tel--center  = center the lines when the link wraps (the "Questions? Call us" pill).
   .cm-tel--on-dark = light text on a colored background. */
a.cm-tel {
  display: inline-grid;
  grid-template-columns: max-content;
  justify-items: start;
  align-items: baseline;
  column-gap: 0.35em;
  row-gap: 2px;
  line-height: 1.2;
  text-decoration: none;
}
a.cm-tel:has(> .cm-tel-label) { grid-template-columns: max-content max-content; }
a.cm-tel > span { white-space: nowrap; }
a.cm-tel > .cm-tel-label { grid-row: 1; color: #111; font-weight: 500; }
a.cm-tel:has(> .cm-tel-label) > .cm-tel-vanity,
a.cm-tel:has(> .cm-tel-label) > .cm-tel-digits { grid-column: 2; }
a.cm-tel > .cm-tel-vanity { text-decoration: underline; text-underline-offset: 0.12em; }
a.cm-tel > .cm-tel-digits {
  font-size: 0.8em;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #5f5f5f;
  font-variant-numeric: tabular-nums;
}
a.cm-tel--inline { display: inline; }
a.cm-tel--inline > .cm-tel-digits::before { content: "("; }
a.cm-tel--inline > .cm-tel-digits::after { content: ")"; }
a.cm-tel--on-dark > .cm-tel-label,
a.cm-tel--on-dark > .cm-tel-digits { color: rgba(255, 255, 255, 0.85); }
a.cm-tel--center { text-align: center; }
/* Framer "Embed" wrappers were exported with a fixed width/height for the old one-line number;
   let them size to the new content (and never overflow the viewport on phones). */
[class*="-container"]:has(> div > a.cm-tel) { width: auto !important; height: auto !important; max-width: 100%; }
/* Sentence strips ("Questions? Call … or email …"): on tablet/desktop the row was exported with
   a fixed width sized for the old one-line number (the parent centers it). Let it fit its content
   and wrap its pieces, centered, when a narrow tablet cannot fit one line. On phones the row is
   already full width; there the phone embed may shrink so the number wraps instead of clipping. */
@media (min-width: 810px) {
  div:has(> [class*="-container"] > div > a.cm-tel--inline):has(> :nth-child(2)) {
    width: auto !important; max-width: 100%; flex-wrap: wrap !important; justify-content: center !important;
  }
}
@media (max-width: 809.98px) {
  [class*="-container"]:has(> div > a.cm-tel--inline) { flex-shrink: 1 !important; min-width: 0; }
}
/* Main footer contact row (desktop): the phone block is two lines now, so top-align it with the
   email block instead of centering. Keyed off the footer's own "Hero Subtitle" label element. */
div:has(> div > [data-framer-name="Hero Subtitle"] + [class*="-container"] > div > a.cm-tel) { align-items: flex-start !important; }

/* ======================================================================================
   Buttons — the brand style guide's pills (/dev/styleguide/ §05 UI Elements), sitewide.
   Framer's shared Button component is framer-RsWj5; its variants keep their inline colours and
   12px radius in the markup, and these !important rules restyle them without touching the HTML or
   the page modules (so hydration is unaffected).
     1. Primary "sparkle" trial CTA (variant framer-v-32yapw) → gradient pill. Every instance: page
        heroes, in-article CTAs, campaign pages, the navbar (desktop bar + phone-menu button). The
        gold sparkle SVGs and their hover burst are untouched.
        Spec: linear-gradient(135deg, #00C4FF, #FF3EA5) · radius 999px · padding 14×28 ·
        15px/700 white text · hover scale 1.04 · no inset glow.
     2. Navbar "Log in" (Secondary variant framer-v-czulzq, in the navbar only) → outlined pill.
     3. Reassurance pill under a CTA (Framer "Badge" holding a "Hero Disclaimer") → 1.5px
        yellow→pink gradient border, 12px/500 Ink text, 7×16 padding.
   ====================================================================================== */
a.framer-RsWj5.framer-v-32yapw {
  border-radius: 999px !important;
  transition: transform .2s ease;
}
a.framer-RsWj5.framer-v-32yapw:hover {
  transform: scale(1.04) !important;
}
/* The filled part of the button (carries Framer's inline blue + inset glow + 12px radius). */
a.framer-RsWj5.framer-v-32yapw > .framer-1byr8kd {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}
/* Gradient rides on a rectangular ::before (no radius, inset:-1px) that the pill clips, so the
   rounded caps reveal the surface behind — never the opposite colour stop (a gradient painted on
   the rounded fill bleeds 1-2px into each cap on Chromium). The gold sparkle SVGs are siblings of
   this fill, so overflow:hidden here never clips their hover burst. */
a.framer-RsWj5.framer-v-32yapw > .framer-1byr8kd::before {
  content: "" !important;
  position: absolute !important;
  inset: -1px !important;
  background: linear-gradient(135deg, #00C4FF, #FF3EA5) !important;
  z-index: -1 !important;
}
/* Label: 15px / 700 (guide); nowrap also collapses the double space in "Start  Free Trial". */
a.framer-RsWj5.framer-v-32yapw .framer-1o4gpia {
  white-space: nowrap !important;
}
a.framer-RsWj5.framer-v-32yapw .framer-1o4gpia p.framer-text {
  --framer-font-size: 15px !important;
  --framer-font-weight: 800 !important;
  --framer-line-height: 1.2 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
/* Sizing. Framer fixes the link at 202px (and the navbar slot at 180px/140px) and sizes the fill as
   flex:1 0 0 / width:1px to fill it. From the tablet breakpoint up, let the pill size to its label.
   Phones (<810px) keep Framer's widths (full-width hero and menu buttons, as on the live site).
   The navbar's phone-style menu is also used on tablets, so its button stays full-width there. */
.framer-BZkuO .framer-1uoqjqh-container {
  width: auto !important;
}
.framer-BZkuO .framer-1uoqjqh-container a.framer-RsWj5.framer-v-32yapw {
  width: max-content !important;
}
.framer-BZkuO .framer-1uoqjqh-container a.framer-RsWj5.framer-v-32yapw > .framer-1byr8kd {
  flex: none !important;
  width: auto !important;
}
@media (min-width: 810px) {
  a.framer-RsWj5.framer-v-32yapw {
    width: max-content !important;
  }
  a.framer-RsWj5.framer-v-32yapw > .framer-1byr8kd {
    flex: none !important;
    width: auto !important;
  }
  .framer-BZkuO .framer-u0pcqc-container a.framer-RsWj5.framer-v-32yapw {
    width: 100% !important;
  }
  .framer-BZkuO .framer-u0pcqc-container a.framer-RsWj5.framer-v-32yapw > .framer-1byr8kd {
    flex: 1 0 0 !important;
    width: 1px !important;
  }
}

/* Navbar "Log in" — the guide's Secondary button: outlined pill. Transparent fill, 1.5px #D5D5DC
   border (hover: Ink #0A0A0F), 999px radius, 15px/700 Ink label. Padding is 12.5×26.5 inside the
   1.5px border so the outer box (46px tall, label 28px from the edge) matches the gradient pill.
   Framer markup: Secondary variant framer-v-czulzq, light-blue fill + 12px radius inline on the <a>. */
.framer-BZkuO .framer-1sd4x0k-container a.framer-RsWj5.framer-v-czulzq {
  background: transparent !important;
  border: 1.5px solid #D5D5DC !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  min-height: 46px !important; /* 1× screens floor the 1.5px border to 1px; keep the pill 46px like the CTA */
  transition: border-color .2s ease;
}
.framer-BZkuO .framer-1sd4x0k-container a.framer-RsWj5.framer-v-czulzq:hover {
  border-color: #0A0A0F !important;
}
.framer-BZkuO .framer-1sd4x0k-container a.framer-RsWj5.framer-v-czulzq > .framer-1byr8kd {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 999px !important;
  padding: 12.5px 26.5px !important;
}
.framer-BZkuO .framer-1sd4x0k-container a.framer-RsWj5.framer-v-czulzq .framer-1o4gpia {
  white-space: nowrap !important;
}
.framer-BZkuO .framer-1sd4x0k-container a.framer-RsWj5.framer-v-czulzq .framer-1o4gpia p.framer-text {
  --framer-font-size: 15px !important;
  --framer-font-weight: 700 !important;
  --framer-line-height: 1.2 !important;
  --framer-text-color: #0A0A0F !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #0A0A0F !important;
}
/* Phone menu: Framer gives the Log in slot a fixed 56px height (the link fills it); let it size to the
   pill so it matches the gradient pill below it. Stays full-width like the other menu rows. */
.framer-BZkuO .framer-1sd4x0k-container {
  height: auto !important;
}

/* Reassurance pill under a CTA ("First 14 days completely free…", "Available on Growth Plan", …):
   guide spec is a white pill with a 1.5px yellow→pink gradient border (#FFC93C → #FF3EA5), 12px/500
   Ink text, 7×16 padding. Framer draws the border as a gradient background + 1px padding on the outer
   "Badge" div. Guard: only badges whose "Hero Disclaimer" text is the 500-weight disclaimer style —
   /evolution reuses the same Badge for a 19px/600 "Got a backlog?" callout, which must stay as is.
   (The weight is an inline --framer-font-weight on the <p>; both the SSR and the hydrated spelling
   are matched.) */
[data-framer-name="Badge"]:has(div[data-framer-name="Hero Disclaimer"] p[style*="--framer-font-weight:500"]),
[data-framer-name="Badge"]:has(div[data-framer-name="Hero Disclaimer"] p[style*="--framer-font-weight: 500"]) {
  background: linear-gradient(90deg, #FFC93C, #FF3EA5) !important;
  padding: 1.5px !important;
  border-radius: 999px !important;
}
[data-framer-name="Badge"]:has(div[data-framer-name="Hero Disclaimer"] p[style*="--framer-font-weight:500"]) > div,
[data-framer-name="Badge"]:has(div[data-framer-name="Hero Disclaimer"] p[style*="--framer-font-weight: 500"]) > div {
  padding: 7px 16px !important;
  border-radius: 999px !important;
}
[data-framer-name="Badge"] div[data-framer-name="Hero Disclaimer"] p.framer-text[style*="--framer-font-weight:500"],
[data-framer-name="Badge"] div[data-framer-name="Hero Disclaimer"] p.framer-text[style*="--framer-font-weight: 500"] {
  --framer-font-size: 12px !important;
  --framer-font-weight: 500 !important;
  --framer-text-color: #0A0A0F !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #0A0A0F !important;
}

/* ======================================================================================
   Pricing widget on phones — /start and /welcome use an older copy of the pricing component
   (framer-PJ7jA, "Monthly" variant) that has no phone layout: three cards stay side by side at
   ~100px each and words break letter by letter. /pricing and /for/* use the newer component
   (framer-rjrnX) whose mobile variant stacks the cards. Make the old copy stack the same way.
   ====================================================================================== */
@media (max-width: 809.98px) {
  .framer-PJ7jA [data-framer-name="Cards"] { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 20px !important; width: 100% !important; }
  .framer-PJ7jA [data-framer-name="Card"] { width: 100% !important; max-width: none !important; flex: none !important; }
  .framer-PJ7jA [data-framer-name="Card"] [data-framer-name="Frame 35"],
  .framer-PJ7jA [data-framer-name="Card"] [data-framer-name="Frame 36"],
  .framer-PJ7jA [data-framer-name="Card"] [data-framer-name="Header"] { width: 100% !important; }
}

/* ======================================================================================
   Standardized pricing widget (assets/site/pricing-widget.js replaces the two exported
   plans blocks with one .cm-pricing widget). Scoped entirely under .cm-pricing.
   ====================================================================================== */
.cm-pricing-replaced { display: none !important; }
.cm-pricing{--cmpw-line:#e3e8ef;--cmpw-ink:#0b0d12;--cmpw-muted:#5b6573;--cmpw-faint:#8a94a3;--cmpw-accent:#0090ff;--cmpw-card:#fff;--cmpw-tint:#f5f8fc;--cmpw-good:#1f9d55;--cmpw-good-soft:#e6f6ec;--cmpw-shadow:0 16px 40px rgba(11,13,18,.08);
  box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;font-family:"Plus Jakarta Sans","Plus Jakarta Sans Placeholder",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--cmpw-ink)}
.cm-pricing *{box-sizing:border-box}
.cm-pricing .cmpw-top{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:32px;text-align:center}
.cm-pricing .cmpw-toggle{display:inline-flex;align-items:center;background:var(--cmpw-card);border:1px solid var(--cmpw-line);border-radius:999px;padding:4px;gap:4px}
.cm-pricing .cmpw-seg{appearance:none;border:0;background:transparent;font:700 15px/1 inherit;color:var(--cmpw-ink);padding:11px 20px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.cm-pricing .cmpw-seg[aria-pressed="true"]{background:var(--cmpw-ink);color:#fff}
.cm-pricing .cmpw-seg:focus-visible{outline:3px solid var(--cmpw-accent);outline-offset:2px}
.cm-pricing .cmpw-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0b0d12;background:#fff;border-radius:999px;padding:3px 9px;position:relative;line-height:1.3}
.cm-pricing .cmpw-badge::before{content:"";position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;background:linear-gradient(90deg,#ffc93c,#ff3ea5);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.cm-pricing .cmpw-hint{font-size:13px;color:var(--cmpw-muted)}
.cm-pricing .cmpw-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.cm-pricing .cmpw-card{background:var(--cmpw-card);border:1px solid var(--cmpw-line);border-radius:28px;padding:28px 26px 26px;box-shadow:var(--cmpw-shadow);display:flex;flex-direction:column;gap:14px}
.cm-pricing .cmpw-card.is-featured{border-color:var(--cmpw-accent);border-width:2px}
.cm-pricing .cmpw-name{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0}
.cm-pricing .cmpw-card.is-featured .cmpw-name{color:var(--cmpw-accent)}
.cm-pricing .cmpw-desc{color:var(--cmpw-muted);font-size:15px;line-height:1.5;margin:0;min-height:3em}
.cm-pricing .cmpw-price{margin-top:4px;min-height:108px}
.cm-pricing .cmpw-big{display:flex;align-items:baseline;gap:6px;font-size:40px;font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.cm-pricing .cmpw-big small{font-size:16px;font-weight:600;color:var(--cmpw-muted);letter-spacing:0}
.cm-pricing .cmpw-sub{margin-top:8px;font-size:15px;color:var(--cmpw-muted);font-variant-numeric:tabular-nums}
.cm-pricing .cmpw-compare{margin-top:8px;font-size:13.5px;color:var(--cmpw-muted);display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-variant-numeric:tabular-nums}
.cm-pricing .cmpw-compare s{color:var(--cmpw-faint)}
.cm-pricing .cmpw-save{display:inline-block;background:var(--cmpw-good-soft);color:var(--cmpw-good);font-weight:700;border-radius:999px;padding:2px 10px;font-size:12.5px}
.cm-pricing .cmpw-quote{font-size:17px;color:var(--cmpw-muted);line-height:1.5;margin:0}
.cm-pricing .cmpw-rule{height:1px;background:var(--cmpw-line);margin:2px 0}
.cm-pricing .cmpw-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:15px;line-height:1.4}
.cm-pricing .cmpw-features li{display:flex;gap:11px;align-items:flex-start}
.cm-pricing .cmpw-features li::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;margin-top:1px;background:#fde7f1 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M5.5 10.5l3 3 6-6" fill="none" stroke="%23ff3ea5" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/12px no-repeat}
.cm-pricing .cmpw-cta{margin-top:auto;padding-top:12px}
.cm-pricing .cmpw-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:14px 28px;border-radius:999px;font:800 15px/1.5 "Plus Jakarta Sans","Plus Jakarta Sans Placeholder",sans-serif;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .2s ease}
.cm-pricing .cmpw-btn:hover{transform:scale(1.04)}
.cm-pricing .cmpw-btn--grad:hover{filter:none}
.cm-pricing .cmpw-btn:focus-visible{outline:3px solid var(--cmpw-accent);outline-offset:2px}
.cm-pricing .cmpw-btn--grad{position:relative;color:#fff;background:transparent;border:0;overflow:hidden}
.cm-pricing .cmpw-btn--grad .cmpw-fill{position:absolute;inset:-1px;background:linear-gradient(135deg,#00C4FF,#FF3EA5);z-index:0}
.cm-pricing .cmpw-btn--grad .cmpw-label{position:relative;z-index:1}
.cm-pricing .cmpw-btn--outline{color:var(--cmpw-ink);background:transparent;border:1.5px solid #D5D5DC;background-clip:padding-box}
.cm-pricing .cmpw-btn--outline:hover{border-color:var(--cmpw-ink);background:transparent}
.cm-pricing .cmpw-foot{margin-top:22px;text-align:center;font-size:13.5px;color:var(--cmpw-muted)}
@media (max-width:809px){.cm-pricing .cmpw-cards{grid-template-columns:1fr}.cm-pricing .cmpw-price{min-height:0}}
@media (prefers-reduced-motion:reduce){.cm-pricing .cmpw-btn{transition:none}}
.cm-pricing .cmpw-cta-wrap{position:relative;display:block}
.cm-pricing .cmpw-cta-wrap .cmpw-btn{width:100%}
.cm-pricing .cmpw-stars{position:absolute;inset:0;pointer-events:none}
.cm-pricing .cmpw-star{position:absolute;background:center/contain no-repeat url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><defs><radialGradient id=%22g%22 cx=%2250%25%22 cy=%2240%25%22 r=%2265%25%22><stop offset=%220%22 stop-color=%22%23FFF1B0%22/><stop offset=%2245%25%22 stop-color=%22%23FFCE3C%22/><stop offset=%22100%25%22 stop-color=%22%23F39B12%22/></radialGradient></defs><path d=%22M12 .5c1.05 6.9 4.6 10.45 11.5 11.5-6.9 1.05-10.45 4.6-11.5 11.5C10.95 16.6 7.4 13.05.5 12 7.4 10.95 10.95 7.4 12 .5Z%22 fill=%22url(%23g)%22/></svg>");filter:drop-shadow(0 0 5px rgba(255,206,60,.7));transform:translate(0,0) scale(0) rotate(0);opacity:0;transition:transform .5s cubic-bezier(.34,1.56,.64,1) var(--d),opacity .3s var(--d)}
.cm-pricing .cmpw-cta-wrap:hover .cmpw-star,.cm-pricing .cmpw-cta-wrap:focus-within .cmpw-star{transform:translate(0,0) scale(1) rotate(var(--r));opacity:1}
@media (prefers-reduced-motion:reduce){.cm-pricing .cmpw-star{transition:none}}
@media (prefers-reduced-motion:reduce){.cm-pricing .cmpw-stars{opacity:1;transform:none;transition:none}}
