/* Homepage only: a generous opening, the Mach–Zehnder experiment, and quiet editorial rows. */
.home-opening{display:grid;grid-template-columns:1.1fr 1.05fr;align-items:start;gap:64px;padding:56px 0 48px}
.editorial .home-intro .eyebrow{color:var(--blue-strong);margin-bottom:28px}
.editorial .home-intro h1{font:400 clamp(36px,4.5vw,58px)/1.12 var(--reading-font);letter-spacing:-.04em;margin:0 0 24px}
.home-intro h1 em{font-weight:400;color:var(--blue-strong)}
.home-intro>p:not(.eyebrow){max-width:40ch;font:18px/1.8 var(--sans);color:var(--ink-soft)}
.home-intro>p.home-description{font-size:14px;margin:18px 0 28px;color:var(--muted)}
.editorial .home-primary{display:inline-flex;gap:24px;align-items:center;padding:12px 18px;background:var(--blue-strong);color:var(--on-blue);font:500 14px/1.6 var(--sans);text-decoration:none}
.editorial .home-primary:hover{background:var(--blue);text-decoration:none}
.editorial .home-secondary{display:block;width:fit-content;font-size:13px;padding:14px 0;color:var(--ink-soft)}

/* Mach–Zehnder experiment card */
.home-interference{margin:0;padding:24px 26px;background:var(--surface);border-top:2px solid var(--blue);min-width:0;box-shadow:0 1px 3px rgba(0,0,0,.03)}
.home-figure-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.home-figure-heading>span{font:italic 22px var(--reading-font);color:var(--muted)}
.editorial .home-interference h2{font:400 26px/1.2 var(--reading-font);margin:0 0 10px;letter-spacing:-.02em}
.home-figure-intro{font:13px/1.7 var(--sans);color:var(--ink-soft);margin:0 0 16px}

/* MZI Stage & SVG */
.mzi-stage{position:relative;background:var(--surface-soft);border:1px solid var(--line);border-radius:4px;padding:12px 12px 16px;margin-bottom:14px}
.mzi-stage svg{display:block;width:100%;height:auto;overflow:visible}

/* Optical path guides */
.mzi-beam-guide{stroke:var(--line-strong);stroke-width:1.5;stroke-dasharray:4 3;fill:none}
.mzi-box-housing{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.4}
.mzi-aperture{fill:var(--blue);stroke:none}
.mzi-bs-cube{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.2;opacity:.9}
.mzi-bs-diag{stroke:var(--blue-strong);stroke-width:2.2;stroke-linecap:round}
.mzi-mirror-line{stroke:var(--ink-soft);stroke-width:2.5;stroke-linecap:round}
.mzi-phase-cell{fill:var(--surface);stroke:var(--warm);stroke-width:1.5}
.mzi-phase-text{font:600 10.5px/1 var(--sans);fill:var(--warm);text-anchor:middle}
.mzi-comp-name{font:600 11px/1 var(--sans);fill:var(--ink-soft);text-anchor:middle}
.mzi-text-label{font:500 10px/1 var(--sans);fill:var(--ink-soft);text-anchor:middle}
.mzi-path-annotation{font:italic 10px/1 var(--sans);fill:var(--muted);text-anchor:middle}

.mzi-blocker-slab{fill:var(--heading);stroke:var(--line-strong);stroke-width:1}
.mzi-blocker-label{font:600 9px/1 var(--sans);fill:var(--muted);text-anchor:middle}

.mzi-det-box{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.4;transition:stroke .2s,fill .2s}
.mzi-det-box.mzi-det-active{stroke:var(--blue-strong);fill:rgba(40,118,174,.08)}
.mzi-det-flash{fill:none;stroke:var(--blue);stroke-width:2;pointer-events:none;transition:opacity .25s ease-out,r .25s ease-out}

/* Traveling pulses */
.mzi-pulse-packet{pointer-events:none}
.mzi-pulse-core{fill:var(--blue-strong)}
.mzi-pulse-halo{fill:var(--blue);opacity:.25}
.mzi-pulse-upper .mzi-pulse-core{fill:var(--warm)}
.mzi-pulse-upper .mzi-pulse-halo{fill:var(--warm);opacity:.3}
.mzi-pulse-combined .mzi-pulse-core{fill:var(--heading)}

