/* Responsive navigation: a photographic regional menu and a compact area selector. */
.footer-mobile-index{display:none}
@media(max-width:900px){
  .site-header{--menu-top:76px}
  body.nav-open,body.drawer-open{overflow:hidden}
  body.nav-open .site-header{z-index:90;backdrop-filter:none}
  .menu{flex:none}
  .menu summary{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:50px;height:50px;padding:0;border:1px solid color-mix(in srgb,var(--gold) 60%,transparent);border-radius:50%;background:#ffffff08;color:#f5e9ca;list-style:none;cursor:pointer;transition:background .35s,border-radius .45s,transform .35s}
  .menu summary:hover,.menu[open] summary{background:var(--gold);color:var(--ink);border-radius:12px;transform:rotate(0deg)}
  .menu summary:after,.menu[open] summary:after{display:none!important}
  .menu-icon{display:flex;flex-direction:column;gap:4px;width:19px;height:17px;justify-content:center}
  .menu-icon i{display:block;height:1px;width:100%;background:currentColor;transform-origin:center;transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .25s,width .4s}
  .menu-icon i:nth-child(2){width:70%;margin-left:auto}
  .menu[open] .menu-icon i:first-child{transform:translateY(5px) rotate(45deg)}
  .menu[open] .menu-icon i:nth-child(2){opacity:0;transform:scaleX(0)}
  .menu[open] .menu-icon i:last-child{transform:translateY(-5px) rotate(-45deg)}
  .menu-label{font:700 7px/1 Georgia,serif;letter-spacing:.09em}
  .menu[open] .menu-label{font-size:0}
  .menu[open] .menu-label:after{content:"CLOSE";font-size:7px}
  .menu .menu-panel{position:fixed;inset:var(--menu-top) 0 0!important;z-index:91;display:block;width:100%;height:auto;max-height:none;padding:0!important;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:var(--menu-surface,var(--ink));color:var(--menu-text,#f8f0dd);box-shadow:0 24px 55px #0007;backdrop-filter:none;animation:nav-panel-enter .28s cubic-bezier(.22,.61,.36,1) both}
  .menu .menu-panel a{border:0;background:none;color:inherit;margin:0;text-align:left}
  .menu-panel__visual{position:relative;height:148px;overflow:hidden;background:var(--ink);isolation:isolate;animation:nav-visual-enter .85s cubic-bezier(.22,.61,.36,1) both}
  .menu-panel__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061b1f94,transparent 80%),linear-gradient(0deg,#061b1f96,transparent 65%)}
  .menu-panel__visual img{width:100%;height:100%;object-fit:cover;object-position:68% center;animation:nav-image-enter 1.2s cubic-bezier(.2,.7,.2,1) both}
  .menu-panel__visual-name{position:absolute;z-index:1;left:19px;bottom:-8px;color:#fff6;letter-spacing:.06em;font:400 clamp(56px,19vw,105px)/1 Georgia,serif;white-space:nowrap}
  .menu-panel__image-note{position:absolute;z-index:1;right:13px;top:12px;color:#fff9;font-size:8px;padding:2px 6px;background:#001c20a0}
  .menu-panel__body{padding:24px 24px calc(35px + env(safe-area-inset-bottom));max-width:700px;margin:auto}
  .menu-panel__eyebrow{font:10px Georgia,serif;letter-spacing:.19em;color:var(--gold)}
  .menu-panel__intro{font:400 21px/1.7 var(--serif);margin:8px 0 14px}
  .menu-panel__links{border-top:1px solid var(--menu-line,#d8bd7959)}
  .menu .menu-panel .menu-panel__link{display:grid;grid-template-columns:32px 1fr 20px;gap:12px;align-items:center;padding:10px 3px;min-height:66px;border-bottom:1px solid var(--menu-line,#d8bd7959);background:transparent;color:inherit;margin:0;text-align:left;animation:nav-item-enter .65s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(.10s + var(--item) * .055s)}
  .menu-panel__number{font:12px Georgia,serif;color:var(--gold)}
  .menu-panel__title{font:400 18px/1.15 var(--serif)}
  .menu-panel__title small{display:block;margin-top:3px;font:8px/1 Georgia,serif;letter-spacing:.1em;opacity:.67}
  .menu-panel__arrow{font:22px Georgia,serif;color:var(--gold);transition:transform .25s}
  .menu-panel__link:hover .menu-panel__arrow,.menu-panel__link:focus-visible .menu-panel__arrow{transform:translate(4px,-4px)}
  .menu-panel__extras{display:flex;gap:14px;justify-content:space-between;margin:15px 0;color:var(--menu-muted,#e2dfd1)}
  .menu .menu-panel .menu-panel__extras a{padding:8px 0;font-size:10px;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px;background:transparent;color:inherit;margin:0;text-align:left}
  .menu .menu-panel .menu-panel__consult{display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:13px 19px;background:linear-gradient(105deg,#ecdba9,#c5a160 75%,#ead9ae);color:#122829;font-size:13px;font-weight:700;box-shadow:0 10px 26px #0002;position:relative;overflow:hidden}
  .menu-panel__consult:after{content:"";position:absolute;inset:0 auto 0 -45%;width:33%;background:#fff7;transform:skewX(-25deg);animation:nav-shimmer 5.4s ease-in-out infinite}
  .menu-panel__consult svg{width:18px;position:relative;z-index:2}
  .menu-panel__consult:focus-visible{outline-color:var(--gold)}
  .footer-mobile-index{display:block;margin:27px 0 24px;border-top:1px solid #e2c88755;padding-top:26px}
  .footer-mobile-index__eyebrow{font:10px Georgia,serif;letter-spacing:.17em;color:var(--gold)}
  .footer-mobile-index__title{font:400 22px/1.65 var(--serif);color:#f7efdd;margin:10px 0 22px}
  .footer-toggle{border-top:1px solid #ead5a63e}
  .footer-toggle:last-child{border-bottom:1px solid #ead5a63e}
  .footer-toggle summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:12px 3px;cursor:pointer;color:#f7efdd;font:400 18px/1.4 var(--serif)}
  .footer-toggle summary::-webkit-details-marker,.mobile-region-drawer summary::-webkit-details-marker{display:none}
  .footer-toggle summary small{display:block;margin-bottom:4px;font:9px Georgia,serif;letter-spacing:.16em;color:var(--gold)}
  .footer-toggle__mark{position:relative;display:block;width:32px;height:32px;border:1px solid #c9ad7478;border-radius:50%;transition:background .35s,transform .45s}
  .footer-toggle__mark:before,.footer-toggle__mark:after{content:"";position:absolute;width:12px;height:1px;top:15px;left:9px;background:var(--gold);transition:transform .45s}
  .footer-toggle__mark:after{transform:rotate(90deg)}
  .footer-toggle[open] .footer-toggle__mark{background:#c9a86a20;transform:rotate(90deg)}
  .footer-toggle[open] .footer-toggle__mark:after{transform:rotate(0deg)}
  .footer-toggle__panel{padding:0 0 24px;animation:nav-item-enter .55s cubic-bezier(.22,.61,.36,1) both}
  .region-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .region-tiles a{display:grid;grid-template-columns:20px 1fr 13px;align-items:center;gap:7px;min-width:0;min-height:58px;padding:8px;border:1px solid #d9bd834b;background:#ffffff09;color:#f6efdd;transition:background .25s,transform .25s,border-color .25s;animation:nav-item-enter .45s both;animation-delay:calc(var(--tile) * .02s)}
  .region-tiles a:hover,.region-tiles a:focus-visible{background:#ffffff1d;transform:translateY(-2px);border-color:var(--gold)}
  .region-tiles a[aria-current]{border-color:var(--gold);background:#c9a86a29}
  .region-tile__number{align-self:start;font:9px Georgia,serif;color:var(--gold);padding-top:4px}
  .region-tile__name{min-width:0;font:400 14px/1.35 var(--serif);white-space:nowrap}
  .region-tile__name small{display:block;margin-top:3px;color:#d3c9af;font:8px/1 Georgia,serif;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis}
  .region-tiles a>span:last-child{color:var(--gold);font-size:12px}
  .footer-guide-links{display:grid;gap:0}
  .footer-guide-links a{display:flex;align-items:center;min-height:49px;padding:11px 5px;color:#f5ebda;border-top:1px solid #ead5a627;font-size:12px}
  .footer-nav,.region-nav{display:none}
}
@media(max-width:680px){
  .site-header{--menu-top:68px}
  .menu summary{width:43px;height:43px;border-radius:11px}
  .menu-panel__visual{height:138px}
  .menu-panel__body{padding:21px 21px calc(28px + env(safe-area-inset-bottom))}
  .menu-panel__intro{font-size:20px}
  .menu .menu-panel .menu-panel__link{min-height:62px;padding:8px 3px}
  .menu-panel__title{font-size:17px}
  .menu-panel__extras{margin:13px 0}
  .footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))}
  .mobile-contact{isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) 70px}
  .mobile-contact>a{gap:6px;font-size:10px;white-space:nowrap;min-width:0;min-height:62px}
  .mobile-contact>a:first-child{border-right:1px solid #fff3}
  .mobile-contact>a:nth-child(2){background:linear-gradient(110deg,#ead7a5,#bf9b59);color:#0a2726}
  .mobile-contact>a svg{width:17px;height:17px;flex:none}
  .mobile-region-drawer{position:static;min-width:0;background:var(--ink);border-left:1px solid #e0c88e55}
  .mobile-region-drawer summary{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:62px;color:#f8e8bb;cursor:pointer;list-style:none;font:10px/1.3 var(--sans)}
  .mobile-region-drawer[open] summary{background:var(--gold);color:var(--ink)}
  .mobile-region-drawer__icon{position:relative;display:grid;grid-template-columns:repeat(2,5px);gap:3px;transform:rotate(-12deg);transition:transform .5s}
  .mobile-region-drawer__icon i{display:block;width:5px;height:5px;border:1px solid currentColor;border-radius:50%;transition:background .35s,transform .45s}
  .mobile-region-drawer[open] .mobile-region-drawer__icon{transform:rotate(45deg)}
  .mobile-region-drawer[open] .mobile-region-drawer__icon i{background:currentColor}
  body.drawer-open:after{content:"";position:fixed;inset:0;z-index:54;background:#02191bcc;animation:nav-backdrop-enter .3s both}
  .mobile-region-drawer__panel{position:absolute;left:0;right:0;bottom:100%;height:calc(100dvh - var(--contact-height,63px));max-height:none;overflow:auto;overscroll-behavior:contain;padding:22px 18px 25px;background:var(--ink);color:#f8f0df;box-shadow:0 -22px 42px #0006;border-top:2px solid var(--gold);animation:nav-sheet-enter .28s cubic-bezier(.22,.61,.36,1) both}
  .mobile-region-drawer__eyebrow{font:10px Georgia,serif;letter-spacing:.16em;color:var(--gold)}
  .mobile-region-drawer__title{font:400 23px/1.55 var(--serif);margin:10px 0 21px}
  .mobile-contact .mobile-region-drawer__main{position:relative;display:block;min-height:128px;margin:0 0 19px;padding:16px 20px;border:1px solid #f5e5b7;background:linear-gradient(120deg,#f6e8be 0%,#d8b36d 58%,#ba8f50 100%);color:#173033;box-shadow:0 12px 27px #0007,inset 0 0 0 4px #fff5d16b;overflow:hidden;text-align:left}
  .mobile-region-drawer__main::after{content:"";position:absolute;inset:-50% auto -50% -40%;width:35%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,#fff8d469,transparent);animation:nav-shimmer 5.4s ease-in-out infinite;pointer-events:none}
  .mobile-region-drawer__main-kicker,.mobile-region-drawer__main-url{display:block;font:700 10px/1.3 var(--sans);letter-spacing:.12em}
  .mobile-region-drawer__main strong{display:block;margin:6px 0;font:600 23px/1.25 var(--serif);letter-spacing:.03em}
  .mobile-region-drawer__main-arrow{position:absolute;right:17px;top:calc(50% - 20px);display:grid;place-items:center;width:40px;height:40px;border:1px solid #1730338c;border-radius:50%;font:22px/1 var(--sans);transition:transform .3s ease,background .3s ease}
  .mobile-region-drawer__main:hover .mobile-region-drawer__main-arrow{transform:translate(3px,-3px);background:#fff8de}
  .mobile-region-drawer__section-label{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px;color:#f6efdd;font:600 13px/1.4 var(--sans);letter-spacing:.05em}
  .mobile-region-drawer__section-label small{color:var(--gold);font-size:10px;letter-spacing:.12em}
  .mobile-region-drawer__panel .region-tiles a{min-height:60px}
  .mobile-contact .mobile-region-drawer__panel .region-tiles a{background:#ffffff09;color:#f6efdd;margin:0;padding:8px;text-align:left}
  .mobile-contact .mobile-region-drawer__panel .region-tiles a[aria-current]{background:#c9a86a29}
}
@media(max-width:359px){
  .mobile-contact{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 58px}
  .mobile-contact>a{font-size:9px;gap:4px}
  .mobile-contact>a svg{width:15px;height:15px}
  .region-tile__name{font-size:12px}
  .mobile-region-drawer__panel{padding-inline:12px}
  .menu-panel__body{padding-inline:16px}
}
/* Each locality has its own opening photograph, shape, color and direction. */
.region-nishiku{--nav-from:translateY(24px)}
.region-nishiku .menu-panel__visual{height:172px;clip-path:polygon(0 0,100% 0,100% 80%,60% 100%,0 89%)}
.region-nishiku .footer-mobile-index{border-top:1px solid var(--gold)}
.region-sawaraku{--nav-from:translateX(-24px)}
.region-sawaraku .menu-panel{--menu-surface:#e9e7d9;--menu-text:#123b33;--menu-muted:#3b5145;--menu-line:#8b9e8555}
.region-sawaraku .menu-panel__visual{border-radius:105px 0 0 0;margin:8px 0 0 27px}
.region-sawaraku .footer-toggle summary{border-left:2px solid var(--gold);padding-left:12px}
.region-minamiku{--nav-from:translateX(27px)}
.region-minamiku .menu-panel__visual{clip-path:polygon(0 0,100% 0,100% 100%,8% 100%,0 77%)}
.region-minamiku .footer-mobile-index{border-top:2px solid var(--gold);transform:skewY(-1deg)}
.region-Jonanku{--nav-from:translateY(19px) rotate(-2deg)}
.region-Jonanku .menu-panel{--menu-surface:#f1e9da;--menu-text:#493c31;--menu-muted:#69584b;--menu-line:#aa95745a}
.region-Jonanku .menu-panel__visual{width:78%;margin-left:auto;border-radius:120px 120px 0 0}
.region-Jonanku .footer-toggle{border-radius:16px 16px 0 0}
.region-Higashiku{--nav-from:translateY(-22px)}
.region-Higashiku .menu-panel__visual{height:116px;clip-path:polygon(0 0,100% 0,100% 100%,0 82%)}
.region-Higashiku .footer-mobile-index{border-top:3px double var(--gold)}
.region-chuuouku{--nav-from:translateX(24px)}
.region-chuuouku .menu-panel{--menu-surface:#f1eee7;--menu-text:#253333;--menu-muted:#53625f;--menu-line:#9aa5a05c}
.region-chuuouku .menu-panel__visual{width:78%;height:152px;margin:12px auto 0;clip-path:polygon(0 0,100% 0,100% 85%,82% 100%,0 100%)}
.region-chuuouku .footer-toggle summary{border-right:2px solid var(--gold);padding-right:11px}
.region-itoshima-shi{--nav-from:translateY(22px)}
.region-itoshima-shi .menu-panel{--menu-surface:#ede9dc;--menu-text:#234d3a;--menu-muted:#526d50;--menu-line:#8ba4795e}
.region-itoshima-shi .menu-panel__visual{clip-path:polygon(0 14%,100% 0,100% 100%,0 89%)}
.region-itoshima-shi .footer-mobile-index{border-top:1px dashed var(--gold)}
.region-hakataku{--nav-from:translateX(-25px)}
.region-hakataku .menu-panel__visual{height:156px;margin:12px 14px 0;border:1px solid #dac18d8a;box-shadow:inset 0 0 0 8px #fff1}
.region-hakataku .footer-toggle{border-inline:1px solid #caa87855;padding-inline:10px}
.region-Kasuga-shi{--nav-from:translateY(20px) scale(.96)}
.region-Kasuga-shi .menu-panel{--menu-surface:#f6eee0;--menu-text:#584b3e;--menu-muted:#746a59;--menu-line:#b8a4835e}
.region-Kasuga-shi .menu-panel__visual{width:154px;height:154px;border-radius:50%;margin:9px auto 0;border:1px solid var(--gold)}
.region-Kasuga-shi .menu-panel__visual-name{left:17px;bottom:16px;font-size:28px}
@media(max-width:680px){
  .region-Kasuga-shi .menu-panel__visual{width:100%;height:156px;margin:0;border:0;border-radius:0}
  .region-Kasuga-shi .menu-panel__visual-name{left:19px;bottom:3px;font-size:clamp(45px,15vw,66px)}
  .region-Kasuga-shi .menu-panel__body{padding-top:18px}
}
.region-Kasuga-shi .footer-toggle__mark{border-radius:50%}
.region-nakagawa-cho{--nav-from:translateX(24px)}
.region-nakagawa-cho .menu-panel__visual{margin-left:14px;clip-path:polygon(0 0,100% 0,100% 100%,6% 100%)}
.region-nakagawa-cho .footer-mobile-index{border-top:4px solid #9c9c6c}
.region-Onojo-shi{--nav-from:translateX(-23px)}
.region-Onojo-shi .menu-panel{--menu-surface:#f2ebe2;--menu-text:#473139;--menu-muted:#67535a;--menu-line:#b89c8766}
.region-Onojo-shi .menu-panel__visual{width:60%;height:177px;border-radius:0 108px 0 0}
.region-Onojo-shi .menu-panel__visual-name{font-size:37px}
.region-Onojo-shi .footer-mobile-index{border-top:1px solid var(--gold);border-left:1px solid var(--gold);padding-left:12px}
.region-Tsukushino-shi{--nav-from:translateY(23px)}
.region-Tsukushino-shi .menu-panel{--menu-surface:#ecf0eb;--menu-text:#253d4b;--menu-muted:#536771;--menu-line:#879cab66}
.region-Tsukushino-shi .menu-panel__visual{width:86%;clip-path:polygon(0 0,92% 0,100% 78%,82% 100%,0 100%)}
.region-Tsukushino-shi .footer-toggle__mark{border-radius:5px}
.region-Dazaifu-shi{--nav-from:translateY(19px) scale(.95)}
.region-Dazaifu-shi .menu-panel__visual{width:80%;height:170px;border-radius:150px 150px 0 0;margin:8px auto 0}
.region-Dazaifu-shi .footer-mobile-index{border-top:1px solid var(--gold);border-bottom:1px solid #c9a86a33}
.region-Kasuya-gun{--nav-from:translateX(22px)}
.region-Kasuya-gun .menu-panel__visual{width:90%;clip-path:polygon(0 0,90% 0,100% 100%,0 100%)}
.region-Kasuya-gun .footer-toggle summary{padding-left:13px;border-left:1px dashed var(--gold)}
@keyframes nav-panel-enter{from{opacity:1;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes nav-visual-enter{from{opacity:.4;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes nav-image-enter{from{transform:scale(1.13)}to{transform:scale(1)}}
@keyframes nav-item-enter{from{opacity:0;transform:var(--nav-from,translateY(19px))}to{opacity:1;transform:none}}
@keyframes nav-sheet-enter{from{opacity:1;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes nav-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes nav-shimmer{0%,20%{transform:translateX(0) skewX(-25deg)}48%,100%{transform:translateX(480%) skewX(-25deg)}}
.motion-paused .menu-panel,.motion-paused .menu-panel *,.motion-paused .mobile-region-drawer__panel,.motion-paused .mobile-region-drawer__panel *,.motion-paused .footer-toggle__panel,.motion-paused .footer-toggle__panel *{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.menu-panel,.menu-panel *, .mobile-region-drawer__panel,.mobile-region-drawer__panel *, .footer-toggle__panel,.footer-toggle__panel *{animation:none!important;transition:none!important;transform:none!important}}
