/* Shared presentation for product overviews; existing methods and source remain below. */
section[id] { scroll-margin-top: 100px; }
.hero { min-height: auto; padding-top: 145px; padding-bottom: 80px; }
.hero-grid { align-items: center; }
.hero-wordmark { overflow-wrap: normal; font-size: clamp(54px,6.8vw,112px); line-height: 1.02; }
.hero-wordmark.study-title { font-size: clamp(48px,5.2vw,82px); }
.hero-subtitle { font-family: 'Inter', sans-serif; font-size: clamp(17px,1.3vw,20px); line-height: 1.7; font-weight: 300; text-wrap: pretty; margin-bottom: 28px; }
.hero-eyebrow { letter-spacing: .19em; line-height: 1.6; }
.hero-meta-chip { font-size: 10px; letter-spacing: .06em; }
.hero-cta-group { flex-wrap: wrap; gap: 16px; }
.product-access-note { font-family: 'Inter',sans-serif; font-size: 13px; line-height: 1.7; color: #aebbc4; max-width: 560px; margin-top: 23px; }
.hero-artifact { min-width: 0; }
.hero-artifact-tag { line-height: 1.6; }
.hero-shot-cap { line-height: 1.6; }
.product-jumps { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 30px; background: #0d1117; padding: 23px 64px; border-top: 1px solid #253039; font: 13px/1.6 'Inter',sans-serif; }
.product-jumps > span { color: #93a5ae; text-transform: uppercase; letter-spacing: .15em; font-size: 10px; margin-right: 12px; }
.product-jumps a { color: #eef0f3; text-decoration: none; }
.product-jumps a:hover { color: #8bbfbf; }
.product-overview { background: #fff; color: #1a1d24; padding: 75px 64px; }
.product-section-heading > p, .product-kicker { color: #2a6363; text-transform: uppercase; letter-spacing: .2em; font-size: 11px; margin-bottom: 22px; }
.product-section-heading h2 { font: 400 clamp(30px,3vw,46px)/1.15 'Inter',sans-serif; letter-spacing: -.035em; margin-bottom: 40px; }
.product-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 45px; margin: 0; }
.product-facts > div { border-top: 1px solid #cdd7da; padding-top: 23px; }
.product-facts dt { font: 500 16px/1.5 'Inter',sans-serif; margin-bottom: 12px; }
.product-facts dd { font: 300 16px/1.75 'Inter',sans-serif; color: #424b54; margin: 0; max-width: 500px; }
.product-boundary { margin-top: 35px; padding-top: 25px; border-top: 1px solid #e0e5e8; color: #535f67; font: 400 13px/1.8 'Inter',sans-serif; max-width: 1250px; }
.product-boundary strong { color: #2a6363; margin-right: 10px; font-weight: 500; }
.section-lede, .surface-card-text, .pill-text { font-family: 'Inter',sans-serif; font-size: 16px; line-height: 1.8; }
.surface-card-title { line-height: 1.25; }
.surface-card-meta { flex-wrap: wrap; gap: 12px; }
.badge { white-space: normal; line-height: 1.6; }
.product-start { background: #eaf0f0; color: #1a1d24; padding: 75px 64px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: center; }
.product-start h2 { font: 400 clamp(32px,3.5vw,50px)/1.15 'Inter',sans-serif; letter-spacing: -.035em; margin-bottom: 22px; }
.product-start p:not(.product-kicker) { font: 300 16px/1.75 'Inter',sans-serif; max-width: 580px; }
.product-start-actions { display: flex; align-items: flex-start; flex-direction: column; gap: 23px; }
.product-start-actions > p { color: #535f67; font-size: 13px !important; }
.product-text-link { color: #2a6363; font: 500 14px/1.6 'Inter',sans-serif; text-decoration: none; }
.product-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1000px) { .product-facts { gap: 25px; } .product-start { gap: 35px; } }
@media (max-width: 900px) {
 .hero { padding-top: 115px; padding-bottom: 55px; }
 .hero-wordmark, .hero-wordmark.study-title { font-size: clamp(48px,8vw,78px); }
 .product-jumps { padding: 20px 28px; gap: 12px 24px; }
 .product-overview, .product-start { padding: 55px 28px; }
 .product-facts { grid-template-columns: 1fr; gap: 24px; }
 .product-facts dd { max-width: none; }
 .product-start { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
 .hero { padding: 105px 20px 45px; }
 .hero-wordmark, .hero-wordmark.study-title { font-size: 46px; letter-spacing: -.05em; }
 .hero-subtitle { font-size: 17px; }
 .hero-eyebrow { font-size: 10px; }
 .hero-meta { flex-wrap: wrap; }
 .hero-artifact { padding-left: 16px; padding-right: 16px; }
 .product-jumps { padding: 20px; gap: 12px 20px; }
 .product-jumps > span { flex-basis: 100%; }
 .product-overview, .product-start { padding: 45px 20px; }
 .product-start .btn-primary { text-align: center; width: 100%; line-height: 1.6; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
.hero-wordmark { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
/* Long package names and registry identifiers must remain readable on phones. */
.surface code, .wf-meta code { overflow-wrap: anywhere; white-space: normal; }
.wf-meta-item { flex-wrap: wrap; max-width: 100%; }
@media (max-width: 480px) {
 .hero-artifact:has(.hero-artifact-img) { aspect-ratio: auto; padding-top: 45px; padding-bottom: 45px; }
 .hero-artifact-img { height: auto; }
}
