/* SCAC — Design System & Core Styles */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@700&display=swap');

:root {
    --brand-black: #000000;
    --brand-gold: #c9a227;
    --brand-gold-dark: #a8851c;
    --brand-gold-light: #e2c050;
    --accent-red: #b91c1c;
    --accent-green: #15803d;
    --accent-green-soft: #dcfce7;
    --color-bg: #fafafa;
    --color-surface: #ffffff;
    --color-text: #27272a;
    --color-text-muted: #71717a;
    --color-border: #e4e4e7;
    --gold: #c9a227;
    --shadow-lg: 0 10px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.08);
    --shadow-premium: 0 20px 40px -12px rgb(201 162 39 / 0.15);
    --transition-fast: 0.15s ease;
    --transition-base: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

body {
    font-family: 'Inter', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.heading-font {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700;
}

.section-header {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    line-height: 1.1;
    font-weight: 700;
}

.brand-name { display: inline; font-weight: 700; }
.brand-sc { color: var(--gold); }
/* .brand-ac { color: var(--accent-red); } */
.brand-ac { color: #FF0000 !important; }
.brand-sc-on-dark { color: var(--gold); }
/* .brand-sc-on-dark { color: #FF0000 !important;; } */
.brand-ac-on-dark { color: var(--accent-red); }

.skip-link {
    position: absolute;
    top: -100%;
    left: 1rem;
    z-index: 9999;
    padding: 0.75rem 1.25rem;
    background: var(--brand-black);
    color: #fff;
    border-radius: 0.75rem;
    font-weight: 600;
    text-decoration: none;
}

.skip-link:focus {
    top: 1rem;
    outline: 2px solid var(--brand-gold);
    outline-offset: 2px;
}

.site-nav { backdrop-filter: blur(12px); background: rgb(255 255 255 / 0.92); }

.nav-link { transition: color var(--transition-fast); }
.nav-link:hover, .nav-link:focus-visible { color: var(--brand-gold); }
.nav-link-active { color: var(--brand-gold); font-weight: 600; }

.gold-btn, .btn-primary {
    background: linear-gradient(135deg, var(--brand-gold), var(--brand-gold-light));
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.gold-btn:hover, .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-premium);
}

.emerald-btn, .btn-submit {
    background: linear-gradient(135deg, var(--brand-black), #1a1a1a);
}

.gold-gradient {
    background: linear-gradient(135deg, var(--brand-gold), var(--brand-gold-light), #b8951e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-red {
    color: #FF0000 !important;
    -webkit-text-fill-color: #FF0000 !important;
}

.trust-bar { background: linear-gradient(to right, #f8fafc, #f5eef0); }
.notice-card {
    background: var(--accent-green-soft);
    border: 1px solid #86efac;
    color: #166534;
}
.notice-card strong { color: var(--accent-green); }
.accent-green { color: var(--accent-green); }
.accent-green-bg { background-color: var(--accent-green); }
.upload-status { min-height: 1.25rem; }
.upload-dropzone {
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    transition: border-color var(--transition-fast), background-color var(--transition-fast);
}
.upload-dropzone:hover,
.upload-dropzone:focus-within {
    border-color: var(--accent-green);
    background: #f0fdf4;
}
.social-link {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border: 1px solid rgba(201, 162, 39, 0.3);
    background: rgba(255, 255, 255, 0.04);
    color: var(--gold);
    transition: transform var(--transition-base), background-color var(--transition-base), color var(--transition-base);
}
.social-link:hover {
    transform: translateY(-2px);
    background: rgba(201, 162, 39, 0.15);
    color: #fff7d6;
}

.service-card {
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.service-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}

.form-step { display: none; }
.form-step.active { display: block; }
.progress-bar { transition: width 0.4s ease; }

.finance-input { transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }

.finance-input:focus {
    border-color: var(--brand-gold);
    box-shadow: 0 0 0 3px rgb(201 162 39 / 0.12);
    outline: none;
}

.step-number {
    background: linear-gradient(135deg, var(--brand-gold), var(--brand-gold-light));
    color: white;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    font-weight: 700;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.modal { animation: modalPop 0.3s ease forwards; }

.page-main {
    max-width: 56rem;
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 4vw, 1.5rem);
}

.page-prose { font-size: 1.125rem; line-height: 1.75; color: var(--color-text-muted); }
.page-prose h2 { font-size: 1.75rem; font-weight: 700; color: var(--color-text); margin-top: 3rem; margin-bottom: 1.5rem; }
.page-prose a { color: var(--brand-gold); font-weight: 600; }

.site-footer { background: #09090b; color: #a1a1aa; font-size: 0.875rem; padding: 3rem clamp(1rem, 4vw, 2rem); }
.site-footer a { color: #d4d4d8; }
.site-footer a:hover { color: #fff; }

:focus-visible { outline: 2px solid var(--brand-gold); outline-offset: 2px; }
::selection { background: rgb(201 162 39 / 0.2); }
