/*!
 * Developercode Core — widget styles
 * Auto-samengevoegd uit per-widget build-bestanden. Brand: #ef7a17 / #032038.
 */

/* ============================================================
   01-dc-section-header
   ============================================================ */
.dc-section-header {
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
}

.dc-section-header * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.dc-section-header .dc-section-header {
    position: relative;
    overflow: hidden;
}

.dc-section-header--center .dc-section-header { text-align: center; }
.dc-section-header--left .dc-section-header { text-align: left; }

.dc-section-header .dc-section-header__inner {
    display: flex;
    flex-direction: column;
}
.dc-section-header--center .dc-section-header__inner { align-items: center; }
.dc-section-header--left .dc-section-header__inner { align-items: flex-start; }

.dc-section-header .dc-section-header__row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    gap: 30px;
    flex-wrap: wrap;
}
.dc-section-header--center .dc-section-header__row {
    flex-direction: column;
    align-items: center;
}

.dc-section-header--left .dc-section-header__content {
    flex: 1;
    min-width: 0;
}

/* Badge */
.dc-section-header .dc-section-header__badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px 10px 14px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dc-primary);
    background: rgba(var(--dc-primary-rgb), .06);
    border: 1px solid rgba(var(--dc-primary-rgb), .12);
    border-radius: 100px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}
.dc-section-header .dc-section-header__badge-icon {
    flex-shrink: 0;
    width: 22px;
    height: 16px;
}
.dc-section-header .dc-section-header__badge-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.dc-section-header .dc-section-header__badge-icon path,
.dc-section-header .dc-section-header__badge-icon line {
    stroke: var(--dc-primary);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-section-header .dc-section-header__badge-sep {
    width: 1px;
    height: 16px;
    background: rgba(var(--dc-primary-rgb), .20);
    flex-shrink: 0;
}
.dc-section-header .dc-section-header__badge::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(var(--dc-primary-rgb), .08), transparent);
    animation: _shimmerSH 5s ease-in-out infinite;
}
@keyframes _shimmerSH {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

/* Title */
.dc-section-header .dc-section-header__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: var(--dc-secondary);
    line-height: 1.2;
    margin-bottom: 14px;
}

.dc-section-header .dc-section-header__highlight {
    color: var(--dc-primary);
    position: relative;
}

.dc-section-header .dc-section-header__highlight::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, rgba(var(--dc-primary-rgb), .2), rgba(var(--dc-primary-rgb), .08));
    border-radius: 6px;
    z-index: -1;
}

/* Subtitle */
.dc-section-header .dc-section-header__subtitle {
    font-size: 17px;
    color: #6b7280;
    line-height: 1.7;
    margin: 18px 0 0 0;
    max-width: 600px;
    animation: dc-fade-in 0.6s ease-out 0.2s forwards;
    opacity: 0;
}

/* Navigation */
.dc-section-header .dc-section-header__nav {
    flex-shrink: 0;
    animation: dc-fade-in 0.6s ease-out 0.3s forwards;
    opacity: 0;
}

.dc-section-header .dc-section-header__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 600;
    color: var(--dc-primary);
    text-decoration: none;
    background: transparent;
    border: 2px solid var(--dc-primary);
    border-radius: 12px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.dc-section-header .dc-section-header__link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--dc-primary);
    transform: translateX(-100%);
    transition: transform 0.4s ease;
    z-index: -1;
}

.dc-section-header .dc-section-header__link:hover::before {
    transform: translateX(0);
}

.dc-section-header .dc-section-header__link:hover {
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(239, 122, 23, 0.3);
}

.dc-section-header .dc-section-header__link svg {
    width: 18px;
    height: 18px;
    transition: transform 0.3s ease;
}

.dc-section-header .dc-section-header__link:hover svg {
    transform: translateX(5px);
}

/* Decorative line */
.dc-section-header .dc-section-header__decoration {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 25px;
    animation: dc-fade-in 0.6s ease-out 0.4s forwards;
    opacity: 0;
}

.dc-section-header .dc-section-header__line {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, var(--dc-primary), rgba(239, 122, 23, 0.3));
    border-radius: 2px;
}

.dc-section-header .dc-section-header__dots {
    display: flex;
    gap: 6px;
}

.dc-section-header .dc-section-header__dot {
    width: 6px;
    height: 6px;
    background: var(--dc-primary);
    border-radius: 50%;
    opacity: 0.5;
}

.dc-section-header .dc-section-header__dot:first-child {
    opacity: 1;
}

/* Architectural lines */
.dc-section-header .dc-section-header__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-section-header .dc-section-header__line--v{width:1px;height:100%;top:0;}
.dc-section-header .dc-section-header__line--v1{left:6%;}
.dc-section-header .dc-section-header__line--v2{right:6%;}
.dc-section-header .dc-section-header__line--h{height:1px;width:100%;left:0;}
.dc-section-header .dc-section-header__line--h1{bottom:12%;}
.dc-section-header .dc-section-header__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_sectionLineTrace 9s ease-in-out infinite;
}
.dc-section-header .dc-section-header__line--v2::after{animation-delay:-4.5s;}
@keyframes _sectionLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

@media (max-width: 1200px) {
    .dc-section-header .dc-section-header__line{display:none;}
}

@media (max-width: 768px) {
    .dc-section-header .dc-section-header__row {
        flex-direction: column;
        gap: 20px;
    }
    .dc-section-header--center .dc-section-header__row { align-items: center; }
    .dc-section-header--left .dc-section-header__row { align-items: flex-start; }
}

/* ============================================================
   02-dc-content-block
   ============================================================ */
/* ==========================================
   CSS VARIABLES
========================================== */
.dc-content-block {
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
    --dc-secondary-rgb: 3,32,56;
}

.dc-content-block * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ==========================================
   MAIN CONTAINER
========================================== */
.dc-content-block .dc-why {
    position: relative;
    padding-bottom: 50px;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 50%, #f8fafc 100%);
    overflow: hidden;
    padding: 50px 0;
}

.dc-content-block .dc-why__wrapper {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

/* ==========================================
   DECORATIVE ELEMENTS
========================================== */
.dc-content-block .dc-why__decoration {
    position: absolute;
    pointer-events: none;
}

.dc-content-block .dc-why__decoration--1 {
    top: 10%;
    right: 5%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(var(--dc-primary-rgb), 0.05) 0%, transparent 70%);
    border-radius: 50%;
}

.dc-content-block .dc-why__decoration--2 {
    bottom: 10%;
    left: 5%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(var(--dc-secondary-rgb), 0.03) 0%, transparent 70%);
    border-radius: 50%;
}

/* ==========================================
   LEFT CONTENT
========================================== */
.dc-content-block--anim .dc-why__content {
    animation: dc-fade-in-up 0.8s ease-out forwards;
    opacity: 0;
}

@keyframes dc-fade-in-up {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Badge */
.dc-content-block .dc-why__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px 10px 14px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dc-primary);
    background: rgba(var(--dc-primary-rgb), .06);
    border: 1px solid rgba(var(--dc-primary-rgb), .12);
    border-radius: 100px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}
.dc-content-block .dc-why__eyebrow-icon {
    flex-shrink: 0;
    width: 22px;
    height: 16px;
}
.dc-content-block .dc-why__eyebrow-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.dc-content-block .dc-why__eyebrow-icon path,
.dc-content-block .dc-why__eyebrow-icon line {
    stroke: var(--dc-primary);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-content-block .dc-why__eyebrow-sep {
    width: 1px;
    height: 16px;
    background: rgba(var(--dc-primary-rgb), .20);
    flex-shrink: 0;
}
.dc-content-block .dc-why__eyebrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(var(--dc-primary-rgb), .08), transparent);
    animation: _shimmerWhy 5s ease-in-out infinite;
}
@keyframes _shimmerWhy {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

/* Title */
.dc-content-block .dc-why__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: var(--dc-secondary);
    line-height: 1.2;
    margin-bottom: 14px;
}

.dc-content-block .dc-why__title-highlight {
    color: var(--dc-primary);
    position: relative;
    display: inline-block;
}

.dc-content-block .dc-why__title-highlight::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, rgba(var(--dc-primary-rgb), 0.2), rgba(var(--dc-primary-rgb), 0.1));
    border-radius: 6px;
    z-index: -1;
    transform: skewX(-5deg);
}

/* Description */
.dc-content-block .dc-why__description {
    font-size: 17px;
    color: #64748b;
    line-height: 1.8;
    margin-bottom: 40px;
}

/* Features Title */
.dc-content-block .dc-why__features-title {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--dc-secondary);
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.dc-content-block .dc-why__features-title::after {
    content: '';
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, var(--dc-primary), transparent);
    border-radius: 1px;
}

/* Features Grid */
.dc-content-block .dc-why__features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 40px;
}

.dc-content-block .dc-why__feature {
    display: flex;
    gap: 20px;
    padding: 24px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-content-block--anim .dc-why__feature {
    opacity: 0;
    animation: dc-fade-in-up 0.6s ease-out forwards;
}

.dc-content-block--anim .dc-why__feature:nth-child(1) { animation-delay: 0.1s; }
.dc-content-block--anim .dc-why__feature:nth-child(2) { animation-delay: 0.2s; }
.dc-content-block--anim .dc-why__feature:nth-child(3) { animation-delay: 0.3s; }
.dc-content-block--anim .dc-why__feature:nth-child(4) { animation-delay: 0.4s; }

.dc-content-block .dc-why__feature:hover {
    transform: translateX(8px);
    box-shadow: 0 20px 50px rgba(var(--dc-primary-rgb), 0.12);
    border-color: rgba(var(--dc-primary-rgb), 0.2);
}

.dc-content-block .dc-why__feature-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(var(--dc-primary-rgb), 0.1), rgba(var(--dc-primary-rgb), 0.05));
    border-radius: 16px;
    color: var(--dc-primary);
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.dc-content-block .dc-why__feature:hover .dc-why__feature-icon {
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    color: #ffffff;
    transform: scale(1.1) rotate(-5deg);
}

.dc-content-block .dc-why__feature-icon svg {
    width: 26px;
    height: 26px;
}

.dc-content-block .dc-why__feature-content {
    flex: 1;
}

.dc-content-block .dc-why__feature-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--dc-secondary);
    margin-bottom: 6px;
}

.dc-content-block .dc-why__feature-desc {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
}

/* CTA Button */
.dc-content-block .dc-why__cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    color: #ffffff;
    box-shadow: 0 10px 40px rgba(var(--dc-primary-rgb), 0.3);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.dc-content-block .dc-why__cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.5s ease;
}

.dc-content-block .dc-why__cta:hover::before {
    left: 100%;
}

.dc-content-block .dc-why__cta:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(var(--dc-primary-rgb), 0.4);
}

.dc-content-block .dc-why__cta svg {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}

.dc-content-block .dc-why__cta:hover svg {
    transform: translateX(5px);
}

/* ==========================================
   RIGHT VISUAL
========================================== */
.dc-content-block .dc-why__visual {
    position: relative;
}

.dc-content-block--anim .dc-why__visual {
    animation: dc-fade-in-right 0.8s ease-out 0.3s forwards;
    opacity: 0;
}

@keyframes dc-fade-in-right {
    from { opacity: 0; transform: translateX(40px); }
    to { opacity: 1; transform: translateX(0); }
}

.dc-content-block .dc-why__image-wrapper {
    position: relative;
}

.dc-content-block .dc-why__main-image {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(var(--dc-secondary-rgb), 0.15);
}

.dc-content-block .dc-why__main-image img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.6s ease;
}

.dc-content-block .dc-why__main-image:hover img {
    transform: scale(1.05);
}

/* Accent Image */
.dc-content-block .dc-why__accent-image {
    position: absolute;
    bottom: -30px;
    left: -30px;
    width: 180px;
    height: 180px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    border: 5px solid #ffffff;
}

.dc-content-block--anim .dc-why__accent-image {
    animation: dc-float 6s ease-in-out infinite;
}

@keyframes dc-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

.dc-content-block .dc-why__accent-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Experience Badge */
.dc-content-block .dc-why__experience {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 130px;
    height: 130px;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    box-shadow: 0 15px 40px rgba(var(--dc-primary-rgb), 0.4);
    border: 5px solid #ffffff;
}

.dc-content-block--anim .dc-why__experience {
    animation: dc-pulse-badge 3s ease-in-out infinite;
}

@keyframes dc-pulse-badge {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.dc-content-block .dc-why__experience-number {
    font-family: 'Poppins', sans-serif;
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
}

.dc-content-block .dc-why__experience-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    margin-top: 4px;
}

/* Decorative Pattern */
.dc-content-block .dc-why__pattern {
    position: absolute;
    top: 50%;
    right: -60px;
    transform: translateY(-50%);
    width: 120px;
    height: 200px;
    opacity: 0.1;
    z-index: -1;
}

.dc-content-block .dc-why__pattern-line {
    width: 100%;
    height: 3px;
    background: var(--dc-secondary);
    margin-bottom: 12px;
    border-radius: 2px;
}

.dc-content-block .dc-why__pattern-line:nth-child(odd) {
    width: 70%;
    margin-left: auto;
}

/* Architectural lines */
.dc-content-block .dc-why__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-content-block .dc-why__line--v{width:1px;height:100%;top:0;}
.dc-content-block .dc-why__line--v1{left:6%;}
.dc-content-block .dc-why__line--v2{right:6%;}
.dc-content-block .dc-why__line--h{height:1px;width:100%;left:0;}
.dc-content-block .dc-why__line--h1{bottom:12%;}
.dc-content-block .dc-why__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_whyLineTrace 9s ease-in-out infinite;
}
.dc-content-block .dc-why__line--v2::after{animation-delay:-4.5s;}
@keyframes _whyLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* ==========================================
   RESPONSIVE
========================================== */
@media (max-width: 1200px) {
    .dc-content-block .dc-why__line{display:none;}

    .dc-content-block .dc-why__wrapper {
        gap: 50px;
    }

    .dc-content-block .dc-why__experience {
        width: 110px;
        height: 110px;
        right: -10px;
        top: -10px;
    }

    .dc-content-block .dc-why__experience-number {
        font-size: 30px;
    }
}

@media (max-width: 1024px) {
    .dc-content-block .dc-why__wrapper {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .dc-content-block .dc-why__visual {
        order: -1;
        max-width: 550px;
        margin: 0 auto;
    }

    .dc-content-block .dc-why__content {
        text-align: center;
    }

    .dc-content-block .dc-why__features-title::after {
        display: none;
    }

    .dc-content-block .dc-why__feature {
        text-align: left;
    }
}

@media (max-width: 768px) {
    .dc-content-block .dc-why {
        padding: 70px 0;
    }

    .dc-content-block .dc-why__wrapper {
        padding: 0 20px;
    }

    .dc-content-block .dc-why__feature {
        padding: 20px;
    }

    .dc-content-block .dc-why__feature-icon {
        width: 48px;
        height: 48px;
    }

    .dc-content-block .dc-why__feature-icon svg {
        width: 22px;
        height: 22px;
    }

    .dc-content-block .dc-why__accent-image {
        width: 140px;
        height: 140px;
        bottom: -20px;
        left: -10px;
    }

    .dc-content-block .dc-why__experience {
        width: 100px;
        height: 100px;
    }

    .dc-content-block .dc-why__experience-number {
        font-size: 26px;
    }

    .dc-content-block .dc-why__experience-label {
        font-size: 10px;
    }

    .dc-content-block .dc-why__pattern {
        display: none;
    }
}

/* ============================================================
   03-dc-hero-intro
   ============================================================ */
/* ==========================================
   CSS VARIABLES
========================================== */
.dc-hero-intro {
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
    --dc-bg: #ffffff;
    --dc-text: #032038;
    --dc-text-light: #6b7280;
}

.dc-hero-intro * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ==========================================
   MAIN CONTAINER
========================================== */
.dc-hero-intro .dc-hero {
    position: relative;
    min-height: 100vh;
    background: linear-gradient(180deg, var(--dc-bg) 0%, var(--dc-bg) 70%, #f8fafc 100%);
    overflow: hidden;
    display: flex;
    align-items: center;
}

/* ==========================================
   BACKGROUND IMAGE (OVER HEADER + CURVE)
========================================== */
.dc-hero-intro--bg .dc-hero--has-bg {
    margin-top: 0px;
    background: none;
}
.dc-hero-intro--bg .dc-hero__bg-cover {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 0;
    background: center/cover no-repeat;
}
.dc-hero-intro--bg .dc-hero__bg-cover::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(
        180deg,
        rgba(3,32,56,0.8) 0%,
        rgba(3,32,56,0.5) 50%,
        rgba(3,32,56,0.85) 100%
    );
}
.dc-hero-intro--bg .dc-hero__curve {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    z-index: 5;
    line-height: 0;
}
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__bg-pattern,
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__shapes { display: none; }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__title { color: #ffffff; }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__title-highlight { color: var(--dc-primary); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__subtitle { color: rgba(255,255,255,0.8); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__badge { color: #ffffff; background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.18); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__badge-sep { background: rgba(255,255,255,0.2); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__badge-icon path,
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__badge-icon line { stroke: #ffffff; }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__stat-number { color: #ffffff; }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__stat-label { color: rgba(255,255,255,0.6); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__btn--secondary { color: #ffffff; border-color: rgba(255,255,255,0.25); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__btn--secondary:hover { background: #ffffff; color: var(--dc-secondary); border-color: #fff; }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__scroll-mouse { border-color: rgba(255,255,255,0.4); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__scroll-text { color: rgba(255,255,255,0.5); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__line { background: rgba(255,255,255,0.06); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__glass-card { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.15); backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__glass-text { color: rgba(255,255,255,0.7); }
.dc-hero-intro--bg .dc-hero--has-bg .dc-hero__glass-value { color: #ffffff; }

/* ==========================================
   DECORATIVE BACKGROUND ELEMENTS
========================================== */
.dc-hero-intro .dc-hero__bg-pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.dc-hero-intro .dc-hero__gradient-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.15;
}

.dc-hero-intro .dc-hero__gradient-blob--1 {
    width: 600px;
    height: 600px;
    background: var(--dc-primary);
    top: -200px;
    right: -100px;
}
.dc-hero-intro--anim .dc-hero__gradient-blob--1 {
    animation: dc-blob-float 20s ease-in-out infinite;
}


.dc-hero-intro .dc-hero__gradient-blob--3 {
    width: 300px;
    height: 300px;
    background: var(--dc-primary);
    top: 50%;
    left: 30%;
    opacity: 0.08;
}
.dc-hero-intro--anim .dc-hero__gradient-blob--3 {
    animation: dc-blob-float 18s ease-in-out infinite;
}

@keyframes dc-blob-float {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(30px, -30px) scale(1.05); }
    50% { transform: translate(-20px, 20px) scale(0.95); }
    75% { transform: translate(20px, 30px) scale(1.02); }
}

/* Floating shapes - Veranda themed */
.dc-hero-intro--particles .dc-hero__shapes {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.dc-hero-intro--particles .dc-hero__shape {
    position: absolute;
    opacity: 0.5;
}

/* Leaf shape - nature/outdoor */
.dc-hero-intro--particles .dc-hero__shape--leaf {
    width: 24px;
    height: 24px;
    color: var(--dc-primary);
}

.dc-hero-intro--particles .dc-hero__shape--leaf svg {
    width: 100%;
    height: 100%;
}

/* Sun rays - outdoor living */
.dc-hero-intro--particles .dc-hero__shape--sun {
    width: 30px;
    height: 30px;
    color: var(--dc-primary);
    opacity: 0.4;
}

.dc-hero-intro--particles .dc-hero__shape--sun svg {
    width: 100%;
    height: 100%;
}

/* Roof/pergola shape */
.dc-hero-intro--particles .dc-hero__shape--roof {
    width: 35px;
    height: 20px;
    position: relative;
}

.dc-hero-intro--particles .dc-hero__shape--roof::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-top: 3px solid var(--dc-secondary);
    border-left: 3px solid var(--dc-secondary);
    border-right: 3px solid var(--dc-secondary);
    opacity: 0.25;
}

.dc-hero-intro--particles .dc-hero__shape--roof::after {
    content: '';
    position: absolute;
    top: 6px;
    left: 4px;
    right: 4px;
    height: 2px;
    background: var(--dc-secondary);
    opacity: 0.2;
    box-shadow: 0 5px 0 var(--dc-secondary), 0 10px 0 var(--dc-secondary);
}

/* Home/veranda icon */
.dc-hero-intro--particles .dc-hero__shape--home {
    width: 28px;
    height: 28px;
    color: var(--dc-secondary);
    opacity: 0.2;
}

.dc-hero-intro--particles .dc-hero__shape--home svg {
    width: 100%;
    height: 100%;
}

/* Wood plank lines */
.dc-hero-intro--particles .dc-hero__shape--wood {
    width: 40px;
    height: 12px;
    position: relative;
}

.dc-hero-intro--particles .dc-hero__shape--wood::before,
.dc-hero-intro--particles .dc-hero__shape--wood::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--dc-primary), transparent);
    border-radius: 2px;
    opacity: 0.5;
}

.dc-hero-intro--particles .dc-hero__shape--wood::before {
    top: 0;
}

.dc-hero-intro--particles .dc-hero__shape--wood::after {
    bottom: 0;
    width: 70%;
}

/* Dot pattern - subtle */
.dc-hero-intro--particles .dc-hero__shape--dot {
    width: 8px;
    height: 8px;
    background: var(--dc-primary);
    border-radius: 50%;
    opacity: 0.6;
}

/* Column/pillar shape */
.dc-hero-intro--particles .dc-hero__shape--pillar {
    width: 8px;
    height: 30px;
    background: linear-gradient(180deg, var(--dc-secondary), transparent);
    border-radius: 4px 4px 0 0;
    opacity: 0.15;
}

/* Positions with veranda-themed animations */
.dc-hero-intro--particles .dc-hero__shape--1 { top: 12%; left: 6%; animation: dc-sway 8s ease-in-out infinite; }
.dc-hero-intro--particles .dc-hero__shape--2 { top: 22%; left: 18%; animation: dc-float-gentle 10s ease-in-out infinite; }
.dc-hero-intro--particles .dc-hero__shape--3 { top: 55%; left: 5%; animation: dc-drift 12s ease-in-out infinite; }
.dc-hero-intro--particles .dc-hero__shape--4 { top: 75%; left: 15%; animation: dc-sway 9s ease-in-out infinite; animation-delay: -3s; }
.dc-hero-intro--particles .dc-hero__shape--5 { top: 30%; right: 38%; animation: dc-rotate-gentle 15s linear infinite; }
.dc-hero-intro--particles .dc-hero__shape--6 { top: 65%; right: 8%; animation: dc-float-gentle 8s ease-in-out infinite; animation-delay: -2s; }
.dc-hero-intro--particles .dc-hero__shape--7 { bottom: 18%; right: 22%; animation: dc-drift 10s ease-in-out infinite; animation-delay: -5s; }
.dc-hero-intro--particles .dc-hero__shape--8 { top: 35%; right: 4%; animation: dc-sway 11s ease-in-out infinite; }
.dc-hero-intro--particles .dc-hero__shape--9 { top: 45%; left: 12%; animation: dc-float-gentle 9s ease-in-out infinite; animation-delay: -4s; }
.dc-hero-intro--particles .dc-hero__shape--10 { bottom: 30%; left: 25%; animation: dc-drift 13s ease-in-out infinite; }

/* Gentle sway like leaves in breeze */
@keyframes dc-sway {
    0%, 100% { transform: translateX(0) rotate(-5deg); }
    50% { transform: translateX(10px) rotate(5deg); }
}

