/* ==========================================================================
   devGhostUa · base: reset, body, typography, layout primitives
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--dg-indigo);color:var(--dg-text);font-family:var(--dg-font);font-size:var(--dg-fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
svg{flex-shrink:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
::selection{background:var(--dg-signal);color:var(--dg-ink)}
:focus-visible{outline:3px solid var(--dg-signal);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{margin:0;font-weight:900;letter-spacing:-.02em;line-height:1.05;text-wrap:balance}
p{margin:0}
code,kbd,pre,samp{font-family:var(--dg-mono)}
hr{border:0;border-top:1px solid var(--dg-line);margin:var(--dg-s6) 0}
[hidden]{display:none!important}

/* ---- Layout primitives ---- */
.dg-wrap{max-width:var(--dg-wrap);margin-inline:auto;padding-inline:var(--dg-gutter)}
.dg-wrap--narrow{max-width:900px}
.dg-wrap--prose{max-width:760px}
.dg-sec{position:relative;padding-block:var(--dg-sec-y)}
.dg-sec--tight{padding-block:clamp(40px,6vw,64px)}
.dg-sec--flush-top{padding-top:0}
.dg-sec--clip{overflow:hidden}
.dg-bg--indigo{background:var(--dg-indigo)}
.dg-bg--surface{background:var(--dg-surface)}
.dg-bg--denim{background:var(--dg-denim)}
.dg-bg--deep{background:var(--dg-deep)}
.dg-bg--cotton{background:var(--dg-cotton);color:var(--dg-text-on-light)}
.dg-bg--signal{background:var(--dg-signal);color:var(--dg-ink)}

.dg-stack{display:flex;flex-direction:column;gap:var(--gap,var(--dg-s4))}
.dg-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap,var(--dg-s3))}
.dg-between{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--dg-s5);flex-wrap:wrap}
/* Адаптивна сітка: --min задає мінімальну ширину колонки */
.dg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,300px)),1fr));gap:var(--gap,var(--dg-s5))}
.dg-grid--start{align-items:start}
.dg-grid--center{align-items:center}
.dg-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,440px)),1fr));gap:var(--gap,var(--dg-s7));align-items:center}
.dg-span-2{grid-column:span 2;min-width:0}
.dg-mt-auto{margin-top:auto}
.dg-center{text-align:center;align-items:center}
.dg-rel{position:relative}
.dg-full{width:100%}

/* ---- Type ---- */
.dg-h1{font-size:var(--dg-fs-h1);line-height:.92;letter-spacing:-.045em}
.dg-h2{font-size:var(--dg-fs-h2);line-height:1;letter-spacing:-.03em}
.dg-h3{font-size:var(--dg-fs-h3);line-height:1.15;letter-spacing:-.015em}
.dg-lead{font-size:var(--dg-fs-lead);font-weight:600;line-height:1.5;color:var(--dg-text-2);max-width:56ch}
.dg-small{font-size:var(--dg-fs-small);line-height:1.5}
.dg-muted{color:var(--dg-muted)}
.dg-faint{color:var(--dg-faint)}
.dg-accent{color:var(--dg-signal)}
.dg-bg--cotton .dg-accent{color:var(--dg-signal-dark)}
.dg-bg--signal .dg-accent{color:var(--dg-cotton)}
.dg-mono{font-family:var(--dg-mono)}
.dg-label{font-family:var(--dg-mono);font-size:var(--dg-fs-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dg-signal)}
.dg-bg--cotton .dg-label{color:var(--dg-signal-dark)}
.dg-bg--signal .dg-label{color:var(--dg-ink)}
.dg-outline-num{font-weight:900;line-height:.8;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px var(--dg-signal)}
.dg-wordmark{font-weight:900;letter-spacing:-.03em;white-space:nowrap}
.dg-wordmark b{font-weight:inherit;color:var(--dg-signal)}
.dg-bg--cotton .dg-wordmark b{color:var(--dg-signal-dark)}
.dg-bg--signal .dg-wordmark b{color:inherit}

/* ---- Accessibility / visibility ---- */
.dg-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dg-skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--dg-signal);color:var(--dg-ink);font-weight:800;padding:10px 16px;border-radius:var(--dg-r-m)}
.dg-skip:focus{top:16px}
@media (max-width:860px){
  .dg-hide-m{display:none!important}
  .dg-span-2{grid-column:auto}
}
@media (min-width:861px){.dg-only-m{display:none!important}}
