/* ── Site Logo Text ── */
.ohti446k-site-logo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ohti446k-color-white);
  font-family: var(--ohti446k-font-sans);
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -0.3px;
  text-decoration: none;
}

/* ── Nav Hamburger (mobile) ── */
.ohti446k-nav__hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: var(--ohti446k-sp-sm);
}

.ohti446k-nav__hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--ohti446k-color-text);
    border-radius: 2px;
    transition: transform 0.25s;
}


/* ── Site Header / Nav ── */
.ohti446k-nav {
  background: var(--ohti446k-nav-bg);
  height: var(--ohti446k-nav-height);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: var(--ohti446k-shadow-sm);
}

.ohti446k-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  gap: var(--ohti446k-sp-lg);
}

.ohti446k-nav__logo img {
  height: 28px;
  width: auto;
}

.ohti446k-nav__links {
  display: flex;
  align-items: center;
  gap: var(--ohti446k-sp-xl);
}

.ohti446k-nav__links a {
  color: var(--ohti446k-color-text);
  font-size: var(--ohti446k-fs-sm);
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: color 0.2s;
}

.ohti446k-nav__links a:hover {
  color: var(--ohti446k-color-primary);
  text-decoration: none;
}

/* ── Fade-in animation (hoisted here to avoid FOUC) ── */
.ohti446k-fade-in {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.42s ease, transform 0.42s ease;
}
.ohti446k-fade-in.ohti446k-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile open nav */
@media (max-width: 768px) {
    .ohti446k-nav__links.ohti446k-nav__links--open {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: var(--ohti446k-nav-height);
        left: 0;
        right: 0;
        background: var(--ohti446k-nav-bg);
        padding: var(--ohti446k-sp-md) var(--ohti446k-sp-lg);
        gap: var(--ohti446k-sp-md);
        border-top: 1px solid rgba(255,255,255,0.08);
        box-shadow: 0 6px 20px rgba(0,0,0,0.3);
        z-index: 99;
    }

    .ohti446k-nav__hamburger {
        display: flex;
    }

    .ohti446k-nav__links {
        display: none;
    }
}