/* ============================================================================
   GetMeInsure — site stylesheet
   ============================================================================
   Adapted from the PolicyAdvisor landing system. What carried over: the
   blue-for-trust / amber-for-one-action split, the measured-contrast
   discipline, mobile-first, and a single prefix (.gmi-) so nothing can
   collide with a theme or a network's embedded widget.

   What changed, and why:

   1. BASE TYPE IS 18px, NOT 16px. The primary audience for final expense is
      50 to 85. At 16px a meaningful share of them zoom, and a zoomed page
      reflows the call button off the first screen. 18px costs nothing and
      removes the need.

   2. AMBER IS SPENT ON THE PHONE NUMBER. On the India pages amber marked a
      submit button. Here the only action worth having is a dialled call, so
      the phone number is the only amber object on any page. Put amber on
      anything else and the page stops saying where to tap.

   3. TAP TARGETS ARE 56px MINIMUM, not 44. The WCAG floor assumes a steady
      hand; this audience often does not have one.
   ============================================================================ */

:root {
  /* ---- blue, for trust ---------------------------------------------------
     Contrast is measured against --bg (#F5F8FA) or --card (#FFFFFF), noted
     per pair. Nothing below is a guess. */
  --ink:      #0A2240;   /* headings       15.1:1 on --bg   AAA */
  --ink-2:    #39506B;   /* body            7.3:1 on --bg    AAA */
  --muted:    #62778F;   /* small print     4.6:1 on --bg    AA  */
  --line:     #DDE6F0;
  --line-2:   #C3D3E3;
  --bg:       #F4F7FA;
  --card:     #FFFFFF;
  --brand:    #15537F;   /* links           7.7:1 on --card  AAA */
  --brand-d:  #0E3E61;   /* 10.6:1 */
  --brand-50: #E7F0F8;
  /* The hero field. FLAT, not a gradient: a defined edge reads as a
     decision, a fade reads as decoration. Text on it is measured against
     this exact value, not against a gradient's lightest point. */
  --sky:      #DCE9F6;   /* --ink on --sky = 12.9:1 AAA */
  --sky-line: #BFD4E8;

  /* ---- amber, for the call and nothing else ------------------------------
     Amber with white text measures 1.79:1 — illegible and a WCAG failure.
     The label MUST stay dark: --cta-ink on --cta is 10.35:1, AAA. */
  --cta:      #FFB300;
  --cta-d:    #E89C00;
  --cta-ink:  #1A1200;

  --ok:       #0E7A64;
  --ok-bg:    #E7F6F1;
  --ok-line:  #BCE6DC;
  --warn:     #B45309;   /* 4.7:1 on its own wash, AA */
  --warn-bg:  #FEF7EC;
  --warn-line:#F3DFC0;

  --r:        14px;
  --r-sm:     10px;
  --r-pill:   999px;
  --shadow-sm: 0 1px 2px rgba(11,37,69,.06);
  --shadow:    0 10px 30px rgba(11,37,69,.10);
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body.gmi-body {
  margin: 0;
  background: var(--bg);
  color: var(--ink-2);
  font-family: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 18px;              /* see note 1 above */
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}

/* Display is Newsreader; h3/h4 stay in Public Sans, because at 19-21px a
   serif stops earning its keep and starts competing with the h1 and h2 it
   sits under. The split is by role, not by level. */
h1, h2 {
  color: var(--ink); margin: 0;
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-weight: 500; line-height: 1.1; letter-spacing: -.015em;
  font-variation-settings: "opsz" 36;
}
h3, h4 { color: var(--ink); line-height: 1.25; font-weight: 700; margin: 0; }
a { color: var(--brand); }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--brand); outline-offset: 2px; border-radius: 4px;
}

.gmi-wrap { max-width: 1080px; margin: 0 auto; padding: 0 18px; }

/* Visible on focus only — a keyboard user should not have to tab the whole
   masthead on every page. */
.gmi-skip {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--ink); color: #fff; padding: 12px 18px; border-radius: 0 0 var(--r-sm) 0;
}
.gmi-skip:focus { left: 0; }

/* ------------------------------------------------------------- masthead -- */

.gmi-masthead { background: var(--card); border-bottom: 1px solid var(--line); }
.gmi-masthead-in {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; min-height: 68px; flex-wrap: wrap;
}
.gmi-logo {
  display: inline-flex; align-items: center; gap: 10px;
  font-weight: 700; font-size: 20.5px; color: var(--ink); text-decoration: none;
  letter-spacing: -.015em;
}
.gmi-mark { flex: 0 0 auto; color: var(--ink); border-radius: 7px; }
.gmi-logo-txt span { color: var(--brand); font-weight: 500; }
@media (max-width: 420px) { .gmi-logo { font-size: 18.5px; gap: 8px; } }
.gmi-nav { display: flex; gap: 4px; flex-wrap: wrap; }
.gmi-nav a {
  display: inline-flex; align-items: center; min-height: 48px; padding: 0 14px;
  border-radius: var(--r-sm); text-decoration: none; font-weight: 600;
  color: var(--ink-2); font-size: 16.5px;
}
.gmi-nav a:hover { background: var(--brand-50); color: var(--brand-d); }
.gmi-nav a[aria-current="page"] { background: var(--brand-50); color: var(--brand-d); }

/* ------------------------------------------------------- the call button --
   The one amber object. Sized as a block rather than a pill: the number has
   to survive being read at arm's length, and a block gives it the width to
   stay on one line down to 320px. */

