:root{
  /* BRAND */
  --brand-red: #6B1D28;
  --brand-red-hover:#7a2433;
  --brand-beige: #F5F1EA;
  --text-main: #000;
  --text-muted: rgba(0,0,0,.62);
  --card: #fff;
  --border: rgba(0,0,0,.10);

  --serif: "Playfair Display", serif;
  --sans: "Inter", sans-serif;

  --container: 1100px;
  --radius:18px;
  --shadow:0 18px 45px rgba(0,0,0,.12);
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family: var(--sans);
  background: var(--brand-beige);
  color: var(--text-main);
}

/* ========================= */
/* LAYOUT */
/* ========================= */

.container{
  width:min(var(--container),92vw);
  margin:auto;
  padding:0 18px;
}

.center{
  display:flex;
  justify-content:center;
  padding:clamp(60px,6vw,100px) 18px;
}

/* ========================= */
/* HERO */
/* ========================= */

.hero{
  padding:clamp(60px,6vw,100px) 0 clamp(40px,4vw,70px);
  text-align:center;
}

.page-title{
  font-family: var(--serif);
  font-size: clamp(44px,5.2vw,70px);
  line-height:1.02;
  margin:0;
  color: var(--brand-red);
  letter-spacing:-0.02em;
}

.page-lead{
  margin-top:14px;
  font-size: clamp(20px,2.2vw,26px);
  font-weight:600;
  max-width:44ch;
  margin-left:auto;
  margin-right:auto;
}

/* ========================= */
/* CARD SYSTEM */
/* ========================= */

.card{
  background: var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
}

.card-centered{
  max-width:520px;
  width:100%;
  padding:40px 36px 36px;
  text-align:center;
}

.section-head{
  font-size:28px;
  font-weight:800;
  color: var(--brand-red);
  margin:0 0 14px;
}

.body-text{
  line-height:1.7;
  font-size:16px;
  color: var(--text-muted);
  margin:0 auto 32px;
  max-width:46ch;
}

/* ========================= */
/* FORM SYSTEM */
/* ========================= */

.form{
  display:grid;
  gap:18px;
}

.input{
  padding:18px 16px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.12);
  font-size:16px;
  background:#fff;
  font-family: var(--sans);
}

/* ========================= */
/* BUTTON SYSTEM */
/* ========================= */

.btn-primary{
  background: var(--brand-red);
  color:#fff;
  border:none;
  border-radius:var(--radius);
  padding:18px;
  font-size:18px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(0,0,0,.16);
  transition:.2s ease;
}

.btn-primary:hover{
  background:var(--brand-red-hover);
}

/* ========================= */
/* SMALL TEXT */
/* ========================= */

.privacy{
  font-size:14px;
  color:rgba(0,0,0,.45);
  margin-top:16px;
}