/* ============================================================
   PATRIA — направление C «ЕСЛИ НЕ МЫ» (The Question)
   Вся страница — одна краска. Сайт устроен как восемь вопросов;
   ответы приходят вставками цвета кости. Читатель отмечает
   вызовы «это моё» — и в конце получает собственный список.
   ============================================================ */

:root{
  --red:#A82D18;           /* фирменная краска на всю страницу */
  --red-2:#8E2413;
  --red-3:#C24A32;
  --bone:#F4F1EC;          /* кость текущего сайта — сохранена */
  --bone-2:rgba(244,241,236,.74);
  --bone-3:rgba(244,241,236,.5);
  --ink:#1A1613;
  --line:rgba(244,241,236,.24);

  --page:1440px;
  --pad:clamp(18px,3.6vw,68px);

  --e-display:cubic-bezier(.16,1,.3,1);
  --e-body:cubic-bezier(.25,.46,.45,.94);
  --e-ui:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--red)}
body{
  margin:0;background:var(--red);color:var(--bone);
  font:400 17.5px/1.58 "Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  font-variation-settings:"wdth" 100;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
::selection{background:var(--bone);color:var(--red)}
:focus-visible{outline:2px solid var(--bone);outline-offset:3px}
.skip{position:fixed;z-index:200;top:10px;left:10px;padding:14px 22px;background:var(--bone);color:var(--red);translate:0 -180%}
.skip:focus{translate:0 0}
.wrap{width:min(100%,var(--page));margin-inline:auto;padding-inline:var(--pad)}

/* ---------- шапка ---------- */
.bar{
  position:sticky;top:0;z-index:90;display:flex;align-items:center;gap:30px;
  height:70px;padding-inline:var(--pad);background:var(--red);
  border-bottom:1px solid var(--line);
}
.wm{display:flex;align-items:center;gap:12px;text-decoration:none}
.wm__m{width:40px;height:auto}
.wm__t{font-weight:700;font-size:16px;letter-spacing:.28em;font-variation-settings:"wdth" 88,"wght" 700}
.bar__nav{display:flex;gap:24px;margin-left:auto;font-size:14.5px}
.bar__nav a{text-decoration:none;color:var(--bone-2);padding:6px 0;border-bottom:2px solid transparent;
  transition:color .25s var(--e-ui),border-color .25s var(--e-ui)}
.bar__nav a:hover{color:var(--bone);border-color:var(--bone)}
.burger{display:none;background:none;border:0;width:26px;padding:10px 0;cursor:pointer;color:inherit}
.burger span{display:block;height:1.6px;background:currentColor;margin:5px 0;transition:translate .3s var(--e-ui),rotate .3s var(--e-ui)}
.burger[aria-expanded="true"] span:first-child{translate:0 3.3px;rotate:45deg}
.burger[aria-expanded="true"] span:last-child{translate:0 -3.3px;rotate:-45deg}

/* ---------- типографика вопроса ---------- */
.ask{
  font-family:"Bricolage Grotesque",sans-serif;font-weight:600;
  font-variation-settings:"wdth" 84,"wght" 600,"opsz" 96;
  font-size:clamp(46px,9.4vw,164px);line-height:.86;letter-spacing:-.038em;text-wrap:balance;
}
.ask--mega{font-size:clamp(56px,13vw,236px);line-height:.82;letter-spacing:-.045em}
.serif{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  font-size:clamp(30px,4.4vw,72px);line-height:1.02;letter-spacing:-.022em}
.serif--xl{font-size:clamp(36px,5.6vw,96px);line-height:.98}
.sub{margin-top:30px;font-size:clamp(17px,1.34vw,21px);line-height:1.48;color:var(--bone-2);max-width:34em}
.sub--wide{max-width:46em}
.num{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-3)}
.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:flex;gap:10px;color:var(--bone-2);margin-bottom:30px}
.eyebrow i{font-style:normal;opacity:.55}
.cap{display:block;padding-top:9px;font-size:10.5px;letter-spacing:.04em;color:var(--bone-3)}
b{font-weight:600}

