@font-face {
  font-family: "Playfair Display";
  src: url("/fonts/PlayfairDisplay-700.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Playfair Display";
  src: url("/fonts/PlayfairDisplay-600-italic.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
:root {
  --bg: #0b0910;
  --text: #f6eef4;
  --muted: #bfaebb;
  --rose: #d81b60;
  --rose-2: #ff4f8b;
  --line: rgba(255, 255, 255, 0.14);
  color-scheme: dark;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 17px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
a { color: var(--rose-2); }
h1, h2 { font-family: "Playfair Display", Georgia, serif; font-weight: 700; letter-spacing: -0.01em; }
.cta { font-weight: 700; letter-spacing: 0.01em; }

.hero { position: relative; min-height: 92vh; min-height: 92svh; display: flex; align-items: flex-end; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 30% center; }
.hero { background: linear-gradient(160deg, #5a2a1c, #0b0910); }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 9, 16, 0.15) 20%, rgba(11, 9, 16, 0.85) 65%, var(--bg)); }
.hero-content { position: relative; z-index: 1; width: 100%; max-width: 720px; margin: 0 auto; padding: 24px 16px 48px; text-align: center; }
.hero h1 { margin: 0; }
.title { display: inline-flex; flex-direction: column; align-items: center; margin: 0; font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 600; font-size: clamp(48px, 13vw, 92px); line-height: 1; color: #fff; text-shadow: 0 4px 24px rgba(0, 0, 0, 0.7); }
.title span { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-style: normal; font-weight: 700; font-size: 0.22em; letter-spacing: 0.42em; text-transform: uppercase; color: var(--rose-2); margin-bottom: 6px; }
.tagline { font-family: "Playfair Display", Georgia, serif; font-weight: 700; font-size: 26px; margin: 10px 0 4px; }
.lead { color: #eadde6; max-width: 540px; margin: 0 auto 22px; }
.cta { display: inline-block; padding: 16px 34px; border-radius: 999px; background: linear-gradient(180deg, var(--rose-2), var(--rose)); color: #fff; font-size: 18px; text-decoration: none; box-shadow: 0 10px 30px rgba(216, 27, 96, 0.4); }
.cta:active { transform: scale(0.98); }
.note { font-size: 14px; color: var(--muted); margin-top: 14px; }

main { max-width: 1040px; margin: 0 auto; padding: 0 16px; }
.features { display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); margin: 40px 0 56px; }
.features article { background: #160f1d; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.features img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.features h2 { margin: 16px 18px 4px; font-size: 24px; }
.features p { margin: 0 18px 20px; color: var(--muted); }

.faq { max-width: 720px; margin: 0 auto 48px; }
.faq h2 { font-size: 30px; text-align: center; }
.faq details { border-bottom: 1px solid var(--line); padding: 14px 4px; }
.faq summary { cursor: pointer; font-weight: 700; }
.faq p { color: var(--muted); margin: 8px 0 0; }
.final { text-align: center; margin: 0 0 64px; }

.site-footer { border-top: 1px solid var(--line); padding: 24px 16px 40px; text-align: center; font-size: 14px; color: var(--muted); }
.site-footer a { color: var(--muted); margin: 0 10px; }

.doc-main { max-width: 760px; margin: 0 auto; padding: 32px 16px 64px; }
.doc-main h1 { font-size: 34px; margin-bottom: 4px; }
.doc-main h2 { font-size: 22px; margin-top: 32px; }
.doc-main .updated { color: var(--muted); font-size: 14px; }
.doc-main .draft { padding: 12px 14px; border: 1px dashed #f5b82e; border-radius: 12px; color: #f5d78a; font-size: 14px; }
.doc-nav { max-width: 760px; margin: 0 auto; padding: 16px 16px 0; }
.doc-nav a { margin-right: 14px; }
