:root{
  --max-width:1280px;
  --text-width:760px;
  --dark:#0c1622;
  --dark-soft:#111c2a;
  --gray:#7a8699;
  --nav-h:56px;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.75;color:#111;background:#fff}
body.menu-open{overflow:hidden}

.site-nav{
  position:sticky;top:0;
  padding-top:env(safe-area-inset-top,0);
  background:rgba(255,255,255,.75);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(0,0,0,.06);
  z-index:1000;
}
.nav-inner{max-width:1280px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#111}
.nav-links{list-style:none;display:flex;gap:42px;margin:0;padding:0}
.nav-links a{text-decoration:none;color:#111;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.nav-sep{margin:0 .4em;color:rgba(0,0,0,.35);font-weight:300;user-select:none}
.nav-toggle{
  display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;
  font-size:22px;cursor:pointer;background:0;border:0;padding:0;color:#111
}

.mobile-menu{
  position:fixed;inset:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  background:#fff;z-index:2000;display:none;align-items:center;justify-content:center
}
.mobile-menu ul{list-style:none;padding:0;margin:0;text-align:center}
.mobile-menu li{margin:18px 0}
.mobile-menu a{display:inline-block;padding:.35em 0;font-size:20px;text-decoration:none;color:#111}
.mobile-menu-close{
  position:absolute;top:max(24px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));
  min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;
  font-size:24px;cursor:pointer;background:0;border:0;padding:0
}

@media(max-width:900px){
  .nav-links{display:none}
  .nav-toggle{display:flex}
  .nav-inner{padding:12px 16px}
}

.hero{
  position:relative;
  margin-top:calc(-1 * var(--nav-h));
  padding-top:var(--nav-h);
  min-height:100vh;
  overflow:hidden;
}
.hero::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(12,22,34,.85) 0%,rgba(12,22,34,.65) 35%,rgba(12,22,34,.25) 60%,rgba(12,22,34,.15) 100%);
}
.hero-stage{position:absolute;inset:0;width:100%;min-height:100%}
.hero-stage video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0
}
.hero-stage .hero-media{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero-stage .hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.hero-inner{
  position:relative;z-index:2;max-width:var(--max-width);margin:0 auto;padding:0 20px;
  min-height:100vh;display:flex;flex-direction:column;justify-content:center;color:#fff;pointer-events:none
}
.hero-inner h1{font-family:'Playfair Display',serif;font-size:64px;line-height:1.05;margin-bottom:24px}
.hero-inner p{font-size:16px;max-width:420px;color:#e5e7eb}

@media(max-width:900px){
  .hero{margin-top:0;padding-top:0}
  .hero-stage{position:relative;display:flex;flex-direction:column;min-height:auto}
  .hero-stage video{position:relative;width:100%;height:60vh;min-height:240px;object-fit:cover;order:2}
  .hero-stage .hero-media{position:relative;width:100%;height:60vh;min-height:240px;order:2}
  .hero-stage .hero-media img{width:100%;height:100%;min-height:240px;object-fit:cover}
  .hero-inner{padding:0 24px 1.5rem;min-height:auto;justify-content:flex-start;order:1}
  .hero-inner h1{font-size:44px;margin-top:0}
  .hero-inner p{margin-bottom:0}
}
@media(max-width:480px){
  .hero-inner h1{font-size:32px}
  .hero-inner p{font-size:15px}
}

.container{max-width:var(--max-width);margin:auto;padding:120px 20px}
.text-column{max-width:var(--text-width)}
.container h2{font-size:34px;margin-bottom:18px}
.container h3{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);margin-bottom:14px}
.container p{font-size:16px;color:#444;margin-bottom:18px}

.block{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.block.reverse{direction:rtl}
.block.reverse>*{direction:ltr}
.block img{width:100%;max-width:100%;height:auto;border-radius:22px;display:block}

.section-dark{background:var(--dark-soft);color:#e5e7eb}
.section-dark p{color:#cbd5e1}
.section-dark h2{color:#fff}

.section-studio .text-column{margin-left:auto;margin-right:auto;text-align:center}
.section-studio .ref-grid,.section-gallery .ref-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px
}
.section-studio .ref-grid img,.section-gallery .ref-grid img{
  width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;display:block
}
@media(max-width:600px){
  .section-studio .ref-grid,.section-gallery .ref-grid{grid-template-columns:repeat(2,1fr);gap:8px}
}
@media(max-width:380px){
  .section-studio .ref-grid,.section-gallery .ref-grid{grid-template-columns:1fr}
}

footer{background:#0c1622;padding:100px 20px;color:#cbd5e1}
.footer-inner{max-width:760px;margin:auto;text-align:center;line-height:1.8}
.footer-inner .name{font-family:'Playfair Display',serif;font-size:26px;margin-bottom:12px}
.footer-inner a{color:#cbd5e1}
.footer-inner strong{display:block;margin-top:8px;margin-bottom:2px}

@media(max-width:900px){
  .container{padding:80px 16px}
  .block,.block.reverse{grid-template-columns:1fr;direction:ltr;gap:40px}
  .container h2{font-size:28px}
  footer{padding:60px 16px}
}
@media(max-width:480px){
  .container{padding:56px 16px}
  .block,.block.reverse{gap:32px}
  .container h2{font-size:24px}
  footer{padding:48px 16px}
}

.load-msg,.load-err{padding:120px 20px;text-align:center;color:var(--gray);font-size:16px}
.load-err code{background:rgba(0,0,0,.06);padding:2px 6px}