.btn{
  display:inline-flex;align-items:center;height:54px;padding:0 26px;text-decoration:none;
  border:1.5px solid var(--bone);font-size:16px;font-weight:500;
  transition:background .3s var(--e-ui),color .3s var(--e-ui),transform .3s var(--e-ui);
}
.btn:hover{background:var(--bone);color:var(--red);transform:translateY(-2px)}
.btn--inv{background:var(--bone);color:var(--red)}
.btn--inv:hover{background:transparent;color:var(--bone)}
.btn--sm{height:40px;padding:0 16px;font-size:14px;border-width:1.2px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:42px}

/* ---------- вопрос-экран ---------- */
.q{padding:clamp(84px,12vh,180px) 0;position:relative}
.q--open{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:0;
  position:relative;overflow:hidden;isolation:isolate}
/* знак показан достаточно крупно, чтобы читалась его конструкция; срезан краем */
.q--open::before{
  content:"";position:absolute;z-index:-1;right:2.5%;top:50%;translate:0 -50%;
  width:60vw;max-width:920px;aspect-ratio:260/110;background-color:var(--red-2);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 110' fill='none' stroke='black' stroke-width='5' stroke-linecap='round'><path d='M8 55 C 58 8 158 8 205 42 L 250 96'/><path d='M8 55 C 58 102 158 102 205 68 L 250 14'/></svg>") no-repeat center/contain;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 110' fill='none' stroke='black' stroke-width='5' stroke-linecap='round'><path d='M8 55 C 58 8 158 8 205 42 L 250 96'/><path d='M8 55 C 58 102 158 102 205 68 L 250 14'/></svg>") no-repeat center/contain;opacity:.9;
}
.q--open .wrap{position:relative;z-index:1}
.q--open h1{margin-top:8px}
.hint{position:absolute;left:var(--pad);bottom:26px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-3)}
.q--close{padding-bottom:clamp(90px,12vh,170px)}
.final{margin-top:clamp(52px,6vw,104px)}
.q .num + .ask{margin-top:20px}

/* ---------- ответ: вставка цвета кости ---------- */
.ans{background:var(--bone);color:var(--ink);margin-top:clamp(46px,5vw,84px);padding:clamp(52px,6vw,104px) 0}
.ans__in{}
.ans__big{max-width:17em;color:var(--ink)}
.ans__cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,3.4vw,64px);margin-top:clamp(34px,4vw,60px)}
.ans__cols p{color:rgba(26,22,19,.8)}
.dont li{padding:11px 0;border-bottom:1px solid rgba(26,22,19,.16);font-size:16.5px;line-height:1.42}
.dont li:first-child{border-top:1px solid rgba(26,22,19,.16)}

/* ---------- кадры: единая обработка, кадр живёт в краске ---------- */
.shot{margin-top:clamp(34px,4vw,64px);background:var(--red);isolation:isolate}
.shot__i{
  display:block;aspect-ratio:16/9;background:var(--red) center/cover no-repeat;
  filter:grayscale(1) contrast(1.06) brightness(1.16);
  mix-blend-mode:multiply;
}
.shot--wide .shot__i{aspect-ratio:21/8}
.shot .cap{padding:11px 13px 13px;color:rgba(244,241,236,.62)}
.item__inner figure .cap{padding:10px 12px 12px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,30px);margin-top:clamp(34px,4vw,60px)}
.pair .shot{margin-top:0}
.pair .shot__i{aspect-ratio:4/3}
.say{margin-top:clamp(56px,7vw,110px)}
.say .serif{max-width:16em}

