.product-page{color:var(--text);background:var(--page)}.product-frame{max-width:var(--page-content-width);border-inline:1px solid var(--border);margin-inline:auto}.product-hero,.product-section,.product-faq,.product-cta{padding:80px var(--page-gutter)}.product-hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:44px;min-height:590px;display:grid}.product-hero h1{letter-spacing:-.05em;margin:0;font-family:inherit;font-size:clamp(38px,4.1vw,64px);font-weight:600;line-height:1.08}.product-hero h1 span{color:var(--muted)}.product-hero-copy,.product-hero-visual,.product-section-copy,.product-section-visual{min-width:0}.product-lead{max-width:510px;color:var(--text-secondary);margin:28px 0;font-size:17px;line-height:1.8}.product-actions{flex-wrap:wrap;gap:12px;display:flex}.product-button{border:1px solid var(--text);background:var(--text);min-height:44px;color:var(--page);border-radius:6px;justify-content:space-between;align-items:center;gap:24px;padding:12px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.product-button:hover{opacity:.85}.product-button.secondary{color:var(--text);border-color:var(--border-strong);background:0 0}.product-button.secondary:hover{background:var(--surface-hover);opacity:1}.product-page :is(a,summary):focus-visible{outline:2px solid var(--text);outline-offset:4px}.product-editor-image{margin:0}.product-editor-image img{width:100%;height:auto;display:block}.product-editor-image figcaption,.product-diagram figcaption{color:var(--muted);text-align:center;margin:20px 0 0;font-size:12px;line-height:1.6}.product-facts{border-block:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.product-facts>div{padding:30px var(--page-gutter)}.product-facts>div+div{border-left:1px solid var(--border)}.product-index,.product-overline{color:var(--muted);letter-spacing:.06em;font-family:ui-monospace,monospace;font-size:11px}.product-facts h2{margin:18px 0 10px;font-size:17px;font-weight:600}.product-facts p,.product-section-copy p,.product-section-copy li,.product-cta p,.product-answer{color:var(--text-secondary);font-size:15px;line-height:1.8}.product-facts p{margin:0}.product-section{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.product-section.reverse .product-section-copy{order:2}.product-section h2,.product-faq h2,.product-cta h2{letter-spacing:-.04em;margin:0 0 22px;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.18}.product-section-copy .marketing-overline{color:var(--muted);font-size:11px}.product-section-copy>p:last-child{margin-bottom:0}.product-section-copy ul{margin:20px 0 0;padding-left:20px}.product-section-copy li+li{margin-top:8px}.product-text-link{text-underline-offset:5px;margin-top:12px;font-size:14px;text-decoration:underline;display:inline-block}.product-diagram{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:0;padding:32px}.pattern-diagram{padding:12px 20px 24px}.pattern-diagram svg{width:100%;height:auto;display:block}.pattern-diagram figcaption{margin-top:0}.diagram-shape{stroke:var(--text);stroke-width:2px;fill:var(--selected)}.diagram-guide{stroke:var(--border-strong);stroke-dasharray:4 5}.diagram-handle,.diagram-dimension{stroke:var(--muted);stroke-width:1.5px}.diagram-node{fill:var(--surface);stroke:var(--text);stroke-width:1.5px}.diagram-seam{stroke:var(--text);stroke-width:2.5px;stroke-dasharray:1 7;stroke-linecap:round}.pattern-diagram text{fill:var(--muted);font-family:inherit;font-size:12px}.diagram-heading{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding-bottom:24px;display:flex}.diagram-heading strong{margin-top:5px;font-size:20px;font-weight:500;display:block}.diagram-folder{color:var(--muted);font-size:36px}.diagram-filetype{color:var(--muted);margin-left:auto;font-family:ui-monospace,monospace;font-size:11px}.diagram-files{grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0;display:grid}.diagram-files>div{text-align:center;min-width:0;color:var(--text-secondary);font-size:12px}.diagram-files svg{border:1px solid var(--border);background:var(--page);width:100%;margin-bottom:10px;display:block}.diagram-files path{stroke:var(--text);stroke-width:1.5px}.diagram-connection{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-block:18px;font-size:12px;display:flex}.diagram-connection strong{border:1px solid var(--border-strong);border-radius:6px;padding:8px 14px;font-weight:500}.history-diagram ol,.school-diagram ol{margin:28px 0 0;padding:0;list-style:none}.history-diagram li{align-items:flex-start;gap:20px;padding-bottom:28px;display:flex;position:relative}.history-diagram li:not(:last-child):before{content:"";border-left:1px solid var(--border-strong);position:absolute;top:34px;bottom:0;left:16px}.history-dot{border:1px solid var(--border-strong);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-family:ui-monospace,monospace;font-size:12px;display:grid}.history-diagram strong,.school-diagram strong{font-size:17px;font-weight:500}.history-diagram p:not(.product-overline),.school-diagram li p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.6}.history-diagram li:last-child{padding-bottom:0}.school-diagram li{border-top:1px solid var(--border);align-items:center;gap:22px;padding:26px 0;display:flex}.school-diagram li>span:first-child{letter-spacing:-.05em;color:var(--muted);font-family:ui-monospace,monospace;font-size:24px}.school-step-arrow{color:var(--muted);margin-left:auto}.product-outline{margin:0;padding:0;list-style:none}.product-outline li{border-bottom:1px solid var(--border);padding:22px 0}.product-outline li:first-child{padding-top:0}.product-outline li:last-child{border-bottom:0;padding-bottom:0}.product-outline strong{margin-bottom:8px;font-size:18px;font-weight:500;display:block}.product-outline p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.8}.product-faq{border-bottom:1px solid var(--border);grid-template-columns:1fr 1.4fr;gap:64px;display:grid}.product-faq details{border-bottom:1px solid var(--border)}.product-faq details:first-child{border-top:1px solid var(--border)}.product-faq summary{cursor:pointer;padding:22px 28px 22px 0;font-size:16px;font-weight:500;list-style:none;position:relative}.product-faq summary::-webkit-details-marker{display:none}.product-faq summary:after{content:"+";color:var(--muted);font-size:20px;position:absolute;top:20px;right:4px}.product-faq details[open] summary:after{content:"−"}.product-answer{padding-bottom:22px}.product-answer a{text-underline-offset:3px;text-decoration:underline}.product-cta{background:var(--surface);justify-content:space-between;align-items:center;gap:40px;display:flex}.product-cta h2{margin-bottom:14px}.product-cta p{max-width:620px;margin:0}.product-cta .product-button{flex-shrink:0}@media (max-width:1100px){.product-hero{gap:28px;min-height:auto}.product-section{gap:40px}.product-diagram{padding:24px}.pattern-diagram{padding:8px 12px 20px}.diagram-heading strong{font-size:17px}.diagram-filetype{display:none}}@media (max-width:800px){.product-hero,.product-section,.product-faq{grid-template-columns:1fr;gap:36px}.product-hero,.product-section,.product-faq,.product-cta{padding-block:48px}.product-hero h1{max-width:650px;font-size:clamp(38px,7vw,56px)}.product-hero-visual,.product-section-visual{width:100%;max-width:600px;margin-inline:auto}.product-section.reverse .product-section-copy{order:0}.product-facts>div{padding:24px 18px}.product-facts h2{font-size:16px}.product-facts p{font-size:14px}.product-cta{flex-direction:column;align-items:flex-start;gap:24px}}@media (max-width:500px){.product-lead{margin-block:22px;font-size:16px}.product-actions{flex-direction:column;align-items:stretch}.product-facts{grid-template-columns:1fr}.product-facts>div{padding:24px var(--page-gutter)}.product-facts>div+div{border-left:0;border-top:1px solid var(--border)}.product-facts h2{margin-top:10px}.product-diagram{padding:20px 16px}.pattern-diagram{padding:8px 8px 20px}.diagram-connection{gap:6px;font-size:11px}.diagram-connection strong{padding-inline:10px}.product-cta .product-button{width:100%}}
