/* Cercle Rachmaninoff — буклет A5 (v3)
   Канвас страницы: 874×1240 CSS px = 148×210 мм (рендер @2x → 1748×2480 = 300 dpi).
   Вылеты: .sheet = 910×1276 (18px ≈ 3 мм с каждой стороны).
   Токены — из BRAND.md (палитра v2.5/v2.6). */

@import url("assets/fonts.css");

:root {
  --forest-green:       #1E3A2F;
  --deep-forest-black:  #121B17;
  --imperial-burgundy:  #5C2A2A;
  --dark-wine:          #3A111E;
  --warm-charcoal:      #1D1A17;
  --parchment:          #F7F2E9;
  --museum-paper:       #FBF8F3;
  --dusty-beige:        #EDE3D4;
  --antique-gold:       #C9B48A;
  --aged-bronze:        #9D7C4A;
  --warm-gray:          #B8A99A;
  --soft-beige-line:    #D9CEC0;
  --ink-on-dark:        #F7F2E9;
  --ink-on-dark-muted:  #D9CEC0;
  --ink-on-light:       #1D1A17;
  --ink-on-light-muted: #7E766D;
  --gold:               #C9B48A;
  --serif: 'Cormorant Garamond', 'Cormorant', Canela, 'Playfair Display', Georgia, serif;
  --sans:  'Inter', 'Neue Haas Grotesk', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

/* ————— Листы и страницы ————— */

.sheet {
  width: 910px; height: 1276px;
  display: flex; align-items: center; justify-content: center;
  background: var(--forest-green);
  overflow: hidden;
}
.sheet.bg-paper    { background: var(--museum-paper); }
.sheet.bg-parch    { background: var(--parchment); }
.sheet.bg-black    { background: var(--deep-forest-black); }
.sheet.bg-burgundy { background: var(--imperial-burgundy); }

.page {
  position: relative;
  width: 874px; height: 1240px;
  overflow: hidden;
  background: var(--forest-green);
  color: var(--ink-on-dark);
  font-family: var(--sans);
  font-weight: 300;
  font-size: 19.5px;           /* ≈ 9.4 pt */
  line-height: 1.55;
  padding: 118px 64px 96px;    /* верх: зона колонтитула */
  display: flex; flex-direction: column;
}
.page.p-paper    { background: var(--museum-paper); color: var(--ink-on-light); }
.page.p-parch    { background: var(--parchment);    color: var(--ink-on-light); }
.page.p-black    { background: var(--deep-forest-black); }
.page.p-burgundy { background: var(--imperial-burgundy); color: var(--parchment); }

/* ————— Колонтитулы ————— */

.phead, .pfoot {
  position: absolute; left: 64px; right: 64px;
  display: flex; align-items: baseline; gap: 18px;
  font-family: var(--sans); font-weight: 500;
  font-size: 12.5px; letter-spacing: 2.6px; text-transform: uppercase;
  color: var(--ink-on-dark-muted);
  white-space: nowrap;
}
.p-paper .phead, .p-paper .pfoot,
.p-parch .phead, .p-parch .pfoot { color: var(--ink-on-light-muted); }
.phead { top: 56px; }
.pfoot { bottom: 52px; }
.phead::after, .pfoot::after {
  content: ""; flex: 1 1 auto; height: 1px; align-self: center;
  background: currentColor; opacity: 0.35;
}
.phead .pright, .pfoot .pright { order: 9; }
.phead::after { order: 5; }
.pfoot::after { order: 5; }
.pright { letter-spacing: 2px; }

/* ————— Типографика ————— */

.eyebrow {
  font-family: var(--sans); font-weight: 500;
  font-size: 13.5px; letter-spacing: 3.4px; text-transform: uppercase;
  color: var(--antique-gold);
  margin-bottom: 26px;
}
.p-paper .eyebrow, .p-parch .eyebrow { color: var(--aged-bronze); }

h1, h2, h3 { font-family: var(--serif); font-weight: 500; }

.title {
  font-size: 47px;             /* ≈ 22.5 pt */
  line-height: 1.12;
  letter-spacing: 0.2px;
  margin-bottom: 30px;
}
.title em, .title .accent {
  font-style: italic; font-weight: 400;
  color: var(--antique-gold);
}
.p-paper .title em, .p-parch .title em { color: var(--imperial-burgundy); }

.lead { font-size: 21.5px; font-weight: 300; }
p + p { margin-top: 16px; }
.muted { color: var(--ink-on-dark-muted); }
.p-paper .muted, .p-parch .muted { color: var(--ink-on-light-muted); }

.rule {
  width: 84px; height: 1px; border: 0;
  background: var(--antique-gold); opacity: 0.85;
  margin: 26px 0;
}
.rule--center { margin-left: auto; margin-right: auto; }

blockquote {
  font-family: var(--serif); font-style: italic; font-weight: 400;
  font-size: 24px; line-height: 1.4;
  padding-left: 22px; margin-top: 24px;
  border-left: 2.5px solid var(--imperial-burgundy);
}
.p-dark blockquote, .p-black blockquote { border-left-color: var(--antique-gold); }
blockquote em { color: var(--aged-bronze); font-style: italic; }

figure { position: relative; }
figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
figcaption {
  font-family: var(--serif); font-size: 18px; line-height: 1.35;
  margin-top: 12px; color: inherit;
}
figcaption .sub { display: block; font-style: italic; font-size: 16px; opacity: 0.75; }
.photo-frame { outline: 1px solid rgba(201, 180, 138, 0.55); outline-offset: 6px; }

/* ————— Водяные знаки ————— */

.page { isolation: isolate; }
.wm-eiffel {
  position: absolute; z-index: -1; pointer-events: none;
  width: 620px; opacity: 0.07;
}
.cr-ghost {
  position: absolute; z-index: -1; pointer-events: none;
  font-family: var(--serif); font-weight: 500;
  color: currentColor; opacity: 0.05;
  font-size: 690px; line-height: 1; letter-spacing: -18px;
}

/* ————— Титул (p01) ————— */

.emblem {
  width: 132px; height: 132px; border-radius: 50%;
  border: 1.5px solid rgba(201, 180, 138, 0.8);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px; margin: 0 auto;
}
.emblem .cr {
  font-family: var(--serif); font-weight: 500; font-size: 56px; line-height: 1;
  color: var(--antique-gold);
}
.emblem .sub {
  font-family: var(--sans); font-weight: 500; font-size: 9.5px;
  letter-spacing: 2.6px; color: var(--ink-on-dark-muted);
}
.title--hero {
  font-size: 108px; line-height: 1.08; font-weight: 500;
  color: var(--parchment);
  text-shadow: 0 0 40px rgba(201, 180, 138, 0.18);
}
.subtitle { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 27px; }
.caption-tracked {
  font-family: var(--sans); font-weight: 500; font-size: 14px;
  letter-spacing: 3.2px; text-transform: uppercase; color: var(--ink-on-dark-muted);
}
.org-line {
  font-family: var(--serif); font-weight: 400; font-size: 24px;
  color: var(--ink-on-dark-muted);
}
.crest-img { height: 118px; margin: 0 auto; display: block; }

/* ————— Сплиты и сетки ————— */

.split { display: grid; gap: 34px; align-items: start; }
.split--photo-right { grid-template-columns: 1fr 350px; }
.split--photo-left  { grid-template-columns: 350px 1fr; }

.values { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 26px; }
.values .val-name {
  font-family: var(--serif); font-style: italic; font-weight: 500;
  font-size: 27px; color: var(--antique-gold); margin-bottom: 8px;
}
.p-paper .values .val-name, .p-parch .values .val-name { color: var(--imperial-burgundy); }
.values .val-desc { font-size: 17.5px; }

.years { display: flex; gap: 70px; margin-top: 28px; }
.years .yr {
  font-family: var(--serif); font-weight: 500; font-size: 56px; line-height: 1;
  font-feature-settings: 'onum' 1;
}
.years .yr-label {
  font-family: var(--sans); font-weight: 500; font-size: 12.5px;
  letter-spacing: 2.4px; text-transform: uppercase; margin-top: 8px;
  color: var(--ink-on-light-muted);
}
.years .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--antique-gold); margin: 12px auto 0; }