/* Gentle floating */
@keyframes dc-float-gentle {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

/* Slow drift movement */
@keyframes dc-drift {
    0%, 100% { transform: translate(0, 0); }
    25% { transform: translate(8px, -8px); }
    50% { transform: translate(0, -12px); }
    75% { transform: translate(-8px, -5px); }
}

/* Very slow rotation */
@keyframes dc-rotate-gentle {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ==========================================
   MAIN WRAPPER
========================================== */
.dc-hero-intro .dc-hero__wrapper {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 120px 40px 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

/* ==========================================
   LEFT CONTENT
========================================== */
.dc-hero-intro--anim .dc-hero__content {
    animation: dc-fade-in-up 1s ease-out forwards;
    opacity: 0;
}

@keyframes dc-fade-in-up {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Badge */
.dc-hero-intro .dc-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px 10px 14px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dc-primary);
    background: rgba(var(--dc-primary-rgb), .06);
    border: 1px solid rgba(var(--dc-primary-rgb), .12);
    border-radius: 100px;
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
}
.dc-hero-intro--anim .dc-hero__badge {
    animation: dc-fade-in-up 1s ease-out 0.2s forwards;
    opacity: 0;
}
.dc-hero-intro .dc-hero__badge-icon {
    flex-shrink: 0;
    width: 22px;
    height: 16px;
}
.dc-hero-intro .dc-hero__badge-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.dc-hero-intro .dc-hero__badge-icon path,
.dc-hero-intro .dc-hero__badge-icon line {
    stroke: var(--dc-primary);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-hero-intro .dc-hero__badge-sep {
    width: 1px;
    height: 16px;
    background: rgba(var(--dc-primary-rgb), .20);
    flex-shrink: 0;
}
.dc-hero-intro .dc-hero__badge::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(var(--dc-primary-rgb), .08), transparent);
    animation: _shimmerHeroI 5s ease-in-out infinite;
}
@keyframes _shimmerHeroI {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

/* Title */
.dc-hero-intro .dc-hero__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: var(--dc-secondary);
    line-height: 1.2;
    margin-bottom: 14px;
}
.dc-hero-intro--anim .dc-hero__title {
    animation: dc-fade-in-up 1s ease-out 0.3s forwards;
    opacity: 0;
}

.dc-hero-intro .dc-hero__title-highlight {
    color: var(--dc-primary);
    position: relative;
    display: inline-block;
}

.dc-hero-intro .dc-hero__title-highlight::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, rgba(var(--dc-primary-rgb), .2), rgba(var(--dc-primary-rgb), .08));
    border-radius: 6px;
    z-index: -1;
    transform: skewX(-5deg);
}
.dc-hero-intro--anim .dc-hero__title-highlight::after {
    animation: dc-highlight-grow 1s ease-out 0.8s forwards;
    transform: skewX(-5deg) scaleX(0);
    transform-origin: left;
}

@keyframes dc-highlight-grow {
    to { transform: skewX(-5deg) scaleX(1); }
}

/* Subtitle */
.dc-hero-intro .dc-hero__subtitle {
    font-size: 18px;
    color: var(--dc-text-light);
    line-height: 1.7;
    margin-bottom: 40px;
    max-width: 500px;
}
.dc-hero-intro--anim .dc-hero__subtitle {
    animation: dc-fade-in-up 1s ease-out 0.4s forwards;
    opacity: 0;
}

/* Buttons */
.dc-hero-intro .dc-hero__buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 50px;
}
.dc-hero-intro--anim .dc-hero__buttons {
    animation: dc-fade-in-up 1s ease-out 0.5s forwards;
    opacity: 0;
}

.dc-hero-intro .dc-hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 35px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 12px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.dc-hero-intro .dc-hero__btn--primary {
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    color: #ffffff;
    box-shadow: 0 10px 40px rgba(239, 122, 23, 0.3);
}

.dc-hero-intro .dc-hero__btn--primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.5s ease;
}

.dc-hero-intro .dc-hero__btn--primary:hover::before {
    left: 100%;
}

.dc-hero-intro .dc-hero__btn--primary:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 20px 50px rgba(239, 122, 23, 0.4);
}

.dc-hero-intro .dc-hero__btn--secondary {
    background: transparent;
    color: var(--dc-secondary);
    border: 2px solid rgba(3, 32, 56, 0.15);
}

.dc-hero-intro .dc-hero__btn--secondary:hover {
    background: var(--dc-secondary);
    color: #ffffff;
    border-color: var(--dc-secondary);
    transform: translateY(-4px);
}

.dc-hero-intro .dc-hero__btn-icon {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}

.dc-hero-intro .dc-hero__btn:hover .dc-hero__btn-icon {
    transform: translateX(5px);
}

/* Stats */
.dc-hero-intro .dc-hero__stats {
    display: flex;
    gap: 40px;
}
.dc-hero-intro--anim .dc-hero__stats {
    animation: dc-fade-in-up 1s ease-out 0.6s forwards;
    opacity: 0;
}

.dc-hero-intro .dc-hero__stat {
    position: relative;
    padding-left: 20px;
}

.dc-hero-intro .dc-hero__stat::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 3px;
    background: linear-gradient(180deg, var(--dc-primary), transparent);
    border-radius: 2px;
}

.dc-hero-intro .dc-hero__stat-number {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: var(--dc-secondary);
    line-height: 1;
}

.dc-hero-intro .dc-hero__stat-label {
    font-size: 13px;
    color: var(--dc-text-light);
    margin-top: 5px;
}

/* ==========================================
   RIGHT - IMAGE SECTION
========================================== */
.dc-hero-intro .dc-hero__visual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.dc-hero-intro--anim .dc-hero__visual {
    animation: dc-fade-in-right 1s ease-out 0.4s forwards;
    opacity: 0;
}

@keyframes dc-fade-in-right {
    from {
        opacity: 0;
        transform: translateX(60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.dc-hero-intro .dc-hero__image-wrapper {
    position: relative;
    width: 100%;
    max-width: 650px;
}

/* Main image/video */
.dc-hero-intro .dc-hero__main-image {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 480px;
    border-radius: 30px;
    box-shadow: 0 30px 80px rgba(3, 32, 56, 0.15);
    overflow: hidden;
}
.dc-hero-intro--anim .dc-hero__main-image {
    animation: dc-float-main 6s ease-in-out infinite;
}

.dc-hero-intro .dc-hero__main-video video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

@keyframes dc-float-main {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

.dc-hero-intro .dc-hero__main-image img,
.dc-hero-intro .dc-hero__main-image video {
    width: 100%;
    height: 100%;
    display: block;
    transition: transform 0.5s ease;
    object-fit: cover;
}

.dc-hero-intro .dc-hero__main-image:hover img,
.dc-hero-intro .dc-hero__main-image:hover video {
    transform: scale(1.03);
}

/* Floating images */
.dc-hero-intro .dc-hero__floating-image {
    position: absolute;
    z-index: 3;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}
.dc-hero-intro--anim .dc-hero__floating-image {
    animation: dc-float-small 5s ease-in-out infinite;
}

@keyframes dc-float-small {
    0%, 100% { transform: translateY(0) rotate(-3deg); }
    50% { transform: translateY(-20px) rotate(3deg); }
}

.dc-hero-intro .dc-hero__floating-image--1 {
    width: 140px;
    height: 140px;
    top: -20px;
    left: -30px;
    animation-delay: -2s;
}

.dc-hero-intro .dc-hero__floating-image--2 {
    width: 120px;
    height: 120px;
    bottom: 40px;
    right: -20px;
    animation-delay: -1s;
}

.dc-hero-intro .dc-hero__floating-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Glassmorphism card */
.dc-hero-intro .dc-hero__glass-card {
    position: absolute;
    z-index: 4;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 16px;
    padding: 20px 25px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.5);
}
.dc-hero-intro--anim .dc-hero__glass-card {
    animation: dc-float-card 7s ease-in-out infinite;
}

@keyframes dc-float-card {
    0%, 100% { transform: translateY(0) translateX(0); }
    50% { transform: translateY(-10px) translateX(5px); }
}

.dc-hero-intro .dc-hero__glass-card--quality {
    bottom: -10px;
    left: 20px;
}

.dc-hero-intro .dc-hero__glass-card--rating {
    top: -15%;
    right: -40px;
    transform: translateY(-50%);
}

.dc-hero-intro .dc-hero__glass-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.dc-hero-intro .dc-hero__glass-icon {
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
}

.dc-hero-intro .dc-hero__glass-icon svg {
    width: 22px;
    height: 22px;
}

.dc-hero-intro .dc-hero__glass-text {
    font-size: 13px;
    color: var(--dc-text-light);
}

.dc-hero-intro .dc-hero__glass-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--dc-secondary);
}

.dc-hero-intro .dc-hero__rating-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 4px;
}

.dc-hero-intro .dc-hero__rating-stars svg {
    width: 16px;
    height: 16px;
    fill: #ffc107;
}

/* ==========================================
   SCROLL INDICATOR
========================================== */
.dc-hero-intro .dc-hero__scroll {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.dc-hero-intro--anim .dc-hero__scroll {
    animation: dc-bounce 2s ease-in-out infinite;
}

@keyframes dc-bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(-10px); }
}

.dc-hero-intro .dc-hero__scroll-mouse {
    width: 28px;
    height: 42px;
    border: 2px solid var(--dc-secondary);
    border-radius: 20px;
    position: relative;
    opacity: 0.5;
}

.dc-hero-intro .dc-hero__scroll-wheel {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 10px;
    background: var(--dc-primary);
    border-radius: 2px;
}
.dc-hero-intro--anim .dc-hero__scroll-wheel {
    animation: dc-scroll-wheel 1.5s ease-in-out infinite;
}

@keyframes dc-scroll-wheel {
    0% { opacity: 1; transform: translateX(-50%) translateY(0); }
    100% { opacity: 0; transform: translateX(-50%) translateY(15px); }
}

.dc-hero-intro .dc-hero__scroll-text {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--dc-text-light);
}

/* Architectural lines */
.dc-hero-intro .dc-hero__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-hero-intro .dc-hero__line--v{width:1px;height:100%;top:0;}
.dc-hero-intro .dc-hero__line--v1{left:6%;}
.dc-hero-intro .dc-hero__line--v2{right:6%;}
.dc-hero-intro .dc-hero__line--h{height:1px;width:100%;left:0;}
.dc-hero-intro .dc-hero__line--h1{bottom:12%;}
.dc-hero-intro .dc-hero__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_heroIntroLineTrace 9s ease-in-out infinite;
}
.dc-hero-intro .dc-hero__line--v2::after{animation-delay:-4.5s;}
@keyframes _heroIntroLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* ==========================================
   RESPONSIVE
========================================== */
@media (max-width: 1200px) {
    .dc-hero-intro .dc-hero__line{display:none;}

    .dc-hero-intro .dc-hero__wrapper {
        gap: 40px;
    }

    .dc-hero-intro .dc-hero__floating-image--1 {
        width: 100px;
        height: 100px;
        left: 0;
    }

    .dc-hero-intro .dc-hero__floating-image--2 {
        width: 90px;
        height: 90px;
        right: 0;
    }

    .dc-hero-intro .dc-hero__glass-card--rating {
        right: -10px;
    }
}

@media (max-width: 1024px) {
    .dc-hero-intro--bg .dc-hero--has-bg { margin-top: -80px; }
    .dc-hero-intro .dc-hero__main-image { height: 380px; }
    .dc-hero-intro .dc-hero__wrapper {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 100px 30px 60px;
    }

    .dc-hero-intro .dc-hero__subtitle {
        margin-left: auto;
        margin-right: auto;
    }

    .dc-hero-intro .dc-hero__buttons {
        justify-content: center;
    }

    .dc-hero-intro .dc-hero__stats {
        justify-content: center;
    }

    .dc-hero-intro .dc-hero__visual {
        order: -1;
        margin-bottom: 30px;
    }

    .dc-hero-intro .dc-hero__image-wrapper {
        max-width: 450px;
    }

    .dc-hero-intro .dc-hero__glass-card--rating {
        right: 20px;
        top: auto;
        bottom: -20px;
        transform: none;
    }

    .dc-hero-intro .dc-hero__scroll {
        display: none;
    }
}

@media (max-width: 768px) {
    .dc-hero-intro--bg .dc-hero--has-bg { margin-top: 0px; }
    .dc-hero-intro .dc-hero__main-image { height: 280px; }
    .dc-hero-intro .dc-hero__wrapper {
        padding: 90px 20px 50px;
    }

    .dc-hero-intro .dc-hero__stats {
        flex-wrap: wrap;
        gap: 25px;
    }

    .dc-hero-intro .dc-hero__stat-number {
        font-size: 26px;
    }

    .dc-hero-intro .dc-hero__buttons {
        flex-direction: column;
        align-items: center;
    }

    .dc-hero-intro .dc-hero__btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }

    .dc-hero-intro .dc-hero__floating-image,
    .dc-hero-intro .dc-hero__glass-card--quality {
        display: none;
    }

    .dc-hero-intro .dc-hero__glass-card--rating {
        position: relative;
        right: auto;
        bottom: auto;
        margin-top: 20px;
        display: inline-flex;
    }
}

/* ============================================================
   04-dc-wood
   ============================================================ */
