/* Общая база темы: токены, шрифты, типографика, кнопки, утилиты.
   Стили конкретных модулей лежат в поле css своего вида. */
@charset "UTF-8";
@font-face{font-family:'Bebas Neue Pro';src:url('/public/themes/manyastr/fonts/bebas-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Bebas Neue Pro';src:url('/public/themes/manyastr/fonts/bebas-700.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Skifer';src:url('/public/themes/manyastr/fonts/skifer.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('/public/themes/manyastr/fonts/mont-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('/public/themes/manyastr/fonts/mont-500.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('/public/themes/manyastr/fonts/mont-600.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('/public/themes/manyastr/fonts/mont-700.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap}
:root{
  /* фирменная палитра */
  --ink:#351A11;
  --ink-950:#210F09;
  --ink-900:#2B140D;
  --wine:#7D3B3C;
  --wine-deep:#5E2B2C;
  --blush:#F7D7D8;
  --sand:#E5D7CA;
  --paper:#F0EDE8;

  /* семантические токены — тема одна, тёмная */
  --bg:#1B0E08;
  --bg-2:#241209;
  --bg-3:#2E170E;
  --surface:#241209;
  --field:#150A05;                 /* тёмное «поле обложки» */
  --field-ink:#F1E4DA;             /* текст на тёмном поле */
  --text:#F2E7DE;
  --text-2:#C4A695;
  --text-3:#9C7C6B;
  --accent:#C97D75;
  --accent-ink:#24100A;
  --hdr-bg:rgba(27,14,8,.86);
  --line:rgba(242,231,222,.18);
  --line-soft:rgba(242,231,222,.1);
  --shadow-1:0 1px 2px rgba(0,0,0,.4), 0 6px 18px -8px rgba(0,0,0,.6);
  --shadow-2:0 2px 6px rgba(0,0,0,.4), 0 26px 60px -26px rgba(0,0,0,.8);

  /* сетка и ритм */
  --wrap:1440px;
  --gut:clamp(1.25rem, 4.2vw, 4.5rem);
  --sec:clamp(3rem, 6vw, 6rem);      /* по 86px сверху и снизу: два
                                        полных отступа подряд давали 316 */
  --r:2px;                          /* единый радиус: почти прямые углы, как у книжного блока */
  --r-lg:4px;

  /* типографика */
  --f-display:'Bebas Neue Pro','Oswald','Arial Narrow',sans-serif;
  --f-accent:'Skifer','Bebas Neue Pro',sans-serif;
  --f-text:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;

  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,.05,.36,1);
  --dur:.62s;
  color-scheme:dark;
}
.modal{position:fixed;inset:0;z-index:80;display:none;
  align-items:center;justify-content:center;padding:clamp(1rem,3vw,2.5rem)}
.modal:target{display:flex}
.js .modal:target{display:none}
.js .modal[data-open="true"]{display:flex}
.modal__bd{position:absolute;inset:0;background:rgba(10,5,3,.72);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal__win{position:relative;width:min(52rem,100%);max-height:92vh;overflow:auto;
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.6rem,4vw,3.2rem);box-shadow:var(--shadow-2)}
@media (prefers-reduced-motion:no-preference){.modal[data-open="true"] .modal__win{animation:modal-in .42s var(--ease) both}}
@keyframes modal-in{from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:none}}
.modal__x{position:absolute;top:.9rem;right:.9rem;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--text-2);
  cursor:pointer;transition:color .3s var(--ease),border-color .3s var(--ease)}
.modal__x:hover{color:var(--text);border-color:var(--text-3)}
.tgs{position:fixed;right:clamp(1rem,2.4vw,1.8rem);bottom:clamp(1rem,2.4vw,1.8rem);
  z-index:70;display:grid;gap:.6rem}
.tgs a{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;
  border-radius:50%;background:var(--accent);color:var(--accent-ink);
  box-shadow:var(--shadow-1);transition:transform .3s var(--ease),background-color .3s var(--ease)}
.tgs a:hover{transform:translateY(-2px);background:var(--blush)}
.tgs svg{width:24px;height:24px}
@media (max-width:600px){.tgs a{width:46px;height:46px}.tgs svg{width:21px;height:21px}}
@media print{.tgs{display:none}.modal{display:none}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--f-text);font-size:clamp(.95rem,.9rem + .2vw,1.0625rem);
  font-weight:400;line-height:1.65;letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r)}
::selection{background:var(--wine);color:#fff}
h1,h2,h3,h4{margin:0;font-weight:400}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding-block:var(--sec)}
.sec--tight{padding-top:clamp(1.6rem,3.2vw,2.8rem)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--accent);
  color:var(--accent-ink);padding:.75rem 1.25rem;font-weight:600}
