body { background: var(--bg); }
.site-header { background: rgba(248,246,241,.96); border-color: var(--border); box-shadow: none; }
.logo { letter-spacing: -.06em; }
.main-nav a { font-weight: 600; }
.btn { border-radius: 8px; box-shadow: none; font-weight: 650; }
.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); box-shadow: none; }
.page-title { font-weight: 700; letter-spacing: -.045em; line-height: 1.1; }
.page-description { color: var(--text-soft); }
.site-footer { background: var(--bg-soft); color: var(--text-soft); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #0f766e; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }

/* Shared palette and type hierarchy across portfolio, studies and contact. */
h1, h2, h3 { color: var(--text); }
input, select, textarea { font: inherit; }
::selection { background: #d4e7df; color: #104c46; }
.eyebrow { color: var(--primary-dark); letter-spacing: .12em; line-height: 1.5; }
.section-title { font-weight: 650; letter-spacing: -.035em; line-height: 1.12; }
.card p, .work-card p, .portfolio-body > p, .profile-card p { color: var(--text-soft); line-height: 1.75; }
.main-nav a { letter-spacing: 0; }
.main-nav a.is-active { color: var(--primary-dark); background: #e6eee6; }
.text-link { font-weight: 650; }
.btn, .work-button { font-weight: 650; }
.work-page { background: var(--bg); }
.work-page .page-title { font-weight: 700; letter-spacing: -.045em; line-height: 1.1; }
.work-page .page-title span { font-family: var(--font-editorial); font-style: italic; font-weight: 400; }
.work-contact, .portfolio-identity { background: var(--bg-soft); }
.work-button { background: var(--primary); }
.work-button:hover { background: var(--primary-dark); }
.work-page .portfolio-card h2 { font-weight: 650; letter-spacing: -.025em; }
.work-page .tag { color: var(--text-soft); background: #f0f3ed; border-color: var(--border); }
.work-page .portfolio-category { color: var(--text-soft); }
.work-page .portfolio-card, .card, .profile-card { border-color: var(--border); }
.text-gradient { background: none; color: var(--primary); }