.gmi-call {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px; min-height: 68px; padding: 12px 22px;
  background: var(--cta); color: var(--cta-ink);
  border: 1px solid var(--cta-d); border-radius: var(--r);
  text-decoration: none; font-weight: 800; box-shadow: var(--shadow-sm);
  transition: transform .15s ease, box-shadow .15s ease;
}
.gmi-call:hover { transform: translateY(-1px); box-shadow: var(--shadow); }
.gmi-call-label  { font-size: 13.5px; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.gmi-call-number { font-size: 27px; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }

/* Shown when gmi_is_open() is false. A notice, not a button — nothing here
   should look tappable, because there is nothing worth tapping yet. */
.gmi-closed {
  background: var(--warn-bg); border: 1px solid var(--warn-line);
  border-radius: var(--r); padding: 16px 18px; color: var(--warn);
  font-weight: 600; font-size: 16.5px;
}

/* --------------------------------------------------------- legal pages --
   Long documents nobody wants to read, so the job is to make them scannable:
   a narrow measure, generous spacing, and headings that survive skimming. */

.gmi-legal { padding: 34px 0 60px; }
.gmi-legal-head { max-width: 46rem; }
.gmi-legal-head h1 { font-size: clamp(28px, 5vw, 40px); letter-spacing: -.02em; }
.gmi-legal-meta { color: var(--muted); font-size: 15.5px; margin: 10px 0 0; }

.gmi-prose { max-width: 46rem; }       /* ~70 characters */
.gmi-prose h2 {
  font-size: 23px; margin: 38px 0 10px; padding-top: 18px;
  border-top: 1px solid var(--line);
}
.gmi-prose h3 { font-size: 18.5px; margin: 24px 0 6px; }
.gmi-prose p, .gmi-prose li { font-size: 17.5px; }
.gmi-prose ul, .gmi-prose ol { padding-left: 22px; }
.gmi-prose li { margin: 7px 0; }
.gmi-prose table { border-collapse: collapse; width: 100%; margin: 16px 0; font-size: 16.5px; }
.gmi-prose th, .gmi-prose td {
  text-align: left; vertical-align: top; padding: 10px 12px; border: 1px solid var(--line);
}
.gmi-prose th { background: var(--brand-50); color: var(--ink); font-weight: 700; }

/* A table of contents that is a real list of links, so Ctrl-F and a
   screen reader both get the same map of the document. */
.gmi-toc {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--r);
  padding: 18px 20px; margin: 24px 0 8px;
}
.gmi-toc h2 { font-size: 14px; text-transform: uppercase; letter-spacing: .1em;
  color: var(--muted); margin: 0 0 10px; border: 0; padding: 0; }
.gmi-toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 28px; }
.gmi-toc li { margin: 4px 0; font-size: 16px; break-inside: avoid; }
@media (max-width: 640px) { .gmi-toc ol { columns: 1; } }

/* A callout for the handful of paragraphs that actually change someone's
   rights — the arbitration clause, the opt-out route. */
.gmi-note {
  background: var(--card); border: 1px solid var(--line-2);
  border-left: 4px solid var(--brand); border-radius: var(--r-sm);
  padding: 16px 18px; margin: 20px 0;
}
.gmi-note.is-warn { border-left-color: var(--warn); background: var(--warn-bg); border-color: var(--warn-line); }
.gmi-note.is-ok   { border-left-color: var(--ok);   background: var(--ok-bg);   border-color: var(--ok-line); }
.gmi-note p:first-child { margin-top: 0; }
.gmi-note p:last-child  { margin-bottom: 0; }

/* --------------------------------------------------------- do not sell -- */

.gmi-dns-card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--r);
  padding: 24px; margin: 22px 0; box-shadow: var(--shadow-sm); max-width: 46rem;
}
.gmi-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 56px; padding: 0 26px; border-radius: var(--r-sm);
  font-size: 17.5px; font-weight: 700; text-decoration: none; cursor: pointer;
  border: 1px solid transparent;
}
.gmi-btn-primary { background: var(--brand); color: #fff; }
.gmi-btn-primary:hover { background: var(--brand-d); }
.gmi-btn-ghost { background: var(--card); color: var(--ink); border-color: var(--line-2); }
.gmi-status {
  display: flex; gap: 12px; align-items: flex-start;
  background: var(--ok-bg); border: 1px solid var(--ok-line); color: var(--ok);
  border-radius: var(--r-sm); padding: 16px 18px; font-weight: 600; margin: 0 0 18px;
}
.gmi-status.is-off { background: var(--bg); border-color: var(--line); color: var(--ink-2); }

/* ---------------------------------------------------------------- footer -- */

.gmi-footer {
  background: var(--card); border-top: 1px solid var(--line);
  margin-top: 56px; padding: 40px 0 34px; font-size: 16px;
}
.gmi-foot-cols { display: grid; gap: 30px; grid-template-columns: 1fr; }
@media (min-width: 760px) { .gmi-foot-cols { grid-template-columns: 1.4fr 1fr 1.3fr; } }
.gmi-logo-foot { font-size: 19px; }
.gmi-foot-brand p { color: var(--muted); margin: 8px 0 0; font-size: 15.5px; }
.gmi-foot-nav { display: flex; flex-direction: column; }
.gmi-foot-nav h2 {
  font-size: 13px; text-transform: uppercase; letter-spacing: .1em;
  color: var(--muted); margin: 0 0 8px; font-weight: 700;
}
.gmi-foot-nav a {
  color: var(--ink-2); text-decoration: none; padding: 9px 0; font-weight: 500;
  min-height: 24px;
}
.gmi-foot-nav a:hover { color: var(--brand); text-decoration: underline; }
/* Required to be conspicuous, so it is not grey 12px small print. */
.gmi-dns { font-weight: 700 !important; color: var(--brand) !important; }

.gmi-disclosure {
  margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--line);
  color: var(--muted); font-size: 14.5px; line-height: 1.6; max-width: 64rem;
}
.gmi-disclosure p { margin: 0 0 10px; }
.gmi-disclosure strong { color: var(--ink-2); }
.gmi-copy { margin-top: 14px !important; }

