/* Corporate navigation: explicit values keep page-specific themes out of the header. */
#header.curio-site-header { position:fixed; inset:0 0 auto; width:100%; height:78px; margin:0; padding:0; z-index:100; border:0; border-radius:0; background:rgba(255,255,255,.9); backdrop-filter:blur(12px); color:#1b2430; font-family:"Noto Sans JP",-apple-system,sans-serif; font-size:16px; line-height:1.85; overflow:visible; transition:box-shadow .3s; }
#header.curio-site-header.scrolled { box-shadow:0 6px 26px -20px rgba(0,0,0,.4); }
#header.curio-site-header *, #header.curio-site-header *::before, #header.curio-site-header *::after { box-sizing:border-box; }
#header.curio-site-header .nav { position:relative; display:flex; align-items:center; justify-content:space-between; gap:0; width:min(1180px,90%); max-width:none; height:78px; margin:0 auto; padding:0; }
#header.curio-site-header .logo { display:inline-block; flex:none; margin:0; padding:0; font-family:"Poppins",sans-serif; font-size:1.7rem; font-weight:800; line-height:1.85; letter-spacing:-.01em; color:#1b2430; text-decoration:none; white-space:nowrap; }
#header.curio-site-header .logo span { background:linear-gradient(120deg,#18c0c8 0%,#1f8fe8 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
#header.curio-site-header .nav-links { display:flex; position:static; align-items:center; flex-direction:row; gap:2.2rem; width:auto; margin:0; padding:0; border:0; background:transparent; box-shadow:none; font-size:.95rem; font-weight:500; }
#header.curio-site-header .nav-links a { display:inline-block; margin:0; padding:0; border:0; border-radius:0; color:#1b2430; font:inherit; line-height:1.85; letter-spacing:.04em; text-decoration:none; white-space:nowrap; transition:color .2s; }
#header.curio-site-header .nav-links a:hover { color:#1f8fe8; }
#header.curio-site-header .nav-links a.btn-contact { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.7rem 1.5rem; border-radius:999px; background:linear-gradient(120deg,#18c0c8 0%,#1f8fe8 100%); color:#fff; font-size:.92rem; font-weight:700; box-shadow:0 12px 28px -14px rgba(31,143,232,.7); transition:transform .2s; }
#header.curio-site-header .btn-contact::after { content:""; width:7px; height:7px; border-radius:50%; background:#fff; }
#header.curio-site-header .nav-links a.btn-contact:hover { color:#fff; transform:translateY(-2px); }
#header.curio-site-header .menu-toggle { display:none; align-items:center; justify-content:center; flex-direction:column; gap:5px; width:44px; height:44px; margin:0 -10px 0 0; padding:10px; border:0; border-radius:0; background:none; box-shadow:none; cursor:pointer; }
#header.curio-site-header .menu-toggle span { display:block; width:24px; height:2px; margin:0; background:#1b2430; border-radius:2px; }
#header.curio-site-header a:focus-visible, #header.curio-site-header button:focus-visible { outline:3px solid #1f8fe8; outline-offset:4px; }
@media (max-width:1100px) {
  #header.curio-site-header .nav-links { display:none; position:absolute; top:100%; left:0; right:0; width:auto; flex-direction:column; align-items:center; gap:1.2rem; max-height:calc(100svh - 78px); overflow-y:auto; padding:1.5rem; border-bottom:1px solid #e4eaef; background:#fff; z-index:10; }
  #header.curio-site-header .nav-links.open { display:flex; }
  #header.curio-site-header .nav-links a.btn-contact { align-self:stretch; }
  #header.curio-site-header .menu-toggle { display:flex; }
}
@media (max-width:480px) { #header.curio-site-header .logo { font-size:1.4rem; } }
@media print { #header.curio-site-header { display:none; } }

body.curio-header-offset { padding-top:78px; }
