/* ===== HERO ===== */
.interior-hero {
    background: linear-gradient(135deg, var(--sand) 0%, var(--cream) 100%);
    padding: 4.4rem 4rem 5rem; text-align: center; position: relative; overflow: hidden;
}
.interior-hero::before {
    content: ''; position: absolute; top: -50%; right: -20%; width: 60%; height: 200%;
    background: radial-gradient(circle, rgba(212, 165, 116, 0.08) 0%, transparent 70%);
    pointer-events: none; animation: float 20s ease-in-out infinite;
}
@keyframes float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-20px) rotate(10deg); } }
.hero-container { max-width: 900px; margin: 0 auto; position: relative; z-index: 2; }
.hero-badge { display: inline-block; font-size: 0.75rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--warm-taupe); font-weight: 700; margin-bottom: 1.5rem; padding: 0.5rem 1.5rem; background: rgba(255,255,255,0.5); border-radius: 20px; animation: fadeInDown 0.8s ease-out; }
@keyframes fadeInDown { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } }
.interior-hero h1 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(3.5rem, 7vw, 5.5rem); line-height: 1; color: var(--espresso); margin-bottom: 1.5rem; letter-spacing: -0.02em; animation: fadeInUp 0.8s ease-out 0.2s both; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
.interior-hero h2 { font-size: 1.25rem; font-weight: 500; color: var(--warm-taupe); line-height: 1.6; max-width: 700px; margin: 0 auto 3rem; animation: fadeInUp 0.8s ease-out 0.4s both; }
.hero-cta-button { display: inline-block; background: var(--warm-beige-darker); color: var(--pure-white); padding: 1.2rem 3rem; text-decoration: none; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 50px; transition: all 0.3s ease; box-shadow: 0 6px 25px rgba(212, 165, 116, 0.3); animation: fadeInUp 0.8s ease-out 0.6s both; position: relative; overflow: hidden; }
.hero-cta-button::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(255,255,255,0.1); transform: translate(-50%, -50%); transition: width 0.5s ease, height 0.5s ease; }
.hero-cta-button:hover::before { width: 300%; height: 300%; }
.hero-cta-button:hover { background: var(--warm-taupe); transform: translateY(-2px); box-shadow: 0 8px 35px rgba(212, 165, 116, 0.4); }

/* ===== TRUST BADGES ===== */
.trust-badges { display: flex; justify-content: center; gap: 3rem; margin-top: 3rem; animation: fadeInUp 0.8s ease-out 0.8s both; }
.trust-badge { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; background: rgba(255, 255, 255, 0.8); border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); }
.trust-badge svg { width: 24px; height: 24px; color: var(--warm-beige-dark); }
.trust-badge span { font-size: 0.85rem; font-weight: 600; color: var(--espresso); }

/* ===== PROFESSIONS GRID (Updated) ===== */
.professions-section { padding: 4rem 4rem; background: var(--pure-white); }
.professions-container { max-width: 1200px; margin: 0 auto; }
.section-title { text-align: center; font-family: 'Bebas Neue', sans-serif; font-size: clamp(2.5rem, 5vw, 3.5rem); color: var(--espresso); margin-bottom: 1rem; }
.section-subtitle { text-align: center; font-size: 1.125rem; color: var(--warm-taupe); margin-bottom: 3rem; max-width: 700px; margin-left: auto; margin-right: auto; }

.professions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-top: 3rem;
}

.profession-card {
    background: var(--cream);
    padding: 1.25rem;
    border-radius: 12px;
    text-align: center;
    transition: all 0.3s ease;
    border: 1px solid var(--sand);
}

.profession-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(212, 165, 116, 0.1);
    border-color: var(--warm-beige);
}

.profession-icon {
    width: 40px;
    height: 40px;
    background: var(--warm-beige);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.75rem;
    color: var(--pure-white);
}

.profession-icon svg {
    width: 20px;
    height: 20px;
}

.profession-name {
    font-weight: 700;
    color: var(--espresso);
    margin-bottom: 0.25rem;
    font-size: 0.9rem;
}

.profession-type {
    font-size: 0.75rem;
    color: var(--gray-600);
    line-height: 1.2;
}

/* ===== BOARD REQUIREMENTS ===== */
.requirements-section { padding: 5rem 4rem; background: var(--cream); }
.requirements-container { max-width: 1000px; margin: 0 auto; }

.requirements-box {
    background: var(--pure-white);
    border-radius: 20px;
    padding: 3rem;
    box-shadow: 0 12px 40px rgba(0,0,0,0.06);
    border: 1px solid var(--warm-beige);
}

.requirements-box h3 {
    font-size: 1.5rem;
    color: var(--espresso);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.board-icon {
    width: 32px;
    height: 32px;
    color: var(--warm-beige-dark);
}

.requirements-list {
    list-style: none;
    padding-left: 0;
}

.requirements-list li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
    background: var(--cream);
    border-radius: 10px;
    transition: all 0.3s ease;
}

.requirements-list li:hover {
    transform: translateX(5px);
    background: var(--sand);
}

.requirements-list svg {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: var(--success-green);
    margin-top: 2px;
}

