/* Synthetic webcam case study and image dataset. Shared brand tokens: site.css. */
.opc-hero{background:linear-gradient(120deg,#fff5e8,#fff0dc 65%,#ffe0b2);border-bottom:1px solid #eed0a6;padding:48px 0 56px}
.opc-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:.84rem;color:var(--muted);margin-bottom:28px}
.opc-hero h1{max-width:980px;font-size:clamp(2.1rem,4.4vw,3.8rem);line-height:1.12}
.opc-intro{font-size:1.15rem;max-width:760px;color:#354e5b;line-height:1.7}
.opc-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.85rem;color:var(--muted);margin-top:22px}
.opc-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid #dfc8a9;margin-top:30px;padding-top:22px;max-width:780px}
.opc-stats dt{font-size:1.7rem;letter-spacing:-.04em;font-weight:750;line-height:1.2}
.opc-stats dd{margin:6px 0 0;color:var(--muted);font-size:.85rem}
.opc-layout{display:grid;grid-template-columns:220px minmax(0,780px);gap:64px;justify-content:center;padding-block:52px 80px}
.opc-toc{align-self:start;position:sticky;top:110px;border-left:2px solid var(--line);padding-left:20px;font-size:.84rem}
.opc-toc p{margin-top:0;font-weight:700}.opc-toc ol{padding:0;list-style:none;margin-bottom:0}.opc-toc li{margin-top:12px}.opc-toc a{text-decoration:none;color:var(--muted)}.opc-toc a:hover{text-decoration:underline;color:var(--ink)}
.opc-prose{min-width:0}.opc-prose h2{font-size:clamp(1.6rem,2.5vw,2.1rem);margin:52px 0 18px;scroll-margin-top:16px}.opc-prose h2:first-child{margin-top:0}.opc-prose h3{margin:28px 0 12px}.opc-prose p{margin-top:18px}.opc-prose li{margin-top:10px}.opc-prose code{font-size:.88em;background:var(--wash);padding:2px 5px;border-radius:4px;overflow-wrap:anywhere}
.opc-prose pre{overflow:auto;max-width:100%;padding:22px;background:var(--ink);color:#e9f0f3;border-radius:10px;line-height:1.65;font-size:.82rem}.opc-prose pre code{padding:0;background:transparent;color:inherit;overflow-wrap:normal}
.opc-prose figure{margin:30px 0}.opc-prose figure img{display:block;width:100%;border-radius:10px}.opc-prose figcaption{font-size:.82rem;color:var(--muted);margin-top:12px;line-height:1.6}
.opc-table{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin:24px 0}.opc-table table{border-collapse:collapse;width:100%;font-size:.86rem}.opc-table th,.opc-table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.opc-table th{background:var(--wash);font-weight:650}.opc-table tr:last-child td{border-bottom:0}.opc-table code{background:transparent;padding:0}
.opc-note{padding:23px 26px;border-left:3px solid var(--orange);background:var(--orange-light);border-radius:0 9px 9px 0;margin:28px 0}.opc-note p:first-child{margin-top:0}.opc-note p{font-size:.94rem}
.opc-resource{padding:26px;border:1px solid var(--line);border-radius:12px;margin-top:24px;background:#fff}.opc-resource h3{margin:0 0 10px}.opc-resource p{margin-top:10px;color:var(--muted)}.opc-resource .button{margin-top:18px}
.opc-product-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}.opc-product-grid h1{font-size:clamp(2.25rem,4vw,3.5rem)}.opc-product-visual img{width:100%;border-radius:12px;box-shadow:0 15px 40px #142b3815}.opc-product-visual figcaption{font-size:.82rem;color:var(--muted);margin-top:12px}
.opc-price{font-size:1.45rem;font-weight:700;margin-top:22px}.opc-price span{font-size:.88rem;color:var(--muted);font-weight:400;margin-left:10px}.opc-availability{font-size:.87rem;color:var(--muted);margin-top:15px;max-width:580px}
.opc-content{max-width:1040px;padding-block:54px 72px}.opc-content h2{margin:50px 0 18px;font-size:clamp(1.65rem,3vw,2.3rem);scroll-margin-top:16px}.opc-content h2:first-child{margin-top:0}.opc-content p{max-width:850px}
.opc-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}.opc-spec{border:1px solid var(--line);border-radius:10px;padding:24px}.opc-spec b{display:block;font-size:1.06rem}.opc-spec p{font-size:.93rem;color:var(--muted);margin-top:8px}
.opc-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 16px;margin:28px 0}.opc-gallery figure{min-width:0;margin:0}.opc-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:var(--wash);border-radius:8px}.opc-gallery figcaption{font-size:.8rem;margin-top:9px;line-height:1.4;color:var(--muted)}
.opc-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.opc-downloads .opc-resource{margin:0}.opc-downloads p{font-size:.92rem}.opc-status{display:inline-block;font-size:.77rem;font-weight:650;letter-spacing:.02em;background:var(--wash);color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:5px 9px;margin-top:15px}
.opc-related{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);font-size:.95rem}.opc-related h2{font-size:1.4rem;margin:0 0 18px}
@media(max-width:980px){.opc-layout{grid-template-columns:minmax(0,780px);gap:30px}.opc-toc{position:static;border:1px solid var(--line);border-radius:10px;padding:20px}.opc-toc ol{columns:2}.opc-toc li{break-inside:avoid}.opc-product-grid{gap:30px}}
@media(max-width:700px){.opc-hero{padding:28px 0 36px}.opc-product-grid{grid-template-columns:1fr}.opc-product-visual{max-width:540px}.opc-layout{padding-block:30px 50px}.opc-toc ol{columns:1}.opc-stats{gap:12px}.opc-stats dt{font-size:1.4rem}.opc-stats dd{font-size:.78rem}.opc-specs,.opc-downloads{grid-template-columns:1fr}.opc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.opc-note,.opc-resource{padding:20px}.opc-table th,.opc-table td{padding:11px;font-size:.8rem}.opc-content{padding-block:36px 48px}.opc-intro{font-size:1.04rem}}

.opc-related .text-link{white-space:normal}
.opc-content .opc-table table{min-width:560px}
