* {
  box-sizing: border-box;
  }

body {
margin: 0;
min-height: 100vh;
background: radial-gradient(circle at top, #2a2118 0%, #120f0b 45%, #070605 100%);
color: #f5ead6;
font-family: Arial, Helvetica, sans-serif;
}

.page {
width: 100%;
min-height: 100vh;
padding: 20px;
display: flex;
justify-content: center;
align-items: flex-start;
}

.hero-card {
width: 100%;
max-width: 1100px;
background: #120f0b;
border: 1px solid rgba(214, 164, 87, 0.25);
border-radius: 18px;
overflow: hidden;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

.hero-image {
width: 100%;
display: block;
}

.content {
padding: 28px 24px 34px;
text-align: center;
}

h1 {
margin: 0;
color: #d6a457;
font-size: clamp(48px, 8vw, 86px);
line-height: 0.95;
letter-spacing: 3px;
font-weight: 900;
text-transform: uppercase;
text-shadow: 0 3px 0 rgba(0, 0, 0, 0.45);
}

.strapline {
margin: 12px 0 20px;
color: #f3d8a1;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(25px, 4vw, 38px);
font-style: italic;
}

.intro {
margin: 0;
color: #fff8e8;
font-size: 20px;
line-height: 1.5;
}

.divider {
width: 360px;
max-width: 80%;
margin: 24px auto;
display: flex;
align-items: center;
justify-content: center;
gap: 18px;
color: #d6a457;
}

.divider::before,
.divider::after {
content: "";
height: 1px;
flex: 1;
background: rgba(214, 164, 87, 0.7);
}

.divider span {
font-size: 18px;
}

/* Message form section */

.message-us {
max-width: 600px;
margin: 18px auto 0;
padding: 10px 25px 10px;
text-align: center;
}

.message-us h2 {
margin: 0 0 8px;
color: #fff3d8;
font-size: 24px;
}

.message-us p {
margin: 0 0 18px;
color: #fff8e8;
font-size: 16px;
line-height: 1.4;
}

.contact-form {
display: flex;
flex-direction: column;
gap: 12px;
margin: 0 auto;
}

.contact-form input,
.contact-form textarea {
width: 100%;
padding: 13px 14px;
border: 2px solid rgba(214, 164, 87, 0.45);
border-radius: 6px;
background: #f9f9f9;
color: #111;
font-size: 16px;
font-family: Arial, Helvetica, sans-serif;
}

.contact-form input:focus,
.contact-form textarea:focus {
outline: none;
border-color: #d6a457;
box-shadow: 0 0 0 3px rgba(214, 164, 87, 0.22);
}

.contact-form textarea {
min-height: 120px;
resize: vertical;
}

.contact-form button {
padding: 13px 18px;
border: none;
border-radius: 6px;
background: #d6a457;
color: #120f0b;
font-size: 17px;
font-weight: 700;
cursor: pointer;
text-transform: uppercase;
letter-spacing: 1px;
}

.contact-form button:hover {
background: #f0c36f;
}

/* Mobile tweaks */

@media (max-width: 700px) {
.page {
padding: 12px;
}

.content {
padding: 24px 16px 28px;
}

.strapline {
margin-bottom: 18px;
}

.divider {
margin: 20px auto;
}

.intro {
font-size: 18px;
}

.message-us {
margin-top: 12px;
padding: 8px 0 0;
}

.message-us h2 {
font-size: 22px;
}

.message-us p {
font-size: 15px;
}
}
