/* ============================================================
   Elite Studio Nigeria — modern studio / agency
   Palette: white / ink / vivid orange
   ============================================================ */
:root{
  --ink:#0f1522;
  --ink-2:#1a2233;
  --paper:#ffffff;
  --soft:#f5f6f8;
  --accent:#f4611e;
  --accent-deep:#d84e10;
  --gray:#5b6472;
  --line:#e6e8ec;
  --sans:'Inter',Helvetica,Arial,sans-serif;
  --display:'Sora',var(--sans);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.65;font-size:16.5px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 6vw}
.wrap.narrow{max-width:820px}
section{scroll-margin-top:110px}
h1,h2,h3,h4{font-family:var(--display);line-height:1.15}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;letter-spacing:-.01em}
h3{font-size:1.2rem;font-weight:600}
.kicker{font-size:.72rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem}
.sec-head{margin-bottom:2.4rem}
.sec-head.center{text-align:center}
.sec-sub{color:var(--gray);margin-top:.9rem;max-width:620px}
.sec-head.center .sec-sub{margin-left:auto;margin-right:auto}
.sec-sub strong{color:var(--ink)}
.accent{color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:.86rem;font-weight:600;padding:.85rem 1.7rem;border-radius:999px;border:2px solid transparent;transition:.25s;cursor:pointer}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-deep);transform:translateY(-2px)}
.btn-outline{border-color:rgba(255,255,255,.55);color:#fff}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.btn-outline-dark{border-color:var(--ink);color:var(--ink)}
.btn-outline-dark:hover{background:var(--ink);color:#fff}
.btn-full{width:100%}

/* ---------- topbar ---------- */
.topbar{background:var(--ink);color:#c9d1de;font-size:.76rem}
.topbar-inner{max-width:1320px;margin:0 auto;padding:.5rem 4vw;display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.tb-item{white-space:nowrap}
.tb-score{color:#ffb257;font-weight:600}
.tb-addr{color:#8f9aab}
.tb-spacer{flex:1}
.tb-item:hover{color:#fff}
.tb-social{display:flex;gap:.7rem}
.tb-social a{font-weight:600;letter-spacing:.05em;color:#fff;background:rgba(255,255,255,.12);border-radius:4px;padding:.05rem .45rem;font-size:.7rem}
.tb-social a:hover{background:var(--accent)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav.scrolled{box-shadow:0 10px 30px -18px rgba(15,21,34,.25)}
.nav-inner{max-width:1320px;margin:0 auto;padding:.8rem 4vw;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.75rem}
.brand-mark{width:42px;height:42px;flex:none;border-radius:11px}
.brand-word{font-family:var(--display);font-weight:700;font-size:1.12rem;letter-spacing:.01em;display:flex;flex-direction:column;line-height:1.1}
.brand-word small{font-family:var(--sans);font-weight:500;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-top:.3rem}
.nav-links{display:flex;align-items:center;gap:1.5rem}
.nav-links a{font-size:.85rem;font-weight:500;color:var(--gray);transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav-links .btn{padding:.6rem 1.3rem;font-size:.8rem}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:6px 0;border-radius:2px;transition:.3s}

/* mobile menu */
.mobile-menu{position:fixed;inset:0;background:var(--paper);z-index:55;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;opacity:0;visibility:hidden;transition:.3s}
.mobile-menu.open{opacity:1;visibility:visible}
.mobile-menu a{font-family:var(--display);font-size:1.35rem;font-weight:600}
.mobile-menu a.btn{font-family:var(--sans);font-size:.86rem}
body.menu-open .nav-toggle span:first-child{transform:translateY(8px) rotate(45deg)}
body.menu-open .nav-toggle span:last-child{transform:translateY(-8px) rotate(-45deg)}
body.menu-open .nav-toggle span{background:var(--ink)}

/* ---------- hero (split) ---------- */
.hero{background:linear-gradient(180deg,#fff 0%,var(--soft) 100%);padding:4.2rem 0 5rem;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center}
.pill{display:inline-block;background:#fdeee4;color:var(--accent-deep);font-size:.76rem;font-weight:600;padding:.4rem 1rem;border-radius:999px;margin-bottom:1.2rem}
.hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem);font-weight:700;letter-spacing:-.02em}
.hero-sub{color:var(--gray);margin:1.3rem 0 1.9rem;max-width:52ch;font-size:1.05rem}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-trust{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:1.8rem;font-size:.8rem;font-weight:600;color:var(--gray)}
.hero-trust span::before{content:"✓";color:var(--accent);margin-right:.45rem;font-weight:700}
.hero-media{position:relative}
.hm-a{width:78%;aspect-ratio:4/5;object-fit:cover;border-radius:20px;box-shadow:0 30px 60px -30px rgba(15,21,34,.45)}
.hm-b{position:absolute;right:0;bottom:8%;width:46%;aspect-ratio:1;object-fit:cover;border-radius:16px;border:6px solid #fff;box-shadow:0 24px 50px -28px rgba(15,21,34,.5)}
.hm-badge{position:absolute;left:-4%;top:6%;background:#fff;border-radius:14px;box-shadow:0 18px 40px -20px rgba(15,21,34,.4);padding:.8rem 1.1rem;display:flex;align-items:center;gap:.7rem}
.hm-badge strong{font-family:var(--display);font-size:1.5rem;color:var(--accent)}
.hm-badge span{font-size:.68rem;line-height:1.3;color:var(--gray);text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* ---------- stats band ---------- */
.stats-band{background:var(--ink);color:#fff}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:2.2rem 6vw}
.stat{text-align:center}
.stat strong{display:block;font-family:var(--display);font-size:2rem;font-weight:700;color:#ffb257}
.stat span{font-size:.78rem;color:#aeb7c6;letter-spacing:.04em}

/* ---------- services ---------- */
.section{padding:5.5rem 0}
.services{background:var(--paper)}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.svc{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;transition:.3s}
.svc:hover{transform:translateY(-6px);box-shadow:0 26px 44px -30px rgba(15,21,34,.35)}
.svc img{aspect-ratio:4/3;object-fit:cover;width:100%}
.svc-body{padding:1.2rem 1.2rem 1.4rem}
.svc-body h3{margin-bottom:.45rem;font-size:1.05rem}
.svc-body p{font-size:.86rem;color:var(--gray)}

/* ---------- gallery strip ---------- */
.gallery-strip{background:var(--soft);padding:5.5rem 0}
.sec-head.tight{margin-bottom:1.8rem}
.strip{display:flex;gap:1rem;overflow-x:auto;padding:0 6vw 1rem;scroll-snap-type:x mandatory;scrollbar-width:thin}
.strip img{flex:0 0 300px;height:220px;width:300px;object-fit:cover;border-radius:14px;scroll-snap-align:start;background:#ddd}

/* ---------- studio hire (dark) ---------- */
.hire{background:var(--ink);color:#fff}
.hire-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:center}
.hire-media img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:0 30px 60px -35px rgba(0,0,0,.8)}
.hire .kicker{color:#ffb257}
.hire h2{color:#fff}
.hire-copy>p{color:#aeb7c6;margin:1rem 0 1.6rem}
.hire-list li{display:flex;flex-direction:column;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.09)}
.hire-list li:last-child{border-bottom:0}
.hire-list strong{font-family:var(--display);font-weight:600;font-size:.98rem;color:#fff}
.hire-list span{font-size:.85rem;color:#8f9aab}
.hire .btn{margin-top:1.6rem}

/* ---------- training ---------- */
.training{background:var(--paper)}
.training-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center}
.training-copy>p{color:var(--gray);margin:1rem 0 1.4rem}
.course-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.8rem}
.course-chips span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:.5rem 1.1rem;font-size:.82rem;font-weight:600;color:var(--ink-2)}
.training-media img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:0 30px 60px -35px rgba(15,21,34,.4)}

/* ---------- branches ---------- */
.branches{background:var(--soft)}
.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.branch{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem 1.7rem;position:relative;transition:.3s}
.branch:hover{transform:translateY(-5px);box-shadow:0 26px 44px -30px rgba(15,21,34,.3)}
.branch-tag{position:absolute;top:-.7rem;left:1.7rem;background:var(--accent);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border-radius:999px;padding:.28rem .8rem}
.branch h3{margin:.6rem 0 .7rem}
.branch-addr{color:var(--gray);font-size:.92rem;min-height:3.2em}
.branch-contact{font-size:.86rem;color:var(--gray);margin:.8rem 0 .3rem}
.branch-contact strong{color:var(--ink)}
.branch-link{font-weight:600;color:var(--accent-deep);font-size:.95rem}
.branch-link:hover{text-decoration:underline}

/* ---------- reviews ---------- */
.reviews{background:var(--paper)}
.rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.rev{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:1.8rem 1.7rem;transition:.3s}
.rev:hover{transform:translateY(-4px);box-shadow:0 24px 40px -30px rgba(15,21,34,.3)}
.stars{color:#f5a623;letter-spacing:.2em;font-size:.9rem;margin-bottom:.8rem}
.rev p{font-size:.98rem;color:var(--ink-2)}
.rev footer{margin-top:1rem;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep)}

/* ---------- FAQ ---------- */
.faq{background:var(--soft)}
.faq-list{display:flex;flex-direction:column;gap:.9rem}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.5rem}
.faq-item summary{cursor:pointer;font-family:var(--display);font-weight:600;font-size:1.02rem;list-style:none;position:relative;padding-right:2rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.4rem;font-weight:400;transition:.25s}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item p{color:var(--gray);margin-top:.8rem;font-size:.94rem}
.faq-item p a{color:var(--accent-deep);font-weight:600}

/* ---------- contact ---------- */
.contact{background:var(--paper)}
.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:start}
.contact h2{margin-bottom:1.6rem}
.contact-form{display:flex;flex-direction:column;gap:1.1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.contact-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--ink)}
.opt{color:var(--gray);font-weight:400}
.contact-form input,.contact-form select,.contact-form textarea{font-family:var(--sans);font-size:.95rem;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;outline:none;transition:border .2s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent);background:#fff}
.contact-form textarea{resize:vertical}
.form-note{font-size:.78rem;color:var(--gray);text-align:center}
.contact-info{display:flex;flex-direction:column;gap:1rem}
.ci-card{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.4rem}
.ci-label{font-size:.66rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-deep);display:block;margin-bottom:.4rem}
.ci-value{font-family:var(--display);font-weight:600;font-size:1.08rem}
.ci-value:hover{color:var(--accent-deep)}
.ci-text{color:var(--gray);font-size:.92rem}
.ci-social{display:flex;flex-direction:column;gap:.35rem}
.ci-social a{font-size:.92rem;font-weight:500;color:var(--ink-2)}
.ci-social a:hover{color:var(--accent-deep)}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:#aeb7c6;padding:4rem 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem}
.f-brand p{font-size:.88rem;margin-top:1.1rem;max-width:34ch}
.f-col h4{color:#fff;font-size:.95rem;margin-bottom:1rem}
.f-col a{display:block;font-size:.88rem;padding:.22rem 0;color:#aeb7c6}
.f-col a:hover{color:#fff}
.f-branch{font-size:.86rem;margin-bottom:1rem}
.f-branch strong{color:#fff}
.fineprint{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 6vw;font-size:.74rem;color:#6e7987;line-height:1.8}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .branch-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .nav-links{display:none}
  .nav-toggle{display:block}
  .topbar .tb-addr{display:none}
  .hero{padding:3rem 0 4rem}
  .hero-grid{grid-template-columns:1fr;gap:2.6rem}
  .hero-media{max-width:480px;margin:0 auto}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:1.6rem}
  .hire-grid,.training-grid{grid-template-columns:1fr;gap:2.4rem}
  .branch-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto}
  .rev-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  body{font-size:16px}
  .section{padding:4rem 0}
  .topbar .tb-item:not(.tb-score){display:none}
  .topbar .tb-social{display:flex}
  .svc-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .strip img{flex-basis:240px;height:180px}
  .hm-badge{left:0}
  .footer-grid{grid-template-columns:1fr}
}
