/* ==========================================================================
   База: сброс, типографика, сетка страницы. Только токены из tokens.css.
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-body)/var(--lh-body) var(--font-sans);
  -webkit-font-smoothing:antialiased;overflow-wrap:break-word;font-kerning:normal}
img,svg,video{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-weight:500;text-wrap:balance}
p{text-wrap:pretty}
table{border-collapse:collapse}

/* ---------- фокус: видно на любом фоне, только с клавиатуры ---------- */
:focus{outline:none}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 6px var(--focus-halo);border-radius:4px}

/* ---------- акцент Playfair: одно слово в заголовке ----------
   Правила: кегль .94 от строки, Regular; не в заголовках из 1–2 слов;
   не на названиях (ДЗЧ, Dubai Rating, разделы, имена); не в тексте и на кнопках. */
em,.accent{font-family:var(--font-accent);font-style:italic;font-weight:400;font-size:calc(var(--accent-scale) * 1em);letter-spacing:-.005em}
.prose em{font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:normal} /* в тексте — обычный курсив TT Norms */

/* ---------- текстовые стили ---------- */
.t-display{font-size:var(--fs-display);line-height:var(--lh-tight);font-weight:500;letter-spacing:-.01em}
.t-h1{font-size:var(--fs-h1);line-height:1.1;font-weight:500;letter-spacing:-.01em}
.t-h2{font-size:var(--fs-h2);line-height:1.1;font-weight:500}
.t-h3{font-size:var(--fs-h3);line-height:var(--lh-head);font-weight:500}
.t-lead{font-size:var(--fs-lead);line-height:1.45;color:var(--muted)}
.t-small{font-size:var(--fs-small)}
.t-caption{font-size:var(--fs-caption);color:var(--muted)}
.label{font-size:var(--fs-label);line-height:1.3;letter-spacing:.07em;text-transform:uppercase;display:flex;align-items:center;gap:var(--s-2)}
.muted{color:var(--muted)}
.num{font-family:var(--font-accent);font-style:italic;font-weight:400;font-variant-numeric:lining-nums}
.tabular{font-variant-numeric:tabular-nums}

/* длинный текст: статьи, «О ДЗЧ», описания номинаций */
.prose{font-size:var(--fs-prose);line-height:var(--lh-prose);max-width:var(--measure);hyphens:auto;-webkit-hyphens:auto}
.prose>*+*{margin-top:1em}
.prose h2{font-size:clamp(22px,1vw + 18px,28px);line-height:1.2;margin-top:1.6em}
.prose>h2:first-child{margin-top:0}
.prose h3{font-size:var(--fs-h3);margin-top:1.4em}
.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{text-decoration-thickness:2px}
.prose ul{list-style:disc;padding-left:1.2em}
.prose ol{list-style:decimal;padding-left:1.4em}
.prose li+li{margin-top:.4em}
.prose blockquote{padding-left:var(--s-4);border-left:3px solid var(--c-lemon)}
.prose mark{background:var(--c-lemon);color:var(--c-ink);padding:0 .15em;border-radius:.15em}

/* ---------- сетка страницы ---------- */
.wrap{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.section{margin-top:var(--section-gap)}
.stack>*+*{margin-top:var(--s-4)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:var(--s-2);top:-100px;z-index:var(--z-dialog);background:var(--c-lemon);color:var(--c-ink);padding:var(--s-3) var(--s-4);border-radius:var(--r-btn);font-weight:500}
.skip:focus{top:var(--s-2)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
