:root{--ivory: #f7f4f0;--paper: #fffefc;--ink: #241f1c;--ink-soft: #6d635b;--line: #ddd3c8;--accent: #9c8a72;--serif-en: "Cormorant Garamond", "Times New Roman", serif;--serif-ja: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--ease: cubic-bezier(.22, 1, .36, 1)}body{color:var(--ink);font-family:var(--serif-ja);line-height:2;letter-spacing:.045em}.wrap{max-width:44rem;margin:0 auto;padding:0 1.75rem}@keyframes zoom-out{0%{transform:scale(1.07)}to{transform:none}}@keyframes rise-in{0%{opacity:0;transform:translate3d(0,.55em,0)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: no-preference){[data-zoom] img{animation:zoom-out 2.4s var(--ease) both}}@media (prefers-reduced-motion: no-preference){.stagger span{animation:rise-in .9s var(--ease) both;animation-delay:calc(.2s + var(--i, 0) * 55ms)}}.progress{position:fixed;inset:0 auto auto 0;height:2px;width:100%;transform:scaleX(var(--p, 0));transform-origin:0 50%;background:var(--accent);z-index:20;pointer-events:none}.hero{position:relative;min-height:max(34rem,calc(100svh - var(--sample-notice-h, 7rem)));overflow:hidden;display:grid;place-items:end center}.hero__media{position:absolute;inset:-8% 0;transform:translate3d(0,var(--y, 0px),0);will-change:transform}.hero__photo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 32%;object-position:center 32%;animation:drift 22s var(--ease) infinite alternate}@media (max-width: 40rem){.hero__media{inset:0 0 auto;height:28rem}.hero__photo{-o-object-position:67% 30%;object-position:67% 30%;animation:none}}@keyframes drift{0%{transform:scale(1.04)}to{transform:scale(1.13)}}.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,#241f1c2e,#241f1c00 30%),linear-gradient(0deg,var(--ivory) 2%,rgba(247,244,240,.5) 26%,rgba(247,244,240,0) 58%)}.hero__inner{position:relative;text-align:center;padding-bottom:5rem}.hero__eyebrow{font-family:var(--serif-en);font-size:.62rem;letter-spacing:.42em;text-transform:uppercase;color:var(--accent);margin:0 0 1.5rem}.hero__names{font-family:var(--serif-en);font-size:clamp(2.6rem,13vw,5.5rem);font-weight:300;letter-spacing:.06em;line-height:1.05;margin:0}.hero__amp{display:block;font-size:.34em;color:var(--accent);margin:.5em 0;letter-spacing:.3em}.hero__date{margin:1.75rem 0 0;font-family:var(--serif-en);font-size:.72rem;letter-spacing:.34em;color:var(--ink-soft)}.hero__scroll{position:absolute;bottom:1.5rem;left:50%;width:1px;height:3.5rem;background:linear-gradient(180deg,transparent,var(--accent));transform:translate(-50%);animation:pull 2.6s var(--ease) infinite;transform-origin:50% 100%}@keyframes pull{0%,to{transform:translate(-50%) scaleY(.35);opacity:.3}50%{transform:translate(-50%) scaleY(1);opacity:1}}.count{border-bottom:1px solid var(--line);padding:3.25rem 0 3.5rem;text-align:center}.count__lead{margin:0 0 2rem;font-family:var(--serif-en);font-size:.64rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-soft)}.count__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:27rem;margin:0 auto}.count__cell{position:relative}.count__cell+.count__cell:before{content:"";position:absolute;left:-.4rem;top:.3em;height:1.1em;border-left:1px solid var(--line)}.count__value{font-family:var(--serif-en);font-size:clamp(1.9rem,9vw,3rem);font-weight:300;line-height:1;font-variant-numeric:tabular-nums;display:block}.count__value.is-ticking{animation:tick .55s var(--ease)}@keyframes tick{0%{opacity:.15;transform:translate3d(0,.26em,0)}to{opacity:1;transform:none}}.count__label{display:block;margin-top:.75rem;font-family:var(--serif-en);font-size:.58rem;letter-spacing:.24em;color:var(--ink-soft)}.section{padding:5.5rem 0}.section+.section{border-top:1px solid var(--line)}.section__eyebrow{text-align:center;font-family:var(--serif-en);font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}.section__title{text-align:center;font-size:1.05rem;font-weight:500;letter-spacing:.16em;margin:0 0 2.75rem}.lead{font-size:.88rem;line-height:2.3;color:var(--ink-soft);margin:0}.lead+.lead{margin-top:1.6rem}.lead--center{text-align:center}.story{list-style:none;margin:0;padding:0;display:grid;gap:2.25rem}.story__item{display:grid;grid-template-columns:4.5rem 1fr;gap:1.25rem;align-items:baseline}.story__year{font-family:var(--serif-en);font-size:.82rem;letter-spacing:.16em;color:var(--accent)}.story__title{margin:0;font-size:.95rem;font-weight:500;letter-spacing:.1em}.story__note{margin:.4rem 0 0;font-size:.82rem;color:var(--ink-soft);line-height:2}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:3.15rem;top:.4rem;bottom:.4rem;width:1px;background:var(--line);transform:scaleY(var(--t, 0));transform-origin:50% 0;transition:transform .4s linear}.timeline__item{display:grid;grid-template-columns:4.5rem 1fr;gap:1.25rem;padding:1.35rem 0;position:relative}.timeline__item:before{content:"";position:absolute;left:2.95rem;top:2.05rem;width:.4rem;height:.4rem;border-radius:50%;background:var(--ivory);border:1px solid var(--accent)}.timeline__time{font-family:var(--serif-en);font-size:.92rem;letter-spacing:.12em;color:var(--accent)}.timeline__title{margin:0;font-size:.95rem;font-weight:500;letter-spacing:.1em}.timeline__note{margin:.35rem 0 0;font-size:.8rem;color:var(--ink-soft);line-height:2}.venue{text-align:center}.venue__name{font-family:var(--serif-en);font-size:1.5rem;font-weight:300;letter-spacing:.16em;margin:0}.venue__rows{margin:2rem auto 0;max-width:30rem;display:grid;gap:1rem;text-align:left}.venue__row{display:grid;grid-template-columns:5.5rem 1fr;gap:.9rem;font-size:.82rem;line-height:2;padding-bottom:1rem;border-bottom:1px solid var(--line)}.venue__key{color:var(--accent);font-family:var(--serif-en);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase}.venue__value{color:var(--ink-soft)}.note-list{margin:2.5rem auto 0;padding:0;max-width:30rem;list-style:none;display:grid;gap:.9rem;font-size:.82rem;color:var(--ink-soft);line-height:2;text-align:left}.note-list li:before{content:"—";color:var(--accent);margin-right:.7rem}.profiles{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 1.75rem}.profile{text-align:center}.profile__figure{margin:0 0 1.4rem;overflow:hidden}.profile__photo{display:block;width:100%;aspect-ratio:3 / 4;-o-object-fit:cover;object-fit:cover;-o-object-position:center 22%;object-position:center 22%}.profile__role{margin:0;font-family:var(--serif-en);font-size:.6rem;letter-spacing:.32em;color:var(--accent)}.profile__role-ja{display:block;margin-top:.4rem;font-family:var(--serif-ja);font-size:.68rem;letter-spacing:.2em;color:var(--ink-soft)}.profile__name{margin:.75rem 0 0;font-size:1.15rem;font-weight:500;letter-spacing:.14em}.profile__kana{margin:.4rem 0 0;font-size:.68rem;letter-spacing:.16em;color:var(--ink-soft)}.profile__rows{margin:1.6rem 0 0;display:grid;gap:.7rem;text-align:left}.profile__row{display:grid;grid-template-columns:5rem 1fr;gap:.75rem;font-size:.78rem;line-height:1.9;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.profile__key{margin:0;color:var(--accent);font-size:.72rem;letter-spacing:.12em}.profile__value{margin:0;color:var(--ink-soft)}.profile__message{margin:1.4rem 0 0;font-size:.8rem;line-height:2.1;color:var(--ink-soft);text-align:left}.closing{text-align:center;padding:5rem 0 3.5rem;border-top:1px solid var(--line)}.closing__names{font-family:var(--serif-en);font-size:1.05rem;letter-spacing:.26em;margin:1.75rem 0 0}.closing__contact{margin:1.4rem 0 0;font-size:.72rem;color:var(--ink-soft);line-height:2.1}.fiction{margin:3rem 0 0;font-size:.68rem;color:var(--ink-soft);line-height:2;text-align:center}@media (max-width: 30rem){.story__item,.venue__row{grid-template-columns:1fr;gap:.3rem}.timeline:before,.timeline__item:before{display:none}.timeline__item{grid-template-columns:1fr;gap:.3rem;border-bottom:1px solid var(--line)}.profiles{grid-template-columns:1fr;gap:3rem}.profile__row{grid-template-columns:4.5rem 1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero__media{transform:none}.timeline:before{transform:none}}