.skip:focus{left:.5rem;top:.5rem}
.display{
  font-family:var(--f-display);font-weight:700;text-transform:uppercase;
  line-height:.84;letter-spacing:.005em;
  font-size:clamp(2.75rem,1.1rem + 8.4vw,9.5rem);
  margin:0;
}
.display--md{font-size:clamp(2.4rem,1.2rem + 5.4vw,6rem)}
.display--sm{font-size:clamp(1.9rem,1.1rem + 3.4vw,3.9rem);line-height:.9}
.h2{font-family:var(--f-display);font-weight:700;text-transform:uppercase;line-height:.88;
  letter-spacing:.006em;font-size:clamp(2rem,1.1rem + 3.9vw,4.6rem);margin:0}
.h3{font-family:var(--f-display);font-weight:700;text-transform:uppercase;line-height:.94;
  font-size:clamp(1.5rem,1.05rem + 1.7vw,2.4rem);margin:0}
.h4{font-family:var(--f-text);font-weight:600;font-size:1.0625rem;line-height:1.4;margin:0}
.mark{font-family:var(--f-accent);text-transform:uppercase;font-weight:400;letter-spacing:.02em}
.accent{color:var(--accent)}
.lead{font-size:clamp(1.0625rem,.98rem + .5vw,1.375rem);line-height:1.55;color:var(--text-2);
  max-width:34ch;font-weight:500}
.body-w{max-width:62ch}
.eyebrow{font-size:.6875rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600;
  color:var(--text-3);margin:0 0 1.5rem}
.num{font-variant-numeric:tabular-nums lining-nums}
.btn{
  --btn-bg:var(--accent);--btn-fg:var(--accent-ink);
  position:relative;display:inline-flex;align-items:center;gap:.65rem;
  padding:1.05rem 1.9rem;background:var(--btn-bg);color:var(--btn-fg);
  font-weight:600;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;
  white-space:nowrap;border:1px solid var(--btn-bg);border-radius:var(--r);cursor:pointer;
  overflow:hidden;isolation:isolate;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s var(--ease),
             color .3s var(--ease),border-color .3s var(--ease);
}
.btn::after{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);
  transform:translateY(101%);transition:transform .48s var(--ease);
}
.btn:hover::after,.btn:focus-visible::after{transform:translateY(0)}
.btn:hover,.btn:focus-visible{color:#FFF6F2;border-color:var(--ink);box-shadow:var(--shadow-1)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn--ghost{--btn-bg:transparent;--btn-fg:var(--text);border-color:var(--line)}
.btn--ghost::after{background:var(--text)}
.btn--ghost:hover,.btn--ghost:focus-visible{color:var(--bg);border-color:var(--text)}
.btn--on-field{--btn-bg:transparent;--btn-fg:var(--field-ink);border-color:rgba(244,237,230,.34)}
.btn--on-field::after{background:var(--field-ink)}
.btn--on-field:hover,.btn--on-field:focus-visible{color:var(--ink-950);border-color:var(--field-ink)}
.btn--lg{padding:1.2rem 2.4rem;font-size:.9375rem}
@media (max-width:480px){.btn{padding:.95rem 1.35rem;font-size:.8125rem}.btn--lg{padding:1.05rem 1.6rem;font-size:.8125rem}}
.btn-row{display:flex;flex-wrap:wrap;gap:.85rem}
.tlink{
  display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.8125rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--accent);
  padding-bottom:.35rem;border-bottom:1px solid currentColor;
  transition:gap .3s var(--ease),color .3s var(--ease);
}
.tlink:hover{gap:1.1rem}
.tlink svg{width:1em;height:1em;flex:none}
.js .rv{opacity:0;transform:translateY(26px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
  transition-delay:calc(var(--i,0)*70ms)}
.js .rv.is-in{opacity:1;transform:none}
.js .rv-clip{clip-path:inset(0 0 102% 0);transition:clip-path 1s var(--ease);
  transition-delay:calc(var(--i,0)*80ms)}
.js .rv-clip.is-in{clip-path:inset(0 0 -6% 0)}
.js .rv-line{transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease)}
.js .rv-line.is-in{transform:scaleX(1)}
.js .proc li::after{transform:scaleX(0)}
@media (prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important;
    clip-path:none!important;transition:none!important}.rv-clip{opacity:1!important;transform:none!important;
    clip-path:none!important;transition:none!important}.rv-line{opacity:1!important;transform:none!important;
    clip-path:none!important;transition:none!important}.proc li::after{opacity:1!important;transform:none!important;
    clip-path:none!important;transition:none!important}}
