:root {
  --color-bg: #fff9f6; --color-surface: #f2e9e4; --color-text: #241b1e; --color-divider: color-mix(in srgb, #241b1e 14%, transparent);
  --color-accent: #a64497;
  --color-accent-100: #f8e9f5; --color-accent-200: #eecbe8; --color-accent-300: #dfa1d5; --color-accent-400: #c56fb8;
  --color-accent-700: #7a3070; --color-accent-800: #582253; --color-accent-900: #38153a;
  --color-accent-2: #a4b6b4;
  --color-accent-2-100: #eef2f1; --color-accent-2-200: #dbe4e2; --color-accent-2-500: #a4b6b4;
  --color-accent-2-700: #5a6b69; --color-accent-2-800: #3f4c4a;
  --font-heading: "Bricolage Grotesque", system-ui, sans-serif;
  --font-body: "Karla", system-ui, sans-serif;
  --radius-lg: 22px;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); text-wrap: pretty; }
h1, h2, h3 { font-family: var(--font-heading); font-weight: 700; letter-spacing: -0.01em; margin: 0; }
a { color: var(--color-accent-700); text-decoration: none; }
a:hover { color: var(--color-accent); }
img { max-width: 100%; }
.wrap { max-width: 1200px; margin: 0 auto; padding-left: clamp(20px, 5vw, 72px); padding-right: clamp(20px, 5vw, 72px); }
.nav { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--color-bg) 92%, transparent); backdrop-filter: blur(8px); }
.nav-inner { display: flex; align-items: center; gap: 20px; max-width: 1200px; margin: 0 auto; padding: 14px clamp(20px, 5vw, 72px); flex-wrap: wrap; row-gap: 8px; }
.nav-links { display: flex; gap: 22px; flex-wrap: wrap; align-items: center; }
.nav-links a { font-size: 15px; font-weight: 500; }
.nav-links a[aria-current="page"] { color: var(--color-accent-700); }
.nav-right { display: flex; gap: 16px; align-items: center; flex: none; }
.nav-phone { font-size: 15px; font-weight: 600; white-space: nowrap; color: var(--color-text); }
@media (max-width: 980px) { .nav-phone { display: none; } }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 10px; border: 1px solid transparent; font-family: var(--font-body); cursor: pointer; text-decoration: none; transition: background .15s, border-color .15s; font-size: 15px; font-weight: 600; padding: 10px 20px; }
.btn-primary { background: var(--color-accent); color: var(--color-bg); }
.btn-primary:hover { background: var(--color-accent-700); color: var(--color-bg); }
.btn-secondary { background: transparent; border-color: color-mix(in srgb, var(--color-text) 25%, transparent); color: var(--color-text); }
.btn-secondary:hover { background: color-mix(in srgb, var(--color-text) 6%, transparent); }
.tag { display: inline-flex; align-items: center; border-radius: 999px; font-family: var(--font-body); padding: 6px 14px; font-size: 13px; font-weight: 600; }
.tag-accent { background: var(--color-accent-100); color: var(--color-accent-700); }
.tag-accent-2 { background: var(--color-accent-2-100); color: var(--color-accent-2-800); }
.card { border-radius: var(--radius-lg); display: flex; flex-direction: column; background: var(--color-surface); }
.washed { filter: saturate(0.75) contrast(0.92) brightness(1.05); }
.table { width: 100%; border-collapse: collapse; }
.table td { border-bottom: 1px solid var(--color-divider); padding: 14px 0; }
.grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.grid-4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 20px; }
footer { background: var(--color-surface); border-radius: 56px 56px 0 0; margin-top: 24px; }
footer .foot-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 32px; padding: 48px clamp(20px, 5vw, 72px) 36px; max-width: 1200px; margin: 0 auto; }
footer .foot-bottom { max-width: 1200px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 72px) 28px; font-size: 13px; color: color-mix(in srgb, var(--color-text) 70%, transparent); }
details > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 18px; font-weight: 600; }
details > summary::-webkit-details-marker { display: none; }
details { background: var(--color-surface); border-radius: 32px; padding: 20px 28px; }
.faq-plus { flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--color-accent-100); color: var(--color-accent-700); display: grid; place-items: center; font-size: 22px; line-height: 1; transition: transform .2s; }
details[open] .faq-plus { transform: rotate(45deg); }

.nav-burger { display: none; background: none; border: 0; cursor: pointer; padding: 8px; border-radius: 10px; align-items: center; justify-content: center; color: var(--color-accent); }
.nav-burger:hover { background: color-mix(in srgb, var(--color-text) 6%, transparent); }
.nav-mobile { display: none; flex-direction: column; gap: 2px; padding: 8px clamp(20px, 5vw, 72px) 20px; border-top: 1px solid var(--color-divider); }
.nav-mobile.open { display: flex; }
.nav-mobile a { font-size: 16px; font-weight: 500; padding: 12px 4px; }
.nav-mobile a[aria-current="page"] { color: var(--color-accent-700); }
@media (max-width: 860px) { .nav-links { display: none; } .nav-burger { display: inline-flex; order: 2; } .nav-right { order: 3; margin-left: auto; } }
