/* ============================================================
   InstaTuition — Homepage Styles
   /learn/instatuition/assets/css/insta-home.css
   ============================================================ */

/* ── Hero ───────────────────────────────────────────────────── */
.ih-hero {
    position: relative;
    padding: clamp(3.5rem, 8vw, 6.5rem) 0 clamp(3rem, 6vw, 5rem);
    background:
        radial-gradient(900px 420px at 18% -10%, rgba(46, 230, 197, 0.16), transparent 60%),
        radial-gradient(700px 380px at 95% 10%, rgba(212, 175, 55, 0.10), transparent 55%);
    overflow: hidden;
}
.ih-hero-inner { max-width: 760px; }
.ih-hero-title {
    font-family: var(--font-display);
    font-size: clamp(2.1rem, 6vw, 3.8rem);
    font-weight: 900; line-height: 1.05;
    color: var(--white); margin: 0 0 var(--space-5);
}
.ih-grad {
    background: linear-gradient(100deg, var(--insta-teal), var(--insta-gold));
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ih-hero-sub {
    font-family: var(--font-body);
    font-size: clamp(1rem, 2.2vw, 1.18rem); line-height: 1.6;
    color: rgba(245, 245, 245, 0.72); max-width: 620px; margin: 0 0 var(--space-6);
}
.ih-hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-7); }
.ih-hero-trust {
    display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6);
    list-style: none; padding: 0; margin: 0;
}
.ih-hero-trust li {
    font-family: var(--font-body); font-size: 0.85rem; color: rgba(245, 245, 245, 0.6);
    display: flex; align-items: center; gap: var(--space-2);
}
.ih-hero-trust i { color: var(--insta-teal); }

/* ── Offer grid ─────────────────────────────────────────────── */
.ih-grid {
    display: grid; gap: var(--space-5);
    grid-template-columns: repeat(4, 1fr);
}
.ih-offer { text-align: left; }
.ih-offer-icon {
    width: 52px; height: 52px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(46, 230, 197, 0.12); color: var(--insta-teal);
    font-size: 1.4rem; margin-bottom: var(--space-4);
}
.ih-offer h3 { font-family: var(--font-display); font-size: 1.3rem; color: var(--white); margin: 0 0 var(--space-2); }
.ih-offer p { font-family: var(--font-body); font-size: 0.9rem; line-height: 1.55; color: rgba(245, 245, 245, 0.62); margin: 0 0 var(--space-4); }
.ih-offer-link {
    font-family: var(--font-body); font-size: 0.85rem; font-weight: 700;
    color: var(--insta-teal); text-decoration: none;
    display: inline-flex; align-items: center; gap: var(--space-2);
}
.ih-offer-link:hover { text-decoration: none; gap: var(--space-3); }
.ih-offer--accent { background: linear-gradient(160deg, rgba(46, 230, 197, 0.10), rgba(212, 175, 55, 0.06)); border-color: rgba(46, 230, 197, 0.35); }

/* ── Feature blocks ─────────────────────────────────────────── */
.ih-feature {
    display: grid; grid-template-columns: 1.05fr 0.95fr;
    gap: var(--space-8, 3rem); align-items: center;
}
.ih-feature--reverse .ih-feature-text { order: 2; }
.ih-feature--reverse .ih-feature-visual { order: 1; }
.ih-feature-list { list-style: none; padding: 0; margin: var(--space-5) 0 0; }
.ih-feature-list li {
    font-family: var(--font-body); font-size: 0.95rem; color: rgba(245, 245, 245, 0.78);
    display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) 0;
}
.ih-feature-list i { color: var(--insta-teal); width: 18px; }

/* Chat visual */
.ih-feature-visual {
    background: var(--insta-card-2); border: 1px solid var(--insta-border);
    border-radius: 18px; padding: var(--space-6);
    display: flex; flex-direction: column; gap: var(--space-3); min-height: 240px; justify-content: center;
}
.ih-chat-bubble {
    font-family: var(--font-body); font-size: 0.9rem; line-height: 1.45;
    padding: var(--space-3) var(--space-4); border-radius: 14px; max-width: 85%;
}
.ih-chat-bubble--user { align-self: flex-end; background: rgba(255, 255, 255, 0.08); color: var(--white); border-bottom-right-radius: 4px; }
.ih-chat-bubble--ai { align-self: flex-start; background: rgba(46, 230, 197, 0.14); color: #d8fff7; border: 1px solid rgba(46, 230, 197, 0.3); border-bottom-left-radius: 4px; }
.ih-chat-tag { margin-top: var(--space-2); font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--insta-teal); display: flex; align-items: center; gap: var(--space-2); }

/* Video visual */
.ih-video-visual {
    align-items: center; justify-content: center;
    background:
        radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.18), transparent 60%),
        var(--insta-card-2);
}
.ih-play {
    width: 76px; height: 76px; border-radius: 50%;
    background: var(--yellow); color: var(--black);
    display: flex; align-items: center; justify-content: center; font-size: 1.6rem;
    box-shadow: 0 8px 30px rgba(255, 215, 0, 0.3);
}

