/**
 * Public landing skin. Cabinet pages do not load this file.
 * Colors come from tokens.css (--color-shell, --color-land).
 * Scope: body.dn-land
 */

.dn-land {
    background: var(--bg-card);
    color: var(--text-primary);
}

.dn-land .dn-hero {
    border-bottom: 0;
    border-radius: 0 0 36px 36px;
    background:
        radial-gradient(ellipse 50% 72% at 90% 0%, rgba(var(--color-mark-rgb), 0.34), transparent 62%),
        radial-gradient(ellipse 28% 40% at 6% 100%, rgba(var(--color-land-rgb), 0.22), transparent 70%),
        var(--color-shell);
}

.dn-land .dn-hero-badge {
    color: rgba(255, 255, 255, 0.72);
}

.dn-land .dn-features,
.dn-land .dn-features.is-alt,
.dn-land .dn-faq {
    background: var(--bg-card);
    color: var(--text-primary);
    padding: 56px 0 28px;
}

.dn-land .dn-features .row,
.dn-land-more .dn-niche-grid {
    display: grid;
    gap: 16px;
    margin: 0;
}

.dn-land .dn-features .row > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
}

.dn-land-who .row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dn-land-how .row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dn-land-more .dn-niche-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.dn-land .dn-cta {
    background: var(--color-shell);
    color: var(--color-on-brand);
}

.dn-land .dn-section-label {
    color: var(--color-mark-from);
}

.dn-land .dn-section-title,
.dn-land .dn-faq h2 {
    color: var(--color-shell);
    letter-spacing: -0.02em;
    margin-bottom: 18px;
}

.dn-land .dn-cta h2,
.dn-land .dn-cta p {
    color: var(--color-on-brand);
}

.dn-land .dn-niche-card {
    background: var(--color-shell-mid);
    border-color: rgba(255, 255, 255, 0.08);
    color: var(--color-on-brand);
    box-shadow: none;
}

.dn-land .dn-niche-card strong {
    color: var(--color-on-brand);
}

.dn-land .dn-feat-card,
.dn-land .dn-faq-item,
.dn-land .dn-niche-card {
    border-radius: 20px;
    box-shadow: var(--shadow-lg);
}

.dn-land .dn-feat-card,
.dn-land .dn-faq-item {
    background: var(--color-shell);
    border-color: transparent;
    color: var(--color-on-brand);
    height: 100%;
}

.dn-land .dn-feat-card p { margin: 0; }

.dn-land-how .row { counter-reset: landstep; }

.dn-land-how .dn-feat-card h5::before {
    content: counter(landstep, decimal-leading-zero);
    counter-increment: landstep;
    display: block;
    margin-bottom: 10px;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    color: var(--color-land);
}

.dn-land .dn-feat-card h5,
.dn-land .dn-faq-item summary {
    color: var(--color-on-brand);
}

.dn-land .dn-feat-card p,
.dn-land .dn-faq-a {
    color: rgba(255, 255, 255, 0.72);
}

.dn-land .dn-niche-more {
    color: var(--color-mark-from);
}

.dn-land .dn-feat-card:hover,
.dn-land .dn-niche-card:hover {
    border-color: rgba(var(--color-mark-rgb), 0.55);
}

.dn-land .dn-feat-ico {
    background: rgba(var(--color-mark-rgb), 0.16);
    color: var(--color-mark-from);
}

/* Reports — dark tiles, orange index */
.dn-land-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.72fr);
    gap: 48px;
    align-items: center;
}

.dn-land-hero .dn-hero-sub { max-width: 640px; }

.dn-land .dn-land-chart {
    width: 100%;
    height: 210px;
    align-self: center;
}

.dn-land-reports {
    position: relative;
    padding: 48px 0 56px;
    background:
        radial-gradient(ellipse 46% 42% at 82% 0%, rgba(var(--color-mark-rgb), 0.08), transparent 62%),
        radial-gradient(ellipse 18% 30% at 8% 100%, rgba(var(--color-land-rgb), 0.06), transparent 70%),
        var(--bg-subtle);
    overflow: hidden;
}

.dn-land-reports-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 28px;
}

.dn-land-lead {
    max-width: 520px;
    margin: 8px 0 0;
    color: var(--text-secondary);
}

.dn-land-chart {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    width: 280px;
    height: 132px;
    padding: 16px;
    border-radius: 18px;
    background: var(--color-shell);
    border: 1px solid rgba(var(--color-mark-rgb), 0.35);
    box-shadow: 0 0 40px rgba(var(--color-mark-rgb), 0.18);
    flex: 0 0 auto;
}

