
:root{--ddw-navy:#0B1F3A;--ddw-blue:#168BFF;--ddw-text:#111827}
html{scroll-behavior:smooth} body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ddw-text);background:#fff}
img{max-width:100%;display:block} a{-webkit-tap-highlight-color:transparent}
.site-header{background:#fff}
.site-header__inner{max-width:1200px;min-height:80px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-logo img{width:198px;height:auto}
.site-nav{display:flex;align-items:center;gap:36px}
.site-nav a{color:#0b0f16;text-decoration:none;font-size:16px}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--ddw-blue)}
.site-nav .site-nav__cta{padding:15px 20px;border-radius:10px;background:var(--ddw-blue);color:#fff}
.site-nav .site-nav__cta:hover{color:#fff;background:#0F6FDB}
.menu-toggle{display:none;width:46px;height:46px;padding:0;border:0;border-radius:10px;background:var(--ddw-blue);cursor:pointer}
.menu-toggle span{display:block;width:22px;height:2px;margin:5px auto;background:#fff}
.site-footer{background:#071a31;color:#fff;padding:56px 0 20px}
.site-footer__inner{max-width:1200px;margin:0 auto;padding:0 26px}
.site-footer__grid{display:grid;grid-template-columns:1.35fr .9fr .85fr;gap:72px;padding-bottom:50px}
.site-footer h2{margin:0 0 14px;font-size:25px}.site-footer h2 span{color:var(--ddw-blue)}
.site-footer__tagline{margin:0 0 25px;font-size:17px;color:#fff}
.site-footer h3{margin:0 0 18px;font-size:14px;letter-spacing:.3px;text-transform:uppercase}
.site-footer a{color:#d8e7f7;text-decoration:none}.site-footer a:hover{color:#fff}
.footer-contact,.footer-links{display:grid;gap:14px}.footer-contact a{font-weight:700;color:#fff}
.footer-contact .icon{color:var(--ddw-blue);display:inline-block;width:28px}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.13);padding-top:27px;display:flex;justify-content:space-between;gap:24px;color:#8eacd0;font-size:13px}
.site-footer__legal{display:flex;gap:26px}.site-footer__legal a{color:#8eacd0}
@media(max-width:767px){
.site-header__inner{min-height:72px;padding:0 20px;position:relative}.site-logo img{width:180px}.menu-toggle{display:block}
.site-nav{display:none;position:absolute;z-index:50;top:72px;left:0;right:0;padding:20px;background:#fff;box-shadow:0 14px 30px rgba(11,31,58,.12);flex-direction:column;align-items:stretch;gap:0}
.site-nav.is-open{display:flex}.site-nav a{padding:13px 4px}.site-nav .site-nav__cta{margin-top:8px;text-align:center;padding:15px 20px}
.site-footer__grid{grid-template-columns:1fr;gap:36px;padding-bottom:38px}.site-footer__bottom{flex-direction:column}
}


/* =========================================================
   DAVE DOES WEBSITING
   HOMEPAGE
========================================================= */

.ddw-home,
.ddw-home * {
    box-sizing: border-box;
}

.ddw-home {
    --ddw-navy: #0B1F3A;
    --ddw-blue: #168BFF;
    --ddw-blue-dark: #0F6FDB;
    --ddw-bg: #F5F7FA;
    --ddw-text: #111827;
    --ddw-muted: #667085;
    --ddw-border: #E5E7EB;

    color: var(--ddw-text);
    font-family: Inter, Arial, sans-serif;
}

.ddw-wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.ddw-section {
    padding: 82px 0;
}

.ddw-section-intro {
    max-width: 720px;
    margin-bottom: 44px;
}

.ddw-kicker {
    margin: 0 0 14px;
    color: var(--ddw-blue);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ddw-heading {
    margin: 0 0 20px;
    color: var(--ddw-navy);
    font-size: 44px;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -1.5px;
}

.ddw-heading-white {
    color: #FFFFFF;
}

.ddw-lead {
    margin: 0;
    color: var(--ddw-muted);
    font-size: 18px;
    line-height: 1.7;
}

.ddw-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 22px;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
    transition:
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.ddw-button:hover {
    transform: translateY(-2px);
}

.ddw-button-primary {
    background: var(--ddw-blue);
    border: 1px solid var(--ddw-blue);
    color: #FFFFFF;
}

.ddw-button-primary:hover {
    background: var(--ddw-blue-dark);
    border-color: var(--ddw-blue-dark);
    color: #FFFFFF;
}

.ddw-button-outline {
    background: transparent;
    border: 1px solid #607089;
    color: #FFFFFF;
}

.ddw-button-outline:hover {
    background: rgba(255,255,255,.08);
    border-color: #FFFFFF;
    color: #FFFFFF;
}

.ddw-text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--ddw-blue);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.ddw-text-link:hover {
    color: var(--ddw-blue-dark);
}


/* =========================================================
   HERO
========================================================= */

.ddw-hero {
    background: var(--ddw-navy);
    padding: 100px 0;
    overflow: hidden;
}

.ddw-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 72px;
    align-items: center;
}

.ddw-hero-content {
    min-width: 0;
}

.ddw-hero-title {
    max-width: 680px;
    margin: 0 0 24px;
    color: #FFFFFF;
    font-size: clamp(46px, 4.6vw, 64px);
    line-height: 1.04;
    font-weight: 700;
    letter-spacing: -2px;
}

.ddw-hero-title span {
    color: var(--ddw-blue);
}

.ddw-hero-copy {
    max-width: 590px;
    margin: 0 0 34px;
    color: #D7DFEA;
    font-size: 19px;
    line-height: 1.65;
}

.ddw-hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}


/* HERO VISUAL */

.ddw-hero-visual {
    position: relative;
    min-height: 390px;
}

.ddw-browser {
    position: absolute;
    width: 88%;
    right: 0;
    top: 15px;
    background: #FFFFFF;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 28px 70px rgba(0,0,0,.28);
    transform: rotate(2deg);
}

.ddw-browser-bar {
    height: 42px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 7px;
    background: var(--ddw-bg);
    border-bottom: 1px solid var(--ddw-border);
}

.ddw-browser-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #CBD5E1;
}

.ddw-browser-page {
    padding: 34px;
    min-height: 250px;
}

.ddw-browser-label {
    width: 80px;
    height: 8px;
    margin-bottom: 18px;
    background: var(--ddw-blue);
    border-radius: 20px;
}

.ddw-browser-heading {
    width: 82%;
    height: 18px;
    margin-bottom: 10px;
    background: var(--ddw-navy);
    border-radius: 4px;
}

.ddw-browser-heading.short {
    width: 62%;
}

.ddw-browser-text {
    width: 92%;
    height: 7px;
    margin-top: 22px;
    background: #DCE2EA;
    border-radius: 10px;
}

.ddw-browser-text.short {
    width: 70%;
    margin-top: 8px;
}

.ddw-browser-button {
    width: 105px;
    height: 34px;
    margin-top: 25px;
    background: var(--ddw-blue);
    border-radius: 8px;
}

.ddw-fix-card {
    position: absolute;
    left: 0;
    bottom: 5px;
    width: 210px;
    padding: 20px;
    background: #FFFFFF;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0,0,0,.25);
}

.ddw-fix-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EAF4FF;
    border-radius: 10px;
    color: var(--ddw-blue);
    font-size: 21px;
    font-weight: 700;
}

.ddw-fix-title {
    margin-bottom: 5px;
    color: var(--ddw-navy);
    font-size: 16px;
    font-weight: 700;
}

.ddw-fix-text {
    color: var(--ddw-muted);
    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   SERVICES
========================================================= */

.ddw-services {
    background: #FFFFFF;
}

.ddw-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.ddw-service-card {
    padding: 32px;
    border: 1px solid var(--ddw-border);
    border-radius: 16px;
    background: #FFFFFF;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.ddw-service-card:hover {
    transform: translateY(-4px);
    border-color: #CFE6FF;
    box-shadow: 0 18px 45px rgba(11,31,58,.08);
}

.ddw-card-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #EAF4FF;
    color: var(--ddw-blue);
    font-size: 20px;
    font-weight: 700;
}

.ddw-card-title {
    margin: 0 0 12px;
    color: var(--ddw-navy);
    font-size: 23px;
    line-height: 1.25;
    font-weight: 700;
}

.ddw-card-copy {
    min-height: 108px;
    margin: 0 0 22px;
    color: var(--ddw-muted);
    font-size: 16px;
    line-height: 1.65;
}


/* =========================================================
   WEBSITE RESCUE
========================================================= */

.ddw-rescue {
    background: var(--ddw-bg);
}

.ddw-rescue-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 80px;
    align-items: center;
}

.ddw-rescue-panel {
    position: relative;
    padding: 42px;
    background: var(--ddw-navy);
    border-radius: 20px;
    overflow: hidden;
}

.ddw-rescue-panel:after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -60px;
    top: -60px;
    border-radius: 50%;
    background: rgba(22,139,255,.14);
}

.ddw-rescue-status {
    position: relative;
    z-index: 1;
    margin-bottom: 26px;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
}

.ddw-rescue-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
}

.ddw-rescue-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 16px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    color: #DCE6F2;
    font-size: 15px;
}

.ddw-rescue-x {
    color: #7FBFFF;
    font-weight: 700;
}

.ddw-rescue-copy p {
    margin: 0 0 18px;
    color: var(--ddw-muted);
    font-size: 17px;
    line-height: 1.75;
}

.ddw-rescue-copy .ddw-text-link {
    margin-top: 10px;
}


/* =========================================================
   WHY DAVE
========================================================= */

.ddw-why {
    background: var(--ddw-navy);
}

.ddw-why-intro {
    max-width: 800px;
    margin-bottom: 54px;
}

.ddw-why .ddw-lead {
    color: #C9D4E3;
}

.ddw-why-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.ddw-why-point {
    padding: 28px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
}

.ddw-why-number {
    margin-bottom: 18px;
    color: var(--ddw-blue);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.ddw-why-title {
    margin: 0 0 9px;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
}

.ddw-why-copy {
    margin: 0;
    color: #B9C6D8;
    font-size: 15px;
    line-height: 1.65;
}


/* =========================================================
   PRICING
========================================================= */

.ddw-pricing {
    background: #FFFFFF;
}

.ddw-price-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.ddw-price-card {
    position: relative;
    padding: 34px;
    border: 1px solid var(--ddw-border);
    border-radius: 16px;
    background: #FFFFFF;
}

.ddw-price-card.featured {
    border: 2px solid var(--ddw-blue);
    box-shadow: 0 20px 50px rgba(22,139,255,.10);
}

.ddw-price-badge {
    position: absolute;
    top: -13px;
    left: 28px;
    padding: 7px 11px;
    border-radius: 30px;
    background: var(--ddw-blue);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.ddw-price-name {
    margin: 0 0 20px;
    color: var(--ddw-navy);
    font-size: 22px;
    font-weight: 700;
}

.ddw-price-from {
    margin-bottom: 3px;
    color: var(--ddw-muted);
    font-size: 13px;
}

.ddw-price {
    margin-bottom: 22px;
    color: var(--ddw-navy);
    font-size: 42px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -1px;
}

.ddw-price-copy {
    margin: 0;
    color: var(--ddw-muted);
    font-size: 15px;
    line-height: 1.65;
}

.ddw-price-features {
    margin: 24px 0 0;
    padding: 22px 0 0;
    border-top: 1px solid var(--ddw-border);
    list-style: none;
}

.ddw-price-features li {
    position: relative;
    margin-bottom: 11px;
    padding-left: 23px;
    color: var(--ddw-muted);
    font-size: 14px;
    line-height: 1.5;
}

.ddw-price-features li:last-child {
    margin-bottom: 0;
}

.ddw-price-features li:before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--ddw-blue);
    font-weight: 700;
}

.ddw-price-note {
    margin: 30px 0 0;
    color: var(--ddw-muted);
    font-size: 14px;
}


/* =========================================================
   PROCESS
========================================================= */

.ddw-process {
    background: var(--ddw-bg);
}

.ddw-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}

.ddw-process-grid:before {
    content: "";
    position: absolute;
    top: 18px;
    left: 20px;
    right: 20px;
    height: 1px;
    background: #CBD5E1;
}

.ddw-process-step {
    position: relative;
    z-index: 1;
}

.ddw-step-number {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 36px;
    margin-bottom: 22px;
    background: var(--ddw-bg);
    color: var(--ddw-blue);
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
}

.ddw-step-title {
    margin: 0 0 10px;
    color: var(--ddw-navy);
    font-size: 19px;
    font-weight: 700;
}

.ddw-step-copy {
    margin: 0;
    color: var(--ddw-muted);
    font-size: 15px;
    line-height: 1.65;
}


/* =========================================================
   FINAL CTA
========================================================= */

.ddw-final {
    background: #FFFFFF;
    padding: 70px 24px;
}

.ddw-final-box {
    max-width: 1152px;
    margin: 0 auto;
    padding: 70px 40px;
    border-radius: 22px;
    background: var(--ddw-navy);
    text-align: center;
}

.ddw-final-box .ddw-heading {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.ddw-final-copy {
    max-width: 680px;
    margin: 0 auto 30px;
    color: #C9D4E3;
    font-size: 18px;
    line-height: 1.7;
}

.ddw-final-email {
    margin-top: 20px;
    color: #AEBED1;
    font-size: 14px;
}

.ddw-final-email a {
    color: #FFFFFF;
    font-weight: 700;
    text-decoration: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .ddw-section {
        padding: 72px 0;
    }

    .ddw-hero {
        padding: 78px 0;
    }

    .ddw-hero-inner {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .ddw-hero-content {
        max-width: 680px;
    }

    .ddw-hero-visual {
        width: 100%;
        max-width: 620px;
        min-height: 360px;
    }

    .ddw-card-grid,
    .ddw-price-grid {
        grid-template-columns: 1fr;
    }

    .ddw-card-copy {
        min-height: 0;
    }

    .ddw-rescue-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .ddw-why-points {
        grid-template-columns: 1fr;
    }

    .ddw-process-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 28px;
    }

    .ddw-process-grid:before {
        display: none;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .ddw-wrap {
        padding-left: 20px;
        padding-right: 20px;
    }

    .ddw-section {
        padding: 52px 0;
    }

    .ddw-section-intro {
        margin-bottom: 34px;
    }

    .ddw-heading {
        font-size: 34px;
        letter-spacing: -1px;
    }


    /* HERO */

    .ddw-hero {
        padding: 52px 0 56px;
    }

    .ddw-hero-inner {
        gap: 38px;
    }

    .ddw-hero-title {
        font-size: 38px;
        line-height: 1.05;
        letter-spacing: -1.3px;
    }

    .ddw-hero-copy {
        margin-bottom: 28px;
        font-size: 17px;
        line-height: 1.6;
    }

    .ddw-hero-buttons {
        flex-direction: column;
    }

    .ddw-button {
        width: 100%;
    }

    .ddw-hero-visual {
        min-height: 280px;
    }

    .ddw-browser {
        width: 92%;
        top: 5px;
    }

    .ddw-browser-page {
        padding: 24px;
        min-height: 190px;
    }

    .ddw-fix-card {
        width: 170px;
        padding: 15px;
        bottom: 0;
    }

    .ddw-fix-icon {
        width: 36px;
        height: 36px;
        margin-bottom: 10px;
    }

    .ddw-fix-title {
        font-size: 14px;
    }

    .ddw-fix-text {
        font-size: 12px;
    }


    /* CARDS */

    .ddw-service-card,
    .ddw-price-card {
        padding: 26px;
    }

    .ddw-rescue-panel {
        padding: 28px 22px;
    }

    .ddw-why-intro {
        margin-bottom: 38px;
    }


    /* MOBILE VERTICAL PROCESS */

    .ddw-process-grid {
        display: block;
        position: relative;
    }

    .ddw-process-grid:before {
        display: block;
        content: "";
        position: absolute;
        top: 20px;
        bottom: 20px;
        left: 20px;
        width: 2px;
        height: auto;
        background: #D5DEE9;
    }

    .ddw-process-step {
        position: relative;
        min-height: 115px;
        padding: 0 0 34px 66px;
    }

    .ddw-process-step:last-child {
        min-height: 0;
        padding-bottom: 0;
    }

    .ddw-step-number {
        position: absolute;
        top: 0;
        left: 0;

        width: 42px;
        height: 42px;
        margin: 0;

        border: 2px solid var(--ddw-blue);
        border-radius: 50%;
        background: var(--ddw-bg);

        color: var(--ddw-blue);
        font-size: 14px;
        font-weight: 700;
    }

    .ddw-step-title {
        padding-top: 7px;
        margin-bottom: 9px;
        font-size: 18px;
    }

    .ddw-step-copy {
        font-size: 15px;
        line-height: 1.65;
    }


    /* FINAL CTA */

    .ddw-final {
        padding: 20px;
    }

    .ddw-final-box {
        padding: 52px 24px;
    }

    .ddw-final-copy {
        font-size: 17px;
    }
}

/* =========================================================
   DAVE DOES WEBSITING
   SERVICES PAGE
========================================================= */

.ddw-services-page,
.ddw-services-page * {
    box-sizing: border-box;
}

.ddw-services-page {
    --navy: #0B1F3A;
    --blue: #168BFF;
    --blue-dark: #0F6FDB;
    --bg: #F5F7FA;
    --text: #111827;
    --muted: #667085;
    --border: #E5E7EB;

    font-family: Inter, Arial, sans-serif;
    color: var(--text);
}

.ddws-wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.ddws-section {
    padding: 88px 0;
}

.ddws-kicker {
    margin: 0 0 14px;
    color: var(--blue);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ddws-heading {
    margin: 0 0 22px;
    color: var(--navy);
    font-size: 44px;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -1.5px;
}

.ddws-lead {
    margin: 0;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.7;
}

.ddws-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 22px;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
    transition:
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.ddws-button:hover {
    transform: translateY(-2px);
}

.ddws-button-primary {
    color: #fff;
    background: var(--blue);
    border: 1px solid var(--blue);
}

.ddws-button-primary:hover {
    color: #fff;
    background: var(--blue-dark);
    border-color: var(--blue-dark);
}

.ddws-button-outline {
    color: #fff;
    background: transparent;
    border: 1px solid #607089;
}

.ddws-button-outline:hover {
    color: #fff;
    background: rgba(255,255,255,.08);
    border-color: #fff;
}


/* =========================================================
   HERO
========================================================= */

.ddws-hero {
    padding: 92px 0;
    background: var(--navy);
    overflow: hidden;
}

.ddws-hero-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 80px;
    align-items: center;
}

.ddws-hero-title {
    max-width: 690px;
    margin: 0 0 25px;
    color: #fff;
    font-size: clamp(48px, 5vw, 66px);
    line-height: 1.03;
    font-weight: 700;
    letter-spacing: -2.2px;
}

.ddws-hero-title span {
    color: var(--blue);
}

.ddws-hero-copy {
    max-width: 610px;
    margin: 0 0 34px;
    color: #D4DEEA;
    font-size: 19px;
    line-height: 1.7;
}

.ddws-hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}


/* HERO SERVICE SELECTOR */

.ddws-hero-panel {
    position: relative;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    background: rgba(255,255,255,.045);
}

.ddws-hero-panel:before {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: -70px;
    top: -80px;
    border-radius: 50%;
    background: rgba(22,139,255,.13);
}

.ddws-panel-label {
    position: relative;
    margin: 0 0 20px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
}

.ddws-mini-services {
    position: relative;
    display: grid;
    gap: 12px;
}

.ddws-mini-service {
    display: grid;
    grid-template-columns: 46px 1fr auto;
    gap: 15px;
    align-items: center;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    background: rgba(255,255,255,.055);
    text-decoration: none;
    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.ddws-mini-service:hover {
    transform: translateX(3px);
    background: rgba(255,255,255,.09);
    border-color: rgba(22,139,255,.5);
}

.ddws-mini-icon {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(22,139,255,.15);
    color: #7FC0FF;
    font-size: 19px;
    font-weight: 700;
}

.ddws-mini-title {
    margin-bottom: 3px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

.ddws-mini-copy {
    color: #AFC0D4;
    font-size: 13px;
    line-height: 1.4;
}

.ddws-mini-arrow {
    color: var(--blue);
    font-size: 20px;
}


/* =========================================================
   SERVICE SECTIONS
========================================================= */

.ddws-service {
    scroll-margin-top: 100px;
}

.ddws-service-white {
    background: #fff;
}

.ddws-service-light {
    background: var(--bg);
}

.ddws-service-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.ddws-service-grid.reverse .ddws-service-copy {
    order: 2;
}

.ddws-service-grid.reverse .ddws-feature-panel {
    order: 1;
}

.ddws-service-copy p {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.75;
}

.ddws-price-line {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin: 30px 0 28px;
}

.ddws-price-from {
    color: var(--muted);
    font-size: 14px;
}

.ddws-price {
    color: var(--navy);
    font-size: 34px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -1px;
}

.ddws-service-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ddws-text-link {
    display: inline-flex;
    align-items: center;
    padding: 14px 0;
    color: var(--blue);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.ddws-text-link:hover {
    color: var(--blue-dark);
}


/* FEATURE PANEL */

.ddws-feature-panel {
    padding: 38px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(11,31,58,.06);
}

.ddws-feature-panel.dark {
    border-color: rgba(255,255,255,.08);
    background: var(--navy);
    box-shadow: 0 20px 55px rgba(11,31,58,.15);
}

.ddws-feature-title {
    margin: 0 0 24px;
    color: var(--navy);
    font-size: 20px;
    font-weight: 700;
}

.ddws-feature-panel.dark .ddws-feature-title {
    color: #fff;
}

.ddws-feature-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ddws-feature-list li {
    position: relative;
    margin-bottom: 17px;
    padding-left: 34px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.55;
}

.ddws-feature-list li:last-child {
    margin-bottom: 0;
}

.ddws-feature-list li:before {
    content: "✓";
    position: absolute;
    left: 0;
    top: -1px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #EAF4FF;
    color: var(--blue);
    font-size: 12px;
    font-weight: 700;
}

.ddws-feature-panel.dark .ddws-feature-list li {
    color: #C3D0DF;
}

.ddws-feature-panel.dark .ddws-feature-list li:before {
    background: rgba(22,139,255,.15);
    color: #7FC0FF;
}


/* RESCUE PROBLEMS */

.ddws-problem-list {
    display: grid;
    gap: 11px;
}

.ddws-problem {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 15px 16px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    background: rgba(255,255,255,.05);
    color: #D8E2EE;
    font-size: 14px;
    line-height: 1.45;
}

.ddws-problem-x {
    flex: 0 0 auto;
    color: #75B9FF;
    font-weight: 700;
}


/* CARE */

.ddws-care-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.ddws-care-item {
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: #fff;
}

.ddws-care-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #EAF4FF;
    color: var(--blue);
    font-weight: 700;
}

.ddws-care-title {
    margin: 0 0 7px;
    color: var(--navy);
    font-size: 16px;
    font-weight: 700;
}

.ddws-care-copy {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   WHICH SERVICE?
========================================================= */

.ddws-choice {
    background: var(--navy);
}

.ddws-choice .ddws-heading {
    color: #fff;
}

.ddws-choice .ddws-lead {
    color: #C4D0DF;
}

.ddws-choice-intro {
    max-width: 730px;
    margin-bottom: 44px;
}

.ddws-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.ddws-choice-card {
    padding: 28px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 15px;
    background: rgba(255,255,255,.045);
}

.ddws-choice-label {
    margin-bottom: 15px;
    color: var(--blue);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.ddws-choice-title {
    margin: 0 0 10px;
    color: #fff;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
}

.ddws-choice-copy {
    margin: 0;
    color: #B8C6D8;
    font-size: 14px;
    line-height: 1.65;
}


/* =========================================================
   FAQ
========================================================= */

.ddws-faq {
    background: #fff;
}

.ddws-faq-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
}

.ddws-faq-intro {
    max-width: 420px;
}

.ddws-faq-list {
    border-top: 1px solid var(--border);
}

.ddws-faq-item {
    padding: 25px 0;
    border-bottom: 1px solid var(--border);
}

.ddws-faq-question {
    margin: 0 0 9px;
    color: var(--navy);
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
}

.ddws-faq-answer {
    margin: 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   CTA
========================================================= */

.ddws-final {
    padding: 70px 24px;
    background: var(--bg);
}

.ddws-final-box {
    width: 100%;
    max-width: 1152px;
    margin: 0 auto;
    padding: 70px 40px;
    border-radius: 22px;
    background: var(--navy);
    text-align: center;
}

.ddws-final-title {
    max-width: 700px;
    margin: 0 auto 20px;
    color: #fff;
    font-size: 44px;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -1.5px;
}

.ddws-final-copy {
    max-width: 680px;
    margin: 0 auto 30px;
    color: #C9D4E3;
    font-size: 18px;
    line-height: 1.7;
}

.ddws-final-email {
    margin-top: 20px;
    color: #AEBED1;
    font-size: 14px;
}

.ddws-final-email a {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .ddws-section {
        padding: 72px 0;
    }

    .ddws-hero {
        padding: 72px 0;
    }

    .ddws-hero-grid,
    .ddws-service-grid,
    .ddws-faq-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .ddws-service-grid.reverse .ddws-service-copy,
    .ddws-service-grid.reverse .ddws-feature-panel {
        order: initial;
    }

    .ddws-choice-grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .ddws-wrap {
        padding-left: 20px;
        padding-right: 20px;
    }

    .ddws-section {
        padding: 54px 0;
    }

    .ddws-heading {
        font-size: 32px;
        line-height: 1.12;
        letter-spacing: -1px;
    }

    .ddws-lead {
        font-size: 17px;
    }


    /* HERO */

    .ddws-hero {
        padding: 54px 0;
    }

    .ddws-hero-grid {
        gap: 40px;
    }

    .ddws-hero-title {
        font-size: 39px;
        line-height: 1.04;
        letter-spacing: -1.3px;
    }

    .ddws-hero-copy {
        font-size: 17px;
    }

    .ddws-hero-buttons {
        flex-direction: column;
    }

    .ddws-button {
        width: 100%;
    }

    .ddws-hero-panel {
        padding: 20px;
    }

    .ddws-mini-service {
        grid-template-columns: 42px 1fr auto;
        padding: 13px;
        gap: 12px;
    }

    .ddws-mini-icon {
        width: 42px;
        height: 42px;
    }


    /* SERVICES */

    .ddws-service-grid {
        gap: 36px;
    }

    .ddws-feature-panel {
        padding: 26px 22px;
    }

    .ddws-price-line {
        margin: 25px 0 24px;
    }

    .ddws-price {
        font-size: 32px;
    }

    .ddws-care-grid {
        grid-template-columns: 1fr;
    }


    /* CHOICE */

    .ddws-choice-intro {
        margin-bottom: 32px;
    }

    .ddws-choice-card {
        padding: 23px;
    }


    /* FAQ */

    .ddws-faq-grid {
        gap: 30px;
    }


    /* CTA */

    .ddws-final {
        padding: 20px;
    }

    .ddws-final-box {
        padding: 52px 24px;
    }

    .ddws-final-title {
        font-size: 34px;
        letter-spacing: -1px;
    }

    .ddws-final-copy {
        font-size: 17px;
    }

}

/* =========================================================
   DAVE DOES WEBSITING
   ABOUT PAGE
========================================================= */

.ddw-about-page,
.ddw-about-page * {
    box-sizing: border-box;
}

.ddw-about-page {
    --navy: #0B1F3A;
    --blue: #168BFF;
    --blue-dark: #0F6FDB;
    --bg: #F5F7FA;
    --text: #111827;
    --muted: #667085;
    --border: #E5E7EB;

    font-family: Inter, Arial, sans-serif;
    color: var(--text);
}

.ddwa-wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.ddwa-section {
    padding: 88px 0;
}

.ddwa-kicker {
    margin: 0 0 14px;
    color: var(--blue);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ddwa-heading {
    margin: 0 0 22px;
    color: var(--navy);
    font-size: 44px;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -1.5px;
}

.ddwa-lead {
    margin: 0;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.7;
}

.ddwa-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 22px;
    border-radius: 10px;
    background: var(--blue);
    border: 1px solid var(--blue);
    color: #fff;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.ddwa-button:hover {
    background: var(--blue-dark);
    border-color: var(--blue-dark);
    color: #fff;
    transform: translateY(-2px);
}


/* =========================================================
   HERO
========================================================= */

.ddwa-hero {
    padding: 96px 0;
    background: var(--navy);
    overflow: hidden;
}

.ddwa-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 90px;
    align-items: center;
}

.ddwa-hero-title {
    max-width: 700px;
    margin: 0 0 26px;
    color: #fff;
    font-size: clamp(48px, 5vw, 66px);
    line-height: 1.03;
    font-weight: 700;
    letter-spacing: -2.2px;
}

.ddwa-hero-title span {
    color: var(--blue);
}

.ddwa-hero-copy {
    max-width: 640px;
    margin: 0;
    color: #D4DEEA;
    font-size: 19px;
    line-height: 1.7;
}


/* HELLO CARD */

.ddwa-hello-card {
    position: relative;
    padding: 38px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    background: rgba(255,255,255,.05);
    overflow: hidden;
}

.ddwa-hello-card:before {
    content: "";
    position: absolute;
    width: 210px;
    height: 210px;
    right: -80px;
    top: -90px;
    border-radius: 50%;
    background: rgba(22,139,255,.14);
}

.ddwa-hello-mark {
    position: relative;
    width: 54px;
    height: 54px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(22,139,255,.15);
    color: #7FC0FF;
    font-size: 24px;
    font-weight: 700;
}

.ddwa-hello-title {
    position: relative;
    margin: 0 0 13px;
    color: #fff;
    font-size: 25px;
    line-height: 1.25;
    font-weight: 700;
}

.ddwa-hello-copy {
    position: relative;
    margin: 0;
    color: #BCC9D8;
    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   WHY THIS EXISTS
========================================================= */

.ddwa-story {
    background: #fff;
}

.ddwa-story-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 90px;
    align-items: start;
}

.ddwa-story-heading {
    position: sticky;
    top: 120px;
}

.ddwa-story-copy {
    max-width: 680px;
}

.ddwa-story-copy p {
    margin: 0 0 22px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.8;
}

.ddwa-story-copy p:last-child {
    margin-bottom: 0;
}

.ddwa-story-copy strong {
    color: var(--navy);
}


/* =========================================================
   WEBSITING
========================================================= */

.ddwa-websiting {
    background: var(--bg);
}

.ddwa-websiting-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.ddwa-word-card {
    position: relative;
    padding: 48px 42px;
    border-radius: 20px;
    background: var(--navy);
    overflow: hidden;
}

.ddwa-word-card:after {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: -65px;
    bottom: -75px;
    border-radius: 50%;
    background: rgba(22,139,255,.14);
}

.ddwa-word-small {
    position: relative;
    z-index: 1;
    margin-bottom: 10px;
    color: #AFC0D4;
    font-size: 14px;
}

.ddwa-word {
    position: relative;
    z-index: 1;
    margin-bottom: 18px;
    color: var(--blue);
    font-size: clamp(45px, 5vw, 64px);
    line-height: 1;
    font-weight: 700;
    letter-spacing: -2px;
}

.ddwa-definition {
    position: relative;
    z-index: 1;
    max-width: 430px;
    margin: 0;
    color: #fff;
    font-size: 17px;
    line-height: 1.65;
}

.ddwa-websiting-copy p {
    margin: 0 0 19px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.75;
}

.ddwa-websiting-copy p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   HOW I WORK
========================================================= */

.ddwa-values {
    background: var(--navy);
}

.ddwa-values-intro {
    max-width: 720px;
    margin-bottom: 46px;
}

.ddwa-values .ddwa-heading {
    color: #fff;
}

.ddwa-values .ddwa-lead {
    color: #C2CFDE;
}

.ddwa-values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.ddwa-value {
    padding: 28px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 15px;
    background: rgba(255,255,255,.045);
}

.ddwa-value-number {
    margin-bottom: 22px;
    color: var(--blue);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
}

.ddwa-value-title {
    margin: 0 0 11px;
    color: #fff;
    font-size: 19px;
    line-height: 1.35;
    font-weight: 700;
}

.ddwa-value-copy {
    margin: 0;
    color: #B8C6D8;
    font-size: 14px;
    line-height: 1.65;
}


/* =========================================================
   GOOD FIT
========================================================= */

.ddwa-fit {
    background: #fff;
}

.ddwa-fit-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 90px;
    align-items: center;
}

.ddwa-fit-copy p {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.75;
}

.ddwa-fit-panel {
    padding: 36px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(11,31,58,.06);
}

.ddwa-fit-title {
    margin: 0 0 24px;
    color: var(--navy);
    font-size: 20px;
    font-weight: 700;
}

.ddwa-fit-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ddwa-fit-list li {
    position: relative;
    margin-bottom: 18px;
    padding-left: 35px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.55;
}

.ddwa-fit-list li:last-child {
    margin-bottom: 0;
}

.ddwa-fit-list li:before {
    content: "✓";
    position: absolute;
    left: 0;
    top: -1px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #EAF4FF;
    color: var(--blue);
    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   FINAL CTA
========================================================= */

.ddwa-final {
    padding: 70px 24px;
    background: var(--bg);
}

.ddwa-final-box {
    width: 100%;
    max-width: 1152px;
    margin: 0 auto;
    padding: 70px 40px;
    border-radius: 22px;
    background: var(--navy);
    text-align: center;
}

.ddwa-final-title {
    max-width: 720px;
    margin: 0 auto 20px;
    color: #fff;
    font-size: 44px;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -1.5px;
}

.ddwa-final-copy {
    max-width: 650px;
    margin: 0 auto 30px;
    color: #C9D4E3;
    font-size: 18px;
    line-height: 1.7;
}

.ddwa-final-email {
    margin-top: 20px;
    color: #AEBED1;
    font-size: 14px;
}

.ddwa-final-email a {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .ddwa-section {
        padding: 72px 0;
    }

    .ddwa-hero {
        padding: 72px 0;
    }

    .ddwa-hero-grid,
    .ddwa-story-grid,
    .ddwa-websiting-grid,
    .ddwa-fit-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .ddwa-story-heading {
        position: static;
    }

    .ddwa-values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .ddwa-wrap {
        padding-left: 20px;
        padding-right: 20px;
    }

    .ddwa-section {
        padding: 54px 0;
    }

    .ddwa-heading {
        font-size: 32px;
        line-height: 1.12;
        letter-spacing: -1px;
    }

    .ddwa-lead {
        font-size: 17px;
    }


    /* HERO */

    .ddwa-hero {
        padding: 54px 0;
    }

    .ddwa-hero-grid {
        gap: 38px;
    }

    .ddwa-hero-title {
        font-size: 39px;
        line-height: 1.04;
        letter-spacing: -1.3px;
    }

    .ddwa-hero-copy {
        font-size: 17px;
    }

    .ddwa-hello-card {
        padding: 26px 22px;
    }


    /* STORY */

    .ddwa-story-grid {
        gap: 30px;
    }

    .ddwa-story-copy p {
        font-size: 16px;
        line-height: 1.75;
    }


    /* WEBSITING */

    .ddwa-websiting-grid {
        gap: 34px;
    }

    .ddwa-word-card {
        padding: 36px 25px;
    }

    .ddwa-word {
        font-size: 47px;
    }


    /* VALUES */

    .ddwa-values-intro {
        margin-bottom: 32px;
    }

    .ddwa-values-grid {
        grid-template-columns: 1fr;
    }

    .ddwa-value {
        padding: 24px;
    }


    /* FIT */

    .ddwa-fit-grid {
        gap: 34px;
    }

    .ddwa-fit-panel {
        padding: 27px 22px;
    }


    /* CTA */

    .ddwa-final {
        padding: 20px;
    }

    .ddwa-final-box {
        padding: 52px 24px;
    }

    .ddwa-final-title {
        font-size: 34px;
        letter-spacing: -1px;
    }

    .ddwa-final-copy {
        font-size: 17px;
    }

}

/* TIGHTER TRANSITION INTO FINAL CTA */

.ddwa-fit {
    padding-bottom: 64px;
}

.ddwa-final {
    padding-top: 40px;
}

@media (max-width: 600px) {
    .ddwa-fit {
        padding-bottom: 54px;
    }

    .ddwa-final {
        padding-top: 20px;
    }
}

/* =========================================================
   DAVE DOES WEBSITING
   CONTACT PAGE
========================================================= */

.ddw-contact,
.ddw-contact * {
    box-sizing: border-box;
}

.ddw-contact {
    --navy: #0B1F3A;
    --navy-soft: #172E4D;
    --blue: #168BFF;
    --blue-dark: #0F6FDB;
    --bg: #F5F7FA;
    --text: #111827;
    --muted: #667085;
    --border: #DDE3EA;

    font-family: Inter, Arial, sans-serif;
    color: var(--text);
}

.ddwc-wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.ddwc-kicker {
    margin: 0 0 14px;
    color: var(--blue);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.ddwc-heading {
    margin: 0 0 20px;
    color: var(--navy);
    font-size: 44px;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -1.5px;
}

.ddwc-copy {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.7;
}


/* =========================================================
   HERO
========================================================= */

.ddwc-hero {
    padding: 92px 0 96px;
    background: var(--navy);
}

.ddwc-hero-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 80px;
    align-items: center;
}

.ddwc-hero-title {
    max-width: 650px;
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(48px, 5vw, 66px);
    line-height: 1.03;
    font-weight: 700;
    letter-spacing: -2px;
}

.ddwc-hero-title span {
    color: var(--blue);
}

.ddwc-hero-copy {
    max-width: 610px;
    margin: 0;
    color: #D8E1EC;
    font-size: 18px;
    line-height: 1.7;
}


/* =========================================================
   CONTACT CARD
========================================================= */

.ddwc-hello-card {
    position: relative;
    padding: 34px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 18px;
    background: rgba(255,255,255,.06);
    overflow: hidden;
}

.ddwc-hello-card:after {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: -75px;
    top: -80px;
    border-radius: 50%;
    background: rgba(22,139,255,.14);
}

.ddwc-hello-icon {
    position: relative;
    z-index: 1;
    display: flex;
    width: 46px;
    height: 46px;
    margin-bottom: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(22,139,255,.16);
    color: var(--blue);
    font-size: 22px;
    font-weight: 700;
}

.ddwc-hello-card h2 {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    color: #fff;
    font-size: 23px;
    line-height: 1.25;
    font-weight: 700;
}

.ddwc-hello-card > p {
    position: relative;
    z-index: 1;
    margin: 0 0 22px;
    color: #D8E1EC;
    font-size: 14px;
    line-height: 1.6;
}


/* Contact options */

.ddwc-contact-options {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
}

.ddwc-contact-link {
    display: flex;
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 10px;
    background: rgba(255,255,255,.05);
    color: #fff;
    text-decoration: none;
    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.ddwc-contact-link:hover {
    background: rgba(255,255,255,.09);
    border-color: rgba(22,139,255,.55);
    transform: translateY(-1px);
}

.ddwc-contact-icon {
    flex: 0 0 auto;
    display: flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: rgba(22,139,255,.15);
    color: var(--blue);
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
}

.ddwc-contact-details {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.ddwc-contact-label {
    color: #AFC1D6;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;
}

.ddwc-contact-value {
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
}

.ddwc-contact-link:hover .ddwc-contact-value {
    color: var(--blue);
}


/* =========================================================
   NATIVE CONTACT SECTION - LEFT COLUMN
========================================================= */

.ddwc-contact-intro {
    max-width: 440px;
    font-family: Inter, Arial, sans-serif;
}

.ddwc-contact-intro .ddwc-copy {
    margin-bottom: 28px;
}

.ddwc-help-list {
    display: grid;
    gap: 12px;
    margin-top: 30px;
}

.ddwc-help-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    color: #667085;
    font-size: 14px;
    line-height: 1.55;
}

.ddwc-help-tick {
    flex: 0 0 auto;
    display: flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #EAF4FF;
    color: #168BFF;
    font-size: 13px;
    font-weight: 700;
}

.ddwc-reassurance {
    margin-top: 34px;
    padding: 24px;
    border-radius: 14px;
    background: #0B1F3A;
}

.ddwc-reassurance-label {
    display: block;
    margin-bottom: 10px;
    color: #168BFF;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 1.3px;
}

.ddwc-reassurance p {
    margin: 0;
    color: #fff;
    font-size: 15px;
    line-height: 1.65;
}


/* =========================================================
   BOTTOM SECTIONS
========================================================= */

.ddwc-next {
    padding: 88px 0 96px;
    background: #F5F7FA;
}

.ddwc-next-head {
    max-width: 650px;
    margin-bottom: 44px;
}

.ddwc-next-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.ddwc-next-card {
    padding: 28px;
    border: 1px solid #DDE3EA;
    border-radius: 14px;
    background: #fff;
}

.ddwc-next-number {
    margin: 0 0 22px;
    color: #168BFF;
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
}

.ddwc-next-card h3 {
    margin: 0 0 10px;
    color: #0B1F3A;
    font-size: 19px;
    line-height: 1.3;
    font-weight: 700;
}

.ddwc-next-card p {
    margin: 0;
    color: #667085;
    font-size: 14px;
    line-height: 1.6;
}

.ddwc-pressure {
    padding: 88px 0;
    background: #0B1F3A;
}

.ddwc-pressure-inner {
    max-width: 780px;
}

.ddwc-pressure .ddwc-heading {
    max-width: 720px;
    color: #fff;
}

.ddwc-pressure-copy {
    max-width: 700px;
    margin: 0;
    color: #D8E1EC;
    font-size: 17px;
    line-height: 1.7;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .ddwc-hero {
        padding: 72px 0;
    }

    .ddwc-hero-grid {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .ddwc-hero-title {
        max-width: 720px;
    }

    .ddwc-hello-card {
        max-width: 620px;
    }

    .ddwc-contact-intro {
        max-width: 650px;
    }

    .ddwc-next-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {

    .ddwc-wrap {
        padding-left: 18px;
        padding-right: 18px;
    }

    .ddwc-hero {
        padding: 54px 0 58px;
    }

    .ddwc-hero-grid {
        gap: 34px;
    }

    .ddwc-hero-title {
        margin-bottom: 20px;
        font-size: 38px;
        line-height: 1.06;
        letter-spacing: -1.3px;
    }

    .ddwc-hero-copy {
        font-size: 16px;
        line-height: 1.65;
    }

    .ddwc-hello-card {
        padding: 24px 20px;
        border-radius: 15px;
    }

    .ddwc-heading {
        font-size: 32px;
        line-height: 1.12;
        letter-spacing: -1px;
    }

    .ddwc-copy {
        font-size: 16px;
    }

    .ddwc-contact-value {
        font-size: 13px;
    }

    .ddwc-next {
        padding: 58px 0 64px;
    }

    .ddwc-next-head {
        margin-bottom: 30px;
    }

    .ddwc-next-grid {
        gap: 14px;
    }

    .ddwc-next-card {
        padding: 24px 20px;
    }

    .ddwc-pressure {
        padding: 58px 0;
    }
}


/* =========================================================
   STANDALONE CONTACT FORM
========================================================= */
.ddwc-form-section { padding: 88px 0; background:#fff; }
.ddwc-form-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:80px;
  align-items:start;
}
.ddwc-form-card {
  padding:34px;
  border:1px solid #DDE3EA;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 55px rgba(11,31,58,.07);
}
.ddwc-form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.ddwc-field { margin-bottom:18px; }
.ddwc-field label {
  display:block;
  margin-bottom:7px;
  color:#0B1F3A;
  font-size:14px;
  line-height:1.4;
  font-weight:700;
}
.ddwc-field input,
.ddwc-field textarea {
  width:100%;
  padding:13px 14px;
  border:1px solid #DDE3EA;
  border-radius:9px;
  background:#fff;
  color:#111827;
  font:inherit;
  font-size:15px;
  line-height:1.5;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.ddwc-field textarea { min-height:150px; resize:vertical; }
.ddwc-field input:focus,
.ddwc-field textarea:focus {
  border-color:#168BFF;
  box-shadow:0 0 0 3px rgba(22,139,255,.12);
}
.ddwc-form-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 22px;
  border:0;
  border-radius:10px;
  background:#168BFF;
  color:#fff;
  font:inherit;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}
.ddwc-form-button:hover { background:#0F6FDB; }
.ddwc-form-note {
  margin:14px 0 0;
  color:#667085;
  font-size:12px;
  line-height:1.55;
}
.ddwc-form-status {
  display:none;
  margin-top:16px;
  padding:14px;
  border-radius:9px;
  font-size:14px;
}
.ddwc-form-status.is-visible { display:block; }
.ddwc-form-status.success { background:#ECFDF3; color:#176B3A; }
.ddwc-form-status.error { background:#FEF3F2; color:#B42318; }
@media(max-width:991px){
  .ddwc-form-grid{grid-template-columns:1fr;gap:44px}
  .ddwc-contact-intro{max-width:650px}
}
@media(max-width:600px){
  .ddwc-form-section{padding:58px 0}
  .ddwc-form-grid{gap:34px}
  .ddwc-form-card{padding:24px 20px;border-radius:15px}
  .ddwc-form-row{grid-template-columns:1fr;gap:0}
  .ddwc-form-button{width:100%}
}


/* =========================================================
   DAVE DOES WEBSITING
   PRIVACY POLICY
========================================================= */

.ddw-privacy,
.ddw-privacy * { box-sizing: border-box; }

.ddw-privacy {
    --navy: #0B1F3A; --blue: #168BFF; --bg: #F5F7FA;
    --text: #111827; --muted: #667085; --border: #DDE3EA;
    font-family: Inter, Arial, sans-serif; color: var(--text);
}
.ddwp-wrap { width:100%; max-width:1200px; margin:0 auto; padding-left:24px; padding-right:24px; }
.ddwp-hero { padding:78px 0 82px; background:var(--navy); }
.ddwp-kicker { margin:0 0 14px; color:var(--blue); font-size:13px; line-height:1.2; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; }
.ddwp-hero h1 { margin:0 0 18px; color:#fff; font-size:clamp(44px,5vw,60px); line-height:1.05; font-weight:700; letter-spacing:-1.8px; }
.ddwp-hero-copy { max-width:680px; margin:0; color:#D8E1EC; font-size:17px; line-height:1.7; }
.ddwp-content { padding:78px 0 96px; background:#fff; }
.ddwp-layout { display:grid; grid-template-columns:minmax(0,760px) 1fr; gap:90px; align-items:start; }
.ddwp-policy { max-width:760px; }
.ddwp-updated { margin:0 0 42px; padding-bottom:22px; border-bottom:1px solid var(--border); color:var(--muted); font-size:13px; line-height:1.5; }
.ddwp-section { margin-bottom:46px; }.ddwp-section:last-child{margin-bottom:0}
.ddwp-section h2 { margin:0 0 16px; color:var(--navy); font-size:26px; line-height:1.25; font-weight:700; letter-spacing:-.5px; }
.ddwp-section h3 { margin:26px 0 10px; color:var(--navy); font-size:18px; line-height:1.35; font-weight:700; }
.ddwp-section p { margin:0 0 16px; color:var(--muted); font-size:16px; line-height:1.75; }.ddwp-section p:last-child{margin-bottom:0}
.ddwp-section ul { margin:18px 0; padding:0; list-style:none; }
.ddwp-section li { position:relative; margin-bottom:10px; padding-left:24px; color:var(--muted); font-size:16px; line-height:1.65; }
.ddwp-section li:before { content:"•"; position:absolute; left:5px; top:0; color:var(--blue); font-weight:700; }
.ddwp-section strong { color:var(--text); font-weight:700; }
.ddwp-section a { color:var(--blue); font-weight:600; text-decoration:none; }.ddwp-section a:hover{text-decoration:underline}
.ddwp-side { position:sticky; top:32px; }
.ddwp-card { padding:28px; border-radius:16px; background:var(--bg); border:1px solid var(--border); }
.ddwp-card-label { display:block; margin-bottom:12px; color:var(--blue); font-size:11px; line-height:1.3; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; }
.ddwp-card h2 { margin:0 0 12px; color:var(--navy); font-size:21px; line-height:1.3; font-weight:700; }
.ddwp-card p { margin:0 0 18px; color:var(--muted); font-size:14px; line-height:1.65; }
.ddwp-card a { color:var(--blue); font-size:14px; line-height:1.5; font-weight:700; text-decoration:none; overflow-wrap:anywhere; }.ddwp-card a:hover{text-decoration:underline}
@media(max-width:991px){.ddwp-layout{grid-template-columns:1fr;gap:54px}.ddwp-policy{max-width:none}.ddwp-side{position:static;max-width:520px}}
@media(max-width:600px){.ddwp-wrap{padding-left:18px;padding-right:18px}.ddwp-hero{padding:54px 0 58px}.ddwp-hero h1{font-size:38px;line-height:1.06;letter-spacing:-1.2px}.ddwp-hero-copy{font-size:16px}.ddwp-content{padding:54px 0 64px}.ddwp-updated{margin-bottom:34px}.ddwp-section{margin-bottom:38px}.ddwp-section h2{font-size:23px}.ddwp-section p,.ddwp-section li{font-size:15px}.ddwp-card{padding:24px 20px}}


.ddw-terms,.ddw-terms *{box-sizing:border-box}.ddw-terms{--navy:#0B1F3A;--blue:#168BFF;--bg:#F5F7FA;--text:#111827;--muted:#667085;--border:#DDE3EA;font-family:Inter,Arial,sans-serif;color:var(--text)}
.ddwt-wrap{width:100%;max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}.ddwt-hero{padding:78px 0 82px;background:var(--navy)}
.ddwt-kicker{margin:0 0 14px;color:var(--blue);font-size:13px;line-height:1.2;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.ddwt-hero h1{margin:0 0 18px;color:#fff;font-size:clamp(44px,5vw,60px);line-height:1.05;font-weight:700;letter-spacing:-1.8px}
.ddwt-hero-copy{max-width:700px;margin:0;color:#D8E1EC;font-size:17px;line-height:1.7}.ddwt-content{padding:78px 0 96px;background:#fff}
.ddwt-layout{display:grid;grid-template-columns:minmax(0,760px) 1fr;gap:90px;align-items:start}.ddwt-terms-copy{max-width:760px}
.ddwt-updated{margin:0 0 42px;padding-bottom:22px;border-bottom:1px solid var(--border);color:var(--muted);font-size:13px;line-height:1.5}
.ddwt-section{margin-bottom:46px}.ddwt-section:last-child{margin-bottom:0}.ddwt-section h2{margin:0 0 16px;color:var(--navy);font-size:26px;line-height:1.25;font-weight:700;letter-spacing:-.5px}
.ddwt-section h3{margin:26px 0 10px;color:var(--navy);font-size:18px;line-height:1.35;font-weight:700}.ddwt-section p{margin:0 0 16px;color:var(--muted);font-size:16px;line-height:1.75}
.ddwt-section p:last-child{margin-bottom:0}.ddwt-section ul{margin:18px 0;padding:0;list-style:none}.ddwt-section li{position:relative;margin-bottom:10px;padding-left:24px;color:var(--muted);font-size:16px;line-height:1.65}
.ddwt-section li:before{content:"•";position:absolute;left:5px;top:0;color:var(--blue);font-weight:700}.ddwt-section strong{color:var(--text);font-weight:700}
.ddwt-section a{color:var(--blue);font-weight:600;text-decoration:none}.ddwt-section a:hover{text-decoration:underline}.ddwt-side{position:sticky;top:32px}
.ddwt-card{padding:28px;border-radius:16px;background:var(--bg);border:1px solid var(--border)}.ddwt-card-label{display:block;margin-bottom:12px;color:var(--blue);font-size:11px;line-height:1.3;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}
.ddwt-card h2{margin:0 0 12px;color:var(--navy);font-size:21px;line-height:1.3;font-weight:700}.ddwt-card p{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.65}
.ddwt-card a{color:var(--blue);font-size:14px;line-height:1.5;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.ddwt-card a:hover{text-decoration:underline}
@media(max-width:991px){.ddwt-layout{grid-template-columns:1fr;gap:54px}.ddwt-terms-copy{max-width:none}.ddwt-side{position:static;max-width:520px}}
@media(max-width:600px){.ddwt-wrap{padding-left:18px;padding-right:18px}.ddwt-hero{padding:54px 0 58px}.ddwt-hero h1{font-size:38px;line-height:1.06;letter-spacing:-1.2px}.ddwt-hero-copy{font-size:16px}.ddwt-content{padding:54px 0 64px}.ddwt-updated{margin-bottom:34px}.ddwt-section{margin-bottom:38px}.ddwt-section h2{font-size:23px}.ddwt-section p,.ddwt-section li{font-size:15px}.ddwt-card{padding:24px 20px}}
