/* Product positioning uses the shared site grid, palette and typography. */
.product-body { --product-rule:rgba(11,16,22,.2); }
.product-landing { overflow-wrap:anywhere; }
.product-hero, .product-section { padding-block:clamp(64px,7vw,112px); }
.product-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:40px var(--site-grid-gap); }
.product-intro { align-items:center; }
.product-intro h1 { max-width:13ch; margin:0; font-size:clamp(42px,4.8vw,76px); line-height:1.06; font-weight:400; letter-spacing:-.035em; text-wrap:balance; }
.product-lead { margin:0; max-width:40ch; font-size:clamp(18px,1.6vw,22px); line-height:1.65; color:rgba(11,16,22,.72); }
.product-section h2 { margin:0; max-width:24ch; font-size:clamp(34px,3.8vw,58px); font-weight:400; line-height:1.12; letter-spacing:-.025em; text-wrap:balance; }
.product-section p { margin:0; font-size:1.0625rem; line-height:1.75; }
.product-dark { --product-rule:rgba(242,241,237,.24); background:var(--ink-raised); color:var(--paper); }
.product-dark .product-capability p { color:rgba(242,241,237,.76); }
.product-capabilities { display:grid; grid-template-columns:minmax(0,1fr); gap:40px var(--site-grid-gap); margin-top:56px; }
.product-capability { border-top:1px solid var(--product-rule); padding-top:24px; }
.product-number { color:var(--signal); font-size:.875rem; letter-spacing:.06em; }
.product-capability h3 { margin:24px 0 18px; font-size:clamp(26px,2.5vw,36px); font-weight:400; line-height:1.2; }
.product-capability p { max-width:40ch; }
.product-contact .product-grid p { max-width:44ch; color:rgba(11,16,22,.72); }
.product-link { display:inline-flex; align-items:center; justify-content:space-between; gap:40px; max-width:100%; margin-top:24px; padding:12px 0; border-bottom:1px solid currentColor; font-size:1rem; }
.product-link span { color:var(--signal); font-size:1.5rem; }
.product-link:hover { border-color:var(--signal); }
.product-link:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.product-contact .product-scope { margin-top:48px; font-size:.875rem; line-height:1.7; color:rgba(11,16,22,.68); }
@media (min-width:992px) {
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-capabilities { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:575.98px) {
  .product-hero, .product-section { padding-block:52px; }
  .product-grid { row-gap:32px; }
  .product-capabilities { margin-top:36px; }
  .product-contact .product-scope { margin-top:32px; }
}
