:root{--red:#ef2438;--ink:#252323;--line:#eadcdd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--red);font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:8px}header{height:112px;padding:34px 4.5%;display:flex;justify-content:space-between;align-items:center}.wordmark{font-size:16px;font-weight:600;line-height:1.18;letter-spacing:-.5px}.nav-link{font-size:14px;display:flex;gap:30px;align-items:center}.nav-link span{font-size:22px;transition:transform .3s}.nav-link:hover span{transform:translate(3px,-3px)}.hero{min-height:calc(100svh - 112px);padding:40px 4.5% 36px;display:flex;flex-direction:column;justify-content:space-between;gap:65px}.hero-top{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.015em}.edition{font-size:12px;letter-spacing:.1em}.logo-play{position:relative;display:block;width:100%;border:0;background:transparent;padding:0;cursor:pointer;transform:rotate(var(--tilt,0deg));transition:transform .65s cubic-bezier(.2,.8,.2,1);animation:enter 1.3s cubic-bezier(.16,1,.3,1) both}.logo-play img{width:100%;height:auto;display:block;mix-blend-mode:multiply}.logo-hint{position:absolute;bottom:-36px;right:10%;font-family:Georgia,serif;font-style:italic;font-size:15px;opacity:0;transform:translateY(7px);transition:.3s}.logo-play:hover .logo-hint,.logo-play:focus-visible .logo-hint{opacity:1;transform:none}.logo-play.bounce{animation:bounce .85s cubic-bezier(.2,.7,.2,1)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:20px}.hero-bottom p{font-size:16px;margin:0;letter-spacing:.09em}.scroll-link{justify-self:center;display:flex;align-items:center;gap:22px;font-size:13px}.down{font-size:25px;animation:nudge 2.8s ease-in-out infinite}.day-stamp{justify-self:end;font-size:12px;line-height:1.4;letter-spacing:.1em;text-align:right}.about{position:relative;margin-top:70px;border-top:1px solid var(--line);padding:65px 8% 120px;overflow:hidden}.section-label{font-size:12px;letter-spacing:.12em}.about-content{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;align-items:end;margin-top:70px}h2{margin:0;font-weight:400}.about h2{font-size:clamp(50px,6.6vw,102px);line-height:1.02;letter-spacing:-.055em}.about h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.about-copy{padding-bottom:4px;color:var(--ink);font-size:16px;line-height:2.1;letter-spacing:.045em}.about-copy p{margin:0 0 24px}.about-copy p:last-child{margin:0}.asterisk{display:block;font-size:88px;line-height:1;width:max-content;margin:65px 0 0 4px;animation:turn 32s linear infinite}.closing{background:var(--red);color:white;min-height:580px;padding:75px 8% 55px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.closing h2{font-size:clamp(28px,4vw,56px);line-height:1.75;letter-spacing:.08em;margin:42px 0 34px}.thanks-button{background:none;color:white;border:1px solid #ffffff80;border-radius:100px;padding:17px 29px;min-width:190px;display:flex;justify-content:space-between;gap:30px;cursor:pointer;transition:background .25s,color .25s,transform .25s}.thanks-button:hover{background:white;color:var(--red);transform:rotate(-3deg)}.thanks-button:focus-visible{outline-color:white}.thanks-note{font-size:13px;min-height:19px;margin:22px 0 0;opacity:.85}footer{padding:30px 4.5%;display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .85s,transform .85s}.js-motion .reveal.visible{opacity:1;transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.spark{position:fixed;pointer-events:none;width:8px;height:8px;border-radius:50%;background:var(--red);z-index:10;animation:scatter .9s ease-out forwards}@keyframes enter{from{opacity:0;transform:translateY(45px) rotate(-3deg)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,100%{transform:scale(1)}30%{transform:scale(.95,1.07) rotate(-2deg)}65%{transform:scale(1.025,.98) rotate(1deg)}}@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes turn{to{transform:rotate(360deg)}}@keyframes scatter{to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}@media(min-width:1600px){.hero{gap:85px}}@media(max-width:700px){header{height:90px;padding:24px 6%}.wordmark{font-size:14px}.hero{min-height:calc(86svh - 90px);padding:30px 6%;gap:75px}.hero-top{font-size:12px}.edition{display:none}.logo-play{width:108%;margin-left:-4%}.logo-hint{display:none}.hero-bottom{grid-template-columns:1fr auto}.hero-bottom p{font-size:14px;letter-spacing:.02em}.scroll-link{justify-self:end;gap:10px}.scroll-link span:first-child{display:none}.day-stamp{display:none}.about{margin-top:40px;padding:40px 7% 65px}.about-content{grid-template-columns:1fr;gap:40px;margin-top:45px}.about h2{font-size:clamp(52px,12vw,78px)}.about-copy{font-size:16px}.asterisk{font-size:65px;margin-top:40px}.closing{min-height:480px;padding:55px 5% 45px}.closing h2{font-size:clamp(23px,5.5vw,38px);letter-spacing:.025em}.closing .section-label{font-size:12px}footer{padding:25px 6%;flex-wrap:wrap;font-size:12px}footer>span:nth-child(2){order:3;width:100%;opacity:.7}footer a{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* The bitmap remains the accessible, full-fidelity final state. */
.logo-play{animation:none}
.logo-ink{position:absolute;inset:0;width:100%;height:100%;display:none;overflow:visible}
.logo-play.is-writing{transform:none}
.logo-play.is-writing .logo-ink{display:block}
.logo-play.is-writing>img,.logo-play.is-loading>img{opacity:0}
.logo-play.is-writing .logo-hint{opacity:0}
@media(prefers-reduced-motion:reduce){.logo-play.is-writing>img,.logo-play.is-loading>img{opacity:1}.logo-play.is-writing .logo-ink{display:none}}


.logo-play.is-writing>img{opacity:var(--ink-finish,0)}
@media(prefers-reduced-motion:reduce){.logo-play.is-writing>img{opacity:1}}


header nav{display:flex;gap:32px;align-items:center}.brand-links{padding:0 8% 90px}.brand-link-row{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;padding:48px 0 55px;border-top:1px solid var(--line);scroll-margin-top:30px}.brand-link-row>.section-label{grid-column:1/-1}.brand-link-row h2{font:italic 400 clamp(45px,6vw,80px)/1.1 Georgia,serif;letter-spacing:-.04em}.link-details{align-self:center}.link-details p{font-size:16px;line-height:1.8;color:var(--ink);margin:0 0 16px}.link-pending{font-size:13px;letter-spacing:.04em;color:#8a6267}.brand-link-row a{display:inline-flex;gap:24px;font-size:15px;border-bottom:1px solid var(--red);padding:6px 0}
@media(max-width:700px){header nav{gap:18px}.nav-link{font-size:13px}header nav .nav-link:first-child{display:none}.brand-links{padding:0 7% 50px}.brand-link-row{grid-template-columns:1fr;gap:24px;padding:35px 0 40px}.brand-link-row h2{font-size:52px}}


.wordmark{display:block;width:190px;flex-shrink:0}.wordmark img{display:block;width:100%;height:auto}.thanks-note{font-size:18px;line-height:1.65;max-width:650px;min-height:5em;white-space:pre-line;text-wrap:pretty;margin-top:26px;opacity:1}.closing h2{letter-spacing:-.025em;line-height:1.2}.hero-bottom p{letter-spacing:0;line-height:1.5}
@media(max-width:700px){.wordmark{width:145px}header nav{gap:16px}.thanks-note{font-size:16px;min-height:8.25em}.hero-bottom p{max-width:240px}.closing h2{font-size:38px}.link-details a{overflow-wrap:anywhere}}


.about-content{align-items:start}.about h2{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(44px,5.4vw,86px);line-height:1.08}.about-copy{line-height:1.85;letter-spacing:0}.about-copy p:last-child{color:var(--red)}
@media(max-width:700px){.about h2{font-size:clamp(42px,10.5vw,68px)}}

.thanks-button{align-items:center}.thanks-label{display:flex;align-items:center;gap:14px}.tap-label{font-size:10px;letter-spacing:.12em;opacity:.75}
.tap-label{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:30px;background:#fff;color:var(--red);font-size:12px;font-weight:700;letter-spacing:.1em;opacity:1;animation:tap-pulse 2.4s ease-in-out infinite}
.tap-label::after{content:"";position:absolute;inset:-4px;border:1px solid currentColor;border-radius:inherit;opacity:0;animation:tap-ring 2.4s ease-out infinite}
.thanks-button:hover .tap-label{background:var(--red);color:#fff}.thanks-button:active{transform:scale(.96)}
@keyframes tap-pulse{0%,65%,100%{transform:scale(1)}25%{transform:scale(1.1)}40%{transform:scale(1)}}
@keyframes tap-ring{0%,65%,100%{opacity:0;transform:scale(1)}15%{opacity:.6}55%{opacity:0;transform:scale(1.35)}}
.about-copy .about-signoff{color:var(--red)}.about-japanese{margin-top:40px;padding-top:32px;border-top:1px solid var(--line);font-size:14px;line-height:2;letter-spacing:.025em}.about-copy .about-japanese p{color:var(--ink)}.about-copy .about-japanese p:first-child{color:var(--red)}
@media(prefers-reduced-motion:reduce){.tap-label,.tap-label::after{animation:none}.tap-label::after{display:none}}
/* A soft white edge hints at the content below the hero. */
.hero{position:relative;isolation:isolate}.hero::after{content:"";position:absolute;z-index:1;pointer-events:none;left:0;right:0;bottom:0;height:clamp(140px,24vh,220px);background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.25) 40%,rgba(255,255,255,.45) 72%,rgba(255,255,255,.6));}.hero .scroll-link{position:relative;z-index:0}
