/* ==========================================================================
   Luminary Insurance — premium design layer
   Presentation only: no copy, links or structure are changed here.
   Index-named Divi modules (.et_pb_text_0 etc.) restart their numbering on
   every page, so every index-specific rule below is scoped to `body.home`.
   ========================================================================== */


:root {
  --paper:     #FBF9F5;
  --paper-alt: #F4F0E9;
  --ink:       #14181C;
  --navy:      #0C2340;
  --muted:     #5F5B55;
  --hairline:  #E3DDD3;
  --accent:    #8FBEDF;

  --display: 'Cormorant Garamond', 'Times New Roman', Georgia, serif;
  --sans:    'Jost', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ---------- ground ---------- */
body, #page-container, .et-l--post, .et_builder_inner_content, .entry-content {
  background: var(--paper) !important;
}
body {
  font-family: var(--sans) !important;
  font-weight: 300;
  color: var(--muted) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* The lattice pattern reads busy; a flat warm ground is quieter. */
.et_pb_background_pattern { display: none !important; }

/* ---------- typography ---------- */
h1, h2, h3, h4, h5,
.et_pb_text_inner h1, .et_pb_text_inner h2,
.et_pb_text_inner h3, .et_pb_text_inner h4 {
  font-family: var(--display) !important;
  color: var(--ink) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
  text-transform: none !important;
}
.et_pb_text_inner h1, h1 {
  font-size: clamp(2.6rem, 5vw, 4.4rem) !important;
  line-height: 1.06 !important; font-weight: 300 !important; margin-bottom: .35em !important;
}
.et_pb_text_inner h2, h2 {
  font-size: clamp(1.9rem, 3.2vw, 2.9rem) !important;
  line-height: 1.15 !important; font-weight: 300 !important; margin-bottom: .5em !important;
}
.et_pb_text_inner h3, h3 {
  font-size: clamp(1.2rem, 1.8vw, 1.55rem) !important;
  line-height: 1.3 !important; font-weight: 500 !important; color: var(--navy) !important;
}
.et_pb_text_inner p, .et_pb_text_inner li, p {
  font-family: var(--sans) !important;
  font-size: 1.0625rem !important;
  line-height: 1.8 !important;
  font-weight: 300 !important;
  color: var(--muted) !important;
}
.et_pb_text_inner strong, strong, b { font-weight: 500 !important; color: var(--ink) !important; }

a { color: var(--navy); text-decoration: none; }
.et_pb_text_inner a { border-bottom: 1px solid var(--hairline); transition: border-color .25s ease; }
.et_pb_text_inner a:hover { border-color: var(--navy); }

/* ---------- rhythm ---------- */
.et_pb_section { background-color: transparent !important; padding: 6rem 0 !important; }
.et_pb_row_nested { padding: 1.5rem 0 !important; }
.et_pb_text { margin-bottom: 1.4rem !important; }

/* Alternating bands on the home page only (indices differ elsewhere). */
body.home .et_pb_section_2,
body.home .et_pb_section_4,
body.home .et_pb_section_6 { background: var(--paper-alt) !important; }

/* ---------- header ---------- */
.et_pb_menu, .et_pb_menu_inner_container { background: var(--paper) !important; }
#main-header, .et-l--header .et_pb_section {
  background: var(--paper) !important;
  border-bottom: 1px solid var(--hairline);
  padding: 1.1rem 0 !important;
  box-shadow: none !important;
}
.et_pb_menu__menu .et-menu > li > a, .et-menu > li > a, .nav li a {
  font-family: var(--sans) !important;
  font-size: .74rem !important; font-weight: 400 !important;
  letter-spacing: .2em !important; text-transform: uppercase !important;
  color: var(--ink) !important; opacity: .82; transition: opacity .2s ease;
}
.et_pb_menu__menu .et-menu > li > a:hover { opacity: 1; }
.et-menu > li { padding-left: 1.35rem !important; padding-right: 1.35rem !important; }