/* ---------- двенадцать как отмечаемый список ---------- */
.list{
  width:min(100%,var(--page));margin:clamp(44px,5vw,80px) auto 0;padding-inline:var(--pad);
  border-top:1px solid var(--line);
}
.item{border-bottom:1px solid var(--line);position:relative}
.item__b{
  display:grid;grid-template-columns:46px minmax(0,1fr) auto 46px;gap:18px;align-items:center;
  width:100%;background:none;border:0;color:inherit;text-align:left;cursor:pointer;
  padding:18px 0;font:inherit;transition:transform .38s var(--e-ui);
}
.item__b:hover{transform:translateX(8px)}
.item__n{font-size:11.5px;letter-spacing:.1em;color:var(--bone-3);transition:color .3s var(--e-ui)}
.item__t{
  font-family:"Bricolage Grotesque",sans-serif;font-weight:600;
  font-variation-settings:"wdth" 88,"wght" 600;
  font-size:clamp(24px,3vw,48px);line-height:1;letter-spacing:-.03em;
}
.item__s{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3);white-space:nowrap}
.item__x{
  width:30px;height:30px;border:1.4px solid var(--bone-3);justify-self:end;position:relative;
  transition:border-color .3s var(--e-ui),background .3s var(--e-ui);
}
.item__x::after{
  content:"";position:absolute;inset:6px;background:var(--bone);
  clip-path:polygon(14% 46%,0 60%,40% 100%,100% 22%,86% 8%,38% 70%);
  opacity:0;scale:.6;transition:opacity .3s var(--e-ui),scale .35s var(--e-display);
}
.item.is-mine .item__x{border-color:var(--bone);background:rgba(244,241,236,.12)}
.item.is-mine .item__x::after{opacity:1;scale:1}
.item.is-mine .item__n{color:var(--bone)}
.item__d{
  display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--e-display);
}
.item.is-open .item__d{grid-template-rows:1fr}
.item__d > div{overflow:hidden}
.item__inner{display:grid;grid-template-columns:minmax(0,1fr) 42%;gap:clamp(20px,3vw,52px);
  padding:6px 0 30px 64px;align-items:start}
.item__p{font-size:17px;line-height:1.5;color:var(--bone-2);max-width:34em}
.item__inner figure{background:var(--red);isolation:isolate}
.item__i{display:block;aspect-ratio:16/10;background:var(--red) center/cover no-repeat;
  filter:grayscale(1) contrast(1.06) brightness(1.16);mix-blend-mode:multiply}

/* ---------- шаги ---------- */
.steps{
  width:min(100%,var(--page));margin:clamp(44px,5vw,80px) auto 0;padding-inline:var(--pad);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.steps li{background:var(--red);padding:26px 24px 30px;min-height:196px}
.steps .n{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-3)}
.steps .w{display:block;font-family:"Bricolage Grotesque",sans-serif;font-weight:700;
  font-variation-settings:"wdth" 84,"wght" 700;
  font-size:clamp(26px,2.6vw,42px);line-height:.98;letter-spacing:-.03em;margin:14px 0 12px}
.steps p{font-size:15px;line-height:1.45;color:var(--bone-2)}

/* ---------- институты ---------- */
.inst{
  width:min(100%,var(--page));margin:clamp(44px,5vw,80px) auto 0;padding-inline:var(--pad);
  border-top:1px solid var(--line);
}
.inst__r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 150px;gap:26px;align-items:baseline;
  padding:19px 0;border-bottom:1px solid var(--line);transition:transform .38s var(--e-ui)}
.inst__r:hover{transform:translateX(8px)}
.inst__r h3{font-weight:600;font-variation-settings:"wdth" 90,"wght" 600;
  font-size:clamp(20px,2vw,30px);letter-spacing:-.024em;line-height:1.02}
.inst__r p{font-size:15px;color:var(--bone-2);line-height:1.44}
.inst__r .st{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3);
  justify-self:end;display:flex;align-items:center;gap:7px}
.inst__r .st::before{content:"";width:7px;height:7px;border:1px solid currentColor;border-radius:50%}
.inst__r .st[data-s="In formation"]{color:var(--bone)}
.inst__r .st[data-s="In formation"]::before{background:var(--bone)}

