/* ========== HERO ========== */
.hero-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}
.hero-bg { position: absolute; inset: 0; z-index: 0; }
.hero-bg-img { width: 100%; height: 100%; object-fit: cover; opacity: 0.3; }
.hero-overlay {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(to right, rgba(10,10,10,0.95) 0%, rgba(10,10,10,0.7) 50%, rgba(10,10,10,0.3) 100%);
}
.hero-content {
    position: relative; z-index: 2;
    display: flex; align-items: center; justify-content: space-between; gap: 3rem;
    padding-top: 4rem; padding-bottom: 4rem;
}
.hero-text { max-width: 672px; } /* max-w-2xl */
.hero-label {
    font-size: 0.875rem; color: var(--white-60); letter-spacing: 0.2em;
    text-transform: uppercase; margin-bottom: 1rem; font-weight: 500;
}
.hero-h1 {
    font-size: clamp(3rem, 8vw, 6rem); font-weight: 800;
    line-height: 1; letter-spacing: -0.025em; margin-bottom: 2rem;
}
.hero-portrait { flex-shrink: 0; max-width: 400px; }
.hero-portrait img { width: 100%; }

/* Logo ticker — sits below hero as its own bar */
.media-logos-bar {
    background: var(--bg); border-top: 1px solid var(--white-10); border-bottom: 1px solid var(--white-10);
    padding: 1.5rem 0; overflow: hidden;
}
.media-logos-label {
    text-align: center; font-size: 0.75rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em; color: var(--white-50); margin-bottom: 1rem;
}
.logos-track {
    display: flex; align-items: center; gap: 4rem;
    animation: scroll-logos 30s linear infinite; width: max-content;
}
.logos-track img { height: 28px; width: auto; opacity: 0.6; filter: brightness(0) invert(1); flex-shrink: 0; }
@keyframes scroll-logos { 0% { transform: translateX(0); } 100% { transform: translateX(-33.333%); } }

