/* Shared navigation and public-page design for both Grace Garden websites. */
:root{--gg-paper:#fffaf5;--gg-ink:#695246;--gg-muted:#836b5e;--gg-pink:#914941;--gg-line:#eadbd2;--gg-serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif}
.gg-header,.gg-menu,.gg-footer{box-sizing:border-box;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.7;color:var(--gg-ink)}
.gg-header *,.gg-menu *,.gg-footer *{box-sizing:border-box}
.gg-header [hidden],.gg-footer [hidden]{display:none!important}
.gg-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;height:88px;width:100%;padding:0 clamp(18px,4vw,58px);background:rgba(255,253,249,.97);border-bottom:1px solid var(--gg-line)}
.gg-brand{display:flex;align-items:center;max-width:calc(100% - 110px)}
.gg-brand img{display:block;width:240px;max-width:100%;height:auto}
.gg-menu-toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:8px 12px;border:0;background:transparent;color:var(--gg-ink);font:inherit;cursor:pointer}
.gg-menu-bars{display:block;position:relative;width:24px;height:16px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.gg-menu-bars::after{position:absolute;content:"";top:6px;left:0;right:0;border-top:1.5px solid currentColor}
.gg-menu{position:fixed;inset:0;width:min(1100px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:28px 34px 34px;border:1px solid var(--gg-line);border-radius:24px;background:var(--gg-paper);box-shadow:0 24px 80px #60463333;overflow:auto;overscroll-behavior:contain}
.gg-menu::backdrop{background:rgba(67,49,38,.4);backdrop-filter:blur(5px)}
.gg-menu-open{overflow:hidden}
.gg-menu-top{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--gg-line);padding-bottom:18px;margin-bottom:26px}
.gg-menu-top p{margin:0;font-family:var(--gg-serif);font-size:20px}
.gg-menu-close{display:flex;align-items:center;gap:12px;min-height:48px;border:0;background:transparent;color:var(--gg-ink);font:inherit;white-space:nowrap;cursor:pointer}
.gg-menu-close span{font-size:30px;line-height:1}
.gg-menu-layout{display:grid;grid-template-columns:220px 1fr;gap:34px}
.gg-menu-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 12px;background:#f9eee6;border-radius:18px}
.gg-menu-welcome p{margin:0 0 20px;font-family:var(--gg-serif);font-size:23px;line-height:1.8}
.gg-menu-welcome img{width:130px;height:auto;margin:auto}
.gg-menu a.gg-download{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin-top:24px;padding:10px 16px;border-radius:28px;background:var(--gg-pink);color:white;text-decoration:none;font-size:14px}
.gg-menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 30px}
.gg-menu-links section:last-child{grid-column:2;grid-row:1 / span 2}
.gg-menu-links h2{margin:0 0 10px;font:600 16px/1.7 var(--gg-serif);color:var(--gg-muted);padding-bottom:8px;border-bottom:1px solid var(--gg-line)}
.gg-menu-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:9px 0;font-size:15px;line-height:1.7;color:var(--gg-ink);text-decoration:none}
.gg-menu-links a span{color:#b38b78;font-size:14px;flex-shrink:0}
.gg-menu-links a[aria-current="page"]{color:var(--gg-pink);font-weight:700}
.gg-menu-links a{padding-inline:10px;margin-inline:-10px;border-radius:8px;transition:background-color .15s ease,color .15s ease}
.gg-menu-links a:hover{background:#f5e6dc;color:var(--gg-pink);text-decoration:none}
.gg-menu a.gg-download:hover{background:#773c35;text-decoration:none}
.gg-footer a:hover{text-decoration:underline;text-underline-offset:5px;color:var(--gg-pink)}
@media(prefers-reduced-motion:reduce){.gg-menu-links a{transition:none}}
.gg-header :focus-visible,.gg-menu :focus-visible,.gg-footer :focus-visible{outline:2px solid var(--gg-pink);outline-offset:4px;border-radius:3px}
.gg-footer{display:block;padding:20px 24px 22px;border-top:1px solid var(--gg-line);background:var(--gg-paper);text-align:center}
.gg-footer nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 24px}
.gg-footer a,.gg-footer button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:6px 0;border:0;background:transparent;color:var(--gg-ink);font:inherit;font-size:13px;text-decoration:none;cursor:pointer}
.gg-footer small{display:block;margin-top:6px;width:100%;font-size:11px;color:var(--gg-muted)}
.gg-page{margin:0;background:var(--gg-paper);color:var(--gg-ink);font:18px/1.9 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif;overflow-wrap:anywhere}
.gg-page *{box-sizing:border-box}
.gg-page a{color:var(--gg-pink);text-underline-offset:4px}
.gg-page-main{max-width:960px;margin:0 auto;padding:0 28px 64px}
.gg-page-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:48px 0 36px;border-bottom:1px solid var(--gg-line);margin-bottom:36px}
.gg-page-hero>div{flex:1}
.gg-page-hero h1{font-family:var(--gg-serif);font-size:clamp(27px,3.4vw,40px);font-weight:600;line-height:1.55;margin:12px 0 18px;letter-spacing:.04em}
.gg-page-hero p{white-space:pre-line;margin:0;line-height:1.9}
.gg-page-hero .gg-eyebrow{font-size:13px;letter-spacing:.14em;color:var(--gg-muted)}
.gg-page-hero>img{width:150px;height:160px;object-fit:contain;flex-shrink:0}
.gg-article{max-width:760px;margin:auto}
.gg-article section{margin:32px 0}
.gg-article h2{font-family:var(--gg-serif);font-size:22px;font-weight:600;line-height:1.6;margin:0 0 14px}
.gg-prose{white-space:pre-line;margin:12px 0}
.gg-notice{background:#f8eee6;border-radius:18px;padding:24px 28px}
.gg-page a.gg-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;border-radius:28px;background:var(--gg-pink);color:white;text-decoration:none;font-size:16px}
.gg-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0}
.gg-directory{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gg-directory li{margin:0;padding:0}
.gg-directory a{display:block;border:1px solid var(--gg-line);border-radius:16px;padding:24px;background:#fffdf9;color:var(--gg-ink);text-decoration:none}
.gg-directory a:hover{border-color:var(--gg-pink)}
.gg-directory strong{display:block;font-family:var(--gg-serif);font-size:20px;margin-bottom:8px}
.gg-directory span{font-size:15px;color:var(--gg-muted)}
.gg-store-badges{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:24px 0}
.gg-store-badges a{display:flex;align-items:center;min-height:64px}
.gg-store-badges img{width:164px;height:auto;display:block}
.gg-skip{position:fixed;top:-100px;left:12px;z-index:100;padding:10px;background:white}
.gg-skip:focus{top:8px}
.gg-page :focus-visible{outline:2px solid var(--gg-pink);outline-offset:4px}
.gg-page [id]{scroll-margin-top:110px}
@media(max-width:760px){.gg-menu-layout{grid-template-columns:1fr}.gg-menu-welcome{display:none}.gg-menu-links{gap:24px}.gg-menu{padding:20px 24px}.gg-page-hero{gap:20px}.gg-page-hero>img{width:110px;height:130px}}
@media(max-width:560px){.gg-header{height:76px;padding:0 16px;gap:8px}.gg-brand img{width:205px}.gg-menu-toggle{gap:8px;padding:8px 4px;font-size:13px}.gg-menu{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:16px 20px 24px;border-radius:18px}.gg-menu-top{margin-bottom:20px;padding-bottom:10px}.gg-menu-top p{font-size:17px}.gg-menu-links{grid-template-columns:1fr;gap:22px}.gg-menu-links section:last-child{grid-column:auto;grid-row:auto}.gg-menu-links a{font-size:16px}.gg-footer{padding:14px 16px 18px}.gg-footer nav{gap:0 20px}.gg-footer a,.gg-footer button{font-size:12px}.gg-page-main{padding:0 20px 40px}.gg-page-hero{padding:28px 0 24px;margin-bottom:24px;position:relative;display:block}.gg-page-hero>img{width:88px;height:90px;margin:16px auto 0;display:block}.gg-page-hero h1{font-size:28px}.gg-page-hero p{font-size:16px}.gg-article h2{font-size:21px}.gg-notice{padding:20px}.gg-directory{grid-template-columns:1fr}.gg-page [id]{scroll-margin-top:92px}}
@media print{.gg-header,.gg-menu,.gg-footer,.gg-skip{display:none!important}.gg-page-main{max-width:none;padding:0}}
.store-pending{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:54px;padding:8px 12px;border:1px solid #d8c9be;border-radius:8px;color:#765f53;background:#f6f0e9;text-align:center}.store-pending small{font-size:12px}
#contact-form{display:grid;gap:12px;margin-top:24px}#contact-form>label{font-weight:600;margin-top:12px}#contact-form>label>span{font-size:12px;color:#9f514a}#contact-form input[type=email],#contact-form select,#contact-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;color:#5b473a;background:#fff;border:1px solid #bda99b;border-radius:10px;padding:12px}#contact-form textarea{resize:vertical}#contact-form .contact-consent{display:flex;align-items:flex-start;gap:10px}#contact-form .contact-consent span{font-size:14px;color:#5b473a;font-weight:400}#contact-form input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:3px}#contact-form .contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#contact-guidance{font-size:13px}#contact-submit{border:0;font:inherit;cursor:pointer;min-height:48px}#contact-submit:disabled{opacity:.6;cursor:default}#contact-status{overflow-wrap:anywhere;font-weight:600}
#contact-submit{background:#9f514a;color:#fff;border-radius:12px;padding:14px 20px;text-align:center}
