@font-face {
    font-family: 'Sora';
    src: url('/assets/fonts/sora-v12-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Sora';
    src: url('/assets/fonts/sora-v12-latin-800.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('/assets/fonts/inter-v13-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('/assets/fonts/inter-v13-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

:root {
    --dg-brand-deep: #5C0007;
    --dg-brand-main: #990F06;
    --dg-brand-hot: #D23C0C;
    --dg-brand-sand: #EDD8B6;
    --dg-brand-ivory: #FAF3E8;

    --dg-bg-page: var(--dg-brand-ivory);
    --dg-bg-card: #FFFFFF;
    --dg-bg-surface: #FDF7EF;

    --dg-ink-strong: #3A0005;
    --dg-ink-main: var(--dg-brand-deep);
    --dg-ink-muted: #7B1510;
    --dg-ink-subtle: #A3493E;

    --dg-line-soft: rgba(237, 216, 182, 0.36);
    --dg-line-mid: rgba(153, 15, 6, 0.14);

    --dg-state-focus: rgba(210, 60, 12, 0.24);
    --dg-state-hover-fill: rgba(210, 60, 12, 0.07);
    --dg-state-overlay: rgba(58, 0, 5, 0.92);

    --ff-head: 'Sora', system-ui, sans-serif;
    --ff-body: 'Inter', -apple-system, sans-serif;

    --fw-reg: 400;
    --fw-semi: 600;
    --fw-bd: 700;
    --fw-xbd: 800;

    --fz-h1: clamp(2rem, 5vw, 3.875rem);
    --fz-h2: clamp(1.5rem, 3.8vw, 2.625rem);
    --fz-h3: clamp(1.25rem, 2.7vw, 1.9375rem);
    --fz-h4: clamp(1.0625rem, 2.1vw, 1.4375rem);
    --fz-h5: clamp(0.9375rem, 1.7vw, 1.1875rem);
    --fz-h6: clamp(0.875rem, 1.4vw, 1rem);
    --fz-body: 1rem;
    --fz-sm: 0.875rem;
    --fz-xs: 0.8125rem;
}

*, *::before, *::after {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
    .dg-btn:hover { transform: none; }
}

body {
    background-color: var(--dg-bg-page);
    color: var(--dg-ink-main);
    font-family: var(--ff-body);
    font-size: var(--fz-body);
    font-weight: var(--fw-reg);
    line-height: 1.6;
    min-height: 100vh;
}

h1 { font-family: var(--ff-head); font-size: var(--fz-h1); font-weight: var(--fw-xbd); line-height: 1.08; letter-spacing: -0.028em; color: var(--dg-ink-strong); margin-bottom: 1.75rem; }
h2 { font-family: var(--ff-head); font-size: var(--fz-h2); font-weight: var(--fw-bd); line-height: 1.17; letter-spacing: -0.02em; color: var(--dg-ink-strong); margin-bottom: 1.5rem; }
h3 { font-family: var(--ff-head); font-size: var(--fz-h3); font-weight: var(--fw-bd); line-height: 1.26; letter-spacing: -0.014em; color: var(--dg-ink-main); margin-bottom: 1.25rem; }
h4 { font-family: var(--ff-head); font-size: var(--fz-h4); font-weight: var(--fw-semi); line-height: 1.34; letter-spacing: -0.008em; color: var(--dg-ink-main); margin-bottom: 1rem; }
h5 { font-family: var(--ff-body); font-size: var(--fz-h5); font-weight: var(--fw-semi); line-height: 1.42; letter-spacing: 0.01em; color: var(--dg-ink-muted); margin-bottom: 0.875rem; text-transform: uppercase; }
h6 { font-family: var(--ff-body); font-size: var(--fz-h6); font-weight: var(--fw-semi); line-height: 1.5; letter-spacing: 0.04em; color: var(--dg-ink-subtle); margin-bottom: 0.75rem; text-transform: uppercase; }
p { line-height: 1.7; margin-bottom: 1rem; }
small { font-size: var(--fz-sm); line-height: 1.56; }

img, picture, video { display: block; height: auto; max-width: 100%; }
a { color: inherit; transition: color 0.2s ease; }
a:not([class]) { text-decoration: underline; text-underline-offset: 3px; }
a:not([class]):hover { color: var(--dg-brand-hot); }
nav a, .dg-btn { text-decoration: none; }

.dg-wrap {
    margin: 0 auto;
    max-width: 1300px;
    padding: 0 clamp(1rem, 4vw, 1.875rem);
    width: 100%;
}

.dg-ico { display: inline-block; flex-shrink: 0; height: 20px; object-fit: contain; vertical-align: -0.15em; width: 20px; }
.dg-ico--xs { height: 14px; width: 14px; }
.dg-ico--sm { height: 18px; width: 18px; }
.dg-ico--md { height: 24px; width: 24px; }
.dg-ico--lg { height: 32px; width: 32px; }
.dg-ico--xl { height: 44px; width: 44px; }

.dg-ico--hot { filter: brightness(0) saturate(100%) invert(30%) sepia(72%) saturate(1600%) hue-rotate(10deg) brightness(96%) contrast(98%); }
.dg-ico--brand { filter: brightness(0) saturate(100%) invert(12%) sepia(80%) saturate(2400%) hue-rotate(348deg) brightness(84%) contrast(96%); }
.dg-ico--sand { filter: brightness(0) saturate(100%) invert(88%) sepia(18%) saturate(500%) hue-rotate(5deg) brightness(102%) contrast(90%); }
.dg-ico--white { filter: brightness(0) invert(1); }
.dg-ico--dark { filter: brightness(0) saturate(100%); }

.dg-btn {
    align-items: center;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    display: inline-flex;
    font-family: var(--ff-head);
    font-size: 14px;
    font-weight: var(--fw-semi);
    gap: 0.4rem;
    height: 48px;
    justify-content: center;
    letter-spacing: 0.3px;
    padding: 0 22px;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.dg-btn--primary {
    background: var(--dg-brand-deep);
    box-shadow: 0 2px 8px rgba(92, 0, 7, 0.22);
    color: #FFFFFF;
}
.dg-btn--primary:hover {
    background: var(--dg-brand-main);
    box-shadow: 0 4px 14px rgba(92, 0, 7, 0.3);
}
.dg-btn--primary:active {
    background: var(--dg-ink-strong);
    box-shadow: 0 1px 5px rgba(92, 0, 7, 0.18);
}

.dg-btn--accent {
    background: var(--dg-brand-hot);
    box-shadow: 0 2px 8px rgba(210, 60, 12, 0.24);
    color: #FFFFFF;
}
.dg-btn--accent:hover {
    background: #C4370B;
    box-shadow: 0 4px 14px rgba(210, 60, 12, 0.34);
}
.dg-btn--accent:active {
    background: #B03209;
    box-shadow: 0 1px 5px rgba(210, 60, 12, 0.2);
}

.dg-btn--outline {
    background: var(--dg-bg-surface);
    border: 1.5px solid var(--dg-line-mid);
    color: var(--dg-ink-main);
}
.dg-btn--outline:hover {
    background: var(--dg-state-hover-fill);
    border-color: var(--dg-brand-hot);
    color: var(--dg-ink-strong);
}
.dg-btn--outline:active {
    background: rgba(210, 60, 12, 0.1);
    border-color: var(--dg-brand-main);
}

.dg-btn--cta { font-size: 15px; height: 52px; letter-spacing: 0.4px; padding: 0 28px; }
.dg-btn--full { width: 100%; }
.dg-btn--sm { font-size: 13px; height: 40px; letter-spacing: 0.2px; padding: 0 16px; }
.dg-btn--icon { padding: 0; width: 48px; }

.dg-btn:focus-visible {
    box-shadow: 0 0 0 4px var(--dg-state-focus);
    outline: none;
}
a:focus-visible {
    border-radius: 3px;
    outline: 2px solid var(--dg-brand-main);
    outline-offset: 2px;
}


.dg-header {
    position: sticky;
    top: 0;
    z-index: 900;
    width: 100%;
    filter: drop-shadow(0 4px 24px rgba(58, 0, 5, 0.13));
}

.dg-header__bar {
    background: linear-gradient(90deg, #2E0003 0%, #3A0005 40%, #4A0206 100%);
    padding: 11px 0;
    box-shadow: inset 0 -1px 0 rgba(237, 216, 182, 0.08), inset 0 1px 0 rgba(255,255,255,0.04);
}

.dg-header__bar-inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.dg-header__bar-msg,
.dg-header__bar-note {
    font-family: var(--ff-body);
    font-size: 13px;
    font-weight: var(--fw-semi);
    color: rgba(253, 243, 232, 0.82);
    letter-spacing: 0.01em;
    line-height: 1.4;
}

.dg-header__bar-link {
    font-family: var(--ff-body);
    font-size: 13px;
    font-weight: var(--fw-semi);
    color: var(--dg-brand-sand);
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: color 0.18s ease, text-shadow 0.18s ease;
}

.dg-header__bar-link:hover {
    color: #FDFAF5;
    text-shadow: 0 0 14px rgba(237, 216, 182, 0.4);
}

.dg-header__bar-phone {
    font-family: var(--ff-body);
    font-size: 13px;
    font-weight: var(--fw-semi);
    color: rgba(253, 243, 232, 0.82);
    letter-spacing: 0.01em;
}

.dg-header__bar-phone a {
    color: var(--dg-brand-sand);
    text-decoration: none;
    font-weight: var(--fw-semi);
    transition: color 0.18s ease;
}

.dg-header__bar-phone a:hover { color: #FDFAF5; }

.dg-header__bar-dot {
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(237, 216, 182, 0.55) 0%, rgba(237, 216, 182, 0.2) 100%);
    flex-shrink: 0;
    box-shadow: 0 0 4px rgba(237, 216, 182, 0.18);
}

.dg-header__main {
    background: linear-gradient(180deg, rgba(253, 247, 239, 0.97) 0%, rgba(250, 243, 232, 0.96) 100%);
    border-bottom: 1px solid rgba(237, 216, 182, 0.5);
    box-shadow: 0 2px 12px rgba(58, 0, 5, 0.06), 0 1px 3px rgba(58, 0, 5, 0.04);
    transition: background 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
    padding: 0;
}

.dg-header__main-inner {
    display: flex;
    align-items: center;
    height: 68px;
    gap: 0;
    transition: height 0.28s ease;
}

.dg-header--scrolled .dg-header__main {
    background: linear-gradient(180deg, rgba(253, 247, 239, 0.98) 0%, rgba(250, 243, 232, 0.98) 100%);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 4px 24px rgba(58, 0, 5, 0.1), 0 1px 4px rgba(58, 0, 5, 0.06);
    border-bottom-color: rgba(153, 15, 6, 0.16);
}

.dg-header--scrolled .dg-header__main-inner { height: 58px; }

.dg-header__brand {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex-shrink: 0;
    margin-right: auto;
}

.dg-header__brand-logo {
    height: 36px;
    width: auto;
    display: block;
    transition: height 0.28s ease;
    filter: drop-shadow(0 2px 6px rgba(92, 0, 7, 0.18));
}

.dg-header--scrolled .dg-header__brand-logo { height: 30px; }

.dg-header__brand-badge {
    font-family: var(--ff-body);
    font-size: 10.5px;
    font-weight: var(--fw-semi);
    letter-spacing: 0.07em;
    color: var(--dg-ink-muted);
    background: linear-gradient(135deg, var(--dg-brand-sand) 0%, #E5CC9E 100%);
    border-radius: 20px;
    padding: 3px 9px;
    line-height: 1.5;
    white-space: nowrap;
    box-shadow: 0 1px 4px rgba(92, 0, 7, 0.12), inset 0 1px 0 rgba(255,255,255,0.4);
}

.dg-header__nav {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.dg-header__nav-list {
    display: flex;
    align-items: center;
    gap: 2px;
    list-style: none;
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(237, 216, 182, 0.6);
    border-radius: 14px;
    padding: 4px;
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.8), 0 1px 4px rgba(92, 0, 7, 0.06);
}

.dg-header__nav-link {
    font-family: var(--ff-body);
    font-size: 14px;
    font-weight: var(--fw-semi);
    color: var(--dg-ink-muted);
    text-decoration: none;
    padding: 7px 15px;
    border-radius: 10px;
    letter-spacing: 0.01em;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
    white-space: nowrap;
    line-height: 1;
}

.dg-header__nav-link:hover {
    background-color: rgba(92, 0, 7, 0.07);
    color: var(--dg-brand-deep);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}

.dg-header__nav-link--primary {
    color: var(--dg-brand-deep);
    font-weight: var(--fw-bd);
}

.dg-header__nav-link--primary:hover {
    background: linear-gradient(135deg, rgba(92, 0, 7, 0.09) 0%, rgba(153, 15, 6, 0.07) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7), 0 1px 3px rgba(92, 0, 7, 0.08);
}

.dg-header__nav-link.active {
    background: linear-gradient(135deg, rgba(92, 0, 7, 0.1) 0%, rgba(153, 15, 6, 0.07) 100%);
    color: var(--dg-brand-deep);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.dg-header__end {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.dg-header__chip {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: var(--ff-body);
    font-size: 11.5px;
    font-weight: var(--fw-semi);
    color: var(--dg-ink-muted);
    letter-spacing: 0.02em;
    background: linear-gradient(135deg, rgba(255,255,255,0.8) 0%, rgba(253,247,239,0.9) 100%);
    border: 1px solid rgba(237, 216, 182, 0.6);
    border-radius: 20px;
    padding: 5px 12px 5px 9px;
    white-space: nowrap;
    box-shadow: 0 1px 4px rgba(92, 0, 7, 0.07), inset 0 1px 0 rgba(255,255,255,0.7);
}

.dg-header__burger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(237, 216, 182, 0.7);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(255,255,255,0.85) 0%, rgba(253,247,239,0.9) 100%);
    cursor: pointer;
    transition: background 0.18s ease, box-shadow 0.18s ease;
    padding: 0;
    box-shadow: 0 1px 4px rgba(92, 0, 7, 0.08), inset 0 1px 0 rgba(255,255,255,0.7);
}

.dg-header__burger:hover {
    background: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(253,247,239,1) 100%);
    box-shadow: 0 2px 8px rgba(92, 0, 7, 0.12), inset 0 1px 0 rgba(255,255,255,0.8);
}


.dg-mobile-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background-color: rgba(58, 0, 5, 0.52);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.28s ease;
}

.dg-mobile-overlay--visible {
    display: block;
    opacity: 1;
}

.dg-mobile-sheet {
    position: fixed;
    top: 12px;
    right: 12px;
    bottom: 12px;
    width: min(340px, calc(100vw - 24px));
    z-index: 1001;
    background: linear-gradient(160deg, #FDFAF5 0%, var(--dg-brand-ivory) 100%);
    border-radius: 22px;
    box-shadow: 0 8px 48px rgba(58, 0, 5, 0.22), 0 2px 12px rgba(58, 0, 5, 0.12), inset 0 1px 0 rgba(255,255,255,0.7);
    border: 1px solid rgba(237, 216, 182, 0.5);
    padding: 20px 18px 24px;
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow-y: auto;
    transform: translateX(calc(100% + 24px));
    transition: transform 0.34s cubic-bezier(0.4, 0, 0.2, 1);
}

.dg-mobile-sheet--open { transform: translateX(0); }

.dg-mobile-sheet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.dg-mobile-sheet__logo { display: block; text-decoration: none; }

.dg-mobile-sheet__logo-img {
    height: 28px;
    width: auto;
}

.dg-mobile-sheet__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(237, 216, 182, 0.7);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(253,247,239,0.95) 100%);
    cursor: pointer;
    padding: 0;
    box-shadow: 0 1px 4px rgba(92, 0, 7, 0.08);
    transition: background 0.18s ease;
}

.dg-mobile-sheet__close:hover {
    background: linear-gradient(135deg, #FFFFFF 0%, rgba(253,247,239,1) 100%);
}

.dg-mobile-sheet__meta {
    font-family: var(--ff-body);
    font-size: 10.5px;
    font-weight: var(--fw-semi);
    color: var(--dg-ink-subtle);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 14px;
    line-height: 1.4;
}

.dg-mobile-sheet__nav {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}

.dg-mobile-sheet__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(253,247,239,0.7) 100%);
    border: 1px solid rgba(237, 216, 182, 0.55);
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
    box-shadow: 0 1px 4px rgba(92, 0, 7, 0.05), inset 0 1px 0 rgba(255,255,255,0.6);
}

.dg-mobile-sheet__link:hover {
    background: linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(253,247,239,0.9) 100%);
    border-color: rgba(153, 15, 6, 0.18);
    box-shadow: 0 2px 10px rgba(92, 0, 7, 0.09), inset 0 1px 0 rgba(255,255,255,0.7);
}

.dg-mobile-sheet__link--main {
    border-color: rgba(92, 0, 7, 0.14);
    background: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(250,243,232,0.85) 100%);
    box-shadow: 0 2px 8px rgba(92, 0, 7, 0.08), inset 0 1px 0 rgba(255,255,255,0.7);
}

.dg-mobile-sheet__link-inner {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dg-mobile-sheet__link-title {
    font-family: var(--ff-head);
    font-size: 15px;
    font-weight: var(--fw-semi);
    color: var(--dg-ink-main);
    line-height: 1.3;
}

.dg-mobile-sheet__link--main .dg-mobile-sheet__link-title {
    color: var(--dg-brand-deep);
    font-weight: var(--fw-bd);
}

.dg-mobile-sheet__link-sub {
    font-family: var(--ff-body);
    font-size: 12px;
    font-weight: var(--fw-reg);
    color: var(--dg-ink-subtle);
    line-height: 1.3;
}

.dg-mobile-sheet__help {
    margin-top: 16px;
    padding: 16px 16px;
    background: linear-gradient(135deg, #2E0003 0%, #3A0005 60%, #4A0206 100%);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    box-shadow: 0 4px 16px rgba(58, 0, 5, 0.2), inset 0 1px 0 rgba(255,255,255,0.06);
}

.dg-mobile-sheet__help-label {
    font-family: var(--ff-body);
    font-size: 10px;
    font-weight: var(--fw-semi);
    color: rgba(237, 216, 182, 0.55);
    letter-spacing: 0.07em;
    text-transform: uppercase;
    margin-bottom: 3px;
    line-height: 1.4;
}

.dg-mobile-sheet__help-link,
.dg-mobile-sheet__help-phone {
    font-family: var(--ff-body);
    font-size: 13.5px;
    font-weight: var(--fw-semi);
    color: var(--dg-brand-sand);
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.18s ease;
}

.dg-mobile-sheet__help-link:hover,
.dg-mobile-sheet__help-phone:hover { color: #FDFAF5; }


.dg-agegate {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1100;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.dg-agegate--visible { display: flex; }

.dg-agegate__overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1099;
    background-color: var(--dg-state-overlay);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.dg-agegate__overlay--visible { display: block; }

.dg-agegate__box {
    background: linear-gradient(160deg, #FFFFFF 0%, var(--dg-bg-surface) 100%);
    border-radius: 22px;
    padding: clamp(28px, 6vw, 44px);
    max-width: 480px;
    width: 100%;
    box-shadow: 0 20px 70px rgba(58, 0, 5, 0.26), 0 4px 16px rgba(58, 0, 5, 0.1), inset 0 1px 0 rgba(255,255,255,0.8);
    border: 1px solid rgba(237, 216, 182, 0.4);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
}

.dg-agegate__logo {
    height: 38px;
    width: auto;
    margin-bottom: 22px;
    filter: drop-shadow(0 2px 6px rgba(92, 0, 7, 0.16));
}

.dg-agegate__title {
    font-size: clamp(1.25rem, 3vw, 1.625rem);
    margin-bottom: 14px;
}

.dg-agegate__text {
    font-size: var(--fz-sm);
    color: var(--dg-ink-muted);
    line-height: 1.65;
    margin-bottom: 26px;
}

.dg-agegate__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}


.dg-cookie {
    display: none;
    position: fixed;
    bottom: 18px;
    right: 18px;
    z-index: 1050;
    width: min(380px, calc(100vw - 36px));
    background: linear-gradient(160deg, #FFFFFF 0%, var(--dg-bg-surface) 100%);
    border-radius: 18px;
    box-shadow: 0 8px 36px rgba(58, 0, 5, 0.14), 0 2px 8px rgba(58, 0, 5, 0.07), inset 0 1px 0 rgba(255,255,255,0.8);
    border: 1px solid rgba(237, 216, 182, 0.5);
    padding: 18px 18px 16px;
}

.dg-cookie--visible { display: block; }

.dg-cookie__inner { display: flex; flex-direction: column; gap: 12px; }

.dg-cookie__text {
    font-size: var(--fz-sm);
    color: var(--dg-ink-muted);
    line-height: 1.6;
    margin: 0;
}

.dg-cookie__actions {
    display: flex;
    gap: 8px;
}


@media (max-width: 900px) {
    .dg-header__nav { display: none; }
    .dg-header__chip { display: none; }
    .dg-header__burger { display: flex; }
}

@media (max-width: 480px) {
    .dg-header__bar-inner { gap: 6px 10px; }
    .dg-header__bar-msg { display: none; }
}

.dg-intro {
    position: relative;
    overflow: hidden;
    min-height: 72vh;
    display: flex;
    flex-direction: column;
    background-color: var(--dg-bg-page);
}

.dg-intro__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.dg-intro__bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: blur(3px) saturate(1.1);
    transform: scale(1.08);
    opacity: 0.55;
    animation: dg-bg-breathe 20s ease-in-out infinite alternate;
    will-change: transform, opacity;
}

@keyframes dg-bg-breathe {
    0%   { transform: scale(1.08) translate(0, 0);      opacity: 0.52; }
    40%  { transform: scale(1.13) translate(-18px, 10px); opacity: 0.6;  }
    70%  { transform: scale(1.1)  translate(12px, -8px);  opacity: 0.54; }
    100% { transform: scale(1.15) translate(-10px, 16px); opacity: 0.62; }
}

.dg-intro__inner {
    position: relative;
    z-index: 1;
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 48px;
    align-items: center;
    padding: clamp(72px, 11vw, 120px) 0 clamp(56px, 9vw, 96px);
}

.dg-intro__left {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.dg-intro__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--ff-body);
    font-size: 11px;
    font-weight: var(--fw-semi);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--dg-ink-subtle);
    margin-bottom: 24px;
}

.dg-intro__tag-line {
    display: inline-block;
    width: 24px;
    height: 1.5px;
    background: linear-gradient(90deg, var(--dg-brand-main), transparent);
    flex-shrink: 0;
}

.dg-intro__tag-dot {
    display: inline-block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--dg-brand-sand);
    opacity: 0.8;
    flex-shrink: 0;
}

.dg-intro__title {
    font-family: var(--ff-head);
    font-size: clamp(1.875rem, 3.6vw, 2.875rem);
    font-weight: var(--fw-xbd);
    line-height: 1.11;
    letter-spacing: -0.026em;
    color: var(--dg-ink-strong);
    margin-bottom: 18px;
}

.dg-intro__title-em {
    font-style: normal;
    color: var(--dg-brand-main);
}

.dg-intro__desc {
    font-family: var(--ff-body);
    font-size: 15px;
    font-weight: var(--fw-reg);
    color: var(--dg-ink-muted);
    line-height: 1.68;
    max-width: 460px;
    margin-bottom: 36px;
}

.dg-intro__trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.dg-intro__trust-card {
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(237, 216, 182, 0.7);
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    box-shadow: 0 2px 10px rgba(92, 0, 7, 0.05), inset 0 1px 0 rgba(255,255,255,0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: box-shadow 0.2s ease, background 0.2s ease;
}

.dg-intro__trust-card:hover {
    background: rgba(255, 255, 255, 0.75);
    box-shadow: 0 4px 18px rgba(92, 0, 7, 0.09), inset 0 1px 0 rgba(255,255,255,0.8);
}

.dg-intro__trust-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: linear-gradient(135deg, var(--dg-brand-deep) 0%, var(--dg-brand-main) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 10px rgba(92, 0, 7, 0.28);
}

.dg-intro__trust-label {
    font-family: var(--ff-head);
    font-size: 13px;
    font-weight: var(--fw-semi);
    color: var(--dg-ink-main);
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.dg-intro__trust-note {
    font-family: var(--ff-body);
    font-size: 11.5px;
    font-weight: var(--fw-reg);
    color: var(--dg-ink-subtle);
    line-height: 1.3;
}

.dg-intro__right {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 420px;
}

.dg-intro__deco {
    position: relative;
    width: 100%;
    height: 100%;
}

.dg-intro__deco-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    animation: dg-deco-float 9s ease-in-out infinite alternate;
    will-change: transform;
    filter: drop-shadow(0 24px 48px rgba(92, 0, 7, 0.2));
}

@keyframes dg-deco-float {
    0%   { transform: translateY(0)    rotate(0deg)   scale(1); }
    50%  { transform: translateY(-18px) rotate(1.5deg) scale(1.02); }
    100% { transform: translateY(8px)   rotate(-1deg)  scale(0.99); }
}

.dg-intro__deco-glow {
    position: absolute;
    width: 60%;
    height: 60%;
    top: 20%;
    left: 20%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(210, 60, 12, 0.18) 0%, transparent 70%);
    animation: dg-glow-pulse 6s ease-in-out infinite alternate;
    pointer-events: none;
}

@keyframes dg-glow-pulse {
    0%   { opacity: 0.6; transform: scale(1); }
    100% { opacity: 1;   transform: scale(1.2); }
}

.dg-intro__scroll {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding-bottom: 32px;
    cursor: pointer;
    text-decoration: none;
}

.dg-intro__scroll-label {
    font-family: var(--ff-body);
    font-size: 11.5px;
    font-weight: var(--fw-semi);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.dg-intro__scroll-arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    animation: dg-arrow-bounce 2s ease-in-out infinite;
    filter: brightness(0) saturate(100%) invert(12%) sepia(80%) saturate(2400%) hue-rotate(348deg) brightness(65%) contrast(96%);
}

@keyframes dg-arrow-bounce {
    0%, 100% { transform: translateY(0); opacity: 1; }
    50%       { transform: translateY(6px); opacity: 0.6; }
}


@media (max-width: 960px) {
    .dg-intro__inner {
        grid-template-columns: 1fr;
        gap: 40px 0;
        padding: clamp(56px, 9vw, 96px) clamp(20px, 5vw, 32px) clamp(40px, 7vw, 72px);
    }
    .dg-intro__right {
        height: 300px;
        order: -1;
    }
    .dg-intro__left {
        text-align: center;
        align-items: center;
    }
    .dg-intro__desc {
        max-width: 560px;
    }
    .dg-intro__trust {
        width: 100%;
        max-width: 520px;
    }
}

@media (max-width: 640px) {
    .dg-intro {
        min-height: auto;
    }
    .dg-intro__inner {
        grid-template-columns: 1fr;
        padding: clamp(40px, 8vw, 72px) clamp(20px, 5vw, 32px) clamp(32px, 6vw, 56px);
        gap: 28px 0;
    }
    .dg-intro__right {
        height: 220px;
    }
    .dg-intro__tag {
        font-size: 10px;
        margin-bottom: 16px;
        flex-wrap: wrap;
        justify-content: center;
    }
    .dg-intro__title {
        font-size: clamp(1.625rem, 6.5vw, 2.25rem);
        margin-bottom: 14px;
    }
    .dg-intro__desc {
        font-size: 14px;
        margin-bottom: 24px;
    }
    .dg-intro__trust {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .dg-intro__trust-card {
        padding: 12px 12px;
    }
    .dg-intro__trust-label {
        font-size: 12px;
    }
    .dg-intro__trust-note {
        font-size: 11px;
    }
    .dg-intro__scroll {
        padding-bottom: 24px;
    }
}

@media (max-width: 400px) {
    .dg-intro__right {
        height: 180px;
    }
    .dg-intro__trust {
        grid-template-columns: 1fr;
    }
}

.dg-ranking {
    padding: clamp(56px, 8vw, 96px) 0 clamp(72px, 10vw, 120px);
}

.dg-ranking__top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 36px;
    flex-wrap: wrap;
}

.dg-ranking__title {
    font-family: var(--ff-head);
    font-size: clamp(1.375rem, 2.8vw, 2rem);
    font-weight: var(--fw-bd);
    letter-spacing: -0.02em;
    color: var(--dg-ink-strong);
    margin-bottom: 0;
}

.dg-ranking__updated {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--ff-body);
    font-size: 12.5px;
    font-weight: var(--fw-semi);
    color: var(--dg-ink-subtle);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.dg-ranking__cols {
    display: grid;
    grid-template-columns: 64px 196px 1fr 148px 220px;
    align-items: center;
    gap: 0 20px;
    padding: 0 28px 12px;
}

.dg-ranking__col {
    font-family: var(--ff-body);
    font-size: 10.5px;
    font-weight: var(--fw-bd);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--dg-ink-subtle);
}

.dg-ranking__col--center { text-align: center; }
.dg-ranking__col--right  { text-align: right; }

.dg-ranking__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dg-ranking__item {
    display: flex;
    flex-direction: column;
}

.dg-ranking__card {
    display: grid;
    grid-template-columns: 64px 196px 1fr 148px 220px;
    align-items: center;
    gap: 0 20px;
    background: var(--dg-bg-card);
    border-radius: 20px;
    border: 1px solid rgba(237, 216, 182, 0.6);
    padding: 28px 28px;
    box-shadow: 0 2px 12px rgba(92, 0, 7, 0.06), 0 1px 3px rgba(92, 0, 7, 0.04), inset 0 1px 0 rgba(255,255,255,0.85);
    transition: box-shadow 0.24s ease, border-color 0.24s ease, transform 0.18s ease;
    position: relative;
    overflow: hidden;
}

.dg-ranking__card::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('/assets/images/card-pattern.webp');
    background-size: 320px auto;
    background-repeat: repeat;
    background-position: right top;
    opacity: 1;
    filter: blur(1.5px);
    pointer-events: none;
    z-index: 0;
    border-radius: 20px;
}

