:root{--ink:#17140f;--cream:#f4efe5;--paper:#e8e0d2;--line:#c7bdad;--brown:#6d4c3a;--blue:#1f566f;--blue2:#0d3347;--white:#f7f3eb;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.85;letter-spacing:.02em}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;left:12px;top:-100px;background:#fff;color:#000;padding:8px 12px;z-index:999}.skip:focus{top:12px}.header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(244,239,229,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(23,20,15,.12)}.header__inner{height:74px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;line-height:1.1}.brand__en{font-size:8px;letter-spacing:.22em;margin-bottom:5px}.brand__ja{font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:.08em}.nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:600}.nav a{position:relative}.nav a:not(.nav__cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:.25s}.nav a:hover:after{right:0}.nav__cta{border:1px solid;padding:9px 15px}.menu{display:none;background:none;border:0;width:42px;height:42px;position:relative}.menu span{display:block;width:22px;height:1px;background:#111;position:absolute;left:10px}.menu span:first-child{top:16px}.menu span:last-child{top:25px}.section{max-width:1180px;margin:auto;padding:112px 28px}.section__title{display:grid;grid-template-columns:78px 1fr;gap:28px;margin-bottom:58px}.index{font:600 13px var(--serif);border-top:1px solid;padding-top:9px;margin-top:5px}.eyebrow,.kicker{font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.26em;margin:0 0 14px}.section h2,.workshop h2,.contact h2{font:700 clamp(36px,5vw,60px)/1.28 var(--serif);letter-spacing:.04em;margin:0}.section__title--light{color:var(--white)}.section__title--light .index{border-color:#756e65}.lead{font:500 19px/2 var(--serif)}.hero{min-height:760px;height:94svh;position:relative;overflow:hidden;background:#1b1814;color:var(--white);display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,8,.93) 0%,rgba(12,10,8,.72) 42%,rgba(12,10,8,.15) 75%,rgba(12,10,8,.4));z-index:1}.hero__grain{position:absolute;inset:0;z-index:2;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.hero__plate{position:absolute;right:5vw;top:12%;width:min(52vw,720px);height:76%;z-index:0;transform:rotate(1.5deg);filter:sepia(.5) contrast(1.1)}.plate__frame{position:absolute;inset:0;border:13px solid #797267;background:linear-gradient(#868176 0 48%,#55524c 49% 53%,#393936 54%);box-shadow:0 35px 70px #000;overflow:hidden}.plate__frame:before{content:"";position:absolute;inset:3%;border:1px solid rgba(255,255,255,.25)}.plate__horizon{position:absolute;left:0;right:0;top:47%;border-top:2px solid #31322f}.plate__building{position:absolute;bottom:31%;background:#302f2b;box-shadow:inset 0 0 0 2px #706b60}.plate__building:before{content:"";position:absolute;left:-8%;right:-8%;top:-18px;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:18px solid #292824}.p1{left:9%;width:22%;height:22%}.p2{left:37%;width:28%;height:28%}.p3{right:8%;width:20%;height:19%}.plate__road{position:absolute;left:18%;right:12%;bottom:-10%;height:43%;background:#6b675e;clip-path:polygon(41% 0,55% 0,100% 100%,0 100%)}.plate__mark{position:absolute;left:5%;bottom:4%;font-size:9px;letter-spacing:.18em;color:#c8c1b4}.hero__content{position:relative;z-index:3;max-width:1180px;width:100%;margin:auto;padding:110px 28px 70px}.hero h1{font:800 clamp(58px,8.7vw,110px)/1.01 var(--serif);letter-spacing:.02em;margin:0 0 30px}.hero h1 span{font-size:.6em;font-weight:600}.hero__lead{max-width:590px;font:500 17px/1.95 var(--serif)}.hero__actions{display:flex;gap:11px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;font-size:12px;font-weight:700;letter-spacing:.08em;transition:.2s}.btn--light{background:var(--white);color:var(--ink);border:1px solid var(--white)}.btn--line{border:1px solid #b9b3a9}.btn--dark{background:var(--ink);color:var(--white);margin-top:20px}.btn:hover{transform:translateY(-2px)}.hero__meta{position:absolute;z-index:3;bottom:24px;right:28px;font-size:8px;letter-spacing:.22em}.hero__meta span{margin-left:20px;opacity:.65}.intro__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:74px}.intro__copy p:not(.lead){max-width:650px}.statement{background:var(--paper);padding:44px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between}.statement span{font-size:8px;letter-spacing:.21em}.statement strong{font:700 30px/1.5 var(--serif)}.statement p{font-size:11px}.archive{background:#181613;color:var(--white)}.archive__grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #4e4942;border-top:1px solid #4e4942}.archive article{min-height:320px;padding:30px 26px;border-right:1px solid #4e4942;border-bottom:1px solid #4e4942}.archive article>span{font:600 11px var(--serif);opacity:.5}.archive h3{font:600 24px var(--serif);margin:62px 0 20px}.archive p{font-size:13px;color:#c7c0b5}.exhibition__feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.negative{aspect-ratio:4/5;background:#28251f;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.18);transform:rotate(-1.2deg)}.negative__inner{height:100%;border:1px solid #847c6e;display:flex;align-items:flex-end;justify-content:flex-end;padding:28px;background:radial-gradient(circle at 35% 23%,#c6bca8 0 2%,transparent 3%),linear-gradient(160deg,#767164 0 44%,#484941 45% 52%,#242724 53%);position:relative;overflow:hidden}.negative__inner:after{content:"";position:absolute;left:9%;right:7%;bottom:-7%;height:52%;background:#6e695d;clip-path:polygon(48% 0,55% 0,100% 100%,0 100%)}.negative__inner span{position:relative;z-index:2;color:#e8dfcf;font:700 22px/1.2 var(--serif);letter-spacing:.08em;text-align:right}.exhibition__copy p{max-width:600px}.textlink{display:inline-flex;gap:16px;align-items:center;border-bottom:1px solid;padding:10px 0 6px;margin-top:18px;font-size:12px;font-weight:700}.facts{margin-top:72px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.facts div{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.facts b{display:block;font:600 24px var(--serif);margin-bottom:6px}.facts span{font-size:11px;color:#756e65}.workshop{background:#dbe8eb}.workshop__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center}.workshop p:not(.eyebrow){max-width:620px}.cyanotype{aspect-ratio:1;background:var(--blue);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:38px;color:white;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}.cyanotype:after{content:"";position:absolute;inset:4%;border:1px solid rgba(255,255,255,.32)}.cyanotype__sun{position:absolute;width:42%;height:42%;border-radius:50%;background:#e8f3ee;right:10%;top:11%;opacity:.94}.cyanotype__leaf{position:absolute;width:14%;height:54%;border-radius:100% 0 100% 0;background:#bfd8d5;transform-origin:bottom}.l1{left:24%;bottom:13%;transform:rotate(-24deg)}.l2{left:39%;bottom:8%;transform:rotate(18deg) scale(.75)}.cyanotype span{position:relative;z-index:2;font:700 27px/1.1 var(--serif);letter-spacing:.12em}.cyanotype small{font:600 8px var(--sans);letter-spacing:.25em}.media__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.media article{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:220px}.media time{font:600 11px var(--serif);color:#756d62}.media h3{font:600 20px/1.6 var(--serif);margin:35px 0 12px}.media p{font-size:12px;color:#726a5f}.visit{background:#25211c;color:var(--white)}.visit__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px}.details{margin:0;border-top:1px solid #5b554e}.details>div{display:grid;grid-template-columns:135px 1fr;padding:17px 0;border-bottom:1px solid #5b554e}.details dt{font-size:10px;font-weight:700;letter-spacing:.12em;color:#aaa197}.details dd{margin:0;font:500 17px/1.7 var(--serif)}.details small{font:400 11px/1.6 var(--sans);color:#bbb3a8}.visit__side{display:flex;flex-direction:column;gap:18px}.mapcard{min-height:340px;background:#d5c8b5;color:var(--ink);padding:30px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.mapcard:before,.mapcard:after{content:"";position:absolute;border:1px solid rgba(23,20,15,.28);border-radius:50%}.mapcard:before{width:250px;height:250px;right:-90px;top:-70px}.mapcard:after{width:170px;height:170px;right:-35px;top:-20px}.mapcard>span{font-size:8px;letter-spacing:.18em}.mapcard strong{font:700 35px/1.35 var(--serif);position:relative;z-index:2}.mapcard a{font-size:11px;font-weight:700;border-bottom:1px solid;width:max-content;position:relative;z-index:2}.notice{border:1px solid #5b554e;padding:22px}.notice b{font:600 15px var(--serif)}.notice p{font-size:11px;color:#c7bfb4;margin:8px 0 0}.contact{background:#0f0e0c;color:var(--white);text-align:center}.contact__inner>p:not(.eyebrow){color:#bfb8ae;margin:26px auto 0}.contact__links{max-width:880px;margin:48px auto 0;display:grid;grid-template-columns:1fr 1fr;border-left:1px solid #49443e;border-top:1px solid #49443e}.contact__links a{padding:30px;text-align:left;border-right:1px solid #49443e;border-bottom:1px solid #49443e}.contact__links span{display:block;font-size:8px;letter-spacing:.2em;color:#8f887f}.contact__links b{display:block;font:600 19px var(--serif);margin:7px 0 18px;word-break:break-all}.contact__links em{font-size:10px;font-style:normal;color:#aaa49b}.footer{background:#090806;color:#918a80}.footer__inner{max-width:1180px;margin:auto;padding:54px 28px 85px;display:grid;grid-template-columns:1fr auto;gap:40px}.footer__inner>div{display:flex;flex-direction:column}.footer strong{font:600 18px var(--serif);color:#e8e2d8}.footer span{font-size:8px;letter-spacing:.2em;margin-top:5px}.footer nav{display:flex;gap:20px;font-size:10px}.footer small{font-size:8px;grid-column:1/-1}.mobilebar{display:none}.totop{position:fixed;right:18px;bottom:18px;z-index:80;width:42px;height:42px;border:1px solid #aaa;background:rgba(244,239,229,.9);opacity:0;pointer-events:none;transition:.2s}.totop.show{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}
@media(max-width:900px){.header__inner{height:66px;padding:0 20px}.brand__ja{font-size:18px}.menu{display:block}.nav{position:absolute;top:66px;left:0;right:0;background:var(--cream);padding:20px;display:none;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:13px 4px;border-bottom:1px solid #d8d0c4}.nav__cta{border:0}.section{padding:86px 20px}.section__title{grid-template-columns:44px 1fr;gap:15px;margin-bottom:42px}.hero{min-height:700px;height:90svh}.hero__content{padding:100px 20px 70px}.hero h1{font-size:clamp(50px,14vw,78px)}.hero__plate{right:-28%;top:14%;width:88vw;height:68%;opacity:.72}.hero__meta{right:20px}.hero__meta span{display:none}.intro__grid,.exhibition__feature,.workshop__grid,.visit__grid{grid-template-columns:1fr;gap:40px}.statement{min-height:270px}.archive__grid{grid-template-columns:1fr 1fr}.archive article{min-height:260px}.facts{grid-template-columns:1fr}.media__grid{grid-template-columns:1fr}.media article{min-height:auto}.cyanotype{max-width:470px;width:100%;margin:auto}.contact__links{grid-template-columns:1fr}.footer__inner{grid-template-columns:1fr}.footer nav{flex-wrap:wrap}}
@media(max-width:560px){body{padding-bottom:58px}.hero{min-height:660px}.hero__lead{font-size:15px}.hero__actions{flex-direction:column;align-items:flex-start}.btn{width:100%;max-width:260px}.hero__plate{right:-55%;width:120vw}.section h2,.workshop h2,.contact h2{font-size:34px}.lead{font-size:17px}.archive__grid{grid-template-columns:1fr}.archive article{min-height:0}.archive h3{margin-top:30px}.negative{max-width:390px;margin:auto}.facts b{font-size:21px}.details>div{grid-template-columns:95px 1fr}.details dd{font-size:15px}.mapcard{min-height:300px}.contact__links b{font-size:15px}.footer__inner{padding-bottom:40px}.mobilebar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:120;background:var(--cream);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobilebar a{text-align:center;font-size:11px;font-weight:700;padding:17px 4px;border-right:1px solid var(--line)}.totop{bottom:76px}}


/* ===== Final archive presentation ===== */
.photo-stage{
  display:grid;grid-template-columns:1.45fr .8fr;gap:18px;margin:10px 0 44px;
}
.photo-stack{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.photo-frame{
  position:relative;display:block;min-height:250px;background:#17140f;
  overflow:hidden;border:1px solid #c8bead;box-shadow:0 18px 45px rgba(28,22,15,.10);
}
.photo-frame--hero{min-height:540px}
.photo-frame__code{
  position:absolute;z-index:3;top:14px;left:16px;color:#eee7d8;
  font:600 9px/1 "Arial",sans-serif;letter-spacing:.2em;opacity:.8
}
.photo-frame__scene{
  position:absolute;inset:0;background:
  radial-gradient(circle at 35% 22%,rgba(250,238,206,.18),transparent 22%),
  linear-gradient(160deg,#887b66,#443d34 55%,#22201c);
  filter:sepia(.38) contrast(1.05) grayscale(.55);
}
.photo-frame__scene:after{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px),
             radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.48) 100%);
  mix-blend-mode:overlay;pointer-events:none
}
.photo-frame__caption{
  position:absolute;z-index:4;left:0;right:0;bottom:0;padding:42px 22px 18px;
  color:#f6f0e4;background:linear-gradient(transparent,rgba(15,13,10,.82))
}
.photo-frame__caption b{display:block;font-family:"Noto Serif JP",serif;font-size:19px;letter-spacing:.06em}
.photo-frame__caption small{font-size:10px;letter-spacing:.13em;opacity:.75}

/* Town silhouette */
.scene-sky{position:absolute;left:0;right:0;top:0;height:48%;background:linear-gradient(#8e8270,#a89b83)}
.scene-road{position:absolute;left:-10%;right:-10%;bottom:-15%;height:55%;background:#554b40;transform:perspective(500px) rotateX(55deg)}
.scene-house{position:absolute;bottom:31%;background:#342f29;border-top:5px solid #211e1a}
.scene-house:before{content:"";position:absolute;left:-8%;right:-8%;top:-24px;height:24px;background:#2f2a25;clip-path:polygon(0 100%,12% 25%,48% 0,88% 20%,100% 100%)}
.scene-house:after{content:"";position:absolute;left:12%;right:12%;bottom:9px;height:22%;background:repeating-linear-gradient(90deg,#7b6c55 0 3px,#2d2822 3px 12px)}
.scene-house.h1{left:4%;width:33%;height:29%}.scene-house.h2{left:34%;width:29%;height:35%}.scene-house.h3{right:3%;width:38%;height:26%}
.scene-person{position:absolute;z-index:2;bottom:20%;width:9px;height:35px;background:#211d19;border-radius:5px 5px 2px 2px}
.scene-person:before{content:"";position:absolute;width:11px;height:11px;border-radius:50%;top:-9px;left:-1px;background:#211d19}
.scene-person.p1{left:46%}.scene-person.p2{left:58%;transform:scale(.78)}

/* People silhouettes */
.scene-people{display:flex;align-items:flex-end;justify-content:center;gap:8%;padding-bottom:24%}
.portrait{position:relative;width:23%;height:48%;background:#3b332b;border-radius:42% 42% 12% 12%}
.portrait:before{content:"";position:absolute;width:48%;aspect-ratio:1;border-radius:50%;background:#4b4035;left:26%;top:-30%}
.portrait.b{height:58%;background:#4a4034}.portrait.c{height:43%}

/* Festival abstraction */
.scene-festival{background:linear-gradient(#5d5142,#29241f)}
.lantern{position:absolute;width:36px;height:52px;border-radius:46%;background:#b39a70;box-shadow:0 0 38px rgba(209,171,105,.25)}
.lantern:after{content:"";position:absolute;left:50%;top:-70px;width:1px;height:72px;background:#2b251f}
.lantern.l1{left:18%;top:34%}.lantern.l2{left:44%;top:24%;transform:scale(.82)}.lantern.l3{right:16%;top:38%;transform:scale(.68)}
.festival-line{position:absolute;left:-4%;right:-4%;bottom:23%;height:1px;background:#aa9270;transform:rotate(-4deg)}

.exhibition__copy--wide{max-width:820px;margin:0 auto 52px;text-align:center}
.exhibition__copy--wide .btn{display:inline-block;margin-top:22px}
.photo-donation{background:#d8ccb8}
.photo-donation__inner{text-align:center}
.photo-donation h2{font-family:"Noto Serif JP",serif;font-size:clamp(36px,5vw,60px);line-height:1.28;margin:0}
.photo-donation p:not(.eyebrow){max-width:700px;margin:24px auto}
.btn--line-dark{border:1px solid #17140f;color:#17140f;display:inline-block;padding:14px 24px}

@media(max-width:800px){
  .photo-stage{grid-template-columns:1fr}
  .photo-frame--hero{min-height:430px}
  .photo-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .photo-frame{min-height:220px}
}
@media(max-width:520px){
  .photo-stack{grid-template-columns:1fr}
  .photo-frame--hero{min-height:360px}
  .photo-frame{min-height:230px}
}

/* ===== Taisho Roman / Museum Luxury Theme ===== */
:root{
  --ink:#241510;--cream:#f3ead7;--paper:#eadcc0;--white:#fffaf0;
  --line:#b49a67;--blue:#183f49;--burgundy:#561d24;--gold:#b4934f;
  --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --sans:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
}
body{
  background-color:var(--cream);
  background-image:linear-gradient(rgba(86,29,36,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(86,29,36,.025) 1px,transparent 1px);
  background-size:24px 24px;color:var(--ink);
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;box-shadow:inset 0 0 90px rgba(62,34,18,.16)}
.header{background:rgba(40,20,17,.96);color:#f6ecd7;border-bottom:1px solid var(--gold);box-shadow:0 8px 28px rgba(28,12,9,.22)}
.header__inner{height:82px}
.brand{padding-left:18px;border-left:3px double var(--gold)}
.brand__en{color:#cdb67d}.brand__ja{font-size:22px;letter-spacing:.16em;text-shadow:0 1px 0 #000}
.nav{font-family:var(--serif);letter-spacing:.08em}.nav a:not(.nav__cta):after{background:var(--gold)}
.nav__cta{border:1px solid var(--gold);background:rgba(180,147,79,.08);color:#f5e5bb}
.menu span{background:#f6ecd7}
.hero{background:#1c0e0d;border-bottom:8px double var(--gold)}
.hero:before{content:"";position:absolute;inset:18px;border:1px solid rgba(198,166,96,.45);z-index:3;pointer-events:none}
.hero:after{background:linear-gradient(90deg,rgba(28,12,13,.98),rgba(55,21,25,.82) 48%,rgba(20,12,9,.25) 78%,rgba(20,10,8,.65))}
.hero__content{padding-top:135px}.kicker{color:#d6bd80}.hero h1{color:#fff4dd;text-shadow:0 3px 18px #120605}
.hero h1 span{color:#d9bd7a}.hero__lead{color:#e8dcc5;border-left:1px solid var(--gold);padding-left:22px}
.hero__plate{filter:sepia(.8) contrast(1.15) brightness(.72)}
.plate__frame{border:16px ridge #7d6133;box-shadow:0 38px 80px #090302,0 0 0 2px #c4a96b}
.btn{font-family:var(--serif);letter-spacing:.12em;border-radius:0;box-shadow:none}
.btn--light{background:#efe1c1;border-color:#c6a660;color:#34191a}.btn--line{border-color:#c6a660;color:#f5e8cf}
.btn--dark{background:var(--burgundy);border:1px solid var(--gold);color:#fff4dc}
.section__title{position:relative}.section__title:after{content:"✦";position:absolute;right:0;top:0;color:var(--gold);font-size:22px}
.index{color:var(--burgundy);border-color:var(--gold);font-size:15px}.eyebrow{color:#866c3e}
.section h2,.workshop h2,.contact h2{color:#351a19;text-shadow:0 1px 0 #fff8e8}
.intro__copy .lead:first-letter{float:left;font-size:3.2em;line-height:.82;margin:.12em .12em 0 0;color:var(--burgundy)}
.statement{background:linear-gradient(145deg,#f7ecd7,#dfcfad);border:4px double var(--gold);box-shadow:0 18px 42px rgba(55,28,18,.14);position:relative}
.statement:before,.statement:after{content:"◆";position:absolute;color:var(--gold);font-size:10px}.statement:before{left:10px;top:8px}.statement:after{right:10px;bottom:8px}
.archive,.visit{background:linear-gradient(145deg,#2c1718,#160c0c);position:relative}
.archive .section__title--light .eyebrow{color:#fff}
.archive:before,.visit:before{content:"";position:absolute;inset:14px;border:1px solid rgba(180,147,79,.25);pointer-events:none}
.archive__grid{border-color:#806b43}.archive article{border-color:#806b43;background:linear-gradient(145deg,rgba(255,246,224,.025),transparent)}
.archive article>span,.archive h3{color:#d7bc78}.archive p{color:#d8cbb4}
.photo-frame{border:5px ridge #8b6b35;box-shadow:0 20px 45px rgba(45,22,13,.26),0 0 0 1px #c4a35d}
.photo-frame__code{color:#f0dcae}.photo-frame__caption{border-top:1px solid rgba(205,175,105,.55)}
.photo-frame__caption b{color:#f8eac9;letter-spacing:.12em}
.facts{border-color:var(--gold);background:#efe1c4}.facts div{border-color:var(--gold)}.facts b{color:var(--burgundy)}
.workshop{background:linear-gradient(135deg,#d8e2dd,#b9cfca);border-top:8px double #476f70;border-bottom:8px double #476f70}
.cyanotype{border:10px double #d7e5df;box-shadow:0 22px 50px rgba(18,45,50,.28)}
.media article{background:rgba(255,250,236,.45);border-color:#b79b64}.media time{color:var(--burgundy)}
.details{border-color:#927a4a}.details>div{border-color:#675336}.details dt{color:#d1b876}.details dd{color:#f3e6cf}
.mapcard{background:linear-gradient(145deg,#e1d0a9,#bda474);border:5px double #6d5429;box-shadow:0 18px 40px #100807}.notice{border-color:#8f7547}
.photo-donation{background:linear-gradient(135deg,#dfcfab,#c9b181);border-top:8px double #755028;border-bottom:8px double #755028}
.photo-donation__inner{position:relative}.photo-donation__inner:before{content:"◆  PHOTO ARCHIVE  ◆";display:block;color:#684129;letter-spacing:.35em;font-size:9px;margin-bottom:22px}
.btn--line-dark{border:1px solid var(--burgundy);box-shadow:inset 0 0 0 3px rgba(180,147,79,.35)}
.contact{background:radial-gradient(circle at top,#58212a,#1b0c0d 60%);border-top:8px double var(--gold)}
.contact h2{color:#fff0d3;text-shadow:none}.contact__links{border-color:#8b7040}.contact__links a{border-color:#8b7040;background:rgba(255,244,218,.025)}
.contact__links span,.contact__links em{color:#cdb06b}.contact__links b{color:#fff0d3}
.footer{background:#120809;border-top:1px solid #8f723a}.footer strong{color:#f0dfbd}.footer span{color:#bda46e}
.totop{border:1px solid var(--gold);background:#3a181b;color:#f5e5bd}
@media(max-width:900px){.header__inner{height:70px}.nav{top:70px;background:#261314;color:#f4e8d2;border-color:#8d703e}.nav a{border-color:#60472e}.hero:before{inset:9px}.section__title:after{display:none}}
@media(max-width:560px){.hero__content{padding-top:112px}.brand__ja{font-size:17px}.mobilebar{background:#251113;color:#f4e4c5;border-color:var(--gold)}.mobilebar a{border-color:#6f5636}}

/* OLD PHOTO EXHIBITION: Festival and events */
.photo-stack .photo-frame:nth-child(2) .scene-festival{
  background-image:linear-gradient(rgba(40,20,13,.02),rgba(25,10,8,.16)),url('/exhibition-festival.jpg');
  background-size:cover;background-position:center 43%;background-repeat:no-repeat;
  filter:sepia(.22) contrast(1.1) brightness(.82);
}
.photo-stack .photo-frame:nth-child(2) .scene-festival .lantern,.photo-stack .photo-frame:nth-child(2) .scene-festival .festival-line{display:none}
.photo-stack .photo-frame:nth-child(2):hover .scene-festival{filter:sepia(.12) contrast(1.12) brightness(.9);transform:scale(1.018);transition:filter .45s ease,transform .65s ease}
@media(max-width:560px){.photo-stack .photo-frame:nth-child(2) .scene-festival{background-position:center 39%}}

/* OLD PHOTO EXHIBITION: People and daily life */
.photo-stack .photo-frame:first-child .scene-people{
  display:block;padding:0;
  background-image:linear-gradient(rgba(40,20,13,.02),rgba(25,10,8,.16)),url('/exhibition-people.jpg');
  background-size:cover;background-position:center 42%;background-repeat:no-repeat;
  filter:sepia(.24) contrast(1.1) brightness(.82);
}
.photo-stack .photo-frame:first-child .scene-people .portrait{display:none}
.photo-stack .photo-frame:first-child:hover .scene-people{filter:sepia(.14) contrast(1.12) brightness(.9);transform:scale(1.018);transition:filter .45s ease,transform .65s ease}
@media(max-width:560px){.photo-stack .photo-frame:first-child .scene-people{background-position:center 38%}}

/* OLD PHOTO EXHIBITION: Nabari town */
.photo-frame--hero .scene-town{
  background-image:linear-gradient(rgba(36,18,12,.04),rgba(24,10,8,.16)),url('/exhibition-town.jpg');
  background-size:cover;background-position:center center;background-repeat:no-repeat;
  filter:sepia(.28) contrast(1.12) brightness(.78);
}
.photo-frame--hero .scene-town .scene-sky,.photo-frame--hero .scene-town .scene-house,.photo-frame--hero .scene-town .scene-road,.photo-frame--hero .scene-town .scene-person{display:none}
.photo-frame--hero:hover .scene-town{filter:sepia(.18) contrast(1.14) brightness(.86);transform:scale(1.015);transition:filter .45s ease,transform .65s ease}
@media(max-width:560px){.photo-frame--hero .scene-town{background-position:46% center}}

/* ABOUT museum imagery */
.intro.section{
  position:relative;overflow:hidden;
  background-image:linear-gradient(90deg,rgba(243,234,215,.98) 0%,rgba(243,234,215,.94) 42%,rgba(243,234,215,.62) 68%,rgba(44,22,17,.18) 100%),url('/about-camera.jpg');
  background-size:cover;background-position:center right;background-repeat:no-repeat;
  border-left:1px solid rgba(180,147,79,.45);border-right:1px solid rgba(180,147,79,.45);
}
.intro.section:before{content:"";position:absolute;inset:14px;border:1px solid rgba(180,147,79,.35);pointer-events:none}
.intro .section__title,.intro__grid{position:relative;z-index:1}
.intro__copy{padding:28px 34px;background:rgba(250,244,228,.82);box-shadow:0 14px 38px rgba(48,24,15,.12);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.intro .statement{
  color:#fff0d3;
  background-image:linear-gradient(180deg,rgba(33,15,14,.40),rgba(33,15,14,.88)),url('/about-projection.jpg');
  background-size:cover;background-position:center 45%;border-color:#c5a45c;text-shadow:0 2px 8px rgba(0,0,0,.9);
}
.intro .statement span,.intro .statement p{color:#ecd9aa}.intro .statement strong{color:#fff6df}
@media(max-width:900px){.intro.section{background-position:68% center;background-image:linear-gradient(90deg,rgba(243,234,215,.97),rgba(243,234,215,.84)),url('/about-camera.jpg')}}
@media(max-width:560px){.intro.section{padding-left:20px;padding-right:20px}.intro__copy{padding:24px 22px}.intro .statement{min-height:360px;background-position:center 40%}}

/* Iga Machikado Museum partner logo */
.header__inner{gap:18px}
.header__partner-logo{display:block;width:clamp(118px,11vw,145px);height:auto;flex:0 0 auto;object-fit:contain;filter:contrast(2) saturate(1.15) brightness(.72) drop-shadow(0 0 .3px #000)}
.footer__inner{grid-template-columns:1fr auto auto;align-items:center}
.footer__partner-logo{display:block;width:clamp(114px,12vw,150px);height:auto;justify-self:end;filter:invert(1) grayscale(.12) contrast(1.9) brightness(1.18) drop-shadow(0 0 .35px #fff)}
.footer small{grid-column:1/-1}
@media(max-width:1050px){.nav{gap:14px;font-size:11px}.header__partner-logo{width:125px}}
@media(max-width:900px){.header__partner-logo{width:118px;margin-left:auto}.menu{order:4;flex:0 0 auto}.footer__inner{grid-template-columns:1fr}.footer__partner-logo{justify-self:end;width:138px}}
@media(max-width:560px){.header__inner{gap:10px}.brand__en{display:none}.brand__ja{font-size:16px}.header__partner-logo{width:105px}.footer__partner-logo{width:126px}}

/* PHOTO WORKSHOP process photography */
.workshop-gallery{position:relative;margin:0;min-height:520px;padding:12px;background:#102f45;border:10px double #d7e5df;box-shadow:0 22px 50px rgba(18,45,50,.28);overflow:hidden}
.workshop-gallery__grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:7px;height:496px;background:#0b2739}
.workshop-gallery img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;filter:saturate(.88) contrast(1.04)}
.workshop-gallery img:nth-child(2),.workshop-gallery img:nth-child(3){object-position:center 45%}
.workshop-gallery figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;padding:48px 18px 16px;color:#f4f0e5;background:linear-gradient(transparent,rgba(5,24,37,.9));text-shadow:0 1px 3px rgba(0,0,0,.6)}
.workshop-gallery figcaption span{display:block;font:600 9px/1 Arial,sans-serif;letter-spacing:.25em;color:#b8dce9}
.workshop-gallery figcaption strong{display:block;margin:7px 0 4px;font:700 25px/1.1 var(--serif);letter-spacing:.12em}
.workshop-gallery figcaption small{font-size:10px;letter-spacing:.16em;color:#d8e9ef}
@media(max-width:900px){.workshop-gallery{max-width:620px;width:100%;margin:auto}}
@media(max-width:560px){.workshop-gallery{min-height:430px;padding:8px;border-width:7px}.workshop-gallery__grid{height:414px;gap:5px}.workshop-gallery figcaption{left:15px;right:15px;bottom:15px}.workshop-gallery figcaption strong{font-size:21px}}

/* OLD PHOTO EXHIBITION: small archive frames */
.mini-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 54px;align-items:stretch}
.mini-frame{position:relative;margin:0;min-height:265px;overflow:hidden;background:#17140f;border:9px solid #2a2118;outline:1px solid #8e7752;box-shadow:0 13px 30px rgba(25,17,9,.2),inset 0 0 0 1px #c3a774}
.mini-frame:before{content:"";position:absolute;z-index:2;inset:7px;border:1px solid rgba(231,209,163,.5);pointer-events:none}
.mini-frame img{display:block;width:100%;height:100%;min-height:265px;object-fit:cover;filter:sepia(.16) contrast(1.05);transition:transform .8s ease,filter .8s ease}
.mini-frame--portrait img{object-position:center 27%}
.mini-frame figcaption{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:38px 17px 15px;color:#f6f0e4;background:linear-gradient(transparent,rgba(14,11,8,.9))}
.mini-frame figcaption span{display:block;margin-bottom:6px;font:600 8px/1 Arial,sans-serif;letter-spacing:.2em;color:#d7bd85}
.mini-frame figcaption b{font-family:"Noto Serif JP",serif;font-size:16px;letter-spacing:.08em}
.mini-frame:hover img{transform:scale(1.025);filter:sepia(.08) contrast(1.08)}
@media(max-width:800px){.mini-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-frame:last-child{grid-column:1/-1}.mini-frame,.mini-frame img{min-height:250px}}
@media(max-width:520px){.mini-gallery{grid-template-columns:1fr;gap:16px}.mini-frame:last-child{grid-column:auto}.mini-frame,.mini-frame img{min-height:235px}}

/* TOP glass plate photo */
.hero__plate{right:3vw;top:17%;width:min(58vw,820px);height:66%;transform:rotate(1deg);filter:sepia(.24) contrast(1.08) brightness(.82)}
.plate__frame{
  background-image:linear-gradient(rgba(49,26,14,.08),rgba(20,9,6,.16)),url('/hero-glass-plate.jpg');
  background-size:cover;background-position:center center;background-repeat:no-repeat;
}
.plate__frame:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px rgba(24,10,6,.48);pointer-events:none}
.plate__horizon,.plate__building,.plate__road{display:none}
.plate__mark{z-index:2;padding:7px 10px;background:rgba(24,10,8,.66);border-left:2px solid #c7a65c;color:#f3dfb0;text-shadow:0 1px 2px #000}
@media(max-width:900px){.hero__plate{right:-18%;top:19%;width:82vw;height:61%;opacity:.68}.plate__frame{background-position:center center}}
@media(max-width:560px){.hero__plate{right:-48%;top:20%;width:118vw;height:58%;opacity:.58}.plate__frame{background-position:54% center}}
