/* Generated from elementor-build/ci.src.css by build_css.py. Edit the source. */
/* =========================================================
   Clinical Indications: design system for the Elementor build.
   Source for ci-components/assets/css/ci.css (build_css.py adds the
   `.ci:not(#_)` prefix so these rules out-rank Elementor and the Kit).
   Design: the Vellora mockup, re-skinned for clinicalindications.co.uk.
   ========================================================= */

:root {
  --brand: #144E81;           /* main brand colour (client, 2026-10-14) */
  --brand-dark: #0F3E69;
  --brand-deep: #0B2D4D;
  --navy-950: #071d33;
  --navy: var(--brand);        /* buttons and solid UI */
  --navy-700: var(--brand-dark);
  --ink: #10243f;
  --text: #4a5b70;
  --muted: #5f7085;
  --blue-700: var(--brand);   /* eyebrows, links */
  --blue-500: #4A7FB3;
  --blue-300: #8FB5DA;
  --blue-200: #C8DAEC;
  --blue-100: #DCE7F2;
  --blue-50: #eef4f9;
  --bg: #f8fafd;
  --bg-hero: #f2f7fc;
  --surface: #ffffff;
  --line: #dce5ee;
  --focus: var(--brand);

  --serif: "Newsreader", "Iowan Old Style", Georgia, serif;
  --sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

  --max: 1240px;
  --gutter: clamp(16px, 4vw, 40px);
  --header-h: 88px;
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 20px;
  --shadow-card: 0 1px 2px rgba(16, 36, 63, .04), 0 14px 34px -16px rgba(16, 36, 63, .16);
  --shadow-card-hover: 0 1px 2px rgba(16, 36, 63, .05), 0 22px 44px -18px rgba(16, 36, 63, .24);
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --ci-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
  --ci-arrow-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310243f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
}
@media (max-width: 600px) { :root { --header-h: 72px; } }

