/* The Till School — учебник по стоимости приёма карт.
   Палитра снята с самих кадров: оливковая бумага и тёмные чернила чертежа. */
:root{
  --paper:#E6DEC0; --paper2:#DED5B4; --card:#F0E9D1;
  --ink:#23211B; --mut:#55503F; --dim:#8A8267;
  --line:rgba(35,33,27,.24); --line2:rgba(35,33,27,.11);
  --acc:#9A6B2F; --acc2:#5C6B3A; --alert:#A6462F;
}
html[data-theme="ink"]{
  --paper:#1D1C16; --paper2:#171610; --card:#26241C;
  --ink:#E9E1C4; --mut:#B0A98D; --dim:#7C755C;
  --line:rgba(233,225,196,.24); --line2:rgba(233,225,196,.12);
  --acc:#C99A55; --acc2:#93A45F; --alert:#D2704F;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font:400 17.5px/1.7 Newsreader,Georgia,serif;-webkit-font-smoothing:antialiased;
  transition:background .5s ease,color .5s ease}
h1,h2,h3{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;letter-spacing:-.015em;margin:0}
a{color:inherit}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.wrap{max-width:1280px;margin:0 auto;padding:0 5vw}

.prog{position:fixed;left:0;top:0;height:2px;width:0;background:var(--acc);z-index:60}
.top{position:fixed;left:0;right:0;top:0;z-index:50;backdrop-filter:blur(8px);
  background:color-mix(in srgb,var(--paper) 86%,transparent);border-bottom:1px solid var(--line2)}
.top .in{max-width:1280px;margin:0 auto;padding:13px 5vw;display:flex;align-items:center;gap:26px}
.brand{font-family:'Space Grotesk';font-weight:700;font-size:17px;text-decoration:none;white-space:nowrap}
.brand b{color:var(--acc);font-weight:700}
.nav{display:flex;gap:20px;margin-left:auto}
.nav a{text-decoration:none;color:var(--mut);font-family:'Space Grotesk';font-size:13.5px;padding:3px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a.here{color:var(--ink);border-bottom-color:var(--acc)}
.tbtn{border:1px solid var(--line);background:none;color:var(--mut);border-radius:0;
  padding:6px 12px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em}
.tbtn:hover{color:var(--ink);border-color:var(--acc)}

/* сцена во весь экран, текст справа */
.hero{position:relative;background:var(--paper2)}
html[data-theme="ink"] .hero{--ink:#23211B;--mut:#55503F;--dim:#8A8267;--paper2:#DED5B4;
  --line:rgba(35,33,27,.24);--line2:rgba(35,33,27,.11)}
.hero,.hero h1,.hero h2{color:var(--ink)}
.pin{position:relative;height:100vh;overflow:hidden}
#seq{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .5s}
#seq.is-ready{opacity:1}
.over{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}
.lede{pointer-events:auto;margin-right:5vw;width:min(28vw,420px);padding-top:52px}
.lede .kick{color:var(--dim);margin-bottom:14px}
.lede h1{font-size:clamp(30px,3.6vw,52px);line-height:1.04}
.lede h1 .ln{display:block;overflow:hidden}
.lede h1 .ln i{display:block;font-style:normal}
.lede .sub{color:var(--mut);font-size:16.5px;margin:16px 0 0}
.lede h1,.lede .sub,.lede .kick{transition:opacity .45s ease,max-height .45s ease,margin .45s ease}
.lede.compact h1,.lede.compact .sub,.lede.compact .kick{opacity:0;max-height:0;margin:0;overflow:hidden}
.phases{position:relative;margin-top:24px;min-height:290px}
.phase{position:absolute;inset:0;opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity .45s ease,transform .45s ease}
.phase.on{opacity:1;transform:none;pointer-events:auto}
.phase .no{color:var(--acc);margin-bottom:10px}
.phase h2{font-size:clamp(21px,2.2vw,30px);line-height:1.18}
.phase p{color:var(--mut);font-size:16px;margin:12px 0 0}
.phase .src{margin-top:12px;font-size:12px;color:var(--dim)}
.steps{display:flex;gap:6px;margin-top:20px}
.steps b{width:18px;height:3px;background:var(--line);transition:background .3s}
.steps b.on{background:var(--acc)}
.figtag{position:absolute;left:5vw;bottom:20px;z-index:5;color:var(--dim)}

/* разделы */
.band{padding:96px 0;border-top:1px solid var(--line2)}
.kick{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.h2{font-family:'Space Grotesk';font-weight:700;font-size:clamp(27px,3.2vw,42px);line-height:1.1;max-width:20ch;letter-spacing:-.015em}
.say{color:var(--mut);font-size:17.5px;max-width:62ch;margin:20px 0 0}

.crumbs{padding:104px 0 0;font-size:13px;color:var(--dim);font-family:'JetBrains Mono',monospace;letter-spacing:.06em}
.crumbs a{color:var(--mut);text-decoration:none;border-bottom:1px solid var(--line2)}
.phead{padding:26px 0 0;display:grid;grid-template-columns:132px 1fr;gap:34px;align-items:start}
.phead .num{font-family:'Space Grotesk';font-weight:700;font-size:96px;line-height:.8;color:var(--acc);letter-spacing:-.04em}
.phead h1{font-family:'Space Grotesk';font-size:clamp(30px,4.1vw,54px);line-height:1.04;max-width:20ch}
.phead .stand{color:var(--mut);font-size:18px;max-width:58ch;margin:20px 0 0}
.pmeta{margin:28px 0 0;display:flex;gap:30px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line2)}
.pmeta dt{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.pmeta dd{margin:6px 0 0;font-size:15.5px}

/* факты крупными числами */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:40px}
.fact{background:var(--card);border:1px solid var(--line2);padding:24px}
.fact .v{font-family:'Space Grotesk';font-weight:700;font-size:44px;line-height:1;color:var(--acc);letter-spacing:-.02em}
.fact .t{margin-top:12px;font-size:15px;color:var(--mut)}
.fact .s{margin-top:14px;padding-top:12px;border-top:1px solid var(--line2);font-size:11.5px;color:var(--dim)}
.fact .s a{color:var(--mut)}

.points{margin:36px 0 0;padding:0;list-style:none;counter-reset:pt}
.points li{counter-increment:pt;position:relative;padding:0 0 18px 44px;font-size:17px;color:var(--mut)}
.points li::before{content:counter(pt,decimal-leading-zero);position:absolute;left:0;top:4px;
  font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--acc);letter-spacing:.1em}
