/* СЛАЙС: shared/ui | РОЛЬ: базовые стили (общие для всех страниц) | ВЫЗЫВАЕТ: — */
/* ВХОД: — | ВЫХОД: reset, токены, paper-sheet, panel, footer, reveal */
/* ЗАВИСИМОСТИ: img/* (фон, текстура бумаги, маски) */

/* ═══ RESET & TOKENS ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --c-bg:#f5f2ec;--c-panel:#fdfbf7;
  --c-text:#2a2118;--c-muted:#554a3e;--c-faint:#a09484;
  --c-gold:#90753a;--c-gold-l:#ab8c42;--c-gold-d:#6b5724;
  --c-line:rgba(90,70,40,0.10);--c-line-g:rgba(144,117,58,0.22);
  --c-tint:rgba(144,117,58,.045); /* золотая подложка карточек и врезок */
  --sp1:8px;--sp2:16px;--sp3:24px;--sp4:32px;--sp5:40px;--sp6:48px;--sp7:56px;--sp8:64px;--sp10:80px;
  --sh-gold:0 8px 40px rgba(139,114,52,.16),0 2px 10px rgba(139,114,52,.10);
  --sh-gold-xl:0 0 80px rgba(139,114,52,.07),0 0 140px rgba(139,114,52,.04);
  --sh-paper:
    1px 2px 2px rgba(0,0,0,.14),
    2px 4px 8px rgba(0,0,0,.12),
    4px 12px 28px rgba(0,0,0,.11),
    8px 28px 72px rgba(0,0,0,.10);
  --ease:cubic-bezier(.25,.1,.25,1);--spring:cubic-bezier(.22,1,.36,1);
  --t1:150ms;--t2:300ms;--t3:500ms;
  --page-w:1000px;--panel-pad:72px;--panel-r:2px;
}
html,body{overflow-x:clip}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',system-ui,sans-serif;
  color:var(--c-text);font-size:16px;line-height:1.65;letter-spacing:.2px;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  background:#2c2420 url('img/wood-desk.jpg') center / cover no-repeat fixed;
  padding:var(--sp8) 24px;
}
h1,h2,h3,blockquote{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
::selection{background:var(--c-gold);color:#fff}

/* ═══ PAPER SHEET ═══ */
.paper-sheet-wrap{}
.paper-sheet{
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
  -webkit-mask-image:url('img/paper-mask-1.svg');
  mask-image:url('img/paper-mask-1.svg');
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.paper-sheet::after{
  content:'';position:absolute;inset:-3px;
  background-color:var(--c-panel);
  background-image:
    linear-gradient(160deg,rgba(255,255,255,.35) 0%,transparent 35%),
    linear-gradient(340deg,rgba(0,0,0,.02) 0%,transparent 15%),
    url('img/paper.jpg');
  background-size:auto,auto,500px auto;
  border-radius:0;box-shadow:var(--sh-paper);z-index:0;pointer-events:none;
  -webkit-mask-image:url('img/paper-mask-1.svg');
  mask-image:url('img/paper-mask-1.svg');
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
#hero.paper-sheet{overflow:visible;-webkit-mask-image:none;mask-image:none}
#hero.paper-sheet::after{-webkit-mask-image:url('img/paper-mask-1.svg');mask-image:url('img/paper-mask-1.svg')}
footer.paper-sheet,footer.paper-sheet::after{-webkit-mask-image:url('img/paper-mask-footer.svg');mask-image:url('img/paper-mask-footer.svg')}
.paper-sheet>*{position:relative;z-index:1}

#hero.paper-sheet{transform:rotate(-0.4deg)}
footer.paper-sheet{transform:none}
.paper-sheet-wrap:last-of-type{margin-bottom:0}

/* ═══ PANEL ═══ */
.panel{
  max-width:var(--page-w);margin:0 auto var(--sp5);
  background:var(--c-panel);border:none;
  border-radius:var(--panel-r);box-shadow:var(--sh-paper);
  padding:var(--sp8) var(--panel-pad);position:relative;
}
.panel::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(255,255,255,.6) 0%,transparent 40%);
  pointer-events:none;z-index:0;border-radius:var(--panel-r);
}
.panel-inner{position:relative;z-index:1}

.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--c-gold);margin-bottom:var(--sp4);
}
.eyebrow::before{content:'';display:block;width:22px;height:1px;background:var(--c-gold)}
.section-title{
  font-size:clamp(26px,3.2vw,40px);font-weight:400;line-height:1.15;
  letter-spacing:-.02em;color:var(--c-text);margin-bottom:var(--sp5);
}

/* ═══ BODY TEXT ═══ */
.body-text p{font-size:17px;font-weight:400;color:var(--c-muted);line-height:1.85;margin-bottom:var(--sp3)}
.body-text p:last-child{margin-bottom:0}
/* Юридический документ, отрисованный из markdown (content/legal): жирные лиды
   абзацев и кликабельные почты/ссылки — оформление как в остальном тексте */
.legal-text b{color:var(--c-text);font-weight:600}
.legal-text a{color:var(--c-gold);text-decoration:underline;text-underline-offset:3px}

/* ═══ FOOTER ═══ */
footer{
  max-width:var(--page-w);margin:0 auto;
  background:var(--c-panel);border:none;border-radius:var(--panel-r);
  box-shadow:var(--sh-paper);padding:var(--sp5) var(--sp7);
  text-align:center;position:relative;
}
.site-footer p{font-size:13px;color:var(--c-faint);letter-spacing:.03em;position:relative;z-index:1}
.site-footer a{color:var(--c-gold);text-decoration:underline;text-underline-offset:3px}

/* ═══ REVEAL ═══ */
.r{opacity:0;transform:translateY(16px);transition:opacity var(--t3) var(--spring),transform var(--t3) var(--spring)}
.r.v{opacity:1;transform:translateY(0)}
/* Кому анимации мешают — сразу видимый контент, без появлений и плавного скролла */
@media(prefers-reduced-motion:reduce){
  .r{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ═══ RESPONSIVE ═══ */
@media(max-width:960px){
  :root{--panel-pad:36px}
}
@media(max-width:860px){
  :root{--panel-pad:36px}
  body{padding:var(--sp5) 16px;background-attachment:scroll}
  .paper-sheet,footer.paper-sheet{transform:rotate(0) !important;-webkit-mask-image:url('img/paper-mask-m1.svg') !important;mask-image:url('img/paper-mask-m1.svg') !important}
  .paper-sheet::after{inset:0 !important;-webkit-mask-image:url('img/paper-mask-m1.svg') !important;mask-image:url('img/paper-mask-m1.svg') !important}
  footer.paper-sheet,footer.paper-sheet::after{-webkit-mask-image:url('img/paper-mask-footer-m.svg') !important;mask-image:url('img/paper-mask-footer-m.svg') !important}
  .panel{padding-top:var(--sp5);padding-bottom:var(--sp5)}
}
@media(max-width:600px){
  .panel{padding-left:var(--sp3);padding-right:var(--sp3)}
}