.dc-wood{--p:#ef7a17;--pr:239,122,23;--s:#032038;--sr:3,32,56;--wb:#1A1A1A}
.dc-wood *,.dc-wood *::before,.dc-wood *::after{box-sizing:border-box;margin:0;padding:0}
.dc-wood .dc-wood{position:relative;padding:80px 0;overflow:hidden;background:linear-gradient(180deg,#f8fafc,#fff 50%,#f8fafc);font-family:'DM Sans','Poppins',system-ui,sans-serif}
.dc-wood .dc-wood__wrap{max-width:1400px;margin:0 auto;padding:0 40px}
.dc-wood .dc-wood__header{text-align:center;margin-bottom:56px}
.dc-wood .dc-wood__badge{display:inline-flex;align-items:center;gap:12px;padding:10px 22px 10px 14px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--p);background:rgba(var(--pr),.06);border:1px solid rgba(var(--pr),.12);border-radius:100px;margin-bottom:16px;position:relative;overflow:hidden}
.dc-wood .dc-wood__badge-icon{flex-shrink:0;width:22px;height:16px}
.dc-wood .dc-wood__badge-icon svg{width:100%;height:100%;display:block}
.dc-wood .dc-wood__badge-icon path,.dc-wood .dc-wood__badge-icon line{stroke:var(--p);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.dc-wood .dc-wood__badge-sep{width:1px;height:16px;background:rgba(var(--pr),.20);flex-shrink:0}
.dc-wood .dc-wood__badge::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--pr),.08),transparent);animation:_shimmerWood 5s ease-in-out infinite}
@keyframes _shimmerWood{0%,100%{left:-100%}50%{left:100%}}
.dc-wood .dc-wood__title{font-size:clamp(30px,4vw,48px);font-weight:800;color:var(--s);line-height:1.2;margin-bottom:14px}
.dc-wood .dc-wood__title span{color:var(--p);position:relative;display:inline-block}
.dc-wood .dc-wood__title span::after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:12px;background:linear-gradient(90deg,rgba(var(--pr),.2),rgba(var(--pr),.08));border-radius:6px;z-index:-1;transform:skewX(-5deg)}
.dc-wood .dc-wood__subtitle{font-size:17px;color:#64748b;max-width:620px;margin:0 auto;line-height:1.7}
.dc-wood .dc-wood__grid{display:grid;grid-template-columns:1fr 400px;gap:48px;align-items:start}

/* Visual */
.dc-wood .dc-wood__vis-wrap{position:relative}
.dc-wood .dc-wood__visual{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 50px 100px -20px rgba(var(--sr),.18),0 30px 60px -30px rgba(var(--sr),.22);background:#eef2f7}
.dc-wood .dc-wood__visual svg{display:block;width:100%;height:auto}
.dc-wood .wb-fill{transition:fill .6s ease}
.dc-wood .wb-stroke{transition:stroke .6s ease}

/* Hotspots */
.dc-wood .dc-wood__hotspots{position:absolute;inset:0;z-index:10;pointer-events:none}
.dc-wood .dc-wood__hs{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;z-index:11}
.dc-wood .dc-wood__hs-dot{width:22px;height:22px;border-radius:50%;background:var(--p);border:3px solid #fff;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;animation:_hsPulse 2s infinite}
.dc-wood .dc-wood__hs-dot::after{content:'';width:6px;height:6px;border-radius:50%;background:#fff}
@keyframes _hsPulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--pr),.5),0 2px 10px rgba(0,0,0,.25)}50%{box-shadow:0 0 0 10px rgba(var(--pr),0),0 2px 10px rgba(0,0,0,.25)}}
.dc-wood .dc-wood__hs-tip{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);background:#fff;border-radius:14px;padding:14px 18px;min-width:210px;max-width:260px;box-shadow:0 12px 40px rgba(0,0,0,.14);opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275);border:1px solid rgba(0,0,0,.06);white-space:normal}
.dc-wood .dc-wood__hs-tip::after{content:'';position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:#fff}
.dc-wood .dc-wood__hs:hover .dc-wood__hs-tip{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.dc-wood .dc-wood__hs-lbl{font-size:14px;font-weight:700;color:var(--s);margin-bottom:4px}
.dc-wood .dc-wood__hs-dsc{font-size:13px;color:#64748b;line-height:1.5}

/* Badge float */
.dc-wood .dc-wood__badge-float{position:absolute;bottom:20px;left:20px;z-index:5;display:flex;align-items:center;gap:12px;padding:14px 22px;border-radius:16px;background:rgba(255,255,255,.95);backdrop-filter:blur(20px);box-shadow:0 15px 50px rgba(0,0,0,.1)}
.dc-wood .dc-wood__badge-swatch{width:36px;height:36px;border-radius:10px;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:background .5s ease}
.dc-wood .dc-wood__badge-name{font-size:16px;font-weight:700;color:var(--s)}
.dc-wood .dc-wood__badge-sub{font-size:12px;color:#64748b;margin-top:1px}

/* Sidebar */
.dc-wood .dc-wood__sidebar{display:flex;flex-direction:column;gap:16px}
.dc-wood .dc-wood__swatches{display:flex;flex-wrap:wrap;gap:10px;padding:20px 24px;background:#fff;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.dc-wood .dc-wood__sw-label{width:100%;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#94a3b8;margin-bottom:4px}
.dc-wood .dc-wood__sw{width:44px;height:44px;border-radius:12px;border:3px solid transparent;cursor:pointer;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}
.dc-wood .dc-wood__sw:hover{transform:scale(1.12);box-shadow:0 6px 20px rgba(0,0,0,.18)}
.dc-wood .dc-wood__sw.is-active{border-color:var(--p);transform:scale(1.12);box-shadow:0 0 0 3px rgba(var(--pr),.25),0 6px 20px rgba(0,0,0,.15)}
.dc-wood .dc-wood__sw-check{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}
.dc-wood .dc-wood__sw.is-active .dc-wood__sw-check{opacity:1}
.dc-wood .dc-wood__sw-check svg{width:18px;height:18px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.dc-wood .dc-wood__info{padding:24px;background:#fff;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.04);border:2px solid transparent;display:none}
.dc-wood .dc-wood__info.is-active{display:block;border-color:rgba(var(--pr),.15)}
.dc-wood .dc-wood__info-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.dc-wood .dc-wood__info-dot{width:48px;height:48px;border-radius:14px;flex-shrink:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.1),0 4px 12px rgba(0,0,0,.1)}
.dc-wood .dc-wood__info-name{font-size:20px;font-weight:700;color:var(--s)}
.dc-wood .dc-wood__info-tag{display:inline-block;padding:3px 10px;border-radius:20px;background:rgba(var(--pr),.1);color:var(--p);font-size:11px;font-weight:700;margin-top:4px}
.dc-wood .dc-wood__info-desc{font-size:15px;color:#64748b;line-height:1.7}
.dc-wood .dc-wood__props{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.dc-wood .dc-wood__prop{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(var(--pr),.04);border-radius:12px;font-size:13px;font-weight:600;color:var(--s)}
.dc-wood .dc-wood__prop svg{width:16px;height:16px;color:var(--p);flex-shrink:0}
.dc-wood .dc-wood__cta{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:14px;border:none;cursor:pointer;font-size:15px;font-weight:700;color:#fff;text-decoration:none;background:linear-gradient(135deg,var(--p),#ff9a44);box-shadow:0 10px 30px rgba(var(--pr),.3);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}
.dc-wood .dc-wood__cta:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(var(--pr),.4)}
.dc-wood .dc-wood__cta svg{width:18px;height:18px;transition:transform .3s ease}
.dc-wood .dc-wood__cta:hover svg{transform:translateX(4px)}

/* Architectural lines */
.dc-wood .dc-wood__line{position:absolute;background:rgba(var(--pr),.08);pointer-events:none;z-index:1;}
.dc-wood .dc-wood__line--v{width:1px;height:100%;top:0;}
.dc-wood .dc-wood__line--v1{left:6%;}
.dc-wood .dc-wood__line--v2{right:6%;}
.dc-wood .dc-wood__line--h{height:1px;width:100%;left:0;}
.dc-wood .dc-wood__line--h1{bottom:12%;}
.dc-wood .dc-wood__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--pr),.25),transparent);
    border-radius:2px;animation:_woodLineTrace 9s ease-in-out infinite;
}
.dc-wood .dc-wood__line--v2::after{animation-delay:-4.5s;}
@keyframes _woodLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

@media(max-width:1200px){.dc-wood .dc-wood__line{display:none;}.dc-wood .dc-wood__grid{grid-template-columns:1fr 340px;gap:32px}}
@media(max-width:1024px){.dc-wood .dc-wood__grid{grid-template-columns:1fr}}
@media(max-width:768px){.dc-wood .dc-wood{padding:50px 0}.dc-wood .dc-wood__wrap{padding:0 20px}.dc-wood .dc-wood__props{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.dc-wood .wb-fill,.dc-wood .wb-stroke{transition:none}.dc-wood .dc-wood__hs-dot{animation:none}}

/* ═══ Hotspot interactive animations ═══ */
.dc-wood .dc-a-dak,.dc-wood .dc-a-post,.dc-wood .dc-a-goot,.dc-wood .dc-a-berg{transition:filter .6s ease,opacity .6s ease}
.dc-wood .dc-a-led{transition:filter .6s ease}
.dc-wood .dc-fd-p{transition:transform .8s cubic-bezier(.4,0,.2,1)}
.dc-wood .dc-fd-left{transition:opacity .8s ease}
.dc-wood .dc-fd-sheen{transition:opacity .5s ease}
.dc-wood svg.hs-a-0 .dc-a-dak{opacity:.5;filter:drop-shadow(0 0 10px rgba(147,197,253,.7))}
.dc-wood svg.hs-a-1 .dc-a-post{filter:drop-shadow(0 0 8px var(--p)) brightness(1.25)}
.dc-wood svg.hs-a-2 .dc-a-led{filter:brightness(2.5) drop-shadow(0 0 14px #fbbf24)}
.dc-wood svg.hs-a-3 .dc-a-goot{filter:drop-shadow(0 0 8px #94a3b8) brightness(1.4)}
.dc-wood svg.hs-a-4 .dc-a-berg{filter:brightness(1.2) drop-shadow(0 0 8px #C49A6C)}
.dc-wood svg.hs-a-5 .dc-fd-p[data-i="0"]{transform:translateX(280px)}
.dc-wood svg.hs-a-5 .dc-fd-p[data-i="1"]{transform:translateX(210px)}
.dc-wood svg.hs-a-5 .dc-fd-p[data-i="2"]{transform:translateX(140px)}
.dc-wood svg.hs-a-5 .dc-fd-p[data-i="3"]{transform:translateX(70px)}
.dc-wood svg.hs-a-5 .dc-fd-sheen{opacity:0}
.dc-wood svg.hs-a-5 .dc-fd-left{opacity:.1}
.dc-wood .dc-wood__hs-dot.is-anim{background:#10b981;border-color:#d1fae5;box-shadow:0 0 0 4px rgba(16,185,129,.3),0 2px 10px rgba(0,0,0,.25)}
.dc-wood .dc-wood__hs-dot.is-anim::after{background:#d1fae5}

/* ============================================================
   05-dc-category-cards
   ============================================================ */
.dc-category-cards {
    --dc-columns: 5;
    --dc-gap: 25px;
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
    position: relative;
    overflow: hidden;
}

.dc-category-cards * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.dc-category-cards .dc-category-cards {
    width: 100%;
}

.dc-category-cards .dc-category-cards__grid {
    display: grid;
    grid-template-columns: repeat(var(--dc-columns), 1fr);
    gap: var(--dc-gap);
    list-style: none;
}

.dc-category-cards .dc-category-cards__item {
    opacity: 0;
    animation: dc-fade-in-up 0.6s ease-out forwards;
}

.dc-category-cards .dc-category-cards__item:nth-child(1) { animation-delay: 0s; }
.dc-category-cards .dc-category-cards__item:nth-child(2) { animation-delay: 0.1s; }
.dc-category-cards .dc-category-cards__item:nth-child(3) { animation-delay: 0.2s; }
.dc-category-cards .dc-category-cards__item:nth-child(4) { animation-delay: 0.3s; }
.dc-category-cards .dc-category-cards__item:nth-child(5) { animation-delay: 0.4s; }
.dc-category-cards .dc-category-cards__item:nth-child(6) { animation-delay: 0.5s; }
.dc-category-cards .dc-category-cards__item:nth-child(7) { animation-delay: 0.6s; }
.dc-category-cards .dc-category-cards__item:nth-child(8) { animation-delay: 0.7s; }
.dc-category-cards .dc-category-cards__item:nth-child(9) { animation-delay: 0.8s; }
.dc-category-cards .dc-category-cards__item:nth-child(10) { animation-delay: 0.9s; }
.dc-category-cards .dc-category-cards__item:nth-child(11) { animation-delay: 1s; }
.dc-category-cards .dc-category-cards__item:nth-child(12) { animation-delay: 1.1s; }
.dc-category-cards .dc-category-cards__item:nth-child(13) { animation-delay: 1.2s; }
.dc-category-cards .dc-category-cards__item:nth-child(14) { animation-delay: 1.3s; }
.dc-category-cards .dc-category-cards__item:nth-child(15) { animation-delay: 1.4s; }
.dc-category-cards .dc-category-cards__item:nth-child(16) { animation-delay: 1.5s; }
.dc-category-cards .dc-category-cards__item:nth-child(17) { animation-delay: 1.6s; }
.dc-category-cards .dc-category-cards__item:nth-child(18) { animation-delay: 1.7s; }
.dc-category-cards .dc-category-cards__item:nth-child(19) { animation-delay: 1.8s; }
.dc-category-cards .dc-category-cards__item:nth-child(20) { animation-delay: 1.9s; }

@keyframes dc-fade-in-up {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dc-category-cards .dc-category-cards__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 35px 25px;
    background: #ffffff;
    border-radius: 24px;
    text-decoration: none;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(239, 122, 23, 0.08);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.dc-category-cards .dc-category-cards__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
}

.dc-category-cards .dc-category-cards__card:hover::before {
    opacity: 1;
}

.dc-category-cards .dc-category-cards__card:hover {
    transform: translateY(-12px);
    box-shadow: 0 25px 60px rgba(239, 122, 23, 0.25);
}

/* Image container */
.dc-category-cards .dc-category-cards__image-wrap {
    position: relative;
    width: 100px;
    height: 100px;
    margin-bottom: 20px;
    z-index: 1;
}

.dc-category-cards .dc-category-cards__image-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 90%;
    background: linear-gradient(135deg, rgba(239, 122, 23, 0.1), rgba(239, 122, 23, 0.05));
    border-radius: 50%;
    transition: all 0.4s ease;
}

.dc-category-cards .dc-category-cards__card:hover .dc-category-cards__image-bg {
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%) scale(1.1);
}

.dc-category-cards .dc-category-cards__icon {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    color: var(--dc-primary);
    transition: all 0.4s ease;
}

.dc-category-cards .dc-category-cards__card:hover .dc-category-cards__icon {
    color: #ffffff;
    transform: scale(1.1) rotate(5deg);
}

.dc-category-cards .dc-category-cards__image {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    transition: transform 0.4s ease;
}

.dc-category-cards .dc-category-cards__card:hover .dc-category-cards__image {
    transform: scale(1.1);
}

/* Title */
.dc-category-cards .dc-category-cards__title {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--dc-secondary);
    margin-bottom: 8px;
    position: relative;
    z-index: 1;
    transition: color 0.4s ease;
}

.dc-category-cards .dc-category-cards__card:hover .dc-category-cards__title {
    color: #ffffff;
}

/* Count */
.dc-category-cards .dc-category-cards__count {
    font-size: 13px;
    color: #6b7280;
    position: relative;
    z-index: 1;
    transition: color 0.4s ease;
}

.dc-category-cards .dc-category-cards__card:hover .dc-category-cards__count {
    color: rgba(255, 255, 255, 0.85);
}

/* Arrow */
.dc-category-cards .dc-category-cards__arrow {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(239, 122, 23, 0.1);
    border-radius: 50%;
    color: var(--dc-primary);
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.4s ease;
    z-index: 1;
}

.dc-category-cards .dc-category-cards__card:hover .dc-category-cards__arrow {
    opacity: 1;
    transform: translateX(0);
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.dc-category-cards .dc-category-cards__arrow svg {
    width: 18px;
    height: 18px;
}

/* Architectural lines */
.dc-category-cards .dc-category-cards__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-category-cards .dc-category-cards__line--v{width:1px;height:100%;top:0;}
.dc-category-cards .dc-category-cards__line--v1{left:6%;}
.dc-category-cards .dc-category-cards__line--v2{right:6%;}
.dc-category-cards .dc-category-cards__line--h{height:1px;width:100%;left:0;}
.dc-category-cards .dc-category-cards__line--h1{bottom:12%;}
.dc-category-cards .dc-category-cards__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_catCardsLineTrace 9s ease-in-out infinite;
}
.dc-category-cards .dc-category-cards__line--v2::after{animation-delay:-4.5s;}
@keyframes _catCardsLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* Responsive */
@media (max-width: 1200px) {
    .dc-category-cards .dc-category-cards__line{display:none;}

    .dc-category-cards .dc-category-cards__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 1024px) {
    .dc-category-cards .dc-category-cards__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .dc-category-cards .dc-category-cards__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dc-category-cards .dc-category-cards__card {
        padding: 25px 20px;
    }

    .dc-category-cards .dc-category-cards__image-wrap {
        width: 80px;
        height: 80px;
    }

    .dc-category-cards .dc-category-cards__icon {
        font-size: 28px;
    }
}

@media (max-width: 480px) {
    .dc-category-cards .dc-category-cards__grid {
        grid-template-columns: 1fr;
    }

    .dc-category-cards .dc-category-cards__card {
        flex-direction: row;
        text-align: left;
        padding: 25px;
        gap: 20px;
    }

    .dc-category-cards .dc-category-cards__image-wrap {
        width: 70px;
        height: 70px;
        margin-bottom: 0;
        flex-shrink: 0;
    }
}

/* ============================================================
   06-dc-gallery
   ============================================================ */
.dc-gallery {
    --dc-columns: 4;
    --dc-gap: 20px;
    --dc-row-height: 280px;
    --dc-border-radius: 20px;
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    position: relative;
    overflow: hidden;
}

.dc-gallery * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.dc-gallery .dc-gallery__inner {
    width: 100%;
}

.dc-gallery .dc-gallery__grid {
    display: grid;
    grid-template-columns: repeat(var(--dc-columns), 1fr);
    grid-auto-rows: var(--dc-row-height);
    gap: var(--dc-gap);
}

.dc-gallery .dc-gallery__item {
    position: relative;
    overflow: hidden;
    border-radius: var(--dc-border-radius);
    cursor: pointer;
}

.dc-gallery .dc-gallery__item--large {
    grid-column: span 2;
    grid-row: span 2;
}

.dc-gallery .dc-gallery__item--wide {
    grid-column: span 2;
}

.dc-gallery .dc-gallery__item--tall {
    grid-row: span 2;
}

.dc-gallery .dc-gallery__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.dc-gallery .dc-gallery__item:hover .dc-gallery__image {
    transform: scale(1.1);
}

/* Overlay with gradient */
.dc-gallery .dc-gallery__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 24px;
    background: linear-gradient(to top, rgba(3, 32, 56, 0.8) 0%, rgba(3, 32, 56, 0) 60%);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-gallery .dc-gallery__item:hover .dc-gallery__overlay {
    opacity: 1;
}

.dc-gallery .dc-gallery__caption {
    font-family: 'DM Sans', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
    transform: translateY(20px);
    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-gallery .dc-gallery__item:hover .dc-gallery__caption {
    transform: translateY(0);
}

.dc-gallery .dc-gallery__icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 50%;
    color: #ffffff;
    transform: translateY(20px) scale(0.8);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-delay: 0.1s;
}

.dc-gallery .dc-gallery__item:hover .dc-gallery__icon {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.dc-gallery .dc-gallery__icon svg {
    width: 22px;
    height: 22px;
}

/* Corner accents */
.dc-gallery .dc-gallery__accent {
    position: absolute;
    width: 40px;
    height: 40px;
    border: 2px solid var(--dc-primary);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-gallery .dc-gallery__accent--tl {
    top: 12px;
    left: 12px;
    border-right: none;
    border-bottom: none;
    border-radius: 8px 0 0 0;
    transform: translate(-10px, -10px);
}

.dc-gallery .dc-gallery__accent--br {
    bottom: 12px;
    right: 12px;
    border-left: none;
    border-top: none;
    border-radius: 0 0 8px 0;
    transform: translate(10px, 10px);
}

.dc-gallery .dc-gallery__item:hover .dc-gallery__accent {
    opacity: 1;
    transform: translate(0, 0);
}

/* Lightbox styles */
.dc-gallery .dc-gallery__lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(3, 32, 56, 0.95);
    backdrop-filter: blur(10px);
    z-index: 99999;
    align-items: center;
    justify-content: center;
}

.dc-gallery .dc-gallery__lightbox.is-active {
    display: flex;
    animation: dc-fade-in 0.3s ease;
}

@keyframes dc-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.dc-gallery .dc-gallery__lightbox-content {
    position: relative;
    max-width: 90%;
    max-height: 90%;
}

.dc-gallery .dc-gallery__lightbox-image {
    max-width: 100%;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 16px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
}

.dc-gallery .dc-gallery__lightbox-caption {
    text-align: center;
    margin-top: 20px;
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
}

.dc-gallery .dc-gallery__lightbox-close {
    position: absolute;
    top: -50px;
    right: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border: none;
    border-radius: 50%;
    color: #FFFFFF;
    font-size: 24px;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.dc-gallery .dc-gallery__lightbox-close:hover {
    transform: rotate(90deg);
}

.dc-gallery .dc-gallery__lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: none;
    border-radius: 50%;
    color: #032038;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

.dc-gallery .dc-gallery__lightbox-nav:hover {
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    color: #ffffff;
}

.dc-gallery .dc-gallery__lightbox-nav--prev {
    left: -80px;
}

.dc-gallery .dc-gallery__lightbox-nav--next {
    right: -80px;
}

.dc-gallery .dc-gallery__lightbox-nav svg {
    width: 24px;
    height: 24px;
}

/* Architectural lines */
.dc-gallery .dc-gallery__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-gallery .dc-gallery__line--v{width:1px;height:100%;top:0;}
.dc-gallery .dc-gallery__line--v1{left:6%;}
.dc-gallery .dc-gallery__line--v2{right:6%;}
.dc-gallery .dc-gallery__line--h{height:1px;width:100%;left:0;}
.dc-gallery .dc-gallery__line--h1{bottom:12%;}
.dc-gallery .dc-gallery__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_galleryLineTrace 9s ease-in-out infinite;
}
.dc-gallery .dc-gallery__line--v2::after{animation-delay:-4.5s;}
@keyframes _galleryLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

@media (max-width: 1024px) {
    .dc-gallery .dc-gallery__line{display:none;}

    .dc-gallery .dc-gallery__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .dc-gallery .dc-gallery__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dc-gallery .dc-gallery__item--large,
    .dc-gallery .dc-gallery__item--wide {
        grid-column: span 2;
    }

    .dc-gallery .dc-gallery__item--tall {
        grid-row: span 1;
    }

    .dc-gallery .dc-gallery__lightbox-nav {
        display: none;
    }
}

/* ============================================================
   07-dc-orbit
   ============================================================ */
.dc-orbit {
    --dc-orbit-size: 700px;
    --dc-center-size: 320px;
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
    position: relative;
    overflow: hidden;
}

.dc-orbit * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.dc-orbit .dc-orbit {
    position: relative;
    width: var(--dc-orbit-size);
    height: var(--dc-orbit-size);
    margin: 0 auto;
}

/* Orbit rings */
.dc-orbit .dc-orbit__ring {
    position: absolute;
    border-radius: 50%;
    border: 2px dashed rgba(239, 122, 23, 0.2);
}

.dc-orbit .dc-orbit__ring--outer {
    inset: 0;
}

.dc-orbit--anim .dc-orbit__ring--outer {
    animation: dc-orbit-rotate 80s linear infinite;
}

.dc-orbit .dc-orbit__ring--inner {
    inset: 15%;
    border-style: dotted;
    opacity: 0.5;
}

.dc-orbit--anim .dc-orbit__ring--inner {
    animation: dc-orbit-rotate-reverse 60s linear infinite;
}

@keyframes dc-orbit-rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes dc-orbit-rotate-reverse {
    from { transform: rotate(360deg); }
    to { transform: rotate(0deg); }
}

/* Floating decorative dots */
.dc-orbit .dc-orbit__dot {
    position: absolute;
    width: 12px;
    height: 12px;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 50%;
    animation: dc-dot-pulse 3s ease-in-out infinite;
}

.dc-orbit .dc-orbit__dot:nth-child(1) { top: 10%; left: 20%; animation-delay: 0s; }
.dc-orbit .dc-orbit__dot:nth-child(2) { top: 5%; right: 30%; animation-delay: 1s; }
.dc-orbit .dc-orbit__dot:nth-child(3) { bottom: 15%; left: 10%; animation-delay: 2s; }
.dc-orbit .dc-orbit__dot:nth-child(4) { bottom: 5%; right: 15%; animation-delay: 0.5s; }

@keyframes dc-dot-pulse {
    0%, 100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.5); opacity: 1; }
}

/* Center element */
.dc-orbit .dc-orbit__center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: var(--dc-center-size);
    height: var(--dc-center-size);
    border-radius: 50%;
    overflow: hidden;
    z-index: 10;
    box-shadow:
        0 0 0 8px rgba(255, 255, 255, 0.9),
        0 30px 80px rgba(239, 122, 23, 0.25),
        0 0 100px rgba(239, 122, 23, 0.1);
}

.dc-orbit .dc-orbit__center-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dc-orbit .dc-orbit__center-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: 30px;
    background: linear-gradient(to top, rgba(3, 32, 56, 0.9) 0%, rgba(3, 32, 56, 0) 70%);
    text-align: center;
}

.dc-orbit .dc-orbit__center-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 4px;
}

.dc-orbit .dc-orbit__center-subtitle {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
}

/* Orbit items container */
.dc-orbit .dc-orbit__items {
    position: absolute;
    inset: 0;
}

/* Individual orbit items */
.dc-orbit .dc-orbit__item {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 130px;
    transform: translate(-50%, -50%);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-orbit .dc-orbit__item:hover {
    z-index: 20;
}

.dc-orbit .dc-orbit__item-icon {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 20px;
    color: var(--dc-primary);
    font-size: 24px;
    margin-bottom: 12px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.dc-orbit .dc-orbit__item-icon::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.dc-orbit .dc-orbit__item-icon i,
.dc-orbit .dc-orbit__item-icon svg {
    position: relative;
    z-index: 1;
    transition: color 0.4s ease;
}

.dc-orbit .dc-orbit__item:hover .dc-orbit__item-icon::before {
    opacity: 1;
}

.dc-orbit .dc-orbit__item:hover .dc-orbit__item-icon {
    transform: scale(1.15) rotate(5deg);
    box-shadow: 0 15px 40px rgba(239, 122, 23, 0.3);
    color: #ffffff;
}

/* Connection line */
.dc-orbit .dc-orbit__item::before {
    content: '';
    position: absolute;
    top: 35px;
    width: 2px;
    height: 0;
    background: linear-gradient(to bottom, var(--dc-primary), transparent);
    transition: height 0.4s ease;
    z-index: -1;
}

.dc-orbit .dc-orbit__item-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--dc-secondary);
    margin-bottom: 4px;
    transition: color 0.3s ease;
}

.dc-orbit .dc-orbit__item:hover .dc-orbit__item-title {
    color: var(--dc-primary);
}

.dc-orbit .dc-orbit__item-desc {
    font-size: 12px;
    color: #64748b;
    line-height: 1.4;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-orbit .dc-orbit__item:hover .dc-orbit__item-desc {
    opacity: 1;
    max-height: 50px;
    margin-top: 4px;
}

/* Architectural lines */
.dc-orbit .dc-orbit__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-orbit .dc-orbit__line--v{width:1px;height:100%;top:0;}
.dc-orbit .dc-orbit__line--v1{left:6%;}
.dc-orbit .dc-orbit__line--v2{right:6%;}
.dc-orbit .dc-orbit__line--h{height:1px;width:100%;left:0;}
.dc-orbit .dc-orbit__line--h1{bottom:12%;}
.dc-orbit .dc-orbit__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_orbitLineTrace 9s ease-in-out infinite;
}
.dc-orbit .dc-orbit__line--v2::after{animation-delay:-4.5s;}
@keyframes _orbitLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* Responsive - Mobile grid fallback */
@media (max-width: 768px) {
    .dc-orbit .dc-orbit__line{display:none;}

    .dc-orbit .dc-orbit {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding: 20px;
    }

    .dc-orbit .dc-orbit__ring,
    .dc-orbit .dc-orbit__dot {
        display: none;
    }

    .dc-orbit .dc-orbit__center {
        position: relative;
        top: 0;
        left: 0;
        transform: none;
        width: 250px;
        height: 250px;
    }

    .dc-orbit .dc-orbit__items {
        position: relative;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
        width: 100%;
    }

    .dc-orbit .dc-orbit__item {
        position: relative;
        left: auto !important;
        top: auto !important;
        transform: none;
        width: 100%;
    }

    .dc-orbit .dc-orbit__item-desc {
        opacity: 1;
        max-height: none;
        margin-top: 4px;
    }

    .dc-orbit .dc-orbit__item::before {
        display: none;
    }
}

/* ============================================================
   08-dc-blog-showcase
   ============================================================ */
/* ==========================================
   CSS VARIABLES
========================================== */
.dc-blog-showcase {
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
    --dc-secondary-rgb: 3,32,56;
    --dc-columns: 3;
}

.dc-blog-showcase * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ==========================================
   MAIN CONTAINER
========================================== */
.dc-blog-showcase .dc-blog {
    position: relative;
    padding: 100px 0;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 50%, #f8fafc 100%);
    overflow: hidden;
}

.dc-blog-showcase .dc-blog__wrapper {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}

/* ==========================================
   DECORATIVE ELEMENTS
========================================== */
.dc-blog-showcase--deco .dc-blog__decoration {
    position: absolute;
    pointer-events: none;
}

.dc-blog-showcase--deco .dc-blog__decoration--1 {
    top: 5%;
    right: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(var(--dc-primary-rgb), 0.06) 0%, transparent 70%);
    border-radius: 50%;
}

.dc-blog-showcase--deco.dc-blog-showcase--anim .dc-blog__decoration--1 {
    animation: dc-float-slow 15s ease-in-out infinite;
}

.dc-blog-showcase--deco .dc-blog__decoration--2 {
    bottom: 10%;
    left: -80px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(var(--dc-secondary-rgb), 0.04) 0%, transparent 70%);
    border-radius: 50%;
}

.dc-blog-showcase--deco.dc-blog-showcase--anim .dc-blog__decoration--2 {
    animation: dc-float-slow 12s ease-in-out infinite reverse;
}

.dc-blog-showcase--deco .dc-blog__decoration--3 {
    top: 40%;
    left: 5%;
    width: 60px;
    height: 60px;
    border: 2px solid rgba(var(--dc-primary-rgb), 0.1);
    border-radius: 12px;
    transform: rotate(45deg);
}

.dc-blog-showcase--deco.dc-blog-showcase--anim .dc-blog__decoration--3 {
    animation: dc-rotate-slow 20s linear infinite;
}

@keyframes dc-float-slow {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(20px, -20px); }
}

@keyframes dc-rotate-slow {
    from { transform: rotate(45deg); }
    to { transform: rotate(405deg); }
}

/* ==========================================
   HEADER SECTION
========================================== */
.dc-blog-showcase .dc-blog__header {
    text-align: center;
    margin-bottom: 60px;
}

.dc-blog-showcase--anim .dc-blog__header {
    animation: dc-fade-in-up 0.8s ease-out forwards;
    opacity: 0;
}

@keyframes dc-fade-in-up {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.dc-blog-showcase .dc-blog__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px 10px 14px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dc-primary);
    background: rgba(var(--dc-primary-rgb), .06);
    border: 1px solid rgba(var(--dc-primary-rgb), .12);
    border-radius: 100px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}
.dc-blog-showcase .dc-blog__eyebrow-icon {
    flex-shrink: 0;
    width: 22px;
    height: 16px;
}
.dc-blog-showcase .dc-blog__eyebrow-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.dc-blog-showcase .dc-blog__eyebrow-icon path,
.dc-blog-showcase .dc-blog__eyebrow-icon line {
    stroke: var(--dc-primary);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-blog-showcase .dc-blog__eyebrow-sep {
    width: 1px;
    height: 16px;
    background: rgba(var(--dc-primary-rgb), .20);
    flex-shrink: 0;
}
.dc-blog-showcase .dc-blog__eyebrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(var(--dc-primary-rgb), .08), transparent);
    animation: _shimmerBlog 5s ease-in-out infinite;
}
@keyframes _shimmerBlog {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

.dc-blog-showcase .dc-blog__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: var(--dc-secondary);
    line-height: 1.2;
    margin-bottom: 14px;
}

.dc-blog-showcase .dc-blog__highlight {
    color: var(--dc-primary);
    position: relative;
    display: inline-block;
}

.dc-blog-showcase .dc-blog__highlight::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, rgba(var(--dc-primary-rgb), 0.2), rgba(var(--dc-primary-rgb), 0.1));
    border-radius: 6px;
    z-index: -1;
    transform: skewX(-5deg);
}

.dc-blog-showcase .dc-blog__subtitle {
    font-size: 18px;
    color: #64748b;
    line-height: 1.8;
    max-width: 650px;
    margin: 0 auto 30px;
}

/* ==========================================
   CATEGORY TABS
========================================== */
.dc-blog-showcase .dc-blog__tabs {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 50px;
}

.dc-blog-showcase--anim .dc-blog__tabs {
    animation: dc-fade-in-up 0.6s ease-out 0.2s forwards;
    opacity: 0;
}

.dc-blog-showcase .dc-blog__tab {
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 600;
    color: var(--dc-secondary);
    background: #ffffff;
    border: 2px solid #e5e7eb;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.dc-blog-showcase .dc-blog__tab::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}

.dc-blog-showcase .dc-blog__tab:hover,
.dc-blog-showcase .dc-blog__tab.is-active {
    color: #ffffff;
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(var(--dc-primary-rgb), 0.3);
}

.dc-blog-showcase .dc-blog__tab:hover::before,
.dc-blog-showcase .dc-blog__tab.is-active::before {
    opacity: 1;
}

/* ==========================================
   CTA BUTTON (in header)
========================================== */
.dc-blog-showcase .dc-blog__cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 32px;
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 30px rgba(var(--dc-primary-rgb), 0.3);
    position: relative;
    overflow: hidden;
}

.dc-blog-showcase .dc-blog__cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.5s ease;
}

.dc-blog-showcase .dc-blog__cta:hover::before {
    left: 100%;
}

.dc-blog-showcase .dc-blog__cta:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(var(--dc-primary-rgb), 0.4);
}

.dc-blog-showcase .dc-blog__cta svg {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}

.dc-blog-showcase .dc-blog__cta:hover svg {
    transform: translateX(5px);
}

/* ==========================================
   POSTS GRID/SLIDER
========================================== */
.dc-blog-showcase .dc-blog__grid {
    position: relative;
}

.dc-blog-showcase--slider .dc-blog__grid {
    overflow: visible;
}

.dc-blog-showcase--slider .dc-blog__posts {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 30px;
    padding: 20px 0;
}

.dc-blog-showcase--featured .dc-blog__posts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 30px;
}

.dc-blog-showcase--grid .dc-blog__posts {
    display: grid;
    grid-template-columns: repeat(var(--dc-columns), 1fr);
    gap: 30px;
}

.dc-blog-showcase .dc-blog__posts::-webkit-scrollbar {
    display: none;
}

/* ==========================================
   BLOG CARD
========================================== */
.dc-blog-showcase--slider .dc-blog__post {
    flex: 0 0 calc((100% - 60px) / var(--dc-columns));
    scroll-snap-align: start;
}

.dc-blog-showcase--anim .dc-blog__post {
    opacity: 0;
    animation: dc-fade-in-up 0.6s ease-out forwards;
}