.task{margin-top:40px;border:1px solid var(--line);background:var(--card);padding:28px}
.task .lbl{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.task p{margin:12px 0 0;font-size:17.5px}

/* карта курса */
.mods{margin-top:44px}
.mod{border-top:1px solid var(--line);padding:26px 0}
.mod .mh{display:flex;gap:18px;align-items:baseline}
.mod .mh .mn{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--dim)}
.mod .mh h3{font-family:'Space Grotesk';font-size:24px}
.lgrid{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.lcard{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line2);padding:22px;transition:border-color .3s,transform .3s}
.lcard:hover{border-color:var(--acc);transform:translateY(-3px)}
.lcard .ln{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.13em;color:var(--acc)}
.lcard h4{font-family:'Space Grotesk';font-weight:700;font-size:19px;margin:9px 0 0;line-height:1.24}
.lcard p{margin:10px 0 0;font-size:14.5px;color:var(--mut)}

/* калькулятор */
.calc{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.fields{display:grid;gap:16px}
.f{display:grid;grid-template-columns:1fr 118px;gap:14px;align-items:center}
.f label{font-size:15.5px;color:var(--mut)}
.f input{font-family:'JetBrains Mono',monospace;font-size:15px;padding:9px 11px;background:var(--card);
  color:var(--ink);border:1px solid var(--line);width:100%;text-align:right}
.out{background:var(--card);border:1px solid var(--line);padding:26px}
.out h3{font-family:'Space Grotesk';font-size:20px;margin-bottom:16px}
.row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line2);font-size:15.5px}
.row b{font-family:'JetBrains Mono',monospace;font-weight:500}
.row.total{border-bottom:0;border-top:2px solid var(--line);margin-top:8px;padding-top:14px;font-size:18px}
.row.total b{color:var(--acc);font-size:20px}
.note{margin-top:18px;font-size:12.5px;color:var(--dim)}

