/* Scoped to BlueprintPlotter pages; other product styles are unchanged. */
.bp { --accent:#185da1; }
@media (prefers-color-scheme: dark) { .bp { --accent:#8fddff; } }
.bp main { width:min(1080px, calc(100% - 40px)); padding-top:28px; }
.bp .site-nav { align-items:center; margin:0 0 36px; gap:16px 24px; }
.bp .site-nav a:first-child { margin-right:auto; }
.bp a:hover { text-decoration:underline; }
.bp a:focus-visible, .bp summary:focus-visible { outline:3px solid #bd5a00; outline-offset:5px; border-radius:3px; }
.bp .skip { position:absolute; left:20px; top:-100px; padding:12px; background:var(--panel); z-index:2; }
.bp .skip:focus { top:10px; }
.bp .hero { display:grid; grid-template-columns:1.5fr 1fr; gap:32px; align-items:center; padding:48px; border-radius:24px; color:#f6fbff; background-color:#0c315a; background-image:linear-gradient(#6cbded17 1px,transparent 1px),linear-gradient(90deg,#6cbded17 1px,transparent 1px); background-size:32px 32px; }
.bp .hero h1 { font-size:clamp(2.3rem,5vw,3.8rem); max-width:650px; }
.bp .hero .lede { color:#d8eafa; }
.bp .hero img { width:100%; height:auto; max-width:310px; justify-self:center; border-radius:20%; }
.bp .kicker { font-size:.85rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.bp .actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:24px; }
.bp .cta { display:inline-block; padding:12px 20px; border-radius:10px; background:#b7edff; color:#092d4b; font-weight:700; text-decoration:none; }
.bp .hero a:not(.cta) { color:#c4efff; }
.bp .cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:32px 0; }
.bp .cards .panel { margin:0; border-radius:16px; }
.bp .cards h2 { margin-top:0; }
.bp .product-shot { margin:32px 0; }
.bp .product-shot img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 48px #092d4b1f; }
.bp .product-shot figcaption { max-width:760px; margin:14px auto 0; color:var(--muted); text-align:center; }
.bp .product-shot figcaption strong { color:var(--text); }
.bp .product-shot-wide { margin:40px 0 56px; }
.bp .showcase { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:16px 0 48px; }
.bp .showcase .product-shot { margin:0; }
.bp .note { border-left:4px solid var(--accent); padding:14px 20px; background:var(--panel); }
.bp .reading { max-width:780px; margin-inline:auto; }
.bp .reading h1 { font-size:clamp(2rem,5vw,3rem); }
.bp section[id] { scroll-margin-top:24px; }
.bp .contents { background:var(--panel); border:1px solid var(--line); padding:24px; border-radius:12px; }
.bp .contents ol { columns:2; margin-bottom:0; }
.bp li { margin-bottom:10px; }
.bp details { background:var(--panel); padding:18px 22px; border:1px solid var(--line); border-radius:10px; margin:12px 0; }
.bp summary { cursor:pointer; font-weight:650; }
.bp table { border-collapse:collapse; width:100%; margin:20px 0; }
.bp th,.bp td { text-align:left; vertical-align:top; border-bottom:1px solid var(--line); padding:12px; }
.bp a { overflow-wrap:anywhere; }
@media(max-width:700px) { .bp .hero { grid-template-columns:1fr; padding:28px; } .bp .hero img { max-width:180px; grid-row:1; } .bp .cards,.bp .showcase { grid-template-columns:1fr; } .bp .product-shot,.bp .product-shot-wide { margin:28px 0; } .bp .product-shot img { border-radius:10px; } .bp .contents ol { columns:1; } .bp .site-nav { gap:12px 18px; } }