.dc-blog-showcase--anim .dc-blog__post:nth-child(1) { animation-delay: 0.1s; }
.dc-blog-showcase--anim .dc-blog__post:nth-child(2) { animation-delay: 0.2s; }
.dc-blog-showcase--anim .dc-blog__post:nth-child(3) { animation-delay: 0.3s; }
.dc-blog-showcase--anim .dc-blog__post:nth-child(4) { animation-delay: 0.4s; }
.dc-blog-showcase--anim .dc-blog__post:nth-child(5) { animation-delay: 0.5s; }
.dc-blog-showcase--anim .dc-blog__post:nth-child(6) { animation-delay: 0.6s; }

.dc-blog-showcase--featured .dc-blog__post:first-child {
    grid-row: span 2;
}

.dc-blog-showcase--featured .dc-blog__post:first-child .dc-blog__card {
    height: 100%;
}

.dc-blog-showcase--featured .dc-blog__post:first-child .dc-blog__card-image {
    height: 100%;
    min-height: 400px;
}

.dc-blog-showcase--featured .dc-blog__post:first-child .dc-blog__card-title {
    font-size: 28px;
}

.dc-blog-showcase .dc-blog__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    text-decoration: none;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    position: relative;
}

.dc-blog-showcase .dc-blog__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--dc-primary), #ff9a44);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.dc-blog-showcase .dc-blog__card:hover {
    transform: translateY(-12px);
    box-shadow: 0 30px 60px rgba(var(--dc-primary-rgb), 0.15);
}

.dc-blog-showcase .dc-blog__card:hover::before {
    transform: scaleX(1);
}

/* Card Image */
.dc-blog-showcase .dc-blog__card-image {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
}

.dc-blog-showcase .dc-blog__card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.dc-blog-showcase .dc-blog__card:hover .dc-blog__card-img {
    transform: scale(1.08);
}

/* Category Badge */
.dc-blog-showcase .dc-blog__card-category {
    position: absolute;
    top: 20px;
    left: 20px;
    padding: 10px 18px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #ffffff;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 10px;
    z-index: 2;
    box-shadow: 0 4px 15px rgba(var(--dc-primary-rgb), 0.3);
}

/* Read Time */
.dc-blog-showcase .dc-blog__card-readtime {
    position: absolute;
    bottom: 20px;
    right: 20px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    font-size: 12px;
    font-weight: 600;
    color: var(--dc-secondary);
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(8px);
    border-radius: 10px;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-blog-showcase .dc-blog__card:hover .dc-blog__card-readtime {
    opacity: 1;
    transform: translateY(0);
}

.dc-blog-showcase .dc-blog__card-readtime svg {
    width: 14px;
    height: 14px;
    color: var(--dc-primary);
}

/* Card Content */
.dc-blog-showcase .dc-blog__card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 28px;
}

.dc-blog-showcase .dc-blog__card-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.dc-blog-showcase .dc-blog__card-date,
.dc-blog-showcase .dc-blog__card-author {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #94a3b8;
}

.dc-blog-showcase .dc-blog__card-date svg,
.dc-blog-showcase .dc-blog__card-author svg {
    width: 16px;
    height: 16px;
}

.dc-blog-showcase .dc-blog__card-title {
    font-family: 'Poppins', 'DM Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--dc-secondary);
    line-height: 1.4;
    margin-bottom: 14px;
    transition: color 0.3s ease;
}

.dc-blog-showcase .dc-blog__card:hover .dc-blog__card-title {
    color: var(--dc-primary);
}

.dc-blog-showcase .dc-blog__card-excerpt {
    font-size: 15px;
    color: #64748b;
    line-height: 1.7;
    margin-bottom: 24px;
}

.dc-blog-showcase .dc-blog__card-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    font-size: 14px;
    font-weight: 700;
    color: var(--dc-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: gap 0.3s ease;
}

.dc-blog-showcase .dc-blog__card:hover .dc-blog__card-link {
    gap: 16px;
}

.dc-blog-showcase .dc-blog__card-link svg {
    width: 18px;
    height: 18px;
    transition: transform 0.3s ease;
}

.dc-blog-showcase .dc-blog__card:hover .dc-blog__card-link svg {
    transform: translateX(4px);
}

/* ==========================================
   NAVIGATION ARROWS
========================================== */
.dc-blog-showcase .dc-blog__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: none;
    border-radius: 50%;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    z-index: 10;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-blog-showcase .dc-blog__nav:hover {
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    color: #ffffff;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 15px 50px rgba(var(--dc-primary-rgb), 0.35);
}

.dc-blog-showcase .dc-blog__nav--prev {
    left: -30px;
}

.dc-blog-showcase .dc-blog__nav--next {
    right: -30px;
}

.dc-blog-showcase .dc-blog__nav svg {
    width: 24px;
    height: 24px;
}

/* ==========================================
   BOTTOM CTA
========================================== */
.dc-blog-showcase .dc-blog__footer {
    text-align: center;
    margin-top: 60px;
}

.dc-blog-showcase--anim .dc-blog__footer {
    animation: dc-fade-in-up 0.6s ease-out 0.7s forwards;
    opacity: 0;
}

/* Architectural lines */
.dc-blog-showcase .dc-blog__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-blog-showcase .dc-blog__line--v{width:1px;height:100%;top:0;}
.dc-blog-showcase .dc-blog__line--v1{left:6%;}
.dc-blog-showcase .dc-blog__line--v2{right:6%;}
.dc-blog-showcase .dc-blog__line--h{height:1px;width:100%;left:0;}
.dc-blog-showcase .dc-blog__line--h1{bottom:12%;}
.dc-blog-showcase .dc-blog__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_blogLineTrace 9s ease-in-out infinite;
}
.dc-blog-showcase .dc-blog__line--v2::after{animation-delay:-4.5s;}
@keyframes _blogLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* ==========================================
   RESPONSIVE
========================================== */
@media (max-width: 1200px) {
    .dc-blog-showcase .dc-blog__line{display:none;}

    .dc-blog-showcase {
        --dc-columns: 2;
    }

    .dc-blog-showcase .dc-blog__nav {
        width: 50px;
        height: 50px;
    }

    .dc-blog-showcase .dc-blog__nav--prev { left: -25px; }
    .dc-blog-showcase .dc-blog__nav--next { right: -25px; }
}

@media (max-width: 1024px) {
    .dc-blog-showcase .dc-blog__nav {
        display: none;
    }

    .dc-blog-showcase--featured .dc-blog__posts {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .dc-blog-showcase--featured .dc-blog__post:first-child {
        grid-row: auto;
    }

    .dc-blog-showcase--featured .dc-blog__post:first-child .dc-blog__card-image {
        min-height: auto;
    }
}

@media (max-width: 768px) {
    .dc-blog-showcase .dc-blog {
        padding: 70px 0;
    }

    .dc-blog-showcase .dc-blog__wrapper {
        padding: 0 20px;
    }

    .dc-blog-showcase {
        --dc-columns: 1;
    }

    .dc-blog-showcase .dc-blog__eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
        padding: 8px 16px 8px 10px;
    }

    .dc-blog-showcase .dc-blog__header {
        margin-bottom: 40px;
    }

    .dc-blog-showcase .dc-blog__tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 10px;
        margin-bottom: 30px;
    }

    .dc-blog-showcase .dc-blog__tab {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .dc-blog-showcase--slider .dc-blog__post {
        flex: 0 0 85%;
    }

    .dc-blog-showcase .dc-blog__card-content {
        padding: 24px;
    }

    .dc-blog-showcase .dc-blog__card-title {
        font-size: 18px;
    }

    .dc-blog-showcase--deco .dc-blog__decoration--3 {
        display: none;
    }
}

/* ============================================================
   09-dc-newsletter
   ============================================================ */
.dc-newsletter {
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
}

.dc-newsletter * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.dc-newsletter .dc-newsletter {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--dc-secondary) 0%, #041c2c 100%);
}

.dc-newsletter--boxed .dc-newsletter {
    border-radius: 32px;
    max-width: 1200px;
    margin: 0 auto;
}

.dc-newsletter--split .dc-newsletter {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 500px;
}

/* Background decorations - Veranda themed */
.dc-newsletter .dc-newsletter__decor {
    position: absolute;
    pointer-events: none;
}

/* Decorative leaves/plants */
.dc-newsletter .dc-newsletter__decor--leaf {
    bottom: 5%;
    left: 8%;
    width: 100px;
    height: 100px;
    opacity: 0.12;
    animation: dc-leaf-sway 6s ease-in-out infinite;
}

.dc-newsletter .dc-newsletter__decor--leaf svg {
    width: 100%;
    height: 100%;
    fill: var(--dc-primary);
}

@keyframes dc-leaf-sway {
    0%, 100% { transform: rotate(-5deg); }
    50% { transform: rotate(5deg); }
}

/* Glass panel pattern */
.dc-newsletter .dc-newsletter__decor--glass {
    bottom: 15%;
    right: 52%;
    width: 120px;
    height: 180px;
    opacity: 0.06;
    animation: dc-glass-float 10s ease-in-out infinite;
}

.dc-newsletter .dc-newsletter__decor--glass svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: rgba(255, 255, 255, 0.8);
    stroke-width: 1.5;
}

@keyframes dc-glass-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

/* Pergola beams */
.dc-newsletter .dc-newsletter__decor--beams {
    top: 60%;
    left: 2%;
    width: 80px;
    height: 60px;
    opacity: 0.08;
}

.dc-newsletter .dc-newsletter__decor--beams svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: var(--dc-primary);
    stroke-width: 2;
}

/* Content area */
.dc-newsletter .dc-newsletter__content {
    position: relative;
    z-index: 2;
    padding: 80px 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dc-newsletter--nosplit .dc-newsletter__content {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

/* Badge */
.dc-newsletter .dc-newsletter__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px 10px 14px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dc-primary);
    background: rgba(var(--dc-primary-rgb), .06);
    border: 1px solid rgba(var(--dc-primary-rgb), .12);
    border-radius: 100px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}
.dc-newsletter .dc-newsletter__eyebrow-icon {
    flex-shrink: 0;
    width: 22px;
    height: 16px;
}
.dc-newsletter .dc-newsletter__eyebrow-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.dc-newsletter .dc-newsletter__eyebrow-icon path,
.dc-newsletter .dc-newsletter__eyebrow-icon line {
    stroke: var(--dc-primary);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-newsletter .dc-newsletter__eyebrow-sep {
    width: 1px;
    height: 16px;
    background: rgba(var(--dc-primary-rgb), .20);
    flex-shrink: 0;
}
.dc-newsletter .dc-newsletter__eyebrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(var(--dc-primary-rgb), .08), transparent);
    animation: _shimmerNews 5s ease-in-out infinite;
}
@keyframes _shimmerNews {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

/* Title */
.dc-newsletter .dc-newsletter__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.2;
    margin-bottom: 14px;
}

.dc-newsletter .dc-newsletter__highlight {
    color: var(--dc-primary);
    position: relative;
    display: inline-block;
}

.dc-newsletter .dc-newsletter__highlight::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, rgba(var(--dc-primary-rgb), 0.3), rgba(var(--dc-primary-rgb), 0.15));
    border-radius: 6px;
    z-index: -1;
    transform: skewX(-5deg);
}

/* Subtitle */
.dc-newsletter .dc-newsletter__subtitle {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
    margin-bottom: 32px;
    max-width: 450px;
}

/* Form */
.dc-newsletter .dc-newsletter__form {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
}

.dc-newsletter--nosplit .dc-newsletter__form {
    justify-content: center;
}

.dc-newsletter .dc-newsletter__input-wrapper {
    position: relative;
    flex: 1;
    max-width: 350px;
}

.dc-newsletter .dc-newsletter__input-icon {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    color: #94a3b8;
    pointer-events: none;
}

.dc-newsletter .dc-newsletter__input {
    width: 100%;
    padding: 18px 20px 18px 52px;
    font-size: 15px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    outline: none;
    transition: all 0.3s ease;
}

.dc-newsletter .dc-newsletter__input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.dc-newsletter .dc-newsletter__input:focus {
    background: rgba(255, 255, 255, 0.12);
    border-color: var(--dc-primary);
}

.dc-newsletter .dc-newsletter__button {
    padding: 18px 36px;
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border: none;
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    white-space: nowrap;
    box-shadow: 0 8px 30px rgba(239, 122, 23, 0.3);
}

.dc-newsletter .dc-newsletter__button:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(239, 122, 23, 0.4);
}

/* Features */
.dc-newsletter .dc-newsletter__features {
    display: flex;
    gap: 24px;
    flex-wrap: nowrap;
}

.dc-newsletter--nosplit .dc-newsletter__features {
    justify-content: center;
}

.dc-newsletter .dc-newsletter__feature {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
}

.dc-newsletter .dc-newsletter__feature-check {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 50%;
    color: #ffffff;
    flex-shrink: 0;
}

.dc-newsletter .dc-newsletter__feature-check svg {
    width: 12px;
    height: 12px;
}

/* Image side */
.dc-newsletter .dc-newsletter__image-side {
    position: relative;
    overflow: hidden;
}

.dc-newsletter .dc-newsletter__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dc-newsletter .dc-newsletter__image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--dc-secondary) 0%, transparent 50%);
}

/* Success message */
.dc-newsletter .dc-newsletter__success {
    display: none;
    align-items: center;
    gap: 12px;
    padding: 20px 24px;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    border-radius: 14px;
    color: #34d399;
    font-weight: 600;
}

.dc-newsletter .dc-newsletter__success.is-visible {
    display: flex;
}

.dc-newsletter .dc-newsletter__success svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

/* Architectural lines */
.dc-newsletter .dc-newsletter__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-newsletter .dc-newsletter__line--v{width:1px;height:100%;top:0;}
.dc-newsletter .dc-newsletter__line--v1{left:6%;}
.dc-newsletter .dc-newsletter__line--v2{right:6%;}
.dc-newsletter .dc-newsletter__line--h{height:1px;width:100%;left:0;}
.dc-newsletter .dc-newsletter__line--h1{bottom:12%;}
.dc-newsletter .dc-newsletter__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_newsletterLineTrace 9s ease-in-out infinite;
}
.dc-newsletter .dc-newsletter__line--v2::after{animation-delay:-4.5s;}
@keyframes _newsletterLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

@media (max-width: 1200px) {
    .dc-newsletter .dc-newsletter__line{display:none;}
}

@media (max-width: 1024px) {
    .dc-newsletter .dc-newsletter {
        grid-template-columns: 1fr;
    }

    .dc-newsletter .dc-newsletter__image-side {
        min-height: 300px;
        order: -1;
    }

    .dc-newsletter .dc-newsletter__image-overlay {
        background: linear-gradient(0deg, var(--dc-secondary) 0%, transparent 50%);
    }
}

@media (max-width: 768px) {
    .dc-newsletter .dc-newsletter__content {
        padding: 50px 30px;
    }

    .dc-newsletter .dc-newsletter__form {
        flex-direction: column;
    }

    .dc-newsletter .dc-newsletter__input-wrapper {
        max-width: 100%;
    }

    .dc-newsletter .dc-newsletter__button {
        width: 100%;
    }

    .dc-newsletter .dc-newsletter__features {
        flex-direction: row;
        justify-content: center;
        gap: 10px;
    }
    .dc-newsletter .dc-newsletter__feature {
        font-size: 10px;
        gap: 6px;
    }

    .dc-newsletter .dc-newsletter__decor--leaf,
    .dc-newsletter .dc-newsletter__decor--glass,
    .dc-newsletter .dc-newsletter__decor--beams {
        display: none;
    }
}

/* ============================================================
   10-dc-showcase
   ============================================================ */
/* ────────────────────────────────────
   TOKENS
──────────────────────────────────── */
.dc-showcase{
    --a:#ef7a17;
    --ah:#d15c00;
    --ar:239,122,23;
    --s:#032038;
    --bg:#f8f9fa;
    --tx:#1a1a1a;--tx2:#555;--mu:#999;
    --bd:rgba(0,0,0,.07);
    --r:24px;
    position:relative;overflow:hidden;background:var(--bg);
    color:var(--tx);font-family:'DM Sans','Poppins',system-ui,sans-serif;
}
.dc-showcase *,.dc-showcase *::before,.dc-showcase *::after{box-sizing:border-box;margin:0;padding:0;}

/* ── AMBIENT BG ── */
.dc-showcase .dc-showcase__bg{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.dc-showcase .dc-showcase__bg-mesh{
    position:absolute;inset:0;
    background:
        radial-gradient(ellipse 55% 40% at 82% 18%,rgba(var(--ar),.05) 0%,transparent 70%),
        radial-gradient(ellipse 40% 45% at 8% 72%,rgba(200,175,150,.03) 0%,transparent 50%);
    animation:_scMeshDrift 28s ease-in-out infinite alternate;
}
.dc-showcase .dc-showcase__bg-dots{
    position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(0,0,0,.035) 1px,transparent 1px);
    background-size:28px 28px;
}
@keyframes _scMeshDrift{0%{transform:translate(0) scale(1);}100%{transform:translate(18px,-12px) scale(1.03);}}

/* Architectural lines */
.dc-showcase .dc-showcase__line{position:absolute;background:var(--bd);pointer-events:none;z-index:1;}
.dc-showcase .dc-showcase__line--v{width:1px;height:100%;top:0;}
.dc-showcase .dc-showcase__line--v1{left:6%;}
.dc-showcase .dc-showcase__line--v2{right:6%;}
.dc-showcase .dc-showcase__line--h{height:1px;width:100%;left:0;}
.dc-showcase .dc-showcase__line--h1{bottom:12%;}
.dc-showcase .dc-showcase__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--ar),.25),transparent);
    border-radius:2px;animation:_scLineTrace 9s ease-in-out infinite;
}
.dc-showcase .dc-showcase__line--v2::after{animation-delay:-4.5s;}
@keyframes _scLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* ── CONTAINER ── */
.dc-showcase .dc-showcase__container{
    position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:40px 40px;padding-bottom:40px;
}

/* ── REVEAL ── */
.dc-showcase .dc-showcase__rv{
    opacity:0;transform:translateY(36px);filter:blur(4px);
    transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),filter .85s cubic-bezier(.22,1,.36,1);
    will-change:opacity,transform,filter;
}
.dc-showcase .dc-showcase__rv.in{opacity:1;transform:translateY(0);filter:blur(0);}

/* ═══════════════════════════════════
   HEADER
═══════════════════════════════════ */
.dc-showcase .dc-showcase__header{text-align:center;margin-bottom:60px;}

/* Badge */
.dc-showcase .dc-showcase__badge{
    display:inline-flex;align-items:center;gap:12px;
    padding:10px 22px 10px 14px;font-size:11.5px;font-weight:700;
    text-transform:uppercase;letter-spacing:3px;color:var(--a);
    background:rgba(var(--ar),.06);border:1px solid rgba(var(--ar),.12);
    border-radius:100px;margin-bottom:28px;position:relative;overflow:hidden;
}
.dc-showcase .dc-showcase__badge-icon{flex-shrink:0;width:22px;height:16px;position:relative;}
.dc-showcase .dc-showcase__badge-icon svg{width:100%;height:100%;display:block;}
.dc-showcase .dc-showcase__badge-icon path,
.dc-showcase .dc-showcase__badge-icon line{
    stroke:var(--a);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;
    stroke-dasharray:60;stroke-dashoffset:60;
    transition:stroke-dashoffset 1.2s cubic-bezier(.22,1,.36,1);
}
.dc-showcase .dc-showcase__badge.in .dc-showcase__badge-icon path,
.dc-showcase .dc-showcase__badge.in .dc-showcase__badge-icon line{stroke-dashoffset:0;}
.dc-showcase .dc-showcase__badge-icon line:nth-child(2){transition-delay:.3s;}
.dc-showcase .dc-showcase__badge-icon line:nth-child(3){transition-delay:.45s;}
.dc-showcase .dc-showcase__badge-icon line:nth-child(4){transition-delay:.6s;}
.dc-showcase .dc-showcase__badge-sep{
    width:1px;height:16px;background:rgba(var(--ar),.20);flex-shrink:0;
}
.dc-showcase .dc-showcase__badge::before{
    content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
    background:linear-gradient(90deg,transparent,rgba(var(--ar),.08),transparent);
    animation:_scShimmer 5s ease-in-out infinite;
}
@keyframes _scShimmer{0%,100%{left:-100%;}50%{left:100%;}}

/* Title */
.dc-showcase .dc-showcase__title{
    font-size:clamp(30px,4vw,48px);font-weight:800;line-height:1.2;
    color:var(--tx);margin-bottom:14px;
}

/* Highlight */
.dc-showcase .dc-showcase__hl{
    color:var(--a);
    position:relative;display:inline-block;
}
.dc-showcase .dc-showcase__hl::after{
    content:'';position:absolute;bottom:6px;left:0;width:100%;height:12px;
    background:linear-gradient(90deg,rgba(var(--ar),.2),rgba(var(--ar),.08));
    border-radius:6px;z-index:-1;transform:skewX(-5deg);
}

/* Subtitle */
.dc-showcase .dc-showcase__subtitle{
    font-size:17px;line-height:1.8;color:var(--tx2);max-width:600px;margin:0 auto;
}

/* ═══════════════════════════════════
   BENTO GRID
═══════════════════════════════════ */
.dc-showcase .dc-showcase__grid{
    display:grid;gap:20px;margin-bottom:60px;
}
.dc-showcase--bento .dc-showcase__grid{
    grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;
}
.dc-showcase--cols-3 .dc-showcase__grid{
    grid-template-columns:repeat(3,1fr);
}
.dc-showcase--cols-4 .dc-showcase__grid{
    grid-template-columns:repeat(4,1fr);
}
.dc-showcase--cols-5 .dc-showcase__grid{
    grid-template-columns:repeat(5,1fr);
}
.dc-showcase--masonry .dc-showcase__grid{
    grid-template-columns:repeat(4,1fr);
}

.dc-showcase--bento .dc-showcase__card--large{grid-column:span 2;grid-row:span 2;}
.dc-showcase--bento .dc-showcase__card--wide{grid-column:span 2;grid-row:span 1;}
.dc-showcase--bento .dc-showcase__card--tall{grid-column:span 1;grid-row:span 2;}
.dc-showcase--bento .dc-showcase__card--medium{grid-column:span 1;grid-row:span 1;}

/* ═══════════════════════════════════
   CARDS
═══════════════════════════════════ */
.dc-showcase .dc-showcase__card{
    position:relative;border-radius:var(--r);overflow:hidden;
    text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;
    transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease;
    cursor:pointer;
}
.dc-showcase .dc-showcase__card:hover{
    transform:translateY(-6px);box-shadow:0 30px 60px rgba(0,0,0,.15);
}

