/* ── pages.css ───────────────────────────────────────── */

/* ── HERO ───────────────────────────────────────────── */
.section-hero{min-height:92vh;display:flex;align-items:center;position:relative;background:linear-gradient(135deg,var(--dark) 0%,#1e293b 100%);overflow:hidden}
.section-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 65% 50%,var(--primary) 0%,transparent 65%);opacity:.1;pointer-events:none}
.hero-bg{position:absolute;inset:0;background-image:url('/uploads/hero.jpg');background-size:cover;background-position:center;opacity:.12}
.hero-content{position:relative;z-index:1;padding:140px 0 100px;width:100%}
.hero-text{max-width:680px}
.hero-badge{background:rgba(255,255,255,.1);color:white;border:1px solid rgba(255,255,255,.2);margin-bottom:1.5rem}
.hero-text h1{font-size:clamp(2.4rem,5vw,3.6rem);color:white;margin-bottom:1.5rem;line-height:1.1}
.hero-subtitle{font-size:1.15rem;color:rgba(255,255,255,.78);margin-bottom:2.5rem;max-width:540px;line-height:1.75}
.hero-actions{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}
.btn-outline-white{border:2px solid rgba(255,255,255,.55);color:white;background:transparent}
.btn-outline-white:hover{background:rgba(255,255,255,.1);border-color:white;color:white;transform:translateY(-1px)}
.btn-white{background:white;color:var(--primary);font-weight:700}
.btn-white:hover{background:var(--light,#f8fafc);transform:translateY(-1px)}
.hero-badges{display:flex;gap:.75rem;flex-wrap:wrap}
.trust-badge{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.8);font-size:.83rem;background:rgba(255,255,255,.08);padding:5px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.1)}

/* ── SERVICE ICON ────────────────────────────────────── */
.service-icon{width:52px;height:52px;min-width:52px;background:var(--primary-light,rgba(0,0,0,.07));border-radius:var(--radius-sm,8px);display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:1.25rem}

