/* Supporting pages: a clear title, a useful image, and details when requested.
   The carousel keeps its own typography and information layout. */
body.carousel-mode { --display:'Instrument Sans',system-ui,sans-serif; }
body:not(.carousel-mode) h1 { font-family:var(--display); font-weight:600; letter-spacing:var(--track-display); text-wrap:balance; }
body:not(.carousel-mode) h2 { font-family:var(--display); font-weight:600; letter-spacing:var(--track-display); }
body:not(.carousel-mode) h3 { font-family:var(--font); font-weight:600; letter-spacing:-.02em; }
body:not(.carousel-mode) :is(.home-heading h1,.collection-main>h1,.kit-page-head h1,.guide-header h1,.essay h1) { font-size:clamp(var(--text-44),7vw,var(--text-96)); line-height:1.05; margin-top:0; }
body:not(.carousel-mode) :is(.collection-main,.kit-main,.essay) { padding-top:64px; }
body:not(.carousel-mode) :is(.intro,.lede,.wiki-description,.project-lede) { font:400 16px/1.65 var(--font); max-width:54ch; color:var(--muted); }
body:not(.carousel-mode) .eyebrow { font:400 12px/1.5 var(--mono); letter-spacing:.02em; }
body:not(.carousel-mode) .workbench-header-inner { min-height:72px; }
body:not(.carousel-mode) .brand-bracket { display:none; }
body:not(.carousel-mode) .discovery-footer { margin-top:72px; padding-block:24px; border-top:1px solid var(--line); }
body:not(.carousel-mode) .discovery-footer nav { font-size:var(--text-13); }
/* Discovery: names and one-line ideas, without a second layer of sales copy. */
body:not(.carousel-mode) .home-heading { padding-top:52px; align-items:end; gap:32px; }
body:not(.carousel-mode) .home-search { margin-bottom:6px; }
body:not(.carousel-mode) .discovery-topics { margin:24px 0 32px; }
body:not(.carousel-mode) .discovery-lead { grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); gap:28px; }
body:not(.carousel-mode) .lead-build { min-height:460px; grid-template-columns:1fr 1fr; }
body:not(.carousel-mode) .lead-build-copy { padding:32px; gap:22px; }
body:not(.carousel-mode) .lead-build-copy h2 { font-size:clamp(34px,3.7vw,52px); line-height:1.04; }
body:not(.carousel-mode) .lead-build-copy h2+p { font-size:var(--text-14); line-height:1.6; max-width:24ch; }
body:not(.carousel-mode) .feature-label { font:400 12px/1.5 var(--font); letter-spacing:0; }
body:not(.carousel-mode) .feature-status { font-size:var(--text-12); }
body:not(.carousel-mode) .compact-discovery { grid-template-columns:1fr 1fr; border:0; background:transparent; gap:18px; }
body:not(.carousel-mode) .compact-discovery .discovery-card-image { border-radius:8px; }
body:not(.carousel-mode) .compact-discovery .discovery-card-copy { padding:0; }
body:not(.carousel-mode) .discovery-card-copy h3 { font-size:var(--text-20); margin:0; }
body:not(.carousel-mode) .discovery-card-copy h3 a { display:flex; align-items:baseline; gap:10px; }
body:not(.carousel-mode) .discovery-card-copy h3 svg { width:15px; height:15px; margin-left:auto; }
body:not(.carousel-mode) .discovery-card-copy h3+p { font-size:var(--text-14); line-height:1.6; margin-top:8px; }
body:not(.carousel-mode) .discovery-card-image>span { font-size:var(--text-11); }
body:not(.carousel-mode) .closer-look { margin-top:64px; }
body:not(.carousel-mode) .workbench-section-title h2 { font-size:var(--text-32); margin:0; }
body:not(.carousel-mode) .make-something { margin-top:64px; padding-block:32px; border-bottom:0; }
body:not(.carousel-mode) .make-something h2 { font-size:var(--text-32); }
/* Device pages put the object and the choice first. */
body:not(.carousel-mode) .wiki-hero { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:clamp(32px,5vw,72px); }
body:not(.carousel-mode) .wiki-visual .device-art { aspect-ratio:1; border:0; background:var(--surface); border-radius:12px; }
body:not(.carousel-mode) .wiki-title h1 { font-size:clamp(38px,4.6vw,60px); line-height:1.04; margin-top:16px; }
body:not(.carousel-mode) .wiki-description { margin-top:20px; }
body:not(.carousel-mode) .title-meta { font-size:var(--text-13); }
body:not(.carousel-mode) .title-meta .evidence { font-size:var(--text-11); }
.device-price { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:24px; }
.device-price strong { font-size:var(--text-22); font-weight:600; letter-spacing:-.025em; }
.device-price .availability { font-size:var(--text-12); }
body:not(.carousel-mode) .wiki-actions { display:flex; gap:12px; align-items:center; margin-top:20px; }
body:not(.carousel-mode) .wiki-actions .kit-add { min-height:46px; border-radius:6px; }
.maker-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:var(--text-13); margin-top:4px; color:var(--muted); }
.maker-link svg { width:14px; }
body:not(.carousel-mode) .decision-summary { margin-top:20px; padding-top:12px; border-top:1px solid var(--line); }
body:not(.carousel-mode) .decision-summary>div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:20px; padding-block:10px; border:0; }
body:not(.carousel-mode) .decision-summary dt { font:400 12px/1.7 var(--mono); color:var(--muted); }
body:not(.carousel-mode) .decision-summary dd { font-size:var(--text-14); line-height:1.6; }
.source-date { font-size:var(--text-12); line-height:1.6; color:var(--muted); margin-top:20px; max-width:56ch; }
body:not(.carousel-mode) .photo-credit { font-size:var(--text-11); line-height:1.6; margin-top:12px; }
.device-details { margin-top:48px; }
.info-disclosure { border-top:1px solid var(--line); }
.info-disclosure:last-child { border-bottom:1px solid var(--line); }
.info-disclosure>summary { display:flex; align-items:center; gap:24px; list-style:none; cursor:pointer; padding-block:22px; min-height:64px; }
.info-disclosure>summary::-webkit-details-marker { display:none; }
.info-disclosure>summary::after { content:'+'; font:400 24px/1 var(--font); margin-left:auto; color:var(--muted); }
.info-disclosure[open]>summary::after { content:'−'; }
body:not(.carousel-mode) .info-disclosure>summary h2 { font:600 20px/1.3 var(--font); margin:0; letter-spacing:-.02em; }
.info-disclosure>summary>span { font-size:var(--text-12); color:var(--muted); margin-left:auto; }
.info-disclosure>summary>span+* { margin-left:0; }
.disclosure-copy { padding:0 0 28px; max-width:74ch; font-size:var(--text-14); line-height:1.8; }
.disclosure-copy p+p { margin-top:14px; }
.device-details .spec-table { margin-top:0; margin-bottom:24px; }
.device-build-link { display:flex; align-items:center; gap:24px; min-height:80px; border-bottom:1px solid var(--line); }
.device-build-link>span { font-size:var(--text-12); color:var(--muted); }
.device-build-link strong { font-weight:600; font-size:var(--text-18); }
.device-build-link svg { margin-left:auto; }
body:not(.carousel-mode) .alternatives { margin-top:48px; padding-top:0; border:0; }
body:not(.carousel-mode) .section-heading h2 { font-size:var(--text-32); }
body:not(.carousel-mode) .grid .card-copy h2 { font:600 22px/1.2 var(--font); letter-spacing:-.025em; }
body:not(.carousel-mode) .grid .card-meta { font-size:var(--text-12); }
body:not(.carousel-mode) .grid .device-description { font-size:var(--text-14); line-height:1.6; }
body:not(.carousel-mode) .card-controls { border-color:var(--line); }
/* Setup forms and reference pages use a quieter reading rhythm. */
body:not(.carousel-mode) #kit-mode { display:none; }
body:not(.carousel-mode) .kit-page-head { margin-bottom:36px; }
body:not(.carousel-mode) .setup-editor { border-top:1px solid var(--line); border-bottom:0; gap:40px; align-items:start; }
body:not(.carousel-mode) .setup-fields { padding-right:0; }
body:not(.carousel-mode) .setup-picker { margin-top:30px; padding:28px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
body:not(.carousel-mode) .setup-picker h2 { font-size:var(--text-28); margin-top:0; }
body:not(.carousel-mode) .setup-picker form { margin-top:24px; }
body:not(.carousel-mode) .kit-empty { border:0; padding:24px 0; }
body:not(.carousel-mode) .kit-empty h2 { font-size:var(--text-22); }
body:not(.carousel-mode) .setup-parts-head h2 { font-size:var(--text-32); }
body:not(.carousel-mode) .guide-header { text-align:left; max-width:860px; margin:36px 0 48px; }
body:not(.carousel-mode) .guide-header .guide-icon { display:none; }
body:not(.carousel-mode) .guide-header .intro { margin-left:0; }
body:not(.carousel-mode) .guide-tile { border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; padding:28px 0; }
body:not(.carousel-mode) .guide-tile .guide-icon { margin-bottom:20px; }
body:not(.carousel-mode) .guide-tile h2 { font-size:var(--text-32); }
body:not(.carousel-mode) .guide-tile p { font-size:var(--text-14); }
body:not(.carousel-mode) .guide-pick h3 { font-size:var(--text-20); }
body:not(.carousel-mode) .guide-pick p { font-size:var(--text-14); }
body:not(.carousel-mode) .guide-lower h2 { font-size:var(--text-30); }
body:not(.carousel-mode) .essay { max-width:780px; }
body:not(.carousel-mode) .essay h2 { font-size:var(--text-28); margin-top:36px; }
body:not(.carousel-mode) .essay>p:not(.eyebrow):not(.lede) { font-size:var(--text-16); line-height:1.8; }
body:not(.carousel-mode) .essay>.info-disclosure { margin-top:32px; }
body:not(.carousel-mode) .essay>.button { margin-top:24px; }
body:not(.carousel-mode) .project-intro h1 { font-size:clamp(44px,5.1vw,68px); }
body:not(.carousel-mode) .project-lede { font-size:var(--text-16); }
body:not(.carousel-mode) .build-prose .project-section h2 { font-size:var(--text-32); }
body:not(.carousel-mode) .project-section .overline { display:none; }
body:not(.carousel-mode) .project-author { margin-bottom:24px; }
body:not(.carousel-mode) .build-prose .info-disclosure { margin-top:32px; }
body:not(.carousel-mode) .build-prose .info-disclosure .project-section { padding-top:0; }
@media(max-width:1100px) {
  body:not(.carousel-mode) .discovery-lead { grid-template-columns:1fr; }
  body:not(.carousel-mode) .lead-build { min-height:420px; }
  body:not(.carousel-mode) .lead-discoveries { grid-template-columns:1fr 1fr; }
  body:not(.carousel-mode) .wiki-hero { gap:32px; }
}
@media(max-width:760px) {
  body:not(.carousel-mode) :is(.collection-main,.kit-main,.essay) { padding-top:36px; }
  body:not(.carousel-mode) .home-heading { padding-top:36px; align-items:start; }
  body:not(.carousel-mode) .home-heading h1 { font-size:var(--text-48); }
  body:not(.carousel-mode) .home-search { max-width:100%; }
  body:not(.carousel-mode) .lead-build-copy { padding:28px; }
  body:not(.carousel-mode) .lead-build-copy h2 { font-size:38px; }
  body:not(.carousel-mode) .wiki-hero { grid-template-columns:1fr; }
  body:not(.carousel-mode) .wiki-visual .device-art { aspect-ratio:1.35; }
  body:not(.carousel-mode) .wiki-title h1 { font-size:var(--text-44); }
  body:not(.carousel-mode) .setup-editor { gap:0; }
  body:not(.carousel-mode) .setup-picker { margin-top:0; }
  body:not(.carousel-mode) .info-disclosure>summary>span { display:none; }
  .device-build-link { flex-wrap:wrap; gap:8px 20px; padding-block:20px; }
  .device-build-link>span { flex-basis:100%; }
}
@media(max-width:560px) {
  body:not(.carousel-mode) .discovery-topics { margin:16px 0 24px; }
  body:not(.carousel-mode) .lead-build { grid-template-columns:1fr; min-height:0; }
  body:not(.carousel-mode) .lead-build-photo { height:300px; }
  body:not(.carousel-mode) .lead-build-copy { gap:20px; padding:28px; }
  body:not(.carousel-mode) .lead-build-copy h2 { font-size:42px; }
  body:not(.carousel-mode) .feature-status { margin:0; }
  body:not(.carousel-mode) .lead-discoveries { grid-template-columns:1fr; gap:24px; }
  body:not(.carousel-mode) .compact-discovery { min-height:170px; }
  body:not(.carousel-mode) .compact-discovery .discovery-card-image img { height:170px; }
  body:not(.carousel-mode) .closer-look { margin-top:44px; }
  body:not(.carousel-mode) .workbench-section-title { align-items:start; flex-direction:column; gap:8px; }
  body:not(.carousel-mode) .workbench-section-title h2 { font-size:var(--text-28); }
  body:not(.carousel-mode) .discovery-card-copy h3 { font-size:var(--text-22); }
  body:not(.carousel-mode) .make-something { align-items:start; flex-direction:column; gap:20px; margin-top:40px; }
  body:not(.carousel-mode) .make-something .wb-button { margin-left:0; }
  body:not(.carousel-mode) .make-something h2 { font-size:var(--text-30); }
  body:not(.carousel-mode) .decision-summary>div { grid-template-columns:88px minmax(0,1fr); gap:12px; }
  body:not(.carousel-mode) .wiki-actions { gap:12px; justify-content:start; }
  body:not(.carousel-mode) .device-details { margin-top:32px; }
  body:not(.carousel-mode) .device-price { gap:12px; }
  body:not(.carousel-mode) .device-price strong { font-size:var(--text-20); }
  body:not(.carousel-mode) .section-heading h2 { font-size:var(--text-28); }
  body:not(.carousel-mode) .discovery-footer { margin-top:44px; }
}
@media(max-width:760px) {
  body:not(.carousel-mode) .setup-picker { order:-1; margin-top:24px; }
}
.build-directory { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:48px; margin-top:48px; align-items:center; }
.build-directory>article { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:center; }
.build-directory-photo { height:340px; display:block; overflow:hidden; border-radius:10px; }
.build-directory-photo img { width:100%; height:100%; object-fit:cover; object-position:center 80%; }
.build-directory h2 { font-size:var(--text-32); line-height:1.15; }
.build-directory h2 a { display:flex; gap:12px; align-items:center; }
.build-directory p { font-size:var(--text-16); color:var(--muted); margin-top:14px; }
.build-directory .build-credit { display:block; font-size:var(--text-12); margin-block:14px; color:var(--muted); }
.build-directory>aside { padding:36px; border-left:1px solid var(--line); }
.build-directory .button { margin-top:24px; }
@media(max-width:900px) { .build-directory { grid-template-columns:1fr; } .build-directory>aside { padding:28px 0; border-left:0; border-top:1px solid var(--line); } }
@media(max-width:560px) { .build-directory>article { grid-template-columns:1fr; gap:12px; } .build-directory-photo { height:320px; } }
/* The build index shows the available guides before asking for a contribution. */
.builds-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; margin-top:40px; }
.builds-card { min-width:0; }
.builds-card-photo { display:block; height:360px; background:var(--surface); overflow:hidden; border-radius:16px; margin-bottom:24px; }
.builds-card-photo>.device-art { width:100%; height:100%; padding:0; }
.builds-card-photo img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:center; }
.builds-card:last-child .builds-card-photo img { object-position:center 80%; }
.builds-card-credit { display:block; color:var(--muted); font-size:var(--text-12); margin-bottom:12px; }
.builds-card h2 { font-size:var(--text-32); line-height:1.15; margin:0; }
.builds-card h2 a { display:flex; align-items:center; gap:20px; }
.builds-card h2 svg { width:24px; flex-shrink:0; margin-left:auto; }
.builds-card p { font-size:var(--text-16); line-height:1.6; color:var(--muted); margin-top:12px; }
.builds-invitation { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:56px; padding-top:32px; border-top:1px solid var(--line); }
.builds-invitation h2 { font-size:var(--text-28); margin:0; }
.builds-invitation p { font-size:var(--text-14); color:var(--muted); margin-top:8px; }
@media(max-width:760px) { .builds-index { grid-template-columns:1fr; gap:36px; margin-top:32px; } .builds-card-photo { height:320px; margin-bottom:20px; } .builds-card h2 { font-size:var(--text-28); } }
@media(max-width:560px) { .builds-invitation { align-items:start; flex-direction:column; margin-top:40px; padding-top:24px; } .builds-card-photo { height:280px; } }

body:is([data-page=builds],[data-page=scout-companion]) #kit-tray {display:none;}
body:is([data-page=builds],[data-page=scout-companion],[data-page=maker-pilot]).has-kit {padding-bottom:0;}
/* One saved area for ideas and the hardware already on your bench. */
.saved-views { display:flex; gap:24px; margin:24px 0 32px; border-bottom:1px solid var(--line); }
.saved-views a { display:inline-flex; align-items:center; min-height:48px; padding:8px 0; border-bottom:2px solid transparent; margin-bottom:-1px; color:var(--muted); font-size:var(--text-14); text-decoration:none; }
.saved-views a[aria-current="page"] { color:var(--ink); border-bottom-color:currentColor; font-weight:600; }
.saved-views a:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