/* Media */
.dc-showcase .dc-showcase__card-media{position:absolute;inset:0;z-index:0;}
.dc-showcase .dc-showcase__card-media img,
.dc-showcase .dc-showcase__card-media video{
    width:100%;height:100%;object-fit:cover;
    transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.dc-showcase .dc-showcase__card:hover .dc-showcase__card-media img,
.dc-showcase .dc-showcase__card:hover .dc-showcase__card-media video{transform:scale(1.05);}

/* Video play indicator */
.dc-showcase .dc-showcase__card-play{
    position:absolute;top:20px;right:20px;width:44px;height:44px;
    background:rgba(255,255,255,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    z-index:5;transition:all .4s cubic-bezier(.22,1,.36,1);opacity:.9;
}
.dc-showcase .dc-showcase__card:hover .dc-showcase__card-play{transform:scale(1.1);opacity:1;}
.dc-showcase .dc-showcase__card-play svg{width:18px;height:18px;color:#fff;margin-left:2px;}

/* Overlay */
.dc-showcase .dc-showcase__card-overlay{
    position:absolute;inset:0;z-index:1;
    background:linear-gradient(0deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.10) 50%,rgba(0,0,0,.02) 100%);
    transition:background .4s ease;
}
.dc-showcase .dc-showcase__card:hover .dc-showcase__card-overlay{
    background:linear-gradient(0deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,.05) 100%);
}

/* Card content */
.dc-showcase .dc-showcase__card-content{
    position:relative;z-index:2;padding:28px;
    display:flex;flex-direction:column;gap:10px;
}
.dc-showcase .dc-showcase__card--large .dc-showcase__card-content,
.dc-showcase .dc-showcase__card--tall .dc-showcase__card-content{padding:36px;}

/* Label badge */
.dc-showcase .dc-showcase__card-label{
    display:inline-flex;align-items:center;gap:8px;
    padding:7px 14px;background:rgba(255,255,255,.12);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-radius:100px;width:fit-content;
    transition:all .4s cubic-bezier(.22,1,.36,1);
}
.dc-showcase .dc-showcase__card:hover .dc-showcase__card-label{background:rgba(255,255,255,.22);}
.dc-showcase .dc-showcase__card-label-dot{width:6px;height:6px;border-radius:50%;}
.dc-showcase .dc-showcase__card-label-text{
    font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1.5px;
}

/* Card title */
.dc-showcase .dc-showcase__card-title{
    font-family:'Poppins','DM Sans',sans-serif;
    font-size:22px;font-weight:700;color:#fff;line-height:1.2;
    transition:all .3s ease;
}
.dc-showcase .dc-showcase__card--large .dc-showcase__card-title{font-size:32px;}
.dc-showcase .dc-showcase__card--medium .dc-showcase__card-title{font-size:18px;}

/* Card description */
.dc-showcase .dc-showcase__card-desc{
    font-size:14px;color:rgba(255,255,255,.75);line-height:1.6;
    max-height:0;overflow:hidden;opacity:0;
    transition:all .5s cubic-bezier(.22,1,.36,1);
}
.dc-showcase .dc-showcase__card:hover .dc-showcase__card-desc{max-height:100px;opacity:1;}
.dc-showcase .dc-showcase__card--large .dc-showcase__card-desc,
.dc-showcase .dc-showcase__card--tall .dc-showcase__card-desc{max-height:none;opacity:1;}

/* Arrow */
.dc-showcase .dc-showcase__card-arrow{
    position:absolute;bottom:28px;right:28px;z-index:3;
    width:42px;height:42px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    opacity:0;transform:translateX(-8px);
    transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);
}
.dc-showcase .dc-showcase__card:hover .dc-showcase__card-arrow{opacity:1;transform:translateX(0);}
.dc-showcase .dc-showcase__card-arrow svg{width:18px;height:18px;color:#fff;}

/* Accent border on hover */
.dc-showcase .dc-showcase__card::before{
    content:'';position:absolute;inset:0;border-radius:var(--r);padding:2px;
    background:linear-gradient(135deg,var(--card-accent),transparent 60%);
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    opacity:0;transition:opacity .4s ease;z-index:4;
}
.dc-showcase .dc-showcase__card:hover::before{opacity:1;}

/* ═══════════════════════════════════
   CTA
═══════════════════════════════════ */
.dc-showcase .dc-showcase__cta{text-align:center;}
.dc-showcase .dc-showcase__cta-btn{
    display:inline-flex;align-items:center;gap:10px;padding:17px 34px;
    font-size:15px;font-weight:600;font-family:inherit;text-decoration:none;
    border-radius:14px;cursor:pointer;position:relative;overflow:hidden;
    transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,background .3s;
    will-change:transform;border:none;-webkit-tap-highlight-color:transparent;
    background:var(--a);color:#fff;
    box-shadow:0 10px 36px rgba(var(--ar),.22);
}
.dc-showcase .dc-showcase__cta-btn::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);
}
.dc-showcase .dc-showcase__cta-btn:hover{
    background:var(--ah);box-shadow:0 16px 50px rgba(var(--ar),.35);transform:translateY(-3px);
}
.dc-showcase .dc-showcase__cta-btn:focus-visible{outline:3px solid var(--a);outline-offset:3px;}
.dc-showcase .dc-showcase__cta-arrow{
    width:18px;height:18px;transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.dc-showcase .dc-showcase__cta-btn:hover .dc-showcase__cta-arrow{transform:translateX(6px);}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
    .dc-showcase .dc-showcase__rv{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;}
    .dc-showcase *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

/* ═══════════════════════════════════
   RESPONSIVE
═══════════════════════════════════ */
@media(max-width:1200px){
    .dc-showcase .dc-showcase__grid{grid-template-columns:repeat(2,1fr);}
    .dc-showcase .dc-showcase__card--large{grid-column:span 2;grid-row:span 2;}
    .dc-showcase .dc-showcase__card--wide{grid-column:span 2;}
    .dc-showcase .dc-showcase__line{display:none;}
}
@media(max-width:768px){
    .dc-showcase .dc-showcase__container{padding:20px 20px;padding-bottom:20px;}
    .dc-showcase .dc-showcase__grid{grid-template-columns:1fr;grid-auto-rows:280px;gap:14px;}
    .dc-showcase .dc-showcase__card--large,
    .dc-showcase .dc-showcase__card--wide,
    .dc-showcase .dc-showcase__card--tall,
    .dc-showcase .dc-showcase__card--medium{grid-column:span 1;grid-row:span 1;}
    .dc-showcase .dc-showcase__card--large{grid-row:span 2;}
    .dc-showcase .dc-showcase__card-content{padding:22px;}
    .dc-showcase .dc-showcase__card-title{font-size:20px!important;}
    .dc-showcase .dc-showcase__card-desc{max-height:none;opacity:1;font-size:13px;}
    .dc-showcase .dc-showcase__badge{font-size:10px;letter-spacing:2px;padding:8px 16px 8px 10px;}
    .dc-showcase .dc-showcase__cta-btn{padding:15px 28px;font-size:14px;}
    .dc-showcase .dc-showcase__line{display:none;}
}

/* ============================================================
   11-dc-projects
   ============================================================ */
/* ==========================================
   CSS VARIABLES
========================================== */
.dc-projects {
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
    --dc-secondary-rgb: 3,32,56;
}

.dc-projects * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ==========================================
   MAIN CONTAINER
========================================== */
.dc-projects .dc-projects {
    position: relative;
    padding: 50px 0;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 50%, #f8fafc 100%);
    overflow: hidden;
}

.dc-projects .dc-projects__wrapper {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}

/* ==========================================
   DECORATIVE ELEMENTS
========================================== */
.dc-projects .dc-projects__decoration {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
}

.dc-projects .dc-projects__decoration--1 {
    top: 5%;
    left: -5%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(var(--dc-primary-rgb), 0.05) 0%, transparent 70%);
}

.dc-projects .dc-projects__decoration--2 {
    bottom: 10%;
    right: -5%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(var(--dc-secondary-rgb), 0.03) 0%, transparent 70%);
}

/* ==========================================
   HEADER
========================================== */
.dc-projects .dc-projects__header {
    text-align: center;
    margin-bottom: 50px;
}

.dc-projects--anim .dc-projects__header {
    animation: dc-fade-in-up 0.8s ease-out forwards;
    opacity: 0;
}

@keyframes dc-fade-in-up {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.dc-projects .dc-projects__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px 10px 14px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dc-primary);
    background: rgba(var(--dc-primary-rgb), .06);
    border: 1px solid rgba(var(--dc-primary-rgb), .12);
    border-radius: 100px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}
.dc-projects .dc-projects__eyebrow-icon {
    flex-shrink: 0;
    width: 22px;
    height: 16px;
}
.dc-projects .dc-projects__eyebrow-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.dc-projects .dc-projects__eyebrow-icon path,
.dc-projects .dc-projects__eyebrow-icon line {
    stroke: var(--dc-primary);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-projects .dc-projects__eyebrow-sep {
    width: 1px;
    height: 16px;
    background: rgba(var(--dc-primary-rgb), .20);
    flex-shrink: 0;
}
.dc-projects .dc-projects__eyebrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(var(--dc-primary-rgb), .08), transparent);
    animation: _shimmerProj 5s ease-in-out infinite;
}
@keyframes _shimmerProj {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

.dc-projects .dc-projects__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: var(--dc-secondary);
    line-height: 1.2;
    margin-bottom: 14px;
}

.dc-projects .dc-projects__title-highlight {
    color: var(--dc-primary);
    position: relative;
    display: inline-block;
}

.dc-projects .dc-projects__title-highlight::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, rgba(var(--dc-primary-rgb), 0.2), rgba(var(--dc-primary-rgb), 0.1));
    border-radius: 6px;
    z-index: -1;
    transform: skewX(-5deg);
}

.dc-projects .dc-projects__subtitle {
    font-size: 18px;
    color: #64748b;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.7;
}

/* ==========================================
   FILTER TABS
========================================== */
.dc-projects .dc-projects__filters {
    display: flex;
    justify-content: center;
    margin-bottom: 50px;
}

.dc-projects--anim .dc-projects__filters {
    animation: dc-fade-in-up 0.8s ease-out 0.2s forwards;
    opacity: 0;
}

.dc-projects .dc-projects__filter-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    padding: 10px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
}

.dc-projects .dc-projects__filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    background: transparent;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.dc-projects .dc-projects__filter-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 14px;
    transform: scale(0);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: -1;
}

.dc-projects .dc-projects__filter-btn:hover::before {
    transform: scale(1);
}

.dc-projects .dc-projects__filter-btn.is-active::before {
    transform: scale(1);
}

.dc-projects .dc-projects__filter-btn:hover {
    color: #ffffff;
}

.dc-projects .dc-projects__filter-btn.is-active {
    color: #ffffff;
    box-shadow: 0 8px 25px rgba(var(--dc-primary-rgb), 0.3);
}

.dc-projects .dc-projects__filter-btn.is-active {
    box-shadow: 0 8px 25px rgba(var(--dc-primary-rgb), 0.3);
}

/* ==========================================
   PROJECTS GRID
========================================== */
.dc-projects .dc-projects__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 280px;
    gap: 24px;
    margin-bottom: 60px;
}

.dc-projects .dc-projects__item {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    cursor: pointer;
}

.dc-projects--anim .dc-projects__item {
    opacity: 0;
    animation: dc-fade-in-up 0.6s ease-out forwards;
}

.dc-projects--anim .dc-projects__item:nth-child(1) { animation-delay: 0.1s; }
.dc-projects--anim .dc-projects__item:nth-child(2) { animation-delay: 0.15s; }
.dc-projects--anim .dc-projects__item:nth-child(3) { animation-delay: 0.2s; }
.dc-projects--anim .dc-projects__item:nth-child(4) { animation-delay: 0.25s; }
.dc-projects--anim .dc-projects__item:nth-child(5) { animation-delay: 0.3s; }
.dc-projects--anim .dc-projects__item:nth-child(6) { animation-delay: 0.35s; }
.dc-projects--anim .dc-projects__item:nth-child(7) { animation-delay: 0.4s; }
.dc-projects--anim .dc-projects__item:nth-child(8) { animation-delay: 0.45s; }

.dc-projects .dc-projects__item--large {
    grid-column: span 2;
    grid-row: span 2;
}

.dc-projects .dc-projects__item--wide {
    grid-column: span 2;
}

.dc-projects .dc-projects__item--tall {
    grid-row: span 2;
}

.dc-projects .dc-projects__item.is-hidden {
    display: none;
}

.dc-projects .dc-projects__image,
.dc-projects .dc-projects__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.dc-projects .dc-projects__item:hover .dc-projects__image,
.dc-projects .dc-projects__item:hover .dc-projects__video {
    transform: scale(1.1);
}

/* Video play indicator */
.dc-projects .dc-projects__item--video .dc-projects__view-icon svg {
    display: none;
}

.dc-projects .dc-projects__item--video .dc-projects__view-icon::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 16px;
    border-color: transparent transparent transparent var(--dc-primary);
    margin-left: 4px;
}

/* Project Overlay */
.dc-projects .dc-projects__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 0%, transparent 40%, rgba(var(--dc-secondary-rgb), 0.9) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px;
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-projects .dc-projects__item:hover .dc-projects__overlay {
    opacity: 1;
}

.dc-projects .dc-projects__category {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 30px;
    font-size: 11px;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
    width: fit-content;
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.4s ease 0.1s;
}

.dc-projects .dc-projects__item:hover .dc-projects__category {
    transform: translateY(0);
    opacity: 1;
}

.dc-projects .dc-projects__item-title {
    font-family: 'Poppins', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.4s ease 0.15s;
}

.dc-projects .dc-projects__item:hover .dc-projects__item-title {
    transform: translateY(0);
    opacity: 1;
}

.dc-projects .dc-projects__location {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.4s ease 0.2s;
}

.dc-projects .dc-projects__item:hover .dc-projects__location {
    transform: translateY(0);
    opacity: 1;
}

.dc-projects .dc-projects__location svg {
    width: 16px;
    height: 16px;
}

/* View Icon */
.dc-projects .dc-projects__view-icon {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 50%;
    color: var(--dc-primary);
    transform: scale(0) rotate(-45deg);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-projects .dc-projects__item:hover .dc-projects__view-icon {
    transform: scale(1) rotate(0deg);
    opacity: 1;
}

.dc-projects .dc-projects__view-icon svg {
    width: 22px;
    height: 22px;
}

/* Corner Accents */
.dc-projects .dc-projects__accent {
    position: absolute;
    width: 50px;
    height: 50px;
    border: 3px solid var(--dc-primary);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-projects .dc-projects__accent--tl {
    top: 15px;
    left: 15px;
    border-right: none;
    border-bottom: none;
    border-radius: 12px 0 0 0;
    transform: translate(-15px, -15px);
}

.dc-projects .dc-projects__accent--br {
    bottom: 15px;
    right: 15px;
    border-left: none;
    border-top: none;
    border-radius: 0 0 12px 0;
    transform: translate(15px, 15px);
}

.dc-projects .dc-projects__item:hover .dc-projects__accent {
    opacity: 1;
    transform: translate(0, 0);
}

/* ==========================================
   CTA BUTTON
========================================== */
.dc-projects .dc-projects__cta-wrapper {
    text-align: center;
}

.dc-projects .dc-projects__cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 40px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    color: #ffffff;
    box-shadow: 0 10px 40px rgba(var(--dc-primary-rgb), 0.3);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.dc-projects .dc-projects__cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.5s ease;
}

.dc-projects .dc-projects__cta:hover::before {
    left: 100%;
}

.dc-projects .dc-projects__cta:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(var(--dc-primary-rgb), 0.4);
}

.dc-projects .dc-projects__cta svg {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}

.dc-projects .dc-projects__cta:hover svg {
    transform: translateX(5px);
}

/* ==========================================
   LIGHTBOX
========================================== */
.dc-projects .dc-projects__lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(var(--dc-secondary-rgb), 0.95);
    backdrop-filter: blur(10px);
    z-index: 99999;
    align-items: center;
    justify-content: center;
}

.dc-projects .dc-projects__lightbox.is-active {
    display: flex;
    animation: dc-fade-in 0.3s ease;
}

@keyframes dc-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.dc-projects .dc-projects__lightbox-content {
    position: relative;
    max-width: 90%;
    max-height: 90%;
}

.dc-projects .dc-projects__lightbox-image {
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
    border-radius: 20px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
}

.dc-projects .dc-projects__lightbox-info {
    text-align: center;
    margin-top: 24px;
}

.dc-projects .dc-projects__lightbox-title {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
}

.dc-projects .dc-projects__lightbox-location {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.7);
}

.dc-projects .dc-projects__lightbox-location svg {
    width: 18px;
    height: 18px;
}

.dc-projects .dc-projects__lightbox-close {
    position: absolute;
    top: -60px;
    right: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border: none;
    border-radius: 50%;
    color: #ffffff;
    font-size: 28px;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.dc-projects .dc-projects__lightbox-close:hover {
    transform: rotate(90deg);
}

.dc-projects .dc-projects__lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: none;
    border-radius: 50%;
    color: var(--dc-secondary);
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

.dc-projects .dc-projects__lightbox-nav:hover {
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    color: #ffffff;
}

.dc-projects .dc-projects__lightbox-nav--prev { left: -80px; }
.dc-projects .dc-projects__lightbox-nav--next { right: -80px; }

.dc-projects .dc-projects__lightbox-nav svg {
    width: 24px;
    height: 24px;
}

/* Architectural lines */
.dc-projects .dc-projects__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-projects .dc-projects__line--v{width:1px;height:100%;top:0;}
.dc-projects .dc-projects__line--v1{left:6%;}
.dc-projects .dc-projects__line--v2{right:6%;}
.dc-projects .dc-projects__line--h{height:1px;width:100%;left:0;}
.dc-projects .dc-projects__line--h1{bottom:12%;}
.dc-projects .dc-projects__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_projectsLineTrace 9s ease-in-out infinite;
}
.dc-projects .dc-projects__line--v2::after{animation-delay:-4.5s;}
@keyframes _projectsLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* ==========================================
   RESPONSIVE
========================================== */
@media (max-width: 1200px) {
    .dc-projects .dc-projects__line{display:none;}
    .dc-projects .dc-projects__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1024px) {
    .dc-projects .dc-projects__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .dc-projects .dc-projects__item--large,
    .dc-projects .dc-projects__item--wide {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .dc-projects .dc-projects {
        padding: 70px 0;
    }

    .dc-projects .dc-projects__wrapper {
        padding: 0 20px;
    }

    .dc-projects .dc-projects__filter-list {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 8px;
        gap: 8px;
    }

    .dc-projects .dc-projects__filter-list::-webkit-scrollbar {
        display: none;
    }

    .dc-projects .dc-projects__filter-btn {
        white-space: nowrap;
        padding: 12px 20px;
        font-size: 13px;
    }

    .dc-projects .dc-projects__grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 250px;
    }

    .dc-projects .dc-projects__item--large,
    .dc-projects .dc-projects__item--wide,
    .dc-projects .dc-projects__item--tall {
        grid-column: span 1;
        grid-row: span 1;
    }

    .dc-projects .dc-projects__overlay {
        opacity: 1;
        background: linear-gradient(180deg, transparent 0%, transparent 30%, rgba(var(--dc-secondary-rgb), 0.9) 100%);
    }

    .dc-projects .dc-projects__category,
    .dc-projects .dc-projects__item-title,
    .dc-projects .dc-projects__location {
        transform: translateY(0);
        opacity: 1;
    }

    .dc-projects .dc-projects__lightbox-nav {
        display: none;
    }
}

/* ============================================================
   12-dc-faq
   ============================================================ */
/* ==========================================
   CSS VARIABLES
========================================== */
.dc-faq {
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
    --dc-secondary-rgb: 3,32,56;
}

.dc-faq * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ==========================================
   MAIN CONTAINER
========================================== */
.dc-faq .dc-faq {
    position: relative;
    padding: 50px 0;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 50%, #f8fafc 100%);
    overflow: hidden;
}

.dc-faq .dc-faq__wrapper {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}

/* ==========================================
   DECORATIVE ELEMENTS
========================================== */
.dc-faq--deco .dc-faq__decoration {
    position: absolute;
    pointer-events: none;
}

.dc-faq--deco .dc-faq__decoration--1 {
    top: 10%;
    right: -50px;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(var(--dc-primary-rgb), 0.06) 0%, transparent 70%);
    border-radius: 50%;
}

.dc-faq--deco.dc-faq--anim .dc-faq__decoration--1 {
    animation: dc-float-slow 15s ease-in-out infinite;
}

.dc-faq--deco .dc-faq__decoration--2 {
    bottom: 15%;
    left: -80px;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(var(--dc-secondary-rgb), 0.04) 0%, transparent 70%);
    border-radius: 50%;
}

.dc-faq--deco.dc-faq--anim .dc-faq__decoration--2 {
    animation: dc-float-slow 12s ease-in-out infinite reverse;
}

.dc-faq--deco .dc-faq__decoration--3 {
    top: 40%;
    left: 5%;
    width: 80px;
    height: 80px;
    opacity: 0.15;
}

.dc-faq--deco .dc-faq__decoration--3 svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: var(--dc-primary);
    stroke-width: 1.5;
}

.dc-faq--deco.dc-faq--anim .dc-faq__decoration--3 svg {
    animation: dc-rotate-slow 20s linear infinite;
}

@keyframes dc-float-slow {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(15px, -15px); }
}

@keyframes dc-rotate-slow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ==========================================
   HEADER
========================================== */
.dc-faq .dc-faq__header {
    text-align: center;
    margin-bottom: 60px;
}

.dc-faq--anim .dc-faq__header {
    animation: dc-fade-in-up 0.8s ease-out forwards;
    opacity: 0;
}

@keyframes dc-fade-in-up {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.dc-faq .dc-faq__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px 10px 14px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dc-primary);
    background: rgba(var(--dc-primary-rgb), .06);
    border: 1px solid rgba(var(--dc-primary-rgb), .12);
    border-radius: 100px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}
.dc-faq .dc-faq__eyebrow-icon {
    flex-shrink: 0;
    width: 22px;
    height: 16px;
}
.dc-faq .dc-faq__eyebrow-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.dc-faq .dc-faq__eyebrow-icon path,
.dc-faq .dc-faq__eyebrow-icon line {
    stroke: var(--dc-primary);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-faq .dc-faq__eyebrow-sep {
    width: 1px;
    height: 16px;
    background: rgba(var(--dc-primary-rgb), .20);
    flex-shrink: 0;
}
.dc-faq .dc-faq__eyebrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(var(--dc-primary-rgb), .08), transparent);
    animation: _shimmerFaq 5s ease-in-out infinite;
}
@keyframes _shimmerFaq {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

.dc-faq .dc-faq__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: var(--dc-secondary);
    line-height: 1.2;
    margin-bottom: 14px;
}

.dc-faq .dc-faq__highlight {
    color: var(--dc-primary);
    position: relative;
    display: inline-block;
}

.dc-faq .dc-faq__highlight::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, rgba(var(--dc-primary-rgb), 0.2), rgba(var(--dc-primary-rgb), 0.1));
    border-radius: 6px;
    z-index: -1;
    transform: skewX(-5deg);
}

.dc-faq .dc-faq__subtitle {
    font-size: 18px;
    color: #64748b;
    line-height: 1.8;
    max-width: 600px;
    margin: 0 auto;
}

/* ==========================================
   LAYOUT CONTAINER
========================================== */
.dc-faq .dc-faq__container {
    display: grid;
    grid-template-columns: 1fr;
    max-width: 900px;
    margin: 0 auto;
}

.dc-faq--cta .dc-faq__container {
    grid-template-columns: 1fr 380px;
    gap: 50px;
    align-items: start;
    max-width: none;
    margin: 0;
}

/* ==========================================
   FAQ LIST
========================================== */
.dc-faq .dc-faq__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ==========================================
   FAQ ITEM
========================================== */
.dc-faq .dc-faq__item {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 2px solid transparent;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-faq--anim .dc-faq__item {
    opacity: 0;
    animation: dc-fade-in-up 0.6s ease-out forwards;
}

.dc-faq--anim .dc-faq__item:nth-child(1) { animation-delay: 0.1s; }
.dc-faq--anim .dc-faq__item:nth-child(2) { animation-delay: 0.15s; }
.dc-faq--anim .dc-faq__item:nth-child(3) { animation-delay: 0.2s; }
.dc-faq--anim .dc-faq__item:nth-child(4) { animation-delay: 0.25s; }
.dc-faq--anim .dc-faq__item:nth-child(5) { animation-delay: 0.3s; }
.dc-faq--anim .dc-faq__item:nth-child(6) { animation-delay: 0.35s; }

.dc-faq .dc-faq__item:hover {
    box-shadow: 0 15px 40px rgba(var(--dc-primary-rgb), 0.1);
    border-color: rgba(var(--dc-primary-rgb), 0.15);
}

.dc-faq .dc-faq__item.is-active {
    border-color: rgba(var(--dc-primary-rgb), 0.3);
    box-shadow: 0 20px 50px rgba(var(--dc-primary-rgb), 0.12);
}

/* Question Header */
.dc-faq .dc-faq__question {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px 28px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    background: none;
    border: none;
    text-align: left;
}

.dc-faq .dc-faq__question:hover {
    background: rgba(var(--dc-primary-rgb), 0.02);
}

/* Number */
.dc-faq .dc-faq__number {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: var(--dc-primary);
    background: linear-gradient(135deg, rgba(var(--dc-primary-rgb), 0.1), rgba(var(--dc-primary-rgb), 0.05));
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.dc-faq .dc-faq__item.is-active .dc-faq__number {
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    color: #ffffff;
}

/* Icon */
.dc-faq .dc-faq__icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(var(--dc-primary-rgb), 0.1), rgba(var(--dc-primary-rgb), 0.05));
    color: var(--dc-primary);
    flex-shrink: 0;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-faq .dc-faq__icon svg {
    width: 24px;
    height: 24px;
}

.dc-faq .dc-faq__item.is-active .dc-faq__icon {
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    color: #ffffff;
    transform: scale(1.05);
}

/* Question Text */
.dc-faq .dc-faq__question-text {
    flex: 1;
    font-family: 'Poppins', 'DM Sans', sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--dc-secondary);
    line-height: 1.4;
    transition: color 0.3s ease;
}

