/* ==========================================================================
   Jennifer McDonnell / Affordable Insurance Guru — BRAND TOKENS
   --------------------------------------------------------------------------
   Every value here was EXTRACTED from her existing live site. Nothing is
   invented. Do not add a value that is not traceable to her site or approved
   by Kalob. See docs/BRAND.md for the full inventory and provenance.

   Sources referenced in the comments below:
     [clone]  index.html, inline <style> blocks (35 of them, 52,971 chars)
     [live]   https://www.affordablemichiganinsurance.com/ fetched 2026-08-10
              (live confirms clone: all 11 --color_N and the button tokens
               match byte for byte, so the clone is a faithful baseline)
   ========================================================================== */

:root {
  /* ---- Greens. Her primary brand family. -------------------------------- */
  --ami-green:          #459349;  /* Duda --color_1  rgba(69,147,73,1)   [clone+live] */
  --ami-green-mid:      #5EA64D;  /* Duda --color_4  rgba(94,166,77,1)   [clone+live] */
  --ami-green-alt:      #4E9B4B;  /* Duda --color_8  rgba(78,155,75,1)   [clone+live] header band */
  --ami-green-deep:     #429047;  /* Duda --color_9  rgba(66,144,71,1)   [clone+live] */
  --ami-teal:           #3AAE86;  /* Duda --color_2  rgba(58,174,134,1)  [clone+live] */

  /* Lime. Used ONLY for the small uppercase eyebrow labels above headings.
     Source: `#dm div.dmContent h2 { color:#93c83e; text-transform:uppercase }`
     Confirmed visually in docs/reference/live-home-desktop.png.            */
  --ami-eyebrow:        #93C83E;  /* [clone] literal hex, not a --color_N */

  /* ---- Blues. Secondary, used sparingly. -------------------------------- */
  --ami-blue:           #4A9ED9;  /* Duda --color_3  rgba(74,158,217,1)  [clone+live] */
  --ami-blue-light:     #A3CFF5;  /* Duda --color_10 rgba(163,207,245,1) [clone+live] */

  /* Body-content link colour. RESOLVED 2026-08-10, was TODO #1 at Checkpoint A.
     It is not in the inline <style> blocks, which is why the first pass missed
     it. It lives in her own global stylesheet:
       irp.cdn-website.com/a2866803/files/a2866803_withFlex_1.min.css?v=22
       #dm .dmNewParagraph a, #dm .dmBlockElement a, #dm .rteBlock a,
       #dm .postDescription a, .dmTable a  (+ .hover/:hover/.visited/:visited)
         { color: var(--color_3) }
     One value for every state, so there is no hover or visited variant.
     Confirmed a second way: headless Chrome computed rgb(74,158,217) on the
     body links of the rendered live homepage. The only override is
     `#dm .dmInner div.u_1860045954 a { color:#f7f7f5 }`, which is her phone
     number sitting inside a dark band, hence --ami-link-on-dark below.

     DELIBERATE ACCESSIBILITY ADJUSTMENT, 2026-08-11, approved by Kalob.
     Her source value #4A9ED9 measures only 2.73:1 on --ami-offwhite and fails
     WCAG AA for body text. Her audience is largely seniors, so this one is
     not left as a documented failure the way the eyebrow is.
     The fix darkens her own blue along the SAME HUE rather than substituting a
     different colour: HSL hue and saturation are held and only lightness drops,
     204.755deg -> 204.706deg (0.05deg drift, entirely 8-bit rounding),
     saturation 65.30% -> 65.38%, lightness 57.06% -> 40.78%.
     Result clears AA on both grounds the page actually uses.
     Green was considered and rejected: it would read as a button and confuse
     the hierarchy.                                                            */
  --ami-link:           #2474AC;  /* darkened from --color_3 #4A9ED9; 4.70:1 on
                                     off-white, 5.04:1 on white cards */
  --ami-link-source:    #4A9ED9;  /* = --color_3, her untouched live value, kept
                                     for provenance. Not used for rendering. */
  --ami-link-on-dark:   #F7F7F5;  /* = --color_5 [live, links inside dark bands] */

  /* ---- Neutrals. --------------------------------------------------------- */
  --ami-ink:            #333333;  /* Duda --color_7  rgba(51,51,51,1)    [clone+live] body text AND header bg */
  --ami-grey:           #A0A0A0;  /* Duda --color_6  rgba(160,160,160,1) [clone+live] */
  --ami-error:          #B3261E;  /* form errors. 6.54:1 on white, 6.09:1 on
                                     off-white, both AA for body text. Added for
                                     the lead modal; not a Duda value. */
  --ami-border:         #E2E2E1;  /* Duda --color_11 rgba(226,226,225,1) [clone+live] */
  --ami-offwhite:       #F7F7F5;  /* Duda --color_5  rgba(247,247,245,1) [clone+live] page ground */
  --ami-white:          #FFFFFF;  /* [clone] h1 color over hero imagery */

  /* ---- Buttons. Her pill button, lifted exactly. -------------------------- */
  --ami-btn-bg:         #46944C;  /* Duda --btn-bg-color   rgba(70,148,76,1)  [clone+live] */
  --ami-btn-hover:      #256C45;  /* Duda --btn-hover-bg   rgba(37,108,69,1)  [clone+live] */
  --ami-btn-text:       var(--ami-offwhite); /* Duda --btn-text-color: var(--color_5) [clone+live] */
  --ami-btn-radius:     50px;     /* Duda --btn-border-radius              [clone+live] */
  --ami-btn-weight:     bold;     /* Duda --btn-text-font-weight           [clone] */
  --ami-btn-size:       18px;     /* Duda --btn-text-font-size, 16/18/20 responsive [clone+live] */

  /* ---- Type. Grift, self-hosted below. ------------------------------------
     Grift is a COMMERCIAL typeface and is NOT on Google Fonts. The woff2
     files are served from her own Duda asset path and are pulled local in
     assets/brand/fonts/ so the page does not depend on Levitate (Q2 open). */
  --ami-font-h1:        "Grift SemiBold", Georgia, "Times New Roman", serif;   /* [clone] #dm div.dmContent h1 */
  --ami-font-h2:        "Grift Medium", Georgia, "Times New Roman", serif;     /* [clone] #dmRoot #dm div.dmContent h2 */
  --ami-font-body:      "Grift Light", Georgia, "Times New Roman", serif;      /* [clone] .dmNewParagraph p */
  --ami-font-ui:        "Grift Regular", Georgia, "Times New Roman", serif;    /* [clone] nav / buttons */

  /* Type scale, her responsive steps, largest to smallest.                  */
  --ami-h1-desktop:     72px;     /* [clone] #dmRoot #dm .dmContent h1 (96px also present on a wider step) */
  --ami-h1-mobile:      36px;     /* [clone] smallest h1 step */
  --ami-h2-desktop:     48px;     /* [clone] #dmRoot #dm .dmContent h2 */
  --ami-h2-mobile:      24px;     /* [clone] smallest h2 step */
  --ami-body-size:      16px;     /* [clone] .dmNewParagraph p (15/16/20 across steps) */
  --ami-body-lg:        20px;     /* [clone] largest body step */
  --ami-lh-body:        1.5;      /* [clone] .dmNewParagraph p line-height */
  --ami-lh-heading:     1.2;      /* [clone] h2 line-height */
  --ami-h1-weight:      700;      /* [clone] h1 font-weight */
  --ami-body-weight:    300;      /* [clone] body font-weight */

  /* ---- Layout. ----------------------------------------------------------- */
  --ami-container:      1200px;   /* [clone] max-width:1200px, the widest container */
  --ami-bp-tablet:      1024px;   /* [clone] max-width:1024px breakpoint */
  --ami-bp-mobile:      767px;    /* [clone] max-width:767px breakpoint */
}

/* ==========================================================================
   Grift, self-hosted. Files downloaded from her own Duda asset path:
   https://irp.cdn-website.com/a2866803/fonts/  (see docs/BRAND.md)
   Originals, fetched directly. Not screenshot captures, not substitutes.
   ========================================================================== */
@font-face {
  font-family: "Grift Light";
  src: url("brand/fonts/Grift-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Grift Regular";
  src: url("brand/fonts/Grift-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Grift Medium";
  src: url("brand/fonts/Grift-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Grift SemiBold";
  src: url("brand/fonts/Grift-SemiBold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