.dg-ranking__card > * { position: relative; z-index: 1; }

.dg-ranking__card:hover {
    box-shadow: 0 8px 32px rgba(92, 0, 7, 0.11), 0 2px 8px rgba(92, 0, 7, 0.06), inset 0 1px 0 rgba(255,255,255,0.9);
    border-color: rgba(153, 15, 6, 0.24);
    transform: translateY(-1px);
}

.dg-ranking__card--featured {
    background: linear-gradient(112deg, rgba(255,250,244,1) 0%, rgba(255,242,228,0.98) 55%, rgba(254,236,215,0.94) 100%);
    border-color: rgba(210, 100, 12, 0.3);
    box-shadow: 0 4px 22px rgba(210, 60, 12, 0.11), 0 1px 4px rgba(210, 60, 12, 0.06), inset 0 1px 0 rgba(255,255,255,0.95);
}

.dg-ranking__card--featured::before {
    opacity: 1;
    filter: blur(1px) sepia(1) hue-rotate(-10deg);
}

.dg-ranking__card--featured:hover {
    box-shadow: 0 10px 40px rgba(210, 60, 12, 0.18), 0 2px 10px rgba(210, 60, 12, 0.09), inset 0 1px 0 rgba(255,255,255,0.95);
    border-color: rgba(210, 60, 12, 0.42);
}