.ph{position:relative;overflow:hidden;background:var(--bg-3);border-radius:var(--r)}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.ph--contain img{object-fit:contain}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px var(--line-soft);border-radius:inherit}
.about__hero .ph{background:none}
.about__hero .ph::after{display:none}
.zoom img{transition:transform 1.1s var(--ease),filter .6s var(--ease)}
.zoom:hover img{transform:scale(1.045)}
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(1rem,2.4vw,2.4rem);
  counter-reset:p}
.proc li{counter-increment:p;padding:1.9rem 0 2.2rem;border-top:1px solid var(--line);position:relative}
.proc li::before{content:"0" counter(p);font-family:var(--f-display);font-size:.9rem;
  letter-spacing:.16em;color:var(--accent);display:block;margin-bottom:1rem}
.proc li::after{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--accent);
  transform-origin:left;transition:transform 1s var(--ease);
  transition-delay:calc(var(--i,0)*90ms)}
.proc li.is-in::after{transform:scaleX(1)}
.proc b{display:block;font-family:var(--f-display);text-transform:uppercase;font-weight:700;
  font-size:clamp(1.15rem,1rem + .7vw,1.6rem);line-height:1;margin-bottom:.75rem}
.proc p{font-size:.875rem;color:var(--text-2)}
@media (max-width:980px){.proc{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.proc{grid-template-columns:1fr}}
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2.4rem}
.tab{padding:.7rem 1.25rem;border:1px solid var(--line);border-radius:var(--r);background:none;
  font-size:.8125rem;font-weight:600;letter-spacing:.04em;cursor:pointer;
  transition:border-color .3s var(--ease),background-color .3s var(--ease),color .3s var(--ease)}
.tab:hover{border-color:var(--accent)}
.tab[aria-selected="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.ptable{border-top:1px solid var(--text)}
.ptable__r{display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.5fr) clamp(9.5rem,13vw,12.5rem);
  gap:1rem clamp(1rem,3vw,3rem);padding:1.5rem 0;border-bottom:1px solid var(--line-soft);
  align-items:baseline}
.ptable__r b{font-weight:600;font-size:1.0625rem;line-height:1.35}
.ptable__r p{font-size:.875rem;color:var(--text-2)}
.ptable__r i{font-style:normal;font-family:var(--f-display);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.05rem,.95rem + .6vw,1.5rem);color:var(--accent);
  line-height:1.05;justify-self:start;text-wrap:balance}
