/* Частное бюро семейной хроники Маши Вельт · стили сайта
   Раскладка: полосы на всю ширину (лес / пергамент / оксблад), внутри колонка 1200 px.
   Весь декор — тиснение: элемент в тон фона + тень снизу и блик сверху.
   Места, которые нужно заполнить, помечены классом .todo (латунная плашка). */

:root{
  color-scheme: light;
  /* палитра */
  --forest:#24362D; --moss:#2E4539; --ox:#4B1D20; --parch:#EFE8DA; --paper2:#E6DDCC;
  --brass:#B49A68; --grey:#6B675F; --ink:#0F0D0C; --foot:#1C2A23;
  /* шрифты */
  --f-display:"Forum","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --f-text:"Onest","Helvetica Neue",Arial,sans-serif;
  --f-quote:"Cormorant Garamond",Georgia,serif;
  /* ритм */
  --gut:clamp(20px,8.33vw,120px);
  --sp:clamp(64px,8.4vw,120px);
  --col:1200px;
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--parch);color:var(--ink);font-family:var(--f-text);font-weight:300;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--f-display);font-weight:400;text-wrap:balance}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* ---------- темы полос ---------- */
.t-forest{--bg:var(--forest);--fg:var(--parch);--muted:rgba(239,232,218,.78);--emb:#2E4539;--emb-d:rgba(0,0,0,.55);--emb-h:rgba(230,240,224,.14);--line:#2E4539;--line-sh:rgba(0,0,0,.38);--btn-bg:var(--parch);--btn-fg:var(--forest);--btn-line:rgba(239,232,218,.35)}
.t-moss{--bg:var(--moss);--fg:var(--parch);--muted:rgba(239,232,218,.78);--emb:#3A5646;--emb-d:rgba(0,0,0,.5);--emb-h:rgba(230,240,224,.16);--line:#3A5646;--line-sh:rgba(0,0,0,.35);--btn-bg:var(--parch);--btn-fg:var(--forest);--btn-line:rgba(239,232,218,.35)}
.t-ox{--bg:var(--ox);--fg:var(--parch);--muted:rgba(239,232,218,.8);--emb:#5E2629;--emb-d:rgba(0,0,0,.55);--emb-h:rgba(255,217,204,.14);--line:#5E2629;--line-sh:rgba(0,0,0,.38);--btn-bg:var(--parch);--btn-fg:var(--ox);--btn-line:rgba(239,232,218,.35)}
.t-parch{--bg:var(--parch);--fg:var(--forest);--muted:var(--grey);--emb:#E3D9C5;--emb-d:rgba(90,74,48,.28);--emb-h:rgba(255,255,255,.9);--line:#E3D9C5;--line-sh:rgba(90,74,48,.2);--btn-bg:var(--forest);--btn-fg:var(--parch);--btn-line:rgba(36,54,45,.35)}
.t-paper{--bg:var(--paper2);--fg:var(--forest);--muted:var(--grey);--emb:#D9CEB8;--emb-d:rgba(90,74,48,.28);--emb-h:rgba(255,255,255,.8);--line:#D9CEB8;--line-sh:rgba(90,74,48,.2);--btn-bg:var(--forest);--btn-fg:var(--parch);--btn-line:rgba(36,54,45,.35)}
.t-foot{--bg:var(--foot);--fg:var(--parch);--muted:rgba(239,232,218,.7);--emb:#26382E;--emb-d:rgba(0,0,0,.55);--emb-h:rgba(230,240,224,.12);--line:#26382E;--line-sh:rgba(0,0,0,.38);--btn-bg:var(--parch);--btn-fg:var(--forest);--btn-line:rgba(239,232,218,.35)}
[class*="t-"]{background:var(--bg);color:var(--fg)}

.wrap{width:100%;max-width:calc(var(--col) + 2*var(--gut));margin-inline:auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
.sec{padding-block:var(--sp)}
.sec--tight{padding-block:calc(var(--sp)*.7)}
.sec--top0{padding-top:0}
.stack{display:flex;flex-direction:column;gap:24px}
.stack--lg{gap:clamp(32px,4vw,56px)}

/* ---------- типографика ---------- */
.label{font-family:var(--f-text);font-weight:400;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);line-height:1.4}
.h1{font-size:clamp(40px,4.6vw,66px);line-height:1.06;color:var(--fg)}
.h1--xl{font-size:clamp(52px,6vw,84px)}
.h1--long{font-size:clamp(34px,4.6vw,66px)}
.h2{font-size:clamp(32px,3.5vw,50px);line-height:1.08;color:var(--fg)}
.h2--s{font-size:clamp(30px,3.2vw,46px)}
.h3{font-size:clamp(24px,2.2vw,30px);line-height:1.15;color:var(--fg)}
.h4{font-size:24px;line-height:1.2;color:var(--fg)}
.lead{font-size:clamp(17px,1.4vw,20px);line-height:1.65;color:var(--fg);max-width:44em}
.p{font-size:16px;line-height:1.65;color:var(--muted)}
.p--ink{color:var(--fg)}
.small{font-size:13px;line-height:1.6;color:var(--muted)}
.quote{font-family:var(--f-quote);font-style:italic;font-weight:300;font-size:clamp(26px,2.6vw,36px);line-height:1.2;color:var(--ox)}
.t-forest .quote,.t-moss .quote,.t-ox .quote,.t-foot .quote{color:var(--brass)}
.caps{font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.more{display:inline-flex;gap:.7em;align-items:center;font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--ox)}
.t-forest .more,.t-moss .more,.t-ox .more{color:var(--brass)}
.more:hover{text-decoration:underline;text-underline-offset:4px}
.emb{color:var(--emb);text-shadow:0 2px 2px var(--emb-d),0 -1px 1px var(--emb-h)}
.t-parch .emb,.t-paper .emb{text-shadow:0 1px 1px var(--emb-d),0 -1px 1px var(--emb-h)}
.todo{background:rgba(180,154,104,.28);color:inherit;padding:0 .35em;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ul-brass{text-decoration:underline;text-decoration-color:var(--brass);text-decoration-thickness:1px;text-underline-offset:6px}

/* линия-тиснение 1 px */
.rule{position:relative}
.rule::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line);box-shadow:0 1px 1px var(--line-sh)}

/* ---------- кнопки ---------- */
.btns{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 30px;border-radius:4px;font-family:var(--f-text);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;line-height:1.2;cursor:pointer;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;text-align:center}
.btn--fill{background:var(--btn-bg);color:var(--btn-fg)}
.btn--fill:hover{filter:brightness(1.06)}
.btn--line{background:transparent;color:var(--fg);border-color:var(--btn-line)}
.btn--line:hover{border-color:var(--fg)}

/* ---------- знак ---------- */
.mark{display:block;color:var(--parch)}
.mark use,.spiral use{stroke:currentColor;stroke-width:var(--sw,.8px)}

/* ---------- шапка ---------- */
.site-head{padding-top:28px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}
.logo{display:flex;align-items:center;gap:16px;text-decoration:none;min-width:0}
.logo .mark{width:44px;height:44px;flex:none;--sw:.7px}
.logo-name{font-family:var(--f-display);font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--parch);opacity:.7;line-height:1.25}
.nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 16px;padding-block:20px;position:relative}
.nav::before,.nav::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--line);box-shadow:0 1px 1px var(--line-sh)}
.nav::before{top:0}.nav::after{bottom:0}
.nav a{font-weight:400;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--parch);line-height:1.3}
.nav a:hover,.nav a[aria-current="page"]{color:var(--brass)}
.nav .dot{color:var(--brass);font-size:12.5px;line-height:1.3}
.menu-btn{display:none;background:none;border:1px solid var(--btn-line);color:var(--parch);border-radius:4px;min-height:44px;padding:0 16px;font:500 11px/1 var(--f-text);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.head-cta{flex:none}

/* ---------- первый экран главной ---------- */
.hero{display:grid;grid-template-columns:minmax(0,600px) minmax(0,1fr);gap:80px;align-items:center;padding-block:40px 96px}
.hero-text{display:flex;flex-direction:column;gap:30px;position:relative;z-index:2}
.spiral-col{position:relative;min-width:0}
.spiral{position:relative;width:130.77%;margin-left:-15.38%;margin-block:-11.5% -11.5%;aspect-ratio:1/1;max-width:none}
.spiral svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:#26392F;--sw:5px;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.35)) drop-shadow(0 -1.5px 1.5px rgba(230,240,224,.08));
  animation:press 2.2s cubic-bezier(.2,.6,.2,1) .25s both}
