/* ── AURA SAHA — INDEX PAGE STYLES ── */

/* HERO */
.hero { min-height:100vh; padding:140px 6vw 80px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:4rem; position:relative; overflow:hidden; }
.hero::before { content:''; position:absolute; top:-200px; right:-200px; width:700px; height:700px; background:radial-gradient(circle, rgba(245,166,35,0.12) 0%, transparent 70%); border-radius:50%; pointer-events:none; }
.hero::after { content:''; position:absolute; bottom:-100px; left:-100px; width:500px; height:500px; background:radial-gradient(circle, rgba(13,110,110,0.08) 0%, transparent 70%); border-radius:50%; pointer-events:none; }

.hero-badge { display:inline-flex; align-items:center; gap:8px; background:var(--sun-light); border:1px solid rgba(245,166,35,0.3); color:var(--sun-deep); font-size:0.8rem; font-weight:600; padding:8px 16px; border-radius:50px; margin-bottom:1.5rem; animation:fadeUp 0.6s ease both; }
.hero-badge .dot { width:8px; height:8px; background:var(--sun); border-radius:50%; animation:pulse 2s infinite; }

h1 { font-family:'Fraunces',serif; font-size:clamp(2.8rem,5vw,4.2rem); font-weight:900; line-height:1.1; letter-spacing:-1.5px; margin-bottom:1.5rem; animation:fadeUp 0.6s 0.1s ease both; }
h1 em { font-style:italic; color:var(--teal); }
h1 .highlight { position:relative; display:inline-block; color:var(--sun-deep); }
h1 .highlight::after { content:''; position:absolute; bottom:2px; left:0; right:0; height:4px; background:var(--sun); border-radius:2px; opacity:0.5; }

.hero-sub { font-size:1.1rem; line-height:1.7; opacity:0.7; max-width:480px; margin-bottom:2.5rem; animation:fadeUp 0.6s 0.2s ease both; }
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; animation:fadeUp 0.6s 0.3s ease both; }
.hero-stats { display:flex; gap:2.5rem; margin-top:3rem; animation:fadeUp 0.6s 0.4s ease both; }
.stat-num { font-family:'Fraunces',serif; font-size:2rem; font-weight:900; color:var(--teal); line-height:1; }
.stat-label { font-size:0.78rem; opacity:0.55; font-weight:500; margin-top:4px; text-transform:uppercase; letter-spacing:0.5px; }

/* HERO VISUAL */
.hero-visual { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:16px; animation:fadeUp 0.6s 0.2s ease both; }
.card-float { background:white; border-radius:20px; padding:24px; box-shadow:0 4px 30px rgba(0,0,0,0.06); transition:transform 0.3s; position:relative; overflow:hidden; }
.card-float:hover { transform:translateY(-4px); }
.card-float:nth-child(1) { grid-column:span 2; background:var(--teal); color:white; }
.card-float:nth-child(2) { background:var(--sun-light); }
.card-float:nth-child(3) { background:var(--teal-light); }
.card-float:nth-child(4) { grid-column:span 2; background:var(--soft); }
.card-emoji { font-size:2rem; margin-bottom:10px; }
.card-title { font-family:'Fraunces',serif; font-weight:700; font-size:1.1rem; margin-bottom:6px; }
.card-float:nth-child(1) .card-title { font-size:1.3rem; }
.card-desc { font-size:0.82rem; opacity:0.75; line-height:1.5; }
.card-float:nth-child(1) .card-desc { opacity:0.85; }
.special-tag { display:inline-block; background:rgba(245,166,35,0.2); color:var(--sun-deep); font-size:0.7rem; font-weight:700; padding:3px 10px; border-radius:50px; margin-bottom:8px; text-transform:uppercase; letter-spacing:0.5px; }

/* CURRICULA STRIP */
.curricula-strip { background:var(--ink); padding:28px 6vw; display:flex; align-items:center; gap:3rem; overflow:hidden; }
.strip-label { color:rgba(255,255,255,0.4); font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; white-space:nowrap; }
.strip-items { display:flex; gap:3rem; align-items:center; flex-wrap:wrap; }
.strip-item { color:rgba(255,255,255,0.7); font-size:0.95rem; font-weight:600; white-space:nowrap; letter-spacing:0.3px; }
.strip-sep { color:var(--sun); opacity:0.4; font-size:1.2rem; }