.ptable__note{margin-bottom:1.6rem;font-size:.9375rem;color:var(--text-2);max-width:62ch}
@media (max-width:860px){.ptable__r{grid-template-columns:minmax(0,1fr) clamp(8.5rem,26vw,11rem);gap:.55rem 1.4rem}.ptable__r p{grid-column:1/2}.ptable__r i{grid-row:1/3;align-self:start;justify-self:end;text-align:right}}
@media (max-width:520px){.ptable__r{grid-template-columns:1fr;gap:.4rem}.ptable__r p{grid-column:1}.ptable__r i{grid-row:auto;justify-self:start;text-align:left;margin-top:.3rem}}
.factors{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.factors li{background:var(--bg);padding:clamp(1.3rem,2.4vw,2rem)}
.factors b{display:block;font-family:var(--f-display);text-transform:uppercase;font-weight:700;
  font-size:1.25rem;line-height:1;margin-bottom:.7rem}
.factors p{font-size:.875rem;color:var(--text-2)}
@media (max-width:980px){.factors{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.factors{grid-template-columns:1fr}}
.btn[aria-busy="true"]{opacity:.65;pointer-events:none}
.pghead{padding-block:clamp(3rem,7vw,6rem) clamp(2rem,4vw,3.5rem);border-bottom:1px solid var(--line)}
.pghead h1{margin-bottom:1.4rem}
.crumbs{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.75rem;color:var(--text-3);
  margin-bottom:1.8rem;letter-spacing:.04em}
.crumbs a:hover{color:var(--accent)}
.crumbs [aria-current="page"]{color:inherit;cursor:default;pointer-events:none}
.crumbs [aria-current="page"]:hover{color:inherit}
.crumbs li+li::before{content:"→";margin-right:.45rem;opacity:.5}
.crumbs li{display:flex;align-items:center}
.grid-w{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,1.8rem)
  clamp(.8rem,1.6vw,1.4rem)}
.card{grid-column:span 4;display:flex;flex-direction:column;
  transition:opacity .45s var(--ease),transform .45s var(--ease)}
.card--w{grid-column:span 6}
.card--f{grid-column:span 12}
.card[hidden]{display:none}
.card.is-out{opacity:0;transform:scale(.97)}
.card .ph{aspect-ratio:4/3}
.card--w .ph{aspect-ratio:16/10}
.card--f .ph{aspect-ratio:21/9}
.card__m{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;
  font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.card h3{margin-top:.5rem;font-family:var(--f-display);text-transform:uppercase;font-weight:700;
  font-size:clamp(1.25rem,1rem + 1vw,1.9rem);line-height:1;transition:color .3s var(--ease)}
.card:hover h3{color:var(--accent)}
.card p{margin-top:.45rem;font-size:.875rem;color:var(--text-2)}
@media (max-width:900px){.card{grid-column:span 6}.card--w{grid-column:span 6}.card--f{grid-column:span 12}}
@media (max-width:600px){.card{grid-column:span 12}.card--w{grid-column:span 12}.card--f{grid-column:span 12}}
.empty{grid-column:1/-1;padding:clamp(3rem,8vw,6rem) 0;text-align:center;color:var(--text-3)}
.empty b{display:block;font-family:var(--f-display);text-transform:uppercase;font-weight:700;
  font-size:clamp(1.5rem,4vw,2.4rem);color:var(--text-2);margin-bottom:.6rem}
.case__hero{background:var(--field);color:var(--field-ink);padding-block:clamp(2.6rem,6vw,4.5rem)
  clamp(3rem,7vw,5.5rem)}
.case__hero .crumbs{color:rgba(244,237,230,.5)}
.case__hero .crumbs a:hover{color:var(--blush)}
.case__hero h1{margin-bottom:1rem}
.case__sub{font-family:var(--f-display);text-transform:uppercase;font-weight:400;
  font-size:clamp(1.1rem,1rem + 1vw,1.9rem);color:var(--blush);line-height:1.05}
.case__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:clamp(1.6rem,3vw,2.4rem)}
.case__meta li{border:1px solid rgba(244,237,230,.26);border-radius:var(--r);
  padding:.5rem 1rem;font-size:.8125rem;color:rgba(244,237,230,.82)}
.case__cover{margin-top:clamp(2rem,4vw,3rem)}
.case__cover .ph{aspect-ratio:3/2;border-radius:var(--r-lg);background:var(--ink-950)}
@media (max-width:700px){.case__cover .ph{aspect-ratio:4/3}}
.case__body{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.6rem,3vw,3rem)
  clamp(.8rem,1.6vw,1.4rem)}
