/*
 * DiviMCP Child Theme — site custom CSS
 *
 * Per Marcus's requirement #1, every CSS value should reference a Divi 5
 * Variable Library token, not a literal. This file is the place for
 * site-level CSS that doesn't fit inside a module — global resets,
 * Gravity Forms ↔ Divi variable bridges, accessibility overrides.
 *
 * Generated bridges and per-site overrides will be appended by the
 * divi-mcp-bridge plugin or written here directly by the agent.
 */
/* SSRP accent supplement — purple (Consulting) + cyan (SSRP Studio),
   plus the accent button variants used across section blocks.
   Values ported verbatim from consulting.html / ssrp-studio.html / growth-studio.html. */

/* Eyebrow accents (page-specific *p variants) */
.eyebrow.tealp{color:var(--t300)} .eyebrow.tealp::before{background:var(--t400)}
.eyebrow.orangep{color:var(--o300)} .eyebrow.orangep::before{background:var(--o400)}
.eyebrow.purplep{color:#A98BEE} .eyebrow.purplep::before{background:#7B4FE0}
.eyebrow.cyanp{color:#7DDCFF} .eyebrow.cyanp::before{background:#00cdff}

/* Accent buttons */
.btn--teal{background:var(--t500);color:#fff;box-shadow:0 10px 28px -10px rgba(20,169,138,.8)}
.btn--teal:hover{box-shadow:0 14px 34px -10px rgba(20,169,138,.9)}
.btn--orange{background:var(--o500);color:#fff;box-shadow:0 10px 28px -10px rgba(237,83,22,.8)}
.btn--orange:hover{box-shadow:0 14px 34px -10px rgba(237,83,22,.9)}
.btn--purple{background:#7B4FE0;color:#fff;box-shadow:0 10px 28px -10px rgba(123,79,224,.8)}
.btn--purple:hover{box-shadow:0 14px 34px -10px rgba(123,79,224,.9)}
.btn--cyan{background:#06AEDC;color:#fff;box-shadow:0 10px 28px -10px rgba(0,205,255,.7)}
.btn--cyan:hover{box-shadow:0 14px 34px -10px rgba(0,205,255,.85)}

/* Subhero radial backgrounds — purple (Consulting) + cyan (SSRP Studio) */
.subhero--purple{background:radial-gradient(1000px 600px at 14% 6%,rgba(123,79,224,.22),transparent 56%),
  radial-gradient(900px 600px at 90% 92%,rgba(26,143,214,.16),transparent 58%),var(--canvas)}
.subhero--cyan{background:radial-gradient(1000px 600px at 14% 6%,rgba(0,205,255,.18),transparent 56%),
  radial-gradient(900px 600px at 90% 92%,rgba(62,107,230,.16),transparent 58%),var(--canvas)}

/* Icon-card chip accents — purple + cyan */
.zs-iconcards--purple .gic{background:rgba(123,79,224,.14);border:1px solid rgba(123,79,224,.34);color:#A98BEE}
.zs-iconcards--cyan .gic{background:rgba(0,205,255,.13);border:1px solid rgba(0,205,255,.32);color:#7DDCFF}

/* CTA gradients — purple (Consulting) + cyan (SSRP Studio) */
.cta-inner--purple{background-image:linear-gradient(118deg,#7B4FE0 0%,#3E6BE6 60%,#1A8FD6 100%)}
.cta-inner--cyan{background-image:linear-gradient(118deg,#06AEDC 0%,#1A8FD6 55%,#3E6BE6 100%)}
/* ==== SSRP DIVI LAYER ==== */
/* All values reference the Divi Variable Library (--gcid-* / --gvid-number-*).
   Presets carry typography/spacing/colour; this file carries the shapes presets
   can't: pseudo-element icons, list bullets, blur, gradient text, card anatomy. */

:root{ --ssrp-img: url(/wp-content/themes/ssrp-solutions-divi/assets/img/); }
body, .et_pb_module, .et_pb_button { font-family: "Barlow", "Helvetica Neue", Helvetica, Arial, sans-serif; }
#page-container, #main-content, #et-main-area, .et_pb_section.ssrp-section { background-color: var(--gcid-canvas); }
#page-container { overflow-x: clip; }
.et_pb_section.ssrp-section { position: relative; }
/* Divi's legacy per-column heading downsizing fights the presets */
.et_pb_column .et_pb_heading_container h1, .et_pb_column .et_pb_heading_container h2, .et_pb_column .et_pb_heading_container h3,
.et_pb_column .et_pb_heading_container h4 { padding-bottom: 0; }
.et_pb_heading_container h1 strong, .et_pb_heading_container h2 strong, .et_pb_heading_container h3 strong { font-weight: 600; }
.et_pb_text_inner p:last-child { padding-bottom: 0; }
.et_pb_text_inner p { padding-bottom: 0; }

/* ---- Eyebrow: hexagon glyph inline before the label */
.ssrp-eyebrow .et_pb_text_inner p { display: inline-flex; align-items: center; gap: var(--gvid-number-space-xs); }
.ssrp-eyebrow .et_pb_text_inner p::before { content: ""; flex: none; width: var(--gvid-number-icon-sm); height: var(--gvid-number-icon-sm);
  background: var(--ssrp-img) url(/wp-content/themes/ssrp-solutions-divi/assets/img/eyebrow-hex.svg) center/contain no-repeat; }
.ssrp-eyebrow .et_pb_text_inner p::before { background: url(/wp-content/themes/ssrp-solutions-divi/assets/img/eyebrow-hex.svg) center/contain no-repeat; }

/* ---- Checklist (text module with a <ul>) */
.ssrp-checklist .et_pb_text_inner ul { list-style: none; margin: 0; padding: var(--gvid-number-space-md) 0 var(--gvid-number-space-xs);
  border-top: var(--gvid-number-border-width) solid rgba(0,0,0,.08); border-bottom: var(--gvid-number-border-width) solid rgba(0,0,0,.08);
  display: flex; flex-direction: column; gap: 10px; }
.ssrp-checklist .et_pb_text_inner li { display: flex; align-items: center; gap: 10px; padding: 0; margin: 0; line-height: var(--gvid-number-lh-normal); }
.ssrp-checklist .et_pb_text_inner li::before { content: ""; flex: none; width: var(--gvid-number-icon-feature); height: var(--gvid-number-icon-feature);
  background: url(/wp-content/themes/ssrp-solutions-divi/assets/img/icon-check-flipped.svg) center/contain no-repeat; }

/* ---- Link list (footer) */
.ssrp-link-list .et_pb_text_inner ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--gvid-number-space-sm); }
.ssrp-link-list .et_pb_text_inner li { padding: 0; margin: 0; }
.ssrp-link-list a, .ssrp-legal a { color: inherit; text-decoration: none; }
.ssrp-link-list a:hover, .ssrp-legal a:hover { color: var(--gcid-white); }
.ssrp-link .et_pb_text_inner a { color: var(--gcid-sky); text-decoration: none; }

/* ---- Glass + panel cards */
.ssrp-glass { -webkit-backdrop-filter: blur(var(--gvid-number-blur-glass)); backdrop-filter: blur(var(--gvid-number-blur-glass)); }
.et_pb_column.ssrp-glass, .et_pb_column.ssrp-panel, .et_pb_column.ssrp-aside { position: relative; }

/* ---- Display heading: gradient text + coming-soon pill */
.ssrp-display .et_pb_heading_container h1, .ssrp-display .et_pb_heading_container h2, .ssrp-display .et_pb_heading_container h3 {
  display: inline-block; background: linear-gradient(90deg, var(--gcid-white) 0%, var(--gcid-blue-3) 79.5%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.ssrp-display .et_pb_heading_container { display: flex; align-items: flex-start; gap: var(--gvid-number-space-xl); flex-wrap: wrap; }
.ssrp-display .ssrp-pill { display: inline-flex; align-items: center; margin-top: 17px; padding: 6px var(--gvid-number-space-sm); border-radius: var(--gvid-number-radius-pill);
  border: var(--gvid-number-border-width) solid var(--gcid-line-teal); color: var(--gcid-teal-400); -webkit-text-fill-color: var(--gcid-teal-400);
  font: 700 var(--gvid-number-text-2xs)/1 "Barlow", sans-serif; letter-spacing: .48px; text-transform: uppercase; white-space: nowrap; }

/* ---- Buttons */
.et_pb_button.ssrp-btn { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.et_pb_button.ssrp-btn:hover { transform: translateY(-1px); }
.et_pb_button.ssrp-btn.has-arrow-right::after, .et_pb_button.ssrp-btn.has-arrow-down::after { content: "" !important; display: inline-block !important; position: static !important;
  opacity: 1 !important; margin: 0 0 0 0 !important; width: var(--gvid-number-icon-md); height: var(--gvid-number-icon-md); line-height: 1; }
.et_pb_button.ssrp-btn.has-arrow-right::after { background: url(/wp-content/themes/ssrp-solutions-divi/assets/img/icon-arrow-right.svg) center/contain no-repeat; }
.et_pb_button.ssrp-btn.has-arrow-down::after  { background: url(/wp-content/themes/ssrp-solutions-divi/assets/img/icon-arrow-down.svg) center/contain no-repeat; }
.et_pb_button.ssrp-btn.has-arrow-right, .et_pb_button.ssrp-btn.has-arrow-down { padding-right: var(--gvid-number-space-sm) !important; }


/* ---- Decorative hexagon clusters (5 outlined hexes) */
.ssrp-hex-tr::before, .ssrp-hex-br::after, .ssrp-hex-bl::after, .ssrp-hex-tl::before {
  content: ""; position: absolute; pointer-events: none; z-index: 1;
  background: url(/wp-content/themes/ssrp-solutions-divi/assets/img/hex-cluster.svg) center/contain no-repeat; }
.ssrp-hex-tr::before { width: 257px; height: 363px; right: -56px; top: -40px; z-index: 2; }
.ssrp-hex-br::after  { width: 257px; height: 363px; right: -5px; bottom: -50px; transform: rotate(180deg); z-index: 2; }

/* ================= Custom module: SSRP Media Card ================= */
.ssrp_media_card { position: relative; overflow: hidden; width: 100%; }
.ssrp_media_card, .ssrp_media_card_inner { border-radius: inherit; }
.ssrp_media_card_inner { position: relative; height: 100%; min-height: inherit; }
.ssrp-media-card__media { position: absolute; inset: 0; z-index: 0; }
.ssrp-media-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssrp-media-card__body { position: relative; z-index: 2; }
.ssrp-media-card__text > * { margin: 0; padding: 0; }
.ssrp-media-card__title, .ssrp-media-card__eyebrow, .ssrp-media-card__subtitle, .ssrp-media-card__meta { display: block; }
.ssrp-media-card__subtitle p { padding: 0; margin: 0; }
.ssrp-media-card__avatar { border-radius: var(--gvid-number-radius-pill); object-fit: cover; }
.ssrp-media-card .et_pb_button_wrapper { margin: 0; padding: 0; }
.ssrp-media-card__button::after { display: none !important; }
.ssrp-media-card__button { border: 0; padding: 0; background: transparent; }

/* variant: is-overlay — photo with navy tint + small glass stat/quote card bottom-right (offerings) */
.ssrp_media_card.is-overlay { aspect-ratio: 456 / 365; border-radius: var(--gvid-number-radius-md); }
.ssrp_media_card.is-overlay .ssrp-media-card__media::after { content: ""; position: absolute; inset: 0; background: var(--gcid-tint-navy); }
.ssrp_media_card.is-overlay .ssrp_media_card_inner { display: flex; align-items: flex-end; justify-content: flex-end; padding: var(--gvid-number-space-md); }
.ssrp_media_card.is-overlay .ssrp-media-card__body { width: var(--gvid-number-overlay-card-width); padding: var(--gvid-number-space-xs); border-radius: var(--gvid-number-radius-xs);
  background: var(--gcid-glass-navy); border: var(--gvid-number-border-width) solid var(--gcid-line); -webkit-backdrop-filter: blur(var(--gvid-number-blur-glass)); backdrop-filter: blur(var(--gvid-number-blur-glass)); }
.ssrp_media_card.is-overlay .ssrp-media-card__text { display: flex; flex-direction: column; gap: 10px; }
/* hex cluster positions inside offering cards */
.ssrp_media_card.has-hex-bl::after, .ssrp_media_card.has-hex-tr::after, .ssrp_media_card.has-hex-tl::after, .ssrp_media_card.has-hex-bl2::after {
  content: ""; position: absolute; z-index: 1; width: 197px; height: 278px; pointer-events: none;
  background: url(/wp-content/themes/ssrp-solutions-divi/assets/img/hex-cluster.svg) center/contain no-repeat; }
.ssrp_media_card.has-hex-bl::after  { left: -29px; bottom: -62px; transform: rotate(180deg); }
.ssrp_media_card.has-hex-tr::after  { right: -62px; top: -89px; }
.ssrp_media_card.has-hex-tl::after  { left: -83px; top: -113px; transform: rotate(180deg); }
.ssrp_media_card.has-hex-bl2::after { left: -20px; bottom: -30px; transform: rotate(180deg); }

/* variant: is-video — tall testimonial card, glass caption bar + play button */
.ssrp_media_card.is-video { height: var(--gvid-number-testimonial-height); border-radius: var(--gvid-number-radius-2xl); }
.ssrp_media_card.is-video .ssrp_media_card_inner { display: flex; align-items: flex-end; padding: var(--gvid-number-space-sm); }
.ssrp_media_card.is-video .ssrp-media-card__body { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--gvid-number-space-xs);
  padding: var(--gvid-number-space-xs) var(--gvid-number-space-sm) var(--gvid-number-space-xs) var(--gvid-number-space-xs); border-radius: var(--gvid-number-radius-lg);
  background: var(--gcid-overlay-40); -webkit-backdrop-filter: blur(var(--gvid-number-blur-nav)); backdrop-filter: blur(var(--gvid-number-blur-nav)); }
.ssrp_media_card.is-video .ssrp-media-card__person { display: flex; align-items: center; gap: var(--gvid-number-space-xs); min-width: 0; }
.ssrp_media_card.is-video .ssrp-media-card__avatar { width: var(--gvid-number-avatar-sm); height: var(--gvid-number-avatar-sm); flex: none; }
.ssrp_media_card.is-video .ssrp-media-card__text { display: flex; flex-direction: column; gap: 4px; }
.ssrp_media_card.is-video .ssrp-media-card__title { padding-bottom: 2px; }
.ssrp_media_card.is-video .ssrp-media-card__button { width: var(--gvid-number-control-height); height: var(--gvid-number-control-height); border-radius: var(--gvid-number-radius-pill);
  background: var(--gcid-white); font-size: 0 !important; color: transparent !important; display: inline-flex; align-items: center; justify-content: center; }
.ssrp_media_card.is-video .ssrp-media-card__button::before { content: ""; width: var(--gvid-number-icon-md); height: var(--gvid-number-icon-md);
  background: url(/wp-content/themes/ssrp-solutions-divi/assets/img/icon-play.svg) center/contain no-repeat; }

/* variant: is-cta — big image card, 60% overlay, bottom headline + label row with circle arrow */
.ssrp_media_card.is-cta { height: var(--gvid-number-card-height); border-radius: var(--gvid-number-radius-2xl); }
.ssrp_media_card.is-cta .ssrp-media-card__media::after { content: ""; position: absolute; inset: 0; background: var(--gcid-overlay-60); }
.ssrp_media_card.is-cta .ssrp_media_card_inner { display: flex; flex-direction: column; justify-content: flex-end; padding: var(--gvid-number-space-xl) var(--gvid-number-space-xl) var(--gvid-number-space-md); }
.ssrp_media_card.is-cta .ssrp-media-card__body { display: flex; flex-direction: column; gap: var(--gvid-number-space-md); }
.ssrp_media_card.is-cta .et_pb_button_wrapper { width: 100%; }
.ssrp_media_card.is-cta .ssrp-media-card__button { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.ssrp_media_card.is-cta .ssrp-media-card__button::after { content: "" !important; display: inline-flex !important; position: static !important; opacity: 1 !important; margin: 0 !important;
  width: var(--gvid-number-control-height); height: var(--gvid-number-control-height); border-radius: var(--gvid-number-radius-pill); background: var(--gcid-white) url(/wp-content/themes/ssrp-solutions-divi/assets/img/icon-arrow-up-right.svg) center/24px no-repeat; }
.ssrp_media_card.is-cta a { text-decoration: none; }

/* variant: is-feature — 340x300 person card with bottom gradient */
.ssrp_media_card.is-feature { height: 300px; border-radius: var(--gvid-number-radius-2xl); background: var(--gcid-panel-deep); }
.ssrp_media_card.is-feature .ssrp-media-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0) 40%, rgba(0,0,0,.85) 100%); }
.ssrp_media_card.is-feature .ssrp_media_card_inner { display: flex; align-items: flex-end; padding: var(--gvid-number-space-xl); }
.ssrp_media_card.is-feature .ssrp-media-card__text { display: flex; flex-direction: column; gap: 4px; }

/* ================= Custom module: SSRP Person ================= */
.ssrp_person_inner { display: flex; align-items: center; gap: var(--gvid-number-space-sm); }
.ssrp-person__avatar { width: var(--gvid-number-avatar-md); height: var(--gvid-number-avatar-md); border-radius: var(--gvid-number-radius-pill); object-fit: cover; flex: none; }
.ssrp-person__text { display: flex; flex-direction: column; }
.ssrp-person__name, .ssrp-person__role { display: block; }
/* proof cards: empty avatar placeholder circle */
.ssrp-person--card .ssrp_person_inner::before { content: ""; width: var(--gvid-number-avatar-md); height: var(--gvid-number-avatar-md); border-radius: var(--gvid-number-radius-pill); background: var(--gcid-glass-avatar); flex: none; }
.ssrp-person--card .ssrp_person_inner:has(.ssrp-person__avatar)::before { display: none; }

/* ================= Blurb inline feature (contact) ================= */
.ssrp-feature .et_pb_blurb_content { display: flex; align-items: center; gap: 10px; max-width: none; }
.ssrp-feature .et_pb_main_blurb_image { margin: 0; line-height: 0; }
.ssrp-feature .et_pb_main_blurb_image img { width: var(--gvid-number-icon-feature); height: var(--gvid-number-icon-feature); }
.ssrp-feature .et_pb_blurb_container { padding: 0; }
.ssrp-feature .et_pb_module_header { padding: 0; margin: 0; }
.ssrp-feature .et_pb_blurb_description:empty { display: none; }

/* ================= Nav (Theme Builder header) ================= */
.et-tb-has-header #main-header, .et-tb-has-footer #main-footer { display: none; }

/* ================= Gravity Forms (SSRP dark) ================= */
.ssrp-form .gform_wrapper .gform_fields { display: flex; flex-direction: column; gap: var(--gvid-number-space-lg); }
.ssrp-form .gform_wrapper .gfield_label { font: 700 var(--gvid-number-text-xs)/1.2 "Barlow", sans-serif; color: var(--gcid-white); margin: 0 0 var(--gvid-number-space-xs); display: block; }
.ssrp-form .gform_wrapper .gfield_required { color: var(--gcid-sky); padding-left: 3px; }
.ssrp-form .gform_wrapper input[type=text], .ssrp-form .gform_wrapper input[type=email], .ssrp-form .gform_wrapper input[type=tel], .ssrp-form .gform_wrapper textarea, .ssrp-form .gform_wrapper select {
  width: 100%; height: var(--gvid-number-input-height); padding: 0 var(--gvid-number-space-md); background: var(--gcid-glass-input); border: var(--gvid-number-border-width) solid var(--gcid-line);
  border-radius: var(--gvid-number-radius-sm); color: var(--gcid-white); font: 400 var(--gvid-number-text-base)/1.4 "Barlow", sans-serif; outline: none; box-shadow: none; }
.ssrp-form .gform_wrapper input::placeholder, .ssrp-form .gform_wrapper textarea::placeholder { color: var(--gcid-gray-500); }
.ssrp-form .gform_wrapper input:focus, .ssrp-form .gform_wrapper textarea:focus { border-color: var(--gcid-sky); }
.ssrp-form .gform_wrapper textarea { height: 116px; padding: var(--gvid-number-space-sm) var(--gvid-number-space-md); resize: vertical; }
.ssrp-form .gform_wrapper .ginput_container_phone input { width: 100%; }
/* pill radios */
.ssrp-form .gform_wrapper .gfield_radio { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--gvid-number-space-2xs); }
.ssrp-form .gform_wrapper .gfield_radio .gchoice { margin: 0; }
.ssrp-form .gform_wrapper .gfield_radio input[type=radio] { position: absolute; opacity: 0; width: 0; height: 0; }
.ssrp-form .gform_wrapper .gfield_radio label { display: inline-flex; align-items: center; height: 41px; padding: 0 var(--gvid-number-space-lg); border-radius: var(--gvid-number-radius-pill); cursor: pointer;
  background: var(--gcid-glass-input); border: var(--gvid-number-border-width) solid var(--gcid-line); color: var(--gcid-gray-300); font: 400 var(--gvid-number-text-base)/1 "Barlow", sans-serif; margin: 0; max-width: none; transition: all .15s ease; }
.ssrp-form .gform_wrapper .gfield_radio input[type=radio]:checked + label { background: var(--gcid-sky); border-color: var(--gcid-sky); color: var(--gcid-ink); font-weight: 700; }
.ssrp-form .gform_wrapper .gfield_radio input[type=radio]:focus-visible + label { outline: 2px solid var(--gcid-sky); outline-offset: 2px; }
/* footer: submit + helper */
.ssrp-form .gform_wrapper .gform_footer { display: flex; align-items: center; gap: var(--gvid-number-space-xl); padding: var(--gvid-number-space-xs) 0 0; margin: 0; }
.ssrp-form .gform_wrapper .gform_footer input[type=submit], .ssrp-form .gform_wrapper .gform_footer button { height: auto; padding: 17px 34px; border-radius: var(--gvid-number-radius-pill); background: var(--gcid-sky); border: 0; color: var(--gcid-ink);
  font: 700 var(--gvid-number-text-md)/1 "Barlow", sans-serif; cursor: pointer; transition: transform .2s ease; }
.ssrp-form .gform_wrapper .gform_footer input[type=submit]:hover { transform: translateY(-1px); }
.ssrp-form .gform_wrapper .gform_footer::after { content: attr(data-helper); }
.ssrp-form .gform_wrapper .gform_footer .ssrp-form-helper, .ssrp-form .gform_wrapper .gform_footer::after { font: 400 var(--gvid-number-text-sm)/1.4 "Barlow", sans-serif; color: var(--gcid-zinc-500); }
.ssrp-form .gform_wrapper .gform_footer::after { content: "We reply within one business day. Your details stay with our team."; }
.ssrp-form .gform_wrapper .gform_validation_errors, .ssrp-form .gform_wrapper .validation_message { color: #ffb4b4; font-size: var(--gvid-number-text-xs); }
.ssrp-form .gform_wrapper .gform_confirmation_message { color: var(--gcid-white); font: 400 var(--gvid-number-text-lg)/1.5 "Barlow", sans-serif; }
.ssrp-form .gform_wrapper .gform_required_legend { display: none; }
.ssrp-form .gform_wrapper .gfield--width-half { grid-column: auto; }

/* ================= Section-specific hooks ================= */
.ssrp-hero { min-height: var(--gvid-number-hero-height); display: flex; align-items: center; }
.ssrp-hero > .et_pb_row { width: 100%; }
.ssrp-testimonial-strip { border-radius: var(--gvid-number-radius-lg); overflow: hidden; align-self: stretch; }
.ssrp-testimonial-strip .et_pb_image_wrap, .ssrp-testimonial-strip img { height: 100%; width: 100%; object-fit: cover; }
.ssrp-proof-hex { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 432px; pointer-events: none; z-index: 0; }
.ssrp-contact-hex { position: absolute; right: 304px; top: 556px; width: 375px; opacity: .28; pointer-events: none; z-index: 0; }
.ssrp-contact-hex img, .ssrp-proof-hex img { width: 100%; height: auto; }
.ssrp-footer-divider { border-top: var(--gvid-number-border-width) solid var(--gcid-line); padding-top: var(--gvid-number-space-xl); }
.ssrp-legal .et_pb_text_inner p { max-width: 600px; }
.ssrp-offering-split .ssrp-aside { padding-top: var(--gvid-number-space-md); }
.ssrp-who-label { display: block; }
.ssrp-gap { border-radius: var(--gvid-number-radius-xl); overflow: hidden; }
.ssrp-cta-note .et_pb_text_inner { max-width: 163px; }
.ssrp-offering-copy { max-width: 405px; }
.ssrp-hero-copy .et_pb_text_inner { max-width: var(--gvid-number-hero-text-width); }
.ssrp-why-copy { max-width: 519px; }
.ssrp-contact-copy { max-width: var(--gvid-number-contact-width); }

/* ---- iteration 2 fixes */
.ssrp-testimonials > .et_pb_column.ssrp-tcard { flex: 0 0 383px; max-width: 383px; }
.ssrp-testimonials > .et_pb_column.ssrp-tstrip { flex: 1 1 0; min-width: 0; align-self: stretch; }
.ssrp-tstrip .ssrp-testimonial-strip { height: 674px; }
.ssrp-tstrip .ssrp-testimonial-strip .et_pb_image_wrap { display: block; height: 100%; }
.ssrp-tstrip .ssrp-testimonial-strip img { height: 100%; width: 100%; object-fit: cover; }
.ssrp-offering-split > .et_pb_column.ssrp-offering-text { flex: 1 1 0; min-width: 0; }
.ssrp-offering-split > .et_pb_column.ssrp-media-col { flex: 0 0 var(--gvid-number-media-width); max-width: var(--gvid-number-media-width); }
.ssrp-offering-split > .et_pb_column.ssrp-aside-col { flex: 0 0 var(--gvid-number-aside-width); max-width: var(--gvid-number-aside-width); }
.ssrp-proof-row > .et_pb_column.ssrp-qcard { flex: 1 1 0; min-width: 0; }
.ssrp-proof-row > .et_pb_column.ssrp-card-col { flex: 0 0 var(--gvid-number-card-width); max-width: var(--gvid-number-card-width); }
.et_pb_section .et_pb_image.ssrp-proof-hex { position: absolute !important; left: 0 !important; right: auto !important; top: 50% !important; bottom: auto !important; transform: translateY(-50%); width: 432px; z-index: 0; }
.et_pb_section .et_pb_image.ssrp-contact-hex { position: absolute !important; right: 304px !important; left: auto !important; top: 556px !important; bottom: auto !important; width: 375px; opacity: .28; z-index: 0; }
.ssrp-proof .et_pb_row, .ssrp-contact .et_pb_row { position: relative; z-index: 1; }
.ssrp-hero .et_pb_heading_container h1 { max-width: 562px; }
.ssrp-form .gform_validation_container, .ssrp-form .gform_wrapper .gform_validation_container { display: none !important; position: absolute !important; left: -9000px !important; }
.ssrp-form .gform_wrapper .gfield_required_text { display: none; }
/* GF nests two .gfield_required spans (outer + .gfield_required_asterisk); style the outer only, let GF's own "*" show, and only synthesise one when GF is set to "(Required)" text */
.ssrp-form .gform_wrapper .gfield_required { font-size: var(--gvid-number-text-xs); }
.ssrp-form .gform_wrapper .gfield_required .gfield_required { padding-left: 0; }
.ssrp-form .gform_wrapper .gfield_required:has(> .gfield_required_text)::before { content: "*"; }

/* ---- Theme Builder header/footer */
.ssrp-footer-menu .et_pb_menu_inner_container, .ssrp-footer-menu .et_pb_menu__wrap { padding: 0; margin: 0; }
.ssrp-footer-menu .et_pb_menu__menu > nav > ul { display: flex; flex-direction: column; gap: var(--gvid-number-space-sm); align-items: flex-start; }
.ssrp-footer-menu .et_pb_menu__menu > nav > ul > li { padding: 0; margin: 0; }
.ssrp-footer-menu .et_pb_menu__menu > nav > ul > li > a { padding: 0; }
.ssrp-footer-menu .et_pb_menu__menu > nav > ul > li > a:hover { color: var(--gcid-white); opacity: 1; }
.ssrp-footer-menu .et_pb_menu__menu { display: block !important; }
.ssrp-footer-grid > .et_pb_column:first-child { flex: 1.4 1 0; }
.ssrp-footer-grid > .et_pb_column { flex: 1 1 0; }
.ssrp-footer-brand { max-width: 340px; }
.et_pb_section.ssrp-footer { padding-left: var(--gvid-number-space-page-x); padding-right: var(--gvid-number-space-page-x); }

/* ---- iteration 3 fixes */
.et_pb_button.ssrp-btn { white-space: nowrap; }
body #page-container .et_pb_button.ssrp-btn.has-arrow-right::after, body #page-container .et_pb_button.ssrp-btn.has-arrow-down::after,
body #et-boc .et_pb_button.ssrp-btn.has-arrow-right::after, body #et-boc .et_pb_button.ssrp-btn.has-arrow-down::after {
  content: "" !important; display: inline-block !important; position: static !important; opacity: 1 !important; margin: 0 !important; font-size: 0 !important; line-height: 0 !important;
  width: var(--gvid-number-icon-md); height: var(--gvid-number-icon-md); }
body #page-container .et_pb_button.ssrp-btn.has-arrow-right::after, body #et-boc .et_pb_button.ssrp-btn.has-arrow-right::after { background: url(/wp-content/themes/ssrp-solutions-divi/assets/img/icon-arrow-right.svg) center/contain no-repeat; }
body #page-container .et_pb_button.ssrp-btn.has-arrow-down::after, body #et-boc .et_pb_button.ssrp-btn.has-arrow-down::after { background: url(/wp-content/themes/ssrp-solutions-divi/assets/img/icon-arrow-down.svg) center/contain no-repeat; }
.ssrp-contact-copy, .ssrp-contact .et_pb_row .et_pb_column > .et_pb_group { max-width: 720px; }
body #page-container .et_pb_button.ssrp-btn, body #et-boc .et_pb_button.ssrp-btn { display: inline-flex !important; flex-wrap: nowrap !important; align-items: center; justify-content: center; gap: var(--gvid-number-space-xs); }
body #page-container .et_pb_button.ssrp-btn, body #et-boc .et_pb_button.ssrp-btn { flex-direction: row !important; }
body #page-container .et_pb_button.ssrp-btn.has-arrow-right::after, body #page-container .et_pb_button.ssrp-btn.has-arrow-down::after,
body #et-boc .et_pb_button.ssrp-btn.has-arrow-right::after, body #et-boc .et_pb_button.ssrp-btn.has-arrow-down::after { transform: none !important; top: auto !important; }

/* ================= Responsive fallbacks (design is desktop-first) ================= */
@media (max-width: 1340px) {
  .ssrp-testimonials > .et_pb_column.ssrp-tstrip { display: none; }
  .ssrp-testimonials > .et_pb_column.ssrp-tcard { flex: 1 1 0; max-width: none; }
  .ssrp-offering-split > .et_pb_column.ssrp-media-col { flex: 0 0 40%; max-width: 40%; }
  .ssrp-offering-split > .et_pb_column.ssrp-aside-col { flex: 0 0 180px; }
}
@media (max-width: 980px) {
  .ssrp-offering-split > .et_pb_column.ssrp-media-col, .ssrp-offering-split > .et_pb_column.ssrp-aside-col,
  .ssrp-proof-row > .et_pb_column.ssrp-card-col { flex: 0 0 100%; max-width: 100%; }
  .ssrp_media_card.is-overlay { max-width: var(--gvid-number-media-width); }
  .ssrp_media_card.is-video { height: 560px; }
  .ssrp-display .et_pb_heading_container h1, .ssrp-display .et_pb_heading_container h2 { font-size: 56px !important; }
  .et_pb_section.ssrp-hero { min-height: 640px; }
  .et_pb_section.ssrp-hero .et_pb_heading_container h1 { font-size: 44px !important; }
  .et_pb_section.ssrp-gap, .et_pb_section.ssrp-contact { padding-left: var(--gvid-number-space-xl); padding-right: var(--gvid-number-space-xl); }

  .ssrp-contact-hex, .ssrp-proof-hex { display: none; }
  .ssrp-footer-grid > .et_pb_column { flex: 1 1 100%; }
}
@media (max-width: 767px) {
  .ssrp_media_card.is-cta { height: 360px; }
  .ssrp-form .gform_wrapper .gform_footer { flex-direction: column; align-items: flex-start; }
  .et_pb_section.ssrp-hero .et_pb_heading_container h1 { font-size: 38px !important; }
  .ssrp-display .et_pb_heading_container h1, .ssrp-display .et_pb_heading_container h2 { font-size: 44px !important; }
}

/* ================= QA pass 2 ================= */
/* Nav pill: exact design spacing (pill px 8, logo→menu gap 24, items gap 2, item 48h / 0 20px) */

/* Gradient display titles: give the background box room for descenders (g, p, y) */
.ssrp-display .et_pb_heading_container h1, .ssrp-display .et_pb_heading_container h2, .ssrp-display .et_pb_heading_container h3 {
  padding-bottom: 0.16em; margin-bottom: -0.16em; padding-right: 0.08em; }

/* Buttons: hover must not change size (Divi's default hover adds icon padding) */
body #page-container .et_pb_button.ssrp-btn, body #et-boc .et_pb_button.ssrp-btn,
body #page-container .et_pb_button.ssrp-btn:hover, body #et-boc .et_pb_button.ssrp-btn:hover {
  padding-top: var(--gvid-number-space-sm) !important; padding-bottom: var(--gvid-number-space-sm) !important;
  padding-left: var(--gvid-number-space-lg) !important; padding-right: var(--gvid-number-space-lg) !important;
  transform: none !important; letter-spacing: var(--gvid-number-ls-button) !important; }
body #page-container .et_pb_button.ssrp-btn.has-arrow-right, body #page-container .et_pb_button.ssrp-btn.has-arrow-down,
body #page-container .et_pb_button.ssrp-btn.has-arrow-right:hover, body #page-container .et_pb_button.ssrp-btn.has-arrow-down:hover { padding-right: var(--gvid-number-space-sm) !important; }
body #page-container .et_pb_button.ssrp-btn:hover::after, body #et-boc .et_pb_button.ssrp-btn:hover::after { margin-left: 0 !important; }
body #page-container .et_pb_button.ssrp-btn:not(.has-arrow-right):not(.has-arrow-down)::after { display: none !important; }
.et_pb_button.ssrp-btn { transition: filter .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.et_pb_button.ssrp-btn:hover { filter: brightness(1.08); }
.preset--module--divi-button--gp-ssrp-button-ghost:hover, .preset--module--divi-button--gp-ssrp-button-ghost-arrow-down:hover,
.preset--module--divi-button--gp-ssrp-button-ghost-glow:hover, .preset--module--divi-button--gp-ssrp-button-nav:hover { background-color: var(--gcid-glass-input) !important; filter: none; }
.preset--module--divi-button--gp-ssrp-button-sky:hover { background-color: var(--gcid-sky) !important; }
/* Sky (form-style) preset: bigger pad, no uppercase */
body #page-container .et_pb_button.ssrp-btn.preset--module--divi-button--gp-ssrp-button-sky, body #page-container .et_pb_button.ssrp-btn.preset--module--divi-button--gp-ssrp-button-sky:hover {
  padding-top: var(--gvid-number-space-md) !important; padding-bottom: var(--gvid-number-space-md) !important; padding-left: var(--gvid-number-space-2xl) !important; padding-right: var(--gvid-number-space-2xl) !important; letter-spacing: 0 !important; }

/* GF submit: one line unless it truly cannot fit; helper flows beside it */
.ssrp-form .gform_wrapper .gform_footer input[type=submit], .ssrp-form .gform_wrapper .gform_footer button { white-space: nowrap; flex: none; }
.ssrp-form .gform_wrapper .gform_footer::after { flex: 1 1 0; min-width: 0; }
.ssrp-form .gform_wrapper .gform_footer { flex-wrap: wrap; }
.ssrp-form .gform_wrapper .gform_footer input[type=submit]:hover { transform: none; filter: brightness(1.06); }

/* Overlay quote/stat card typography (design: quote 600/14/1.2 white, meta 400/12/1.3 white 70%) */
.ssrp_media_card.is-overlay .ssrp-media-card__meta { display: block; white-space: pre-line; }

/* Footer: exact type + spacing */
.ssrp-footer .ssrp-footer-menu .et_pb_menu__menu > nav > ul > li > a { font: 400 var(--gvid-number-text-base)/1.2 "Barlow", sans-serif !important; color: var(--gcid-gray-400) !important; padding: 0 !important; }
.ssrp-footer .ssrp-footer-menu .et_pb_menu__menu > nav > ul { gap: var(--gvid-number-space-sm) !important; }
.ssrp-footer .ssrp-footer-menu .et_pb_menu__menu > nav > ul > li { padding: 0 !important; margin: 0 !important; line-height: 1.2; }
.ssrp-footer .ssrp-footer-menu .et_pb_menu_inner_container, .ssrp-footer .ssrp-footer-menu .et_pb_menu__wrap, .ssrp-footer .ssrp-footer-menu .et_pb_menu__menu { padding: 0 !important; margin: 0 !important; min-height: 0; }
.ssrp-footer .ssrp-footer-menu .et_pb_menu__menu > nav > ul > li > a:hover { color: var(--gcid-white) !important; }
.ssrp-footer .et_pb_column { row-gap: var(--gvid-number-space-sm); }
.ssrp-footer .ssrp-footer-brand { row-gap: var(--gvid-number-space-md); }
.ssrp-footer .preset--module--divi-text--gp-ssrp-footer-heading .et_pb_text_inner { line-height: 1.2; padding-bottom: 0; }
.ssrp-footer .ssrp-footer-grid { align-items: flex-start; }
.ssrp-footer .ssrp-footer-divider { margin-top: var(--gvid-number-space-3xl); }
.ssrp-footer .ssrp-legal .et_pb_text_inner p { max-width: 598px; line-height: 21px; }

/* Buttons: hover must not change border/size either */
body #page-container .et_pb_button.ssrp-btn, body #et-boc .et_pb_button.ssrp-btn, body #page-container .et_pb_button.ssrp-btn:hover, body #et-boc .et_pb_button.ssrp-btn:hover {
  border-width: var(--gvid-number-border-width) !important; box-sizing: border-box; height: var(--gvid-number-control-height); min-height: 0 !important; line-height: 1 !important; }
/* Nav logo lockup: never clip */
/* Footer menus: flush left with headings */
.ssrp-footer .ssrp-footer-menu .et_pb_menu__menu > nav, .ssrp-footer .ssrp-footer-menu .et_pb_menu__menu > nav > ul, .ssrp-footer .ssrp-footer-menu .et_pb_menu__menu > nav > ul > li { margin: 0 !important; padding: 0 !important; }
.ssrp-footer .ssrp-footer-menu .et_pb_menu__menu > nav > ul > li > a { margin: 0 !important; }
.ssrp-footer .ssrp-footer-menu .et_pb_menu_inner_container { justify-content: flex-start; }
.ssrp-footer .ssrp-footer-menu .et_pb_menu__wrap { justify-content: flex-start; }
.ssrp-footer .ssrp-footer-brand { max-width: none; }
.ssrp-footer .ssrp-footer-brand > .et_pb_module { max-width: 340px; }
.ssrp-footer .ssrp-footer-grid > .et_pb_column:first-child { flex: 1.4 1 0; }
/* Hero: video sits above the section background, so re-apply the design's shade gradient above the video (below content) */
.et_pb_section.ssrp-hero .et-pb-background-video { z-index: 0; }
.et_pb_section.ssrp-hero .et-pb-background-video::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(250deg, var(--gcid-hero-shade-top) 8%, var(--gcid-hero-shade-clear) 23%, var(--gcid-hero-shade-deep) 62%); }
.et_pb_section.ssrp-hero > .et_pb_row { position: relative; z-index: 2; }

/* ================= Sticky header + robust header layout ================= */
/* header shrinks slightly once scrolled (JS adds .is-scrolled) */

/* ================= Interior pages ================= */
.ssrp-faq .et_pb_toggle { background: var(--gcid-panel) !important; border: var(--gvid-number-border-width) solid var(--gcid-line) !important; border-radius: var(--gvid-number-radius-lg); padding: var(--gvid-number-space-lg) var(--gvid-number-space-xl) !important; margin-bottom: var(--gvid-number-space-sm) !important; }
.ssrp-faq .et_pb_toggle_title { color: var(--gcid-white) !important; padding-right: 40px; }
.ssrp-faq .et_pb_toggle_title::before { color: var(--gcid-blue-3) !important; right: 0; }
.ssrp-faq .et_pb_toggle_content { padding-top: var(--gvid-number-space-sm) !important; }
.ssrp-faq .et_pb_toggle_content p { color: var(--gcid-gray-300); }
.ssrp-cta-card .et_pb_heading_container h2, .ssrp-cta-card .et_pb_text_inner { color: var(--gcid-white) !important; }
.ssrp-cta-card .preset--module--divi-button--gp-ssrp-button-ghost { border-color: var(--gcid-line) !important; }
.ssrp-cta-card .preset--module--divi-button--gp-ssrp-button-primary { background-color: var(--gcid-white) !important; }
.ssrp-cta-card .preset--module--divi-button--gp-ssrp-button-primary, .ssrp-cta-card .preset--module--divi-button--gp-ssrp-button-primary:hover { color: var(--gcid-blue-5) !important; box-shadow: none !important; }
.ssrp-tier .ssrp-checklist .et_pb_text_inner ul { border: 0; padding: 0; }
.ssrp-tier--featured { position: relative; }
.ssrp-tier .et_pb_button_module_wrapper { margin-top: auto; }
.ssrp-tier .et_pb_button { width: 100%; }
.ssrp-breadcrumb .et_pb_text_inner p { display: inline-flex; gap: var(--gvid-number-space-xs); }
.ssrp-breadcrumb a { color: var(--gcid-gray-400); text-decoration: none; }
.ssrp-breadcrumb a:hover { color: var(--gcid-white); }
.ssrp-modules-grid .ssrp-glass { min-height: 100%; }
.ssrp-legal-page .et_pb_text_inner h2 { font: 400 var(--gvid-number-text-h3)/1.2 "Barlow", sans-serif; color: var(--gcid-white); margin: var(--gvid-number-space-2xl) 0 var(--gvid-number-space-sm); }
.ssrp-legal-page .et_pb_text_inner h3 { font: 600 var(--gvid-number-text-2xl)/1.3 "Barlow", sans-serif; color: var(--gcid-white); margin: var(--gvid-number-space-xl) 0 var(--gvid-number-space-xs); }
.ssrp-legal-page .et_pb_text_inner p, .ssrp-legal-page .et_pb_text_inner li { color: var(--gcid-gray-300); padding-bottom: var(--gvid-number-space-sm); }
.ssrp-legal-page .et_pb_text_inner ul, .ssrp-legal-page .et_pb_text_inner ol { padding-left: var(--gvid-number-space-xl); }
.ssrp-legal-page .et_pb_text_inner a { color: var(--gcid-sky); }
.ssrp-page-top { padding-top: 140px !important; }
.ssrp-subhero .et_pb_heading_container h1 strong { font-weight: 600; }
.ssrp-price .et_pb_text_inner p { color: var(--gcid-gray-300); }
.ssrp-price .et_pb_text_inner strong { color: var(--gcid-white); font-weight: 600; }
.ssrp-addons .et_pb_text_inner ul { list-style: none; padding: 0; margin: 0; }
.ssrp-addons .et_pb_text_inner li { display: flex; justify-content: space-between; gap: var(--gvid-number-space-md); padding: var(--gvid-number-space-xs) 0; border-top: var(--gvid-number-border-width) solid var(--gcid-line); }
.ssrp-addons .et_pb_text_inner li strong { color: var(--gcid-white); }
.ssrp-addons .et_pb_text_inner li em { font-style: normal; color: var(--gcid-teal-300); white-space: nowrap; }
/* Fixed header: offset non-builder templates (WooCommerce product/cart/checkout/account, webinars, intake) */
body.et-tb-has-header:not(.et_pb_pagebuilder_layout) #main-content { padding-top: 130px; }
body.et-tb-has-header:not(.et_pb_pagebuilder_layout) #main-content .shop-main { padding-top: 0; }
body.et-tb-has-header #main-content > .container { padding-top: 0; }
/* Institute container system parity: content 1280 (--gvid-number-content-max-width), background sections capped at 2160 and centered */
.et_pb_section.ssrp-hero, .et_pb_section.ssrp-why { max-width: var(--gvid-number-background-max-width); margin-left: auto !important; margin-right: auto !important; }
.et_pb_section.ssrp-hero { width: calc(100% - var(--gvid-number-space-4xl)); }
.et_pb_section.ssrp-why { width: calc(100% - var(--gvid-number-space-2xl)); }
.et_pb_section.ssrp-gap { max-width: min(var(--gvid-number-inner-max-width), calc(100% - var(--gvid-number-space-4xl))); }
/* interior pass 2 */
.ssrp-center, .ssrp-center .et_pb_text_inner, .ssrp-center .et_pb_heading_container { text-align: center; }
.ssrp-center .et_pb_module { margin-left: auto; margin-right: auto; }
.ssrp-eyebrow--lines .et_pb_text_inner p::after { content: ""; width: 24px; height: 1px; background: currentColor; opacity: .5; }
.ssrp-eyebrow--lines .et_pb_text_inner p::before { width: 24px; height: 1px; background: currentColor !important; opacity: .5; }
.ssrp-stat-strip { background: var(--gcid-glass); border: var(--gvid-number-border-width) solid var(--gcid-line); border-radius: var(--gvid-number-radius-lg); padding: var(--gvid-number-space-xl) 0 !important; }
.ssrp-stat-strip > .et_pb_column.ssrp-stat { padding: 0 var(--gvid-number-space-xl); border-left: var(--gvid-number-border-width) solid var(--gcid-line); }
.ssrp-stat-strip > .et_pb_column.ssrp-stat:first-child { border-left: 0; }
.ssrp-module-item .ssrp-num .et_pb_text_inner p { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--gvid-number-radius-pill); border: var(--gvid-number-border-width) solid var(--gcid-line); background: var(--gcid-glass); color: var(--gcid-teal-300); font-family: var(--mono); font-size: var(--gvid-number-text-2xs); }
.ssrp-module-item { padding: var(--gvid-number-space-md); border: var(--gvid-number-border-width) solid var(--gcid-line); border-radius: var(--gvid-number-radius-lg); background: var(--gcid-glass); width: 100%; }
.ssrp-module-item .ssrp-module-title .et_pb_heading_container h3 { font-size: var(--gvid-number-text-lg) !important; line-height: 1.3 !important; }
.ssrp-note-box { padding: var(--gvid-number-space-lg) var(--gvid-number-space-xl) !important; border-radius: var(--gvid-number-radius-lg) !important; }
.ssrp-note .et_pb_image { flex: none; }
.ssrp-cta-card .et_pb_row { max-width: 100%; }
.ssrp-tier { padding: var(--gvid-number-space-3xl) var(--gvid-number-space-2xl) !important; }
.ssrp-tier .et_pb_heading_container h4 { font-size: var(--gvid-number-text-h4) !important; }
.ssrp-subhero .et_pb_image_wrap img { width: 100%; }
.ssrp-note { width: 100%; }
.ssrp-note > .et_pb_image { flex: 0 0 auto; width: var(--gvid-number-icon-md); margin-top: 2px; }
.ssrp-note > .et_pb_text { flex: 1 1 0; min-width: 0; width: auto; }
.ssrp-note-box.et_pb_column { padding: var(--gvid-number-space-lg) var(--gvid-number-space-xl) !important; }
.et_pb_row.ssrp-faq-row { max-width: 900px !important; }
/* Divi default templates (404 / search / archives / WC account) on the dark canvas */
body.error404 #main-content, body.search #main-content, body.archive:not(.woocommerce) #main-content, body.woocommerce-account #main-content { color: var(--gcid-gray-300); }
body.error404 #main-content h1, body.error404 #main-content h2, body.search #main-content h1, body.search #main-content h2, body.search #main-content h2 a, body.archive:not(.woocommerce) #main-content h1, body.archive:not(.woocommerce) #main-content h2 a,
body.woocommerce-account #main-content h1, body.woocommerce-account #main-content h2, body.woocommerce-account #main-content h3 { color: var(--gcid-white); font-family: "Barlow", sans-serif; font-weight: 400; }
body.error404 #main-content .entry-title, body.search #main-content .et_pb_post .entry-title { font-size: var(--gvid-number-text-h2-sm); }
body.error404 #main-content a, body.search #main-content a, body.archive:not(.woocommerce) #main-content a { color: var(--gcid-sky); }
body.search #main-content .et_pb_post, body.archive:not(.woocommerce) #main-content .et_pb_post { border-bottom: var(--gvid-number-border-width) solid var(--gcid-line); padding-bottom: var(--gvid-number-space-2xl); margin-bottom: var(--gvid-number-space-2xl); }
body.error404 #main-content .et_pb_post, body.search #main-content .et_pb_post { background: transparent; }
body.error404 #main-content #left-area, body.search #main-content #left-area, body.archive:not(.woocommerce) #main-content #left-area { width: 100%; padding-right: 0; }
body.error404 #sidebar, body.search #sidebar, body.archive:not(.woocommerce) #sidebar { display: none; }
body.error404 #main-content .container::before, body.search #main-content .container::before, body.archive:not(.woocommerce) #main-content .container::before { display: none; }
body.error404 #main-content .container, body.search #main-content .container { max-width: var(--gvid-number-content-max-width); padding-bottom: var(--gvid-number-space-section-y); }

/* ================= Responsive pass (section gutters, cards, hero) ================= */
@media (max-width: 980px) {
  .et_pb_section.ssrp-section:not(.ssrp-hero):not(.ssrp-why):not(.ssrp-cta-card) { padding-left: var(--gvid-number-space-xl) !important; padding-right: var(--gvid-number-space-xl) !important; }
  .et_pb_section.ssrp-gap { padding-left: var(--gvid-number-space-xl) !important; padding-right: var(--gvid-number-space-xl) !important; max-width: calc(100% - var(--gvid-number-space-2xl)); }
  .et_pb_section.ssrp-cta-card { padding: var(--gvid-number-space-3xl) var(--gvid-number-space-xl) !important; }
  .et_pb_section.ssrp-hero { width: calc(100% - var(--gvid-number-space-2xl)); }
  .et_pb_section.ssrp-hero .et_pb_row { padding: var(--gvid-number-space-4xl) 0; }
  .ssrp-offering-split > .et_pb_column.ssrp-media-col { flex: 0 0 100%; max-width: 100%; }
  .ssrp-offering-split > .et_pb_column.ssrp-aside-col { flex: 0 0 100%; max-width: 100%; }
  .ssrp_media_card.is-overlay { max-width: var(--gvid-number-media-width); }
  .ssrp-proof-row > .et_pb_column.ssrp-card-col { flex: 0 0 100%; max-width: 100%; }
  .ssrp-stat-strip > .et_pb_column.ssrp-stat { border-left: 0; padding: var(--gvid-number-space-sm) var(--gvid-number-space-lg); }
  .ssrp-tier { padding: var(--gvid-number-space-2xl) var(--gvid-number-space-xl) !important; }
}
@media (max-width: 767px) {
  .et_pb_section.ssrp-section:not(.ssrp-hero):not(.ssrp-why):not(.ssrp-cta-card) { padding-left: var(--gvid-number-space-md) !important; padding-right: var(--gvid-number-space-md) !important; }
  .et_pb_section.ssrp-gap { padding-left: var(--gvid-number-space-lg) !important; padding-right: var(--gvid-number-space-lg) !important; }
  .et_pb_section.ssrp-hero, .et_pb_section.ssrp-why { width: calc(100% - var(--gvid-number-space-md)); }
  .et_pb_section.ssrp-hero { min-height: 560px; }
  .ssrp-hero .et_pb_heading_container h1 { max-width: none; }
  .ssrp_media_card.is-overlay { aspect-ratio: 4 / 3; }
  .ssrp-eyebrow--lines .et_pb_text_inner p::before, .ssrp-eyebrow--lines .et_pb_text_inner p::after { width: 12px; }
  .ssrp-module-item { padding: var(--gvid-number-space-sm); }
  .ssrp-form .gform_wrapper .gform_footer input[type=submit] { width: 100%; }
  .ssrp-page-top { padding-top: 120px !important; }
  .et_pb_column.ssrp-glass, .et_pb_column.ssrp-panel { padding: var(--gvid-number-space-lg) !important; }
  .et_pb_column.ssrp-panel.ssrp-form-panel { padding: var(--gvid-number-space-lg) var(--gvid-number-space-md) !important; }
  .ssrp-cta-card .et_pb_heading_container h2 { font-size: 30px !important; }
  .et_pb_section.ssrp-footer { padding-left: var(--gvid-number-space-md) !important; padding-right: var(--gvid-number-space-md) !important; }
}
@media (max-width: 767px) { .ssrp-proof-row > .et_pb_column.ssrp-qcard, .ssrp-offering-split > .et_pb_column.ssrp-offering-text, .ssrp-stat-strip > .et_pb_column.ssrp-stat { flex: 0 0 100% !important; max-width: 100% !important; } }
@media (min-width: 768px) and (max-width: 980px) { .ssrp-stat-strip > .et_pb_column.ssrp-stat { flex: 0 0 50% !important; max-width: 50% !important; } }
/* mobile-only CTA in the nav menu */
/* interior: chips, flags, strike prices, centered coming-soon hero */
.ssrp-chips .et_pb_text_inner p { display: flex; flex-wrap: wrap; gap: var(--gvid-number-space-xs); }
.ssrp-chip { display: inline-flex; align-items: center; padding: 6px var(--gvid-number-space-sm); border-radius: var(--gvid-number-radius-pill); border: var(--gvid-number-border-width) solid var(--gcid-line); background: var(--gcid-glass); color: var(--gcid-gray-300); font-size: var(--gvid-number-text-xs); line-height: 1.2; }
.ssrp-tier .ssrp-flag { position: absolute; top: -14px; left: var(--gvid-number-space-2xl); }
.ssrp-tier .ssrp-flag .et_pb_text_inner p { display: inline-flex; padding: 5px var(--gvid-number-space-sm); border-radius: var(--gvid-number-radius-pill); background: var(--gcid-blue-3); color: var(--gcid-white); font-size: var(--gvid-number-text-2xs); }
.ssrp-tier .ssrp-flag .et_pb_text_inner p::before { display: none; }
.ssrp-tier { position: relative; }
.ssrp-tier s { color: var(--gcid-gray-500); font-weight: 400; margin-right: 6px; }
.ssrp-tier .et_pb_heading_container h4 s { font-size: .6em; vertical-align: middle; }
.ssrp-note-inline a { color: var(--gcid-sky); }
.ssrp-subhero-centered .et_pb_module { max-width: 820px; }
.ssrp-center .ssrp-chips .et_pb_text_inner p { justify-content: center; }
.ssrp-center .et_pb_button_module_wrapper, .ssrp-center .et_pb_group { justify-content: center; }

/* ================= WooCommerce pages under Divi (cart / checkout / account / thank-you) ================= */
body.woocommerce-cart #main-content, body.woocommerce-checkout #main-content, body.woocommerce-account #main-content { padding-top: 0 !important; }
body.woocommerce-cart #main-content .container, body.woocommerce-checkout #main-content .container, body.woocommerce-account #main-content .container { max-width: var(--gvid-number-content-max-width); width: calc(100% - var(--gvid-number-space-2xl)); padding: 150px 0 var(--gvid-number-space-section-y); }
body.woocommerce-cart #left-area, body.woocommerce-checkout #left-area, body.woocommerce-account #left-area { width: 100%; padding: 0; float: none; }
body.woocommerce-cart #sidebar, body.woocommerce-checkout #sidebar, body.woocommerce-account #sidebar, body.woocommerce-cart #main-content .container::before, body.woocommerce-checkout #main-content .container::before, body.woocommerce-account #main-content .container::before { display: none; }
body.woocommerce-cart .entry-title, body.woocommerce-checkout .entry-title { display: none; } /* SSRP shop-head heading is injected by the theme hooks */
body.woocommerce-account .entry-title { font: 400 var(--gvid-number-text-h2-sm)/1.15 "Barlow", sans-serif; color: var(--gcid-white); letter-spacing: var(--gvid-number-ls-heading); margin: 0 0 var(--gvid-number-space-2xl); }
/* empty cart state → designed */
.wc-empty-cart-message .cart-empty.woocommerce-info { background: var(--gcid-glass) !important; border: var(--gvid-number-border-width) solid var(--gcid-line) !important; border-radius: var(--gvid-number-radius-lg); color: var(--gcid-gray-300) !important; padding: var(--gvid-number-space-xl) !important; font: 400 var(--gvid-number-text-lg)/1.5 "Barlow", sans-serif; margin: 0 0 var(--gvid-number-space-lg); }
.wc-empty-cart-message .cart-empty.woocommerce-info::before { display: none; }
.woocommerce-cart .return-to-shop .button { display: inline-flex; align-items: center; height: var(--gvid-number-control-height); padding: 0 var(--gvid-number-space-lg); border-radius: var(--gvid-number-radius-pill); background: var(--gcid-blue-3); color: var(--gcid-white); font: 600 var(--gvid-number-text-base)/1 "Barlow", sans-serif; text-transform: uppercase; letter-spacing: var(--gvid-number-ls-button); box-shadow: 0 var(--gvid-number-glow-y) var(--gvid-number-glow-blur) var(--gcid-glow-blue); }
/* generic WC notices (dark) */
body.woocommerce-page .woocommerce-message, body.woocommerce-page .woocommerce-info, body.woocommerce-page .woocommerce-error, body.woocommerce .woocommerce-message, body.woocommerce .woocommerce-info, body.woocommerce .woocommerce-error { background: var(--gcid-panel); border: var(--gvid-number-border-width) solid var(--gcid-line); border-top: 3px solid var(--gcid-blue-3); border-radius: var(--gvid-number-radius-sm); color: var(--gcid-gray-200); }
body.woocommerce .woocommerce-error { border-top-color: #ff6a2b; }
/* checkout form fields → design system inputs */
.woocommerce-checkout .form-row label { font: 700 var(--gvid-number-text-xs)/1.2 "Barlow", sans-serif; color: var(--gcid-white); }
.woocommerce-checkout .form-row .required { color: var(--gcid-sky); }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea, .woocommerce-checkout .select2-container--default .select2-selection--single { background: var(--gcid-glass-input) !important; border: var(--gvid-number-border-width) solid var(--gcid-line) !important; border-radius: var(--gvid-number-radius-sm) !important; color: var(--gcid-white) !important; height: var(--gvid-number-input-height); padding: 0 var(--gvid-number-space-md); font: 400 var(--gvid-number-text-base)/1.4 "Barlow", sans-serif; }
.woocommerce-checkout .form-row textarea { height: auto; padding: var(--gvid-number-space-sm) var(--gvid-number-space-md); }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--gcid-white); line-height: var(--gvid-number-input-height); }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: var(--gvid-number-input-height); }
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading { font: 600 var(--gvid-number-text-2xl)/1.3 "Barlow", sans-serif; color: var(--gcid-white); }
.woocommerce-checkout #payment { background: var(--gcid-glass) !important; border: var(--gvid-number-border-width) solid var(--gcid-line); border-radius: var(--gvid-number-radius-lg); }
.woocommerce-checkout #payment .payment_box { background: var(--gcid-panel) !important; color: var(--gcid-gray-300); }
.woocommerce-checkout #payment .payment_box::before { border-bottom-color: var(--gcid-panel) !important; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--gcid-line) !important; }
.woocommerce-checkout #payment ul.payment_methods li label { color: var(--gcid-white); }
.woocommerce-checkout .woocommerce-checkout-review-order-table th, .woocommerce-checkout .woocommerce-checkout-review-order-table td { border-color: var(--gcid-line) !important; color: var(--gcid-gray-200); }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount { color: var(--gcid-white); font-family: var(--mono); }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper, .woocommerce-checkout .woocommerce-privacy-policy-text { color: var(--gcid-gray-400); font-size: var(--gvid-number-text-xs); }
.woocommerce-checkout .woocommerce-privacy-policy-text a, .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a { color: var(--gcid-sky); }
/* thank-you */
.woocommerce-order .woocommerce-notice--success { color: var(--gcid-white); font: 400 var(--gvid-number-text-2xl)/1.4 "Barlow", sans-serif; }
.woocommerce-order ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--gvid-number-space-md); padding: 0; margin: var(--gvid-number-space-2xl) 0; }
.woocommerce-order ul.order_details li { border: var(--gvid-number-border-width) solid var(--gcid-line); border-radius: var(--gvid-number-radius-lg); background: var(--gcid-glass); padding: var(--gvid-number-space-md); float: none; margin: 0; color: var(--gcid-gray-400); font: 400 var(--gvid-number-text-xs)/1.4 "Barlow", sans-serif; text-transform: uppercase; letter-spacing: var(--gvid-number-ls-label); }
.woocommerce-order ul.order_details li strong { display: block; color: var(--gcid-white); font: 600 var(--gvid-number-text-lg)/1.3 "Barlow", sans-serif; text-transform: none; letter-spacing: 0; margin-top: 4px; }
.woocommerce-order h2, .woocommerce-order h3 { color: var(--gcid-white); font: 600 var(--gvid-number-text-2xl)/1.3 "Barlow", sans-serif; }
.woocommerce-order table.shop_table { border: var(--gvid-number-border-width) solid var(--gcid-line); border-radius: var(--gvid-number-radius-lg); color: var(--gcid-gray-200); }
.woocommerce-order table.shop_table th, .woocommerce-order table.shop_table td { border-color: var(--gcid-line) !important; }
.woocommerce-order address { color: var(--gcid-gray-300); border: var(--gvid-number-border-width) solid var(--gcid-line); border-radius: var(--gvid-number-radius-lg); padding: var(--gvid-number-space-md); }
/* my account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 10px var(--gvid-number-space-md); border-radius: var(--gvid-number-radius-sm); color: var(--gcid-gray-300); font: 500 var(--gvid-number-text-base)/1.3 "Barlow", sans-serif; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--gcid-glass-input); color: var(--gcid-white); }
.woocommerce-account .woocommerce-MyAccount-content { color: var(--gcid-gray-300); }
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-account .woocommerce-MyAccount-content h3 { color: var(--gcid-white); font: 600 var(--gvid-number-text-2xl)/1.3 "Barlow", sans-serif; }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--gcid-sky); }
.woocommerce-account table.shop_table { border: var(--gvid-number-border-width) solid var(--gcid-line); border-radius: var(--gvid-number-radius-lg); }
.woocommerce-account table.shop_table th, .woocommerce-account table.shop_table td { border-color: var(--gcid-line) !important; color: var(--gcid-gray-200); }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { border: var(--gvid-number-border-width) solid var(--gcid-line) !important; border-radius: var(--gvid-number-radius-lg) !important; background: var(--gcid-panel); padding: var(--gvid-number-space-2xl) !important; max-width: 520px; }
.woocommerce-account .woocommerce-form-login label, .woocommerce-account .woocommerce-form-register label { color: var(--gcid-white); font: 700 var(--gvid-number-text-xs)/1.2 "Barlow", sans-serif; }
.woocommerce-account .woocommerce-form-login .input-text, .woocommerce-account .woocommerce-form-register .input-text { background: var(--gcid-glass-input); border: var(--gvid-number-border-width) solid var(--gcid-line); border-radius: var(--gvid-number-radius-sm); color: var(--gcid-white); height: var(--gvid-number-input-height); padding: 0 var(--gvid-number-space-md); }
.woocommerce-account .woocommerce-form-login .button, .woocommerce-account .woocommerce-MyAccount-content .button { background: var(--gcid-blue-3); color: var(--gcid-white); border-radius: var(--gvid-number-radius-pill); border: 0; padding: 12px 20px; font: 600 var(--gvid-number-text-base)/1 "Barlow", sans-serif; }
.woocommerce-account .woocommerce-LostPassword a, .woocommerce-account .lost_password a { color: var(--gcid-sky); }
/* Header menu: guarantee mobile/desktop switching regardless of Divi's per-page dynamic CSS (404/search templates omit the menu package) */

/* ---- fixes from review: stat strip spacing, tier/package flag pill */
.et_pb_section .et_pb_row.ssrp-stat-strip { padding-top: 28px !important; padding-bottom: 28px !important; }
.ssrp-stat-strip > .et_pb_column.ssrp-stat { row-gap: 12px; padding: 4px var(--gvid-number-space-2xl); }
.ssrp-stat-strip .ssrp-stat .et_pb_heading_container h3 { line-height: 1.05 !important; }
.ssrp-stat-strip .ssrp-stat .et_pb_text_inner p { line-height: 1.4; }
/* flag ("Most popular" / "Best for growth"): inline pill inside the card, above the kicker */
.ssrp-tier .ssrp-flag { position: static; margin: 0 0 var(--gvid-number-space-2xs); }
.ssrp-tier .ssrp-flag .et_pb_text_inner p { position: relative; z-index: 0; display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--gvid-number-radius-pill); color: var(--gcid-white); font: 700 var(--gvid-number-text-2xs)/1 "Barlow", sans-serif; letter-spacing: var(--gvid-number-ls-eyebrow); text-transform: uppercase; }
.ssrp-tier .ssrp-flag .et_pb_text_inner p::before { display: none !important; }
.ssrp-tier .ssrp-flag .et_pb_text_inner p::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: var(--gvid-number-radius-pill); background: var(--gcid-blue-3); }
.ssrp-tier--featured .ssrp-flag .et_pb_text_inner p::after { background: linear-gradient(118deg, var(--gcid-blue-3), var(--gcid-indigo)); }
/* contact/404 hex-rings decoration: anchored to the (800px, centered) form column, not the viewport */
.et_pb_section .et_pb_image.ssrp-contact-hex { left: min(calc(50% + 280px), calc(100% - 300px)) !important; right: auto !important; top: 556px !important; }
.et_pb_section.ssrp-404 .et_pb_image.ssrp-contact-hex { top: 40% !important; }
/* footer credit ({ZS}) */
.ssrp-credit { width: auto; }
.ssrp-credit .ssrp-credit-label .et_pb_text_inner p { font-size: 10px; letter-spacing: .04em; text-transform: uppercase; color: var(--gcid-gray-500); white-space: nowrap; }
.ssrp-credit .ssrp-credit-logo { width: auto; }
.ssrp-credit .ssrp-credit-logo img { height: 20px; width: auto; opacity: .8; transition: opacity .2s; }
.ssrp-credit .ssrp-credit-logo:hover img { opacity: 1; }
.ssrp-footer .ssrp-credit-col { flex: 0 0 auto !important; width: auto !important; margin-left: auto; }
.ssrp-footer .ssrp-footer-divider > .et_pb_column:first-child { flex: 1 1 0; }
/* anchors: clear the fixed header */
.et_pb_row[id], .et_pb_section[id], [id="contact"], [id="plans"], [id="tiers"], [id="offerings"], [id="operations"], [id="marketing"], [id="sourcing"], [id="consulting"], [id="studio"] { scroll-margin-top: 120px; }
/* CTA image cards: whole card clickable, no button hover treatment */
.ssrp_media_card.is-cta .ssrp-media-card__button::before { content: "" !important; display: block !important; position: absolute !important; inset: 0; width: auto !important; height: auto !important; margin: 0 !important; opacity: 1 !important; font-size: 0 !important; transform: none !important; z-index: 3; }
.ssrp_media_card.is-cta .et_pb_button_wrapper, .ssrp_media_card.is-cta .ssrp-media-card__body, .ssrp_media_card.is-cta .ssrp-media-card__button { position: static; } /* so the ::before overlay spans the whole card (nearest positioned ancestor = card inner) */
.ssrp_media_card.is-cta .ssrp-media-card__button, .ssrp_media_card.is-cta .ssrp-media-card__button:hover { background: transparent !important; color: var(--gcid-white) !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; filter: none !important; transform: none !important; }
.ssrp_media_card.is-cta .ssrp-media-card__media img { transition: transform .5s ease; }
.ssrp_media_card.is-cta:hover .ssrp-media-card__media img { transform: scale(1.03); }
.ssrp_media_card.is-cta:hover .ssrp-media-card__button::after { background-color: var(--gcid-sky); }