.dc-faq .dc-faq__item.is-active .dc-faq__question-text {
    color: var(--dc-primary);
}

/* Toggle Icon */
.dc-faq .dc-faq__toggle {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    color: var(--dc-secondary);
    flex-shrink: 0;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-faq .dc-faq__toggle svg {
    width: 20px;
    height: 20px;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dc-faq .dc-faq__item.is-active .dc-faq__toggle {
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    color: #ffffff;
}

.dc-faq .dc-faq__item.is-active .dc-faq__toggle svg {
    transform: rotate(45deg);
}

/* Answer */
.dc-faq .dc-faq__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.dc-faq .dc-faq__item.is-active .dc-faq__answer {
    max-height: 500px;
}

.dc-faq .dc-faq__answer-content {
    padding: 0 28px 28px;
}

.dc-faq--pad .dc-faq__answer-content {
    padding-left: 96px;
}

.dc-faq .dc-faq__answer-text {
    font-size: 16px;
    color: #64748b;
    line-height: 1.8;
}

.dc-faq .dc-faq__answer-text p {
    margin-bottom: 12px;
}

.dc-faq .dc-faq__answer-text p:last-child {
    margin-bottom: 0;
}

.dc-faq .dc-faq__answer-text ul,
.dc-faq .dc-faq__answer-text ol {
    margin: 12px 0;
    padding-left: 24px;
}

.dc-faq .dc-faq__answer-text li {
    margin-bottom: 8px;
}

/* ==========================================
   CTA SIDEBAR
========================================== */
.dc-faq .dc-faq__sidebar {
    position: sticky;
    top: 100px;
}

.dc-faq--anim .dc-faq__sidebar {
    animation: dc-fade-in-right 0.8s ease-out 0.3s forwards;
    opacity: 0;
}

@keyframes dc-fade-in-right {
    from { opacity: 0; transform: translateX(40px); }
    to { opacity: 1; transform: translateX(0); }
}

.dc-faq .dc-faq__cta-box {
    background: linear-gradient(135deg, var(--dc-secondary) 0%, #041c2c 100%);
    border-radius: 28px;
    padding: 40px 32px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.dc-faq .dc-faq__cta-box::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(var(--dc-primary-rgb), 0.15) 0%, transparent 70%);
    border-radius: 50%;
}

.dc-faq .dc-faq__cta-box::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -30%;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, rgba(var(--dc-primary-rgb), 0.1) 0%, transparent 70%);
    border-radius: 50%;
}

.dc-faq .dc-faq__cta-content {
    position: relative;
    z-index: 2;
}

.dc-faq .dc-faq__cta-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 20px;
    color: #ffffff;
    box-shadow: 0 15px 40px rgba(var(--dc-primary-rgb), 0.4);
}

.dc-faq .dc-faq__cta-icon svg {
    width: 32px;
    height: 32px;
}

.dc-faq .dc-faq__cta-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 18px 8px 12px;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: var(--dc-primary);
    background: rgba(var(--dc-primary-rgb), .06);
    border: 1px solid rgba(var(--dc-primary-rgb), .12);
    border-radius: 100px;
    margin-bottom: 12px;
    position: relative;
    overflow: hidden;
}
.dc-faq .dc-faq__cta-eyebrow-icon {
    flex-shrink: 0;
    width: 18px;
    height: 13px;
}
.dc-faq .dc-faq__cta-eyebrow-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.dc-faq .dc-faq__cta-eyebrow-icon path,
.dc-faq .dc-faq__cta-eyebrow-icon line {
    stroke: var(--dc-primary);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-faq .dc-faq__cta-eyebrow-sep {
    width: 1px;
    height: 14px;
    background: rgba(var(--dc-primary-rgb), .20);
    flex-shrink: 0;
}

.dc-faq .dc-faq__cta-title {
    font-family: 'Poppins', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
    margin-bottom: 16px;
}

.dc-faq .dc-faq__cta-desc {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
    margin-bottom: 28px;
}

.dc-faq .dc-faq__cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 28px;
    font-size: 15px;
    font-weight: 600;
    color: var(--dc-secondary);
    background: #ffffff;
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    margin-bottom: 20px;
}

.dc-faq .dc-faq__cta-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    background: var(--dc-primary);
    color: #ffffff;
}

.dc-faq .dc-faq__cta-button svg {
    width: 18px;
    height: 18px;
    transition: transform 0.3s ease;
}

.dc-faq .dc-faq__cta-button:hover svg {
    transform: translateX(4px);
}

.dc-faq .dc-faq__cta-divider {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.dc-faq .dc-faq__cta-divider::before,
.dc-faq .dc-faq__cta-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
}

.dc-faq .dc-faq__cta-divider span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.dc-faq .dc-faq__cta-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 20px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.dc-faq .dc-faq__cta-phone:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(var(--dc-primary-rgb), 0.3);
}

.dc-faq .dc-faq__cta-phone-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 10px;
    color: #ffffff;
}

.dc-faq .dc-faq__cta-phone-icon svg {
    width: 18px;
    height: 18px;
}

.dc-faq .dc-faq__cta-phone-info {
    text-align: left;
}

.dc-faq .dc-faq__cta-phone-label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 2px;
}

.dc-faq .dc-faq__cta-phone-number {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
}

/* Architectural lines */
.dc-faq .dc-faq__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-faq .dc-faq__line--v{width:1px;height:100%;top:0;}
.dc-faq .dc-faq__line--v1{left:6%;}
.dc-faq .dc-faq__line--v2{right:6%;}
.dc-faq .dc-faq__line--h{height:1px;width:100%;left:0;}
.dc-faq .dc-faq__line--h1{bottom:12%;}
.dc-faq .dc-faq__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_faqLineTrace 9s ease-in-out infinite;
}
.dc-faq .dc-faq__line--v2::after{animation-delay:-4.5s;}
@keyframes _faqLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* ==========================================
   RESPONSIVE
========================================== */
@media (max-width: 1100px) {
    .dc-faq .dc-faq__line{display:none;}

    .dc-faq .dc-faq__container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .dc-faq .dc-faq__sidebar {
        position: relative;
        top: auto;
        max-width: 450px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .dc-faq .dc-faq {
        padding: 70px 0;
    }

    .dc-faq .dc-faq__wrapper {
        padding: 0 20px;
    }

    .dc-faq .dc-faq__eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
        padding: 8px 16px 8px 10px;
    }

    .dc-faq .dc-faq__header {
        margin-bottom: 40px;
    }

    .dc-faq .dc-faq__question {
        padding: 20px;
        gap: 14px;
    }

    .dc-faq .dc-faq__icon {
        width: 40px;
        height: 40px;
    }

    .dc-faq .dc-faq__icon svg {
        width: 18px;
        height: 18px;
    }

    .dc-faq .dc-faq__question-text {
        font-size: 15px;
    }

    .dc-faq .dc-faq__toggle {
        width: 36px;
        height: 36px;
    }

    .dc-faq .dc-faq__answer-content {
        padding: 0 20px 20px;
    }

    .dc-faq--pad .dc-faq__answer-content {
        padding-left: 74px;
    }

    .dc-faq .dc-faq__cta-box {
        padding: 32px 24px;
    }

    .dc-faq .dc-faq__cta-icon {
        width: 60px;
        height: 60px;
    }

    .dc-faq .dc-faq__cta-icon svg {
        width: 28px;
        height: 28px;
    }

    .dc-faq .dc-faq__decoration--3 {
        display: none;
    }
}

/* ============================================================
   13-dc-rev
   ============================================================ */
.dc-rev {
    --p: #ef7a17;
    --s: #032038;
    --p-rgb: 239,122,23;
    --s-rgb: 3,32,56;
}
.dc-rev * { box-sizing: border-box; margin: 0; padding: 0; }

/* ── Section ── */
.dc-rev .dc-rev {
    position: relative;
    padding: 60px 0 50px;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    overflow: hidden;
}

/* Dot-grid background */
.dc-rev .dc-rev__bg {
    position: absolute; inset: 0; pointer-events: none; overflow: hidden;
}
.dc-rev .dc-rev__bg-dots {
    width: 100%; height: 100%;
    background-image: radial-gradient(rgba(var(--s-rgb), .07) 1px, transparent 1px);
    background-size: 24px 24px;
}

.dc-rev .dc-rev__wrap {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

/* ── Header — centered ── */
.dc-rev .dc-rev__head {
    text-align: center;
    margin-bottom: 40px;
}

.dc-rev .dc-rev__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px 10px 14px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--p);
    background: rgba(var(--p-rgb), .06);
    border: 1px solid rgba(var(--p-rgb), .12);
    border-radius: 100px;
    margin-bottom: 12px;
    position: relative;
    overflow: hidden;
}
.dc-rev .dc-rev__eyebrow-icon {
    flex-shrink: 0; width: 22px; height: 16px;
}
.dc-rev .dc-rev__eyebrow-icon svg {
    width: 100%; height: 100%; display: block;
}
.dc-rev .dc-rev__eyebrow-icon path,
.dc-rev .dc-rev__eyebrow-icon line {
    stroke: var(--p); stroke-width: 2; fill: none;
    stroke-linecap: round; stroke-linejoin: round;
}
.dc-rev .dc-rev__eyebrow-sep {
    width: 1px; height: 16px;
    background: rgba(var(--p-rgb), .20); flex-shrink: 0;
}
.dc-rev .dc-rev__eyebrow::before {
    content: '';
    position: absolute; top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(var(--p-rgb), .08), transparent);
    animation: _shimmerRev 5s ease-in-out infinite;
}
@keyframes _shimmerRev {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

.dc-rev .dc-rev__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: var(--s);
    line-height: 1.2;
}

.dc-rev .dc-rev__hl {
    color: var(--p);
    position: relative;
}
.dc-rev .dc-rev__hl::after {
    content: '';
    position: absolute; bottom: 6px; left: 0;
    width: 100%; height: 12px;
    background: linear-gradient(90deg, rgba(var(--p-rgb), 0.25), rgba(var(--p-rgb), 0.1));
    border-radius: 6px; z-index: -1;
    transform: skewX(-5deg);
}

/* ── Waterfall body — desktop 3-col grid ── */
.dc-rev .dc-rev__body {
    display: grid;
    grid-template-columns: 1fr 280px 1fr;
    gap: 28px;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

/* Scroll columns */
.dc-rev .dc-rev__col {
    height: 540px;
    overflow: hidden;
    position: relative;
    mask-image: linear-gradient(180deg, transparent, #000 6%, #000 94%, transparent);
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 6%, #000 94%, transparent);
}

.dc-rev .dc-rev__col-track {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.dc-rev .dc-rev__col-track--down {
    animation: _revDown 30s linear infinite;
}
.dc-rev .dc-rev__col-track--up {
    animation: _revUp 30s linear infinite;
}

.dc-rev .dc-rev__col:hover .dc-rev__col-track {
    animation-play-state: paused;
}

@keyframes _revDown {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}
@keyframes _revUp {
    0%   { transform: translateY(-50%); }
    100% { transform: translateY(0); }
}

/* ── Center panel ── */
.dc-rev .dc-rev__center {
    background: var(--s);
    border-radius: 24px;
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    box-shadow: 0 20px 60px rgba(var(--s-rgb), .25);
    position: relative;
    overflow: hidden;
}
.dc-rev .dc-rev__center::before {
    content: '';
    position: absolute; top: -40%; left: -40%;
    width: 180%; height: 180%;
    background: radial-gradient(circle at 50% 50%, rgba(var(--p-rgb), .08), transparent 60%);
    pointer-events: none;
}

/* Ring chart */
.dc-rev .dc-rev__ring {
    position: relative;
    width: 140px; height: 140px;
    flex-shrink: 0;
}
.dc-rev .dc-rev__ring svg {
    width: 100%; height: 100%;
    transform: rotate(-90deg);
}
.dc-rev .dc-rev__ring-bg {
    fill: none;
    stroke: rgba(255,255,255,.1);
    stroke-width: 10;
}
.dc-rev .dc-rev__ring-fg {
    fill: none;
    stroke: var(--p);
    stroke-width: 10;
    stroke-linecap: round;
    transition: stroke-dashoffset .8s ease;
}
.dc-rev .dc-rev__ring-label {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
}
.dc-rev .dc-rev__ring-val {
    font-family: 'Poppins', sans-serif;
    font-size: 32px; font-weight: 800;
    color: #fff; line-height: 1;
}
.dc-rev .dc-rev__ring-sub {
    font-size: 11px; font-weight: 600;
    color: rgba(255,255,255,.5);
    text-transform: uppercase;
    letter-spacing: 1px; margin-top: 4px;
}

/* Center stat rows */
.dc-rev .dc-rev__center-stats {
    width: 100%;
    display: flex; flex-direction: column;
    gap: 10px;
}
.dc-rev .dc-rev__center-row {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 14px;
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    transition: background .3s ease;
}
.dc-rev .dc-rev__center-row:hover {
    background: rgba(255,255,255,.12);
}
.dc-rev .dc-rev__center-row-icon {
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(var(--p-rgb), .15);
    border-radius: 8px; flex-shrink: 0;
}
.dc-rev .dc-rev__center-row-icon svg {
    width: 16px; height: 16px; color: var(--p);
}
.dc-rev .dc-rev__center-row-val {
    font-family: 'Poppins', sans-serif;
    font-size: 18px; font-weight: 800;
    color: #fff; line-height: 1;
}
.dc-rev .dc-rev__center-row-label {
    font-size: 11px; font-weight: 600;
    color: rgba(255,255,255,.45);
    text-transform: uppercase; letter-spacing: .5px;
}

/* Google badge inside center */
.dc-rev .dc-rev__google {
    display: flex;
    align-items: center; gap: 8px;
    padding: 10px 18px;
    background: rgba(255,255,255,.1);
    border-radius: 50px;
    transition: background .3s ease;
}
.dc-rev .dc-rev__google:hover {
    background: rgba(255,255,255,.18);
}
.dc-rev .dc-rev__google-icon {
    width: 20px; height: 20px; flex-shrink: 0;
}
.dc-rev .dc-rev__google-text {
    font-size: 12px; font-weight: 600; color: rgba(255,255,255,.8);
}
.dc-rev .dc-rev__google-stars {
    display: flex; gap: 2px;
}
.dc-rev .dc-rev__google-stars svg {
    width: 12px; height: 12px; fill: #fbbf24;
}

/* ── Review card ── */
.dc-rev .dc-rev__card {
    width: 100%;
    padding: 22px;
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(10px);
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.8);
    box-shadow: 0 8px 32px rgba(0,0,0,0.06);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

/* Left accent border on hover */
.dc-rev .dc-rev__card::before {
    content: '';
    position: absolute; top: 0; left: 0;
    width: 3px; height: 100%;
    background: linear-gradient(180deg, var(--p), transparent);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.dc-rev .dc-rev__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(var(--p-rgb), 0.12);
}

.dc-rev .dc-rev__card:hover::before {
    opacity: 1;
}

/* Card header */
.dc-rev .dc-rev__card-head {
    display: flex; align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.dc-rev .dc-rev__stars {
    display: flex; gap: 2px;
}
.dc-rev .dc-rev__stars svg {
    width: 16px; height: 16px;
    fill: #fbbf24; transition: transform 0.2s ease;
}
.dc-rev .dc-rev__card:hover .dc-rev__stars svg {
    animation: dc-star 0.4s ease;
}
.dc-rev .dc-rev__card:hover .dc-rev__stars svg:nth-child(1) { animation-delay: 0s; }
.dc-rev .dc-rev__card:hover .dc-rev__stars svg:nth-child(2) { animation-delay: 0.05s; }
.dc-rev .dc-rev__card:hover .dc-rev__stars svg:nth-child(3) { animation-delay: 0.1s; }
.dc-rev .dc-rev__card:hover .dc-rev__stars svg:nth-child(4) { animation-delay: 0.15s; }
.dc-rev .dc-rev__card:hover .dc-rev__stars svg:nth-child(5) { animation-delay: 0.2s; }

@keyframes dc-star {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.3); }
}

.dc-rev .dc-rev__quote {
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, rgba(var(--p-rgb), 0.12), rgba(var(--p-rgb), 0.05));
    border-radius: 8px; color: var(--p);
    transition: all 0.3s ease;
}
.dc-rev .dc-rev__card:hover .dc-rev__quote {
    background: linear-gradient(135deg, var(--p), #ff9a44);
    color: #fff; transform: rotate(-8deg);
}
.dc-rev .dc-rev__quote svg {
    width: 14px; height: 14px;
}

/* Card text */
.dc-rev .dc-rev__text {
    font-size: 14px; color: #475569;
    line-height: 1.65; margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Product pill */
.dc-rev .dc-rev__product {
    display: inline-block;
    padding: 4px 10px;
    font-size: 10px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .5px;
    color: var(--p);
    background: rgba(var(--p-rgb), .08);
    border-radius: 6px;
    margin-bottom: 12px;
}

/* Card footer */
.dc-rev .dc-rev__card-foot {
    display: flex; align-items: center; gap: 12px;
    padding-top: 14px;
    border-top: 1px solid rgba(var(--s-rgb), 0.06);
}

.dc-rev .dc-rev__avatar {
    width: 42px; height: 42px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(var(--p-rgb), 0.15), rgba(var(--p-rgb), 0.08));
    display: flex; align-items: center; justify-content: center;
    font-family: 'Poppins', sans-serif;
    font-size: 14px; font-weight: 700;
    color: var(--p);
    transition: all 0.3s ease;
}
.dc-rev .dc-rev__card:hover .dc-rev__avatar {
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(var(--p-rgb), 0.25);
}

.dc-rev .dc-rev__info {
    flex: 1; min-width: 0;
}
.dc-rev .dc-rev__name {
    font-family: 'Poppins', sans-serif;
    font-size: 14px; font-weight: 700;
    color: var(--s);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dc-rev .dc-rev__meta {
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; color: #94a3b8;
}
.dc-rev .dc-rev__meta svg {
    width: 12px; height: 12px;
}

.dc-rev .dc-rev__verified {
    display: flex; align-items: center; justify-content: center;
    width: 24px; height: 24px;
    background: linear-gradient(135deg, #10b981, #34d399);
    border-radius: 6px; color: #fff;
}
.dc-rev .dc-rev__verified svg {
    width: 14px; height: 14px;
}

/* ── Mobile stat pills (hidden on desktop) ── */
.dc-rev .dc-rev__center-mobile {
    display: none;
    flex-wrap: wrap; gap: 8px;
    justify-content: center;
    margin-bottom: 28px;
}
.dc-rev .dc-rev__stat {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px;
    background: #fff; border-radius: 50px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    border: 1px solid rgba(var(--s-rgb), 0.06);
    transition: all 0.3s ease;
}
.dc-rev .dc-rev__stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(var(--p-rgb), 0.12);
}
.dc-rev .dc-rev__stat-icon {
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--p), #ff9a44);
    border-radius: 10px; color: #fff;
}
.dc-rev .dc-rev__stat-icon svg {
    width: 18px; height: 18px;
}
.dc-rev .dc-rev__stat-content {
    display: flex; flex-direction: column;
}
.dc-rev .dc-rev__stat-val {
    font-family: 'Poppins', sans-serif;
    font-size: 18px; font-weight: 800;
    color: var(--s); line-height: 1.1;
}
.dc-rev .dc-rev__stat-label {
    font-size: 11px; font-weight: 600;
    color: #94a3b8; text-transform: uppercase; letter-spacing: 0.5px;
}

/* ── Horizontal marquee (mobile fallback, hidden on desktop) ── */
.dc-rev .dc-rev__marquee {
    display: none;
    position: relative; overflow: hidden;
    mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.dc-rev .dc-rev__marquee-track {
    display: flex; gap: 20px;
    width: max-content;
    animation: _revMarquee 30s linear infinite;
}
.dc-rev .dc-rev__marquee:hover .dc-rev__marquee-track {
    animation-play-state: paused;
}
.dc-rev .dc-rev__marquee .dc-rev__card {
    width: 320px; flex-shrink: 0;
}

@keyframes _revMarquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ── Architectural lines ── */
.dc-rev .dc-rev__line{position:absolute;background:rgba(var(--p-rgb),.08);pointer-events:none;z-index:1;}
.dc-rev .dc-rev__line--v{width:1px;height:100%;top:0;}
.dc-rev .dc-rev__line--v1{left:6%;}
.dc-rev .dc-rev__line--v2{right:6%;}
.dc-rev .dc-rev__line--h{height:1px;width:100%;left:0;}
.dc-rev .dc-rev__line--h1{bottom:12%;}
.dc-rev .dc-rev__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--p-rgb),.25),transparent);
    border-radius:2px;animation:_revLineTrace 9s ease-in-out infinite;
}
.dc-rev .dc-rev__line--v2::after{animation-delay:-4.5s;}
@keyframes _revLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* ── Responsive ── */
@media (max-width: 1200px) {
    .dc-rev .dc-rev__line{display:none;}
}

@media (max-width: 1024px) {
    .dc-rev .dc-rev__body { display: none; }
    .dc-rev .dc-rev__center-mobile { display: flex; }
    .dc-rev .dc-rev__marquee { display: block; }
}

@media (max-width: 768px) {
    .dc-rev .dc-rev { padding: 40px 0 35px; }
    .dc-rev .dc-rev__marquee .dc-rev__card { width: 270px; padding: 18px; }
    .dc-rev .dc-rev__head { margin-bottom: 28px; }
}

/* ============================================================
   14-dc-process
   ============================================================ */
.dc-process {
    --dc-primary: #ef7a17;
    --dc-secondary: #032038;
    --dc-primary-rgb: 239, 122, 23;
    --dc-secondary-rgb: 3, 32, 56;
    --dc-text: #6b7280;
}

.dc-process * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ==========================================
   MAIN SECTION
========================================== */
.dc-process .dc-process__section {
    position: relative;
    padding: 50px 0 100px;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 50%, #f8fafc 100%);
    overflow: hidden;
}

.dc-process .dc-process__container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ==========================================
   HEADER
========================================== */
.dc-process .dc-process__header {
    text-align: center;
    margin-bottom: 60px;
}

.dc-process .dc-process__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px 10px 14px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dc-primary);
    background: rgba(var(--dc-primary-rgb), .06);
    border: 1px solid rgba(var(--dc-primary-rgb), .12);
    border-radius: 100px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}
.dc-process .dc-process__eyebrow-icon {
    flex-shrink: 0;
    width: 22px;
    height: 16px;
}
.dc-process .dc-process__eyebrow-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.dc-process .dc-process__eyebrow-icon path,
.dc-process .dc-process__eyebrow-icon line {
    stroke: var(--dc-primary);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-process .dc-process__eyebrow-sep {
    width: 1px;
    height: 16px;
    background: rgba(var(--dc-primary-rgb), .20);
    flex-shrink: 0;
}
.dc-process .dc-process__eyebrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(var(--dc-primary-rgb), .08), transparent);
    animation: _shimmerProc 5s ease-in-out infinite;
}
@keyframes _shimmerProc {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

.dc-process .dc-process__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: var(--dc-secondary);
    line-height: 1.2;
    margin-bottom: 14px;
}

.dc-process .dc-process__highlight {
    color: var(--dc-primary);
    position: relative;
}

.dc-process .dc-process__highlight::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, rgba(var(--dc-primary-rgb), 0.3), rgba(var(--dc-primary-rgb), 0.1));
    border-radius: 6px;
    z-index: -1;
    transform: skewX(-5deg);
}