@media print {
  .gmi-masthead, .gmi-nav, .gmi-skip { display: none; }
  body.gmi-body { background: #fff; font-size: 12pt; }
}

/* ============================================================================
   LANDING PAGES — hero, bands, cards, and the sticky call bar
   ============================================================================ */

.gmi-hero { padding: 40px 0 34px; }
.gmi-hero-slim { padding: 44px 0 10px; }
.gmi-hero-in { display: grid; gap: 28px; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 900px) { .gmi-hero-in { grid-template-columns: 1.35fr .85fr; gap: 40px; } }
.gmi-center { text-align: center; margin: 0 auto; max-width: 42rem; }

.gmi-eyebrow {
  display: inline-block; font-size: 12.5px; font-weight: 700; letter-spacing: .13em;
  text-transform: uppercase; color: var(--brand-d); background: var(--brand-50);
  border-radius: var(--r-pill); padding: 6px 14px;
}
.gmi-hero h1 {
  margin: 16px 0 0; font-size: clamp(30px, 5.4vw, 44px); letter-spacing: -.025em;
}
.gmi-sub { margin: 14px 0 0; font-size: 19px; color: var(--ink-2); max-width: 36rem; }
.gmi-center .gmi-sub { margin-left: auto; margin-right: auto; }

/* A tick list, drawn in CSS so there is no icon font or SVG sprite to load. */
.gmi-ticks { list-style: none; margin: 22px 0 0; padding: 0; max-width: 36rem; }
.gmi-ticks li { position: relative; padding: 0 0 0 32px; margin: 11px 0; font-size: 17.5px; }
.gmi-ticks li::before {
  content: ""; position: absolute; left: 4px; top: .52em;
  width: 11px; height: 6px; border-left: 2.5px solid var(--ok);
  border-bottom: 2.5px solid var(--ok); transform: rotate(-45deg);
}

/* --------------------------------------------------- the hero call panel -- */

.gmi-hero-act {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--r);
  padding: 22px; box-shadow: var(--shadow-sm); position: sticky; top: 18px;
}
@media (max-width: 899px) { .gmi-hero-act { position: static; } }
.gmi-act-lead { margin: 0 0 14px; font-weight: 700; color: var(--ink); font-size: 17px; }
.gmi-act-note { margin: 14px 0 0; font-size: 14.5px; color: var(--muted); line-height: 1.5; }
.gmi-open-now { color: var(--ok); font-weight: 700; }
.gmi-call-lg { width: 100%; }
.gmi-call-lg .gmi-call-number { font-size: 30px; }

/* ----------------------------------------------------------- bands, grids -- */

.gmi-section { padding: 40px 0; }
.gmi-section-tight { padding: 10px 0 40px; }
.gmi-section h2, .gmi-band h2 { font-size: clamp(22px, 3.4vw, 28px); margin: 0 0 14px; }

.gmi-band { background: var(--card); border-block: 1px solid var(--line); padding: 44px 0; }
.gmi-two { display: grid; gap: 34px; grid-template-columns: 1fr; }
@media (min-width: 860px) { .gmi-two { grid-template-columns: 1fr 1fr; gap: 48px; } }
.gmi-two p { font-size: 17.5px; max-width: 34rem; }

.gmi-steps { margin: 16px 0 0; padding-left: 22px; }
.gmi-steps li { margin: 12px 0; font-size: 17.5px; }
.gmi-fineprint { margin-top: 18px; font-size: 14.5px; color: var(--muted); }

.gmi-cards { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 680px)  { .gmi-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .gmi-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gmi-card {
  display: block; background: var(--card); border: 1px solid var(--line);
  border-radius: var(--r); padding: 22px; text-decoration: none; color: inherit;
  box-shadow: var(--shadow-sm); transition: transform .16s ease, box-shadow .16s ease;
}
.gmi-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); border-color: var(--line-2); }
.gmi-card h2 { font-size: 21px; margin: 0 0 8px; }
.gmi-card p  { margin: 0; font-size: 16px; color: var(--ink-2); }
.gmi-card-status {
  display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 700;
  color: var(--muted);
}
.gmi-card-status.is-open { color: var(--ok); }
.gmi-card-status.is-open::before {
  content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: var(--ok); margin-right: 7px; vertical-align: middle;
}

.gmi-stats { display: grid; gap: 22px; grid-template-columns: 1fr; text-align: center; }
@media (min-width: 680px) { .gmi-stats { grid-template-columns: repeat(3, 1fr); } }
.gmi-stats strong { display: block; font-size: clamp(32px, 6vw, 44px); color: var(--ink); line-height: 1; font-weight: 800; }
.gmi-stats span   { display: block; margin-top: 8px; color: var(--muted); font-size: 15.5px; }