.dn-land-chart span {
    flex: 1;
    height: var(--h, 50%);
    border-radius: 8px 8px 3px 3px;
    background: linear-gradient(180deg, var(--color-mark-from), var(--color-mark-to));
    transform-origin: bottom;
    animation: dn-land-bar 0.9s cubic-bezier(.2, .7, .2, 1) both;
}

.dn-land-chart span:nth-child(2) { animation-delay: 0.08s; }
.dn-land-chart span:nth-child(3) { animation-delay: 0.16s; }
.dn-land-chart span:nth-child(4) { animation-delay: 0.24s; }
.dn-land-chart span:nth-child(5) { animation-delay: 0.32s; }
.dn-land-chart span:nth-child(6) { animation-delay: 0.4s; }
.dn-land-chart span:nth-child(7) { animation-delay: 0.48s; }
.dn-land-chart span:nth-child(3),
.dn-land-chart span:nth-child(6) {
    background: linear-gradient(180deg, var(--color-land-hot), var(--color-land));
}

.dn-land-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.dn-land-tile {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "index icon"
        "title title"
        "text text";
    gap: 8px 14px;
    padding: 22px 22px 20px;
    border-radius: 20px;
    background: var(--color-shell);
    border: 0;
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    min-height: 100%;
}

.dn-land-tile::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 2px;
    width: 0;
    background: linear-gradient(90deg, var(--color-mark-from), var(--color-mark-to));
}

.dn-land-tile.dn-rise.is-in::before {
    animation: dn-land-line 0.7s ease forwards;
}

.dn-land-index {
    grid-area: index;
    align-self: center;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--color-land);
    line-height: 1;
}

.dn-land-ico {
    grid-area: icon;
    justify-self: end;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--color-mark-rgb), 0.16);
    color: var(--color-mark-from);
    font-size: 1.1rem;
}

.dn-land-tile h3 {
    grid-area: title;
    margin: 4px 0 0;
    font-size: 1.12rem;
    color: var(--color-on-brand);
}

.dn-land-tile p {
    grid-area: text;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.5;
}

.dn-land-grid .dn-rise.is-in:nth-child(2) { animation-delay: 0.05s; }
.dn-land-grid .dn-rise.is-in:nth-child(3) { animation-delay: 0.1s; }
.dn-land-grid .dn-rise.is-in:nth-child(4) { animation-delay: 0.15s; }
.dn-land-grid .dn-rise.is-in:nth-child(5) { animation-delay: 0.2s; }
.dn-land-grid .dn-rise.is-in:nth-child(6) { animation-delay: 0.25s; }
.dn-land-grid .dn-rise.is-in:nth-child(7) { animation-delay: 0.3s; }
.dn-land-grid .dn-rise.is-in:nth-child(8) { animation-delay: 0.35s; }
.dn-land-grid .dn-rise.is-in:nth-child(9) { animation-delay: 0.4s; }
.dn-land-grid .dn-rise.is-in:nth-child(10) { animation-delay: 0.45s; }
.dn-land-grid .dn-rise.is-in:nth-child(11) { animation-delay: 0.5s; }
.dn-land-grid .dn-rise.is-in:nth-child(12) { animation-delay: 0.55s; }

@keyframes dn-land-bar {
    from { transform: scaleY(0); opacity: 0.3; }
    to { transform: scaleY(1); opacity: 1; }
}

@keyframes dn-land-line {
    to { width: 100%; }
}

@media (max-width: 1100px) {
    .dn-land-who .row,
    .dn-land-grid { grid-template-columns: 1fr 1fr; }
    .dn-land-how .row,
    .dn-land-more .dn-niche-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 800px) {
    .dn-land .dn-hero { border-radius: 0; }
    .dn-land-hero { grid-template-columns: 1fr; gap: 28px; }
    .dn-land-reports-top { flex-direction: column; align-items: stretch; }
    .dn-land-chart { width: 100%; height: 160px; }
    .dn-land-who .row,
    .dn-land-how .row,
    .dn-land-grid,
    .dn-land-more .dn-niche-grid { grid-template-columns: 1fr; }
}

.dn-suite-jumps {
    display: flex;
    gap: 10px;
    margin: 8px 0 22px;
}

.dn-suite-jumps a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: var(--color-on-brand);
    font-weight: 700;
    text-decoration: none;
}

.dn-suite-jumps a:hover { border-color: var(--color-land-hot); color: var(--color-land-hot); }

.dn-suite-block { padding: 72px 0; background: var(--bg-card); }

