/* Sole owner of desktop header and shared footer. Content stays in index.html. */
.head{display:flex;align-items:center;justify-content:space-between;gap:var(--jyb-sp-xl);min-height:80px}
.brand{display:flex;align-items:center;gap:var(--jyb-sp-m);flex:0 0 auto;white-space:nowrap;font-weight:var(--jyb-fw-heavy)}
.brand-name{font-size:var(--jyb-fs-title);letter-spacing:.03em;line-height:1.4}
.brand-name small{display:block;font-size:var(--jyb-fs-micro);letter-spacing:.12em;font-weight:var(--jyb-fw-regular);color:#a39d90;margin-top:var(--jyb-sp-xs)}
.head nav{display:flex;align-items:center;gap:var(--jyb-sp-s);flex:0 0 auto;margin:0;padding:0}
.head nav a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:44px;min-width:72px;padding:0 20px;white-space:nowrap;line-height:1;font-size:var(--jyb-fs-body);font-weight:var(--jyb-fw-strong);border-radius:var(--jyb-radius-small);color:#cfc8b8}
.head nav a.active{background:var(--gold);color:var(--ink)}
.head nav a:hover{color:#fffefa;background:#26272b}
.head nav a.active:hover{color:var(--ink);background:#e6d2a7}
footer{width:100%;max-width:1160px;margin:var(--jyb-sp-xxl) auto 0;padding:var(--jyb-sp-xl) var(--jyb-sp-xxl) var(--jyb-sp-xxl);border-top:1px solid var(--line);text-align:center;font-size:var(--jyb-fs-micro);line-height:2;color:var(--muted);flex-shrink:0}
footer>div:first-child{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--jyb-sp-s) var(--jyb-sp-xl);margin-bottom:var(--jyb-sp-s)}
footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:var(--jyb-fs-caption)}
footer a:hover{color:var(--gold-ink)}
footer>div:last-child{font-size:var(--jyb-fs-micro);margin-top:var(--jyb-sp-s)}
@media(min-width:651px){body>header{background:var(--ink);border-bottom:1px solid #2a2b2f;color:#fffefa}.brand{color:#fffefa}}
@media(min-width:651px) and (max-width:900px){.head{gap:var(--jyb-sp-l);min-height:72px}.head nav{gap:var(--jyb-sp-xs)}.head nav a{min-width:60px;padding:0 var(--jyb-sp-m)}.brand-name{font-size:var(--jyb-fs-title)}.brand-name small{display:none}}
@media(max-width:650px){footer{padding:20px var(--jyb-sp-l);margin-top:var(--jyb-sp-xl);font-size:var(--jyb-fs-micro);border:0}footer>div:first-child{gap:var(--jyb-sp-xs) 20px}}

/* One responsive binding for all functional page headings. Values remain App-owned. */
@media(min-width:1000px){:root{--jyb-page-heading-size:var(--jyb-fs-web-heading);--jyb-page-heading-line:var(--jyb-lh-web-heading)}}
