.page-header{background:var(--paper);border-bottom:2px solid var(--ink);position:relative;overflow:hidden}.ph-canvas{display:grid;grid-template-columns:60px 1fr}.ph-rail-left{border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:32px 0;align-items:center}.ph-rail-left .station{font-family:var(--mono);font-size:10px;letter-spacing:.16em;writing-mode:vertical-rl;transform:rotate(180deg);color:var(--mute)}.ph-rail-left .tate-jp{writing-mode:vertical-rl;font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:.2em;color:var(--ink);line-height:1.4}.ph-main{padding:80px 50px 70px;position:relative}.ph-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.ph-stamp{font-family:var(--brush);font-size:56px;color:var(--red);line-height:.8;transform:rotate(-8deg)}.ph-title{font-family:var(--sans);font-weight:900;font-size:clamp(56px, 10vw, 152px);line-height:.86;letter-spacing:-.05em;color:var(--ink);position:relative;z-index:2;margin-bottom:28px}.ph-title em{font-family:var(--serif);font-style:italic;font-weight:700;color:var(--red)}.ph-overlay{position:absolute;top:40%;right:-30px;transform:translateY(-50%);font-family:var(--brush);font-size:clamp(180px, 22vw, 360px);color:var(--red);opacity:.08;line-height:.9;z-index:1;pointer-events:none}.ph-lead{font-family:var(--serif);font-size:clamp(18px, 1.6vw, 22px);line-height:1.5;color:var(--ink);max-width:720px;position:relative;z-index:2}@media (max-width:980px){.ph-canvas{grid-template-columns:40px 1fr}.ph-rail-left .tate-jp{font-size:20px}.ph-main{padding:50px 24px}.ph-overlay{font-size:200px}.ph-top-row{gap:16px}}.gallery-section{background:var(--paper);padding:120px 0}.gs-frame{display:grid;grid-template-columns:80px 1fr}.gs-rail{border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding-top:12px}.gs-rail .tate-jp{writing-mode:vertical-rl;font-family:var(--serif);font-size:32px;font-weight:600;letter-spacing:.2em;line-height:1.5}.gs-body{padding-left:60px}.gs-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:50px}.gs-head h2{font-family:var(--sans);font-weight:800;font-size:clamp(40px, 5vw, 72px);line-height:.94;letter-spacing:-.04em}.gs-head h2 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--red)}.gs-head .eyebrow{margin-bottom:20px;display:block}.gs-head .right p{font-family:var(--serif);font-size:17px;line-height:1.55;color:var(--mute)}.year-tabs{display:flex;gap:0;flex-wrap:wrap;border-bottom:2px solid var(--ink);margin-bottom:40px}.year-tab{padding:14px 22px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--mute);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}.year-tab.active{color:var(--red);border-bottom-color:var(--red)}.album-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;grid-auto-rows:140px}.album-card{border:2px solid var(--ink);background:var(--paper);padding:24px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.album-card.size-hero{grid-column:span 6;grid-row:span 3;background:var(--ink);color:var(--paper);padding:36px}.album-card.size-tall{grid-column:span 3;grid-row:span 3}.album-card.size-wide{grid-column:span 6;grid-row:span 2}.album-card.size-md{grid-column:span 4;grid-row:span 2}.album-card.size-sm{grid-column:span 3;grid-row:span 2}.album-card.is-red{background:var(--red);color:var(--paper);border-color:var(--red)}.album-card.is-gold{background:var(--gold);border-color:var(--ink)}.album-card .kanji-stamp{position:absolute;top:16px;right:16px;width:56px;height:56px;border:2px solid var(--red);border-radius:50%;display:grid;place-items:center;font-family:var(--brush);color:var(--red);font-size:28px;line-height:1;transform:rotate(-8deg);background:rgba(201,48,34,.04)}.album-card.is-red .kanji-stamp,.album-card.size-hero .kanji-stamp{border-color:var(--gold-bright);color:var(--gold-bright);background:rgba(244,236,216,.08)}.album-card.is-gold .kanji-stamp{border-color:var(--ink);color:var(--ink);background:rgba(15,13,12,.05)}.album-card .meta{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}.album-card.is-red .meta,.album-card.size-hero .meta{color:rgba(244,236,216,.7)}.album-card.is-gold .meta{color:var(--red-deep)}.album-card h3{font-family:var(--sans);font-weight:700;font-size:22px;letter-spacing:-.02em;line-height:1.05;max-width:calc(100% - 70px);margin:16px 0 8px}.album-card.size-hero h3{font-size:40px;letter-spacing:-.03em;line-height:.95;max-width:calc(100% - 80px)}.album-card h3 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--red)}.album-card.is-red h3 em,.album-card.size-hero h3 em{color:var(--gold-bright)}.album-card .ja{font-family:var(--serif);font-style:italic;font-size:12px;color:var(--red);margin-bottom:4px}.album-card.is-red .ja,.album-card.size-hero .ja{color:var(--gold-bright)}.album-card.is-gold .ja{color:var(--red-deep)}.album-card p{font-size:12px;line-height:1.5;color:var(--mute);max-width:95%;margin-top:auto}.album-card.is-red p,.album-card.size-hero p{color:rgba(244,236,216,.85)}.album-card.is-gold p{color:var(--ink)}.album-card.size-hero p{font-size:14px}.album-foot{margin-top:32px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--mute)}.archive-section{background:var(--ink);color:var(--paper);padding:120px 0}.ar-frame{display:grid;grid-template-columns:80px 1fr}.ar-rail{border-right:1px solid rgba(244,236,216,.15);display:flex;flex-direction:column;align-items:center;padding-top:12px}.ar-rail .tate-jp{writing-mode:vertical-rl;font-family:var(--serif);font-size:32px;font-weight:600;letter-spacing:.2em;color:var(--paper);line-height:1.5}.ar-body{padding-left:60px}.ar-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:50px}.ar-head h2{font-family:var(--sans);font-weight:800;font-size:clamp(40px, 5vw, 64px);line-height:.94;letter-spacing:-.04em}.ar-head h2 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--red-bright)}.ar-head .eyebrow{color:rgba(244,236,216,.7);margin-bottom:20px;display:block}.ar-head .right p{font-family:var(--serif);font-size:16px;line-height:1.55;color:rgba(244,236,216,.8)}.ar-list{border:2px solid rgba(244,236,216,.3)}.ar-list .row{display:grid;grid-template-columns:100px 60px 1fr 1fr 100px;gap:32px;padding:22px 32px;border-bottom:1px dashed rgba(244,236,216,.2);align-items:center;transition:background .2s}.ar-list .row:last-child{border-bottom:none}.ar-list .row:hover{background:rgba(244,236,216,.04)}.ar-list .row.head{background:var(--red);color:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.ar-list .row .year{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--gold-bright)}.ar-list .row.head .year{color:var(--paper);font-weight:400}.ar-list .row .edition{font-family:var(--sans);font-weight:700;font-size:18px}.ar-list .row.head .edition{font-weight:400}.ar-list .row .theme{font-family:var(--serif);font-style:italic;font-size:15px;color:rgba(244,236,216,.9)}.ar-list .row.head .theme{font-style:normal}.ar-list .row .venue{font-size:13px;color:rgba(244,236,216,.7)}.ar-list .row .stat{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:rgba(244,236,216,.7);text-align:right}@media (max-width:980px){.ar-frame,.gs-frame{grid-template-columns:40px 1fr}.ar-rail .tate-jp,.gs-rail .tate-jp{font-size:20px}.ar-body,.gs-body{padding-left:24px}.ar-head,.gs-head{grid-template-columns:1fr;gap:24px}.album-grid{grid-template-columns:1fr;grid-auto-rows:auto}.album-card.size-hero,.album-card.size-md,.album-card.size-sm,.album-card.size-tall,.album-card.size-wide{grid-column:span 1;grid-row:auto;min-height:220px}.ar-list .row{grid-template-columns:1fr;gap:8px}.ar-list .row.head{display:none}.ar-list .row .stat{text-align:left}}.photo-year{margin-bottom:72px}.photo-year:last-child{margin-bottom:0}.photo-year-head{display:flex;align-items:baseline;gap:20px;padding-bottom:14px;margin-bottom:24px;border-bottom:2px solid var(--ink)}.photo-year-head h3{font-family:var(--sans);font-weight:800;font-size:34px;letter-spacing:-.03em;line-height:1}.photo-year-head .count{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}.photo-year-head .cap{font-family:var(--serif);font-size:14px;color:var(--mute);margin-left:auto;text-align:right}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:12px}.photo-item{position:relative;overflow:hidden;border:2px solid var(--ink);background:var(--paper-2);cursor:zoom-in;padding:0;display:block;width:100%;height:100%}.photo-item.wide{grid-column:span 2}.photo-item.tall{grid-row:span 2}.photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s,filter .3s}.photo-item:hover img{transform:scale(1.05)}.photo-item:focus-visible{outline:3px solid var(--red);outline-offset:2px}.lightbox{position:fixed;inset:0;z-index:200;background:rgba(15,13,12,.94);display:none;align-items:center;justify-content:center;padding:40px}.lightbox.is-open,.lightbox[open]{display:flex}.lightbox img{max-width:100%;max-height:calc(100vh - 130px);object-fit:contain;border:2px solid rgba(244,236,216,.25)}.lightbox .lb-bar{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,236,216,.75)}.lightbox button{position:absolute;background:0 0;border:1.5px solid rgba(244,236,216,.4);color:var(--paper);width:48px;height:48px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.lightbox button:hover{background:var(--red);border-color:var(--red)}.lightbox .lb-prev{left:24px;top:50%;transform:translateY(-50%)}.lightbox .lb-next{right:24px;top:50%;transform:translateY(-50%)}.lightbox .lb-close{top:24px;right:24px}@media (max-width:980px){.photo-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.photo-year-head{flex-wrap:wrap;gap:10px}.photo-year-head .cap{margin-left:0;text-align:left;width:100%}.lightbox{padding:16px}.lightbox .lb-prev{left:8px}.lightbox .lb-next{right:8px}.lightbox img{max-height:calc(100vh - 150px)}}