/* ===================================================================
   Common style.css  •  Financial Advisor Site
   Notes:
   - All colors, spacing, and components unified.
   - Background variants: add .hero--dark / .hero--light and
     .service-hero--dark / .service-hero--light to choose gradients.
   =================================================================== */

/* ========== Root & Base ========== */
:root{
  --primary-navy:#1a237e;
  --secondary-gold:#ffd700;
  --text-dark:#333333;
  --text-light:#666666;
  --text-white:#ffffff;
  --bg-white:#ffffff;
  --bg-light:#f8f9fa;
  --border-light:#e9ecef;

  --shadow-light:0 2px 10px rgba(0,0,0,.1);
  --shadow-medium:0 4px 20px rgba(0,0,0,.15);
  --transition:all .3s ease;

  --container:1200px;
}

*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
  line-height:1.6;
  color:var(--text-dark);
  background:var(--bg-white);
}
img{max-width:100%;display:block;height:auto}
.container{max-width:var(--container);margin:0 auto;padding:0 1rem}
.section-title{ text-align:center;font-size:2.5rem;color:var(--primary-navy);margin-bottom:3rem }

/* Accessibility */
:focus-visible{outline:3px solid rgba(26,35,126,.35);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}

/* ========== Header & Navigation ========== */
.header{
  position:fixed;inset:0 0 auto 0;background:var(--bg-white);
  box-shadow:var(--shadow-light);z-index:1000;transition:var(--transition)
}
.header-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;min-height:70px}
.logo{font-size:1.5rem;font-weight:700;color:var(--primary-navy)}
.nav-menu{display:flex;list-style:none;gap:2rem}
.nav-menu a{
  text-decoration:none;color:var(--text-dark);font-weight:500;position:relative;transition:var(--transition)
}
.nav-menu a:hover,.nav-menu a.active{color:var(--primary-navy)}
.nav-menu a::after{
  content:'';position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--secondary-gold);transition:var(--transition)
}
.nav-menu a:hover::after,.nav-menu a.active::after{width:100%}
.mobile-menu-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--primary-navy);cursor:pointer}

/* Badge & Buttons */
.sebi-badge{
  background:var(--primary-navy);color:var(--text-white);
  padding:.25rem .75rem;border-radius:20px;font:.8rem/1.2 600 'Segoe UI',sans-serif
}
.cta-button{
  background:var(--secondary-gold);color:var(--text-dark);
  padding:.75rem 1.5rem;border:0;border-radius:25px;font-weight:600;
  text-decoration:none;cursor:pointer;transition:var(--transition);display:inline-block
}
.cta-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}

/* ========== Hero Sections ========== */
.hero{padding:120px 0 80px;position:relative;overflow:hidden}
.hero-content{position:relative;z-index:1;text-align:center;max-width:1000px;margin:0 auto}
.hero h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.2;margin-bottom:1rem}
.hero p{font-size:1.2rem;opacity:.9;max-width:600px;margin:0 auto 2rem}

/* Variants (apply as extra class on the section) */
.hero--light{background:linear-gradient(135deg,#f8f9fa 0%,#ffffff 100%)}
.hero--dark{background:linear-gradient(135deg,var(--primary-navy) 0%,#2c387e 100%);color:var(--text-white)}
.hero--dark .section-title,.hero--dark h1,.hero--dark p{color:var(--text-white)}

/* Optional grain overlay for dark hero */
.hero--dark::before{
  content:'';position:absolute;inset:0;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="g" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.05)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.03)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.04)"/></pattern></defs><rect width="100" height="100" fill="url(%23g)"/></svg>') center/cover no-repeat;
  opacity:.3
}

/* Service hero */
.service-hero{padding:120px 0 80px;position:relative;overflow:hidden;color:inherit}
.service-hero--dark{background:linear-gradient(135deg,var(--primary-navy) 0%,#2a3f8f 100%);color:var(--text-white)}
.service-hero--light{background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-white) 100%)}
.service-hero-content{text-align:center;max-width:800px;margin:0 auto;position:relative;z-index:2}
.service-hero h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.2;margin-bottom:1.5rem}
.service-hero p{font-size:1.3rem;opacity:.9;margin-bottom:2rem}

