/* =============================================
   THE DESIGNERS HUB FIGMA-EXACT HOME STYLES
   Pixel-perfect match to Figma screenshots
   Desktop (1440px) + Mobile (390px)
   ============================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Noto+Serif+SC:wght@400;600;900&family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');

/* ===== RESET & BASE ===== */
/* Force edge-to-edge full width for all theme layout wrappers on first load */
body.home .site-content,
body.home .content-area,
body.home .container,
body.home .post-inner,
body.home main,
body.home .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.tdh-luxury-home-container {
    font-family: 'Open Sans', sans-serif;
    color: #1E1E1E;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: linear-gradient(180deg, #FFFFFF 0%, #FEF9F3 8%, #FEF9F3 92%, #FEFDFC 100%);
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 100px !important;
    /* Fix for fixed header overlap */
}

/* Screen Reader Text - Accessibility Utility */
.tdh-screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.tdh-luxury-home-container *,
.tdh-luxury-home-container *::before,
.tdh-luxury-home-container *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Hide Edubin theme footer ONLY when TDH home is rendered */
.tdh-luxury-home-container~footer#colophon,
.tdh-luxury-home-container~footer.site-footer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Kill random wpautop spacing at end of shortcode */
.tdh-luxury-home-container~p,
.tdh-luxury-home-container~br,
.tdh-luxury-home-container~span,
.tdh-luxury-home-container~div:not(.tdh-luxury-global-footer) {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tdh-home-container {
    width: 100%;
    max-width: 1140px;
    /* Standard boxed width */
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* ===== COMMON BUTTONS (Figma exact) ===== */
.tdh-btn-sage {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 14px 34px;
    background: #AFC4A2;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 19px;
    color: #FFFFFF;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tdh-btn-sage:hover {
    background: #9AB28C;
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(154, 178, 140, 0.3);
}

.tdh-btn-link {
    display: inline-block;
    color: #1E1E1E;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    padding: 12px 10px;
    transition: color 0.3s ease;
}

.tdh-btn-link:hover {
    color: #AFC4A2;
}

.tdh-btn-outline-sage {
    display: inline-block;
    color: #AFC4A2;
    border: 1px solid #AFC4A2;
    padding: 10px 24px;
    border-radius: 6px;
    font-weight: 500;
    font-size: 13px;
    text-decoration: none;
    transition: all 0.3s ease;
    background: transparent;
}

.tdh-btn-outline-sage:hover {
    background: #AFC4A2;
    color: #FFFFFF;
}

/* Desktop/Mobile visibility */
.mobile-only {
    display: none !important;
}

.desktop-only {
    display: block !important;
}

/* =========================================================
   HERO SECTION — Figma Exact (Desktop Screenshot Match)
   ========================================================= */
.tdh-home-hero-v2 {
    position: relative;
    padding: 140px 0 50px;
    overflow: hidden;
    min-height: auto;
    display: block;
    z-index: 1;
    background: transparent;
}

.tdh-hero-gradient-overlay {
    display: none;
}

.tdh-hero-grid-v2 {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 60px;
    align-items: center;
    position: relative;
}

/* Hero Label - small caps above title */
.tdh-hero-label-v2 {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 15px;
    letter-spacing: 0.02em;
    color: #5A5A5A;
    margin-bottom: 8px !important;
    text-transform: uppercase;
}

/* Green decorative line */
.tdh-hero-line-v2 {
    display: block !important;
    width: 170px !important;
    height: 1px !important;
    background-color: #AFC4A2 !important; /* Elegant Sage Green */
    margin: 8px 0 20px 0 !important;
}

/* Hero Title - Figma exact */
.tdh-hero-title-v2 {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 48px;
    line-height: 100%;
    color: #1E1E1E;
    margin-bottom: 20px;
    max-width: 580px;
}

/* Hero Description — Figma: 17px/23px */
.tdh-hero-desc-v2 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 17px;
    line-height: 23px;
    color: #1E1E1E;
    margin-bottom: 40px;
    max-width: 400px;
}

/* Hero Actions - buttons row */
.tdh-hero-actions-v2 {
    display: flex;
    align-items: center;
    gap: 48px;
}

.tdh-spacer-v2 {
    display: none;
}

/* Hero CTA Button - Sage green */
.tdh-btn-sage-v2 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 14px 40px;
    gap: 8px;
    min-width: 200px;
    width: fit-content;
    height: 52px;
    background: #AFC4A2 !important;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 19px;
    text-align: center;
    color: #FFFFFF !important;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease !important;
    white-space: nowrap;
}

.tdh-btn-sage-v2:hover {
    background: #9eb092 !important; /* The "beautiful" darker shade */
    color: #FFFFFF !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(175, 196, 162, 0.4);
}

/* Hero secondary link */
.tdh-btn-link-v2 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 19px;
    text-align: center;
    color: #1E1E1E;
    text-decoration: none;
    transition: color 0.3s;
}

.tdh-btn-link-v2:hover {
    color: #AFC4A2;
}

/* Hero Image — Desktop (right side) */
.tdh-hero-image-v2 {
    position: relative;
}

.tdh-hero-image-v2.mobile-only {
    display: none !important;
}

.tdh-hero-image-v2.desktop-only {
    display: block !important;
}

.tdh-hero-img-main {
    width: 100%;
    max-width: 568px;
    height: 378px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

/* =========================================================
   STATS BAR — Figma Exact
   ========================================================= */
.tdh-home-stats-v2 {
    position: relative;
    padding: 40px 0;
    margin-top: 0;
    margin-bottom: 0;
}

.tdh-home-stats-v2 .tdh-home-container {
    position: relative;
}

.tdh-stats-row-v2 {
    position: relative;
    width: 100%;
    min-height: 204px;
    background: transparent !important;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 90px;
    overflow: hidden;
    padding: 40px 20px;
}

/* Watermarks */
.tdh-watermark {
    position: absolute;
    width: 400px;
    height: 380px;
    opacity: 0.3;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.tdh-watermark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.tdh-watermark-left {
    left: -80px;
    top: -60px;
    transform: scaleX(-1);
}

.tdh-watermark-right {
    right: -80px;
    top: -60px;
}

.tdh-stat-item-v2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    position: relative;
    z-index: 1;
}

.tdh-stat-num-v2 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 44px;
    text-align: center;
    color: #1E1E1E;
}

.tdh-stat-text-v2 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
    color: #1E1E1E;
    white-space: nowrap;
}

.tdh-stat-divider-v2 {
    display: none;
}

/* =========================================================
   DEPARTMENTS SECTION — Figma Exact
   ========================================================= */
.tdh-home-departments {
    padding: 60px 0 50px;
    background: transparent;
}

.tdh-deps-header {
    margin-bottom: 32px;
}

.tdh-deps-label {
    display: inline-block;
    background: #AFC4A2;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 11px;
    line-height: 15px;
    color: #FFFFFF;
    padding: 5px 16px;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.tdh-deps-title {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 42px;
    line-height: 112%;
    color: #1E1E1E;
    margin-bottom: 12px;
    max-width: 600px;
}

.tdh-deps-desc {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 130%;
    color: #5A5A5A;
    max-width: 650px;
    margin-bottom: 0;
}

/* Departments Grid: left image (527px) + right cards */
.tdh-deps-grid-v2 {
    display: grid;
    grid-template-columns: 500px 1fr;
    gap: 36px;
    align-items: start;
}

.tdh-deps-main-image {
    position: relative;
    position: sticky;
    top: 140px;
}

.tdh-deps-main-image img {
    width: 100%;
    max-width: 527px;
    height: auto;
    max-height: 517px;
    object-fit: cover;
    border-radius: 8px;
}

/* Department cards in 2-col grid */
.tdh-deps-list-v2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.tdh-dep-card-v2 {
    padding: 18px 16px 18px 0;
    border-bottom: 1px solid rgba(175, 196, 162, 0.4);
}

.tdh-dep-card-v2:nth-child(odd) {
    padding-right: 18px;
    border-right: 1px solid rgba(175, 196, 162, 0.4);
}

.tdh-dep-card-v2:nth-child(even) {
    padding-left: 18px;
    padding-right: 0;
}

.tdh-dep-card-v2:nth-last-child(-n+2) {
    border-bottom: none;
}

.tdh-dep-card-v2 h3 {
    font-family: 'Noto Serif SC', serif;
    font-weight: 900;
    font-size: 15px;
    line-height: 104%;
    color: #1E1E1E;
    margin-bottom: 6px;
}

.tdh-dep-card-v2 p {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    color: #1E1E1E;
    margin-bottom: 12px;
}

/* Department "Explore" Button — outline style */
.tdh-dep-card-v2 .tdh-btn-sage-v2 {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 16px;
    width: 299px;
    height: 36px;
    background: #AFC4A2;
    border: none;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 18px;
    color: #FFFFFF !important;
    transition: all 0.3s;
}

.tdh-dep-card-v2 .tdh-btn-sage-v2:hover {
    background: #BDD2B2;
    color: #FFFFFF !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(175, 196, 162, 0.3);
}

.tdh-dep-card-v2 .tdh-dep-icon-v2 {
    display: none;
}

/* Mobile bottom image */
.tdh-deps-mobile-image {
    margin-top: 24px;
}

.tdh-deps-mobile-image img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Hide helpers */
.tdh-hide-mobile {
    display: block;
}

.tdh-hide-desktop {
    display: none;
}

/* =========================================================
   SPECIALISTS SECTION — Figma Exact
   ========================================================= */
.tdh-home-section {
    /* Section wrapper — styling handled by individual section classes */
    position: relative;
}

.tdh-home-specialists {
    padding: 60px 0;
    background: linear-gradient(179.61deg, #FFFFFF 0.33%, #FEF9F3 23.77%, #FEF9F3 85.8%, #FFFFFF 101.44%) !important;
}

.tdh-section-header-left {
    margin-bottom: 24px;
}

.tdh-section-label-specialist {
    display: inline-block;
    background: #AFC4A2;
    border-radius: 4px;
    /* Desktop: 4px */
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 11px;
    line-height: 15px;
    color: #FFFFFF;
    padding: 5px 16px;
    margin-bottom: 34px;
    text-transform: uppercase;
    text-align: center;
}

.tdh-specialist-title {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 42px;
    line-height: 112%;
    color: #1E1E1E;
    margin-bottom: 12px;
}

.tdh-specialist-desc {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 130%;
    color: #1E1E1E;
    max-width: 650px;
    margin-bottom: 40px;
}

/* Search Bar */
.tdh-spec-search-wrap {
    margin-bottom: 24px;
    width: 100%;
}

.tdh-spec-search-inner {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1020px;
    background: #FFFFFF;
    border: 1px solid #000000;
    border-radius: 8px;
    overflow: hidden;
    height: 52px;
}

.tdh-spec-search-inner input {
    flex: 1;
    border: none;
    outline: none;
    padding: 16px 33px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 20px;
    color: #5A5A5A;
    background: transparent;
}

.tdh-spec-search-inner input::placeholder {
    color: #5A5A5A;
}

.tdh-spec-search-btn {
    border: none;
    background: none;
    border-left: 1px solid #5A5A5A;
    padding: 0 40px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 18px;
    color: #1E1E1E;
    cursor: pointer;
    height: 100%;
    white-space: nowrap;
    transition: background 0.3s;
}

.tdh-spec-search-btn:hover {
    background: #f5f5f5;
}

/* Filter Bar */
.tdh-spec-filter-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.tdh-spec-filter-title {
    font-family: 'Open Sans', sans-serif;
    font-weight: 300;
    font-size: 12px;
    line-height: 16px;
    color: #5A5A5A;
    text-transform: uppercase;
    margin-right: 8px;
}

.tdh-spec-filter-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.tdh-spec-pill {
    box-sizing: border-box;
    padding: 7px 44px;
    min-width: 150px;
    height: 32px;
    background: #FFFFFF;
    border: 1px solid #5A5A5A;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    text-align: center;
    color: #1E1E1E;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tdh-spec-pill.active-pill {
    background: #FDF6EE;
    border: 1px solid #5A5A5A;
    justify-content: center;
    padding: 7px 25px 7px 31px;
}

/* Expert Cards Grid — 4 across */
.tdh-experts-grid-v3 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

/* When Swiper is active (mobile/tablet), change to flex */
.tdh-experts-swiper-v2.swiper-initialized .tdh-experts-grid-v3 {
    display: flex;
    gap: 0;
}

.tdh-experts-swiper-v2 .swiper-slide {
    height: auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.tdh-doc-card-v3 {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 32px 38px;
    gap: 16px;
    background: #FFFFFF;
    border: 1px solid #AFC4A2;
    border-radius: 16px;
    width: 100%;
    max-width: 281px;
    height: auto;
    min-height: min-content;
    overflow: visible;
    position: relative;
    isolation: isolate;
    transition: all 0.3s;
    text-align: center;
    margin: 0 auto;
}

.tdh-doc-card-v3:hover {
    border-width: 2px;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(175, 196, 162, 0.15);
}

/* Expert Image & Mask Wrapper */
.tdh-doc-mask-wrapper {
    position: relative;
    width: 118px;
    height: 118px;
    margin-bottom: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    /* ABOVE the card logo */
}

/* This is the beige circle behind the photo in Figma */
.tdh-doc-bg-mask {
    position: absolute;
    width: 118px;
    height: 118px;
    background: #F4DFCD;
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
}

.tdh-doc-circle-mask {
    width: 118px;
    height: 118px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    background: #f5f5f5;
    z-index: 1;
}

.tdh-doc-circle-mask img {
    width: 143.16px;
    height: 123.5px;
    object-fit: contain;
}

/* Expert Info */
.tdh-doc-text-frame {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 100%;
}

.tdh-doc-name {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 15px;
    line-height: 20px;
    color: #1E1E1E;
}

.tdh-doc-spec {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    color: #1E1E1E;
}

.tdh-doc-meta {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    color: #5A5A5A;
}

/* Expert Buttons */
.tdh-doc-book-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    width: 207px;
    height: 36px;
    background: #AFC4A2;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
    color: #FFFFFF;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s;
}

.tdh-doc-book-btn:hover {
    background: #9AB38D;
    color: #FFFFFF;
}

.tdh-doc-view-link {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    color: #1E1E1E;
    text-decoration: none;
    transition: color 0.3s;
}

.tdh-doc-view-link:hover {
    color: #AFC4A2;
}

/* Swiper Navigation Arrows — hidden on desktop */
.tdh-experts-swiper-v2 .tdh-swiper-nav-v2 {
    display: none !important;
}

/* View All Link */
.tdh-spec-all-link {
    text-align: center;
    margin-top: 8px;
}

.tdh-spec-all-link a {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 19px;
    color: #1E1E1E;
    text-decoration: none;
    transition: color 0.3s;
}

.tdh-spec-all-link a:hover {
    color: #AFC4A2;
}

/* =========================================================
   TRUST / WHY SECTION — Figma Exact
   ========================================================= */
.tdh-home-trust-v3 {
    position: relative;
    padding: 60px 0;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    min-height: 460px;
    display: flex;
    align-items: center;
}

.tdh-trust-content-v3 {
    max-width: 600px;
}

.tdh-trust-label-v3 {
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 15px;
    color: #5A5A5A;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.tdh-trust-title-v3 {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 42px;
    line-height: 112%;
    color: #1E1E1E;
    margin-bottom: 14px;
}

.tdh-trust-desc-v3 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 130%;
    color: #1E1E1E;
    margin-bottom: 28px;
}

.tdh-trust-actions-v3 {
    margin-top: 0;
}

.tdh-btn-white-v3 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 14px 44px;
    gap: 8px;
    background: #FFFFFF;
    border: 1px solid #1E1E1E;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    text-align: center;
    color: #1E1E1E;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s;
}

