/* About and contact: a restrained editorial extension of the laboratory shop. */
.lab-information-page .cp-page { padding: 1.75rem 0 4.5rem; background: #fbfcfc; }
.lab-info-breadcrumb { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2.5rem; color: var(--lab-muted); font-size: .72rem; }
.lab-info-breadcrumb a { color: var(--lab-ink); text-decoration: none; }
.lab-info-breadcrumb a:hover { text-decoration: underline; }
.lab-info-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 4rem; align-items: center; margin-bottom: 3.5rem; }
.lab-info-kicker { margin: 0 0 1rem; color: var(--lab-teal); font-size: .63rem; font-weight: 700; letter-spacing: .14em !important; line-height: 1.5; text-transform: uppercase; }
.lab-info-hero h1 { margin: 0 0 1.5rem; color: var(--lab-ink); font-size: clamp(2.5rem, 4.1vw, 4.4rem); font-weight: 550; letter-spacing: -.055em !important; line-height: 1.12; }
.lab-info-hero h1 em { color: var(--lab-teal); font-style: normal; }
.lab-info-intro { margin: 0; color: var(--lab-muted); font-size: .95rem; line-height: 1.85; }
.lab-info-hero-copy > .lab-info-intro { max-width: 550px; margin-bottom: 1.5rem; }
.lab-info-text-link { display: inline-flex; align-items: center; gap: .85rem; min-height: 44px; color: var(--lab-ink); font-size: .77rem; font-weight: 650; text-decoration: none; }
.lab-info-text-link span { color: var(--lab-teal); }
.lab-info-text-link:hover { color: var(--lab-teal); text-decoration: underline; }
.lab-info-hero-art { overflow: hidden; border: 1px solid var(--lab-line); border-radius: 15px; background: #edf5f5; }
.lab-info-hero-art img { display: block; width: 100%; height: 365px; object-fit: cover; object-position: 70% center; }
.lab-info-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 2rem 0 2.3rem; margin-bottom: 3.8rem; border-block: 1px solid var(--lab-line); }
.lab-info-principles article { padding: 0 2rem; }
.lab-info-principles article:first-child { padding-left: 0; }
.lab-info-principles article:last-child { padding-right: 0; }
.lab-info-principles article + article { border-left: 1px solid var(--lab-line); }
.lab-info-number { display: block; margin-bottom: 1rem; color: var(--lab-teal); font-size: .6rem; letter-spacing: .1em !important; }
.lab-info-principles h2 { margin-bottom: .65rem; color: var(--lab-ink); font-size: 1rem; line-height: 1.4; font-weight: 650; }
.lab-info-principles p { margin: 0; color: var(--lab-muted); font-size: .79rem; line-height: 1.8; }
.lab-info-process { display: grid; grid-template-columns: .9fr 1.2fr; gap: 5rem; margin-bottom: 4rem; }
.lab-info-section-copy h2, .lab-info-scope h2 { margin-bottom: 1rem; font-size: clamp(1.8rem, 2.6vw, 2.7rem); line-height: 1.2; font-weight: 550; letter-spacing: -.04em !important; }
.lab-info-section-copy > p:not(.lab-info-kicker) { max-width: 350px; color: var(--lab-muted); font-size: .84rem; line-height: 1.8; }
.lab-info-steps { list-style: none; margin: 0; padding: 0; }
.lab-info-steps li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 1.15rem; padding-bottom: 1.5rem; }
.lab-info-steps li + li { padding-top: 1.5rem; border-top: 1px solid var(--lab-line); }
.lab-info-steps li:last-child { padding-bottom: 0; }
.lab-info-step-number { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #cee2e2; border-radius: 50%; color: var(--lab-teal); font-size: .66rem; background: #f0f7f6; }
.lab-info-steps h3 { margin: .35rem 0 .5rem; color: var(--lab-ink); font-size: .95rem; font-weight: 650; }
.lab-info-steps p { margin: 0; color: var(--lab-muted); font-size: .8rem; line-height: 1.8; }
.lab-info-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; padding: 2.8rem; margin-bottom: 3.4rem; border-radius: 15px; background: var(--lab-ink); color: #f5f9fa; }
.lab-info-scope .lab-info-kicker { color: #89cecc; }
.lab-info-scope h2 { color: #fff; }
.lab-info-scope p:not(.lab-info-kicker) { margin: 0 0 1rem; color: #c5d5dc; font-size: .82rem; line-height: 1.85; }
.lab-info-scope .lab-info-scope-note { padding-top: 1rem; margin-bottom: 0 !important; border-top: 1px solid #44606b; font-size: .72rem !important; }
.lab-info-next { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1.5rem; }
.lab-info-next h2 { margin: 0 0 .5rem; font-size: 1.35rem; font-weight: 550; letter-spacing: -.025em !important; }
.lab-info-next p { margin: 0; color: var(--lab-muted); font-size: .8rem; }
.lab-info-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.lab-contact-hero { grid-template-columns: 1fr 1fr; margin-bottom: 2.5rem; }
.lab-contact-hero h1 { margin-bottom: 0; }
.lab-contact-hero > .lab-info-intro { max-width: 420px; }
.lab-contact-channels { display: grid; grid-template-columns: 1.15fr 1fr; gap: 1.1rem; margin-bottom: 1.25rem; }
.lab-contact-channel { display: flex; flex-direction: column; align-items: flex-start; padding: 2rem; border: 1px solid var(--lab-line); border-radius: 13px; background: #fff; }
.lab-contact-email { background: #edf6f5; border-color: #d5e6e5; }
.lab-contact-icon { width: 30px; height: 30px; margin-bottom: 1.8rem; color: var(--lab-teal); }
.lab-contact-channel .lab-info-kicker { margin-bottom: .55rem; }
.lab-contact-channel h2 { margin: 0 0 .8rem; color: var(--lab-ink); font-size: 1.25rem; line-height: 1.4; font-weight: 550; letter-spacing: -.025em !important; }
.lab-contact-channel > p:not(.lab-info-kicker) { max-width: 420px; margin: 0 0 1rem; color: var(--lab-muted); font-size: .81rem; line-height: 1.8; }
.lab-contact-address { display: block; width: 100%; margin: auto 0 1.4rem; padding-top: .4rem; color: var(--lab-ink); font-size: clamp(1.15rem, 1.9vw, 1.7rem); font-weight: 550; letter-spacing: -.025em !important; text-decoration: none; overflow-wrap: anywhere; }
.lab-contact-address:hover { color: var(--lab-teal); text-decoration: underline; }
.lab-contact-channel .cp-button { min-height: 46px; }
.lab-contact-essentials { display: grid; grid-template-columns: .7fr 1.3fr; gap: 3rem; padding: 1.75rem 2rem; margin-bottom: 2.5rem; border: 1px solid var(--lab-line); border-radius: 11px; background: #f4f8f9; }
.lab-contact-essentials .lab-info-kicker { margin-bottom: .5rem; }
.lab-contact-essentials h2 { margin-bottom: 0; color: var(--lab-ink); font-size: 1.2rem; font-weight: 550; letter-spacing: -.02em !important; }
.lab-contact-essentials p:not(.lab-info-kicker) { margin: 0; color: var(--lab-muted); font-size: .79rem; line-height: 1.8; }
.lab-contact-essentials .lab-contact-privacy { margin-top: .4rem !important; font-size: .71rem !important; }
.lab-contact-topics { padding-top: .2rem; border-top: 0; margin-bottom: 2.5rem; }
.lab-contact-bottom { display: grid; grid-template-columns: 1.15fr 1fr; gap: 1.1rem; }
.lab-contact-bottom .cp-panel { padding: 2rem; border: 1px solid var(--lab-line); border-radius: 13px; background: #fff; }
.lab-contact-bottom h2 { color: var(--lab-ink); font-size: 1.25rem; line-height: 1.4; font-weight: 550; }
.lab-contact-bottom p:not(.lab-info-kicker) { color: var(--lab-muted); font-size: .8rem; line-height: 1.85; }
.lab-contact-bottom .lab-contact-scope { background: #f1f6f6; }
.lab-contact-bottom .lab-info-small { font-size: .72rem !important; margin-bottom: 0; }
@media (max-width: 991.98px) {
  .lab-info-hero { gap: 2rem; }
  .lab-info-hero h1 { font-size: 3rem; }
  .lab-info-hero-art img { height: 340px; }
  .lab-info-principles article { padding-inline: 1.25rem; }
  .lab-info-process { gap: 2.5rem; }
  .lab-info-scope { gap: 2rem; padding: 2rem; }
  .lab-contact-channel { padding: 1.5rem; }
  .lab-contact-essentials { gap: 1.5rem; padding: 1.5rem; }
  .lab-contact-address { font-size: 1.25rem; }
}
@media (max-width: 767.98px) {
  .lab-information-page .cp-page { padding-top: 1.25rem; }
  .lab-info-breadcrumb { margin-bottom: 1.75rem; }
  .lab-info-hero { grid-template-columns: 1fr; gap: 1.75rem; margin-bottom: 2.5rem; }
  .lab-info-hero h1 { font-size: clamp(2.5rem, 8vw, 3.5rem); }
  .lab-info-hero-art img { height: 260px; object-position: 65% center; }
  .lab-info-intro { font-size: .87rem; }
  .lab-info-principles { grid-template-columns: 1fr; padding: 0; margin-bottom: 2.5rem; }
  .lab-info-principles article, .lab-info-principles article:first-child, .lab-info-principles article:last-child { padding: 1.5rem 0; }
  .lab-info-principles article + article { border-left: 0; border-top: 1px solid var(--lab-line); }
  .lab-info-number { margin-bottom: .65rem; }
  .lab-info-process, .lab-info-scope { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2.5rem; }
  .lab-info-section-copy > p:not(.lab-info-kicker) { max-width: 500px; }
  .lab-info-scope { padding: 1.75rem; }
  .lab-info-scope h2 { margin-bottom: 0; }
  .lab-contact-hero { gap: 1.25rem; margin-bottom: 2rem; }
  .lab-contact-channels, .lab-contact-bottom { grid-template-columns: 1fr; }
  .lab-contact-channel { padding: 1.5rem; }
  .lab-contact-icon { margin-bottom: 1.3rem; }
  .lab-contact-address { font-size: 1.4rem; }
  .lab-contact-essentials { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1.25rem; }
  .lab-contact-topics { margin-bottom: 1.5rem; }
  .lab-contact-bottom .cp-panel { padding: 1.5rem; }
}
@media (max-width: 575.98px) {
  .lab-information-page .cp-page { padding-bottom: 3rem; }
  .lab-info-breadcrumb { font-size: .67rem; margin-bottom: 1.5rem; }
  .lab-info-kicker { font-size: .59rem; margin-bottom: .8rem; }
  .lab-info-hero h1 { font-size: 2.65rem; margin-bottom: 1rem; }
  .lab-info-intro { font-size: .83rem; line-height: 1.85; }
  .lab-info-hero-copy > .lab-info-intro { margin-bottom: 1rem; }
  .lab-info-hero-art img { height: 220px; }
  .lab-info-section-copy h2, .lab-info-scope h2 { font-size: 1.9rem; }
  .lab-info-scope { padding: 1.5rem; }
  .lab-info-next { align-items: stretch; }
  .lab-info-actions { width: 100%; }
  .lab-info-actions .cp-button { flex: 1 1 auto; font-size: .75rem; }
  .lab-contact-hero h1 { margin-bottom: 0; }
  .lab-contact-channel h2, .lab-contact-bottom h2 { font-size: 1.15rem; }
  .lab-contact-address { font-size: 1.25rem; margin-bottom: 1.1rem; }
  .lab-contact-channel .cp-button { width: 100%; }
  .lab-contact-essentials { padding: 1.25rem; }
}
@media (max-width: 359.98px) {
  .lab-info-hero h1 { font-size: 2.3rem; }
  .lab-contact-address { font-size: 1.05rem; }
  .lab-contact-channel, .lab-contact-bottom .cp-panel { padding: 1.25rem; }
}