/* Page header (Contact) */
.page-header{padding:120px 0 60px;background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-white) 100%);text-align:center}
.page-title{font-size:3rem;color:var(--primary-navy);margin-bottom:1rem;font-weight:700}
.page-subtitle{font-size:1.2rem;color:var(--text-light);max-width:600px;margin:0 auto 2rem}
.office-hours{
  display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-white);
  padding:.75rem 1.5rem;border-radius:25px;box-shadow:var(--shadow-light)
}

/* ========== Home: Hero layout helpers ========== */
.hero-content.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.hero-image img{max-width:400px;border-radius:20px;box-shadow:var(--shadow-medium);margin:0 auto}
.trust-indicators{display:flex;gap:2rem;margin-top:2rem;justify-content:center}
.trust-item{text-align:center}
.trust-number{font-size:2rem;font-weight:700;color:var(--primary-navy)}
.trust-label{font-size:.9rem;color:var(--text-light)}

/* ========== Services (Home + Listing) ========== */
.services{padding:80px 0;background:var(--bg-white)}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.service-card{
  background:var(--bg-white);padding:2rem;border-radius:15px;box-shadow:var(--shadow-light);
  transition:var(--transition);text-align:center
}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}
.service-icon{
  width:60px;height:60px;background:var(--primary-navy);border-radius:50%;display:flex;
  align-items:center;justify-content:center;margin:0 auto 1rem;color:var(--text-white);font-size:1.5rem
}
.service-card h3{font-size:1.3rem;margin-bottom:1rem;color:var(--primary-navy)}
.service-card p{color:var(--text-light);line-height:1.6}

/* Service categories (Service page) */
.service-categories{padding:80px 0;background:var(--bg-white)}
.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}
.category-card{
  background:var(--bg-white);padding:2.5rem;border-radius:15px;box-shadow:var(--shadow-light);
  border:2px solid transparent;transition:var(--transition)
}
.category-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium);border-color:var(--secondary-gold)}
.category-icon{
  width:80px;height:80px;background:linear-gradient(135deg,var(--primary-navy),#2a3f8f);
  border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:var(--text-white);font-size:2rem
}
.category-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--primary-navy);text-align:center}
.category-card p{color:var(--text-light);text-align:center;margin-bottom:1.5rem}
.category-features{list-style:none;margin-bottom:1.5rem}
.category-features li{position:relative;padding:.5rem 0 .5rem 1.5rem;color:var(--text-light)}
.category-features li::before{content:'✓';position:absolute;left:0;color:var(--secondary-gold);font-weight:700}

/* ========== About ========== */
.about{padding:80px 0;background:var(--bg-light)}
.about-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.about-text h2{font-size:2.2rem;color:var(--primary-navy);margin-bottom:1.5rem}
.about-text p{margin-bottom:1.5rem;color:var(--text-light)}
.credentials{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.credential-badge{background:var(--primary-navy);color:var(--text-white);padding:.5rem 1rem;border-radius:20px;font-size:.9rem}
.about-image img{border-radius:15px;box-shadow:var(--shadow-medium)}

/* Journey / Timeline (About + Service page process) */
.timeline,.process-timeline{position:relative;max-width:800px;margin:0 auto}
.timeline::before,.process-timeline::before{
  content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--secondary-gold);transform:translateX(-50%)
}
.timeline-item{position:relative;margin-bottom:3rem;width:50%}
.timeline-item:nth-child(odd){left:0;padding-right:2rem;text-align:right}
.timeline-item:nth-child(even){left:50%;padding-left:2rem;text-align:left}
.timeline-content{background:var(--bg-light);padding:2rem;border-radius:15px;box-shadow:var(--shadow-light);position:relative}
.timeline-item:nth-child(odd) .timeline-content::after{
  content:'';position:absolute;right:-10px;top:50%;transform:translateY(-50%);
  border:10px solid transparent;border-left-color:var(--bg-light)
}
.timeline-item:nth-child(even) .timeline-content::after{
  content:'';position:absolute;left:-10px;top:50%;transform:translateY(-50%);
  border:10px solid transparent;border-right-color:var(--bg-light)
}
.timeline-year{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:var(--primary-navy);color:var(--text-white);width:60px;height:60px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;z-index:2
}
.timeline-title{font-size:1.3rem;font-weight:700;color:var(--primary-navy);margin-bottom:.5rem}
.timeline-description{color:var(--text-light);line-height:1.6}