/* Probability meters */
.mzi-meters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.mzi-meter-row{display:flex;flex-direction:column;gap:4px}
.mzi-meter-meta{display:flex;justify-content:space-between;align-items:baseline;font:11px/1.4 var(--sans);color:var(--ink-soft)}
.mzi-meter-meta em{font-style:normal;color:var(--muted);font-size:10px}
.mzi-meter-val{font-weight:600;font-variant-numeric:tabular-nums;color:var(--heading)}
.mzi-meter-track{width:100%;height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.mzi-meter-fill{height:100%;transition:width .15s ease-out}
.mzi-fill-d0{background:var(--blue-strong)}
.mzi-fill-d1{background:var(--warm)}
.mzi-count-tag{font:10px/1.4 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}

/* Controls */
.mzi-controls{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.mzi-control-row label{display:flex;justify-content:space-between;font:12px/1.6 var(--sans);color:var(--ink-soft);font-weight:500}
.mzi-control-row output{font-variant-numeric:tabular-nums;color:var(--heading)}
.mzi-control-row input{width:100%;margin:4px 0 0;min-height:28px;accent-color:var(--blue-strong);cursor:pointer}
.mzi-control-row input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}

.mzi-btn-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.mzi-presets{display:flex;gap:6px;flex-wrap:wrap}
.mzi-chip-btn{background:var(--surface-soft);border:1px solid var(--line);border-radius:3px;padding:3px 8px;font:500 11px/1.5 var(--sans);color:var(--ink-soft);cursor:pointer;transition:border-color .15s,background .15s}
.mzi-chip-btn:hover{border-color:var(--line-strong);color:var(--heading);background:var(--surface)}

.mzi-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mzi-btn{background:var(--surface);border:1px solid var(--line-strong);border-radius:3px;padding:4px 10px;font:500 11px/1.5 var(--sans);color:var(--heading);cursor:pointer}
.mzi-btn:hover{background:var(--surface-soft);border-color:var(--ink-soft)}
.mzi-check-label{display:inline-flex;align-items:center;gap:5px;font:11px/1.5 var(--sans);color:var(--ink-soft);cursor:pointer}
.mzi-check-label input{accent-color:var(--blue-strong);cursor:pointer}

/* Figcaption & links */
.home-interference figcaption{font:12.5px/1.7 var(--sans);color:var(--ink-soft);margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.home-interference figcaption p{margin:0 0 10px}
.mzi-fig-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px}
.mzi-fig-links a{font:500 12px/1.6 var(--sans);color:var(--blue-strong);text-decoration:none}
.mzi-fig-links a:hover{text-decoration:underline}

/* Learning pathway grid */
.home-learning{display:grid;grid-template-columns:1fr 1.6fr;gap:72px;border-block:1px solid var(--line);padding:42px 0;margin-bottom:56px}
.editorial .home-section-heading h2{font:400 clamp(27px,3vw,36px)/1.25 var(--reading-font);letter-spacing:-.025em;margin:0}
.editorial .home-paths>a{display:grid;grid-template-columns:24px 1fr 16px;gap:18px;padding:20px 0;color:var(--heading);text-decoration:none}
.home-paths>a:first-child{padding-top:0}.home-paths>a:last-child{padding-bottom:0}.home-paths>a+a{border-top:1px solid var(--line)}
.home-path-number{font:12px/1.8 var(--sans);color:var(--muted)}
.editorial .home-paths h3{font:500 18px/1.4 var(--sans);margin:0 0 8px}
.home-paths p{font:14px/1.75 var(--sans);color:var(--ink-soft);margin:0;max-width:55ch}
.home-paths>a:hover h3{color:var(--blue-strong);text-decoration:underline;text-underline-offset:5px}
.home-current{margin-top:16px}.home-section-intro{font:14px/1.8 var(--sans);color:var(--ink-soft);max-width:65ch;margin:-12px 0 28px}
.home-reference{display:flex;flex-wrap:wrap;gap:16px 28px;padding:24px 0;border-bottom:1px solid var(--line);font:13px/1.7 var(--sans)}
.home-reference>span{color:var(--muted);margin-right:auto}

@media(max-width:1050px){.home-opening{grid-template-columns:1fr;gap:40px}.home-interference{max-width:560px;width:100%;margin:0 auto}}
@media(max-width:760px){
  .home-opening{padding:36px 0;gap:28px}
  .home-intro>p:not(.eyebrow){max-width:52ch}
  .home-interference{padding:18px}
  .mzi-meters{grid-template-columns:1fr;gap:10px}
  .mzi-btn-row{flex-direction:column;align-items:flex-start}
  .home-learning{grid-template-columns:1fr;gap:28px;padding:30px 0;margin-bottom:36px}
  .editorial .home-current{align-items:start}
  .home-intro h1 br{display:none}
}
@media (prefers-reduced-motion: reduce){
  .mzi-pulse-packet{animation:none}
  .mzi-meter-fill{transition:none}
}
@media print{
  .mzi-controls{display:none}
  .home-opening{gap:24px}
  .home-interference{break-inside:avoid;background:transparent;box-shadow:none}
  .editorial .home-primary{background:transparent;color:var(--ink)}
}
