:root{
  --bg:#0b0d13;
  --panel:#101522;
  --text:#eaf0ff;
  --muted:#a7b0c3;
  --line:rgba(255,255,255,.10);
  --glow1:#7c3aed;
  --glow2:#06b6d4;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius:22px;
  --radius2:28px;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background:
    radial-gradient(900px 600px at 15% 10%, rgba(124,58,237,.22), transparent 55%),
    radial-gradient(900px 600px at 85% 25%, rgba(6,182,212,.16), transparent 55%),
    radial-gradient(700px 500px at 60% 90%, rgba(124,58,237,.10), transparent 55%),
    var(--bg);
  color:var(--text);
  line-height:1.6;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
a:hover{opacity:.95}
code{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
.container{width:min(var(--max), calc(100% - 40px)); margin-inline:auto}
.skip{position:absolute; left:-999px; top:10px; background:#fff; color:#000; padding:10px 14px; border-radius:12px; z-index:999}
.skip:focus{left:12px}
.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(10px);
  background: rgba(11,13,19,.55);
  border-bottom: 1px solid var(--line);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0; gap:12px}
.brand{display:flex; align-items:center}
.brand-mark{height:44px; width:auto; border-radius:14px; box-shadow: var(--shadow)}
.nav-list{display:flex; align-items:center; gap:14px; list-style:none; padding:0; margin:0}
.nav-list a{padding:10px 12px; border-radius:12px; color:var(--muted)}
.nav-list a:hover{background: rgba(255,255,255,.06); color:var(--text)}
.nav-list a.btn{color:#0b0d13}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px; padding:12px 16px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.14);
  background: linear-gradient(135deg, rgba(124,58,237,.95), rgba(6,182,212,.90));
  color:#0b0d13;
  box-shadow: 0 12px 28px rgba(124,58,237,.22);
  font-weight:700;
}
.btn:hover{transform: translateY(-1px)}
.btn:active{transform: translateY(0px)}
.btn.secondary{background: rgba(255,255,255,.06); color: var(--text); border: 1px solid rgba(255,255,255,.14); box-shadow:none}
.btn.ghost{background: transparent; color: var(--text)}
.btn-sm{padding:10px 14px; font-size:14px}
.pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius: 999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: var(--muted); font-size: 13px;
}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.hero{padding: 58px 0 26px}
.hero-grid{display:grid; grid-template-columns: 1.25fr .75fr; gap: 26px; align-items: stretch}
@media (max-width: 900px){.hero-grid{grid-template-columns:1fr}}
.h-title{font-size: clamp(34px, 4vw, 56px); line-height:1.05; letter-spacing: -0.02em; margin: 10px 0 10px}
.h-sub{color: var(--muted); font-size: clamp(16px, 1.6vw, 18px); max-width: 62ch}
.hero-actions{display:flex; gap:12px; flex-wrap: wrap; margin-top: 18px}
.card{background: linear-gradient(180deg, rgba(16,21,34,.88), rgba(16,21,34,.68)); border: 1px solid rgba(255,255,255,.10); border-radius: var(--radius2); box-shadow: var(--shadow)}
.hero-card{padding: 18px}
.hero-card .stat{display:flex; gap:12px; align-items:flex-start; padding: 14px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); margin-top: 12px}
.kicker{color: var(--muted); font-weight:600; letter-spacing:.08em; text-transform:uppercase; font-size: 12px}
.stat b{display:block; font-size: 16px}
.stat span{color: var(--muted); font-size: 13px}
.section{padding: 34px 0}
.section-title{display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom: 14px}
.section-title h2{margin:0; font-size: clamp(22px, 2.1vw, 30px); letter-spacing: -0.01em}
.section-title p{margin:0; color: var(--muted); max-width: 70ch}
.grid-3{display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px}
@media (max-width: 900px){.grid-3{grid-template-columns:1fr}}
.feature{padding: 18px}
.feature h3{margin: 8px 0 6px; font-size: 18px}
.feature p{margin: 0; color: var(--muted)}
.icon{width:42px; height:42px; border-radius: 16px; background: radial-gradient(28px 28px at 30% 30%, rgba(255,255,255,.16), rgba(255,255,255,.06)); border: 1px solid rgba(255,255,255,.10); display:grid; place-items:center}
.icon svg{width:22px; height:22px; opacity:.92}
.split{display:grid; grid-template-columns: 1fr 1fr; gap: 16px}
@media (max-width: 900px){.split{grid-template-columns: 1fr}}
.panel{padding: 22px}
.panel h3{margin: 0 0 10px}
.panel p{margin: 0; color: var(--muted); white-space: pre-line}
.banner{padding: 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap}
.banner p{margin:0; color: var(--muted)}
.banner strong{color: var(--text)}
.page-hero{padding: 34px 0 10px}
.breadcrumb{color: var(--muted); font-size: 14px}
.page-hero h1{margin: 8px 0 10px; font-size: clamp(28px, 3.2vw, 44px); letter-spacing: -0.02em}
.page-hero p{margin:0; color: var(--muted); max-width: 75ch}
.work-grid{display:grid; grid-template-columns: repeat(2, 1fr); gap: 16px}
@media (max-width: 900px){.work-grid{grid-template-columns: 1fr}}
.playlist{padding: 16px}
.playlist h3{margin: 2px 0 10px; font-size: 18px}
.playlist p{margin: 0 0 10px; color: var(--muted); font-size: 14px}
.iframe-wrap{aspect-ratio: 16/9; border-radius: 18px; overflow:hidden; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.04)}
.iframe-wrap iframe{width:100%; height:100%; border:0}
.note{margin-top: 10px; color: var(--muted); font-size: 13px}
.form{display:grid; gap: 12px}
.field{display:grid; gap: 6px}
label{font-weight:600; color: var(--text); font-size: 14px}
input, textarea{padding: 12px 14px; border-radius: 16px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); color: var(--text); outline: none}
textarea{min-height: 140px; resize: vertical}
input:focus, textarea:focus{border-color: rgba(6,182,212,.55); box-shadow: 0 0 0 4px rgba(6,182,212,.12)}
.form-row{display:grid; grid-template-columns: 1fr 1fr; gap: 12px}
@media (max-width: 700px){.form-row{grid-template-columns: 1fr}}
.contact-grid{display:grid; grid-template-columns: 1.15fr .85fr; gap: 16px}
@media (max-width: 900px){.contact-grid{grid-template-columns: 1fr}}
.kv{padding: 18px}
.kv h3{margin:0 0 10px}
.kv ul{margin:0; padding-left: 18px; color: var(--muted)}
hr.sep{border:0; border-top:1px solid var(--line); margin: 18px 0}
.site-footer{border-top: 1px solid var(--line); margin-top: 26px; background: rgba(11,13,19,.55)}
.footer-grid{display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 18px; padding: 26px 0 12px}
@media (max-width: 900px){.footer-grid{grid-template-columns:1fr}}
.footer-brand{font-weight:800; letter-spacing: -.01em; margin-bottom: 6px}
.footer-title{font-weight:700; margin-bottom: 8px}
.footer-links{list-style:none; padding:0; margin:0; display:grid; gap:6px}
.footer-links a{color: var(--muted)}
.footer-links a:hover{color: var(--text)}
.footer-bottom{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding: 12px 0 22px; border-top: 1px solid rgba(255,255,255,.06)}
.muted{color: var(--muted)}
.nav-toggle{display:none; width:44px; height:44px; border-radius: 14px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04)}
.hamburger{width:18px; height:2px; background: var(--text); display:block; margin: 0 auto; position: relative}
.hamburger:before,.hamburger:after{content:""; position:absolute; left:0; width:18px; height:2px; background: var(--text)}
.hamburger:before{top:-6px}
.hamburger:after{top:6px}
@media (max-width: 820px){
  .nav-toggle{display:inline-grid; place-items:center}
  .nav-list{position:absolute; right: 20px; top: 72px; width: min(320px, calc(100% - 40px)); padding: 12px; border-radius: 18px; background: rgba(16,21,34,.95); border: 1px solid rgba(255,255,255,.12); box-shadow: var(--shadow); flex-direction: column; align-items: stretch; gap: 6px; display: none}
  .nav-list.open{display:flex}
  .nav{position: relative}
  .nav-list a{display:flex; justify-content:center}
}
.reveal{opacity:0; transform: translateY(12px); transition: all .6s ease}
.reveal.in{opacity:1; transform:none}