/* ========== WATCH OUR STORY (bg-white on source) ========== */
.watch-story-section {
    background: #ffffff; color: #0a0a0a;
}
.watch-label {
    font-size: 0.75rem; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.1em; color: var(--accent); margin-bottom: 0.5rem; text-align: center;
}
.watch-title { color: #0a0a0a; text-transform: none; letter-spacing: 0; }
.watch-desc { text-align: center; color: #666; max-width: 700px; margin: 0 auto 2rem; }
.watch-video { max-width: 900px; margin: 0 auto; border-radius: 8px; overflow: hidden; }
.play-btn--large { width: 96px; height: 96px; border-radius: 50%; background: var(--accent); }
.play-btn--large::after { border-width: 14px 0 14px 24px; }
.watch-cta-label {
    text-align: center; margin-top: 1rem; font-size: 0.875rem;
    font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: #333;
}

/* ========== WHY CLIENTS CHOOSE — alternating rows ========== */
.why-choose-section { background: #ffffff; color: #0a0a0a; }

.why-choose-banner {
    background: var(--accent); color: var(--white);
    padding: 1rem 2rem; text-align: center; margin-bottom: 3rem;
}
.why-choose-banner h2 { font-size: 1.5rem; margin-bottom: 0; color: var(--white); }

.feature-row {
    display: grid; grid-template-columns: 1fr 1fr; gap: 3rem;
    align-items: center; padding: 3rem 0;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}
.feature-row--reverse { direction: rtl; }
.feature-row--reverse > * { direction: ltr; }

.feature-row-image { position: relative; overflow: hidden; border-radius: 8px; }
.feature-row-image img { width: 100%; height: 350px; object-fit: cover; }

.feature-badge {
    position: absolute; top: 1rem; left: 1rem;
    background: var(--accent); color: var(--white);
    font-size: 2rem; font-weight: 800; padding: 0.5rem 1rem;
    line-height: 1;
}

.feature-netflix-overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(transparent, rgba(0,0,0,0.9));
    padding: 2rem 1.5rem 1.5rem;
    color: var(--white); text-align: center;
}
.feature-netflix-overlay span { display: block; font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; }
.feature-netflix-overlay strong { display: block; font-size: 2rem; color: #e50914; }

.feature-row-text h3 { font-size: 1.5rem; color: #0a0a0a; text-transform: none; letter-spacing: 0; margin-bottom: 0.75rem; }
.feature-row-text p { color: #555; }
.feature-stat-label { font-size: 0.875rem; font-weight: 600; color: #0a0a0a; margin: 0; }
.feature-sub { font-size: 0.75rem; color: #888; margin-bottom: 0.75rem; }

.why-choose-quote {
    background: #ffffff; padding: 3rem 0; text-align: center;
}
.why-choose-quote blockquote { border-left: none; padding: 0; max-width: 700px; margin: 0 auto; }
.why-choose-quote p { font-size: 1.25rem; font-style: italic; color: #333; }
.why-choose-quote cite {
    display: block; margin-top: 1rem; font-style: normal;
    font-weight: 700; letter-spacing: 0.1em; color: var(--accent); font-size: 0.875rem;
}

/* ========== TESTIMONIALS — left/right split ========== */
.testimonials-section { background: var(--bg); }

.testimonial-layout {
    display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center;
}
.testimonial-text .section-label { color: var(--accent); }
.testimonial-text h2 { margin-bottom: 0.5rem; }
.testimonial-text .section-subtitle { color: var(--white-70); margin-bottom: 1rem; }
.testimonial-stars { color: var(--accent); font-size: 1.5rem; letter-spacing: 0.25em; margin-bottom: 1.5rem; }

.testimonial-quote { border-left: none; padding: 0; margin: 0; }
.testimonial-quote p { font-size: 1.125rem; font-style: italic; color: var(--white); }
.testimonial-quote cite { display: block; margin-top: 1rem; font-size: 0.875rem; font-style: normal; color: var(--accent); font-weight: 600; }

.testimonial-images-stack { position: relative; height: 400px; }
.timg { position: absolute; width: 60%; height: 250px; object-fit: cover; border: 3px solid var(--white-10); }
.timg-1 { top: 0; left: 0; z-index: 3; }
.timg-2 { top: 50px; left: 30%; z-index: 2; }
.timg-3 { top: 100px; right: 0; z-index: 1; }

/* ========== PRESS COVERAGE — Polaroid collage ========== */
.press-section { background: var(--bg); overflow: hidden; }

.press-collage {
    position: relative; min-height: 500px;
    display: flex; align-items: center; justify-content: center;
}

.press-center-text {
    position: relative; z-index: 10;
    text-align: center; background: rgba(10,10,10,0.9);
    padding: 2rem 3rem; max-width: 400px;
}
.press-center-text h2 { font-size: 2.5rem; line-height: 1.2; margin-bottom: 1rem; }
.press-center-text p { color: var(--white-70); font-size: 0.875rem; }

.press-polaroid {
    position: absolute; width: 180px; background: var(--white);
    padding: 8px 8px 30px; transform: rotate(var(--rotation, 0deg));
    box-shadow: 0 4px 20px rgba(0,0,0,0.5); z-index: 5;
}
.press-polaroid img { width: 100%; height: 120px; object-fit: cover; }
.press-polaroid-label { display: block; text-align: center; font-size: 0.625rem; font-weight: 700; color: #333; margin-top: 8px; letter-spacing: 0.05em; }

.press-polaroid-0 { top: 5%; left: 5%; }
.press-polaroid-1 { top: 10%; right: 8%; }
.press-polaroid-2 { top: 55%; left: 3%; }
.press-polaroid-3 { top: 60%; right: 5%; }
.press-polaroid-4 { top: 25%; left: 15%; }
.press-polaroid-5 { top: 30%; right: 15%; }
.press-polaroid-6 { bottom: 5%; left: 20%; }
.press-polaroid-7 { bottom: 8%; right: 20%; }

/* ========== CASE RESULTS — bg image overlay ========== */
.case-results-section {
    position: relative; border-top: 4px solid var(--accent); border-bottom: 4px solid var(--accent);
}
.case-results-bg { position: absolute; inset: 0; }
.case-results-bg-img { width: 100%; height: 100%; object-fit: cover; opacity: 0.15; }
.case-results-overlay { position: absolute; inset: 0; background: rgba(10,10,10,0.85); }

.case-result-card { padding: 1.5rem; border: 1px solid var(--white-10); text-align: center; }
.case-result-outcome { font-size: 1rem; font-weight: 700; color: var(--accent); margin-bottom: 0.5rem; }
.case-result-charge { font-size: 0.8125rem; color: var(--white-70); }

/* ========== PRACTICE AREAS + ABOUT (combined, bg-white) ========== */
.pa-about-section { background: #ffffff; color: #0a0a0a; }

.pa-about-layout {
    display: grid; grid-template-columns: 1fr 3fr; gap: 3rem;
}

.pa-sidebar { }
.pa-category { margin-bottom: 1rem; border-bottom: 1px solid rgba(0,0,0,0.08); padding-bottom: 1rem; }
.pa-category h4 { font-size: 0.875rem; font-weight: 700; color: #0a0a0a; margin-bottom: 0.5rem; cursor: pointer; text-transform: uppercase; letter-spacing: 0.05em; }
.pa-category ul { list-style: none; padding-left: 0.5rem; }
.pa-category li { margin-bottom: 0.25rem; }
.pa-category a { color: #666; font-size: 0.8125rem; text-decoration: none; transition: color 0.15s; }
.pa-category a:hover { color: var(--accent); }

.pa-about-title { font-size: 2rem; color: #0a0a0a; text-transform: none; letter-spacing: 0; line-height: 1.3; margin-bottom: 1rem; }
.pa-about-subtitle { font-size: 1.25rem; color: #555; text-transform: none; letter-spacing: 0; font-weight: 400; margin-bottom: 1rem; }
.pa-about-cta-text { font-size: 1.125rem; color: var(--accent); margin-top: 1.5rem; text-transform: none; letter-spacing: 0; }
.pa-about-content p { color: #555; }
.pa-about-content a { color: var(--accent); text-decoration: underline; }

/* ========== MEDIA INTERVIEWS ========== */
.interviews-section { background: #ffffff; color: #0a0a0a; }
.interviews-section .section-label { color: var(--accent); }
.interviews-section h2 { color: #0a0a0a; }
.interviews-subtitle { font-size: 1.25rem; color: #0a0a0a; }
.interviews-section .text-muted { color: #666; }

.network-badges { display: flex; justify-content: center; gap: 2rem; margin-top: 1.5rem; }
.network-badges span { font-size: 0.875rem; font-weight: 700; letter-spacing: 0.1em; color: #888; }

.interviews-section .section-header { margin-bottom: 3rem; }

.interview-card { position: relative; background: #f9f9f9; border-color: rgba(0,0,0,0.1); }
.interview-card .card-body h3 { color: #0a0a0a; }
.interview-card .card-body p { color: #666; }
.interview-card .text-faint { color: #999; }

.more-appearances { margin-top: 3rem; }
.more-appearances-title { font-size: 1.125rem; color: #0a0a0a; margin-bottom: 1.5rem; text-align: center; }
.appearances-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem;
}
.appearances-grid .video-thumb { border-radius: 4px; overflow: hidden; }

/* ========== CONSULTATION FORM ========== */
.consultation-section { position: relative; }
.consultation-bg { position: absolute; inset: 0; }
.consultation-bg-img { width: 100%; height: 100%; object-fit: cover; opacity: 0.15; }
.consultation-bg-overlay { position: absolute; inset: 0; background: linear-gradient(rgba(10,10,10,0.9), rgba(10,10,10,0.95)); }

.consultation-inner { max-width: 1152px; margin: 0 auto; }
.consultation-inner h2 { font-size: 1.75rem; text-transform: none; letter-spacing: 0; margin-bottom: 2rem; }

.consultation-form { display: flex; flex-direction: column; gap: 1rem; }
.consultation-form-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.consultation-form .form-input,
.consultation-form .form-textarea {
    background: rgba(42,42,42,1); border-bottom: 2px solid var(--white-25); border-top: none; border-left: none; border-right: none;
}
