/* AMSP Edition 002 · PB030 private pre-build layer.
   Scoped to body.e002. Loads after styles.css, amsp.css and the PB027
   full-edition + behind-the-music stylesheets; adds only the short-first
   reading layer, the Framing Your Practice photo field, the Make It
   Believable entrance and review-fixture labels. Remove .pb030-review*
   rules and markup for any public build. */

.e002{--e2-paper:#ece8dd;--e2-ink:#181816;--e2-graphite:#111412;--e2-white:#f3f0e7;--e2-lemon:#f0e20f;--e2-line:rgba(24,24,22,.2);--e2-mono:"IBM Plex Mono",Menlo,monospace;--e2-sans:Montserrat,"Helvetica Neue",Arial,sans-serif;--e2-serif:"Libre Baskerville",Georgia,serif}
.e002 main{display:block}
.e002 .amsp-nav{position:relative}

/* ---------- private review fixtures (strip before public) ---------- */
.pb030-review-bar{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:10px clamp(16px,4vw,56px);background:#0d100e;color:var(--e2-white);font:500 10px/1.5 var(--e2-mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.12)}
.pb030-review-bar strong{color:var(--e2-lemon);font-weight:600}
.pb030-review-bar a{color:var(--e2-white);text-underline-offset:4px;text-decoration-color:var(--e2-lemon)}
.pb030-review-bar a:focus-visible{outline:2px solid var(--e2-lemon);outline-offset:3px}
.pb030-flag{display:inline-block;margin:0 0 14px;padding:5px 8px;background:var(--e2-lemon);color:#111;font:600 10px/1.2 var(--e2-mono);letter-spacing:.1em;text-transform:uppercase}
.pb030-flag--approved{background:transparent;color:inherit;border:1px solid currentColor;opacity:.78}
.pb030-fixture{border:1px dashed #8f897b;background:rgba(255,255,255,.22);padding:18px;font:400 13px/1.5 var(--e2-mono);color:#5f5a4f}
.pb030-fixture strong{display:block;font:600 10px/1.4 var(--e2-mono);letter-spacing:.12em;color:#71691a;margin-bottom:8px;text-transform:uppercase}
.e002-dark .pb030-fixture{border-color:rgba(240,226,15,.45);background:rgba(255,255,255,.03);color:#cfcabb}
.e002-dark .pb030-fixture strong{color:var(--e2-lemon)}

/* ---------- section rhythm ---------- */
.e002-section{padding:clamp(56px,8vw,118px) 0;scroll-margin-top:64px}
.e002-paper{background:var(--e2-paper);color:var(--e2-ink)}
.e002-dark{background:var(--e2-graphite);color:var(--e2-white)}
.e002-kicker{font:600 11px/1.4 var(--e2-mono);letter-spacing:.15em;text-transform:uppercase;color:#5e5a52;margin:0 0 14px}
.e002-dark .e002-kicker{color:var(--e2-lemon)}
.e002-section h2{font:400 clamp(36px,5.4vw,76px)/1.04 var(--e2-serif);letter-spacing:-.025em;margin:6px 0 24px;max-width:14em}
.e002-lede{font:400 clamp(18px,1.9vw,23px)/1.55 var(--e2-serif);max-width:34em;margin:0 0 20px}
.e002-body p{font:400 clamp(17px,1.55vw,19px)/1.7 var(--e2-serif);max-width:36em;margin:0 0 1.05em}

/* ---------- cover ---------- */
.e002-cover{background:var(--e2-paper);padding:clamp(72px,10vw,150px) 0 clamp(52px,7vw,100px);border-bottom:1px solid var(--e2-line)}
.e002-cover h1{font:400 clamp(50px,8.5vw,132px)/.94 var(--e2-serif);letter-spacing:-.035em;margin:18px 0 26px;max-width:10em}
.e002-cover .e002-lede{max-width:30em}
.e002-jump{position:sticky;top:0;z-index:40;display:flex;gap:8px;overflow-x:auto;padding:10px clamp(12px,3vw,40px);background:rgba(14,16,15,.96);border-bottom:1px solid rgba(255,255,255,.12);scrollbar-width:none}
.e002-jump a{flex:none;white-space:nowrap;color:var(--e2-white);border:1px solid rgba(240,226,15,.38);border-radius:999px;padding:10px 13px;text-decoration:none;font:500 10px/1 var(--e2-mono);letter-spacing:.08em;min-height:36px;display:inline-flex;align-items:center}
.e002-jump a:hover,.e002-jump a:focus-visible{border-color:var(--e2-lemon);color:var(--e2-lemon);outline:none}

/* ---------- native disclosures: "Read the full essay" etc. ---------- */
.e002-more{margin:8px 0 0;max-width:40em;border-top:1px solid var(--e2-line)}
.e002-dark .e002-more{border-top-color:rgba(243,240,231,.22)}
.e002-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 0;font:600 11px/1.3 var(--e2-mono);letter-spacing:.12em;text-transform:uppercase}
.e002-more>summary::-webkit-details-marker{display:none}
.e002-more>summary::before{content:"+";display:inline-grid;place-items:center;flex:none;width:26px;height:26px;border:1px solid currentColor;border-radius:50%;font:400 16px/1 var(--e2-sans)}
.e002-more[open]>summary::before{content:"−"}
.e002-more>summary .e002-more__hint{font-weight:400;letter-spacing:.06em;text-transform:none;opacity:.7}
.e002-more>summary:focus-visible{outline:3px solid var(--e2-lemon);outline-offset:4px}
.e002-more__body{padding:6px 0 18px}
.e002-more__body p{font:400 clamp(17px,1.55vw,19px)/1.7 var(--e2-serif);margin:0 0 1.05em}

/* ---------- 01 Letter ---------- */
.e002-letter{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(28px,6vw,88px);align-items:start}
.e002-letter__text p{font:400 clamp(18px,1.7vw,21px)/1.68 var(--e2-serif);max-width:32em;margin:0 0 1em}
.e002-letter__sign{font-style:italic}
.e002-letter__image{position:sticky;top:76px}
.e002-letter__image .pb030-fixture{min-height:min(62vh,520px);display:flex;flex-direction:column;justify-content:flex-end}

/* ---------- 02 Framing Your Practice: 5–10 original photographs ----------
   PB030.1: deterministic, hole-free tiling for any count 5–10.
   Desktop (6 cols): photo 1 = large opening frame (4×2) with photos 2–3 stacked
   beside it; the rest run in rows of three; a short last row stretches to fill.
   Phone (2 cols): photo 1 full width and tall; then pairs; an odd last photo
   runs full width. */
.fyp-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(150px,17vw,270px);gap:clamp(8px,1.1vw,14px);margin:34px 0 0;padding:0;list-style:none}
.fyp-grid>li{margin:0;min-width:0;grid-column:span 2;grid-row:span 1}
.fyp-grid>li:first-child{grid-column:span 4;grid-row:span 2}
.fyp-grid>li:nth-child(n+4):last-child:nth-child(3n+1){grid-column:span 6}
.fyp-grid>li:nth-child(n+4):nth-last-child(2):nth-child(3n+1),.fyp-grid>li:nth-child(n+5):last-child:nth-child(3n+2){grid-column:span 3}
.fyp-grid figure{margin:0;height:100%}
.fyp-grid img{display:block;width:100%;height:100%;object-fit:cover;background:#d6d1c4}
.fyp-slot{height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.fyp-back{display:inline-flex;margin-top:26px;font:600 11px/1.3 var(--e2-mono);letter-spacing:.1em;text-transform:uppercase;color:inherit;text-underline-offset:5px;min-height:44px;align-items:center}
@media (max-width:760px){
  .fyp-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(130px,44vw,300px)}
  .fyp-grid>li,.fyp-grid>li:nth-child(n+4):last-child:nth-child(3n+1),.fyp-grid>li:nth-child(n+4):nth-last-child(2):nth-child(3n+1),.fyp-grid>li:nth-child(n+5):last-child:nth-child(3n+2){grid-column:span 1;grid-row:span 1}
  .fyp-grid>li:first-child{grid-column:span 2;grid-row:span 2}
  .fyp-grid.fyp-grid>li:last-child:nth-child(2n){grid-column:span 2} /* doubled class: must outrank the desktop last-row reset above */
  .fyp-slot{padding:12px;font-size:11px}
}

/* ---------- 03 Continuum · Make It Believable entrance ---------- */
.e002-continuum .continuum__head{margin-bottom:12px}
.mib{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);gap:clamp(24px,4vw,60px);align-items:center;margin:28px 0 clamp(40px,6vw,80px)}
.mib__art{margin:0;position:relative}
.mib__art img{display:block;width:112%;max-width:768px;height:auto;margin-left:-6%}
/* One restrained entrance, only when JS confirms motion is allowed.
   No loop. Reduced motion / no JS: the drawing is simply there. */
.pb030-motion .mib__art img{opacity:0;transform:translate3d(-7%,5%,0) rotate(-3deg);transition:opacity 900ms ease-out,transform 1500ms cubic-bezier(.2,.7,.15,1)}
.pb030-motion .mib__art.is-in img{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.pb030-motion .mib__art img{opacity:1;transform:none;transition:none}}
.mib__copy h3{font:400 clamp(34px,4.6vw,64px)/1 var(--e2-serif);letter-spacing:-.02em;margin:6px 0 18px}
.mib__tag{font:600 12px/1.5 var(--e2-mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px}
.mib__copy p{font:400 clamp(17px,1.5vw,19px)/1.65 var(--e2-serif);max-width:32em;margin:0 0 1em}
.mib-event{margin:22px 0 6px;padding:16px 18px;border:2px solid var(--e2-ink);background:#f6f2e6;max-width:34em}
.mib-event p{font:500 clamp(15px,1.15vw,16px)/1.55 var(--e2-mono)!important;margin:0 0 4px!important}
.mib-event p:first-child strong{font-size:1.08em}
.mib-event strong{font-weight:600}
.mib-event a{color:inherit;text-underline-offset:4px}
.mib-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.mib-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--e2-ink);border-radius:999px;color:var(--e2-ink);text-decoration:none;font:600 11px/1 var(--e2-mono);letter-spacing:.08em;text-transform:uppercase}
.mib-links a:hover,.mib-links a:focus-visible{background:var(--e2-ink);color:var(--e2-paper);outline:none}
[data-event-state="past"] .when-upcoming,[data-event-state="upcoming"] .when-past{display:none}
.when-past{display:none}
[data-event-state="past"] .when-past{display:inline}
.e002-continuum .continuum__grid{margin-top:8px}
@media (max-width:760px){.mib{grid-template-columns:1fr}.mib__art img{width:100%;max-width:100%;margin-left:0}.e002-letter{grid-template-columns:1fr}.e002-letter__image{position:static}.e002-letter__image .pb030-fixture{min-height:300px}}

/* ---------- 05 Behind the Music short lead ---------- */
.behind-music .e002-lead p{font:400 clamp(19px,1.9vw,24px)/1.6 var(--e2-serif);max-width:32em;margin:0 0 1em}
.behind-music .e002-more{border-top-color:rgba(24,24,22,.25)}
.behind-music .e002-essay-full p{font:400 clamp(17px,1.6vw,20px)/1.72 var(--e2-serif);max-width:34em;margin:0 0 1.05em}

/* ---------- 06 Following / Exit ---------- */
.e002-exit__invite{font:400 clamp(18px,1.8vw,22px)/1.6 var(--e2-serif);max-width:34em}
.e002-exit__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.e002-exit__links a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid rgba(240,226,15,.6);border-radius:999px;color:var(--e2-lemon);text-decoration:none;font:500 11px/1 var(--e2-mono);letter-spacing:.08em}
.e002-exit__links a:hover,.e002-exit__links a:focus-visible{background:var(--e2-lemon);color:#111;outline:none}

@media (max-width:420px){.e002-section{padding:52px 0}.e002-cover h1:not(.cv__title){font-size:clamp(44px,14vw,64px)}}

/* ---------- label + aside fixes (specificity over section type) ---------- */
.e002 p.pb030-flag{display:inline-block;max-width:none;margin:0 0 14px;padding:5px 8px;background:var(--e2-lemon);color:#111;font:600 10px/1.25 var(--e2-mono);letter-spacing:.1em;text-transform:uppercase}
.e002 p.pb030-flag--approved{background:transparent;color:inherit;border:1px solid currentColor}
.e002 .behind-correspondence__copy+.behind-correspondence__copy{margin-top:1em}

/* ---------- PB030.1 · Behind the Music Version B: photographs through the essay ---------- */
.e002-essay-b{max-width:none}
.e002-essay-b>p{font:400 clamp(17px,1.6vw,20px)/1.72 var(--e2-serif);max-width:34em;margin:0 0 1.05em}
.e002-bfig{margin:clamp(26px,4vw,48px) 0}
.e002-bfig img{display:block;width:100%;height:auto;background:#101311}
.e002-bfig--portrait{max-width:min(100%,520px)}
.e002-bfig--landscape{max-width:min(100%,900px)}
.e002-bfig figcaption{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:8px;font:500 11px/1.4 var(--e2-mono);letter-spacing:.06em}
.e002-bfig figcaption a{color:inherit;text-underline-offset:4px;min-height:32px;display:inline-flex;align-items:center}
.e002-bfig figcaption .pb030-flag{margin:0}
.e002-bfig a:focus-visible{outline:3px solid var(--e2-lemon);outline-offset:3px}

/* ---------- PB030.1 · Continuum Version B: quieter, Pegasus-led ---------- */
.mib--quiet{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);align-items:start}
.mib--quiet .mib__art{margin-top:clamp(0px,2vw,24px)}
.mib--quiet .mib__art img{width:118%;max-width:none;margin-left:-9%}
.mib--quiet .mib__copy h3{font-size:clamp(30px,3.6vw,50px)}
.mib--quiet .mib-event{margin-top:14px}
@media (max-width:760px){.mib--quiet{grid-template-columns:1fr}.mib--quiet .mib__art img{width:108%;margin-left:-4%}}
@media print{.pb030-motion .mib__art img{opacity:1!important;transform:none!important}}
/* PB030.2 · Behind the Music C (hybrid): two paragraphs open, essay + originals in one disclosure */
.e002-more--c{max-width:none;margin-top:18px}
.e002-more--c>.e002-more__body{padding-top:10px}
.behind-studies--c{padding:clamp(8px,2vw,20px) 0 0!important;margin:0}
.behind-studies--c h3{margin-bottom:0}
.e002-essay-c>.e002-lead{max-width:34em}
/* PB030.2 · Correspondence without the reader studies keeps its dark ground */
.behind-lab--correspondence{padding-bottom:clamp(8px,2vw,20px)}
.behind-lab--correspondence .behind-correspondence{margin-bottom:clamp(24px,4vw,48px)}
/* C: the drop cap belongs to the essay's first paragraph only, not the photography eyebrow inside the disclosure */
.behind-essay .behind-studies--c p:first-child:first-letter{initial-letter:normal;color:inherit}

/* ═══ PB031 · Edition 002 photographic cover (art direction: AMSP002_SVG_COVER_REVIEW) ═══
   Fonts: the site's own bundled files (/assets/fonts, font-src 'self'), under cover-only family
   names so nothing else on the page changes typeface. */
@font-face{font-family:"AMSP Cover Serif";src:url("/assets/fonts/libre-baskerville-italic-var.woff2") format("woff2");font-style:italic;font-weight:400 700;font-display:swap}
@font-face{font-family:"AMSP Cover Serif";src:url("/assets/fonts/libre-baskerville-var.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"AMSP Cover Sans";src:url("/assets/fonts/montserrat-var.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
.cv{--cv-serif:"AMSP Cover Serif","Libre Baskerville",Georgia,serif;--cv-sans:"AMSP Cover Sans",Montserrat,"Helvetica Neue",Arial,sans-serif}
/*
   Geometry is the SVG artboard's, in artboard units (u = cover width / 1080):
   master A (4:5) at ≥700 px, recomposition D (9:16) below. Photo is the original, resize-only. */
.e002-cover--photo{background:#121110;padding:0;border-bottom:0;color:var(--e2-white)}
.cv{container-type:inline-size;width:min(100%,1080px);margin:0 auto}
.cv__stage{--u:calc(100cqw / 1080);position:relative;aspect-ratio:1080/1350;overflow:hidden;background:#121110}
.cv__photo{position:absolute;left:0;top:calc(var(--u) * -64);width:100%;height:auto;max-width:none;display:block}
.cv__mast{position:absolute;left:calc(var(--u) * 41);top:calc(var(--u) * 31);width:calc(var(--u) * 417);margin:0;line-height:0}
.cv__mast-art{display:block;width:100%;height:auto}
.cv__edition{position:absolute;left:calc(var(--u) * 352);top:calc(var(--u) * 203);margin:0;font:500 max(11px,calc(var(--u) * 15))/1.2 var(--cv-sans);letter-spacing:.06em;text-transform:uppercase;color:#fff}
.cv__titles{position:absolute;left:calc(var(--u) * 722);top:calc(var(--u) * 54);width:calc(var(--u) * 340);text-shadow:0 1px 4px rgba(0,0,0,.45)}
.e002-cover .cv__title{font:italic 400 max(18px,calc(var(--u) * 31))/1.355 var(--cv-serif);letter-spacing:0;color:#fff;margin:0;max-width:none}
.cv__sub{font:400 max(13px,calc(var(--u) * 22))/1 var(--cv-serif);letter-spacing:.02em;text-transform:uppercase;color:#fff;margin:calc(var(--u) * 14) calc(var(--u) * 99) 0 0;text-align:right}
.cv__logo{position:absolute;left:calc(var(--u) * 902);top:calc(var(--u) * 1262);width:calc(var(--u) * 150);height:auto}
.cv__after{padding:clamp(22px,3.4vw,40px) clamp(16px,4vw,56px) clamp(26px,3.8vw,44px)}
.e002-cover--photo .e002-lede{color:#e7e2d6;margin:0 auto;max-width:34em;text-align:center}
@media (max-width:699px){
  .cv{width:100%}
  .cv__stage{aspect-ratio:1080/1920}
  .cv__photo{left:calc(var(--u) * -100);top:0;width:calc(var(--u) * 1280)}
  .cv__mast{left:calc(var(--u) * 56);top:calc(var(--u) * 89.6);width:calc(var(--u) * 484.6)}
  /* D places EDITION 002 at y 356, on the notebook's top edge (y ≈ 351); set beside PIECES on its baseline instead, as in A */
  .cv__edition{left:calc(var(--u) * 372);top:auto;bottom:calc(var(--u) * (1920 - 316));font-size:max(11px,calc(var(--u) * 17));line-height:1;letter-spacing:.08em}
  .cv__titles{left:auto;right:calc(var(--u) * 56);top:auto;bottom:calc(var(--u) * 128);width:auto;text-align:right}
  .e002-cover .cv__title{font-size:max(18px,calc(var(--u) * 40));line-height:1.25}
  .cv__sub{font-size:max(12px,calc(var(--u) * 22));letter-spacing:.12em;margin:calc(var(--u) * 16) 0 0}
  .cv__logo{left:calc(var(--u) * 56);top:calc(var(--u) * 1800)}
  .e002-cover--photo .e002-lede{text-align:left}
}
@media print{.cv__stage{break-inside:avoid}}