/* Сферы (p05) */
.spheres { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 26px; margin-bottom: 24px; }
.spheres .sp-name { font-family: var(--serif); font-weight: 500; font-size: 21px; color: var(--antique-gold); }
.spheres .sp-desc { font-size: 15.5px; color: var(--ink-on-dark-muted); }

/* ————— Миссии (p07) ————— */

.missions { display: flex; flex-direction: column; gap: 24px; margin-top: 6px; }
.mission-group .mg-title {
  font-family: var(--sans); font-weight: 600; font-size: 14px;
  letter-spacing: 2.6px; text-transform: uppercase;
  color: var(--aged-bronze);
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 12px;
}
.mission-group .mg-title::after { content: ""; flex: 1; height: 1px; background: var(--soft-beige-line); }
.mission-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.mission .m-name { font-family: var(--serif); font-weight: 600; font-size: 20.5px; margin-bottom: 3px; }
.mission .m-desc { font-size: 16.5px; color: var(--ink-on-light-muted); line-height: 1.45; }

/* ————— Комитет (p08) ————— */

.comite-top { display: grid; grid-template-columns: 1fr 236px; gap: 30px; align-items: start; margin-bottom: 22px; }
.members {
  columns: 2; column-gap: 44px;
  font-size: 14px; line-height: 1.62;
  list-style: none;
}
.members li { break-inside: avoid; padding-left: 0; }
.members .mb-name { font-weight: 500; font-size: 14px; letter-spacing: 0.4px; }
.members .mb-role { color: var(--ink-on-light-muted); font-weight: 300; }

