.dbmk-experience {
    --dbmk-ink: #101f42;
    --dbmk-blue: #1648e8;
    --dbmk-line: #cbd9f5;
    --dbmk-soft: #eff5ff;
    padding-block: clamp(16px, 3vw, 34px) clamp(48px, 7vw, 92px);
    color: var(--dbmk-ink);
}
.dbmk-experience [hidden] { display: none !important; }
.dbmk-experience :focus-visible { outline: 3px solid #1358da; outline-offset: 4px; }
.dbmk-experience :is(a, button) { text-decoration: none; }
.dbmk-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
    align-items: end;
    gap: clamp(20px, 4vw, 64px);
    min-height: 375px;
    overflow: hidden;
    border-radius: 28px;
    padding: clamp(24px, 5.5vw, 76px);
    background: #0a1a49;
    color: #fff;
}
.dbmk-hero::before, .dbmk-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}
.dbmk-hero::before {
    background: linear-gradient(100deg, #071335 10%, #0b2460eb 43%, #0d2b7666 100%),
        var(--dbmk-hero-image) center / cover;
}
.dbmk-hero::after {
    background: radial-gradient(ellipse at center, #245fff66, transparent 67%);
    inset: -25% -12% 0 30%;
    animation: dbmk-glow 9s ease-in-out infinite alternate;
}
.dbmk-hero-blog { --dbmk-hero-image: url(blog-hero.webp); }
.dbmk-hero-quote { --dbmk-hero-image: url(quote-hero.webp); }
.dbmk-hero-copy { max-width: 680px; }
.dbmk-hero-quote .dbmk-hero-copy { grid-column: 1 / -1; }
.dbmk-hero h1 {
    color: inherit;
    font-size: clamp(2.4rem, 5.5vw, 5.15rem);
    line-height: .99;
    letter-spacing: -.045em;
    margin: 0 0 18px;
}
.dbmk-hero p { color: #e7eeff; font-size: clamp(1rem, 2vw, 1.24rem); max-width: 42ch; margin: 0 0 24px; }
.dbmk-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.dbmk-experience .dbmk-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: .68rem 1.15rem;
    border: 1px solid transparent;
    border-radius: 11px;
    background: var(--dbmk-blue);
    color: #fff;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}
.dbmk-experience .dbmk-button:hover { background: #1738ac; transform: translateY(-2px); }
.dbmk-hero .dbmk-button { background: #e9f2ff; color: #0b2a84; }
.dbmk-hero .dbmk-button:hover { background: #fff; }
.dbmk-hero .dbmk-button-glass { color: #fff; background: #0b275acc; border-color: #8eb9ff; }
.dbmk-hero .dbmk-button-glass:hover { background: #123d91; }
.dbmk-hero :focus-visible { outline-color: #a4f0ff; }
.dbmk-feature {
    display: grid;
    gap: .55rem;
    padding: clamp(18px, 3vw, 28px);
    border: 1px solid #9bbdff;
    border-radius: 19px;
    background: #111f59e8;
    color: #fff;
    transition: transform .25s ease, background .25s ease;
}
.dbmk-feature:hover { color: #fff; background: #182e76; transform: translateY(-4px); }
.dbmk-feature strong { font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.19; }
.dbmk-feature > span { color: #c5e7ff; font-size: .9rem; }
.dbmk-library, .dbmk-form-card { scroll-margin-top: 7rem; }
.dbmk-library { margin-top: clamp(30px, 6vw, 68px); }
.dbmk-section-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; }
.dbmk-section-heading h2, .dbmk-form-card h2, .dbmk-quote-aside h2 {
    margin: 0 0 14px;
    letter-spacing: -.025em;
    font-size: clamp(1.5rem, 3vw, 2.45rem);
    line-height: 1.08;
}
.dbmk-section-heading p { margin: 0 0 14px; color: #385380; font-weight: 650; }
.dbmk-blog-controls {
    background: var(--dbmk-soft);
    border: 1px solid var(--dbmk-line);
    border-radius: 18px;
    margin-bottom: 20px;
    padding: clamp(14px, 2.8vw, 26px);
}
.dbmk-blog-controls label { display: block; font-weight: 750; margin-bottom: 6px; }
.dbmk-blog-controls input {
    display: block;
    width: min(100%, 560px);
    min-height: 48px;
    border: 1px solid #98afd7;
    border-radius: 10px;
    padding: 10px 14px;
    font: inherit;
    color: var(--dbmk-ink);
    background: #fff;
}
.dbmk-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.dbmk-chips button {
    padding: .5rem .8rem;
    min-height: 42px;
    border: 1px solid #9eb2db;
    border-radius: 8px;
    font: inherit;
    font-weight: 650;
    background: #fff;
    color: #173569;
    cursor: pointer;
    transition: background .2s, border-color .2s;
}
.dbmk-chips button:hover { border-color: #1555cc; background: #e4edff; }
.dbmk-chips button[aria-pressed="true"] { border-color: var(--dbmk-blue); background: var(--dbmk-blue); color: #fff; }
.dbmk-guide-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 15px; }
.dbmk-guide-card {
    position: relative;
    min-height: 195px;
    padding: 21px 44px 22px 21px;
    border: 1px solid var(--dbmk-line);
    border-radius: 15px;
    background: linear-gradient(142deg, #fff 50%, #eef5ff);
    box-shadow: 0 7px 22px #153d7f0c;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.dbmk-guide-card:hover, .dbmk-guide-card:focus-within {
    transform: translateY(-4px);
    border-color: #477ef0;
    box-shadow: 0 12px 30px #174bc01b;
}
.dbmk-guide-topic { color: #1d47a1; font-size: .84rem; font-weight: 750; }
.dbmk-guide-card h3 { font-size: 1.18rem; line-height: 1.25; margin: 10px 0; }
.dbmk-guide-card a { color: #101f55; }
.dbmk-guide-card a::after { content: ""; position: absolute; inset: 0; }
.dbmk-guide-card p { line-height: 1.57; margin: 0; color: #385176; }
.dbmk-card-arrow { position: absolute; top: 18px; right: 18px; color: #1951d7; font-size: 1.25rem; }
.dbmk-more { margin-top: 22px; }
.dbmk-empty { padding: 20px; background: var(--dbmk-soft); border-radius: 10px; }
.dbmk-quote-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(14px, 3vw, 30px);
    margin-top: clamp(18px, 4vw, 42px);
}
.dbmk-form-card, .dbmk-quote-aside, .dbmk-quote-notes {
    background: #fff;
    border: 1px solid var(--dbmk-line);
    border-radius: 19px;
    padding: clamp(17px, 3vw, 32px);
}
.dbmk-quote-aside { background: var(--dbmk-soft); }
.dbmk-quote-aside h2 { font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
.dbmk-quote-aside details { border-top: 1px solid var(--dbmk-line); padding: 12px 0; }
.dbmk-quote-aside summary { cursor: pointer; font-weight: 750; }
.dbmk-quote-aside details p { margin: 9px 0 0; color: #365175; }
.dbmk-aside-link { display: inline-block; margin-top: 14px; font-weight: 750; color: #1648ba; }
.dbmk-aside-link:hover { text-decoration: underline; }
.dbmk-form-progress {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr auto;
    gap: 6px 10px;
    background: var(--dbmk-soft);
    border-radius: 10px;
    padding: 11px 13px;
    margin-bottom: 15px;
}
.dbmk-form-progress label { grid-column: 1/-1; font-size: .9rem; font-weight: 700; }
.dbmk-form-progress progress { width: 100%; height: 12px; accent-color: var(--dbmk-blue); }
.dbmk-form-progress output { font-weight: 750; font-variant-numeric: tabular-nums; }
.dbmk-quote-choices { margin: 0 0 16px; }
.dbmk-quote-choices p { margin: 0; font-weight: 750; }
.dbmk-form-card .sat-request {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 14px;
}
.dbmk-form-card .sat-request label { display: grid; gap: 5px; margin: 0; font-weight: 650; }
.dbmk-form-card .sat-request :is(input:not([type=hidden]), textarea) {
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    border: 1px solid #97add3;
    border-radius: 9px;
    background: #fff;
    padding: 9px 11px;
    color: var(--dbmk-ink);
    font: inherit;
}
.dbmk-form-card .sat-request textarea { min-height: 115px; resize: vertical; }
.dbmk-form-card .sat-request :is(p, label:has(textarea), label:has(input[type=file])) { grid-column: 1/-1; }
.dbmk-form-card .sat-request p { margin: 0; }
.dbmk-form-card .sat-request button { min-height: 46px; grid-column: 1/-1; justify-self: start; }
.dbmk-form-card [role="status"], .dbmk-form-card [role="alert"] { padding: 10px 14px; border-left: 4px solid #14603b; background: #e8f7ee; }
.dbmk-form-card [role="alert"] { border-color: #a12532; background: #fff0f1; }
.dbmk-quote-notes { margin-top: 22px; }
.dbmk-quote-notes a:hover { text-decoration: underline; }
@keyframes dbmk-glow {
    from { transform: translate(-8%, -6%) scale(.92); opacity: .55; }
    to { transform: translate(5%, 8%) scale(1.16); opacity: .95; }
}
@media (max-width: 760px) {
    .dbmk-hero, .dbmk-quote-layout { grid-template-columns: minmax(0, 1fr); }
    .dbmk-hero { min-height: 0; border-radius: 19px; align-items: start; }
    .dbmk-hero::before { background: linear-gradient(125deg, #071335 12%, #0a2459dd 76%, #0e326988), var(--dbmk-hero-image) 62% center / cover; }
    .dbmk-feature { max-width: 420px; }
}
@media (max-width: 515px) {
    .dbmk-form-card .sat-request { grid-template-columns: minmax(0, 1fr); }
    .dbmk-form-card .sat-request button { justify-self: stretch; }
}
@media (prefers-reduced-motion: reduce) {
    .dbmk-experience *, .dbmk-experience *::before, .dbmk-experience *::after { animation: none; transition: none; }
    .dbmk-experience :is(a, button, article):hover { transform: none; }
}