/* ---------- корзина отмеченного ---------- */
.basket{margin-top:clamp(38px,4vw,64px);border:1.5px solid var(--line);padding:24px 24px 26px;max-width:46em}
.basket__h{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-3);margin-bottom:14px}
.basket__e{font-size:16.5px;color:var(--bone-2)}
.basket ul{display:flex;flex-wrap:wrap;gap:8px}
.basket li{
  display:flex;align-items:center;gap:9px;border:1px solid var(--bone);padding:8px 13px;
  font-size:14.5px;
}
.basket li button{background:none;border:0;color:inherit;cursor:pointer;font-size:15px;line-height:1;padding:0;opacity:.6}
.basket li button:hover{opacity:1}

.join{
  width:min(100%,var(--page));margin:clamp(38px,4vw,64px) auto 0;padding-inline:var(--pad);
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.join__c{background:var(--red);padding:28px 26px 30px;display:flex;flex-direction:column;gap:12px}
.join__k{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-3)}
.join__c h3{font-weight:600;font-variation-settings:"wdth" 88,"wght" 600;
  font-size:clamp(22px,2.2vw,32px);line-height:1.02;letter-spacing:-.026em}
.join__c p{font-size:15.5px;line-height:1.45;color:var(--bone-2)}
.join__c .btn{margin-top:auto;align-self:flex-start;height:46px;padding:0 20px;font-size:14.5px}

/* ---------- нижняя счётная полоса ---------- */
.tally{
  position:fixed;z-index:95;left:50%;bottom:20px;translate:-50% 0;
  display:flex;align-items:center;gap:12px;background:var(--bone);color:var(--red);
  padding:11px 16px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.22);
  animation:pop .5s var(--e-display);
}
.tally[hidden]{display:none}
.tally span:first-child{font-weight:700;font-size:19px;font-variation-settings:"wdth" 84,"wght" 700}
.tally__t{color:rgba(168,45,24,.72)}
.tally a{text-decoration:none;border-bottom:1.4px solid currentColor;padding-bottom:1px;font-weight:500}
@keyframes pop{from{translate:-50% 16px;opacity:0}to{translate:-50% 0;opacity:1}}

/* ---------- подвал ---------- */
.foot{border-top:1px solid var(--line);padding:clamp(46px,5vw,78px) 0 24px}
.foot__in{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(30px,4vw,70px)}
.wm__m--big{width:108px}
.foot__brand p{margin-top:16px;font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;line-height:1.14;max-width:9em}
.foot__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.foot__cols div{display:flex;flex-direction:column;gap:9px}
.foot__cols .num{margin-bottom:5px}
.foot__cols a{text-decoration:none;font-size:15.5px;color:var(--bone-2);width:fit-content;
  border-bottom:1px solid transparent;transition:border-color .25s var(--e-ui),color .25s var(--e-ui)}
.foot__cols a:hover{color:var(--bone);border-color:var(--bone)}
.foot__line{margin-top:clamp(44px,5vw,78px);padding-top:24px;border-top:1px solid var(--line);
  font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(23px,2.5vw,40px);line-height:1.08;letter-spacing:-.02em}
.foot__legal{margin-top:20px;display:flex;gap:22px;flex-wrap:wrap;font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--bone-3)}
.foot__cred{margin-left:auto;text-transform:none;letter-spacing:.03em}

/* ============================================================
   МОУШН
   ============================================================ */
.ln{display:block;clip-path:inset(-.3em -100vw -.06em -100vw)}
.js .ln > span{display:block;translate:0 108%;opacity:0;
  transition:translate 1s var(--e-display),opacity .55s linear;
  transition-delay:calc(var(--i,0) * 100ms)}
.js .is-in .ln > span,.js.is-ready .ln > span{translate:0 0;opacity:1}

.js .sub,.js .num,.js .cta,.js .eyebrow,.js .ans__cols,.js .dont,.js .basket{
  opacity:0;translate:0 15px;
  transition:opacity .7s var(--e-body),translate .8s var(--e-body);
  transition-delay:calc(var(--i,0) * 70ms + 200ms);
}
.js .is-in .sub,.js .is-in .num,.js .is-in .cta,.js .is-in .eyebrow,.js .is-in .ans__cols,
.js .is-in .dont,.js .is-in .basket,
.js.is-ready .sub,.js.is-ready .num,.js.is-ready .cta,.js.is-ready .eyebrow,
.js.is-ready .ans__cols,.js.is-ready .dont,.js.is-ready .basket{opacity:1;translate:0 0}

