.dsb {
    --ink:#10282d;
    --muted:#536970;
    --cyan:#08c9eb;
    --line:#dbe6e8;
    color:var(--ink);
    font-size:16px;
    line-height:1.7;
}
.dsb * {
    box-sizing:border-box;
}
.dsb-wrap {
    width:min(1120px,calc(100% - 48px));
    margin:auto;
}
.dsb h1,.dsb h2,.dsb h3 {
    color:var(--ink);
    font-weight:750;
    letter-spacing:-.035em;
    line-height:1.16;
}
.dsb h1 {
    font-size:clamp(42px,4.5vw,64px);
    margin:14px 0 20px;
}
.dsb h2 {
    font-size:clamp(28px,3vw,38px);
    margin:0 0 22px;
}
.dsb h3 {
    font-size:21px;
    margin:12px 0;
}
.dsb p {
    margin:0 0 18px;
}
.dsb a {
    text-decoration:underline;
    text-underline-offset:3px;
}
.dsb a:hover {
    color:#007e94;
}
.dsb-hero {
    background:radial-gradient(ellipse at 90% 95%,#235960 0,transparent 52%),#182c30;
    color:#d0e0e3;
    padding:20px 0 64px;
}
.dsb-hero h1 {
    color:#fff;
}
.dsb-hero-grid {
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:64px;
    align-items:center;
}
.dsb-crumb {
    display:flex;
    gap:12px;
    font-size:12px;
    margin:0 0 34px;
    color:#b9cdd1;
}
.dsb-crumb a {
    color:#b9cdd1;
}
.dsb .dsb-eyebrow {
    font-size:11px;
    letter-spacing:.14em;
    color:#007e94;
    font-weight:800;
    margin-bottom:12px;
}
.dsb-hero .dsb-eyebrow {
    color:#71e3f5;
}
.dsb .dsb-lead {
    font-size:21px;
    line-height:1.5;
    max-width:480px;
    color:#fff;
}
.dsb-hero-copy {
    font-size:15px;
    max-width:490px;
}
.dsb-search {
    background:white;
    border-radius:14px;
    padding:22px;
    color:var(--ink);
    box-shadow:0 16px 35px #0002;
    scroll-margin-top:24px;
}
.dsb-price-row {
    display:flex;
    gap:12px;
    align-items:center;
    margin-bottom:15px;
}
.dsb-price-row strong {
    font-size:36px;
    line-height:1;
}
.dsb-price-row span {
    font-size:11px;
    color:var(--muted);
    line-height:1.5;
}
.dsb-search label {
    display:block;
    font-size:12px;
    font-weight:700;
    margin-bottom:7px;
}
.dsb-search-row {
    display:grid;
    grid-template-columns:.9fr 1.3fr;
    gap:8px;
}
.dsb-search input {
    min-width:0;
    width:100%;
    background:#fff1a9;
    border:2px solid #e5d37c;
    color:#10282d;
    font-size:22px;
    font-weight:800;
    text-transform:uppercase;
    text-align:center;
    border-radius:6px;
    padding:12px 6px;
    letter-spacing:.02em;
    height:54px;
}
.dsb-search input::placeholder {
    color:#58615a;
    opacity:1;
}
.dsb .dsb-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:var(--cyan);
    color:#07272d;
    font:inherit;
    font-size:14px;
    font-weight:750;
    text-decoration:none;
    border:0;
    border-radius:6px;
    min-height:52px;
    padding:12px 18px;
    cursor:pointer;
    line-height:1.3;
}
.dsb .dsb-button:hover {
    background:#6ee4f7;
    color:#07272d;
}
.dsb a:focus-visible,.dsb button:focus-visible,.dsb input:focus-visible,.dsb summary:focus-visible {
    outline:3px solid #00869d;
    outline-offset:4px;
}
.dsb .dsb-small {
    font-size:12px;
    color:var(--muted);
    line-height:1.6;
}
.dsb-search .dsb-small {
    margin:12px 0 0;
}
.dsb .dsb-promise {
    font-size:12px;
    line-height:1.7;
    margin:16px 0 0;
    max-width:480px;
    color:#d5e9e9;
}
.dsb-promise>span {
    color:#72e3c3;
    margin-right:4px;
}
.dsb-promises { display:flex; flex-wrap:wrap; gap:6px 16px; list-style:none; padding:0; }
.dsb-promises li { display:flex; align-items:baseline; gap:5px; }
.dsb-promises li > span { color:#72e3c3; }
.dsb-preview {
    background:#f8fbfa;
    border:1px solid #ffffff60;
    border-radius:16px;
    padding:28px;
    box-shadow:0 24px 60px #0003;
    transform:rotate(1deg);
    color:var(--ink);
}
.dsb-preview-top {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:10px;
    letter-spacing:.09em;
    font-weight:800;
    border-bottom:1px solid var(--line);
    padding-bottom:22px;
}
.dsb-book-icon {
    font-size:25px;
    background:#d5f2ee;
    border-radius:9px;
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
}
.dsb-preview-caption {
    display:block;
    font-size:10px;
    font-weight:400;
    letter-spacing:0;
    color:var(--muted);
}
.dsb-preview-title {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    margin:26px 0;
}
.dsb-preview-title h2 {
    font-size:23px;
    margin:0;
}
.dsb-preview-title>span {
    font-size:10px;
    background:#e3eeee;
    padding:3px 9px;
    border-radius:20px;
}
.dsb-timeline {
    list-style:none;
    margin:0;
    padding:0;
}
.dsb-timeline li {
    display:grid;
    grid-template-columns:14px 1fr auto;
    gap:12px;
    padding:0 0 28px;
    position:relative;
}
.dsb-timeline li:not(:last-child):before {
    content:'';
    position:absolute;
    width:1px;
    background:#c0dad6;
    top:11px;
    bottom:0;
    left:4px;
}
.dsb-dot {
    height:9px;
    width:9px;
    border-radius:50%;
    background:#209b88;
    margin-top:6px;
    z-index:1;
}
.dsb-timeline-date {
    font-size:10px;
    color:#576e71;
    font-weight:650;
    letter-spacing:.07em;
}
.dsb-timeline h3 {
    font-size:14px;
    margin:5px 0;
}
.dsb-timeline p {
    font-size:10px;
    line-height:1.5;
    color:var(--muted);
    margin:0;
}
.dsb-timeline strong {
    font-size:15px;
    text-align:right;
    padding-top:20px;
}
.dsb-timeline strong span {
    display:block;
    font-size:10px;
    font-weight:400;
    color:var(--muted);
}
.dsb-preview-foot {
    display:flex;
    justify-content:space-between;
    font-size:11px;
    font-weight:650;
    border-top:1px solid var(--line);
    padding:18px 0 0;
}
.dsb .dsb-example-note {
    font-size:9px;
    color:var(--muted);
    margin:14px 0 0;
}
.dsb-benefits {
    background:#eff7f6;
    border-bottom:1px solid var(--line);
}
.dsb-benefits .dsb-wrap {
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:19px 0;
    font-size:12px;
    font-weight:650;
}
.dsb-section {
    padding-top:76px;
    padding-bottom:76px;
}
.dsb-intro {
    max-width:700px;
    color:var(--muted);
}
.dsb-three {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-top:34px;
}
.dsb-card {
    border:1px solid var(--line);
    border-radius:12px;
    padding:28px;
    background:white;
}
.dsb-card p {
    font-size:14px;
    color:var(--muted);
}
.dsb-card p:last-child {
    margin-bottom:0;
}
.dsb-card-number {
    font-size:12px;
    font-weight:800;
    color:#007d90;
    background:#e2f8fa;
    padding:8px 11px;
    border-radius:7px;
    display:inline-block;
    margin-bottom:14px;
}
.dsb-two {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:start;
}
.dsb-two p {
    font-size:15px;
    color:var(--muted);
}
.dsb-soft {
    background:#f4f8f8;
}
.dsb-compare h3 {
    margin-top:0;
}
.dsb-compare dt {
    font-size:15px;
    margin-top:20px;
}
.dsb-compare dd {
    font-size:14px;
    color:var(--muted);
    margin:6px 0 0;
}
.dsb-text-link {
    font-size:14px;
    font-weight:650;
}
.dsb-steps {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:42px;
    padding:0;
    list-style:none;
    counter-reset:steps;
    margin:34px 0 46px;
}
.dsb-steps li {
    counter-increment:steps;
}
.dsb-steps li:before {
    content:counter(steps,decimal-leading-zero);
    display:block;
    color:#00849b;
    font-size:28px;
    font-weight:700;
    margin-bottom:12px;
}
.dsb-steps strong {
    font-size:17px;
}
.dsb-steps p {
    font-size:14px;
    color:var(--muted);
    margin-top:10px;
}
.dsb-upgrade {
    display:flex;
    align-items:center;
    gap:32px;
    border:1px solid #b9e1e4;
    background:#f0fbfc;
    border-radius:12px;
    padding:30px;
}
.dsb-upgrade>div {
    flex:1;
}
.dsb-upgrade h3 {
    font-size:26px;
    margin-top:0;
}
.dsb-upgrade p {
    font-size:14px;
}
.dsb-upgrade p:last-child {
    margin-bottom:0;
}
.dsb .dsb-button-dark {
    background:#10282d;
    color:#fff;
}
.dsb-refund {
    background:#193d3d;
    color:#e1eeee;
    text-align:center;
    padding:54px 0;
}
.dsb-refund h2 {
    color:#fff;
    margin-bottom:12px;
}
.dsb-refund .dsb-eyebrow {
    color:#75e3cf;
}
.dsb-refund p {
    font-size:21px;
}
.dsb-refund .dsb-refund-detail {
    font-size:13px;
    max-width:670px;
    margin:20px auto 0;
    color:#c3dad8;
}
.dsb-brand-links {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    font-size:13px;
}
.dsb-brand-links a {
    color:#126778;
}
.dsb-faq {
    background:#f7fbfc;
    color:#06131f;
    padding:56px 0 64px;
}
.dsb .dsb-faq .main-headin {
    color:#06131f;
    font-size:32px;
    letter-spacing:normal;
}
.dsb-faq .faq-accordion-wrap {
    margin:16px auto 0;
    max-width:900px;
    width:75%;
}
.dsb-faq .accordion {
    background:#fff;
    border:1px solid #dce7e9;
    border-radius:8px;
    box-shadow:0 14px 36px rgba(7,18,23,.06);
    overflow:hidden;
}
.dsb-faq .accordion-item {
    background:#fff;
    border-color:#e2ecef !important;
}
.dsb .dsb-faq .accordion-header {
    margin:0;
    letter-spacing:normal;
}
.dsb-faq .accordion-button:hover,
.dsb-faq .accordion-button:focus {
    color:#035d70 !important;
}
.dsb-faq .accordion-button:focus-visible {
    outline:2px solid #00869d !important;
    outline-offset:-3px;
}
.dsb-faq .accordion-body {
    background:#fbfdfe;
    color:#34454a;
}
.dsb-faq .accordion-body p {
    color:inherit;
}
.dsb-last {
    text-align:center;
}
.dsb-last .dsb-small {
    margin-top:18px;
}
.dsb .dsb-error {
    color:#a12820;
    font-size:13px;
    margin:12px 0 0;
}
.dsb-checkout {
    max-width:920px;
}
.dsb-back {
    display:inline-block;
    font-size:13px;
    margin-bottom:26px;
}
.dsb-plate {
    display:inline-block;
    background:#ffe882;
    padding:7px 19px;
    border-radius:6px;
    font-weight:800;
    font-size:23px;
    letter-spacing:.05em;
}
.dsb-checkout-grid {
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:24px;
    margin-top:30px;
}
.dsb-checkout .dsb-price {
    font-size:38px;
    font-weight:800;
    margin-bottom:0;
}
.dsb-checkout .dsb-button {
    width:100%;
}
.dsb-checkout ul {
    padding-left:20px;
    font-size:14px;
}
.dsb-checkout .dsb-pack-includes { list-style:none; padding:0; display:grid; gap:10px; }
.dsb-pack-includes li { display:flex; align-items:baseline; gap:9px; }
.dsb-pack-includes li > span:first-child { color:#159d8b; font-weight:700; flex-shrink:0; }
.dsb-checkout label {
    font-size:12px;
    line-height:1.6;
    display:flex;
    align-items:start;
    gap:9px;
    margin:20px 0;
}
.dsb-checkout label input {
    margin-top:4px;
    flex-shrink:0;
}
.dsb-checkout .dsb-card {
    display:flex;
    flex-direction:column;
}
.dsb-checkout .dsb-card form {
    margin-top:auto;
}
.dsb-report-header {
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:start;
}
.dsb-report-header h1 {
    font-size:38px;
}
.dsb-report-nav {
    display:flex;
    gap:24px;
    margin:25px 0;
    font-size:14px;
}
.dsb-vehicle-details {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin:22px 0;
}
.dsb-vehicle-details dt {
    font-size:11px;
    font-weight:400;
    color:var(--muted);
}
.dsb-vehicle-details dd {
    font-weight:650;
    font-size:14px;
    margin:0;
}
.dsb-report-section {
    margin-top:34px;
    scroll-margin-top:24px;
}
.dsb-report-section h2 {
    font-size:27px;
}
.dsb .service-record {
    display:grid;
    grid-template-columns:105px 1fr 120px;
    gap:22px;
    padding:24px 0;
    border-bottom:1px solid var(--line);
}
.dsb .service-record-date {
    font-size:13px;
    font-weight:650;
}
.dsb .service-record-provider {
    font-size:17px;
    margin:0 0 6px;
}
.dsb .service-record-address,.dsb .service-record-empty {
    font-size:12px;
    color:var(--muted);
}
.dsb .service-record-actions {
    font-size:13px;
    margin:10px 0 0;
    padding-left:18px;
}
.dsb .service-record-mileage {
    text-align:right;
}
.dsb .service-record-mileage strong {
    font-size:16px;
}
.dsb .service-record-mileage span {
    display:block;
    font-size:10px;
    color:var(--muted);
}
.dsb .service-record-more {
    font-size:12px;
    margin-top:10px;
}
.dsb .service-record-more summary {
    cursor:pointer;
}
.dsb-mot-card {
    border:1px solid var(--line);
    padding:22px;
    border-radius:8px;
    margin-bottom:16px;
}
.dsb-mot-top {
    display:flex;
    justify-content:space-between;
    gap:20px;
    font-size:14px;
}
.dsb-mot-top strong {
    display:block;
    font-size:18px;
}
.dsb-mot-card ul {
    font-size:13px;
    margin:16px 0 0;
    padding-left:20px;
}
.dsb-status {
    display:inline-block;
    border-radius:20px;
    font-size:11px;
    font-weight:700;
    padding:3px 10px;
    background:#e8eeef;
}
.dsb-status.is-pass {
    background:#daf3e9;
    color:#146343;
}
.dsb-status.is-fail {
    background:#fde9e6;
    color:#a03123;
}
.dsb-notice {
    padding:24px;
    background:#eef8f6;
    border:1px solid #c6e5dc;
    border-radius:10px;
}
.dsb-notice p:last-child {
    margin-bottom:0;
}
@media(max-width:950px) {
    .dsb-hero-grid {
        gap:32px;
        grid-template-columns:1.15fr 1fr;
    }
    .dsb-preview {
        padding:22px;
    }
    .dsb-search-row {
        grid-template-columns:1fr;
    }
    .dsb-two {
        gap:32px;
    }
    .dsb-three {
        gap:14px;
    }
    .dsb-card {
        padding:22px;
    }
    .dsb-upgrade {
        display:block;
    }
    .dsb-upgrade .dsb-button {
        margin-top:24px;
    }
}
@media(max-width:700px) {
    .dsb-wrap {
        width:calc(100% - 36px);
    }
    .dsb-hero {
        padding:14px 0 36px;
    }
    .dsb-crumb {
        margin-bottom:28px;
        font-size:10px;
    }
    .dsb-hero-grid,.dsb-two,.dsb-three,.dsb-steps,.dsb-checkout-grid {
        grid-template-columns:1fr;
        gap:24px;
    }
    .dsb h1 {
        font-size:43px;
    }
    .dsb .dsb-lead {
        font-size:19px;
    }
    .dsb-hero-copy {
        font-size:14px;
    }
    .dsb-search {
        padding:20px;
    }
    .dsb-search-row {
        grid-template-columns:1fr;
    }
    .dsb-search .dsb-button {
        min-height:54px;
    }
    .dsb-preview {
        transform:none;
        margin-top:14px;
        padding:24px;
    }
    .dsb-preview-title h2 {
        font-size:23px;
    }
    .dsb-benefits .dsb-wrap {
        flex-wrap:wrap;
        justify-content:center;
        gap:8px 20px;
        font-size:10px;
        padding:16px 0;
    }
    .dsb-benefits .dsb-wrap span:first-child {
        flex-basis:100%;
        text-align:center;
    }
    .dsb-section {
        padding-top:46px;
        padding-bottom:46px;
    }
    .dsb-card {
        padding:24px;
    }
    .dsb-steps {
        margin-bottom:28px;
        gap:12px;
    }
    .dsb-steps li:before {
        font-size:22px;
        margin-bottom:5px;
    }
    .dsb-refund p {
        font-size:19px;
    }
    .dsb-refund .dsb-refund-detail {
        font-size:12px;
    }
    .dsb-vehicle-details {
        grid-template-columns:repeat(2,1fr);
    }
    .dsb-report-header {
        display:block;
    }
    .dsb-report-header h1 {
        font-size:33px;
    }
    .dsb .service-record {
        grid-template-columns:1fr auto;
        gap:8px;
    }
    .dsb .service-record-date {
        grid-column:1/-1;
    }
    .dsb .service-record-mileage {
        max-width:100px;
    }
    .dsb-report-nav {
        font-size:12px;
        gap:16px;
    }
    .dsb-mot-card {
        padding:18px;
    }
    .dsb-report-section .dsb-card {
        padding:18px;
    }
}
.dsb:not(.dsb-soft) {
    background:#fff;
}
.dsb a:not(.dsb-button) {
    color:#006c80;
}
.dsb .dsb-crumb a {
    color:#b9cdd1;
}
.dsb .dsb-hero-copy {
    color:#d0e0e3;
}
.dsb #service-book-reg::placeholder {
    color:#58615a!important;
    opacity:1;
}
.dsb .service-record-type {
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:400;
}
.dsb .service-record-provider h3 {
    font-size:17px;
    margin:0 0 6px;
}
.dsb .dsb-price {
    color:var(--ink);
}
@media(max-width:575px) {
    .dsb-faq .faq-accordion-wrap {
        max-width:none;
        width:100%;
    }
}
@media print {
    header,footer,#mainFooter,.dsb-back,.dsb-report-nav,.dsb-print,.modal {
        display:none!important;
    }
    .dsb-wrap {
        width:100%;
    }
    .dsb-section {
        padding:0;
    }
    .dsb .service-record,.dsb-mot-card {
        break-inside:avoid;
    }
    .dsb .service-record-more[open] summary {
        display:none;
    }
}
.dsb .dsb-sample-notice { background:#eff8f8; border:1px solid #bfdfe3; border-radius:12px; padding:20px 24px; margin:24px 0 32px; }
.dsb .dsb-sample-notice strong { color:#10282d; font-size:16px; }
.dsb .dsb-sample-notice p { font-size:13px; margin:8px 0; line-height:1.7; }
.dsb .dsb-sample-notice a { display:inline-block; font-size:13px; font-weight:700; padding:6px 0; text-decoration:underline; text-underline-offset:3px; }
.dsb .dsb-hero .dsb-sample-link { display:inline-block; color:#c5f5f7; font-size:13px; font-weight:650; padding:10px 0; text-decoration:underline; text-underline-offset:4px; }
.dsb .dsb-sample-link:focus-visible, .dsb .dsb-sample-cta:focus-visible { outline:3px solid #08c9eb; outline-offset:4px; }
/* Landing-page refresh only: saved report presentation retains its existing styles. */
.home-page:has(.dsb-landing) #header { background:#0d2229; box-shadow:none; }
.dsb-landing { --ink:#102c36; --muted:#526c7c; --cyan:#08c9eb; --line:#dbe6eb; }
.dsb-landing .dsb-hero { background:#0d2229; color:#f5f9fa; }
.dsb-landing .dsb-hero h1 { color:#f5f9fa; }
.dsb-landing .dsb-hero h1 span, .dsb-landing .dsb-hero .dsb-eyebrow { color:#08d1fe; }
.dsb-landing .dsb-search { background:#f6f9f9; border:1px solid #e2ecef; border-radius:16px; box-shadow:none; scroll-margin-top:120px; }
.dsb-landing .dsb-preview { background:#fff; border:1px solid #e2ecef; border-radius:16px; box-shadow:none; transform:none; }
.dsb-landing .dsb-promises li > span { color:#08d1fe; }
.dsb-landing .dsb-book-icon { background:#e5f6fc; color:#006c87; }
.dsb-landing .dsb-dot { background:#08c9eb; }
.dsb-landing .dsb-benefits, .dsb-landing .dsb-soft, .dsb-landing .dsb-upgrade { background:#f3f7f8; }
.dsb-landing .dsb-card, .dsb-landing .dsb-upgrade { border-radius:16px; box-shadow:none; }
.dsb-landing .dsb-button-dark { background:#1b333c; }
.dsb-landing .dsb-faq .faq-accordion-wrap { box-shadow:none; }
.dsb-landing .dsb-supporting-details { margin:24px 0 0; color:var(--muted); font-size:13px; }
@media(max-width:700px) { .dsb-landing .dsb-search { scroll-margin-top:110px; } }
@media print { .dsb-sample-cta { display:none!important; } .dsb .dsb-sample-notice { break-inside:avoid; } }