.dc-process .dc-process__subtitle {
    font-size: 17px;
    color: var(--dc-text);
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

/* ==========================================
   SLIDER WRAPPER
========================================== */
.dc-process .dc-process__slider {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 50px;
    align-items: center;
}

/* ==========================================
   STEPS NAV (LEFT)
========================================== */
.dc-process .dc-process__nav {
    position: relative;
}

.dc-process .dc-process__track {
    position: absolute;
    left: 24px;
    top: 20px;
    bottom: 20px;
    width: 3px;
    background: rgba(var(--dc-secondary-rgb), 0.08);
    border-radius: 3px;
    overflow: hidden;
}

.dc-process .dc-process__track-progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(180deg, var(--dc-primary), #ff9a44);
    border-radius: 3px;
    transition: height 0.4s ease;
}

/* Step Nav Item */
.dc-process .dc-process__nav-item {
    display: flex;
    gap: 18px;
    padding: 16px 0;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
}

.dc-process .dc-process__nav-item:hover {
    transform: translateX(5px);
}

/* Circle */
.dc-process .dc-process__nav-circle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid rgba(var(--dc-secondary-rgb), 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.dc-process .dc-process__nav-circle-num {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--dc-secondary);
    transition: all 0.3s ease;
}

.dc-process .dc-process__nav-circle-icon {
    position: absolute;
    width: 22px;
    height: 22px;
    color: #fff;
    opacity: 0;
    transform: scale(0.5) rotate(-20deg);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Active */
.dc-process .dc-process__nav-item.is-active .dc-process__nav-circle {
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-color: transparent;
    box-shadow: 0 8px 25px rgba(var(--dc-primary-rgb), 0.4);
    transform: scale(1.08);
}

.dc-process .dc-process__nav-item.is-active .dc-process__nav-circle-num {
    opacity: 0;
    transform: scale(0.5);
}

.dc-process .dc-process__nav-item.is-active .dc-process__nav-circle-icon {
    opacity: 1;
    transform: scale(1) rotate(0);
}

/* Passed */
.dc-process .dc-process__nav-item.is-passed .dc-process__nav-circle {
    background: var(--dc-primary);
    border-color: transparent;
}

.dc-process .dc-process__nav-item.is-passed .dc-process__nav-circle-num {
    color: #fff;
}

/* Nav Content */
.dc-process .dc-process__nav-content {
    flex: 1;
    padding-top: 6px;
}

.dc-process .dc-process__nav-title {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--dc-secondary);
    transition: color 0.3s ease;
    line-height: 1.3;
}

.dc-process .dc-process__nav-item.is-active .dc-process__nav-title {
    color: var(--dc-primary);
}

.dc-process .dc-process__nav-text {
    font-size: 14px;
    color: var(--dc-text);
    line-height: 1.5;
    margin-top: 4px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.4s ease;
}

.dc-process .dc-process__nav-item.is-active .dc-process__nav-text {
    max-height: 80px;
    opacity: 1;
}

/* Progress Timer Bar */
.dc-process .dc-process__timer {
    position: absolute;
    bottom: 0;
    left: 68px;
    right: 0;
    height: 3px;
    background: rgba(var(--dc-primary-rgb), 0.1);
    border-radius: 3px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.dc-process .dc-process__nav-item.is-active .dc-process__timer {
    opacity: 1;
}

.dc-process .dc-process__timer-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--dc-primary), #ff9a44);
    border-radius: 3px;
}

.dc-process .dc-process__nav-item.is-active .dc-process__timer-bar {
    animation: dc-timer 5000ms linear forwards;
}

.dc-process.is-paused .dc-process__timer-bar {
    animation-play-state: paused;
}

@keyframes dc-timer {
    from { width: 0%; }
    to { width: 100%; }
}

/* ==========================================
   MEDIA SLIDER (RIGHT)
========================================== */
.dc-process .dc-process__media {
    position: relative;
    height: 450px;
}

/* Decorations */
.dc-process .dc-process__decor {
    position: absolute;
    pointer-events: none;
    z-index: 1;
}

.dc-process .dc-process__decor--glass {
    bottom: -12px;
    right: -12px;
    width: 100px;
    height: 70px;
    background: linear-gradient(135deg, rgba(255,255,255,0.5), rgba(255,255,255,0.15));
    border: 2px solid rgba(var(--dc-primary-rgb), 0.25);
    border-radius: 10px;
    backdrop-filter: blur(5px);
}

.dc-process .dc-process__decor--leaf {
    top: 40%;
    left: -25px;
    width: 35px;
    height: 35px;
    color: var(--dc-primary);
    opacity: 0.5;
    animation: dc-leaf 8s ease-in-out infinite;
}

@keyframes dc-leaf {
    0%, 100% { transform: rotate(-10deg) translateY(0); }
    50% { transform: rotate(10deg) translateY(-8px); }
}

/* Frame */
.dc-process .dc-process__frame {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(var(--dc-secondary-rgb), 0.12);
    z-index: 2;
}

/* Slides */
.dc-process .dc-process__slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transform: scale(1.03);
    transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.dc-process .dc-process__slide.is-active {
    opacity: 1;
    transform: scale(1);
}

.dc-process .dc-process__slide img,
.dc-process .dc-process__slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Slide Overlay */
.dc-process .dc-process__slide-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 25px;
    background: linear-gradient(0deg, rgba(var(--dc-secondary-rgb), 0.9), transparent);
    transform: translateY(100%);
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.dc-process .dc-process__slide.is-active .dc-process__slide-info {
    transform: translateY(0);
}

.dc-process .dc-process__slide-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    padding: 8px 14px;
    border-radius: 25px;
    margin-bottom: 8px;
}

.dc-process .dc-process__slide-badge span {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
}

.dc-process .dc-process__slide-badge svg {
    width: 15px;
    height: 15px;
    color: #fff;
}

.dc-process .dc-process__slide-title {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

/* Video Play Button */
.dc-process .dc-process__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(255,255,255,0.95);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 8px 30px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
    z-index: 5;
}

.dc-process .dc-process__play:hover {
    transform: translate(-50%, -50%) scale(1.1);
}

.dc-process .dc-process__play svg {
    width: 22px;
    height: 22px;
    color: var(--dc-primary);
    margin-left: 3px;
}

/* Nav Arrows */
.dc-process .dc-process__arrows {
    position: absolute;
    top: 20px;
    left: 20px;
    display: flex;
    gap: 8px;
    z-index: 10;
}

.dc-process .dc-process__arrow {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.dc-process .dc-process__arrow:hover {
    background: var(--dc-primary);
    transform: scale(1.1);
}

.dc-process .dc-process__arrow svg {
    width: 18px;
    height: 18px;
    color: var(--dc-secondary);
    transition: color 0.3s ease;
}

.dc-process .dc-process__arrow:hover svg {
    color: #fff;
}

/* Counter */
.dc-process .dc-process__counter {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(255,255,255,0.95);
    padding: 10px 18px;
    border-radius: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 5px;
}

.dc-process .dc-process__counter-current {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: var(--dc-primary);
}

.dc-process .dc-process__counter-sep {
    color: var(--dc-text);
}

.dc-process .dc-process__counter-total {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--dc-secondary);
}

/* Architectural lines */
.dc-process .dc-process__line{position:absolute;background:rgba(var(--dc-primary-rgb),.08);pointer-events:none;z-index:1;}
.dc-process .dc-process__line--v{width:1px;height:100%;top:0;}
.dc-process .dc-process__line--v1{left:6%;}
.dc-process .dc-process__line--v2{right:6%;}
.dc-process .dc-process__line--h{height:1px;width:100%;left:0;}
.dc-process .dc-process__line--h1{bottom:12%;}
.dc-process .dc-process__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--dc-primary-rgb),.25),transparent);
    border-radius:2px;animation:_processLineTrace 9s ease-in-out infinite;
}
.dc-process .dc-process__line--v2::after{animation-delay:-4.5s;}
@keyframes _processLineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* ==========================================
   RESPONSIVE
========================================== */
@media (max-width: 1200px) {
    .dc-process .dc-process__line{display:none;}
}

@media (max-width: 1000px) {
    .dc-process .dc-process__slider {
        grid-template-columns: 320px 1fr;
        gap: 35px;
    }
}

@media (max-width: 850px) {
    .dc-process .dc-process__section {
        padding: 60px 0 80px;
    }

    .dc-process .dc-process__slider {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .dc-process .dc-process__media {
        order: -1;
        height: 320px;
    }

    .dc-process .dc-process__decor--glass,
    .dc-process .dc-process__decor--leaf {
        display: none;
    }

    .dc-process .dc-process__nav-item .dc-process__nav-text {
        max-height: none;
        opacity: 1;
    }
}

@media (max-width: 550px) {
    .dc-process .dc-process__header {
        margin-bottom: 40px;
    }

    .dc-process .dc-process__eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
        padding: 8px 16px 8px 10px;
    }

    .dc-process .dc-process__media {
        height: 260px;
    }

    .dc-process .dc-process__frame {
        border-radius: 16px;
    }

    .dc-process .dc-process__nav-circle {
        width: 44px;
        height: 44px;
    }

    .dc-process .dc-process__track {
        left: 20px;
    }

    .dc-process .dc-process__timer {
        left: 62px;
    }

    .dc-process .dc-process__arrows {
        display: none;
    }
}

/* ============================================================
   15-dcha
   ============================================================ */
/* ────────────────────────────────────
   TOKENS
──────────────────────────────────── */
.dcha{
    --a:#ef7a17;
    --ah:#d15c00;
    --ar:239,122,23;
    --bg:#ffffff;
    --tx:#1a1a1a;--tx2:#555;--mu:#999;
    --bd:rgba(0,0,0,.07);
    --r:24px;
}
.dcha *,.dcha *::before,.dcha *::after{box-sizing:border-box;margin:0;padding:0;}

/* ── ROOT ── */
.dcha .dc-hero{
    position:relative;min-height:100vh;display:flex;align-items:center;
    overflow:hidden;background:var(--bg);color:var(--tx);
    font-family:'DM Sans','Poppins',system-ui,sans-serif;
}

/* ── AMBIENT BG ── */
.dcha .dc-hero__bg{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;}

/* Gradient mesh */
.dcha .dc-hero__bg-mesh{
    position:absolute;inset:0;
    background:
        radial-gradient(ellipse 55% 40% at 82% 18%,rgba(var(--ar),.05) 0%,transparent 70%),
        radial-gradient(ellipse 40% 45% at 8% 72%,rgba(200,175,150,.03) 0%,transparent 50%);
}
.dcha--gradient .dc-hero__bg-mesh{
    background:
        radial-gradient(ellipse 65% 55% at 78% 25%,rgba(var(--ar),.07) 0%,transparent 70%),
        radial-gradient(ellipse 55% 50% at 12% 75%,rgba(var(--ar),.04) 0%,transparent 60%),
        radial-gradient(ellipse 35% 35% at 50% 5%,rgba(200,175,150,.05) 0%,transparent 50%);
}
.dcha--anim .dc-hero__bg-mesh{animation:_meshDrift 28s ease-in-out infinite alternate;}

/* Dot grid */
.dcha .dc-hero__bg-dots{
    position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(0,0,0,.035) 1px,transparent 1px);
    background-size:28px 28px;
}

/* Architectural lines */
.dcha .dc-hero__line{position:absolute;background:var(--bd);pointer-events:none;z-index:1;}
.dcha .dc-hero__line--v{width:1px;height:100%;top:0;}
.dcha .dc-hero__line--v1{left:6%;}
.dcha .dc-hero__line--v2{right:6%;}
.dcha .dc-hero__line--h{height:1px;width:100%;left:0;}
.dcha .dc-hero__line--h1{bottom:12%;}
/* Animated trace */
.dcha .dc-hero__line--v::after{
    content:'';position:absolute;top:-15%;left:-1px;width:3px;height:80px;
    background:linear-gradient(180deg,transparent,rgba(var(--ar),.25),transparent);
    border-radius:2px;
}
.dcha--anim .dc-hero__line--v::after{animation:_lineTrace 9s ease-in-out infinite;}
.dcha--anim .dc-hero__line--v2::after{animation-delay:-4.5s;}

@keyframes _meshDrift{0%{transform:translate(0) scale(1);}100%{transform:translate(18px,-12px) scale(1.03);}}
@keyframes _lineTrace{0%{top:-15%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:105%;opacity:0;}}

/* ── CONTAINER ── */
.dcha .dc-hero__container{
    position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto;
    padding-top:80px;
    display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;
}

/* ── REVEAL ── */
.dcha .dc-hero__rv{
    opacity:0;transform:translateY(36px);filter:blur(4px);
    transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),filter .85s cubic-bezier(.22,1,.36,1);
    will-change:opacity,transform,filter;
}
.dcha .dc-hero__rv.in{opacity:1;transform:translateY(0);filter:blur(0);}

/* ── LEFT ── */
.dcha .dc-hero__left{position:relative;z-index:2;}

/* Eyebrow */
.dcha .dc-hero__eyebrow{
    display:inline-flex;align-items:center;gap:12px;
    padding:10px 22px 10px 14px;font-size:11.5px;font-weight:700;
    text-transform:uppercase;letter-spacing:3px;color:var(--a);
    background:rgba(var(--ar),.06);border:1px solid rgba(var(--ar),.12);
    border-radius:100px;margin-bottom:28px;position:relative;overflow:hidden;
}
/* Mini overkapping icon */
.dcha .dc-hero__eyebrow-icon{
    flex-shrink:0;width:22px;height:16px;position:relative;
}
.dcha .dc-hero__eyebrow-icon svg{
    width:100%;height:100%;display:block;
}
.dcha .dc-hero__eyebrow-icon path,
.dcha .dc-hero__eyebrow-icon line{
    stroke:var(--a);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;
    stroke-dasharray:60;stroke-dashoffset:60;
    transition:stroke-dashoffset 1.2s cubic-bezier(.22,1,.36,1);
}
.dcha .dc-hero__eyebrow.in .dc-hero__eyebrow-icon path,
.dcha .dc-hero__eyebrow.in .dc-hero__eyebrow-icon line{
    stroke-dashoffset:0;
}
.dcha .dc-hero__eyebrow-icon line:nth-child(2){transition-delay:.3s;}
.dcha .dc-hero__eyebrow-icon line:nth-child(3){transition-delay:.45s;}
.dcha .dc-hero__eyebrow-icon line:nth-child(4){transition-delay:.6s;}
/* Separator line */
.dcha .dc-hero__eyebrow-sep{
    width:1px;height:16px;background:rgba(var(--ar),.20);flex-shrink:0;
}
/* Shimmer */
.dcha .dc-hero__eyebrow::before{
    content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
    background:linear-gradient(90deg,transparent,rgba(var(--ar),.08),transparent);
}
.dcha--anim .dc-hero__eyebrow::before{animation:_shimmer 5s ease-in-out infinite;}
@keyframes _shimmer{0%,100%{left:-100%;}50%{left:100%;}}

/* Title */
.dcha .dc-hero__title{
    font-size:clamp(30px,4vw,48px);font-weight:800;line-height:1.2;
    color:var(--tx);margin-bottom:14px;
}
.dcha .dc-hero__title-line{display:block;overflow:hidden;}
.dcha .dc-hero__title-inner{display:inline-block;}

/* Highlight */
.dcha .dc-hero__hl{
    color:var(--a);
    position:relative;display:inline-block;
}
.dcha .dc-hero__hl::after{
    content:'';position:absolute;bottom:6px;left:0;width:100%;height:12px;
    background:linear-gradient(90deg,rgba(var(--ar),.2),rgba(var(--ar),.08));
    border-radius:6px;z-index:-1;transform:skewX(-5deg);
}

/* Description */
.dcha .dc-hero__desc{
    font-size:17px;line-height:1.8;color:var(--tx2);max-width:480px;margin-bottom:40px;
}

/* ── CTA ── */
.dcha .dc-hero__ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px;}

.dcha .dc-hero__btn{
    display:inline-flex;align-items:center;gap:10px;padding:17px 34px;
    font-size:15px;font-weight:600;font-family:inherit;text-decoration:none;
    border-radius:14px;cursor:pointer;position:relative;overflow:hidden;
    transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,background .3s,border-color .3s,color .3s;
    will-change:transform;border:none;-webkit-tap-highlight-color:transparent;
}
.dcha .dc-hero__btn--pri{
    background:var(--a);color:#fff;
    box-shadow:0 10px 36px rgba(var(--ar),.22);
}
.dcha .dc-hero__btn--pri::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);
}
.dcha .dc-hero__btn--pri:hover{
    background:var(--ah);box-shadow:0 16px 50px rgba(var(--ar),.35);transform:translateY(-3px);
}
.dcha .dc-hero__btn--pri:focus-visible{outline:3px solid var(--a);outline-offset:3px;}
.dcha .dc-hero__btn-arrow{width:18px;height:18px;transition:transform .35s cubic-bezier(.22,1,.36,1);}
.dcha .dc-hero__btn--pri:hover .dc-hero__btn-arrow{transform:translateX(6px);}

.dcha .dc-hero__btn--sec{
    background:transparent;color:var(--tx);border:1.5px solid var(--bd);
    box-shadow:0 2px 8px rgba(0,0,0,.03);
}
.dcha .dc-hero__btn--sec::after{
    content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
    background:linear-gradient(100deg,transparent 20%,rgba(var(--ar),.07) 50%,transparent 80%);
    transition:left .6s ease;
}
.dcha .dc-hero__btn--sec:hover::after{left:100%;}
.dcha .dc-hero__btn--sec:hover{
    border-color:var(--a);color:var(--a);box-shadow:0 8px 28px rgba(var(--ar),.10);transform:translateY(-2px);
}
.dcha .dc-hero__btn--sec:focus-visible{outline:3px solid var(--a);outline-offset:3px;}

/* ── TRUST ── */
.dcha .dc-hero__trust{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px;}
.dcha .dc-hero__trust-item{
    display:inline-flex;align-items:center;gap:7px;padding:9px 16px;
    font-size:13px;font-weight:500;color:var(--tx2);
    background:#f7f5f2;border:1px solid var(--bd);border-radius:100px;
    transition:all .35s cubic-bezier(.22,1,.36,1);cursor:default;
}
.dcha .dc-hero__trust-item:hover{
    border-color:rgba(var(--ar),.22);background:rgba(var(--ar),.04);
    transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--ar),.08);
}
.dcha .dc-hero__trust-icon{color:var(--a);font-size:13px;flex-shrink:0;}
.dcha .dc-hero__trust-icon svg{width:13px;height:13px;}

/* ══════════════════════════════════
   RIGHT — Bento Category Grid
══════════════════════════════════ */
.dcha .dc-hero__right{
    position:relative;display:flex;justify-content:right;align-items:center;
}

/* Bento grid */
.dcha .dc-hero__bento{
    display:grid;width:100%;max-width:560px;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:14px;
}

/* Featured card (first item = spans full width) */
.dcha .dc-hero__cat--featured{
    grid-column:1/-1;
}

/* Category card base */
.dcha .dc-hero__cat{
    position:relative;border-radius:var(--r);overflow:hidden;
    text-decoration:none;display:block;
    transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease;
}
.dcha .dc-hero__cat:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 56px rgba(0,0,0,.12);
}

/* Image */
.dcha .dc-hero__cat-img{
    display:block;width:100%;object-fit:cover;
    transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.dcha .dc-hero__cat--featured .dc-hero__cat-img{height:280px;}
.dcha .dc-hero__cat:not(.dc-hero__cat--featured) .dc-hero__cat-img{height:200px;}
.dcha .dc-hero__cat:hover .dc-hero__cat-img{transform:scale(1.05);}

/* Video */
.dcha .dc-hero__cat-video{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
    opacity:0;transition:opacity .5s ease;pointer-events:none;
}
.dcha .dc-hero__cat--small .dc-hero__cat-video.is-playing{opacity:1;}
.dcha .dc-hero__cat--featured .dc-hero__cat-video{opacity:0;}

/* Overlay gradient */
.dcha .dc-hero__cat-overlay{
    position:absolute;inset:0;z-index:1;
    background:linear-gradient(0deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.10) 50%,rgba(0,0,0,.02) 100%);
    transition:background .4s ease;
}
.dcha .dc-hero__cat:hover .dc-hero__cat-overlay{
    background:linear-gradient(0deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,.05) 100%);
}

/* Content layer */
.dcha .dc-hero__cat-content{
    position:absolute;inset:0;z-index:2;
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:22px 24px;color:#fff;
}
.dcha .dc-hero__cat-title{
    font-family:'Poppins','DM Sans',sans-serif;
    font-weight:700;line-height:1.15;margin-bottom:4px;
}
.dcha .dc-hero__cat--featured .dc-hero__cat-title{font-size:24px;}
.dcha .dc-hero__cat:not(.dc-hero__cat--featured) .dc-hero__cat-title{font-size:17px;}
.dcha .dc-hero__cat-sub{
    font-size:13px;opacity:.75;font-weight:400;
}

/* Offer badge */
.dcha .dc-hero__cat-offer{
    position:absolute;top:16px;right:16px;z-index:3;
    background:var(--a);color:#fff;
    font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;
    padding:6px 14px;border-radius:100px;
    box-shadow:0 4px 16px rgba(var(--ar),.35);
}

/* Arrow icon */
.dcha .dc-hero__cat-arrow{
    position:absolute;bottom:22px;right:22px;z-index:3;
    width:36px;height:36px;border-radius:50%;
    background:rgba(255,255,255,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    display:flex;align-items:center;justify-content:center;
    opacity:0;transform:translateX(-8px);
    transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);
}
.dcha .dc-hero__cat:hover .dc-hero__cat-arrow{
    opacity:1;transform:translateX(0);
}
.dcha .dc-hero__cat-arrow svg{width:16px;height:16px;color:#fff;}

/* Progress bar (autoplay indicator on featured) */
.dcha .dc-hero__cat-progress{
    position:absolute;bottom:0;left:0;z-index:4;
    height:3px;background:var(--a);border-radius:0 2px 0 0;
    width:0%;
}
.dcha .dc-hero__cat-progress.running{
    animation:_catProgress 4000ms linear forwards;
}
@keyframes _catProgress{0%{width:0%;}100%{width:100%;}}

/* Navigation dots */
.dcha .dc-hero__cat-dots{
    display:flex;justify-content:center;gap:8px;margin-top:16px;grid-column:1/-1;
}
.dcha .dc-hero__cat-dot{
    width:8px;height:8px;border-radius:50%;border:none;padding:0;cursor:pointer;
    background:var(--bd);transition:all .35s cubic-bezier(.22,1,.36,1);
    -webkit-tap-highlight-color:transparent;
}
.dcha .dc-hero__cat-dot.active{
    background:var(--a);width:24px;border-radius:4px;
}

/* ── SCROLL CUE ── */
.dcha .dc-hero__scroll{
    position:absolute;bottom:36px;left:50%;
    transform:translateX(-50%);z-index:5;
    display:flex;flex-direction:column;align-items:center;gap:10px;
    opacity:1;transition:opacity .5s,transform .5s;
}
.dcha .dc-hero__scroll.hide{opacity:0;transform:translateX(-50%) translateY(8px);pointer-events:none;}
.dcha .dc-hero__scroll-mouse{
    width:24px;height:38px;border:2px solid rgba(0,0,0,.12);border-radius:12px;position:relative;
}
.dcha .dc-hero__scroll-dot{
    position:absolute;top:6px;left:50%;transform:translateX(-50%);
    width:3px;height:7px;background:var(--a);border-radius:2px;
}
.dcha--anim .dc-hero__scroll-dot{animation:_sDot 2s ease-in-out infinite;}
@keyframes _sDot{0%{top:6px;opacity:1;}60%{top:22px;opacity:0;}61%{top:6px;opacity:0;}100%{top:6px;opacity:1;}}
.dcha .dc-hero__scroll-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2.5px;color:var(--mu);}

/* ── BG IMAGE OVERRIDES ── */
.dcha--bgimg .dc-hero__bg-image{
    position:absolute;inset:0;z-index:0;
    background-size:cover;background-position:center;background-repeat:no-repeat;
}
.dcha--bgimg .dc-hero__bg-overlay{
    position:absolute;inset:0;z-index:1;
    background:rgba(0,0,0,.55);
}
.dcha--bgimg .dc-hero__bg-mesh,
.dcha--bgimg .dc-hero__bg-dots{display:none;}
.dcha--bgimg .dc-hero__line{background:rgba(255,255,255,.06);}
.dcha--bgimg .dc-hero__line--v::after{background:linear-gradient(180deg,transparent,rgba(255,255,255,.12),transparent);}
.dcha--bgimg .dc-hero{--tx:#ffffff;--tx2:rgba(255,255,255,.75);--mu:rgba(255,255,255,.45);--bd:rgba(255,255,255,.10);}
.dcha--bgimg .dc-hero__eyebrow{
    background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);
}
.dcha--bgimg .dc-hero__eyebrow::before{
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);
}
.dcha--bgimg .dc-hero__trust-item{
    background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10);color:rgba(255,255,255,.85);
}
.dcha--bgimg .dc-hero__trust-item:hover{
    background:rgba(255,255,255,.14);border-color:rgba(var(--ar),.35);color:#fff;
}
.dcha--bgimg .dc-hero__trust-icon{color:var(--a);}
.dcha--bgimg .dc-hero__trust-icon svg{fill:var(--a);stroke:none;}
.dcha--bgimg .dc-hero__trust-icon i{color:var(--a);}
.dcha--bgimg .dc-hero__btn--sec{
    border-color:rgba(255,255,255,.18);color:#fff;
}
.dcha--bgimg .dc-hero__btn--sec:hover{
    border-color:var(--a);color:var(--a);
}
.dcha--bgimg .dc-hero__cat-dot{background:rgba(255,255,255,.20);}
.dcha--bgimg .dc-hero__cat-dot.active{background:var(--a);}
.dcha--bgimg .dc-hero__scroll-mouse{border-color:rgba(255,255,255,.18);}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
    .dcha .dc-hero__rv{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;}
    .dcha *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

