/* ============================================================================
   GREEN INTEGRATIONS — SHARED RESPONSIVE SYSTEM  (v2)
   responsive.css  ·  load AFTER colors_and_type.css, BEFORE page style.html
   ----------------------------------------------------------------------------
   SCOPE (v2): this file handles ONLY
     (1) structural-split stacking  — asymmetric layouts that must go 1-column
     (2) fluid responsive typography — clamp()-based, full range incl. 4K
     (3) nav desktop->hamburger
     (4) container max-width ceiling + fluid padding

   It deliberately does NOT try to override symmetric card grids. Those are
   fixed at the source in JSX via auto-fit (see RESPONSIVE_PLAN_v2.md, Bucket 1),
   which is why this file is short and has far less !important than v1.

   !important is used only on Bucket-2 hooks and type, because those target
   elements whose inline style sets the desktop value. Equal-specificity source
   order isn't enough against inline styles, hence !important on these few hooks.
   ============================================================================ */

/* :root {
  --gi-container-max: 1440px;
  --gi-container-pad: clamp(20px, 4vw, 48px); */

  /* Fluid type — continuous from mobile min to desktop-capped max (no 4K creep) */
  /* --gi-t-h1: clamp(32px, 2.2vw + 24px, 56px);   --gi-t-h1-lh: 1.1;
  --gi-t-h2: clamp(26px, 2.0vw + 18px, 48px);   --gi-t-h2-lh: 1.14;
  --gi-t-h3: clamp(19px, 0.4vw + 17px, 24px);   --gi-t-h3-lh: 1.3;
  --gi-t-body: clamp(15px, 0.2vw + 14px, 17px); --gi-t-body-lh: 1.6;
} */

/* --- Container: fluid padding + 4K ceiling. Hook is widely present already. - */
/* [data-gi-resp="container"] {
  max-width: var(--gi-container-max);
  margin-left: auto; margin-right: auto;
  padding-left: var(--gi-container-pad);
  padding-right: var(--gi-container-pad);
} */

/* --- Fluid typography (covers entire range; no per-breakpoint type rules) --- */
/* #root h1 { font-size: var(--gi-t-h1) !important; line-height: var(--gi-t-h1-lh) !important; }
#root h2 { font-size: var(--gi-t-h2) !important; line-height: var(--gi-t-h2-lh) !important; }
#root h3 { font-size: var(--gi-t-h3) !important; line-height: var(--gi-t-h3-lh) !important; }
#root p  { font-size: var(--gi-t-body) !important; line-height: var(--gi-t-body-lh) !important; } */

/* Hero / CTA headline variants that intentionally diverge from the base scale */
/* #root [data-gi-resp="hero-split"] h1 { font-size: clamp(32px, 3vw + 20px, 56px) !important; }
#root [data-gi-resp="final-cta"]  h2 { font-size: clamp(30px, 3.4vw + 18px, 72px) !important; } */

/* Hamburger hidden on desktop; shown when nav links hide (below) */
/* [data-gi-resp="nav-hamburger"] { display: none; } */

/* ============================================================================
   STRUCTURAL BREAKPOINTS — Bucket 2 only. These hooks carry asymmetric inline
   grids in JSX; here we stack them. We do NOT touch symmetric card grids.
   ============================================================================ */