/* ── ABOUT SPLIT ─────────────────────────────────────── */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-content h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:1rem 0 1.25rem}
.about-content p{color:var(--gray-500,#6b7280);line-height:1.85;font-size:1.05rem}
.about-img{width:100%;border-radius:var(--radius-lg,20px);box-shadow:var(--shadow-xl,0 32px 64px rgba(0,0,0,.16));display:block}
.about-img-placeholder{background:var(--gray-100,#f3f4f6);border-radius:var(--radius-lg,20px);height:380px;display:flex;align-items:center;justify-content:center}

/* ── WHY GRID ────────────────────────────────────────── */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.why-item{display:flex;gap:1.25rem;align-items:flex-start}
.why-icon{width:52px;height:52px;min-width:52px;background:var(--primary-light,rgba(0,0,0,.07));border-radius:var(--radius,12px);display:flex;align-items:center;justify-content:center;color:var(--primary)}
.why-item h4{font-size:1rem;font-weight:700;margin-bottom:.4rem}
.why-item p{color:var(--gray-500,#6b7280);font-size:.92rem;line-height:1.7;margin:0}

/* ── TESTIMONIALS ────────────────────────────────────── */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.testimonial-card{background:white;border-radius:var(--radius,12px);padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200,#e5e7eb);display:flex;flex-direction:column;gap:.875rem}
.stars{display:flex;gap:2px}
.testimonial-text{color:var(--gray-700,#374151);line-height:1.75;font-size:.94rem;flex:1;font-style:italic}
.testimonial-author{display:flex;align-items:center;gap:.875rem;padding-top:.875rem;border-top:1px solid var(--gray-200,#e5e7eb)}
.author-avatar{width:38px;height:38px;min-width:38px;background:var(--primary);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}
.testimonial-author strong{display:block;font-size:.88rem;color:var(--dark,#0f172a)}
.testimonial-author span{color:var(--gray-500,#6b7280);font-size:.78rem}

/* ── STATS ───────────────────────────────────────────── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.stat-item{padding:1.5rem 1rem}
.stat-number{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:800;color:var(--primary);line-height:1;margin-bottom:.5rem}
.section-dark .stat-number{color:white}
.section-dark .stat-label{color:rgba(255,255,255,.6)}
.stat-label{font-size:.9rem;font-weight:500}

/* ── CTA SECTION ─────────────────────────────────────── */
.section-cta{padding:100px 0;background:linear-gradient(135deg,var(--dark) 0%,#1e293b 100%);position:relative;overflow:hidden}
.section-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--primary) 0%,transparent 70%);opacity:.08}
.section-cta .container{position:relative;z-index:1}
.section-cta h2{font-size:clamp(1.8rem,3.5vw,2.5rem);margin-bottom:1rem}

/* ── PAGE HERO (inner pages) ─────────────────────────── */
.page-hero{background:linear-gradient(135deg,var(--dark) 0%,#1e293b 100%);padding:120px 0 80px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,var(--primary) 0%,transparent 60%);opacity:.1}
.page-hero-content{position:relative;z-index:1;max-width:700px}
.page-hero-content h1{color:white;font-size:clamp(2rem,4vw,3rem);margin:.875rem 0 1.25rem}
.page-hero-content p{color:rgba(255,255,255,.75);font-size:1.05rem;line-height:1.75}

/* ── TEAM ────────────────────────────────────────────── */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem}
.team-card{text-align:center;padding:2.5rem 1.5rem;background:white;border-radius:var(--radius,12px);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200,#e5e7eb);transition:var(--transition,.25s ease)}
.team-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.team-avatar{width:80px;height:80px;background:var(--primary-light,rgba(0,0,0,.07));color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;margin:0 auto 1.25rem;overflow:hidden}
.team-avatar img{width:80px;height:80px;object-fit:cover}
.team-card h4{margin-bottom:.25rem;font-size:1rem}
.team-card>span{color:var(--primary);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.team-card p{color:var(--gray-500,#6b7280);font-size:.88rem;margin-top:.75rem;line-height:1.6}

/* ── SERVICES LIST ───────────────────────────────────── */
.services-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}

/* ── SERVICE DETAIL ──────────────────────────────────── */
.service-hero{background:linear-gradient(135deg,var(--dark) 0%,#1e293b 100%);padding:120px 0 80px;position:relative;overflow:hidden}
.service-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,var(--primary) 0%,transparent 60%);opacity:.1}
.service-hero-content{position:relative;z-index:1;max-width:700px}
.service-hero-content h1{color:white;font-size:clamp(1.8rem,4vw,2.8rem);margin:.875rem 0 1.25rem}
.service-hero-content p{color:rgba(255,255,255,.75);font-size:1.05rem;line-height:1.75}
.children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}

/* ── PROCESS STEPS ───────────────────────────────────── */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.process-step{text-align:center;padding:1.5rem 1rem}
.step-number{width:48px;height:48px;background:var(--primary);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;margin:0 auto 1.25rem}
.process-step h4{margin-bottom:.4rem;font-size:.95rem}
.process-step p{color:var(--gray-500,#6b7280);font-size:.88rem;line-height:1.7}

/* ── CHILD PAGE ──────────────────────────────────────── */
.benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.benefit-item{display:flex;align-items:flex-start;gap:.875rem;padding:1.25rem;background:white;border-radius:var(--radius,12px);border:1px solid var(--gray-200,#e5e7eb)}
.benefit-icon{width:26px;height:26px;min-width:26px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px;flex-shrink:0}
.benefit-item p{color:var(--gray-700,#374151);font-size:.92rem;line-height:1.65;margin:0}

/* ── FAQ ─────────────────────────────────────────────── */
.faq-list{display:flex;flex-direction:column;gap:.625rem;max-width:800px;margin:0 auto}
.faq-item{background:white;border-radius:var(--radius,12px);border:1px solid var(--gray-200,#e5e7eb);overflow:hidden}
.faq-question{padding:1.125rem 1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;font-size:.93rem;gap:1rem;user-select:none;list-style:none}
.faq-question:hover{background:var(--gray-100,#f3f4f6)}
.faq-chevron{transition:transform .3s ease;flex-shrink:0;color:var(--primary)}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-answer-inner{padding:0 1.5rem 1.125rem;color:var(--gray-600,#4b5563);line-height:1.75;font-size:.92rem}

/* ── BACK TO TOP ─────────────────────────────────────── */
#back-to-top{position:fixed;bottom:2rem;right:2rem;width:42px;height:42px;background:var(--primary);color:white;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:var(--transition,.25s ease);box-shadow:var(--shadow-md);z-index:100}
#back-to-top.visible{opacity:1;visibility:visible}
#back-to-top:hover{transform:translateY(-2px)}

/* ── RESPONSIVE ──────────────────────────────────────── */
@media(max-width:1024px){
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .about-split{gap:3rem}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .hero-text h1{font-size:2.2rem}
  .hero-content{padding:100px 0 60px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .about-split{grid-template-columns:1fr;gap:2rem}
  .about-visual{order:-1}
  .why-grid{grid-template-columns:1fr;gap:1.5rem}
  .testimonials-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr;gap:1rem}
  .benefits-grid{grid-template-columns:1fr}
  .children-grid{grid-template-columns:1fr}
  .page-hero{padding:90px 0 60px}
  .service-hero{padding:90px 0 60px}
  .section-cta{padding:60px 0}
}

/* ── Hero variant: split-image ─────────────────── */

.hero-split .hero-content{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center}
.hero-img{width:100%;border-radius:var(--radius-lg,20px);box-shadow:var(--shadow-xl);display:block}
.hero-stat-card{background:rgba(255,255,255,.06);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg,20px);padding:3rem;text-align:center;color:white}
.hero-stat-card .stat-big{font-size:clamp(3rem,6vw,5rem);font-weight:800;color:var(--primary);line-height:1}
.hero-stat-card .stat-sub{color:rgba(255,255,255,.75);margin-top:.5rem}
@media(max-width:900px){.hero-split .hero-content{grid-template-columns:1fr}}

/* ── Card style: elevated ─────────────────────── */
.card.service-card{box-shadow:var(--shadow-md)}
.card.service-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-6px)}