/* ========== Story / Office (About) ========== */
.personal-story,.office-info{padding:80px 0;background:var(--bg-white)}
.story-content,.office-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.story-text h2,.office-details h2{font-size:2.2rem;color:var(--primary-navy);margin-bottom:1.5rem}
.story-text p{margin-bottom:1.5rem;color:var(--text-light);font-size:1.1rem;line-height:1.7}
.story-image img,.office-image img{border-radius:20px;box-shadow:var(--shadow-medium)}
.office-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}
.office-icon{
  width:40px;height:40px;background:var(--secondary-gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0
}
.office-text h4{color:var(--primary-navy);margin-bottom:.25rem}
.office-text p{color:var(--text-light)}

/* ========== Certifications (About) ========== */
.certifications{padding:80px 0;background:var(--bg-light)}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}
.cert-card{background:var(--bg-white);padding:2rem;border-radius:15px;box-shadow:var(--shadow-light);text-align:center;border-top:4px solid var(--secondary-gold)}
.cert-badge{
  width:60px;height:60px;background:var(--primary-navy);border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:var(--text-white);font-size:1.5rem
}
.cert-card h3{font-size:1.2rem;color:var(--primary-navy);margin-bottom:.5rem}
.cert-card p{color:var(--text-light);font-size:.9rem}

/* ========== Service Details (feature cards etc.) ========== */
.service-highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}
.highlight-item{display:flex;align-items:center;gap:.75rem}
.highlight-icon{
  width:24px;height:24px;background:var(--secondary-gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0
}
.service-description{padding:80px 0;background:var(--bg-white)}
.description-content{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start}
.description-text h2{font-size:2.2rem;color:var(--primary-navy);margin-bottom:2rem}
.description-text p{margin-bottom:1.5rem;color:var(--text-light);font-size:1.1rem}
.description-stats{background:var(--bg-light);padding:2rem;border-radius:15px;text-align:center}
.stat-item{margin-bottom:2rem}
.stat-number{font-size:2.5rem;font-weight:700;color:var(--primary-navy);display:block}
.stat-label{color:var(--text-light);font-size:.9rem}

/* Features grid (shared) */
.service-features,.features-grid{padding:80px 0;background:var(--bg-light)}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.feature-card{
  background:var(--bg-white);padding:2rem;border-radius:15px;box-shadow:var(--shadow-light);
  transition:var(--transition);text-align:center
}
.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}
.feature-icon{
  width:60px;height:60px;background:var(--primary-navy);border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:var(--text-white);font-size:1.5rem
}
.feature-card h3{font-size:1.3rem;margin-bottom:1rem;color:var(--primary-navy)}
.feature-card p{color:var(--text-light);line-height:1.6}

/* Left sticky nav + detail tabs (Service page) */
.service-details{padding:80px 0;background:var(--bg-light)}
.details-container{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:start}
.details-nav{position:sticky;top:100px}
.details-nav-item{
  display:block;width:100%;padding:1rem 1.5rem;background:var(--bg-white);border:0;border-radius:10px;
  margin-bottom:.5rem;text-align:left;cursor:pointer;transition:var(--transition);color:var(--text-dark);font-weight:500
}
.details-nav-item:hover,.details-nav-item.active{background:var(--primary-navy);color:var(--text-white)}
.detail-content{background:var(--bg-white);padding:2.5rem;border-radius:15px;box-shadow:var(--shadow-light);display:none}
.detail-content.active{display:block}
.detail-content h3{font-size:2rem;color:var(--primary-navy);margin-bottom:1.5rem}
.detail-content p{margin-bottom:1.5rem;color:var(--text-light)}
.detail-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:2rem 0}
.benefit-item{padding:1.5rem;background:var(--bg-light);border-radius:10px;text-align:center}
.benefit-icon{
  width:50px;height:50px;background:var(--secondary-gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.2rem
}

/* Process Steps (Service pages) */
.process-section,.service-process{padding:80px 0;background:var(--bg-white)}
.process-step{position:relative;margin-bottom:3rem;display:flex;align-items:center}
.process-step:nth-child(even){flex-direction:row-reverse}
.process-content,.step-content{
  width:45%;padding:2rem;background:var(--bg-light);border-radius:15px;box-shadow:var(--shadow-light)
}
.process-step:nth-child(even) .process-content{margin-right:10%}
.process-step:nth-child(odd) .process-content{margin-left:10%}
.process-number,.step-number{
  position:absolute;left:50%;transform:translateX(-50%);width:60px;height:60px;background:var(--primary-navy);
  color:var(--text-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;z-index:2
}
.process-content h4,.step-content h3{font-size:1.3rem;color:var(--primary-navy);margin-bottom:1rem}

/* Pricing (Service pages) */
.pricing-section{padding:80px 0;background:var(--bg-light)}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1000px;margin:0 auto}
.pricing-card{
  background:var(--bg-white);padding:2.5rem;border-radius:15px;box-shadow:var(--shadow-light);
  text-align:center;position:relative;transition:var(--transition)
}
.pricing-card.featured,.pricing-card.recommended{border:3px solid var(--secondary-gold);transform:scale(1.05)}
.pricing-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}
.pricing-card.featured:hover,.pricing-card.recommended:hover{transform:scale(1.05) translateY(-5px)}
.pricing-badge,.recommended-badge{
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  background:var(--secondary-gold);color:var(--text-dark);padding:.5rem 1.5rem;border-radius:20px;font-size:.9rem;font-weight:600
}
.pricing-title,.plan-name{font-size:1.5rem;color:var(--primary-navy);margin-bottom:1rem}
.pricing-price,.plan-price{font-size:2.5rem;color:var(--primary-navy);font-weight:700;margin-bottom:.5rem}
.pricing-period,.plan-period{color:var(--text-light);margin-bottom:2rem}
.pricing-features,.plan-features{list-style:none;margin-bottom:2rem}
.pricing-features li,.plan-features li{position:relative;padding:.75rem 0 .75rem 1.5rem;color:var(--text-light)}
.pricing-features li::before,.plan-features li::before{content:'✓';position:absolute;left:0;color:var(--secondary-gold);font-weight:700}