.case__block{grid-column:2/7}
.case__block--r{grid-column:7/12}
.case__block h2{margin-bottom:1.1rem}
.case__block p{color:var(--text-2)}
.case__list{margin-top:1.2rem;border-top:1px solid var(--line)}
.case__list li{padding:.85rem 0;border-bottom:1px solid var(--line-soft);display:flex;gap:1rem;
  font-size:.9375rem}
.case__list li::before{content:"";width:14px;height:1px;background:var(--accent);margin-top:.72em;flex:none}
.case__res{grid-column:2/12;padding:clamp(1.8rem,4vw,3rem);background:var(--blush);
  border-radius:var(--r-lg)}
.case__res{background:var(--wine-deep)}
.case__res p{font-family:var(--f-display);text-transform:uppercase;font-weight:700;
  font-size:clamp(1.4rem,1rem + 2vw,2.9rem);line-height:1.02;color:var(--ink);max-width:22ch}
.case__res p{color:var(--field-ink)}
@media (max-width:860px){.case__block{grid-column:1/-1}.case__block--r{grid-column:1/-1}.case__res{grid-column:1/-1}}
.shots{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.8rem,1.6vw,1.4rem)}
.shots figure{grid-column:span 6;margin:0}
.shots figure:nth-child(6n+1){grid-column:span 12}
.shots figure:nth-child(6n+4){grid-column:span 4}
.shots figure:nth-child(6n+5){grid-column:span 8}
.shots .ph{aspect-ratio:4/3;cursor:zoom-in}
.shots figure:nth-child(6n+1) .ph{aspect-ratio:16/9}
@media (max-width:700px){.shots figure{grid-column:span 12}.shots figure:nth-child(6n+4){grid-column:span 12}.shots figure:nth-child(6n+5){grid-column:span 12}}
.chk{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem 1.6rem}
.chk li{display:flex;gap:.7rem;font-size:.9375rem;padding:.5rem 0;
  border-bottom:1px solid var(--line-soft);color:var(--text-2)}
.chk li::before{content:"";width:7px;height:7px;margin-top:.55em;flex:none;border-radius:50%;
  background:var(--accent)}
@media (max-width:900px){.chk{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.chk{grid-template-columns:1fr}}
.two{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.8rem,4vw,4rem);align-items:start}
.two--r{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
@media (max-width:860px){.two{grid-template-columns:1fr}.two--r{grid-template-columns:1fr}}
.pills{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.4rem}
.pills li{border:1px solid var(--line);border-radius:var(--r);padding:.5rem 1rem;
  font-size:.8125rem;color:var(--text-2)}
.rich h2{margin-top:clamp(2.4rem,5vw,3.6rem);margin-bottom:1rem}
.rich h2:first-child{margin-top:0}
.rich p{margin-bottom:1.1rem;color:var(--text-2)}
.rich ul{margin-bottom:1.4rem;display:grid;gap:.5rem}
.rich li{display:flex;gap:.8rem;color:var(--text-2)}
.rich li::before{content:"";width:14px;height:1px;background:var(--accent);margin-top:.72em;flex:none}
.rich a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.cta-band{background:var(--bg-2);border-block:1px solid var(--line)}
.cta-band__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:1.8rem;padding-block:clamp(2.6rem,5vw,4rem)}
.cta-band h2{max-width:18ch}
.link-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,1.6vw,1.4rem)}
.link-cards a{border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.3rem,2.4vw,2rem);
  display:flex;flex-direction:column;gap:.6rem;min-height:150px;justify-content:space-between;
  transition:border-color .4s var(--ease),transform .4s var(--ease),background-color .4s var(--ease)}