.dn-suite-block.is-dark {
    background:
        radial-gradient(ellipse 40% 60% at 100% 0%, rgba(var(--color-mark-rgb), 0.22), transparent 60%),
        var(--color-shell);
}

.dn-suite-split {
    display: grid;
    grid-template-columns: minmax(240px, 0.8fr) 1.2fr;
    gap: 40px;
    align-items: start;
}

.dn-suite-block h2 {
    margin: 0 0 12px;
    font-size: 2rem;
    letter-spacing: -0.03em;
    color: var(--color-shell);
}

.dn-suite-block > .container > div > p,
.dn-suite-split > div > p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.5;
}

.dn-suite-block.is-dark h2,
.dn-suite-block.is-dark .dn-suite-split > div > p { color: var(--color-on-brand); }

.dn-suite-block.is-dark .dn-section-label { color: var(--color-land-hot); }

.dn-suite-list { display: grid; gap: 12px; }

.dn-suite-list article {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    align-items: start;
    padding: 16px 18px;
    border-radius: 18px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
}

.dn-suite-block.is-dark .dn-suite-list article {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
}

.dn-suite-list i {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--color-mark-rgb), 0.12);
    color: var(--color-mark-from);
    font-size: 1.1rem;
}

.dn-suite-list h3 {
    margin: 0 0 4px;
    font-size: 1.02rem;
    color: var(--color-shell);
}

.dn-suite-list p { margin: 0; color: var(--text-secondary); line-height: 1.45; }

.dn-suite-block.is-dark .dn-suite-list h3 { color: var(--color-on-brand); }
.dn-suite-block.is-dark .dn-suite-list p { color: rgba(255, 255, 255, 0.72); }

.dn-suite .dn-section-sub { display: none; }

@media (max-width: 900px) {
    .dn-suite-split { grid-template-columns: 1fr; gap: 22px; }
}

.dn-tariff-hero-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 24px;
    padding: 28px 28px 22px;
}

.dn-tariff-kicker {
    margin: 0 0 8px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-land-hot);
}

.dn-tariff-price {
    margin: 0 0 16px;
    font-size: 3.4rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--color-on-brand);
}

.dn-tariff-price span {
    display: block;
    margin-top: 8px;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0;
    color: rgba(255, 255, 255, 0.72);
}

.dn-tariff-hero-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dn-tariff-hero-card li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.88);
}

.dn-tariff-hero-card i { color: var(--color-mark-from); }

.dn-tariff-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.dn-tariff-item {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 20px 20px 16px;
    box-shadow: var(--shadow-sm);
}

.dn-land-reports .dn-tariff-item { background: var(--bg-card); }

.dn-tariff-item h3 {
    margin: 0 0 6px;
    font-size: 1.05rem;
    color: var(--color-shell);
}

.dn-tariff-item p {
    margin: 0 0 14px;
    color: var(--text-secondary);
    line-height: 1.45;
}

.dn-tariff-item span {
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--color-mark-from);
}

.dn-tariff-item.is-paid span { color: var(--color-land); }

.dn-tariff .dn-section-sub { display: none; }

@media (max-width: 900px) {
    .dn-tariff-grid { grid-template-columns: 1fr; }
    .dn-tariff-price { font-size: 2.6rem; }
}

.dn-land-who .dn-feat-card,
.dn-land-how .dn-feat-card,
.dn-land .dn-niche-card,
.dn-land .dn-faq-item {
    background: var(--bg-card);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-sm);
}

.dn-land-who .dn-feat-card { border-top: 3px solid var(--color-mark-from); }

.dn-land-how .dn-feat-card h5,
.dn-land .dn-niche-card strong,
.dn-land .dn-faq-item summary {
    color: var(--color-shell);
}

.dn-land-who .dn-feat-card p,
.dn-land-how .dn-feat-card p,
.dn-land .dn-faq-a,
.dn-land .dn-section-sub {
    color: var(--text-secondary);
}

.dn-land .dn-section-sub {
    margin: 0 0 18px;
    text-align: left;
}

.dn-land .dn-faq-list { margin: 0; max-width: 760px; }

.dn-land .dn-feat-ico {
    background: rgba(var(--color-mark-rgb), 0.12);
    color: var(--color-mark-from);
}

@media (prefers-reduced-motion: reduce) {
    .dn-land-chart span,
    .dn-land-tile::before,
    .dn-land-tile.dn-rise.is-in::before {
        animation: none;
        width: 100%;
        opacity: 1;
        transform: none;
    }
}
