/*
Theme Name: Media iSkool
Theme URI: https://mediaiskool.com
Author: Media iSkool
Author URI: https://mediaiskool.com
Description: Custom dark/neon-orange creative studio theme for Media iSkool - portfolio, services and project enquiry site.
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: media-iskool
*/


:root{
  --bg:#111111; --bg2:#151515; --panel:#1c1c1c; --card:#202020;
  --orange:#FF5A00; --text:#F5F5F5; --sub:#A0A0A0; --border:#2c2c2c;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:env(safe-area-inset-top,0px);}
body{background:var(--bg); color:var(--text); font-family:'Helvetica Neue',Arial,sans-serif; overflow-x:hidden; line-height:1.5;}
img,video{max-width:100%;}
.wrap{max-width:1200px; margin:0 auto; padding:0 24px;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}

/* NAV */
header{position:sticky; top:env(safe-area-inset-top,0px); z-index:100; background:rgba(17,17,17,.85); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); transition:padding .3s ease;}
.navbar{display:flex; align-items:center; justify-content:space-between; padding:22px 24px; max-width:1200px; margin:0 auto; transition:padding .3s ease;}
header.scrolled .navbar{padding:12px 24px;}
.logo{font-weight:700; font-size:1.2rem; letter-spacing:-.02em;}
.logo span{color:var(--orange);}
.navlinks{display:flex; gap:36px; font-size:.95rem;}
.navlinks a{color:var(--sub); position:relative; padding:4px 0;}
.navlinks a:hover, .navlinks a.active{color:var(--text);}
.navlinks a.active::after{content:""; position:absolute; bottom:-2px; left:0; right:0; height:2px; background:var(--orange);}
.cta-btn{background:var(--orange); color:#111; padding:12px 22px; border-radius:6px; font-weight:600; font-size:.92rem; border:none; display:inline-block; transition:transform .2s ease, box-shadow .2s ease;}
.cta-btn:hover{transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,90,0,.35);}
.ghost-btn{border:1px solid var(--border); color:var(--text); padding:11px 22px; border-radius:6px; font-weight:600; font-size:.92rem; background:transparent; transition:border-color .2s;}
.ghost-btn:hover{border-color:var(--orange);}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:none;}
.burger span{width:24px; height:2px; background:var(--text);}
.mobile-menu{display:none; flex-direction:column; gap:18px; padding:20px 24px 26px; border-top:1px solid var(--border);}
.mobile-menu.open{display:flex;}

/* HERO */
.hero{padding:110px 0 90px; position:relative;}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center;}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem); font-weight:800; line-height:1.05; letter-spacing:-.02em;}
.hero h1 .accent{color:var(--orange);}
.hero p{margin-top:26px; color:var(--sub); font-size:1.12rem; max-width:480px;}
.hero-ctas{display:flex; gap:16px; margin-top:36px; flex-wrap:wrap;}
.hero-visual{aspect-ratio:4/5; border-radius:14px; background:linear-gradient(155deg,#1c1c1c,#0d0d0d); border:1px solid var(--border); position:relative; overflow:hidden; box-shadow:0 0 80px rgba(255,90,0,.08);}
.hero-visual::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 20%, rgba(255,90,0,.18), transparent 60%);}
.hero-visual .play{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.play-circle{width:74px; height:74px; border-radius:50%; border:2px solid var(--orange); display:flex; align-items:center; justify-content:center; color:var(--orange); font-size:1.3rem;}
.hero-tag{position:absolute; bottom:20px; left:20px; font-size:.8rem; color:var(--sub); border-top:1px solid var(--border); padding-top:8px; width:calc(100% - 40px);}

section{padding:100px 0;}
.section-head{margin-bottom:48px;}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem); font-weight:800; letter-spacing:-.01em;}
.section-head p{color:var(--sub); margin-top:10px; font-size:1.05rem;}

