:root{
  --bg:#0b0b0c;
  --fg:#f4f4f4;
  --muted:#b8b8b8;
  --line:rgba(255,255,255,.12);
  --hover:rgba(255,255,255,.08);
  --max:860px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  line-height:1.65;
}

.wrap{ max-width:var(--max); margin:0 auto; padding:0 22px; }

/* SPLASH */
.splash{
  position:fixed;
  inset:0;
  z-index:9999;
  background:#000;
}
.splash-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:.96;
}
.splash.is-hidden{
  opacity:0;
  visibility:hidden;
  transition: opacity .35s ease;
  pointer-events:none;
}

/* menu on photo (top-right) */
.splash-nav{
  position:absolute;
  top:18px;
  right:18px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.navlink{
  color:rgba(255,255,255,.90);
  text-decoration:none;
  font-size:.95rem;
  padding:6px 10px;
  border-radius:12px;
  background:rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(8px);
}
.navlink:hover{ background:rgba(255,255,255,.08); }

/* optional enter */
.splash-menu{
  position:absolute;
  bottom:22px;
  left:50%;
  transform:translateX(-50%);
  text-decoration:none;
  color:rgba(255,255,255,.90);
  font-size:.85rem;
  letter-spacing:.10em;
  text-transform:uppercase;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(8px);
}
.splash-menu:hover{ background:rgba(255,255,255,.08); }

/* HEADER */
.header{
  position:sticky;
  top:0;
  background:rgba(11,11,12,.86);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
  z-index:10;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
}
.brand{
  color:var(--fg);
  text-decoration:none;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.92rem;
}
.nav{ display:flex; gap:16px; flex-wrap:wrap; justify-content:flex-end; }
.nav a{
  color:var(--muted);
  text-decoration:none;
  font-size:.95rem;
  padding:6px 8px;
  border-radius:10px;
}
.nav a:hover{ background:var(--hover); color:var(--fg); }

/* CONTENT */
.hero{ padding:56px 0 16px; }
.hero-title{ margin:0 0 10px; font-size:3.0rem; letter-spacing:-.03em; line-height:1.05; }
.hero-sub{ margin:0 0 18px; color:var(--muted); font-size:1.12rem; max-width:60ch; }

.actions{ display:flex; gap:10px; flex-wrap:wrap; margin:12px 0 14px; }
.btn{
  display:inline-flex;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  text-decoration:none;
  color:var(--fg);
  font-size:.96rem;
}
.btn:hover{ background:var(--hover); }

.note{ color:var(--muted); max-width:72ch; margin:14px 0 0; }

.section{ padding:22px 0; }
h2{ margin:0 0 10px; font-size:1.15rem; letter-spacing:.12em; text-transform:uppercase; }
p{ margin:10px 0; max-width:74ch; }

.contact-line{ color:var(--muted); }
.contact-line a{
  color:var(--fg);
  text-decoration:none;
  border-bottom:1px solid var(--line);
}
.contact-line a:hover{ border-bottom-color:var(--fg); }

.footer{ padding:24px 0 50px; color:var(--muted); font-size:.95rem; }

/* Mobile polish */
@media (max-width: 520px){
  .hero-title{ font-size:2.35rem; }
  .splash-nav{ top:12px; right:12px; gap:10px; }
  .navlink{ font-size:.88rem; padding:6px 8px; }
}
/* Splash nav: desktop vs mobile */
.nav-mobile{ display:none; }

@media (max-width: 640px){
  .nav-desktop{ display:none; }
  .nav-mobile{ display:inline-flex; }
}