.tdh-btn-white-v3:hover {
    background: #1E1E1E;
    color: #FFFFFF;
}

/* =========================================================
   PROGRAMMES SECTION
   ========================================================= */
.tdh-home-programmes {
    padding: 60px 0;
    background-color: transparent !important;
}

.tdh-section-header {
    margin-bottom: 32px;
}

.tdh-section-label {
    display: inline-block;
    border: 1px solid #AFC4A2;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 11px;
    line-height: 15px;
    color: #5A5A5A;
    padding: 5px 16px;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.tdh-section-title {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 42px;
    line-height: 112%;
    color: #1E1E1E;
    margin-bottom: 10px;
}

.tdh-section-desc {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 130%;
    color: #1E1E1E;
    max-width: 520px;
}

.tdh-programmes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.tdh-prog-card {
    background: #FDFDFD;
    border: 1px solid #AFC4A2;
    border-radius: 0 0 16px 16px;
    padding: 24px 18px;
    display: flex;
    flex-direction: column;
}

.tdh-prog-card.tdh-prog-green {
    background: linear-gradient(180.59deg, #FFFFFF 41.9%, #E9F4E2 99.48%);
}

.tdh-prog-header {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 15px;
    color: #AFC4A2;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.tdh-prog-card h3 {
    font-family: 'Noto Serif SC', serif;
    font-weight: 500;
    font-size: 26px;
    line-height: 100%;
    color: #1E1E1E;
    margin-bottom: 10px;
}

.tdh-prog-card p {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    color: #5A5A5A;
    margin-bottom: 14px;
}

.tdh-prog-tags {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 18px;
}

@media (min-width: 992px) {
    .tdh-prog-tags {
        flex-wrap: nowrap !important;
        gap: 4px !important;
    }
    .tdh-prog-tags li {
        font-size: 9.5px !important;
        padding: 3px 5px !important;
        white-space: nowrap !important;
        text-align: center !important;
    }
}

.tdh-prog-tags li {
    background: transparent;
    border: 1px solid #AFC4A2;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    line-height: 15px;
    color: #1E1E1E;
    padding: 4px 10px;
}

.tdh-mt-auto {
    margin-top: auto;
}

/* =========================================================
   DESIGNER STORIES / REVIEWS
   ========================================================= */
.tdh-home-reviews {
    padding: 100px 0 !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    position: relative !important;
}

.tdh-reviews-slider {
    overflow: hidden;
    position: relative;
    padding-bottom: 20px;
}

.tdh-reviews-grid {
    display: flex !important; /* Flex for Swiper */
    gap: 0 !important; /* Swiper handles gap */
    margin-bottom: 30px;
}

.tdh-review-card {
    background: #FEF9F3;
    border: none;
    border-radius: 8px;
    padding: 24px 28px 25px;
    height: auto !important; /* Allow variable height */
    box-sizing: border-box !important;
}

/* Pagination Dots */
.tdh-reviews-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}

.tdh-reviews-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #AFC4A2 !important;
    opacity: 0.3;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tdh-reviews-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    transform: scale(1.2);
}

.tdh-stars {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    color: #D9B906;
    font-size: 18px;
    line-height: 25px;
    margin-bottom: 16px;
    letter-spacing: 0;
}

.tdh-review-card h4 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 15px;
    line-height: 104%;
    color: #1E1E1E;
    margin-bottom: 8px;
}

.tdh-review-card p {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    line-height: 18px;
    color: #1E1E1E;
    margin-bottom: 14px;
}

.tdh-reviewer {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tdh-reviewer strong {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 18px;
    color: #5A5A5A;
}

.tdh-reviewer span {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 11px;
    line-height: 15px;
    color: #5A5A5A;
}

/* =========================================================
   TECHNOLOGIES V2
   ========================================================= */
.tdh-home-tech {
    padding: 100px 0;
    background: transparent !important;
}

.tdh-tech-layout-v2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.tdh-tech-brand-img {
    max-width: 100%;
    height: auto;
    opacity: 0.9;
}

.tdh-tech-list-v2 {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
}

.tdh-tech-item-v2 {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 24px 0;
    border-bottom: 1px solid rgba(175, 196, 162, 0.4);
}

.tdh-tech-img-box {
    width: 94px;
    height: 94px;
    min-width: 94px;
    background: #FFFFFF;
    border: 1px solid #AFC4A2;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    box-sizing: border-box;
}

.tdh-tech-img-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.tdh-tech-info h3 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 120%;
    color: #1E1E1E;
    margin-bottom: 4px;
}

.tdh-tech-info p {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    line-height: 140%;
    color: #5A5A5A;
}

.tdh-tech-footer-v2 {
    margin-top: 32px;
}

@media (max-width: 1024px) {
    .tdh-home-tech { padding: 60px 0; }
    .tdh-tech-layout-v2 {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .tdh-tech-visual-v2 {
        display: none;
    }
    .tdh-tech-item-v2 {
        gap: 16px;
        padding: 16px 0;
    }
    .tdh-tech-img-box {
        width: 80px;
        height: 80px;
        min-width: 80px;
    }
    .tdh-tech-footer-v2 {
        text-align: center;
    }
}


/* =========================================================
   JOURNAL
   ========================================================= */
.tdh-home-journal {
    padding: 60px 0;
    background: transparent !important;
}

.tdh-journal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 24px;
}

.tdh-journal-card {
    border-bottom: 1px solid rgba(175, 196, 162, 0.3);
    padding-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tdh-journal-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 12px;
    overflow: hidden;
    background: #FEF9F3;
    border: 1px solid rgba(175, 196, 162, 0.4);
    display: block;
}

.tdh-journal-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.tdh-journal-image-wrapper:hover .tdh-journal-image {
    transform: scale(1.05);
}

.tdh-journal-card h3 {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 140%;
    color: #1E1E1E;
    margin: 8px 0;
    transition: color 0.3s;
}

.tdh-journal-card h3 a {
    color: #1E1E1E;
    text-decoration: none;
    transition: color 0.3s;
}

.tdh-journal-card h3 a:hover {
    color: #AFC4A2;
}

.tdh-journal-meta {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #5A5A5A;
    margin-bottom: 12px;
}

/* =========================================================
   FAQ SECTION
   ========================================================= */
.tdh-home-faq {
    padding: 60px 0;
    background: transparent !important;
}

/* =========================================================
   INSURANCE & FAQ V2
   ========================================================= */
.tdh-insurance-box-v2 {
    background: #FEF9F3;
    border: 1px solid #AFC4A2;
    border-radius: 16px;
    padding: 60px;
    margin-bottom: 60px;
}

.tdh-insurance-title-v2 {
    font-family: 'Noto Serif SC', serif;
    font-weight: 400;
    font-size: 36px;
    line-height: 120%;
    color: #1E1E1E;
    margin-bottom: 40px;
}