.dg-ranking__card-deco {
    position: absolute;
    right: 220px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
    pointer-events: none;
    display: flex;
    gap: 18px;
    align-items: center;
    opacity: 1;
}

.dg-ranking__card--featured .dg-ranking__card-deco { opacity: 0.07; }

.dg-ranking__card-deco img {
    width: 52px;
    height: 52px;
    filter: brightness(0) saturate(100%) invert(12%) sepia(80%) saturate(2400%) hue-rotate(348deg) brightness(60%) contrast(96%);
}

.dg-ranking__rank {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.dg-ranking__rank-num {
    font-family: var(--ff-head);
    font-size: 26px;
    font-weight: var(--fw-xbd);
    color: rgba(237, 216, 182, 0.8);
    letter-spacing: -0.04em;
    line-height: 1;
    user-select: none;
}

.dg-ranking__card--featured .dg-ranking__rank-num {
    color: rgba(210, 100, 12, 0.32);
}

.dg-ranking__rank-line {
    width: 1.5px;
    height: 14px;
    background: linear-gradient(180deg, rgba(237,216,182,0.5) 0%, transparent 100%);
    border-radius: 2px;
}

.dg-ranking__card--featured .dg-ranking__rank-line {
    background: linear-gradient(180deg, rgba(210,100,12,0.25) 0%, transparent 100%);
}

.dg-ranking__logo-wrap {
    background: #FFFFFF;
    border: 1px solid rgba(237, 216, 182, 0.75);
    border-radius: 14px;
    width: 180px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(92, 0, 7, 0.07), inset 0 1px 0 rgba(255,255,255,1);
    overflow: hidden;
}

.dg-ranking__logo {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.dg-ranking__offer {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 0 12px;
}

.dg-ranking__badges {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 22px;
}

.dg-ranking__badge {
    font-family: var(--ff-body);
    font-size: 10px;
    font-weight: var(--fw-bd);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 20px;
    line-height: 1.5;
    white-space: nowrap;
}

.dg-ranking__badge--top {
    background: linear-gradient(135deg, #1A8A3C, #1F9E47);
    color: #FFFFFF;
    box-shadow: 0 2px 8px rgba(26, 138, 60, 0.32);
}

.dg-ranking__offer-type {
    font-family: var(--ff-body);
    font-size: 10.5px;
    font-weight: var(--fw-semi);
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--dg-ink-subtle);
}

.dg-ranking__bonus {
    font-family: var(--ff-head);
    font-size: clamp(1.0625rem, 1.7vw, 1.25rem);
    font-weight: var(--fw-bd);
    color: var(--dg-ink-strong);
    letter-spacing: -0.015em;
    line-height: 1.2;
}

.dg-ranking__card--featured .dg-ranking__bonus { color: #6E2700; }

.dg-ranking__score {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    text-align: center;
    background: rgba(250, 243, 232, 0.6);
    border: 1px solid rgba(237, 216, 182, 0.5);
    border-radius: 14px;
    padding: 14px 16px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.dg-ranking__card--featured .dg-ranking__score {
    background: rgba(255, 245, 232, 0.7);
    border-color: rgba(210, 100, 12, 0.18);
}

.dg-ranking__avis {
    font-family: var(--ff-body);
    font-size: 10.5px;
    font-weight: var(--fw-semi);
    color: var(--dg-ink-subtle);
    white-space: nowrap;
    letter-spacing: 0.01em;
}

.dg-ranking__score-num {
    font-family: var(--ff-head);
    font-size: 32px;
    font-weight: var(--fw-xbd);
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--dg-brand-deep);
}

.dg-ranking__card--featured .dg-ranking__score-num { color: #B83800; }

.dg-ranking__score-track {
    width: 56px;
    height: 4px;
    background: rgba(237, 216, 182, 0.7);
    border-radius: 4px;
    overflow: hidden;
}

.dg-ranking__score-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--dg-brand-main), var(--dg-brand-hot));
}

.dg-ranking__card--featured .dg-ranking__score-fill {
    background: linear-gradient(90deg, #B83800, #E05800);
}

.dg-ranking__cta {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.dg-ranking__btn {
    font-family: var(--ff-head);
    font-size: 14px;
    font-weight: var(--fw-semi);
    height: 52px;
    padding: 0 20px;
    border-radius: 13px;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease, box-shadow 0.2s ease;
    letter-spacing: 0.2px;
}

.dg-ranking__btn--primary {
    background: linear-gradient(135deg, var(--dg-brand-deep) 0%, var(--dg-brand-main) 100%);
    color: #FFFFFF;
    box-shadow: 0 4px 14px rgba(92, 0, 7, 0.3), inset 0 1px 0 rgba(255,255,255,0.1);
}

.dg-ranking__btn--primary:hover {
    background: linear-gradient(135deg, var(--dg-brand-main) 0%, #B01408 100%);
    box-shadow: 0 6px 22px rgba(92, 0, 7, 0.38);
}

.dg-ranking__btn--featured {
    background: linear-gradient(135deg, #D23C0C 0%, #E86020 100%);
    color: #FFFFFF;
    box-shadow: 0 4px 16px rgba(210, 60, 12, 0.38), inset 0 1px 0 rgba(255,255,255,0.12);
}

.dg-ranking__btn--featured:hover {
    background: linear-gradient(135deg, #B83300 0%, #D05218 100%);
    box-shadow: 0 7px 24px rgba(210, 60, 12, 0.46);
}

.dg-ranking__btn-arrow {
    display: flex;
    align-items: center;
    transition: transform 0.18s ease;
}

.dg-ranking__btn:hover .dg-ranking__btn-arrow { transform: translateX(3px); }

.dg-ranking__disclaimer {
    font-family: var(--ff-body);
    font-size: 11px;
    font-weight: var(--fw-reg);
    color: var(--dg-ink-subtle);
    line-height: 1.5;
    padding: 8px 28px 0;
    opacity: 0.72;
}

.dg-ranking__disclaimer a {
    color: var(--dg-ink-subtle);
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 1080px) {
    .dg-ranking__cols { display: none; }
    .dg-ranking__card {
        grid-template-columns: 52px 160px 1fr 120px 180px;
        gap: 0 14px;
        padding: 22px 20px;
    }
    .dg-ranking__logo-wrap { width: 160px; height: 72px; }
    .dg-ranking__score-num { font-size: 26px; }
    .dg-ranking__btn { font-size: 13px; padding: 0 14px; height: 46px; }
}

@media (max-width: 780px) {
    .dg-ranking__card {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto auto auto;
        gap: 16px 12px;
        padding: 18px 16px;
    }
    .dg-ranking__rank {
        grid-column: 1; grid-row: 1;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
    }
    .dg-ranking__rank-line { width: 14px; height: 1.5px; background: linear-gradient(90deg, rgba(237,216,182,0.5) 0%, transparent 100%); }
    .dg-ranking__card--featured .dg-ranking__rank-line { background: linear-gradient(90deg, rgba(210,100,12,0.25) 0%, transparent 100%); }
    .dg-ranking__score { grid-column: 2; grid-row: 1 / 3; justify-content: center; }
    .dg-ranking__logo-wrap { grid-column: 1; grid-row: 2; width: 100%; height: 64px; justify-content: flex-start; }
    .dg-ranking__offer { grid-column: 1 / 3; grid-row: 3; padding: 0; }
    .dg-ranking__cta { grid-column: 1 / 3; grid-row: 4; }
    .dg-ranking__btn { width: 100%; height: 48px; }
    .dg-ranking__card-deco { display: none; }
    .dg-ranking__disclaimer { padding: 8px 16px 0; }
}


.dg-about {
    padding: clamp(64px, 9vw, 112px) 0;
    position: relative;
    overflow: hidden;
}

.dg-about__grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 28px;
    align-items: start;
}

.dg-about__left {
    position: relative;
}

.dg-about__brand-panel {
    background: linear-gradient(136deg, #2E0003 0%, #3A0005 45%, #4E0508 100%);
    border-radius: 22px;
    padding: clamp(32px, 4vw, 48px);
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(58, 0, 5, 0.22), 0 2px 10px rgba(58, 0, 5, 0.12), inset 0 1px 0 rgba(255,255,255,0.06);
}

.dg-about__brand-panel-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.dg-about__brand-panel-glow {
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(210, 60, 12, 0.22) 0%, transparent 70%);
    top: -80px;
    right: -60px;
    animation: dg-about-glow 8s ease-in-out infinite alternate;
}

.dg-about__brand-panel-glow2 {
    position: absolute;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(153, 15, 6, 0.18) 0%, transparent 70%);
    bottom: -40px;
    left: 30px;
    animation: dg-about-glow 11s ease-in-out infinite alternate-reverse;
}

@keyframes dg-about-glow {
    0%   { transform: scale(1) translate(0, 0); opacity: 0.7; }
    100% { transform: scale(1.15) translate(12px, -10px); opacity: 1; }
}

.dg-about__brand-panel > * { position: relative; z-index: 1; }

.dg-about__tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--ff-body);
    font-size: 10.5px;
    font-weight: var(--fw-semi);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(237, 216, 182, 0.55);
    margin-bottom: 20px;
}

.dg-about__tag-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--dg-brand-hot);
    flex-shrink: 0;
    box-shadow: 0 0 6px rgba(210, 60, 12, 0.6);
}

