/* ================================================================
   PUBLIC-HOME.CSS — Cyberpunk Landing Page Sections
   ================================================================ */

/* ── HERO ── */
.hero{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--bg)}

/* Animated grid floor */
.hero__grid{position:absolute;bottom:0;left:-50%;width:200%;height:70%;background-image:linear-gradient(rgba(0,242,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,242,255,.06) 1px,transparent 1px);background-size:80px 80px;transform:perspective(400px) rotateX(55deg);transform-origin:bottom center;mask-image:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 80%);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 80%)}

/* Glowing orbs */
.hero__orb{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none}
.hero__orb--cyan{width:500px;height:500px;background:rgba(0,242,255,.08);top:10%;right:5%}
.hero__orb--purple{width:400px;height:400px;background:rgba(112,0,255,.1);bottom:20%;left:-5%}

/* Vertical lines */
.hero__lines{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero__lines span{position:absolute;width:1px;height:100%;background:linear-gradient(to bottom,transparent,var(--cyan),transparent);opacity:.06}
.hero__lines span:nth-child(1){left:20%}
.hero__lines span:nth-child(2){left:40%}
.hero__lines span:nth-child(3){left:60%}
.hero__lines span:nth-child(4){left:80%}

.hero__content{position:relative;z-index:2;max-width:900px;padding:0 48px}

.hero__tag{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:var(--cyan-dim);border:1px solid rgba(0,242,255,.15);border-radius:4px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--cyan);margin-bottom:32px;opacity:0;text-transform:uppercase}
.hero__tag .blink{animation:blink 1s step-end infinite}

.hero__title{font-size:clamp(3rem,7vw,6rem);font-weight:700;line-height:1.05;letter-spacing:-.04em;margin-bottom:28px}
.hero__title .word{display:inline-block;overflow:hidden}
.hero__title .char{display:inline-block;opacity:0;transform:translateY(100%)}
.hero__title .glow{color:var(--cyan);text-shadow:0 0 40px var(--cyan-glow)}

.hero__desc{font-size:18px;color:var(--text-2);line-height:1.8;max-width:580px;margin-bottom:44px;opacity:0;transform:translateY(20px)}

.hero__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;opacity:0;transform:translateY(20px)}

.hero__scroll{position:absolute;bottom:40px;left:48px;z-index:2;display:flex;align-items:center;gap:12px;opacity:0}
.hero__scroll-line{width:40px;height:1px;background:var(--text-3)}
.hero__scroll span{font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;color:var(--text-3);text-transform:uppercase}

/* ── STATS "MATRIX" ── */
.stats-matrix{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:80px 0;position:relative}
.stats-matrix__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.stats-matrix__item{text-align:center;padding:32px;position:relative}
.stats-matrix__item:not(:last-child)::after{content:'';position:absolute;right:0;top:20%;height:60%;width:1px;background:linear-gradient(to bottom,transparent,var(--text-3),transparent)}
.stats-matrix__num{font-family:var(--font-mono);font-size:clamp(3rem,6vw,5rem);font-weight:800;background:var(--gradient-main);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stats-matrix__label{font-family:var(--font-mono);font-size:12px;color:var(--text-3);letter-spacing:.2em;text-transform:uppercase;margin-top:8px}

/* ── TRACKS (Core Offerings) ── */
.tracks-section{background:var(--bg);position:relative}
.tracks-section__header{margin-bottom:80px}
.tracks-section__header .section-desc{max-width:500px}

.tracks-grid{display:flex;flex-direction:column;gap:0}

.track-item{display:grid;grid-template-columns:120px 1fr 1.2fr;align-items:center;gap:40px;padding:48px 0;border-bottom:1px solid var(--border);opacity:0;transform:translateY(40px);transition:all .6s cubic-bezier(.16,1,.3,1)}
.track-item:first-child{border-top:1px solid var(--border)}

.track-item__num{font-family:var(--font-mono);font-size:48px;font-weight:800;background:var(--gradient-main);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.track-item__title{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}
.track-item__subtitle{font-size:14px;color:var(--text-2);line-height:1.6}

.track-item__tags{display:flex;flex-wrap:wrap;gap:8px}
.track-item__tag{padding:6px 16px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:12px;color:var(--text-2);transition:all .3s}
.track-item:hover .track-item__tag{border-color:rgba(0,242,255,.15);color:var(--cyan)}
.track-item:hover{background:rgba(0,242,255,.02)}

/* ── WHY TCS — Interactive Grid ── */
.why-section{background:var(--bg-2);position:relative}
.why-section__header{text-align:center;margin-bottom:72px}
.why-section__header .section-desc{margin:0 auto}

.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border)}