@keyframes press{
  from{color:#24362D;filter:drop-shadow(0 0 0 rgba(0,0,0,0)) drop-shadow(0 0 0 rgba(230,240,224,0))}
  35%{color:#25372E}
  to{color:#26392F;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35)) drop-shadow(0 -1.5px 1.5px rgba(230,240,224,.08))}}
.ph{position:absolute;margin:0;translate:0 var(--py,0px);animation:ph-in 1.1s cubic-bezier(.2,.6,.2,1) both;animation-delay:var(--d,1.6s);will-change:translate;perspective:420px}
.ph img{width:100%;height:100%;object-fit:cover;opacity:var(--o,1);outline:1.5px solid #26392F;box-shadow:var(--sh);
  transform:rotateX(calc(var(--rx,0)*1deg + var(--my,0)*-7deg*var(--k,1))) rotateY(calc(var(--ry,0)*1deg + var(--mx,0)*7deg*var(--k,1)));
  transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.ph--blur img{filter:blur(var(--b))}
@keyframes ph-in{from{opacity:0;scale:.94}to{opacity:1;scale:1}}
@media (prefers-reduced-motion:reduce){.spiral svg,.ph{animation:none}.ph{translate:none}.ph img{transition:none}}

/* ---------- первый экран внутренних страниц ---------- */
.page-hero{padding-block:48px var(--sp)}
.crumb{display:inline-block;margin-bottom:40px;font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);text-decoration:none}
.crumb:hover{text-decoration:underline;text-underline-offset:4px}
.ph-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:80px;align-items:center}
.ph-grid--solo{grid-template-columns:minmax(0,940px)}
.ph-text{display:flex;flex-direction:column;gap:28px;min-width:0}
.title-mark{display:flex;align-items:center;gap:28px}
.title-mark .mark{width:96px;height:96px;flex:none;color:#2E4539;--sw:2px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.55)) drop-shadow(0 -1px 1px rgba(230,240,224,.14))}
.spiral.spiral--solo{width:100%;margin:0;pointer-events:none}
.ph-grid--mark{grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:0}
.ph-grid--mark .spiral.spiral--solo{width:118%;margin:12% 0 -14% -14%}
.dash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.dash-list li{display:flex;gap:14px;font-size:clamp(17px,1.4vw,20px);line-height:1.5;color:var(--fg)}
.dash-list li::before{content:"—";color:var(--brass)}
.ph-img{aspect-ratio:440/540;width:100%;object-fit:cover}

/* ---------- раскладки ---------- */
.split{display:grid;grid-template-columns:340px minmax(0,1fr);gap:80px}
.split > *{min-width:0}
.split--half{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:96px}
.split-head{display:flex;flex-direction:column;gap:20px}
.head{display:flex;flex-direction:column;gap:20px;max-width:900px}
.head-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:80px;align-items:end}
.head-row > *{min-width:0}

/* строки списка с римскими цифрами */
.rows{display:flex;flex-direction:column}
.row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:center;padding-block:24px}
.row .num{font-family:var(--f-display);font-size:40px;line-height:1;letter-spacing:.02em}
.row .txt{font-size:17px;line-height:1.65;color:var(--fg)}
.t-parch .row .txt,.t-paper .row .txt{color:var(--ink)}
.row .txt b{font-weight:600;color:var(--forest)}
.t-forest .row .txt b,.t-ox .row .txt b,.t-moss .row .txt b{color:var(--brass)}
.row--nonum{grid-template-columns:minmax(0,1fr)}

/* шаги */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px}
.step{display:flex;flex-direction:column;gap:14px;padding-top:24px}
.step .num{font-family:var(--f-display);font-size:72px;line-height:1}
.step .h4{font-size:26px}
.step .p{font-size:15px}
.t-forest .step .p{color:rgba(239,232,218,.78)}
.t-parch .step .p{color:var(--ink)}

/* карточки форматов */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.card{display:flex;flex-direction:column;gap:18px;padding:40px 36px 28px;background:var(--paper2);color:var(--forest)}
.card .h3{color:var(--forest)}
.card .p{color:var(--ink);font-size:15px}
.card .grow{flex:1}
.cards--gifts{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards--two .gift-ph,.cards--two .gift-img{aspect-ratio:16/9}
.card--wide{grid-column:span 2}
.gift-ph,.card > .gift-img{margin:-40px -36px 4px;aspect-ratio:4/3;width:calc(100% + 72px);max-width:none;object-fit:cover;height:auto}
.gift-ph{background:#D9CEB8;display:flex;align-items:flex-end;padding:14px;position:relative}
.gift-ph::before{content:"";position:absolute;inset:14%;border:1px dashed rgba(180,154,104,.6)}
.gift-ph .todo{position:relative;font-size:13px}
.media-row .gift-ph--media{margin:0;width:100%}
.card--wide .gift-ph,.card--wide > .gift-img{aspect-ratio:8/3}
.meta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:14px;--line:#D9CEB8;--line-sh:rgba(90,74,48,.2)}
.meta .caps{color:var(--grey)}
.meta .v{font-size:16px;color:var(--forest);text-align:right}

/* теги */
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border-radius:999px;background:var(--forest);color:var(--parch);font-weight:400;font-size:14px;line-height:1.2}
.t-forest .tags:not(.tags--line) .tag{background:var(--moss)}
.tags--line .tag{background:transparent;border:1px solid rgba(239,232,218,.35);border-radius:2px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;min-height:30px}

/* финальный блок */
.final{display:flex;flex-direction:column;gap:28px;align-items:flex-start}
.final .h2{max-width:900px}

/* ---------- подвал ---------- */
.site-foot{padding-block:72px 48px}
.foot-grid{display:grid;grid-template-columns:minmax(0,340px) repeat(2,minmax(0,1fr));gap:48px}
.foot-brand{display:flex;flex-direction:column;gap:18px}
.foot-logo{display:flex;gap:16px;align-items:center;text-decoration:none}
.foot-logo .mark{width:64px;height:64px;flex:none;--sw:.8px}
.foot-logo span{font-family:var(--f-display);font-size:20px;letter-spacing:.12em;line-height:1.1;text-transform:uppercase}
.foot-col{display:flex;flex-direction:column;gap:12px}
.foot-col .caps{color:var(--brass)}
.foot-col a{text-decoration:none;font-size:15px}
.foot-col a:hover{text-decoration:underline;text-underline-offset:4px}
.foot-bottom{margin-top:48px;padding-top:24px;font-weight:400;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.recommend{font-family:var(--f-quote);font-style:italic;font-weight:300;font-size:24px;line-height:1.2;color:var(--brass)}

/* ---------- блоки главной ---------- */
.intro{display:grid;grid-template-columns:220px minmax(0,1fr);gap:80px;align-items:start}
.intro > *{min-width:0}
.intro--note{grid-template-columns:180px minmax(0,1fr);gap:56px;align-items:center}
.portrait{aspect-ratio:3/4;width:100%;background:var(--paper2);display:flex;flex-direction:column;justify-content:flex-end;padding:16px;gap:6px;position:relative;overflow:hidden}
.portrait::before{content:"";position:absolute;inset:18%;border:1px dashed rgba(180,154,104,.6);border-radius:50% 50% 46% 46%/42% 42% 58% 58%}
.portrait .caps{color:var(--grey);position:relative}
.portrait .todo{position:relative;font-size:13px;align-self:flex-start}
.portrait-img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 50%}
.entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.entry{display:flex;flex-direction:column;gap:18px;padding:40px 36px;border:1px solid rgba(36,54,45,.14);text-decoration:none;color:var(--forest);transition:border-color .2s}
.entry:hover{border-color:rgba(36,54,45,.45)}
.entry .num{font-family:var(--f-display);font-size:64px;line-height:1}
.entry .h3{font-size:32px}
.entry .h3--news{font-size:26px;line-height:1.18}
.entry .p{font-size:15px;color:var(--forest);flex:1}
.entry.t-forest{border-color:var(--forest)}
.entry.t-forest .p{color:var(--parch)}
.quote-block{display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px;max-width:820px;margin-inline:auto}
.quote-block .q-mark{font-family:var(--f-quote);font-size:56px;line-height:.6;color:var(--brass)}
.quote-block .quote{color:var(--parch);font-size:clamp(26px,2.6vw,34px)}
.quote-block--compact{gap:18px;max-width:760px}
.quote-block--compact .q-mark{font-size:44px}
.quote-block--compact .quote{font-size:clamp(22px,2.1vw,28px)}
.quote-block--compact .q-sign{color:var(--brass);font-size:22px}
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.fact{padding:0 20px 0 28px;font-size:17px;line-height:1.6;color:var(--grey)}
.fact:first-child{padding-left:0}
.fact b{font-weight:600;color:var(--forest)}
.fact + .fact{position:relative}
.fact + .fact::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line);box-shadow:1px 0 1px var(--line-sh)}
.facts--in{margin-top:calc(var(--sp)*.45);padding-top:calc(var(--sp)*.4)}
.t-moss .fact{color:var(--muted)}
.t-moss .fact b{color:var(--brass)}
.small-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:0;background:var(--moss);padding:32px}
.small-start > *{padding-inline:32px;min-width:0}
.small-start > :first-child{padding-left:0}
.small-start > * + *{border-left:1px solid rgba(239,232,218,.12)}
.formats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.formats--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fmt{background:var(--moss);padding:32px 26px;display:flex;flex-direction:column;gap:16px;--emb:#3A5646;--emb-d:rgba(0,0,0,.5);--emb-h:rgba(230,240,224,.16);--line:#3A5646;--line-sh:rgba(0,0,0,.35)}
.fmt .num{font-family:var(--f-display);font-size:48px;line-height:1}
.fmt .h3{font-size:24px}
.fmt .p{font-size:14px;color:rgba(239,232,218,.78)}
.fmt ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.fmt li{font-size:14px;padding-block:10px;color:var(--parch)}
.fmt .more{margin-top:auto;padding-top:8px}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.plans--photo{grid-template-columns:minmax(0,760px) minmax(0,1fr)}
.plans--photo > .portrait,.plans--photo > img{width:100%;aspect-ratio:3/4;object-fit:cover;align-self:start;height:auto}
.plan{padding:40px 36px;display:flex;flex-direction:column;gap:18px}
.plan--line{border:1px solid rgba(239,232,218,.3)}
.plan--paper{background:var(--parch);color:var(--forest);--line:#E3D9C5;--line-sh:rgba(90,74,48,.2);--fg:var(--forest);--muted:var(--grey)}
.plan ul{list-style:none;margin:0;padding:0}
.plan li{display:flex;gap:12px;padding-block:10px;font-size:14px}
.plan li::before{content:"—";color:var(--brass)}
.plan .grow{flex:1}
.price{font-family:var(--f-quote);font-style:italic;font-size:22px;color:var(--brass);display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.plan--paper .price{color:var(--ox)}
.price .todo{font-family:var(--f-text);font-style:normal;font-size:12px;padding:2px 6px}
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative;padding-top:6px}
.timeline::before{content:"";position:absolute;left:4px;right:25%;top:10px;height:1px;background:rgba(239,232,218,.3)}
.tl{display:flex;flex-direction:column;gap:10px;position:relative}
.tl::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--parch);margin-bottom:6px}
.tl:last-child::before{background:var(--brass)}
.tl .h4{font-size:26px}
.timeline--year{grid-template-columns:repeat(6,minmax(0,1fr));gap:40px 24px;padding-top:0}
.timeline--year::before{display:none}
.timeline--year .tl{border-top:1px solid rgba(239,232,218,.3);gap:8px}
.timeline--year .tl::before{margin:-5px 0 8px}
.timeline--year .tl .h4{font-size:22px}
.media-row{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:80px;align-items:center}
.media-row img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.media-row img.img-32{aspect-ratio:3/2;height:auto}
.media-row--r{grid-template-columns:minmax(0,440px) minmax(0,1fr)}
.media-row--r img{aspect-ratio:440/580}
.conf-mark{width:150px;height:150px;color:#5E2629;--sw:1.8px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.55)) drop-shadow(0 -1px 1px rgba(255,217,204,.14))}
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.member{display:flex;flex-direction:column;gap:10px}
.member img{width:100%;aspect-ratio:282/320;object-fit:cover;margin-bottom:6px}
.member .caps{color:var(--forest)}
.nda{align-self:flex-start;border:1px solid rgba(36,54,45,.3);padding:3px 8px;font-weight:400;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ex{display:flex;flex-direction:column;gap:12px}
.ex img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:6px}
.ex .caps{color:var(--forest)}
.faq{display:flex;flex-direction:column}
.faq details{padding-block:22px}
.faq summary{display:flex;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font-family:var(--f-display);font-size:24px;line-height:1.2;color:var(--forest)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-display);font-size:26px;line-height:1;color:var(--emb);text-shadow:0 1px 1px var(--emb-d),0 -1px 1px var(--emb-h);flex:none}
.faq details[open] summary::after{content:"—"}
.faq details p{margin-top:12px;max-width:680px;font-size:15px;color:var(--grey)}
.contact-list{display:flex;flex-direction:column}
.contact-list .ci{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:14px}
.contact-list .caps{color:rgba(239,232,218,.6)}
.contact-list a{text-decoration:none}
.form{display:flex;flex-direction:column;gap:26px}
.field{display:flex;flex-direction:column;gap:12px}
.field label,.field .caps{color:rgba(239,232,218,.6)}
.field input,.field textarea{background:transparent;border:0;border-bottom:1px solid #2E4539;box-shadow:0 1px 1px rgba(0,0,0,.38);color:var(--parch);font:300 16px/1.5 var(--f-text);padding:8px 0;border-radius:0}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--brass)}
.field textarea{min-height:64px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border-radius:999px;border:1px solid rgba(239,232,218,.3);font-weight:400;font-size:13px;color:var(--parch);cursor:pointer;letter-spacing:0;text-transform:none}
.chips input:checked + label{background:var(--parch);color:var(--forest);border-color:var(--parch)}
.chips input:focus-visible + label{outline:2px solid var(--brass);outline-offset:2px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:rgba(239,232,218,.75)}
.consent input{margin-top:3px;accent-color:var(--brass)}

/* внутренние: разное */
.rows--cols .row{grid-template-columns:72px minmax(0,400px) minmax(0,1fr);gap:80px}
.rows--cols .row .t{font-family:var(--f-display);font-size:26px;line-height:1.18;color:var(--parch)}
.rows--cols .row .txt{color:rgba(239,232,218,.85)}
.journal .item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:24px;align-items:center;padding-block:30px}
.journal .num{font-family:var(--f-display);font-size:40px;line-height:1}
.journal .h3{color:var(--forest)}
.journal .caps{color:var(--grey)}
.case{display:flex;flex-direction:column;gap:12px}
.case img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:6px}
.case .caps{color:var(--grey)}
.topic{display:grid;grid-template-columns:340px minmax(0,1fr);gap:80px;padding-block:36px}
.topic > *{min-width:0}
.topic .num{font-family:var(--f-display);font-size:40px;line-height:1;margin-bottom:14px}
.topic .qs{display:flex;flex-direction:column;gap:14px}
.topic .qs p{font-family:var(--f-quote);font-style:italic;font-weight:300;font-size:26px;line-height:1.25;color:var(--ox)}
.faq--page{max-width:860px}
.policy .item{display:grid;grid-template-columns:340px minmax(0,1fr);gap:80px;padding-block:40px}
.policy .item > *{min-width:0}
.policy .item .stack{gap:16px}
.thanks{min-height:calc(100vh - 360px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:36px;padding-block:var(--sp)}
.thanks .mark{width:150px;height:150px;color:#2E4539;--sw:1.8px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.55)) drop-shadow(0 -1px 1px rgba(230,240,224,.14))}
.toast{font-size:13px;color:var(--brass);min-height:1.4em}

/* ---------- адаптив ---------- */
@media (max-width:1100px){
  .facts{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}
  .fact:nth-child(4){padding-left:0}.fact:nth-child(4)::before{display:none}
  .formats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .menu-btn{display:inline-flex;align-items:center}
  .head-cta{display:none}
  .nav{display:none;flex-direction:column;align-items:flex-start;gap:14px;padding-block:22px}
  .nav.open{display:flex}
  .nav .dot{display:none}
  .nav a{font-size:14px}
  .logo-name{font-size:13px;max-width:15em}
  .hero{grid-template-columns:minmax(0,1fr);gap:16px;padding-block:24px 64px}
  .spiral-col{max-width:520px;width:100%;margin-inline:auto}
  .spiral{width:100%;margin:0}
  .spiral svg{--sw:3.4px}
  .ph-grid,.ph-grid--solo{grid-template-columns:minmax(0,1fr);gap:40px}
  .ph-img{max-width:440px}
  .split,.head-row,.intro,.media-row,.media-row--r,.topic,.policy .item{grid-template-columns:minmax(0,1fr);gap:28px}
  .intro .portrait,.intro .portrait-img{max-width:220px}
  .entries,.plans,.examples{grid-template-columns:minmax(0,1fr)}
  .small-start{grid-template-columns:minmax(0,1fr);padding:28px}
  .small-start > *{padding:20px 0 0;border-left:0 !important}
  .small-start > * + *{border-top:1px solid rgba(239,232,218,.12)}
  .timeline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .timeline::before{display:none}
  .rows--cols .row{grid-template-columns:56px minmax(0,1fr);gap:8px 20px}
  .rows--cols .row .txt{grid-column:2}
  .journal .item{grid-template-columns:56px minmax(0,1fr);gap:8px 16px}
  .journal .item .caps{grid-column:2}
  .row{grid-template-columns:56px minmax(0,1fr)}
  .row .num{font-size:32px}
}
@media (max-width:560px){
  .facts{grid-template-columns:minmax(0,1fr)}
  .fact{padding:18px 0 0}.fact + .fact::before{left:0;right:0;width:auto;height:1px;bottom:auto}
  .formats,.team{grid-template-columns:minmax(0,1fr)}
  .foot-grid{grid-template-columns:minmax(0,1fr)}
  .card{padding:32px 24px 20px}
  .entry,.plan{padding:32px 24px}
  .btn{width:100%}
  .btns .btn{flex:1 1 100%}
  .step .num{font-size:56px}
  .logo .mark{width:36px;height:36px}
}
@media (max-width:900px){.plans--photo > .portrait,.plans--photo > img{max-width:320px}}
@media (max-width:1100px){.cards--gifts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.cards--gifts{grid-template-columns:minmax(0,1fr)}.card--wide{grid-column:auto}.card--wide .gift-ph,.card--wide > .gift-img{aspect-ratio:4/3}}
@media (max-width:560px){.gift-ph,.card > .gift-img{margin:-32px -24px 4px;width:calc(100% + 48px)}}
@media (max-width:560px){.row.row--nonum{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.cards--two{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.spiral.spiral--solo{max-width:320px}}
@media (max-width:900px){.ph-grid--mark .spiral.spiral--solo{width:100%;max-width:360px;margin:-8px 0 -24px}}
@media (max-width:560px){.title-mark{flex-direction:column;align-items:flex-start;gap:16px}.title-mark .mark{width:64px;height:64px}}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ph-grid--portrait{grid-template-columns:minmax(0,1fr) minmax(0,260px);gap:64px}
.ph-img--portrait{aspect-ratio:3/4;max-width:260px;height:auto}
@media (max-width:900px){.ph-grid--portrait{grid-template-columns:minmax(0,1fr);gap:32px}.ph-img--portrait{max-width:200px}}
@media (min-width:900px){.steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* home-archive */
.formats--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ha-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
.ha-callout{margin:0}
.ha-price{margin-top:auto;padding-top:8px;font-size:15px;color:var(--parch)}
.ha-phones{display:flex;gap:28px;justify-content:center;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;-webkit-overflow-scrolling:touch}
.ha-phone{flex:none;width:300px;height:620px;box-sizing:border-box;border:10px solid #1F1D1A;border-radius:40px;background:#F6F1E9;color:#1F1D1A;overflow:hidden;display:flex;flex-direction:column;scroll-snap-align:center;font-family:"Manrope","Helvetica Neue",Arial,sans-serif;box-shadow:0 18px 40px -18px rgba(31,29,26,.45)}
.ha-phone p{margin:0}
.ha-screen{flex:1 1 auto;min-height:0;overflow:hidden;padding:22px 18px 16px;display:flex;flex-direction:column;gap:16px}
.ha-brand{display:flex;align-items:center;gap:10px}
.ha-mono{width:40px;height:40px;border-radius:11px;background:#2F4A3A;color:#F6F1E9;display:flex;align-items:center;justify-content:center;font-family:"EB Garamond",Georgia,serif;font-size:25px;flex:none}
.ha-bt{display:flex;flex-direction:column;gap:2px}
.ha-cap,.ha-kick{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#6B645C}
.ha-kick{color:#2F4A3A;font-weight:600}
.ha-fam{font-family:"EB Garamond",Georgia,serif;font-size:22px;line-height:1}
.ha-h1{font-family:"EB Garamond",Georgia,serif;font-size:23px;line-height:1.15}
.ha-h1--l{font-size:25px}
.ha-h2{font-family:"EB Garamond",Georgia,serif;font-size:18px;margin-bottom:2px!important}
.ha-sub{font-size:12px;line-height:1.45;color:#6B645C;margin-top:4px!important}
.ha-card{background:#fff;border:1px solid #E3DACB;border-radius:13px;padding:14px;display:flex;flex-direction:column;gap:9px}
.ha-serif{font-family:"EB Garamond",Georgia,serif;font-size:16px;line-height:1.3}
.ha-btn{align-self:flex-start;min-height:32px;padding:0 13px;border-radius:16px;background:#2F4A3A;color:#F6F1E9;font-size:11.5px;font-weight:600;display:flex;align-items:center;gap:6px}
.ha-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ha-tile{min-height:70px;padding:11px;border-radius:11px;display:flex;flex-direction:column;justify-content:space-between;gap:8px}
.ha-tile b{display:block;font-size:12.5px;font-weight:600}
.ha-tile span span{font-size:10.5px;opacity:.85}
.ha-photo{background:#C8B596;color:#2B241C}
.ha-video{background:#2A2622;color:#F6F1E9}
.ha-doc{background:#E9E1D2;color:#3A332B}
.ha-audio{background:rgba(47,74,58,.12);color:#2F4A3A}
.ha-story{background:#D9C9AE;color:#2B241C}
.ha-chips{display:flex;gap:6px;overflow:hidden;margin-top:-4px}
.ha-chip{flex:none;padding:6px 11px;border-radius:15px;border:1px solid #CFC5B5;font-size:11px;font-weight:500}
.ha-chip.is-on{background:#2F4A3A;border-color:#2F4A3A;color:#F6F1E9}
.ha-type{flex:none;padding:5px 9px;border-radius:7px;background:#EDE5D7;font-size:10.5px;font-weight:500}
.ha-type.is-on{background:#1F1D1A;color:#F6F1E9}
.ha-group{display:flex;flex-direction:column}
.ha-year{font-family:"EB Garamond",Georgia,serif;font-size:28px;line-height:1;color:#2F4A3A;margin-bottom:2px}
.ha-item{display:flex;gap:11px;align-items:center;padding:8px 0;border-bottom:1px solid #E3DACB}
.ha-th{width:44px;height:44px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:none}
.ha-it{display:flex;flex-direction:column;gap:2px;min-width:0}
.ha-it b{font-size:12px;font-weight:600;line-height:1.3}
.ha-it span{font-size:10.5px;color:#6B645C}
.ha-back{color:#2F4A3A;display:flex;margin:-6px 0 -6px -2px}
.ha-portrait{height:116px;border-radius:13px;background:#C8B596;color:#2B241C;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:none}
.ha-portrait span{font-family:"EB Garamond",Georgia,serif;font-size:42px;line-height:1}
.ha-portrait small{font-size:10px;opacity:.8}
.ha-bio{font-family:"EB Garamond",Georgia,serif;font-size:15px;line-height:1.4}
.ha-nav{flex:none;height:58px;border-top:1px solid #E3DACB;background:#FBF8F3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ha-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#6B645C;font-size:10px;font-weight:500}
.ha-tab.is-on{color:#2F4A3A;font-weight:600}
.ha-icons{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:32px 56px}
.ha-ic-main,.ha-ic-alt{display:flex;flex-direction:column;align-items:center;gap:12px}
.ha-ic-row{display:flex;gap:14px}
.ha-icon{width:120px;height:120px;border-radius:28px;background:#2F4A3A;color:#F6F1E9;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"EB Garamond",Georgia,serif;box-shadow:0 10px 24px -12px rgba(31,29,26,.5)}
.ha-icon span{font-size:64px;line-height:.9}
.ha-icon small{font-family:"Manrope",Arial,sans-serif;font-size:11px;letter-spacing:.12em;opacity:.8;margin-top:4px}
.ha-icon--s{width:60px;height:60px;border-radius:15px;font-size:34px}
.ha-icon--light{background:#F6F1E9;color:#2F4A3A;box-shadow:0 0 0 1px #E3DACB,0 10px 24px -12px rgba(31,29,26,.4)}
.ha-ic-cap{font-size:13px;color:var(--muted)}
.ha-note{font-size:13px;color:var(--muted);text-align:center;margin:0}
@media (max-width:1060px){.ha-phones{justify-content:flex-start;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);scroll-padding-inline:var(--gut)}}
@media (max-width:760px){.ha-lines,.formats--2{grid-template-columns:minmax(0,1fr)}}

/* cifrovoy-arhiv: путь материала */
.dflow{display:grid;grid-template-columns:minmax(0,1.25fr) 56px minmax(0,1fr) 36px minmax(0,1fr) 56px minmax(0,.9fr);align-items:center;min-height:200px}
.df-src,.df-out{display:grid;grid-template-rows:repeat(3,1fr);align-self:stretch}
.df-out{grid-template-rows:1fr 1fr;align-self:center;gap:28px}
.df-n{display:flex;flex-direction:column;justify-content:center;font-size:14px;line-height:1.35;color:var(--grey)}
.df-src .df-n{text-align:right;padding-right:10px}
.df-out .df-n{padding-left:10px}
.df-n b{font-family:var(--f-display);font-weight:400;font-size:20px;line-height:1.2;color:var(--forest)}
.df-wire{display:block;width:100%;height:100%;min-height:200px;fill:none;stroke:var(--brass);stroke-width:.3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.df-wire path{vector-effect:non-scaling-stroke;stroke-width:1.2px}
.df-box{display:flex;flex-direction:column;justify-content:center;text-align:center;padding:22px 16px;min-height:130px;background:#E4D9C4;border:1px solid var(--brass);font-size:14px;line-height:1.4;color:var(--grey)}
.df-box b{font-family:var(--f-display);font-weight:400;font-size:22px;line-height:1.15;color:var(--forest);margin-bottom:6px}
.df-safe{margin:0;max-width:900px}
@media (max-width:900px){
  .dflow{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}
  .df-src,.df-out{grid-template-rows:none;gap:14px}
  .df-src .df-n,.df-out .df-n{text-align:left;padding:0 0 0 14px;border-left:1px solid var(--brass)}
  .df-wire{display:none}
  .df-box{min-height:0;margin:18px 0;position:relative}
  .df-box::before{content:"↓";position:absolute;top:-19px;left:50%;transform:translateX(-50%);color:var(--brass);font-size:14px;line-height:1}
  .df-out{margin-top:4px;gap:14px}
}
@media (max-width:900px){.df-out{position:relative;padding-top:14px}.df-out::before{content:"↓";position:absolute;top:-6px;left:50%;transform:translateX(-50%);color:var(--brass);font-size:14px;line-height:1}}
.ph-slot{display:flex;align-items:center;justify-content:center;border:1px dashed rgba(180,154,104,.7);background:rgba(239,232,218,.04)}
.ph-slot span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
.card-slot{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;border:1px dashed var(--brass);background:rgba(180,154,104,.06);margin-bottom:6px}
.card-slot span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}
.card-img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;margin-bottom:6px}
.foot-bottom a{color:inherit}
.ph-grid--wide{grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:56px}
.ph-img--wide{aspect-ratio:3/2;max-width:none;height:auto}
@media (max-width:900px){.ph-grid--wide{grid-template-columns:minmax(0,1fr);gap:32px}}
@media (min-width:901px) and (max-width:1199px){.nav{gap:8px 8px}.nav a,.nav .dot{font-size:11px}.nav a{letter-spacing:.05em}}