/* ── Pricing preview ────────────────────────────────────────── */
.ih-section-head { margin-bottom: var(--space-8, 3rem); }
.ih-price-grid {
    display: grid; gap: var(--space-5);
    grid-template-columns: repeat(3, 1fr);
}
.ih-price-card { display: flex; flex-direction: column; }
.ih-price-level {
    align-self: flex-start;
    font-family: var(--font-mono); font-size: 0.68rem; font-weight: 700;
    letter-spacing: 0.12em; color: var(--black); background: var(--insta-teal);
    padding: 2px 10px; border-radius: 20px; margin-bottom: var(--space-3);
}
.ih-price-name { font-family: var(--font-display); font-size: 1.25rem; color: var(--white); margin: 0 0 var(--space-2); }
.ih-price-amount { font-family: var(--font-display); font-size: 2.1rem; font-weight: 900; color: var(--insta-teal); margin: 0; }
.ih-price-amount span { font-size: 0.95rem; font-weight: 500; color: rgba(245, 245, 245, 0.5); }
.ih-price-note { font-family: var(--font-body); font-size: 0.82rem; color: rgba(245, 245, 245, 0.55); margin: var(--space-1) 0 var(--space-5); }
.ih-price-features { list-style: none; padding: 0; margin: 0 0 var(--space-6); flex: 1; }
.ih-price-features li {
    font-family: var(--font-body); font-size: 0.88rem; color: rgba(245, 245, 245, 0.75);
    display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-2) 0;
}
.ih-price-features i { color: var(--insta-teal); margin-top: 3px; }
.ih-price-cta { justify-content: center; }
.ih-price-foot { text-align: center; margin-top: var(--space-7); }

/* ── SMMG family ────────────────────────────────────────────── */
.ih-family {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4);
}
.ih-family-item {
    background: var(--insta-card); border: 1px solid var(--insta-border);
    border-radius: var(--radius-md, 12px); padding: var(--space-5); text-align: center;
}
.ih-family-item strong { display: block; font-family: var(--font-display); font-size: 1.05rem; color: var(--white); margin-bottom: 4px; }
.ih-family-item span { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.06em; color: rgba(245, 245, 245, 0.5); }

/* ── Final CTA ──────────────────────────────────────────────── */
.ih-cta {
    padding: clamp(3rem, 7vw, 5rem) 0; text-align: center;
    background: linear-gradient(120deg, rgba(46, 230, 197, 0.12), rgba(212, 175, 55, 0.10));
    border-top: 1px solid var(--insta-border);
}
.ih-cta-title { font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 900; color: var(--white); margin: 0 0 var(--space-3); }
.ih-cta-sub { font-family: var(--font-body); font-size: 1.02rem; color: rgba(245, 245, 245, 0.7); margin: 0 0 var(--space-6); }

/* ── Hero stat band ─────────────────────────────────────────── */
.ih-stats {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4);
    list-style: none; padding: var(--space-6) 0 0; margin: var(--space-7) 0 0;
    border-top: 1px solid var(--insta-border); max-width: 680px;
}
.ih-stats li { text-align: left; }
.ih-stat-num {
    display: block; font-family: var(--font-display);
    font-size: clamp(1.5rem, 3.5vw, 2.2rem); font-weight: 900; line-height: 1;
    background: linear-gradient(100deg, var(--insta-teal), var(--insta-gold));
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ih-stat-label { display: block; font-family: var(--font-body); font-size: 0.8rem; color: rgba(245, 245, 245, 0.6); margin-top: var(--space-2); }

/* ── How it works steps ─────────────────────────────────────── */
.ih-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5); }
.ih-step {
    background: var(--insta-card); border: 1px solid var(--insta-border);
    border-radius: var(--radius-md, 12px); padding: var(--space-6);
}
.ih-step-num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 50%;
    background: var(--insta-teal); color: var(--black);
    font-family: var(--font-display); font-weight: 900; font-size: 1.1rem; margin-bottom: var(--space-4);
}
.ih-step h3 { font-family: var(--font-display); font-size: 1.1rem; color: var(--white); margin: 0 0 var(--space-2); }
.ih-step p { font-family: var(--font-body); font-size: 0.88rem; line-height: 1.5; color: rgba(245, 245, 245, 0.62); margin: 0; }

/* ── Authority block ────────────────────────────────────────── */
.ih-authority {
    display: flex; gap: var(--space-6); align-items: flex-start;
    background: linear-gradient(160deg, rgba(46, 230, 197, 0.08), rgba(212, 175, 55, 0.04));
    border: 1px solid var(--insta-border); border-radius: 18px; padding: var(--space-7);
}
.ih-authority-avatar {
    width: 80px; height: 80px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(46, 230, 197, 0.14); color: var(--insta-teal); font-size: 2rem;
}
.ih-authority-name { font-family: var(--font-display); font-size: 1.4rem; color: var(--white); margin: var(--space-2) 0 0; }
.ih-authority-role { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--insta-teal); margin: 4px 0 var(--space-3); }
.ih-authority-body p:last-child { font-family: var(--font-body); font-size: 0.95rem; line-height: 1.65; color: rgba(245, 245, 245, 0.72); margin: 0; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 980px) {
    .ih-grid { grid-template-columns: repeat(2, 1fr); }
    .ih-steps { grid-template-columns: repeat(2, 1fr); }
    .ih-authority { flex-direction: column; }
    .ih-price-grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
    .ih-feature { grid-template-columns: 1fr; gap: var(--space-6); }
    .ih-feature--reverse .ih-feature-text,
    .ih-feature--reverse .ih-feature-visual { order: initial; }
    .ih-family { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .ih-grid { grid-template-columns: 1fr; }
    .ih-family { grid-template-columns: 1fr; }
    .ih-steps { grid-template-columns: 1fr; }
    .ih-stats { grid-template-columns: repeat(2, 1fr); }
    .ih-hero-actions { flex-direction: column; align-items: stretch; }
    .ih-hero-actions .insta-btn { justify-content: center; }
}