.dg-about__heading {
    font-family: var(--ff-head);
    font-size: clamp(1.625rem, 3vw, 2.25rem);
    font-weight: var(--fw-xbd);
    letter-spacing: -0.025em;
    line-height: 1.12;
    color: #FDFAF5;
    margin-bottom: 16px;
}

.dg-about__heading-em {
    color: var(--dg-brand-sand);
}

.dg-about__desc {
    font-family: var(--ff-body);
    font-size: 15px;
    font-weight: var(--fw-reg);
    color: rgba(237, 216, 182, 0.68);
    line-height: 1.72;
    margin-bottom: 32px;
    max-width: 520px;
}

.dg-about__divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(237,216,182,0.18) 0%, rgba(237,216,182,0.05) 100%);
    margin-bottom: 28px;
}

.dg-about__method-label {
    font-family: var(--ff-body);
    font-size: 10.5px;
    font-weight: var(--fw-bd);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(237, 216, 182, 0.4);
    margin-bottom: 16px;
}

.dg-about__criteria {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.dg-about__criterion {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(237, 216, 182, 0.1);
    border-radius: 13px;
    padding: 14px 14px;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.dg-about__criterion:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(237, 216, 182, 0.18);
}

.dg-about__criterion-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(210, 60, 12, 0.18);
    border: 1px solid rgba(210, 60, 12, 0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

.dg-about__criterion-icon img {
    filter: brightness(0) saturate(100%) invert(65%) sepia(40%) saturate(800%) hue-rotate(5deg) brightness(108%) contrast(90%);
}

.dg-about__criterion-text {
    font-family: var(--ff-body);
    font-size: 13px;
    font-weight: var(--fw-semi);
    color: rgba(253, 247, 239, 0.82);
    line-height: 1.38;
    letter-spacing: 0.005em;
}

.dg-about__criterion-note {
    display: block;
    font-size: 11px;
    font-weight: var(--fw-reg);
    color: rgba(237, 216, 182, 0.45);
    margin-top: 2px;
}

.dg-about__notice {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    background: rgba(210, 60, 12, 0.08);
    border: 1px solid rgba(210, 60, 12, 0.16);
    border-radius: 13px;
    padding: 14px 16px;
    margin-top: 16px;
}

.dg-about__notice-icon {
    flex-shrink: 0;
    margin-top: 1px;
}

.dg-about__notice-icon img {
    filter: brightness(0) saturate(100%) invert(48%) sepia(52%) saturate(800%) hue-rotate(10deg) brightness(105%) contrast(94%);
}

.dg-about__notice-text {
    font-family: var(--ff-body);
    font-size: 12.5px;
    font-weight: var(--fw-reg);
    color: rgba(237, 216, 182, 0.62);
    line-height: 1.6;
    margin: 0;
}


.dg-about__right {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dg-about__contact-card {
    background: linear-gradient(150deg, #FFFFFF 0%, var(--dg-bg-surface) 100%);
    border-radius: 22px;
    border: 1px solid rgba(237, 216, 182, 0.6);
    padding: clamp(24px, 3vw, 36px);
    box-shadow: 0 4px 22px rgba(92, 0, 7, 0.07), 0 1px 4px rgba(92, 0, 7, 0.04), inset 0 1px 0 rgba(255,255,255,0.9);
    position: relative;
    overflow: hidden;
}

.dg-about__contact-card-bg {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(210, 60, 12, 0.06) 0%, transparent 70%);
    pointer-events: none;
}

.dg-about__contact-card > * { position: relative; z-index: 1; }

.dg-about__contact-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--ff-body);
    font-size: 10px;
    font-weight: var(--fw-bd);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--dg-ink-subtle);
    margin-bottom: 14px;
    background: rgba(237, 216, 182, 0.35);
    border-radius: 20px;
    padding: 4px 10px 4px 8px;
}