/* === TABLET / NARROW — <=1024px ========================================== */
@media (max-width: 1024px) {

  .gi-section-head {
    grid-template-columns: 1fr !important;
    gap: 28px !important; align-items: start !important;
  }
  .gi-section-head > p { max-width: 640px !important; padding-bottom: 0 !important; }

  /* Nav -> hamburger */
  [data-gi-resp="nav-primary-links"] { display: none !important; }
  [data-gi-resp="nav-utility"]       { display: none !important; }
  [data-gi-resp="nav-hamburger"]     { display: inline-flex !important; }
  [data-gi-resp="nav-primary"]       { grid-template-columns: 1fr auto !important; gap: 20px !important; }

  /* Hero + featured + proof splits stack */
  [data-gi-resp="hero-split"]    { grid-template-columns: 1fr !important; gap: 48px !important; }
  [data-gi-resp="hero-image"]    { height: 480px !important; }
  [data-gi-resp="featured-head"] { grid-template-columns: 1fr !important; gap: 32px !important; }
  [data-gi-resp="featured-body"] { grid-template-columns: 1fr !important; gap: 24px !important; }
  [data-gi-resp="featured-image"]{ height: 440px !important; }
  [data-gi-resp="proof-split"]   { grid-template-columns: 1fr !important; gap: 48px !important; }
  [data-gi-resp="proof-image"]   { height: 480px !important; }
  [data-gi-resp="approach-split"]{ grid-template-columns: 1fr !important; gap: 40px !important; }
  [data-gi-resp="faq-split"]     { grid-template-columns: 1fr !important; gap: 40px !important; }

  /* Energy audits — benefits closing band (text + CTA split) */
  [data-gi-resp="audit-benefits-closing"] {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  [data-gi-resp="audit-benefits-closing"] > div:last-child {
    justify-content: flex-start !important;
  }

  /* Industries editorial row -> compact stacked grid-areas */
  [data-gi-resp="industry-row"] {
    grid-template-columns: 48px 1fr auto !important;
    grid-template-areas: "num title arrow" ". body body" ". meta meta" !important;
    row-gap: 14px !important;
  }
  [data-gi-resp="industry-row"] > *:nth-child(1) { grid-area: num !important; }
  [data-gi-resp="industry-row"] > *:nth-child(2) { grid-area: title !important; }
  [data-gi-resp="industry-row"] > *:nth-child(3) { grid-area: body !important; max-width: none !important; }
  [data-gi-resp="industry-row"] > *:nth-child(4) { grid-area: meta !important; }
  [data-gi-resp="industry-row"] > *:nth-child(5) { grid-area: arrow !important; justify-self: end !important; }

  /* Testimonials v3 quote/meta split */
  [data-gi-resp="testimonial-card"] { grid-template-columns: 1fr !important; gap: 40px !important; padding: 48px !important; }
  [data-gi-resp="testimonial-card"] > div:last-child {
    border-left: 0 !important; padding-left: 0 !important;
    border-top: 1px solid rgba(15,33,51,0.14) !important; padding-top: 32px !important;
  }

  [data-gi-resp="partners-band-grid"] { grid-template-columns: 1fr !important; gap: 32px !important; }
  [data-gi-resp="footer-top"]  { grid-template-columns: 1fr !important; gap: 40px !important; }
}

/* === MOBILE — <=900px ==================================================== */
@media (max-width: 900px) {

  [data-gi-resp="sol-tag-strip"]  { display: none !important; }
  [data-gi-resp="ind-index"]      { display: none !important; }
  [data-mfg-hero-grid]            { grid-template-columns: 1fr !important; }

  [data-gi-resp="hero-image"]     { height: 320px !important; }
  [data-gi-resp="hero-meta"]      { grid-template-columns: 1fr !important; gap: 8px !important; }
  [data-gi-resp="hero-meta"] > *  { padding-left: 0 !important; }
  [data-gi-resp="featured-image"] { height: 280px !important; }
  [data-gi-resp="proof-image"]    { height: 320px !important; }
  [data-gi-resp="testimonial-card"] { padding: 32px 24px !important; }

  [data-gi-resp="footer-bottom"] {
    flex-direction: column !important; align-items: flex-start !important; gap: 16px !important;
  }

  /* FAQ rows tighten */
  [data-gi-resp="faq-trigger"], [data-gi-resp="faq-answer-inner"] {
    grid-template-columns: 44px 1fr 28px !important; gap: 14px !important;
  }
  [data-gi-resp="faq-trigger"] { padding: 24px 0 !important; }

  /* Final CTA: stack buttons full-width */
  [data-gi-resp="final-cta"] [style*="display: flex"][style*="flex-wrap"] {
    flex-direction: column !important; align-items: stretch !important; gap: 12px !important;
  }
  [data-gi-resp="final-cta"] a, [data-gi-resp="final-cta"] button { justify-content: center !important; }

  [data-gi-resp="industry-row"] { grid-template-columns: 36px 1fr auto !important; padding: 24px 0 !important; }

  /* Section vertical rhythm — global 48px on mobile (hero excluded: it relies on its inner container for vertical spacing) */
  section[data-gi-resp]:not([data-gi-resp="hero"]) {
    padding-top: 48px !important; padding-bottom: 48px !important;
  }

  [data-gi-resp="audit-levels-stats"] {
    padding: 20px 24px !important;
  }

  [data-gi-resp="audit-levels-stats"] > div > div {
    align-items: center !important;
  }

  [data-gi-resp="audit-levels-stats"] > div > div > span:first-child {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  [data-gtm-event="cta_click"] {
    justify-content: center !important;
  }

  [data-gi-resp="audit-industries-cta"] {
    grid-template-columns: 1fr !important;
  }

  [data-gi-resp="audit-industries-cta"] > div {
    flex-direction: column !important;
  }

  #root [style*="justify-content: space-between"][style*="gap: 96px"], [data-sol-benefits-head] {
        margin-bottom: 32px !important;
  }

  [data-gi-resp="audit-benefits-card"] {
    min-height: auto !important;
  }

  [data-gi-resp="audit-benefits-card"] h3 {
    min-height: auto !important;
  }

  [data-gi-resp="audit-benefits-card-stat"] {
    min-height: auto !important;
    font-size: 24px !important;
  }

  [data-gi-resp="audit-benefits-card-stat-row"] {
    margin-bottom: 24px !important;
    min-height: auto !important;
  }

  .audit-fin-mobile {
    padding: 48px 0 !important;
  }

  [data-gi-resp="audit-process-steps"] {
    margin-top: 48px !important;
  }

  [data-gi-resp="audit-process-steps"] > div {
    gap: 40px !important;
  }

  [data-gi-resp="audit-process-steps"] > div > div {
    padding-right: 0 !important;
  }

  [data-gi-resp="audit-benefits-closing"] {
    margin-top: 36px !important;
    padding-top: 24px !important;
  }
  [data-gi-resp="audit-benefits-closing"] > div:last-child {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  [data-gi-resp="audit-benefits-closing"] > div:last-child > a,
  [data-gi-resp="audit-benefits-closing"] > div:last-child > button {
    justify-content: center !important;
    white-space: normal !important;
  }

  [data-gi-resp="audit-process-cta"] {
    margin-top: 36px !important;
  }

  [data-gi-resp="audit-levels-financial-head"] {
    margin-bottom: 48px !important;
  }

  [data-gi-resp="audit-levels-grid-header"] {
    display: none !important;
  }

  [data-gi-resp="audit-industries-cta"] {
    margin-top: 48px !important;
  }

  [data-gi-resp="faq-trigger"] {
    grid-template-columns: 1fr 24px !important;
  }

  [data-gi-resp="faq-trigger"] span:first-child {
    display: none !important;
  }

  [data-gi-resp="faq-answer-inner"] {
    grid-template-columns: 0 1fr 0 !important;
  }

  [data-gi-resp="audit-levels-grid-item"] {
    row-gap: 24px !important;
  }

  [data-gi-resp="featured-body"],
  [data-gi-resp="projects-grid"] {
    margin-top: 36px;
  }

  [data-gi-resp="proof"].gi-section.gi-section--light {
    padding-bottom: 0 !important;
  }

  [data-gi-resp="proof-metrics"] {
    margin-top: 0 !important;
    border: 0 !important;
  }

  [data-gi-resp="proof-metrics"] > div > div:first-child {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  [data-gi-resp="projects-grid"],
  [data-gi-resp="pillars-grid"],
  [data-gi-resp="faq-grid"],
  [data-gi-resp="featured-body"],
  [data-gi-resp="featured-narrative"],
  [data-gi-resp="incentives-grid"] {
    margin-top: 48px !important;
  }

  [data-gi-resp="process-rail-node"] {
    display: none !important;
  }

  [data-gi-resp="process-rail"] > div {
    padding-top: 0 !important;
  }

  [data-gi-resp="process-grid"] > div {
    padding-right: 0 !important;
  }

  [data-gi-resp="process-grid"] > div:not(:last-child) {
    margin-bottom: 48px !important;
  }

  [data-gi-resp="process-grid-item"] {
    min-height: auto !important;
  }

  [data-gi-resp="pillars-grid-item"] {
    min-height: auto !important;
  }

  [data-gi-resp="audit-closing-cta-buttons"] {
    align-items: stretch !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }

  [data-gi-resp="sol-faq-head"] {
    margin-bottom: 48px !important;
  }

  #root [data-gi-resp="footer"] [data-gi-resp="footer-top"] > [data-gi-resp="footer-accred-grid"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  [data-gi-resp="bess-faq-head"],
  [data-gi-resp="sol-related-body"],
  [data-gi-resp="sol-featured-head"] {
    margin-bottom: 32px !important;
  }

  .tm {
    padding: 48px 24px !important;
  }

  [data-sol-process-head] {
    padding: 0 !important;
  }

  [data-gi-resp="bess-in-practice-categories"] {
    display: none !important;
  }

  [data-gi-resp="bess-testimonial-body"] {
    font-size: 24px !important;
    line-height: 32px !important;
    margin-bottom: 24px !important;
  }

  [data-gi-resp="ev-levels-note"] {
    grid-template-columns: 1fr !important;
  }

  [data-gi-resp="ev-integrated-projects-cta"] {
    display: block !important;
    text-align: center !important;
  }

  [data-gi-resp="ev-process-deliv"] {
    grid-template-columns: 1fr !important;
  }

  html body #root [data-gi-resp="led-featured-blocks"],
  html body #root [data-gi-resp="led-featured-stats"] {
    padding: 0 24px !important;
    gap: 0 !important;
  }

  html body #root [data-gi-resp="led-featured-stats"] > div > div > span {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  [data-gi-resp="om-in-practice-chart"] {
    min-height: auto !important;
    padding: 28px 24px !important;
  }

  [data-gi-resp="om-in-practice-block"] {
    padding: 24px 24px !important;
  }

  [data-gi-resp="container projects-hero-header"] {
    display: none !important;
  }

  [data-gi-resp="container projects-hero"] {
    padding: 24px 24px !important;
  }

  .gi-pj-proof {
    gap: 34px;
  }

  [data-gi-resp="projects-hero-proof-item"] {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 0 !important;
    flex-direction: column;
  }

  [data-gi-resp="projects-hero-proof-item"] > div:first-child {
    margin-bottom: 0 !important;
  }

  [data-gi-resp="featured-section-header"] {
    display: none !important;
  }

  [data-gi-resp="featured-section-content"] {
    padding: 24px 24px !important;
  }

  [data-gi-resp="featured-section-stats"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
  }

  [data-gi-resp="featured-section-stats"] > div {
    padding: 0 !important;
  }

  .gi-pj-grid {
    gap: 24px !important;
  }

  [data-gi-resp="snapshot"] {
    position: relative !important;
    top: 0 !important;
  }

  [data-gi-resp="sp00-page-header"] {
    padding: 24px 0px 0px !important;
  }

  [data-gi-resp="sp00-page-header-breadcrumb"] {
    margin-bottom: 0 !important;
  }

  [data-gi-resp="sp00-page-header-hero-image"] {
    padding: 0 !important;
  }

  #root h1[data-gi-resp="sp00-page-header-headline"] {
    font-size: 32px !important;
    line-height: 38px !important;
  }

  [data-gi-resp="sp05-environmental-impact"] {
    margin: 32px 0 !important;
  }

  [data-gi-resp="sp05-environmental-impact-content"] {
    padding: 24px !important;
    grid-template-columns: 1fr !important;
  }

  [data-gi-resp="sp08-equipment-grid"] {
    grid-template-columns: 1fr !important;
  }

  [data-gi-resp="sp08-equipment-grid-item"] {
    padding: 24px !important;
  }

  [data-gi-resp="sp07-operational-context-item"] {
    grid-template-columns: auto 1fr !important;
  }

  [data-gi-resp="more-projects-grid"] a {
    margin-bottom: 32px;
  }

  [data-gi-resp="more-projects-grid-stats"] {
    grid-template-columns: 1fr 1fr !important;
  }

  [data-gi-resp="closing-cta-body"] {
    font-size: 24px !important;
    line-height: 32px !important;
  }

  [data-gi-resp="closing-cta-primary-button"] {
    width: 100%;
  }

  [data-gi-resp="closing-cta-secondary-button"] {
    width: 100%;
    padding: 12px 0;
  }

  [data-gi-resp="closing-cta-list"] {
    border-left: none !important;
    padding-left: 0 !important;
  }

  [data-gi-resp="ev-integrated-mobile"] {
    margin-bottom: 32px;
  }

  [data-gi-resp="nav-mobile-cta"] {
    width: 100%;
  }

  [data-gi-resp="mfg-hero-grid"] {
    padding-top: 0 !important;
  }

  [data-gi-resp="industries-hero-cta"] {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  [data-gi-resp="industries-hero-cta"] a {
    width: 100% !important;
  }

  [data-gi-resp="industries-hero-numeral"] {
    top: -50px !important;
    font-size: 60px !important;
  }

  [data-gi-resp="container mfg-hero-cover"] {
    padding: 0 24px !important;
  }

  [data-mfg-hero-grid="true"] {
    padding: 0 !important;
  }

  /* Industries Reality Cards — all six industry pages */
  [data-gi-resp="mfg-reality-card"],
  [data-gi-resp="whs-reality-card"],
  [data-gi-resp="fnb-reality-card"],
  [data-gi-resp="agri-reality-card"],
  [data-gi-resp="cre-reality-card"],
  [data-gi-resp="mun-reality-card"] {
    gap: 0px !important;
  }

  [data-gi-resp="mfg-incentives-grid"],
  [data-gi-resp="whs-incentives-grid"],
  [data-gi-resp="fnb-incentives-grid"],
  [data-gi-resp="agri-incentives-grid"],
  [data-gi-resp="cre-incentives-grid"],
  [data-gi-resp="mun-incentives-grid"] {
    margin-top: 32px !important;
  }

  /* Industries Incentives */
  [data-gi-resp="mfg-incentive-row-numeral"],
  [data-gi-resp="whs-incentive-row-numeral"],
  [data-gi-resp="fnb-incentive-row-numeral"],
  [data-gi-resp="agri-incentive-row-numeral"],
  [data-gi-resp="cre-incentive-row-numeral"],
  [data-gi-resp="mun-incentive-row-numeral"] {
    display: none !important;
  }

  #root [data-gi-resp="mfg-slider-tabs"],
  #root [data-gi-resp="whs-slider-tabs"],
  #root [data-gi-resp="fnb-slider-tabs"],
  #root [data-gi-resp="agri-slider-tabs"],
  #root [data-gi-resp="cre-slider-tabs"],
  #root [data-gi-resp="mun-slider-tabs"] {
    flex-wrap: nowrap !important;
    overflow: auto !important;
  }

  #root [data-gi-resp="mfg-slider-tabs"] button,
  #root [data-gi-resp="whs-slider-tabs"] button,
  #root [data-gi-resp="fnb-slider-tabs"] button,
  #root [data-gi-resp="agri-slider-tabs"] button,
  #root [data-gi-resp="cre-slider-tabs"] button,
  #root [data-gi-resp="mun-slider-tabs"] button {
    flex: 1 0 auto !important;
    padding-left: 14px !important;
  }

  [data-gi-resp="mfg-slider-tabs"] button span,
  [data-gi-resp="whs-slider-tabs"] button span,
  [data-gi-resp="fnb-slider-tabs"] button span,
  [data-gi-resp="agri-slider-tabs"] button span,
  [data-gi-resp="cre-slider-tabs"] button span,
  [data-gi-resp="mun-slider-tabs"] button span {
    display: block !important;
    width: 100% !important;
  }
  
  [data-gi-resp="mfg-subsectors-cta-buttons"] a,
  [data-gi-resp="whs-subsectors-cta-buttons"] a,
  [data-gi-resp="fnb-subsectors-cta-buttons"] a,
  [data-gi-resp="agri-subsectors-cta-buttons"] a,
  [data-gi-resp="cre-subsectors-cta-buttons"] a,
  [data-gi-resp="mun-subsectors-cta-buttons"] a {
    width: 100% !important;
  }

  [data-gi-resp="mfg-discovery-cta"] span,
  [data-gi-resp="whs-discovery-cta"] span,
  [data-gi-resp="fnb-discovery-cta"] span,
  [data-gi-resp="agri-discovery-cta"] span,
  [data-gi-resp="cre-discovery-cta"] span,
  [data-gi-resp="mun-discovery-cta"] span {
    text-align: center !important;
    width: 100% !important;
    padding: 10px 0 !important;
  }
  [data-gi-resp="mfg-discovery-cta"] a,
  [data-gi-resp="whs-discovery-cta"] a,
  [data-gi-resp="fnb-discovery-cta"] a,
  [data-gi-resp="agri-discovery-cta"] a,
  [data-gi-resp="cre-discovery-cta"] a,
  [data-gi-resp="mun-discovery-cta"] a {
    width: 100% !important;
  }

  [data-gi-resp="mfg-closing-cta-buttons"],
  [data-gi-resp="whs-closing-cta-buttons"],
  [data-gi-resp="fnb-closing-cta-buttons"],
  [data-gi-resp="agri-closing-cta-buttons"],
  [data-gi-resp="cre-closing-cta-buttons"],
  [data-gi-resp="mun-closing-cta-buttons"] {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  [data-gi-resp="mfg-closing-cta-no-commitment"],
  [data-gi-resp="whs-closing-cta-no-commitment"],
  [data-gi-resp="fnb-closing-cta-no-commitment"],
  [data-gi-resp="agri-closing-cta-no-commitment"],
  [data-gi-resp="cre-closing-cta-no-commitment"],
  [data-gi-resp="mun-closing-cta-no-commitment"] {
    text-align: center !important;
    width: 100% !important;
  }

  #root section[data-gi-resp="blog-header"] {
    padding-bottom: 0 !important;
  }

  .gi-blog-tabs {
    max-width: unset !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
    overflow: auto !important;
  }

  .gi-blog-tabs button {
    padding: 12px 14px !important;
    width: auto !important;
    flex: 1 1 100% !important;
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important; /* Prevent text wrapping */
  }

  .gi-featured-card > div:last-child {
    padding: 48px 24px !important;
  }

  [data-gi-resp="variant-grid-label"] {
    margin-top: 0 !important;
  }

  [data-gi-resp="featured-panel"] {
    padding: 40px 0 0 !important;
  }

  .gi-prose h2 {
    margin: 0 0 14px !important;
    scroll-margin-top: 0 !important;
  }

  #root section[data-gi-resp="hero"] {
    padding-bottom: 48px !important;
  }

  #root section[data-gi-resp="hero"] > [data-gi-resp="container"] {
    margin: 0 auto !important;
    padding-top: 32px !important;
  }

  [data-gi-resp="how-stacking-grid"] {
    margin-top: 48px !important;
  }

  [data-gi-resp="how-stacking-row-body"] {
    padding: 32px 24px !important;
  }

  [data-gi-resp="how-stacking-row-header"] {
    padding: 32px 24px !important;
  }

  [data-gi-resp="stacking-callout"] {
    margin-top: 48px !important;
    padding: 48px 24px !important;
  }

  [data-gi-resp="federal-programs-grid"] {
    margin-top: 48px !important;
  }

  [data-gi-resp="program-row"] {
    padding: 32px 0px 32px 24px !important;
  }

  [data-screen-label="04 Federal"] [data-gi-resp="program-row"] > div > div:first-child {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  [data-screen-label="05 Ontario"] [data-gi-resp="program-row"] > div > div:last-child {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  [data-gi-resp="provinces-split-col"] {
    padding: 48px 24px !important;
  }

  [data-gi-resp="change-warning-grid"] {
    grid-template-columns: 1fr !important;
  }

  [data-gi-resp="faq-grid"] {
    margin-top: 48px !important;
  }

  #root button[data-gi-resp="faq-trigger"] {
    grid-template-columns: 1fr 28px !important;
    align-items: center !important;
  }

  #root div.gi-faq-answer div.gi-faq-answer-inner {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  [data-gi-resp="container hero-container"] {
    padding: 0 24px !important;
  }

  [data-gi-resp="hero-cta-buttons"] a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  [data-gi-resp="pp-how-steps"] {
    margin-top: 48px !important;
  }

  #root section[data-gi-resp="pp-services"] [data-gi-resp="pp-cards-3"] > a.gi-pp-svc-card {
    padding: 32px 24px !important;
  }

  [data-gi-resp="capital-strategy-cta-1"] {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
  
  [data-gi-resp="capital-strategy-cta-2"] {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  [data-gi-resp="hero our-story-hero"] {
    padding-top: 12px !important;
  }

  [data-gi-resp="container our-story-hero-container"] {
    padding: 0 24px !important;
  }

  [data-gi-resp="hero-cta-buttons"] a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  [data-gi-resp="os-proof-strip"] {
    display: none !important;
  }

  [data-gi-resp="approach-eyebrow"] {
    margin-bottom: 24px !important;
  }

  [data-gi-resp="approach-cta"] {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .gi-section-head {
    margin-bottom: 32px !important;
  }

  #root section[data-gi-resp="os-industries"] [data-gi-resp="industries-grid"] a.os-industry-tile {
    padding: 36px 24px !important;
  }

  [data-gi-resp="os-industries-logos-head"] {
    gap: 36px !important;
    flex-direction: column !important;
  }

  [data-gi-resp="os-industries-logos-head"] span {
    display: none !important;
  }
  
  [data-gi-resp="os-industries-logos-head"] a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  [data-gi-resp="team-intro"] {
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-bottom: 48px !important;
  }

  .os-portrait {
    margin: 0 !important;
  }

  #root section[data-screen-label="05 What The Partner Gets"][data-gi-resp="benefits"] {
    padding-top: 0 !important;
  }

  [data-gi-resp="os-faq-head"] {
    position: relative !important;
    top: 0 !important;
  }

  [data-gi-resp="benefits-head"] {
    flex-direction: column;
    gap: 0;
    margin-bottom: 48px;
  }

  [data-gi-resp="hero-cta-buttons"] {
    flex-direction: column;
    gap: 12px;
  }

  [data-gi-resp="hero-cta-buttons"] a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  [data-gi-resp="hero partners-hero"] {
    padding-top: 12px !important;
  }

  [data-gi-resp="container partners-hero-container"] {
    padding: 0 24px !important;
  }

  /* .gi-hero-animate {
    padding-top: 12px !important;
  } */

  [data-gi-resp="hero-split"] {
    padding-bottom: 48px !important;
  }

  [data-gi-resp="hero-cta-buttons"] {
    flex-direction: column !important;
    gap: 12px !important;
  }

  [data-gi-resp="hero-cta-buttons"] button,
  [data-gi-resp="hero-cta-buttons"] a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

   #root div[data-gi-resp="hero-anchors"] {
    grid-template-columns: 1fr !important;
    margin: 32px 0 !important;
  }

  #root section[data-gi-resp="why-section"] {
    padding-top: 0 !important;
    border-top: none !important;
  }

  [data-gi-resp="why-section-head"] {
    padding: 0 0 48px !important;
  }

  .gi-section-head {
    flex-direction: column !important;
    padding-bottom: 0 !important;
  }

  [data-gi-resp="role-card-header"] {
    padding: 36px 24px !important;
  }

  [data-gi-resp="role-card-body"] {
    padding: 36px 24px !important;
  }

  [data-gi-resp="role-card-footer"] {
    flex-direction: column !important;
    gap: 12px !important;
  }

  [data-gi-resp="careers-apply-form-card"] {
    padding: 48px 24px !important;
  }

  [data-gi-resp="careers-apply-form-card-header"] {
    display: none !important;
  }

  [data-gi-resp="careers-apply-form-card-submit"] {
    grid-template-columns: 1fr !important;
  }

  [data-gi-resp="careers-apply-form-card-submit"] button {
    justify-content: center !important;
  }

  [data-gi-resp="faq-button"] {
    grid-template-columns: 1fr 32px !important;
    align-items: center !important;
  }

  [data-gi-resp="faq-button"] > span:first-child {
    display: none !important;
  }

  [data-gi-resp="closing-cta-buttons"] {
    flex-direction: column !important;
    gap: 12px !important;
  }

  [data-gi-resp="closing-cta-buttons"] button,
  [data-gi-resp="closing-cta-buttons"] a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  section[data-gi-resp="hero contact-hero"][data-screen-label="01 Contact Hero"] {
    padding-top: 36px ! important;
    padding-bottom: 0 !important;
  }

  [data-gi-resp="container contact-hero-container"] {
    margin-top: 0 !important;
    padding: 0 24px 0 !important;
  }

  [data-gi-resp="hero-cta-buttons"] {
    flex-direction: column !important;
    gap: 12px !important;
  }

  [data-gi-resp="hero-cta-buttons"] button,
  [data-gi-resp="hero-cta-buttons"] a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  [data-gi-resp="form-card-submit"] {
    justify-content: center !important;
  }

  [data-gi-resp="form-card-header"] {
    display: none !important;
  }

  [data-gi-resp="faq-aside"] {
    position: relative !important;
    top: 0 !important;
  }

   #root .community-hero[data-screen-label="01 Hero"][data-gi-resp="hero"] {
    padding: 0 !important;
  }

  [data-gi-resp="community-hero-cta-buttons"] {
    flex-direction: column !important;
    gap: 12px !important;
  }

  [data-gi-resp="community-hero-cta-buttons"] a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  [data-gi-resp="community-hero-marker-rail"] {
    display: none !important;
  }

  .community-hero-image {
    aspect-ratio: unset !important;
    height: auto !important;
  }

  html #root section[data-screen-label="02 Our Commitment"][data-gi-resp="commitment"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  [data-gi-resp="who-grid"] {
    margin-top: 48px !important;
  }

  html #root section[data-screen-label="01 Hero"][data-gi-resp="hero"].solar-calc-hero {
    padding: 0 !important;
  }

  .solar-calc-proof {
    text-align: left !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .solar-calc-hero-side-card {
    padding: 32px 24px !important;
  }

  #root section#calculator .solar-calc-progress-rail-item {
    align-items: center !important;
  }

  [data-gi-resp="final-cta"] h2,
  [data-gi-resp="faq"] .gi-section-head h2,
  [data-gi-resp="sc-proof-projects"] .gi-section-head h2,
  [data-gi-resp="sc-how-it-works"] .gi-section-head h2 {
    font-size: 32px !important;
    line-height: 38px !important;
  }

  .solar-calc-how-it-works-badge {
    width: 60px !important;
    height: 60px !important;
  }

  .solar-calc-how-it-works-connector {
    display: none !important;
  }

  .solar-calc-nav-row button {
    width: 100% !important;
    justify-content: center !important;
  }

  [data-gi-resp="hero-meta"] {
    display: none !important;
  }

  html #root [data-gi-resp="hero"].gi-section.gi-section--dark [data-gi-resp="hero-metrics"] > div {
    padding: 32px 24px !important;
  }

  .gi-faq-answer ul.gi-faq-bullets > li {
    font-size: 14px !important;
    line-height: 20px !important;
  }

  #industries [data-sol-industries-grid="true"] a > div:last-child span:last-child,
  #industries [data-gi-resp="industries-grid"] a > div:last-child span:last-child {
    font-size: 24px !important;
    line-height: 1 !important;
  }

  [data-gi-resp="om-hero-tagline"],
  [data-gi-resp="led-hero-tagline"],
  [data-gi-resp="ev-hero-tagline"] {
    display: none !important;
  }

  .mfg-stats-item {
    padding: 14px 0 !important;
  }

  .mfg-stats-item > div:first-child {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  [data-gi-resp="mun-faq"] > [data-gi-resp="container"] > div:first-child {
    flex-direction: column !important;
    gap: 24px !important;
  }

  .os-portrait .os-portrait-bio {
    padding: 24px !important;
  }

  #root [data-gi-resp="os-team"] .os-portrait .os-portrait-bio p {
    font-size: 12px !important;
    line-height: 15px !important;
  }

  html #root section[data-gi-resp="initiative"][data-screen-label="03 Home Depot Foundation"] {
    padding-top: 0 !important;
  }

  html body #root section h1 {
    font-size: 32px !important;
    line-height: 38px !important;
  }


  [data-screen-label="Careers Page"] [data-screen-label="01 Hero"] .gi-hero-animate {
    padding-top: 16px !important;
  }

  html body #root [data-screen-label="Solar Calculator Page"] [data-gi-resp="hero"] [data-gi-resp="container"] {
    padding-top: 48px !important;
  }
} 