/* ---------- buttons ---------- */
.et_pb_button, a.et_pb_button, .et_pb_button_module_wrapper a {
  font-family: var(--sans) !important;
  font-size: .74rem !important; font-weight: 500 !important;
  letter-spacing: .2em !important; text-transform: uppercase !important;
  background: var(--ink) !important; background-image: none !important;
  color: var(--paper) !important;
  border: 1px solid var(--ink) !important; border-radius: 0 !important;
  padding: 1.05em 2.5em !important; line-height: 1 !important;
  transition: background-color .25s ease, color .25s ease !important;
}
.et_pb_button:hover, a.et_pb_button:hover {
  background: transparent !important; color: var(--ink) !important; padding: 1.05em 2.5em !important;
}
.et_pb_button:after, .et_pb_button:before { display: none !important; }

/* ---------- images ---------- */
.et_pb_image img { border-radius: 2px; }
.et_pb_image { margin-bottom: 1.5rem !important; }
/* hero portrait was never archived */
img[src*="/2020/10/noor2"] { display: none !important; }

/* ==========================================================================
   HOME PAGE
   ========================================================================== */

/* ---------- hero ----------
   The portrait beside the headline was never archived, so the left column is
   empty and the hero is centred as a single editorial block instead. If the
   photograph turns up, drop the .et_pb_column_0 rule to restore two columns. */
body.home .et_pb_section_0 { padding: 7rem 0 6.5rem !important; }
body.home .et_pb_row_0 { justify-content: center !important; width: 100% !important; }
body.home .et_pb_column_0 { display: none !important; }
body.home .et_pb_column_1 {
  width: 100% !important; max-width: 860px !important;
  margin: 0 auto !important; padding: 0 1.5rem !important;
  text-align: center !important; background: transparent !important;
}
body.home .et_pb_column_1 .et_pb_text_inner { text-align: center !important; }
body.home .et_pb_text_0 .et_pb_text_inner h1 { margin-bottom: .25em !important; }

body.home .et_pb_divider_0 { max-width: 64px; margin: 1.6rem auto 2rem !important; }
body.home .et_pb_divider_0:before { display: none !important; }
body.home .et_pb_divider_0 .et_pb_divider_internal {
  border-top: 1px solid var(--accent) !important; display: block !important; margin: 0 !important;
}

body.home .et_pb_text_1 .et_pb_text_inner p:first-of-type {
  font-size: 1.3rem !important; line-height: 1.65 !important;
  color: var(--ink) !important; font-weight: 300 !important;
  max-width: 640px; margin: 0 auto 1.6rem !important;
}
body.home .et_pb_text_1 .et_pb_text_inner p:nth-of-type(2) {
  font-family: var(--sans) !important; font-size: .76rem !important;
  letter-spacing: .22em !important; text-transform: uppercase !important;
  color: var(--muted) !important; margin: 0 auto 1.4rem !important;
}
body.home .et_pb_text_1 .et_pb_text_inner h3 {
  font-family: var(--display) !important; font-style: italic;
  font-size: 1.25rem !important; font-weight: 400 !important; color: var(--navy) !important;
  max-width: 620px; margin: 0 auto 2.4rem !important; line-height: 1.5 !important;
}
body.home .et_pb_button_0_wrapper { text-align: center !important; }

/* ---------- eyebrows ("AS SEEN IN", "A LITTLE BIT ABOUT ME…") ---------- */
body.home .et_pb_text_2 .et_pb_text_inner p,
body.home .et_pb_text_3 .et_pb_text_inner p:first-child {
  font-family: var(--sans) !important;
  letter-spacing: .26em !important; text-transform: uppercase !important;
  font-size: .72rem !important; font-weight: 400 !important; color: var(--muted) !important;
}

/* ---------- pricing ---------- */
.lum-pricing-grid { gap: 0 !important; padding: 2.5rem 0 1rem !important; }
.lum-price-card { padding: 0 2rem !important; border-right: 1px solid var(--hairline); }
.lum-price-card:last-child { border-right: 0; }
.lum-price-card h3 {
  font-family: var(--display) !important; font-size: 1.35rem !important;
  font-weight: 400 !important; color: var(--ink) !important; margin-bottom: .6em !important;
}
.lum-price-amount {
  font-family: var(--display) !important; font-size: 1.9rem !important;
  font-weight: 300 !important; color: var(--navy) !important;
  margin: 0 0 .6em !important; line-height: 1.1 !important;
}
.lum-price-note { font-size: .92rem !important; line-height: 1.7 !important; }
.lum-price-icon {
  width: 34px; height: 34px; margin: 0 auto 1.4rem;
  border: 1px solid var(--accent); background: transparent;
}
.lum-price-icon::before { left: 50%; top: 9px; width: 1px; height: 15px; background: var(--accent); }
.lum-price-icon::after  { top: 50%; left: 9px; height: 1px; width: 15px; background: var(--accent); }