.dg-about__contact-heading {
    font-family: var(--ff-head);
    font-size: clamp(1.25rem, 2.2vw, 1.625rem);
    font-weight: var(--fw-bd);
    letter-spacing: -0.018em;
    color: var(--dg-ink-strong);
    margin-bottom: 10px;
}

.dg-about__contact-sub {
    font-family: var(--ff-body);
    font-size: 13.5px;
    color: var(--dg-ink-muted);
    line-height: 1.65;
    margin-bottom: 24px;
}

.dg-about__contact-rows {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dg-about__contact-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    background: var(--dg-bg-page);
    border: 1px solid rgba(237, 216, 182, 0.6);
    border-radius: 13px;
    box-shadow: 0 1px 4px rgba(92, 0, 7, 0.04), inset 0 1px 0 rgba(255,255,255,0.7);
    text-decoration: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.dg-about__contact-row:hover {
    border-color: rgba(153, 15, 6, 0.22);
    box-shadow: 0 3px 12px rgba(92, 0, 7, 0.09), inset 0 1px 0 rgba(255,255,255,0.8);
    background: #FFFFFF;
}

.dg-about__contact-row-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--dg-brand-deep) 0%, var(--dg-brand-main) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 10px rgba(92, 0, 7, 0.26), inset 0 1px 0 rgba(255,255,255,0.08);
}