.gmi-cta-band {
  background: var(--ink); color: #fff; border-radius: var(--r);
  padding: 32px 26px; text-align: center;
}
.gmi-cta-band h2 { color: #fff; margin: 0 0 8px; }
.gmi-cta-band p  { margin: 0 0 20px; color: #C8D6EA; font-size: 17.5px; }
.gmi-cta-band .gmi-call { max-width: 24rem; margin: 0 auto; }

/* --------------------------------------------------------------- the FAQ --
   <details>, so it opens and closes with no script at all. */

.gmi-faq { max-width: 46rem; }
.gmi-faq details {
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--r-sm); margin: 10px 0; overflow: hidden;
}
.gmi-faq summary {
  cursor: pointer; padding: 16px 18px; font-weight: 700; color: var(--ink);
  font-size: 17.5px; list-style: none; min-height: 56px; display: flex; align-items: center;
}
.gmi-faq summary::-webkit-details-marker { display: none; }
.gmi-faq summary::after {
  content: "+"; margin-left: auto; font-size: 22px; color: var(--brand); font-weight: 700;
}
.gmi-faq details[open] summary::after { content: "\2212"; }
.gmi-faq p { margin: 0; padding: 0 18px 18px; font-size: 17px; }

/* --------------------------------------------------- the sticky call bar --
   Phone widths only: on a desktop the hero panel is sticky already and a
   second bar would be noise. Ships VISIBLE — .is-tucked is added by gmi.js
   while the hero button is on screen, so with the script blocked the bar
   simply stays, which is the behaviour we want anyway. */

.gmi-sticky { display: none; }
@media (max-width: 899px) {
  .gmi-sticky {
    display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    background: rgba(255,255,255,.97); border-top: 1px solid var(--line-2);
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    box-shadow: 0 -6px 22px rgba(11,37,69,.12);
    transition: transform .22s ease, opacity .22s ease;
  }
  .gmi-sticky.is-tucked { transform: translateY(105%); opacity: 0; pointer-events: none; }
  .gmi-sticky-in { display: flex; align-items: center; gap: 12px; }
  .gmi-sticky-txt { font-size: 14.5px; font-weight: 700; color: var(--ink); flex: 1 1 auto; }
  .gmi-call-sm { flex: 0 0 auto; min-height: 56px; padding: 8px 18px; }
  .gmi-call-sm .gmi-call-label  { font-size: 10.5px; }
  .gmi-call-sm .gmi-call-number { font-size: 19px; }
  /* Keep the footer clear of the bar. */
  .gmi-footer { padding-bottom: 104px; }
}

@media (prefers-reduced-motion: reduce) {
  .gmi-card, .gmi-call, .gmi-sticky { transition: none; }
}


/* ============================================================================
   HOME PAGE
   ============================================================================
   The brief: make it read as an authority domain rather than a landing page.
   The reference class for that is editorial-financial — NerdWallet, Bankrate,
   Policygenius — not SaaS. Those earn authority through typography, real
   content and restraint, so that is where the effort goes.

   Three rules this section follows:

   1. BOLDNESS IS SPENT ON THE HEADLINE AND NOWHERE ELSE. A large Newsreader
      display at a constrained measure is the one memorable thing. Every
      surface around it is quiet: flat fills, hairline rules, one shadow used
      sparingly rather than under everything.

   2. DIFFERENT CONTENT GETS DIFFERENT TREATMENT. Cover cards, carrier chips
      and the comparison table are three kinds of information and are drawn
      three ways. Giving all of them the same radius and the same soft grey
      shadow is what makes a page look assembled from a kit.

   3. THE HERO FIELD IS FLAT. A gradient fading to the page colour is
      decoration; a flat tint with a defined hairline edge is a decision, and
      it means the text contrast is one number rather than a range.
   ============================================================================ */

/* ----------------------------------------------------------------- hero -- */

.gmi-hero-main {
  background: var(--sky);
  border-bottom: 1px solid var(--sky-line);
  padding: 54px 0 58px;
}
.gmi-hero-grid {
  display: grid; gap: 34px; grid-template-columns: 1fr; align-items: start;
}
@media (min-width: 940px) {
  .gmi-hero-grid { grid-template-columns: minmax(0, 1.55fr) minmax(250px, .9fr); gap: 56px; }
}

/* Left-aligned, and capped at a reading measure rather than broken with a
   manual <br>. A hard line break is a decision made at one viewport width
   that is wrong at every other one — and hiding it on mobile silently joins
   the two text nodes, which is a bug this page used to have. */
.gmi-hero-main h1 {
  font-size: clamp(35px, 5.1vw, 56px);
  line-height: 1.06;
  letter-spacing: -.02em;
  max-width: 18ch;
  font-variation-settings: "opsz" 60;
}
.gmi-hero-lead {
  margin: 20px 0 0; max-width: 44ch;
  font-size: clamp(17.5px, 2vw, 19.5px);
  color: var(--ink-2); line-height: 1.6;
}

/* ------------------------------------------------------------- chooser -- */

.gmi-search {
  margin: 30px 0 0; max-width: 34rem;
  background: var(--card);
  border: 1px solid var(--sky-line);
  border-radius: 6px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(10,34,64,.09);
}
.gmi-search-label {
  display: block; margin: 0 0 11px;
  font-size: 16px; font-weight: 600; color: var(--ink);
}
.gmi-search-row { display: flex; gap: 10px; flex-wrap: wrap; }
.gmi-search-field { flex: 1 1 15rem; min-width: 0; }

/* appearance:none on both, or Safari draws its own control and discards the
   radius and the height — the bug the /universities/ filters hit. */
.gmi-search select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  width: 100%; min-height: 60px;
  padding: 0 44px 0 16px;
  font: inherit; font-size: 17.5px; font-weight: 500;
  color: var(--ink); background-color: var(--bg);
  border: 1px solid var(--line-2); border-radius: 5px;
  cursor: pointer; line-height: 1.2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5l5-5' fill='none' stroke='%230A2240' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
}
.gmi-search select:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.gmi-search select:invalid { color: var(--muted); font-weight: 400; }

/* No arrow glyph in the label. The button says what happens when it is
   pressed; an appended "→" adds nothing a button does not already imply. */
.gmi-search-go {
  flex: 0 0 auto; min-height: 60px; padding: 0 30px;
  font: inherit; font-size: 17.5px; font-weight: 600;
  color: #fff; background: var(--brand);
  border: 1px solid var(--brand); border-radius: 5px; cursor: pointer;
  transition: background .14s ease;
}
.gmi-search-go:hover { background: var(--brand-d); border-color: var(--brand-d); }
@media (max-width: 559px) {
  .gmi-search-field, .gmi-search-go { flex: 1 1 100%; }
}
.gmi-search-note { margin: 12px 0 0; font-size: 15px; color: var(--muted); }

/* ------------------------------------------------- the policy summary --
   Not a stats widget. Set as a description list with rules, which is how the
   summary block on a policy schedule is set — the subject's own idiom, and
   it carries three facts that matter rather than decorating the column. */

