/* Centralized site styles extracted from HTML pages */

/* Hero */
.hero-bg {
    background: linear-gradient(135deg, #1a365d 0%, #2d3748 50%, #1a365d 100%);
    position: relative;
    overflow: hidden;
}
.hero-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('resources/hero-law-office.png') center/cover;
    opacity: 0.3;
    z-index: 1;
}
.hero-content { position: relative; z-index: 2; }

/* Gradient text with fallback */
.gradient-text {
    background: linear-gradient(135deg, #d69e2e, #f6e05e);
    /* Visible fallback color for browsers without background-clip:text */
    color: #d69e2e;
    display: inline-block;
}
@supports (-webkit-background-clip: text) {
    .gradient-text {
        -webkit-background-clip: text;
        -webkit-text-fill-color: default;
        background-clip: text;
    }
}

/* Utility / common */
.card-hover { transition: all 0.3s ease; }
.card-hover:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(26,54,93,0.15); }
.btn-primary { background: linear-gradient(135deg, #d69e2e, #f6e05e); transition: all 0.3s ease; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(214,158,46,0.3); }
.particle-bg { position: absolute; top:0; left:0; width:100%; height:100%; z-index:1; }

.service-icon {
    width: 60px; height: 60px; background: linear-gradient(135deg,#1a365d,#2d3748);
    border-radius:50%; display:flex; align-items:center; justify-content:center; color:white; font-size:24px; margin-bottom:20px;
}
.site-logo { width:36px; height:auto; display:inline-block; }
.stats-counter { font-size:3rem; font-weight:700; color:#d69e2e; }

.nav-link { position:relative; transition: color 0.3s ease; }
.nav-link::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:#d69e2e; transition: width 0.3s ease; }
.nav-link:hover::after, .nav-link.active::after { width:100%; }

.scroll-indicator { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); animation:bounce 2s infinite; }
@keyframes bounce { 0%,20%,50%,80%,100%{ transform:translateX(-50%) translateY(0);} 40%{ transform:translateX(-50%) translateY(-10px);} 60%{ transform:translateX(-50%) translateY(-5px);} }

.splitting .char { animation: fadeInUp 0.6s ease forwards; opacity:0; transform: translateY(20px); }
@keyframes fadeInUp { to { opacity:1; transform:translateY(0); } }

/* Page-specific */
/* About / timeline */
.timeline-item { position:relative; padding-left:2rem; }
.timeline-item::before { content:''; position:absolute; left:0; top:0.5rem; width:12px; height:12px; background:#d69e2e; border-radius:50%; }
.timeline-item::after { content:''; position:absolute; left:5px; top:1.25rem; width:2px; height:calc(100% - 1rem); background:#e2e8f0; }
.timeline-item:last-child::after { display:none; }
.credential-badge { background: linear-gradient(135deg,#1a365d,#2d3748); color:white; padding:1rem; border-radius:1rem; text-align:center; transition: all 0.3s ease; }
.credential-badge:hover { transform:scale(1.05); box-shadow:0 10px 30px rgba(26,54,93,0.3); }
.expertise-chart { height:300px; }

/* Contact form */
.form-input { transition: all 0.3s ease; }
.form-input:focus { box-shadow: 0 0 0 3px rgba(214,158,46,0.1); border-color:#d69e2e; }
.form-step { transition: all 0.5s ease; }
.form-step.hidden { display:none; }
.step-indicator { width:40px; height:40px; border-radius:50%; background:#e2e8f0; color:#64748b; display:flex; align-items:center; justify-content:center; font-weight:600; transition:all 0.3s ease; }
.step-indicator.active { background:linear-gradient(135deg,#d69e2e,#f6e05e); color:white; }
.step-indicator.completed { background:linear-gradient(135deg,#1a365d,#2d3748); color:white; }
.contact-card { background: linear-gradient(135deg,#1a365d,#2d3748); color:white; }
.map-container { height:400px; background: linear-gradient(135deg,#f7fafc,#e2e8f0); border-radius:1rem; overflow:hidden; }

/* Services page filters */
.filter-btn { transition: all 0.3s ease; }
.filter-btn.active { background: linear-gradient(135deg,#1a365d,#2d3748); color:white; transform:translateY(-2px); box-shadow:0 8px 20px rgba(26,54,93,0.3); }
.service-card { transition: all 0.3s ease; }
.service-card.hidden { display:none; }

/* Resources */
.resource-card { transition: all 0.3s ease; }
.search-input { transition: all 0.3s ease; }
.search-input:focus { box-shadow: 0 0 0 3px rgba(214,158,46,0.1); border-color:#d69e2e; }

/* Footer / common */
.footer-hr { border-top: 1px solid rgba(255,255,255,0.08); }

/* Small helpers */
.text-gold { color: #d69e2e; }

/* End of centralized styles */
