/* ── Animations ── */ @keyframes fade-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } } .fade-up { opacity: 0; animation: fade-up 0.8s ease forwards; } .hero-eyebrow { font-family: var(--deepdrft-font-mono); font-size: 0.65rem; letter-spacing: 0.28em; color: var(--deepdrft-green-accent); text-transform: uppercase; margin-bottom: 1.8rem; display: flex; align-items: center; gap: 1rem; animation-delay: 0.1s; } .hero-eyebrow::before { content: ''; display: block; width: 2.5rem; height: 1px; background: var(--deepdrft-green-accent); } .hero-title { font-family: var(--deepdrft-font-display); font-size: clamp(4.5rem, 8vw, 8.5rem); font-weight: 300; line-height: 0.92; letter-spacing: -0.02em; color: var(--deepdrft-navy); margin-bottom: 0.5rem; animation-delay: 0.22s; } .hero-title em { font-style: italic; color: var(--deepdrft-green); } .hero-subtitle { font-family: var(--deepdrft-font-display); font-size: clamp(1rem, 2vw, 1.35rem); font-weight: 300; font-style: italic; color: var(--deepdrft-muted); margin-bottom: 3rem; letter-spacing: 0.04em; animation-delay: 0.34s; } .hero-desc { font-family: var(--deepdrft-font-body); font-size: 0.92rem; line-height: 1.75; color: var(--deepdrft-navy); opacity: 0.7; max-width: 36ch; margin-bottom: 3rem; animation-delay: 0.44s; } .hero-actions { display: flex; gap: 1rem; align-items: center; animation-delay: 0.54s; } .btn-primary { font-family: var(--deepdrft-font-mono); font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--deepdrft-white); background: var(--deepdrft-navy); border: none; padding: 1rem 2.2rem; cursor: pointer; text-decoration: none; transition: background 0.25s, transform 0.2s; display: inline-block; } .btn-primary:hover { background: var(--deepdrft-green); transform: translateY(-1px); } .btn-ghost { font-family: var(--deepdrft-font-mono); font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--deepdrft-navy); background: transparent; border: 1px solid var(--deepdrft-border); padding: 1rem 2.2rem; cursor: pointer; text-decoration: none; transition: border-color 0.25s, color 0.25s; display: inline-block; } .btn-ghost:hover { border-color: var(--deepdrft-navy); } @media (max-width: 599px) { .hero-actions { flex-direction: column; align-items: stretch; } .btn-primary, .btn-ghost { text-align: center; } }