.gmi-record {
  background: transparent;
  border-top: 2px solid var(--ink);
  padding-top: 16px;
}
.gmi-record dl { margin: 0; }
.gmi-record div {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--sky-line);
}
.gmi-record dt { font-size: 15.5px; color: var(--ink-2); }
.gmi-record dd {
  margin: 0; font-family: "Newsreader", Georgia, serif;
  font-size: 27px; font-weight: 500; color: var(--ink);
  line-height: 1; font-variation-settings: "opsz" 28;
}
.gmi-record-foot { margin: 14px 0 0; font-size: 14.5px; color: var(--muted); line-height: 1.5; }

/* ------------------------------------------------------------ sections -- */

.gmi-sec { padding: 56px 0; }
.gmi-sec + .gmi-sec { border-top: 1px solid var(--line); }
.gmi-sec-head { max-width: 46rem; margin: 0 0 28px; }
.gmi-sec-head h2 { font-size: clamp(27px, 3.6vw, 38px); font-variation-settings: "opsz" 36; }
.gmi-sec-head p { margin: 12px 0 0; font-size: 17.5px; color: var(--ink-2); max-width: 42rem; }

/* ----------------------------------------------------------- cover list --
   Not identical shadowed cards. A bordered list where the left edge carries
   the accent on hover: lighter than five floating panels, and it keeps the
   grid reading as one object rather than five competing ones. */

/* The dividing lines are the GRID GAP, with the container painted the line
   colour behind it — not a border on each cell. Per-cell borders double up
   against the container's own border on the last row and column, which shows
   as a thicker edge on exactly two sides and looks like a mistake. */
.gmi-covers {
  display: grid; gap: 1px; grid-template-columns: 1fr;
  background: var(--line); border: 1px solid var(--line);
  border-radius: 6px; overflow: hidden;
}
@media (min-width: 760px)  { .gmi-covers { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) { .gmi-covers { grid-template-columns: repeat(3, 1fr); } }

.gmi-cover {
  display: block; padding: 24px 24px 22px; text-decoration: none; color: inherit;
  background: var(--card);
  box-shadow: inset 3px 0 0 transparent;
  transition: background .14s ease, box-shadow .14s ease;
}
.gmi-cover:hover { background: var(--brand-50); box-shadow: inset 3px 0 0 var(--brand); }
.gmi-cover h3 { font-size: 20px; margin: 0 0 7px; }
.gmi-cover p  { margin: 0; font-size: 16px; color: var(--ink-2); line-height: 1.55; }
.gmi-cover-when {
  display: block; margin-top: 14px; font-size: 14.5px;
  font-weight: 600; color: var(--muted);
}
.gmi-cover-when.is-open { color: var(--ok); }
/* The sixth cell. Not filler for an empty grid slot — five covers in three
   columns leaves a hole, and "I don't know which of these I need" is the
   most common state a visitor arrives in. */
.gmi-cover-alt { background: var(--bg); }
.gmi-cover-alt:hover { background: var(--brand-50); }
.gmi-cover-alt h3 { color: var(--brand-d); }

.gmi-cover-when.is-open::before {
  content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%;
  background: var(--ok); margin-right: 7px; vertical-align: middle;
}

/* ------------------------------------------------------ comparison table --
   Tabular because the content is tabular. This is the section that makes the
   page worth linking to, so it is set as a real <table> — readable, quotable
   by an answer engine, and it collapses to stacked records on a phone. */

.gmi-compare-wrap { border: 1px solid var(--line); border-radius: 6px; background: var(--card); overflow: hidden; }
.gmi-compare { width: 100%; border-collapse: collapse; font-size: 16px; }
.gmi-compare th, .gmi-compare td {
  text-align: left; vertical-align: top; padding: 15px 18px;
  border-bottom: 1px solid var(--line);
}
.gmi-compare thead th {
  font-size: 14px; font-weight: 700; color: var(--ink);
  background: var(--bg); border-bottom: 2px solid var(--ink-2);
}
.gmi-compare tbody tr:last-child th, .gmi-compare tbody tr:last-child td { border-bottom: 0; }
.gmi-compare tbody th { font-weight: 700; color: var(--ink); width: 17%; }
.gmi-compare tbody th a { color: var(--brand); text-decoration-thickness: 1px; text-underline-offset: 2px; }
.gmi-compare td { color: var(--ink-2); }

@media (max-width: 859px) {
  /* Stacked records, each cell labelled from its column header. A table that
     scrolls sideways on a phone is a table nobody reads. */
  .gmi-compare thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .gmi-compare, .gmi-compare tbody, .gmi-compare tr, .gmi-compare th, .gmi-compare td { display: block; width: auto; }
  .gmi-compare tr { border-bottom: 1px solid var(--line-2); padding: 6px 0 12px; }
  .gmi-compare tbody tr:last-child { border-bottom: 0; }
  .gmi-compare tbody th { width: auto; font-size: 19px; padding-bottom: 4px; border: 0; }
  .gmi-compare td { border: 0; padding: 4px 18px 4px; }
  .gmi-compare td::before {
    content: attr(data-label); display: block;
    font-size: 13px; font-weight: 700; color: var(--muted);
    text-transform: none; margin-bottom: 1px;
  }
}

/* ------------------------------------------------------------ how it works --
   Numbered, because this genuinely is a sequence. The numerals are set in
   Newsreader at a size that makes them part of the typography rather than
   badges stuck on the front. */

.gmi-steps-grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 28px; grid-template-columns: 1fr;
}
@media (min-width: 820px) { .gmi-steps-grid { grid-template-columns: repeat(3, 1fr); gap: 40px; } }
.gmi-step { border-top: 2px solid var(--ink); padding-top: 16px; }
.gmi-step-n {
  display: block; font-family: "Newsreader", Georgia, serif;
  font-size: 34px; font-weight: 500; color: var(--brand);
  line-height: 1; margin-bottom: 8px; font-variation-settings: "opsz" 34;
}
.gmi-step h3 { font-size: 19px; margin: 0 0 6px; }
.gmi-step p  { margin: 0; font-size: 16.5px; color: var(--ink-2); }

