/* ════════════════════════════════════════════════════════════════
   Executive Life — Relevant Life landing pages
   Shared brand stylesheet (tokens + components, self-contained).
   ════════════════════════════════════════════════════════════════ */

/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/dm-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/dm-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/dm-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/dm-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/dm-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Serif Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/dm-serif-text-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Serif Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/dm-serif-text-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Serif Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/dm-serif-text-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Serif Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/dm-serif-text-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


@font-face {
  font-family: "PP Fragment";
  src: url("fonts/pp-fragment-all.otf") format("opentype");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "DM Serif Text";
  src: url("fonts/dm-serif-text-all.ttf") format("truetype");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "DM Serif Text";
  src: url("fonts/dm-serif-text-italic-all.ttf") format("truetype");
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  src: url("fonts/dm-sans-all.ttf") format("truetype");
  font-weight: 400; font-style: normal; font-display: swap;
}

:root {
  /* Brand palette */
  --el-midnight:#091628; --el-navy:#1e3a60; --el-dark-teal:#4a8f96;
  --el-light-teal:#6aa1a7; --el-bright-teal:#14cecf; --el-orange:#e8622a;
  --el-salmon:#f2a281; --el-burgundy:#823718; --el-light-grey:#f2f5fa; --el-white:#fff;
  --el-ink-700:#1e2c40; --el-grey-300:#dee1e6; --el-grey-500:#6f7c8c;
  --el-amber:#f5a623;

  --font-logo:"PP Fragment","DM Serif Text",ui-serif,Georgia,serif;
  --font-display:"DM Serif Text",ui-serif,Georgia,serif;
  --font-body:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  --radius-sm:8px; --radius-md:12px; --radius-lg:19px; --radius-pill:999px;
  --radius-fold:0 19px 19px 19px;
  --tracking-eyebrow:0.15em;

  --gradient-teal:conic-gradient(from 50deg at 77% 37%,var(--el-light-teal),var(--el-dark-teal));
  --gradient-orange:conic-gradient(from 140deg at 71% 66%,var(--el-orange),var(--el-burgundy));

  --shadow-sm:0 1px 2px rgba(9,22,40,.06);
  --shadow-md:0 8px 24px rgba(9,22,40,.10);
  --shadow-lg:0 24px 60px rgba(9,22,40,.16);
  --ease:cubic-bezier(0.22,0.61,0.36,1);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; font-family:var(--font-body); color:var(--el-midnight);
  background:var(--el-white); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4 { font-family:var(--font-display); font-weight:400; letter-spacing:-0.01em; margin:0; }
h1 { line-height:1.04; }
p { margin:0; }
a { color:inherit; }
em, .ital { font-style:italic; color:var(--el-dark-teal); }
.serif { font-family:var(--font-display); }

/* layout */
.wrap { max-width:1200px; margin:0 auto; padding:0 40px; }
.section { padding:96px 0; }
.section--tight { padding:64px 0; }

/* logo */
.logo { font-family:var(--font-logo); font-size:24px; letter-spacing:-0.02em; line-height:1; color:var(--el-midnight); white-space:nowrap; }
.logo--invert { color:var(--el-white); }

/* eyebrow */
.eyebrow {
  font-family:var(--font-body); font-weight:500; font-size:13px;
  letter-spacing:var(--tracking-eyebrow); text-transform:uppercase;
  color:var(--el-dark-teal); margin:0 0 16px;
}
.eyebrow--invert { color:rgba(255,255,255,.85); }

/* arrow badge */
.badge {
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  width:25px; height:25px; border-radius:var(--radius-pill); background:var(--el-white);
}
.badge svg { width:11px; height:10px; }

/* buttons */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 24px; border:none; border-radius:var(--radius-sm);
  font-family:var(--font-body); font-weight:500; font-size:16px; line-height:1;
  letter-spacing:var(--tracking-eyebrow); text-transform:uppercase;
  text-decoration:none; white-space:nowrap; cursor:pointer;
  transition:background .22s var(--ease),color .22s var(--ease),transform .14s var(--ease),box-shadow .22s var(--ease);
}
.btn:active { transform:scale(.98); }
.btn--orange { background:var(--el-orange); color:#fff; }
.btn--orange:hover { background:#d4571f; }
.btn--orange .badge svg { fill:var(--el-orange); }
.btn--teal { background:var(--el-dark-teal); color:#fff; }
.btn--teal:hover { background:#3f7d83; }
.btn--teal .badge svg { fill:var(--el-dark-teal); }
.btn--dark { background:var(--el-midnight); color:#fff; }
.btn--dark:hover { background:#0d1f38; }
.btn--dark .badge svg { fill:var(--el-midnight); }
.btn--outline { background:transparent; color:var(--el-midnight); box-shadow:inset 0 0 0 1px var(--el-midnight); }
.btn--outline:hover { background:var(--el-midnight); color:#fff; }
.btn--outline-light { background:transparent; color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.5); }
.btn--outline-light:hover { background:rgba(255,255,255,.12); }
.btn--sm { padding:11px 18px; font-size:14px; }
.btn--block { width:100%; }

/* cards */
.card { border-radius:var(--radius-lg); padding:32px; }
.card--fold { border-radius:var(--radius-fold); }
.card--light { background:var(--el-light-grey); color:var(--el-midnight); }
.card--white { background:#fff; color:var(--el-midnight); box-shadow:inset 0 0 0 1px var(--el-grey-300); }
.card--midnight { background:var(--el-midnight); color:#fff; }
.card--navy { background:var(--el-navy); color:#fff; }
.card--teal { background:var(--gradient-teal); color:#fff; }
.card--orange { background:var(--gradient-orange); color:#fff; }

/* link arrow */
.linkarrow {
  display:inline-flex; align-items:center; gap:10px; text-decoration:none;
  font-weight:500; font-size:13px; letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase; color:inherit;
}
.linkarrow .badge { background:rgba(255,255,255,.18); }
.linkarrow svg { fill:#fff; }

/* tag / pill */
.pill { display:inline-block; font-size:13px; padding:7px 13px; border-radius:999px; }
.pill--ondark { background:rgba(255,255,255,.16); color:#fff; }
.pill--light { background:var(--el-light-grey); color:var(--el-ink-700); }

/* form */
.field { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; }
.field label { font-size:13px; font-weight:500; letter-spacing:.02em; }
.field input, .field select {
  font-family:var(--font-body); font-size:16px; padding:14px 16px;
  border-radius:var(--radius-sm); border:1px solid var(--el-grey-300);
  background:#fff; color:var(--el-midnight); outline:none;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.field input:focus, .field select:focus { border-color:var(--el-dark-teal); box-shadow:0 0 0 3px rgba(74,143,150,.16); }
.field input::placeholder { color:#9aa6b4; }
.form-fine { font-size:12px; line-height:1.5; color:var(--el-grey-500); margin-top:6px; }

/* misc text */
.muted { color:var(--el-grey-500); }
.invert-muted { color:rgba(255,255,255,.7); }
.eyebrow-row { display:flex; align-items:center; gap:10px; }
hr.rule { border:none; border-top:1px solid var(--el-grey-300); margin:0; }

/* footer */
.foot { background:var(--el-midnight); color:rgba(255,255,255,.7); font-size:13px; line-height:1.7; }
.foot a { color:rgba(255,255,255,.85); text-decoration:none; }
.foot__top { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.foot__nav { display:flex; gap:24px; flex-wrap:wrap; font-size:14px; }
.foot__nav a:hover { color:#fff; }

/* ── shared section helpers ─────────────────────────────────────── */
.h2 { font-size:42px; line-height:1.08; max-width:18ch; }
.h4 { font-family:var(--font-display); font-size:21px; line-height:1.15; margin:0; }
.sec-head { max-width:760px; margin:0 0 48px; }
.sec-head--invert { color:#fff; }
.sec-head__sub { margin-top:16px; max-width:60ch; }
.prose { font-size:18px; line-height:1.6; color:var(--el-ink-700); }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.grid-2--mid { align-items:center; }
.grid-2--faq { gap:80px; }
.linkarrow--ink { color:var(--el-midnight); }
.badge--ink { background:var(--el-midnight); }
.badge--ink svg { fill:#fff; }

/* stats */
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.stat { display:flex; flex-direction:column; gap:8px; }
.stat__num { font-size:46px; line-height:1; color:#fff; }
.stat__label { font-size:14px; }

/* ticks */
.ticks { list-style:none; padding:0; margin:24px 0 0; display:flex; flex-direction:column; gap:12px; }
.ticks li { position:relative; padding-left:32px; font-size:16px; color:var(--el-ink-700); }
.ticks li::before { content:"✓"; position:absolute; left:0; top:-1px; width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; background:var(--el-dark-teal); color:#fff; border-radius:999px; font-size:11px; }

/* savings card */
.savings-card { min-height:360px; display:flex; flex-direction:column; justify-content:center; padding:48px; }
.savings-card__big { font-size:88px; line-height:.95; }
.savings-card__sub { font-size:18px; line-height:1.4; margin-top:20px; max-width:24ch; }

/* steps */
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.step { padding:32px; border-radius:var(--radius-lg); background:var(--el-light-grey); display:flex; flex-direction:column; gap:12px; }
.step__n { font-size:40px; color:var(--el-dark-teal); line-height:1; }
.step h3 { margin-top:4px; }

/* comparison */
.compare { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:920px; margin:0 auto; }
.compare__col { border-radius:var(--radius-lg); padding:36px; position:relative; }
.compare__col--bad { background:var(--el-light-grey); }
.compare__col--good { background:var(--el-midnight); color:#fff; }
.compare__tag { font-size:13px; font-weight:500; letter-spacing:var(--tracking-eyebrow); text-transform:uppercase; opacity:.7; }
.compare__cost { font-size:64px; line-height:1; margin:14px 0 2px; }
.compare__cost span { font-family:var(--font-body); font-size:22px; font-weight:400; opacity:.6; }
.compare__caption { font-size:14px; opacity:.6; margin-bottom:24px; }
.compare__list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; }
.compare__list li { display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-top:1px solid rgba(128,128,128,.18); font-size:15px; }
.compare__col--good .compare__list li { border-color:rgba(255,255,255,.14); }
.compare__list li span { opacity:.7; }
.compare__save { margin-top:24px; background:var(--gradient-orange); border-radius:var(--radius-fold); padding:16px 20px; font-size:18px; }
.compare__save strong { font-weight:600; }

/* eligibility */
.eligrid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.elig { display:flex; gap:16px; align-items:flex-start; padding:26px; }
.elig__t { font-weight:600; margin:0 0 4px; }
.elig__tick { flex:none; width:26px; height:26px; border-radius:999px; background:var(--el-dark-teal); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:13px; }
.elig__tick--x { background:var(--el-grey-300); color:var(--el-grey-500); }
.elig--muted { opacity:.72; }

/* benefits */
.benefits { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.benefit { min-height:200px; display:flex; flex-direction:column; gap:12px; }
.benefit h3 { margin:0; }
.benefit p { font-size:15px; line-height:1.5; }

/* reviews */
.reviews { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.review { margin:0; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-lg); padding:30px; display:flex; flex-direction:column; gap:16px; }
.stars { color:var(--el-salmon); letter-spacing:3px; font-size:15px; }
.review blockquote { margin:0; font-family:var(--font-display); font-size:20px; line-height:1.35; color:#fff; }
.review figcaption { font-size:14px; color:rgba(255,255,255,.65); }

/* faq */
.faqlist { display:flex; flex-direction:column; gap:0; }
.faq { border-top:1px solid var(--el-grey-300); }
.faq:last-child { border-bottom:1px solid var(--el-grey-300); }
.faq summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 4px; font-family:var(--font-display); font-size:21px; line-height:1.25; }
.faq summary::-webkit-details-marker { display:none; }
.faq__icon { flex:none; width:30px; height:30px; border-radius:999px; background:#fff; border:1px solid var(--el-grey-300); display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-body); font-size:20px; color:var(--el-dark-teal); transition:transform .2s var(--ease); }
.faq[open] .faq__icon { transform:rotate(45deg); }
.faq__body { padding:0 4px 26px; max-width:62ch; }
.faq__body p { color:var(--el-ink-700); font-size:16px; line-height:1.6; }

/* lead form */
.lead-form { background:#fff; border-radius:var(--radius-lg); padding:32px; box-shadow:var(--shadow-lg); }
.lead-form--dark { background:rgba(255,255,255,.06); box-shadow:none; border:1px solid rgba(255,255,255,.14); }
.lead-form--dark label { color:rgba(255,255,255,.85); }
.lead-form--dark input { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18); color:#fff; }
.lead-form--dark input::placeholder { color:rgba(255,255,255,.4); }
.lead-form__head { margin-bottom:22px; }
.lead-form__title { font-size:26px; line-height:1.1; }
.lead-form--dark .lead-form__title { color:#fff; }
.lead-form__sub { font-size:15px; margin-top:8px; }

/* final cta */
.finalcta { background:var(--el-midnight); border-radius:var(--radius-lg); padding:64px; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.finalcta__phone { margin-top:28px; color:rgba(255,255,255,.7); font-size:15px; }
.finalcta__phone a { color:#fff; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4); }

/* responsive */
@media (max-width:1000px) {
  .grid-2,.grid-2--faq,.compare,.stats,.steps,.benefits,.reviews,.eligrid,.finalcta { grid-template-columns:1fr; gap:32px; }
  .h2 { font-size:34px; }
  .section { padding:64px 0; }
  .savings-card__big { font-size:68px; }
  .finalcta { padding:36px; }
}
@media (max-width:560px) {
  .wrap { padding:0 22px; }
  .stats { grid-template-columns:1fr 1fr; }
}

/* ═══ Page layout: hero, split band, logo banner, quote cards ═══ */
/* Comparison-led, navy hero — branded "Executive Life" */
  .logo--rli .a { color:var(--el-midnight); }
  .logo--rli .b { color:var(--el-amber); }
  .logo--rli.logo--invert .a { color:#fff; }

  /* Whole-of-market logo banner */
  .logobanner { background:linear-gradient(105deg,#4a8f96 0%,#5d9da3 55%,#6aa6ab 100%); padding:46px 0 48px; }
  .logobanner .wrap { display:flex; flex-direction:column; align-items:center; gap:30px; text-align:center; }
  .logobanner__title { margin:0; color:rgba(255,255,255,.88); }
  .logobanner__logos { width:100%; max-width:1080px; height:auto; display:block; }
  @media (max-width:560px){ .logobanner__logos{ max-width:none; } }

  /* How it works — white section overrides */
  #how { background:var(--el-light-grey); }
  #how .eyebrow { color:var(--el-midnight); }
  #how .h2 { color:var(--el-midnight); }
  #how .step { background:#fff; border:1px solid #e7ebf1; box-shadow:0 8px 28px rgba(9,22,40,.07); }
  #how .step__n { color:#e8622a; }
  #how .steps .step:nth-child(2) .step__n { color:#4a8f96; }
  #how .steps .step:nth-child(3) .step__n { color:var(--el-navy); }
  #how .step .h4 { color:var(--el-midnight); }
  #how .step .muted { color:var(--el-ink-700); }
  #reviews .stars { color:#e8622a; }
  #reviews { background:#4a8f96 !important; color:#fff !important; }
  #reviews .h2 { color:#fff; }
  #reviews .eyebrow { color:rgba(255,255,255,.8); }
  #reviews .review { background:#fff; border:1px solid rgba(255,255,255,.35); box-shadow:0 10px 30px rgba(9,22,40,.12); }
  #reviews blockquote { color:var(--el-ink-700); }
  #reviews figcaption { color:var(--el-grey-500); }
  .faqimg { margin-top:28px; border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 12px 34px rgba(9,22,40,.12); max-width:420px; }
  .faqimg img { width:100%; height:auto; display:block; }

  .heroC { background:var(--el-navy); color:#fff; }
  .navC__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0; }
  .navC__links { display:flex; align-items:center; gap:30px; }
  .navC__links a { font-size:15px; font-weight:400; text-decoration:none; color:rgba(255,255,255,.82); letter-spacing:.01em; }
  .navC__links a:hover { color:#fff; opacity:1; }
  .navC__right { display:flex; align-items:center; gap:18px; }
  .navC__phone { font-size:15px; font-weight:500; text-decoration:none; color:rgba(255,255,255,.85); white-space:nowrap; }
  .navC__phone:hover { color:#fff; }
  @media (max-width:1080px){ .navC__links{ display:none; } }

  .heroC__grid { display:grid; grid-template-columns:1.05fr .95fr; gap:34px 56px; align-items:start; padding:40px 0 56px; }
  .heroC__copy { grid-column:1; grid-row:1; }
  .heroC__cards { grid-column:1; grid-row:2; }
  .heroC__cards .cc { margin-top:0; }
  .heroC__fine2 { grid-column:1; grid-row:3; align-self:start; }
  .herobadge { grid-column:2; grid-row:3; align-self:start; }
  .herobadge .gbadge { margin-top:26px; }
  .herosave { align-self:start; }
  .herosave__h { font-family:var(--font-display); font-size:34px; line-height:1.15; color:#fff; margin:0; }
  .herosave__list { list-style:none; padding:0; margin:26px 0 0; display:flex; flex-direction:column; gap:17px; }
  .herosave__list li { display:flex; align-items:center; gap:15px; font-size:21px; color:rgba(255,255,255,.9); }
  .herosave__list .badge { background:var(--el-midnight); flex:none; transform:scale(1.3); transform-origin:center; margin-right:4px; } .herosave__list .badge svg { fill:#fff; }
  .heroquote { align-self:start; }

  /* White split band under the hero */
  .splitband { background:#fff; }
  .splitband__grid { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:start; padding:56px 0 72px; }
  .splitband .herosave__h { color:var(--el-midnight); }
  .herosave__h .ital { color:#e8622a; font-style:italic; }
  .splitband .herosave__list li { color:var(--el-ink-700); }
  .splitband .herosave__list .badge { background:var(--el-dark-teal,#4a8f96); }
  .herosave__body { font-size:17px; line-height:1.6; color:var(--el-ink-700); margin:22px 0 0; max-width:52ch; }
  .herosave__list + .herosave__body { margin-top:28px; }
  .splitband .heroC__fine { color:var(--el-grey-500); }
  .splitband .quote-card { background:var(--el-midnight); color:#fff; }
  .splitband .quote-card__title { color:#fff; }
  .splitband .quote-card__sub { color:rgba(255,255,255,.7); }
  .splitband .quote-card .field label { color:rgba(255,255,255,.85); }
  .splitband .quote-card .field input, .splitband .quote-card .field select { background:#fff; border-color:rgba(255,255,255,.25); color:var(--el-midnight); }
  .splitband .quote-card .field input::placeholder { color:#9aa6b4; }
  .splitband .quote-card .field select option { color:var(--el-midnight); }
  .splitband .quote-card .form-fine { color:rgba(255,255,255,.55); }
  @media (max-width:1000px){ .splitband__grid{ grid-template-columns:1fr; gap:36px; padding:40px 0 48px; } }
  .heroC h1 { font-size:52px; color:#fff; max-width:18ch; }
  .heroC h1 .ital { color:#e8622a; }
  .heroC__sub { font-size:18px; line-height:1.55; color:rgba(255,255,255,.78); max-width:46ch; margin-top:20px; }

  .cc { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:34px; }
  .cc__card { border-radius:var(--radius-lg); padding:24px; }
  .cc__bad { background:#4a8f96; border:1px solid rgba(255,255,255,.18); }
  .cc__good { background:var(--el-white); color:var(--el-midnight); position:relative; }
  .cc__tag { font-size:12px; font-weight:500; letter-spacing:var(--tracking-eyebrow); text-transform:uppercase; opacity:.7; }
  .cc__cost { font-family:var(--font-display); font-size:48px; line-height:1; margin:10px 0 2px; }
  .cc__cost span { font-family:var(--font-body); font-size:17px; font-weight:400; opacity:.6; }
  .cc__note { font-size:13px; opacity:.6; }
  .cc__flag { position:absolute; top:-12px; right:18px; background:var(--gradient-orange); color:#fff; font-size:12px; font-weight:600; letter-spacing:var(--tracking-eyebrow); text-transform:uppercase; padding:7px 13px; border-radius:999px; }
  .heroC__fine { font-size:13px; color:rgba(255,255,255,.55); margin-top:26px; max-width:48ch; }

  /* Hero video */
  .herovid { grid-column:2; grid-row:1 / 3; align-self:end; }
  .herovid__card { background:#fff; border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow-lg); }
  .herovid__title { font-family:var(--font-display); font-size:28px; line-height:1.18; color:var(--el-midnight); margin:0 0 22px; max-width:24ch; }
  .herovid__title .ital { color:#e8622a; }
  .vidslot { position:relative; aspect-ratio:16/9; border-radius:12px; overflow:hidden; border:1px solid #e7ebf1; background:#091628; display:flex; align-items:center; justify-content:center; cursor:pointer; }
  .vidslot__thumb { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .vidslot__play { position:relative; z-index:2; width:66px; height:66px; border-radius:999px; background:var(--gradient-orange,#e8622a); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(9,22,40,.35); transition:transform .18s ease; }
  .vidslot:hover .vidslot__play { transform:scale(1.07); }
  .vidslot__play::after { content:""; width:0; height:0; margin-left:5px; border-left:19px solid #fff; border-top:12px solid transparent; border-bottom:12px solid transparent; }
  .vidslot__note { display:none; }
  .vidslot iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
  .vidslot video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .gbadge { display:flex; align-items:center; gap:12px; margin:18px 0 0; }
  .gbadge__logo { width:28px; height:28px; flex:none; display:block; }
  .gbadge__stars { color:#f5a623; font-size:17px; letter-spacing:2px; line-height:1; }
  .gbadge__label { font-size:13.5px; font-weight:500; color:rgba(255,255,255,.75); }

  /* Wide screens: the video card fills the band from the top of the heading
     down to the fine print, and takes extra column width to stay landscape. */
  @media (min-width:1200px){
    .heroC__grid { grid-template-columns:1fr 1.25fr; }
    .herovid { align-self:stretch; display:flex; flex-direction:column; }
    .herovid__card { flex:1; display:flex; flex-direction:column; }
    .herovid .vidslot { flex:1 1 auto; aspect-ratio:auto; min-height:280px; }
  }

  /* Quote band under the hero */
  .quoteband { display:none; }
  .foot { background:var(--el-navy) !important; }
  @media (max-width:1000px){ .herovid{ position:static; } .herovid__card{ padding:22px; } .herovid__title{ font-size:28px; } }

  /* Quote card */
  .quote-card { background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); overflow:hidden; color:var(--el-midnight); }
  .quote-card__pad { padding:32px; }
  .quote-card__title { font-family:var(--font-display); font-size:25px; line-height:1.1; }
  .quote-card__sub { font-size:15px; color:var(--el-grey-500); margin:8px 0 22px; }
  .quote__row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .quote__row .field { margin-bottom:14px; }
  .quote-confirm__head { background:var(--gradient-orange); color:#fff; padding:22px 28px; display:flex; align-items:center; gap:14px; }
  .quote-confirm__head .badge { background:#fff; }
  .quote-confirm__head .badge svg { fill:var(--el-orange); }
  .quote-confirm__t { font-family:var(--font-display); font-size:20px; line-height:1.1; }
  .quote-confirm__s { font-size:13.5px; opacity:.92; margin-top:2px; }
  .cal-inline { min-width:280px; height:640px; }

  /* booking section */
  .bookwrap { background:var(--el-midnight); border-radius:var(--radius-lg); padding:48px; display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:center; }
  .bookwrap__phone { margin-top:26px; color:rgba(255,255,255,.7); font-size:15px; }
  .bookwrap__phone a { color:#fff; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4); }
  .booklist { list-style:none; padding:0; margin:24px 0 0; display:flex; flex-direction:column; gap:13px; }
  .booklist li { display:flex; align-items:center; gap:12px; font-size:15.5px; color:#fff; }
  .booklist .badge { background:var(--el-dark-teal); } .booklist .badge svg { fill:#fff; }

  @media (max-width:1000px){
    .heroC__grid,.bookwrap{ grid-template-columns:1fr; gap:36px; }
    .heroC__copy,.heroC__cards,.heroC__fine2,.herovid,.herobadge{ grid-column:1; grid-row:auto; }
    .heroC h1{ font-size:42px; } .bookwrap{ padding:32px; }
  }
  @media (max-width:640px){
    .navC__inner { padding:16px 0; gap:12px; }
    .navC__phone { display:none; }
    .logo--rli { font-size:20px; }
    .heroC__grid { padding:24px 0 40px; gap:26px 0; }
    .heroC h1 { font-size:32px; max-width:none; }
    .heroC__sub { font-size:16px; margin-top:14px; max-width:none; }
    .cc { grid-template-columns:1fr; gap:12px; }
    .cc__card { padding:20px; }
    .cc__cost { font-size:40px; }
    .cc__flag { top:-11px; right:14px; }
    .heroC__fine { font-size:12.5px; max-width:none; }
    .herovid__card { padding:18px; }
    .herovid__title { font-size:23px; max-width:none; margin-bottom:16px; }
    .vidslot__play { width:52px; height:52px; }
    .vidslot__play::after { border-left-width:15px; border-top-width:10px; border-bottom-width:10px; }
    .splitband__grid { padding:36px 0 44px; gap:30px; }
    .herosave__h { font-size:27px; }
    .herosave__list { margin-top:20px; gap:14px; }
    .herosave__list li { font-size:17px; gap:12px; }
    .herosave__list .badge { transform:scale(1.1); }
    .herosave__body { font-size:16px; max-width:none; }
    .quote-card__pad { padding:22px; }
    .quote-card__title { font-size:22px; }
    .quote__row { grid-template-columns:1fr; gap:0; }
    .cal-inline { height:560px; }
    .faqimg { max-width:none; }
    .bookwrap { padding:24px; }
    .booklist li { font-size:15px; }
    .foot__top { flex-direction:column; align-items:flex-start; gap:18px; }
    .foot__nav { flex-wrap:wrap; gap:14px; }
  }