/* ── RESPONSIVE ── */
@media(max-width:1200px){
    .dcha .dc-hero__container{gap:48px;}
    .dcha .dc-hero__line{display:none;}
}
@media(max-width:1024px){
    .dcha .dc-hero__container{grid-template-columns:1fr;text-align:center;gap:48px;}
    .dcha .dc-hero__bento{max-width:520px;margin:0 auto;}
    .dcha .dc-hero__desc{margin-left:auto;margin-right:auto;}
    .dcha .dc-hero__ctas{justify-content:center;}
    .dcha .dc-hero__trust{justify-content:center;}
    .dcha .dc-hero__eyebrow{margin-left:auto;margin-right:auto;}
    .dcha .dc-hero__scroll{display:none;}
    .dcha .dc-hero__line{display:none;}
}
@media(max-width:600px){
    .dcha .dc-hero__ctas{flex-direction:column;align-items:stretch;}
    .dcha .dc-hero__btn{justify-content:center;width:100%;}
    .dcha .dc-hero__trust{flex-direction:row;justify-content:center;gap:6px;}
    .dcha .dc-hero__trust-item{padding:7px 12px;font-size:12px;}
    .dcha .dc-hero__bento{gap:10px;}
    .dcha .dc-hero__cat--featured .dc-hero__cat-img{height:200px;}
    .dcha .dc-hero__cat:not(.dc-hero__cat--featured) .dc-hero__cat-img{height:150px;}
    .dcha .dc-hero__cat-content{padding:16px 18px;}
    .dcha .dc-hero__cat--featured .dc-hero__cat-title{font-size:20px;}
}

/* ============================================================
   16-dc-form
   ============================================================ */
/* ==========================================
   CSS VARIABLES
========================================== */
.dc-form {
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
    --dc-secondary-rgb: 3,32,56;
}

.dc-form * {
    box-sizing: border-box;
}

/* ==========================================
   MAIN CONTAINER
========================================== */
.dc-form .dc-form {
    position: relative;
    padding: 80px 0;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 50%, #f8fafc 100%);
    overflow: hidden;
}

.dc-form .dc-form__wrapper {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}

/* ==========================================
   HEADER
========================================== */
.dc-form .dc-form__header {
    text-align: center;
    margin-bottom: 50px;
}

.dc-form .dc-form__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px 10px 14px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dc-primary);
    background: rgba(var(--dc-primary-rgb), .06);
    border: 1px solid rgba(var(--dc-primary-rgb), .12);
    border-radius: 100px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}

.dc-form .dc-form__eyebrow-icon {
    flex-shrink: 0;
    width: 22px;
    height: 16px;
}

.dc-form .dc-form__eyebrow-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.dc-form .dc-form__eyebrow-icon path,
.dc-form .dc-form__eyebrow-icon line {
    stroke: var(--dc-primary);
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dc-form .dc-form__eyebrow-sep {
    width: 1px;
    height: 16px;
    background: rgba(var(--dc-primary-rgb), .20);
    flex-shrink: 0;
}

.dc-form .dc-form__eyebrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(var(--dc-primary-rgb), .08), transparent);
    animation: _shimmerForm 5s ease-in-out infinite;
}

@keyframes _shimmerForm {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

.dc-form .dc-form__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: var(--dc-secondary);
    line-height: 1.2;
    margin: 0 0 14px;
}

.dc-form .dc-form__highlight {
    color: var(--dc-primary);
    position: relative;
    display: inline-block;
}

.dc-form .dc-form__highlight::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, rgba(var(--dc-primary-rgb), 0.2), rgba(var(--dc-primary-rgb), 0.1));
    border-radius: 6px;
    z-index: -1;
    transform: skewX(-5deg);
}

.dc-form .dc-form__subtitle {
    font-size: 18px;
    color: #64748b;
    line-height: 1.8;
    max-width: 600px;
    margin: 0 auto;
}

/* ==========================================
   GRID LAYOUT
========================================== */
.dc-form .dc-form__grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 40px;
    align-items: start;
}

.dc-form--no-sidebar .dc-form__grid {
    grid-template-columns: 1fr;
}

/* ==========================================
   FORM CARD
========================================== */
.dc-form .dc-form__card {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(3, 32, 56, 0.08);
    padding: 40px;
}

/* CF7 Form Grid Rows */
.dc-form .dc-cform-row {
    display: flex;
    gap: 16px;
    margin-bottom: 0;
}

.dc-form .dc-cform-col {
    flex: 1;
    min-width: 0;
}

/* CF7 Labels */
.dc-form .dc-form__card label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--dc-secondary);
    margin-bottom: 6px;
}

.dc-form .dc-form__card .dc-cform-col {
    margin-bottom: 16px;
}

/* CF7 Inputs */
.dc-form .dc-form__card .wpcf7-form-control:not(.wpcf7-submit) {
    width: 100%;
    padding: 14px 18px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 15px;
    font-family: inherit;
    color: var(--dc-secondary);
    background: #fff;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.dc-form .dc-form__card .wpcf7-form-control:not(.wpcf7-submit):focus {
    border-color: var(--dc-primary);
    box-shadow: 0 0 0 4px rgba(var(--dc-primary-rgb), 0.1);
}

.dc-form .dc-form__card .wpcf7-form-control:not(.wpcf7-submit)::placeholder {
    color: #9ca3af;
}

.dc-form .dc-form__card textarea.wpcf7-form-control {
    min-height: 120px;
    resize: vertical;
}

.dc-form .dc-form__card select.wpcf7-form-control {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8.825L.35 3.175 1.175 2.35 6 7.175l4.825-4.825.825.825z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}

/* CF7 File Upload */
.dc-form .dc-form__card .wpcf7-form-control-wrap[data-name] input[type="file"] {
    padding: 12px 18px;
}

/* CF7 Submit Button */
.dc-form .dc-form__card .wpcf7-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 32px;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    color: #ffffff;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 30px rgba(var(--dc-primary-rgb), 0.3);
    margin-top: 8px;
}

.dc-form .dc-form__card .wpcf7-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 40px rgba(var(--dc-primary-rgb), 0.4);
}

/* CF7 Validation */
.dc-form .dc-form__card .wpcf7-not-valid {
    border-color: #ef4444 !important;
}

.dc-form .dc-form__card .wpcf7-not-valid-tip {
    color: #ef4444;
    font-size: 13px;
    margin-top: 4px;
    display: block;
}

.dc-form .dc-form__card .wpcf7-response-output {
    margin: 16px 0 0;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 14px;
    border: 2px solid #e5e7eb;
}

.dc-form .dc-form__card .wpcf7-response-output.wpcf7-mail-sent-ok,
.dc-form .dc-form__card .wpcf7 form.sent .wpcf7-response-output {
    border-color: #22c55e;
    background: #f0fdf4;
    color: #166534;
}

.dc-form .dc-form__card .wpcf7 form.invalid .wpcf7-response-output,
.dc-form .dc-form__card .wpcf7 form.failed .wpcf7-response-output {
    border-color: #ef4444;
    background: #fef2f2;
    color: #991b1b;
}

/* CF7 Spinner */
.dc-form .dc-form__card .wpcf7-spinner {
    display: inline-block;
    margin-left: 12px;
}

/* ==========================================
   SIDEBAR
========================================== */
.dc-form .dc-form__sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Contact Info Card */
.dc-form .dc-form__info {
    background: linear-gradient(135deg, var(--dc-secondary) 0%, #041c2c 100%);
    border-radius: 24px;
    padding: 32px 28px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.dc-form .dc-form__info::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(var(--dc-primary-rgb), 0.15) 0%, transparent 70%);
    border-radius: 50%;
}

.dc-form .dc-form__info-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 24px;
    position: relative;
    z-index: 2;
}

.dc-form .dc-form__info-items {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    z-index: 2;
    list-style: none;
    margin: 0;
    padding: 0;
}

.dc-form .dc-form__info-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.dc-form .dc-form__info-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--dc-primary-rgb), 0.15);
    border-radius: 10px;
    flex-shrink: 0;
    color: var(--dc-primary);
}

.dc-form .dc-form__info-icon svg {
    width: 18px;
    height: 18px;
}

.dc-form .dc-form__info-label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 2px;
    display: block;
}

.dc-form .dc-form__info-value {
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
    display: block;
}

.dc-form .dc-form__info-value a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.dc-form .dc-form__info-value a:hover {
    color: var(--dc-primary);
}

/* Trust Card */
.dc-form .dc-form__trust {
    background: linear-gradient(135deg, var(--dc-secondary) 0%, #041c2c 100%);
    border-radius: 24px;
    padding: 28px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.dc-form .dc-form__trust::before {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -30%;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, rgba(var(--dc-primary-rgb), 0.1) 0%, transparent 70%);
    border-radius: 50%;
}

.dc-form .dc-form__trust-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}

.dc-form .dc-form__trust-divider::before,
.dc-form .dc-form__trust-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
}

.dc-form .dc-form__trust-divider span {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 2px;
    white-space: nowrap;
}

.dc-form .dc-form__trust-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    z-index: 2;
    list-style: none;
    margin: 0;
    padding: 0;
}

.dc-form .dc-form__trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
}

.dc-form .dc-form__trust-check {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--dc-primary), #ff9a44);
    border-radius: 8px;
    flex-shrink: 0;
}

.dc-form .dc-form__trust-check svg {
    width: 14px;
    height: 14px;
    color: #ffffff;
}

/* ==========================================
   RESPONSIVE
========================================== */
@media (max-width: 1024px) {
    .dc-form .dc-form__grid {
        grid-template-columns: 1fr;
    }

    .dc-form .dc-form__sidebar {
        position: relative;
        top: auto;
        order: -1;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .dc-form .dc-form__info,
    .dc-form .dc-form__trust {
        flex: 1;
        min-width: 280px;
    }

    .dc-form .dc-cform-row {
        flex-direction: row;
    }
}

@media (max-width: 768px) {
    .dc-form .dc-form {
        padding: 50px 0;
    }

    .dc-form .dc-form__wrapper {
        padding: 0 20px;
    }

    .dc-form .dc-form__card {
        padding: 24px;
        border-radius: 18px;
    }

    .dc-form .dc-form__sidebar {
        flex-direction: column;
    }

    .dc-form .dc-form__info,
    .dc-form .dc-form__trust {
        min-width: 100%;
    }

    .dc-form .dc-cform-row {
        flex-direction: column;
        gap: 0;
    }

    .dc-form .dc-form__eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
        padding: 8px 16px 8px 10px;
    }

    .dc-form .dc-form__header {
        margin-bottom: 32px;
    }
}

/* ============================================================
   17-dc-legal
   ============================================================ */
.dc-legal {
    --dc-primary: #ef7a17;
    --dc-primary-rgb: 239,122,23;
    --dc-secondary: #032038;
    --dc-secondary-rgb: 3,32,56;
}
.dc-legal * { box-sizing: border-box; }

/* ==========================================
   DONKERE TITELBAND (geen hero)
   Ruime top-padding houdt de absolute site-header
   (witte tekst) leesbaar.
========================================== */
.dc-legal .dc-legal__hero {
    position: relative;
    background:
        radial-gradient(1200px 400px at 80% -10%, rgba(var(--dc-primary-rgb), 0.18), transparent 60%),
        linear-gradient(160deg, var(--dc-secondary) 0%, #021526 100%);
    color: #ffffff;
    padding: clamp(150px, 17vw, 210px) 24px clamp(60px, 7vw, 90px);
    overflow: hidden;
}

.dc-legal .dc-legal__hero::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -1px;
    height: 60px;
    background: linear-gradient(180deg, transparent, rgba(248, 250, 252, 0.06));
    pointer-events: none;
}

/* Decoratieve lijnen */
.dc-legal .dc-legal__hero-line {
    position: absolute; top: 0; width: 1px; height: 100%;
    background: rgba(255,255,255,0.06); pointer-events: none;
}
.dc-legal .dc-legal__hero-line--1 { left: 12%; }
.dc-legal .dc-legal__hero-line--2 { right: 12%; }

.dc-legal .dc-legal__hero-inner {
    position: relative; z-index: 2;
    max-width: 860px; margin: 0 auto;
}

.dc-legal .dc-legal__eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 9px 18px;
    font-size: 11.5px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 3px; color: #fff;
    background: rgba(var(--dc-primary-rgb), 0.18);
    border: 1px solid rgba(var(--dc-primary-rgb), 0.35);
    border-radius: 100px; margin-bottom: 22px;
}
.dc-legal .dc-legal__eyebrow svg { width: 15px; height: 15px; }

.dc-legal .dc-legal__title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(32px, 5vw, 56px);
    font-weight: 800; line-height: 1.15; margin: 0;
    color: #ffffff;
}
.dc-legal .dc-legal__title-highlight { color: var(--dc-primary); }

.dc-legal .dc-legal__intro {
    margin-top: 18px; max-width: 680px;
    font-size: 17px; line-height: 1.7; color: rgba(255,255,255,0.82);
}

.dc-legal .dc-legal__updated {
    margin-top: 22px;
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 13px; color: rgba(255,255,255,0.65);
}
.dc-legal .dc-legal__updated svg { width: 14px; height: 14px; }

/* ==========================================
   INHOUD
========================================== */
.dc-legal .dc-legal__body {
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    padding: clamp(50px, 7vw, 90px) 24px clamp(60px, 8vw, 100px);
}

.dc-legal .dc-legal__body-inner {
    max-width: 860px; margin: 0 auto;
}

.dc-legal .dc-legal__section {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(var(--dc-secondary-rgb), 0.07);
    border-radius: 18px;
    padding: 28px 32px;
    margin-bottom: 20px;
    box-shadow: 0 4px 24px rgba(var(--dc-secondary-rgb), 0.04);
}
.dc-legal .dc-legal__section::before {
    content: '';
    position: absolute; left: 0; top: 24px; bottom: 24px;
    width: 4px; border-radius: 4px;
    background: linear-gradient(180deg, var(--dc-primary), #ff9a44);
}

.dc-legal .dc-legal__section-heading {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(18px, 2.4vw, 22px);
    font-weight: 700; color: var(--dc-secondary);
    margin: 0 0 14px;
}

.dc-legal .dc-legal__section-body {
    font-size: 16px; line-height: 1.8; color: #475569;
}
.dc-legal .dc-legal__section-body p { margin: 0 0 14px; }
.dc-legal .dc-legal__section-body p:last-child { margin-bottom: 0; }
.dc-legal .dc-legal__section-body a { color: var(--dc-primary); text-decoration: underline; }
.dc-legal .dc-legal__section-body ul,
.dc-legal .dc-legal__section-body ol { margin: 0 0 14px; padding-left: 22px; }
.dc-legal .dc-legal__section-body li { margin-bottom: 8px; }
.dc-legal .dc-legal__section-body strong { color: var(--dc-secondary); }

@media (max-width: 768px) {
    .dc-legal .dc-legal__hero-line { display: none; }
    .dc-legal .dc-legal__section { padding: 22px 20px; }
}

/* ============================================================
   18-dc-hero-embed
   ============================================================ */
.dc-hero-embed {
    --dc-he-text: #ffffff;
    --dc-he-accent: #ef7a17;
    --dc-he-bg: #032038;
    --dc-he-overlay: 0.55;
    --dc-he-minh: 100vh;
    position: relative;
}
.dc-hero-embed * {
    box-sizing: border-box;
}

/* MAIN CONTAINER — start van de pagina, loopt onder de absolute header + topbar door */
.dc-hero-embed .dc-hero-embed__inner {
    position: relative;
    min-height: var(--dc-he-minh);
    background: var(--dc-he-bg);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* BACKGROUND IMAGE + OVERLAY (over header heen) */
.dc-hero-embed--bg .dc-hero-embed__inner {
    background: none;
}
.dc-hero-embed__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.dc-hero-embed__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: #032038;
    opacity: var(--dc-he-overlay);
    pointer-events: none;
}

/* CONTENT WRAPPER — padding-top houdt content vrij van de header */
.dc-hero-embed__wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0 auto;
    padding: 100px 0px 0px;
    color: var(--dc-he-text);
}
.dc-hero-embed--center .dc-hero-embed__wrapper { text-align: center; }
.dc-hero-embed--left .dc-hero-embed__wrapper { text-align: left; }

.dc-hero-embed__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    margin-bottom: 22px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--dc-he-text);
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 100px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.dc-hero-embed__badge-icon svg {
    width: 18px;
    height: 12px;
    fill: none;
    stroke: var(--dc-he-accent);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dc-hero-embed__badge-sep {
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, 0.25);
}

.dc-hero-embed__title {
    margin: 0 0 18px;
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1.1;
    font-weight: 800;
    color: var(--dc-he-text);
}
.dc-hero-embed__subtitle {
    margin: 0 auto 36px;
    max-width: 640px;
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    line-height: 1.6;
    color: var(--dc-he-text);
    opacity: 0.85;
}
.dc-hero-embed--left .dc-hero-embed__subtitle { margin-left: 0; margin-right: 0; }

/* EMBED MOUNT — waar het externe script zijn widget rendert */
.dc-hero-embed__mount {
    position: relative;
    width: 100%;
}
.dc-hero-embed--center .dc-hero-embed__mount { margin: 0 auto; }

.dc-hero-embed__placeholder {
    padding: 28px 24px;
    border: 2px dashed rgba(255, 255, 255, 0.35);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--dc-he-text);
    font-size: 14px;
    line-height: 1.6;
    word-break: break-all;
}
.dc-hero-embed__placeholder code {
    display: inline-block;
    margin: 6px 0;
    padding: 2px 6px;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 4px;
    font-size: 12px;
}

@media (max-width: 768px) {
    .dc-hero-embed__wrapper { padding: 140px 20px 60px; }
}

/* ═══════════════════════════════════════════════════════════════
   DC CONFIGURATOR SHOWCASE  (design-007: gestapelde kop + waaier)
   ═══════════════════════════════════════════════════════════════ */
.dc-config {
    --dcc-pri: #ef7a17;
    --dcc-sec: #032038;
    --dcc-ink: #0f2233;
    --dcc-muted: #5b6b78;
    position: relative;
    padding: clamp(48px, 7vw, 96px) 20px;
    background: radial-gradient(120% 80% at 50% 0%, #fbfcfe 0%, #f4f6f9 60%, #eef1f5 100%);
    overflow: hidden;
    font-family: 'DM Sans', 'Poppins', system-ui, sans-serif;
}
.dc-config__inner {
    max-width: 1180px;
    margin: 0 auto;
    text-align: center;
}

/* ── Kop ── */
.dc-config__head { position: relative; z-index: 2; }
.dc-config__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px 7px 12px;
    border-radius: 999px;
    background: rgba(239, 122, 23, 0.1);
    color: var(--dcc-pri);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.dc-config__badge svg { width: 15px; height: 15px; }
.dc-config__title {
    margin: 22px 0 0;
    font-family: 'Poppins', 'DM Sans', sans-serif;
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.02em;
    color: var(--dcc-sec);
    font-size: clamp(24px, 7vw, 92px);
    overflow-wrap: break-word;
}
.dc-config__title span { display: block; }
.dc-config__title-accent { color: var(--dcc-pri); }
.dc-config__rule {
    display: block;
    width: 64px;
    height: 3px;
    margin: clamp(20px, 3vw, 34px) auto;
    border-radius: 999px;
    background: var(--dcc-sec);
    opacity: 0.85;
}
.dc-config__text {
    max-width: 640px;
    margin: 0 auto;
    color: var(--dcc-muted);
    font-size: clamp(16px, 1.6vw, 19px);
    line-height: 1.7;
}
.dc-config__chips {
    list-style: none;
    margin: 26px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 14px;
}
.dc-config__chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 15px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e5e9ef;
    box-shadow: 0 2px 8px rgba(3, 32, 56, 0.05);
    color: var(--dcc-ink);
    font-weight: 600;
    font-size: 14px;
}
.dc-config__chip svg { width: 15px; height: 15px; color: var(--dcc-pri); }

/* ── Waaier ── */
.dc-config__stage {
    --dcc-cardw: clamp(220px, 25vw, 330px);
    --dcc-cardh: calc(var(--dcc-cardw) * 0.75 + 16px);
    --maxty: 80px;
    position: relative;
    height: calc(var(--dcc-cardh) + var(--maxty) + 8px);
    margin: clamp(32px, 4vw, 52px) auto clamp(6px, 1.5vw, 16px);
    max-width: 1120px;
}
.dc-config__card {
    position: absolute;
    left: 50%;
    bottom: var(--maxty);
    width: var(--dcc-cardw);
    margin: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    padding: 8px;
    box-shadow: 0 18px 40px -18px rgba(3, 32, 56, 0.4);
    transform-origin: center bottom;
    transform: translateX(calc(-50% + var(--x, 0px))) translateY(var(--ty, 0px)) rotate(var(--rot, 0deg));
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
    will-change: transform;
}
.dc-config__card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 10px;
}
.dc-config__card.is-center {
    box-shadow: 0 34px 60px -22px rgba(3, 32, 56, 0.5);
}
.dc-config__card figcaption {
    padding: 8px 4px 2px;
    font-size: 13px;
    font-weight: 600;
    color: var(--dcc-ink);
}
/* Hover: kaart komt naar voren, recht en groter */
.dc-config__stage:hover .dc-config__card { opacity: 0.72; }
.dc-config__card:hover {
    opacity: 1 !important;
    z-index: 99 !important;
    transform: translateX(calc(-50% + var(--x, 0px))) translateY(calc(var(--ty, 0px) - 26px)) rotate(0deg) scale(1.04);
    box-shadow: 0 40px 70px -24px rgba(3, 32, 56, 0.55);
}

/* ── Desktop-tip ── */
.dc-config__hint {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: clamp(18px, 3vw, 30px) auto 0;
    padding: 10px 18px;
    border-radius: 999px;
    background: rgba(3, 32, 56, 0.05);
    color: var(--dcc-sec);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}
.dc-config__hint svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--dcc-pri); }

/* ── CTA ── */
.dc-config__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-top: clamp(24px, 3.5vw, 40px);
}
.dc-config__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    border-radius: 12px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.dc-config__btn svg { width: 18px; height: 18px; transition: transform 0.2s ease; }
.dc-config__btn--primary {
    background: var(--dcc-pri);
    color: #fff;
    box-shadow: 0 12px 26px -10px rgba(239, 122, 23, 0.6);
}
.dc-config__btn--primary:hover { transform: translateY(-2px); box-shadow: 0 18px 32px -12px rgba(239, 122, 23, 0.7); }
.dc-config__btn--primary:hover svg { transform: translateX(4px); }
.dc-config__btn--ghost {
    background: #fff;
    color: var(--dcc-sec);
    border: 1.5px solid #dbe1e9;
}
.dc-config__btn--ghost:hover { transform: translateY(-2px); border-color: var(--dcc-sec); }

/* ── Mobiel: waaier → horizontale swipe (desktop is beter, tip benadrukt dit) ── */
@media (max-width: 860px) {
    .dc-config__stage {
        height: auto;
        display: flex;
        gap: 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 6px 4px 18px;
        margin-top: clamp(28px, 8vw, 44px);
        scrollbar-width: none;
    }
    .dc-config__stage::-webkit-scrollbar { display: none; }
    .dc-config__card {
        position: relative;
        left: auto;
        bottom: auto;
        flex: 0 0 78%;
        max-width: 320px;
        transform: none !important;
        opacity: 1 !important;
        scroll-snap-align: center;
        box-shadow: 0 14px 30px -16px rgba(3, 32, 56, 0.4);
    }
    .dc-config__stage:hover .dc-config__card { opacity: 1; }
}
