@font-face {
  font-family: "I2W Sora";
  src: url("/assets/i2w-sora-latin.woff2") format("woff2");
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
}
header nav[aria-label="Main navigation"],
header a[href="/contact"],
.i2w-header-dialog {
  font-family: "I2W Sora", sans-serif;
  letter-spacing: 0;
}
header nav[aria-label="Main navigation"] a { font-weight: 550; }
header nav[aria-label="Main navigation"] > .group > a,
header nav[aria-label="Main navigation"] > .contents > a,
header nav[aria-label="Main navigation"] > .contents > .group > a {
  position: relative;
  color: var(--foreground);
  transition: color 200ms ease, background-color 200ms ease;
}
header nav[aria-label="Main navigation"] > .group > a::after,
header nav[aria-label="Main navigation"] > .contents > a::after,
header nav[aria-label="Main navigation"] > .contents > .group > a::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 12px;
  right: 12px;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 240ms ease;
}
header nav[aria-label="Main navigation"] a:hover::after,
header nav[aria-label="Main navigation"] a:focus-visible::after,
header nav[aria-label="Main navigation"] a[aria-current="page"]::after { transform: scaleX(1); }
header nav[aria-label="Main navigation"] .group > a svg { transition: transform 240ms ease; }
header nav[aria-label="Main navigation"] .group:hover > a svg,
header nav[aria-label="Main navigation"] .group:focus-within > a svg { transform: rotate(180deg); }
.i2w-header-dialog {
  position: fixed;
  inset: 0;
  margin: 0;
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100dvh;
  padding: 0;
  border: 0;
  background: var(--card);
  color: var(--foreground);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.i2w-header-dialog::backdrop { background: var(--background); }
.i2w-header-dialog[open] { animation: i2w-header-enter 220ms ease both; }
.i2w-header-inner { max-width: 44rem; margin: auto; padding: 14px 20px max(20px, env(safe-area-inset-bottom)); }
.i2w-header-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
.i2w-header-top img { width: auto; height: 42px; }
.i2w-header-dialog button { font: inherit; color: inherit; background: transparent; cursor: pointer; }
.i2w-header-close, .i2w-header-expand { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border: 1px solid var(--border); border-radius: 6px; }
.i2w-header-close svg, .i2w-header-expand svg { width: 18px; height: 18px; }
.i2w-header-row { display: flex; align-items: center; min-height: 45px; border-bottom: 1px solid var(--border); }
.i2w-header-row > a { flex: 1; min-width: 0; padding: 12px 0; font-size: 15px; font-weight: 550; line-height: 21px; text-decoration: none; }
.i2w-header-row .i2w-header-expand { border: 0; }
.i2w-header-expand svg { transition: transform 200ms ease; }
.i2w-header-expand[aria-expanded="true"] svg { transform: rotate(180deg); }
.i2w-header-arrow { color: var(--muted-foreground); padding-right: 13px; }
.i2w-header-review { display: flex; align-items: center; justify-content: space-between; min-height: 44px; margin-top: 14px; padding: 10px 16px; border-radius: 6px; background: var(--accent); color: var(--accent-foreground); font-size: 14px; font-weight: 600; text-decoration: none; }
.i2w-header-submenu { margin-top: 16px; border-top: 2px solid var(--accent); }
.i2w-header-submenu h2 { font: 600 14px/1.5 "I2W Sora", sans-serif; margin: 14px 0 8px; }
.i2w-header-submenu a { display: block; padding: 12px 0; font-size: 14px; line-height: 21px; text-decoration: none; border-bottom: 1px solid var(--border); }
.i2w-header-dialog a:focus-visible, .i2w-header-dialog button:focus-visible { outline: 2px solid var(--ring); outline-offset: 3px; }
.i2w-header-dialog a:hover { color: var(--roast); }
.i2w-header-review:hover { color: var(--accent-foreground) !important; filter: brightness(1.03); }
body:has(.i2w-header-dialog[open]) { overflow: hidden; }
body:has(.i2w-header-dialog[open]) .ai-agent-avatar-content-wrapper,
body:has(.i2w-header-dialog[open]) .ai-agent-chat-avatar-container,
body:has(.i2w-header-dialog[open]) .ai-agent-chat-cover { visibility: hidden !important; pointer-events: none !important; }
@media (min-width: 1120px) and (max-width: 1399px) {
  header nav[aria-label="Main navigation"] { gap: 2px; }
  header nav[aria-label="Main navigation"] > .group > a,
  header nav[aria-label="Main navigation"] > .contents > a,
  header nav[aria-label="Main navigation"] > .contents > .group > a { padding-inline: 8px; }
}
@media (max-width: 767px) {
  header > .shell { flex-wrap: nowrap; padding-block: 12px; }
  header button[aria-label="Open menu"] { width: 44px; height: 44px; border-radius: 6px; }
}
@keyframes i2w-header-enter { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .i2w-header-dialog[open] { animation: none; }
  header nav[aria-label="Main navigation"] a,
  header nav[aria-label="Main navigation"] a::after,
  header nav[aria-label="Main navigation"] svg,
  .i2w-header-expand svg { transition: none !important; }
}