/* Final GREENSpire audit layer.
   Only cross-section Design System, semantic-list and global component corrections live here. */

/* Functional focus stays a Design System state, not a GREENSpire brand state. */
.greenspire-page :focus-visible,
.greenspire-page .greenspire-hero-cta:focus-visible,
.greenspire-page .gs-contact .demo-button:focus-visible{
  outline:2px solid var(--blue-500);
  outline-offset:2px;
}

/* The global Gramion Header remains a Gramion component on the GREENSpire page.
   GREENSpire green is reserved for the GREENSpire navigation item and page content. */
.greenspire-page .home-navigation>.home-nav-item:hover:not(.greenspire-nav-link):not(.header-contact){
  color:var(--deep-500);
}

.greenspire-page .home-navigation>.header-contact{
  background:var(--deep-500);
  color:var(--paper);
}

.greenspire-page .home-navigation>.header-contact:hover{
  background:var(--deep-600);
  color:var(--paper);
}

.greenspire-page .home-navigation>.header-contact:active{
  background:var(--deep-700);
}

.greenspire-page .home-menu-button{
  color:var(--deep-600);
}

/* Section 04: semantic UL/LI keeps the approved typographic composition. */
.gs-business .gs-impact-grid{
  margin:0;
  padding:0;
  list-style:none;
}

.gs-business .gs-impact-grid>li{
  display:block;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}

.gs-business .gs-impact-grid>li:nth-child(1){grid-column:1 / span 5;}
.gs-business .gs-impact-grid>li:nth-child(2){grid-column:7 / span 5;}
.gs-business .gs-impact-grid>li:nth-child(3){grid-column:2 / span 4;}
.gs-business .gs-impact-grid>li:nth-child(4){grid-column:8 / span 4;}
.gs-business .gs-impact-grid>li:nth-child(5){grid-column:4 / span 6;}

.gs-business .gs-impact-grid>li>span{
  display:none;
}

.gs-business .gs-impact-grid>li:nth-child(2) p,
.gs-business .gs-impact-grid>li:nth-child(4) p{
  color:var(--green-800);
}

/* Global Footer desktop structure is unchanged; only mobile block order follows the DS. */
@media(max-width:1024px){
  .gs-business .gs-impact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:48px 40px;
  }

  .gs-business .gs-impact-grid>li:nth-child(n){
    grid-column:auto;
  }

  .gs-business .gs-impact-grid>li:last-child{
    grid-column:1 / -1;
    max-width:640px;
  }
}

@media(max-width:900px){
  .home-footer .footer-demo-top>.footer-brand-block{order:1;}
  .home-footer .footer-demo-top>.footer-contact-block{order:2;}
  .home-footer .footer-demo-top>.footer-nav-block{order:3;}
  .home-footer .footer-demo-top>.footer-green-block{order:4;}
}

@media(max-width:767px){
  .gs-business .gs-impact-grid{
    display:grid !important;
    grid-template-columns:1fr;
    gap:0;
  }

  .gs-business .gs-impact-grid>li,
  .gs-business .gs-impact-grid>li:nth-child(n),
  .gs-business .gs-impact-grid>li:last-child{
    display:block;
    width:100%;
    max-width:none;
    grid-column:auto;
    padding:24px 0;
    border:0;
    border-bottom:1px solid var(--neutral-300);
  }

  .gs-business .gs-impact-grid>li:first-child{
    border-top:1px solid var(--neutral-300);
  }
}

/* GREENSpire typography hierarchy aligned with the Gramion Design System. */

/* Primary hierarchy: same display and section scale as the Gramion homepage. */
.greenspire-page .greenspire-hero-copy h1{
  font-size:60px;
  line-height:68px;
}

.greenspire-page .greenspire-problem h2,
.greenspire-page .gs-section h2,
.greenspire-page .gs-contact h2{
  font-size:60px;
  line-height:68px;
}