.link-cards a:hover{border-color:var(--accent);transform:translateY(-3px);background:var(--bg-2)}
.link-cards b{font-family:var(--f-display);text-transform:uppercase;font-weight:700;
  font-size:clamp(1.15rem,1rem + .7vw,1.55rem);line-height:1}
.link-cards span{font-size:.875rem;color:var(--text-2)}
@media (max-width:820px){.link-cards{grid-template-columns:1fr}}
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.posts a{background:var(--bg);padding:clamp(1.6rem,3vw,2.6rem);display:flex;flex-direction:column;
  gap:.9rem;min-height:250px;transition:background-color .4s var(--ease)}
.posts a:hover{background:var(--bg-2)}
.posts__m{font-size:.6875rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);
  display:flex;gap:1.2rem}
.posts h2,.posts h3{font-family:var(--f-display);text-transform:uppercase;font-weight:700;
  font-size:clamp(1.3rem,1rem + 1.2vw,2.1rem);line-height:1.02;transition:color .3s var(--ease)}
.posts a:hover h2,.posts a:hover h3{color:var(--accent)}
.posts p{font-size:.9375rem;color:var(--text-2);margin-top:auto}
@media (max-width:760px){.posts{grid-template-columns:1fr}}
.article{max-width:none}
.article__in{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.6rem,3vw,3rem)}
.article__body{grid-column:3/11}
@media (max-width:900px){.article__body{grid-column:1/-1}}
.article__lead{font-size:clamp(1.0625rem,1rem + .5vw,1.3rem);line-height:1.55;color:var(--text);
  font-weight:500;padding-bottom:1.8rem;margin-bottom:2rem;border-bottom:1px solid var(--line)}
.about__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  gap:clamp(1.8rem,4vw,4rem);align-items:center}
@media (max-width:860px){.about__hero{grid-template-columns:1fr}}
.skills{display:flex;flex-wrap:wrap;gap:.45rem}
.skills li{border:1px solid var(--line);border-radius:var(--r);padding:.6rem 1.1rem;
  font-size:.875rem;transition:border-color .3s var(--ease),color .3s var(--ease)}
.skills li:hover{border-color:var(--accent);color:var(--accent)}
.rule{height:1px;background:var(--line);border:0;margin:0}
.sechead{display:grid;gap:1.2rem;margin-bottom:clamp(2.2rem,4.5vw,3.6rem);max-width:52ch}
.sechead--wide{max-width:none}
.sechead p{color:var(--text-2);max-width:56ch}
.toplink{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;flex-wrap:wrap;
  margin-bottom:clamp(2.2rem,4.5vw,3.6rem)}
