:root{
  --bg:#050506;
  --text:#F6F2E8;
  --muted:rgba(246,242,232,.72);
  --gold:#C7A25A;
  --gold2:#F2D28A;
  --line:rgba(246,242,232,.14);
}

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

/* HEADER */
.site-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px clamp(16px, 4vw, 48px);
  background:linear-gradient(to bottom, rgba(5,5,6,.72), rgba(5,5,6,0));
  backdrop-filter: blur(6px);
}

.brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.brand__logo{
  height: clamp(44px, 4.6vw, 82px);
  width: auto;
  display:block;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}

.site-nav{display:flex; gap:22px; align-items:center}
.site-nav a{
  color:var(--text);
  text-decoration:none;
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.9;
}
.site-nav a:hover{opacity:1; color:var(--gold2)}

/* PAGE WRAP */
.page{
  min-height:100vh;
  padding-top: 96px;
}

/* HERO */
.hero{
  position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding: clamp(24px, 6vw, 72px);
}

.hero__bg{
  position:absolute; inset:0;
  background:url("../assets/hero.jpg") center/cover no-repeat;
  transform: scale(1.02);
}

.hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(80% 60% at 50% 40%, rgba(0,0,0,.25), rgba(0,0,0,.82)),
    linear-gradient(to bottom, rgba(5,5,6,.35), rgba(5,5,6,.92));
}

.hero__content{
  position:relative;
  text-align:center;
  max-width: 980px;
}

.hero__title{
  margin:0;
  font-weight:600;
  font-size: clamp(28px, 4.4vw, 64px);
  letter-spacing: .02em;
  line-height: 1.08;
}

.hero__subtitle{
  margin:16px auto 0;
  max-width: 720px;
  color:var(--muted);
  font-size: clamp(14px, 1.6vw, 18px);
  line-height:1.5;
}

.hero__cta{
  margin-top: 28px;
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 999px;
  border: 1px solid var(--line);
  text-decoration:none;
  color:var(--text);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size: 12px;
}
.btn--primary{
  border-color: rgba(199,162,90,.55);
  background: linear-gradient(135deg, rgba(199,162,90,.22), rgba(242,210,138,.10));
}
.btn--primary:hover{border-color: rgba(242,210,138,.85)}
.btn--ghost:hover{border-color: rgba(246,242,232,.36)}

/* SECTIONS (pages internes) */
.section{padding: clamp(28px, 6vw, 72px) 0}
.container{width:min(1100px, calc(100% - 32px)); margin:0 auto}
.h1{margin:0 0 10px; font-size: clamp(26px, 3.2vw, 44px); letter-spacing:.02em}
.h2{margin:0 0 8px; font-size: clamp(18px, 2vw, 24px)}
.lead{margin:0 0 22px; color:var(--muted); line-height:1.6}
.p{margin:0; color:var(--muted); line-height:1.7}
.card{border:1px solid var(--line); border-radius:22px; padding:18px 18px; background: rgba(246,242,232,.02)}

/* MOBILE */
@media (max-width: 760px){
  .site-nav{gap:14px}
  .site-nav a{font-size:12px}
  .page{padding-top: 88px}
}

/* VIEW TRANSITIONS (morph-like) */
@keyframes fadeIn {from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none}}
@keyframes fadeOut {from{opacity:1} to{opacity:0}}

::view-transition-old(page){animation: 220ms ease both fadeOut}
::view-transition-new(page){animation: 420ms cubic-bezier(.2,.8,.2,1) both fadeIn}
