.site-header{transition:background var(--motion-medium) var(--motion-ease), box-shadow var(--motion-medium) var(--motion-ease), backdrop-filter var(--motion-medium);background:#fff0}.site-header[data-scrolled=true]{box-shadow:0 1px 0 var(--color-border-soft);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);background:#ffffffdb}.site-header .header-inner{justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-sm);min-height:76px;transition:min-height var(--motion-medium) var(--motion-ease);flex-wrap:wrap;display:flex}.site-header[data-scrolled=true] .header-inner{min-height:64px}.site-header .brand-link{min-width:44px;min-height:44px;color:var(--color-text);border-radius:10px;flex:none;align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.site-header .brand-logo{aspect-ratio:1019/900;object-fit:contain;width:46px;height:auto;transition:transform var(--motion-medium) var(--motion-ease);display:block}.site-header .brand-link:hover .brand-logo{transform:rotate(-4deg)scale(1.04)}.site-header .brand-name{gap:.1rem;line-height:1;display:grid}.site-header .brand-name-primary{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.5rem;line-height:1}.site-header .brand-name-secondary{color:var(--color-muted);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.4rem;font-size:.625rem;font-weight:500;display:inline-flex}.site-header .brand-name-secondary [lang=ja]{letter-spacing:.08em;font-family:var(--font-body-ja)}.site-header .brand-name-divider{background:var(--color-accent);border-radius:50%;width:3px;height:3px}.site-header .desktop-nav{flex-wrap:wrap;flex:28rem;justify-content:flex-end;align-items:center;gap:.25rem;min-width:0;display:flex}.site-header .desktop-nav>a,.site-header .nav-summary{min-width:44px;min-height:44px;color:var(--color-text-soft);font-family:var(--font-body);transition:color var(--motion-short), background var(--motion-short);border-radius:999px;align-items:center;gap:.375rem;padding:.5rem .95rem;font-size:.875rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex;position:relative}.site-header .nav-link-label{overflow-wrap:anywhere;min-width:0}.site-header .nav-disclosure{min-width:0;max-width:100%;position:relative}.site-header .nav-summary{cursor:pointer;list-style:none}.site-header .nav-summary::-webkit-details-marker{display:none}.site-header .nav-summary svg{opacity:.6;transition:transform var(--motion-medium) var(--motion-ease);flex-shrink:0}.site-header .nav-disclosure[open] .nav-summary svg{transform:rotate(180deg)}.site-header .desktop-nav>a:after,.site-header .nav-summary:after{content:"";background:var(--color-accent);opacity:0;width:4px;height:4px;transition:opacity var(--motion-short), transform var(--motion-medium) var(--motion-ease);border-radius:50%;position:absolute;bottom:6px;left:50%;transform:translate(-50%,4px)}.site-header .desktop-nav>a[aria-current=page]:after,.site-header .nav-disclosure[data-active=true] .nav-summary:after{opacity:1;transform:translate(-50%)}.site-header .nav-disclosure[data-active=true] .nav-summary,.site-header .nav-summary:hover,.site-header .desktop-nav>a:hover,.site-header .desktop-nav>a[aria-current=page]{color:var(--color-text)}.site-header .nav-summary:hover,.site-header .desktop-nav>a.header-about:hover,.site-header .nav-disclosure[open] .nav-summary{background:var(--color-surface)}.site-header .nav-panel{z-index:1;width:min(21rem, calc(100vw - 2 * var(--content-gutter)));overscroll-behavior:contain;border:1px solid var(--color-border-soft);border-radius:var(--floating-radius);background:var(--white);max-height:min(70dvh,32rem);animation:panel-in var(--motion-medium) var(--motion-ease);padding:.5rem;position:absolute;top:calc(100% + .625rem);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 24px 60px -24px #15171c38,0 2px 6px #15171c0a}@keyframes panel-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.site-header .desktop-nav .nav-panel-link{box-sizing:border-box;width:100%;min-height:52px;color:var(--color-text);transition:background var(--motion-short), color var(--motion-short);border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.site-header .nav-panel-link>span[aria-hidden=true]{color:var(--color-faint);transition:transform var(--motion-medium) var(--motion-ease), color var(--motion-short);flex-shrink:0}.site-header .desktop-nav .nav-panel-link:hover{background:var(--color-surface);color:var(--color-accent)}.site-header .desktop-nav .nav-panel-link:hover>span[aria-hidden=true]{color:var(--color-accent);transform:translate(2px,-2px)}.site-header .desktop-nav .nav-panel-link[aria-current=page]{background:var(--sakura-50);color:var(--color-accent)}.site-header .desktop-nav .header-contact{background:var(--ink-950);color:var(--white);isolation:isolate;justify-content:center;margin-left:.5rem;padding-inline:1.25rem;overflow:hidden}.site-header .desktop-nav .header-contact:before{content:"";z-index:-1;background:var(--brand-gradient);opacity:0;transition:opacity var(--motion-medium) var(--motion-ease);position:absolute;inset:0}.site-header .desktop-nav .header-contact:hover,.site-header .desktop-nav .header-contact[aria-current=page]{color:var(--white)}.site-header .desktop-nav .header-contact:hover:before,.site-header .desktop-nav .header-contact[aria-current=page]:before{opacity:1}.site-header .desktop-nav .header-contact:after{display:none}.site-header .header-controls{justify-content:flex-end;align-items:center;gap:var(--space-xs);flex-wrap:wrap;min-width:0;max-width:100%;display:flex}.site-header .language-button,.site-header .menu-button,.site-header .close-button{border:1px solid var(--color-border);background:var(--white);min-width:44px;max-width:100%;min-height:44px;color:var(--color-text);font-family:var(--font-body);overflow-wrap:anywhere;cursor:pointer;transition:border-color var(--motion-short), background var(--motion-short);border-radius:999px;justify-content:center;align-items:center;gap:.625rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;line-height:1.5;display:inline-flex}.site-header .language-button:hover,.site-header .menu-button:hover,.site-header .close-button:hover{border-color:var(--color-text)}.site-header .language-button-label{white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.site-header .language-button-label [data-current]{color:var(--color-faint);transition:color var(--motion-short)}.site-header .language-button-label [data-current=true]{color:var(--color-text)}.site-header .language-switch{background:var(--color-surface);width:26px;height:14px;box-shadow:inset 0 0 0 1px var(--color-border);border-radius:999px;position:relative}.site-header .language-switch:after{content:"";background:var(--brand-gradient);width:10px;height:10px;transition:transform var(--motion-medium) var(--motion-ease);border-radius:50%;position:absolute;top:2px;left:2px}.site-header .language-button[aria-pressed=true] .language-switch:after{transform:translate(12px)}.site-header .menu-button{padding-right:.75rem;display:none}.site-header .menu-button-icon{gap:5px;width:18px;display:grid}.site-header .menu-button-icon span{background:currentColor;border-radius:2px;height:1.5px;display:block}.site-header .menu-button-icon span:last-child{justify-self:end;width:12px}.site-header .close-button>span[aria-hidden=true]{font-size:1.375rem;font-weight:300;line-height:1}.site-header .mobile-dialog{box-sizing:border-box;width:min(100%,520px);max-width:100%;height:100dvh;max-height:100dvh;padding:max(var(--space-sm), env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(var(--space-md), env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));overscroll-behavior:contain;background:radial-gradient(120% 60% at 100% 0%, #f0b3231a, transparent 60%), radial-gradient(100% 50% at 0% 100%, #a61e2d12, transparent 60%), var(--white);color:var(--color-text);border:0;margin:0 0 0 auto;overflow-y:auto}.site-header .mobile-dialog[open]{animation:dialog-in var(--motion-medium) var(--motion-ease)}@keyframes dialog-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.site-header .mobile-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#15171c52}.site-header .mobile-dialog-header{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:60px;font-family:var(--font-display);flex-wrap:wrap;font-size:1.375rem;line-height:1.4;display:flex}.site-header .mobile-dialog-brand{align-items:center;gap:.75rem;min-width:0;display:inline-flex}.site-header .mobile-dialog-logo{width:36px;height:auto}.site-header .mobile-dialog-header>span{overflow-wrap:anywhere;min-width:0}.site-header .mobile-nav{gap:2rem;margin-top:2rem;display:grid}.site-header .mobile-nav-group{min-width:0}.site-header .mobile-nav-group-title{color:var(--color-faint);font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem;font-weight:500;line-height:1.6}.site-header .mobile-nav a{align-items:center;gap:var(--space-xs);border-bottom:1px solid var(--color-border-soft);min-width:44px;min-height:56px;color:var(--color-text);font-family:var(--font-display);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) 1.25rem;padding:.75rem .125rem;font-size:1.625rem;line-height:1.3;text-decoration:none;display:grid}.site-header .mobile-nav a .localized-text-layer:lang(ja){font-family:var(--font-display-ja);font-size:.78em}.site-header .mobile-nav-arrow{font-family:var(--font-body);color:var(--color-faint);transition:transform var(--motion-medium) var(--motion-ease), color var(--motion-short);font-size:1rem}.site-header .mobile-nav a:hover,.site-header .mobile-nav a[aria-current=page]{color:var(--color-accent)}.site-header .mobile-nav a:hover .mobile-nav-arrow,.site-header .mobile-nav a[aria-current=page] .mobile-nav-arrow{color:var(--color-accent);transform:translate(3px)}.site-header .mobile-language{margin-top:2.5rem}.site-header a:focus-visible,.site-header button:focus-visible,.site-header summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.site-header .nav-panel a:focus-visible{outline-offset:-3px}@media (max-width:1180px){.site-header .brand-name-secondary{display:none}}@media (max-width:959px){.site-header .header-inner,.site-header[data-scrolled=true] .header-inner{gap:var(--space-xs);min-height:64px}.site-header .brand-logo{width:40px}.site-header .brand-name-primary{font-size:1.3rem}.site-header .desktop-nav{display:none}.site-header .header-controls{flex:8rem}.site-header .menu-button{display:inline-flex}}@media (max-width:420px){.site-header .brand-name{display:none}.site-header .language-button{padding-inline:.75rem}}@media (max-height:480px){.site-header{position:relative}}@media (prefers-reduced-motion:reduce){.site-header,.site-header a,.site-header button,.site-header summary,.site-header .nav-summary svg,.site-header .nav-panel,.site-header .mobile-dialog[open]{transition:none;animation:none}}
