@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@400;500;600&display=swap');

:root{
  --bg: #FBF3EC;
  --bg-soft: #F3E4DA;
  --surface: #FFFFFF;
  --ink: #2E2A28;
  --ink-muted: #6E635F;
  --rose: #A9667A;
  --rose-deep: #7C4658;
  --gold: #B99459;
  --border: rgba(46,42,40,0.12);
  --shadow: 0 30px 60px -25px rgba(46,26,34,0.35);
  --good: #4E7C5C;
  --bad: #B5484A;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg: #1C1518;
    --bg-soft: #241A1E;
    --surface: #2A1F23;
    --ink: #F3E9E4;
    --ink-muted: #C2AEA9;
    --rose: #CE8298;
    --rose-deep: #E3A6B7;
    --gold: #D2AE72;
    --border: rgba(243,233,228,0.14);
    --shadow: 0 30px 60px -20px rgba(0,0,0,0.6);
    --good: #7FBE90;
    --bad: #E38585;
  }
}
:root[data-theme="dark"]{
  --bg: #1C1518;
  --bg-soft: #241A1E;
  --surface: #2A1F23;
  --ink: #F3E9E4;
  --ink-muted: #C2AEA9;
  --rose: #CE8298;
  --rose-deep: #E3A6B7;
  --gold: #D2AE72;
  --border: rgba(243,233,228,0.14);
  --shadow: 0 30px 60px -20px rgba(0,0,0,0.6);
  --good: #7FBE90;
  --bad: #E38585;
}

*{box-sizing:border-box;}
@media (prefers-reduced-motion: reduce){ *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;} }

html,body{ height:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"Jost", "Segoe UI", sans-serif;
  -webkit-font-smoothing:antialiased;
}

h1,h2{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-style:italic;
  font-weight:500;
  margin:0;
  text-wrap:balance;
}

.eyebrow{
  font-family:"Jost", sans-serif;
  font-size:0.72rem;
  font-weight:500;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--rose);
}

.rule{
  width:64px; height:1px; margin:1.4rem auto;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
}

.btn{
  font-family:"Jost", sans-serif;
  font-weight:500;
  font-size:0.92rem;
  letter-spacing:0.02em;
  text-decoration:none;
  border:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.55rem;
  padding:0.85rem 1.7rem;
  border-radius:999px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, opacity .18s ease;
}
.btn svg{ width:17px; height:17px; flex-shrink:0; }
.btn-primary{ background:var(--rose-deep); color:#FBF3EC; }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:var(--shadow); background:var(--rose); }
.btn-primary:disabled{ opacity:0.55; cursor:not-allowed; transform:none; box-shadow:none; }
.btn-ghost{ border:1px solid var(--border); color:var(--ink); background:transparent; }
.btn-ghost:hover{ border-color:var(--rose); color:var(--rose-deep); transform:translateY(-2px); }
.btn-block{ width:100%; }