/* ============================================================================
   GI-HEADING-HIERARCHY-V1 — mobile-only heading-hierarchy corrections (≤760px).
   Enforces descending H1 > H2 > H3 > H4 on the handful of pages where a
   per-component inline size broke it. Each rule is component-scoped (and
   page-scoped via the body wrapper class where the element is shared) — this is
   deliberately NOT a global type scale. Desktop (>760px) is untouched.
   ============================================================================ */
@media (max-width: 760px) {

  /* Shared footer accreditation heading uses an inline 28px. On pages that lack
     a page-level mobile h3 cap (privacy, terms, blog-post, question-answer) it
     outranks the page H2s. Match the 19px this same heading already renders at
     on every other page. */
  .claude-page--privacy         [data-gi-resp="footer-top"] h3,
  .claude-page--terms           [data-gi-resp="footer-top"] h3,
  .claude-page--blog-post       [data-gi-resp="footer-top"] h3,
  .claude-page--question-answer [data-gi-resp="footer-top"] h3 {
    font-size: 19px !important;
    line-height: 26px !important;
  }

  /* Q&A final-CTA H2 inherits the shared 32px and ties the 32px hero H1.
     Drop to 30px — the value every other page's final CTA already uses. */
  .claude-page--question-answer [data-gi-resp="final-cta"] h2 {
    font-size: 30px !important;
    line-height: 36px !important;
  }

  /* Incentives: "Layer two federal programs on top." H4 uses an inline 28px —
     larger than its section H3 (19px) and H2 (26px). Bring it below H3. */
  [data-gi-resp="bc-stack"] h4 {
    font-size: 18px !important;
    line-height: 24px !important;
  }

  /* Payment Plans: the two pp-cards-2 resource H4s use an inline 22px, above the
     page H3 (19px). Bring them below H3. */
  [data-gi-resp="pp-cards-2"] h4 {
    font-size: 18px !important;
    line-height: 24px !important;
  }

  html #root [data-screen-label="Home Page"] [data-gi-resp="hero"] {
    padding: 0 !important;
  }

  html #root [data-screen-label="Home Page"] [data-gi-resp="hero"] [data-gi-resp="container"] {
    padding-bottom: 0 !important;
  }
}
