/* H02 Interior hero. From the interior page CSS: .i-crumb, .i-lede, .i-glass, .wp-glance. Section: dark grid, 84px top and bottom. */
.gm-crumbs { margin-bottom: 40px; }
.gm-crumbs ol { display: flex; flex-wrap: wrap; gap: 10px; font-size: 15px; color: var(--gm-lilac); }
.i-crumb { color: #FFFFFF; font-weight: 600; text-underline-offset: 4px; transition: color .15s ease; }
.i-crumb:hover, .i-crumb:focus-visible { color: #FFFFFF; text-decoration-thickness: 2px; }
.gm-ihero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 72px; align-items: center; }
.gm-ihero--solo .gm-ihero__grid { grid-template-columns: minmax(0, 1fr); }
.gm-ihero__text { display: flex; flex-direction: column; gap: 28px; }
.gm-ihero__kick { margin: 0; font-family: var(--gm-font-body); font-size: 19px; line-height: 1.45; font-weight: 600; color: #FFFFFF; }
.gm-ihero__display { margin: 0; font-family: var(--gm-font-head); font-weight: 700; font-size: 68px; line-height: 1.08; letter-spacing: -.03em; color: #FFFFFF; }
.gm-ihero__display--60 { font-size: 60px; }
.gm-ihero__display--56 { font-size: 56px; }
.gm-ihero__display span { color: var(--gm-teal); }
.gm-ihero__kick--teal { font-size: 14px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--gm-teal); line-height: 1.4; }
.gm-ihero__checks li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--gm-rule-light); font-size: 18px; line-height: 1.5; color: #FFFFFF; }
.gm-ihero__checks svg { flex-shrink: 0; margin-top: 5px; }
.gm-ihero__form { padding: 36px; display: flex; flex-direction: column; gap: 20px; }
.gm-ihero__fh { margin: 0; font-family: var(--gm-font-head); font-weight: 600; font-size: 28px; line-height: 1.15; color: #FFFFFF; }
.gm-ihero__form .gm-form__preview { gap: 16px; }
.gm-ihero__fnote { margin: 0; font-size: 14px; color: var(--gm-lilac); }
.gm-ihero__form .tp-btn--white, .gm-ihero__form .hs-button { align-self: stretch; background: #FFFFFF !important; color: var(--gm-ink) !important; }
.gm-ihero__lede { margin: 0; max-width: 680px; font-size: 20px; line-height: 1.6; color: var(--gm-lilac); }
.gm-ihero__btns { margin-top: 4px; }

.i-glass {
  background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.36);
  -webkit-backdrop-filter: blur(2px) saturate(160%); backdrop-filter: blur(2px) saturate(160%);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .i-glass { background: #2A2346; } }
.wp-glance { margin: 0; display: flex; flex-direction: column; gap: 18px; padding: 36px; }
.wp-glance dt { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gm-lilac); }
.wp-glance dd { margin: 4px 0 0; font-size: 17px; line-height: 1.45; color: #FFFFFF; }
.wp-glance .wp-price { font-family: var(--gm-font-head); font-weight: 700; font-size: 48px; line-height: 1; color: var(--gm-blue); }
.wp-glance .wp-price--medium { font-size: 28px; line-height: 1.2; }
/* Optional image above the panel (like the industry hero): a cut-out that runs into the right gutter, with the panel
   overlapping its lower edge. */
.gm-ihero__grid:has(> .gm-ihero__side) { grid-template-columns: minmax(0, 1fr) 520px; }
.gm-ihero__side { display: flex; flex-direction: column; }
.gm-ihero__art { display: block; width: calc(100% + 80px); max-width: none; height: auto; aspect-ratio: 600 / 377; object-fit: contain; margin-right: -80px; }
.gm-ihero__side > .i-glass, .gm-ihero__side > .ws-panel { position: relative; margin-top: -24px; }
@media (prefers-reduced-motion: reduce) { .i-crumb { transition: none; } }
@media (max-width: 1100px) {
  .gm-ihero__grid, .gm-ihero__grid:has(> .gm-ihero__side) { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .gm-ihero__art { width: 100%; margin-right: 0; }
  .gm-ihero__display { font-size: 44px !important; line-height: 1.04; }
}
@media (max-width: 640px) {
  .gm-crumbs { margin-bottom: 28px; }
  .gm-ihero__text { gap: 20px; }
  .gm-ihero__kick--teal { font-size: 14px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--gm-teal); line-height: 1.4; }
.gm-ihero__checks li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--gm-rule-light); font-size: 18px; line-height: 1.5; color: #FFFFFF; }
.gm-ihero__checks svg { flex-shrink: 0; margin-top: 5px; }
.gm-ihero__form { padding: 36px; display: flex; flex-direction: column; gap: 20px; }
.gm-ihero__fh { margin: 0; font-family: var(--gm-font-head); font-weight: 600; font-size: 28px; line-height: 1.15; color: #FFFFFF; }
.gm-ihero__form .gm-form__preview { gap: 16px; }
.gm-ihero__fnote { margin: 0; font-size: 14px; color: var(--gm-lilac); }
.gm-ihero__form .tp-btn--white, .gm-ihero__form .hs-button { align-self: stretch; background: #FFFFFF !important; color: var(--gm-ink) !important; }
.gm-ihero__lede { font-size: 17px; }
  .wp-glance { padding: 28px 22px; }
  .wp-glance .wp-price { font-size: 36px; }
  .wp-glance .wp-price--medium { font-size: 22px; overflow-wrap: anywhere; }
}

/* Second lede with the teal arrow link (.ws-link), stacked buttons with a note, and the extra panels. */
.gm-ihero__lede--sp { margin: 20px 0; }
.gm-ihero__lede2 p { margin: 0; }
.gm-ihero__lede strong { color: #FFFFFF; }
.gm-ihero__lede2 a {
  display: inline-flex; align-items: center; gap: 8px; color: var(--gm-teal); font-weight: 600; text-decoration: underline;
  text-underline-offset: 5px; text-decoration-thickness: 2px; padding: 4px 2px; transition: color .15s, gap .15s;
}
.gm-ihero__lede2 a::after { content: ""; width: 16px; height: 16px; flex-shrink: 0; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 32h40M36 18l14 14-14 14'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 32h40M36 18l14 14-14 14'/%3E%3C/svg%3E") center / contain no-repeat; }
.gm-ihero__lede2 a:hover { color: #FFFFFF; gap: 12px; }
.gm-ihero__lede2 a:focus-visible { outline: 3px solid var(--gm-teal); outline-offset: 3px; color: #FFFFFF; }
.gm-ihero__stack { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.gm-ihero__stack .gm-ihero__btns { margin-top: 0; }
.gm-ihero__bnote { margin: 0; font-size: 16px; line-height: 1.5; color: var(--gm-lilac); }

.ws-panel { display: flex; flex-direction: column; gap: 20px; padding: 36px; }
.ws-k { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gm-teal); }
.ws-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.ws-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 24px 12px; text-align: center; }
.ws-n { font-family: var(--gm-font-head); font-weight: 700; font-size: 48px; line-height: 1; color: #FFFFFF; }
.ws-pre { color: var(--gm-teal); }
.ws-l { font-size: 15px; line-height: 1.4; color: var(--gm-rule-light); }
.ws-price { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 24px 16px; text-align: center; }
.ws-price p { margin: 0; }
.ws-pk { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gm-rule-light); }
.ws-pn { font-family: var(--gm-font-head); font-weight: 700; font-size: 56px; line-height: 1; color: var(--gm-teal); }
.ws-pl { font-size: 15px; color: var(--gm-rule-light); }
.ws-panel.i-glass, .ws-tile.i-glass, .ws-price.i-glass {
  background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.36);
  -webkit-backdrop-filter: blur(2px) saturate(160%); backdrop-filter: blur(2px) saturate(160%);
}
.gm-pglance__k { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gm-lilac); }
.gm-pglance__p { margin: 0; font-family: var(--gm-font-head); font-weight: 700; font-size: 64px; line-height: 1; color: var(--gm-blue); }
.gm-pglance__t p { margin: 0; font-size: 17px; line-height: 1.5; color: #FFFFFF; }
.gm-pglance__n { margin: 0; font-size: 16px; line-height: 1.5; color: var(--gm-lilac); }
@media (prefers-reduced-motion: reduce) { .gm-ihero__lede2 a { transition: none; } }
@media (max-width: 640px) { .ws-panel { padding: 24px 18px; } .ws-n { font-size: 40px; } .ws-pn { font-size: 44px; } .gm-pglance__p { font-size: 48px; } }
.gm-ihero__lede1 p { margin: 0; }
