.bs-hero,.bs-facts,.bs-family,.bs-chapter,.bs-bookend,.bs-scene,.bs-closing{--bs-body:1.0625rem;--bs-lede:clamp(1.0625rem, 1.3vw, 1.25rem);--bs-h2:clamp(2.1rem, 4.4vw, 4rem);--bs-h2-band:2rem;--bs-plus:clamp(3rem, 6.3vw, 4.5rem)}:is(.bs-chapter,.bs-scene)[data-ground=paper]{--bs-ground:var(--pf-paper);--bs-fg:var(--pf-ink);--bs-soft:#0a0a0abd}:is(.bs-chapter,.bs-scene)[data-ground=ink]{--bs-ground:var(--pf-ink);--bs-fg:var(--pf-paper);--bs-soft:#f4f4f0c2}:is(.bs-chapter,.bs-scene)[data-ground=blue]{--bs-ground:var(--pf-blue);--bs-fg:var(--pf-paper);--bs-soft:#f4f4f0eb}.bs-frame{background:#7f7f7f1f;position:relative;overflow:hidden}.bs-hero .pf-expand-plus,.bs-stage .pf-expand-plus,.bs-bookend .pf-expand-plus,.bs-grid--pair .pf-expand-plus{font-size:var(--bs-plus)}.bs-grid:not(.bs-grid--pair) .pf-expand-plus{font-size:clamp(2.2rem,4vw,3rem)}.bs-cap{font-family:var(--portfolio-font-mono);font-size:var(--bs-body);text-wrap:pretty;line-height:1.5}.pf-page .bs-facts h2,.pf-page .bs-words h2,.pf-page .bs-bookend h2,.pf-page .bs-scene h2,.pf-page .bs-closing h2,.bs-h1-pkg{text-wrap:balance}.bs-hero{background:var(--pf-ink);color:var(--pf-paper);grid-template-columns:1fr;display:grid}.bs-hero-media{height:56svh}.bs-hero-words{flex-direction:column;justify-content:flex-end;gap:1.25rem;padding:1.75rem 1rem 2.25rem;display:flex}@media (width>=900px){.bs-hero{grid-template-columns:minmax(0,5fr) minmax(0,8fr);min-height:100svh}.bs-hero-media{order:2;height:auto;min-height:100%}.bs-hero-words{padding:clamp(2rem,4vw,4rem);padding-top:max(clamp(2rem, 4vw, 4rem), var(--pf-nav-clear));order:1;gap:1.6rem}}.pf-page .bs-h1{font-weight:400;font-size:inherit;flex-direction:column;gap:.8rem;margin:0;display:flex}.bs-h1-proj,.bs-h1-area{font-family:var(--portfolio-font-mono);font-size:var(--bs-body);letter-spacing:.02em;color:#f4f4f0cc}.bs-h1-pkg{font-family:var(--portfolio-font-display);letter-spacing:-.01em;padding-bottom:.12em;font-size:clamp(3rem,6vw,6.25rem);font-weight:500;line-height:.96}.bs-role{font-size:var(--bs-lede);color:#f4f4f0e0;max-width:40ch;line-height:1.55}.bs-hero .bs-cap{color:#f4f4f0a3;max-width:44ch}@media (prefers-reduced-motion:no-preference){.bs-hero-words>*{animation:bs-up .9s var(--pf-ease) both}.bs-hero-words>:nth-child(2){animation-delay:80ms}.bs-hero-words>:nth-child(3){animation-delay:.14s}@keyframes bs-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}.bs-facts{background:var(--pf-paper);color:var(--pf-ink);padding:clamp(3.5rem,10vw,8rem) clamp(1rem,6vw,5rem) clamp(2.5rem,6vw,4rem)}.bs-facts-inner{gap:clamp(2rem,5vw,3.25rem);max-width:62rem;margin:0 auto;display:grid}@media (width>=640px){.bs-facts-inner{width:fit-content}}.pf-page .bs-facts h2{font-family:var(--portfolio-font-display);font-weight:500;font-size:var(--bs-h2);max-width:16ch;line-height:1.02}.bs-dl{grid-template-columns:1fr;gap:1.5rem 3rem;margin:0;display:grid}@media (width>=640px){.bs-dl{grid-template-columns:repeat(2,minmax(0,max-content));column-gap:clamp(3rem,6vw,6rem)}}.bs-dl div{flex-direction:column;gap:.3rem;display:flex}.bs-dl dt{font-family:var(--portfolio-font-mono);font-size:var(--bs-body);opacity:.66}.bs-dl dd{margin:0;font-size:clamp(1.1875rem,1.8vw,1.375rem);font-weight:500;line-height:1.3}.bs-facts-desc{font-size:var(--bs-lede);color:#0a0a0ad6;max-width:60ch;line-height:1.62}.bs-family{background:var(--pf-paper);color:var(--pf-ink);justify-content:center;padding:clamp(2rem,6vw,4rem) 1rem clamp(3rem,8vw,5rem);display:flex}.bs-family a{font-family:var(--portfolio-font-mono);font-size:var(--bs-body);text-underline-offset:.25em;text-align:center;text-decoration-thickness:1px}.bs-family a:focus-visible{outline-offset:4px;outline:2px solid}.bs-chapter{background:var(--bs-ground);color:var(--bs-fg);grid-template-columns:1fr;display:grid}.bs-words{display:contents}.bs-intro{font-family:var(--portfolio-font-mono);font-size:var(--bs-body);color:var(--bs-soft);padding:2.5rem 1rem 0;line-height:1.5}.pf-page .bs-words h2{z-index:3;background:var(--bs-ground);font-family:var(--portfolio-font-display);font-weight:500;font-size:var(--bs-h2-band);padding:.9rem 1rem .8rem;line-height:1.1;position:sticky;top:0}.bs-chapter-text{font-size:var(--bs-body);color:var(--bs-soft);max-width:60ch;padding:.25rem 1rem 0;line-height:1.6}.bs-stages{gap:3rem;padding:2rem 1rem 6rem;display:grid}@media (width>=900px){.bs-chapter{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.bs-words{flex-direction:column;justify-content:center;align-self:start;gap:1.4rem;min-height:100svh;padding:clamp(2.5rem,5vw,4.5rem);display:flex;position:sticky;top:0}.bs-intro,.bs-chapter-text{padding:0}.pf-page .bs-words h2{font-size:var(--bs-h2);background:0 0;max-width:11ch;padding:0;line-height:1;position:static}.bs-chapter-text{font-size:var(--bs-lede);max-width:34ch}.bs-stages{align-content:start;gap:clamp(4rem,9vw,7rem);padding:clamp(4rem,12vh,8rem) 0}.bs-stage figcaption{padding-right:clamp(1.5rem,4vw,3.5rem)}}.bs-stage{gap:1rem;margin:0;display:grid}.bs-stage .bs-frame{width:100%}.bs-stage .bs-frame--portrait{aspect-ratio:4/5}.bs-stagecap summary{cursor:pointer;grid-template-columns:auto 1fr;align-items:baseline;gap:.9rem;list-style:none;display:grid}.bs-stagecap summary::-webkit-details-marker{display:none}.bs-stagecap summary:focus-visible{outline-offset:4px;outline:2px solid}.bs-num{font-variant-numeric:tabular-nums}.bs-nowrap{white-space:nowrap}.bs-chev{opacity:.7;border-bottom:1.5px solid;border-right:1.5px solid;width:.5em;height:.5em;margin-left:.7em;display:inline-block;transform:translateY(-.2em)rotate(45deg)}.bs-stagecap details[open] .bs-chev{transform:translateY(.1em)rotate(225deg)}.bs-cap-more{font-family:var(--portfolio-font-sans);font-size:var(--bs-body);color:var(--bs-soft);max-width:58ch;margin-top:.75rem;padding-left:calc(2ch + .9rem);line-height:1.6}.bs-credit{color:var(--bs-soft);margin-top:.4rem;display:block}.bs-bookend{background:var(--pf-ink);color:var(--pf-paper)}.bs-bookend .bs-frame{height:60svh}@media (width>=900px){.bs-bookend .bs-frame{height:66svh}}.bs-bookend-words{gap:1.25rem;padding:clamp(2rem,5vw,3.5rem) clamp(1rem,5vw,4rem) clamp(2.5rem,6vw,4.5rem);display:grid}@media (width>=900px){.bs-bookend-words{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:start;column-gap:3rem}}.pf-page .bs-bookend h2{font-family:var(--portfolio-font-display);font-weight:500;font-size:var(--bs-h2);max-width:12ch;line-height:1}.bs-bookend-body{gap:1.1rem;display:grid}.bs-bookend-body p{font-size:var(--bs-lede);color:#f4f4f0d6;max-width:58ch;line-height:1.6}.bs-bookend-body .bs-cap{font-size:var(--bs-body);color:#f4f4f0a8}.bs-scene{background:var(--bs-ground);color:var(--bs-fg);gap:clamp(1.5rem,4vw,2.5rem);padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,3rem);display:grid}.bs-scene-head{gap:1rem;width:100%;max-width:72rem;margin:0 auto;display:grid}.bs-scene:has(>.bs-grid--pair) .bs-scene-head{max-width:none}@media (width>=900px){.bs-scene-head{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:end;column-gap:3rem}}.pf-page .bs-scene h2{font-family:var(--portfolio-font-display);font-weight:500;font-size:var(--bs-h2);max-width:12ch;line-height:1}.bs-scene-head p{font-size:var(--bs-lede);color:var(--bs-soft);max-width:58ch;line-height:1.6}.bs-grid{grid-template-columns:1fr 1fr;gap:clamp(1.75rem,3vw,2rem) clamp(1rem,2vw,1.5rem);width:100%;max-width:72rem;margin:0 auto;display:grid}.bs-grid figure{align-content:start;gap:.7rem;margin:0;display:grid}.bs-grid figcaption{color:var(--bs-soft)}.bs-grid--grid .bs-frame{aspect-ratio:var(--bs-aspect,3 / 4)}@media (width>=900px){.bs-grid--grid{grid-template-columns:repeat(var(--bs-cols,4), minmax(0, 1fr))}}.bs-grid--lead .bs-frame{aspect-ratio:3/2}.bs-grid--lead .bs-lead{grid-column:1/-1}.bs-grid--pair{grid-template-columns:1fr;gap:0;width:auto;max-width:none;margin:0 calc(-1*clamp(1rem,4vw,3rem))}.bs-grid--pair .bs-frame{height:70svh}.bs-grid--pair figcaption{padding:.7rem clamp(1rem,4vw,3rem) 1.5rem}@media (width>=700px){.bs-grid--pair{grid-template-columns:1fr 1fr}.bs-grid--pair .bs-frame{height:88svh}}@media (width<=559px){.bs-grid--lead{grid-template-columns:1fr}}.bs-closing{background:var(--pf-blue);color:var(--pf-paper);text-align:center;justify-items:center;gap:clamp(2rem,5vw,3rem);padding:clamp(4rem,12vw,9rem) clamp(1rem,6vw,4rem) clamp(3rem,7vw,5rem);display:grid}.pf-page .bs-closing h2{font-family:var(--portfolio-font-display);max-width:15ch;font-size:clamp(2.4rem,6vw,5.25rem);font-weight:500;line-height:.98}.bs-closing-prose{font-size:var(--bs-lede);max-width:46ch;line-height:1.6}.bs-closing .bs-cap{max-width:52ch;line-height:1.55}
