@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,400;0,500;0,600;1,500&family=Public+Sans:wght@400;500;600&display=swap');

:root{
  --sand:#F3EDE4;
  --sand-deep:#EAE2D4;
  --terracotta:#C0684A;
  --terracotta-light:#E3A67F;
  --petrol:#35555A;
  --petrol-deep:#2E3D3D;
  --ink:#2E3D3D;
  --ink-soft:#4A4238;
  --muted:#6B6255;
  --line:#DED4C4;

  --font-display:'Source Serif 4', serif;
  --font-body:'Public Sans', sans-serif;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  background:var(--sand);
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

.page{
  max-width:720px;
  margin:0 auto;
  padding:64px 24px 120px;
}

.hero{ margin-bottom:56px; }
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:32px;
}
.brand-name{
  font-family:var(--font-display);
  font-weight:600;
  font-size:20px;
}
.brand-cura{ color:var(--terracotta); }
.brand-vacc{ color:var(--ink); }
.hero-kicker{
  font-family:var(--font-body);
  font-size:13px;
  color:var(--terracotta);
  margin:0 0 10px;
  font-weight:600;
}
.hero h1{
  font-family:var(--font-display);
  font-size:44px;
  font-weight:600;
  margin:0 0 18px;
  color:var(--petrol-deep);
  letter-spacing:-0.5px;
}
.hero-sub{
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.6;
  color:var(--muted);
  max-width:56ch;
  margin:0;
}

section{
  border-top:1px solid var(--line);
  padding:36px 0;
}
section:first-of-type{ border-top:2px solid var(--terracotta); }

.section-head{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin-bottom:8px;
}
.section-head .num{
  font-family:var(--font-body);
  font-size:14px;
  font-weight:700;
  color:var(--terracotta);
  border:1px solid var(--terracotta);
  border-radius:50%;
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.section-head h2{
  font-family:var(--font-display);
  font-weight:600;
  font-size:24px;
  margin:0;
  color:var(--petrol-deep);
}

.section-note{
  font-family:var(--font-body);
  font-size:14.5px;
  color:var(--muted);
  line-height:1.55;
  margin:0 0 20px;
  max-width:60ch;
}

label{
  display:block;
  font-family:var(--font-body);
  font-size:14.5px;
  font-weight:600;
  color:var(--ink-soft);
  margin-bottom:18px;
}

label .opt{
  font-weight:400;
  color:var(--muted);
  font-size:13px;
}

.grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 20px;
}
@media (max-width:600px){
  .grid-2{ grid-template-columns:1fr; }
}

input[type="text"], input[type="email"], input[type="url"], input[type="file"], select, textarea{
  width:100%;
  margin-top:8px;
  padding:11px 13px;
  font-family:var(--font-body);
  font-size:15px;
  font-weight:400;
  color:var(--ink);
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
}
input:focus, select:focus, textarea:focus{
  outline:2px solid var(--terracotta);
  outline-offset:1px;
  border-color:var(--terracotta);
}
textarea{ resize:vertical; font-family:var(--font-body); }

.file-label input[type="file"]{ background:var(--sand-deep); }

.radio-row{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:400;
  margin-bottom:10px;
}
.radio-row input{ width:auto; margin:0; accent-color:var(--terracotta); }

.submit-row{
  padding-top:40px;
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

#submitBtn{
  font-family:var(--font-body);
  font-size:16px;
  font-weight:600;
  color:var(--sand);
  background:var(--petrol);
  border:none;
  border-radius:8px;
  padding:14px 28px;
  cursor:pointer;
}
#submitBtn:hover{ background:var(--petrol-deep); }
#submitBtn:disabled{ opacity:0.6; cursor:default; }

.feedback{
  font-family:var(--font-body);
  font-size:14px;
  color:var(--muted);
}
.feedback.success{ color:var(--petrol-deep); font-weight:600; }
.feedback.error{ color:var(--terracotta); font-weight:600; }
