/* Shared header branding and About-reference footer, independent of page scope. */
.site-header .brand-complete,.private-header .brand-complete{display:block;width:164px;flex-shrink:0}
.site-header .brand-complete img,.private-header .brand-complete img{display:block;width:100%;height:auto;max-width:100%}
footer.tsuto-unified-footer{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;padding:40px max(6vw,24px);margin:0;width:100%;background:#fbfaf6;border:0;color:#211d19;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:400;-webkit-text-stroke:0}
footer.tsuto-unified-footer>a{justify-self:start;display:inline-flex;align-items:flex-start;gap:3px;color:#be1818;text-decoration:none}
footer.tsuto-unified-footer>a img{display:block;width:120px;height:auto;max-width:100%}
footer.tsuto-unified-footer>a sup{font-size:7px;line-height:1;color:#be1818}
footer.tsuto-unified-footer>p.tsuto-footer-line{margin:0;text-align:center;color:#be1818;font-family:'Zen Kaku Gothic New',sans-serif;font-size:13px;font-weight:400;line-height:1.9;letter-spacing:normal;-webkit-text-stroke:0}
footer.tsuto-unified-footer>nav{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:24px;margin:0;font-family:'Zen Kaku Gothic New',sans-serif;font-size:14px;font-weight:400;line-height:1.9;letter-spacing:normal;-webkit-text-stroke:0}
footer.tsuto-unified-footer>nav span{display:contents}
footer.tsuto-unified-footer>nav a{color:#211d19;text-decoration:none;font-size:inherit;font-weight:inherit}
footer.tsuto-unified-footer>nav a:hover,footer.tsuto-unified-footer>nav a:focus-visible{text-decoration:underline;text-underline-offset:4px}
footer.tsuto-unified-footer>.tsuto-legal{grid-column:1/-1;width:100%;margin:0;border-top:1px solid #be181826;padding-top:25px;text-align:left}
footer.tsuto-unified-footer>.tsuto-legal p{margin:0!important;color:#948980!important;font-family:'Zen Kaku Gothic New',sans-serif!important;font-size:13px!important;font-weight:400!important;line-height:1.9!important;letter-spacing:normal;-webkit-text-stroke:0!important}
@media(max-width:767px){.site-header .brand-complete,.private-header .brand-complete{width:132px}}
@media(max-width:760px){footer.tsuto-unified-footer{grid-template-columns:1fr;text-align:center;gap:24px;padding:40px 24px}footer.tsuto-unified-footer>a{justify-self:center}footer.tsuto-unified-footer>nav{justify-content:center}footer.tsuto-unified-footer>.tsuto-legal{text-align:left}}
@media(max-width:359px){.site-header .brand-complete,.private-header .brand-complete{width:112px}}

/* Colours live reference: transparent header over white body = white.
   Make the shared surface opaque, including scrolled/mobile/404 states. */
body .site-header,body .site-header.is-scrolled,body .private-header{
 background:#ffffff!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
}