/* ————— Привилегии (p09) ————— */

.prv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 26px; margin-top: 8px; }
.prv .prv-photo { height: 148px; overflow: hidden; outline: 1px solid rgba(157, 124, 74, 0.4); outline-offset: 4px; }
.prv .prv-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.92); }
.prv .prv-name { font-family: var(--serif); font-weight: 600; font-size: 20px; margin: 14px 0 3px; }
.prv .prv-desc { font-size: 15px; line-height: 1.45; color: var(--ink-on-light-muted); }
.prv-photo.placeholder {
  display: flex; align-items: center; justify-content: center;
  background: var(--dusty-beige);
  font-family: var(--serif); font-style: italic; font-size: 15px;
  color: var(--ink-on-light-muted); text-align: center; padding: 10px;
}

/* ————— Тарифы (p10) ————— */

.tiers { display: flex; flex-direction: column; gap: 20px; margin-top: 4px; }
.tier {
  border: 1px solid var(--soft-beige-line);
  background: #ffffff; color: var(--warm-charcoal);
  padding: 26px 30px 24px;
  display: grid; grid-template-columns: 214px 1fr; gap: 6px 28px;
}
.tier__head { display: flex; flex-direction: column; }
.tier__label {
  font-family: var(--sans); font-weight: 500; font-size: 12px;
  letter-spacing: 2.4px; text-transform: uppercase; color: rgba(29, 26, 23, 0.6);
}
.tier__name { font-family: var(--serif); font-weight: 500; font-size: 44px; line-height: 1.05; }
.tier__price {
  font-family: var(--serif); font-weight: 500; font-size: 27px; margin-top: 8px;
  font-feature-settings: 'onum' 1;
}
.tier__price small { font-family: var(--sans); font-weight: 400; font-size: 13px; color: rgba(29, 26, 23, 0.6); }
.tier__benefits { list-style: none; align-self: center; }
.tier__benefits li {
  font-size: 15px; line-height: 1.45; padding-left: 20px; position: relative;
  color: rgba(29, 26, 23, 0.82);
}
.tier__benefits li + li { margin-top: 7px; }
.tier__benefits li::before { content: "—"; position: absolute; left: 0; color: var(--aged-bronze); }
.tier__benefits strong { font-weight: 600; }

.tier--gold { background: var(--antique-gold); border-color: var(--aged-bronze); }
.tier--gold .tier__label { color: rgba(29, 26, 23, 0.65); }

.tier--burgundy { background: var(--imperial-burgundy); border-color: var(--imperial-burgundy); color: var(--parchment); }
.tier--burgundy .tier__label { color: rgba(247, 242, 233, 0.7); }
.tier--burgundy .tier__price small { color: rgba(247, 242, 233, 0.7); }
.tier--burgundy .tier__benefits li { color: rgba(247, 242, 233, 0.88); }
.tier--burgundy .tier__benefits li::before { color: var(--antique-gold); }

/* ————— Фискальная (p11) ————— */

.fiscal-note { font-size: 15px; color: var(--ink-on-light-muted); margin-top: 10px; }
table.fiscal {
  width: 100%; border-collapse: collapse; margin-top: 26px;
  font-size: 15px;
}
table.fiscal th, table.fiscal td {
  padding: 11px 10px; text-align: right;
  border-bottom: 1px solid var(--soft-beige-line);
}
table.fiscal th:first-child, table.fiscal td:first-child { text-align: left; }
table.fiscal thead th {
  font-family: var(--sans); font-weight: 500; font-size: 11.5px;
  letter-spacing: 1.4px; text-transform: uppercase; color: var(--ink-on-light-muted);
  border-bottom: 1.5px solid var(--warm-charcoal);
}
table.fiscal .group-head th {
  border-bottom: 1px solid var(--soft-beige-line);
  font-size: 11px; color: var(--aged-bronze); letter-spacing: 2px;
  padding-bottom: 5px;
}
table.fiscal td:first-child { font-family: var(--serif); font-weight: 500; font-size: 19px; }
table.fiscal td { font-feature-settings: 'onum' 1; }
table.fiscal .cout { font-weight: 500; color: var(--imperial-burgundy); }

/* ————— Карта члена (p12) ————— */

.card-membre {
  width: 420px; aspect-ratio: 85.6 / 54;
  margin: 30px auto 0;
  border-radius: 15px;   /* ≈ 3.2 мм при ширине 71 мм */
  overflow: hidden;
  box-shadow:
    0 0 46px rgba(201, 180, 138, 0.5),
    0 0 118px rgba(201, 180, 138, 0.26),
    0 20px 48px rgba(0, 0, 0, 0.5);
}
.card-membre img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ————— Служебное ————— */

.spacer { flex: 1 1 auto; }
.center { text-align: center; }
.stack-gap-lg > * + * { margin-top: 30px; }
