
:root{
  --bg:#0b0b0e;
  --muted:#111119;
  --panel:#13131a;
  --text:#eceef2;
  --sub:#a6adbb;
  --brand:#00d1b2; /* teal */
  --brand2:#ff6a00; /* warm accent */
  --card:#151521;
  --stroke:rgba(255,255,255,.08);
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background: radial-gradient(1200px 600px at 20% -10%, #122022 0%, transparent 60%),
              radial-gradient(900px 500px at 110% 10%, #1a0e06 0%, transparent 55%),
              var(--bg);
  color:var(--text);
  font:16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
}

a{color:var(--text); text-decoration:none}
img{max-width:100%; display:block; border-radius:14px}
.container{width:min(1200px, 92%); margin-inline:auto}

.header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(10px);
  background: rgba(10,10,14,.6);
  border-bottom:1px solid var(--stroke);
}
.nav{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:14px 0;
}
.brand{
  display:flex; align-items:center; gap:12px; font-weight:700; letter-spacing:.5px
}
.brand .dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand2)); box-shadow:0 0 12px var(--brand)}
.menu{display:flex; gap:18px; align-items:center}
.menu a{padding:10px 14px; border-radius:12px; color:var(--sub)}
.menu a:hover, .menu a.active{background:var(--panel); color:var(--text)}

.btn{
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  border:none; padding:12px 18px; border-radius:14px; color:#0b0b0e; font-weight:700; cursor:pointer; box-shadow:var(--shadow)
}
.btn.ghost{background:transparent; color:var(--text); border:1px solid var(--stroke)}

.hero{
  position:relative; min-height:76vh; display:grid; place-items:center; overflow:hidden;
  border-bottom:1px solid var(--stroke)
}
.hero video, .hero .poster{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter: brightness(.55) saturate(1.1);
}
.hero .poster{background:url('../img/hero_poster.jpg') center/cover no-repeat}
.hero .scrim{position:absolute; inset:0; background:radial-gradient(70% 60% at 50% 50%, transparent 0 60%, rgba(0,0,0,.65) 100%)}
.hero .content{position:relative; z-index:2; text-align:center; padding:80px 0}
.h1{font-size:clamp(36px, 4.6vw, 64px); margin:0 0 10px; letter-spacing:.4px}
.lead{color:var(--sub); font-size:clamp(16px,2vw,19px)}
.cta{margin-top:22px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap}

.section{padding:70px 0}
.section .head{display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:24px}
.section h2{margin:0; font-size:clamp(26px, 3vw, 36px)}
.section p.sub{color:var(--sub); margin:0}

.grid{display:grid; gap:18px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){
  .grid.cols-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .grid.cols-3, .grid.cols-2{grid-template-columns:1fr}
}

.card{
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent 60%), var(--card);
  border:1px solid var(--stroke);
  border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow);
  transition:.3s transform, .3s box-shadow, .3s border-color;
}
.card:hover{transform:translateY(-4px); border-color: rgba(255,255,255,.18)}

.card .body{padding:16px 16px 18px}
.chips{display:flex; gap:8px; flex-wrap:wrap}
.chip{padding:6px 10px; border-radius:999px; background:rgba(255,255,255,.06); color:var(--sub); border:1px solid var(--stroke); font-size:12.5px}

.kicker{color:var(--brand); font-weight:700; letter-spacing:.4px; font-size:12px; text-transform:uppercase}
.meta{color:var(--sub); font-size:14px}

.split{display:grid; grid-template-columns: 1.1fr .9fr; gap:24px}
@media(max-width:900px){ .split{grid-template-columns:1fr; } }

.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
@media(max-width:860px){ .gallery{grid-template-columns:repeat(2,1fr)} }
@media(max-width:520px){ .gallery{grid-template-columns:1fr} }
.gallery img{aspect-ratio:16/10; object-fit:cover; cursor:pointer; transition:transform .3s}
.gallery img:hover{transform:scale(1.02)}

.footer{
  border-top:1px solid var(--stroke); padding:28px 0; color:var(--sub)
}
.footer .cols{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:22px}
.footer a{color:var(--sub)}
.footer .logo{display:flex; align-items:center; gap:12px; font-weight:800}
.footer .legal{margin-top:10px; font-size:13px}
@media(max-width:900px){ .footer .cols{grid-template-columns:1fr 1fr} }

/* Lightbox */
.lightbox{position:fixed; inset:0; background:rgba(0,0,0,.85); display:none; align-items:center; justify-content:center; z-index:1000}
.lightbox.open{display:flex}
.lightbox img{max-width:92%; max-height:86%; border-radius:16px; box-shadow: var(--shadow); border:1px solid var(--stroke)}

/* Contact form */
form .row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media(max-width:720px){ form .row{grid-template-columns:1fr} }
input, textarea{
  width:100%; padding:12px 14px; border-radius:12px; background:#0e0e14; color:var(--text);
  border:1px solid var(--stroke); outline:none; transition:.2s border-color
}
input:focus, textarea:focus{border-color:var(--brand)}
textarea{min-height:140px; resize:vertical}

/* Mobile menu */
.burger{display:none}
.drawer{display:none}


@media(max-width:860px){
  .menu{display:none}
  .burger{display:flex; gap:8px; align-items:center}
  .drawer{position:fixed; top:60px; right:12px; left:12px; background:var(--panel); border:1px solid var(--stroke); border-radius:16px; padding:12px; display:none}
  .drawer.open{display:block}
  .drawer a{display:block; padding:12px; border-radius:10px; color:var(--text)}
  .drawer a:hover{background:rgba(255,255,255,.06)}
}