.why-card{background:var(--bg-2);padding:48px 36px;position:relative;overflow:hidden;transition:all .5s cubic-bezier(.16,1,.3,1)}
.why-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gradient-main);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.why-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--cyan-dim),transparent 60%);opacity:0;transition:opacity .5s}
.why-card:hover::before{transform:scaleX(1)}
.why-card:hover::after{opacity:1}
.why-card:hover{background:var(--bg-3)}

.why-card__icon{font-family:var(--font-mono);font-size:32px;margin-bottom:24px;color:var(--cyan);display:block}
.why-card__title{font-size:20px;font-weight:700;margin-bottom:12px;letter-spacing:-.01em}
.why-card__desc{font-size:14px;color:var(--text-2);line-height:1.8}

/* ── COURSES ── */
.courses-section{background:var(--bg);position:relative}
.courses-section__header{margin-bottom:60px}
.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.course-card{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.16,1,.3,1)}
.course-card::before{content:'';position:absolute;inset:-1px;border-radius:12px;padding:1px;background:var(--gradient-main);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s;pointer-events:none}
.course-card:hover::before{opacity:1}
.course-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,242,255,.06)}
.course-card__img{position:relative;height:200px;overflow:hidden}
.course-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.course-card:hover .course-card__img img{transform:scale(1.06)}
.course-card__tag{position:absolute;top:12px;right:12px;padding:4px 12px;background:rgba(0,242,255,.15);border:1px solid rgba(0,242,255,.2);border-radius:4px;font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.course-card__body{padding:24px}
.course-card__title{font-size:18px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}
.course-card__desc{font-size:13px;color:var(--text-2);line-height:1.7;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.course-card__footer{display:flex;align-items:center;justify-content:space-between}
.course-card__price{font-family:var(--font-mono);font-size:18px;font-weight:800;color:var(--cyan)}
.course-card__price .old{font-size:13px;color:var(--text-3);text-decoration:line-through;margin-left:8px;font-weight:400}
.course-card__link{font-family:var(--font-mono);font-size:12px;color:var(--text-2);letter-spacing:.06em;transition:color .3s}
.course-card__link:hover{color:var(--cyan)}
.course-card__link i{margin-left:4px;font-size:10px;transition:transform .3s}
.course-card__link:hover i{transform:translateX(4px)}

/* ── SERVICES ── */
.services-section{background:var(--bg-2);position:relative}
.services-section__header{text-align:center;margin-bottom:60px}
.services-section__header .section-desc{margin:0 auto}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:36px 28px;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.16,1,.3,1)}
.service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gradient-main);transform:scaleX(0);transform-origin:left;transition:transform .5s}
.service-card:hover::before{transform:scaleX(1)}
.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,242,255,.04)}
.service-card__icon{width:56px;height:56px;border-radius:10px;background:var(--cyan-dim);display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:24px;color:var(--cyan);overflow:hidden}
.service-card__icon img{width:100%;height:100%;object-fit:cover}
.service-card__title{font-size:18px;font-weight:700;margin-bottom:10px}
.service-card__desc{font-size:13px;color:var(--text-2);line-height:1.7;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.service-card__link{font-family:var(--font-mono);font-size:12px;color:var(--text-3);letter-spacing:.06em;transition:color .3s}
.service-card__link:hover{color:var(--cyan)}
.service-card__link i{margin-left:4px;font-size:10px;transition:transform .3s}
.service-card__link:hover i{transform:translateX(4px)}

/* ── GOOGLE REVIEWS ── */
.reviews-section{background:var(--bg);position:relative;overflow:hidden}
.reviews-section__header{text-align:center;margin-bottom:60px}
.reviews-section__header .section-desc{margin:0 auto}
.reviews-track{display:flex;gap:24px;animation:reviewScroll 30s linear infinite}
.reviews-track:hover{animation-play-state:paused}
@keyframes reviewScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.review-card{min-width:360px;max-width:360px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:32px;flex-shrink:0;position:relative;transition:border-color .3s}
.review-card:hover{border-color:rgba(0,242,255,.15)}
.review-card__stars{display:flex;gap:4px;margin-bottom:16px}
.review-card__stars i{color:#fbbf24;font-size:14px}
.review-card__text{font-size:14px;color:var(--text-2);line-height:1.8;margin-bottom:20px;font-style:italic}
.review-card__author{display:flex;align-items:center;gap:12px}
.review-card__avatar{width:40px;height:40px;border-radius:50%;background:var(--cyan-dim);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--cyan);overflow:hidden}
.review-card__avatar img{width:100%;height:100%;object-fit:cover}
.review-card__name{font-size:14px;font-weight:600}
.review-card__source{font-family:var(--font-mono);font-size:11px;color:var(--text-3);letter-spacing:.05em}
.reviews-google{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px;font-family:var(--font-mono);font-size:13px;color:var(--text-3)}
.reviews-google img{width:20px}
.reviews-google span{color:var(--cyan)}

/* ── CTA ── */
.cta-section{background:var(--bg);position:relative;text-align:center;overflow:hidden}
.cta-section__glow{position:absolute;top:50%;left:50%;width:600px;height:600px;background:radial-gradient(circle,var(--cyan-glow) 0%,var(--purple-glow) 30%,transparent 70%);transform:translate(-50%,-50%);filter:blur(80px);pointer-events:none;opacity:.3}
.cta-section__inner{position:relative;z-index:1;max-width:700px;margin:0 auto}
.cta-section__title{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:24px}
.cta-section__desc{font-size:17px;color:var(--text-2);margin-bottom:48px;line-height:1.8}
.cta-section .btn-primary{font-size:16px;padding:20px 48px}

/* ── Responsive ── */
@media(max-width:991px){
    .hero__content{padding:0 24px}
    .hero__scroll{left:24px}
    .track-item{grid-template-columns:80px 1fr;gap:24px}
    .track-item__tags{display:none}
    .stats-matrix__inner{gap:20px}
    .why-grid{grid-template-columns:1fr 1fr}
    .courses-grid{grid-template-columns:1fr 1fr}
    .services-grid{grid-template-columns:1fr 1fr}
    .review-card{min-width:300px;max-width:300px}
}
@media(max-width:576px){
    .hero__title{font-size:clamp(2.2rem,10vw,3.5rem)}
    .hero__desc{font-size:15px}
    .hero__actions{flex-direction:column;width:100%}
    .hero__actions .btn-primary,.hero__actions .btn-secondary{width:100%;justify-content:center}
    .hero__scroll{display:none}
    .stats-matrix__inner{grid-template-columns:1fr}
    .stats-matrix__item:not(:last-child)::after{display:none}
    .stats-matrix__item{border-bottom:1px solid var(--border)}
    .track-item{grid-template-columns:1fr;gap:16px;padding:32px 0}
    .track-item__num{font-size:32px}
    .why-grid{grid-template-columns:1fr}
    .courses-grid{grid-template-columns:1fr}
    .services-grid{grid-template-columns:1fr}
    .review-card{min-width:280px;max-width:280px}
}

