
/* HERO */
.hero { height:100vh; position:relative; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; }
.hero-left { position:relative; overflow:hidden; }
.hero-left img { width:100%; height:100%; object-fit:cover; object-position:center top;
  filter:brightness(0.72) contrast(1.1); animation:heroZoom 8s ease forwards; }
@keyframes heroZoom { from{transform:scale(1.06)} to{transform:scale(1)} }
.hero-left::after { content:''; position:absolute; inset:0;
  background:linear-gradient(to right, transparent 55%, var(--black) 100%),
             linear-gradient(to top, var(--black) 0%, transparent 25%); }
.hero-right { display:flex; flex-direction:column; justify-content:center; padding:60px 60px 60px 40px; }
.hero-eyebrow { font-size:0.65rem; letter-spacing:0.4em; text-transform:uppercase; color:var(--gold); margin-bottom:24px; animation:fadeUp 1s 0.3s both; }
.hero-title {color:#fff; font-family:'Bebas Neue',sans-serif; font-size:clamp(4.5rem,7vw,8.5rem); line-height:0.9; letter-spacing:0.02em; margin-bottom:28px; animation:fadeUp 1s 0.5s both; }
.hero-title .line2 { color:var(--gold); display:block; }
.hero-title .line3 { color:var(--grey); font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:300; font-size:clamp(2rem,3vw,3.5rem); display:block; margin-top:8px; }
.hero-desc { font-size:0.85rem; line-height:1.9; color:rgba(255,255,255,0.55); max-width:360px; margin-bottom:44px; font-weight:300; animation:fadeUp 1s 0.7s both; }
.hero-cta { display:flex; gap:20px; align-items:center; animation:fadeUp 1s 0.9s both; }
.btn-primary { background:var(--gold); color:var(--black); padding:15px 38px; font-size:0.65rem; letter-spacing:0.3em; text-transform:uppercase; font-weight:600; text-decoration:none; transition:background 0.3s,transform 0.2s; font-family:'Montserrat',sans-serif; display:inline-block; }
.btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); }
.btn-outline { color:var(--cream); font-size:0.65rem; letter-spacing:0.3em; text-transform:uppercase; text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:4px; transition:color 0.3s; }
.btn-outline:hover { color:var(--gold); }
.hero-stats { position:absolute; bottom:50px; left:60px; display:flex; gap:60px; animation:fadeUp 1s 1.1s both; }
.stat-num { font-family:'Bebas Neue',sans-serif; font-size:2.5rem; color:var(--gold); display:block; line-height:1; }
.stat-label { font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--grey); margin-top:4px; }