.tdh-insurance-grid-v2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.tdh-ins-logo-v2 {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tdh-ins-logo-v2 img {
    max-height: 55px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.tdh-faq-grid-v2 {
    margin-top: 40px;
}

.tdh-faq-full {
    width: 100%;
}

.tdh-faq-list {
    list-style: none;
}

.tdh-faq-list li {
    border-bottom: 1px solid #5A5A5A;
}

.tdh-faq-q {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    cursor: pointer;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 22px;
    color: #1A1A1A;
    transition: color 0.3s;
}

.tdh-faq-q:hover {
    color: #AFC4A2;
}

.tdh-faq-q span {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    color: #000000;
    flex-shrink: 0;
    margin-left: 14px;
}

.tdh-faq-a {
    padding: 0 0 14px;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    line-height: 18px;
    color: #5A5A5A;
}

/* =========================================================
   BOOKING SECTION V2
   ========================================================= */
.tdh-home-book {
    padding: 100px 0;
    background: transparent !important;
}

.tdh-book-grid {
    display: grid !important;
    grid-template-columns: 1.1fr 1fr !important;
    gap: 80px;
    align-items: start;
}

.tdh-section-desc-left {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    line-height: 140%;
    color: #1E1E1E;
    max-width: 420px;
    margin-bottom: 30px;
}

.tdh-info-card-v2 {
    background: #FDF6EE;
    border: 1px solid #AFC4A2;
    border-radius: 8px;
    padding: 30px 40px;
    color: #1E1E1E;
    margin-top: 40px;
}

.tdh-info-list-v2 {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 30px;
}

.tdh-info-item-v2 {
    display: flex;
    align-items: center;
    gap: 15px;
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    color: #1E1E1E;
}

.tdh-info-icon-v2 svg {
    width: 24px;
    height: 24px;
}

.tdh-wa-icon-wrapper {
    background: #AFC4A2;
    border-radius: 8px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tdh-btn-wa-v2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #EAD5C2; /* Subtle darker beige from figma */
    color: #1E1E1E !important;
    padding: 12px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 18px;
    transition: all 0.3s;
}

.tdh-btn-wa-v2:hover {
    background: #AFC4A2 !important;
    color: #FFFFFF !important;
}

.tdh-btn-wa-v2:hover .tdh-wa-icon-wrapper {
    background: #FFFFFF !important;
}

.tdh-btn-wa-v2:hover .tdh-wa-icon-wrapper svg {
    fill: #AFC4A2 !important;
}

.tdh-booking-card-v2 {
    background: #FDF6EE;
    border-radius: 16px;
    padding: 40px;
}

.tdh-card-header-v2 {
    text-align: center;
    margin-bottom: 25px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    padding-bottom: 20px;
}

.tdh-card-header-v2 h3 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 28px;
    color: #1E1E1E;
    margin-bottom: 5px;
}

.tdh-card-header-v2 p {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #5A5A5A;
}

.tdh-booking-form-v2 .tdh-form-group {
    margin-bottom: 15px;
}

.tdh-booking-form-v2 label {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #5A5A5A;
    margin-bottom: 6px;
}

.tdh-booking-form-v2 input,
.tdh-booking-form-v2 select,
.tdh-booking-form-v2 textarea {
    width: 100% !important;
    padding: 10px 16px !important;
    border: 1px solid #AFC4A2 !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 14px !important;
    box-sizing: border-box;
}

.tdh-lang-tabs-v2 {
    display: flex;
    gap: 10px;
}

.tdh-lang-tab {
    flex: 1;
    cursor: pointer;
}

.tdh-lang-tab input {
    display: none;
}

.tdh-lang-tab span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border: 1px solid #AFC4A2;
    border-radius: 8px;
    background: #FFFFFF;
    font-weight: 600;
    color: #1E1E1E;
    transition: all 0.3s;
}

.tdh-lang-tab input:checked + span {
    background: #AFC4A2;
    color: #FFFFFF;
}

.tdh-form-check {
    margin: 15px 0;
}

.tdh-checkbox-v2 {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.tdh-checkbox-v2 input {
    width: 16px !important;
    height: 16px !important;
    margin-top: 2px !important;
}

.tdh-label-text {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #5A5A5A;
    line-height: 1.4;
}

.tdh-btn-submit-v2 {
    width: 100%;
    background: #AFC4A2 !important;
    color: #FFFFFF !important;
    padding: 14px;
    border: none;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s !important;
}

.tdh-btn-submit-v2:hover {
    background: #9eb092 !important; /* Slightly darker sage */
    color: #FFFFFF !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(175, 196, 162, 0.3);
}

.tdh-form-footer-v2 {
    text-align: center;
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    color: #5A5A5A;
    margin-top: 15px;
    line-height: 1.4;
}

.tdh-booking-form-real input:focus,
.tdh-booking-form-real select:focus,
.tdh-booking-form-real textarea:focus {
    border-color: #AFC4A2;
}

.tdh-booking-form-real textarea {
    min-height: 90px;
    resize: vertical;
}

.tdh-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.tdh-lang-tabs {
    display: flex;
    gap: 6px;
}

.tdh-lang-tabs label {
    cursor: pointer;
}

.tdh-lang-tabs span {
    display: inline-block;
    padding: 7px 14px;
    border: 1px solid #D8D8D8;
    border-radius: 6px;
    font-size: 12px;
    text-align: center;
    transition: all 0.3s;
}

.tdh-lang-tabs input:checked+span {
    background: #AFC4A2;
    color: #FFFFFF;
    border-color: #AFC4A2;
}

.tdh-lang-tabs input {
    display: none;
}

.tdh-form-terms {
    margin-bottom: 14px;
}

.tdh-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #5A5A5A;
    cursor: pointer;
}

.tdh-checkbox-label input[type="checkbox"] {
    margin-top: 2px;
    accent-color: #AFC4A2;
}

.tdh-btn-sage-full {
    display: block;
    width: 100%;
    padding: 12px;
    background: #AFC4A2;
    border: none;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #FFFFFF;
    cursor: pointer;
    transition: all 0.3s;
    text-align: center;
}

.tdh-btn-sage-full:hover {
    background: #9AB38D;
}

.tdh-form-footer {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    color: #5A5A5A;
    text-align: center;
    margin-top: 10px;
}

.tdh-center-link {
    text-align: center;
    margin-top: 16px;
}

/* =========================================================
   RESPONSIVE — TABLET (768px - 1024px)
   ========================================================= */