/* FAQ (Service pages) */
.faq-section{padding:80px 0;background:var(--bg-white)}
.faq-container{max-width:800px;margin:0 auto}
.faq-item{margin-bottom:1rem;background:var(--bg-light);border-radius:10px;overflow:hidden;border:1px solid var(--border-light)}
.faq-question{
  width:100%;padding:1.5rem;background:none;border:0;text-align:left;font-size:1.1rem;font-weight:600;
  color:var(--primary-navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:var(--transition)
}
.faq-question:hover{background:rgba(26,35,126,.05)}
.faq-answer{padding:0 1.5rem;max-height:0;overflow:hidden;transition:var(--transition)}
.faq-answer.active{padding:0 1.5rem 1.5rem;max-height:200px}
.faq-icon,.faq-toggle{transition:var(--transition)}
.faq-question.active .faq-icon,.faq-toggle.active{transform:rotate(180deg)}

/* ========== Testimonials (Home slider) ========== */
.testimonials{padding:4rem 0;background:var(--primary-navy);color:var(--text-white);position:relative;overflow:hidden}
.testimonials::before{
  content:'"';position:absolute;top:2rem;right:2rem;font-size:15rem;opacity:.1;font-family:serif;line-height:1;pointer-events:none
}
.testimonials .section-title{color:var(--text-white);margin-bottom:3rem}
.testimonials-slider{position:relative}
.testimonials-track{display:flex;transition:transform .3s ease}
.testimonials-slide{width:100%;flex-shrink:0;display:grid;grid-template-columns:1fr 1px 1fr;gap:3rem;align-items:center}
.testimonial-divider{width:1px;height:200px;background:rgba(255,255,255,.2)}
.testimonial{text-align:center;padding:0 1rem}
.testimonial-avatar{
  width:64px;height:64px;border-radius:50%;margin:0 auto 1rem;background:var(--secondary-gold);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--text-dark)
}
.testimonial-stars{display:flex;justify-content:center;gap:.25rem;margin-bottom:1rem}
.star{color:var(--secondary-gold);font-size:1.2rem}
.testimonial-quote{font-size:1.1rem;line-height:1.6;margin:0 auto 1.5rem;max-width:400px}
.testimonial-name{font-weight:700;font-size:1.1rem;margin-bottom:.25rem}
.testimonial-role{opacity:.7;font-size:.9rem}
.testimonials-nav{display:flex;justify-content:center;align-items:center;gap:2rem;margin-top:3rem}
.nav-arrow{
  background:none;border:1px solid rgba(255,255,255,.3);color:var(--text-white);
  width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)
}
.nav-arrow:hover{background:rgba(255,255,255,.1);border-color:var(--secondary-gold)}
.nav-arrow:disabled{opacity:.3;cursor:not-allowed}
.testimonials-dots{display:flex;gap:.5rem}
.dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:var(--transition)}
.dot.active{background:var(--secondary-gold)}

