/* digitalagency: page-specific styles extracted from resources/views/digitalagency.blade.php. */
.dm-page,
    .dm-page * {
        box-sizing: border-box;
    }
    #smScrollTopBtn{
        display: none !important;
    }

    .dm-page {
        --dm-green: #18a64a;
        --dm-green-dark: #11873b;
        --dm-green-soft: #eef9f1;
        --dm-text: #4a545d;
        --dm-heading: #16202a;
        --dm-border: #e3e8e5;
        --dm-soft: #f7faf8;
        --dm-white: #ffffff;
        --dm-navy: #172b52;
        --dm-orange: #f76300;
        background: #fff;
        color: var(--dm-heading);
        overflow: hidden;
    }

    .dm-container {
        width: 100%;
        max-width: 1420px;
        margin: 0 auto;
        padding-left: 18px;
        padding-right: 18px;
    }

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

    .dm-section-label {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 12px;
        color: var(--dm-green);
        font-size: 12px;
        font-weight: 700;
        line-height: 1.2;
        text-transform: uppercase;
        letter-spacing: .08em;
    }

    .dm-section-heading {
        margin: 0;
        color: var(--dm-heading);
        font-size: 31px;
        line-height: 1.18;
        font-weight: 700;
        letter-spacing: -.03em;
    }

    .dm-section-text {
        margin: 12px auto 0;
        max-width: 760px;
        color: var(--dm-text);
        font-size: 16px;
        line-height: 1.75;
    }

    .dm-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 50px;
        padding: 14px 22px;
        border-radius: 8px;
        border: 1px solid transparent;
        text-decoration: none !important;
        font-size: 13px;
        font-weight: 700;
        line-height: 1;
        text-transform: uppercase;
        letter-spacing: .03em;
        transition: all .25s ease;
        cursor: pointer;
    }

    .dm-btn-primary {
        background: var(--dm-green);
        color: #fff !important;
        border-color: var(--dm-green);
        box-shadow: 0 12px 28px rgba(24, 166, 74, .16);
    }

    .dm-btn-primary:hover {
        transform: translateY(-2px);
        background: var(--dm-green-dark);
        border-color: var(--dm-green-dark);
    }

    .dm-btn-outline {
        background: #fff;
        color: var(--dm-heading) !important;
        border-color: #adb6b1;
    }

    .dm-btn-outline:hover {
        border-color: var(--dm-green);
        color: var(--dm-green) !important;
        transform: translateY(-2px);
    }

    .dm-card {
        background: #fff;
        border: 1px solid var(--dm-border);
        border-radius: 14px;
        box-shadow: 0 12px 28px rgba(23, 42, 31, .05);
    }

    /* hero */
    .dm-hero {
        padding: 26px 0 34px;
        background:
            radial-gradient(circle at 95% 10%, rgba(24, 166, 74, .08), transparent 24%),
            #fff;
    }

    .dm-hero-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 30px;
        align-items: center;
    }

    .dm-hero-title {
        margin: 0;
        max-width: 760px;
        font-size: clamp(34px, 8vw, 46px);
        line-height: 1.09;
        font-weight: 700;
        letter-spacing: -.04em;
        color: var(--dm-heading);
    }

    .dm-hero-title .green {
        color: var(--dm-green);
    }

    .dm-title-line {
        width: 50px;
        height: 3px;
        margin: 18px 0 18px;
        border-radius: 10px;
        background: var(--dm-green);
    }

    .dm-hero-description {
        max-width: 620px;
        margin: 0;
        color: var(--dm-text);
        font-size: 17px;
        line-height: 1.75;
    }

    .dm-hero-actions {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 26px;
    }

    .dm-trust-badges {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 24px;
    }

    .dm-trust-card {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 72px;
        padding: 13px 14px;
        border: 1px solid var(--dm-border);
        border-radius: 10px;
        background: #fff;
        box-shadow: 0 6px 18px rgba(18, 44, 29, .04);
    }

    .dm-trust-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background: var(--dm-green-soft);
        color: var(--dm-green);
        font-size: 20px;
        font-weight: 700;
    }

    .dm-google-g {
        color: #4285f4;
        background: #f5f7ff;
    }

    .dm-meta-icon {
        color: #1675f2;
        background: #f1f6ff;
    }

    .dm-trust-title {
        margin: 0;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.3;
        color: var(--dm-heading);
    }

    .dm-trust-small {
        display: block;
        margin-top: 4px;
        color: #727b75;
        font-size: 12px;
        line-height: 1.35;
    }

    .dm-stars {
        color: #ffb400;
        letter-spacing: 1px;
    }

    /* form */
    .dm-form-card {
        padding: 26px 18px;
        border: 1px solid var(--dm-border);
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 18px 46px rgba(19, 49, 31, .08);
    }

    .dm-form-title {
        margin: 0;
        text-align: center;
        font-size: 29px;
        line-height: 1.15;
        font-weight: 700;
        color: var(--dm-heading);
    }

    .dm-form-title span {
        color: var(--dm-green);
    }

    .dm-form-subtitle {
        max-width: 390px;
        margin: 10px auto 20px;
        text-align: center;
        color: #616b64;
        font-size: 14px;
        line-height: 1.6;
    }

    .dm-form-group {
        margin-bottom: 11px;
    }

    .dm-form-control {
        display: block;
        width: 100%;
        min-height: 46px;
        padding: 11px 14px;
        border: 1px solid #dbe2dd;
        border-radius: 7px;
        background: #fff;
        color: #2b322d;
        font-size: 14px;
        outline: none;
        transition: all .2s ease;
    }

    textarea.dm-form-control {
        min-height: 104px;
        resize: vertical;
    }

    .dm-form-control:focus {
        border-color: var(--dm-green);
        box-shadow: 0 0 0 3px rgba(24, 166, 74, .08);
    }

    select.dm-form-control,
    .dm-form-select {
        cursor: pointer;
        padding-right: 38px;
    }

    .dm-form-select:required:invalid {
        color: #8a9590;
    }

    .dm-form-select option {
        color: #2b322d;
    }

    .dm-form-submit {
        width: 100%;
        min-height: 49px;
        border: 0;
        border-radius: 7px;
        background: var(--dm-green);
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        text-transform: uppercase;
        cursor: pointer;
        transition: all .25s ease;
    }

    .dm-form-submit:hover {
        background: var(--dm-green-dark);
        transform: translateY(-1px);
    }

    .dm-form-privacy {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        margin-top: 11px;
        color: #707872;
        font-size: 11px;
    }

    .dm-form-privacy i {
        color: var(--dm-green);
    }

    /* core cards */
    .dm-core-services {
        padding: 12px 0 42px;
    }

    .dm-core-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .dm-core-card {
        height: 100%;
        padding: 24px 20px;
        border: 1px solid var(--dm-border);
        border-radius: 13px;
        background: #fff;
        transition: all .25s ease;
    }

    .dm-core-card:hover {
        transform: translateY(-4px);
        border-color: rgba(24, 166, 74, .25);
        box-shadow: 0 16px 34px rgba(18, 44, 29, .08);
    }

    .dm-core-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 55px;
        height: 55px;
        margin-bottom: 18px;
        border-radius: 50%;
        background: var(--dm-green-soft);
        color: var(--dm-green);
        font-size: 23px;
    }

    .dm-core-title {
        margin: 0 0 10px;
        font-size: 21px;
        line-height: 1.25;
        font-weight: 700;
        color: var(--dm-heading);
    }

    .dm-core-text {
        margin: 0;
        font-size: 15px;
        line-height: 1.72;
        color: var(--dm-text);
    }

    .dm-learn-link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-top: 17px;
        color: var(--dm-green) !important;
        text-decoration: none !important;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
    }

    /* stats */
    .dm-stats-wrap {
        padding: 26px 0;
        background: linear-gradient(90deg, rgba(24, 166, 74, .035), rgba(24, 166, 74, .08), rgba(24, 166, 74, .035));
        border-top: 1px solid #edf3ef;
        border-bottom: 1px solid #edf3ef;
    }

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

    .dm-stat {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .dm-stat-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 46px;
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: #eaf7ee;
        color: var(--dm-green);
        font-size: 20px;
    }

    .dm-stat-number {
        display: block;
        margin-bottom: 2px;
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
        color: var(--dm-heading);
    }

    .dm-stat-label {
        color: #68716b;
        font-size: 12px;
        line-height: 1.35;
    }

    /* report section */
    .dm-report-section {
        padding: 56px 0;
        background: #fff;
    }

    .dm-report-header {
        margin-bottom: 28px;
        text-align: center;
    }

    .dm-report-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .dm-report-left,
    .dm-report-right {
        min-width: 0;
    }

    .dm-kpi-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
        margin-bottom: 18px;
    }

    .dm-kpi-card {
        padding: 18px 16px;
        border: 1px solid var(--dm-border);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 10px 24px rgba(18, 44, 29, .045);
    }

    .dm-kpi-label {
        display: block;
        color: #69726d;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.3;
    }

    .dm-kpi-value {
        display: block;
        margin-top: 8px;
        font-size: 28px;
        font-weight: 700;
        line-height: 1;
        color: var(--dm-heading);
    }

    .dm-kpi-change {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        margin-top: 10px;
        color: var(--dm-green);
        font-size: 12px;
        font-weight: 700;
    }

    .dm-report-card {
        padding: 22px 18px;
        border: 1px solid var(--dm-border);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 12px 30px rgba(18, 44, 29, .05);
    }

    .dm-report-card-title {
        margin: 0 0 18px;
        font-size: 22px;
        font-weight: 700;
        line-height: 1.2;
        color: var(--dm-heading);
    }

    .dm-line-chart {
        position: relative;
        height: 230px;
        padding: 18px 12px 12px;
        border-radius: 12px;
        background:
            linear-gradient(to top, rgba(0,0,0,.03) 1px, transparent 1px) 0 100% / 100% 25%,
            linear-gradient(to right, rgba(0,0,0,.03) 1px, transparent 1px) 0 0 / 12.5% 100%,
            #fbfdfb;
        overflow: hidden;
    }

    .dm-line-chart svg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    .dm-chart-legend {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        margin-top: 14px;
    }

    .dm-legend-item {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: #6b736d;
        font-size: 12px;
        font-weight: 700;
    }

    .dm-legend-dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
    }

    .dm-legend-dot.green {
        background: var(--dm-green);
    }

    .dm-legend-dot.blue {
        background: #4b7cf3;
    }

    .dm-report-info {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .dm-mini-bars {
        display: grid;
        gap: 12px;
    }

    .dm-bar-item {
        display: grid;
        gap: 6px;
    }

    .dm-bar-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        font-size: 13px;
        font-weight: 700;
        color: var(--dm-heading);
    }

    .dm-bar-track {
        width: 100%;
        height: 9px;
        border-radius: 50px;
        background: #edf2ee;
        overflow: hidden;
    }

    .dm-bar-fill {
        height: 100%;
        border-radius: 50px;
        background: linear-gradient(90deg, #18a64a, #2bc562);
    }

    .dm-role-box {
        padding: 20px 18px;
        border: 1px solid var(--dm-border);
        border-radius: 14px;
        background: #fbfdfb;
    }

    .dm-role-box h3 {
        margin: 0 0 10px;
        font-size: 22px;
        line-height: 1.2;
        font-weight: 700;
        color: var(--dm-heading);
    }

    .dm-role-box p {
        margin: 0;
        font-size: 15px;
        line-height: 1.75;
        color: var(--dm-text);
    }

    .dm-role-list {
        display: grid;
        gap: 10px;
        margin-top: 16px;
    }

    .dm-role-list-item {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        color: #39413a;
        font-size: 14px;
        line-height: 1.65;
    }

    .dm-role-list-item i {
        color: var(--dm-green);
        margin-top: 3px;
    }

    /* flip services */
    .dm-marketing-services {
        padding: 58px 0;
        background: linear-gradient(180deg, #f8fcfa 0%, #f4faf7 100%);
    }

    .dm-services-header {
        margin-bottom: 28px;
        text-align: center;
    }

    .dm-flip-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .dm-flip-card {
        position: relative;
        min-height: 235px;
        perspective: 1100px;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .dm-flip-inner {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        transform-style: preserve-3d;
        transition: transform .62s cubic-bezier(.2, .72, .35, 1);
    }

    .dm-flip-card.is-flipped .dm-flip-inner {
        transform: rotateY(180deg);
    }

    .dm-flip-front,
    .dm-flip-back {
        position: absolute;
        inset: 0;
        overflow: hidden;
        border: 1px solid var(--dm-border);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 11px 28px rgba(23, 51, 33, .07);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }

    .dm-flip-front {
        display: flex;
        flex-direction: column;
    }

    .dm-flip-image-wrap {
        position: relative;
        flex: 1 1 auto;
        min-height: 165px;
        background: #eef4f0;
        overflow: hidden;
    }

    .dm-flip-image-wrap::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.13));
    }

    .dm-flip-image {
        width: 100%;
        height: 100%;
        min-height: 165px;
        object-fit: contain;
        transition: transform .45s ease;
    }

    .dm-flip-front-title {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 70px;
        margin: 0;
        padding: 12px 8px;
        text-align: center;
        font-size: 14px;
        line-height: 1.35;
        font-weight: 700;
        color: var(--dm-heading);
    }

    .dm-flip-back {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 20px 14px;
        text-align: center;
        transform: rotateY(180deg);
        background: radial-gradient(circle at 50% 0%, rgba(24, 166, 74, .08), transparent 40%), #fff;
    }

    .dm-flip-back-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        margin-bottom: 13px;
        border-radius: 50%;
        background: var(--dm-green-soft);
        color: var(--dm-green);
        font-size: 18px;
    }

    .dm-flip-back-title {
        margin: 0 0 12px;
        font-size: 18px;
        line-height: 1.35;
        font-weight: 700;
        color: var(--dm-heading);
    }

    .dm-flip-back-text {
        margin: 0;
        font-size: 12px;
        line-height: 1.72;
        color: #454e48;
    }

    .dm-flip-hint {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-top: 12px;
        color: var(--dm-green);
        font-size: 10px;
        font-weight: 700;
    }

    /* logos */
    .dm-logo-section {
        padding: 56px 0;
        background: #fff;
    }

    .dm-logo-header {
        text-align: center;
        margin-bottom: 24px;
    }

    .dm-logo-slider {
        position: relative;
        overflow: hidden;
        padding: 8px 0;
    }

    .dm-logo-track {
        display: flex;
        gap: 18px;
        transition: transform .45s ease;
        will-change: transform;
    }

    .dm-logo-slide {
        flex: 0 0 230px;
        min-width: 230px;
    }

    .dm-logo-card {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 14px;
        min-height: 196px;
        padding: 24px 18px;
        border: 1px solid #edf0ee;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 10px 26px rgba(20, 50, 31, .05);
        text-align: center;
    }

    .dm-logo-image-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 88px;
        height: 88px;
        border-radius: 50%;
        background: #fff;
    }

    .dm-logo-image {
        max-width: 78px;
        max-height: 78px;
        object-fit: contain;
    }

    .dm-logo-name {
        margin: 0;
        color: #28312b;
        font-size: 15px;
        line-height: 1.45;
        font-weight: 700;
    }

    .dm-logo-arrow {
        position: absolute;
        top: 50%;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 46px;
        border: 0;
        border-radius: 50%;
        background: #fff;
        color: #3a77ff;
        font-size: 18px;
        box-shadow: 0 10px 24px rgba(16, 34, 56, .14);
        transform: translateY(-50%);
        opacity: 0;
        visibility: hidden;
        cursor: pointer;
        transition: all .25s ease;
    }

    .dm-logo-arrow:hover {
        transform: translateY(-50%) scale(1.04);
    }

    .dm-logo-arrow.prev {
        left: 10px;
    }

    .dm-logo-arrow.next {
        right: 10px;
    }

    .dm-logo-slider:hover .dm-logo-arrow {
        opacity: 1;
        visibility: visible;
    }

    .dm-logo-dots {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        margin-top: 16px;
    }

    .dm-logo-dot {
        width: 12px;
        height: 12px;
        border: 0;
        border-radius: 50%;
        background: #9fc0de;
        cursor: pointer;
        transition: all .25s ease;
    }

    .dm-logo-dot.active {
        background: #2376ff;
        transform: scale(1.12);
    }

    /* process */
    .dm-process {
        padding: 58px 0 52px;
        background: #fff;
    }

    .dm-process-heading {
        text-align: center;
        margin-bottom: 28px;
    }

    .dm-process-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .dm-process-step {
        position: relative;
        display: grid;
        grid-template-columns: 66px 1fr;
        gap: 14px;
        align-items: flex-start;
    }

    .dm-process-icon-wrap {
        position: relative;
    }

    .dm-step-number {
        position: absolute;
        top: -5px;
        left: -3px;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 25px;
        height: 25px;
        border-radius: 50%;
        background: var(--dm-green);
        color: #fff;
        font-size: 12px;
        font-weight: 700;
    }

    .dm-process-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 62px;
        height: 62px;
        border-radius: 50%;
        background: var(--dm-green-soft);
        color: var(--dm-green);
        font-size: 23px;
    }

    .dm-process-title {
        margin: 4px 0 7px;
        font-size: 17px;
        line-height: 1.35;
        font-weight: 700;
        color: var(--dm-heading);
    }

    .dm-process-text {
        margin: 0;
        font-size: 14px;
        line-height: 1.72;
        color: var(--dm-text);
    }

    /* testimonial */
    .dm-testimonial-wrap {
        padding-bottom: 48px;
    }

    .dm-testimonial {
        padding: 28px 22px;
        border: 1px solid var(--dm-border);
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 10px 28px rgba(20, 50, 31, .045);
    }

    .dm-quote-icon {
        margin-bottom: 13px;
        color: var(--dm-green);
        font-size: 36px;
        line-height: 1;
        font-weight: 700;
    }

    .dm-testimonial-text {
        margin: 0;
        color: #343c36;
        font-size: 16px;
        line-height: 1.75;
    }

    .dm-testimonial-footer {
        display: flex;
        align-items: center;
        gap: 13px;
        margin-top: 18px;
    }

    .dm-testimonial-avatar {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 50px;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: #edf1ee;
        color: var(--dm-green);
        font-size: 14px;
        font-weight: 700;
        overflow: hidden;
    }

    .dm-client-name {
        display: block;
        color: var(--dm-heading);
        font-size: 14px;
        font-weight: 700;
    }

    .dm-client-role {
        display: block;
        margin-top: 2px;
        color: #727b75;
        font-size: 12px;
    }

    .dm-rating {
        margin-top: 5px;
        color: #ffae00;
        font-size: 14px;
        letter-spacing: 2px;
    }

    /* agency difference */
    .dm-difference {
        padding: 60px 0;
        background: #fff;
    }

    .dm-difference-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 26px;
        align-items: center;
    }

    .dm-difference-copy .dm-section-text {
        margin-left: 0;
        margin-right: 0;
        max-width: 650px;
    }

    .dm-difference-points {
        display: grid;
        gap: 12px;
        margin-top: 24px;
    }

    .dm-difference-point {
        display: flex;
        align-items: flex-start;
        gap: 11px;
        color: #39433d;
        font-size: 15px;
        line-height: 1.65;
    }

    .dm-difference-point i {
        flex: 0 0 auto;
        margin-top: 4px;
        color: var(--dm-green);
    }

    .dm-difference-copy .dm-btn {
        margin-top: 26px;
    }

    .dm-performance-panel {
        padding: 20px;
        border: 1px solid var(--dm-border);
        border-radius: 18px;
        background:
            radial-gradient(circle at 100% 0%, rgba(24, 166, 74, .10), transparent 35%),
            #fbfdfb;
        box-shadow: 0 16px 38px rgba(20, 50, 31, .06);
    }

    .dm-performance-panel-head {
        margin-bottom: 16px;
    }

    .dm-performance-panel-head span {
        display: block;
        color: var(--dm-green);
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .08em;
    }

    .dm-performance-panel-head h3 {
        margin: 6px 0 0;
        color: var(--dm-heading);
        font-size: 23px;
        line-height: 1.3;
        font-weight: 700;
    }

    .dm-performance-flow {
        display: grid;
        gap: 12px;
    }

    .dm-performance-step {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 12px;
        align-items: center;
        padding: 14px;
        border: 1px solid #e5ebe7;
        border-radius: 12px;
        background: #fff;
    }

    .dm-performance-step-number {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border-radius: 12px;
        background: var(--dm-green-soft);
        color: var(--dm-green);
        font-size: 13px;
        font-weight: 700;
    }

    .dm-performance-step strong {
        display: block;
        margin-bottom: 3px;
        color: var(--dm-heading);
        font-size: 15px;
        line-height: 1.35;
    }

    .dm-performance-step small {
        display: block;
        color: #6b756f;
        font-size: 12px;
        line-height: 1.55;
    }

    /* growth system */
    .dm-growth-system {
        padding: 60px 0;
        background: linear-gradient(180deg, #f5fbf7 0%, #fbfdfb 100%);
        border-top: 1px solid #edf3ef;
        border-bottom: 1px solid #edf3ef;
    }

    .dm-growth-header {
        max-width: 820px;
        margin: 0 auto 28px;
        text-align: center;
    }

    .dm-growth-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .dm-growth-card {
        position: relative;
        min-height: 100%;
        padding: 22px 18px;
        border: 1px solid var(--dm-border);
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 10px 28px rgba(20, 50, 31, .04);
    }

    .dm-growth-card-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        margin-bottom: 16px;
        border-radius: 14px;
        background: var(--dm-green-soft);
        color: var(--dm-green);
        font-size: 20px;
    }

    .dm-growth-card-number {
        position: absolute;
        top: 16px;
        right: 16px;
        color: #dfe8e2;
        font-size: 32px;
        font-weight: 700;
        line-height: 1;
    }

    .dm-growth-card h3 {
        margin: 0 0 8px;
        color: var(--dm-heading);
        font-size: 19px;
        line-height: 1.35;
        font-weight: 700;
    }

    .dm-growth-card p {
        margin: 0;
        color: var(--dm-text);
        font-size: 14px;
        line-height: 1.7;
    }

    /* monthly optimisation */
    .dm-monthly-focus {
        padding: 60px 0;
        background: #fff;
    }

    .dm-monthly-header {
        max-width: 820px;
        margin: 0 auto 28px;
        text-align: center;
    }

    .dm-monthly-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .dm-monthly-card {
        padding: 24px 20px;
        border: 1px solid var(--dm-border);
        border-radius: 15px;
        background: #fff;
        box-shadow: 0 12px 30px rgba(20, 50, 31, .045);
    }

    .dm-monthly-card-top {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 16px;
    }

    .dm-monthly-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: var(--dm-green-soft);
        color: var(--dm-green);
        font-size: 18px;
    }

    .dm-monthly-card h3 {
        margin: 0;
        color: var(--dm-heading);
        font-size: 20px;
        line-height: 1.35;
        font-weight: 700;
    }

    .dm-monthly-list {
        display: grid;
        gap: 9px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .dm-monthly-list li {
        display: flex;
        align-items: flex-start;
        gap: 9px;
        color: #4a554f;
        font-size: 14px;
        line-height: 1.6;
    }

    .dm-monthly-list i {
        margin-top: 4px;
        color: var(--dm-green);
        font-size: 12px;
    }

    /* faq */
    .dm-faq-section {
        padding: 62px 0;
        background: linear-gradient(180deg, #fbfdfb 0%, #f6faf7 100%);
    }

    .dm-faq-heading {
        text-align: center;
        margin-bottom: 30px;
    }

    .dm-faq-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        width: 100%;
        max-width: 1240px;
        margin: 0 auto;
    }

    .dm-faq-item {
        overflow: hidden;
        border: 1px solid #dfe7e2;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 8px 24px rgba(20, 50, 31, .035);
        transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
    }

    .dm-faq-item:hover {
        border-color: rgba(24, 166, 74, .28);
        box-shadow: 0 12px 30px rgba(20, 50, 31, .055);
    }

    .dm-faq-item.active {
        border-color: rgba(24, 166, 74, .34);
        box-shadow: 0 14px 34px rgba(20, 50, 31, .07);
    }

    .dm-faq-button {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        width: 100%;
        padding: 19px 20px;
        border: 0;
        background: transparent;
        text-align: left;
        font-size: 16px;
        line-height: 1.45;
        font-weight: 700;
        color: var(--dm-heading);
        cursor: pointer;
    }

    .dm-faq-button span {
        min-width: 0;
        width: 100%;
        text-align: left;
    }

    .dm-faq-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 34px;
        width: 34px;
        height: 34px;
        border-radius: 50%;
        background: var(--dm-green-soft);
        color: var(--dm-green);
        font-size: 13px;
        transition: transform .28s ease, background .28s ease, color .28s ease;
    }

    .dm-faq-item.active .dm-faq-icon {
        transform: rotate(180deg);
        background: var(--dm-green);
        color: #fff;
    }

    .dm-faq-answer {
        display: none;
        padding: 0 68px 20px 20px;
        text-align: left;
        color: #59615c;
        font-size: 15px;
        line-height: 1.75;
    }

    .dm-faq-item.active .dm-faq-answer {
        display: block;
    }

    /* cta */
    .dm-final-cta {
        padding: 30px 0;
        background:
            radial-gradient(circle at 95% 50%, rgba(255,255,255,.12), transparent 28%),
            linear-gradient(100deg, #0f8b39, #19a449);
    }

    .dm-final-cta-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
        align-items: center;
    }

    .dm-final-cta-content {
        display: flex;
        align-items: flex-start;
        gap: 14px;
    }

    .dm-final-cta-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 56px;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: #fff;
        color: var(--dm-green);
        font-size: 23px;
    }

    .dm-final-title {
        margin: 0 0 5px;
        color: #fff;
        font-size: 24px;
        line-height: 1.25;
        font-weight: 700;
    }

    .dm-final-text {
        max-width: 640px;
        margin: 0;
        color: rgba(255,255,255,.9);
        font-size: 14px;
        line-height: 1.65;
    }

    .dm-final-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 49px;
        padding: 14px 24px;
        border-radius: 8px;
        background: #fff;
        color: var(--dm-green-dark) !important;
        text-decoration: none !important;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
    }

    /* popup */
    .dm-popup-overlay {
        position: fixed;
        inset: 0;
        z-index: 9999;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 18px;
        background: rgba(10, 18, 28, .62);
    }

    .dm-popup-overlay.active {
        display: flex;
    }

    .dm-popup-modal {
        position: relative;
        width: 100%;
        max-width: 560px;
        padding: 28px 18px;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 22px 60px rgba(10, 22, 36, .26);
    }

    .dm-popup-close {
        position: absolute;
        top: 12px;
        right: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border: 0;
        border-radius: 50%;
        background: #f1f4f2;
        color: #29332d;
        cursor: pointer;
        font-size: 16px;
    }

    .dm-popup-title {
        margin: 0;
        text-align: center;
        font-size: 29px;
        line-height: 1.18;
        font-weight: 700;
        color: var(--dm-heading);
    }

    .dm-popup-title span {
        color: var(--dm-green);
    }

    .dm-popup-text {
        max-width: 420px;
        margin: 10px auto 20px;
        text-align: center;
        color: #5f6963;
        font-size: 14px;
        line-height: 1.65;
    }

    @media (max-width: 767px) {
        .dm-container {
            padding-left: 16px;
            padding-right: 16px;
        }

        .dm-hero-grid {
            gap: 24px;
        }

        .dm-hero-title {
            max-width: 620px;
        }

        .dm-hero-description {
            font-size: 16px;
            line-height: 1.7;
        }

        .dm-form-card {
            border-radius: 14px;
        }

        .dm-difference,
        .dm-growth-system,
        .dm-monthly-focus,
        .dm-faq-section {
            padding: 48px 0;
        }

        .dm-performance-panel {
            padding: 16px;
            border-radius: 14px;
        }

        .dm-growth-grid {
            grid-template-columns: 1fr;
        }

        .dm-faq-button {
            padding: 17px 16px;
            font-size: 15px;
        }

        .dm-faq-answer {
            padding: 0 16px 18px;
            font-size: 14px;
        }

        .dm-faq-icon {
            flex-basis: 32px;
            width: 32px;
            height: 32px;
        }
    }

    /* desktop */
    @media (min-width: 768px) {
        .dm-container {
            padding-left: 28px;
            padding-right: 28px;
        }

        .dm-section {
            padding: 76px 0;
        }

        .dm-section-heading {
            font-size: 42px;
        }

        .dm-hero {
            padding: 38px 0 42px;
        }

        .dm-hero-grid {
            grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr);
            gap: clamp(36px, 5vw, 86px);
        }

        .dm-hero-title {
            font-size: clamp(44px, 3.6vw, 58px);
        }

        .dm-hero-description {
            font-size: 18px;
        }

        .dm-hero-actions {
            flex-direction: row;
            align-items: center;
        }

        .dm-trust-badges {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            max-width: 700px;
        }

        .dm-form-card {
            padding: 32px 28px;
        }

        .dm-form-title {
            font-size: 34px;
        }

        .dm-core-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 20px;
        }

        .dm-core-card {
            padding: 28px 24px;
        }

        .dm-stats-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0;
        }

        .dm-stat {
            justify-content: center;
            padding: 0 20px;
            border-right: 1px solid #dce8e0;
        }

        .dm-stat:last-child {
            border-right: 0;
        }

        .dm-stat-number {
            font-size: 31px;
        }

        .dm-report-grid {
            grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr);
            gap: 22px;
        }

        .dm-report-info {
            grid-template-columns: 1fr;
        }

        .dm-flip-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 18px;
        }

        .dm-flip-card {
            min-height: 300px;
        }

        .dm-flip-image-wrap,
        .dm-flip-image {
            min-height: 215px;
        }

        .dm-flip-front-title {
            min-height: 78px;
            font-size: 18px;
            padding: 15px 12px;
        }

        .dm-flip-back {
            padding: 28px 22px;
        }

        .dm-flip-back-title {
            font-size: 25px;
        }

        .dm-flip-back-text {
            font-size: 15px;
        }

        .dm-flip-card:hover .dm-flip-inner {
            transform: rotateY(180deg);
        }

        .dm-flip-card:hover .dm-flip-image {
            transform: scale(1.04);
        }

        .dm-logo-slide {
            flex: 0 0 260px;
            min-width: 260px;
        }

        .dm-logo-card {
            min-height: 222px;
        }

        .dm-logo-name {
            font-size: 18px;
        }

        .dm-process-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 40px;
        }

        .dm-process-step {
            grid-template-columns: 72px 1fr;
        }

        .dm-process-step:not(:last-child)::after {
            content: "›";
            position: absolute;
            top: 12px;
            right: -24px;
            color: #c3cbc5;
            font-size: 44px;
            font-weight: 300;
            line-height: 1;
        }

        .dm-testimonial {
            display: grid;
            grid-template-columns: 50px minmax(0, 1fr) auto;
            gap: 20px;
            align-items: center;
            padding: 32px 40px;
        }

        .dm-quote-icon {
            margin: 0;
        }

        .dm-testimonial-footer {
            margin: 0;
            min-width: 240px;
        }

        .dm-difference-grid {
            grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
            gap: clamp(34px, 5vw, 74px);
        }

        .dm-performance-panel {
            padding: 26px;
        }

        .dm-growth-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 18px;
        }

        .dm-growth-card {
            padding: 26px 22px;
        }

        .dm-monthly-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 20px;
        }

        .dm-monthly-card {
            padding: 28px 24px;
        }

        .dm-faq-list {
            grid-template-columns: 1fr;
            gap: 14px;
            max-width: 1240px;
        }

        .dm-faq-button {
            padding: 21px 24px;
            font-size: 17px;
        }

        .dm-faq-answer {
            padding: 0 76px 22px 24px;
            font-size: 15px;
        }

        .dm-final-cta-grid {
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 40px;
        }

        .dm-final-title {
            font-size: 31px;
        }

        .dm-popup-modal {
            padding: 34px 28px;
        }
    }

    /* =========================================================
       FINAL READABILITY + LOGO + AUDIT FORM OPTIMISATION
       Typography inherits from the existing layout.
    ========================================================== */

    /* Logo visibility: use the available card width instead of an 88px circle. */
    .dm-logo-card {
        gap: 16px;
        padding: 22px 18px;
    }

    .dm-logo-image-wrap {
        width: 100%;
        height: 112px;
        border-radius: 0;
        padding: 6px 10px;
        background: #fff;
    }

    .dm-logo-image {
        display: block;
        width: auto;
        height: auto;
        max-width: 180px;
        max-height: 92px;
        object-fit: contain;
        object-position: center;
        transform: translateZ(0);
    }

    /* Individual logo tuning so very wide / tiny source logos remain readable. */
    .dm-logo-canon {
        max-width: 150px;
        max-height: 76px;
    }

    .dm-logo-hyundai {
        max-width: 150px;
        max-height: 74px;
    }

    .dm-logo-entrepreneur-india {
        max-width: 188px;
        max-height: 82px;
    }

    .dm-logo-pmay {
        max-width: 190px;
        max-height: 82px;
    }

    .dm-logo-shaurya {
        max-width: 192px;
        max-height: 82px;
    }

    .dm-logo-bioncia,
    .dm-logo-dr-kanchan-gaba {
        max-width: 174px;
        max-height: 88px;
    }

    /* Process: more breathing room between headings and body copy. */
    .dm-process {
        padding: 68px 0 64px;
    }

    .dm-process-heading {
        max-width: 1120px;
        margin: 0 auto 46px;
        text-align: center;
    }

    .dm-process-heading .dm-section-label {
        margin-bottom: 14px;
    }

    .dm-process-step {
        padding: 8px 4px;
    }

    .dm-process-title {
        margin: 4px 0 11px;
        font-size: 19px;
        line-height: 1.35;
    }

    .dm-process-text {
        font-size: 16px;
        line-height: 1.78;
    }

    /* Monthly improvement section: larger, easier-to-read typography. */
    .dm-monthly-header {
        max-width: 1080px;
        margin: 0 auto 38px;
        text-align: center;
    }

    .dm-monthly-header .dm-section-heading {
        max-width: 1040px;
        margin-left: auto;
        margin-right: auto;
    }

    .dm-monthly-header .dm-section-text {
        max-width: 900px;
        margin-top: 20px;
        font-size: 17px;
        line-height: 1.82;
    }

    .dm-monthly-card {
        padding: 30px 26px;
    }

    .dm-monthly-card-top {
        gap: 14px;
        margin-bottom: 20px;
    }

    .dm-monthly-icon {
        flex-basis: 52px;
        width: 52px;
        height: 52px;
        font-size: 20px;
    }

    .dm-monthly-card h3 {
        font-size: 22px;
        line-height: 1.35;
    }

    .dm-monthly-list {
        gap: 12px;
    }

    .dm-monthly-list li {
        gap: 10px;
        font-size: 16px;
        line-height: 1.7;
    }

    .dm-monthly-list i {
        margin-top: 6px;
        font-size: 13px;
    }

    /* Testimonial readability. */
    .dm-testimonial {
        padding: 34px 34px;
    }

    .dm-testimonial-text {
        font-size: 18px;
        line-height: 1.82;
    }

    .dm-client-name {
        font-size: 16px;
    }

    .dm-client-role {
        margin-top: 4px;
        font-size: 14px;
        line-height: 1.5;
    }

    .dm-rating {
        margin-top: 7px;
        font-size: 15px;
    }

    /* Shared audit form used by the page form and first-visit popup. */
    .dm-audit-form-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        margin-bottom: 4px;
    }

    .dm-audit-form .dm-form-group {
        margin-bottom: 0;
    }

    .dm-form-label {
        display: block;
        margin-bottom: 7px;
        color: #2d3630;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.35;
    }

    .dm-form-label span {
        color: #e43c3c;
    }

    .dm-audit-form .dm-form-control {
        min-height: 52px;
        padding: 13px 15px;
        border-radius: 10px;
        font-size: 15px;
    }

    .dm-form-error {
        display: block;
        margin-top: 6px;
        color: #c83232;
        font-size: 12px;
        line-height: 1.45;
    }

    .dm-audit-form .dm-form-submit {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-height: 54px;
        margin-top: 14px;
        border-radius: 10px;
        font-size: 14px;
    }

    /* Popup submit button: force visible even if the layout has global button styles. */
    .dm-popup-audit-form .dm-popup-submit {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 9px !important;
        width: 100% !important;
        min-height: 56px !important;
        margin: 16px 0 0 !important;
        padding: 15px 20px !important;
        border: 1px solid #18a64a !important;
        border-radius: 10px !important;
        background: #18a64a !important;
        background-image: none !important;
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
        position: relative !important;
        z-index: 5 !important;
        box-shadow: 0 12px 26px rgba(24, 166, 74, .20) !important;
        cursor: pointer !important;
        text-align: center !important;
        line-height: 1.2 !important;
        appearance: none;
        -webkit-appearance: none;
    }

    .dm-popup-audit-form .dm-popup-submit,
    .dm-popup-audit-form .dm-popup-submit:hover,
    .dm-popup-audit-form .dm-popup-submit:focus,
    .dm-popup-audit-form .dm-popup-submit:active,
    .dm-popup-audit-form .dm-popup-submit i {
        color: #ffffff !important;
    }

    .dm-popup-audit-form .dm-popup-submit:hover,
    .dm-popup-audit-form .dm-popup-submit:focus {
        border-color: #11873b !important;
        background: #11873b !important;
        box-shadow: 0 14px 30px rgba(17, 135, 59, .24) !important;
        transform: translateY(-1px);
    }

    .dm-popup-audit-form .dm-popup-submit:focus-visible {
        outline: 3px solid rgba(24, 166, 74, .22) !important;
        outline-offset: 3px;
    }

    /* Popup: compact, readable, scroll-safe on small screens. */
    .dm-popup-overlay {
        overflow-y: auto;
        padding: 22px 16px;
        backdrop-filter: blur(3px);
    }

    .dm-popup-modal {
        max-width: 680px;
        max-height: calc(100vh - 44px);
        overflow-y: auto;
        padding: 30px 24px 26px;
        border: 1px solid #e4e9e6;
    }

    .dm-popup-title {
        padding: 0 44px;
        font-size: 30px;
    }

    .dm-popup-text {
        max-width: 520px;
        margin-bottom: 24px;
        font-size: 15px;
        line-height: 1.7;
    }

    body.dm-popup-open {
        overflow: hidden;
    }

    @media (min-width: 620px) {
        .dm-audit-form-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .dm-form-span-2 {
            grid-column: 1 / -1;
        }
    }

    @media (min-width: 768px) {
        .dm-logo-image-wrap {
            height: 124px;
        }

        .dm-logo-image {
            max-width: 200px;
            max-height: 100px;
        }

        .dm-logo-canon {
            max-width: 164px;
        }

        .dm-logo-hyundai {
            max-width: 160px;
        }

        .dm-logo-entrepreneur-india,
        .dm-logo-pmay,
        .dm-logo-shaurya {
            max-width: 205px;
        }

        .dm-process-grid {
            gap: 52px;
        }

        .dm-process-title {
            font-size: 21px;
        }

        .dm-process-text {
            font-size: 16.5px;
        }

        .dm-testimonial {
            padding: 38px 42px;
        }
    }

    @media (max-width: 767px) {
        .dm-logo-section {
            padding: 46px 0;
        }

        .dm-logo-image-wrap {
            height: 104px;
        }

        .dm-logo-image {
            max-width: 170px;
            max-height: 86px;
        }

        .dm-process {
            padding: 50px 0;
        }

        .dm-process-heading {
            margin-bottom: 32px;
        }

        .dm-process-grid {
            gap: 28px;
        }

        .dm-process-title {
            font-size: 18px;
        }

        .dm-process-text {
            font-size: 15.5px;
            line-height: 1.75;
        }

        .dm-monthly-header .dm-section-text {
            margin-top: 16px;
            font-size: 16px;
        }

        .dm-monthly-card {
            padding: 24px 20px;
        }

        .dm-monthly-card h3 {
            font-size: 20px;
        }

        .dm-monthly-list li {
            font-size: 15px;
        }

        .dm-testimonial-text {
            font-size: 16.5px;
        }

        .dm-popup-modal {
            padding: 26px 16px 20px;
        }

        .dm-popup-title {
            padding: 0 38px;
            font-size: 25px;
        }

        .dm-popup-text {
            font-size: 14px;
        }

        .dm-popup-overlay {
            align-items: flex-start;
            padding: 10px;
        }

        .dm-popup-modal {
            width: 100%;
            max-height: calc(100dvh - 20px);
            margin: 0;
            padding: 24px 14px 16px;
            border-radius: 15px;
            overscroll-behavior: contain;
        }

        .dm-popup-title {
            padding: 0 40px;
            font-size: 24px;
            line-height: 1.2;
        }

        .dm-popup-text {
            margin: 9px auto 18px;
            font-size: 14px;
            line-height: 1.6;
        }

        .dm-popup-audit-form .dm-form-control {
            min-height: 50px;
            font-size: 16px;
        }

        .dm-popup-audit-form .dm-popup-submit {
            min-height: 54px !important;
            margin-top: 14px !important;
            font-size: 14px !important;
        }
    }