/* Introductory copy uses Body Large; normal explanatory copy uses Body Medium. */
.greenspire-page .greenspire-hero-copy p,
.greenspire-page .greenspire-problem-lead p:last-child,
.greenspire-page .gs-lead,
.greenspire-page .gs-head-copy p,
.greenspire-page .gs-credential-copy .gs-lead,
.greenspire-page .gs-contact-copy>p:last-child{
  font-size:20px;
  line-height:30px;
}

.greenspire-page .greenspire-trust p,
.greenspire-page .gs-action-list li,
.greenspire-page .gs-credential-copy>p:not(.gs-lead),
.greenspire-page .gs-partnerships p,
.greenspire-page .gs-practice-grid p,
.greenspire-page .home-navigation>.home-nav-item,
.greenspire-page .home-footer .gb-copy p,
.greenspire-page .home-footer .gramion-footer-demo p,
.greenspire-page .footer-demo-bottom{
  font-size:16px;
  line-height:24px;
}

/* Editorial emphasis: keep character, but use a small set of documented DS steps. */
.greenspire-page .greenspire-problem-lead p:first-child{
  font-size:36px;
  line-height:44px;
}

.greenspire-page .greenspire-question-list p,
.greenspire-page .greenspire-problem-closing>p,
.greenspire-page .gs-business .gs-impact-grid p,
.greenspire-page .gs-practice-grid h3,
.greenspire-page .gs-process-steps h3{
  font-size:30px;
  line-height:38px;
}

.greenspire-page .greenspire-problem-closing>div p{
  font-size:20px;
  line-height:30px;
}

.greenspire-page .gs-action .gs-image-quote blockquote,
.greenspire-page .gs-focus .gs-focus-closing p:last-child,
.greenspire-page .gs-method-thesis,
.greenspire-page .gs-data-v2 .gs-data-closing strong,
.greenspire-page .gs-formats .gs-format-closing strong,
.greenspire-page .gs-practice .gs-practice-closing strong{
  font-size:36px;
  line-height:44px;
}

.greenspire-page .gs-focus .gs-topic-grid li,
.greenspire-page .gs-data-v2 .gs-situation-grid p,
.greenspire-page .gs-formats .gs-format-list p,
.greenspire-page .gs-fit .gs-fit-list>li,
.greenspire-page .gs-process .gs-diagnostic-grid li{
  font-size:20px;
  line-height:30px;
}

.greenspire-page .gs-method-steps p,
.greenspire-page .gs-method .gs-method-closing,
.greenspire-page .gs-formats .gs-format-closing,
.greenspire-page .gs-process .gs-process-closing p:first-child{
  font-size:30px;
  line-height:38px;
}

.greenspire-page .gs-data-v2 .gs-data-flow-program p{
  font-size:48px;
  line-height:56px;
}

.greenspire-page .gs-data-v2 .gs-data-survey-lead{
  font-size:16px;
  line-height:24px;
}

.greenspire-page .gs-data-v2 .gs-data-flow-reaction p,
.greenspire-page .gs-data-v2 .gs-data-context,
.greenspire-page .gs-data-v2 .gs-data-closing,
.greenspire-page .gs-process .gs-process-closing p:last-child{
  font-size:20px;
  line-height:30px;
}

.greenspire-page .gs-credentials .gs-partner-row span{
  font-size:20px;
  line-height:28px;
}

.greenspire-page .gs-business .gs-kkv-label span:last-child,
.greenspire-page .gs-card-label,
.greenspire-page .gs-eyebrow{
  font-size:16px;
  line-height:24px;
}

@media(max-width:1024px){
  .greenspire-page .greenspire-hero-copy h1{
    font-size:48px;
    line-height:56px;
  }

  .greenspire-page .greenspire-problem h2,
  .greenspire-page .gs-section h2,
  .greenspire-page .gs-contact h2{
    font-size:48px;
    line-height:56px;
  }

  .greenspire-page .greenspire-question-list p,
  .greenspire-page .gs-business .gs-impact-grid p{
    font-size:24px;
    line-height:32px;
  }
}

