:root {
  --ink:#171717;
  --muted:#6f6f6f;
  --paper:#f7f6f2;
  --white:#fff;
  --line:#deddd7;
  --accent:#8b7355;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial,Helvetica,sans-serif; line-height:1.7; }
a { color:inherit; }
.nav { position:absolute; z-index:3; top:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; padding:28px 5vw; color:white; }
.brand { text-decoration:none; font-weight:600; letter-spacing:.02em; }
.links { display:flex; gap:26px; font-size:.9rem; }
.links a { text-decoration:none; opacity:.9; }
.links a:hover { opacity:1; }
.hero { min-height:100vh; position:relative; overflow:hidden; color:white; background:#222; }
.hero-image { position:absolute; inset:0; background:linear-gradient(135deg,#292929,#7b6c5c); }
.hero-image img { width:100%; height:100%; object-fit:cover; display:block; filter:brightness(.58); }
.hero-image:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.12) 70%,rgba(0,0,0,.25)); }
.image-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,6vw,5.5rem); letter-spacing:.02em; opacity:.9; }
.hero-content { position:relative; z-index:2; min-height:100vh; display:flex; flex-direction:column; justify-content:center; padding:16vh 10vw 10vh; max-width:850px; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:600; margin:0 0 18px; opacity:.8; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; line-height:1.08; margin:0; }
h1 { font-size:clamp(3.4rem,8vw,7.5rem); }
h2 { font-size:clamp(2.5rem,5vw,4.4rem); margin-bottom:25px; }
.intro { font-size:1.2rem; max-width:540px; margin:25px 0 35px; }
.button { width:max-content; text-decoration:none; border:1px solid rgba(255,255,255,.75); padding:12px 23px; transition:.2s; }
.button:hover { background:white; color:var(--ink); }
.section { padding:110px 8vw; }
.narrow { max-width:850px; margin:auto; }
.section p { color:#484848; max-width:700px; }
.contact { background:#ebe9e2; }
.mail { display:inline-block; margin-top:10px; font-weight:600; text-decoration:none; border-bottom:1px solid var(--accent); padding-bottom:3px; }
footer { padding:30px 5vw; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:.82rem; border-top:1px solid var(--line); }
.footer-links { display:flex; gap:20px; }
footer a { text-decoration:none; }
.legal { max-width:850px; margin:auto; padding:120px 7vw 80px; }
.legal h1 { font-size:clamp(2.8rem,6vw,5rem); margin-bottom:45px; }
.legal h2 { font-size:1.55rem; margin-top:40px; }
.legal p,.legal li { color:#444; }
.back { display:inline-block; margin-bottom:50px; text-decoration:none; border-bottom:1px solid var(--accent); }
@media (max-width:700px) {
  .nav { padding:20px 6vw; }
  .links { display:none; }
  .hero-content { padding-left:8vw; padding-right:8vw; }
  .section { padding:80px 8vw; }
  footer { flex-direction:column; }
}