/* -------------------------------------------------------- two-up prose -- */

.gmi-prose-2 { display: grid; gap: 34px; grid-template-columns: 1fr; }
@media (min-width: 860px) { .gmi-prose-2 { grid-template-columns: 1fr 1fr; gap: 56px; } }
.gmi-prose-2 h2 { font-size: clamp(24px, 3vw, 31px); margin-bottom: 12px; }
.gmi-prose-2 p  { font-size: 17.5px; max-width: 36ch; }

/* ------------------------------------------------------ carrier reference --
   Plain bordered chips, no shadow and no hover. Uniform by design: any
   visual emphasis on one company would start to look like a relationship
   with it, which is the thing this section must never imply. */

.gmi-carrier-group { margin: 0 0 26px; }
.gmi-carrier-group h3 { font-size: 17px; margin: 0 0 3px; }
.gmi-carrier-note { margin: 0 0 12px; font-size: 15.5px; color: var(--muted); }
.gmi-carrier-grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 7px;
  grid-template-columns: repeat(auto-fill, minmax(166px, 1fr));
}
.gmi-carrier-grid li {
  background: var(--card); border: 1px solid var(--line); border-radius: 4px;
  padding: 12px 14px; font-size: 15.5px; font-weight: 500;
  color: var(--ink-2); text-align: center;
}
@media (max-width: 479px) {
  .gmi-carrier-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .gmi-carrier-grid li { font-size: 13.5px; padding: 10px 7px; }
}
.gmi-carrier-disclaimer {
  margin: 24px 0 0; max-width: 48rem;
  background: var(--warn-bg); border: 1px solid var(--warn-line);
  border-left: 3px solid var(--warn); border-radius: 4px;
  padding: 16px 18px; font-size: 14.5px; line-height: 1.6; color: var(--ink-2);
}
.gmi-carrier-disclaimer strong { color: var(--warn); }

/* ------------------------------------------------------------------ faq -- */

.gmi-faq { max-width: 48rem; }
.gmi-faq details {
  background: transparent; border: 0; border-bottom: 1px solid var(--line);
  border-radius: 0; margin: 0;
}
.gmi-faq summary {
  cursor: pointer; padding: 18px 40px 18px 0; position: relative;
  font-weight: 600; color: var(--ink); font-size: 18px;
  list-style: none; min-height: 56px; display: flex; align-items: center;
}
.gmi-faq summary::-webkit-details-marker { display: none; }
.gmi-faq summary::after {
  content: ""; position: absolute; right: 8px; top: 50%;
  width: 10px; height: 10px; margin-top: -7px;
  border-right: 2px solid var(--brand); border-bottom: 2px solid var(--brand);
  transform: rotate(45deg); transition: transform .16s ease;
}
.gmi-faq details[open] summary::after { transform: rotate(-135deg); margin-top: -3px; }
.gmi-faq p { margin: 0; padding: 0 40px 20px 0; font-size: 17px; color: var(--ink-2); }

@media (prefers-reduced-motion: reduce) {
  .gmi-cover, .gmi-search-go, .gmi-faq summary::after { transition: none; }
}

/* ============================================================================
   LANDING PAGE KIT  (.gmi-lp-*)
   ============================================================================
   Built for final expense and reused by every vertical: life, auto, health
   and home need only a gmi-deep.php entry to get the same page.

   The audience for the first of these is 50 to 85, which drives three things
   that are not negotiable here:

     - the call panel is the heaviest object on the page, repeated three times
       plus the sticky bar, and it is the only amber on the site;
     - minimum tap target is 56px, above the WCAG floor, because that floor
       assumes a steady hand;
     - body copy in these sections runs 17.5-18.5px with generous leading.

   Restraint rule: the hero figure card is the one piece of visual weight
   besides the call panel. Everything else is hairlines and flat fills.
   ============================================================================ */

.gmi-vis-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ----------------------------------------------------------------- hero -- */

.gmi-lp-hero {
  background: var(--sky); border-bottom: 1px solid var(--sky-line);
  padding: 46px 0 52px;
}
.gmi-lp-hero-grid { display: grid; gap: 34px; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 980px) {
  .gmi-lp-hero-grid { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .95fr); gap: 48px; }
  .gmi-lp-hero-grid.is-single { grid-template-columns: minmax(0, 1.5fr) minmax(280px, .85fr); }
}
.gmi-lp-hero h1 {
  font-size: clamp(34px, 5vw, 54px); line-height: 1.05;
  letter-spacing: -.02em; max-width: 17ch; margin-top: 16px;
  font-variation-settings: "opsz" 54;
}
.gmi-lp-hero .gmi-hero-lead { max-width: 46ch; }

.gmi-lp-ticks { list-style: none; margin: 22px 0 0; padding: 0; }
.gmi-lp-ticks li {
  position: relative; padding-left: 28px; margin: 9px 0;
  font-size: 16.5px; font-weight: 500; color: var(--ink-2);
}
.gmi-lp-ticks li::before {
  content: ""; position: absolute; left: 2px; top: .5em;
  width: 10px; height: 5px; border-left: 2.2px solid var(--ok);
  border-bottom: 2.2px solid var(--ok); transform: rotate(-45deg);
}

/* ------------------------------------------------------------ call panel --
   The heaviest object on every landing page. White card on the sky field in
   the hero, so it reads as the thing to act on before anything else is
   read. */

