*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --ink:#2D2424; --rouge:#963C2D; --rouge-l:#B8503E;
  --stone:#787878; --cream:#F2EFE9; --cream-d:#E8E3DC; --gold:#C4A96A;
}
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--ink); overflow-x: hidden; max-width: 100%; }

nav {
  background:var(--ink);
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 5%; border-bottom:1px solid rgba(196,169,106,0.15);
  position:sticky; top:0; z-index:100;
}
.nav-brand { display:flex; flex-direction:column; gap:2px; }
.nav-logo { font-family:'Cinzel',serif; font-size:16px; font-weight:600; letter-spacing:4px; color:#fff; text-decoration:none; }
.nav-sub  { font-size:8px; letter-spacing:5px; color:var(--gold); }
.nav-back { color:var(--gold); font-size:11px; letter-spacing:2px; text-decoration:none; font-family:'Cinzel',serif; transition:color .2s; }
.nav-back:hover { color:#fff; }

main { max-width:840px; margin:0 auto; padding:64px 5% 96px; }
.eyebrow {
  display:flex; align-items:center; gap:12px;
  font-size:9px; letter-spacing:5px; color:var(--rouge);
  margin-bottom:12px; font-family:'Cinzel',serif; text-transform:uppercase;
}
.eyebrow::before { content:''; width:24px; height:1px; background:var(--rouge); display:block; }
h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(32px,4vw,48px); font-weight:300;
  color:var(--ink); margin-bottom:8px; line-height:1.2;
}
.subtitle { font-size:13px; color:var(--stone); margin-bottom:48px; font-style:italic; }

h2 {
  font-family:'Cinzel',serif; font-size:13px; font-weight:600;
  color:var(--ink); letter-spacing:3px; text-transform:uppercase;
  margin:40px 0 16px; padding-bottom:10px;
  border-bottom:1px solid var(--cream-d);
}
h3 {
  font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600;
  color:var(--ink); margin:24px 0 10px;
}
p, li {
  font-size:14px; line-height:1.85; color:#3d3636;
  margin-bottom:14px; font-weight:300;
}
ul, ol { padding-left:22px; margin-bottom:16px; }
li { margin-bottom:8px; }
strong { font-weight:600; color:var(--ink); }
a { color:var(--rouge); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:var(--ink); }

.info-block {
  background:#fff; border:1px solid var(--cream-d);
  border-left:3px solid var(--gold);
  padding:20px 24px; margin:20px 0; border-radius:2px;
}
.info-block p:last-child { margin-bottom:0; }

.warn-block {
  background:rgba(150,60,45,0.04); border:1px solid rgba(150,60,45,0.15);
  border-left:3px solid var(--rouge);
  padding:16px 22px; margin:20px 0; border-radius:2px;
  font-size:13px;
}

footer {
  background:#1a1414; padding:40px 5%;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:24px; border-top:1px solid rgba(196,169,106,0.1);
}
.footer-logo { font-family:'Cinzel',serif; font-size:15px; font-weight:600; letter-spacing:4px; color:rgba(255,255,255,0.7); }
.footer-sub  { font-size:8px; letter-spacing:5px; color:var(--gold); margin-top:5px; opacity:0.6; }
.footer-links { display:flex; gap:12px 24px; flex-wrap:wrap; justify-content:center; }
.footer-links a { font-size:11px; color:rgba(255,255,255,0.4); text-decoration:none; letter-spacing:1px; }
.footer-links a:hover { color:var(--gold); }
.footer-info { font-size:12px; color:rgba(255,255,255,0.25); text-align:right; line-height:1.8; font-weight:300; }
.footer-info a { color:var(--gold); opacity:0.7; text-decoration:none; }

@media (max-width:600px) {
  footer { flex-direction:column; text-align:center; }
  .footer-info { text-align:center; }
  main { padding:40px 5% 64px; }
}
@media (max-width:420px) {
  nav { padding: 14px 4%; }
  .nav-logo { font-size: 14px; letter-spacing: 3px; }
  .nav-sub { font-size: 7px; letter-spacing: 4px; }
  .nav-right { gap: 8px; }
  .nav-back { font-size: 10px; letter-spacing: 1px; }
  .lang-switch { padding: 5px 8px; font-size: 9px; letter-spacing: 1px; }
}
