:root {
  --gwh-core-forest: #073f23;
  --gwh-core-green: #2f6f3e;
  --gwh-core-green-soft: #e9f2e6;
  --gwh-core-cream: #f7f4ec;
  --gwh-core-ink: #173024;
  --gwh-core-muted: #52645a;
  --gwh-core-radius: 24px;
  --gwh-core-shadow: 0 20px 54px rgba(7, 63, 35, .12);
}

.gwh-core-lab,
.gwh-core-lab * { box-sizing: border-box; }
.gwh-core-lab { background:#fff; color:var(--gwh-core-ink); font-family:"Inter","Helvetica Neue",Arial,sans-serif; overflow:clip; }
.gwh-core-lab-shell { margin-inline:auto; max-width:1320px; padding-inline:clamp(24px,4vw,48px); width:100%; }
.gwh-core-lab-section { padding-block:clamp(72px,8vw,112px); }
.gwh-core-lab h1,.gwh-core-lab h2,.gwh-core-lab h3 { font-family:Georgia,"Times New Roman",serif; }
.gwh-core-lab p { font-size:clamp(1rem,1.25vw,1.12rem); line-height:1.72; }

.gwh-core-lab-hero { background:radial-gradient(circle at 84% 18%,rgba(255,255,255,.16),transparent 31%),linear-gradient(145deg,var(--gwh-core-green),var(--gwh-core-forest)); padding-block:clamp(84px,9vw,126px); text-align:center; }
.gwh-core-lab-hero h1 { color:#fff; font-size:clamp(3.15rem,6vw,5.4rem); font-weight:500; line-height:1.02; margin:12px auto 22px; max-width:1000px; text-wrap:balance; }
.gwh-core-lab-hero p:last-child { color:#f6fbf6; margin:0 auto; max-width:820px; }
.gwh-core-lab-eyebrow { color:#fff; font-size:.79rem!important; font-weight:800; letter-spacing:.16em; margin:0; text-transform:uppercase; }
.gwh-core-lab-eyebrow--green { color:var(--gwh-core-green); }

.gwh-core-lab-library { background:var(--gwh-core-cream); padding-bottom:clamp(52px,6vw,78px); }
.gwh-core-lab-heading { margin:0 auto clamp(40px,5vw,64px); max-width:820px; text-align:center; }
.gwh-core-lab-heading h2,.gwh-core-lab-survey h2 { color:var(--gwh-core-forest); font-size:clamp(2.25rem,4.4vw,3.75rem); font-weight:600; line-height:1.08; margin:12px 0 18px; text-wrap:balance; }
.gwh-core-lab-heading p:last-child { color:var(--gwh-core-muted); margin:0; }
.gwh-core-lab-products { align-items:stretch; display:grid; gap:clamp(24px,2.25vw,30px); grid-template-columns:repeat(8,minmax(0,1fr)); }
.gwh-core-lab-product { grid-column:span 2; height:100%; }
.gwh-core-lab-product:nth-child(1) { grid-column:2 / span 2; grid-row:1; }
.gwh-core-lab-product:nth-child(2) { grid-column:4 / span 2; grid-row:1; }
.gwh-core-lab-product:nth-child(3) { grid-column:6 / span 2; grid-row:1; }
.gwh-core-lab-product:nth-child(n + 4):nth-child(-n + 7) { grid-row:2; }
.gwh-core-lab-product:nth-child(8) { grid-column:4 / span 2; grid-row:3; }
.gwh-core-lab-product { background:#fff; border:1px solid rgba(7,63,35,.08); border-radius:var(--gwh-core-radius); box-shadow:var(--gwh-core-shadow); display:flex; flex-direction:column; min-width:0; overflow:hidden; transition:box-shadow .25s ease,transform .25s ease; }
.gwh-core-lab-product:hover { box-shadow:0 26px 64px rgba(7,63,35,.17); transform:translateY(-4px); }
.gwh-core-lab-product__image { background:#f3f6f1; display:block; padding:clamp(22px,3vw,34px); }
.gwh-core-lab-product__image img { aspect-ratio:1; border-radius:18px; display:block; height:auto; object-fit:cover; width:100%; }
.gwh-core-lab-product__body { display:flex; flex:1; flex-direction:column; padding:clamp(26px,3vw,36px); }
.gwh-core-lab-product__label { color:var(--gwh-core-green); font-size:.75rem!important; font-weight:800; letter-spacing:.14em; margin:0 0 12px; text-transform:uppercase; }
.gwh-core-lab-product h2 { font-size:clamp(1.5rem,2.1vw,1.95rem); line-height:1.16; margin:0 0 16px; }
.gwh-core-lab-product h2 a { color:var(--gwh-core-forest); text-decoration:none; }
.gwh-core-lab-product__description { color:var(--gwh-core-muted); font-size:1rem!important; margin:0 0 24px; }
.gwh-core-lab-product__footer { align-items:stretch; display:flex; flex-direction:column; margin-top:auto; }
.gwh-core-lab-product__price { color:var(--gwh-core-forest); font-size:1.3rem!important; font-weight:800; margin:0 0 18px; }
.gwh-core-lab-product__price del { color:#6c7c72; font-size:.9em; }
.gwh-core-lab-product__price ins { text-decoration:none; }
.gwh-core-lab-button { align-items:center; background:var(--gwh-core-green); border:2px solid var(--gwh-core-green); border-radius:999px; color:#fff!important; display:inline-flex; font-size:.96rem; font-weight:750; justify-content:center; min-height:52px; padding:13px 26px; text-align:center; text-decoration:none!important; transition:background-color .2s ease,border-color .2s ease,transform .2s ease; }
.gwh-core-lab-button:hover,.gwh-core-lab-button:focus-visible { background:var(--gwh-core-forest); border-color:var(--gwh-core-forest); color:#fff!important; transform:translateY(-1px); }
.gwh-core-lab-product__details { color:var(--gwh-core-forest); font-size:.94rem; font-weight:700; margin-top:15px; text-align:center; }
.gwh-core-lab a:focus-visible { outline:3px solid #a9d36e; outline-offset:3px; }

.gwh-core-lab-survey { background:#fff; padding-top:clamp(48px,5vw,68px); }
.gwh-core-lab-survey__grid { align-items:center; display:grid; gap:clamp(32px,6vw,86px); grid-template-columns:minmax(0,1fr) auto; }
.gwh-core-lab-survey__grid>div { max-width:790px; }
.gwh-core-lab-survey h2 { margin-bottom:18px; }
.gwh-core-lab-survey p:last-child { color:var(--gwh-core-muted); margin-bottom:0; }
.gwh-core-lab-survey .gwh-core-lab-button { min-width:260px; }

.gwh-core-lab-process { background:var(--gwh-core-green-soft); }
.gwh-core-lab-steps { display:grid; gap:28px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.gwh-core-lab-steps article { background:#fff; border:1px solid rgba(7,63,35,.09); border-radius:var(--gwh-core-radius); box-shadow:0 14px 38px rgba(7,63,35,.09); padding:clamp(28px,3.2vw,42px); }
.gwh-core-lab-steps span { align-items:center; background:var(--gwh-core-green); border-radius:50%; color:#fff; display:flex; font-size:1.08rem; font-weight:800; height:48px; justify-content:center; margin-bottom:24px; width:48px; }
.gwh-core-lab-steps h3 { color:var(--gwh-core-forest); font-size:1.65rem; line-height:1.2; margin:0 0 14px; }
.gwh-core-lab-steps p { color:var(--gwh-core-muted); font-size:1rem!important; margin:0; }

.gwh-core-lab-restriction { background:#fff; }
.gwh-core-lab-restriction__panel { background:linear-gradient(145deg,var(--gwh-core-green),var(--gwh-core-forest)); border-radius:var(--gwh-core-radius); box-shadow:var(--gwh-core-shadow); color:#f7fbf7; margin:0 auto; max-width:1040px; padding:clamp(36px,5vw,64px); text-align:center; }
.gwh-core-lab-restriction h2 { color:#fff; font-size:clamp(2rem,3.8vw,3.1rem); margin:0 0 20px; }
.gwh-core-lab-restriction p { color:#f7fbf7; margin:10px auto; max-width:820px; }

body.gwh-core-lab-signature-page .gwh-footer,body.gwh-core-lab-signature-page .gwh-footer p,body.gwh-core-lab-signature-page .gwh-footer dd { color:#f5f7f5!important; }
body.gwh-core-lab-signature-page .gwh-footer dt,body.gwh-core-lab-signature-page .gwh-footer a { color:#fff!important; }

@media (max-width:1024px) {
  .gwh-core-lab-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gwh-core-lab-product,.gwh-core-lab-product:nth-child(1),.gwh-core-lab-product:nth-child(2),.gwh-core-lab-product:nth-child(3),.gwh-core-lab-product:nth-child(n + 4):nth-child(-n + 7),.gwh-core-lab-product:nth-child(8) { grid-column:auto; grid-row:auto; }
  .gwh-core-lab-steps { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .gwh-core-lab-products { grid-template-columns:1fr; }
  .gwh-core-lab-survey__grid { grid-template-columns:1fr; }
  .gwh-core-lab-survey .gwh-core-lab-button { justify-self:start; min-width:0; }
}
@media (max-width:620px) {
  .gwh-core-lab-shell { padding-inline:20px; }
  .gwh-core-lab-product,.gwh-core-lab-steps article,.gwh-core-lab-restriction__panel { border-radius:20px; }
  .gwh-core-lab-product__body { padding:24px 20px; }
  .gwh-core-lab-hero h1 { font-size:clamp(2.65rem,13vw,3.5rem); }
  .gwh-core-lab-survey .gwh-core-lab-button { width:100%; }
}


/* Keep the nine specialty panels balanced in three desktop columns. */
@media (min-width:1025px) {
  .gwh-core-lab-products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gwh-core-lab-product:nth-child(n):nth-child(n) { grid-column:auto; grid-row:auto; }
}
/* Arrange the eight visible specialty panels in two even desktop rows. */@media (min-width:1025px) {  .gwh-core-lab-products { grid-template-columns:repeat(4,minmax(0,1fr)); }  .gwh-core-lab-products > .gwh-core-lab-product { grid-column:auto !important; grid-row:auto !important; }
}/* Override fixed legacy card slots so all eight panels flow as two rows. */@media (min-width:1025px) { .gwh-core-lab-products { grid-template-columns:repeat(4,minmax(0,1fr)) !important; } .gwh-core-lab-products .gwh-core-lab-product:nth-child(n) { grid-column:auto !important; grid-row:auto !important; } }
/* Place the eight cards as two rows of four in the existing eight-track grid. */@media (min-width:1025px) { .gwh-core-lab-products { grid-template-columns:repeat(8,minmax(0,1fr)) !important; } .gwh-core-lab-products .gwh-core-lab-product:nth-child(1) { grid-column:1 / span 2 !important; grid-row:1 !important; } .gwh-core-lab-products .gwh-core-lab-product:nth-child(2) { grid-column:3 / span 2 !important; grid-row:1 !important; } .gwh-core-lab-products .gwh-core-lab-product:nth-child(3) { grid-column:5 / span 2 !important; grid-row:1 !important; } .gwh-core-lab-products .gwh-core-lab-product:nth-child(4) { grid-column:7 / span 2 !important; grid-row:1 !important; } .gwh-core-lab-products .gwh-core-lab-product:nth-child(5) { grid-column:1 / span 2 !important; grid-row:2 !important; } .gwh-core-lab-products .gwh-core-lab-product:nth-child(6) { grid-column:3 / span 2 !important; grid-row:2 !important; } .gwh-core-lab-products .gwh-core-lab-product:nth-child(7) { grid-column:5 / span 2 !important; grid-row:2 !important; } .gwh-core-lab-products .gwh-core-lab-product:nth-child(8) { grid-column:7 / span 2 !important; grid-row:2 !important; } }
