/* ============================================================
   Cordoba Legal Group — Global Stylesheet
   Premium law-firm aesthetic: midnight + champagne gold + light
   ============================================================ */

/* --- Selection --- */
::selection {
    background-color: #C5A880;
    color: #ffffff;
}

/* --- Page entrance --- */
.page-enter {
    animation: pageIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes pageIn {
    0%   { opacity: 0; transform: translateY(16px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* --- Cinematic Hero Background --- */
.hero-bg {
    background-color: #0A0F1C;
    background-image:
        radial-gradient(circle at 30% 50%, rgba(197,168,128,0.12) 0%, transparent 60%),
        linear-gradient(to bottom, rgba(10,15,28,0.90), rgba(10,15,28,1)),
        url('https://images.unsplash.com/photo-1505663912202-ac22d4cb3707?auto=format&fit=crop&w=2500&q=80');
    background-size: 100% 100%, 100% 100%, cover;
    background-position: center 0, center, center;
    background-attachment: scroll, scroll, fixed;
}

.dark-section-bg {
    background-color: #0A0F1C;
    background-image: radial-gradient(circle at 100% 100%, rgba(197,168,128,0.05) 0%, transparent 40%);
}

/* --- Subtle light-section noise texture --- */
.texture-light {
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
}

/* --- Premium Form Inputs --- */
.input-field {
    @apply w-full rounded-none border-b-2 border-gray-200 bg-transparent py-4 px-2
           text-brand-dark focus:border-brand-accent focus:ring-0
           transition-colors duration-300 sm:text-base outline-none;
}

/* Floating label positioning */
.float-label {
    @apply absolute text-sm text-gray-500 duration-300 transform -translate-y-6 scale-75
           top-4 -z-10 origin-[0] peer-focus:left-0 peer-focus:text-brand-accent
           peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0
           peer-focus:scale-75 peer-focus:-translate-y-6 font-light;
}

/* --- High-End Buttons --- */
.btn-primary {
    @apply inline-flex justify-center items-center bg-brand-accent px-8 py-4
           text-sm font-medium tracking-[0.15em] text-white uppercase
           hover:bg-brand-accentHover transition-all duration-300 ease-out;
}

.btn-outline {
    @apply inline-flex justify-center items-center border border-white/30 px-8 py-4
           text-sm font-medium tracking-[0.15em] text-white uppercase
           hover:bg-white hover:text-brand-dark transition-all duration-300 ease-out backdrop-blur-sm;
}

.btn-outline-dark {
    @apply inline-flex justify-center items-center border border-gray-300 px-8 py-4
           text-sm font-medium tracking-[0.15em] text-brand-dark uppercase
           hover:bg-gray-100 hover:border-transparent transition-all duration-300 ease-out;
}

/* --- Scroll Reveal Animations --- */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* --- FAQ Accordion --- */
.faq-answer {
    transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                opacity 0.5s ease-in-out,
                margin 0.5s ease-in-out;
}

/* --- Active nav link --- */
.nav-link {
    @apply text-sm tracking-widest uppercase text-brand-muted hover:text-brand-accent transition-colors duration-300;
}
.nav-link.active {
    @apply text-brand-accent;
}

/* --- Skip-to-content (a11y) --- */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 999;
    padding: 0.75rem 1.5rem;
    background: #C5A880;
    color: #fff;
    font-size: 0.875rem;
    text-decoration: none;
}
.skip-link:focus {
    left: 0;
}