.dg-about__contact-row-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.dg-about__contact-row-label {
    font-family: var(--ff-body);
    font-size: 10px;
    font-weight: var(--fw-bd);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--dg-ink-subtle);
    line-height: 1;
}

.dg-about__contact-row-value {
    font-family: var(--ff-head);
    font-size: 13.5px;
    font-weight: var(--fw-semi);
    color: var(--dg-ink-main);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dg-about__contact-row-arrow {
    margin-left: auto;
    flex-shrink: 0;
    opacity: 0.35;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.dg-about__contact-row:hover .dg-about__contact-row-arrow {
    opacity: 0.7;
    transform: translateX(2px);
}

.dg-about__contact-footer {
    font-family: var(--ff-body);
    font-size: 11.5px;
    color: var(--dg-ink-subtle);
    line-height: 1.6;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--dg-line-soft);
    opacity: 0.75;
}


@media (max-width: 960px) {
    .dg-about__grid { grid-template-columns: 1fr; }
    .dg-about__criteria { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
    .dg-about__criteria { grid-template-columns: 1fr; }
}


.dg-footer__legal-bar {
    background: linear-gradient(135deg, #1A0002 0%, #240003 50%, #1C0002 100%);
    border-top: 1px solid rgba(237, 216, 182, 0.08);
    padding: 32px 0 28px;
}

.dg-footer__legal-text {
    font-family: var(--ff-body);
    font-size: 13.5px;
    font-weight: var(--fw-reg);
    color: rgba(237, 216, 182, 0.88);
    line-height: 1.75;
    margin-bottom: 14px;
    max-width: 100%;
}

.dg-footer__legal-text:last-child { margin-bottom: 0; }

.dg-footer__legal-text a {
    color: #EDD8B6;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.15s ease;
}

.dg-footer__legal-text a:hover { color: var(--dg-brand-sand); }

.dg-footer__legal-text strong {
    color: #EDD8B6;
    font-weight: var(--fw-semi);
}


.dg-footer__main {
    background: linear-gradient(160deg, #260003 0%, #2E0004 40%, #220002 100%);
    padding: clamp(48px, 7vw, 80px) 0 clamp(40px, 6vw, 64px);
    position: relative;
    overflow: hidden;
}

.dg-footer__main::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -80px;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(210, 60, 12, 0.07) 0%, transparent 65%);
    pointer-events: none;
}

.dg-footer__main::after {
    content: '';
    position: absolute;
    bottom: -80px;
    left: 10%;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(153, 15, 6, 0.06) 0%, transparent 65%);
    pointer-events: none;
}

.dg-footer__grid {
    display: grid;
    grid-template-columns: 280px 1fr 1fr;
    gap: 0 56px;
    position: relative;
    z-index: 1;
}

.dg-footer__logo-link {
    display: inline-block;
    margin-bottom: 16px;
}

.dg-footer__logo {
    height: 36px;
    width: auto;
    filter: brightness(0) invert(1) opacity(0.92);
}

.dg-footer__tagline {
    font-family: var(--ff-body);
    font-size: 13.5px;
    font-weight: var(--fw-reg);
    color: rgba(237, 216, 182, 0.82);
    line-height: 1.68;
    margin-bottom: 20px;
}

.dg-footer__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dg-footer__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--ff-body);
    font-size: 11px;
    font-weight: var(--fw-semi);
    letter-spacing: 0.05em;
    color: rgba(237, 216, 182, 0.88);
    background: rgba(237, 216, 182, 0.07);
    border: 1px solid rgba(237, 216, 182, 0.12);
    border-radius: 20px;
    padding: 5px 12px 5px 9px;
}