.gmi-lp-callbox {
  background: var(--card); border: 1px solid var(--sky-line);
  border-radius: 6px; padding: 20px; margin: 26px 0 0;
  max-width: 30rem; box-shadow: 0 10px 30px rgba(10,34,64,.10);
}
.gmi-lp-callbox-lead { margin: 0 0 13px; font-weight: 600; font-size: 17px; color: var(--ink); }
.gmi-lp-callbox-note { margin: 13px 0 0; font-size: 14.5px; color: var(--muted); line-height: 1.55; }
.gmi-lp-callbox .gmi-call { width: 100%; }
.gmi-lp-callbox.is-band { margin: 0; flex: 0 0 auto; width: min(100%, 25rem); }
.gmi-lp-callbox.is-end  { margin: 24px auto 0; }

/* ------------------------------------------------------- the figure card --
   The one piece of weight besides the call panel: dark, so the numbers read
   as a record rather than an advert. Sourced in the card — an unsourced
   figure in this position is a scare rather than a fact. */

.gmi-lp-figure {
  background: var(--ink); color: #D6E2F0; border-radius: 6px; padding: 24px 24px 20px;
}
.gmi-lp-figure h2 {
  color: #fff; font-size: 20px; margin: 0 0 4px;
  font-family: "Public Sans", sans-serif; font-weight: 700; letter-spacing: 0;
}
.gmi-lp-figure-rows { margin: 14px 0 0; border-top: 1px solid rgba(255,255,255,.18); }
.gmi-lp-figure-rows div {
  display: flex; align-items: baseline; justify-content: space-between; gap: 14px;
  padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.14);
}
.gmi-lp-figure-rows dt { font-size: 15.5px; color: #B9CBE0; }
.gmi-lp-figure-rows dd {
  margin: 0; font-family: "Newsreader", Georgia, serif; font-size: 31px;
  font-weight: 500; color: #fff; line-height: 1; font-variation-settings: "opsz" 32;
}
.gmi-lp-figure-sub {
  margin: 16px 0 6px; font-size: 13px; font-weight: 700; color: #9FB6CE;
}
.gmi-lp-figure-list { list-style: none; margin: 0; padding: 0; }
.gmi-lp-figure-list li {
  font-size: 14.5px; line-height: 1.45; padding: 3px 0 3px 15px; position: relative;
}
.gmi-lp-figure-list li::before {
  content: ""; position: absolute; left: 0; top: .72em;
  width: 5px; height: 5px; border-radius: 50%; background: #6F8CAA;
}
.gmi-lp-figure-caveat {
  margin: 14px 0 0; padding: 12px 14px; border-radius: 4px;
  background: rgba(255,179,0,.14); border: 1px solid rgba(255,179,0,.32);
  font-size: 14.5px; line-height: 1.5; color: #FFE3A8;
}
.gmi-lp-figure-source {
  margin: 12px 0 0; font-size: 12.5px; line-height: 1.5; color: #8FA7C0;
}

/* -------------------------------------------------------- have these ready --
   This block exists to make calls longer, which is the only thing that pays:
   a caller holding four answers has a conversation, one ambushed by the first
   question hangs up inside a minute. */

.gmi-lp-ready { background: var(--card); border-bottom: 1px solid var(--line); padding: 34px 0; }
.gmi-lp-ready-head { max-width: 46rem; margin: 0 0 20px; }
.gmi-lp-ready-head h2 { font-size: clamp(21px, 2.6vw, 27px); }
.gmi-lp-ready-head p  { margin: 8px 0 0; font-size: 16px; color: var(--muted); }
.gmi-lp-ready-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px;
  background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden;
  grid-template-columns: 1fr; }
@media (min-width: 680px)  { .gmi-lp-ready-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) { .gmi-lp-ready-grid { grid-template-columns: repeat(4, 1fr); } }
.gmi-lp-ready-grid li { background: var(--card); padding: 17px 18px; }
.gmi-lp-ready-grid strong { display: block; font-size: 16.5px; color: var(--ink); margin-bottom: 3px; }
.gmi-lp-ready-grid span   { display: block; font-size: 15px; color: var(--ink-2); line-height: 1.5; }

/* ------------------------------------------------------------ what it is -- */

.gmi-lp-split { display: grid; gap: 32px; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 900px) { .gmi-lp-split { grid-template-columns: minmax(0,1.4fr) minmax(280px,.9fr); gap: 48px; } }
.gmi-lp-split-main h2 { font-size: clamp(26px, 3.4vw, 36px); margin-bottom: 14px; }
.gmi-lp-split-main p  { font-size: 18px; max-width: 40ch; margin: 0 0 15px; }

.gmi-lp-specs { border-top: 2px solid var(--ink); padding-top: 14px; }
.gmi-lp-specs h3 { font-size: 14px; color: var(--muted); margin: 0 0 4px; font-weight: 700; }
.gmi-lp-specs dl { margin: 0; }
.gmi-lp-specs div { padding: 13px 0; border-bottom: 1px solid var(--line); }
.gmi-lp-specs dt { font-size: 15px; font-weight: 700; color: var(--ink); }
.gmi-lp-specs dd { margin: 3px 0 0; font-size: 15.5px; color: var(--ink-2); line-height: 1.5; }

/* ------------------------------------------------------------------ why -- */

.gmi-lp-reasons { display: grid; gap: 1px; grid-template-columns: 1fr;
  background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
@media (min-width: 760px) { .gmi-lp-reasons { grid-template-columns: 1fr 1fr; } }
.gmi-lp-reasons > div { background: var(--card); padding: 24px; }
.gmi-lp-reasons h3 { font-size: 19px; margin: 0 0 7px; }
.gmi-lp-reasons p  { margin: 0; font-size: 16.5px; color: var(--ink-2); line-height: 1.55; }

/* ------------------------------------------------------------ call band -- */

.gmi-lp-band { background: var(--brand-50); border-block: 1px solid var(--sky-line); padding: 40px 0; }
.gmi-lp-band-in { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; justify-content: space-between; }
.gmi-lp-band-in > div { flex: 1 1 22rem; }
.gmi-lp-band h2 { font-size: clamp(24px, 3vw, 32px); margin-bottom: 8px; }
.gmi-lp-band p  { margin: 0; font-size: 17px; color: var(--ink-2); max-width: 38ch; }
.gmi-lp-band .gmi-lp-callbox { border-color: var(--line-2); }

/* ------------------------------------------------------------------ how -- */

.gmi-lp-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px;
  background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden;
  grid-template-columns: 1fr; }
