:root .d-block { display:block; }
:root .d-flex { display:flex; }
:root .d-grid { display:grid; }

:root .pos-absolute { position:absolute; }
:root .pos-relative { position:relative; }
:root .pos-sticky { position:sticky; }

:root .inset-n18-n10 { inset:-18px -10px; }

:root .top-0 { top:0; }
:root .top-14pct { top:14%; }
:root .top-n12 { top:-12px; }

:root .left-50pct { left:50%; }

:root .z-1 { z-index:1; }
:root .z-30 { z-index:30; }

:root .flex-1 { flex:1; }

:root .flex-col { flex-direction:column; }

:root .flex-wrap { flex-wrap:wrap; }

:root .shrink-0 { flex-shrink:0; }

:root .items-baseline { align-items:baseline; }
:root .items-center { align-items:center; }
:root .items-start { align-items:flex-start; }

:root .self-start { align-self:flex-start; }

:root .justify-around { justify-content:space-around; }
:root .justify-between { justify-content:space-between; }
:root .justify-center { justify-content:center; }

:root .gap-10 { gap:10px; }
:root .gap-11 { gap:11px; }
:root .gap-12 { gap:12px; }
:root .gap-14 { gap:14px; }
:root .gap-16 { gap:16px; }
:root .gap-18 { gap:18px; }
:root .gap-20 { gap:20px; }
:root .gap-22 { gap:22px; }
:root .gap-24 { gap:24px; }
:root .gap-30 { gap:30px; }
:root .gap-4 { gap:4px; }
:root .gap-56 { gap:56px; }
:root .gap-6 { gap:6px; }
:root .gap-9 { gap:9px; }

