| |
| |
| |
| |
| |
|
|
| .site-nav { |
| position: fixed; |
| top: clamp(0.8rem, 2vw, 1.4rem); |
| left: 50%; |
| transform: translateX(-50%); |
| z-index: 40; |
| display: flex; |
| align-items: center; |
| gap: 0.4rem; |
| padding: 0.45rem 0.5rem 0.45rem 1.1rem; |
| background: var(--panel); |
| backdrop-filter: blur(18px) saturate(1.2); |
| -webkit-backdrop-filter: blur(18px) saturate(1.2); |
| border: 1px solid var(--panel-border); |
| border-radius: var(--radius-pill); |
| box-shadow: 0 10px 30px rgba(157, 170, 242, 0.18), |
| inset 0 1px 0 rgba(255, 255, 255, 0.5); |
| transition: transform var(--dur) var(--ease-soft), |
| box-shadow var(--dur) var(--ease-soft), |
| padding var(--dur) var(--ease-soft); |
| max-width: calc(100vw - 1.6rem); |
| } |
|
|
| |
| .site-nav.is-scrolled { |
| transform: translateX(-50%) translateY(-2px) scale(0.97); |
| box-shadow: 0 14px 38px rgba(157, 170, 242, 0.26), |
| inset 0 1px 0 rgba(255, 255, 255, 0.5); |
| } |
|
|
| |
| |
| |
| .site-nav .nav-brand { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.5em; |
| font-family: var(--font-display); |
| font-weight: 700; |
| font-size: 1.02rem; |
| color: var(--ink); |
| letter-spacing: -0.01em; |
| white-space: nowrap; |
| user-select: none; |
| cursor: default; |
| } |
| .site-nav .nav-brand .nav-logo { |
| height: 34px; |
| width: auto; |
| flex-shrink: 0; |
| display: block; |
| |
| filter: drop-shadow(0 2px 6px rgba(61, 44, 78, 0.18)); |
| transition: transform var(--dur-fast) var(--ease-soft); |
| } |
| .site-nav .nav-brand:hover .nav-logo { transform: rotate(-3deg); } |
|
|
| .site-nav .nav-brand-text { |
| display: flex; |
| flex-direction: column; |
| line-height: 1.05; |
| } |
| .site-nav .nav-brand .brand-name { |
| font-family: var(--font-display); |
| font-weight: 700; |
| font-size: 1.02rem; |
| color: var(--ink); |
| letter-spacing: -0.01em; |
| } |
| .site-nav .nav-brand .brand-sub { |
| font-family: var(--font-body); |
| font-weight: 600; |
| font-size: 0.62rem; |
| letter-spacing: 0.04em; |
| color: var(--rose-deep); |
| opacity: 0.8; |
| } |
| @keyframes dot-pulse { |
| 0%, 100% { box-shadow: 0 0 0 3px rgba(255, 143, 171, 0.22); } |
| 50% { box-shadow: 0 0 0 5px rgba(255, 143, 171, 0.12); } |
| } |
|
|
| |
| .site-nav .nav-links { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.15rem; |
| list-style: none; |
| } |
| .site-nav .nav-links a { |
| display: inline-block; |
| padding: 0.5em 0.95em; |
| border-radius: var(--radius-pill); |
| font-family: var(--font-display); |
| font-weight: 700; |
| font-size: 0.92rem; |
| color: var(--ink-soft); |
| text-decoration: none; |
| transition: color var(--dur-fast) var(--ease-gentle), |
| background var(--dur-fast) var(--ease-gentle); |
| } |
| .site-nav .nav-links a:hover { |
| color: var(--ink); |
| background: rgba(255, 143, 171, 0.12); |
| } |
| .site-nav .nav-links a[aria-current="page"] { |
| color: var(--rose-deep); |
| background: rgba(255, 143, 171, 0.16); |
| } |
|
|
| |
| .site-nav .nav-cta { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.4em; |
| margin-left: 0.3rem; |
| padding: 0.55em 1.1em; |
| border-radius: var(--radius-pill); |
| background: linear-gradient(180deg, #ffa6c0 0%, var(--rose) 55%, var(--rose-deep) 100%); |
| color: #fff; |
| font-family: var(--font-display); |
| font-weight: 700; |
| font-size: 0.88rem; |
| text-decoration: none; |
| box-shadow: 0 6px 16px rgba(232, 111, 146, 0.4), |
| inset 0 1px 0 rgba(255, 255, 255, 0.5); |
| transition: transform var(--dur-fast) var(--ease-soft), |
| box-shadow var(--dur) var(--ease-soft); |
| white-space: nowrap; |
| } |
| .site-nav .nav-cta:hover { |
| transform: translateY(-1px); |
| box-shadow: 0 10px 22px rgba(232, 111, 146, 0.5), |
| inset 0 1px 0 rgba(255, 255, 255, 0.5); |
| } |
| .site-nav .nav-cta:active { transform: translateY(0) scale(0.97); } |
|
|
| |
| .skip-link { |
| position: fixed; |
| top: 0.6rem; |
| left: 50%; |
| transform: translateX(-50%) translateY(-150%); |
| z-index: 60; |
| padding: 0.6em 1.2em; |
| border-radius: var(--radius-pill); |
| background: var(--ink); |
| color: #fff; |
| font-family: var(--font-display); |
| font-weight: 700; |
| font-size: 0.9rem; |
| text-decoration: none; |
| transition: transform var(--dur) var(--ease-soft); |
| } |
| .skip-link:focus { |
| transform: translateX(-50%) translateY(0); |
| outline: 3px solid var(--rose); |
| outline-offset: 2px; |
| } |
|
|
| |
| @media (max-width: 640px) { |
| .site-nav { gap: 0.3rem; padding: 0.4rem 0.45rem 0.4rem 0.9rem; } |
| .site-nav .nav-links { display: none; } |
| .site-nav .nav-brand { font-size: 0.95rem; } |
| .site-nav .nav-cta { font-size: 0.82rem; padding: 0.5em 0.9em; } |
| } |
|
|