
#work .section-projects-wrapper > .section-projects-header {
  display: grid; grid-template-columns: 1.25fr 1fr; align-items: end;
  width: 100%; gap: 7vw; padding: 32px 5vw 48px; margin: 0;
}
#work .section-projects-header .section-heading {
  width: auto; max-width: 12ch; margin: 0; text-align: left;
  font-size: clamp(48px, 5.4vw, 78px); line-height: .98; letter-spacing: -.025em;
}
#work .section-projects-header .gr-gallery-intro {
  width: auto; max-width: 24ch; margin: 0 0 4px; text-align: left;
  font: 400 22px/1.45 var(--font-secondary); color: var(--gr-leaf);
}
.section-services .gr-ribbon-body { display: block; width: 100%; max-width: none; min-height: 0; }
.gr-ribbon-stage { position: relative; width: 100%; overflow: hidden; }
.gr-ribbon-stage svg { display: block; width: 100%; height: auto; overflow: hidden; }
.gr-service-band { fill: none; stroke-linecap: butt; stroke-linejoin: round; }
.gr-service-band--lime { stroke: var(--gr-lime); stroke-width: 112; }
.gr-service-band--forest { stroke: var(--gr-forest); stroke-width: 96; }
.gr-ribbon-type {
  font-family: var(--font-secondary); font-weight: 500; letter-spacing: .01em;
  dominant-baseline: central; text-rendering: optimizeLegibility;
}
.gr-ribbon-type--lime { fill: var(--gr-forest); font-size: 54px; }
.gr-ribbon-type--forest { fill: var(--gr-ivory); font-size: 36px; }
.gr-services-details { margin: 24px 5vw 0; border-block: 1px solid #224d3366; color: var(--gr-forest); }
.gr-services-details summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; list-style: none; cursor: pointer; font: 400 20px/1.4 var(--font-secondary); }
.gr-services-details summary::-webkit-details-marker { display: none; }
.gr-services-details summary:hover { color: #416c2e; }
.gr-services-details summary svg { flex-shrink: 0; transition: transform var(--gr-feedback); }
.gr-services-details[open] summary svg { transform: rotate(45deg); }
.gr-service-index { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; margin: 0; padding: 8px 0 32px; }
.gr-service-index > div { padding: 24px 0; border-top: 1px solid #224d3333; }
.gr-service-index dt { margin: 0 0 10px; font: 400 28px/1.1 var(--font-primary-dark); }
.gr-service-index dd { margin: 0; max-width: 42ch; font: 400 18px/1.5 var(--font-secondary); }
@media (max-width: 700px) {
  #work .section-projects-wrapper > .section-projects-header { grid-template-columns: 1fr; gap: 24px; padding: 24px 24px 36px; }
  #work .section-projects-header .section-heading { max-width: 12ch; font-size: 48px; }
  #work .section-projects-header .gr-gallery-intro { font-size: 18px; max-width: 26ch; }
  .section-services .section-projects-header { padding-bottom: 24px; }
  .gr-ribbon-type--lime { font-size: 48px; }
  .gr-ribbon-type--forest { font-size: 36px; }
  .gr-services-details { margin: 16px 24px 0; }
  .gr-services-details summary { font-size: 18px; }
  .gr-service-index { grid-template-columns: 1fr; padding-bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) { .gr-services-details summary svg { transition: none; } }