@media (max-width: 980px) {
  .lum-price-card { border-right: 0; border-bottom: 1px solid var(--hairline); padding: 2rem 1rem !important; }
  .lum-price-card:last-child { border-bottom: 0; }
}

/* ---------- groups list ---------- */
body.home .et_pb_text_24 .et_pb_text_inner ul {
  list-style: none !important; padding: 0 !important;
  max-width: 620px; margin: 1.5rem auto 0 !important;
}
body.home .et_pb_text_24 .et_pb_text_inner li {
  font-family: var(--display) !important; font-size: 1.5rem !important;
  font-weight: 300 !important; color: var(--ink) !important; text-align: center;
  padding: 1.1rem 0 !important; border-bottom: 1px solid var(--hairline); line-height: 1.3 !important;
}
body.home .et_pb_text_24 .et_pb_text_inner li:last-child { border-bottom: 0; }

/* ---------- carriers / faq (own sections) ---------- */
.et_pb_section_carriers { padding: 5rem 0 !important; border-top: 1px solid var(--hairline); }
.et_pb_section_carriers ul { margin: 2rem 0 0 !important; }
.et_pb_section_carriers li {
  font-family: var(--sans) !important; font-size: .78rem !important;
  letter-spacing: .18em !important; text-transform: uppercase !important;
  color: var(--muted) !important; margin: 0 22px 18px !important;
}
.et_pb_section_faq { border-top: 1px solid var(--hairline); }
.et_pb_section_faq .et_pb_text_inner { max-width: 760px; margin: 0 auto; }

/* ---------- footer ---------- */
.et-l--footer .et_pb_section, #main-footer {
  background: var(--ink) !important; border-top: 0 !important; padding: 5rem 0 3rem !important;
}
.et-l--footer .et_pb_text_inner p, .et-l--footer .et_pb_text_inner span,
.et-l--footer p, .et-l--footer span, .et-l--footer li {
  color: rgba(251,249,245,.72) !important; font-size: .95rem !important; line-height: 1.85 !important;
}
.et-l--footer .et_pb_text_inner h1, .et-l--footer .et_pb_text_inner h2,
.et-l--footer .et_pb_text_inner h3, .et-l--footer b, .et-l--footer strong { color: var(--paper) !important; }
.et-l--footer a { color: var(--paper) !important; border-bottom-color: rgba(251,249,245,.3) !important; }

/* ---------- responsive ---------- */
@media (max-width: 980px) {
  .et_pb_section { padding: 3.5rem 0 !important; }
  .et_pb_text_inner p, p { font-size: 1rem !important; }
  body.home .et_pb_section_0 { padding: 4rem 0 3.5rem !important; }
  body.home .et_pb_text_1 .et_pb_text_inner p:first-of-type { font-size: 1.12rem !important; }
  body.home .et_pb_text_0 .et_pb_text_inner h1 { word-break: normal !important; hyphens: none; }
}

/* ---------- testimonials ----------
   The portraits rendered at 460px square, stretching the section past 4,300px.
   Smaller circular portraits read more considered and tighten the section. */
body.home .et_pb_section_6 .et_pb_image img,
body.home .et_pb_section_6 img {
  width: 132px !important;
  height: 132px !important;
  object-fit: cover;
  border-radius: 50% !important;
  margin: 0 auto 1.2rem !important;
  display: block;
}
body.home .et_pb_section_6 .et_pb_image { margin-bottom: .75rem !important; text-align: center; }
body.home .et_pb_section_6 .et_pb_text_inner p { max-width: 640px; margin-left: auto; margin-right: auto; }