/* шпаргалка */
.sheet{margin-top:36px;border-top:1px solid var(--line)}
.sheet .r{display:grid;grid-template-columns:180px 1fr 190px;gap:22px;padding:20px 0;border-bottom:1px solid var(--line2);align-items:start}
.sheet .r .k{font-family:'Space Grotesk';font-weight:700;font-size:17px}
.sheet .r .d{color:var(--mut);font-size:15.5px}
.sheet .r .s{font-size:12px;color:var(--dim)}
.sheet .r .s a{color:var(--mut)}

.next{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px}
.next a{display:block;padding:22px;border:1px solid var(--line2);background:var(--card);text-decoration:none}
.next a:hover{border-color:var(--acc)}
.next .lbl{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.next .t{display:block;margin-top:8px;font-family:'Space Grotesk';font-weight:700;font-size:18px}
.cta{margin-top:48px;padding:28px;border:1px solid var(--line);background:var(--card);
  display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta p{margin:0;color:var(--mut);font-size:16px;max-width:52ch}
.btn{display:inline-block;padding:12px 22px;background:var(--acc);color:var(--paper);text-decoration:none;
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase}

footer{padding:66px 0 88px;border-top:1px solid var(--line);background:var(--paper2)}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px}
footer p{color:var(--mut);font-size:15px;max-width:46ch}
footer h4{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 13px}
footer ul{padding:0;margin:0} footer li{list-style:none;margin:0 0 8px;font-size:15px}
.disc{margin-top:40px;padding-top:20px;border-top:1px solid var(--line2);color:var(--dim);font-size:13px;max-width:76ch}

@media (max-width:1080px){
  .calc{grid-template-columns:1fr} .next{grid-template-columns:1fr}
  .phead{grid-template-columns:1fr;gap:12px} .phead .num{font-size:64px}
  .sheet .r{grid-template-columns:1fr;gap:8px}
}
@media (max-width:980px){
  #seq{inset:auto 0 auto 0;top:92px;height:36vh}
  .over{align-items:flex-start;justify-content:flex-start;padding-top:calc(92px + 36vh + 20px)}
  .pin{height:auto;min-height:100vh;padding-bottom:32px}
  .lede{margin:0 5vw;width:auto;padding-top:0}
  .figtag{display:none}
}
@media (max-width:780px){
  body{font-size:16.5px}
  .top .in{flex-wrap:wrap;gap:8px 14px;padding:10px 5vw}
  .nav{display:flex;order:3;width:100%;margin:0;gap:15px;overflow-x:auto;padding-bottom:3px}
  .nav a{white-space:nowrap;font-size:13px}
  .tbtn{margin-left:auto}
  .crumbs{padding-top:124px}
  #seq{top:112px;height:32vh}
  .over{padding-top:calc(112px + 32vh + 18px)}
  .band{padding:70px 0}
  .f{grid-template-columns:1fr 96px}
  footer .cols{grid-template-columns:1fr}
}
@media (max-width:430px){
  .top .in{gap:6px 10px;padding:9px 4vw}
  .brand{font-size:16px}
  .nav{gap:9px;overflow-x:visible}
  .nav a{font-size:12.5px}
  .tbtn{padding:5px 9px;font-size:9.5px}
}
@media (prefers-reduced-motion:reduce){
  .pin{height:auto;padding:104px 0 40px}
  #seq{position:relative;inset:auto;height:auto;aspect-ratio:16/9;opacity:1}
  .over{position:relative;inset:auto;padding:30px 0 0;justify-content:flex-start}
  .lede{width:auto;margin:0 5vw;padding-top:0}
  .phase{position:relative;opacity:1;transform:none;margin-bottom:32px;pointer-events:auto}
  .phases{min-height:0}
  html{scroll-behavior:auto}
}