/* ========== Testimonials Page (grid) ========== */
.hero .trust-stats{display:flex;justify-content:center;gap:3rem;margin-top:3rem}
.trust-stat{text-align:center}
.trust-number{font-size:2.5rem;font-weight:700;color:var(--secondary-gold);display:block}
.trust-label{font-size:1rem;opacity:.8;margin-top:.5rem}

.testimonials-section{padding:80px 0;background:var(--bg-white)}
.filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}
.filter-btn{
  background:var(--bg-light);border:2px solid transparent;padding:.75rem 1.5rem;border-radius:25px;
  font-weight:500;cursor:pointer;transition:var(--transition);color:var(--text-dark)
}
.filter-btn:hover,.filter-btn.active{background:var(--primary-navy);color:var(--text-white);border-color:var(--primary-navy)}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem;margin-bottom:3rem}
.testimonial-card{
  background:var(--bg-white);padding:2rem;border-radius:15px;box-shadow:var(--shadow-light);
  transition:var(--transition);border:1px solid var(--border-light)
}
.testimonial-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}
.testimonial-card.hidden{display:none}
.testimonial-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.client-avatar{
  width:60px;height:60px;border-radius:50%;background:var(--primary-navy);
  display:flex;align-items:center;justify-content:center;color:var(--text-white);font-size:1.2rem;font-weight:700
}
.client-info h3{font-size:1.2rem;color:var(--primary-navy);margin-bottom:.25rem}
.client-role{color:var(--text-light);font-size:.9rem}
.rating{display:flex;gap:.25rem;margin-bottom:1rem}
.testimonial-text{font-size:1.1rem;line-height:1.7;color:var(--text-dark);margin-bottom:1rem;font-style:italic}
.service-tag{display:inline-block;background:var(--bg-light);color:var(--primary-navy);padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:500}
.load-more{text-align:center}
.load-more-btn{
  background:var(--primary-navy);color:var(--text-white);padding:1rem 2rem;border:0;border-radius:25px;
  font-weight:600;cursor:pointer;transition:var(--transition);font-size:1rem
}
.load-more-btn:hover{background:#2c387e;transform:translateY(-2px)}

/* ========== Contact Page ========== */
.contact-content{padding:80px 0;background:var(--bg-white)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:2rem}
.contact-card{background:var(--bg-light);padding:2rem;border-radius:15px;box-shadow:var(--shadow-light);transition:var(--transition)}
.contact-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}
.contact-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.contact-icon{
  width:50px;height:50px;background:var(--primary-navy);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--text-white);font-size:1.2rem
}
.contact-card h3{color:var(--primary-navy);font-size:1.3rem}
.contact-card p{color:var(--text-light);margin-bottom:.5rem}
.contact-card a{color:var(--primary-navy);text-decoration:none;font-weight:500;transition:var(--transition)}
.contact-card a:hover{color:var(--secondary-gold)}
.map-container{background:var(--bg-light);border-radius:15px;overflow:hidden;height:250px;position:relative;box-shadow:var(--shadow-light)}
.map-placeholder{
  width:100%;height:100%;background-image:url('https://public.readdy.ai/gen_page/map_placeholder_1280x720.png');
  background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center
}
.map-overlay{background:rgba(26,35,126,.9);color:var(--text-white);padding:1rem;border-radius:10px;text-align:center}
.contact-form{background:var(--bg-white);padding:2.5rem;border-radius:15px;box-shadow:var(--shadow-medium)}
.form-title{font-size:1.8rem;color:var(--primary-navy);margin-bottom:1.5rem;text-align:center}
.form-group{margin-bottom:1.5rem}
.form-label{display:block;margin-bottom:.5rem;color:var(--text-dark);font-weight:500}
.form-input,.form-select,.form-textarea{
  width:100%;padding:.75rem 1rem;border:2px solid var(--border-light);border-radius:8px;font-size:1rem;transition:var(--transition);background:var(--bg-white)
}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:0;border-color:var(--primary-navy);box-shadow:0 0 0 3px rgba(26,35,126,.1)}
.form-textarea{resize:vertical;min-height:120px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.submit-button{
  width:100%;background:var(--primary-navy);color:var(--text-white);padding:1rem;border:0;border-radius:8px;
  font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--transition)
}
.submit-button:hover{background:#0d1456;transform:translateY(-2px);box-shadow:var(--shadow-medium)}
.submit-button:active{transform:translateY(0)}
.required{color:#e74c3c}
.success-message{background:#d4edda;color:#155724;padding:1rem;border-radius:8px;margin-bottom:1rem;display:none}

/* ========== CTA Generic ========== */
.cta-section{padding:80px 0;background:var(--bg-light);text-align:center}
.cta-section .cta-content h2{font-size:2.5rem;color:var(--primary-navy);margin-bottom:1rem}
.cta-section .cta-content p{font-size:1.2rem;color:var(--text-light);margin:0 auto 2rem;max-width:600px}
.cta-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}

/* ========== Footer ========== */
.footer{background:var(--primary-navy);color:var(--text-white);padding:60px 0 30px}
.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:2rem}
.footer-section h3{margin-bottom:1rem;color:var(--secondary-gold)}
.footer-section p,.footer-section a{color:rgba(255,255,255,.8);text-decoration:none;line-height:1.8}
.footer-section a:hover{color:var(--secondary-gold)}
.newsletter-form{display:flex;gap:.5rem;margin-top:1rem}
.newsletter-input{
  flex:1;padding:.75rem;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:rgba(255,255,255,.1);color:var(--text-white)
}
.newsletter-input::placeholder{color:rgba(255,255,255,.6)}
.newsletter-button{
  background:var(--secondary-gold);color:var(--text-dark);border:0;padding:.75rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:var(--transition)
}
.newsletter-button:hover{transform:translateY(-2px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:2rem;text-align:center;color:rgba(255,255,255,.6)}

/* ========== Responsive ========== */
@media (max-width:767px){
  .nav-menu{
    position:fixed;top:70px;left:0;right:0;background:var(--bg-white);
    flex-direction:column;padding:2rem;box-shadow:var(--shadow-medium);
    transform:translateY(-100%);opacity:0;visibility:hidden;transition:var(--transition)
  }
  .nav-menu.active{transform:translateY(0);opacity:1;visibility:visible}
  .mobile-menu-toggle{display:block}

  .hero{padding:100px 0 60px}
  .hero-content.grid-2{grid-template-columns:1fr;text-align:center}
  .trust-indicators{justify-content:center;gap:1rem}
  .services-grid,.values-grid,.categories-grid{grid-template-columns:1fr}
  .about-content,.story-content,.office-content{grid-template-columns:1fr;gap:2rem}
  .timeline::before,.process-timeline::before{left:20px;transform:none}
  .timeline-item{width:100%;left:0!important;padding-left:50px!important;padding-right:0!important;text-align:left!important}
  .timeline-year{left:20px!important;transform:translateY(-50%)!important}
  .timeline-content::after{left:-10px!important;border-right-color:var(--bg-light)!important;border-left-color:transparent!important}

  .service-highlights{grid-template-columns:1fr}
  .details-container{grid-template-columns:1fr;gap:2rem}
  .details-nav{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}
  .process-timeline::before{left:30px}
  .process-step{flex-direction:row!important}
  .process-content,.step-content{width:calc(100% - 80px);margin-left:80px!important;margin-right:0!important}
  .process-number,.step-number{left:30px;transform:none}

  .pricing-card.featured,.pricing-card.recommended{transform:none}
  .pricing-card.featured:hover,.pricing-card.recommended:hover{transform:translateY(-5px)}

  .testimonials-slide{grid-template-columns:1fr;gap:0}
  .testimonial-divider{display:none}
  .testimonials{padding:2rem 0}
  .testimonials::before{font-size:8rem;top:1rem;right:1rem}

  .testimonials-grid{grid-template-columns:1fr}
  .trust-stats{gap:1.5rem}
  .form-row{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr;gap:2rem}
  .footer-content{grid-template-columns:1fr;gap:2rem}
  .newsletter-form{flex-direction:column}
}

@media (max-width:480px){
  .container{padding:0 .75rem}
  .section-title{font-size:2rem}
  .hero{padding:100px 0 60px}
  .page-header{padding:100px 0 40px}
  .contact-content{padding:60px 0}
  .contact-form{padding:1.5rem}
  .testimonial-card{padding:1.5rem}
  .trust-stats{flex-direction:column;gap:1rem}
  .timeline-item{padding-left:40px!important}
  .timeline-year{left:15px!important;width:50px;height:50px;font-size:.8rem}
}