:root .cols-2 { grid-template-columns:1fr 1fr; }
:root .cols-auto-240 { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
:root .cols-auto-280 { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
:root .cols-hero { grid-template-columns:1.05fr .95fr; }

:root .w-1 { width:1px; }
:root .w-100pct { width:100%; }
:root .w-13 { width:13px; }
:root .w-2 { width:2px; }
:root .w-20 { width:20px; }
:root .w-44 { width:44px; }
:root .w-48 { width:48px; }
:root .w-560 { width:560px; }
:root .w-78pct { width:78%; }

:root .min-w-0 { min-width:0; }

:root .max-w-100pct { max-width:100%; }
:root .max-w-1140 { max-width:1140px; }
:root .max-w-420 { max-width:420px; }
:root .max-w-440 { max-width:440px; }
:root .max-w-460 { max-width:460px; }
:root .max-w-480 { max-width:480px; }
:root .max-w-600 { max-width:600px; }
:root .max-w-680 { max-width:680px; }
:root .max-w-760 { max-width:760px; }
:root .max-w-960 { max-width:960px; }

:root .h-13 { height:13px; }
:root .h-132 { height:132px; }
:root .h-20 { height:20px; }
:root .h-360 { height:360px; }
:root .h-44 { height:44px; }
:root .h-48 { height:48px; }
:root .h-66 { height:66px; }

:root .min-h-100vh { min-height:100vh; }

:root .max-h-200 { max-height:200px; }

:root .m-0 { margin:0; }
:root .m-0-auto { margin:0 auto; }

:root .mt-1 { margin-top:1px; }
:root .mt-12 { margin-top:12px; }
:root .mt-14 { margin-top:14px; }
:root .mt-16 { margin-top:16px; }
:root .mt-18 { margin-top:18px; }
:root .mt-20 { margin-top:20px; }
:root .mt-3 { margin-top:3px; }
:root .mt-4 { margin-top:4px; }
:root .mt-5 { margin-top:5px; }
:root .mt-6 { margin-top:6px; }
:root .mt-7 { margin-top:7px; }

:root .mb-10 { margin-bottom:10px; }
:root .mb-12 { margin-bottom:12px; }
:root .mb-14 { margin-bottom:14px; }
:root .mb-16 { margin-bottom:16px; }
:root .mb-18 { margin-bottom:18px; }
:root .mb-20 { margin-bottom:20px; }
:root .mb-22 { margin-bottom:22px; }
:root .mb-24 { margin-bottom:24px; }
:root .mb-26 { margin-bottom:26px; }
:root .mb-3 { margin-bottom:3px; }
:root .mb-30 { margin-bottom:30px; }
:root .mb-32 { margin-bottom:32px; }
:root .mb-34 { margin-bottom:34px; }
:root .mb-4 { margin-bottom:4px; }
:root .mb-48 { margin-bottom:48px; }
:root .mb-5 { margin-bottom:5px; }
:root .mb-6 { margin-bottom:6px; }
:root .mb-7 { margin-bottom:7px; }
:root .mb-8 { margin-bottom:8px; }
:root .mb-9 { margin-bottom:9px; }

:root .ml-auto { margin-left:auto; }

:root .p-0-24 { padding:0 24px; }
:root .p-10-12 { padding:10px 12px; }
:root .p-12-14 { padding:12px 14px; }
:root .p-12-16 { padding:12px 16px; }
:root .p-14 { padding:14px; }
:root .p-24 { padding:24px; }
:root .p-26-24 { padding:26px 24px; }
:root .p-28 { padding:28px; }
:root .p-36-24 { padding:36px 24px; }
:root .p-36-32 { padding:36px 32px; }
:root .p-4 { padding:4px; }
:root .p-4-14 { padding:4px 14px; }
:root .p-78-24-64 { padding:78px 24px 64px; }
:root .p-80-24 { padding:80px 24px; }
:root .p-84-24 { padding:84px 24px; }
:root .p-9 { padding:9px; }

:root .pt-6 { padding-top:6px; }

:root .pb-32 { padding-bottom:32px; }

:root .bg-accent { background:var(--accent); }
:root .bg-accent-soft { background:var(--accent-soft); }
:root .bg-bad-soft { background:var(--bad-soft); }
:root .bg-glass { background:rgba(246,241,233,.82); }
:root .bg-good { background:var(--good); }
:root .bg-line { background:var(--line); }
:root .bg-surface { background:var(--surface); }
:root .bg-surface-2 { background:var(--surface-2); }
:root .bg-vk { background:var(--vk); }

:root .bd-2-line { border:2px solid var(--line); }
:root .bd-none { border:none; }

:root .bd-t-line { border-top:1px solid var(--line); }

:root .bd-b-line { border-bottom:1px solid var(--line); }

:root .bdc-accent { border-color:var(--accent); }

:root .r-6 { border-radius:6px; }
:root .r-8 { border-radius:8px; }
:root .r-base { border-radius:var(--radius); }
:root .r-blob-b { border-radius:48% 52% 56% 44% / 50% 48% 52% 50%; }
:root .r-inner { border-radius:calc(var(--radius) - 4px); }
:root .r-pill { border-radius:var(--radius-pill); }
:root .r-sm { border-radius:var(--radius-sm); }

:root .shadow-lg { box-shadow:var(--shadow-lg); }

:root .backdrop-blur { backdrop-filter:blur(12px); }

:root .c-accent { color:var(--accent); }
:root .c-bad { color:var(--bad); }
:root .c-good { color:var(--good); }
:root .c-ink-2 { color:var(--ink-2); }
:root .c-ink-3 { color:var(--ink-3); }
:root .c-on-accent { color:var(--on-accent); }
:root .c-warn { color:var(--warn); }
:root .c-white { color:#fff; }

:root .ff-inherit { font-family:inherit; }

:root .fs-11-5 { font-size:11.5px; }
:root .fs-12 { font-size:12px; }
:root .fs-12-5 { font-size:12.5px; }
:root .fs-13 { font-size:13px; }
:root .fs-13-5 { font-size:13.5px; }
:root .fs-14 { font-size:14px; }
:root .fs-14-5 { font-size:14.5px; }
:root .fs-15 { font-size:15px; }
:root .fs-15-5 { font-size:15.5px; }
:root .fs-16 { font-size:16px; }
:root .fs-17 { font-size:17px; }
:root .fs-18 { font-size:18px; }
:root .fs-19 { font-size:19px; }
:root .fs-23 { font-size:23px; }
:root .fs-25 { font-size:25px; }
:root .fs-26 { font-size:26px; }
:root .fs-30 { font-size:30px; }
:root .fs-34 { font-size:34px; }
:root .fs-fluid-lg { font-size:clamp(28px,4vw,42px); }
:root .fs-fluid-md { font-size:clamp(26px,4vw,38px); }
:root .fs-fluid-xl { font-size:clamp(38px,5vw,60px); }

:root .fw-500 { font-weight:500; }
:root .fw-600 { font-weight:600; }
:root .fw-700 { font-weight:700; }
:root .fw-800 { font-weight:800; }

:root .lh-0-9 { line-height:.9; }
:root .lh-1-04 { line-height:1.04; }
:root .lh-1-5 { line-height:1.5; }
:root .lh-1-55 { line-height:1.55; }
:root .lh-1-6 { line-height:1.6; }

:root .text-center { text-align:center; }

:root .td-none { text-decoration:none; }

:root .ws-nowrap { white-space:nowrap; }

:root .fit-contain { object-fit:contain; }
:root .fit-cover { object-fit:cover; }

:root .ov-hidden { overflow:hidden; }

:root .op-50 { opacity:.5; }
:root .op-55 { opacity:.55; }

:root .cursor-default { cursor:default; }
:root .cursor-pointer { cursor:pointer; }

:root .pe-none { pointer-events:none; }

:root .tf-center-x { transform:translateX(-50%); }

:root .tr-all { transition:all .15s; }
:root .tr-colors { transition:background .15s,color .15s; }
:root .tr-fade { transition:opacity .15s,box-shadow .15s; }
