:root{
    --cream:#FAF1DD;
    --cream-deep:#F3E5C4;
    --red:#B7312A;
    --red-dark:#8C231D;
    --navy:#4C5B66;
    --gold:#C9972B;
    --ink:#2B211C;
  }
  html,body{margin:0;padding:0;}
  html{scroll-behavior:smooth;overflow-anchor:none;}
  *{box-sizing:border-box;}
  @keyframes floaty{0%{transform:translateY(0) rotate(0deg) scale(1);}50%{transform:translateY(-30px) rotate(12deg) scale(1.12);}100%{transform:translateY(0) rotate(0deg) scale(1);}}
  @keyframes floaty2{0%{transform:translateY(0) rotate(0deg) scale(1);}50%{transform:translateY(24px) rotate(-14deg) scale(1.1);}100%{transform:translateY(0) rotate(0deg) scale(1);}}
  @keyframes bounceArrow{0%,100%{transform:translateY(0);}50%{transform:translateY(10px);}}
  @keyframes scrollDot{0%{transform:translateY(0);opacity:1;}70%{transform:translateY(16px);opacity:.2;}100%{transform:translateY(0);opacity:1;}}
  @keyframes scrollLine{0%{transform:translateY(-16px);opacity:0;}30%{opacity:1;}70%{opacity:1;}100%{transform:translateY(40px);opacity:0;}}
  @keyframes logoGlow{0%,100%{opacity:.75;}50%{opacity:1;}}
  @keyframes loaderPop{from{opacity:0;transform:scale(.85);}to{opacity:1;transform:scale(1);}}
  @keyframes loaderShift{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
  @keyframes modalFade{from{opacity:0;}to{opacity:1;}}
  @keyframes modalPop{from{opacity:0;transform:scale(.92) translateY(14px);}to{opacity:1;transform:scale(1) translateY(0);}}
  @keyframes popIn{0%{transform:scale(.85);opacity:0;}100%{transform:scale(1);opacity:1;}}
  @keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

  /* Scroll-reveal: site-chrome.js's initReveal() adds this class (not inline
     styles, so it never fights with :hover rules on the same elements below —
     placed early so any later same-specificity :hover rule wins the cascade). */
  [data-reveal].is-revealed{opacity:1;transform:translateY(0);}

  /* ---- extracted from index.html inline styles ---- */

  /* Root */
  .root-1{font-family:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',YuGothic,Meiryo,sans-serif;background:var(--cream);color:var(--ink);position:relative;overflow-x:hidden;}

  /* Loader */
  .loader-1{position:relative;z-index:1;width:min(280px,60vw);aspect-ratio:1/1;opacity:0;animation:loaderPop .7s ease-out forwards;}

  /* Header */
  #site-header{position:fixed;top:0;left:0;width:100%;z-index:60;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;transition:padding .3s;}
  #header-logo{display:flex;align-items:center;opacity:0;transition:opacity .3s;}
  .header-1{height:64px;aspect-ratio:3/1;display:block;}

  /* Menu button */
  .menubtn-1{position:fixed;top:14px;right:24px;z-index:70;width:48px;height:48px;background:none;border:none;padding:0;cursor:pointer;}
  .menubtn-2{position:absolute;top:-7px;left:50%;width:2px;height:7px;background:var(--ink);transform:translateX(-50%);}
  .menubtn-3{position:relative;width:100%;height:100%;background:var(--red);border-radius:50%;border:2.5px solid var(--ink);overflow:hidden;transition:background .3s;}
  .menubtn-4{position:absolute;top:9px;left:4px;right:4px;height:2px;background:var(--ink);opacity:.55;}
  .menubtn-5{position:absolute;bottom:9px;left:4px;right:4px;height:2px;background:var(--ink);opacity:.55;}
  .menubtn-6{position:absolute;top:10px;bottom:12px;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
  .menubtn-char{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-bottom:4px;font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:18px;font-weight:700;color:var(--cream);opacity:0;transform:scale(.4);transition:opacity .25s,transform .25s;pointer-events:none;}
  .menubtn-1:hover:not(.is-open) .menubtn-char{opacity:1;transform:scale(1);}
  .menubtn-1:hover:not(.is-open) .menubtn-6 span{opacity:0;}

  /* Nav overlay */
  .nav-1{position:absolute;top:50%;left:50%;width:min(640px,80vw);aspect-ratio:1/1;transform:translate(-50%,-50%);opacity:.14;pointer-events:none;z-index:0;}
  .nav-2{position:relative;z-index:1;font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:34px;color:var(--cream);text-decoration:none;letter-spacing:.06em;}
  .nav-3{position:relative;z-index:1;margin-top:10px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#000;padding:8px 26px 12px;border-radius:999px;text-decoration:none;font-weight:700;font-size:15px;line-height:1;border:2px solid var(--ink);transition:background .25s ease,color .25s ease;}

  /* Hero */
  #hero{min-height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 20px 60px;}
  @media (max-width:600px){
    #hero{min-height:70vh;min-height:70dvh;}
  }
  .hero-1{position:absolute;inset:0;overflow:hidden;z-index:0;background:#000 url('../images/donryu-yokocho_01.webp') center/cover no-repeat;}
  .hero-2{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;opacity:0;transition:opacity .35s ease;}
  .hero-2.is-ready{opacity:1;}
  @media (prefers-reduced-motion:reduce){
    .hero-2{display:none;}
  }
  .hero-3{position:absolute;top:50%;left:50%;width:min(760px,92vw);height:min(760px,92vw);transform:translate(-50%,-58%);background:radial-gradient(closest-side,rgba(250,241,221,.55),rgba(250,241,221,0) 70%);filter:blur(6px);z-index:1;pointer-events:none;animation:logoGlow 4s ease-in-out infinite;}
  .hero-4{position:absolute;top:12%;left:6%;width:90px;height:90px;border-radius:50%;background:var(--gold);opacity:.85;animation:floaty 6s ease-in-out infinite;z-index:1;}
  .hero-5{position:absolute;bottom:16%;right:8%;width:60px;height:60px;border-radius:50%;background:var(--cream);opacity:.7;animation:floaty2 5s ease-in-out infinite;z-index:1;}
  .hero-6{position:absolute;top:22%;right:14%;width:36px;height:36px;transform:rotate(45deg);background:var(--navy);opacity:.75;animation:floaty 7s ease-in-out infinite;z-index:1;}
  .hero-7{position:absolute;bottom:10%;left:12%;width:44px;height:44px;border-radius:50%;border:6px solid var(--cream);opacity:.8;animation:floaty2 6.5s ease-in-out infinite;z-index:1;}
  .hero-8{position:absolute;top:8%;right:20%;width:22px;height:22px;border-radius:50%;background:var(--cream);opacity:.6;animation:floaty2 5.5s ease-in-out infinite;z-index:1;}
  .hero-9{position:absolute;bottom:26%;left:6%;width:26px;height:26px;transform:rotate(45deg);background:var(--gold);opacity:.7;animation:floaty2 7.5s ease-in-out infinite;z-index:1;}
  .hero-10{position:absolute;top:40%;left:3%;width:16px;height:16px;border-radius:50%;background:var(--navy);opacity:.7;animation:floaty 5s ease-in-out infinite;z-index:1;}
  .hero-11{position:absolute;top:14%;left:22%;width:30px;height:30px;border-radius:50%;border:4px solid var(--gold);opacity:.75;animation:floaty 8s ease-in-out infinite;z-index:1;}
  .hero-12{position:absolute;bottom:6%;right:22%;width:20px;height:20px;transform:rotate(45deg);background:var(--cream);opacity:.6;animation:floaty 6s ease-in-out infinite;z-index:1;}
  .hero-13{position:absolute;top:32%;right:6%;width:34px;height:34px;border-radius:50%;border:5px solid var(--navy);opacity:.65;animation:floaty2 6.8s ease-in-out infinite;z-index:1;}
  .hero-14{position:absolute;bottom:34%;right:32%;width:14px;height:14px;border-radius:50%;background:var(--gold);opacity:.7;animation:floaty 5.4s ease-in-out infinite;z-index:1;}
  .hero-15{position:absolute;top:60%;left:24%;width:18px;height:18px;transform:rotate(45deg);background:var(--navy);opacity:.6;animation:floaty2 7.2s ease-in-out infinite;z-index:1;}
  .hero-16{position:absolute;bottom:16%;left:34%;width:24px;height:24px;border-radius:50%;border:4px solid var(--cream);opacity:.6;animation:floaty 6.2s ease-in-out infinite;z-index:1;}
  .hero-17{position:absolute;top:6%;left:44%;width:12px;height:12px;border-radius:50%;background:var(--cream);opacity:.55;animation:floaty2 5.8s ease-in-out infinite;z-index:1;}
  .hero-18{position:absolute;top:48%;right:14%;width:20px;height:20px;border-radius:50%;background:var(--red-dark);opacity:.55;animation:floaty 6.6s ease-in-out infinite;z-index:1;}
  .hero-19{position:absolute;bottom:44%;left:16%;width:16px;height:16px;transform:rotate(45deg);background:var(--gold);opacity:.65;animation:floaty2 5.2s ease-in-out infinite;z-index:1;}
  .hero-20{position:absolute;top:20%;right:36%;width:22px;height:22px;border-radius:50%;border:4px solid var(--navy);opacity:.6;animation:floaty 7.8s ease-in-out infinite;z-index:1;}
  .hero-21{position:absolute;bottom:20%;right:8%;width:16px;height:16px;border-radius:50%;background:var(--cream);opacity:.55;animation:floaty2 6.4s ease-in-out infinite;z-index:1;}
  .hero-22{width:min(680px,84vw);aspect-ratio:3/1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35)) drop-shadow(0 0 34px rgba(250,241,221,.55));animation:popIn .8s ease-out;position:relative;z-index:2;margin-top:50px;}
  .hero-23{position:relative;z-index:2;margin:12px 0 6px;font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:clamp(22px,3.4vw,32px);color:var(--cream);font-weight:700;letter-spacing:.04em;text-shadow:0 2px 6px rgba(43,33,28,.7),0 0 20px rgba(43,33,28,.5);}
  .hero-24{position:relative;z-index:2;margin:0;font-size:16px;color:var(--cream);opacity:.95;text-shadow:0 2px 6px rgba(43,33,28,.7),0 0 16px rgba(43,33,28,.5);}
  .hero-25{position:relative;z-index:2;margin-top:56px;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--cream);text-decoration:none;cursor:pointer;}
  .hero-26{position:relative;width:2px;height:40px;background:rgba(250,241,221,.3);overflow:hidden;}
  .hero-27{position:absolute;top:0;left:0;width:2px;height:14px;background:var(--cream);animation:scrollLine 1.8s ease-in-out infinite;}
  .hero-28{font-size:11px;letter-spacing:.15em;}

  .sp-break{display:none;}
  @media (max-width:600px){
    .sp-break{display:inline;}
  }

  /* About */
  #about{padding:100px 24px 0;background:var(--cream);position:relative;overflow:hidden;}
  .about-1{position:absolute;top:6%;left:10%;width:65%;max-width:820px;aspect-ratio:16/9;opacity:.16;pointer-events:none;z-index:0;}
  .about-2{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:60px;align-items:center;position:relative;z-index:1;}
  .about-3{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
  .section-tag{display:inline-block;font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;color:var(--red);font-size:15px;letter-spacing:.1em;border-bottom:3px solid var(--gold);padding-bottom:4px;}
  .about-5{font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:clamp(24px,3vw,34px);margin:8px 0 20px;line-height:1.25;color:var(--red);}
  .about-6{font-size:16px;line-height:1.95;color:var(--ink);opacity:.85;margin:0 0 14px;}
  .about-7{font-size:16px;line-height:1.95;color:var(--ink);opacity:.85;margin:0;}
  .about-8{position:relative;opacity:0;transform:translateY(24px);transition:opacity .7s ease .1s,transform .7s ease .1s;}
  .about-9{width:100%;aspect-ratio:4/3;display:block;object-fit:cover;border:2px solid var(--ink);border-radius:20px;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.15);transition:transform .3s ease,box-shadow .3s ease;}
  .about-10{max-width:1080px;margin:96px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:60px;align-items:center;position:relative;z-index:1;}
  @media (max-width:600px){
    .about-11{order:2;}
    .about-16{order:1;}
  }
  .about-11{position:relative;opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
  .about-12{all:unset;cursor:pointer;display:block;position:relative;width:100%;border:2px solid var(--ink);border-radius:20px;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.15);transition:transform .3s ease,box-shadow .3s ease;}
  .about-13{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
  .about-14{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(43,33,28,.55);border:2px solid var(--cream);display:flex;align-items:center;justify-content:center;}
  .about-15{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:18px solid var(--cream);margin-left:4px;}
  .about-16{opacity:0;transform:translateY(24px);transition:opacity .7s ease .1s,transform .7s ease .1s;}
  .about-17{font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:clamp(24px,3vw,34px);margin:0 0 20px;line-height:1.25;color:var(--red);}
  .about-18{margin:64px calc(50% - 50vw) 0;width:100vw;overflow:hidden;position:relative;z-index:1;}
  .about-19{display:flex;gap:0;width:max-content;animation:marquee 168s linear infinite;}

  /* About: history timeline */
  .history-1{max-width:900px;margin:96px auto 0;padding:0 24px;position:relative;z-index:1;opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
  .history-2{list-style:none;margin:0;padding:0;border-left:2px solid var(--gold);}
  .history-3{position:relative;padding:0 0 40px 32px;}
  .history-3:last-child{padding-bottom:0;}
  .history-3::before{content:'';position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--red);border:2px solid var(--cream);}
  .history-4{font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;color:var(--red);font-size:18px;font-weight:700;margin:0 0 6px;}
  .history-5{font-size:15px;line-height:1.9;color:var(--ink);opacity:.85;margin:0;}

  /* Shops */
  #shops{padding:100px 24px;background:#fff;}
  .shops-1{max-width:1080px;margin:0 auto;}
  .shops-2{text-align:center;margin-bottom:56px;}
  .shops-3{font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:clamp(28px,3.4vw,40px);margin:8px 0 10px;color:var(--red);}
  .shops-4{font-size:15px;opacity:.75;margin:0;}
  .shops-5{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;}
  #news .shops-5{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
  .shops-6{display:block;opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease,box-shadow .3s ease;background:var(--cream);border:2px solid var(--ink);border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:6px 6px 0 var(--ink);text-decoration:none;color:inherit;}
  .shops-6:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:6px 6px 0 var(--ink),0 16px 26px rgba(0,0,0,.18);}
  .shops-7{position:relative;}
  .shops-8{width:100%;height:auto;aspect-ratio:4/3;display:block;object-fit:cover;}
  .shops-9{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;line-height:1;background:var(--red);color:#fff;font-size:12px;font-weight:700;padding:4px 12px 6px;border-radius:999px;border:2px solid var(--ink);}
  .shops-10{padding:16px 16px 20px;}
  .shops-11{margin:0;font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:19px;}
  .shops-12{margin-top:56px;}
  .shops-13{text-align:center;font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:clamp(28px,3.4vw,40px);color:var(--red);opacity:.85;margin:0 0 16px;}
  .shops-14{width:100%;max-width:1080px;margin:0 auto;border:2px solid var(--ink);border-radius:20px;overflow:hidden;}
  .shops-15{width:100%;aspect-ratio:3/2;display:block;object-fit:contain;}

  /* News */
  #news{padding:100px 24px;background:var(--cream) url('../images/news_back.webp') center/cover no-repeat;}
  .news-1{max-width:760px;margin:0 auto;}
  .news-2{text-align:center;margin-bottom:20px;}
  .news-3{display:flex;flex-direction:column;gap:0;}
  .news-4{display:block;opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease,box-shadow .3s ease;background:var(--cream-deep);border:2px solid var(--ink);border-radius:16px;overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;}
  .news-4:hover{transform:translateY(-4px);box-shadow:0 16px 26px rgba(0,0,0,.18);}
  .news-5{width:100%;height:auto;aspect-ratio:16/9;display:block;object-fit:cover;}
  .news-6{padding:22px 20px;}
  .news-7{margin:0 0 8px;font-size:12.5px;color:var(--red);font-weight:700;letter-spacing:.04em;}
  .news-8{margin:0 0 8px;font-size:16.5px;}
  .news-9{margin:0;font-size:13.5px;opacity:.75;line-height:1.7;}

  /* Access */
  #access{padding:100px 24px;background:var(--navy);color:var(--cream);}
  .access-1{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:50px;align-items:center;}
  .access-2{position:relative;border-radius:18px;overflow:hidden;border:3px solid var(--cream);aspect-ratio:4/3;}
  .access-3{width:100%;height:100%;border:0;display:block;}
  .access-4{display:inline-block;font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;color:var(--gold);font-size:15px;letter-spacing:.1em;border-bottom:3px solid var(--gold);padding-bottom:4px;}
  .access-5{font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:clamp(28px,3.4vw,36px);margin:8px 0 22px;}
  .access-6{margin:0 0 10px;font-size:15px;line-height:1.9;opacity:.92;}
  .access-7{margin:0 0 22px;font-size:15px;line-height:1.9;opacity:.92;}

  /* Tenant */
  #tenant{padding:90px 24px;background:var(--cream);}
  .tenant-1{max-width:760px;margin:0 auto;text-align:center;}
  .tenant-2{display:inline-block;font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;color:var(--red);font-size:15px;letter-spacing:.1em;border-bottom:3px solid var(--gold);padding-bottom:4px;margin-bottom:18px;}
  .tenant-3{font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:clamp(26px,3.2vw,34px);margin:8px 0 26px;color:var(--red);}
  .tenant-4{display:block;border-radius:18px;overflow:hidden;border:3px solid var(--ink);}
  .tenant-5{width:100%;aspect-ratio:4/1;display:block;}
  .tenant-notice{background:#fff;border:2px solid var(--ink);border-radius:18px;padding:32px 28px;font-size:15px;line-height:1.9;color:var(--ink);opacity:.85;}
  @media (max-width:600px){
    .tenant-notice{font-size:13px;}
  }

  /* Silhouette divider */
  .silhouette-1{background:var(--cream);line-height:0;}
  .silhouette-2{width:100%;aspect-ratio:1920/175.69;background:var(--red-dark);-webkit-mask:url('../images/silhouette.svg') center/100% 100% no-repeat;mask:url('../images/silhouette.svg') center/100% 100% no-repeat;}

  /* Footer */
  .footer-1{background:var(--red-dark);color:var(--cream);padding:56px 24px 30px;}
  .footer-2{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center;}
  .footer-3{height:64px;aspect-ratio:3/1;}
  .footer-4{display:flex;flex-direction:column;gap:4px;align-items:center;}
  .footer-5{margin:0;font-size:12px;opacity:.65;}

  /* Shop / news detail text styles (reused by /stores/{slug}/ and /blog/{slug}/ pages) */
  .modal-backdrop{position:absolute;inset:0;}
  .modal-shop-5{padding:22px 22px 28px;}
  .modal-shop-6{display:inline-flex;align-items:center;line-height:1;background:var(--red);color:#fff;font-size:12px;font-weight:700;padding:4px 12px 6px;border-radius:999px;border:2px solid var(--ink);margin-bottom:10px;}
  .modal-shop-7{margin:0 0 16px;font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:22px;}
  .modal-shop-8{margin:0 0 6px;font-size:17px;color:var(--red);font-weight:700;line-height:1.5;}
  .modal-shop-9{margin:0 0 14px;font-size:14px;line-height:1.8;opacity:.85;white-space:pre-line;}
  .modal-shop-10{margin:0 0 18px;font-size:12px;opacity:.6;}
  .modal-shop-11{display:flex;flex-wrap:wrap;gap:10px;}

  /* About video modal */
  .modal-video-1{position:fixed;inset:0;z-index:85;background:rgba(43,33,28,.85);display:flex;align-items:center;justify-content:center;padding:24px;animation:modalFade .25s ease-out;}
  .modal-video-2{position:relative;width:min(900px,92vw);animation:modalPop .3s cubic-bezier(.2,.8,.3,1.1);}
  .modal-video-3{position:absolute;top:-44px;right:0;width:36px;height:36px;border-radius:50%;background:var(--red);border:2px solid var(--cream);color:var(--cream);cursor:pointer;font-size:18px;line-height:1;}
  .modal-video-4{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;}
  .modal-video-5{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#000;}

  /* Back to top */
  .backtotop-1{width:13px;height:13px;border-left:4px solid var(--cream);border-top:4px solid var(--cream);transform:rotate(45deg);margin-top:5px;}

  /* Modal link button */
  .modal-link-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 20px 11px;border-radius:999px;text-decoration:none;font-weight:700;font-size:13px;line-height:1;border:2px solid var(--ink);transition:background .25s ease,color .25s ease;}
  .modal-link-btn--default{background:var(--red);color:var(--cream);}
  .modal-link-btn--brand{background:#fff;color:#000;}

  /* ---- Site chrome (shared header/nav/footer/back-to-top) for static sub-pages ---- */
  .chrome-nav{position:fixed;inset:0;z-index:65;background:var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;padding-top:24px;padding-bottom:24px;overflow-y:auto;transition:transform .45s cubic-bezier(.65,0,.35,1);transform:translateY(-100%);pointer-events:none;}
  .chrome-nav.is-open{transform:translateY(0);pointer-events:auto;}
  .menubtn-6 span{position:absolute;width:18px;height:3px;background:var(--cream);border-radius:2px;transition:transform .3s,opacity .3s;}
  .menubtn-6 span:nth-child(1){transform:translateY(-7px);}
  .menubtn-6 span:nth-child(2){transform:translateY(0);}
  .menubtn-6 span:nth-child(3){transform:translateY(7px);}
  .menubtn-1.is-open .menubtn-6 span:nth-child(1){transform:rotate(45deg);}
  .menubtn-1.is-open .menubtn-6 span:nth-child(2){opacity:0;}
  .menubtn-1.is-open .menubtn-6 span:nth-child(3){transform:rotate(-45deg);}
  body.page-inner #header-logo{opacity:1;}
  .backtotop-btn{position:fixed;bottom:26px;right:26px;z-index:40;width:60px;height:60px;border-radius:50%;background:var(--red);border:3px solid var(--ink);color:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .3s,transform .3s;opacity:0;transform:translateY(12px);text-decoration:none;}
  .backtotop-btn.is-visible{opacity:1;transform:translateY(0);}

  /* ---- Interior page hero band + content containers ---- */
  .page-hero-1{background:linear-gradient(160deg,var(--red-dark),var(--red));padding:150px 24px 64px;text-align:center;color:var(--cream);}
  .page-hero-2{display:inline-block;font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;color:var(--gold);font-size:15px;letter-spacing:.1em;border-bottom:3px solid var(--gold);padding-bottom:4px;}
  .page-hero-3{font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:clamp(28px,4vw,44px);margin:16px 0 0;}
  .page-hero-4{margin:14px 0 0;font-size:15px;opacity:.85;}
  .store-detail-1{max-width:720px;margin:0 auto;padding:130px 24px 100px;}
  .store-detail-photo{width:100%;aspect-ratio:4/3;display:block;object-fit:cover;border-radius:20px;border:2px solid var(--ink);}
  .article-1{max-width:680px;margin:0 auto;padding:56px 24px 100px;}
  .article-photo{width:100%;height:auto;aspect-ratio:3/2;display:block;object-fit:cover;border-radius:20px;border:2px solid var(--ink);margin-bottom:28px;}
  .section-more{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:13px 30px;border-radius:999px;background:var(--red);color:var(--cream);font-size:14px;font-weight:700;text-decoration:none;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);transition:background .25s ease,transform .25s ease,box-shadow .25s ease;}
  .section-more:hover{background:var(--ink);transform:translateY(-2px);box-shadow:5px 6px 0 var(--ink);}
  .section-more-wrap{text-align:center;}
  #aboutVideoModal{display:none;}
  #aboutVideoModal.is-open{display:flex;}

  /* Breadcrumb navigation */
  .breadcrumb-1{max-width:1080px;margin:0 auto;padding:20px 24px 20px;font-size:13px;color:var(--ink);opacity:.75;}
  .breadcrumb-1 a{color:var(--red);text-decoration:none;}
  .breadcrumb-1 a:hover{text-decoration:underline;}

  /* Store detail: 2-photo grid + click-to-enlarge lightbox */
  .store-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;}
  .store-photo-thumb{all:unset;display:block;cursor:pointer;border-radius:14px;overflow:hidden;border:2px solid var(--ink);}
  .store-photo-thumb img{width:100%;aspect-ratio:1/1;display:block;object-fit:cover;transition:transform .3s ease;}
  .store-photo-thumb:hover img{transform:scale(1.06);}
  #imageLightbox{display:none;}
  #imageLightbox.is-open{display:flex;}
  .lightbox-img{display:block;width:100%;max-height:80vh;object-fit:contain;border-radius:14px;border:3px solid var(--cream);background:#000;}

  /* WordPress theme additions -------------------------------------------- */

  /* Initial-visit loading screen (front page only). Element itself is only
     printed by front-page.php, and site-chrome.js's initLoader() toggles it. */
  #siteLoader{
    position:fixed;inset:0;z-index:999;
    background:linear-gradient(120deg,var(--red-dark),var(--red),var(--gold),var(--navy),var(--red-dark));
    background-size:400% 400%;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    opacity:1;transition:opacity .6s ease;
    animation:loaderShift 4s ease-in-out infinite;
    pointer-events:none;
  }
  #siteLoader.is-hidden{opacity:0;}

  /* Breadcrumb spacing (interior pages) is already covered by .breadcrumb-1;
     nothing else needed here — WP body classes (e.g. .single-store) reuse the
     same .page-inner / .page-hero-* / .modal-shop-* selectors as the static site. */

  /* the_content() renders real <p> tags (via wpautop) instead of the static
     site's raw text + white-space:pre-line, so give paragraphs their own spacing. */
  .modal-shop-9 p{margin:0 0 14px;}
  .modal-shop-9 p:last-child{margin-bottom:0;}

  /* News teaser cards on the front page can now show more than one post. */
  .news-4 + .news-4{margin-top:16px;}

  /* the_posts_pagination() on the news archive (home.php) */
  .pagination{max-width:1080px;margin:0 auto;padding:0 24px 60px;display:flex;justify-content:center;gap:12px;}
  .pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:2px solid var(--ink);border-radius:999px;text-decoration:none;color:var(--ink);font-weight:700;font-size:14px;}
  .pagination .page-numbers.current{background:var(--red);color:var(--cream);}

  /* 404.php (full-bleed minimal page, no header/nav — matches the original static 404.html).
     html,body{height:100%} is set inline in 404.php itself so it never affects other pages. */
  .notfound-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;background:var(--red-dark);color:var(--cream);font-family:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',YuGothic,Meiryo,sans-serif;}
  .notfound-logo{width:min(220px,55vw);margin-bottom:32px;}
  .notfound-code{font-family:'Kaisei Decol','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-size:clamp(64px,14vw,120px);line-height:1;margin:0;color:var(--gold);letter-spacing:.04em;}
  .notfound-title{font-size:clamp(18px,3.6vw,24px);margin:18px 0 10px;font-weight:700;}
  .notfound-text{font-size:15px;line-height:1.8;opacity:.85;margin:0 0 32px;}
  .notfound-home{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border:2px solid var(--cream);border-radius:999px;color:var(--cream);text-decoration:none;font-weight:700;letter-spacing:.04em;transition:background .25s ease,color .25s ease;}
  .notfound-home:hover{background:var(--cream);color:var(--red-dark);}
