@import url("footer.css");
/* Shared, identical top-page and product-page navigation and footer. */
:root { --sans:"DM Sans","Yu Gothic",sans-serif; --serif:"Libre Baskerville","Noto Serif JP",serif; }
.site-header { color:var(--paper); font:16px/1.8 var(--sans); flex-shrink:0; }
.site-header :where(a,span,nav,div,aside,button,img) { box-sizing:border-box; margin:0; }
.site-header a,.site-footer a { color:inherit; text-decoration:none; }
.site-header button { font-family:var(--sans); line-height:1.8; cursor:pointer; }
.site-header .no-select,.site-header .no-select * { user-select:none; -webkit-user-select:none; -webkit-user-drag:none; }
.site-header img { display:block; max-width:100%; }
.site-header .round-icon { border:0; padding:0; background:transparent; border-radius:50%; object-fit:contain; aspect-ratio:1; }
.site-header { position:sticky; top:0; z-index:30; height:76px; padding:0 5vw; display:flex; align-items:center; gap:24px; justify-content:space-between; background:rgba(13,13,13,.97); border-bottom:1px solid var(--line); }
.brand { position:relative; flex:0 0 144px; height:44px; font:700 15px/1 var(--serif); letter-spacing:.15em; }
.brand-name,.fixed-socials { position:absolute; inset:0; display:flex; align-items:center; transition:opacity .35s,transform .35s,visibility .35s; }
.brand-name { opacity:1; visibility:visible; }
.fixed-socials { opacity:0; visibility:hidden; transform:translateY(5px); gap:4px; }
.brand.show-socials .brand-name { opacity:0; visibility:hidden; transform:translateY(-5px); }
.brand.show-socials .fixed-socials { opacity:1; visibility:visible; transform:none; }
.fixed-socials a { display:grid; place-items:center; width:32px; height:44px; flex-shrink:0; }
.fixed-socials a:hover img { transform:scale(1.08); }
.fixed-socials img { transition:transform .18s; }
.site-nav { display:flex; gap:clamp(12px,1.7vw,25px); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.site-nav a { padding:26px 0; border-bottom:2px solid transparent; transition:border-color .18s; }
.site-nav a:hover { border-color:var(--gold); }
.header-actions { display:flex; align-items:center; gap:16px; }
.lang-switch { padding:8px 10px; border:1px solid var(--line); background:transparent; color:var(--paper); font-size:11px; white-space:nowrap; }
.lang-switch .active { color:var(--gold); border-bottom:1px solid currentColor; padding-bottom:2px; }
.menu-toggle { display:none; background:transparent; color:var(--paper); border:0; font-size:11px; letter-spacing:.1em; min-height:44px; }

.site-footer a,.site-footer span { cursor:inherit; }
.site-footer a { cursor:pointer; }
.menu-toggle { padding:2px 6px; }
.site-header .lang-switch span { border-radius:0; border:0; background:none; padding:0; }
.site-header .lang-switch span.active { color:var(--gold); border-bottom:1px solid currentColor; padding-bottom:2px; }
@media(max-width:1050px) {
  .site-header { padding-inline:24px; gap:15px; }
  .site-nav { gap:12px; }
  .brand { font-size:12px; }
}
@media(max-width:800px) {
  .site-header { height:66px; padding:0 20px; }
  .brand { font-size:13px; }
  .header-actions { margin-left:auto; gap:14px; }
  .menu-toggle { display:block; }
  .site-nav { display:grid; position:absolute; top:65px; left:0; right:0; padding:14px 22px 20px; grid-template-columns:repeat(2,1fr); background:#111; border-bottom:1px solid var(--line); opacity:0; visibility:hidden; transform:translateY(-6px); pointer-events:none; transition:opacity .18s ease,transform .22s ease,visibility .22s; }
  .site-nav.is-open { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
  .site-nav a { padding:10px 0; border:0; }
}
@media(max-width:520px) { .lang-switch { padding-inline:7px; font-size:10px; } }
/* Feedback never changes document flow or intercepts a click. */
:where(button,a,summary,input,textarea) { transition:opacity .16s,background-color .18s,border-color .18s,box-shadow .18s,scale .14s; }
.copy-toast { position:fixed; left:50%; bottom:24px; z-index:100; padding:10px 16px; border:1px solid var(--gold); background:rgba(17,17,17,.94); color:var(--paper); font-size:13px; opacity:0; transform:translate(-50%,8px); pointer-events:none; transition:opacity .2s,transform .2s; }
.copy-toast.is-visible { opacity:1; transform:translate(-50%,0); }
:where(button,.block-link,.toggle-btn):active { scale:.985; }
:where(a):active { opacity:.85; }
:where(a,button,summary):focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.lang-switch:hover,.menu-toggle:hover { background:rgba(212,189,151,.08); }
.site-nav a,.site-footer a { transition:color .18s,border-color .18s,opacity .16s; }
.site-footer a:hover { color:var(--gold); }
.news-item>summary,.timeline-details>summary { transition:background-color .18s; }
.news-item>summary:hover,.timeline-details>summary:hover { background:rgba(212,189,151,.04); }
.contact-form input,.contact-form textarea { transition:border-color .18s,box-shadow .18s; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--gold); box-shadow:none; outline:none; }
.video-dots button::after { transition:background-color .18s,scale .18s; }
.video-dots button:hover::after { scale:1.08 1; }
button:disabled { transition:opacity .18s; opacity:.55; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
