:root{
  --bg:#0d0d0d;
  --bg2:#171717;
  --text:#f5f1ea;
  --muted:#bdb5aa;
  --line:rgba(255,255,255,.16);
  --gold:#c9a56a;
  --white:#fffaf0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
}
img{max-width:100%;display:block}
.site-header{
  position:fixed;z-index:20;top:0;left:0;right:0;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px clamp(18px,4vw,56px);
  background:linear-gradient(to bottom,rgba(0,0,0,.82),rgba(0,0,0,.18));
  backdrop-filter:blur(8px);
}
.brand img{width:220px;mix-blend-mode:screen;filter:invert(0) contrast(1.1)}
nav{display:flex;gap:24px}
nav a{color:var(--text);text-decoration:none;font-size:14px;letter-spacing:.04em;opacity:.85}
nav a:hover{color:var(--gold)}
.hero{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden}
.hero-bg{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.28),rgba(0,0,0,.7)),
  url("assets/poster.jpeg") center/cover no-repeat;
  transform:scale(1.02);
}
.hero-content{position:relative;max-width:860px;padding:160px 28px 80px;text-align:center}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-size:12px;font-weight:700}
h1,h2,h3{font-family:Cinzel,Georgia,serif;margin:0}
h1{font-size:clamp(52px,9vw,118px);line-height:.9;letter-spacing:.03em;text-shadow:0 10px 35px #000}
h2{font-size:clamp(30px,5vw,56px);line-height:1.05}
.lead{font-size:clamp(18px,2.1vw,25px);line-height:1.55;color:#eee4d6;margin:28px auto;max-width:780px}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:700;letter-spacing:.02em}
.primary{background:var(--white);color:#101010}
.ghost{border:1px solid var(--line);color:var(--text);background:rgba(255,255,255,.07)}
.intro,.split,.gallery,.tech,.contact{padding:90px clamp(20px,5vw,80px)}
.intro{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;background:#111;border-top:1px solid var(--line)}
.intro p:last-child{font-size:20px;line-height:1.65;color:var(--muted);margin:0}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center;background:var(--bg2)}
.split-image img{border-radius:26px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.split-text p{color:var(--muted);line-height:1.7;font-size:17px}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}
.stats div{border:1px solid var(--line);border-radius:18px;padding:20px;background:rgba(255,255,255,.04)}
.stats strong{display:block;font-family:Cinzel,Georgia,serif;font-size:30px;color:var(--white)}
.stats span{color:var(--muted)}
.quote-band{text-align:center;padding:85px 24px;background:linear-gradient(135deg,#090909,#24201a)}
.quote-band p{color:var(--muted);font-size:18px}
.section-head{margin-bottom:34px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
figure{margin:0;position:relative;overflow:hidden;border-radius:22px;background:#222;min-height:260px}
figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
figure:hover img{transform:scale(1.04)}
figcaption{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.58);padding:8px 12px;border-radius:999px;font-size:13px;color:#fff}
.wide{grid-column:span 2}.tall{grid-row:span 2}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards article{padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}
.cards p{color:var(--muted);line-height:1.65}
.contact{text-align:center;background:url("assets/castle_side.jpeg") center/cover fixed no-repeat;position:relative}
.contact>*{position:relative}
.contact:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.68)}
.contact p{max-width:720px;margin:18px auto 28px;color:var(--muted);font-size:18px}
footer{display:flex;justify-content:space-between;gap:20px;padding:28px clamp(20px,5vw,80px);color:var(--muted);border-top:1px solid var(--line);font-size:13px}
@media(max-width:850px){
  nav{display:none}.brand img{width:150px}
  .intro,.split{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr 1fr}.wide{grid-column:span 2}
  .cards{grid-template-columns:1fr}
  footer{flex-direction:column}
}
@media(max-width:560px){
  .grid{grid-template-columns:1fr}.wide{grid-column:span 1}
  .stats{grid-template-columns:1fr}
}