/* WORK */
#work{background:var(--bg2);}
.filters{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px;}
.filter-btn{border:1px solid var(--border); background:transparent; color:var(--sub); padding:9px 18px; border-radius:30px; font-size:.88rem; transition:all .2s;}
.filter-btn:hover{color:var(--text);}
.filter-btn.active{background:var(--orange); color:#111; border-color:var(--orange); font-weight:600;}
.work-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.work-card{background:var(--card); border:1px solid var(--border); border-radius:12px; overflow:hidden; cursor:pointer; transition:transform .3s ease, border-color .3s;}
.work-card:hover{transform:translateY(-6px); border-color:#3a3a3a;}
.work-thumb{aspect-ratio:4/3; background:linear-gradient(140deg,#232323,#161616); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; color:#444; font-size:.8rem;}
.work-thumb::after{content:""; position:absolute; inset:0; background:radial-gradient(circle at 30% 30%, rgba(255,90,0,.14), transparent 55%); opacity:0; transition:opacity .3s;}
.work-card:hover .work-thumb::after{opacity:1;}
.work-card:hover .work-thumb{transform:scale(1.04);}
.work-body{padding:18px 20px;}
.work-cat{font-size:.75rem; color:var(--orange); font-weight:600;}
.work-body h3{margin-top:6px; font-size:1.1rem;}
.work-body p{color:var(--sub); font-size:.88rem; margin-top:6px;}
.work-card[hidden]{display:none;}

/* SERVICES */
.services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.service-card{background:var(--panel); border:1px solid var(--border); border-radius:12px; padding:32px 26px; transition:border-color .25s, transform .25s;}
.service-card:hover{border-color:var(--orange); transform:translateY(-4px);}
.service-icon{width:44px; height:44px; border-radius:10px; background:rgba(255,90,0,.12); color:var(--orange); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:18px;}
.service-card h3{font-size:1.15rem; margin-bottom:8px;}
.service-card p{color:var(--sub); font-size:.92rem;}
.service-link{display:inline-block; margin-top:16px; color:var(--orange); font-size:.88rem; font-weight:600;}

/* BOOKING */
#book{background:var(--bg2);}
.book-box{background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:44px; max-width:760px; margin:0 auto;}
.steps-track{display:flex; gap:8px; margin-bottom:32px;}
.step-dot{flex:1; height:4px; border-radius:4px; background:var(--border);}
.step-dot.done{background:var(--orange);}
.step{display:none;}
.step.active{display:block;}
.opt-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:22px;}
.opt{border:1px solid var(--border); border-radius:10px; padding:16px; text-align:left; background:transparent; color:var(--text); font-size:.95rem; transition:all .2s;}
.opt:hover{border-color:var(--orange);}
.opt.selected{border-color:var(--orange); background:rgba(255,90,0,.1); font-weight:600;}
.form-field{margin-top:18px;}
.form-field label{display:block; font-size:.85rem; color:var(--sub); margin-bottom:7px;}
.form-field input, .form-field textarea, .form-field select{width:100%; background:#111; border:1px solid var(--border); border-radius:8px; padding:12px 14px; color:var(--text); font-size:.95rem; font-family:inherit;}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus{outline:2px solid var(--orange); border-color:var(--orange);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.step-nav{display:flex; justify-content:space-between; margin-top:32px;}
.summary-line{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--border); font-size:.92rem;}
.summary-line span:first-child{color:var(--sub);}
.success{text-align:center; padding:40px 0;}
.success .check{width:64px; height:64px; border-radius:50%; background:rgba(255,90,0,.15); color:var(--orange); font-size:1.8rem; display:flex; align-items:center; justify-content:center; margin:0 auto 20px;}
.success h3{font-size:1.4rem; margin-bottom:8px;}
.success p{color:var(--sub);}

/* ABOUT */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.about-visual{aspect-ratio:1/1; border-radius:14px; background:linear-gradient(160deg,#1c1c1c,#0d0d0d); border:1px solid var(--border);}
.about-grid p{color:var(--sub); margin-top:16px; font-size:1.02rem; max-width:480px;}
.about-grid h2{font-size:clamp(1.9rem,3.6vw,2.6rem); font-weight:800;}

/* PROCESS */
#process{background:var(--bg2);}
.process-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.process-card{border-top:2px solid var(--border); padding-top:20px; transition:border-color .3s;}
.process-card:hover{border-color:var(--orange);}
.process-num{font-size:2.4rem; font-weight:800; color:var(--orange); opacity:.85;}
.process-card h3{margin-top:10px; font-size:1.1rem; letter-spacing:.02em;}
.process-card p{color:var(--sub); margin-top:8px; font-size:.9rem;}

/* PROOF */
.stats-row{display:flex; gap:50px; margin-bottom:56px; flex-wrap:wrap;}
.stat-num{font-size:2.4rem; font-weight:800; color:var(--orange);}
.stat-label{color:var(--sub); font-size:.88rem; margin-top:4px;}
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.testi-card{background:var(--card); border:1px solid var(--border); border-radius:12px; padding:26px;}
.testi-card p{color:var(--text); font-size:.96rem; margin-bottom:18px;}
.testi-who{display:flex; align-items:center; gap:12px;}
.testi-avatar{width:38px; height:38px; border-radius:50%; background:#333;}
.testi-name{font-size:.9rem; font-weight:600;}
.testi-role{font-size:.8rem; color:var(--sub);}

/* FINAL CTA */
.final-cta{background:radial-gradient(circle at 30% 20%, rgba(255,90,0,.14), transparent 55%), var(--bg2); text-align:center; padding:120px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.final-cta h2{font-size:clamp(2.2rem,5vw,3.4rem); font-weight:800; line-height:1.08;}
.final-cta p{color:var(--sub); margin-top:18px; font-size:1.1rem;}
.final-ctas{display:flex; gap:16px; justify-content:center; margin-top:34px; flex-wrap:wrap;}

footer{padding:60px 0 100px;}
.foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid var(--border);}
.foot-grid h4{font-size:.85rem; color:var(--sub); margin-bottom:14px;}
.foot-grid a, .foot-grid li{color:var(--sub); font-size:.92rem; display:block; margin-bottom:10px; list-style:none;}
.foot-grid a:hover{color:var(--orange);}
.foot-bottom{padding-top:26px; color:var(--sub); font-size:.85rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

/* MOBILE STICKY CTA */
.mobile-sticky{display:none; position:fixed; bottom:0; left:0; right:0; z-index:90; padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px)); background:var(--orange);}
.mobile-sticky a{color:#111; font-weight:700; text-align:center; display:block;}

.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.show{opacity:1; transform:none;}

@media (max-width:900px){
  .hero-grid, .about-grid{grid-template-columns:1fr; gap:36px;}
  .work-grid, .services-grid, .testi-grid{grid-template-columns:repeat(2,1fr);}
  .process-grid{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .navlinks, .navbar .cta-btn{display:none;}
  .burger{display:flex;}
  .mobile-sticky{display:block;}
  body{padding-bottom:70px;}
}
@media (max-width:560px){
  .work-grid, .services-grid, .testi-grid, .process-grid{grid-template-columns:1fr;}
  .opt-grid, .form-row{grid-template-columns:1fr;}
  section{padding:70px 0;}
  .book-box{padding:28px 20px;}
}