@media (min-width: 900px) { .gmi-lp-steps { grid-template-columns: repeat(4, 1fr); } }
.gmi-lp-steps li { background: var(--card); padding: 22px 20px; display: flex; gap: 14px; align-items: flex-start; }
@media (min-width: 900px) { .gmi-lp-steps li { display: block; } }
.gmi-lp-steps-n {
  flex: 0 0 auto; display: block; font-family: "Newsreader", Georgia, serif;
  font-size: 30px; font-weight: 500; color: var(--brand); line-height: 1;
  margin-bottom: 8px; font-variation-settings: "opsz" 30;
}
.gmi-lp-steps h3 { font-size: 17.5px; margin: 0 0 5px; }
.gmi-lp-steps p  { margin: 0; font-size: 15.5px; color: var(--ink-2); line-height: 1.5; }

/* The one thing on the page worth stopping at: the benefit structure. Amber
   left edge and nothing else — it is a warning in the useful sense, and the
   number that decides whether a policy does what someone thinks it does. */
.gmi-lp-callout {
  margin: 24px 0 0; max-width: 52rem;
  background: var(--warn-bg); border: 1px solid var(--warn-line);
  border-left: 4px solid var(--cta); border-radius: 5px; padding: 20px 22px;
}
.gmi-lp-callout h3 { font-size: 18.5px; margin: 0 0 10px; }
.gmi-lp-callout p  { margin: 0 0 10px; font-size: 16.5px; color: var(--ink-2); line-height: 1.55; }
.gmi-lp-callout p:last-child { margin-bottom: 0; }

/* ----------------------------------------------------------- comparison -- */

.gmi-lp-vs-wrap { border: 1px solid var(--line); border-radius: 6px; background: var(--card); overflow: hidden; }
.gmi-lp-vs { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.gmi-lp-vs th, .gmi-lp-vs td {
  text-align: left; vertical-align: top; padding: 14px 16px; border-bottom: 1px solid var(--line);
}
.gmi-lp-vs thead th {
  font-size: 14.5px; font-weight: 700; color: var(--ink);
  background: var(--bg); border-bottom: 2px solid var(--ink-2);
}
/* The product this page is about gets the emphasis — the reader needs to
   know which column is the subject without hunting for it. */
.gmi-lp-vs thead th:nth-child(2) { background: var(--brand-50); color: var(--brand-d); }
.gmi-lp-vs tbody td:nth-child(2) { background: rgba(21,83,127,.035); }
.gmi-lp-vs tbody th { font-weight: 700; color: var(--ink); width: 15%; }
.gmi-lp-vs td { color: var(--ink-2); }
.gmi-lp-vs tbody tr:last-child th, .gmi-lp-vs tbody tr:last-child td { border-bottom: 0; }

@media (max-width: 899px) {
  /* Stacked records labelled from the column header. A comparison table that
     scrolls sideways on a phone is a comparison nobody makes. */
  .gmi-lp-vs thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .gmi-lp-vs, .gmi-lp-vs tbody, .gmi-lp-vs tr, .gmi-lp-vs th, .gmi-lp-vs td { display: block; width: auto; }
  .gmi-lp-vs tr { border-bottom: 1px solid var(--line-2); padding: 8px 0 12px; }
  .gmi-lp-vs tbody tr:last-child { border-bottom: 0; }
  .gmi-lp-vs tbody th { width: auto; font-size: 18px; border: 0; padding-bottom: 2px; }
  .gmi-lp-vs td { border: 0; padding: 5px 16px; background: none !important; }
  .gmi-lp-vs td::before {
    content: attr(data-label); display: block;
    font-size: 12.5px; font-weight: 700; color: var(--muted); margin-bottom: 1px;
  }
  .gmi-lp-vs td:nth-child(2) { border-left: 3px solid var(--brand); }
}

/* -------------------------------------------------------------- urgency --
   Each item is a real property of the product, not a deadline. No
   countdown, no invented scarcity: state insurance departments regulate
   life insurance advertising, both call networks screen for manufactured
   urgency, and on this audience it reads as a scam and produces the
   twenty-second calls that do not bill. */

.gmi-lp-urgency { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 820px) { .gmi-lp-urgency { grid-template-columns: 1fr 1fr; gap: 16px; } }
.gmi-lp-urgency li {
  background: var(--card); border: 1px solid var(--line);
  border-left: 3px solid var(--cta-d); border-radius: 5px; padding: 19px 21px;
}
.gmi-lp-urgency h3 { font-size: 17.5px; margin: 0 0 6px; }
.gmi-lp-urgency p  { margin: 0; font-size: 16px; color: var(--ink-2); line-height: 1.55; }

/* ----------------------------------------------------------- closing cta -- */

.gmi-lp-end { background: var(--sky); border-top: 1px solid var(--sky-line); }
.gmi-lp-end-in { max-width: 36rem; margin: 0 auto; text-align: center; }
.gmi-lp-end-in h2 { font-size: clamp(26px, 3.6vw, 36px); }
.gmi-lp-end-in > p { margin: 12px 0 0; font-size: 17.5px; color: var(--ink-2); }
.gmi-lp-end-fine { margin: 20px 0 0; font-size: 13.5px; color: var(--muted); line-height: 1.55; }
.gmi-lp-end .gmi-lp-callbox { text-align: left; }
