:root{
  --bg:#0b1315;
  --overlay:rgba(0,0,0,.70); /* darker translucency */
  --text:#d4b483;
  --muted:#fffcf3; /* subline color */
  --accent:#d4b483;
  --card-radius:14px;
  --shadow:0 12px 36px rgba(0,0,0,.45);
  --maxw:940px;
  --line: rgba(212,180,131,.25);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family: 'Montserrat', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  display:flex; flex-direction:column; line-height:1.55;
}
.header{padding:64px 20px 28px; display:flex; justify-content:center}
/* Logo 30% larger (was 240px) */
.header img{max-width:420px; height:auto; filter: drop-shadow(0 2px 10px rgba(0,0,0,.5));}
.main{flex:1; display:flex; align-items:center; justify-content:center; padding:48px 0}
.hero-wrap{width:100vw; position:relative;}
.hero-frame{
  width:100%;
  height:min(60vh, 720px);
  background:url('/assets/images/hero.jpg') center/cover no-repeat;
  position:relative;
  margin:0 auto;
}
.hero-wrap::before,
.hero-wrap::after{
  content:"";
  display:block;
  height:1px;
  background:var(--line);
  width:min(88vw, 1400px);
  margin:0 auto;
}
.hero-wrap::before{ margin-bottom:18px; }
.hero-wrap::after{ margin-top:18px; }
.card{
  position:absolute;
  left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(1000px, 86vw);
  max-width:var(--maxw);
  background:var(--overlay);
  backdrop-filter:saturate(120%) blur(2px);
  border-radius:var(--card-radius);
  padding:46px 40px; text-align:center;
  box-shadow:var(--shadow);
  border:1px solid rgba(212,180,131,.18);
}
h1{font-family:'Playfair Display', Georgia, 'Times New Roman', serif; font-weight:700; font-size:clamp(34px,5.4vw,56px); margin:0 0 12px}
.subtitle{font-size:clamp(16px,2.2vw,20px); margin:0 0 18px; color:var(--muted); white-space:pre-line}
.rule{width:90px; height:2px; background:var(--accent); margin:14px auto 20px; border-radius:2px}
.contacts{display:flex; flex-wrap:wrap; gap:18px; justify-content:center}
.contacts a{color:var(--text); text-decoration:none; padding-bottom:2px; border-bottom:1px solid transparent}
.contacts a:hover{border-color:var(--accent)}
.footer{text-align:center; color:var(--text); padding:14px 16px 40px; font-size:14px}
@media (max-width:900px){
  .header{padding-top:40px}
  .header img{max-width:260px}
  .hero-frame{height:min(50vh, 560px)}
  .card{width:calc(100% - 40px); padding:30px 24px}
}