:root{--paper:#fdfcfa;--paper-deep:#f7f5f0;--sumi:#1b1b20;--sumi-soft:rgba(27,27,32,.62);--muted:#8d8779;--line:rgba(27,27,32,.14);--ai:#1c4a8a;--shu:#c8372d;--matsuba:#2e6e52;--kincha:#b08d4a;--fuji:#6f5fa0;--serif-ja:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;--serif-en:"Cormorant Garamond",Georgia,serif;--sans:"Hanken Grotesk",sans-serif;--gap:clamp(12px,2vw,26px);--pad:clamp(20px,4.5vw,64px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--sumi);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;line-height:1.7;min-height:100vh}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='linear' slope='0.045'/></feComponentTransfer></filter><rect width='180' height='180' filter='url(%23n)'/></svg>")}body>*{position:relative;z-index:1}a{color:inherit;text-decoration:none}::selection{background:#1c4a8a2e}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(20px,3vw,36px) var(--pad)}.nav.overhero{position:absolute;top:0;left:0;right:0;z-index:10}.brandrow{display:flex;align-items:center;gap:10px}.logo{width:44px;height:24px;color:var(--sumi);flex:none}.logo path{stroke-dasharray:340;stroke-dashoffset:340;animation:draw 2.1s ease forwards}.logo circle{opacity:0;animation:fade 1s ease 1.1s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{to{opacity:1}}.brand{font-family:var(--serif-en);font-size:17px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.navlinks{display:flex;align-items:center;gap:clamp(28px,4vw,60px)}.navlinks a{font-size:16px;letter-spacing:.12em;opacity:.55;transition:opacity .3s,color .3s}.navlinks a:hover,.navlinks a.active{opacity:1}.navlinks a.active{color:var(--shu)}.navlinks .ig{display:flex;line-height:0;opacity:.6}@media(max-width:640px){.nav{flex-direction:column;align-items:flex-start;gap:14px}.nav.overhero{position:absolute}.navlinks{gap:22px;flex-wrap:wrap}.navlinks a{font-size:14px}}.pagehead{text-align:center;padding:clamp(36px,6vw,72px) var(--pad) clamp(6px,1vw,14px)}.pagehead .en{font-family:var(--serif-en);font-style:italic;font-weight:400;font-size:clamp(30px,4.4vw,46px);letter-spacing:.04em;line-height:1.15}.pagehead .ja{display:block;margin-top:10px;font-family:var(--serif-ja);font-size:clamp(12px,1.4vw,14px);letter-spacing:.5em;text-indent:.5em;color:var(--muted)}.pagehead,.placelist,.gallery,.backrow,.introsec,.featured,.grouptitle,.gearfeed,.aboutpage{opacity:0;transform:translateY(14px);animation:pagefade 1.1s cubic-bezier(.2,.8,.2,1) forwards}.placelist,.gallery,.introsec,.grouptitle,.aboutpage{animation-delay:.25s}.gearfeed{animation-delay:.3s}.backrow{animation-delay:.35s}@keyframes pagefade{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.pagehead,.placelist,.gallery,.backrow,.introsec,.featured,.grouptitle,.gearfeed,.aboutpage{animation:none;opacity:1;transform:none}}.placelist{padding:clamp(20px,3.5vw,44px) var(--pad) clamp(48px,7vw,90px);max-width:560px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:clamp(20px,3vw,30px)}.placeblock{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.4vw,12px)}.country{display:flex;align-items:baseline;gap:12px;font-family:var(--serif-en);font-weight:500;font-size:clamp(19px,2.2vw,24px);letter-spacing:.05em;transition:color .35s}.country .ja{font-family:var(--serif-ja);font-size:.58em;color:var(--muted);letter-spacing:.3em;transition:color .35s}.country .flag{align-self:center}a.country:hover,a.country:hover .ja{color:var(--shu)}.flag{width:1em;height:.7em;border-radius:2px;overflow:hidden;flex:none;display:inline-flex;opacity:.9}.flag.flag-jp{box-shadow:0 0 0 .5px #0000002e}.cities{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.2vw,12px)}.city{font-family:var(--serif-en);font-size:clamp(14px,1.6vw,16px);color:var(--muted);transition:color .3s}.city:hover{color:var(--ai)}.country.soon,.city.soon{cursor:default;opacity:.4}.country.soon:hover,.city.soon:hover{color:inherit}.comingsoon{padding:clamp(40px,9vw,90px) var(--pad);text-align:center;color:var(--muted);font-family:var(--serif-ja);font-size:clamp(14px,1.7vw,17px);letter-spacing:.4em;text-indent:.4em}.backrow{padding:clamp(12px,2vw,26px) var(--pad) clamp(34px,5vw,56px);font-size:12px;letter-spacing:.12em;color:var(--muted);text-align:center}.backrow a:hover{color:var(--shu)}.gallery{padding:clamp(20px,3.5vw,40px) var(--pad) clamp(20px,3vw,40px);display:flex;gap:var(--gap);align-items:flex-start}.gallery .col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--gap)}figure{margin:0;position:relative;overflow:hidden;cursor:zoom-in;background:transparent;opacity:0;transform:translateY(24px)}figure.in{opacity:1;transform:none;transition:opacity 1s ease,transform 1s ease}figure img{width:100%;height:auto;display:block;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}figure:hover img{transform:scale(1.03)}figcaption{position:absolute;left:0;bottom:0;padding:12px 14px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#fff;mix-blend-mode:difference;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}figure:hover figcaption{opacity:.9;transform:none}.lb{position:fixed;inset:0;background:#141418f0;display:flex;align-items:center;justify-content:center;padding:5vw;opacity:0;pointer-events:none;transition:opacity .5s;z-index:60;cursor:zoom-out}.lb.open{opacity:1;pointer-events:auto}.lb img{max-width:100%;max-height:90vh;box-shadow:0 30px 90px #00000080}footer{padding:clamp(36px,5vw,72px) var(--pad);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}footer .fjp{font-family:var(--serif-ja);text-transform:none;letter-spacing:.4em;font-size:11px}footer .ig{display:inline-flex;align-items:center;gap:8px;line-height:1;color:var(--muted);transition:color .3s}footer .ig svg{flex:none}footer .ig:hover{color:var(--shu)}