@media (max-width: 1024px) {
    .tdh-home-container {
        padding: 0 32px;
    }

    /* Hero */
    .tdh-hero-grid-v2 {
        gap: 32px;
    }

    .tdh-hero-title-v2 {
        font-size: 36px;
    }

    .tdh-hero-img-main {
        max-width: 100%;
        height: 280px;
    }

    /* Stats */
    .tdh-stats-row-v2 {
        gap: 40px;
        padding: 30px 16px;
    }

    .tdh-stat-num-v2 {
        font-size: 26px;
        line-height: 36px;
    }

    /* Departments */
    .tdh-deps-title,
    .tdh-specialist-title,
    .tdh-trust-title-v3,
    .tdh-section-title {
        font-size: 32px;
    }

    .tdh-deps-grid-v2 {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .tdh-deps-main-image img {
        max-width: 100%;
        max-height: 400px;
    }

    /* Specialists */
    .tdh-experts-grid-v3 {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Programmes, Reviews, Tech, Journal */
    .tdh-programmes-grid,
    .tdh-reviews-grid,
    .tdh-tech-grid,
    .tdh-journal-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tdh-faq-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .tdh-book-grid {
        grid-template-columns: 1fr !important;
        gap: 32px;
    }
}

/* =========================================================
   RESPONSIVE — MOBILE (max-width: 767px)
   Pixel-perfect match to Figma mobile design (390px)
   ========================================================= */
@media (max-width: 767px) {

    /* === BASE — Mobile === */
    .tdh-luxury-home-container {
        background: linear-gradient(180.49deg, #FEF9F3 0.55%, #FFFFFF 7.04%, #FFFFFF 37.97%, #FEF9F3 44.2%, #FEF9F3 51.4%, #FFFFFF 69.48%, #FEFDFC 88.57%);
    }

    .tdh-home-container {
        padding: 0 15px;
        max-width: 100%;
    }

    /* Visibility toggles */
    .mobile-only {
        display: block !important;
    }

    .desktop-only {
        display: none !important;
    }

    .tdh-hide-mobile {
        display: none !important;
    }

    .tdh-hide-desktop {
        display: block !important;
    }

    .desktop-only {
        display: none !important;
    }

    /* === HERO — Mobile (Figma exact: 390px width) === */
    .tdh-home-hero-v2 {
        padding: 86px 0 16px;
        background: transparent;
    }

    .tdh-hero-grid-v2 {
        grid-template-columns: 1fr;
        gap: 0;
    }

    /* Show label on mobile */
    .tdh-hero-label-v2 {
        display: block !important;
        font-size: 10px !important;
        line-height: 14px !important;
        color: #5A5A5A !important;
        margin-bottom: 8px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
    }

    .tdh-hero-line-v2 {
        display: block !important;
        width: 170px !important;
        height: 1px !important;
        background-color: #AFC4A2 !important;
        margin: 8px 0 20px 0 !important;
    }

    /* h1 mobile — Figma: Noto Serif SC 600 26px/120% */
    .tdh-hero-title-v2 {
        font-family: 'Noto Serif SC', serif;
        font-weight: 600;
        font-size: 26px;
        line-height: 120%;
        color: #1E1E1E;
        margin-bottom: 8px;
        max-width: 100%;
    }

    /* Image between title and description — Figma: 349×233px, border-radius: 4px */
    .tdh-hero-image-v2.mobile-only {
        display: block !important;
        margin-bottom: 16px;
    }

    .tdh-hero-img-main {
        width: 100%;
        max-width: 349px;
        height: 233px;
        object-fit: cover;
        border-radius: 4px;
        display: block;
        margin: 0 auto;
    }

    /* Description — Figma: Open Sans 400 15px/130% */
    .tdh-hero-desc-v2 {
        font-family: 'Open Sans', sans-serif;
        font-weight: 400;
        font-size: 15px;
        line-height: 130%;
        color: #1E1E1E;
        max-width: 100%;
        margin-bottom: 24px;
    }

    /* Actions — Figma: CTA 350×48px, border-radius: 4px */
    .tdh-hero-actions-v2 {
        flex-direction: column;
        gap: 8px;
        align-items: stretch;
    }

    .tdh-btn-sage-v2 {
        width: 100%;
        max-width: 350px;
        height: 48px;
        padding: 17px 55px;
        border-radius: 4px;
        font-family: 'Open Sans', sans-serif;
        font-weight: 700;
        font-size: 14px;
        line-height: 19px;
        margin: 0 auto;
    }

    .tdh-btn-link-v2 {
        text-align: center;
        font-family: 'Open Sans', sans-serif;
        font-weight: 600;
        font-size: 14px;
        line-height: 19px;
        color: #1E1E1E;
        padding: 8px 0;
    }

    /* === STATS — Mobile (Figma exact) ===
       Layout: 2 rows — AURA+MOH top, Specialties+Expert Experts+Languages bottom
       Numbers: Open Sans 400 26px/35px, Text: 12px/16px
       Dividers: 1px solid #AFC4A2 */
    .tdh-home-stats-v2 {
        padding: 40px 0;
        background: transparent;
    }

    .tdh-stats-row-v2 {
        display: grid !important;
        grid-template-columns: repeat(6, 1fr) !important;
        gap: 40px 0 !important;
        background: transparent !important; /* Made transparent as requested */
        border-radius: 12px !important;
        padding: 40px 10px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        min-height: auto !important;
        position: relative !important;
        overflow: hidden !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.03) !important;
    }

    .tdh-stat-item-v2 {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        border-right: 1px solid rgba(175, 196, 162, 0.4) !important;
        box-sizing: border-box !important;
        padding: 0 5px !important;
    }

    /* 2 columns for all (2+2+1) */
    .tdh-stat-item-v2:nth-child(1),
    .tdh-stat-item-v2:nth-child(3),
    .tdh-stat-item-v2:nth-child(5),
    .tdh-stat-item-v2:nth-child(7) { 
        grid-column: span 3 !important; 
    }
    
    .tdh-stat-item-v2:nth-child(9) { 
        grid-column: span 6 !important; 
        border-right: none !important;
    }

    /* Borders for 2-col layout */
    .tdh-stat-item-v2:nth-child(3),
    .tdh-stat-item-v2:nth-child(7) { border-right: none !important; }

    .tdh-stat-num-v2 {
        font-family: 'Open Sans', sans-serif !important;
        font-weight: 400 !important;
        font-size: 32px !important; /* Back to larger size as we have more space */
        line-height: 1.1 !important;
        color: #1E1E1E !important;
        margin-bottom: 8px !important;
    }

    .tdh-stat-text-v2 {
        font-family: 'Open Sans', sans-serif !important;
        font-weight: 400 !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        color: #5A5A5A !important;
        white-space: normal !important;
        max-width: 120px !important; /* More width allowed now */
        margin: 0 auto !important;
    }

    .tdh-stat-divider-v2 {
        display: none !important;
    }

    .tdh-watermark {
        width: 80px;
        height: 80px;
        opacity: 0.2;
    }

    .tdh-watermark-left {
        left: 0;
        bottom: 0;
        top: auto;
    }

    .tdh-watermark-right {
        right: 0;
        bottom: 0;
        left: auto;
        top: auto;
    }

    /* === DEPARTMENTS — Mobile (Figma exact) ===
       Label: #AFC4A2 bg, border-radius: 2px, Open Sans 600 11px
       h2: Noto Serif SC 600 24px/115%
       Desc: Open Sans 400 14px/130%
       Card titles: Noto Serif SC 700 15px/130%
       Card desc: Open Sans 400 13px/18px
       Buttons: 350×36px, bg #AFC4A2, border-radius: 4px, Open Sans 600 12px, white
       Dividers: 1px solid #AFC4A2 */
    .tdh-home-departments {
        padding: 24px 0;
    }

    .tdh-deps-label {
        border-radius: 2px;
        font-weight: 600;
        padding: 5px 14px;
    }

    .tdh-deps-title {
        font-size: 24px;
        line-height: 115%;
        max-width: 100%;
    }

    .tdh-deps-desc {
        font-size: 14px;
        line-height: 130%;
        color: #1E1E1E;
        max-width: 100%;
    }

    .tdh-deps-grid-v2 {
        grid-template-columns: 1fr;
    }

    .tdh-deps-list-v2 {
        grid-template-columns: 1fr;
    }

    .tdh-dep-card-v2 {
        padding: 16px 0;
        border-bottom: 1px solid #AFC4A2;
    }

    .tdh-dep-card-v2:nth-child(odd) {
        padding-right: 0;
        border-right: none;
    }

    .tdh-dep-card-v2:nth-child(even) {
        padding-left: 0;
    }

    .tdh-dep-card-v2:last-child {
        border-bottom: 1px solid #AFC4A2;
    }

    .tdh-dep-card-v2 h3 {
        font-family: 'Noto Serif SC', serif;
        font-weight: 700;
        font-size: 15px;
        line-height: 130%;
        color: #1E1E1E;
    }

    .tdh-dep-card-v2 p {
        font-family: 'Open Sans', sans-serif;
        font-weight: 400;
        font-size: 13px;
        line-height: 18px;
        color: #1E1E1E;
        margin-bottom: 10px;
    }

    /* Dep button — Figma: 350×36px, solid green */
    .tdh-dep-card-v2 .tdh-btn-sage-v2 {
        width: 100%;
        max-width: 350px;
        height: 36px;
        padding: 10px 16px;
        background: #AFC4A2;
        border: none;
        border-radius: 4px;
        color: #FFFFFF !important;
        font-family: 'Open Sans', sans-serif;
        font-weight: 600;
        font-size: 12px;
        line-height: 16px;
    }

    /* Mobile bottom image — Figma: 351×132px, border-radius: 4px */
    .tdh-deps-mobile-image img {
        width: 100%;
        max-width: 351px;
        height: 132px;
        object-fit: cover;
        border-radius: 4px;
    }

    /* Show department icons on mobile */
    .tdh-dep-card-v2 .tdh-dep-icon-v2 {
        display: none;
        /* Icons handled by separate elements in Figma */
    }

    /* === SPECIALISTS — Mobile (Figma exact) ===
       Label: bg #AFC4A2, border-radius: 2px
       h2: Noto Serif SC 600 24px/115%
       Desc: Open Sans 400 14px/130%
       Search: 350×39px, border: 1px solid #000000, border-radius: 4px
       Search text: Open Sans 400 12px/115%, color: #5A5A5A
       Filter pills: 75×28px, border: 1px solid #5A5A5A, border-radius: 2px
       Active pills: background: #FDF6EE, 167×28px
       Expert card: 281×337px, centered, border-radius: 8px, padding: 32px 38px
       Expert name: Open Sans 700 15px/20px
}

/* Global Specialists Styles */
.tdh-home-specialists {
    background: linear-gradient(180.49deg, #FEF9F3 0.55%, #FFFFFF 7.04%, #FFFFFF 37.97%, #FEF9F3 44.2%, #FEF9F3 71.39%, #FEFDFC 88.57%);
    padding: 40px 0 60px;
    overflow: visible;
    width: 100%;
}

    .tdh-experts-swiper-v2 {
        padding: 0;
        margin: 0;
        width: 100%;
        overflow: hidden;
        position: relative;
    }

    .tdh-section-label-specialist {
        background: #AFC4A2;
        border-radius: 2px;
        width: 136px;
        height: 26px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-family: 'Open Sans', sans-serif;
        font-weight: 600;
        font-size: 11px;
        line-height: 15px;
        color: #FFFFFF;
        padding: 0;
        margin-bottom: 8px;
        text-transform: uppercase;
    }

    .tdh-specialist-title {
        font-family: 'Noto Serif SC', serif;
        font-weight: 600;
        font-size: 24px;
        line-height: 115%;
        color: #1E1E1E;
        margin-bottom: 12px;
    }

    .tdh-doc-actions-mobile-v2 {
        display: none;
    }

    .tdh-specialist-desc {
        font-family: 'Open Sans', sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 130%;
        color: #1E1E1E;
        max-width: 250px;
        /* Matching Figma text wrap */
        margin-bottom: 24px;
    }

    .tdh-spec-search-wrap {
        width: 350px;
        height: 39px;
        margin: 0 auto 20px;
        position: relative;
    }

    .tdh-spec-search-inner {
        height: 39px;
        width: 100%;
        border: 1px solid #000000;
        border-radius: 4px;
        display: flex;
        align-items: center;
        background: #FFFFFF;
        padding: 0 !important;
        overflow: hidden;
    }

    .tdh-spec-search-inner input {
        flex: 1;
        height: 100%;
        padding: 0 26px !important;
        font-family: 'Open Sans', sans-serif;
        font-weight: 400;
        font-size: 12px;
        line-height: 115%;
        color: #5A5A5A;
        border: none !important;
        outline: none !important;
    }

    .tdh-spec-search-btn {
        width: 48px;
        height: 100%;
        background: transparent;
        border: none !important;
        border-left: 1px solid #1E1E1E !important;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Unified Search & Filter Bar V2 */
    .tdh-filter-bar-v2 {
        margin: 40px 0 !important;
        background: transparent !important;
        padding: 0 !important;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .tdh-search-v2 {
        display: flex !important;
        align-items: center !important;
        background: #FFFFFF !important;
        border: 1px solid #000000 !important;
        border-radius: 8px !important;
        height: 52px !important;
        padding: 0 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .tdh-search-v2 input {
        flex: 1 !important;
        border: none !important;
        background: none !important;
        font-family: 'Open Sans', sans-serif !important;
        font-size: 15px !important;
        color: #5A5A5A !important;
        outline: none !important;
        height: 100%;
    }

    .tdh-search-sep {
        width: 1px !important;
        height: 32px !important;
        background: #5A5A5A !important;
        margin: 0 20px !important;
    }

    .tdh-search-v2 button {
        background: none !important;
        border: none !important;
        font-family: 'Open Sans', sans-serif !important;
        font-weight: 600 !important;
        font-size: 13px !important;
        color: #1E1E1E !important;
        cursor: pointer !important;
    }

    .tdh-filter-controls {
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
        flex-wrap: wrap;
    }

    .tdh-filter-label {
        font-family: 'Open Sans', sans-serif !important;
        font-weight: 300 !important;
        font-size: 12px !important;
        color: #5A5A5A !important;
        text-transform: uppercase !important;
    }

    .tdh-filter-select-v2 {
        background: #FFFFFF !important;
        border: 1px solid #5A5A5A !important;
        border-radius: 4px !important;
        height: 36px !important;
        padding: 0 12px !important;
        font-family: 'Open Sans', sans-serif !important;
        font-size: 13px !important;
        color: #1E1E1E !important;
        cursor: pointer !important;
    }

    /* Expert card — Figma: 281×337px, centered inside slide, border-radius: 8px */
    .tdh-experts-grid-v3 {
        display: flex;
        grid-template-columns: none;
    }

    .tdh-experts-swiper-v2 .swiper-slide {
        display: flex !important;
        justify-content: center !important;
        align-items: flex-start;
        height: auto;
        padding-bottom: 24px;
    }

    /* Expert card mobile - match desktop precisely and avoid overlap */
    .tdh-doc-card-v2 {
        width: 100% !important;
        max-width: 380px !important;
        min-height: 520px !important;
        padding: 193px 16px 24px 16px !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        align-items: stretch !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        margin: 0 auto !important;
    }

    .tdh-doc-card-v2 .color-backdrop-badge {
        position: absolute !important;
        width: 100% !important;
        height: 181px !important;
        left: 0 !important;
        top: 0 !important;
        background: #F4DFCD !important;
        z-index: 1 !important;
    }

    .tdh-doc-img-wrap {
        box-sizing: border-box !important;
        position: absolute !important;
        width: 137px !important;
        height: 137px !important;
        left: calc(50% - 68.5px) !important;
        top: 58px !important;
        background: #FDF6EE !important;
        border: 1px solid #AFC4A2 !important;
        border-radius: 50% !important;
        overflow: hidden !important;
        z-index: 3 !important;
        padding: 4px !important;
        margin: 0 !important;
    }

    .tdh-doc-info {
        position: relative !important;
        z-index: 5 !important;
        margin-top: 16px !important;
        flex-grow: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
    }

    .tdh-doc-name-v2 {
        font-family: 'Noto Serif SC', serif !important;
        font-weight: 900 !important;
        font-size: 17px !important;
        color: #1E1E1E !important;
        margin: 0 0 4px 0 !important;
        text-align: center !important;
    }

    .tdh-doc-title-v2 {
        font-size: 11px !important;
        font-weight: 700 !important;
        color: #5A5A5A !important;
        margin: 0 !important;
        text-align: center !important;
        width: 100% !important;
    }

    .tdh-doc-bio-v2 {
        font-family: 'Open Sans', sans-serif !important;
        font-size: 11px !important;
        line-height: 15px !important;
        color: #5A5A5A !important;
        margin: 0 0 10px 0 !important;
        text-align: center !important;
        width: 100% !important;
    }

    .tdh-doc-years {
        font-family: 'Open Sans', sans-serif !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        color: #5A5A5A !important;
        margin: 4px 0 0 0 !important;
        text-align: center !important;
        width: 100% !important;
    }

    .tdh-doc-card-v2 .tdh-doc-actions-v2 {
        position: relative !important;
        z-index: 5 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        gap: 12px !important;
        margin-top: 16px !important;
    }

    .tdh-doc-profile-link {
        font-family: 'Open Sans', sans-serif !important;
        font-weight: 600 !important;
        font-size: 12px !important;
        color: #1E1E1E !important;
        text-decoration: none !important;
        transition: 0.3s !important;
        white-space: nowrap !important;
    }


    /* View all — Figma: Open Sans 400 14px/19px */
    .tdh-spec-all-link {
        text-align: center;
        margin-top: 30px;
    }

    .tdh-spec-all-link a {
        font-family: 'Open Sans', sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 19px;
        color: #1E1E1E;
        text-decoration: none;
    }

    /* Navigation Arrows — Figma mobile: HIDDEN as requested */
    .tdh-experts-swiper-v2 .tdh-swiper-nav-v2 {
        display: none !important;
    }
    .swiper-button-prev.tdh-swiper-nav-v2 {
        left: -15px !important;
    }
    .swiper-button-next.tdh-swiper-nav-v2 {
        right: -15px !important;
    }
    
    .tdh-experts-swiper-v2 {
        overflow: visible !important;
        padding-bottom: 80px; /* Space for buttons below */
        margin: 0 15px; /* Add margin to allow arrows to breathe */
    }

    .tdh-experts-swiper-v2 .tdh-swiper-nav-v2::after {
        font-size: 16px !important;
        font-weight: 900;
        color: #000000;
    }

    .tdh-experts-swiper-v2 .swiper-button-prev.tdh-swiper-nav-v2 {
        left: 20px !important;
    }

    .tdh-experts-swiper-v2 .swiper-button-next.tdh-swiper-nav-v2 {
        right: 20px !important;
    }

    /* === TRUST / WHY SECTION — Mobile (Figma exact) ===
       Image (IMG_5200): 390×293px background
       Label: border: 1px solid #AFC4A2, bg: rgba(255,255,255,0.5), border-radius: 2px
       h2: Noto Serif SC 600 24px/115%
       Desc: Open Sans 400 13px/18px
       Button: 350×48px, bg: #FFFFFF, border-radius: 4px, Open Sans 400 14px */
    .tdh-home-trust-v3 {
        min-height: auto;
        padding: 20px 0 24px;
        background-size: cover !important;
        background-position: center !important;
    }

    .tdh-trust-label-v3 {
        background: rgba(255, 255, 255, 0.5);
        border: 1px solid #AFC4A2;
        border-radius: 2px;
        padding: 5px 12px;
        font-weight: 600;
        font-size: 11px;
    }

    .tdh-trust-title-v3 {
        font-size: 24px;
        line-height: 115%;
    }

    .tdh-trust-desc-v3 {
        font-size: 13px;
        line-height: 18px;
        color: #1E1E1E;
    }

    .tdh-btn-white-v3 {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 350px;
        height: 48px;
        padding: 17px 55px;
        background: #FFFFFF;
        border: none;
        border-radius: 4px;
        font-family: 'Open Sans', sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 19px;
        color: #1E1E1E;
    }

    /* === PROGRAMMES — Mobile (Figma exact) ===
       Label: border: 1px solid #AFC4A2, border-radius: 2px
       h2: Noto Serif SC 600 24px/115%
       Desc: Open Sans 400 14px/130%
       Cards: 350×240px, bg #FDFDFD, border: 1px solid #AFC4A2, border-radius: 0 0 8px 8px
       Card label: Open Sans 600 12px, color: #AFC4A2
       Card title: Noto Serif SC 600 14px/130%
       Card desc: Open Sans 400 12px/115%, color: #5A5A5A
       Tags: Open Sans 400 10px, border: 1px solid #AFC4A2
       Button: 341×36px, bg #AFC4A2, border-radius: 4px */
    .tdh-home-programmes {
        padding: 24px 0;
    }

    .tdh-section-label {
        border-radius: 2px;
        font-weight: 600;
    }

    .tdh-section-title {
        font-size: 24px;
        line-height: 115%;
    }

    .tdh-section-desc {
        font-size: 14px;
        line-height: 130%;
        color: #1E1E1E;
    }

    .tdh-programmes-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .tdh-prog-card {
        border: 1px solid #AFC4A2;
        border-radius: 0 0 8px 8px;
        padding: 16px 20px 16px;
        background: #FDFDFD;
    }

    .tdh-prog-header {
        font-size: 12px;
        line-height: 110%;
    }

    .tdh-prog-card h3 {
        font-size: 14px;
        line-height: 130%;
    }

    .tdh-prog-card p {
        font-size: 12px;
        line-height: 115%;
        color: #5A5A5A;
    }

    .tdh-prog-tags {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        width: 100% !important;
        padding: 0 !important;
        margin-bottom: 18px !important;
    }

    .tdh-prog-tags li {
        font-size: 8px !important;
        line-height: 110% !important;
        padding: 3px 4px !important;
        border: 1px solid #AFC4A2 !important;
        background: transparent !important;
        border-radius: 4px !important;
        white-space: nowrap !important;
        text-align: center !important;
        letter-spacing: -0.2px !important;
    }

    .tdh-btn-sage.tdh-mt-auto {
        width: 100%;
        max-width: 341px;
        height: 36px;
        padding: 9px 28px;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 600;
        line-height: 16px;
    }

    /* === DESIGNER STORIES — Mobile (Figma exact) ===
       Card: bg #FDF6EE, border-radius: 4px, padding: 24px 26px
       Stars: Open Sans 400 18px/25px, color: #D9B906
       Review title: Open Sans 700 14px/130%
       Review text: Open Sans 400 12px/115%
       Reviewer name: Open Sans 700 10px/14px, color: #5A5A5A
       Reviewer meta: Open Sans 400 10px/14px, color: #5A5A5A
       "Read all reviews" button: 180×36px, bg: rgba(255,255,255,0.63), backdrop-filter */
    .tdh-home-reviews {
        padding: 24px 0;
    }

    .tdh-reviews-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .tdh-review-card {
        background: #FDF6EE;
        border: none;
        border-radius: 4px;
        padding: 24px 26px 20px;
    }

    .tdh-stars {
        font-size: 18px;
        line-height: 25px;
        color: #D9B906;
        letter-spacing: 0;
    }

    .tdh-review-card h4 {
        font-family: 'Open Sans', sans-serif;
        font-weight: 700;
        font-size: 14px;
        line-height: 130%;
        color: #1E1E1E;
    }

    .tdh-review-card p {
        font-size: 12px;
        line-height: 115%;
        color: #1E1E1E;
    }

    .tdh-reviewer strong {
        font-size: 10px;
        line-height: 14px;
        color: #5A5A5A;
    }

    .tdh-reviewer span {
        font-size: 10px;
        line-height: 14px;
        color: #5A5A5A;
    }

    .tdh-center-link .tdh-btn-link {
        font-weight: 400;
        font-size: 14px;
        line-height: 19px;
    }

    /* === TECHNOLOGIES — Mobile (Figma exact) ===
       Label: bg #AFC4A2, border-radius: 2px
       h2: Noto Serif SC 600 24px/115%
       Equipment name: Open Sans 700 14px/19px
       Equipment desc: Open Sans 400 11px/15px
       Dividers: 1px solid #AFC4A2 */
    .tdh-home-tech {
        padding: 24px 0;
    }

    .tdh-section-header-center {
        text-align: left;
    }

    .tdh-section-desc-center {
        margin: 0;
        text-align: left;
        font-size: 14px;
        line-height: 130%;
        color: #1E1E1E;
    }

    .tdh-tech-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .tdh-tech-card {
        border: none;
        border-bottom: 1px solid #AFC4A2;
        border-radius: 0;
        padding: 14px 0;
    }

    .tdh-tech-card h3 {
        font-family: 'Open Sans', sans-serif;
        font-weight: 700;
        font-size: 14px;
        line-height: 19px;
    }

    .tdh-tech-card p {
        font-size: 11px;
        line-height: 15px;
        color: #1E1E1E;
    }

    /* === JOURNAL — Mobile (Figma exact) ===
       Label: bg #AFC4A2, border-radius: 2px
       h2: Noto Serif SC 600 24px/115%
       Card: border: 1px solid #AFC4A2, border-radius: 4px
       Article title: Open Sans 600 13px/120%
       Date: Open Sans 400 12px/115%
       Read button: 309×33px, bg #AFC4A2, border-radius: 4px */
    .tdh-home-journal {
        padding: 24px 0;
    }

    .tdh-journal-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .tdh-journal-card {
        border: 1px solid #AFC4A2;
        border-radius: 8px;
        padding: 16px;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .tdh-journal-image-wrapper {
        border-radius: 6px;
    }

    .tdh-journal-card h3 {
        font-family: 'Open Sans', sans-serif;
        font-weight: 600;
        font-size: 14px;
        line-height: 130%;
        margin: 4px 0;
    }

    .tdh-journal-card h3 a {
        color: #1E1E1E;
        text-decoration: none;
    }

    .tdh-journal-meta {
        font-size: 12px;
        line-height: 115%;
        color: #5A5A5A;
        margin-bottom: 4px;
    }

    .tdh-journal-card .tdh-btn-link {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 33px;
        background: #AFC4A2;
        border-radius: 4px;
        color: #FFFFFF;
        font-weight: 600;
        font-size: 12px;
        padding: 0;
        margin-top: 8px;
    }

    /* === FAQ — Mobile (Figma exact) ===
       Insurance card: border: 1px solid #AFC4A2, border-radius: 8px
       FAQ questions: Open Sans 400 13px/115%, color: #1A1A1A
       FAQ + icon: Inter 400 20px/24px
       FAQ answer: Open Sans 300 12px/115%, color: #000
       Dividers: 1px solid #5A5A5A */
    .tdh-home-faq {
        padding: 40px 0;
    }

    .tdh-insurance-box-v2 {
        padding: 40px 20px;
        margin-bottom: 30px;
        border-radius: 8px;
    }

    .tdh-insurance-title-v2 {
        font-size: 24px;
        text-align: center;
        margin-bottom: 30px;
    }

    .tdh-insurance-grid-v2 {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        justify-items: center;
    }

    .tdh-ins-logo-v2 img {
        max-height: 40px;
    }

    .tdh-faq-grid-v2 {
        margin-top: 20px;
    }

    .tdh-faq-full {
        width: 100%;
    }

    .tdh-faq-q {
        font-size: 13px;
        line-height: 115%;
        color: #1A1A1A;
        padding: 12px 0;
    }

    .tdh-faq-q span {
        font-family: 'Inter', sans-serif;
        font-weight: 400;
        font-size: 20px;
        line-height: 24px;
        color: #000000;
    }

    .tdh-faq-a {
        font-weight: 300;
        font-size: 12px;
        line-height: 115%;
        color: #000000;
    }

    .tdh-faq-list li {
        border-bottom: 1px solid #5A5A5A;
    }

    /* === BOOKING — Mobile (Figma exact) ===
       Label: border: 1px solid #AFC4A2, border-radius: 2px
       h2: Noto Serif SC 600 24px/115%
       Desc: Open Sans 400 14px/130%
       Form card: bg #FDF6EE, border: 1px solid #FDF6EE, border-radius: 4px
       Form title: Open Sans 400 18px/25px
       Form subtitle: Open Sans 400 13px/18px, color: #5A5A5A
       Labels: Open Sans 400 13px/18px, color: #5A5A5A
       Inputs: border: 1px solid #5A5A5A, border-radius: 4px, height: 40px
       Input placeholder: Open Sans 400 12px/16px, color: #828282
       Language tabs: 78×40px, active bg #AFC4A2, border-radius: 4px
       Submit: 341×36px, bg #AFC4A2, font: Open Sans 600 12px
       Footer: Open Sans 400 10px/14px
       Info card: bg #FDF6EE, border: 1px solid #AFC4A2, border-radius: 4px
       WhatsApp: 268×36px, bg #F4DFCD, border-radius: 4px */
    .tdh-home-book {
        padding: 40px 0;
    }

    .tdh-book-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 30px;
    }

    .tdh-book-form-col {
        order: 1 !important; /* Form on top */
    }

    .tdh-book-content-col {
        order: 3 !important; /* Info box at bottom */
    }

    .tdh-info-card-v2 {
        background: #FDF6EE;
        border: 1px solid #AFC4A2;
        color: #1E1E1E;
        padding: 30px 20px;
        margin-top: 20px;
    }

    .tdh-info-item-v2 {
        font-size: 14px;
        color: #1E1E1E;
    }

    .tdh-btn-wa-v2 {
        margin-top: 20px;
        width: 100%;
        max-width: 280px;
        margin-left: auto;
        margin-right: auto;
    }

    .tdh-lang-tabs-v2 {
        gap: 8px;
    }

    .tdh-lang-tab span {
        height: 38px;
        font-size: 13px;
    }
}

/* =========================================================
   OUR SPECIALISTS (Figma Exact - Desktop + Mobile Carousel)
   ========================================================= */

.tdh-home-specialists {
    background: linear-gradient(179.61deg, #FFFFFF 0.33%, #FEF9F3 23.77%, #FEF9F3 85.8%, #FFFFFF 101.44%);
    padding: 80px 0;
    overflow: hidden;
}

.tdh-section-header-left {
    text-align: left;
    margin-bottom: 24px;
}

.tdh-section-label-specialist {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #AFC4A2;
    border-radius: 4px;
    height: 26px;
    padding: 0 20px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 11px;
    color: #FFFFFF;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.tdh-specialist-title {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 42px;
    color: #1E1E1E;
    margin-bottom: 12px;
    line-height: 1.12;
}

.tdh-specialist-desc {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #1E1E1E;
    max-width: 650px;
    margin-bottom: 30px;
    line-height: 1.3;
}

/* Enhauched Search */
.tdh-spec-search-wrap {
    margin-bottom: 24px;
    max-width: 1020px;
}

.tdh-spec-search-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #FFFFFF;
    border: 1px solid #000000;
    border-radius: 8px;
    height: 52px;
    padding: 0 24px;
}

#tdh-doc-search {
    border: none !important;
    background: transparent !important;
    flex: 1;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: #1E1E1E;
    box-shadow: none !important;
    padding: 0 !important;
}

#tdh-doc-search::placeholder {
    color: #5A5A5A;
}

#tdh-doc-search:focus {
    outline: none !important;
    box-shadow: none !important;
}

.tdh-spec-search-btn {
    background: transparent;
    border: none;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 13px;
    color: #1E1E1E;
    cursor: pointer;
    padding-left: 20px;
    border-left: 1px solid #5A5A5A;
    line-height: 1;
}

/* Filter Bar */
.tdh-spec-filter-bar {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 40px;
}

.tdh-spec-filter-title {
    font-family: 'Open Sans', sans-serif;
    font-weight: 300;
    font-size: 12px;
    color: #5A5A5A;
    text-transform: uppercase;
}

.tdh-spec-filter-pills {
    display: flex;
    gap: 12px;
}

.tdh-spec-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 16px;
    background: #FFFFFF;
    border: 1px solid #5A5A5A;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #1E1E1E;
    cursor: pointer;
    transition: 0.3s ease;
}

.tdh-spec-pill.active-pill,
.tdh-spec-pill:hover {
    background: #FDF6EE;
}

/* Grid & Cards */
.tdh-experts-grid-v3 {
    display: flex;
}

/* Desktop: disable swiper, show as grid */
@media (min-width: 992px) {
    .tdh-experts-swiper-v2 {
        overflow: visible;
        padding: 0 40px;
        margin: 0 -40px;
    }
    .tdh-experts-grid-v3 {
        display: flex !important;
        flex-wrap: nowrap !important;
    }
    .tdh-experts-grid-v3 .swiper-slide {
        width: calc(33.333% - 16px) !important; /* 3 Slides for spacious high-fidelity layout */
        margin-right: 24px !important;
    }
    .tdh-reviews-grid {
        display: flex !important;
        flex-wrap: nowrap !important;
    }
    .tdh-reviews-grid .tdh-review-card {
        width: calc(33.333% - 13.33px) !important;
        margin-right: 20px !important;
    }
    .tdh-reviews-grid .tdh-review-card:last-child {
        margin-right: 0 !important;
    }
    .tdh-swiper-nav-v2 {
        display: flex !important;
        width: 48px !important;
        height: 48px !important;
        background: #FFFFFF !important;
        border: 1px solid #AFC4A2 !important;
        border-radius: 50% !important;
        color: #164E3D !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    }
    .swiper-button-prev.tdh-swiper-nav-v2 {
        left: -10px !important;
    }
    .swiper-button-next.tdh-swiper-nav-v2 {
        right: -10px !important;
    }
}

.tdh-doc-card-v2 {
    background-color: #FFFFFF !important;
    background-image: url('../../../Png-Logo/New/logo%20home%2000.png') !important;
    background-repeat: no-repeat !important;
    background-position: right -30px top -30px !important;
    background-size: 240px !important;
    border: 1px solid #AFC4A2 !important;
    border-radius: 16px !important;
    padding: 32px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    width: 100% !important;
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.3s !important;
    min-height: 520px !important;
    box-sizing: border-box !important;
}

.tdh-doc-card-v2:hover {
    border: 1px solid #AFC4A2 !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 32px rgba(175, 196, 162, 0.18) !important;
}

.tdh-doc-img-wrap {
    width: 137px !important;
    height: 137px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    margin: 40px auto 24px auto !important; /* Centered top portrait */
    background: #FFFFFF !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    border: 1px solid #AFC4A2 !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
}

.tdh-doc-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    border-radius: 50% !important;
}

.tdh-doc-info {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    margin-bottom: 20px !important;
    position: relative !important;
    z-index: 2 !important;
}

.tdh-doc-name-v2 {
    font-family: 'Noto Serif SC', serif !important;
    font-weight: 700 !important;
    font-size: 19px !important;
    color: #1E1E1E !important;
    margin-bottom: 8px !important;
    text-align: left !important;
}

.tdh-doc-title-v2 {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: #5A5A5A !important;
    margin-bottom: 12px !important;
    text-align: left !important;
    width: 100% !important;
    border-bottom: 1.5px solid rgba(175, 196, 162, 0.4) !important;
    padding-bottom: 12px !important;
}

.tdh-doc-bio-v2 {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: #1E1E1E !important;
    margin: 0 0 12px 0 !important;
    text-align: left !important;
}

.tdh-doc-years {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #8C8C8C !important;
    margin: 0 0 10px 0 !important;
    text-align: left !important;
}

.tdh-doc-tag {
    position: absolute !important;
    top: 24px !important;
    left: 24px !important;
    background: #FFFFFF !important;
    border: 1px solid #AFC4A2 !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #5A5A5A !important;
    z-index: 4 !important;
    text-transform: none !important;
}

.tdh-doc-flags {
    position: absolute !important;
    top: 24px !important;
    right: 24px !important;
    display: flex !important;
    gap: 6px !important;
    z-index: 4 !important;
}

.tdh-doc-actions-v2 {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin-top: auto !important;
    gap: 12px !important;
    position: relative !important;
    z-index: 2 !important;
}

.tdh-doc-book-btn-v2 {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
    flex-grow: 1 !important;
    height: 40px !important;
    background: #AFC4A2 !important;
    border-radius: 4px !important;
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    margin-bottom: 0 !important;
    transition: 0.3s !important;
    border: 1px solid #AFC4A2 !important;
    white-space: nowrap !important;
}

.tdh-doc-book-btn-v2:hover {
    background: #9DB490 !important;
    color: #FFFFFF !important;
    border-color: #9DB490 !important;
}

.tdh-doc-profile-link {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    color: #1E1E1E !important;
    text-decoration: none !important;
    transition: 0.3s !important;
    white-space: nowrap !important;
}

.tdh-doc-profile-link:hover {
    color: #AFC4A2 !important;
}

@media (max-width: 360px) {
    .tdh-doc-actions-v2 {
        flex-direction: column !important;
        gap: 8px !important;
        align-items: stretch !important;
    }
    .tdh-doc-book-btn-v2 {
        width: 100% !important;
        text-align: center !important;
    }
    .tdh-doc-profile-link {
        text-align: center !important;
        margin-top: 4px !important;
    }
}

.tdh-spec-all-link {
    text-align: center;
    margin-top: 40px;
}

.tdh-spec-all-link a {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #1E1E1E;
    text-decoration: none;
    transition: 0.3s;
}

.tdh-spec-all-link a:hover {
    color: #AFC4A2;
}

/* =========================================================
   OUR SPECIALISTS - Swiper Navigation Arrows
   ========================================================= */

.tdh-experts-swiper-v2 {
    position: relative;
    overflow: hidden;
}

.tdh-swiper-nav {
    color: #1E1E1E !important;
    width: 32px !important;
    height: 32px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.tdh-swiper-nav::after {
    font-size: 14px !important;
    font-weight: 900;
}

/* Mobile: show nav arrows, single card centered */
@media (max-width: 991px) {
    .tdh-experts-swiper-v2 {
        padding: 0 40px;
        overflow: hidden;
    }

    .swiper-button-prev.tdh-swiper-nav {
        left: 5px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        color: #164E3D !important;
    }

    .swiper-button-next.tdh-swiper-nav {
        right: 5px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        color: #164E3D !important;
    }

    .tdh-doc-card-v2 {
        width: 100%;
        padding: 24px 30px;
        box-sizing: border-box;
    }

    .tdh-doc-book-btn-v2 {
        width: 100%;
        max-width: 220px;
    }
}


/* =========================================================
   OUR SPECIALISTS - Responsive Settings
   ========================================================= */

@media (max-width: 991px) {
    .tdh-home-specialists {
        padding: 50px 0;
    }

    .tdh-specialist-title {
        font-size: 28px;
    }

    .tdh-specialist-desc {
        font-size: 16px;
    }

    .tdh-spec-filter-pills {
        flex-wrap: wrap;
    }
}

@media (max-width: 767px) {
    .tdh-home-specialists {
        padding: 40px 0;
    }

    .tdh-specialist-title {
        font-size: 24px;
    }

    .tdh-specialist-desc {
        font-size: 14px;
    }

    .tdh-spec-search-wrap,
    .tdh-spec-filter-bar {
        display: block;
    }

    .tdh-spec-filter-bar {
        margin-top: 20px;
    }

    .tdh-spec-filter-title {
        display: block;
        margin-bottom: 12px;
    }
}

/* =========================================================
   THE DESIGNERS HUB — MOBILE FIGMA MATCH (MAX-WIDTH: 767PX)
   ========================================================= */
@media (max-width: 767px) {
    /* 1. GLOBAL CONTAINER & ALIGNMENT ADJUSTMENTS */
    .tdh-luxury-home-container {
        padding-top: 80px !important;
        background: #F8F8F8 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    .tdh-home-inner {
        padding: 0 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 2. HERO SECTION — FLUID FLOW LAYOUT (REVERSED STACK WITH NO OVERLAPS) */
    .tdh-hero-section {
        height: auto !important;
        padding: 0 !important;
        margin: 20px auto 40px auto !important;
        background: transparent !important;
        border: none !important;
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column-reverse !important;
        gap: 24px !important;
        position: relative !important;
        overflow: visible !important;
    }
    
    /* Text block (The elegant card) */
    .tdh-hero-inner-box {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        background: #FFFFFF !important;
        border: 8px solid #2D2D2D !important;
        border-radius: 0px !important;
        padding: 30px 20px !important;
        box-sizing: border-box !important;
        z-index: 10 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06) !important;
    }
    .tdh-hero-rtl .tdh-hero-inner-box {
        align-items: flex-end !important;
        text-align: right !important;
    }

    /* We hide the absolute design overlays on fluid mobile */
    .tdh-hero-inner-box::after {
        display: none !important;
    }

    /* Active / Inactive Tabs Row */
    .tdh-hero-badge-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin-bottom: 20px !important;
    }
    
    /* Tabs Styling */
    .tdh-hero-badge {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 500 !important;
        font-size: 11px !important;
        line-height: 13px !important;
        color: #AAA8A8 !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        cursor: pointer !important;
        transition: none !important;
    }
    /* Active Tab */
    .tdh-hero-badge.active {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 5px 16px !important;
        background: #2D2D2D !important;
        border: 1px solid #2D2D2D !important;
        color: #F8F8F8 !important;
        font-weight: 600 !important;
        border-radius: 2px !important;
    }

    /* Headline (Bold Inter 24px) */
    .tdh-hero-headline {
        position: static !important;
        width: 100% !important;
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 700 !important;
        font-size: 24px !important;
        line-height: 1.15 !important;
        text-transform: uppercase !important;
        color: #2D2D2D !important;
        margin: 0 0 15px 0 !important;
        min-height: auto !important;
    }

    /* Subheadline (Inter 15px) */
    .tdh-hero-subline {
        position: static !important;
        width: 100% !important;
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 400 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        color: #5A5A5A !important;
        margin: 0 0 20px 0 !important;
        min-height: auto !important;
    }

    /* Gold CTA line */
    .tdh-hero-cta-line {
        position: static !important;
        width: 100% !important;
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 500 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        color: #D8A025 !important;
        margin: 0 0 25px 0 !important;
        min-height: auto !important;
    }

    /* Book a Consultation Button (Frame 444) */
    #heroCtaBtn {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 16px 29px 17px 30px !important;
        gap: 8px !important;
        position: static !important;
        width: 100% !important;
        max-width: 320px !important;
        height: 48px !important;
        background: #D8A025 !important;
        border: none !important;
        border-radius: 2px !important;
        font-family: 'Open Sans', sans-serif !important;
        font-style: normal !important;
        font-weight: 700 !important;
        font-size: 14px !important;
        line-height: 19px !important;
        text-align: center !important;
        color: #FFFFFF !important;
        box-shadow: 0 10px 25px rgba(216, 160, 37, 0.2) !important;
        margin: 0 !important;
    }

    /* Hero main photo (tdh-hero-image-wrap) — Displayed at the top */
    .tdh-hero-image-wrap {
        position: relative !important;
        width: 100% !important;
        height: 250px !important;
        left: 0 !important;
        top: 0 !important;
        background-size: cover !important;
        background-position: center !important;
        transform: none !important;
        z-index: 1 !important;
        opacity: 1 !important;
        display: block !important;
        border-radius: 8px !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    }
    
    .tdh-hero-vector {
        display: none !important;
    }

    /* 3. PAIN POINTS SECTION */
    .tdh-pain-section {
        background: #F8F8F8 !important;
        padding: 50px 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tdh-pain-h2 {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 600 !important;
        font-size: 20px !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
        color: #2D2D2D !important;
        text-align: center !important;
        max-width: 100% !important;
        margin: 0 auto 35px auto !important;
    }
    .tdh-pain-mobile-wrapper {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px 15px !important;
        padding: 0 5px !important;
        position: relative !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tdh-pain-grid, .tdh-pain-grid.two-cols {
        display: contents !important;
    }
    .tdh-pain-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        gap: 8px !important;
        transition: none !important;
        transform: none !important;
    }
    .tdh-pain-bullet {
        width: 11px !important;
        height: 11px !important;
        background: #D8A025 !important;
        border-radius: 50% !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }
    .tdh-pain-text {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 300 !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        color: #2D2D2D !important;
    }
    /* Centered 5th item at the bottom (Group 6) */
    #painGridBottom .tdh-pain-item:last-child {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
        max-width: 260px !important;
        width: 100% !important;
    }

    /* 4. LIMITED PLACES / WOOL BANNER */
    .tdh-wool-booking-section {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 45px auto !important;
        position: relative !important;
        background: transparent !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }
    .tdh-wool-banner {
        width: 100% !important;
        height: auto !important;
        min-height: 310px !important;
        position: relative !important;
        left: 0 !important;
        top: 0 !important;
        border-radius: 8px !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
        overflow: hidden !important;
    }
    .tdh-wool-overlay-content {
        position: relative !important;
        inset: 0 !important;
        padding: 40px 20px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
        height: 100% !important;
        box-sizing: border-box !important;
        background: rgba(45, 45, 45, 0.55) !important;
    }
    .tdh-wool-left {
        max-width: 100% !important;
        color: #FFFFFF !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 0 !important;
        width: 100% !important;
    }
    .tdh-wool-left h3 {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 500 !important;
        font-size: 20px !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
        color: #FFFFFF !important;
        margin: 0 0 10px 0 !important;
        max-width: 290px !important;
    }
    .tdh-wool-left p {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 400 !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        color: #FFFFFF !important;
        margin: 0 0 10px 0 !important;
        max-width: 290px !important;
    }
    .tdh-wool-left .tdh-btn-white {
        display: none !important; /* Hide duplicate button on mobile to emphasize the glass card */
    }
    
    /* "Places Left" Elegant Vertical Glass Card */
    .tdh-booking-glass-card {
        box-sizing: border-box !important;
        position: relative !important;
        width: 100% !important;
        max-width: 260px !important;
        min-height: 0 !important;
        left: auto !important;
        top: auto !important;
        background: rgba(30, 30, 30, 0.85) !important;
        border: 1px solid rgba(216, 160, 37, 0.6) !important;
        backdrop-filter: blur(12px) !important;
        border-radius: 6px !important;
        padding: 25px 20px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 15px !important;
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;
        margin: 25px auto 0 auto !important;
        z-index: 10 !important;
    }
    .tdh-booking-glass-card > div {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100% !important;
    }
    .tdh-booking-places {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 700 !important;
        font-size: 38px !important;
        line-height: 1 !important;
        color: #D8A025 !important;
        margin: 0 !important;
        text-shadow: 0 2px 10px rgba(216, 160, 37, 0.3) !important;
    }
    .tdh-booking-label {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 700 !important;
        font-size: 13px !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
        color: #FFFFFF !important;
        margin: 0 !important;
        letter-spacing: 1px !important;
    }
    .tdh-booking-desc {
        display: block !important;
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 300 !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        color: #E2E2E2 !important;
        margin: 4px 0 0 0 !important;
        text-align: center !important;
    }
    .tdh-booking-glass-card .tdh-btn-premium {
        display: flex !important;
        width: 100% !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 14px 20px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        border-radius: 4px !important;
        margin-top: 5px !important;
        box-shadow: 0 4px 15px rgba(216, 160, 37, 0.2) !important;
    }

    /* 5. SYSTEM OVERVIEW SECTION */
    .tdh-system-section {
        background: #F8F8F8 !important;
        padding: 50px 10px !important;
    }
    .tdh-system-dark-card {
        background: #2D2D2D !important;
        border-radius: 2px !important;
        padding: 40px 20px !important;
        box-shadow: none !important;
    }
    .tdh-system-headline {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 500 !important;
        font-size: 20px !important;
        line-height: 106.09% !important;
        text-transform: uppercase !important;
        color: #FFFFFF !important;
        margin: 0 0 10px 0 !important;
        text-align: center !important;
        width: 100% !important;
    }
    .tdh-system-subhead {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 300 !important;
        font-size: 14px !important;
        line-height: 17px !important;
        color: #FFFFFF !important;
        margin-bottom: 40px !important;
        text-align: center !important;
        width: 100% !important;
    }
    .tdh-comparison-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 30px !important;
        border-top: none !important;
        padding-top: 0 !important;
        align-items: center !important;
    }
    .tdh-comparison-col {
        width: 100% !important;
        max-width: 280px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    .tdh-hero-rtl .tdh-comparison-col {
        align-items: flex-end !important;
    }
    .tdh-comparison-title {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 300 !important;
        font-size: 14px !important;
        line-height: 104% !important;
        color: #F8F8F8 !important;
        text-transform: uppercase !important;
        margin-bottom: 4px !important;
    }
    .tdh-comparison-title.active {
        color: #D8A025 !important;
    }
    .tdh-comparison-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
    }
    .tdh-hero-rtl .tdh-comparison-row {
        flex-direction: row-reverse !important;
    }
    .tdh-comparison-dot {
        width: 6px !important;
        height: 6px !important;
        border-radius: 50% !important;
    }
    .tdh-comparison-dot.grey {
        background: #CDCDCD !important;
    }
    .tdh-comparison-dot.gold {
        background: #D8A025 !important;
    }
    .tdh-comparison-text {
        font-family: 'Inter', sans-serif !important;
        font-weight: 300 !important;
        font-size: 13px !important;
        line-height: 104% !important;
        color: #F8F8F8 !important;
    }
    .tdh-comparison-text.gold {
        color: #F8F8F8 !important;
    }
    /* Gold lines between columns (Vector 210, 232, 233) */
    .tdh-comparison-col:not(:last-child)::after {
        content: '' !important;
        display: block !important;
        width: 211.5px !important;
        height: 0px !important;
        border-bottom: 1px solid #D8A025 !important;
        margin: 15px auto 5px auto !important;
        align-self: center !important;
    }

    /* 6. STEPS SECTION */
    .tdh-steps-section {
        background: #F8F8F8 !important;
        padding: 50px 10px !important;
    }
    .tdh-steps-inner-container {
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .tdh-steps-h2 {
        font-family: 'Inter', sans-serif !important;
        font-weight: 600 !important;
        font-size: 20px !important;
        line-height: 106.09% !important;
        text-transform: uppercase !important;
        color: #2D2D2D !important;
        text-align: center !important;
        margin: 0 auto 40px auto !important;
    }
    .tdh-steps-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 36px !important;
        align-items: center !important;
    }
    .tdh-step-card {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 374px !important;
        height: auto !important;
        min-height: 102px !important;
        background: #2D2D2D !important;
        border: 1px solid #000000 !important;
        border-radius: 2px !important;
        position: relative !important;
        padding: 15px 20px 15px 75px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: flex-start !important;
        text-align: left !important;
        box-shadow: none !important;
    }
    .tdh-hero-rtl .tdh-step-card {
        padding: 15px 75px 15px 20px !important;
        text-align: right !important;
        align-items: flex-end !important;
    }
    /* Step circle index icon (Ellipse 8) */
    .tdh-step-circle {
        box-sizing: border-box !important;
        position: absolute !important;
        width: 53px !important;
        height: 53px !important;
        left: 8px !important;
        top: -26px !important;
        background: #F8F8F8 !important;
        border: 0.53px solid #2D2D2D !important;
        border-radius: 50% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 10 !important;
        transform: none !important;
    }
    .tdh-hero-rtl .tdh-step-circle {
        left: auto !important;
        right: 8px !important;
    }
    .tdh-step-label {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 600 !important;
        font-size: 12px !important;
        line-height: 15px !important;
        text-transform: uppercase !important;
        color: #D8A025 !important;
        text-align: center !important;
    }
    .tdh-step-title {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 500 !important;
        font-size: 14px !important;
        line-height: 104% !important;
        color: #D8A025 !important;
        text-transform: uppercase !important;
        margin: 0 0 6px 0 !important;
        border-bottom: 1px solid #F8F8F8 !important;
        padding-bottom: 4px !important;
        width: 100% !important;
    }
    .tdh-step-desc {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 200 !important;
        font-size: 14px !important;
        line-height: 104% !important;
        color: #F8F8F8 !important;
        margin: 0 !important;
    }
    /* Vertical connect lines (Vector 225) */
    .tdh-step-card::before {
        content: '' !important;
        position: absolute !important;
        width: 0px !important;
        height: 100px !important;
        left: 61px !important;
        top: 0px !important;
        border-left: 1px solid #FFFFFF !important;
        z-index: 5 !important;
        pointer-events: none !important;
    }
    .tdh-hero-rtl .tdh-step-card::before {
        left: auto !important;
        right: 61px !important;
    }
    .tdh-step-card:last-child::before {
        display: none !important;
    }
    .tdh-steps-graphic-wrap {
        display: none !important;
    }

    /* 7. CLIENT RESULTS SECTION */
    .tdh-results-section {
        background: #F8F8F8 !important;
        padding: 50px 10px !important;
    }
    .tdh-results-h2 {
        font-family: 'Inter', sans-serif !important;
        font-weight: 600 !important;
        font-size: 20px !important;
        line-height: 106.09% !important;
        text-transform: uppercase !important;
        color: #2D2D2D !important;
        text-align: center !important;
        margin: 0 auto 40px auto !important;
    }
    .tdh-results-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 36px !important;
        align-items: center !important;
    }
    .tdh-result-card {
        box-sizing: border-box !important;
        width: 333px !important;
        height: 503px !important;
        background: #2D2D2D !important;
        border-radius: 2px !important;
        position: relative !important;
        padding: 30px 22px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        box-shadow: 0 25px 50px rgba(0, 0, 0, 0.12) !important;
        overflow: hidden !important;
        transition: none !important;
        transform: none !important;
    }
    .tdh-result-card:hover {
        transform: none !important;
        box-shadow: 0 25px 50px rgba(0, 0, 0, 0.12) !important;
    }
    /* Brand photo (Rectangle 60) */
    .tdh-result-card-bg {
        position: absolute !important;
        width: 290px !important;
        height: 192px !important;
        left: 21.5px !important;
        top: 71px !important;
        border-radius: 2px !important;
        opacity: 1 !important;
        z-index: 5 !important;
        object-fit: cover !important;
    }
    .tdh-result-card:hover .tdh-result-card-bg {
        transform: none !important;
        opacity: 1 !important;
    }
    .tdh-result-card::before {
        display: none !important;
    }
    /* Content block (Frame 439) */
    .tdh-result-content {
        position: absolute !important;
        width: 290px !important;
        height: auto !important;
        left: 21.5px !important;
        top: 30px !important;
        z-index: 10 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 0 !important;
    }
    .tdh-hero-rtl .tdh-result-content {
        align-items: flex-end !important;
    }
    /* Brand name */
    .tdh-result-brand {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 400 !important;
        font-size: 16px !important;
        line-height: 104% !important;
        text-transform: uppercase !important;
        color: #F8F8F8 !important;
        width: 100% !important;
        text-align: center !important;
        margin: 0 0 215px 0 !important;
    }
    .tdh-result-detail-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
        margin-bottom: 12px !important;
        width: 100% !important;
    }
    .tdh-hero-rtl .tdh-result-detail-row {
        align-items: flex-end !important;
    }
    .tdh-result-label {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 500 !important;
        font-size: 14px !important;
        line-height: 17px !important;
        text-transform: uppercase !important;
        color: #F8F8F8 !important;
        opacity: 1 !important;
        margin: 0 !important;
    }
    .tdh-result-val {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 300 !important;
        font-size: 14px !important;
        line-height: 17px !important;
        color: #F8F8F8 !important;
        margin: 0 !important;
    }
    .tdh-result-stats-flex {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
        margin-top: 4px !important;
        width: 100% !important;
    }
    .tdh-hero-rtl .tdh-result-stats-flex {
        flex-direction: row-reverse !important;
    }
    /* Gold Badge */
    .tdh-result-stat-badge {
        box-sizing: border-box !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 9px 15px !important;
        width: 90px !important;
        height: 36px !important;
        background: #D8A025 !important;
        border-radius: 2px !important;
        font-family: 'Inter', sans-serif !important;
        font-weight: 500 !important;
        font-size: 14px !important;
        line-height: 17px !important;
        color: #F8F8F8 !important;
    }
    .tdh-result-stat-desc {
        font-family: 'Inter', sans-serif !important;
        font-weight: 400 !important;
        font-size: 14px !important;
        line-height: 17px !important;
        color: #F8F8F8 !important;
        flex: 1 !important;
    }
    /* Diagonal vector line inside card */
    .tdh-result-diagonal-vector {
        box-sizing: border-box !important;
        position: absolute !important;
        width: 240.5px !important;
        height: 486.85px !important;
        left: -28px !important;
        top: 23.35px !important;
        border: 1px solid rgba(248, 248, 248, 0.12) !important;
        transform: matrix(0.08, 1, 1, -0.08, 0, 0) !important;
        pointer-events: none !important;
        z-index: 10 !important;
    }

    /* 8. MID BANNER / EXPERIENCE SECTION */
    .tdh-mid-banner-section {
        width: 100% !important;
        max-width: 390px !important;
        height: auto !important;
        min-height: 374px !important;
        position: relative !important;
        margin: 40px auto !important;
        box-shadow: none !important;
        border-radius: 0px !important;
    }
    .tdh-hero-rtl .tdh-mid-banner-section {
        transform: none !important;
    }
    .tdh-mid-banner-inner {
        transform: none !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(45, 45, 45, 0.85) !important;
        padding: 40px 10px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
    .tdh-mid-banner-card {
        background: transparent !important;
        width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        box-shadow: none !important;
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
    }
    .tdh-mid-banner-h2 {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 500 !important;
        font-size: 20px !important;
        line-height: 106.09% !important;
        text-align: center !important;
        text-transform: uppercase !important;
        color: #FFFFFF !important;
        margin: 0 0 35px 0 !important;
        max-width: 320px !important;
    }
    .tdh-banner-stats-row {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 0 !important;
        width: 100% !important;
        position: relative !important;
    }
    .tdh-banner-stat-col {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0 5px !important;
    }
    .tdh-banner-stat-val {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 400 !important;
        font-size: 18px !important;
        line-height: 22px !important;
        color: #D8A025 !important;
        margin-bottom: 6px !important;
    }
    .tdh-banner-stat-lbl {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 300 !important;
        font-size: 11px !important;
        line-height: 13px !important;
        color: #F8F8F8 !important;
    }
    .tdh-banner-stat-lbl.gold {
        color: #D8A025 !important;
    }
    /* Clean fluid borders that will NEVER cut through text */
    .tdh-banner-stat-col:not(:last-child)::after {
        display: none !important;
    }
    .tdh-banner-stat-col:not(:last-child) {
        border-right: 1.5px solid rgba(216, 160, 37, 0.4) !important;
    }
    .tdh-hero-rtl .tdh-banner-stat-col:not(:last-child) {
        border-right: none !important;
        border-left: 1.5px solid rgba(216, 160, 37, 0.4) !important;
    }

    /* 9. PARTNERS SECTION */
    .tdh-partners-section {
        background: #F8F8F8 !important;
        padding: 50px 10px !important;
    }
    .tdh-partners-h2 {
        font-family: 'Inter', sans-serif !important;
        font-weight: 600 !important;
        font-size: 20px !important;
        line-height: 106.09% !important;
        text-transform: uppercase !important;
        color: #2D2D2D !important;
        text-align: center !important;
        margin: 0 auto 40px auto !important;
    }
    .tdh-partners-slider-wrapper {
        padding: 0 40px !important;
    }
    .tdh-partner-nav-btn {
        display: none !important;
    }
    .tdh-logos-flex-row {
        gap: 30px !important;
        align-items: center !important;
    }
    /* Exact sizing for the primary partner logos as per figma */
    .tdh-logo-item img[alt="Netflix"] {
        width: 171px !important;
        height: 69.13px !important;
        object-fit: contain !important;
    }
    .tdh-logo-item img[alt="ESMOD"] {
        width: 81px !important;
        height: 66.89px !important;
        object-fit: contain !important;
    }
    .tdh-logo-item {
        filter: none !important;
        opacity: 1 !important;
    }
    .tdh-partners-dots-row {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 11px !important;
        margin-top: 30px !important;
    }
    .tdh-partners-dot {
        width: 8px !important;
        height: 8px !important;
        background: #D8A025 !important;
        opacity: 0.5 !important;
        border-radius: 50% !important;
        cursor: pointer !important;
        transition: none !important;
    }
    .tdh-partners-dot.active {
        width: 10px !important;
        height: 10px !important;
        opacity: 1 !important;
    }

    /* 10. FINAL CTA SECTION */
    .tdh-final-cta-section {
        background: #F8F8F8 !important;
        padding: 50px 10px !important;
    }
    .tdh-cta-card-border {
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }
    .tdh-cta-card-inner {
        background: #2D2D2D !important;
        border-radius: 2px !important;
        padding: 40px 20px !important;
        box-shadow: none !important;
    }
    .tdh-cta-h2 {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 500 !important;
        font-size: 20px !important;
        line-height: 106.09% !important;
        text-align: center !important;
        text-transform: uppercase !important;
        color: #FFFFFF !important;
        margin: 0 0 10px 0 !important;
        width: 100% !important;
    }
    .tdh-cta-desc {
        font-family: 'Inter', sans-serif !important;
        font-style: normal !important;
        font-weight: 300 !important;
        font-size: 14px !important;
        line-height: 17px !important;
        color: #FFFFFF !important;
        margin-bottom: 30px !important;
        text-align: center !important;
    }
    .tdh-cta-card-inner .tdh-btn-premium {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 16px 29px 17px 30px !important;
        gap: 8px !important;
        width: 373px !important;
        height: 48px !important;
        background: #D8A025 !important;
        font-family: 'Open Sans', sans-serif !important;
        font-style: normal !important;
        font-weight: 700 !important;
        font-size: 14px !important;
        line-height: 19px !important;
        text-align: center !important;
        color: #FFFFFF !important;
        border-radius: 2px !important;
        border: none !important;
        box-shadow: none !important;
        transform: none !important;
    }

    /* 12. GLASS BOOKING MODAL ON MOBILE (PREVENTS CUT-OFF ON ALL VIEWPORTS) */
    .tdh-glass-modal-card {
        max-height: 90vh !important;
        overflow-y: auto !important;
        padding: 30px 20px !important;
        border-radius: 8px !important;
        margin: auto !important;
        width: 95% !important;
    }
    .tdh-modal-h3 {
        font-family: 'Inter', sans-serif !important;
        font-size: 22px !important;
        margin-bottom: 8px !important;
        text-transform: uppercase !important;
    }
    .tdh-modal-desc {
        font-family: 'Inter', sans-serif !important;
        font-size: 13px !important;
        margin-bottom: 20px !important;
        line-height: 1.4 !important;
    }
    .tdh-form-group {
        margin-bottom: 15px !important;
        gap: 6px !important;
    }
    .tdh-form-label {
        font-size: 12px !important;
    }
    .tdh-form-input, .tdh-form-select, .tdh-form-textarea {
        padding: 10px 14px !important;
        font-size: 13px !important;
        border-radius: 4px !important;
    }
}