.toplink h2{max-width:20ch}
@media print{.btn{display:none!important}body{background:#fff;color:#000}}
.grid-mix .grid-w > .card:nth-child(1),.grid-mix .grid-w > .card:nth-child(12){grid-column:span 12}
.grid-mix .grid-w > .card:nth-child(1) .ph,.grid-mix .grid-w > .card:nth-child(12) .ph{aspect-ratio:21/9}
.grid-mix .grid-w > .card:nth-child(4),.grid-mix .grid-w > .card:nth-child(8){grid-column:span 6}
.grid-mix .grid-w > .card:nth-child(4) .ph,.grid-mix .grid-w > .card:nth-child(8) .ph{aspect-ratio:16/10}
@media (max-width:600px){.grid-mix .grid-w > .card:nth-child(n){grid-column:span 12}}
:is(.pagebody,.pagebody .sec>.wrap) > :is(h2,h3,h4,p,blockquote,table,figure,img,hr),:is(.pagebody,.pagebody .sec>.wrap) > :is(ul,ol):not([class]),:is(.pagebody,.pagebody .sec>.wrap) > ul.pills,:is(.pagebody,.pagebody .sec>.wrap) > ul.skills,:is(.pagebody,.pagebody .sec>.wrap) > ul.factors{
  width:min(46rem, calc(100% - var(--gut) * 2));margin-inline:auto}
:is(.pagebody,.pagebody .sec>.wrap) > :is(.grid-w,.shots,.link-cards,.ptable,[data-tabs]){
  width:min(calc(var(--wrap) - var(--gut) * 2), calc(100% - var(--gut) * 2));
  margin-inline:auto;margin-block:clamp(1.6rem,3vw,2.4rem)}
:is(.pagebody,.pagebody .sec>.wrap) > ul.factors{width:min(calc(var(--wrap) - var(--gut) * 2),
  calc(100% - var(--gut) * 2));margin-block:clamp(1.6rem,3vw,2.4rem)}
.pagebody [data-tabs] .tabs{margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.pagebody [data-tabs] .ptable__note{margin-bottom:1.6rem}
.pagebody [data-tabs] [data-pane]{margin-bottom:clamp(2rem,4vw,3rem)}
:is(.pagebody,.pagebody .sec>.wrap) > :is(h2,h3,h4){font-family:var(--f-display);text-transform:uppercase;
  font-weight:700;line-height:1.02;margin:clamp(2.4rem,5vw,3.6rem) auto 1rem}
:is(.pagebody,.pagebody .sec>.wrap) > h2{font-size:clamp(1.7rem,1.1rem + 2.4vw,3rem)}
:is(.pagebody,.pagebody .sec>.wrap) > h3{font-size:clamp(1.35rem,1.05rem + 1.3vw,2rem)}
:is(.pagebody,.pagebody .sec>.wrap) > p{margin-bottom:1.1rem;color:var(--text-2)}
:is(.pagebody,.pagebody .sec>.wrap) > :is(ul,ol):not([class]){margin-bottom:1.4rem;display:grid;gap:.5rem}
:is(.pagebody,.pagebody .sec>.wrap) > ul:not([class]) > li{display:flex;gap:.8rem;color:var(--text-2)}
:is(.pagebody,.pagebody .sec>.wrap) > ul:not([class]) > li::before{content:"";width:14px;height:1px;
  background:var(--accent);margin-top:.72em;flex:none}
:is(.pagebody,.pagebody .sec>.wrap) > ol:not([class]){counter-reset:pb}
:is(.pagebody,.pagebody .sec>.wrap) > ol:not([class]) > li{counter-increment:pb;display:flex;gap:.8rem;color:var(--text-2)}
:is(.pagebody,.pagebody .sec>.wrap) > ol:not([class]) > li::before{content:counter(pb) ".";color:var(--accent);
  font-weight:600;flex:none}
:is(.pagebody,.pagebody .sec>.wrap) > blockquote{border-left:2px solid var(--accent);padding-left:1.4rem;
  font-size:1.0625rem;color:var(--text)}
:is(.pagebody,.pagebody .sec>.wrap) > :first-child:not(section){margin-top:clamp(2rem,4vw,3rem)}
:is(.pagebody,.pagebody .sec>.wrap) > :last-child:not(section){margin-bottom:clamp(3rem,6vw,5rem)}
.pagebody :is(p,li,blockquote,td,dd) > a:not([class]){color:var(--accent);
  text-decoration:underline;text-underline-offset:3px}
.pagebody img:not([class]){border-radius:var(--r)}
.pagebody .sec > .wrap > :is(.grid-w,.shots,.link-cards,.ptable,[data-tabs],ul.factors,.posts){
  width:100%;margin-inline:0;margin-block:0}
.pagebody .sec > .wrap [data-pane]{margin-bottom:0}
.pagebody .sec > .wrap > :first-child{margin-top:0}
.pagebody .sec > .wrap > :last-child{margin-bottom:0}
.pagebody .sec > .wrap > .sechead{width:auto;margin-inline:0}
.pagebody .crumbs li > a{color:inherit;text-decoration:none}
.pagebody .case__hero .crumbs a:hover{color:var(--blush)}