:root{
  --maroon:#7d3059;
  --maroon-dark:#3a162d;
  --plum:#562342;
  --cream:#fbf2dc;
  --cream-2:#fffaf0;
  --white:#ffffff;
  --gold:#f3c44d;
  --ink:#20141c;
  --muted:#6f6570;
  --border:rgba(84,38,66,.14);
  --shadow:0 18px 45px rgba(58,22,45,.12);
  --shadow-deep:0 28px 70px rgba(58,22,45,.22);
  --radius:26px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Exo',system-ui,-apple-system,Segoe UI,sans-serif;background:var(--cream-2);color:var(--ink);line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img{max-width:100%;display:block}
button,input,select,textarea{font-family:inherit}
.container{width:min(100% - 40px,1180px);margin-inline:auto}
.section{padding:78px 0;position:relative}
.section-white{background:var(--white)}
.section-soft{background:linear-gradient(180deg,var(--cream-2),var(--cream))}
.wave-bg{
  background-color:var(--cream);
  background-image:url('../images/water-pattern.svg');
  background-size:960px 480px;
  background-position:center center;
  background-repeat:repeat-x;
  background-attachment:scroll;
}
.overline{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:900;color:var(--maroon);margin-bottom:14px}
.overline.light{color:var(--gold)}
.section-title{font-size:clamp(1.85rem,3.2vw,3.05rem);line-height:1.1;letter-spacing:-.035em;color:var(--maroon-dark);margin-bottom:14px}
.section-lead{font-size:clamp(1rem,1.55vw,1.17rem);color:var(--muted);max-width:760px}
.section-lead.center{margin-inline:auto;text-align:center}
.divider{width:86px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--maroon),var(--gold));margin-top:22px}
.divider.center{margin-inline:auto}
.muted{color:var(--muted)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.text-center{text-align:center}
.notice{border-radius:18px;padding:14px 16px;margin-bottom:20px;border:1px solid var(--border);background:var(--cream);color:var(--maroon-dark);font-weight:700}
.notice.success{background:#eefbf0;color:#24552c;border-color:#bde6c4}
.notice.error{background:#fff1f1;color:#7c2020;border-color:#f1bcbc}