/* @globals */
.ci *,
.ci *::before,
.ci *::after { box-sizing: border-box; }
html { line-height: 1.15; }
.ci input,
.ci button,
.ci select,
.ci textarea,
.ci optgroup { font-family: inherit; font-size: 100%; line-height: 1.5; margin: 0; }
.ci table { border-collapse: collapse; }
.ci [hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.ci {
  margin: 0;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
.ci img,
.ci svg { max-width: 100%; }
.ci img { height: auto; }
.ci a { color: inherit; text-decoration: none; }
.ci a:hover,
.ci a:active { color: inherit; }
.ci h1,
.ci h2,
.ci h3,
.ci h4,
.ci p,
.ci figure,
.ci blockquote { margin: 0; }
.ci ul,
.ci ol { margin: 0; padding: 0; list-style: none; }
.ci strong { font-weight: 600; }
.ci ::selection { background: var(--blue-200); color: var(--ink); }
.ci :focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 6px; }
/* hello-elementor paints every button pink with a border */
/* :where() keeps this reset weaker than any class, so other components (the cookie banner) keep their buttons */
.ci :where(button,
.ci [type=button],
.ci [type=submit]) { font: inherit; color: inherit; background: none; border: 0; border-radius: 0; cursor: pointer; padding: 0; text-transform: none; }
.ci :where(button,
.ci [type=submit]):where(:hover,
.ci :focus) { background: none; color: inherit; }
/* @end-globals */

/* ---------- Elementor bridge ----------
   Containers lose Elementor's padding/gap rhythm; widgets lose its
   max-width / margin pins. :where() keeps these at the prefix's
   specificity so any component rule below wins. */
.ci:not(#_) :where(.e-con,
.ci:not(#_) .e-con-inner) {
  --container-default-padding-top: 0; --container-default-padding-right: 0;
  --container-default-padding-bottom: 0; --container-default-padding-left: 0;
  --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0;
  --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px; --min-height: 0;
  --margin-top: 0; --margin-bottom: 0; --margin-left: 0; --margin-right: 0;
  --flex-wrap: nowrap; flex-wrap: nowrap;
  position: relative; max-width: none;
}
.ci:not(#_) :where(.e-con.e-con--empty) { min-height: 0; }
.ci:not(#_) :where(.elementor-widget) { max-width: none; margin: 0; }
.ci:not(#_) :where(.elementor-element) { --widgets-spacing: 0px; }
.ci:not(#_) :where([data-elementor-type] > .e-con) { width: 100%; }
.ci:not(#_) .elementor-heading-title { color: inherit; font: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; padding: 0; margin: 0; }
.ci:not(#_) .elementor-widget-text-editor { color: inherit; font: inherit; }
.ci:not(#_) .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.ci:not(#_) .elementor-widget-image { text-align: left; line-height: 0; }
.ci:not(#_) .elementor-widget-image img { height: auto; max-width: 100%; border-radius: 0; box-shadow: none; vertical-align: top; }
.ci:not(#_) .elementor-icon-wrapper { line-height: 0; text-align: left; }
.ci:not(#_) .elementor-element.elementor-widget-icon .elementor-icon-wrapper { text-align: left; }
.ci:not(#_) .elementor-icon { color: inherit; font-size: inherit; line-height: 0; display: inline-grid; place-items: center; fill: none; }
.ci:not(#_) .elementor-icon svg,
.ci:not(#_) .elementor-button-icon svg { width: 1em; height: 1em; fill: none; stroke: currentColor; }
.ci:not(#_) .elementor-widget-html,
.ci:not(#_) .elementor-widget-shortcode { width: 100%; }

/* ---------- Utilities ---------- */
.ci:not(#_) .ci-skip { position: absolute; left: -9999px; top: 0; z-index: 999; background: var(--navy); color: #fff; padding: .7rem 1rem; border-radius: var(--radius-sm); }
.ci:not(#_) .ci-skip:focus { left: 16px; top: 12px; color: #fff; }
.ci:not(#_) .visually-hidden,
.ci:not(#_) .ci-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.ci:not(#_) .i { display: block; width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ci:not(#_) .ci-clipdefs { position: absolute; width: 0; height: 0; overflow: hidden; }

.ci:not(#_) .ci-container { width: min(var(--max), 100% - 2 * var(--gutter)); margin-inline: auto; flex-direction: column; }
.ci:not(#_) .ci-section { padding-block: clamp(32px, 3.8vw, 56px); flex-direction: column; }
.ci:not(#_) .ci-section--tight { padding-block: clamp(26px, 2.8vw, 40px); }
.ci:not(#_) .ci-section--flush-top { padding-top: 0; }
.ci:not(#_) .ci-page-hero + .ci-section { padding-top: clamp(12px, 2vw, 28px); }
.ci:not(#_) .ci-section--white { background: linear-gradient(180deg, #fff 0%, #fff 70%, var(--bg) 100%); }

/* ---------- Type ---------- */
.ci:not(#_) .ci-eyebrow {
  font: 600 .72rem/1.3 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--blue-700);
  margin-bottom: .85rem;
}
.ci:not(#_) .ci-eyebrow--light { color: rgba(255, 255, 255, .78); }
.ci:not(#_) .ci-h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(1.95rem, 1.3rem + 1.55vw, 2.6rem);
  line-height: 1.14;
  letter-spacing: -.012em;
  color: var(--ink);
}
.ci:not(#_) .ci-h2--light { color: #fff; }
.ci:not(#_) .ci-h3 { font-family: var(--serif); font-weight: 500; font-size: 1.45rem; line-height: 1.2; color: var(--ink); }
.ci:not(#_) .ci-pill {
  align-self: flex-start;
  font: 600 .7rem/1 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--brand);
  background: var(--blue-100);
  padding: .55rem .8rem;
  border-radius: 6px;
}
.ci:not(#_) .ci-lead { font-size: clamp(1rem, .95rem + .3vw, 1.12rem); line-height: 1.65; color: var(--text); max-width: 36em; }
.ci:not(#_) .ci-section-intro { margin-top: .9rem; font-size: 1rem; color: var(--text); max-width: 40em; }
.ci:not(#_) .ci-note { font-size: .85rem; color: var(--muted); }

/* ---------- Buttons (stock Button widget: class on the wrapper) ---------- */
.ci:not(#_) .ci-btn { width: auto; align-self: flex-start; }
.ci:not(#_) .ci-btn .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .75rem;
  min-height: 52px; padding: .9rem 1.55rem;
  border-radius: 10px; border: 1px solid transparent;
  font: 500 .95rem/1.1 var(--sans); letter-spacing: -.005em;
  white-space: nowrap;
  transition: background-color .35s var(--ease-out), color .35s var(--ease-out), border-color .35s var(--ease-out), box-shadow .35s var(--ease-out);
}
.ci:not(#_) .ci-btn .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: .75rem; flex-direction: row-reverse; }
.ci:not(#_) .ci-btn .elementor-button-icon { display: inline-flex; font-size: 1.05em; margin: 0; transition: transform .4s var(--ease-out); }
.ci:not(#_) .ci-btn .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }
.ci:not(#_) .ci-btn--primary .elementor-button { background: var(--navy); color: #fff; box-shadow: 0 12px 24px -14px rgba(7, 29, 51, .7); }
.ci:not(#_) .ci-btn--primary .elementor-button:hover,
.ci:not(#_) .ci-btn--primary .elementor-button:focus { background: var(--navy-700); color: #fff; box-shadow: 0 16px 28px -14px rgba(7, 29, 51, .75); }
.ci:not(#_) .ci-btn--outline .elementor-button { background: rgba(255, 255, 255, .65); color: var(--ink); border-color: #c4d2df; }
.ci:not(#_) .ci-btn--outline .elementor-button:hover,
.ci:not(#_) .ci-btn--outline .elementor-button:focus { background: #fff; color: var(--ink); border-color: var(--blue-500); }
.ci:not(#_) .ci-btn--light .elementor-button { background: rgba(255, 255, 255, .95); color: var(--ink); min-height: 48px; }
.ci:not(#_) .ci-btn--light .elementor-button:hover,
.ci:not(#_) .ci-btn--light .elementor-button:focus { background: #fff; color: var(--ink); box-shadow: 0 10px 26px -12px rgba(0, 0, 0, .45); }
.ci:not(#_) .ci-btn--sm .elementor-button { min-height: 44px; padding: .7rem 1.15rem; font-size: .85rem; }
.ci:not(#_) a.ci-btn-a {
  display: inline-flex; align-items: center; justify-content: center; gap: .65rem;
  min-height: 44px; padding: .7rem 1.15rem; border-radius: 10px;
  background: var(--navy); color: #fff; font: 500 .85rem/1.1 var(--sans); white-space: nowrap;
  box-shadow: 0 12px 24px -14px rgba(7, 29, 51, .7);
  transition: background-color .35s var(--ease-out);
}
.ci:not(#_) a.ci-btn-a:hover,
.ci:not(#_) a.ci-btn-a:focus { background: var(--navy-700); color: #fff; }
.ci:not(#_) a.ci-btn-a .i { width: 1.05em; height: 1.05em; transition: transform .4s var(--ease-out); }
.ci:not(#_) a.ci-btn-a:hover .i { transform: translateX(4px); }

.ci:not(#_) .ci-link-arrow { width: auto; align-self: flex-start; }
.ci:not(#_) .ci-link-arrow .elementor-button {
  display: inline-flex; align-items: center; gap: .55rem; padding: 0 0 .35rem; min-height: 0; border-radius: 0;
  background: linear-gradient(currentColor, currentColor) 0 100% / calc(100% - 1.6rem) 1px no-repeat;
  font: 500 .92rem/1.2 var(--sans); color: var(--ink);
}
.ci:not(#_) .ci-link-arrow .elementor-button:hover,
.ci:not(#_) .ci-link-arrow .elementor-button:focus { color: var(--ink); background-color: transparent; }
.ci:not(#_) .ci-link-arrow .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: .55rem; flex-direction: row-reverse; }
.ci:not(#_) .ci-link-arrow .elementor-button-icon { display: inline-flex; font-size: 1.1em; margin: 0; transition: transform .4s var(--ease-out); }
.ci:not(#_) .ci-link-arrow .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }

.ci:not(#_) .ci-arrow-btn {
  display: inline-grid; place-items: center;
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--line); background: rgba(255, 255, 255, .8); color: var(--ink);
  transition: background-color .3s, color .3s, border-color .3s, opacity .3s;
}
.ci:not(#_) .ci-arrow-btn .i { width: 18px; height: 18px; }
.ci:not(#_) .ci-arrow-btn:hover:not(:disabled),
.ci:not(#_) .ci-arrow-btn:focus-visible:not(:disabled) { background: var(--navy); border-color: var(--navy); color: #fff; }
.ci:not(#_) .ci-arrow-btn:disabled { opacity: .45; cursor: default; }
.ci:not(#_) .ci-carousel-nav { display: flex; gap: .75rem; }

/* ---------- Header (Saved Template "CI Header") ---------- */
.ci:not(#_) .ci-header {
  position: fixed; inset: 0 0 auto; z-index: 50;
  height: var(--header-h);
  flex-direction: column; justify-content: center;
  transition: transform .45s var(--ease-out), height .35s;
}
body.ci:not(#_).admin-bar .ci-header { top: 32px; }
@media (max-width: 782px) { body.ci:not(#_).admin-bar .ci-header { top: 46px; } }
.ci:not(#_) .ci-header::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: rgba(248, 250, 253, .9);
  -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 1px 0 rgba(16, 36, 63, .06), 0 10px 30px -20px rgba(16, 36, 63, .25);
  opacity: 0; transition: opacity .35s;
}
.ci:not(#_) .ci-header.is-scrolled { --header-h: 72px; }
.ci:not(#_) .ci-header.is-scrolled::before,
.ci:not(#_) .ci-header.is-open::before { opacity: 1; }
.ci:not(#_) .ci-header__inner { flex-direction: row; align-items: center; gap: 2rem; height: var(--header-h); transition: height .35s; }

.ci:not(#_) .ci-logo { flex-direction: row; align-items: center; gap: .6rem; color: var(--ink); flex: none; width: auto; }
.ci:not(#_) .ci-logo__mark { width: 36px; flex: none; }
.ci:not(#_) .ci-logo__mark img { width: 36px; height: auto; }
.ci:not(#_) .ci-logo__word { font-family: var(--serif); font-size: 1.5rem; line-height: 1; letter-spacing: -.01em; font-weight: 400; color: var(--ink); white-space: nowrap; }
.ci:not(#_) .ci-logo:hover .ci-logo__word { color: var(--ink); }

/* ci-nav widget */
.ci:not(#_) .ci-nav-host { flex: 1 1 auto; display: flex; align-items: center; min-width: 0; }
.ci:not(#_) .ci-nav-host > .elementor-widget-container { display: contents; }
.ci:not(#_) .ci-nav { margin-left: auto; margin-right: auto; }
.ci:not(#_) .ci-nav__list { display: flex; align-items: center; gap: clamp(1.1rem, 2.2vw, 2.1rem); }
.ci:not(#_) .ci-nav__item { position: relative; display: flex; align-items: center; gap: .15rem; }
.ci:not(#_) .ci-nav__item > a { position: relative; font-size: .86rem; font-weight: 500; color: var(--ink); padding: .4rem 0; white-space: nowrap; }
.ci:not(#_) .ci-nav__item > a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: right; transition: transform .45s var(--ease-out);
}
.ci:not(#_) .ci-nav__item > a:hover::after,
.ci:not(#_) .ci-nav__item.is-current > a::after { transform: scaleX(1); transform-origin: left; }
.ci:not(#_) .ci-nav__sub-toggle { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: var(--muted); }
.ci:not(#_) .ci-nav__sub-toggle .i { width: 14px; height: 14px; transition: transform .3s var(--ease-out); }
.ci:not(#_) .ci-nav__item.is-open .ci-nav__sub-toggle .i { transform: rotate(180deg); }
.ci:not(#_) .ci-nav__sub {
  position: absolute; top: calc(100% + 10px); left: -1rem; min-width: 230px; z-index: 5;
  padding: .55rem; border-radius: var(--radius); background: #fff; box-shadow: 0 1px 2px rgba(16, 36, 63, .06), 0 24px 48px -20px rgba(16, 36, 63, .3);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .25s, transform .3s var(--ease-out), visibility 0s .3s;
}
.ci:not(#_) .ci-nav__sub::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.ci:not(#_) .ci-nav__item:hover > .ci-nav__sub,
.ci:not(#_) .ci-nav__item.is-open > .ci-nav__sub,
.ci:not(#_) .ci-nav__item:focus-within > .ci-nav__sub {
  opacity: 1; visibility: visible; transform: none; transition: opacity .25s, transform .3s var(--ease-out), visibility 0s;
}
.ci:not(#_) .ci-nav__sub a { display: block; padding: .6rem .8rem; border-radius: 8px; font-size: .86rem; color: var(--ink); }
.ci:not(#_) .ci-nav__sub a:hover,
.ci:not(#_) .ci-nav__sub a:focus-visible { background: var(--blue-50); color: var(--ink); }

.ci:not(#_) .ci-header__actions { display: flex; align-items: center; gap: 1rem; flex: none; }
.ci:not(#_) .ci-icon-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--ink); transition: background-color .3s; }
.ci:not(#_) .ci-icon-btn .i { width: 20px; height: 20px; }
.ci:not(#_) .ci-icon-btn:hover,
.ci:not(#_) .ci-icon-btn[aria-expanded="true"] { background: rgba(255, 255, 255, .8); color: var(--ink); }

.ci:not(#_) .ci-menu-toggle { display: none; width: 44px; height: 44px; border-radius: 50%; place-items: center; color: var(--ink); }
.ci:not(#_) .ci-menu-toggle__bars { display: grid; gap: 5px; width: 20px; }
.ci:not(#_) .ci-menu-toggle__bars span { display: block; height: 1.6px; background: currentColor; border-radius: 2px; transition: transform .35s var(--ease-out), opacity .25s; }
.ci:not(#_) .ci-header.is-open .ci-menu-toggle__bars span:nth-child(1) { transform: translateY(6.6px) rotate(45deg); }
.ci:not(#_) .ci-header.is-open .ci-menu-toggle__bars span:nth-child(2) { opacity: 0; }
.ci:not(#_) .ci-header.is-open .ci-menu-toggle__bars span:nth-child(3) { transform: translateY(-6.6px) rotate(-45deg); }

.ci:not(#_) .ci-mobile-menu,
.ci:not(#_) .ci-search {
  position: fixed; left: 0; right: 0; top: var(--header-h); z-index: 49;
  background: #f8fafd; box-shadow: 0 24px 40px -24px rgba(16, 36, 63, .3);
}
body.ci:not(#_).admin-bar .ci-mobile-menu,
body.ci:not(#_).admin-bar .ci-search { top: calc(var(--header-h) + 32px); }
.ci:not(#_) .ci-mobile-menu[hidden],
.ci:not(#_) .ci-search[hidden] { display: none; }
.ci:not(#_) .ci-mobile-menu { max-height: calc(100vh - var(--header-h)); max-height: calc(100dvh - var(--header-h)); overflow-y: auto; overscroll-behavior: contain; padding: .5rem 0 1.5rem; }
.ci:not(#_) .ci-mobile-menu__inner,
.ci:not(#_) .ci-search__inner { width: min(var(--max), 100% - 2 * var(--gutter)); margin-inline: auto; }
.ci:not(#_) .ci-mobile-menu__row { display: flex; align-items: center; border-bottom: 1px solid var(--line); }
.ci:not(#_) .ci-mobile-menu__list a { display: block; flex: 1; padding: .85rem 0; font-family: var(--serif); font-size: 1.3rem; color: var(--ink); }
.ci:not(#_) .ci-mobile-menu__toggle { display: grid; place-items: center; flex: none; width: 48px; height: 48px; margin-right: -12px; border-radius: 50%; color: var(--ink); }
.ci:not(#_) .ci-mobile-menu__toggle .i { width: 20px; height: 20px; transition: transform .3s var(--ease-out); }
.ci:not(#_) .ci-mobile-menu__toggle[aria-expanded="true"] .i { transform: rotate(180deg); }
.ci:not(#_) .ci-mobile-menu__toggle:focus-visible { background: var(--blue-50); color: var(--ink); }
@media (hover: hover) { .ci:not(#_) .ci-mobile-menu__toggle:hover { background: var(--blue-50); color: var(--ink); } }
.ci:not(#_) .ci-mobile-menu__sub { overflow: hidden; }
.ci:not(#_) .ci-mobile-menu__sub[hidden] { display: none; }
.ci:not(#_) .ci-mobile-menu__list .ci-mobile-menu__child a { padding-left: 1.1rem; border-bottom: 1px solid var(--line); font-family: var(--sans); font-size: .95rem; color: var(--text); }
.ci:not(#_) .ci-mobile-menu__cta { margin-top: 1.25rem; width: 100%; }
.ci:not(#_) .ci-search { padding: 1.25rem 0 1.5rem; }
.ci:not(#_) .ci-search form { display: flex; gap: .75rem; }
.ci:not(#_) .ci-search input[type=search] {
  flex: 1; min-width: 0; height: 52px; padding: 0 1.1rem; border-radius: 10px; border: 1px solid #c4d2df; background: #fff;
  font: 400 1rem var(--sans); color: var(--ink);
}
.ci:not(#_) .ci-search input[type=search]:focus { outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--focus); }
.ci:not(#_) .ci-search button { min-height: 52px; padding: 0 1.4rem; border-radius: 10px; background: var(--navy); color: #fff; font: 500 .95rem var(--sans); }
.ci:not(#_) .ci-search button:hover,
.ci:not(#_) .ci-search button:focus { background: var(--navy-700); color: #fff; }

/* ---------- Home hero ---------- */
.ci:not(#_) .ci-hero {
  position: relative; overflow: hidden;
  background:
    radial-gradient(60% 50% at 18% 30%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 70%),
    linear-gradient(180deg, var(--bg-hero) 0%, #f7fafe 70%, #fbfdff 100%);
  padding-top: var(--header-h);
  min-height: clamp(600px, 100svh, 900px);
  flex-direction: row;
}
.ci:not(#_) .ci-hero__content { position: relative; z-index: 2; justify-content: center; padding-block: clamp(14px, 3vh, 44px) clamp(18px, 3.5vh, 44px); }
.ci:not(#_) .ci-hero__copy { max-width: 640px; flex-direction: column; }
.ci:not(#_) .ci-hero__kicker { flex-direction: row; align-items: center; flex-wrap: wrap; gap: .8rem 1.25rem; margin-bottom: clamp(1.25rem, 3.4vh, 2rem); }
.ci:not(#_) .ci-hero__kicker .ci-pill { align-self: center; margin: 0; }
.ci:not(#_) .ci-hero__badge { width: auto; flex: none; }
.ci:not(#_) .ci-hero__badge img { height: clamp(34px, 5vh, 44px); width: auto; }
.ci:not(#_) .ci-hero__title {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(2.3rem, min(4.3vw, 7.4vh), 3.9rem);
  line-height: 1.06; letter-spacing: -.02em; color: var(--ink);
  text-wrap: balance;
  margin-bottom: clamp(.8rem, 2vh, 1.15rem);
}
.ci:not(#_) .ci-hero__intro { font-size: clamp(.98rem, .9rem + .25vw, 1.08rem); line-height: 1.6; color: var(--text); max-width: 34em; margin-bottom: clamp(1.25rem, 3.4vh, 2rem); }
.ci:not(#_) .ci-hero__intro p + p { margin-top: .6rem; }
.ci:not(#_) .ci-hero__ctas { flex-direction: row; flex-wrap: wrap; gap: .75rem 1rem; }
.ci:not(#_) .ci-hero__ctas > .elementor-element { flex: 1 1 17rem; max-width: 100%; }  /* basis = widest label, so a squeezed row stacks instead of clipping */
.ci:not(#_) .ci-hero__ctas .elementor-button { width: 100%; }
.ci:not(#_) .ci-hero__ctas .elementor-button { min-height: clamp(50px, 6.4vh, 58px); padding-inline: 1.7rem; }

.ci:not(#_) .ci-hero__features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem 1.5rem; margin-top: clamp(1.25rem, 3.4vh, 2rem); }
.ci:not(#_) .ci-feature { flex-direction: column; align-items: flex-start; gap: .55rem; width: auto; min-width: 0; }
.ci:not(#_) .ci-feature__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--blue-100); color: var(--brand); flex: none; font-size: 18px; }
.ci:not(#_) .ci-feature__text { flex-direction: column; }
.ci:not(#_) .ci-feature__title { font-size: .85rem; font-weight: 600; color: var(--ink); line-height: 1.3; }
.ci:not(#_) .ci-feature__sub { font-size: .8rem; color: var(--muted); line-height: 1.4; }

.ci:not(#_) .ci-hero { --copy-w: 640px; }
/* The copy column keeps a fixed width; the photo takes the rest of the row, so the two never overlap. */
.ci:not(#_) .ci-hero__media {
  position: absolute; top: 0; right: 0; bottom: 0; z-index: 1;
  width: max(36vw, calc(100vw - max(var(--gutter), (100vw - var(--max)) / 2) - var(--copy-w) - 36px));
}
@media (min-width: 901px) { .ci:not(#_) .ci-hero__copy,
.ci:not(#_) .ci-hero__features { max-width: var(--copy-w); } }
@media (max-width: 1100px) { .ci:not(#_) .ci-hero { --copy-w: 520px; } }
@media (max-width: 1000px) { .ci:not(#_) .ci-hero { --copy-w: 470px; } }
.ci:not(#_) .ci-hero__frame { position: absolute; inset: 0; clip-path: url(#ciHeroClip); -webkit-clip-path: url(#ciHeroClip); overflow: hidden; background: var(--blue-100); }
.ci:not(#_) .ci-hero__parallax { position: absolute; left: 0; right: 0; top: -8%; height: 116%; }
.ci:not(#_) .ci-hero__zoom { position: absolute; inset: 0; container-type: size; transform-origin: 55% 50%; }
.ci:not(#_) .ci-hero__img,
.ci:not(#_) .ci-hero__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ci:not(#_) .ci-hero__img img { object-fit: cover; object-position: 57% 55%; max-width: none; }  /* focal point: the prescription changing hands */
.ci:not(#_) .ci-hero__wash {
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(242, 247, 252, .72) 0%, rgba(242, 247, 252, .18) 16%, rgba(242, 247, 252, 0) 30%),
    linear-gradient(180deg, rgba(220, 233, 245, .28), rgba(220, 233, 245, 0) 40%);
}
.ci:not(#_) .ci-hero__scrim { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(70% 45% at 82% 100%, rgba(10, 30, 52, .62), rgba(10, 30, 52, 0) 72%); }
.ci:not(#_) .ci-hero__veil {
  position: absolute; inset: 0; pointer-events: none;
  clip-path: url(#ciHeroVeil); -webkit-clip-path: url(#ciHeroVeil);
  background: linear-gradient(160deg, rgba(255, 255, 255, .82), rgba(246, 250, 254, .62));
  -webkit-backdrop-filter: blur(4px) saturate(1.1); backdrop-filter: blur(4px) saturate(1.1);
}
/* Lettering on the photo's backlit wall disc (cover maths, see the Vellora build) */
.ci:not(#_) .ci-hero__pillar {
  position: absolute; left: calc(40% - 16cqh); top: calc(52% - 8.6cqh); width: 20cqh;
  font-family: var(--serif); font-weight: 300; font-size: 2.35cqh; line-height: 1.12;
  letter-spacing: .02em; color: #454d57; text-align: center;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .7), 1px 2px 3px rgba(20, 30, 40, .16);
}
.ci:not(#_) .ci-hero__pillar .elementor-heading-title::after { content: ""; display: block; width: 1.8em; height: 1px; background: currentColor; opacity: .55; margin: .6em auto 0; }
.ci:not(#_) .ci-hero__story {
  position: absolute; right: 6%; bottom: 7%; width: auto; max-width: 330px; gap: 1rem; color: #fff;
  padding: 1.05rem 1.25rem 1.1rem; border-radius: 18px;
  background: linear-gradient(160deg, rgba(10, 32, 56, .55), rgba(10, 32, 56, .42));
  -webkit-backdrop-filter: blur(12px) saturate(1.1); backdrop-filter: blur(12px) saturate(1.1);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16), 0 20px 40px -24px rgba(5, 20, 36, .6);
}
.ci:not(#_) .ci-hero__caption { font: 500 .68rem/1.5 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: #fff; }
.ci:not(#_) .ci-play { flex-direction: row; align-items: center; gap: 1rem; margin-left: 7px; color: #fff; width: auto; }
.ci:not(#_) .ci-play:hover,
.ci:not(#_) .ci-play:focus { color: #fff; }
.ci:not(#_) .ci-play__btn { position: relative; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(255, 255, 255, .95); color: var(--ink); font-size: 19px; box-shadow: 0 10px 30px -10px rgba(5, 20, 36, .6); transition: transform .4s var(--ease-out); flex: none; }
.ci:not(#_) .ci-play__btn::after { content: ""; position: absolute; inset: -7px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .5); }
.ci:not(#_) .ci-play:hover .ci-play__btn { transform: scale(1.06); }
.ci:not(#_) .ci-play__text { font-size: .85rem; line-height: 1.35; }
.ci:not(#_) .ci-play__text .elementor-heading-title span { opacity: .85; }

/* ---------- Section heads ---------- */
.ci:not(#_) .ci-section-head { margin-bottom: clamp(22px, 2.4vw, 34px); flex-direction: column; }
.ci:not(#_) .ci-section-head--row { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 1.5rem 2rem; flex-wrap: wrap; }
.ci:not(#_) .ci-section-head--carousel { align-items: center; }
.ci:not(#_) .ci-head-copy { flex-direction: column; width: auto; }
.ci:not(#_) .ci-section-head--row > .ci-head-copy { flex: 1 1 420px; }
.ci:not(#_) .ci-carousel-nav-host { width: auto; flex: none; }

/* ---------- Benefit cards ---------- */
.ci:not(#_) .ci-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 24px); }
.ci:not(#_) .ci-benefit { flex-direction: column; gap: .9rem; background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: clamp(24px, 2.4vw, 32px); }
.ci:not(#_) .ci-benefit__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--blue-100); color: var(--brand); font-size: 21px; margin-bottom: .35rem; }
.ci:not(#_) .ci-benefit__title { font-family: var(--serif); font-weight: 500; font-size: 1.38rem; line-height: 1.2; color: var(--ink); }
.ci:not(#_) .ci-benefit__text { font-size: .93rem; line-height: 1.65; color: var(--text); }

/* ---------- Image cards (container rendered as a link) ---------- */
.ci:not(#_) .ci-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 24px); }
.ci:not(#_) .ci-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ci:not(#_) .ci-card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ci:not(#_) .ci-section-foot { margin-top: clamp(18px, 2.2vw, 28px); flex-direction: row; }
.ci:not(#_) .ci-card { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); overflow: hidden; flex-direction: column; transition: box-shadow .45s var(--ease-out); color: var(--text); }
.ci:not(#_) .ci-card:hover,
.ci:not(#_) .ci-card:focus-visible { box-shadow: var(--shadow-card-hover); color: var(--text); }
.ci:not(#_) .ci-card__media { aspect-ratio: 2 / 1; overflow: hidden; background: var(--blue-50); }
/* The image widget wrapper has no height of its own: make it fill the 2:1 frame so the photo is cropped
   around its centre (a portrait photo otherwise shows only its top edge). */
.ci:not(#_) .ci-card__media > .elementor-widget-image,
.ci:not(#_) .ci-card__media .elementor-widget-container { flex: 1 1 auto; height: 100%; width: 100%; }
.ci:not(#_) .ci-card__media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 45%; transition: transform 1.2s var(--ease-out); }
.ci:not(#_) .ci-card:hover .ci-card__media img { transform: scale(1.04); }
.ci:not(#_) .ci-card__body { flex: 1; flex-direction: column; padding: 1.5rem 1.5rem 1.6rem; }
.ci:not(#_) .ci-card__cat { font: 600 .68rem/1.3 var(--sans); letter-spacing: .15em; text-transform: uppercase; color: var(--blue-700); margin-bottom: .65rem; }
.ci:not(#_) .ci-card__title { font-family: var(--serif); font-weight: 500; font-size: 1.32rem; line-height: 1.2; color: var(--ink); margin-bottom: .6rem; }
.ci:not(#_) .ci-card__text { font-size: .9rem; line-height: 1.6; color: var(--text); margin-bottom: 1.4rem; }
.ci:not(#_) .ci-card__link { margin-top: auto; font: 500 .88rem/1.2 var(--sans); color: var(--ink); }
.ci:not(#_) .ci-card__link .elementor-heading-title { display: inline-flex; align-items: center; gap: .55rem; }
.ci:not(#_) .ci-card__link .elementor-heading-title::after {
  content: ""; width: 1.1em; height: 1.1em; background: currentColor;
  -webkit-mask: var(--ci-arrow) center / contain no-repeat; mask: var(--ci-arrow) center / contain no-repeat;
  transition: transform .4s var(--ease-out);
}
.ci:not(#_) .ci-card:hover .ci-card__link .elementor-heading-title::after { transform: translateX(4px); }

/* ---------- Stats ---------- */
.ci:not(#_) .ci-stats__panel {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: minmax(150px, .8fr) 4fr; align-items: center;
  padding: clamp(28px, 3.2vw, 44px) clamp(24px, 4vw, 56px);
  border-radius: var(--radius-lg);
  color: #fff;
  background:
    radial-gradient(80% 140% at 50% 130%, rgba(70, 132, 196, .6), rgba(70, 132, 196, 0) 62%),
    linear-gradient(180deg, #10406C 0%, var(--brand) 100%);
  box-shadow: 0 30px 60px -36px rgba(7, 29, 51, .7);
}
.ci:not(#_) .ci-stats__label { font: 600 .72rem/1.7 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .8); padding-right: 1rem; }
.ci:not(#_) .ci-stats__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ci:not(#_) .ci-stat { flex-direction: column; gap: .3rem; padding-left: clamp(18px, 3vw, 44px); border-left: 1px solid rgba(255, 255, 255, .16); }
.ci:not(#_) .ci-stat__num { font-family: var(--serif); font-weight: 400; font-size: clamp(2.2rem, 1.5rem + 1.6vw, 3.1rem); line-height: 1.05; letter-spacing: -.01em; font-variant-numeric: lining-nums tabular-nums; color: #fff; }
.ci:not(#_) .ci-stat__text { font-size: .9rem; line-height: 1.45; color: rgba(255, 255, 255, .88); }

/* ---------- Journey ---------- */
.ci:not(#_) .ci-journey__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.ci:not(#_) .ci-journey__copy { flex-direction: column; }
.ci:not(#_) .ci-journey__copy .ci-h2 { margin-bottom: 1.1rem; }
.ci:not(#_) .ci-journey__intro { max-width: 29em; margin-bottom: 2rem; }
.ci:not(#_) .ci-journey__intro p + p { margin-top: .8rem; }
.ci:not(#_) .ci-journey__wrap { position: relative; flex-direction: column; }
.ci:not(#_) .ci-journey__svg-host { position: absolute; inset: 0; pointer-events: none; }
.ci:not(#_) .ci-journey__path { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.ci:not(#_) .ci-journey__guide { stroke: #d6e3ee; stroke-width: 1.2; }
.ci:not(#_) .ci-journey__dots { stroke: #3D72A6; stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 0 6.5; }
.ci:not(#_) .ci-journey__node { fill: #fff; stroke: #4F80B0; stroke-width: 1.5; }
.ci:not(#_) .ci-journey__steps { position: relative; flex-direction: column; gap: clamp(20px, 2.4vw, 30px); }
.ci:not(#_) .ci-step { width: auto; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 1.4rem; align-items: center; }
.ci:not(#_) .ci-step:nth-child(1) { margin-left: 18%; }
.ci:not(#_) .ci-step:nth-child(2) { margin-left: 39%; }
.ci:not(#_) .ci-step:nth-child(3) { margin-left: 29%; }
.ci:not(#_) .ci-step:nth-child(4) { margin-left: 39%; }
.ci:not(#_) .ci-step__num {
  position: relative; z-index: 1;
  display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%;
  background: var(--blue-100); color: var(--ink);
  font: 600 .74rem/1 var(--sans); letter-spacing: .04em;
  box-shadow: 0 0 0 6px var(--bg);
}
.ci:not(#_) .ci-step__body { flex-direction: column; }
.ci:not(#_) .ci-step__title { font: 600 1.05rem/1.3 var(--sans); color: var(--ink); margin-bottom: .2rem; }
.ci:not(#_) .ci-step__text { font-size: .9rem; line-height: 1.55; color: var(--text); max-width: 30em; }
/* Plain stacked variant for inner pages */
.ci:not(#_) .ci-journey--stacked .ci-step:nth-child(n) { margin-left: 0; }

/* ---------- Carousels ---------- */
.ci:not(#_) .ci-carousel { position: relative; flex-direction: column; }
.ci:not(#_) .ci-carousel__viewport {
  --bleed: min(24px, var(--gutter));
  overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
  scrollbar-width: none; margin: -24px calc(-1 * var(--bleed)); padding: 24px var(--bleed);
  width: calc(100% + 2 * var(--bleed)); max-width: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--bleed), #000 calc(100% - var(--bleed)), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 var(--bleed), #000 calc(100% - var(--bleed)), transparent 100%);
}
.ci:not(#_) .ci-carousel__viewport::-webkit-scrollbar { display: none; }
/* --ci-gap, not --gap: every Elementor container redefines --gap (0px on the quote cards), which shrank their share of the row. */
.ci:not(#_) .ci-carousel__track,
.ci:not(#_) .ci-carousel__viewport .display-posts-listing { position: relative; align-items: flex-start; --per: 3; --ci-gap: clamp(16px, 2vw, 28px); display: flex; flex-direction: row; gap: var(--ci-gap); }
.ci:not(#_) .ci-carousel__track > *,
.ci:not(#_) .ci-carousel__viewport .display-posts-listing > li { flex: 0 0 calc((100% - (var(--per) - 1) * var(--ci-gap)) / var(--per)); scroll-snap-align: start; }
.ci:not(#_) .is-enhanced .ci-carousel__viewport { overflow: hidden; scroll-snap-type: none; touch-action: pan-y; }
.ci:not(#_) .ci-carousel__viewport .elementor-shortcode { display: block; }

/* News cards: Display Posts output styled as cards */
.ci:not(#_) .ci-news .display-posts-listing > li,
.ci:not(#_) .ci-news-grid .display-posts-listing > li {
  position: relative; display: flex; flex-direction: column;
  background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); overflow: hidden;
  padding: 0 0 1.6rem;
  transition: box-shadow .45s var(--ease-out);
  --img: none;
}
.ci:not(#_) .ci-news .display-posts-listing > li > *,
.ci:not(#_) .ci-news-grid .display-posts-listing > li > * { margin-inline: 1.6rem; }
.ci:not(#_) .ci-news .display-posts-listing > li::before,
.ci:not(#_) .ci-news-grid .display-posts-listing > li::before {
  content: ""; display: block; order: -2; aspect-ratio: 2.05 / 1; margin-bottom: 1.35rem;
  background: var(--blue-50) var(--img) center / cover no-repeat;
}
.ci:not(#_) .ci-news .display-posts-listing > li:hover,
.ci:not(#_) .ci-news-grid .display-posts-listing > li:hover { box-shadow: var(--shadow-card-hover); }
.ci:not(#_) .ci-news .display-posts-listing .date,
.ci:not(#_) .ci-news-grid .display-posts-listing .date { order: -1; font: 600 .68rem/1.3 var(--sans); letter-spacing: .15em; text-transform: uppercase; color: var(--blue-700); margin-bottom: .65rem; }
.ci:not(#_) .ci-news .display-posts-listing .title,
.ci:not(#_) .ci-news-grid .display-posts-listing .title { font-family: var(--serif); font-weight: 500; font-size: 1.32rem; line-height: 1.22; color: var(--ink); margin-bottom: .6rem; }
.ci:not(#_) .ci-news .display-posts-listing .title::before,
.ci:not(#_) .ci-news-grid .display-posts-listing .title::before { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--radius); }
.ci:not(#_) .ci-news .display-posts-listing .title:focus-visible,
.ci:not(#_) .ci-news-grid .display-posts-listing .title:focus-visible { outline: none; }
.ci:not(#_) .ci-news .display-posts-listing .title:focus-visible::before,
.ci:not(#_) .ci-news-grid .display-posts-listing .title:focus-visible::before { outline: 2px solid var(--focus); outline-offset: -3px; }
.ci:not(#_) .ci-news .display-posts-listing .excerpt-dash,
.ci:not(#_) .ci-news-grid .display-posts-listing .excerpt-dash { display: none; }
.ci:not(#_) .ci-news .display-posts-listing .excerpt,
.ci:not(#_) .ci-news-grid .display-posts-listing .excerpt { font-size: .92rem; line-height: 1.6; color: var(--text); margin-bottom: 1.4rem; }
.ci:not(#_) .ci-news .display-posts-listing .excerpt p,
.ci:not(#_) .ci-news-grid .display-posts-listing .excerpt p { margin: 0; }
.ci:not(#_) .ci-news .display-posts-listing > li::after,
.ci:not(#_) .ci-news-grid .display-posts-listing > li::after {
  content: "Read more"; margin: auto 1.6rem 0; font: 500 .88rem/1.2 var(--sans); color: var(--ink);
  padding-right: 1.6em; background: var(--ci-arrow-ink) right center / 1.1em no-repeat; align-self: flex-start;
}
.ci:not(#_) .ci-news-grid .display-posts-listing { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }

/* Featured image from Display Posts (image_size="medium_large"); the ::before picture is only a fallback */
.ci:not(#_) .ci-news .display-posts-listing > li > .image,
.ci:not(#_) .ci-news-grid .display-posts-listing > li > .image { order: -2; display: block; margin: 0 0 1.35rem; aspect-ratio: 2.05 / 1; overflow: hidden; background: var(--blue-50); }
.ci:not(#_) .ci-news .display-posts-listing .image img,
.ci:not(#_) .ci-news-grid .display-posts-listing .image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out); }
.ci:not(#_) .ci-news .display-posts-listing > li:hover .image img,
.ci:not(#_) .ci-news-grid .display-posts-listing > li:hover .image img { transform: scale(1.04); }
.ci:not(#_) .ci-news .display-posts-listing > li:has(> .image)::before,
.ci:not(#_) .ci-news-grid .display-posts-listing > li:has(> .image)::before { display: none; }

/* Quote cards */
.ci:not(#_) .ci-quote-card { flex-direction: column; justify-content: space-between; gap: 1.4rem; background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: clamp(22px, 2.4vw, 32px); height: auto; }
.ci:not(#_) .ci-quote-card__text { font-size: 1rem; line-height: 1.65; color: var(--text); }
.ci:not(#_) .ci-quote-card__text p + p { margin-top: .6rem; }
.ci:not(#_) .ci-quote-card__text strong { color: var(--ink); font-weight: 600; }
.ci:not(#_) .ci-quote-card__who { flex-direction: row; align-items: center; gap: 1rem; }
.ci:not(#_) .ci-avatar {
  display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; flex: none;
  background: linear-gradient(150deg, var(--blue-100), var(--blue-200)); color: var(--brand);
  font: 500 1.05rem/1 var(--serif); letter-spacing: .02em;
  box-shadow: 0 0 0 3px #fff, 0 6px 16px -8px rgba(16, 36, 63, .5);
}
.ci:not(#_) .ci-who { flex-direction: column; }
.ci:not(#_) .ci-who__name { font-size: .92rem; font-weight: 600; color: var(--ink); line-height: 1.3; }
.ci:not(#_) .ci-who__role { font-size: .8rem; color: var(--muted); line-height: 1.4; }

/* ---------- GMC panel ---------- */
.ci:not(#_) .ci-why { padding-block: clamp(8px, 1vw, 12px) clamp(32px, 3.6vw, 52px); }
.ci:not(#_) .ci-why__panel {
  position: relative; overflow: hidden; isolation: isolate;
  min-height: clamp(460px, 40vw, 560px);
  border-radius: var(--radius-lg);
  color: #fff;
  background: linear-gradient(105deg, var(--brand-deep) 0%, #0F3B63 38%, var(--brand) 70%, #3A6F9F 100%);
  box-shadow: 0 40px 70px -40px rgba(7, 29, 51, .7);
  flex-direction: row; align-items: center;
}
.ci:not(#_) .ci-why__media {
  position: absolute; top: 0; bottom: 0; right: 0; width: 60%; z-index: -1; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .55) 22%, #000 48%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .55) 22%, #000 48%);
}
.ci:not(#_) .ci-why__img { position: absolute; left: 0; right: 0; top: -10%; height: 120%; }
.ci:not(#_) .ci-why__img img { width: 100%; height: 100%; object-fit: cover; max-width: none; }
.ci:not(#_) .ci-why__shade {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(42% 46% at 72% 46%, rgba(9, 33, 58, .5), rgba(9, 33, 58, 0) 100%),
    linear-gradient(180deg, rgba(20, 60, 100, .12), rgba(8, 32, 56, .42)),
    linear-gradient(90deg, rgba(8, 34, 59, .45), rgba(8, 34, 59, 0) 55%);
}
.ci:not(#_) .ci-why__content { position: relative; padding: clamp(36px, 5vw, 64px) clamp(24px, 5vw, 64px); max-width: 660px; flex-direction: column; }
.ci:not(#_) .ci-why__content .ci-h2 { margin-bottom: 1.15rem; }
.ci:not(#_) .ci-why__intro { color: rgba(255, 255, 255, .88); font-size: 1rem; max-width: 34em; margin-bottom: 1.6rem; }
.ci:not(#_) .ci-why__intro p + p { margin-top: .8rem; }
.ci:not(#_) .ci-why__intro em { color: #fff; }
.ci:not(#_) .ci-checklist { margin-bottom: 2.1rem; }
.ci:not(#_) .ci-checklist .elementor-icon-list-items { display: grid; gap: .8rem; }
.ci:not(#_) .ci-checklist .elementor-icon-list-item { display: flex; align-items: center; gap: .8rem; font-size: .92rem; color: rgba(255, 255, 255, .92); padding: 0; margin: 0; }
.ci:not(#_) .ci-checklist .elementor-icon-list-icon { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #fff; color: var(--brand); flex: none; padding: 0; }
.ci:not(#_) .ci-checklist .elementor-icon-list-icon svg { width: 13px; height: 13px; stroke-width: 2.6; fill: none; stroke: currentColor; }
.ci:not(#_) .ci-checklist .elementor-icon-list-text { color: inherit; padding: 0; }
.ci:not(#_) .ci-why__note { font-size: .8rem; color: rgba(255, 255, 255, .72); margin-top: .9rem; max-width: 30em; }
.ci:not(#_) .ci-why__quote {
  position: absolute; right: clamp(24px, 6vw, 88px); top: 0; bottom: 0;
  justify-content: center;
  width: min(340px, 30%);
}
.ci:not(#_) .ci-why__quote-text {
  font-family: var(--serif); font-style: italic; font-weight: 300;
  font-size: clamp(1.4rem, .9rem + 1.05vw, 2rem); line-height: 1.32; color: #fff;
  text-shadow: 0 2px 24px rgba(5, 22, 40, .45);
}
.ci:not(#_) .ci-why__quote-cite { margin-top: 1.6rem; padding-top: 1.1rem; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .8); position: relative; }
.ci:not(#_) .ci-why__quote-cite::before { content: ""; position: absolute; left: 0; top: 0; width: 3.2rem; height: 1px; background: rgba(255, 255, 255, .55); }

/* ---------- Awards strip ---------- */
.ci:not(#_) .ci-accred__panel { background: #e9f0f6; border-radius: var(--radius-lg); padding: clamp(24px, 2.6vw, 32px) clamp(24px, 4vw, 56px) clamp(26px, 3vw, 36px); flex-direction: column; }
.ci:not(#_) .ci-accred__panel .ci-eyebrow { margin-bottom: 1.3rem; }
.ci:not(#_) .ci-accred__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; gap: 1.5rem 1.6rem; color: #3e4a58; }
.ci:not(#_) .ci-acc { flex-direction: column; align-items: flex-start; gap: .7rem; width: auto; }
.ci:not(#_) .ci-acc__logo { flex: none; width: auto; }
.ci:not(#_) .ci-acc__logo img { height: 46px; width: auto; filter: grayscale(1) contrast(1.05); opacity: .78; mix-blend-mode: multiply; transition: filter .4s, opacity .4s; }
.ci:not(#_) .ci-acc:hover .ci-acc__logo img { filter: none; opacity: 1; }
.ci:not(#_) .ci-acc__text { flex-direction: column; }
.ci:not(#_) .ci-acc__name { font: 600 .88rem/1.25 var(--sans); color: #33404e; }
.ci:not(#_) .ci-acc__sub { font-size: .78rem; color: #4d5967; line-height: 1.35; }

/* ---------- CTA ---------- */
.ci:not(#_) .ci-cta { padding-block: clamp(8px, 1vw, 12px) clamp(36px, 4vw, 56px); }
.ci:not(#_) .ci-cta__panel {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, .95fr); align-items: center; gap: clamp(24px, 3vw, 44px);
  border-radius: var(--radius-lg);
  background: linear-gradient(100deg, #e8eff6 0%, #e1eaf4 55%, #dce7f2 100%);
  min-height: 300px;
}
.ci:not(#_) .ci-cta__media { align-self: stretch; position: relative; overflow: hidden; min-height: 260px; }
.ci:not(#_) .ci-cta__media .elementor-widget-image,
.ci:not(#_) .ci-cta__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ci:not(#_) .ci-cta__media img { object-fit: cover; object-position: 40% 40%; max-width: none; }
.ci:not(#_) .ci-cta__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(225, 234, 244, 0) 55%, #e4ecf5 100%); pointer-events: none; }
.ci:not(#_) .ci-cta__content { padding-block: clamp(28px, 3.2vw, 44px); flex-direction: column; }
.ci:not(#_) .ci-cta__content .ci-eyebrow { margin-bottom: .9rem; color: var(--brand); }
.ci:not(#_) .ci-cta__content .ci-h2 { font-size: clamp(1.85rem, 1.25rem + 1.4vw, 2.45rem); margin-bottom: .9rem; }
.ci:not(#_) .ci-cta__text { font-size: .95rem; color: var(--text); max-width: 27em; margin-bottom: 1.6rem; }
.ci:not(#_) .ci-cta__points { padding-right: clamp(24px, 3.5vw, 48px); }
.ci:not(#_) .ci-cta__points .elementor-icon-list-items { display: grid; gap: 1.15rem; }
.ci:not(#_) .ci-cta__points .elementor-icon-list-item { display: flex; align-items: center; gap: .9rem; font-size: .9rem; color: #33475d; padding: 0; margin: 0; }
.ci:not(#_) .ci-cta__points .elementor-icon-list-item a { display: flex; align-items: center; gap: .9rem; color: #33475d; }
.ci:not(#_) .ci-cta__points .elementor-icon-list-item a:hover .elementor-icon-list-text { text-decoration: underline; text-underline-offset: 4px; }
.ci:not(#_) .ci-cta__points .elementor-icon-list-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #CFE0F1; color: var(--brand); flex: none; padding: 0; }
.ci:not(#_) .ci-cta__points .elementor-icon-list-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; }
.ci:not(#_) .ci-cta__points .elementor-icon-list-text { color: inherit; padding: 0; }

/* ---------- Footer (Saved Template "CI Footer") ---------- */
.ci:not(#_) .ci-footer { padding-block: clamp(24px, 2.6vw, 32px) clamp(36px, 4vw, 52px); flex-direction: column; }
.ci:not(#_) .ci-footer__top { flex-direction: row; align-items: center; gap: 1.5rem 2.5rem; flex-wrap: wrap; }
.ci:not(#_) .ci-footer__top .ci-logo__word { font-size: 1.4rem; }
.ci:not(#_) .ci-footer__nav { margin-left: auto; width: auto; }
.ci:not(#_) .ci-footer__nav .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.ci:not(#_) .ci-footer__nav .elementor-icon-list-item { padding: 0; margin: 0; }
.ci:not(#_) .ci-footer__nav .elementor-icon-list-item::after { display: none; }
.ci:not(#_) .ci-footer__nav a { font-size: .85rem; color: var(--ink); }
.ci:not(#_) .ci-footer__nav a:hover .elementor-icon-list-text { text-decoration: underline; text-underline-offset: 4px; }
.ci:not(#_) .ci-footer__nav .elementor-icon-list-text { color: var(--ink); padding: 0; }
.ci:not(#_) .ci-footer__bottom {
  margin-top: clamp(22px, 2.4vw, 30px); padding-top: clamp(18px, 2vw, 24px); border-top: 1px solid var(--line);
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.2rem 2.5rem; align-items: start;
}
.ci:not(#_) .ci-footer__address { font-size: .85rem; line-height: 1.65; color: var(--text); }
.ci:not(#_) .ci-footer__address strong { color: var(--ink); }
.ci:not(#_) .ci-footer__legal { font-size: .82rem; line-height: 1.8; color: var(--muted); text-align: right; }
.ci:not(#_) .ci-footer__legal a { white-space: nowrap; }
.ci:not(#_) .ci-footer__address a,
.ci:not(#_) .ci-footer__legal a { color: var(--ink); text-decoration: underline; text-decoration-color: rgba(16, 36, 63, .3); text-underline-offset: 3px; }
.ci:not(#_) .ci-footer__address a:hover,
.ci:not(#_) .ci-footer__legal a:hover { color: var(--ink); text-decoration-color: currentColor; }

/* ---------- Inner page hero ---------- */
.ci:not(#_) .ci-page-hero {
  position: relative; overflow: hidden;
  padding-top: calc(var(--header-h) + clamp(28px, 4vw, 56px));
  padding-bottom: clamp(28px, 3.5vw, 48px);
  background:
    radial-gradient(60% 60% at 15% 20%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 70%),
    linear-gradient(180deg, var(--bg-hero) 0%, #f7fafe 80%, var(--bg) 100%);
}
.ci:not(#_) .ci-page-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.ci:not(#_) .ci-page-hero__copy { flex-direction: column; }
.ci:not(#_) .ci-page-hero__copy .ci-pill { margin-bottom: 1.2rem; }
.ci:not(#_) .ci-page-hero__title { font-family: var(--serif); font-weight: 400; font-size: clamp(2.2rem, 1.5rem + 2.4vw, 3.3rem); line-height: 1.1; letter-spacing: -.018em; color: var(--ink); margin-bottom: 1.1rem; }
.ci:not(#_) .ci-page-hero__lead { font-size: clamp(1rem, .96rem + .25vw, 1.1rem); line-height: 1.7; color: var(--text); max-width: 36em; }
.ci:not(#_) .ci-page-hero__lead p + p { margin-top: .7rem; }
.ci:not(#_) .ci-page-hero__media { position: relative; aspect-ratio: 4 / 3; max-height: 420px; width: 100%; clip-path: url(#ciPageClip); -webkit-clip-path: url(#ciPageClip); background: var(--blue-100); }
.ci:not(#_) .ci-page-hero__media .elementor-widget-image,
.ci:not(#_) .ci-page-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ci:not(#_) .ci-page-hero__media img { object-fit: cover; max-width: none; }

/* ---------- Inner page layout + prose ---------- */
.ci:not(#_) .ci-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(32px, 5vw, 72px); align-items: start; }
.ci:not(#_) .ci-layout--single { grid-template-columns: minmax(0, 820px); }
.ci:not(#_) .ci-main { flex-direction: column; gap: 2rem; min-width: 0; }
.ci:not(#_) .ci-aside { position: sticky; top: calc(var(--header-h) + 24px); flex-direction: column; gap: 1.2rem; }
.ci:not(#_) .ci-aside__card { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 1.5rem; flex-direction: column; }
.ci:not(#_) .ci-aside__card .ci-eyebrow { margin-bottom: 1rem; }
.ci:not(#_) .ci-aside__list .elementor-icon-list-items { display: grid; gap: .1rem; }
.ci:not(#_) .ci-aside__list .elementor-icon-list-item { padding: 0; margin: 0; }
.ci:not(#_) .ci-aside__list .elementor-icon-list-item a { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .65rem 0; border-bottom: 1px solid var(--line); font-size: .92rem; color: var(--ink); width: 100%; flex-direction: row-reverse; }
.ci:not(#_) .ci-aside__list .elementor-icon-list-item:last-child a { border-bottom: 0; }
.ci:not(#_) .ci-aside__list .elementor-icon-list-item a:hover .elementor-icon-list-text { text-decoration: underline; text-underline-offset: 4px; }
.ci:not(#_) .ci-aside__list .elementor-icon-list-icon { color: var(--blue-500); padding: 0; }
.ci:not(#_) .ci-aside__list .elementor-icon-list-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; }
.ci:not(#_) .ci-aside__list .elementor-icon-list-text { color: inherit; padding: 0; }

.ci:not(#_) .ci-prose { font-size: 1.04rem; line-height: 1.75; color: var(--text); max-width: 760px; overflow-wrap: break-word; }
.ci:not(#_) .ci-prose a { overflow-wrap: anywhere; }
.ci:not(#_) .ci-prose > * + * { margin-top: 1.1em; }
.ci:not(#_) .ci-prose p { margin: 0; }
.ci:not(#_) .ci-prose p + p,
.ci:not(#_) .ci-prose p + ul,
.ci:not(#_) .ci-prose p + ol,
.ci:not(#_) .ci-prose ul + p,
.ci:not(#_) .ci-prose ol + p,
.ci:not(#_) .ci-prose table + p,
.ci:not(#_) .ci-prose p + table { margin-top: 1.1em; }
.ci:not(#_) .ci-prose h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(1.6rem, 1.2rem + 1vw, 2rem); line-height: 1.2; color: var(--ink); margin: 2em 0 .6em; letter-spacing: -.01em; }
.ci:not(#_) .ci-prose h3 { font: 600 1.08rem/1.35 var(--sans); color: var(--ink); margin: 1.8em 0 .5em; }
.ci:not(#_) .ci-prose h2:first-child,
.ci:not(#_) .ci-prose h3:first-child { margin-top: 0; }
.ci:not(#_) .ci-prose strong { color: var(--ink); }
.ci:not(#_) .ci-prose a { color: var(--blue-700); text-decoration: underline; text-decoration-color: rgba(47, 97, 137, .35); text-underline-offset: 3px; transition: text-decoration-color .3s; }
.ci:not(#_) .ci-prose a:hover { color: var(--blue-700); text-decoration-color: currentColor; }
.ci:not(#_) .ci-prose ul,
.ci:not(#_) .ci-prose ol { padding-left: 1.3em; margin: 1.1em 0 0; }
.ci:not(#_) .ci-prose ul { list-style: disc; }
.ci:not(#_) .ci-prose ol { list-style: decimal; }
.ci:not(#_) .ci-prose li + li { margin-top: .5em; }
.ci:not(#_) .ci-prose li::marker { color: var(--blue-500); }
.ci:not(#_) .ci-prose abbr { text-decoration: none; border-bottom: 1px dotted var(--blue-500); cursor: help; }
.ci:not(#_) .ci-prose table { width: 100%; border-collapse: collapse; margin: 1.4em 0 0; font-size: .95rem; background: #fff; border-radius: var(--radius-sm); overflow: hidden; box-shadow: var(--shadow-card); }
.ci:not(#_) .ci-prose th,
.ci:not(#_) .ci-prose td { padding: .7rem 1rem; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.ci:not(#_) .ci-prose tr:first-child td { background: var(--blue-50); color: var(--ink); }
.ci:not(#_) .ci-prose tr:last-child td { border-bottom: 0; }
.ci:not(#_) .ci-prose blockquote { border-left: 2px solid var(--blue-300); padding: .2em 0 .2em 1.2em; font-family: var(--serif); font-style: italic; font-size: 1.25rem; color: var(--ink); }

/* WPZOOM share buttons inside post content: not an article list */
.ci:not(#_) .ci-prose .social-sharing-icons { list-style: none; padding: 0; margin: 1.6em 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ci:not(#_) .ci-prose .social-sharing-icons li { margin: 0; }
.ci:not(#_) .ci-prose .social-sharing-icons li::marker { content: none; }
.ci:not(#_) .ci-prose .social-sharing-icons a { text-decoration: none; margin: 0 !important; display: inline-flex; align-items: center; gap: .45rem; font-size: .88rem; }

/* Pull quote widget */
.ci:not(#_) .ci-pullquote { border-left: 2px solid var(--blue-300); padding: .2rem 0 .2rem 1.4rem; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(1.35rem, 1.1rem + .8vw, 1.75rem); line-height: 1.35; color: var(--ink); max-width: 30em; }

/* Media + text split */
.ci:not(#_) .ci-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.ci:not(#_) .ci-split--media-first { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.ci:not(#_) .ci-figure { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-card); background: #fff; }
.ci:not(#_) .ci-figure img { width: 100%; height: auto; }
.ci:not(#_) .ci-figure--pad { padding: clamp(14px, 2vw, 22px); }
.ci:not(#_) .ci-figure--pad img { border-radius: 6px; }
.ci:not(#_) .ci-caption { font-size: .82rem; color: var(--muted); margin-top: .7rem; }

/* Highlight stat cards (research pages) */
.ci:not(#_) .ci-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); }
.ci:not(#_) .ci-highlight { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 1.3rem 1.4rem; flex-direction: column; gap: .3rem; }
.ci:not(#_) .ci-highlight__num { font-family: var(--serif); font-size: clamp(2rem, 1.6rem + 1vw, 2.6rem); line-height: 1.05; color: var(--ink); font-variant-numeric: lining-nums; }
.ci:not(#_) .ci-highlight__text { font-size: .86rem; line-height: 1.5; color: var(--text); }

/* Download card */
.ci:not(#_) .ci-download { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: clamp(22px, 2.6vw, 32px); flex-direction: row; align-items: center; gap: 1.4rem; }
.ci:not(#_) .ci-download__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; background: var(--blue-100); color: var(--brand); font-size: 24px; flex: none; }
.ci:not(#_) .ci-download__body { flex-direction: column; gap: .35rem; flex: 1; }
.ci:not(#_) .ci-download__title { font-family: var(--serif); font-size: 1.3rem; line-height: 1.25; color: var(--ink); }
.ci:not(#_) .ci-download__actions { flex-direction: row; flex-wrap: wrap; gap: .75rem; margin-top: .8rem; }

/* Numbered points (focus group) */
.ci:not(#_) .ci-points { counter-reset: ci-point; display: grid; gap: 1rem; }
.ci:not(#_) .ci-point { counter-increment: ci-point; position: relative; background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 1.3rem 1.4rem 1.3rem 4.4rem; font-size: .98rem; line-height: 1.65; color: var(--text); }
.ci:not(#_) .ci-point::before { content: counter(ci-point, decimal-leading-zero); position: absolute; left: 1.2rem; top: 1.15rem; display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: var(--blue-100); color: var(--ink); font: 600 .72rem/1 var(--sans); }

/* ---------- FAQs: Nested Accordion ---------- */
.ci:not(#_) .ci-faq .e-n-accordion { display: grid; gap: .75rem; }
.ci:not(#_) .ci-faq .e-n-accordion-item { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); overflow: hidden; border: 0; }
.ci:not(#_) .ci-faq .e-n-accordion-item-title {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1.15rem 1.4rem; border: 0; background: transparent; cursor: pointer; list-style: none;
  font: 500 1.02rem/1.4 var(--sans); color: var(--ink);
}
.ci:not(#_) .ci-faq .e-n-accordion-item-title::-webkit-details-marker { display: none; }
.ci:not(#_) .ci-faq .e-n-accordion-item-title { flex-direction: row; justify-content: space-between; }
.ci:not(#_) .ci-faq .e-n-accordion-item-title-header { display: flex; flex: 1 1 auto; justify-content: flex-start; text-align: left; order: 0; }
.ci:not(#_) .ci-faq .e-n-accordion-item-title-text { font: inherit; color: inherit; text-align: left; }
.ci:not(#_) .ci-faq .e-n-accordion-item-title-icon { order: 2; }
.ci:not(#_) .ci-faq .e-n-accordion-item-title-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--blue-50); color: var(--ink); flex: none; }
.ci:not(#_) .ci-faq .e-n-accordion-item-title-icon svg { width: 16px; height: 16px; fill: currentColor; }
.ci:not(#_) .ci-faq .e-n-accordion-item-title:hover { color: var(--blue-700); }
.ci:not(#_) .ci-faq .e-n-accordion-item[open] > .e-n-accordion-item-title { color: var(--ink); }
.ci:not(#_) .ci-faq .e-n-accordion-item > .e-con { padding: 0 1.4rem 1.4rem; }
.ci:not(#_) .ci-faq .ci-prose { font-size: .98rem; max-width: none; }

/* ---------- Directory ----------
   Search + A-Z sit in the sticky side column (never over the table). */
.ci:not(#_) .ci-dir-search { display: flex; flex-direction: column; gap: .55rem; }
.ci:not(#_) .ci-dir-search .ci-eyebrow { margin-bottom: .15rem; }
.ci:not(#_) .ci-dir-search input { width: 100%; height: 48px; padding: 0 1rem; border-radius: 10px; border: 1px solid #c4d2df; background: #fff; font: 400 .98rem var(--sans); color: var(--ink); }
.ci:not(#_) .ci-dir-search input:focus { outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--focus); }
.ci:not(#_) .ci-dir-count { font-size: .82rem; color: var(--muted); }
.ci:not(#_) .ci-dir-az__label { margin: 1.3rem 0 .7rem; }
.ci:not(#_) .ci-dir-az { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .35rem; }
.ci:not(#_) .ci-dir-az a,
.ci:not(#_) .ci-dir-az span { display: grid; place-items: center; height: 34px; border-radius: 8px; font: 600 .82rem/1 var(--sans); color: var(--ink); background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.ci:not(#_) .ci-dir-az a:hover,
.ci:not(#_) .ci-dir-az a:focus-visible { background: var(--navy); color: #fff; box-shadow: none; }
.ci:not(#_) .ci-dir-az span { color: #a3b0be; background: transparent; }
.ci:not(#_) .ci-directory table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-card); overflow: hidden; font-size: .95rem; }
.ci:not(#_) .ci-directory td { padding: .62rem 1.1rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.ci:not(#_) .ci-directory td:first-child { width: 42%; color: var(--ink); font-weight: 500; }
.ci:not(#_) .ci-directory tr:first-child td { background: var(--blue-50); font: 600 .72rem/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--blue-700); }
.ci:not(#_) .ci-directory tr:hover td { background: #f6f9fc; }
.ci:not(#_) .ci-directory tr[hidden] { display: none; }
.ci:not(#_) .ci-directory tr[id] { scroll-margin-top: calc(var(--header-h) + 16px); }
.ci:not(#_) .ci-dir-empty { padding: 1.4rem; text-align: center; color: var(--muted); }

/* ---------- Quotes page ---------- */
.ci:not(#_) .ci-quote-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.ci:not(#_) .ci-quote-card--wide { grid-column: 1 / -1; }
.ci:not(#_) .ci-dialogue { font-family: var(--serif); font-size: 1.12rem; line-height: 1.6; color: var(--ink); }
.ci:not(#_) .ci-dialogue p + p { margin-top: .25rem; }

/* ---------- Demo: Image Carousel widget ---------- */
.ci:not(#_) .ci-demo { border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-card); padding: clamp(14px, 2vw, 24px); }
.ci:not(#_) .ci-demo .swiper,
.ci:not(#_) .ci-demo .elementor-image-carousel-wrapper { padding: 0 0 44px; }
.ci:not(#_) .ci-demo .swiper-slide-image { margin-inline: auto; border-radius: 8px; max-height: 520px; width: auto; }
.ci:not(#_) .ci-demo .elementor-swiper-button { color: var(--ink); background: #fff; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; box-shadow: 0 6px 18px -8px rgba(16, 36, 63, .45); }
.ci:not(#_) .ci-demo .elementor-swiper-button svg { fill: currentColor; width: 18px; height: 18px; }
.ci:not(#_) .ci-demo .swiper-pagination-bullet-active { background: var(--navy); }

/* ---------- Awards page ---------- */
.ci:not(#_) .ci-award-logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); }
.ci:not(#_) .ci-award-logo { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 1.2rem; flex-direction: column; align-items: center; gap: .8rem; text-align: center; }
.ci:not(#_) .ci-award-logo .elementor-widget-image { text-align: center; }
.ci:not(#_) .ci-award-logo img { height: 110px; width: auto; object-fit: contain; }
.ci:not(#_) .ci-award-logo__name { font-size: .82rem; line-height: 1.4; color: var(--ink); font-weight: 500; }

/* ---------- Contact ---------- */
.ci:not(#_) .ci-contact__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.ci:not(#_) .ci-form-card { background: var(--surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: clamp(22px, 3vw, 40px); flex-direction: column; }
.ci:not(#_) .ci-address { font-size: 1rem; line-height: 1.7; color: var(--text); }
.ci:not(#_) .ci-address strong { color: var(--ink); }
/* Ninja Forms */
.ci:not(#_) .ci-form-card .nf-form-title h3 { font-family: var(--serif); font-weight: 400; font-size: 1.6rem; color: var(--ink); margin: 0 0 .5rem; }
.ci:not(#_) .ci-form-card .nf-form-fields-required { font-size: .82rem; color: var(--muted); margin-bottom: 1rem; }
.ci:not(#_) .ci-form-card .nf-field-container { margin-bottom: 1.05rem; }
.ci:not(#_) .ci-form-card .nf-field-label label { font: 500 .88rem/1.4 var(--sans); color: var(--ink); }
.ci:not(#_) .ci-form-card .nf-field-element input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
.ci:not(#_) .ci-form-card .nf-field-element select,
.ci:not(#_) .ci-form-card .nf-field-element textarea {
  width: 100%; min-height: 48px; padding: .7rem .95rem; border-radius: 10px; border: 1px solid #c4d2df; background: #fff;
  font: 400 .98rem var(--sans); color: var(--ink); box-shadow: none;
}
.ci:not(#_) .ci-form-card .nf-field-element textarea { min-height: 150px; }
.ci:not(#_) .ci-form-card .nf-field-element input:focus,
.ci:not(#_) .ci-form-card .nf-field-element select:focus,
.ci:not(#_) .ci-form-card .nf-field-element textarea:focus { outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--focus); }
.ci:not(#_) .ci-form-card .nf-field-element input[type=button],
.ci:not(#_) .ci-form-card .nf-field-element input[type=submit] {
  min-height: 52px; padding: .9rem 1.6rem; border: 0; border-radius: 10px; background: var(--navy); color: #fff;
  font: 500 .95rem var(--sans); cursor: pointer; transition: background-color .3s;
}
.ci:not(#_) .ci-form-card .nf-field-element input[type=button]:hover,
.ci:not(#_) .ci-form-card .nf-field-element input[type=submit]:hover { background: var(--navy-700); }
.ci:not(#_) .ci-form-card .nf-error-msg,
.ci:not(#_) .ci-form-card .ninja-forms-req-symbol { color: #b42318; }
.ci:not(#_) .ci-form-card .list-checkbox-wrap .nf-field-element li,
.ci:not(#_) .ci-form-card .checkbox-wrap .nf-field-label label { font-size: .9rem; }

/* ---------- Sitemap ---------- */
.ci:not(#_) .ci-sitemap .display-posts-listing { columns: 2; column-gap: 2.5rem; }
.ci:not(#_) .ci-sitemap .display-posts-listing li { break-inside: avoid; padding: .45rem 0; border-bottom: 1px solid var(--line); }
.ci:not(#_) .ci-sitemap .display-posts-listing a { color: var(--ink); }
.ci:not(#_) .ci-sitemap .display-posts-listing a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Single post / search / 404 (plugin templates) ---------- */
.ci:not(#_) .ci-tpl-main { padding-bottom: clamp(48px, 6vw, 88px); }
.ci:not(#_) .ci-post-meta { font-size: .85rem; color: var(--muted); margin-top: 1rem; }
.ci:not(#_) .ci-back { display: inline-flex; align-items: center; gap: .5rem; font: 500 .9rem/1.2 var(--sans); color: var(--ink); margin-top: 2.4rem; }
.ci:not(#_) .ci-back .i { width: 1.1em; height: 1.1em; transition: transform .4s var(--ease-out); }
.ci:not(#_) .ci-back:hover .i { transform: translateX(-4px); }
.ci:not(#_) .ci-postnav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2.4rem; }
.ci:not(#_) .ci-postnav a { display: block; background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 1.1rem 1.3rem; color: var(--ink); transition: box-shadow .4s var(--ease-out); }
.ci:not(#_) .ci-postnav a:hover { box-shadow: var(--shadow-card-hover); color: var(--ink); }
.ci:not(#_) .ci-postnav span { display: block; font: 600 .68rem/1.3 var(--sans); letter-spacing: .15em; text-transform: uppercase; color: var(--blue-700); margin-bottom: .4rem; }
.ci:not(#_) .ci-postnav strong { font-family: var(--serif); font-weight: 500; font-size: 1.08rem; line-height: 1.3; }
.ci:not(#_) .ci-postnav__next { text-align: right; }
.ci:not(#_) .ci-results { display: grid; gap: 1rem; }
.ci:not(#_) .ci-result { display: block; background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 1.3rem 1.5rem; color: var(--text); transition: box-shadow .4s var(--ease-out); }
.ci:not(#_) .ci-result:hover { box-shadow: var(--shadow-card-hover); color: var(--text); }
.ci:not(#_) .ci-result h2 { font-family: var(--serif); font-weight: 500; font-size: 1.3rem; color: var(--ink); margin-bottom: .35rem; }
.ci:not(#_) .ci-result p { font-size: .92rem; }
.ci:not(#_) .ci-pagination { display: flex; gap: .5rem; margin-top: 2rem; flex-wrap: wrap; }
.ci:not(#_) .ci-pagination .page-numbers { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 .6rem; border-radius: 8px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); color: var(--ink); font-size: .9rem; }
.ci:not(#_) .ci-pagination .page-numbers.current,
.ci:not(#_) .ci-pagination a.page-numbers:hover { background: var(--navy); color: #fff; box-shadow: none; }
.ci:not(#_) .ci-search-inline { display: flex; gap: .75rem; max-width: 560px; margin-top: 1.6rem; }
.ci:not(#_) .ci-search-inline input[type=search] { flex: 1; min-width: 0; height: 52px; padding: 0 1.1rem; border-radius: 10px; border: 1px solid #c4d2df; background: #fff; font: 400 1rem var(--sans); color: var(--ink); }
.ci:not(#_) .ci-search-inline button { min-height: 52px; padding: 0 1.4rem; border-radius: 10px; background: var(--navy); color: #fff; font: 500 .95rem var(--sans); }
.ci:not(#_) .ci-search-inline button:hover,
.ci:not(#_) .ci-search-inline button:focus { background: var(--navy-700); color: #fff; }

/* =========================================================
   Motion pre-states (only when JS confirms GSAP is live)
   ========================================================= */
html.js-anim .ci-hero__media:not(.is-revealed),
html.js-anim .ci-hero__pillar:not(.is-revealed),
html.js-anim .ci-step__num:not(.is-revealed),
html.js-anim .ci-step__body:not(.is-revealed) { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  .ci:not(#_) *,
.ci:not(#_) *::before,
.ci:not(#_) *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1180px) {
  .ci:not(#_) .ci-nav__list { gap: 1.1rem; }
  .ci:not(#_) .ci-header__inner { gap: 1.25rem; }
  .ci:not(#_) .ci-step:nth-child(1) { margin-left: 8%; }
  .ci:not(#_) .ci-step:nth-child(2) { margin-left: 30%; }
  .ci:not(#_) .ci-step:nth-child(3) { margin-left: 19%; }
  .ci:not(#_) .ci-step:nth-child(4) { margin-left: 30%; }
  .ci:not(#_) .ci-award-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
  .ci:not(#_) .ci-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ci:not(#_) .ci-cta__panel { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
  .ci:not(#_) .ci-cta__points { grid-column: 2; padding: 0 clamp(24px, 3vw, 40px) clamp(28px, 3vw, 40px) 0; margin-top: -8px; }
  .ci:not(#_) .ci-cta__media { grid-row: span 2; }
  .ci:not(#_) .ci-accred__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ci:not(#_) .ci-footer__nav { margin-left: 0; flex-basis: 100%; order: 3; }
}


@media (max-width: 1080px) {
  .ci:not(#_) .ci-nav { display: none; }
  .ci:not(#_) .ci-menu-toggle { display: grid; }
  .ci:not(#_) .ci-header__actions { margin-left: auto; gap: .6rem; }
}

@media (max-width: 980px) {
  .ci:not(#_) .ci-journey__grid { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-journey__copy { max-width: 560px; }
  .ci:not(#_) .ci-stats__panel { grid-template-columns: 1fr; gap: 1.4rem; }
  .ci:not(#_) .ci-layout { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-aside { position: static; }
  .ci:not(#_) .ci-directory-page .ci-aside { order: -1; }
  .ci:not(#_) .ci-benefits { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-contact__grid { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-news-grid .display-posts-listing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .ci:not(#_) .ci-hero { flex-direction: column; min-height: 0; }
  .ci:not(#_) .ci-hero__content { padding-bottom: 32px; }
  .ci:not(#_) .ci-hero__copy { max-width: 620px; }
  .ci:not(#_) .ci-hero__title { font-size: clamp(2.4rem, 1.5rem + 4vw, 3.6rem); }
  .ci:not(#_) .ci-hero__features { margin-top: 40px; }
  .ci:not(#_) .ci-hero__media { position: relative; width: 100%; height: clamp(260px, 64vw, 480px); order: -1; }
  .ci:not(#_) .ci-hero__content { padding-top: 8px; }
  .ci:not(#_) .ci-hero__frame { clip-path: url(#ciHeroClipMobile); -webkit-clip-path: url(#ciHeroClipMobile); }
  .ci:not(#_) .ci-hero__veil { display: none; }
  .ci:not(#_) .ci-hero__wash { background: linear-gradient(0deg, rgba(242, 247, 252, .35), rgba(242, 247, 252, 0) 35%); }
  .ci:not(#_) .ci-hero__scrim { display: none; }
  .ci:not(#_) .ci-carousel__track,
.ci:not(#_) .ci-carousel__viewport .display-posts-listing { --per: 2; }
  .ci:not(#_) .ci-why__panel { flex-direction: column; align-items: stretch; }
  .ci:not(#_) .ci-why__media { position: relative; order: 2; width: 100%; height: 380px; -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 35%); mask-image: linear-gradient(180deg, transparent 0%, #000 35%); margin-top: -60px; }
  .ci:not(#_) .ci-why__content { max-width: none; padding-bottom: 8px; }
  .ci:not(#_) .ci-why__quote { top: auto; bottom: 40px; right: auto; left: clamp(24px, 5vw, 64px); width: min(420px, 80%); }
  .ci:not(#_) .ci-why__shade { background: radial-gradient(75% 62% at 35% 72%, rgba(9, 33, 58, .68), rgba(9, 33, 58, 0) 100%), linear-gradient(180deg, rgba(20, 60, 100, .12), rgba(8, 32, 56, .45)); }
  .ci:not(#_) .ci-stats__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.6rem; }
  .ci:not(#_) .ci-stat:nth-child(odd) { border-left: 0; padding-left: 0; }
  .ci:not(#_) .ci-page-hero__grid { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-page-hero__media { max-height: 300px; aspect-ratio: 16 / 9; clip-path: url(#ciPageClipMobile); -webkit-clip-path: url(#ciPageClipMobile); }
  .ci:not(#_) .ci-split,
.ci:not(#_) .ci-split--media-first { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-quote-grid { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-footer__bottom { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-footer__legal { text-align: left; }
}

@media (max-width: 760px) {
  .ci:not(#_) .ci-step:nth-child(n) { margin-left: 0; }
  .ci:not(#_) .ci-cta__panel { grid-template-columns: 1fr; gap: 0; }
  .ci:not(#_) .ci-cta__media { grid-row: auto; min-height: 220px; }
  .ci:not(#_) .ci-cta__media::after { background: linear-gradient(180deg, rgba(225, 234, 244, 0) 55%, #e4ecf5 100%); }
  .ci:not(#_) .ci-cta__content { padding: 28px 24px 8px; }
  .ci:not(#_) .ci-cta__points { grid-column: auto; padding: 20px 24px 32px; margin: 0; }
  .ci:not(#_) .ci-accred__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-items: start; }
  .ci:not(#_) .ci-highlights { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-award-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ci:not(#_) .ci-directory td { padding: .55rem .75rem; font-size: .9rem; }
  .ci:not(#_) .ci-sitemap .display-posts-listing { columns: 1; }
  .ci:not(#_) .ci-download { flex-direction: column; align-items: flex-start; }
  .ci:not(#_) .ci-postnav { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-postnav__next { text-align: left; }
}

@media (max-width: 600px) {
  .ci:not(#_) a.ci-btn-a.ci-header__cta { display: none; }
  .ci:not(#_) .ci-header__inner { gap: .75rem; }
  .ci:not(#_) .ci-header__actions { gap: .25rem; }
  .ci:not(#_) .ci-logo__word { font-size: 1.28rem; }
  .ci:not(#_) .ci-logo__mark,
.ci:not(#_) .ci-logo__mark img { width: 30px; }
  .ci:not(#_) .ci-hero__ctas > .elementor-element { flex: 1 1 100%; }
  .ci:not(#_) .ci-hero__features { grid-template-columns: 1fr; gap: 1rem; }
  .ci:not(#_) .ci-feature { flex-direction: row; align-items: center; gap: .85rem; }
  .ci:not(#_) .ci-card-grid,
.ci:not(#_) .ci-card-grid--3,
.ci:not(#_) .ci-card-grid--2 { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-news-grid .display-posts-listing { grid-template-columns: 1fr; }
  .ci:not(#_) .ci-section-head--row { align-items: flex-start; }
  .ci:not(#_) .ci-carousel__track,
.ci:not(#_) .ci-carousel__viewport .display-posts-listing { --per: 1; }
  .ci:not(#_) .ci-carousel__track > *,
.ci:not(#_) .ci-carousel__viewport .display-posts-listing > li { flex-basis: 88%; }
  .ci:not(#_) .is-enhanced .ci-carousel__track > *,
.ci:not(#_) .is-enhanced .ci-carousel__viewport .display-posts-listing > li { flex-basis: 100%; }
  .ci:not(#_) .ci-stat { padding-left: 16px; }
  .ci:not(#_) .ci-stat__text { font-size: .82rem; }
  .ci:not(#_) .ci-why__media { height: 320px; }
  .ci:not(#_) .ci-why__quote-text { font-size: 1.45rem; }
  .ci:not(#_) .ci-hero__pillar { display: none; }
  .ci:not(#_) .ci-accred__list { grid-template-columns: 1fr; gap: 0; }
  .ci:not(#_) .ci-acc { flex-direction: row; align-items: center; gap: 1rem; width: 100%; padding: .85rem 0; border-top: 1px solid rgba(16, 36, 63, .08); }
  .ci:not(#_) .ci-acc:first-child { border-top: 0; padding-top: 0; }
  .ci:not(#_) .ci-acc:last-child { padding-bottom: 0; }
  .ci:not(#_) .ci-acc__logo { display: grid; place-items: center; width: 84px; height: 56px; padding: 6px 8px; border-radius: 10px; background: #fff; }
  .ci:not(#_) .ci-acc__logo img { width: 100%; height: 40px; object-fit: contain; }
  .ci:not(#_) .ci-footer__top { gap: 1.1rem; }
}


/* =========================================================
   Smoking Pack Years additions
   ========================================================= */

/* ---------- Header: phone and email (as on the old site's header) ---------- */
.ci:not(#_) .ci-header__contact { display: flex; align-items: center; gap: 1.1rem; margin-right: .35rem; }
.ci:not(#_) .ci-header__contact-link { display: inline-flex; align-items: center; gap: .45rem; font: 500 .86rem/1 var(--sans); color: var(--ink); white-space: nowrap; }
.ci:not(#_) .ci-header__contact-link .i { width: 17px; height: 17px; color: var(--brand); flex: none; }
.ci:not(#_) .ci-header__contact-link:hover,
.ci:not(#_) .ci-header__contact-link:focus-visible { color: var(--brand); }
.ci:not(#_) .ci-mobile-menu__contact { display: flex; flex-direction: column; margin: 1.1rem 0 0; }
.ci:not(#_) .ci-mobile-menu__contact a { display: inline-flex; align-items: center; gap: .65rem; padding: .45rem 0; font-size: .95rem; color: var(--ink); }
.ci:not(#_) .ci-mobile-menu__contact .i { width: 18px; height: 18px; color: var(--brand); flex: none; }

/* ---------- Home hero ---------- */
/* The photo starts under the header bar, so the header's phone, email and search sit on the light background. */
@media (min-width: 901px) { .ci:not(#_) .spy-hero .ci-hero__media { top: var(--header-h); } }
.ci:not(#_) .spy-hero .ci-hero__img img { object-position: 50% 42%; }  /* both lungs on the film */

/* ---------- Home: the calculator in its own section under the hero ---------- */
.ci:not(#_) .spy-calc-section { scroll-margin-top: calc(var(--header-h) - 8px); }
.ci:not(#_) .spy-calc-layout { display: grid; grid-template-columns: minmax(0, 600px) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.ci:not(#_) .spy-calc-help { flex-direction: column; gap: 1.4rem; padding-top: .3rem; }
.ci:not(#_) .spy-calc-help .ci-h3 { margin: 0; }
.ci:not(#_) .spy-links { flex-direction: row; flex-wrap: wrap; gap: .6rem 1.6rem; }

/* ---------- The calculator (version 2): calm, clinical, plenty of white space ---------- */
.ci:not(#_) .spy-app { width: 100%; }
.ci:not(#_) .spy-card { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 1px 2px rgba(16, 36, 63, .04), 0 24px 56px -34px rgba(16, 36, 63, .3); overflow: hidden; }
.ci:not(#_) .spy-card__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .6rem 1.5rem; padding: 1.2rem clamp(20px, 3.4vw, 40px) 1.1rem; border-bottom: 1px solid var(--line); background: #fbfcfe; }
.ci:not(#_) .spy-progress { flex: 1 1 220px; }
.ci:not(#_) .spy-progress__label { margin: 0 0 .55rem; font: 600 .72rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--blue-700); }
.ci:not(#_) .spy-progress__bar { height: 6px; border-radius: 99px; background: var(--blue-100); overflow: hidden; }
.ci:not(#_) .spy-progress__bar span { display: block; height: 100%; border-radius: inherit; background: var(--brand); transition: width .45s var(--ease-out); }
.ci:not(#_) .spy-running { margin: 0; font-size: .92rem; color: var(--text); white-space: nowrap; }
.ci:not(#_) .spy-running strong { font: 500 1.2rem/1 var(--serif); color: var(--ink); }
.ci:not(#_) .spy-card__body { padding: clamp(24px, 3.6vw, 44px) clamp(20px, 3.6vw, 44px) .6rem; }
.ci:not(#_) .spy-card__nav { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem clamp(20px, 3.6vw, 44px) clamp(22px, 3.2vw, 36px); }
.ci:not(#_) .spy-step__title { margin: 0 0 .75rem; font: 400 clamp(1.5rem, 1.2rem + 1vw, 1.95rem)/1.2 var(--serif); letter-spacing: -.01em; color: var(--ink); outline: none; }
.ci:not(#_) .spy-step__lead,
.ci:not(#_) .spy-help { max-width: 40em; margin: 0 0 1.4rem; font-size: 1rem; line-height: 1.65; color: var(--text); }
.ci:not(#_) .spy-help--soft { margin-top: -.5rem; font-size: .9rem; color: var(--muted); }
.ci:not(#_) .spy-fieldset { min-width: 0; margin: 0 0 1.5rem; padding: 0; border: 0; }
.ci:not(#_) .spy-legend { display: block; margin: 0 0 .8rem; padding: 0; font: 600 1rem/1.4 var(--sans); color: var(--ink); }
.ci:not(#_) .spy-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.ci:not(#_) .spy-choice,
.ci:not(#_) .spy-type {
  position: relative; display: flex; align-items: flex-start; gap: .85rem; min-height: 56px; margin: 0; padding: 1.05rem 1.15rem;
  border: 1.5px solid #c3d1df; border-radius: var(--radius); background: #fff; cursor: pointer;
  transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.ci:not(#_) .spy-choice:hover,
.ci:not(#_) .spy-type:hover { border-color: var(--blue-500); }
.ci:not(#_) .spy-choice.is-checked,
.ci:not(#_) .spy-type.is-checked { border-color: var(--brand); background: var(--blue-50); box-shadow: inset 0 0 0 1px var(--brand); }
.ci:not(#_) .spy-choice:has(input:focus-visible),
.ci:not(#_) .spy-type:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 2px; }
.ci:not(#_) .spy-choice input,
.ci:not(#_) .spy-type input { flex: none; width: 22px; height: 22px; margin: .1rem 0 0; accent-color: var(--brand); }
.ci:not(#_) .spy-choice--small { padding: .85rem 1rem; }
.ci:not(#_) .spy-choice__title,
.ci:not(#_) .spy-type__label { display: block; font-size: 1rem; font-weight: 600; line-height: 1.35; color: var(--ink); }
.ci:not(#_) .spy-choice__sub,
.ci:not(#_) .spy-type__eq { display: block; margin-top: .15rem; font-size: .9rem; line-height: 1.45; color: var(--muted); }
.ci:not(#_) .spy-types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.ci:not(#_) .spy-type { align-items: center; padding: .9rem 1rem; }
.ci:not(#_) .spy-type__box { display: none; }
.ci:not(#_) .spy-periods { display: flex; flex-direction: column; gap: .75rem; margin-bottom: .4rem; }
.ci:not(#_) .spy-period { padding: 1.1rem 1.15rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fbfcfe; }
.ci:not(#_) .spy-period__title { margin: 0 0 .8rem; font: 600 .72rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--blue-700); }
.ci:not(#_) .spy-period__fields { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .9rem 1rem; }
.ci:not(#_) .spy-period__remove { margin-top: .4rem; }
.ci:not(#_) .spy-field { display: flex; flex-direction: column; gap: .4rem; flex: 1 1 180px; min-width: 0; margin: 0; }
.ci:not(#_) .spy-field--wide { flex-basis: 100%; }
.ci:not(#_) .spy-field__label { font: 600 .95rem/1.35 var(--sans); color: var(--ink); }
.ci:not(#_) .spy-field__hint { margin-top: -.15rem; font-size: .88rem; line-height: 1.45; color: var(--muted); }
.ci:not(#_) .spy-input { position: relative; display: block; }
.ci:not(#_) .spy-input--short { max-width: 220px; }
.ci:not(#_) .spy-input input,
.ci:not(#_) .spy-field select,
.ci:not(#_) .spy-share input {
  display: block; width: 100%; height: 52px; margin: 0; padding: 0 1rem; border: 1.5px solid #b3c4d6; border-radius: 10px;
  background: #fff; box-shadow: none; font: 500 1.05rem/1 var(--sans); color: var(--ink); font-variant-numeric: tabular-nums;
}
.ci:not(#_) .spy-input input:not(:last-child) { padding-right: 4.6rem; }
.ci:not(#_) .spy-input input:hover,
.ci:not(#_) .spy-field select:hover { border-color: var(--blue-500); }
.ci:not(#_) .spy-input input:focus,
.ci:not(#_) .spy-field select:focus,
.ci:not(#_) .spy-share input:focus,
.ci:not(#_) .spy-record__text:focus { outline: 3px solid var(--focus); outline-offset: 1px; border-color: var(--brand); }
.ci:not(#_) .spy-input input[aria-invalid="true"] { border-color: #b42318; }
.ci:not(#_) .spy-input__unit { position: absolute; top: 50%; right: 1rem; transform: translateY(-50%); font-size: .9rem; color: var(--muted); pointer-events: none; }
.ci:not(#_) .spy-field__error { margin: 0; font-size: .9rem; font-weight: 500; color: #b42318; }
.ci:not(#_) .spy-errors { margin: 0 0 1.4rem; padding: 1rem 1.2rem; border: 2px solid #b42318; border-radius: var(--radius); background: #fff7f6; outline: none; }
.ci:not(#_) .spy-errors__title { margin: 0 0 .4rem; font-weight: 600; color: #7a1a12; }
.ci:not(#_) .spy-errors ul { margin: 0; padding-left: 1.2rem; }
.ci:not(#_) .spy-errors a { color: #b42318; text-decoration: underline; }
.ci:not(#_) .spy-add { display: inline-flex; align-items: center; gap: .5rem; min-height: 48px; margin: .3rem 0 1rem; padding: 0 1.1rem; border: 1.5px dashed #94adc6; border-radius: 10px; background: transparent; font: 600 .95rem/1 var(--sans); color: var(--brand); cursor: pointer; }
.ci:not(#_) .spy-add:hover,
.ci:not(#_) .spy-add:focus-visible { border-style: solid; background: var(--blue-50); color: var(--brand); }
.ci:not(#_) .spy-link-btn { min-height: 44px; padding: .4rem 0; border: 0; background: none; font: 500 .9rem var(--sans); color: var(--brand); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ci:not(#_) .spy-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 52px; padding: 0 1.4rem;
  border: 1.5px solid #b3c4d6; border-radius: 10px; background: #fff; font: 600 1rem/1 var(--sans); color: var(--ink); cursor: pointer;
  transition: background-color .2s, border-color .2s, color .2s;
}
.ci:not(#_) .spy-btn:hover,
.ci:not(#_) .spy-btn:focus-visible { border-color: var(--brand); background: #fff; color: var(--ink); }
.ci:not(#_) .spy-btn--primary { border-color: var(--brand); background: var(--brand); color: #fff; }
.ci:not(#_) .spy-btn--primary:hover,
.ci:not(#_) .spy-btn--primary:focus-visible { border-color: var(--brand-dark); background: var(--brand-dark); color: #fff; }
.ci:not(#_) .spy-btn--ghost { padding: 0 .5rem; border-color: transparent; background: transparent; color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.ci:not(#_) .spy-btn--ghost:hover,
.ci:not(#_) .spy-btn--ghost:focus-visible { border-color: transparent; background: var(--blue-50); color: var(--brand); }
.ci:not(#_) .spy-btn--next { min-width: 9.5rem; }
.ci:not(#_) .spy-btn:disabled { opacity: .6; cursor: progress; }
.ci:not(#_) .spy-total { margin: 0 0 1.4rem; padding: 1.4rem 1.5rem; border: 1px solid var(--blue-100); border-radius: var(--radius); background: var(--blue-50); }
.ci:not(#_) .spy-total__num { margin: 0; font: 400 clamp(2.7rem, 2rem + 2vw, 3.5rem)/1 var(--serif); color: var(--ink); }
.ci:not(#_) .spy-total__unit { font: 500 .42em var(--sans); color: var(--text); }
.ci:not(#_) .spy-total__exact,
.ci:not(#_) .spy-total__plain { margin: .6rem 0 0; font-size: 1rem; line-height: 1.55; color: var(--text); }
.ci:not(#_) .spy-sub { margin: 1.7rem 0 .75rem; font: 500 1.22rem/1.3 var(--serif); color: var(--ink); }
.ci:not(#_) .spy-table-wrap { overflow-x: auto; }
.ci:not(#_) .spy-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.ci:not(#_) .spy-table th,
.ci:not(#_) .spy-table td { padding: .75rem .6rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; color: var(--text); }
.ci:not(#_) .spy-table thead th { font: 600 .72rem/1.2 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--blue-700); }
.ci:not(#_) .spy-table tbody th { font-weight: 600; color: var(--ink); }
.ci:not(#_) .spy-table tfoot th,
.ci:not(#_) .spy-table tfoot td { border-bottom: 0; font-weight: 700; color: var(--ink); }
.ci:not(#_) .spy-table .spy-num { text-align: right; font-variant-numeric: tabular-nums; }
.ci:not(#_) .spy-history { margin: .9rem 0 0; color: var(--text); }
.ci:not(#_) .spy-note,
.ci:not(#_) .spy-support { margin-top: 1.5rem; padding: 1.2rem 1.4rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fbfcfe; }
.ci:not(#_) .spy-note .spy-sub { margin-top: 0; }
.ci:not(#_) .spy-note__text p,
.ci:not(#_) .spy-support p { margin: 0 0 .75rem; line-height: 1.65; color: var(--text); }
.ci:not(#_) .spy-support a,
.ci:not(#_) .spy-privacy a,
.ci:not(#_) .spy-note a { color: var(--brand); text-decoration: underline; text-underline-offset: 2px; }
.ci:not(#_) .spy-support .spy-support__small { margin: 0; font-size: .88rem; color: var(--muted); }
.ci:not(#_) .spy-record { display: flex; flex-direction: column; gap: .9rem; margin-bottom: 1.2rem; padding: 1.2rem 1.3rem; border: 1px solid var(--blue-100); border-radius: var(--radius); background: #fbfcfe; }
.ci:not(#_) .spy-record .spy-legend { margin: .2rem 0 -.4rem; }
.ci:not(#_) .spy-record__text { width: 100%; min-height: 6.8rem; padding: .8rem .9rem; border: 1.5px solid #b3c4d6; border-radius: 10px; background: #fff; font: .92rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--ink); resize: vertical; }
.ci:not(#_) .spy-record__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; }
.ci:not(#_) .spy-input--text input { padding-right: 1rem; }
.ci:not(#_) .spy-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.7rem; }
.ci:not(#_) .spy-status { min-height: 1.4em; margin: .6rem 0 0; font-size: .95rem; color: var(--ink); }
.ci:not(#_) .spy-record__actions .spy-status { margin: 0; }
.ci:not(#_) .spy-panel { margin-top: 1rem; padding: 1.2rem 1.3rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fbfcfe; }
.ci:not(#_) .spy-panel[hidden] { display: none; }
.ci:not(#_) .spy-panel .spy-sub { margin-top: 0; }
.ci:not(#_) .spy-panel .spy-help { margin-bottom: 1rem; }
.ci:not(#_) .spy-check { display: flex; align-items: flex-start; gap: .7rem; margin: .9rem 0; font-size: .95rem; line-height: 1.5; color: var(--text); cursor: pointer; }
.ci:not(#_) .spy-check input { flex: none; width: 22px; height: 22px; margin: .05rem 0 0; accent-color: var(--brand); }
.ci:not(#_) .spy-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ci:not(#_) .spy-share { display: flex; flex-wrap: wrap; gap: .6rem; }
.ci:not(#_) .spy-share input { flex: 1 1 260px; width: auto; font-size: .88rem; }
.ci:not(#_) .spy-privacy { margin: 1.5rem 0 0; font-size: .88rem; line-height: 1.55; color: var(--muted); }
.ci:not(#_) .spy-app__noscript { padding: 1rem 1.2rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }

/* The embeddable version (/embed/) */
body.ci:not(#_).spy-embed { margin: 0; background: #fff; }
.ci:not(#_) .spy-embed__main { padding: 10px; }
.ci:not(#_) .spy-embed__credit { margin: .9rem 0 .2rem; font-size: .84rem; text-align: center; color: var(--muted); }
.ci:not(#_) .spy-embed__credit a { color: var(--brand); }

/* Print: a clean summary for the consulting room (calculator.js fills #spy-print) */
.ci:not(#_) #spy-print { display: none; }
@media print {
  html.spy-printing body > *:not(#spy-print) { display: none !important; }
  html.spy-printing #spy-print { display: block !important; }
  .ci:not(#_) .spy-print { font: 11pt/1.5 var(--sans); color: #000; }
  .ci:not(#_) .spy-print h1 { margin: .2em 0 .1em; font: 22pt/1.2 var(--serif); }
  .ci:not(#_) .spy-print h2 { margin: 1.2em 0 .3em; font: 13pt/1.3 var(--serif); }
  .ci:not(#_) .spy-print__brand,
.ci:not(#_) .spy-print__meta,
.ci:not(#_) .spy-print__small { font-size: 9pt; color: #333; }
  .ci:not(#_) .spy-print__total { margin: .6em 0 .2em; font: 28pt/1.1 var(--serif); }
  .ci:not(#_) .spy-print table { width: 100%; margin-top: 1em; border-collapse: collapse; }
  .ci:not(#_) .spy-print th,
.ci:not(#_) .spy-print td { padding: 5pt 4pt; border-bottom: 1px solid #999; text-align: left; }
  .ci:not(#_) .spy-print__record { padding: 6pt 8pt; border: 1px solid #999; font: 10pt/1.45 ui-monospace, Menlo, Consolas, monospace; }
  .ci:not(#_) .spy-print__small { margin-top: 1.4em; }
}

/* Instructions page: steps beside the calculator */
.ci:not(#_) .spy-tool-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: clamp(28px, 5vw, 72px); align-items: start; }
/* The calculator grows step by step, so it is never sticky. */
.ci:not(#_) .spy-tool-split--tool-first { grid-template-columns: minmax(0, 600px) minmax(0, 1fr); }
.ci:not(#_) .spy-checklist .elementor-icon-list-item { color: var(--text); font-size: .98rem; align-items: flex-start; }
.ci:not(#_) .spy-checklist .elementor-icon-list-icon { background: var(--blue-100); margin-top: .1rem; }
.ci:not(#_) .spy-result-wrap { max-width: 820px; margin-inline: auto; width: 100%; }
.ci:not(#_) .spy-code { margin: 0 0 1.2rem; padding: 1rem 1.2rem; border-radius: var(--radius); background: #0f2238; color: #e6eef7; font: .82rem/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; word-break: break-all; }
.ci:not(#_) .spy-code code { font: inherit; color: inherit; background: none; }
.ci:not(#_) .spy-note { flex-direction: row; gap: .9rem; align-items: flex-start; padding: 1.1rem 1.2rem; border-radius: var(--radius); background: var(--blue-50); border: 1px solid var(--blue-100); width: 100%; }
.ci:not(#_) .spy-note__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #fff; color: var(--brand); flex: none; font-size: 16px; }
.ci:not(#_) .spy-note .ci-prose { font-size: .95rem; }
.ci:not(#_) .spy-note .ci-prose p { margin: 0; }

/* Cigarette equivalents panel: six figures in three columns */
.ci:not(#_) .spy-equiv .ci-stats__list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1.8rem; }
.ci:not(#_) .spy-equiv .ci-stats__label a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .45); text-underline-offset: 3px; }

/* Award panel: the GP Enterprise sponsor logos on a white strip */
.ci:not(#_) .spy-logos { background: #fff; border-radius: var(--radius); padding: .7rem 1rem; width: auto; align-self: flex-start; max-width: 100%; margin-bottom: 1.6rem; }
.ci:not(#_) .spy-news .display-posts-listing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ci:not(#_) .spy-logos img { height: 38px; width: auto; max-width: 100%; }

/* Contact: the two contacts as cards */
.ci:not(#_) .spy-people { display: grid; gap: 1rem; }
.ci:not(#_) .spy-person { flex-direction: column; gap: .2rem; }
.ci:not(#_) .spy-person__name { font: 500 1.2rem/1.25 var(--serif); color: var(--ink); }
.ci:not(#_) .spy-person__role { font-size: .85rem; color: var(--muted); margin-bottom: .45rem; }
.ci:not(#_) .spy-person__email a,
.ci:not(#_) .spy-phone a { color: var(--ink); text-decoration: underline; text-decoration-color: rgba(16, 36, 63, .3); text-underline-offset: 3px; overflow-wrap: anywhere; }
.ci:not(#_) .spy-person__email a:hover,
.ci:not(#_) .spy-phone a:hover { color: var(--brand); text-decoration-color: currentColor; }
.ci:not(#_) .spy-photos img { border-radius: var(--radius); width: 100%; height: auto; }

@media (max-width: 1240px) {
  .ci:not(#_) .ci-header__contact-link span { display: none; }
  .ci:not(#_) .ci-header__contact { gap: .25rem; margin-right: 0; }
  .ci:not(#_) .ci-header__contact-link { width: 44px; height: 44px; justify-content: center; border-radius: 50%; }
  .ci:not(#_) .ci-header__contact-link:hover { background: rgba(255, 255, 255, .8); }
  .ci:not(#_) .ci-header__contact-link .i { width: 19px; height: 19px; color: var(--ink); }
}
@media (max-width: 1000px) {
  .ci:not(#_) .spy-calc-layout { grid-template-columns: 1fr; }
  .ci:not(#_) .spy-calc-layout .spy-calc-host { max-width: 640px; }
}
@media (max-width: 1100px) {
  .ci:not(#_) .spy-tool-split { grid-template-columns: 1fr; }
  .ci:not(#_) .spy-tool-split .spy-calc-host { position: static; max-width: 640px; }
}
@media (max-width: 900px) {
  .ci:not(#_) .spy-why .ci-why__quote { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: auto; order: 1; margin: .4rem clamp(24px, 5vw, 64px) 0; }
  .ci:not(#_) .spy-why .ci-why__media { height: 240px; margin-top: 0; }
  .ci:not(#_) .spy-equiv .ci-stats__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .ci:not(#_) .ci-header__contact { display: none; }
  .ci:not(#_) .spy-choices,
.ci:not(#_) .spy-types { grid-template-columns: 1fr; }
  .ci:not(#_) .spy-card__top { padding: 1rem 16px .9rem; }
  .ci:not(#_) .spy-card__body { padding: 22px 16px .4rem; }
  .ci:not(#_) .spy-card__nav { padding: .9rem 16px 20px; }
  .ci:not(#_) .spy-card__nav .spy-btn--next { flex: 1 1 auto; }
  .ci:not(#_) .spy-field { flex-basis: 100%; }
  .ci:not(#_) .spy-input--short { max-width: none; }
  .ci:not(#_) .spy-actions .spy-btn { flex: 1 1 100%; }
  .ci:not(#_) .spy-total { padding: 1.1rem 1.1rem; }
  .ci:not(#_) .spy-news .display-posts-listing { grid-template-columns: 1fr; }
  .ci:not(#_) .spy-why .ci-why__quote-text { font-size: 1.3rem; }
  .ci:not(#_) .spy-why .ci-why__media { height: 200px; }
}

/* Questions for Dr Masters on the private draft pages (health check 2026-10) */
.ci:not(#_) mark.spy-check { display: inline; padding: .1em .35em; border-radius: 4px; background: #fff1b8; color: #4a3b00; font-size: .92em; }

/* ---------- Health check page standard (2026-10-14): "In short" summary, next step, linked figures ---------- */
.ci:not(#_) .page-summary { flex-direction: column; gap: .45rem; padding: 1.2rem 1.4rem 1.25rem; border-radius: var(--radius); background: var(--blue-50); border: 1px solid var(--blue-100); border-left: 4px solid var(--brand); width: 100%; }
.ci:not(#_) .page-summary__title,
.ci:not(#_) .page-summary__title .elementor-heading-title { font: 600 .72rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--brand); margin: 0; }
.ci:not(#_) .page-summary__text { font-size: 1.02rem; }
.ci:not(#_) .page-summary__text p { margin: 0; line-height: 1.65; color: var(--ink); }
.ci:not(#_) .spy-calc-help .page-summary { margin-bottom: .2rem; }
.ci:not(#_) .page-next-step { flex-direction: column; gap: .55rem; padding: 1.4rem 1.5rem 1.3rem; border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-card); border-top: 3px solid var(--brand); width: 100%; }
.ci:not(#_) .page-next-step__title,
.ci:not(#_) .page-next-step__title .elementor-heading-title { font-family: var(--serif); font-weight: 500; font-size: 1.35rem; line-height: 1.25; color: var(--ink); margin: 0; }
.ci:not(#_) .page-next-step__text p { margin: 0; }
.ci:not(#_) .page-next-step .ci-link-arrow { margin-top: .2rem; }
/* Each cigarette equivalent links to its source on the References page */
.ci:not(#_) a.ci-stat,
.ci:not(#_) a.ci-highlight { color: inherit; text-decoration: none; transition: transform .3s var(--ease-out); }
.ci:not(#_) a.ci-stat:hover .ci-stat__text,
.ci:not(#_) a.ci-stat:focus-visible .ci-stat__text { text-decoration: underline; text-underline-offset: 3px; }
.ci:not(#_) a.ci-highlight:hover,
.ci:not(#_) a.ci-highlight:focus-visible { box-shadow: var(--shadow-card-hover); transform: translateY(-2px); }
.ci:not(#_) #ref-warwick,
.ci:not(#_) #ref-cannabis,
.ci:not(#_) #ref-waterpipe,
.ci:not(#_) #ref-loose-tobacco,
.ci:not(#_) #ref-gulf-war,
.ci:not(#_) #ref-bidi { scroll-margin-top: calc(var(--header-h) + 24px); }
.ci:not(#_) #ref-cannabis:target,
.ci:not(#_) #ref-waterpipe:target,
.ci:not(#_) #ref-loose-tobacco:target,
.ci:not(#_) #ref-gulf-war:target,
.ci:not(#_) #ref-bidi:target,
.ci:not(#_) #ref-warwick:target { background: #fff6d6; border-radius: 6px; }
/* The calculator result links to the page that explains it */
.ci:not(#_) .spy-learn { margin: .9rem 0 0; color: var(--text); }
.ci:not(#_) .spy-learn a { color: var(--brand); text-decoration: underline; text-underline-offset: 2px; }