.js .shot{overflow:hidden}
.js .shot__i{clip-path:inset(0 100% 0 0);transition:clip-path 1.05s var(--e-display)}
.js .is-in .shot__i{clip-path:inset(0 0 0 0)}
.js .pair .shot:nth-child(2) .shot__i{transition-delay:.14s}

.js .item,.js .steps li,.js .inst__r,.js .join__c{
  opacity:0;translate:0 16px;
  transition:opacity .55s var(--e-body),translate .65s var(--e-body),transform .38s var(--e-ui);
  transition-delay:calc(var(--i,0) * 50ms);
}
.js .is-in .item,.js .is-in .steps li,.js .is-in .inst__r,.js .is-in .join__c{opacity:1;translate:0 0}

.js .ich-a,.js .ich-b{stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.5s var(--e-display) .2s forwards}
.js .ich-b{animation-delay:.36s}
@keyframes draw{to{stroke-dashoffset:0}}

/* ============================================================
   УЗКИЕ ЭКРАНЫ
   ============================================================ */
@media (max-width:1100px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inst__r{grid-template-columns:minmax(0,1fr) 130px;row-gap:8px}
  .inst__r p{grid-column:1/-1}
}
@media (max-width:920px){
  .bar__nav{display:none}
  .burger{display:block;margin-left:auto}
  .bar .btn--sm{display:none}
  .bar__nav.is-open{
    display:flex;flex-direction:column;position:fixed;inset:70px 0 auto 0;
    background:var(--red);border-bottom:1px solid var(--line);padding:14px var(--pad) 24px;gap:0;margin:0;
  }
  .bar__nav.is-open a{padding:13px 0;border-bottom:1px solid var(--line);font-size:20px;color:var(--bone)}
}
@media (max-width:760px){
  body{font-size:16.5px}
  .ask{font-size:clamp(40px,13.4vw,164px);line-height:.9}
  .ask--mega{font-size:clamp(58px,20vw,236px);line-height:.86}
  /* знак на узких — не за края, а подложкой снизу */
  .q--open::before{right:-30%;top:auto;bottom:6%;translate:0 0;width:150vw;opacity:.55}
  .q--open{min-height:96svh}
  .ans__cols,.pair{grid-template-columns:minmax(0,1fr);gap:24px}
  .item__b{grid-template-columns:38px minmax(0,1fr) 34px;gap:12px;padding:15px 0}
  .item__b:hover,.inst__r:hover{transform:none}
  .item__s{grid-column:2;justify-self:start;margin-top:6px}
  .item__x{width:26px;height:26px}
  .item__inner{grid-template-columns:minmax(0,1fr);padding-left:50px;gap:18px}
  .steps{grid-template-columns:minmax(0,1fr)}
  .steps li{min-height:0;padding:22px 20px 24px}
  .join{grid-template-columns:minmax(0,1fr)}
  .foot__in{grid-template-columns:minmax(0,1fr)}
  .foot__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot__cred{margin-left:0;flex-basis:100%}
  .cta .btn{flex:1 1 100%;justify-content:center}
  .tally{left:var(--pad);right:var(--pad);translate:0 0;justify-content:space-between;font-size:13px}
  @keyframes pop{from{translate:0 16px;opacity:0}to{translate:0 0;opacity:1}}
  .hint{display:none}
  .shot--wide .shot__i{aspect-ratio:4/3}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important}
  .js .ln > span,.js .sub,.js .num,.js .cta,.js .eyebrow,.js .ans__cols,.js .dont,.js .basket,
  .js .item,.js .steps li,.js .inst__r,.js .join__c{opacity:1;translate:0 0}
  .js .shot__i{clip-path:none}
  .js .ich-a,.js .ich-b{stroke-dashoffset:0}
}
