@font-face{font-family:TCVolume;src:url('/fonts/TCVolume-Regular.f99b95a9dc21.woff2') format('woff2');font-display:block}
@font-face{font-family:TCVolume;src:url('/fonts/TCVolume-Italic.b016f9523f93.woff2') format('woff2');font-style:italic;font-display:fallback}
@font-face{font-family:TCVolumeSans;src:url('/fonts/TCVolumeSans-Regular.19768f004dca.woff2') format('woff2');font-display:block}
@font-face{font-family:'Biro Script';src:url('/fonts/BiroScriptReduced-Regular.a370ad36e418.woff2') format('woff2');font-display:block}
:root{
  color-scheme:light dark;
  --paper:light-dark(#f7e7e7,#220606);
  --red:light-dark(#c91313,#ff6262);
  --ink:light-dark(#a81010,#ff6666);
  --body:light-dark(#4e1616,#f6d5d5);
  --soft:light-dark(#772e2e,#e1abab);
  --rule:light-dark(#d6a7a7,#975050);
  --subtle:light-dark(#ebd0d0,#480f0f);
  --panel:light-dark(#faeeee,#310808);
  --field:light-dark(#fff6f6,#270606);
  --target:light-dark(#efd0d0,#501414);
  --target-flash:light-dark(#e8b3b3,#641c1c);
  --note-rose:light-dark(#f2dbdb,#400c0c);
  --note-blush:light-dark(#f7dfdf,#390a0a);
  --note-berry:light-dark(#eac5c5,#511414);
  --map-water:light-dark(#efd5d5,#290808);
  --map-land:light-dark(#fbefee,#4d1414);
  --map-outline:light-dark(#d6a7a7,#8d3939);
  --map-park:light-dark(#efdbda,#3e1010);
  --map-building:light-dark(#efd6d5,#5f1b1b);
  --map-road:light-dark(#deb1b0,#8a3434);
  --map-arterial:light-dark(#c78f8e,#ad4949);
  --map-label:light-dark(#722a2a,#f0b4b4);
  --receipt-paper:light-dark(#fff5e9,#420c0c);
  --serif:TCVolume,Georgia,serif;
  --sans:TCVolumeSans,system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-family:var(--serif);
  font-size:17px;
}
:root[data-theme=light]{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark}
main{--page-start:clamp(1.8rem,4.5vw,4.1rem)}
*,*::after,*::before{box-sizing:border-box}
body{margin:0;min-width:300px}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--red)}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
[data-pointer-focus]:focus{outline:none}
img{max-width:100%;display:block}
p,li{line-height:1.52}
button,input,select,textarea{font:inherit;color:inherit}
button,summary{cursor:pointer}
figure{margin:0}
h1,h2,h3{font-family:var(--sans);font-weight:400;line-height:.98;letter-spacing:-.055em;margin:0}
h1{font-size:clamp(3.4rem,8vw,7.5rem)}
h2{font-size:clamp(1.75rem,3.5vw,3.2rem)}
h3{font-size:clamp(1.3rem,2.5vw,2.15rem)}
[hidden]{display:none!important}
.frame{width:min(100% - clamp(2.2rem,11vw,10rem),78rem);margin-inline:auto}
.sr-only,.trap{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.filter-defs{position:absolute;pointer-events:none}
.skip{position:fixed;left:1rem;top:1rem;padding:.5rem 1rem;background:var(--paper);z-index:10;transform:translateY(-180%)}
.skip:focus{transform:none}
main:focus{outline:none}
main{scroll-margin-top:5.75rem}
.masthead{border-bottom:1px solid var(--rule)}
.wordmark-bar{
  --wordmark-padding:.7rem;
  display:grid;
  place-items:center;
  padding-top:calc(2.3rem - var(--wordmark-padding));
  margin-bottom:calc(1.4rem - var(--wordmark-padding));
}
.wordmark-bar[data-back-to-top]{
  position:sticky;
  z-index:9;
  top:0;
  pointer-events:none;
}
.wordmark{
  --wordmark-width:clamp(10rem,20vw,14rem);
  position:relative;
  display:block;
  padding:var(--wordmark-padding) 1.15rem;
  border-radius:11px;
  pointer-events:auto;
}
.wordmark-image{height:auto;filter:url(#wordmark-ink)}
.wordmark-sticker{position:relative;display:block;pointer-events:none}
.wordmark .wordmark-image{position:relative;width:var(--wordmark-width)}
.wordmark-ink{flood-color:var(--red)}
.wordmark .wordmark-sticker::before,.wordmark-edge{
  position:absolute;
  top:50%;
  left:50%;
  width:calc(var(--wordmark-width) * 1.115822);
  aspect-ratio:1079/400;
  translate:-50% -50%;
  opacity:0;
  pointer-events:none;
}
.wordmark .wordmark-sticker::before{
  content:"";
  background:var(--panel);
  clip-path:url(#wordmark-cutout);
}
.wordmark-edge{
  overflow:visible;
  fill:none;
  stroke:light-dark(#fffafa,#ff9898);
  stroke-opacity:.46;
  stroke-width:4;
  filter:drop-shadow(0 2px 3px #34090945);
}
.wordmark-bar[data-scrolled] .wordmark-sticker::before,.wordmark-bar[data-scrolled] .wordmark-edge{opacity:1}
@supports (backdrop-filter:blur(20px)) or (-webkit-backdrop-filter:blur(20px)){
  .wordmark .wordmark-sticker::before{
    background:color-mix(in srgb,var(--paper) 61%,transparent);
    -webkit-backdrop-filter:saturate(142%) blur(20px);
    backdrop-filter:saturate(142%) blur(20px);
  }
}
.wordmark:is(:hover,:focus-visible) .wordmark-edge{stroke-opacity:.8}
@media(prefers-contrast:more){
  .wordmark .wordmark-sticker::before{background:var(--panel)}
  .wordmark-edge{stroke:var(--ink);stroke-opacity:1}
}
.nav-links{display:flex;gap:.1rem clamp(.8rem,3.1vw,2.8rem);align-items:center;justify-content:center;flex-wrap:wrap}
.nav-step{display:none}
.masthead nav a{display:block;position:relative;text-decoration:none;padding:.65rem 0 .8rem;font:1rem var(--sans);color:var(--ink);white-space:nowrap}
.masthead nav a[aria-current]{color:var(--red)}
.masthead nav a::after{content:"";position:absolute;height:2px;bottom:-1px;left:0;right:0;background:var(--red);opacity:0;scale:.65 1}
.masthead nav a:is([aria-current],:hover,:focus-visible)::after{opacity:1;scale:1 1}
.site-footer{border-top:1px solid var(--rule);margin-top:clamp(3.5rem,8vw,7.5rem);padding:1.35rem 0 2.3rem}
.footer-main,.footer-detail,.socials{display:flex;gap:1rem 1.4rem;align-items:center;flex-wrap:wrap}
.footer-main{justify-content:space-between}
.footer-wordmark{display:grid;align-items:center;min-height:44px}
.footer-wordmark .wordmark-image{width:clamp(7rem,12vw,8.75rem)}
.footer-detail,.metadata,.provider{font: .79rem/1.5 var(--sans);color:var(--soft)}
.footer-detail{margin-top:1.2rem;justify-content:space-between}
.theme-control{display:inline-flex;align-items:center;gap:.45rem}
.theme-control #theme-preference{width:auto;margin:0;padding:.25rem .45rem;border-radius:6px;color:var(--ink);font:inherit}
.action{font:.95rem/1.4 var(--sans);white-space:normal}
.action span{margin-left:.2em}
.page-head{margin:var(--page-start) 0 2rem}
.page-head p{font-size:clamp(1.04rem,2.2vw,1.4rem);margin:1.05rem 0 0;color:var(--body)}
.home{margin-top:clamp(1.25rem,3.6vw,3.1rem)}
.timeline{
  --row-min:clamp(153px,19vw,224px);
  --stem:1.7rem;
  display:flex;
  align-items:stretch;
  flex-wrap:wrap;
  overflow-x:clip;
  padding:0;
  margin:0;
  list-style:none;
}
.timeline-item{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  flex:none;
  min-width:0;
  min-height:var(--row-min);
  padding:1.25rem clamp(6px,1vw,14px) var(--stem);
  scroll-margin-top:2rem;
}
/* Items in a flex row share its baseline. Extend the rule through any space at the row's end. */
.timeline-item::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100vw;
  height:1px;
  background:var(--rule);
  pointer-events:none;
}
.timeline-item:has(.timeline-date){padding-bottom:0}
.timeline-item p{font-size:clamp(.86rem,1.18vw,1.05rem);line-height:1.34;margin:0 0 .33rem;color:var(--body);overflow-wrap:anywhere}
.timeline-item figure{position:relative}
.timeline-item figure::after{content:"";position:absolute;top:100%;height:var(--stem);width:1px;left:50%;background:var(--rule)}
.timeline-item img{height:auto;width:100%;max-height:calc(var(--row-min) - 3.35rem);object-fit:contain;object-position:center bottom;filter:url(#rose)}
.timeline-item figcaption{font:.68rem var(--sans);text-align:center;margin-top:.25rem;color:var(--soft)}
.timeline-image.size-small{width:clamp(67px,9vw,114px)}
.timeline-image.size-medium{width:clamp(83px,11.2vw,143px)}
.timeline-image.size-large{width:clamp(110px,14.5vw,179px)}
.timeline-image.first img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center 38%;border-radius:50%}
.timeline-text.size-small{width:clamp(88px,10.8vw,130px)}
.timeline-text.size-medium{width:clamp(106px,13.5vw,158px)}
.timeline-text.size-large{width:clamp(120px,16vw,198px)}
.timeline-move{width:clamp(124px,12vw,148px)}
.timeline-move.size-small{width:clamp(117px,10.5vw,125px)}
.timeline-move.size-large{width:clamp(126px,14vw,174px)}
.boarding-pass{
  --ticket-cut:.38rem;
  position:relative;
  border:1px solid var(--rule);
  border-radius:.42rem;
  background:var(--panel);
}
.boarding-pass-main{padding:.56rem clamp(.4rem,1vw,.62rem) .62rem}
.boarding-pass-label{display:block;color:var(--soft);font:.65rem var(--sans);letter-spacing:.13em;text-transform:uppercase}
.boarding-pass-route{display:grid;gap:.24rem;margin-top:.45rem}
.boarding-pass-city{display:block;color:var(--body);font:.87rem/1.2 var(--sans);overflow-wrap:anywhere}
.boarding-pass-arrow{font:.92rem/1 system-ui,sans-serif;color:var(--soft)}
.boarding-pass p{border-top:1px solid var(--rule);margin:.62rem 0 0;padding-top:.55rem}
.boarding-pass-stub{
  position:relative;
  height:1.25rem;
  border-top:1px dashed var(--rule);
  background:repeating-linear-gradient(90deg,var(--soft) 0 1px,transparent 1px 3px,var(--soft) 3px 5px,transparent 5px 7px) center / 2.2rem .47rem no-repeat;
}
.boarding-pass-stub::before,.boarding-pass-stub::after{
  content:"";
  position:absolute;
  top:calc(-1 * var(--ticket-cut));
  width:var(--ticket-cut);
  height:calc(2 * var(--ticket-cut));
  background:var(--paper);
  border:1px solid var(--rule);
}
.boarding-pass-stub::before{left:-1px;border-left:0;border-radius:0 1rem 1rem 0}
.boarding-pass-stub::after{right:-1px;border-right:0;border-radius:1rem 0 0 1rem}
.boarding-pass-play{
  position:absolute;
  inset:0;
  width:100%;
  padding:0;
  border:0;
  border-radius:inherit;
  background:transparent;
}
.boarding-pass a{position:relative;z-index:1}
.boarding-pass:has(.boarding-pass-play:is(:hover,:focus-visible)){
  border-color:var(--ink);
  background:var(--target);
}
.timeline-journey{
  position:fixed;
  inset:0;
  z-index:11;
  overflow:hidden;
  pointer-events:none;
}
.timeline-vehicle{
  position:absolute;
  left:0;
  width:clamp(6.5rem,15vw,11rem);
  color:var(--ink);
  filter:drop-shadow(0 .18rem .18rem light-dark(#4e161654,#190303a6));
}
.timeline-vehicle[data-vehicle=plane]{
  top:clamp(23vh,var(--track-height),75vh);
  aspect-ratio:2.5;
  animation:timeline-plane 1.65s cubic-bezier(.35,.1,.62,.86) both;
}
.timeline-vehicle[data-vehicle=plane]::before{
  content:"";
  position:absolute;
  inset:0;
  background:currentColor;
  clip-path:polygon(100% 49%,96% 43%,62% 43%,39% 0,29% 0,43% 43%,21% 43%,10% 21%,2% 21%,8% 49%,2% 77%,10% 77%,21% 56%,43% 56%,29% 100%,39% 100%,62% 56%,96% 56%);
}
.timeline-vehicle[data-vehicle=plane]::after{
  content:"";
  position:absolute;
  right:96%;
  top:47%;
  width:70%;
  height:9%;
  border-block:1px solid currentColor;
  mask-image:linear-gradient(90deg,transparent,#000);
  opacity:.5;
}
.timeline-vehicle[data-vehicle=train]{
  top:var(--track-height);
  width:clamp(9rem,23vw,16rem);
  height:clamp(1.2rem,2.5vw,1.7rem);
  border-radius:.25rem 1.2rem .16rem .16rem;
  background:
    linear-gradient(90deg,transparent 48%,var(--panel) 48% 50%,transparent 50%),
    repeating-linear-gradient(90deg,var(--panel) 0 .52rem,transparent .52rem .88rem) .45rem 25% / calc(100% - 1.6rem) 31% no-repeat,
    linear-gradient(var(--panel),var(--panel)) right .32rem top 26% / .53rem 29% no-repeat,
    currentColor;
  animation:timeline-train 1.55s cubic-bezier(.33,.15,.67,.85) both;
}
.timeline-vehicle[data-vehicle=train]::after{
  content:"";
  position:absolute;
  inset:auto .25rem -.28rem;
  height:.46rem;
  background:radial-gradient(circle closest-side,currentColor 96%,transparent) left center / 12.5% 100% repeat-x;
}
@keyframes timeline-plane{
  from{transform:translate(-100%,5vh) rotate(-10deg)}
  to{transform:translate(calc(100vw + 9rem),-15vh) rotate(-12deg)}
}
@keyframes timeline-train{
  from{transform:translateX(-100%)}
  to{transform:translateX(100vw)}
}
@media (prefers-reduced-motion:reduce){
  .timeline-vehicle:is([data-vehicle=plane],[data-vehicle=train]){
    left:50%;
    transform:translateX(-50%);
    animation:timeline-journey-appear .95s both;
  }
  .timeline-vehicle[data-vehicle=plane]::after{display:none}
  @keyframes timeline-journey-appear{0%,100%{opacity:0}20%,80%{opacity:1}}
}
.timeline-date{
  position:relative;
  z-index:1;
  align-self:center;
  max-width:100%;
  margin:.95rem 0 -.6rem;
  padding:.13em .48em;
  background:var(--paper);
  border:1px solid var(--rule);
  font:.74rem/1.2 var(--sans);
  text-align:center;
  overflow-wrap:anywhere;
}
.timeline sup{line-height:0;margin-left:.18em;font-family:var(--sans);color:var(--ink)}
.timeline sup a{padding:1px .14em;scroll-margin:45vh}
.footnotes{margin-top:3.9rem}
.footnotes h2,.work-sections h2{font:1.32rem var(--sans);letter-spacing:-.03em;padding-bottom:.8rem;border-bottom:1px solid var(--rule)}
.footnotes ol{columns:3;column-gap:2.6rem;padding-left:1.2rem;margin:1.15rem 0;font-size:.94rem;color:var(--body)}
.footnotes li{break-inside:avoid;margin:0 .35rem 1rem 0;scroll-margin-top:2rem;padding-left:.3rem}
.footnotes :target,.timeline :target{background:var(--target)}
.note-back{margin-left:.28em;font-family:var(--sans);color:var(--ink)}
.note-destination{color:var(--ink)}
.essay-index{border-top:1px solid var(--rule)}
.essay-row{display:grid;grid-template-columns:minmax(7.5rem,14%) minmax(0,1fr) auto;align-items:start;gap:1rem 2rem;border-bottom:1px solid var(--rule);padding:1.7rem 0}
.essay-row time,.article-head time,.role-dates,.place-location,.back{font:.86rem/1.35 var(--sans);color:var(--soft)}
.essay-row time{padding-top:.32rem}
.essay-row h2 a{text-decoration:none}
.essay-row h2 a:hover{text-decoration:underline}
.essay-row p{max-width:61ch;margin:.65rem 0 0;color:var(--body)}
.essay-row img{width:105px;aspect-ratio:4/3;object-fit:cover;filter:url(#rose)}
.essay-arrow{font:1.55rem var(--sans);text-decoration:none}
.essay{--essay-sticky-top:8rem;margin:var(--page-start) auto}
.essay-intro,.essay-body,.essay-outline{max-width:39rem;margin-inline:auto}
.article-head{padding:1.75rem 0 2rem;border-bottom:1px solid var(--rule);margin:0 0 2rem}
.article-head h1{font-size:clamp(2.75rem,7vw,5.8rem);margin:.65rem 0 0}
.prose p,.prose li{color:var(--body);line-height:1.65}
.essay .prose :is(p,li){font-size:clamp(1.03rem,2.15vw,1.2rem)}
.prose p{margin:0 0 1.05em}
.prose a{color:var(--ink)}
.prose h2,.prose h3,.prose h4{color:var(--ink);line-height:1.08}
.prose h2{margin:1.55em 0 .55em;font-size:clamp(1.85rem,4.4vw,3.2rem)}
.prose h3,.prose h4{margin:1.3em 0 .45em;font:1.35rem/1.15 var(--sans)}
.prose ul,.prose ol{padding-left:1.3em}
.prose blockquote{border-left:2px solid var(--rule);margin:1.4rem 0;padding:.05rem 0 .05rem 1rem}
.prose img{height:auto;margin:1rem auto}
.prose figcaption{font:.86rem/1.4 var(--sans);color:var(--soft)}
.essay-body :is(h2,h3,h4)[id]{position:relative;scroll-margin-top:var(--essay-sticky-top);overflow-wrap:anywhere}
.essay-body :is(h2,h3,h4):has(>.essay-permalink){padding-inline-end:1.4rem}
.essay-permalink{position:absolute;inset-block-start:0;inset-inline-end:0;padding:.2rem;font:.9rem/1 var(--sans);color:var(--soft);text-decoration:none}
.essay-permalink:is(:hover,:focus-visible){text-decoration:underline;color:var(--ink)}
.essay-outline{margin-block:0 1.6rem;padding:.85rem 0 0;border-top:1px solid var(--rule)}
.essay-outline-label{margin-bottom:.65rem;font:1rem/1.3 var(--sans);color:var(--ink)}
.essay-outline-links{list-style:none;margin:0;padding:0;font:.85rem/1.35 var(--sans)}
.essay-outline-links li{line-height:inherit}
.essay-outline-links a{display:block;padding:.38rem .55rem;border-inline-start:2px solid transparent;color:var(--soft);text-decoration:none;overflow-wrap:anywhere}
.essay-outline-links [data-depth="1"] a{padding-inline-start:1.15rem}
.essay-outline-links [data-depth="2"] a{padding-inline-start:1.75rem}
.essay-outline-links a:hover{color:var(--ink);text-decoration:underline}
.essay-outline-links a[aria-current="location"]{border-color:var(--ink);background:var(--subtle);color:var(--ink)}
.essay-contents-button{display:none}
.essay-contents-sheet{
  position:fixed;
  inset:auto 0 0;
  width:min(100%,39rem);
  max-width:none;
  max-height:min(78dvh,34rem);
  margin:0 auto;
  padding:0 1rem max(.85rem,env(safe-area-inset-bottom));
  border:1px solid var(--rule);
  border-radius:16px 16px 0 0;
  background:var(--panel);
  color:var(--ink);
  overflow:auto;
  overscroll-behavior:contain;
}
.essay-contents-sheet::backdrop{background:#24070980}
html:has(.essay-contents-sheet[open]){overflow:hidden}
.essay-contents-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.55rem 0;background:var(--panel);border-bottom:1px solid var(--rule)}
.essay-contents-header h2{font:1.15rem/1.3 var(--sans);letter-spacing:normal}
.essay-contents-header button{width:2.75rem;height:2.75rem;padding:0;border:0;background:none;font:1.45rem/1 var(--sans)}
.essay-contents-sheet .essay-outline-links{padding:.45rem 0;font-size:1rem}
.essay-contents-sheet .essay-outline-links a{padding-block:.7rem}
@media (min-width:1160px){
  .essay{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,39rem) minmax(0,1fr);column-gap:clamp(1.2rem,2.5vw,2.75rem)}
  .essay-intro,.essay-body{grid-column:2;width:100%;min-width:0}
  .essay-intro{grid-row:1}
  .essay-body{grid-row:2}
  .essay-outline{grid-column:1;grid-row:1/span 2;align-self:start;position:sticky;top:var(--essay-sticky-top);max-height:calc(100dvh - var(--essay-sticky-top) - 1rem);overflow:auto;overscroll-behavior:contain;width:100%;max-width:14rem;margin:0 0 0 auto}
  .essay-body :is(h2,h3,h4):has(>.essay-permalink){padding-inline-end:0}
  .essay-permalink{inset-inline-end:calc(100% + .35rem);inset-block-start:.25em}
}
@media (width < 1160px){
  .essay:has(.essay-contents-button:not([hidden])) .essay-outline{display:none}
  .essay-contents-button{position:sticky;z-index:4;bottom:max(.85rem,env(safe-area-inset-bottom));display:flex;align-items:center;gap:.48rem;margin:.85rem 0 0 auto;padding:0 .85rem;min-height:44px;border:1px solid var(--rule);border-radius:999px;background:var(--panel);color:var(--ink);box-shadow:0 2px 12px #34090924;font:.9rem/1 var(--sans)}
  .essay-contents-button:hover{border-color:var(--ink)}
}
.end-mark{margin:2.25rem 0 1.25rem;font:1.5rem var(--sans);text-align:center}
.work-page{max-width:64rem;margin-inline:auto}
.work-head{margin-bottom:clamp(2.2rem,5vw,4.1rem)}
.work-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.25rem;margin-top:1.15rem;font-family:var(--sans)}
.button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:.66rem 1rem;text-decoration:none;display:inline-block;font:1rem/1.2 var(--sans)}
.button:hover{background:var(--paper);color:var(--ink)}
.button.secondary{background:transparent;color:var(--ink)}
.button.secondary:hover{background:var(--subtle)}
.work-track{--date-width:clamp(6rem,15vw,11rem);--rail-gap:clamp(1.75rem,5vw,4.2rem);--rail:calc(var(--date-width) + var(--rail-gap)/2)}
.roles{list-style:none;padding:0;margin:0}
.role{display:grid;position:relative;grid-template-columns:var(--date-width) minmax(0,1fr);column-gap:var(--rail-gap);padding:0 0 2.15rem;scroll-margin-top:6.5rem}
.role::before{content:"";position:absolute;left:var(--rail);top:.72rem;bottom:-.72rem;width:1px;background:var(--rule)}
.role::after{content:"";position:absolute;left:var(--rail);top:.72rem;width:.63rem;height:.63rem;transform:translate(-45%,-50%);border:1.5px solid var(--ink);border-radius:50%;background:var(--paper)}
.role:last-child:not([data-early-boundary])::before,.work-track[data-early=closed] [data-early-boundary]::before{display:none}
.role-title{grid-area:1/2;font-size:clamp(1.25rem,2.8vw,1.8rem);letter-spacing:-.035em;line-height:1.15}
.role-company>span{font-family:var(--serif);letter-spacing:0}
.role-dates{grid-area:1/1;text-align:right;padding-top:.17rem;font-size:.92rem;white-space:normal}
.role-location{grid-column:2;font:.85rem/1.35 var(--sans);color:var(--soft);margin:.26rem 0 0}
.role-description{grid-column:2;max-width:46rem;margin:.55rem 0 0}
.role-description p,.role-description ul,.role-description ol{margin:0}
.role-description p+ul{margin-top:.55rem}
.role-description li+li{margin-top:.22rem}
.role-description :is(strong,b){font-weight:700;color:var(--ink)}
[data-early-boundary] .role-description{position:relative}
[data-early-boundary] .role-description::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:min(100%,3rem);
  background:linear-gradient(transparent,color-mix(in srgb,var(--paper) 68%,transparent));
  opacity:0;
  pointer-events:none;
}
.work-track[data-early=closed] [data-early-boundary] .role-description:not(:focus-within)::after{opacity:1}
@media (prefers-contrast:more){
  [data-early-boundary] .role-description::after{display:none}
}
.work-earlier{display:grid;grid-template-rows:1fr;overflow:clip}
.work-earlier>.roles{min-height:0}
.work-track[data-early=closed] .work-earlier{grid-template-rows:0fr;opacity:0;translate:0 -.5rem}
.work-early{display:flex;align-items:center;gap:.48rem;margin:-.35rem 0 0 calc(var(--date-width) + var(--rail-gap));padding:.52rem .83rem;border:1px solid var(--rule);border-radius:6px;background:var(--panel);font:1rem/1.25 var(--sans);scroll-margin-top:6.5rem}
.work-early:hover{border-color:var(--ink)}
.work-mode{display:none}
summary{font:1rem/1.4 var(--sans)}
.work-sections{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.6rem clamp(1.4rem,3vw,2.6rem);
  margin-top:3.2rem;
}
.work-sections h2{margin:0 0 .8rem}
.work-sections .prose{font-size:.94rem}
.work-sections .prose :is(p,li){line-height:1.5}
.work-sections .prose :is(p,ul){margin:0 0 .7rem}
.work-sections .prose li+li{margin-top:.3rem}
.work-sections .prose :is(h3,h4){font:1rem/1.3 var(--sans);margin:.8rem 0 .2rem}
.work-sections li h3{display:inline}
.pills{display:flex;flex-wrap:wrap;gap:.4rem .52rem;margin:.7rem 0 1.55rem}
.pills a{font:.91rem/1.2 var(--sans);padding:.48rem .74rem;border:1px solid var(--rule);border-radius:100px;text-decoration:none}
.pills a:hover{border-color:var(--ink)}
.pills a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.movie-feed>p:first-child,.music>p:first-child,.podcasts>p:first-child{margin-top:0}
.movie-feed{max-width:53rem}
.movie-list{list-style:none;margin:0;padding:0}
.movie-list li{display:grid;grid-template-columns:4.1rem minmax(0,1fr);gap:clamp(.7rem,3vw,1.2rem);padding:.9rem 0;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
.movie-list img{width:4.1rem;height:6.15rem;object-fit:cover;border-radius:3px;filter:url(#rose)}
.movie-list h2{font-size:1.55rem}
.movie-list h2 a{text-decoration:none}
.movie-list p{margin:.35rem 0 0;color:var(--body)}
.movie-list .movie-meta{font:.85rem/1.5 var(--sans);color:var(--soft)}
.provider{display:flex;gap:1rem;flex-wrap:wrap}
.music{max-width:44rem}
.music-frame{border:1px solid var(--rule);border-radius:12px;overflow:hidden;isolation:isolate;background:var(--subtle)}
.music-frame iframe{width:100%;height:450px;display:block;border:0;color-scheme:inherit}
@supports (mix-blend-mode:luminosity){.music-frame iframe{mix-blend-mode:luminosity;opacity:.95}}
@media (prefers-contrast:more){.music-frame iframe{mix-blend-mode:normal;opacity:1}}
.podcast-list{margin:0;padding:0;list-style:none;max-width:51rem}
.podcast-list li{display:grid;grid-template-columns:clamp(3.25rem,9vw,5.5rem) minmax(0,1fr) auto;gap:1rem;align-items:start;border-bottom:1px solid var(--rule);padding:1.1rem 0}
.movie-list li:first-child,.podcast-list li:first-child{padding-top:0}
.podcast-list h2{font-size:1.6rem}
.podcast-list p{margin:.35rem 0;color:var(--body)}
.podcast-list .metadata{color:var(--soft)}
.podcast-list time{font:.82rem var(--sans)}
.podcast-art:empty{visibility:hidden}
.podcast-art{aspect-ratio:1;overflow:hidden;border-radius:4px;background:var(--subtle)}
.podcast-art img{width:100%;height:100%;object-fit:cover;filter:url(#rose)}
.category-filters{margin-top:1rem}
.category-filters a{display:inline-flex;align-items:center;gap:.32rem}
.category-emoji,.pin{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.map-panel{position:relative;isolation:isolate;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--map-water)}
#places-map{height:clamp(440px,74svh,760px);background:var(--map-water)}
.maplibregl-ctrl-group:not(:empty){background:light-dark(#fff,#ed7272)}
.maplibregl-ctrl-group button:focus:focus-visible{outline:2px solid #791414;outline-offset:-3px;box-shadow:none}
.maplibregl-canvas:focus-visible{outline-offset:-3px}
.map-viewport{position:relative}
.map-credit{font:.68rem var(--sans);padding:.35rem .6rem;text-align:right;background:var(--paper);color:var(--body)}
.map-credit a{white-space:nowrap}
.pin,.map-cluster{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--ink);border-radius:50%;box-shadow:0 2px 6px #6e202038}
.pin{position:relative;background:var(--panel);font-size:1.02rem}
.pin::after{content:"";position:absolute;bottom:-3px;width:6px;height:6px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:inherit;rotate:45deg}
.map-marker:hover .pin,.map-marker:focus-visible:not([data-pointer-focus]) .pin,.map-marker[aria-current] .pin{background:var(--target);box-shadow:0 0 0 2px var(--ink)}
.map-marker:focus-visible{outline:none}
.map-marker[aria-current]{z-index:1}
.map-cluster{padding:0;background:var(--ink);color:var(--panel);font:.86rem var(--sans)}
.place-selection:empty{display:none}
.place-selection{position:absolute;inset:auto 1rem .65rem auto;width:min(20rem,calc(100% - 2rem));max-height:calc(100% - 4rem);overflow:auto;z-index:2;border:1px solid var(--rule);border-radius:8px;background:var(--panel);box-shadow:0 7px 22px #4e16162c}
.place-detail{position:relative}
.place-detail img{height:clamp(5rem,13vw,9rem);width:100%;object-fit:cover;filter:url(#rose)}
.close-place{position:absolute;top:.4rem;right:.4rem;z-index:1;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--rule);border-radius:50%;background:var(--panel);font:1.4rem var(--sans);text-decoration:none}
.place-detail-copy{padding:.7rem 1rem .95rem;overflow-wrap:anywhere}
.place-detail:not(:has(img)) .place-detail-copy{padding-top:2.8rem}
.place-detail h2{font-size:1.9rem;margin:.45rem 0}
.place-detail p{color:var(--body);margin:.35rem 0 .65rem}
.place-detail .place-photo-credit{margin:.8rem 0 0;color:var(--soft)}
.contact-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,6rem)}
.contact-copy{overflow-wrap:anywhere}
.contact-copy li+li{margin-top:.55rem}
.contact-card{background:var(--panel);border:1px solid var(--rule);align-self:start;padding:clamp(1rem,3.3vw,2.6rem)}
.contact-card form>label:first-child{margin-top:0}
.contact-card .cf-turnstile{margin-top:.75rem}
form label,.field{display:block;font:.9rem/1.35 var(--sans);margin:.7rem 0}
input:not([type=checkbox]),textarea,select,.rich{display:block;width:100%;background:var(--field);border:1px solid var(--rule);border-radius:3px;padding:.58rem;color:var(--body);font:1rem/1.4 var(--serif);margin:.25rem 0 0}
textarea{resize:vertical}
.email-fallback{font-size:.95rem}
.form-notice{border-left:3px solid var(--red);padding:.3rem 0 .3rem .7rem;color:var(--body)}
.simple{margin-top:4rem;max-width:42rem}
.simple h1{font-size:clamp(2.5rem,6vw,5rem);margin-bottom:1.5rem}
.admin{max-width:60rem;margin:auto}
.admin .page-head h1{font-size:clamp(2.7rem,6vw,5.2rem)}
.admin-panel{border-top:1px solid var(--rule);padding:1rem 0}
.admin-panel>h2{font-size:1.8rem;margin-bottom:.7rem}
.admin-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.75rem 0}
.admin-card{border:1px solid var(--rule);background:var(--panel);padding:.8rem;margin:.55rem 0}
.admin-card summary{font-size:1.03rem}
.admin-card .admin-card{background:var(--paper)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .8rem}
.admin-card .button,.rich-toolbar button{font-size:.84rem;padding:.4rem .55rem}
.admin .error{color:var(--red);font-weight:bold}
.admin-media{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}
.admin-media img{width:100%;height:8rem;object-fit:contain;background:var(--paper)}
.rich{min-height:16rem;overflow-wrap:anywhere}
.rich-toolbar{display:flex;gap:.3rem;flex-wrap:wrap}
.rich-toolbar button{border:1px solid var(--rule);background:var(--paper)}
.rich-toolbar button:hover{background:var(--subtle)}
.rich img{max-height:15rem}
#pin-editor{height:15rem;margin:.6rem 0;background:var(--subtle)}
@media(max-width:760px){
  .wordmark-bar{padding-top:calc(1.6rem - var(--wordmark-padding));margin-bottom:0}
  .masthead nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
  .nav-scroll{
    grid-column:2;
    grid-row:1;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-padding-inline:.375rem;
  }
  .nav-links{
    flex-wrap:nowrap;
    width:max-content;
    min-width:100%;
    gap:1rem;
    padding:0 .375rem 1px;
  }
  .masthead nav[data-scrollable] .nav-scroll{scrollbar-width:none}
  .masthead nav[data-scrollable] .nav-step{display:grid}
  .nav-step{
    place-items:center;
    grid-row:1;
    width:2.25rem;
    min-height:44px;
    padding:0;
    border:0;
    background:none;
  }
  .nav-step-back{grid-column:1}
  .nav-step-forward{grid-column:3}
  .nav-step::before,.nav-step::after{content:"";grid-area:1/1}
  .nav-step::before{width:1.6rem;aspect-ratio:1;border:1px solid var(--rule);border-radius:50%;background:var(--panel)}
  .nav-step::after{width:.44rem;height:.44rem;border-top:2px solid;border-right:2px solid;rotate:45deg;translate:-1px}
  .nav-step-back::after{rotate:-135deg;translate:1px}
  .nav-step[aria-disabled=false]{color:var(--paper)}
  .nav-step[aria-disabled=false]::before{border-color:var(--ink);background:var(--ink)}
  .nav-step[aria-disabled=true]{opacity:.36;cursor:default}
  .nav-step:focus-visible{outline-offset:-2px;border-radius:6px}
  .masthead nav a{flex:none;font-size:1.05rem;display:flex;align-items:center;min-height:44px;padding:.4rem 0}
  .masthead nav a:focus-visible{outline-offset:-2px}
  .footnotes ol{columns:2;column-gap:1.5rem}
  .contact-page{grid-template-columns:1fr}
  #places-map{height:clamp(400px,65svh,620px)}
  .place-selection{inset:0;width:auto;max-height:none;border:0;border-radius:0;box-shadow:none}
  .place-detail img{height:clamp(8rem,46vw,12rem)}
  .place-detail .close-place{
    position:sticky;
    top:0;
    right:auto;
    width:2.75rem;
    height:2.75rem;
    margin:0 .5rem -2.75rem auto;
    translate:0 .5rem;
  }
}
@media(max-width:767px){
  .work-track{--mobile-indent:2.05rem}
  .work-early{margin-left:var(--mobile-indent)}
  .role{grid-template-columns:minmax(0,1fr);padding:0 0 1.65rem var(--mobile-indent)}
  .role::before,.role::after{left:.34rem}
  .role-title,.role-dates{grid-area:auto}
  .role-company{display:block}
  .role-dates,.role-location,.role-description{grid-column:1}
  .role-dates{text-align:left;margin-top:.16rem}
  .role-description{margin-top:.62rem}
  .work-track[data-detail=simple] .role-description{display:none}
  .work-sections{grid-template-columns:1fr}
  .work-mode{display:flex;align-items:center;justify-content:center;gap:.62rem;position:relative;width:fit-content;margin:0 auto 1.8rem;font:.86rem var(--sans);cursor:pointer}
  .mode-control{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
  .mode-switch{width:3.2rem;height:1.62rem;border-radius:20px;background:var(--subtle);border:1px solid var(--rule);display:flex;align-items:center;padding:.1rem}
  .mode-switch::before{content:"";width:1.28rem;height:1.28rem;border-radius:50%;background:var(--ink);transition:transform .18s ease}
  .mode-control:checked+.mode-switch::before{transform:translateX(1.52rem)}
  .mode-control:focus-visible+.mode-switch{outline:2px solid var(--ink);outline-offset:3px}
  .mode-detailed,.work-mode:has(:checked) .mode-simple{color:var(--soft)}
  .mode-simple,.work-mode:has(:checked) .mode-detailed{font-weight:bold;color:var(--ink)}
}
@media(prefers-reduced-motion:reduce){.mode-switch::before{transition:none}}
@media(max-width:490px){
  :root{font-size:16px}.frame{width:calc(100% - 2rem)}
  .timeline{--row-min:150px}.timeline-item{padding-inline:6px}
  .timeline-image.first:has(+ #time-hello){width:35%}
  .timeline-image.first+#time-hello{width:65%}
  .timeline-image.first+#time-hello p{max-width:24ch;font-size:1rem;line-height:1.38}
  .footnotes ol{columns:1}
  .essay-row{grid-template-columns:1fr auto;gap:.4rem .8rem;padding:1.2rem 0}
  .essay-row time{grid-column:1/-1}
  .form-grid{grid-template-columns:1fr}
  .podcast-list li{grid-template-columns:3.25rem minmax(0,1fr);column-gap:.75rem}.podcast-list .action{grid-column:2}
}
.map-marker{display:block;padding:.18rem;text-decoration:none}
.fallback-map{height:100%;position:relative;display:grid;place-items:center;overflow:hidden}
.fallback-map-viewport{width:100%;aspect-ratio:960/470;position:relative;touch-action:none}
.fallback-map-art{width:100%;display:block;fill:var(--map-land);stroke:var(--map-outline);stroke-width:.75px}
.fallback-map .map-marker{position:absolute;transform:translate(-50%,-86%)}
.fallback-map-controls{position:absolute;right:.5rem;top:.5rem;display:grid}
.fallback-map-controls button{background:var(--paper);border:1px solid var(--rule);min-width:2rem;min-height:2rem;font:1.05rem var(--sans)}

.note-feed{
  --note-font-size:clamp(1.65rem,3vw,2.25rem);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 .55rem;
  align-items:start;
  isolation:isolate;
  list-style:none;
  padding:2.1rem 1rem 1.9rem;
  margin:0;
}
.note-feed li{--note-angle:calc(-1 * var(--note-tilt));position:relative;z-index:var(--note-layer);min-width:0;margin-top:calc(var(--note-drop) - 1.65rem);scroll-margin-top:8rem}
.note-feed li:nth-child(even){--note-angle:var(--note-tilt)}
.note-feed li:target{z-index:5}
@media (hover:hover){.note-feed li:has(.paper-note:hover){z-index:6}}
.note-feed li:has(.paper-note:focus-visible:not([data-pointer-focus])){z-index:7}
.paper-note,.note-reader-paper{
  background:linear-gradient(165deg,#a8101008,transparent 35%),var(--note-paper);
  border-top:4px solid #a8101020;
  box-shadow:1px 5px 7px #4e16161c,0 18px 21px -17px #4e161666;
  color:var(--ink);
}
.paper-note{
  display:grid;
  grid-template-rows:minmax(0,1fr);
  width:calc(100% + .6rem);
  aspect-ratio:1;
  margin-inline:-.3rem;
  padding:clamp(1.05rem,2.4vw,1.75rem);
  border-inline:0;
  border-bottom:0;
  text-align:left;
  rotate:var(--note-angle);
  transform-origin:50% 1rem;
}
.note-feed li:target .paper-note{outline:2px solid var(--ink);outline-offset:4px}
.note-handwriting{display:block;font:var(--note-font-size)/1.1 'Biro Script',var(--serif);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.paper-note-copy{display:grid;align-content:safe center;overflow:hidden}
.paper-note-copy .note-handwriting{padding-block:.15em}
.paper-note[data-truncated] .paper-note-copy{mask-image:linear-gradient(#000 84%,transparent)}
.note-reader{
  --note-font-size:clamp(2rem,5vw,3.15rem);
  width:min(36rem,calc(100% - 2rem),calc(100dvh - 2rem));
  aspect-ratio:1;
  max-height:calc(100dvh - 2rem);
  border:0;
  padding:0;
  background:var(--note-paper);
  box-shadow:0 20px 50px #4e161644;
  overflow:hidden;
}
.note-reader::backdrop{background:light-dark(#4e16164d,#13030399)}
.note-reader-paper{position:relative;display:grid;grid-template-rows:minmax(0,1fr);height:100%;padding:clamp(3rem,6vw,4rem) clamp(1.3rem,6vw,3.4rem) clamp(1.6rem,5vw,3rem)}
.note-reader-copy{display:grid;align-content:safe center;overflow:auto;overscroll-behavior:contain}
.note-reader-copy .note-handwriting{padding-block:.15em}
.note-reader-close{position:absolute;top:.5rem;right:.55rem;width:2.5rem;height:2.5rem;padding:0;border:0;border-radius:50%;background:var(--panel);font:1.5rem/1 var(--sans)}
.note-reader-close:hover{background:var(--subtle)}
html:has(.note-reader[open]){overflow:hidden}
@media(max-width:850px){.note-feed{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .note-feed{--note-font-size:1.85rem;grid-template-columns:1fr;padding-inline:.5rem}
  .note-feed li{margin-top:calc(var(--note-drop) / 2 - .85rem)}
  .paper-note{width:94%;margin-inline:0 auto;rotate:calc(var(--note-angle) / 2)}
  .note-feed li:nth-child(even) .paper-note{margin-inline:auto 0}
}
.long-word-link{font-style:italic;overflow-wrap:anywhere}
.word-story{
  --story-dark:light-dark(#4e1117,#3a0909);
  --story-light:light-dark(#f7e7e7,#ff7777);
  background:var(--story-dark);
  color:var(--story-light);
}
main:has(>section.word-story){width:100%}
dialog.word-story{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  overflow:auto;
  overscroll-behavior:contain;
}
dialog.word-story::backdrop{background:var(--story-dark)}
html:has(dialog.word-story[open]){overflow:hidden}
.word-story-bar{
  position:sticky;
  top:0;
  z-index:3;
  height:0;
  display:flex;
  justify-content:flex-end;
  padding-inline:clamp(.8rem,4vw,3rem);
  pointer-events:none;
}
.word-story-bar a{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  min-height:2.65rem;
  padding:0 .85rem;
  margin-top:max(.75rem,env(safe-area-inset-top));
  border:1px solid #f7e7e780;
  border-radius:999px;
  background:var(--story-dark);
  color:var(--story-light);
  font:.9rem var(--sans);
  text-decoration:none;
  pointer-events:auto;
}
.word-story-bar span{font-size:1.35rem}
.word-story :focus-visible{outline-color:currentColor}
.word-title:focus{outline:none}
.michelin-link{font-style:italic}
.michelin-story{
  --story-dark:light-dark(#4e1117,#300708);
  --story-light:#f7e7e7;
  --wheel-rim:light-dark(#9a363c,#792126);
  --wheel-rubber:light-dark(#330a0e,#1e0506);
  --wheel-tread:light-dark(#64212a,#4d1014);
}
.michelin-track{position:relative;display:flow-root;isolation:isolate;overflow:clip}
.michelin-wheel{
  --wheel-size:clamp(25rem,65vw,65rem);
  position:sticky;
  z-index:-1;
  top:50%;
  width:var(--wheel-size);
  aspect-ratio:1;
  margin-top:calc(var(--wheel-size) / -2);
  margin-bottom:calc(var(--wheel-size) / -2);
  margin-left:57%;
  border-radius:50%;
  transform:translate(var(--wheel-travel, -12vw),-50%) rotate(var(--wheel-turn, 0turn));
  background:radial-gradient(circle,var(--wheel-rubber) 0 9%,transparent 9.5% 34%,var(--wheel-rim) 34.5% 36%,var(--wheel-rubber) 36.5% 46%,var(--wheel-tread) 46.5% 47%,transparent 47.5%),
    repeating-conic-gradient(from 0deg,var(--wheel-rim) 0deg 14deg,var(--wheel-rubber) 14deg 55deg,var(--wheel-tread) 55deg 60deg);
  box-shadow:inset 0 0 0 calc(var(--wheel-size) * .135) var(--wheel-rubber),inset 0 0 0 calc(var(--wheel-size) * .15) var(--wheel-tread);
  pointer-events:none;
}
.michelin-wheel::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:repeating-conic-gradient(transparent 0deg 4deg,var(--wheel-tread) 4deg 6deg,transparent 6deg 9deg);
  mask-image:radial-gradient(circle,transparent 0 58%,#000 59% 69%,transparent 70%);
}
.michelin-stop{
  min-height:100svh;
  display:grid;
  align-items:center;
  padding:5rem clamp(1.2rem,9vw,9rem) 3.5rem;
  background:linear-gradient(90deg,var(--story-dark) 12%,transparent 85%);
}
.michelin-copy{max-width:47rem}
.michelin-copy h1,.michelin-copy h2{font:italic clamp(2.7rem,7vw,6.6rem)/.98 var(--serif);letter-spacing:-.045em;text-wrap:balance}
.michelin-intro h1{max-width:9ch;font-size:clamp(3.4rem,11vw,10rem)}
.michelin-copy p:not(.michelin-year){max-width:37ch;margin:1rem 0;font:clamp(1.08rem,2.3vw,1.48rem)/1.45 var(--serif);text-wrap:pretty}
.michelin-year,.michelin-stars{color:#ff9e9e}
.michelin-year{font:clamp(3.2rem,8vw,7.25rem)/.95 var(--sans);letter-spacing:-.06em;margin:0 0 .3rem}
.michelin-stars{font-size:1.4rem;letter-spacing:.16em;margin-bottom:.45rem}
.michelin-scroll,.michelin-source{font:.9rem var(--sans)}
.michelin-scroll{display:block;margin-top:2rem}
.michelin-return{display:inline-block;padding:.65rem 1rem;border:1px solid currentColor;border-radius:999px;font:1rem var(--sans);text-decoration:none}
.michelin-source{margin-top:1.5rem}
.michelin-copy a:hover{color:#ff9e9e}
.michelin-copy h1:focus{outline:none}
.michelin-progress{position:absolute;left:0;right:0;height:3px;background:#ff7777;transform:scaleX(var(--michelin-progress,0));transform-origin:left}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .michelin-stop:not(.michelin-intro) .michelin-copy:not(:focus-within){
      animation:michelin-arrive linear both;
      animation-timeline:view();
      animation-range:entry 0% entry 80%;
    }
    @keyframes michelin-arrive{from{opacity:.2;translate:0 2rem}to{opacity:1;translate:0 0}}
  }
}
@media (max-width:680px){
  .michelin-stop{background:linear-gradient(90deg,var(--story-dark),transparent 240%)}
  .michelin-wheel{margin-left:36%}
}
@media (prefers-reduced-motion:reduce){
  .michelin-wheel,.michelin-scroll,.michelin-progress{display:none}
  .michelin-stop{min-height:0;padding-top:2.5rem;padding-bottom:2.5rem}
  .michelin-intro{padding-top:5rem}
}
.word-stage{
  position:relative;
  text-align:center;
  padding:5rem max(1rem,5vw) 3rem;
}
.word-title,.word-finale-name{
  margin:0 auto;
  font:italic clamp(1.8rem,6vw,5.6rem)/1.04 var(--serif);
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
}
.word-glosses{
  display:grid;
  gap:1.35rem;
  width:min(100%,34rem);
  margin:2rem auto;
  text-align:left;
}
.word-gloss dt{font:italic clamp(1.45rem,4vw,2.25rem)/1.12 var(--serif)}
.word-gloss dd{margin:.25rem 0 0;font:clamp(1rem,2.4vw,1.25rem)/1.3 var(--sans)}
.word-strip,.word-scroll,.word-progress,.word-finale-name,.word-backdrops{display:none}
.word-finale{
  padding:1.75rem 0 0;
  border-top:1px solid #f7e7e74f;
}
.word-finale h2{
  max-width:29ch;
  margin:.8rem auto 1.45rem;
  font:clamp(1.3rem,3vw,2.45rem)/1.23 var(--serif);
  letter-spacing:normal;
}

.word-story[data-scroll-motion] .word-track{height:calc(var(--word-viewport) + var(--word-distance))}
.word-story[data-scroll-motion] .word-stage{
  position:sticky;
  top:0;
  height:var(--word-viewport);
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:radial-gradient(ellipse at 50% 50%,light-dark(#781a23,#631111),var(--story-dark) 72%);
}
.word-story[data-scroll-motion] .word-backdrops{
  position:absolute;
  inset:0;
  display:block;
  pointer-events:none;
}
.word-backdrops img,.word-backdrops::after{position:absolute;inset:0;width:100%;height:100%}
.word-backdrops img{
  object-fit:cover;
  filter:url(#word-rose);
  opacity:0;
}
.word-backdrops::after{
  content:"";
  background:linear-gradient(180deg,#20050649 0%,#28060817 33%,#28060885 69%,#200506da 100%);
}
.word-story[data-scroll-motion] .word-title,.word-story[data-scroll-motion] .word-gloss dt{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.word-story[data-scroll-motion] .word-strip{
  position:absolute;
  inset:11% 0 32%;
  display:grid;
  align-items:center;
  justify-items:start;
  opacity:var(--strip-opacity,1);
}
.word-rail{
  display:flex;
  width:max-content;
  align-items:baseline;
  padding:.12em 0 .16em;
  font:italic clamp(5rem,min(19vw,37svh),21rem)/.98 var(--serif);
  letter-spacing:-.057em;
  translate:var(--rail-x,10vw) 0;
}
.word-rail span{
  position:relative;
  flex:none;
  color:light-dark(#e3a2ab66,#f4767666);
  transition:color 200ms ease;
}
.word-rail span::after{
  content:"";
  position:absolute;
  inset:auto .03em -.065em;
  height:clamp(2px,.024em,6px);
  border-radius:1em;
  background:currentColor;
  opacity:0;
  scale:.88 1;
  transition:opacity 200ms ease,scale 200ms ease;
}
.word-rail span[data-current]{color:light-dark(#fff3eb,#ff7c7c)}
.word-rail span[data-current]::after{opacity:1;scale:1}
.word-story[data-scroll-motion] .word-glosses{
  position:absolute;
  inset:71% 1rem auto;
  width:auto;
  margin:0;
  text-align:center;
  opacity:var(--strip-opacity,1);
}
.word-story[data-scroll-motion] .word-gloss{
  grid-area:1/1;
  opacity:0;
  translate:0 9px;
  transition:opacity 150ms ease,translate 200ms ease;
}
.word-story[data-scroll-motion] .word-gloss[data-current]{opacity:1;translate:0 0}
.word-story[data-scroll-motion] .word-gloss dd{
  margin:0;
  color:light-dark(#ffddd8,#f6d5d5);
  font:clamp(1.32rem,3.7vw,3rem)/1.1 var(--sans);
  letter-spacing:-.04em;
  text-shadow:0 2px 12px #200506;
}
.word-story[data-scroll-motion] .word-scroll{
  position:absolute;
  inset:auto 1rem 5%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  color:light-dark(#ffddd8,#f6d5d5);
  font:.9rem var(--sans);
  opacity:var(--cue-opacity,1);
}
.word-scroll span{font-size:1.2rem}
.word-story[data-scroll-motion] .word-progress{
  display:block;
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:light-dark(#ffd4d4,#ff6666);
  transform-origin:left;
  scale:var(--word-progress,0) 1;
}
.word-story[data-scroll-motion] .word-finale{
  position:absolute;
  inset:0;
  display:grid;
  align-content:center;
  justify-items:center;
  padding:4.7rem max(1rem,5vw) 2rem;
  border:0;
  background:var(--paper);
  color:var(--ink);
  opacity:var(--finale-opacity,0);
  pointer-events:none;
}
.word-story[data-scroll-motion] .word-finale[data-current]{pointer-events:auto}
.word-story[data-scroll-motion] .word-finale-name{
  display:block;
  font-size:clamp(1rem,6vw,5.6rem);
}

.receipt{
  position:relative;
  width:min(100%,25rem);
  margin:clamp(2.5rem,7vw,5rem) auto 0;
  padding:clamp(1.5rem,6vw,3rem);
  background:var(--receipt-paper);
  color:var(--body);
  text-align:center;
  box-shadow:0 12px 24px #4e161620;
}
.receipt::after{
  content:"";
  position:absolute;
  inset:100% 0 auto;
  height:8px;
  background:linear-gradient(135deg,var(--receipt-paper) 25%,transparent 0) 0 0/14px 14px,
    linear-gradient(225deg,var(--receipt-paper) 25%,transparent 0) 0 0/14px 14px;
}
.receipt-number,.receipt-items{font:.95rem/1.35 "Courier New",monospace}
.receipt-number{margin:0 0 1rem}
.receipt h1{font-size:clamp(2.6rem,9vw,4.4rem);color:var(--ink)}
.receipt-items{margin:1.5rem 0}
.receipt-items>div{display:flex;justify-content:space-between;padding:.6rem 0}
.receipt-items dd{margin:0}
.receipt-total{border-top:1px dashed var(--rule);font-weight:700}

@media (prefers-reduced-motion:no-preference){
  :root{--motion-quick:160ms;--motion-enter:260ms;--motion-ease:cubic-bezier(.2,.65,.3,1)}

  @keyframes settle-in{
    from{opacity:.8;translate:0 5px}
  }
  @keyframes footnote-highlight{
    from{background-color:var(--target-flash)}
  }

  @keyframes note-backdrop-in{from{opacity:0}}
  .note-reader[open]::backdrop{animation:note-backdrop-in var(--motion-enter) ease-out}
  .paper-note{transition:rotate var(--motion-quick) var(--motion-ease),translate var(--motion-quick) var(--motion-ease)}
  .paper-note:focus-visible:not([data-pointer-focus]){rotate:0deg;translate:0 -3px}
  @media (hover:hover){.paper-note:hover{rotate:0deg;translate:0 -3px}}
  .receipt{animation:settle-in var(--motion-enter) var(--motion-ease)}

  .page-head,.article-head,.essay-index,.playing-panel,.contact-card,
  .place-detail,.form-notice{
    animation:settle-in var(--motion-enter) var(--motion-ease);
  }

  .timeline-item:nth-child(-n+5)>:is(figure,p,.boarding-pass){
    animation:settle-in var(--motion-enter) var(--motion-ease) backwards;
  }
  .timeline-item:is(:nth-child(2),:nth-child(3))>:is(figure,p,.boarding-pass){animation-delay:35ms}
  .timeline-item:is(:nth-child(4),:nth-child(5))>:is(figure,p,.boarding-pass){animation-delay:70ms}
  .footnotes li:target,.timeline sup a:target{animation:footnote-highlight 500ms ease-out}

  .wordmark .wordmark-sticker::before{transition:opacity var(--motion-quick) ease}
  .wordmark-edge{transition:opacity var(--motion-quick) ease,stroke-opacity var(--motion-quick) ease}
  .wordmark-sticker{
    transform:translateY(var(--sticker-lift,0px)) rotate(var(--sticker-turn,0deg)) scale(var(--sticker-zoom,1));
    transition:transform 260ms var(--sticker-ease,var(--motion-ease));
  }
  :is(.wordmark,.footer-wordmark):is(:focus-visible,:hover){
    --sticker-lift:-2px;--sticker-turn:-1deg;--sticker-zoom:1.055;--sticker-ease:cubic-bezier(.2,1.65,.42,1);
  }
  @media (hover:none), (pointer:coarse){
    :is(.wordmark,.footer-wordmark):hover:not(:focus-visible){
      --sticker-lift:0px;--sticker-turn:0deg;--sticker-zoom:1;--sticker-ease:var(--motion-ease);
    }
  }
  .masthead nav a::after{transition:opacity var(--motion-quick) ease,scale var(--motion-quick) var(--motion-ease)}
  .pills a,.button,.work-early,.close-place{transition:background-color var(--motion-quick) ease,border-color var(--motion-quick) ease,color var(--motion-quick) ease}
  .pills a:active,.button:active,.work-early:active{translate:0 1px}
  .work-earlier[data-animate]{
    transition:grid-template-rows 360ms var(--motion-ease),opacity var(--motion-enter) ease,
      translate 360ms var(--motion-ease);
  }
  [data-early-boundary] .role-description::after{transition:opacity var(--motion-enter) ease}
  .action span,.work-early span[aria-hidden]{display:inline-block;transition:translate var(--motion-quick) var(--motion-ease)}
  .action:is(:hover,:focus-visible) span{translate:2px -2px}
  .work-early:is(:hover,:focus-visible) span[aria-hidden]{translate:0 2px}
  .work-early[aria-expanded=true]:is(:hover,:focus-visible) span[aria-hidden]{translate:0 -2px}
  .pin{transition:background-color var(--motion-quick) ease,box-shadow var(--motion-quick) ease,scale var(--motion-quick) var(--motion-ease)}
  .map-marker:is(:hover,:focus-visible:not([data-pointer-focus]),[aria-current]) .pin{scale:1.09}

  .contact-card :is(input,textarea){transition:border-color var(--motion-quick) ease}
  .contact-card :is(input,textarea):focus{border-color:var(--ink)}

  @media (hover:hover) and (pointer:fine){
    :is(.wordmark,.footer-wordmark):active .wordmark-sticker{
      transform:translateY(0) rotate(0) scale(.985);
      transition:transform 100ms ease-out;
    }
    .timeline-image img,.essay-arrow{transition:translate var(--motion-quick) var(--motion-ease)}
    .timeline-image:hover img{translate:0 -3px}
    .essay-row:hover .essay-arrow,.essay-row:focus-within .essay-arrow{translate:2px -2px}
  }

  @media (max-width:767px){
    .work-track[data-detail=detailed] .role-description{animation:settle-in var(--motion-enter) var(--motion-ease)}
  }
}
