.dkb-public-brand { flex: 0 0 auto; max-width: 100%; }
.dkb-public-logo { display: block; width: 216px; height: auto; max-width: 100%; aspect-ratio: 3 / 1; object-fit: contain; }
.dkb-footer-credit { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; min-width: 0; }
.dkb-footer-company { display: inline-flex; align-items: center; gap: 12px; max-width: 100%; min-width: 0; }
.dkb-footer-company img { display: block; width: 32px; height: 32px; object-fit: contain; flex: 0 0 32px; }
.dkb-footer-company > span { min-width: 0; }

.dkb-landing-hero {
    position: relative;
    margin-top: -30px;
    margin-bottom: 28px;
    background: #e9f0f2;
}

.dkb-landing-hero > img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 520px;
    aspect-ratio: 16 / 9;
    object-fit: contain;
}

.dkb-hero-caption {
    position: absolute;
    inset: auto 0 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 24px;
    color: #fff;
    background: rgb(8 62 48 / 94%);
}

.dkb-hero-caption h1 {
    margin: 0;
    font-size: 32px;
    line-height: 1.15;
    letter-spacing: 0;
}

.dkb-hero-caption p { margin: 0; font-size: 16px; }

.dkb-landing-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 32px;
    margin-bottom: 28px;
}

.dkb-landing-intro h2 { font-size: 24px; margin: 0 0 12px; }
.dkb-landing-intro p { color: var(--muted); line-height: 1.65; }
.dkb-landing-highlights { display: grid; align-content: start; gap: 9px; }
.dkb-landing-highlights span { color: var(--muted); }
.dkb-public-section { padding: 36px 0; border-top: 1px solid var(--border); }
.dkb-public-section h2 { margin: 0 0 14px; font-size: 26px; line-height: 1.3; }
.dkb-public-section h3 { margin: 0 0 10px; font-size: 18px; line-height: 1.4; }
.dkb-public-section p { color: var(--muted); line-height: 1.7; margin: 0 0 14px; }
.dkb-section-heading { max-width: 760px; margin-bottom: 24px; }
.dkb-feature-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 32px; }
.dkb-feature-list article { border-top: 3px solid #b9d4ca; padding-top: 16px; }
.dkb-feature-list article:nth-child(3n + 2) { border-color: #c8d6e6; }
.dkb-feature-list article:nth-child(3n) { border-color: #e5c5bb; }
.dkb-feature-list p, .dkb-control-list p, .dkb-workflow p { margin-bottom: 0; }
.dkb-report-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.dkb-export-note { padding-left: 14px; border-left: 3px solid #21654f; }
.dkb-report-list { margin: 0; }
.dkb-report-list > div { padding: 14px 0; border-bottom: 1px solid var(--border); }
.dkb-report-list > div:first-child { padding-top: 0; }
.dkb-report-list dt { font-size: 16px; margin-bottom: 6px; }
.dkb-report-list dd { margin: 0; color: var(--muted); line-height: 1.6; }
.dkb-workflow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding: 0; margin: 0; list-style: none; counter-reset: dkb-step; }
.dkb-workflow li { counter-increment: dkb-step; min-width: 0; }
.dkb-workflow li::before { content: "0" counter(dkb-step); display: block; color: #21654f; font-size: 24px; font-weight: 700; margin-bottom: 12px; }
.dkb-control-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.dkb-faq details { border-bottom: 1px solid var(--border); }
.dkb-faq summary { cursor: pointer; padding: 18px 4px; font-size: 17px; font-weight: 600; }
.dkb-faq details[open] summary { color: #21654f; }
.dkb-faq details p { max-width: 900px; padding: 0 4px 6px; }
.dkb-faq a, .dkb-signup-link { color: #195640; text-underline-offset: 3px; }
.dkb-faq summary:focus-visible, .dkb-signup-link:focus-visible { outline: 2px solid #21654f; outline-offset: 4px; }
.dkb-start-section { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.dkb-start-section .saas-hero-actions { margin-top: 0; flex-shrink: 0; }
.dkb-signup-link { align-self: center; font-weight: 600; }

.dkb-pricing-hero > img { height: 320px; max-height: none; object-fit: cover; object-position: center 55%; }
.dkb-plan-intro { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin: 30px 0 26px; }
.dkb-plan-intro > div { max-width: 720px; }
.dkb-plan-intro h2 { font-size: 26px; margin: 0 0 10px; }
.dkb-plan-intro p { color: var(--muted); line-height: 1.65; margin: 0; }
.dkb-billing-label { flex: 0 0 235px; padding-left: 18px; border-left: 3px solid #ed796b; }
.dkb-billing-label strong { color: var(--text); display: block; }
.dkb-billing-label span { font-size: 14px; display: block; }
.dkb-pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px; align-items: stretch; margin-bottom: 36px; }
.dkb-plan-card { min-width: 0; display: flex; flex-direction: column; padding: 26px; border: 1px solid #cbd8d5; border-top: 4px solid #008f80; border-radius: 8px; background: #fff; }
.dkb-plan-card:nth-child(3n + 2) { border-top-color: #f45b4f; }
.dkb-plan-card:nth-child(3n) { border-top-color: #527cad; }
.dkb-plan-heading { min-height: 84px; margin-bottom: 18px; }
.dkb-plan-capacity { display: block; margin-bottom: 9px; font-size: 12px; font-weight: 700; color: #536963; text-transform: uppercase; }
.dkb-plan-heading h3 { margin: 0; font-size: 21px; line-height: 1.4; overflow-wrap: anywhere; }
.dkb-plan-rate { margin-bottom: 22px; }
.dkb-plan-rate p { margin: 0; }
.dkb-plan-regular { color: #64716e; font-size: 13px; min-height: 24px; }
.dkb-plan-price { font-size: 34px; font-weight: 750; line-height: 1.25; color: #173f34; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.dkb-plan-price-unit { color: var(--muted); font-size: 13px; padding-top: 6px; }
.dkb-plan-inclusive { color: #315b50; font-size: 14px; padding-top: 10px; font-weight: 600; }
.dkb-plan-limits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 18px 0; border-top: 1px solid var(--border); }
.dkb-plan-limits dt { color: var(--muted); font-size: 13px; font-weight: 400; }
.dkb-plan-limits dd { margin: 4px 0 0; font-size: 16px; font-weight: 650; }
.dkb-plan-annual { padding: 18px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.dkb-plan-annual > span { display: block; font-size: 13px; color: var(--muted); }
.dkb-plan-annual > strong { display: block; margin: 7px 0 3px; font-size: 26px; line-height: 1.3; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.dkb-plan-annual dl { margin: 16px 0 0; display: grid; gap: 6px; font-size: 13px; }
.dkb-plan-annual dl > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; }
.dkb-plan-annual dt { font-weight: 400; color: var(--muted); }
.dkb-plan-annual dd { margin: 0; font-variant-numeric: tabular-nums; }
.dkb-plan-features { padding-left: 18px; margin: 22px 0 26px; color: #42554e; font-size: 14px; line-height: 1.65; }
.dkb-plan-features li { padding-left: 3px; margin-bottom: 8px; }
.dkb-plan-features li::marker { color: #008f80; }
.dkb-plan-select { margin-top: auto; width: 100%; padding: 11px 16px; }
.dkb-pricing-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.dkb-plans-empty { padding: 24px 0; color: var(--muted); }

.dkb-access-hero > img { height: 190px; max-height: none; object-fit: cover; object-position: center 46%; }
.dkb-access-hero .dkb-hero-caption h1 { font-size: 28px; }
.dkb-access-grid { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: 56px; align-items: start; max-width: 1060px; margin: 32px auto; }
.dkb-access-panel { padding: 30px; background: #fff; border: 1px solid #d1dcd8; border-radius: 8px; min-width: 0; }
.dkb-access-panel h2, .dkb-access-aside h2 { margin: 0 0 12px; font-size: 25px; line-height: 1.3; }
.dkb-access-intro { color: var(--muted); line-height: 1.65; margin: 0 0 24px; }
.dkb-access-form { display: grid; gap: 20px; }
.dkb-access-field { display: grid; gap: 8px; min-width: 0; }
.dkb-access-field label { font-size: 14px; font-weight: 650; margin: 0; }
.dkb-access-field .form-control, .dkb-access-field .form-select { min-width: 0; width: 100%; min-height: 48px; font-size: 16px; border-radius: 6px; }
.dkb-access-field small { color: #586762; line-height: 1.6; font-size: 13px; }
.dkb-access-form > .btn { min-height: 48px; white-space: normal; margin-top: 2px; }
.dkb-access-panel a, .dkb-access-aside a { color: #17654f; text-underline-offset: 3px; }
.dkb-access-panel a:focus-visible, .dkb-access-aside a:focus-visible { outline: 2px solid #17654f; outline-offset: 3px; }
.dkb-access-label-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 12px; }
.dkb-access-label-row a { font-size: 13px; }
.dkb-access-switch { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--border); color: var(--muted); font-size: 14px; line-height: 1.7; }
.dkb-access-panel .alert { overflow-wrap: anywhere; }
.dkb-access-aside { min-width: 0; padding: 18px 0; }
.dkb-access-steps { padding-left: 23px; margin: 24px 0 0; }
.dkb-access-steps li { padding-left: 9px; margin-bottom: 22px; }
.dkb-access-steps li::marker { color: #008f80; font-weight: 700; }
.dkb-access-steps strong { font-size: 16px; }
.dkb-access-steps p, .dkb-access-note p { margin: 7px 0 0; color: var(--muted); line-height: 1.7; font-size: 14px; }
.dkb-access-note { margin-top: 26px; padding-left: 16px; border-left: 3px solid #ef786a; }
.dkb-access-note a { display: inline-block; margin-top: 10px; font-size: 14px; font-weight: 600; }

@media (max-width: 1000px) {
    .dkb-access-grid { gap: 30px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
    .dkb-feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dkb-start-section { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 700px) {
    .dkb-access-hero > img { height: 160px; }
    .dkb-access-hero .dkb-hero-caption h1 { font-size: 22px; }
    .dkb-access-hero .dkb-hero-caption p { display: none; }
    .dkb-access-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; margin: 24px auto; }
    .dkb-access-panel { padding: 22px; }
    .dkb-access-panel h2, .dkb-access-aside h2 { font-size: 22px; }
    .dkb-pricing-hero > img { height: 240px; }
    .dkb-pricing-hero .dkb-hero-caption h1 { font-size: 22px; }
    .dkb-plan-intro { flex-direction: column; align-items: flex-start; gap: 16px; }
    .dkb-plan-intro h2 { font-size: 21px; }
    .dkb-billing-label { flex-basis: auto; }
    .dkb-plan-card { padding: 22px; }
    .dkb-plan-heading { min-height: 0; }
    .dkb-pricing-details { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .dkb-hero-caption { padding: 10px 12px; display: block; }
    .dkb-hero-caption h1 { font-size: 24px; }
    .dkb-hero-caption p { font-size: 13px; margin-top: 4px; }
    .dkb-landing-intro { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .dkb-landing-intro h2, .dkb-public-section h2 { font-size: 21px; }
    .dkb-public-section { padding: 28px 0; }
    .dkb-feature-list, .dkb-report-section, .dkb-workflow, .dkb-control-list { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .dkb-start-section .saas-hero-actions { flex-shrink: 1; }
}