@media(max-width:767px){
  .greenspire-page .greenspire-hero-copy h1{
    font-size:36px;
    line-height:44px;
  }

  .greenspire-page .greenspire-problem h2,
  .greenspire-page .gs-section h2,
  .greenspire-page .gs-contact h2{
    font-size:36px;
    line-height:44px;
  }

  .greenspire-page .greenspire-problem-lead p:first-child,
  .greenspire-page .greenspire-problem-closing>p,
  .greenspire-page .gs-action .gs-image-quote blockquote,
  .greenspire-page .gs-focus .gs-focus-closing p:last-child,
  .greenspire-page .gs-method-thesis,
  .greenspire-page .gs-data-v2 .gs-data-closing strong,
  .greenspire-page .gs-formats .gs-format-closing strong,
  .greenspire-page .gs-practice .gs-practice-closing strong{
    font-size:30px;
    line-height:38px;
  }

  .greenspire-page .greenspire-question-list p,
  .greenspire-page .gs-business .gs-impact-grid p,
  .greenspire-page .gs-method-steps p,
  .greenspire-page .gs-method .gs-method-closing,
  .greenspire-page .gs-practice-grid h3,
  .greenspire-page .gs-process-steps h3,
  .greenspire-page .gs-process .gs-process-closing p:first-child{
    font-size:24px;
    line-height:32px;
  }

  .greenspire-page .gs-focus .gs-topic-grid li,
  .greenspire-page .gs-data-v2 .gs-situation-grid p,
  .greenspire-page .gs-formats .gs-format-list p,
  .greenspire-page .gs-fit .gs-fit-list>li,
  .greenspire-page .gs-process .gs-diagnostic-grid li{
    font-size:20px;
    line-height:30px;
  }

  .greenspire-page .gs-data-v2 .gs-data-flow-program p{
    font-size:30px;
    line-height:38px;
  }
}

@media(max-width:420px){
  .greenspire-page .greenspire-hero-copy h1{
    font-size:36px;
    line-height:44px;
  }

  .greenspire-page .greenspire-problem h2,
  .greenspire-page .gs-section h2,
  .greenspire-page .gs-contact h2{
    font-size:30px;
    line-height:38px;
  }
}

/* Section 04 KKV callout: two-block composition. */
.greenspire-page .gs-business .gs-kkv-callout{
  grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);
  gap:48px;
  align-items:start;
}

.greenspire-page .gs-business .gs-kkv-label{
  display:grid;
  grid-row:auto;
  gap:0;
}

.greenspire-page .gs-business .gs-kkv-label .gs-kkv-prefix,
.greenspire-page .gs-business .gs-kkv-label .gs-kkv-copy{
  max-width:420px;
  color:var(--green-200);
  font-family:var(--sans);
  font-size:16px;
  font-weight:600;
  line-height:24px;
  letter-spacing:0;
  text-transform:none;
}

.greenspire-page .gs-business .gs-kkv-label .gs-kkv-number{
  margin-bottom:16px;
  font-size:72px;
  line-height:80px;
}

.greenspire-page .gs-business .gs-kkv-callout>p:last-child{
  grid-column:2;
  grid-row:1;
  align-self:center;
}

@media(max-width:1024px){
  .greenspire-page .gs-business .gs-kkv-callout{
    grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);
    gap:40px;
  }

  .greenspire-page .gs-business .gs-kkv-label .gs-kkv-number{
    font-size:60px;
    line-height:68px;
  }
}

@media(max-width:767px){
  .greenspire-page .gs-business .gs-kkv-callout{
    grid-template-columns:1fr;
    gap:32px;
  }

  .greenspire-page .gs-business .gs-kkv-callout>p:last-child{
    grid-column:1;
    grid-row:auto;
  }

  .greenspire-page .gs-business .gs-kkv-label .gs-kkv-number{
    font-size:52px;
    line-height:60px;
  }
}
