/* Оксана Зайцева | единая система для всех экранов. Кандидаты требуют визуальной сверки. */
:root {
  --background-page: #F1E7DD;
  --background-light: #FBF2EC;
  --background-card: #F7EDE5;
  --background-muted: #EFE0D6;
  --background-blush: #F5E2DB;
  --accent-plum: #7B2C3E;
  --accent-rose: #A56B77;
  --text-primary: #15110F;
  --text-secondary: #6B6765;
  --border-soft: #DCCFC6;
  --font-display: "Cormorant Garamond", "Times New Roman", serif;
  --font-body: "Cormorant Garamond", Georgia, serif;
  --font-ui: Georgia, "Times New Roman", serif;
  --font-handwritten: cursive; /* НЕ утвержден: подобрать кириллический шрифт */
  --container-width: 1420px;
  --gutter: clamp(20px, 3.7vw, 58px);
  --section-gap: clamp(56px, 7vw, 112px);
  --card-radius: 11px;
  --button-radius: 10px;
  --border-hairline: 1px solid var(--border-soft);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--background-page); color:var(--text-primary); font-family:var(--font-body); }
.container { width:min(calc(100% - 2*var(--gutter)),var(--container-width)); margin-inline:auto; }
.section { padding-block:var(--section-gap); }
.section-kicker { display:flex; gap:14px; align-items:center; color:var(--accent-plum); font: 500 16px/1.3 var(--font-ui); letter-spacing:.15em; text-transform:uppercase; }
.section-kicker::after { content:""; flex:1; height:1px; background:color-mix(in srgb,var(--accent-plum) 35%,transparent); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--font-display); font-weight:400; letter-spacing:-.035em; }
h1 { font-size:clamp(54px,6.6vw,108px); line-height:.94; }
h2 { font-size:clamp(42px,5.4vw,84px); line-height:1; }
h3 { font-size:clamp(25px,2.3vw,38px); line-height:1.05; font-weight:400; }
.body-copy { font-size:clamp(19px,1.8vw,28px); line-height:1.14; color:var(--text-secondary); }
.cards-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.card { min-width:0; border:var(--border-hairline); border-radius:var(--card-radius); background:color-mix(in srgb,var(--background-card) 80%,transparent); padding:24px; }
.card-icon { width:150px; max-width:100%; height:auto; display:block; margin-inline:auto; }
.card-rule { width:70px; height:1px; background:var(--accent-plum); margin-top:auto; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:64px; padding:14px 28px; border-radius:var(--button-radius); font:400 24px/1.1 var(--font-body); text-decoration:none; cursor:pointer; }
.btn-primary { background:var(--accent-plum); color:white; border:1px solid var(--accent-plum); }
.btn-outline { background:transparent; color:var(--accent-plum); border:1px solid var(--accent-rose); }
.btn:focus-visible,a:focus-visible { outline:3px solid var(--accent-rose); outline-offset:3px; }
.hand-note { font-family:var(--font-handwritten); color:var(--accent-plum); transform:rotate(-8deg); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-field { width:100%; border:var(--border-hairline); border-radius:8px; padding:14px 16px; background:var(--background-light); color:var(--text-primary); font:inherit; }
@media (max-width:1000px) { .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .cards-grid,.split { grid-template-columns:1fr; } .card {padding:20px;} .btn {width:100%;} .section {padding-block:52px;} }
@media (prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} }
