/* Тёплое золото и предметное оформление материалов. */
:root { --gold:#a2682e; --line:#e8d4bd; --gold-surface:linear-gradient(115deg,#c7985e 0%,#e8be89 40%,#f5d5ab 70%,#d7a368 100%); }
h1,h2,h3 { font-weight:400; }
em,.card-number,.day-top,.steps span,.facts strong,.material-list>div { color:var(--gold); }
.eyebrow,.header-cta,.text-link { color:#95602d; }
.button,.button-light,.header-cta { background:var(--gold-surface); border:1px solid #eac697; border-top-color:#fff0d8; color:#422c1c; border-radius:40px; box-shadow:inset 0 1px 0 #fff6e6,0 6px 18px #ad793a16; }
.button:hover,.button-light:hover,.header-cta:hover { background:linear-gradient(115deg,#d9aa72,#f4d3a9 65%,#deb17a); color:#332115; box-shadow:inset 0 1px 0 #fff6e6,0 8px 22px #ad793a28; }
.header-cta { padding:12px 22px; }
.brand img { width:120px; }
.hero-photo { background-image:url('assets/olesya-standing.webp'); background-position:center 20%; }
.hero-stamp { border-color:#d9af79; background:linear-gradient(130deg,#fff7eb,#f0dcc0); }
.photo-card { background:#fffaf4f5; border-color:#e3c49b; border-radius:12px; }
.price-card { background:linear-gradient(145deg,#fff9f0,#f3e0c9); }
.final-section { background:linear-gradient(120deg,#f5e7d7,#fffaf4 50%,#f2e1cd); }
.final-section>.wrap { border-color:#dbb784; }
.toolkit { border-block:1px solid var(--line); }
.toolkit h2 { max-width:790px; }
.toolkit-intro { display:flex; align-items:center; gap:35px; justify-content:space-between; border-block:1px solid var(--line); padding:18px 0; margin-bottom:34px; }
.toolkit-intro>span { color:#8d5927; font-size:13px; }
.toolkit-intro>p { font-size:12px; max-width:420px; color:var(--muted); margin:0; }
.toolkit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.tool-card { border:1px solid #ead9c6; border-radius:16px; overflow:hidden; background:#fffcf8; box-shadow:0 12px 30px #8d5f3008; }
.tool-preview { position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:310px; padding:30px 35px 0; overflow:hidden; border:0; border-bottom:1px solid #ead9c6; background:radial-gradient(ellipse at 80% 15%,#fffaf2 0,transparent 60%),linear-gradient(125deg,#ead4b9,#f9eee0 50%,#e5c49e); }
.tool-preview.preview-rose { background:radial-gradient(ellipse at 20% 5%,#fffcf7,transparent 65%),linear-gradient(125deg,#f2e1d7,#e7cebc); }
.tool-preview:before { content:''; position:absolute; height:250px; width:70%; max-width:350px; background:#d3b089; border:1px solid #b9956b; transform:rotate(7deg) translate(13px,20px); border-radius:5px; }
.sheet { position:relative; display:block; width:86%; max-width:385px; min-height:275px; flex-shrink:0; padding:25px 23px; background:linear-gradient(110deg,#fffefb,#fcf7ef); color:#443529; box-shadow:0 8px 30px #62411e25; border:1px solid #fff; border-radius:3px; text-align:left; transform:rotate(-4deg) translateY(10px); transition:transform .25s; }
.tool-preview:hover .sheet { transform:rotate(-1deg) translateY(0); }
.sheet-timing,.sheet-checklist { transform:rotate(4deg) translateY(10px); }
.sheet-brand { display:block; font-size:7px; letter-spacing:1.4px; color:#986027; margin-bottom:16px; }
.sheet>strong { display:block; font-family:var(--serif); font-size:27px; font-weight:500; line-height:1.1; }
.sheet-subtitle { display:block; font-size:8px; color:#827060; margin:6px 0 18px; }
.mini-table { display:grid; grid-template-columns:1.4fr 1fr 1fr; font-size:9px; line-height:1.5; border:1px solid #e3c9ab; }
.mini-table>* { padding:7px 5px; border-bottom:1px solid #eadbc8; font-weight:400; }
.mini-table>span { background:#f0dcc3; font-size:8px; }
.mini-table>i { text-align:center; font-style:normal; }
.sheet-total { display:flex; justify-content:space-between; margin-top:10px; font-size:9px; color:#8d5927; }
.mini-timeline { display:grid; }
.mini-timeline>span { padding:9px 0; font-size:10px; border-bottom:1px solid #ecdfd0; }
.mini-timeline b { display:inline-block; min-width:60px; color:#945a28; font-weight:500; }
.contract-lines { display:grid; gap:6px; }
.contract-lines b { font-family:var(--serif); font-size:14px; font-weight:500; margin-top:4px; }
.contract-lines>span { display:block; height:2px; background:#ddd0c0; }
.contract-lines>span:nth-of-type(even) { width:80%; }
.sheet-sign { display:block; font-size:7px; margin-top:20px; color:#877464; }
.mini-checklist { display:grid; gap:13px; }
.mini-checklist>span { font-size:10px; display:flex; align-items:center; gap:10px; }
.mini-checklist>span:before { content:''; display:block; width:10px; height:10px; border:1px solid #c99760; border-radius:2px; }
.mini-checklist>span:first-child:before { background:#d6a66c; box-shadow:inset 0 0 0 2px #fff8ee; }
.preview-zoom { position:absolute; right:20px; bottom:18px; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:#fff9f0; color:#995e2a; border:1px solid #e3c197; font-size:20px; }
.tool-copy { padding:27px 30px 30px; }
.tool-copy .eyebrow { margin-bottom:13px; font-size:9px; }
.tool-copy h3 { font-size:33px; }
.tool-copy p { font-size:13px; color:var(--muted); margin:15px 0 19px; max-width:430px; }
.tool-copy button { border:0; padding:0; background:none; }
.toolkit-footer { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-top:30px; padding:25px 30px; border-radius:12px; background:#f7ecdf; }
.toolkit-footer p { font-size:13px; max-width:640px; margin:0; }
.toolkit-footer .button { flex-shrink:0; }
.document-dialog { width:calc(100% - 32px); max-width:850px; max-height:90dvh; padding:38px; border-radius:14px; border:1px solid #d5b184; box-shadow:0 25px 100px #49311e35; }
.document-dialog h2 { font-size:43px; }
.document-note { font-size:12px; color:var(--muted); }
.document-scroll { max-width:100%; overflow:auto; border:1px solid #ead7c0; border-radius:7px; }
.document-scroll table { border-collapse:collapse; width:100%; min-width:510px; font-size:13px; text-align:left; }
.document-scroll caption { padding:17px; text-align:left; font-family:var(--serif); font-size:25px; background:#fff8ee; }
.document-scroll th,.document-scroll td { padding:15px; border-bottom:1px solid #ead7c0; font-weight:400; }
.document-scroll thead { background:#edd6b8; }
.document-scroll tbody tr:nth-child(even) { background:#fcf4ea; }
.document-hint { font-size:12px; color:var(--muted); margin:20px 0 0; }
.contract-outline { padding:28px; background:#fffaf3; border:1px solid #dfc5a4; border-radius:5px; }
.contract-outline ol { padding-left:22px; }
.contract-outline li { padding:10px 0; }
.contract-outline li p { margin:6px 0 0; font-size:13px; }
.sample-checklist label { display:flex; gap:14px; align-items:start; padding:17px; margin-bottom:10px; background:#fcf3e8; border:1px solid #ead6bc; border-radius:6px; cursor:pointer; font-size:14px; }
.sample-checklist input { accent-color:#a6682c; width:18px; height:18px; flex-shrink:0; margin-top:4px; }
.sample-checklist output { display:block; margin-top:18px; color:#865025; font-size:13px; }
@media(max-width:760px) {
  .brand img { width:90px; }
  .header-cta { font-size:11px; padding:10px 16px; }
  .header-cta span { margin-left:10px; }
  .toolkit-intro,.toolkit-footer { flex-direction:column; align-items:flex-start; gap:16px; }
  .toolkit-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .tool-preview { height:290px; padding-inline:15px; }
  .sheet { max-width:340px; padding:22px 18px; }
  .tool-copy { padding:24px; }
  .toolkit-footer { padding:25px; }
  .document-dialog { padding:32px 20px; }
  .document-dialog h2 { font-size:35px; }
  .hero-photo { background-position:center 15%; }
}
@media(prefers-reduced-motion:reduce) { .sheet { transition:none; } }