.dg-footer__col-title {
    font-family: var(--ff-head);
    font-size: 11px;
    font-weight: var(--fw-bd);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(237, 216, 182, 0.72);
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(237, 216, 182, 0.08);
}

.dg-footer__nav-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dg-footer__nav-link {
    font-family: var(--ff-body);
    font-size: 14px;
    font-weight: var(--fw-semi);
    color: rgba(237, 216, 182, 0.88);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 0;
    transition: color 0.15s ease, gap 0.15s ease;
}

.dg-footer__nav-link::before {
    content: '';
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--dg-brand-hot);
    opacity: 0;
    flex-shrink: 0;
    transition: opacity 0.15s ease;
}

.dg-footer__nav-link:hover {
    color: var(--dg-brand-sand);
    gap: 10px;
}

.dg-footer__nav-link:hover::before { opacity: 1; }


.dg-footer__help-desc {
    font-family: var(--ff-body);
    font-size: 13.5px;
    color: rgba(237, 216, 182, 0.82);
    line-height: 1.6;
    margin-bottom: 16px;
}

.dg-footer__help-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 20px;
}

.dg-footer__help-link {
    font-family: var(--ff-body);
    font-size: 13.5px;
    font-weight: var(--fw-semi);
    color: rgba(237, 216, 182, 0.92);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
    transition: color 0.15s ease;
}