/* HOW IT WORKS */
.how-section { background:var(--soft); padding:100px 6vw; }
.how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:4rem; }
.how-card { background:white; border-radius:24px; padding:36px 28px; position:relative; transition:transform 0.3s, box-shadow 0.3s; }
.how-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,0.08); }
.how-num { font-family:'Fraunces',serif; font-size:4rem; font-weight:900; color:var(--sun-light); line-height:1; margin-bottom:1rem; }
.how-card:nth-child(2) .how-num { color:var(--teal-light); }
.how-card:nth-child(3) .how-num { color:#F2E8FF; }
.how-icon { font-size:2.2rem; margin-bottom:1rem; }
.how-title { font-family:'Fraunces',serif; font-size:1.25rem; font-weight:700; margin-bottom:0.75rem; }
.how-desc { font-size:0.9rem; opacity:0.65; line-height:1.65; }

/* SPECIAL NEEDS */
.special-section { background:var(--ink); color:white; position:relative; overflow:hidden; padding:100px 6vw; }
.special-section::before { content:''; position:absolute; top:-150px; right:-150px; width:500px; height:500px; background:radial-gradient(circle, rgba(245,166,35,0.1) 0%, transparent 70%); border-radius:50%; }
.special-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.special-section h2 { color:white; }
.special-section .section-sub { color:rgba(255,255,255,0.6); }
.special-features { display:flex; flex-direction:column; gap:1.2rem; margin-top:2.5rem; }
.special-feat { display:flex; align-items:flex-start; gap:1rem; padding:20px; background:rgba(255,255,255,0.05); border-radius:16px; border:1px solid rgba(255,255,255,0.08); transition:background 0.2s; }
.special-feat:hover { background:rgba(255,255,255,0.08); }
.feat-icon { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.feat-icon.amber { background:rgba(245,166,35,0.2); }
.feat-icon.teal  { background:rgba(13,110,110,0.3); }
.feat-icon.rose  { background:rgba(242,114,90,0.2); }
.feat-icon.lav   { background:rgba(139,126,200,0.2); }
.feat-text h4 { font-weight:600; font-size:0.95rem; margin-bottom:4px; color:white; }
.feat-text p { font-size:0.82rem; color:rgba(255,255,255,0.5); line-height:1.5; }
.special-visual { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.sv-card { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:20px; padding:24px 20px; transition:transform 0.3s; }
.sv-card:hover { transform:translateY(-4px); }
.sv-card:nth-child(1) { grid-column:span 2; background:rgba(13,110,110,0.3); }
.sv-card:nth-child(4) { background:rgba(245,166,35,0.15); }
.sv-emoji { font-size:1.8rem; margin-bottom:10px; }
.sv-title { font-weight:700; font-size:0.95rem; margin-bottom:6px; color:white; }
.sv-desc  { font-size:0.78rem; color:rgba(255,255,255,0.5); line-height:1.5; }

/* PRICING */
.pricing-section { background:var(--cream); padding:100px 6vw; }
.pricing-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:3.5rem; flex-wrap:wrap; gap:1rem; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.price-card { background:white; border-radius:24px; padding:36px 28px; border:2px solid transparent; transition:border-color 0.2s, transform 0.3s, box-shadow 0.3s; position:relative; overflow:hidden; }
.price-card:hover { border-color:var(--teal); transform:translateY(-4px); box-shadow:0 20px 50px rgba(13,110,110,0.1); }
.price-card.featured { background:var(--teal); color:white; border-color:var(--teal); }
.price-badge { position:absolute; top:20px; right:20px; background:var(--sun); color:white; font-size:0.7rem; font-weight:700; padding:4px 12px; border-radius:50px; text-transform:uppercase; letter-spacing:0.5px; }
.price-plan { font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; opacity:0.6; margin-bottom:0.75rem; }
.price-card.featured .price-plan { opacity:0.7; color:rgba(255,255,255,0.7); }
.price-amount { font-family:'Fraunces',serif; font-size:2.8rem; font-weight:900; line-height:1; margin-bottom:0.3rem; }
.price-note { font-size:0.8rem; opacity:0.55; margin-bottom:1.5rem; }
.price-card.featured .price-note { opacity:0.65; color:rgba(255,255,255,0.65); }
.price-divider { height:1px; background:rgba(0,0,0,0.06); margin:1.5rem 0; }
.price-card.featured .price-divider { background:rgba(255,255,255,0.15); }
.price-features { list-style:none; display:flex; flex-direction:column; gap:0.75rem; margin-bottom:2rem; }
.price-features li { font-size:0.88rem; display:flex; align-items:center; gap:0.6rem; opacity:0.8; }
.price-card.featured .price-features li { opacity:0.9; color:rgba(255,255,255,0.9); }
.check { width:18px; height:18px; background:var(--teal-light); color:var(--teal); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.65rem; font-weight:700; flex-shrink:0; }
.price-card.featured .check { background:rgba(255,255,255,0.2); color:white; }
.btn-price { display:block; text-align:center; padding:14px; border-radius:50px; font-weight:700; font-size:0.9rem; text-decoration:none; border:2px solid var(--teal); color:var(--teal); transition:background 0.2s, color 0.2s, transform 0.15s; }
.btn-price:hover { background:var(--teal); color:white; transform:translateY(-1px); }
.price-card.featured .btn-price { background:white; color:var(--teal); border-color:white; }
.price-card.featured .btn-price:hover { background:var(--sun); border-color:var(--sun); color:white; }

/* TESTIMONIALS */
.testimonial-section { background:var(--soft); padding:100px 6vw; }
.t-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1.5rem; margin-top:3.5rem; }
.t-card { background:white; border-radius:20px; padding:28px; transition:transform 0.3s; }
.t-card:hover { transform:translateY(-4px); }
.t-card:nth-child(2) { background:var(--teal); color:white; }
.t-stars { color:var(--sun); font-size:0.9rem; margin-bottom:1rem; }
.t-quote { font-size:0.92rem; line-height:1.65; opacity:0.75; margin-bottom:1.5rem; font-style:italic; }
.t-card:nth-child(2) .t-quote { color:rgba(255,255,255,0.85); opacity:1; }
.t-author { display:flex; align-items:center; gap:0.75rem; }
.t-avatar { width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1rem; font-weight:700; flex-shrink:0; }
.t-card:nth-child(1) .t-avatar { background:var(--teal-light); color:var(--teal); }
.t-card:nth-child(2) .t-avatar { background:rgba(255,255,255,0.2); color:white; }
.t-card:nth-child(3) .t-avatar { background:var(--sun-light); color:var(--sun-deep); }
.t-name { font-weight:700; font-size:0.88rem; }
.t-card:nth-child(2) .t-name { color:white; }
.t-role { font-size:0.75rem; opacity:0.5; }
.t-card:nth-child(2) .t-role { color:rgba(255,255,255,0.6); opacity:1; }

/* CTA */
.cta-section { background:var(--teal); text-align:center; color:white; position:relative; overflow:hidden; padding:100px 6vw; }
.cta-section::before { content:''; position:absolute; top:-100px; left:50%; transform:translateX(-50%); width:600px; height:600px; background:radial-gradient(circle, rgba(255,255,255,0.06) 0%, transparent 70%); border-radius:50%; }
.cta-section h2 { color:white; text-align:center; max-width:700px; margin:0 auto 1rem; }
.cta-section p { color:rgba(255,255,255,0.65); font-size:1.05rem; max-width:500px; margin:0 auto 2.5rem; line-height:1.7; }
.cta-actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.btn-cta-primary { background:var(--sun); color:white; padding:18px 40px; border-radius:50px; font-weight:700; font-size:1.05rem; text-decoration:none; transition:background 0.2s, transform 0.15s, box-shadow 0.2s; box-shadow:0 4px 20px rgba(245,166,35,0.4); }
.btn-cta-primary:hover { background:var(--sun-deep); transform:translateY(-2px); box-shadow:0 8px 30px rgba(245,166,35,0.5); }
.btn-cta-secondary { background:rgba(255,255,255,0.12); color:white; padding:18px 40px; border-radius:50px; font-weight:600; font-size:1rem; text-decoration:none; border:2px solid rgba(255,255,255,0.25); transition:background 0.2s, transform 0.15s; }
.btn-cta-secondary:hover { background:rgba(255,255,255,0.2); transform:translateY(-2px); }

/* ANIMATIONS */
@keyframes fadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:0.5; transform:scale(1.3); } }

/* RESPONSIVE */
@media(max-width:900px) {
  .hero { grid-template-columns:1fr; padding-top:120px; }
  .hero-visual { display:none; }
  .how-grid, .pricing-grid, .t-grid { grid-template-columns:1fr; }
  .special-grid { grid-template-columns:1fr; gap:3rem; }
  .hero-stats { gap:1.5rem; }
  .pricing-header { flex-direction:column; align-items:flex-start; }
  .pricing-header .section-sub { text-align:left; max-width:100%; }
}