@font-face{font-family:Manrope;src:url('./fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{font-family:Manrope,Arial,sans-serif;color:#171717;background:#fff;font-synthesis:none}
*{box-sizing:border-box}
html,body{margin:0;overscroll-behavior-y:auto;scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
body{-webkit-font-smoothing:antialiased}
.story-boot .journey,.story-boot .notes{visibility:hidden}
::selection{background:#e0e4d4;color:#111}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:focus-visible,summary:focus-visible{outline:2px solid #222;outline-offset:7px}
.skip{position:fixed;z-index:20;left:20px;top:15px;padding:12px 16px;background:#fff;transform:translateY(-180%)}
.skip:focus{transform:none}
.beat{max-width:750px;margin:0 auto;padding:95px 28px;text-align:center}
h1,h2{font-size:clamp(43px,6vw,78px);font-weight:450;letter-spacing:-.055em;line-height:1.01;margin:0 0 28px;text-wrap:balance}
em{font-family:inherit;font-style:normal;font-weight:700;letter-spacing:-.035em}
p{font-size:clamp(16px,1.45vw,20px);line-height:1.55;margin:20px auto 0;max-width:45ch;text-wrap:pretty}
.last-line{font-weight:560}
/* These letters are sampled individually for the grid. A browser's joined
   fi ligature otherwise gives the i a different position from its own ink. */
#keep-going .words{font-variant-ligatures:none}
.small-fact{display:flex;justify-content:center;align-items:center;gap:15px;text-align:left}
.small-fact strong{font-size:55px;font-weight:520;letter-spacing:-.07em;line-height:1}
.small-fact span{font-size:14px;line-height:1.4}
.closing{max-width:none;padding:0!important}
.portrait{margin:0}
.portrait picture{display:block}
.portrait img{display:block;width:100%;height:auto}
.closing-quote{display:block;max-width:none;margin:36px 24px 54px;text-align:center;font-size:clamp(28px,2.7vw,46px);line-height:1.08;letter-spacing:-.045em;color:#171717}
.closing-quote span{display:block;text-wrap:balance}
.closing-setup{margin-bottom:1em;font-size:clamp(14px,1.25vw,18px);line-height:1.4;letter-spacing:-.015em;font-weight:450}
.closing-question{font-weight:520}
.closing-answer{margin-top:.16em;font-weight:760}
.notes{--notes-gap:24px;max-width:1080px;margin:auto;padding:40px 32px 45px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--notes-gap);align-items:start;font-size:12px;color:#686868}
.notes details{grid-column:1;grid-row:1;min-width:0}
.notes details[open]{grid-column:1/-1}
.notes details[open] summary{max-width:calc((100% - var(--notes-gap)*2)/3)}
.notes summary{cursor:pointer;width:fit-content;min-height:44px;display:flex;align-items:center;list-style:none;line-height:1.6;padding:8px 0}
.notes summary::-webkit-details-marker{display:none}
.notes summary:hover{text-decoration:underline;text-underline-offset:5px}
.research{max-width:660px;padding:18px 0 30px}.research p{font-size:14px;line-height:1.6;margin:0 0 20px;max-width:none;text-wrap:pretty}
.research ol{margin:0;padding-left:18px}.research li{padding:10px 0 0 5px;font-size:14px}.research li p{margin-top:6px}
.colophon,.original-photo{grid-row:1;display:inline-flex;align-items:center;min-height:44px;padding:8px 0;line-height:1.6;white-space:nowrap;text-decoration:none}
.original-photo{grid-column:2;justify-self:center;max-width:100%;white-space:normal;text-align:center;gap:4px}
.colophon{grid-column:3;justify-self:end}
.colophon:hover,.original-photo:hover{text-decoration:underline}
#cinema{display:none}
.enhanced .journey{height:var(--journey-height,1180svh);position:relative;overflow-anchor:none}
.enhanced .viewport{position:sticky;top:0;width:100%;height:100svh;overflow:hidden;isolation:isolate}
.enhanced #cinema{display:block;position:absolute;inset:0;z-index:0;pointer-events:none}
canvas{display:block;width:100%;height:100%}
.enhanced .beat{position:absolute;inset:0;max-width:none;margin:0;padding:0;opacity:0;pointer-events:none;z-index:1}
.enhanced .beat.is-active{pointer-events:auto}
.enhanced .words{position:absolute;left:50%;top:50%;width:min(650px,76vw);transform:translate(-50%,-50%);transform-origin:center;will-change:transform,opacity}
/* Protect the letterforms, not a rectangular panel around the whole thought.
   The wireframe remains visible through the spaces between lines and words. */
.enhanced .words{text-shadow:0 0 5px #fff,0 1px 7px #fff}
.enhanced .words h1,.enhanced .words h2{text-shadow:0 0 6px #fff}
/* The selectable text still supplies semantics, selection and the complete
   plain-flow version. Only a successfully prepared drawing replaces its ink. */
.enhanced .journey[data-grid-letters="yes"] #keep-going .words,
.enhanced .journey[data-grid-letters="yes"] #keep-going h2{color:transparent;text-shadow:none;-webkit-text-stroke:0}
@supports(paint-order:stroke fill){
 .enhanced .words{paint-order:stroke fill;-webkit-text-stroke:2px #fff}
 .enhanced .words h1,.enhanced .words h2{-webkit-text-stroke:3px #fff}
 .enhanced .closing-quote{paint-order:stroke fill;-webkit-text-stroke:1.5px #fff}
}
.enhanced .opening h1{font-size:clamp(42px,6.7vw,96px);margin-bottom:24px}
.enhanced .opening p{font-size:clamp(15px,1.5vw,21px);line-height:1.55;max-width:39ch}
@media(min-width:701px){
 .enhanced .opening h1{font-size:var(--screen-heading-size,76px);margin-bottom:0}
 .enhanced .opening .words p{position:absolute;top:var(--opening-intro-offset);left:50%;width:min(560px,80vw);margin:0;transform:translateX(-50%);font-size:clamp(16px,1.35vw,20px);line-height:1.55}
}
.enhanced .words h2{font-size:clamp(39px,5.5vw,72px)}
.enhanced #bigger-title{font-size:clamp(58px,8.4vw,128px);line-height:1.03;letter-spacing:-.055em;margin:0}
.enhanced #bigger-title em{display:inline-block}
#inside-word{display:inline-block;white-space:nowrap;letter-spacing:-.035em;font-kerning:none}
.inside-baseline{display:inline-block;width:0;height:0;vertical-align:baseline}
.enhanced #bigger-idea .words{will-change:auto}
.enhanced .question-rest{will-change:opacity}
.enhanced .inside-copy{position:absolute;left:50%;top:50%;width:min(510px,70vw);transform:translate(-50%,-50%);opacity:0;will-change:transform,opacity}
.enhanced .inside-copy p:first-child{margin-top:0}
.enhanced .portrait{position:absolute;inset:0;width:100%;height:100%;margin:0}
.portrait.finale{position:relative;width:100%;height:100svh;min-height:320px;overflow:hidden;overflow-anchor:none;isolation:isolate}
.enhanced .portrait.finale{position:absolute;inset:0;height:100%}
.finale::before{content:'';position:absolute;inset:0;background:#fff;opacity:var(--finale-paper,1)}
.finale-grid,.finale-art{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0}
.finale-grid{stroke:#737b79;stroke-width:.9}
.architecture-piece{opacity:0}
.finale-sketch{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:1}
.finale.is-ready .finale-grid{opacity:.46}
.finale.is-ready .finale-art{opacity:1}
.finale.is-ready .finale-sketch{opacity:0}
.finale[data-finale-state="complete"] .finale-grid,.finale[data-finale-state="complete"] .finale-art{visibility:hidden}
.finale[data-finale-state="complete"] .finale-sketch{opacity:1}
/* Keep the closing words at the drawing's upper right, allowing for letterboxing. */
.enhanced .closing-quote{position:absolute;top:max(32px,calc((100svh - 56.25vw)/2 + 24px));right:max(clamp(24px,4.5vw,100px),calc((100vw - 177.7778svh)/2 + 24px));width:min(440px,24vw,42.6667svh);margin:0;text-align:right;pointer-events:none}
.enhanced .closing-quote span{opacity:0}
.enhanced .journey[data-finale-complete="yes"] .closing-setup{animation:closing-line 1s .8s both}
.enhanced .journey[data-finale-complete="yes"] .closing-question{animation:closing-line .9s 2.4s both}
.enhanced .journey[data-finale-complete="yes"] .closing-answer{animation:closing-line 1s 4s both}
@keyframes closing-line{from{opacity:0}to{opacity:1}}
@media(max-aspect-ratio:1/1){
 .enhanced .closing-quote{top:min(calc(50% + 28.125vw + clamp(24px,4svh,48px)),calc(100svh - 200px));left:24px;right:24px;width:auto;font-size:clamp(26px,7.4vw,37px);text-align:center}
}
@media(min-aspect-ratio:1/1) and (max-height:600px){
 .enhanced .closing-quote{top:max(12px,calc((100svh - 56.25vw)/2 + 12px));font-size:clamp(18px,5svh,24px)}
 .enhanced .closing-setup{font-size:11px}
}
@media(min-aspect-ratio:4/5) and (max-aspect-ratio:1/1) and (max-height:600px){
 .enhanced .closing-quote{top:12px;font-size:22px;line-height:1.08}
 .enhanced .closing-setup{font-size:11px;margin-bottom:.6em}
}
html:not(.enhanced) .closing-quote{width:calc(100% - 64px);max-width:660px;margin-left:auto;margin-right:auto}
html:not(.enhanced) .finale:not(.is-ready){height:auto;min-height:0}
html:not(.enhanced) .finale:not(.is-ready) .finale-sketch{position:relative;height:auto;aspect-ratio:1672/941}
@media(prefers-reduced-motion:reduce){.finale-grid,.finale-art{display:none}.finale .finale-sketch{opacity:1!important}.closing-quote span{animation:none!important;opacity:1!important}}
@media print{.portrait.finale{height:auto;min-height:0}.finale-grid,.finale-art{display:none}.portrait .finale-sketch{position:relative;height:auto;aspect-ratio:1672/941;opacity:1!important}.closing-quote span{animation:none!important;opacity:1!important}}
@media(max-width:700px){
 .beat{padding:70px 25px}.beat h1,.beat h2{font-size:46px}p{font-size:17px}
 .enhanced .words{width:calc(100vw - 70px)}
 .enhanced .opening h1{font-size:min(clamp(30px,8.8vw,51px),7svh);margin-bottom:20px}
 .enhanced .opening p{font-size:15px;line-height:1.5}
 .enhanced .opening .words h1{margin-bottom:0}
 .enhanced .opening .words p{position:absolute;top:var(--opening-intro-offset);left:50%;width:calc(100vw - 56px);max-width:38ch;margin:0;transform:translateX(-50%);font-size:16px;line-height:1.55}
 .enhanced .words h2{font-size:clamp(34px,10.1vw,47px);margin-bottom:21px}
 .enhanced #bigger-title{font-size:clamp(42px,11.8vw,70px);line-height:1.05}
 .enhanced .inside-copy{width:calc(100vw - 76px)}
 .enhanced .words p{font-size:16px;line-height:1.5;margin-top:16px}
 .small-fact strong{font-size:44px}.small-fact span{font-size:12px}
 .notes{--notes-gap:12px;--photo-credit-width:11em;grid-template-columns:minmax(0,1fr) var(--photo-credit-width) minmax(0,1fr);padding:20px 24px 30px;font-size:11px}
 .notes details[open] summary{max-width:calc((100% - var(--notes-gap)*2 - var(--photo-credit-width))/2)}
 .original-photo{position:relative;white-space:nowrap}
 .original-photo [aria-hidden]{position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%)}
}
@media(prefers-reduced-motion:reduce){.words,.portrait{will-change:auto!important}}
