/* One continuous editorial page, shared by the website and approval preview. */
.tr-reading{--article-ink:#22382d;--article-muted:#68736b;--article-clay:#a45c44;--article-line:#deded3;color:var(--article-ink);background:#fffdf9;overflow-wrap:anywhere}
.tr-reading *, .tr-reading *::before,.tr-reading *::after{box-sizing:border-box}
.tr-reading-hero{max-width:1020px;margin:auto;padding:64px 36px 34px;text-align:left}
.tr-reading-kicker{font:600 11px/1.6 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--article-clay);margin:0 0 24px;padding-bottom:15px;border-bottom:1px solid var(--article-line)}
.tr-reading .tr-reading-title{max-width:850px;margin:0 0 24px;font:400 clamp(38px,4.9vw,65px)/1.08 Georgia,serif;letter-spacing:-.035em;text-wrap:balance}
.tr-reading-deck{max-width:740px;margin:0 0 28px;font:400 clamp(20px,2vw,25px)/1.5 Georgia,serif;color:#4e5d52}
.tr-reading-meta{font:400 11px/1.6 system-ui,sans-serif;letter-spacing:.035em;color:var(--article-muted);margin:0;padding-top:16px;border-top:1px solid var(--article-line)}
.tr-reading .tr-reading-photo{margin:34px 0 38px;width:100%;transform:none;max-width:100%;text-align:left}
.tr-reading .tr-reading-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:2px;filter:none;transition:transform .45s ease;will-change:auto}
.tr-reading .tr-reading-photo figcaption{margin:10px 0 0;padding-left:12px;border-left:1px solid var(--article-line);font:400 11px/1.6 system-ui,sans-serif;color:var(--article-muted);text-align:left}
.tr-reading .tr-reading-cover{max-width:1020px;width:calc(100% - 72px);margin:0 auto 48px}
.tr-reading-cover img{max-height:530px;aspect-ratio:16/10!important}
.tr-reading-layout{display:grid;grid-template-columns:160px minmax(0,640px);gap:56px;max-width:928px;margin:0 auto;padding:0 36px 64px;align-items:start}
.tr-reading-aside{position:sticky;top:calc(50vh - 160px);overflow-y:auto;font:400 11px/1.55 system-ui,sans-serif;padding-top:8px}
.tr-reading-aside>span{display:block;color:var(--article-clay);text-transform:uppercase;letter-spacing:.12em;font-size:9px;margin-bottom:12px}
.tr-reading-toc{display:grid;gap:3px;border-left:1px solid var(--article-line)}
.tr-reading-toc button{border:0;border-left:2px solid transparent;border-radius:0;background:transparent;color:var(--article-muted);text-align:left;font:inherit;padding:7px 12px;margin-left:-1px;cursor:pointer;transition:color .2s,border-color .2s}
.tr-reading-toc button:hover,.tr-reading-toc button[aria-current]{border-left-color:var(--article-clay);color:var(--article-ink);background:transparent}
.tr-reading-copy{min-width:0;font:400 20px/1.75 Georgia,'Times New Roman',serif}
.tr-reading-copy>p{margin:0 0 22px}.tr-reading-copy>p:first-child{font-size:22px;line-height:1.65}
.tr-reading-copy>p:first-child::first-letter{float:left;font:400 68px/.8 Georgia,serif;margin:9px 9px 0 0;color:var(--article-clay)}
.tr-reading-copy h2{font:400 clamp(25px,2.6vw,32px)/1.22 Georgia,serif;letter-spacing:-.02em;margin:36px 0 15px;scroll-margin-top:110px;text-wrap:balance}
.tr-reading-copy h3{font:400 24px/1.3 Georgia,serif;margin:28px 0 14px}
.tr-reading-copy blockquote{margin:34px 0;padding:23px 0 24px;border:0;border-top:1px solid var(--article-line);border-bottom:1px solid var(--article-line);border-radius:0;background:transparent;font:italic 400 29px/1.4 Georgia,serif;color:#45594b}.tr-reading-copy blockquote p{margin:0}
.tr-reading-copy details{margin:30px 0;border:0;border-top:1px solid var(--article-line);border-bottom:1px solid var(--article-line);border-radius:0;background:transparent;padding:0}
.tr-reading-copy summary{padding:19px 4px;font:500 14px/1.5 system-ui,sans-serif;cursor:pointer;color:var(--article-clay)}.tr-reading-copy details[open] summary{border-bottom:1px solid var(--article-line);margin-bottom:18px}.tr-reading-copy details p,.tr-reading-copy details li{font-size:18px}.tr-reading-copy details p:last-child{margin-bottom:22px}
.tr-reading button:focus-visible,.tr-reading summary:focus-visible{outline:2px solid var(--article-clay);outline-offset:4px}
.tr-reading-progress{position:sticky;top:0;z-index:4;display:block;height:2px;width:100%;border:0;appearance:none;background:#e9e5db;color:var(--article-clay)}.tr-reading-progress::-webkit-progress-bar{background:#e9e5db}.tr-reading-progress::-webkit-progress-value{background:var(--article-clay)}.tr-reading-progress::-moz-progress-bar{background:var(--article-clay)}
.tr-reading-reveal{opacity:0;translate:0 16px;transition:opacity .65s ease,translate .8s cubic-bezier(.2,.65,.25,1)}.tr-reading-reveal.is-visible{opacity:1;translate:0 0}
@media(max-width:820px){.tr-reading-layout{grid-template-columns:minmax(0,1fr);gap:30px;max-width:712px}.tr-reading-aside{position:static;padding:0 0 20px;border:0;border-bottom:1px solid var(--article-line);border-radius:0}.tr-reading-aside>span{margin-bottom:8px}.tr-reading-toc{grid-template-columns:1fr 1fr;gap:4px 18px;border:0}.tr-reading-toc button{padding:4px 0;margin:0;border:0;font-size:11px;text-decoration:underline;text-decoration-color:#d3d7cf;text-underline-offset:4px}.tr-reading-toc button:hover,.tr-reading-toc button[aria-current]{text-decoration-color:var(--article-clay)}.tr-reading-hero{padding:38px 28px 26px}.tr-reading .tr-reading-cover{width:calc(100% - 56px);margin-bottom:32px}}
@media(max-width:480px){.tr-reading-hero{padding:30px 20px 23px}.tr-reading .tr-reading-title{font-size:36px;line-height:1.1}.tr-reading-deck{font-size:21px}.tr-reading-layout{padding:0 20px 36px;gap:25px}.tr-reading .tr-reading-cover{width:calc(100% - 40px)}.tr-reading-copy{font-size:18px;line-height:1.75}.tr-reading-copy>p:first-child{font-size:20px}.tr-reading-copy>p:first-child::first-letter{font-size:60px}.tr-reading-copy blockquote{font-size:26px;padding:21px 0}.tr-reading .tr-reading-photo{margin:26px 0 30px}.tr-reading-toc{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tr-reading-reveal{opacity:1;translate:none;transition:none}.tr-reading .tr-reading-photo img,.tr-reading-toc button{transition:none;transform:none!important}}

/* More expressive reading motion, without moving the text during reading. */
.tr-reading-motion .tr-reading-hero>*{animation:tr-reading-enter .85s cubic-bezier(.2,.7,.25,1) both}
.tr-reading-motion .tr-reading-hero .tr-reading-title{animation-delay:.08s}
.tr-reading-motion .tr-reading-hero .tr-reading-deck{animation-delay:.18s}
.tr-reading-motion .tr-reading-hero .tr-reading-meta{animation-delay:.26s}
.tr-reading-motion .tr-reading-photo{overflow:hidden;perspective:1400px}
.tr-reading-motion .tr-reading-photo img{transform:translateY(var(--photo-scroll,0px)) rotateX(var(--photo-x,0deg)) rotateY(var(--photo-y,0deg)) scale(var(--photo-zoom,1.035));transition:transform .55s cubic-bezier(.2,.7,.25,1)}
.tr-reading-motion .tr-reading-photo figcaption{position:relative;background:#fffdf9;padding-block:3px}
.tr-reading-reveal{translate:0 28px;transition-duration:.75s,.95s;transition-delay:var(--reveal-delay,0ms)}
.tr-reading-reveal.is-visible{translate:0 0}
.tr-reading-motion figure.tr-reading-reveal{clip-path:inset(0 0 12% 0);transition:opacity .85s ease,translate .95s ease,clip-path 1.1s cubic-bezier(.2,.7,.25,1)}
.tr-reading-motion figure.tr-reading-reveal.is-visible{clip-path:inset(0)}
.tr-reading-toc button{transition:color .25s,border-color .25s,translate .25s}
@media(hover:hover) and (pointer:fine){.tr-reading-toc button:hover{translate:3px 0}}
.tr-reading-copy summary{transition:color .25s,padding-left .25s}
.tr-reading-copy summary:hover{padding-left:9px;color:var(--article-ink)}
.tr-reading-motion details[open]>:not(summary){animation:tr-reading-enter .45s ease both}
@keyframes tr-reading-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.tr-reading-motion .tr-reading-hero>*,.tr-reading-motion details[open]>:not(summary){animation:none}.tr-reading-motion .tr-reading-photo img{transform:none!important;transition:none}.tr-reading-reveal,.tr-reading-motion figure.tr-reading-reveal{opacity:1;translate:none;clip-path:none;transition:none}.tr-reading-toc button,.tr-reading-copy summary{transition:none;translate:none}}
/* Interactive editorial moments, shared by the current and future articles. */
.tr-reading-tools{position:sticky;top:2px;z-index:5;display:flex;align-items:center;gap:8px;padding:8px 18px;background:rgba(255,253,249,.95);border-bottom:1px solid var(--article-line);backdrop-filter:blur(12px);font:400 11px/1.4 system-ui,sans-serif}
.tr-reading-tools button{font:inherit;color:var(--article-ink);background:transparent;border:1px solid var(--article-line);border-radius:30px;padding:6px 11px;cursor:pointer;transition:background .2s,transform .2s}
.tr-reading-tools button:hover{background:#eae8dc;transform:translateY(-2px)}
.tr-reading-tools .is-saved{background:#e8ede5;border-color:#8a9b88}.tr-reading-tools [hidden]{display:none!important}
.tr-reading-meter{margin-right:auto;color:var(--article-muted);font-variant-numeric:tabular-nums}
.tr-reading-section-number{display:block;font-size:9px;letter-spacing:.1em;opacity:.6;margin-bottom:3px}
.tr-reading-motion .tr-reading-copy>h2{position:relative;padding-bottom:9px}
.tr-reading-motion .tr-reading-copy>h2::after{content:'';position:absolute;left:0;bottom:0;width:55px;height:2px;background:var(--article-clay);transform:scaleX(var(--heading-progress,0));transform-origin:left;transition:transform .18s linear}
.tr-reading .tr-reading-photo-open{position:relative;display:block;overflow:hidden;width:100%;padding:0;border:0;border-radius:2px;background:transparent;cursor:zoom-in;color:#fff;isolation:isolate}
.tr-reading-photo-hint{position:absolute;right:16px;bottom:16px;padding:9px 13px;border:1px solid #ffffff70;border-radius:30px;background:#20372dce;font:500 11px/1.4 system-ui,sans-serif;transition:transform .3s,background .3s;z-index:1}
.tr-reading-photo-open:hover .tr-reading-photo-hint{transform:translateY(-4px);background:#20372d}
.tr-reading-motion .tr-reading-photo img{transform:translateY(var(--photo-scroll,0px)) rotateX(var(--photo-x,0deg)) rotateY(var(--photo-y,0deg)) scale(var(--photo-zoom,1.075));transition:transform .65s cubic-bezier(.2,.7,.25,1)}
.tr-reading-motion .tr-reading-cover .tr-reading-photo-open{animation:tr-reading-cover-enter 1.3s cubic-bezier(.2,.7,.25,1) both}
.tr-reading-gallery{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:65px 28px 24px;background:#14281df5;color:#fff;overscroll-behavior:contain;overflow:auto;animation:tr-reading-gallery-enter .3s ease both}
.tr-reading-gallery-image{display:block;object-fit:contain;max-width:100%;width:auto;max-height:65vh;min-height:0;border-radius:3px}
.tr-reading .tr-reading-gallery-close{position:absolute;top:18px;right:20px;font:500 13px system-ui,sans-serif;color:#fff;background:transparent;border:1px solid #ffffff60;border-radius:30px;padding:9px 16px;cursor:pointer}
.tr-reading-gallery-caption{max-width:740px;font:400 12px/1.6 system-ui,sans-serif;text-align:center;margin:0;color:#dce7d9}
.tr-reading-gallery-controls{display:flex;align-items:center;gap:24px;font:400 12px system-ui,sans-serif}
.tr-reading .tr-reading-gallery-controls button{width:40px;height:40px;font:400 20px system-ui,sans-serif;background:#ffffff15;border:1px solid #ffffff60;border-radius:50%;color:#fff;cursor:pointer}
@keyframes tr-reading-cover-enter{from{opacity:0;clip-path:inset(0 0 18% 0);transform:translateY(24px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}
@keyframes tr-reading-card-open{from{opacity:0;transform:rotateX(-12deg) translateY(12px)}to{opacity:1;transform:rotateX(0) translateY(0)}}
@keyframes tr-reading-pause-wave{0%,100%{transform:scale(.94);background:#e0e7d7}50%{transform:scale(1.07);background:#cfdcbe}}
@keyframes tr-reading-ripple{from{transform:scale(.96);opacity:1}to{transform:scale(1.4);opacity:0}}
@keyframes tr-reading-gallery-enter{from{opacity:0}to{opacity:1}}
@media(max-width:480px){.tr-reading-tools{gap:5px;padding:7px 10px;font-size:10px}.tr-reading-tools button{padding:6px 8px}.tr-reading-section-number{display:inline;margin-right:7px}.tr-reading-pause{padding:24px 18px}.tr-reading-pause h3{font-size:26px}.tr-reading-pause-choices{flex-direction:column;align-items:stretch}.tr-reading-prompt-card{padding:16px!important;grid-template-columns:27px 1fr!important}.tr-reading-prompt-question{font-size:19px}.tr-reading-gallery{padding:60px 14px 18px}.tr-reading-gallery-image{max-height:55vh}}
@media(prefers-reduced-motion:reduce){.tr-reading-motion .tr-reading-cover .tr-reading-photo-open,.tr-reading-motion .tr-reading-prompt-answer:not([hidden]),.tr-reading-motion .tr-reading-thought.is-changing,.tr-reading-motion .is-pausing .tr-reading-pause-visual,.tr-reading-motion .is-pausing .tr-reading-pause-visual::after,.tr-reading-gallery{animation:none}.tr-reading-tools button,.tr-reading-prompt-card,.tr-reading-pause-choices button,.tr-reading-pause-start,.tr-reading-photo-hint{transition:none;transform:none!important}.tr-reading-motion .tr-reading-copy>h2::after{transition:none;transform:none}.tr-reading-motion .tr-reading-photo img{transform:none!important}}

/* Passive editorial motion; all words remain readable without a click. */
.tr-reading-passage{margin:38px 0;padding:25px 24px;border-left:2px solid var(--article-clay);background:#f0f1e9}
.tr-reading-passage p,.tr-reading-passage li{font-size:18px;line-height:1.7}
.tr-reading-passage .tr-reading-passage-label{font:600 11px/1.5 system-ui,sans-serif;color:var(--article-clay);letter-spacing:.06em;margin:0 0 17px}
.tr-reading-moment{position:relative;isolation:isolate;overflow:hidden;padding-bottom:90px!important;transition:background .4s}
.tr-reading-moment::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,50%),#b8c8a633,transparent 70%);opacity:var(--moment-flow,0);pointer-events:none}
.tr-reading-motion-art{position:absolute;bottom:12px;left:0;right:0;height:55px;pointer-events:none;transform:translate(var(--mouse-x,0px),var(--mouse-y,0px));transition:transform .45s ease}
.tr-reading-motion-art i{position:absolute;display:block;left:calc(12% + var(--mark)*17%);top:10px;width:34px;height:34px;border:1px solid #92a487;border-radius:50%;opacity:calc(.25 + var(--moment-flow,0)*.55);transform:translateY(calc((1 - var(--moment-flow,0))*30px)) rotate(calc(var(--moment-flow,0)*90deg));transition:transform .15s linear}
.tr-reading[data-motion-profile=thread] .tr-reading-motion-art i{width:20%;height:1px;left:calc(var(--mark)*20%);top:calc(14px + var(--mark)*6px);border:0;background:#9baf8d;border-radius:0;transform:scaleX(var(--moment-flow,0));transform-origin:left}
.tr-reading[data-motion-profile=tide] .tr-reading-motion-art i{width:85%;height:32px;left:8%;top:calc(var(--mark)*5px);border-radius:50%;border-bottom:0;border-left:0;border-right:0;transform:translateX(calc((1 - var(--moment-flow,0))*-60px)) scaleY(calc(.3 + var(--moment-flow,0)*.7))}
.tr-reading[data-motion-profile=petals] .tr-reading-motion-art i{border-radius:70% 5% 70% 5%;background:#dbe4cf66;transform:translateY(calc((1 - var(--moment-flow,0))*35px)) rotate(calc(var(--mark)*25deg + var(--moment-flow,0)*60deg)) scale(calc(.4 + var(--moment-flow,0)*.6))}
.tr-reading[data-motion-profile=orbit] .tr-reading-motion-art i{left:calc(50% - 18px);width:calc(22px + var(--mark)*8px);height:calc(22px + var(--mark)*8px);top:calc(18px - var(--mark)*4px);transform:translateX(calc((var(--mark) - 2)*var(--moment-flow,0)*38px)) rotate(calc(var(--moment-flow,0)*180deg))}
.tr-reading[data-motion-profile=tide] .tr-reading-copy>h2::after{width:100%;height:1px}
.tr-reading[data-motion-profile=petals] .tr-reading-copy>h2::after{width:85px;border-radius:50%;height:3px}
.tr-reading[data-motion-profile=orbit] .tr-reading-copy>h2::after{width:20px;height:5px;border-radius:5px}
@media(max-width:820px){.tr-reading-aside{max-height:none!important;overflow:visible}.tr-reading-moment{padding-bottom:80px!important}}
@media(prefers-reduced-motion:reduce){.tr-reading-motion-art{transform:none!important;transition:none}.tr-reading-motion-art i{transform:none!important;transition:none;opacity:.65}.tr-reading-moment::before{opacity:.5}.tr-reading-moment{transition:none}}
