html{scroll-padding-block:100px 135px}
.site-header,.reference-home .site-header{flex-wrap:nowrap;gap:20px;min-height:80px;border-bottom:1px dotted #edbfd7;padding:14px 5%}
.site-header .desktop-services{display:flex;gap:20px;flex-wrap:nowrap;white-space:nowrap}
.site-header .header-tools{gap:16px;flex-shrink:0}
.site-header .header-tools>a,.site-header .desktop-services>a{display:flex;align-items:center;min-height:44px}
.site-header .header-contact{padding:0 14px;border:1px solid #db0077;border-radius:7px;color:#b40060;font-size:12px}
.site-header .header-tools>.header-news{display:none}
.menu-toggle{display:flex;align-items:center;gap:10px;min-height:44px;min-width:74px;padding:8px 2px;font:12px/1 LuluLatin,monospace;letter-spacing:.04em;color:#171717}
.menu-bars{display:block;width:21px;height:9px;border-block:1.5px solid currentColor}
body.menu-open{position:fixed;width:100%;overflow:hidden}
body.menu-open .mobile-dock{visibility:hidden;pointer-events:none}
#site-menu{position:fixed;inset:0;margin:auto;width:min(1040px,calc(100% - 64px));max-width:none;height:fit-content;max-height:calc(100dvh - 64px);padding:0;border:1px solid #ddd;border-radius:16px;background:#fff;color:#171717;overflow:hidden;box-shadow:0 18px 70px #0002;font-family:Arial,"Hiragino Kaku Gothic ProN",sans-serif}
#site-menu:not([open]){display:none}
#site-menu[open]{display:flex;flex-direction:column;animation:menu-appear .18s ease-out}
#site-menu::backdrop{background:#23121a59}
#site-menu a{padding:0;text-decoration:none;border-bottom:0}
.menu-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 36px;border-bottom:1px dotted #edbfd7;flex-shrink:0;background:#fff}
.menu-home img{display:block;width:144px;height:auto}
.menu-close{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;min-width:88px;border:0;background:white;color:#171717;cursor:pointer;font:12px LuluLatin,monospace}
.menu-close>span:last-child{font:29px/1 Arial}
.menu-sheet-body{padding:25px 36px 36px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.menu-eyebrow{display:flex;align-items:center;gap:12px;font:12px/1.5 LuluLatin,monospace;color:#bd0066;letter-spacing:.06em;margin:0 0 25px}
.menu-eyebrow img{width:18px;height:18px}
.menu-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:48px}
.menu-primary{display:block}
.menu-section-label{font:11px/1.6 Arial;margin:0 0 10px;color:#555}
#site-menu .menu-primary>a{display:grid;grid-template-columns:25px 1fr 20px;align-items:center;gap:14px;padding:16px 0;border-top:1px dotted #dfa9c5;min-height:90px}
.menu-number{font:14px LuluLatin,monospace;color:#bd0066;align-self:start;margin-top:5px}
.menu-en{display:block;font:clamp(26px,3vw,38px)/1.2 LuluLatin,monospace;letter-spacing:.02em}
.menu-ja{display:block;font:12px/1.7 Arial;margin-top:6px}
.menu-primary>a>span:last-child{color:#bd0066;font-size:20px}
.menu-secondary>nav:not(.menu-social){display:block}
#site-menu .menu-secondary>nav:not(.menu-social)>a{display:flex;align-items:center;justify-content:space-between;min-height:48px;border-bottom:1px dotted #dedede;font-size:14px}
#site-menu .menu-contact{display:flex;flex-direction:column;gap:8px;margin-top:22px;border:1px solid #db0077;border-radius:8px;padding:16px;color:#a60059;font-size:13px}
.menu-contact>span:last-child{display:flex;justify-content:space-between;gap:12px}
.menu-contact-en{font:20px/1.2 LuluLatin,monospace}
.menu-contact-note{font-size:11px;line-height:1.7;margin:9px 0 14px;color:#555}
.menu-social{display:flex;gap:20px;flex-wrap:wrap}
#site-menu .menu-social a{display:flex;align-items:center;min-height:44px;min-width:44px;font-size:12px}
#site-menu a[aria-current="page"]{color:#ac005d}
#site-menu a:hover{color:#ac005d;background:#fff7fb}
#site-menu :focus-visible{outline:2px solid #b40060;outline-offset:3px}
@keyframes menu-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1250px){.site-header .desktop-services{display:none}.site-header,.reference-home .site-header{min-height:72px;gap:14px}}
@media(max-width:700px){
.site-header,.reference-home .site-header{position:sticky;top:0;min-height:66px;padding:10px 5%;gap:8px}
.site-header .brand-logo,.reference-home .site-header .brand-logo{width:112px;height:auto}
.site-header .header-brand{gap:10px;min-width:0;flex:1}
.site-header .header-tagline{font:8px/1.6 Arial;white-space:normal;max-width:140px}
.site-header .header-tools,.reference-home .site-header .header-tools{gap:0;margin-left:auto}
.site-header .header-tools>.header-contact,.site-header .header-tools>.social-link{display:none}
.site-header .menu-toggle{font-size:11px}
#site-menu{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0;inset:0}
.menu-sheet-head{padding:calc(10px + env(safe-area-inset-top)) 5% 10px}
.menu-home img{width:112px}
.menu-sheet-body{padding:18px 6% calc(22px + env(safe-area-inset-bottom))}
.menu-eyebrow{margin-bottom:17px;font-size:10px}
.menu-columns{grid-template-columns:1fr;gap:20px}
#site-menu .menu-primary>a{padding:12px 0;min-height:76px;gap:10px}
.menu-en{font-size:28px}.menu-ja{font-size:11px;margin-top:5px}
.menu-secondary>nav:not(.menu-social){display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
#site-menu .menu-secondary>nav:not(.menu-social)>a{font-size:12px;min-height:44px}
#site-menu .menu-contact{margin-top:18px;padding:13px 14px;flex-direction:row;align-items:center;gap:14px}
.menu-contact>span:last-child{flex:1;font-size:11px}.menu-contact-en{font-size:18px}
.menu-contact-note{font-size:10px}
}
@media(max-width:360px){.site-header .header-tagline{max-width:105px;font-size:7px}.site-header .brand-logo,.reference-home .site-header .brand-logo{width:96px}.site-header .header-brand{gap:7px}.menu-toggle{min-width:66px;gap:7px}.menu-bars{width:18px}}
@media(prefers-reduced-motion:reduce){#site-menu[open]{animation:none}}

.menu-purpose{display:block;font-size:12px;line-height:1.6;color:#666;margin-top:4px;font-family:Arial,sans-serif;}
/* Align the visible logo artwork, accounting for the asset's transparent margins. */
.site-header .header-brand{--logo-width:190px;display:flex;align-items:center;gap:16px;min-width:0}
.site-header .header-brand .brand-logo{width:var(--logo-width);height:auto;flex:none;margin-left:calc(var(--logo-width) * -.16);margin-right:calc(var(--logo-width) * -.18)}
.site-header .header-tagline{font:10px/1.5 Arial,sans-serif;letter-spacing:.02em;max-width:none;white-space:nowrap}
@media(max-width:700px){.site-header .header-brand{--logo-width:145px;gap:12px}.site-header .header-tagline{font-size:8px;line-height:1.5;max-width:none}}
@media(max-width:360px){.site-header .header-brand{--logo-width:132px;gap:9px}.site-header .header-tagline{font-size:7px;max-width:none}}

/* Readable supporting copy without moving the visible logo edge. */
.site-header .header-tagline{font-size:11px}
@media(max-width:700px){.site-header .header-tagline{font-size:10px;line-height:1.5;white-space:normal;min-width:0;overflow-wrap:normal}.site-header .header-brand{gap:10px}}
@media(max-width:360px){.site-header .header-brand{gap:8px}.site-header .header-tagline{font-size:10px}}
