/* Shared typography and spacing. Individual page structures remain independently authored. */
.product-story{--story-accent:#1766dd;--story-ink:#23343d;--story-muted:#576b75;background:#f5f6f3;color:var(--story-ink);overflow-x:clip}
.product-story h1{font-size:clamp(36px,4.5vw,70px);font-weight:500;line-height:1.12;letter-spacing:-.045em;margin:22px 0 30px;max-width:1180px;overflow-wrap:anywhere}
.product-story h2{font-size:clamp(27px,2.9vw,43px);font-weight:500;line-height:1.22;letter-spacing:-.035em;margin:0 0 25px;overflow-wrap:break-word}
.product-story h3{font-size:23px;font-weight:500;line-height:1.35;letter-spacing:-.015em;margin:0 0 16px}
.product-story h4{font-size:17px;line-height:1.5;margin:0 0 12px}
.product-story p{font-size:16px;line-height:1.95;margin:0 0 20px;color:inherit}
.product-story strong{font-weight:600}.product-story .story-prose{min-width:0;color:inherit}
.product-story ul,.product-story ol{font-size:16px;line-height:1.9;margin:20px 0;padding-left:24px}.product-story li{margin:9px 0}
.product-story img{display:block;max-width:100%;height:auto;object-fit:contain}.product-story figure{margin:0;min-width:0}.product-story figcaption{font:11px/1.7 var(--mono);color:#6f8289;padding:15px 0}
.product-story header img{width:100%;max-width:1120px;margin:28px auto 0}.product-story>header.wrap{padding-top:34px;padding-bottom:48px}
.product-story>header>.wrap{padding-top:34px;padding-bottom:50px}.product-story .story-opening{padding-top:34px;padding-bottom:50px}
.product-story .story-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;line-height:1.7;color:#677b84;padding:8px 0 28px}.product-story .story-crumb a:hover{color:var(--story-accent)}
.product-story .story-intro{font-size:clamp(20px,1.9vw,28px);line-height:1.6;letter-spacing:-.015em;max-width:940px;margin:22px 0 30px;color:inherit}
.product-story .eyebrow{margin-bottom:22px}.product-story .eyebrow:before{background:var(--story-accent)}
.product-story .story-section{padding:80px 0}.product-story>section.wrap{padding-block:70px}.product-story>:where(section:not(.story-section):not(.wrap)){padding:65px 0}
.product-story .story-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:start}
.product-story .story-grid,.product-story .problem-columns,.product-story .scope-board,.product-story .system-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.product-story .story-grid>section,.product-story .problem-columns>section,.product-story .scope-board>section{border-top:1px solid #bdcbd0;padding-top:24px}
.product-story .story-note{padding:30px;background:#e5eceb;border-left:3px solid var(--story-accent);font-size:15px}.product-story .story-note h3{font-size:22px}.product-story .story-note a{font-size:13px;text-decoration:underline}
.product-story .story-index{display:block;font:12px/1.6 var(--mono);letter-spacing:.12em;color:var(--story-accent);margin-bottom:22px}
.product-story .story-related{display:flex;flex-wrap:wrap;gap:15px 25px;margin-top:30px;font-size:14px}.product-story .story-related a,.product-story p>a:not(.button){text-decoration:underline;text-underline-offset:3px}
.product-story .button{margin:16px 18px 10px 0;background:var(--story-accent)}.product-story .text-link{margin:15px 22px 10px 0;font-size:14px}
.product-story .project-prompt{margin-top:35px;padding-top:25px;border-top:1px solid #c9d3d6}
.product-story table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7;background:#fff;margin:25px 0}.product-story th,.product-story td{padding:18px 20px;border:1px solid #d2dcdf;text-align:left;vertical-align:top}.product-story thead{background:#24363f;color:#fff}.product-story table p{font-size:15px;margin:0}
.product-story .table-wrap{overflow-x:auto}.product-story dl{margin:0}.product-story dt{font-weight:600}.product-story dd{margin:8px 0 22px;color:inherit;line-height:1.8}
.product-story details{border-top:1px solid #c6d3d8;padding:20px 0}.product-story summary{cursor:pointer;font-size:20px;line-height:1.5}.product-story details>p{margin-top:20px}
.product-story .eyebrow{color:inherit;opacity:.75}.product-story>header:not(.wrap){padding-top:34px;padding-bottom:48px}