/* ===== LIABILITY CLARIFICATION ===== */
.liability-section { padding: 5rem 4rem; background: var(--pure-white); }
.liability-container { max-width: 1000px; margin: 0 auto; }

.liability-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.liability-card {
    background: var(--cream);
    padding: 2rem;
    border-radius: 16px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.liability-card.protected {
    border-color: var(--success-green);
}

.liability-card.not-protected {
    border-color: var(--danger-red);
}

.liability-card h4 {
    font-size: 1.125rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.liability-card.protected h4 {
    color: var(--success-green);
}

.liability-card.not-protected h4 {
    color: var(--danger-red);
}

.liability-items {
    list-style: none;
}

.liability-items li {
    padding: 0.5rem 0;
    font-size: 0.95rem;
    color: var(--gray-700);
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.liability-items svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 2px;
}

/* ===== COMPARISON TABLE ===== */
.comparison-section { padding: 5rem 4rem; background: var(--cream); }
.comparison-container { max-width: 1100px; margin: 0 auto; }

.comparison-table-wrapper { 
    overflow-x: auto; 
    margin-top: 3rem; 
    border-radius: 16px; 
    box-shadow: 0 8px 32px rgba(0,0,0,0.08); 
    position: relative;
}

.comparison-table { 
    width: 100%; 
    background: var(--pure-white); 
    border-collapse: separate; 
    border-spacing: 0; 
}

.comparison-table thead { 
    background: var(--espresso); 
    color: var(--pure-white); 
}

.comparison-table th { 
    padding: 1.5rem 1.25rem; 
    text-align: left; 
    font-weight: 700; 
    letter-spacing: 0.05em; 
    font-size: 0.9rem; 
    text-transform: uppercase; 
    white-space: nowrap; 
    position: relative;
}

.comparison-table th[scope="col"]:first-child { 
    border-top-left-radius: 16px; 
}

.comparison-table th[scope="col"]:last-child { 
    border-top-right-radius: 16px; 
    text-align: center; 
}

.table-badge {
    display: inline-block;
    background: var(--warm-beige);
    color: var(--pure-white);
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 0.5rem;
    margin-right: 0.3rem;
}

.comparison-table tbody tr { border-bottom: 1px solid var(--gray-200); transition: all 0.3s ease; }
.comparison-table tbody tr:hover { background: rgba(212, 165, 116, 0.05); }
.comparison-table tbody tr:last-child { border-bottom: none; }
.comparison-table td, .comparison-table th[scope="row"] { padding: 1.25rem; font-size: 0.95rem; color: var(--gray-700); }
.comparison-table th[scope="row"] { font-weight: 600; color: var(--espresso); text-align: left; }
.comparison-table td:last-child { text-align: center; }
.check-mark { color: var(--success-green); font-size: 1.25rem; font-weight: bold; }
.x-mark { color: #666666; font-size: 1.25rem; }
.partial-mark { color: var(--warm-beige-dark); font-size: 0.9rem; }
.highlight-column { background: linear-gradient(180deg, rgba(212, 165, 116, 0.05) 0%, rgba(212, 165, 116, 0.02) 100%); }

/* ===== WHAT'S INCLUDED ===== */
.included-section { padding: 5rem 4rem; background: var(--pure-white); }
.included-container { max-width: 1200px; margin: 0 auto; }
.included-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 2rem; margin-top: 3rem; }
.included-card { background: var(--pure-white); padding: 2.5rem; border-radius: 16px; transition: all 0.3s ease; border: 1px solid var(--gray-200); position: relative; overflow: hidden; }
.included-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--warm-beige), var(--light-beige)); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; }
.included-card:hover::before { transform: scaleX(1); }
.included-card:hover { border-color: var(--warm-beige); transform: translateY(-5px); box-shadow: 0 12px 32px rgba(212, 165, 116, 0.12); }
.included-icon { width: 48px; height: 48px; background: var(--warm-beige); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; color: var(--pure-white); }
.included-card h3 { font-size: 1.25rem; color: var(--espresso); margin-bottom: 0.75rem; font-weight: 700; }
.included-card p { font-size: 0.95rem; color: var(--gray-600); line-height: 1.6; margin-bottom: 1.5rem; }
.included-items { list-style: none; }
.included-items li { display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem; font-size: 0.9rem; color: var(--gray-700); }
.included-items svg { flex-shrink: 0; width: 16px; height: 16px; color: var(--success-green); margin-top: 2px; }

/* ===== TESTIMONIALS ===== */
.testimonials-section { padding: 5rem 4rem; background: var(--cream); }
.testimonials-container { max-width: 1200px; margin: 0 auto; }

.testimonials-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); 
    gap: 2rem; 
    margin-bottom: 3rem;
}

.testimonial-card { 
    background: var(--pure-white); 
    padding: 2rem; 
    border-radius: 16px; 
    position: relative; 
    transition: all 0.3s ease; 
    border: 1px solid var(--gray-200); 
}

.testimonial-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 12px 32px rgba(212, 165, 116, 0.1); 
}