@media (max-width: 1140px) {
  /* the pill spans the whole row; right column (CTA + account) is hidden on mobile so it must not reserve space */
  /* dropdown panel: anchor to the pill (not the 56px hamburger), full pill width, scrollable if tall */
  /* hero copy must start below the fixed header on phones (header ≈ 92px + top offset) */
  .et_pb_section.ssrp-hero > .et_pb_row { padding-top: 140px !important; padding-bottom: var(--gvid-number-space-4xl) !important; }
}
/* Divi emits `overflow: hidden visible` for these sections, which the browser resolves to hidden/auto → a vertical scrollbar whenever the decorative hex image pokes past the section edge */
.et_pb_section.ssrp-proof, .et_pb_section.ssrp-contact { overflow: hidden !important; }

/* ================= WCAG pass ================= */
/* in-text links must not rely on colour alone (1.4.1) */
.et_pb_text_inner p a:not(.et_pb_button):not(.ssrp-btn), .ssrp-legal-page .et_pb_text_inner a, .ssrp-legal-page .et_pb_code_inner a, .ssrp-legal-page li a, .ssrp-404-help a, .woocommerce-privacy-policy-text a, .ssrp-trust a, .ssrp-access-note a, .cmplz-document .et_pb_text_inner a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.et_pb_text_inner p a:not(.et_pb_button):hover, .ssrp-legal-page .et_pb_text_inner a:hover { text-decoration-thickness: 2px; }
/* muted greys that failed 4.5:1 on the canvas */
.ssrp-tier s { color: var(--gcid-gray-400); }
.ssrp-form .gform_wrapper input::placeholder, .ssrp-form .gform_wrapper textarea::placeholder { color: var(--gcid-gray-400); }
.ssrp-credit .ssrp-credit-label .et_pb_text_inner p { font-size: 11px; color: var(--gcid-gray-400); }
/* primary buttons: blue-5 (#116cc9, 5.2:1 with white) instead of blue-3 (3.3:1); glow keeps the brand blue */
.woocommerce-account .woocommerce-form-login .button, .woocommerce-account .woocommerce-MyAccount-content .button, .woocommerce-cart .return-to-shop .button { background-color: var(--gcid-blue-5) !important; }
.ssrp-tier .ssrp-flag .et_pb_text_inner p::after { background: var(--gcid-blue-5); }
/* target size ≥ 24px for links that aren't inline in a sentence (2.5.8) */
.et-l--footer .et_pb_menu a, .et-l--footer .et_pb_text_inner p a, .woocommerce-breadcrumb a, .summary-tags a, .ssrp-subhero .ssrp-crumbs a, .product_meta a, .shipping-calculator-button, .ssrp-404-help a { display: inline-block; padding-top: 3px; padding-bottom: 3px; min-height: 24px; line-height: 18px; }
/* stat numbers rendered as text (they were <h3>s, which broke heading order) */
.ssrp-display .et_pb_text_inner p, .ssrp-stat-value .et_pb_text_inner p { line-height: 1.05; margin: 0; }
.ssrp-display.et_pb_text .et_pb_text_inner p { display: inline-block; background: linear-gradient(90deg, var(--gcid-white) 0%, var(--gcid-blue-3) 79.5%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; padding-right: .08em; }
/* min 12px UI text */
.ssrp-shop-head .steps { font-size: 12px; } .pill-cat, .s-sub, .summary-pills .pill { font-size: 12px !important; }
/* focus visibility for keyboard users on the dark theme */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--gcid-sky); outline-offset: 3px; }
/* search results (search.php) */
.ssrp-search-page { padding: clamp(116px,14vh,150px) clamp(20px,6vw,72px) clamp(56px,7vw,96px); }
.ssrp-search-page .shop-wrap { max-width: 860px; }
.ssrp-search-page .ssrp-shop-head h1 { font-size: clamp(28px,4vw,46px); font-weight: 200; letter-spacing: -.025em; line-height: 1.04; margin: 0; color: var(--gcid-white); }
.ssrp-search-page .ssrp-shop-head h1 b { font-weight: 700; }
.ssrp-search-form { display: flex; gap: 10px; margin: 0 0 28px; }
.ssrp-search-form input[type=search] { flex: 1; min-width: 0; height: 52px; padding: 0 16px; background: rgba(255,255,255,.04); border: 1px solid var(--gcid-line); border-radius: 12px; color: #fff; font: 15px/1 "Barlow", sans-serif; }
.ssrp-search-form button { height: 52px; padding: 0 22px; border-radius: 999px; border: 0; background: var(--gcid-blue-5); color: #fff; font: 600 14px/1 "Barlow", sans-serif; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.ssrp-search-count, .ssrp-search-none { color: var(--gcid-gray-300); font-size: 15px; margin: 0 0 18px; }
.ssrp-search-results { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ssrp-search-result a { display: block; padding: 20px 22px; border: 1px solid var(--gcid-line); border-radius: 16px; background: linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)); text-decoration: none !important; transition: border-color .2s; }
.ssrp-search-result a:hover { border-color: rgba(255,255,255,.35); }
.ssrp-search-result__type { font: 600 11px/1 "Barlow", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--gcid-sky); }
.ssrp-search-result h2 { font: 600 20px/1.3 "Barlow", sans-serif; color: #fff; margin: 8px 0 6px; padding: 0; }
.ssrp-search-result p { color: var(--gcid-gray-300); font-size: 14.5px; line-height: 1.55; margin: 0; padding: 0; }
.ssrp-search-page .pagination, .ssrp-search-page .navigation { margin-top: 24px; }
.ssrp-search-page .nav-links { display: flex; gap: 8px; }
.ssrp-search-page .nav-links .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--gcid-line); color: #fff; text-decoration: none !important; }
.ssrp-search-page .nav-links .page-numbers.current { background: var(--gcid-blue-5); border-color: transparent; }
.ssrp-search-page .ssrp-btn--primary { display: inline-flex; align-items: center; height: 52px; padding: 0 26px; border-radius: 999px; background: var(--gcid-blue-5); color: #fff; font: 600 14px/1 "Barlow", sans-serif; text-transform: uppercase; letter-spacing: .04em; text-decoration: none !important; }
.ssrp-form .gform_wrapper .gform_footer input[type=submit], .ssrp-form .gform_wrapper .gform_footer button { color: var(--gcid-white) !important; }

/* ================= QA round: responsive polish ================= */
/* 981–1340: consistent 40px section gutters (was 16px on some sections, 80px on others); header pill aligned to the hero card */
@media (min-width: 981px) and (max-width: 1340px) {
  .et_pb_section.ssrp-section:not(.ssrp-hero):not(.ssrp-why):not(.ssrp-cta-card), .et_pb_section.ssrp-footer, .et_pb_section.ssrp-gap { padding-left: var(--gvid-number-space-3xl) !important; padding-right: var(--gvid-number-space-3xl) !important; }
  .et_pb_section.ssrp-hero, .et_pb_section.ssrp-why { width: calc(100% - var(--gvid-number-space-4xl)); }
  .et_pb_section.ssrp-cta-card { padding-left: var(--gvid-number-space-xl) !important; padding-right: var(--gvid-number-space-xl) !important; }
}
/* "Why we built this" banner: inner padding on tablet/phone + stronger scrim so copy never sits on faces unprotected */
@media (max-width: 1160px) { .et_pb_section.ssrp-why { padding-left: var(--gvid-number-space-2xl) !important; padding-right: var(--gvid-number-space-2xl) !important; } }
@media (max-width: 767px)  { .et_pb_section.ssrp-why { padding-left: var(--gvid-number-space-lg) !important; padding-right: var(--gvid-number-space-lg) !important; } }
.et_pb_section.ssrp-why::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgba(5,17,28,.78) 0%, rgba(5,17,28,.55) 45%, rgba(5,17,28,.15) 100%); border-radius: inherit; }
.et_pb_section.ssrp-why > .et_pb_row { position: relative; z-index: 1; }
/* hero hexagons: keep them out of the copy on phones */
@media (max-width: 767px) { .ssrp-hero.ssrp-hex-tr::before { width: 160px; height: 226px; right: -70px; top: -60px; opacity: .55; } .ssrp-hero.ssrp-hex-br::after { width: 160px; height: 226px; right: -60px; bottom: -70px; opacity: .55; } }
@media (max-width: 479px) { .ssrp-hero.ssrp-hex-tr::before { display: none; } }
/* buttons may wrap on narrow phones instead of overflowing the viewport */
@media (max-width: 479px) { .et_pb_button_module_wrapper, .et_pb_button { max-width: 100%; } .et_pb_button.ssrp-btn { white-space: normal; text-align: center; line-height: 1.25; height: auto; padding-top: var(--gvid-number-space-sm); padding-bottom: var(--gvid-number-space-sm); } }
/* 3-card rows on 768–980: keep three-up for the small cards, stack the tall tier/package cards */
@media (min-width: 768px) and (max-width: 980px) {
  .et_pb_row > .et_pb_column.preset--module--divi-column--gp-ssrp-column-glass { flex: 1 1 0 !important; max-width: none !important; min-width: 0; }
  .et_pb_row > .et_pb_column.ssrp-tier, .et_pb_row > .et_pb_column.ssrp-package { flex: 0 0 100% !important; max-width: 100% !important; }
  .ssrp-footer .ssrp-footer-grid > .et_pb_column:not(:first-child):not(.ssrp-credit-col) { flex: 0 0 50% !important; max-width: 50% !important; }
}
/* offerings at 768–980: media card fills the row when the aside stacks under it */
@media (min-width: 768px) and (max-width: 980px) { .ssrp-offering-split > .et_pb_column.ssrp-media-col { flex: 0 0 100% !important; max-width: 100% !important; } .ssrp_media_card.is-overlay { max-width: none; } }
/* footer bottom row on phones: credit under the copyright, both full width */
@media (max-width: 767px) { .ssrp-footer .ssrp-credit-col { flex: 0 0 100% !important; width: 100% !important; margin-left: 0; margin-top: var(--gvid-number-space-sm); } .ssrp-footer .ssrp-credit-col .ssrp-credit { justify-content: flex-start; } .ssrp-footer .ssrp-footer-grid > .et_pb_column { flex: 0 0 100% !important; max-width: 100% !important; } }
/* tier price: "$12,000 · Founder Cohort Pricing" → note in small caps under the price */
.ssrp-price-note { display: block; font-size: var(--gvid-number-text-xs); font-weight: 600; letter-spacing: var(--gvid-number-ls-button); text-transform: uppercase; color: var(--gcid-gray-300); margin-top: 6px; -webkit-text-fill-color: var(--gcid-gray-300); }
/* testimonial arrows: legible; cards fill the track */
.ssrp-tcarousel__nav button, .ssrp-tcarousel__prev, .ssrp-tcarousel__next { opacity: 1; border-color: var(--gcid-line-15); color: var(--gcid-white); }
/* getting-started dots decoration: sit behind copy, fade in from the edge */
.ssrp-proof .ssrp-proof-hex { opacity: .45; -webkit-mask-image: linear-gradient(90deg, #000 40%, transparent 100%); mask-image: linear-gradient(90deg, #000 40%, transparent 100%); }
/* 404 hex: never over the copy */
@media (max-width: 1340px) { .ssrp-404 .ssrp-contact-hex { display: none !important; } }
/* product cards: keep faces in frame */
html body #main-content ul.products li.product a img { object-position: center top; }
/* cart: notice button spacing, coupon row on phones, no shipping row for a course, glow clear of the trust list */
html body #main-content .woocommerce-message .button { margin-left: 14px; }
@media (max-width: 479px) { html body.woocommerce-cart #main-content table.cart td.actions .coupon { flex-wrap: wrap; } html body.woocommerce-cart #main-content table.cart td.actions .coupon .input-text { flex: 1 1 100%; } html body.woocommerce-cart #main-content table.cart td.actions .coupon .button, html body.woocommerce-cart #main-content table.cart td.actions button[name="update_cart"] { flex: 1 1 calc(50% - 6px); } }
html body.woocommerce-cart #main-content .cart_totals tr.woocommerce-shipping-totals, html body.woocommerce-checkout #main-content #order_review tr.woocommerce-shipping-totals { display: none; }
html body.woocommerce-cart #main-content .wc-proceed-to-checkout { margin-bottom: 8px; }
/* headings/th inside raw HTML blocks (intake portal, legal tables, Complianz) inherit Divi's #333 — force the dark-theme ink */
#page-container .et_pb_code_inner :is(h1,h2,h3,h4,h5,h6), .ssrp-legal-page :is(h1,h2,h3,h4,h5,h6,th), .cmplz-document .et_pb_text_inner :is(h1,h2,h3,h4,h5,h6,th) { color: var(--gcid-white); }
.ssrp-legal-page table, .cmplz-document .et_pb_text_inner table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ssrp-legal-page table th, .ssrp-legal-page table td, .cmplz-document .et_pb_text_inner table th, .cmplz-document .et_pb_text_inner table td { border: 1px solid var(--gcid-line); padding: 10px 12px; vertical-align: top; color: var(--gcid-gray-300); }
.ssrp-legal-page table th, .cmplz-document .et_pb_text_inner table th { background: rgba(255,255,255,.04); color: var(--gcid-white); font-weight: 600; }
@media (max-width: 600px) { .ssrp-legal-page table, .cmplz-document .et_pb_text_inner table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; } .ssrp-legal-page table th, .ssrp-legal-page table td { min-width: 140px; } }
/* Complianz blocks (cookie policy / do-not-sell) on the dark theme */
.cmplz-document .et_pb_text_inner p, .cmplz-document .et_pb_text_inner li { color: var(--gcid-gray-300); }
.cmplz-document .et_pb_text_inner a { color: var(--gcid-sky); }
.cmplz-consent-area, .cmplz-manage-consent-container, .cmplz-cookies-overview, .cmplz-dnsmpi, #cmplz-manage-consent-container { background: rgba(255,255,255,.03) !important; border: 1px solid var(--gcid-line) !important; border-radius: var(--gvid-number-radius-lg); padding: var(--gvid-number-space-lg) !important; color: var(--gcid-gray-300) !important; margin: var(--gvid-number-space-lg) 0 !important; }
.cmplz-consent-area .cmplz-categories, .cmplz-cookiebanner .cmplz-categories { color: var(--gcid-gray-300); }
.cmplz-document .et_pb_text_inner details, .cmplz-document .et_pb_text_inner details summary { color: var(--gcid-gray-300); }
.cmplz-document .et_pb_text_inner details summary { cursor: pointer; padding: 8px 0; }
.cmplz-document .et_pb_text_inner .cmplz-category summary, .cmplz-cookies-overview summary { color: var(--gcid-white); font-weight: 600; }
.cmplz-document .et_pb_text_inner input[type=checkbox] { accent-color: var(--gcid-blue-5); width: 18px; height: 18px; }
.cmplz-document .et_pb_text_inner .cmplz-btn, .cmplz-manage-consent-container .cmplz-btn { border-radius: var(--gvid-number-radius-pill); background: var(--gcid-blue-5); color: #fff; border: 0; padding: 12px 22px; font-weight: 600; }
.cmplz-document .et_pb_text_inner .cmplz-do-not-sell-personal-data + p, .cmplz-dnsmpi + p { margin-top: var(--gvid-number-space-lg); }
/* Complianz cookie-overview dropdown rows */
.et_pb_text_inner details.cmplz-dropdown { background: rgba(255,255,255,.03) !important; border: 1px solid var(--gcid-line); border-radius: var(--gvid-number-radius-md); margin: 0 0 8px; padding: 0; }
.et_pb_text_inner details.cmplz-dropdown summary.cmplz-service-header, .et_pb_text_inner .cmplz-service-header { background: transparent !important; color: var(--gcid-white); padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.et_pb_text_inner .cmplz-service-header h3, .et_pb_text_inner .cmplz-service-header .cmplz-service-name { color: var(--gcid-white); font: 600 15px/1.3 "Barlow", sans-serif; margin: 0; padding: 0; }
.et_pb_text_inner .cmplz-service-header .cmplz-service-desc, .et_pb_text_inner .cmplz-service-header span, .et_pb_text_inner .cmplz-service-header p { color: var(--gcid-gray-400) !important; font-size: 13px; }
.et_pb_text_inner details.cmplz-dropdown > div, .et_pb_text_inner details.cmplz-dropdown .cmplz-service-desc { padding: 0 14px 12px; color: var(--gcid-gray-300); }
.et_pb_text_inner details.cmplz-dropdown svg, .et_pb_text_inner .cmplz-service-header svg { fill: currentColor; color: var(--gcid-gray-300); }

/* ======================================================================
   HEADER — Institute nav design (one black pill: brand | links | actions)
   Reference: ssrpinstitute.org .ssrp-nav__inner — 1280 max, #000, 1px #374151,
   radius 999, 8px 32px padding, blur 36; links 16/600 uppercase in #030712 pills,
   hover rgba(42,172,226,.16)/#2AACE2; outlined CTA; 48px round icon button.
   ====================================================================== */
.et-l--header { position: fixed !important; top: 0; left: 0; right: 0; z-index: 500; }
body.admin-bar .et-l--header { top: 32px; }
.ssrp-header .et_pb_section { background: transparent; transition: padding .2s ease; }
.et-l--header.is-scrolled .ssrp-header .et_pb_section { padding-top: var(--gvid-number-space-nav-top-scrolled) !important; }
/* the pill = the row */
.et_pb_section .et_pb_row.ssrp-navbar { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; column-gap: var(--gvid-number-space-lg);
  max-width: var(--gvid-number-content-max-width); width: 100% !important; margin: 0 auto !important; -webkit-backdrop-filter: blur(var(--gvid-number-blur-nav-pill)); backdrop-filter: blur(var(--gvid-number-blur-nav-pill)); }
.ssrp-navbar > .et_pb_column { width: auto !important; max-width: none !important; flex: 0 0 auto !important; min-width: 0; margin: 0 !important; }
.ssrp-navbar > .et_pb_column.ssrp-nav-col--menu { flex: 1 1 auto !important; display: flex; justify-content: center; }
.ssrp-navbar > .et_pb_column.ssrp-nav-col--brand { padding-left: var(--gvid-number-space-none); }
/* brand lock-up */
.ssrp-nav-lock { display: inline-flex !important; align-items: center; gap: var(--gvid-number-space-sm) !important; flex-wrap: nowrap !important; }
.ssrp-nav-lock .et_pb_image, .ssrp-nav-lock .et_pb_image_wrap, .ssrp-nav-lock .et_pb_image a { display: block; margin: 0; line-height: 0; }
.ssrp-nav-lock .ssrp-nav-logo img { height: var(--gvid-number-nav-logo-height) !important; width: auto !important; max-width: none !important; }
.ssrp-nav-lock .ssrp-nav-sub { margin: 0; padding-left: var(--gvid-number-space-sm); border-left: var(--gvid-number-border-width) solid var(--gcid-line); }
.ssrp-nav-lock .ssrp-nav-sub .et_pb_text_inner p { margin: 0; padding: 0; line-height: 1; white-space: nowrap; }
/* links */
.ssrp-nav-menu .et_pb_menu_inner_container { padding: 0; }
.ssrp-nav-menu.et_pb_menu .et_pb_menu__wrap { padding: 0; flex: none; }
.ssrp-nav-menu .et_pb_menu__menu > nav > ul { display: flex; align-items: center; gap: 2px; flex-wrap: nowrap; }
.ssrp-nav-menu .et_pb_menu__menu > nav > ul > li { padding: 0 !important; margin: 0 !important; }
.ssrp-nav-menu .et_pb_menu__menu > nav > ul > li > a { display: inline-flex; align-items: center; height: var(--gvid-number-control-height); padding: 0 var(--gvid-number-nav-link-pad-x) !important; border-radius: var(--gvid-number-radius-pill);
  background: var(--gcid-ink); color: var(--gcid-white); opacity: 1; white-space: nowrap; transition: background .2s ease, color .2s ease; }
.ssrp-nav-menu .et_pb_menu__menu > nav > ul > li > a:hover, .ssrp-nav-menu .et_pb_menu__menu > nav > ul > li.current-menu-item > a, .ssrp-nav-menu .et_pb_menu__menu > nav > ul > li.current-menu-ancestor > a { background: var(--gcid-sky-tint); color: var(--gcid-sky-600); }
.ssrp-nav-menu .et_pb_menu__menu > nav > ul > li > a::after { display: none; }
/* actions */
.ssrp-nav-actions { display: inline-flex !important; align-items: center; gap: 2px !important; flex-wrap: nowrap !important; }   /* Institute: 2–3px between pills */
.ssrp-nav-actions .et_pb_button_module_wrapper, .ssrp-nav-actions .et_pb_image { margin: 0; }
.ssrp-nav-actions .et_pb_button.ssrp-nav-cta { height: var(--gvid-number-control-height); padding-top: 0; padding-bottom: 0; }
.ssrp-nav-actions .et_pb_button.ssrp-nav-cta:hover { background: var(--gcid-sky-tint) !important; color: var(--gcid-sky-600) !important; border-color: var(--gcid-sky) !important; }
/* icon buttons (Institute .ssrp-icon-btn): 48px round, #030712, 24px white glyph */
.ssrp-nav-actions .ssrp-nav-iconbtn { line-height: 0; }
.ssrp-nav-actions .ssrp-nav-iconbtn .et_pb_image_wrap, .ssrp-nav-actions .ssrp-nav-iconbtn a { display: inline-flex; align-items: center; justify-content: center; width: var(--gvid-number-control-height); height: var(--gvid-number-control-height); }
.ssrp-nav-actions .ssrp-nav-iconbtn a { border-radius: 50%; background: var(--gcid-ink); border: 1px solid transparent; transition: background .2s ease; }
.ssrp-nav-actions .ssrp-nav-iconbtn a:hover { background: var(--gcid-sky-tint); }
.ssrp-nav-actions .ssrp-nav-iconbtn img { width: 24px !important; height: 24px !important; max-width: none; }
/* hamburger (Institute: 48px round dark button, three white lines) */
.ssrp-nav-menu .et_mobile_nav_menu { display: none; position: static !important; }
.ssrp-nav-menu .mobile_menu_bar { display: inline-flex; align-items: center; justify-content: center; width: var(--gvid-number-control-height); height: var(--gvid-number-control-height); border-radius: 50%; background: var(--gcid-ink); border: 1px solid var(--gcid-line); cursor: pointer; padding: 0; }
.ssrp-nav-menu .mobile_menu_bar::before { color: var(--gcid-white); font-size: 26px; line-height: 1; top: auto; left: auto; position: static; }
/* section side padding (pill is 1280 wide, 80px gutters at 1440 like the Institute) */
@media (max-width: 1340px) { .ssrp-header .et_pb_section { padding-left: var(--gvid-number-space-xl) !important; padding-right: var(--gvid-number-space-xl) !important; } }
@media (max-width: 1400px) { .ssrp-nav-menu .et_pb_menu__menu > nav > ul > li > a { padding: 0 var(--gvid-number-space-md) !important; } .et_pb_section .et_pb_row.ssrp-navbar { column-gap: var(--gvid-number-space-sm); } }
/* small desktop 1101–1300: keep the desktop pill but drop the two icon buttons and tighten link padding so nothing collides */
@media (min-width: 1161px) and (max-width: 1300px) {
  .ssrp-nav-actions .ssrp-nav-iconbtn { display: none; }
  .ssrp-nav-menu .et_pb_menu__menu > nav > ul > li > a { padding: 0 14px !important; }
  .et_pb_section .et_pb_row.ssrp-navbar { column-gap: var(--gvid-number-space-xs); padding-left: var(--gvid-number-space-xl) !important; padding-right: var(--gvid-number-space-sm) !important; }
  .ssrp-header .et_pb_section { padding-left: var(--gvid-number-space-lg) !important; padding-right: var(--gvid-number-space-lg) !important; }
}
/* ≤1160: hamburger + off-canvas drawer (Institute mobile pattern) */
@media (max-width: 1160px) {
  .ssrp-header .et_pb_section { padding-left: var(--gvid-number-space-md) !important; padding-right: var(--gvid-number-space-md) !important; }
  .et_pb_section .et_pb_row.ssrp-navbar { padding-left: var(--gvid-number-space-md) !important; padding-right: var(--gvid-number-space-xs) !important; }
  .ssrp-navbar > .et_pb_column.ssrp-nav-col--actions { display: none; }
  .ssrp-navbar > .et_pb_column.ssrp-nav-col--menu { flex: 0 0 auto !important; justify-content: flex-end; }
  .ssrp-nav-menu .et_pb_menu__menu { display: none !important; }
  .ssrp-nav-menu .et_mobile_nav_menu { display: block !important; }
  .ssrp-nav-lock .ssrp-nav-logo img { height: 40px !important; }
  /* drawer */
  .ssrp-nav-menu .et_mobile_menu, .ssrp-drawer .et_mobile_menu { position: fixed !important; top: 0 !important; left: 0 !important; bottom: 0; right: auto !important; width: min(360px, 88vw) !important; max-height: none !important; overflow-y: auto; margin: 0; padding: var(--gvid-number-space-lg) var(--gvid-number-space-lg) var(--gvid-number-space-xl) !important;
    background: var(--gcid-nav-black) !important; border: 0 !important; border-right: 1px solid var(--gcid-line) !important; border-radius: 0 !important; box-shadow: 24px 0 60px rgba(0,0,0,.6); z-index: 700; transform: translateX(-104%); transition: transform .28s ease; display: block !important; visibility: hidden; }
  body.ssrp-drawer-open .ssrp-drawer .et_mobile_menu { transform: none; visibility: visible; }
  .ssrp-nav-menu .et_mobile_menu::before { content: ""; display: block; height: 40px; margin: 0 0 var(--gvid-number-space-lg); background: url("../img/ssrp-logo-horizontal-white.png") no-repeat left center / auto 40px; border-bottom: 1px solid var(--gcid-line); padding-bottom: 20px; box-sizing: content-box; }
  .ssrp-nav-menu .et_mobile_menu li { padding: 0; margin: 0 0 8px; }
  .ssrp-nav-menu .et_mobile_menu li a { display: flex; align-items: center; min-height: 52px; padding: 0 var(--gvid-number-space-md) !important; border: 0 !important; border-radius: var(--gvid-number-radius-md); background: var(--gcid-ink); color: var(--gcid-white); font: 600 var(--gvid-number-text-sm)/1.2 "Barlow", sans-serif; text-transform: uppercase; letter-spacing: var(--gvid-number-ls-nav); }
  .ssrp-nav-menu .et_mobile_menu li a:hover, .ssrp-nav-menu .et_mobile_menu li.current-menu-item > a { background: var(--gcid-sky-tint); color: var(--gcid-sky-600); }
  .ssrp-nav-menu .et_mobile_menu li.menu-cta { margin-top: var(--gvid-number-space-xl); padding-top: var(--gvid-number-space-lg); border-top: 1px solid var(--gcid-line); }
  .ssrp-nav-menu .et_mobile_menu li.menu-cta > a { justify-content: center; background: transparent; border: 1px solid var(--gcid-sky) !important; color: var(--gcid-sky-600); border-radius: var(--gvid-number-radius-pill); }
  .ssrp-nav-menu .et_mobile_menu li.menu-account > a { justify-content: center; border-radius: var(--gvid-number-radius-pill); }
  .ssrp-drawer-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 650; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
  body.ssrp-drawer-open .ssrp-drawer-backdrop { opacity: 1; pointer-events: auto; }
  .ssrp-drawer-close { position: fixed; top: 18px; left: calc(min(360px, 88vw) - 56px); z-index: 710; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--gcid-line); background: var(--gcid-ink); color: var(--gcid-white); display: none; align-items: center; justify-content: center; cursor: pointer; }
  body.ssrp-drawer-open .ssrp-drawer-close { display: inline-flex; }
  body.ssrp-drawer-open { overflow: hidden; }
}
@media (max-width: 359px) { .ssrp-nav-lock .ssrp-nav-sub { display: none; } }

/* drawer lives in <body> (portaled) — same styling as inside the menu module */
@media (max-width: 1160px) {
  .ssrp-drawer .et_mobile_menu::before { content: ""; display: block; height: 40px; margin: 0 0 var(--gvid-number-space-lg); background: url("../img/ssrp-logo-horizontal-white.png") no-repeat left center / auto 40px; border-bottom: 1px solid var(--gcid-line); padding-bottom: 20px; box-sizing: content-box; }
  .ssrp-drawer .et_mobile_menu { list-style: none; }
  .ssrp-drawer .et_mobile_menu li { padding: 0; margin: 0 0 8px; list-style: none; }
  .ssrp-drawer .et_mobile_menu li a { display: flex; align-items: center; min-height: 52px; padding: 0 var(--gvid-number-space-md) !important; border: 0 !important; border-radius: var(--gvid-number-radius-md); background: var(--gcid-ink); color: var(--gcid-white); font: 600 var(--gvid-number-text-sm)/1.2 "Barlow", sans-serif; text-transform: uppercase; letter-spacing: var(--gvid-number-ls-nav); text-decoration: none; }
  .ssrp-drawer .et_mobile_menu li a:hover, .ssrp-drawer .et_mobile_menu li.current-menu-item > a { background: var(--gcid-sky-tint); color: var(--gcid-sky-600); }
  .ssrp-drawer .et_mobile_menu li.menu-cta { margin-top: var(--gvid-number-space-xl); padding-top: var(--gvid-number-space-lg); border-top: 1px solid var(--gcid-line); }
  .ssrp-drawer .et_mobile_menu li.menu-cta > a { justify-content: center; background: transparent; border: 1px solid var(--gcid-sky) !important; color: var(--gcid-sky-600); border-radius: var(--gvid-number-radius-pill); }
  .ssrp-drawer .et_mobile_menu li.menu-account > a, .ssrp-drawer .et_mobile_menu li.menu-cart > a { justify-content: center; border-radius: var(--gvid-number-radius-pill); }
}
@media (min-width: 1161px) { .ssrp-drawer { display: none; } }
/* (restored after the header rewrite) contrast-safe fills for GF submit + WC account buttons */
.ssrp-form .gform_wrapper .gform_footer input[type=submit], .ssrp-form .gform_wrapper .gform_footer button,
.woocommerce-account .woocommerce-form-login .button, .woocommerce-account .woocommerce-MyAccount-content .button, .woocommerce-cart .return-to-shop .button { background-color: var(--gcid-blue-5) !important; color: var(--gcid-white) !important; }
.ssrp-tier .ssrp-flag .et_pb_text_inner p::after { background: var(--gcid-blue-5); }
/* buttons: Divi's :hover rules change line-height (22.4px → 16px), which makes the label jump; pin it in both states. Nav CTA: no lift/brightness either. */
.et_pb_button.ssrp-btn, .et_pb_button.ssrp-btn:hover, .et_pb_button.ssrp-btn:focus { line-height: 1 !important; }
.ssrp-nav-actions .et_pb_button.ssrp-nav-cta, .ssrp-nav-actions .et_pb_button.ssrp-nav-cta:hover { transform: none !important; filter: none !important; transition: background .2s ease, color .2s ease, border-color .2s ease; }
/* utility bar above the pill: prod's "← Back to the SSRP Institute" (left) + login status (right); collapses on scroll so the pill rides to the top */
.et_pb_section .et_pb_row.ssrp-nav-util { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; max-width: var(--gvid-number-content-max-width); width: 100% !important; margin: 0 auto var(--gvid-number-space-xs) !important; min-height: 18px; overflow: hidden; transition: max-height .25s ease, opacity .2s ease, margin .25s ease; max-height: 40px; }
.ssrp-nav-util > .et_pb_column { width: auto !important; max-width: none !important; flex: 1 1 0 !important; margin: 0 !important; }
.ssrp-nav-util > .et_pb_column:last-child { text-align: right; }
.ssrp-nav-util .et_pb_text_inner p, .ssrp-nav-util .ssrp-login-status { margin: 0; padding: 0; font: 500 var(--gvid-number-text-2xs)/1 "Barlow", sans-serif; letter-spacing: .01em; color: var(--gcid-gray-400); white-space: nowrap; }
.ssrp-nav-util a { color: var(--gcid-gray-400); text-decoration: none !important; transition: color .2s ease; }
.ssrp-nav-util a:hover, .ssrp-nav-util a:focus-visible { color: var(--gcid-white); }
.ssrp-nav-util .ssrp-login-status strong { color: var(--gcid-gray-300); font-weight: 600; }
.ssrp-nav-util .ssrp-login-status__sep { opacity: .5; margin: 0 2px; }
.ssrp-nav-util .et_pb_code_inner { line-height: 1; }
.et-l--header.is-scrolled .et_pb_row.ssrp-nav-util { max-height: 0; min-height: 0; opacity: 0; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; pointer-events: none; }
@media (max-width: 1160px) { .ssrp-nav-util { padding-left: var(--gvid-number-space-sm) !important; padding-right: var(--gvid-number-space-sm) !important; } }
@media (max-width: 767px) { .ssrp-nav-util > .et_pb_column:last-child { display: none; } }   /* phones: back-link only */
/* drawer close button exists in the DOM on every width — keep it hidden except while the drawer is open (≤1160) */
.ssrp-drawer-close { display: none; }
/* footer Divi menu modules must never grow a hamburger (rule was lost in the header rewrite) */
.et-l--footer .et_mobile_nav_menu, .et-l--footer .mobile_menu_bar { display: none !important; }
.et-l--footer .et_pb_menu__menu { display: block !important; }
