*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--paper:#F2EDE3;--paper2:#E8E1D4;--paper3:#DDD5C4;--ink:#1C1A16;--ink-soft:#4A4538;--red:#C8301A;--olive:#7A7340;--blue:#3A5878;--ff-head:"Bebas Neue",sans-serif;--ff-type:"Special Elite",monospace;--ff-hand:"Caveat",cursive;--ff-serif:"DM Serif Display",serif;--ff-mono:"IBM Plex Mono",monospace}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--ff-type);max-width:480px;margin:0 auto;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:999;opacity:.45}.top-strip{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;font-family:var(--ff-mono);font-size:8.5px;letter-spacing:.15em;text-transform:uppercase}.top-strip .vol{font-family:var(--ff-hand);font-size:14px;color:var(--red);letter-spacing:0}.hero{position:relative;height:100svh;min-height:580px;overflow:hidden}.hero img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:contrast(1.04) saturate(.9)}.hero-overlay{position:absolute;top:0;left:0;right:0;width:100%;height:auto;object-fit:unset;filter:none;z-index:2}.hero-bottom{position:absolute;bottom:0;left:0;right:0;padding:20px 18px 28px;background:linear-gradient(transparent,#14100ad1)}.hero-hand{font-family:var(--ff-hand);font-size:20px;color:#ffffffe6;line-height:1.45;margin-bottom:14px}.hero-cta{display:inline-block;background:var(--red);color:#fff;font-family:var(--ff-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:11px 24px;text-decoration:none}.story-intro{padding:22px 16px 0}.eyebrow{font-family:var(--ff-mono);font-size:8.5px;letter-spacing:.25em;text-transform:uppercase;color:var(--red);border-left:3px solid var(--red);padding-left:8px;margin-bottom:10px}.story-intro h2{font-family:var(--ff-head);font-size:52px;line-height:.92;letter-spacing:.01em;text-transform:uppercase;margin-bottom:14px}.story-body{font-size:12.5px;line-height:1.9;color:var(--ink-soft);margin-bottom:18px}.step-photo{position:relative}.c-main{position:relative;overflow:hidden}.c-main img{width:100%;display:block;filter:contrast(1.05) saturate(.88)}.c-sub1,.c-sub2{overflow:hidden}.c-sub1 img,.c-sub2 img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05) saturate(.88)}.collage-a{display:grid;grid-template-columns:3fr 2fr;gap:2px;background:var(--ink)}.collage-a .c-main{grid-row:1/3;grid-column:1}.collage-b{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--ink)}.collage-b .c-main{grid-column:1/-1}.collage-b .c-sub1 img,.collage-b .c-sub2 img{height:auto;object-fit:unset}.collage-c{display:grid;grid-template-columns:2fr 3fr;gap:2px;background:var(--ink)}.collage-c .c-main{grid-row:1/3;grid-column:2}.collage-c .c-sub1{grid-row:1;grid-column:1}.collage-c .c-sub2{grid-row:2;grid-column:1}.collage-d{display:flex;flex-direction:column;position:relative}.collage-d .step-label-over{position:absolute;bottom:0;left:0;right:0;padding:12px 14px;background:none;z-index:10;pointer-events:none}.collage-d .c-main,.collage-d .c-sub1,.collage-d .c-sub2{width:87%;position:relative}.collage-d .c-main{align-self:flex-start;z-index:1}.collage-d .c-sub1{align-self:flex-end;margin-top:-28px;z-index:2}.collage-d .c-sub2{align-self:flex-start;margin-top:-28px;z-index:3}.collage-d .c-sub1 img,.collage-d .c-sub2 img{height:auto;object-fit:unset}.collage-c4{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:2px;background:var(--ink)}.collage-c4 .c-main,.collage-c4 .c-sub1,.collage-c4 .c-sub2{overflow:hidden;height:200px}.collage-c4 img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05) saturate(.88)}.collage-c4 .step-num-over{font-size:60px}.collage-c4 .c4-label{grid-column:1/-1;background:var(--ink);padding:10px 14px 12px}.collage-c4 .c4-label .over-en{font-family:var(--ff-head);font-size:22px;letter-spacing:.04em;color:#fff;line-height:1}.collage-c4 .c4-label .over-jp{font-family:var(--ff-hand);font-size:12px;color:#ffffffa6}.step-photo .step-num-over{position:absolute;top:14px;left:14px;font-family:var(--ff-head);font-size:80px;line-height:1;color:#ffffff2e;pointer-events:none}.step-photo .step-label-over{position:absolute;bottom:0;left:0;right:0;padding:12px 14px;background:none}.step-photo .over-en{font-family:var(--ff-head);font-size:26px;letter-spacing:.04em;color:#fff;line-height:1}.step-photo .over-jp{font-family:var(--ff-hand);font-size:13px;color:#ffffffbf}.step-photo .over-sub{font-family:var(--ff-hand);font-size:11.5px;color:#ffffff8c;line-height:1.6;margin-top:6px}.step-text{padding:16px 16px 20px;background:var(--paper)}.step-no{display:inline-block;font-family:var(--ff-head);font-size:13px;letter-spacing:.1em;color:#fff;background:var(--ink);padding:2px 10px;margin-bottom:10px}.step-title{font-family:var(--ff-type);font-size:15px;letter-spacing:.03em;margin-bottom:6px}.step-desc{font-family:var(--ff-hand);font-size:14px;color:var(--ink-soft);line-height:1.65}.snack-block{background:var(--ink);padding:28px 18px;position:relative;overflow:hidden;border-top:1.5px solid var(--ink)}.snack-block:after{content:"OK!";font-family:var(--ff-head);font-size:180px;position:absolute;right:-20px;bottom:-20px;color:#ffffff0a;pointer-events:none;line-height:1}.snack-tag{display:inline-block;border:1.5px solid var(--red);color:var(--red);font-family:var(--ff-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:4px 10px;margin-bottom:14px}.snack-big{font-family:var(--ff-head);font-size:58px;line-height:.9;color:#fff;margin-bottom:12px;position:relative;z-index:1}.snack-big span{color:var(--red)}.snack-hand{font-family:var(--ff-hand);font-size:16px;color:#ffffffa6;line-height:1.6;position:relative;z-index:1;max-width:280px}.about-section{padding:22px 16px}.simple-list{list-style:none;border-top:1px solid var(--paper3)}.simple-list li{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;border-bottom:1px dashed var(--paper3);font-size:11px}.simple-list li:last-child{border-bottom:none}.simple-list .k{font-family:var(--ff-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft)}.simple-list .v{font-family:var(--ff-hand);font-size:15px;color:var(--ink)}.sched-section{padding:22px 16px;border-bottom:1.5px solid var(--ink)}.sec-head{display:flex;align-items:baseline;gap:10px;border-bottom:1.5px solid var(--ink);padding-bottom:8px;margin-bottom:16px}.sec-num{font-family:var(--ff-head);font-size:48px;line-height:1;color:var(--paper3);-webkit-text-stroke:1.5px var(--ink)}.sec-title{font-family:var(--ff-head);font-size:26px;letter-spacing:.04em;text-transform:uppercase}.sched-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.slot{border:1.5px solid var(--ink);padding:9px 10px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.04em}.slot.full{grid-column:1/-1}.sched-note{margin-top:12px;font-family:var(--ff-hand);font-size:13px;color:var(--ink-soft)}.badge-red{display:inline-block;background:var(--red);color:#fff;font-family:var(--ff-mono);font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;padding:5px 12px;margin-top:12px}.notes-section{padding:22px 16px}.note-row{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed var(--paper3);align-items:flex-start}.note-row:last-child{border-bottom:none}.note-ast{font-family:var(--ff-head);font-size:16px;color:var(--red);line-height:1.2;min-width:14px}.note-txt{font-size:12px;line-height:1.75;color:var(--ink-soft)}.footer{padding:24px 16px 36px;text-align:center}.footer-big{font-family:var(--ff-head);font-size:22px;letter-spacing:.08em;text-transform:uppercase}.footer-hand{font-family:var(--ff-hand);font-size:14px;color:var(--ink-soft);margin:6px 0;line-height:1.6}.footer-mono{font-family:var(--ff-mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:14px;opacity:.55}.collab-bar{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;align-items:start;gap:0 12px;padding:24px 16px;background:var(--paper)}.collab-col{display:flex;flex-direction:column;gap:8px}.collab-col--gatto{text-align:right}.collab-label{font-family:var(--ff-mono);font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft)}.collab-name{font-family:var(--ff-head);font-size:clamp(22px,6vw,30px);line-height:.92;letter-spacing:.03em;color:var(--ink)}.collab-desc{font-family:var(--ff-hand);font-size:13px;line-height:1.65;color:var(--ink-soft)}.collab-en{font-family:var(--ff-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);opacity:.65;line-height:1.6}.collab-x{font-family:var(--ff-serif);font-style:italic;font-size:clamp(28px,8vw,40px);color:var(--red);line-height:1;padding-top:22px;user-select:none}.collab-footer{grid-column:1/-1;font-family:var(--ff-mono);font-size:8px;letter-spacing:.2em;text-transform:uppercase;text-align:center;color:var(--ink-soft);opacity:.5;margin-top:16px;padding-top:14px;border-top:1px dashed var(--paper3)}@keyframes kenBurns{0%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-110%)}to{opacity:1;transform:none}}.hero>img:first-child{animation:kenBurns 2.6s cubic-bezier(.25,0,.15,1) both}.hero-overlay{opacity:0;animation:fadeIn 1.2s ease 1s forwards}.top-strip{animation:slideDown .55s cubic-bezier(.25,0,.15,1) .1s both}.rev{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.25,0,.15,1),transform .7s cubic-bezier(.25,0,.2,1)}.rev.in{opacity:1;transform:none}.simple-list li,.sched-grid .slot,.note-row{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}.collage-d .c-sub1,.collage-d .c-sub2{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.25,0,.2,1)}
