/* ── Base & Utilities ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { overflow-x: hidden; }

::selection { background: rgba(13,148,136,.15); color: #0f172a; }

/* ── Header ── */
#siteHeader {
    background: transparent;
    transition: background .4s ease, box-shadow .4s ease, backdrop-filter .4s ease;
}
#siteHeader.scrolled {
    background: rgba(248,250,252,.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 1px 0 rgba(0,0,0,.06);
}

.nav-link { position: relative; }
.nav-link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #0d9488;
    transition: width .3s ease;
}
.nav-link:hover::after { width: 100%; }

/* ── Primary Button ── */
.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    background: #0d9488;
    color: #fff;
    padding: .75rem 1.75rem;
    border-radius: .75rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background .25s ease, transform .2s ease, box-shadow .25s ease;
    box-shadow: 0 4px 14px rgba(13,148,136,.25);
}
.btn-primary:hover {
    background: #0f766e;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(13,148,136,.35);
}
.btn-primary:active { transform: translateY(0); }

/* ── Floating Cards ── */
.floating-card {
    animation: float 4s ease-in-out infinite;
}
.floating-card:nth-child(2) { animation-delay: -1.3s; }
.floating-card:nth-child(3) { animation-delay: -2.6s; }

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* ── Menu Cards ── */
.menu-card {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .6s ease, transform .6s ease, box-shadow .4s ease, border-color .4s ease;
}
.menu-card.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Process Cards ── */
.process-card {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .6s ease, transform .6s ease;
}
.process-card.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Scroll Reveal ── */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s ease;
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Mobile Menu ── */
.mobile-nav-link {
    display: block;
    transition: color .2s ease;
}
.mobile-nav-link:hover { color: #0d9488; }

/* ── Responsive ── */
@media (max-width: 767px) {
    .floating-card:not(:first-child) { display: none; }
}

/* ── Focus visible ── */
:focus-visible {
    outline: 2px solid #0d9488;
    outline-offset: 2px;
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
    html { scroll-behavior: auto; }
    .menu-card, .process-card, .reveal {
        opacity: 1;
        transform: none;
    }
}