.dg-footer__help-link:hover { color: var(--dg-brand-sand); }

.dg-footer__hotline {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(237, 216, 182, 0.12);
    border-radius: 13px;
    padding: 12px 16px;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.dg-footer__hotline:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(237, 216, 182, 0.2);
}

.dg-footer__hotline-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: linear-gradient(135deg, var(--dg-brand-main), var(--dg-brand-hot));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 10px rgba(210, 60, 12, 0.3);
}

.dg-footer__hotline-num {
    display: block;
    font-family: var(--ff-head);
    font-size: 15px;
    font-weight: var(--fw-bd);
    color: var(--dg-brand-sand);
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.dg-footer__hotline-note {
    display: block;
    font-family: var(--ff-body);
    font-size: 11px;
    color: rgba(237, 216, 182, 0.72);
    line-height: 1.3;
    margin-top: 2px;
}


.dg-footer__orgs-bar {
    background: #1A0002;
    border-top: 1px solid rgba(237, 216, 182, 0.06);
    border-bottom: 1px solid rgba(237, 216, 182, 0.06);
    padding: 28px 0;
}

.dg-footer__orgs-label {
    font-family: var(--ff-body);
    font-size: 10px;
    font-weight: var(--fw-bd);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(237, 216, 182, 0.65);
    text-align: center;
    margin-bottom: 20px;
}

.dg-footer__orgs {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 24px;
}

.dg-footer__org-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(237, 216, 182, 0.08);
    border-radius: 10px;
    transition: background 0.18s ease, border-color 0.18s ease;
    text-decoration: none;
}

a.dg-footer__org-item:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(237, 216, 182, 0.16);
}

.dg-footer__org-img {
    height: 40px;
    width: auto;
    max-width: 170px;
    object-fit: contain;
    filter: brightness(0) invert(1) opacity(0.78);
    transition: opacity 0.18s ease;
}

a.dg-footer__org-item:hover .dg-footer__org-img { filter: brightness(0) invert(1) opacity(0.82); }

.dg-footer__org-item--age {
    padding: 6px 12px;
}

.dg-footer__age-badge {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: transparent;
    border: 2.5px solid rgba(237, 216, 182, 0.82);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ff-head);
    font-size: 13.5px;
    font-weight: var(--fw-xbd);
    color: rgba(237, 216, 182, 0.88);
    letter-spacing: 0.01em;
}


.dg-footer__bottom {
    background: #140001;
    padding: 20px 0;
}

.dg-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 24px;
}

.dg-footer__legal-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 4px;
}

.dg-footer__legal-link {
    font-family: var(--ff-body);
    font-size: 12.5px;
    color: rgba(237, 216, 182, 0.75);
    text-decoration: none;
    transition: color 0.15s ease;
    text-underline-offset: 2px;
}

.dg-footer__legal-link:hover {
    color: rgba(237, 216, 182, 0.72);
    text-decoration: underline;
}

.dg-footer__legal-sep {
    font-size: 12px;
    color: rgba(237, 216, 182, 0.18);
    padding: 0 4px;
}

.dg-footer__copy {
    font-family: var(--ff-body);
    font-size: 12.5px;
    color: rgba(237, 216, 182, 0.6);
    white-space: nowrap;
}


@media (max-width: 880px) {
    .dg-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px 40px;
    }
    .dg-footer__brand-col { grid-column: 1 / 3; }
}

@media (max-width: 560px) {
    .dg-footer__grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .dg-footer__brand-col { grid-column: 1; }
    .dg-footer__bottom-inner { flex-direction: column; align-items: flex-start; }
    .dg-footer__orgs { gap: 8px 12px; }
}