:root { --bg:#14110f; --bg2:#1c1814; --card:#221d18; --line:#3a3129; --text:#f3ebe1; --muted:#b3a597; --ember:#e0703a; --gold:#d8b27a; --max:1200px; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:Inter,system-ui,sans-serif; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.wrap { max-width:var(--max); margin:0 auto; padding:0 24px; }
h1,h2,h3,h4 { font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; line-height:1.05; letter-spacing:-.01em; }
h2 { font-size:clamp(2.4rem,5vw,4rem); }
em { font-style:italic; }
.gold { color:var(--gold); }
.muted { color:var(--muted); }
.kicker { font-size:.72rem; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; display:flex; align-items:center; gap:14px; }
.kicker::before { content:""; width:34px; height:1px; background:var(--gold); }
.kicker.c { justify-content:center; }
.kicker.c::after { content:""; width:34px; height:1px; background:var(--gold); }
section { padding:120px 0; }
.alt { background:var(--bg2); }
.center { text-align:center; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:16px 30px; font:600 .78rem Inter,sans-serif; letter-spacing:.18em; text-transform:uppercase; border:1px solid var(--gold); color:var(--text); background:none; cursor:pointer; transition:.25s; }
.btn.solid { background:var(--ember); border-color:var(--ember); color:#fff; }
.btn:hover { background:var(--gold); border-color:var(--gold); color:var(--bg); }
.ph { background:#2a221c center/cover no-repeat; }

/* Header */
.site-header { position:fixed; inset:0 0 auto; z-index:40; transition:.3s; }
.site-header.scrolled, .site-header.open { background:rgba(20,17,15,.95); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.nav { height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-family:"Cormorant Garamond",serif; font-size:1.7rem; letter-spacing:.04em; white-space:nowrap; }
.brand i { color:var(--ember); }
.nav ul { display:flex; gap:34px; list-style:none; font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.nav ul a { padding:6px 0; border-bottom:1px solid transparent; transition:.2s; }
.nav ul a:hover, .nav ul a.on { color:var(--text); border-color:var(--gold); }
.burger { display:none; background:none; border:0; width:40px; height:40px; cursor:pointer; position:relative; }
.burger span { position:absolute; left:8px; right:8px; height:1px; background:var(--text); transition:.3s; }
.burger span:nth-child(1) { top:15px; } .burger span:nth-child(2) { top:24px; }
.open .burger span:nth-child(1) { top:20px; transform:rotate(45deg); }
.open .burger span:nth-child(2) { top:20px; transform:rotate(-45deg); }

/* Inner-page hero */
.page-hero { min-height:68vh; display:flex; align-items:flex-end; padding:0 0 90px; position:relative; background:#0d0b0a center/cover; }
.page-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,17,15,.5),rgba(20,17,15,.6) 50%,var(--bg)); }
.page-hero .wrap { position:relative; width:100%; }
.page-hero h1 { font-size:clamp(3.2rem,8vw,6.6rem); }
.page-hero p { color:#d9cfc4; max-width:520px; margin-top:20px; font-size:1.08rem; }
.crumbs { font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); margin-bottom:22px; }
.crumbs a:hover { color:var(--gold); }

/* Footer */
.site-footer { border-top:1px solid var(--line); padding:90px 0 40px; color:var(--muted); font-size:.92rem; }
.fgrid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:50px; }
.site-footer h4 { font-family:Inter,sans-serif; font-size:.7rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; font-weight:600; }
.site-footer li { list-style:none; padding:4px 0; }
.site-footer li a:hover { color:var(--text); }
.news { display:flex; border-bottom:1px solid var(--line); margin-top:14px; }
.news input { flex:1; background:none; border:0; color:var(--text); padding:12px 0; font:inherit; }
.news input:focus { outline:0; }
.news button { background:none; border:0; color:var(--gold); font:600 .72rem Inter; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; }
.fbot { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:70px; padding-top:28px; border-top:1px solid var(--line); font-size:.82rem; }

/* Forms */
.form { background:var(--card); border:1px solid var(--line); padding:44px; display:grid; gap:20px; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
label { display:grid; gap:8px; font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); }
input,select,textarea { background:transparent; border:0; border-bottom:1px solid var(--line); color:var(--text); font:1rem Inter,sans-serif; padding:10px 0; width:100%; }
select option { background:var(--bg); }
input:focus,select:focus,textarea:focus { outline:0; border-color:var(--gold); }
.ok { display:none; color:var(--gold); font-family:"Cormorant Garamond",serif; font-style:italic; font-size:1.35rem; }

/* Reveal */
.reveal { opacity:0; transform:translateY(26px); transition:opacity .9s ease, transform .9s ease; }
.reveal.in { opacity:1; transform:none; }

/* Concept badge */
.pc-badge { position:fixed; left:16px; bottom:16px; z-index:99; background:#fff; color:#111; font:600 12px/1 Inter,system-ui,sans-serif; padding:10px 14px; border-radius:999px; box-shadow:0 8px 30px rgba(0,0,0,.35); }
.embed .pc-badge { display:none; }
html.embed { scrollbar-width:none; }
html.embed .reveal { opacity:1; transform:none; }

@media (max-width:900px) {
  .burger { display:block; }
  .nav ul { position:fixed; top:84px; left:0; right:0; bottom:0; background:var(--bg); flex-direction:column; gap:0; padding:30px 24px; font-size:1rem; display:none; }
  .open .nav ul { display:flex; }
  .nav ul a { display:block; padding:18px 0; border-bottom:1px solid var(--line); }
  .nav > .btn { display:none; }
  .fgrid { grid-template-columns:1fr 1fr; }
  .row2 { grid-template-columns:1fr; }
  .form { padding:28px; }
  section { padding:84px 0; }
}
@media (max-width:560px) { .fgrid { grid-template-columns:1fr; } }