.quote-icon { 
    position: absolute; 
    top: 1.5rem; 
    right: 1.5rem; 
    width: 40px; 
    height: 40px; 
    color: var(--warm-beige); 
    opacity: 0.3; 
}

.testimonial-content {
    font-size: 1rem;
    color: var(--gray-700);
    line-height: 1.7;
    margin-bottom: 1.5rem;
    font-style: italic;
}

.testimonial-author {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1rem;
    border-top: 1px solid var(--gray-200);
}

.author-info {
    flex: 1;
}

.author-name {
    font-weight: 700;
    color: var(--espresso);
    margin-bottom: 0.25rem;
}

.author-title {
    font-size: 0.875rem;
    color: var(--gray-600);
}

.testimonial-source {
    font-size: 0.75rem;
    color: var(--warm-beige-dark);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ===== PRICING (Updated to $4,995) ===== */
.pricing-section { padding: 5rem 4rem; background: linear-gradient(135deg, var(--sand) 0%, var(--cream) 100%); }
.pricing-container { max-width: 500px; margin: 0 auto; text-align: center; }
.price-card { background: var(--pure-white); border-radius: 20px; padding: 3rem; box-shadow: 0 20px 60px rgba(0,0,0,0.08); border: 2px solid var(--warm-beige); margin-top: 3rem; position: relative; overflow: hidden; }
.price-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 5px; background: linear-gradient(90deg, var(--warm-beige), var(--light-beige), var(--warm-beige)); background-size: 200% 100%; animation: shimmer 3s ease-in-out infinite; }
@keyframes shimmer { 0% { background-position: -200% center; } 100% { background-position: 200% center; } }
.price-amount { font-family: 'Bebas Neue', sans-serif; font-size: clamp(3rem, 6vw, 4rem); color: var(--warm-beige-dark); margin-bottom: 0.5rem; }
.price-label { font-size: 1.125rem; color: var(--espresso); font-weight: 600; margin-bottom: 2rem; }
.price-features { list-style: none; text-align: left; margin-bottom: 2rem; }
.price-features li { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--gray-100); font-size: 0.95rem; color: var(--gray-700); }
.price-features li:last-child { border-bottom: none; }
.price-features svg { flex-shrink: 0; width: 20px; height: 20px; color: var(--success-green); }
.price-cta { display: block; width: 100%; background: var(--warm-beige-darker); color: var(--pure-white); padding: 1rem; text-decoration: none; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; border-radius: 50px; transition: all 0.3s ease; font-size: 1rem; position: relative; overflow: hidden; }
.price-cta::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.1); transform: translate(-50%, -50%); transition: width 0.5s ease, height 0.5s ease; }
.price-cta:hover::before { width: 300%; height: 300%; }
.price-cta:hover { background: var(--warm-taupe); transform: translateY(-2px); box-shadow: 0 8px 25px rgba(139, 115, 85, 0.3); }

.state-fees-note { 
    margin-top: 1rem; 
    padding: 1rem; 
    background: var(--cream); 
    border-radius: 10px; 
    font-size: 0.9rem; 
    color: var(--gray-700); 
    text-align: left; 
}

.legal-note { 
    margin-top: 1rem; 
    font-size: 0.75rem; 
    color: var(--gray-500); 
    font-style: italic; 
}

/* ===== FINAL CTA & FOOTER ===== */
.final-cta-section { padding: 6rem 4rem; background: var(--espresso); color: var(--pure-white); text-align: center; }
.final-cta-container { max-width: 800px; margin: 0 auto; }
.final-cta-section h2 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(3rem, 6vw, 4rem); margin-bottom: 1.5rem; line-height: 1.1; }
.final-cta-section p { font-size: 1.25rem; color: var(--sand); margin-bottom: 3rem; line-height: 1.6; }
.cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.primary-cta { background: var(--pure-white); color: var(--espresso); padding: 1.25rem 3rem; text-decoration: none; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; border-radius: 50px; transition: all 0.3s ease; display: inline-block; }
.primary-cta:hover { background: var(--sand); transform: translateY(-2px); }
.secondary-cta { background: transparent; color: var(--pure-white); padding: 1.25rem 3rem; text-decoration: none; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; border: 2px solid var(--pure-white); border-radius: 50px; transition: all 0.3s ease; display: inline-block; }
.secondary-cta:hover { background: var(--pure-white); color: var(--espresso); }


/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    .comparison-table-wrapper { border-radius: 0; }
    .liability-grid { grid-template-columns: 1fr; }
    .professions-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}
@media (max-width: 768px) {
    .interior-hero { padding: 3rem 2rem 4rem; }
    .interior-hero h1 { font-size: 3rem; }
    .trust-badges { flex-direction: column; gap: 1rem; align-items: center; }
    .professions-section, .requirements-section, .liability-section,
    .comparison-section, .included-section, .testimonials-section,
    .faq-section, .pricing-section, .final-cta-section { padding: 3rem 2rem; }
    .section-title { font-size: 2.5rem; }
    .included-grid, .testimonials-grid { grid-template-columns: 1fr; }
    .cta-buttons { flex-direction: column; align-items: stretch; }
    .professions-grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }

}