/* === Header Contact Button (cinematic) === */
.header-contact{
  background: rgba(255,255,255,.06) !important;
  color: var(--text) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.35) !important;
}
.header-contact:hover{
  background: linear-gradient(135deg, rgba(255,59,48,.30), rgba(6,182,212,.22)) !important;
  border-color: rgba(255,255,255,.24) !important;
  transform: translateY(-1px);
}
.header-contact:active{ transform: translateY(0px); }


/* Keep toggle and dropdown within viewport */
@media (max-width: 860px){
  .nav{ position: relative; }
  .nav-list{
    right: 0 !important;
    left: 0 !important;
    margin: 0 auto;
    width: min(340px, calc(100vw - 28px)) !important;
    max-width: calc(100vw - 28px) !important;
  }
}

/* Prevent accidental horizontal scroll caused by header */
html, body{ width:100%; overflow-x:hidden; }
.site-header, .header-inner{ max-width:100%; }


/* Ensure header never creates horizontal scroll */
html, body{ overflow-x: hidden; }

/* === Mobile menu centered dropdown (v7) === */
@media (max-width: 900px){
  /* keep toggle safely inside header */
  .site-header .container{
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
  }

  /* center dropdown under header */
  .nav{ position: relative !important; }
  .nav-list{
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 62px !important;
    transform: translateX(-50%) !important;

    width: min(360px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 120px) !important;
    overflow: auto !important;

    padding: 14px !important;
    border-radius: 20px !important;
    background: rgba(8,9,14,.98) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 22px 70px rgba(0,0,0,.65) !important;

    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    z-index: 1002 !important;
  }
  .nav-list.open{ display: flex !important; }

  .nav-list a{
    color: rgba(243,246,255,.92) !important;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.10);
  }
  .nav-list a.btn{
    background: linear-gradient(135deg, rgba(255,59,48,.92), rgba(6,182,212,.82)) !important;
    color: #05060a !important;
    border: 1px solid rgba(255,255,255,.14) !important;
  }

  /* remove any blur backdrop behavior */
  body.nav-open::after{ content: none !important; }
  body.nav-open{ overflow: auto !important; }
}

/* prevent horizontal scroll */
html, body{ overflow-x: hidden; }
