/* ============================================================
   TGD Connect Widgets — tgdc-sections.css v1.0
   Design system: cream bg, navy text, blue accent, Playfair italic
   ============================================================ */

/* ── Google Font: Playfair Display (italic headings) ── */
/* Loaded via wp_enqueue_style in main plugin file */

/* ── Global ── */
[class*="elementor-widget-tgdc_"] *,
[class*="elementor-widget-tgdc_"] *::before,
[class*="elementor-widget-tgdc_"] *::after { box-sizing:border-box; }
[class*="elementor-widget-tgdc_"] h1,[class*="elementor-widget-tgdc_"] h2,
[class*="elementor-widget-tgdc_"] h3,[class*="elementor-widget-tgdc_"] h4,
[class*="elementor-widget-tgdc_"] p { margin:0; }
[class*="elementor-widget-tgdc_"] { overflow:visible !important; }

/* Full-bleed wrappers */
.elementor-widget-tgdc_hero,.elementor-widget-tgdc_hero>.elementor-widget-container,
.elementor-widget-tgdc_stats_bar,.elementor-widget-tgdc_stats_bar>.elementor-widget-container,
.elementor-widget-tgdc_text_block,.elementor-widget-tgdc_text_block>.elementor-widget-container,
.elementor-widget-tgdc_service_grid,.elementor-widget-tgdc_service_grid>.elementor-widget-container,
.elementor-widget-tgdc_product_cards,.elementor-widget-tgdc_product_cards>.elementor-widget-container,
.elementor-widget-tgdc_numbered_cards,.elementor-widget-tgdc_numbered_cards>.elementor-widget-container,
.elementor-widget-tgdc_page_header,.elementor-widget-tgdc_page_header>.elementor-widget-container,
.elementor-widget-tgdc_about_intro,.elementor-widget-tgdc_about_intro>.elementor-widget-container,
.elementor-widget-tgdc_founder_bio,.elementor-widget-tgdc_founder_bio>.elementor-widget-container,
.elementor-widget-tgdc_engagement_cards,.elementor-widget-tgdc_engagement_cards>.elementor-widget-container,
.elementor-widget-tgdc_all_services,.elementor-widget-tgdc_all_services>.elementor-widget-container,
.elementor-widget-tgdc_gradient_cta,.elementor-widget-tgdc_gradient_cta>.elementor-widget-container,
.elementor-widget-tgdc_featured_post,.elementor-widget-tgdc_featured_post>.elementor-widget-container,
.elementor-widget-tgdc_post_grid,.elementor-widget-tgdc_post_grid>.elementor-widget-container,
.elementor-widget-tgdc_contact_page,.elementor-widget-tgdc_contact_page>.elementor-widget-container
{ width:100%; max-width:100%; }

/* ── Shared italic heading font ── */
.tgdc-hero__heading-italic,
.tgdc-text-block__italic,
.tgdc-numbered-cards__italic,
.tgdc-page-header__italic,
.tgdc-founder-bio__heading-italic,
.tgdc-gradient-cta__heading-italic,
.tgdc-contact-page__quote-italic {
    font-family: 'Playfair Display', Georgia, serif;
    font-style: italic;
    font-weight: 600;
}

/* ── Shared section inner container ── */
.tgdc-text-block__inner,
.tgdc-page-header__inner,
.tgdc-about-intro__inner { margin: 0 auto; padding: 0 40px; }

/* ══════════════════════════════════════════
   1. HERO
   ══════════════════════════════════════════ */
.tgdc-hero {
    display:grid; grid-template-columns:50% 1fr;
    min-height:80vh; overflow:hidden; width:100%;
    background-color:#F7F5F1;
}
.tgdc-hero__content {
    display:flex; flex-direction:column; justify-content:center;
    padding:80px 60px 80px 80px; position:relative; z-index:2;
}
:where(.tgdc-hero__eyebrow) {
    font-size:11px; font-weight:700; letter-spacing:0.18em;
    text-transform:uppercase; color:#317EFE;
    display:block; margin-bottom:14px;
}
:where(.tgdc-hero__heading) {
    font-size:clamp(2rem,4.5vw,3.6rem); font-weight:800;
    line-height:1.1; color:#0D1B4B; margin:0 0 20px;
    letter-spacing:-0.02em;
}
:where(.tgdc-hero__heading-italic) {
    font-size:clamp(2rem,4.5vw,3.6rem); font-weight:600;
    line-height:1.2; color:#317EFE; display:block;
}
:where(.tgdc-hero__desc) {
    font-size:15px; line-height:1.75; color:#374151; margin:0 0 20px;
    max-width:500px;
}
.tgdc-hero__tags {
    display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px;
}
:where(.tgdc-hero__tag) {
    font-size:11px; font-weight:700; letter-spacing:0.1em;
    text-transform:uppercase; color:#374151;
    border-top:1px solid rgba(55,65,81,0.25);
    border-bottom:1px solid rgba(55,65,81,0.25);
    padding:4px 0; 
}
.tgdc-hero__tag + .tgdc-hero__tag::before {
    content:'·'; margin-right:8px; opacity:0.4;
}
.tgdc-hero__actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.tgdc-hero__btn1 {
    display:inline-flex; align-items:center; gap:8px;
    background-color:#317EFE; color:#fff; border:2px solid #317EFE;
    padding:13px 28px; border-radius:50px;
    font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap;
    transition:all .3s;
}
.tgdc-hero__btn1 svg { width:14px; height:14px; fill:currentColor; }
.tgdc-hero__btn1:hover { background-color:#0D1B4B; border-color:#0D1B4B; }
.tgdc-hero__btn2 {
    display:inline-flex; align-items:center;
    background:transparent; color:#0D1B4B; border:none;
    font-size:14px; font-weight:600; text-decoration:none;
    padding:13px 0; transition:color .2s;
}
.tgdc-hero__btn2:hover { color:#317EFE; }
.tgdc-hero__image-col {
    position:relative; overflow:hidden; min-height:80vh;
    background:#d8e4f5;
}
.tgdc-hero__img {
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:center top; display:block;
}
.elementor-widget-tgdc_hero,
.elementor-widget-tgdc_hero>.elementor-widget-container {
    display:flex; flex-direction:column; align-self:stretch; height:100%;
}
.tgdc-hero { flex:1; align-items:stretch; }
@media(max-width:1024px) {
    .tgdc-hero { grid-template-columns:1fr; }
    .tgdc-hero__image-col { min-height:380px!important; order:-1; }
    .tgdc-hero__content { padding:60px 40px; }
}
@media(max-width:767px) {
    .tgdc-hero__content { padding:48px 24px; }
    .tgdc-hero__image-col { min-height:260px!important; }
    .tgdc-hero__actions { flex-direction:column; align-items:flex-start; }
}

/* ══════════════════════════════════════════
   2. STATS BAR
   ══════════════════════════════════════════ */
.tgdc-stats-bar { background-color:#0D1B4B; width:100%; }
.tgdc-stats-bar__grid {
    display:grid; grid-template-columns:repeat(4,1fr);
}
.tgdc-stats-bar__item {
    display:flex; align-items:center; gap:16px;
    padding:32px 40px;
    border-right:1px solid rgba(255,255,255,0.06);
}
.tgdc-stats-bar__item:last-child { border-right:none; }
.tgdc-stats-bar__icon {
    width:44px; height:44px; border-radius:10px;
    background:rgba(255,255,255,0.08);
    display:flex; align-items:center; justify-content:center;
    font-size:18px; color:rgba(255,255,255,0.7); flex-shrink:0;
}
.tgdc-stats-bar__icon svg { width:18px; height:18px; fill:rgba(255,255,255,0.7); }
.tgdc-stats-bar__number {
    display:block; font-size:22px; font-weight:800; color:#fff; line-height:1;
}
.tgdc-stats-bar__label {
    display:block; font-size:12px; color:rgba(255,255,255,0.45); margin-top:3px;
}
@media(max-width:767px) {
    .tgdc-stats-bar__grid { grid-template-columns:repeat(2,1fr); }
    .tgdc-stats-bar__item { padding:24px 20px; }
    .tgdc-stats-bar__item:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,0.06); }
    .tgdc-stats-bar__item:nth-child(2) { border-right:none; }
}

/* ══════════════════════════════════════════
   3. TEXT BLOCK
   ══════════════════════════════════════════ */
.tgdc-text-block { width:100%; padding:80px 40px; }
.tgdc-text-block__inner { max-width:680px; margin:0 auto; text-align:center; }
:where(.tgdc-text-block__eyebrow) {
    font-size:11px; font-weight:700; letter-spacing:0.18em;
    text-transform:uppercase; color:#317EFE;
    display:block; margin-bottom:12px; text-align:center;
}
:where(.tgdc-text-block__heading) {
    font-size:clamp(2rem,3.5vw,3rem); font-weight:800;
    color:#0D1B4B; line-height:1.15; letter-spacing:-0.02em;
    margin:0 0 28px; text-align:center;
}
:where(.tgdc-text-block__italic) {
    font-size:clamp(2rem,3.5vw,3rem); font-weight:600;
    color:#317EFE; display:block;
}
:where(.tgdc-text-block__para) {
    font-size:15px; line-height:1.8; color:#374151;
    margin:0 0 16px;
}
:where(.tgdc-text-block__para:last-child) { margin-bottom:0; }

/* ══════════════════════════════════════════
   4. SERVICE GRID
   ══════════════════════════════════════════ */
.tgdc-service-grid { background-color:#F0EDE8; padding:80px 0; width:100%; }
.tgdc-service-grid__inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.tgdc-service-grid__top-bar {
    display:flex; align-items:flex-end; justify-content:space-between;
    margin-bottom:40px; flex-wrap:wrap; gap:16px;
}
:where(.tgdc-service-grid__eyebrow) {
    font-size:11px; font-weight:700; letter-spacing:0.18em;
    text-transform:uppercase; color:#317EFE;
    display:block; margin-bottom:8px;
}
:where(.tgdc-service-grid__heading) {
    font-size:clamp(1.6rem,3vw,2.6rem); font-weight:800;
    color:#0D1B4B; letter-spacing:-0.02em; margin:0;
}
.tgdc-service-grid__link {
    font-size:13px; font-weight:600; color:#317EFE; text-decoration:none;
    display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
    transition:gap .2s;
}
.tgdc-service-grid__link:hover { gap:10px; }
.tgdc-service-grid__grid {
    display:grid; grid-template-columns:repeat(2,1fr); gap:20px;
}
.tgdc-service-grid__card {
    background:#fff; border-radius:14px; padding:32px 28px;
    box-shadow:0 2px 16px rgba(13,27,75,0.06);
    transition:transform .3s, box-shadow .3s;
}
.tgdc-service-grid__card:hover { transform:translateY(-4px); box-shadow:0 8px 32px rgba(13,27,75,0.12); }
.tgdc-service-grid__icon {
    width:48px; height:48px; border-radius:12px; background:#317EFE;
    display:flex; align-items:center; justify-content:center;
    font-size:22px; color:#fff; margin-bottom:18px;
}
.tgdc-service-grid__icon svg { width:22px; height:22px; fill:#fff; }
:where(.tgdc-service-grid__card-title) { font-size:17px; font-weight:700; color:#0D1B4B; margin:0 0 10px; line-height:1.3; }
:where(.tgdc-service-grid__card-desc) { font-size:14px; line-height:1.65; color:#6B7280; margin:0; }
@media(max-width:767px) {
    .tgdc-service-grid__grid { grid-template-columns:1fr; }
    .tgdc-service-grid__inner { padding:0 20px; }
}

/* ══════════════════════════════════════════
   5. PRODUCT CARDS
   ══════════════════════════════════════════ */
.tgdc-product-cards { background:#F7F5F1; padding:80px 40px; width:100%; }
.tgdc-product-cards__inner { max-width:1200px; margin:0 auto; }
.tgdc-product-cards__top-bar {
    display:flex; align-items:flex-start; justify-content:space-between;
    margin-bottom:32px; flex-wrap:wrap; gap:16px;
}
:where(.tgdc-product-cards__heading) {
    font-size:clamp(1.4rem,2.5vw,2rem); font-weight:800;
    color:#0D1B4B; margin:0 0 6px; letter-spacing:-0.01em;
}
:where(.tgdc-product-cards__subtitle) { font-size:14px; color:#6B7280; margin:0; max-width:400px; }
.tgdc-product-cards__view-all {
    font-size:13px; font-weight:600; color:#317EFE; text-decoration:none;
    display:inline-flex; align-items:center; gap:6px; white-space:nowrap; margin-top:6px;
    transition:gap .2s;
}
.tgdc-product-cards__view-all:hover { gap:10px; }
.tgdc-product-cards__grid {
    display:grid; grid-template-columns:repeat(3,1fr); gap:20px; /* columns overridden by responsive control */
}
.tgdc-product-cards__card {
    background:#fff; border-radius:14px; overflow:hidden;
    border:1.5px solid rgba(13,27,75,0.06);
    display:flex; flex-direction:column;
    transition:box-shadow .3s;
}
.tgdc-product-cards__card:hover { box-shadow:0 6px 28px rgba(13,27,75,0.1); }
.tgdc-product-cards__card--featured { border-color:#317EFE; }

/* Image */
.tgdc-product-cards__img-wrap {
    display:block; overflow:hidden; width:100%; flex-shrink:0; text-decoration:none;
    line-height:0; /* removes ghost space below img */
}
.tgdc-product-cards__img {
    width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s;
}
.tgdc-product-cards__card:hover .tgdc-product-cards__img { transform:scale(1.04); }

/* Card body */
.tgdc-product-cards__card-body { padding:24px 24px 20px; display:flex; flex-direction:column; flex:1; background:#fff; position:relative; z-index:1; }

.tgdc-product-cards__card-top {
    display:flex; justify-content:space-between; align-items:center; margin-bottom:12px;
}
:where(.tgdc-product-cards__badge) {
    font-size:10px; font-weight:700; letter-spacing:0.1em;
    text-transform:uppercase; color:#317EFE;
    background:rgba(49,126,254,0.08); padding:3px 10px; border-radius:50px;
}
.tgdc-product-cards__ext-link {
    color:rgba(13,27,75,0.25); font-size:13px; text-decoration:none; transition:color .2s;
}
.tgdc-product-cards__ext-link:hover { color:#317EFE; }
:where(.tgdc-product-cards__card-title) {
    font-size:16px; font-weight:700; color:#0D1B4B; margin:0 0 8px; line-height:1.3;
}
:where(.tgdc-product-cards__card-desc) {
    font-size:13px; line-height:1.65; color:#6B7280; margin:0; flex:1;
}
.tgdc-product-cards__card-footer {
    display:flex; justify-content:space-between; align-items:center;
    margin-top:16px; padding-top:12px;
    border-top:1px solid rgba(13,27,75,0.06);
}
:where(.tgdc-product-cards__format) { font-size:12px; color:#9CA3AF; }
.tgdc-product-cards__cta {
    font-size:12px; font-weight:700; color:#317EFE; text-decoration:none;
    display:inline-flex; align-items:center; gap:4px; transition:gap .2s;
}
.tgdc-product-cards__cta:hover { gap:8px; }
@media(max-width:767px) { .tgdc-product-cards { padding:60px 20px; } }

/* ══════════════════════════════════════════
   6. NUMBERED CARDS
   ══════════════════════════════════════════ */
.tgdc-numbered-cards { background:#fff; padding:80px 0; width:100%; }
.tgdc-numbered-cards__inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.tgdc-numbered-cards__header { text-align:center; margin-bottom:56px; }
:where(.tgdc-numbered-cards__eyebrow) {
    font-size:11px; font-weight:700; letter-spacing:0.18em;
    text-transform:uppercase; color:#317EFE; display:block; margin-bottom:12px;
}
:where(.tgdc-numbered-cards__heading) {
    font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:800;
    color:#0D1B4B; letter-spacing:-0.02em; line-height:1.15; margin:0;
}
:where(.tgdc-numbered-cards__italic) {
    font-size:clamp(1.8rem,3.5vw,2.8rem); color:#317EFE; display:block;
}
.tgdc-numbered-cards__grid {
    display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
}
.tgdc-numbered-cards__card {
    background:#fff; border-radius:14px; padding:28px 24px;
    border:1px solid rgba(13,27,75,0.07);
    position:relative;
}
:where(.tgdc-numbered-cards__num) {
    font-size:72px; font-weight:900; line-height:1;
    color:rgba(13,27,75,0.06); display:block; margin-bottom:-16px;
}
:where(.tgdc-numbered-cards__card-title) {
    font-size:16px; font-weight:700; color:#0D1B4B; margin:0 0 10px; line-height:1.3;
}
:where(.tgdc-numbered-cards__card-desc) { font-size:13px; line-height:1.65; color:#6B7280; margin:0; }
@media(max-width:1024px) { .tgdc-numbered-cards__grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:767px) { .tgdc-numbered-cards__grid { grid-template-columns:1fr; } .tgdc-numbered-cards__inner { padding:0 20px; } }

/* ══════════════════════════════════════════
   7. PAGE HEADER
   ══════════════════════════════════════════ */
.tgdc-page-header { background:#F7F5F1; padding:72px 40px; width:100%; }
.tgdc-page-header__inner { max-width:720px; margin:0 auto; text-align:center; }
:where(.tgdc-page-header__eyebrow) {
    font-size:11px; font-weight:700; letter-spacing:0.18em;
    text-transform:uppercase; color:#317EFE; display:block; margin-bottom:16px;
}
:where(.tgdc-page-header__heading) {
    font-size:clamp(2.2rem,5vw,4rem); font-weight:800;
    color:#0D1B4B; line-height:1.1; letter-spacing:-0.03em; margin:0 0 20px;
}
:where(.tgdc-page-header__italic) {
    font-family:'Playfair Display',Georgia,serif; font-style:italic; font-weight:600;
    color:#317EFE;
}
:where(.tgdc-page-header__desc) {
    font-size:15px; line-height:1.75; color:#374151; margin:0 auto; max-width:580px;
}
@media(max-width:767px) { .tgdc-page-header { padding:56px 24px; } }

/* ══════════════════════════════════════════
   8. ABOUT INTRO
   ══════════════════════════════════════════ */
.tgdc-about-intro { background:#F7F5F1; padding:60px 40px 40px; width:100%; }
.tgdc-about-intro__inner { max-width:680px; margin:0 auto; }
:where(.tgdc-about-intro__para) {
    font-size:15px; line-height:1.8; color:#374151; margin:0 0 20px;
}
.tgdc-about-intro__quote {
    font-family:'Playfair Display',Georgia,serif;
    font-style:italic; font-weight:400;
    font-size:18px; line-height:1.65; color:#317EFE;
    border:none; margin:12px 0 0; padding:0;
    quotes:none;
}
@media(max-width:767px) { .tgdc-about-intro { padding:48px 24px 32px; } }

/* ══════════════════════════════════════════
   9. FOUNDER BIO
   ══════════════════════════════════════════ */
.tgdc-founder-bio { background:#F7F5F1; padding:80px 0; width:100%; }
.tgdc-founder-bio__inner {
    max-width:1200px; margin:0 auto; padding:0 40px;
    display:grid; grid-template-columns:380px 1fr;
    gap:80px; align-items:start;
}
.tgdc-founder-bio__img {
    width:100%; display:block; border-radius:12px; object-fit:cover;
}
:where(.tgdc-founder-bio__eyebrow) {
    font-size:11px; font-weight:700; letter-spacing:0.18em;
    text-transform:uppercase; color:#317EFE; display:block; margin-bottom:12px;
}
:where(.tgdc-founder-bio__heading) {
    font-size:clamp(1.8rem,3vw,2.8rem); font-weight:800;
    color:#0D1B4B; line-height:1.15; margin:0 0 20px; letter-spacing:-0.02em;
}
:where(.tgdc-founder-bio__heading-reg) { color:#0D1B4B; }
:where(.tgdc-founder-bio__heading-italic) {
    font-family:'Playfair Display',Georgia,serif; font-style:italic; font-weight:600;
    color:#317EFE;
}
:where(.tgdc-founder-bio__para) { font-size:14px; line-height:1.75; color:#374151; margin:0 0 12px; }
.tgdc-founder-bio__cred-row {
    display:flex; gap:12px; margin:20px 0; flex-wrap:wrap;
}
.tgdc-founder-bio__cred-card {
    background:#fff; border-radius:10px; padding:14px 16px;
    border:1px solid rgba(13,27,75,0.08); flex:1; min-width:140px;
    display:flex; flex-direction:column; gap:6px;
}
.tgdc-founder-bio__cred-icon { font-size:16px; color:#317EFE; }
.tgdc-founder-bio__cred-icon svg { width:16px; height:16px; fill:#317EFE; }
.tgdc-founder-bio__cred-text { display:flex; flex-direction:column; gap:2px; }
.tgdc-founder-bio__cred-text strong { font-size:13px; font-weight:700; color:#0D1B4B; }
.tgdc-founder-bio__cred-text span { font-size:12px; color:#6B7280; }
.tgdc-founder-bio__bg-section { margin-top:20px; }
:where(.tgdc-founder-bio__bg-heading) {
    font-size:11px; font-weight:700; letter-spacing:0.15em;
    text-transform:uppercase; color:#317EFE; margin-bottom:12px; display:block;
}
.tgdc-founder-bio__bg-list {
    list-style:none; padding:0; margin:0;
    display:grid; grid-template-columns:1fr 1fr; gap:6px 24px;
}
.tgdc-founder-bio__bg-item {
    font-size:13px; color:#374151; display:flex; align-items:center; gap:8px;
}
.tgdc-founder-bio__bg-item::before {
    content:''; width:6px; height:6px; border-radius:50%;
    background:#317EFE; flex-shrink:0;
}
:where(.tgdc-founder-bio__closing-quote) {
    font-family:'Playfair Display',Georgia,serif; font-style:italic;
    font-size:15px; line-height:1.65; color:#317EFE; margin:20px 0 0;
}
@media(max-width:1024px) {
    .tgdc-founder-bio__inner { grid-template-columns:1fr; gap:40px; }
    .tgdc-founder-bio__bg-list { grid-template-columns:1fr; }
}
@media(max-width:767px) { .tgdc-founder-bio__inner { padding:0 20px; } }

/* ══════════════════════════════════════════
   10. ENGAGEMENT CARDS
   ══════════════════════════════════════════ */
.tgdc-eng-cards { background:#F7F5F1; padding:72px 40px; width:100%; }
.tgdc-eng-cards__inner { max-width:1200px; margin:0 auto; }
.tgdc-eng-cards__header { margin-bottom:32px; }
:where(.tgdc-eng-cards__eyebrow) {
    font-size:11px; font-weight:700; letter-spacing:0.18em;
    text-transform:uppercase; color:#317EFE; display:block; margin-bottom:8px;
}
:where(.tgdc-eng-cards__heading) { font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:800; color:#0D1B4B; margin:0 0 6px; line-height:1.2; }
:where(.tgdc-eng-cards__subtitle) { font-size:14px; color:#6B7280; margin:0; line-height:1.65; }
.tgdc-eng-cards__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; } /* columns set by responsive control */

/* Card — image+body split */
.tgdc-eng-cards__card {
    background:#fff; border-radius:14px; overflow:hidden;
    border:1.5px solid rgba(13,27,75,0.06); display:flex; flex-direction:column;
    transition:box-shadow .3s;
}
.tgdc-eng-cards__card:hover { box-shadow:0 6px 24px rgba(13,27,75,0.1); }
.tgdc-eng-cards__card--featured { border-color:#317EFE; }

/* Image wrap */
.tgdc-eng-cards__img-wrap {
    display:block; overflow:hidden; width:100%;
    flex-shrink:0; text-decoration:none; line-height:0;
}
.tgdc-eng-cards__img {
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .4s;
}
.tgdc-eng-cards__card:hover .tgdc-eng-cards__img { transform:scale(1.04); }

/* Card body */
.tgdc-eng-cards__card-body { padding:24px 24px 20px; display:flex; flex-direction:column; flex:1; background:#fff; position:relative; z-index:1; }
.tgdc-eng-cards__card-top {
    display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;
}
:where(.tgdc-eng-cards__badge) {
    font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
    color:#317EFE; background:rgba(49,126,254,0.08); padding:3px 10px; border-radius:50px;
}
.tgdc-eng-cards__ext { color:rgba(13,27,75,0.2); font-size:13px; text-decoration:none; transition:color .2s; }
.tgdc-eng-cards__ext:hover { color:#317EFE; }
:where(.tgdc-eng-cards__card-title) { font-size:17px; font-weight:700; color:#0D1B4B; margin:0 0 8px; line-height:1.3; }
:where(.tgdc-eng-cards__card-desc) { font-size:13px; line-height:1.65; color:#6B7280; margin:0; flex:1; }
.tgdc-eng-cards__card-footer {
    display:flex; justify-content:space-between; align-items:center;
    margin-top:16px; padding-top:12px; border-top:1px solid rgba(13,27,75,0.06);
}
:where(.tgdc-eng-cards__format) { font-size:12px; color:#9CA3AF; }
.tgdc-eng-cards__cta { font-size:12px; font-weight:700; color:#317EFE; text-decoration:none; display:inline-flex; align-items:center; gap:4px; transition:gap .2s; }
.tgdc-eng-cards__cta:hover { gap:8px; }
@media(max-width:767px) { .tgdc-eng-cards { padding:60px 20px; } }

/* ══════════════════════════════════════════
   11. ALL SERVICES
   ══════════════════════════════════════════ */
.tgdc-all-svc { background:#F7F5F1; padding:72px 0; width:100%; }
.tgdc-all-svc__inner { max-width:1200px; margin:0 auto; padding:0 40px; }
:where(.tgdc-all-svc__heading) {
    font-size:clamp(1.8rem,3vw,2.4rem); font-weight:800; color:#0D1B4B;
    margin:0 0 40px; letter-spacing:-0.02em; text-align:center;
}
.tgdc-all-svc__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.tgdc-all-svc__card {
    background:#fff; border-radius:14px; padding:28px 28px 24px;
    border:1px solid rgba(13,27,75,0.06);
}
.tgdc-all-svc__card-top {
    display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:14px;
}
.tgdc-all-svc__icon {
    width:44px; height:44px; border-radius:10px; background:#317EFE;
    display:flex; align-items:center; justify-content:center; font-size:20px; color:#fff; flex-shrink:0;
}
.tgdc-all-svc__icon svg { width:20px; height:20px; fill:#fff; }
:where(.tgdc-all-svc__num) { font-size:20px; font-weight:900; color:rgba(13,27,75,0.1); }
:where(.tgdc-all-svc__card-title) { font-size:17px; font-weight:700; color:#0D1B4B; margin:0 0 8px; }
:where(.tgdc-all-svc__card-desc) { font-size:13px; line-height:1.65; color:#6B7280; margin:0 0 16px; }
:where(.tgdc-all-svc__items-label) {
    font-size:10px; font-weight:700; letter-spacing:0.12em;
    text-transform:uppercase; color:#317EFE; margin-bottom:8px; display:block;
}
.tgdc-all-svc__items-list {
    list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:5px;
}
.tgdc-all-svc__item {
    font-size:13px; color:#374151; display:flex; align-items:center; gap:8px;
}
.tgdc-all-svc__item::before { content:'›'; color:#317EFE; font-weight:700; flex-shrink:0; }
@media(max-width:767px) { .tgdc-all-svc__grid { grid-template-columns:1fr; } .tgdc-all-svc__inner { padding:0 20px; } }

/* ══════════════════════════════════════════
   12. GRADIENT CTA
   ══════════════════════════════════════════ */
.tgdc-gradient-cta { background:#F7F5F1; padding:0 40px 80px; width:100%; }
.tgdc-gradient-cta__inner { max-width:1100px; margin:0 auto; }
.tgdc-gradient-cta__card {
    background:linear-gradient(135deg,var(--tgdc-grad-start,#1a4fcc),var(--tgdc-grad-end,#317EFE));
    border-radius:20px; padding:60px 64px;
    display:flex; flex-direction:column; align-items:center; text-align:center; gap:20px;
}
:where(.tgdc-gradient-cta__heading) {
    font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:800; line-height:1.15;
    letter-spacing:-0.02em; margin:0;
}
:where(.tgdc-gradient-cta__heading-reg) { color:#ffffff; }
:where(.tgdc-gradient-cta__heading-italic) {
    font-family:'Playfair Display',Georgia,serif; font-style:italic; font-weight:600;
    color:rgba(255,255,255,0.85);
}
:where(.tgdc-gradient-cta__desc) { font-size:15px; line-height:1.7; color:rgba(255,255,255,0.75); margin:0; max-width:520px; }
.tgdc-gradient-cta__actions { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-top:4px; }
.tgdc-gradient-cta__btn1 {
    display:inline-flex; align-items:center; gap:8px;
    background:#fff; color:#0D1B4B; border:2px solid #fff;
    padding:13px 28px; border-radius:50px; font-size:13px; font-weight:700;
    text-decoration:none; transition:all .3s;
}
.tgdc-gradient-cta__btn1 svg { width:14px; height:14px; fill:currentColor; }
.tgdc-gradient-cta__btn1:hover { background:transparent; color:#fff; }
.tgdc-gradient-cta__btn2 {
    display:inline-flex; align-items:center;
    background:transparent; color:#fff; border:2px solid rgba(255,255,255,0.5);
    padding:13px 28px; border-radius:50px; font-size:13px; font-weight:600;
    text-decoration:none; transition:all .3s;
}
.tgdc-gradient-cta__btn2:hover { border-color:#fff; }
@media(max-width:767px) { .tgdc-gradient-cta { padding:0 20px 60px; } .tgdc-gradient-cta__card { padding:40px 28px; } }

/* ══════════════════════════════════════════
   13. FEATURED POST
   ══════════════════════════════════════════ */
.tgdc-featured-post { background:#F7F5F1; padding:40px 40px; width:100%; }
.tgdc-featured-post__inner { max-width:1100px; margin:0 auto; }
.tgdc-featured-post__card {
    background:#fff; border-radius:16px; overflow:hidden;
    display:grid; grid-template-columns:1fr 400px;
    box-shadow:0 2px 24px rgba(13,27,75,0.07);
    min-height:300px;
}
.tgdc-featured-post__content {
    padding:40px; display:flex; flex-direction:column; gap:16px; justify-content:center;
}
.tgdc-featured-post__badges { display:flex; gap:8px; flex-wrap:wrap; }
.tgdc-featured-post__featured-badge {
    font-size:10px; font-weight:700; letter-spacing:0.1em;
    text-transform:uppercase; background:#0D1B4B; color:#fff;
    padding:3px 10px; border-radius:50px;
}
.tgdc-featured-post__cat {
    font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
    color:#317EFE; background:rgba(49,126,254,0.08); padding:3px 10px; border-radius:50px;
}
:where(.tgdc-featured-post__title) {
    font-size:clamp(1.4rem,2.5vw,2rem); font-weight:800; color:#0D1B4B; line-height:1.2; margin:0;
}
.tgdc-featured-post__title a { color:inherit; text-decoration:none; }
.tgdc-featured-post__title a:hover { color:#317EFE; }
:where(.tgdc-featured-post__excerpt) { font-size:14px; line-height:1.7; color:#6B7280; margin:0; }
.tgdc-featured-post__meta {
    font-size:13px; color:#9CA3AF; display:flex; align-items:center; gap:8px;
}
.tgdc-featured-post__dot { opacity:0.5; }
.tgdc-featured-post__btn {
    display:inline-flex; align-items:center; gap:8px;
    background:#0D1B4B; color:#fff; padding:12px 24px; border-radius:50px;
    font-size:13px; font-weight:700; text-decoration:none; width:fit-content;
    transition:background-color .2s;
}
.tgdc-featured-post__btn svg { width:14px; height:14px; fill:currentColor; }
.tgdc-featured-post__btn:hover { background:#317EFE; }
.tgdc-featured-post__img-col {
    position:relative; overflow:hidden; min-height:280px; background:#1a3a7c;
}
.tgdc-featured-post__img {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
}
.tgdc-featured-post__img-placeholder {
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
}
.tgdc-featured-post__img-placeholder span {
    font-size:64px; font-weight:900; color:rgba(255,255,255,0.12);
    letter-spacing:-2px;
}
@media(max-width:1024px) {
    .tgdc-featured-post__card { grid-template-columns:1fr; }
    .tgdc-featured-post__img-col { min-height:220px; }
}
@media(max-width:767px) { .tgdc-featured-post { padding:32px 20px; } }

/* ══════════════════════════════════════════
   14. POST GRID
   ══════════════════════════════════════════ */
.tgdc-post-grid { background:#F7F5F1; padding:40px 40px 80px; width:100%; }
.tgdc-post-grid__inner { max-width:1100px; margin:0 auto; }
.tgdc-post-grid__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tgdc-post-grid__card {
    background:#fff; border-radius:14px; overflow:hidden;
    border:1px solid rgba(13,27,75,0.06); display:flex; flex-direction:column;
    transition:transform .3s, box-shadow .3s;
}
.tgdc-post-grid__card:hover { transform:translateY(-4px); box-shadow:0 8px 28px rgba(13,27,75,0.1); }
.tgdc-post-grid__thumb-link { display:block; text-decoration:none; }
.tgdc-post-grid__thumb { width:100%; height:180px; object-fit:cover; display:block; }
.tgdc-post-grid__thumb-placeholder {
    height:180px; background:#d8e4f5;
    display:flex; align-items:center; justify-content:center;
}
.tgdc-post-grid__thumb-placeholder span {
    font-family:'Playfair Display',Georgia,serif; font-style:italic;
    font-size:20px; color:rgba(13,27,75,0.25); font-weight:600;
}
.tgdc-post-grid__card-body { padding:20px 20px 24px; display:flex; flex-direction:column; flex:1; gap:8px; }
:where(.tgdc-post-grid__cat) {
    font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
    color:#317EFE; text-decoration:none; width:fit-content;
}
:where(.tgdc-post-grid__title) { font-size:16px; font-weight:700; color:#0D1B4B; line-height:1.35; margin:0; }
.tgdc-post-grid__title a { color:inherit; text-decoration:none; }
.tgdc-post-grid__title a:hover { color:#317EFE; }
:where(.tgdc-post-grid__excerpt) { font-size:13px; line-height:1.65; color:#6B7280; margin:0; flex:1; }
.tgdc-post-grid__meta {
    display:flex; align-items:center; gap:12px;
    font-size:12px; color:#9CA3AF; margin-top:auto;
}
.tgdc-post-grid__meta i { margin-right:3px; }
/* Pagination */
.tgdc-post-grid__pagination { display:flex; gap:6px; margin-top:40px; flex-wrap:wrap; }
.tgdc-post-grid__page-btn {
    min-width:36px; height:36px; padding:0 10px; border-radius:8px;
    border:1px solid rgba(13,27,75,0.12); background:#fff; color:#0D1B4B;
    font-size:14px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center;
    transition:all .2s;
}
.tgdc-post-grid__page-btn:hover { border-color:#317EFE; color:#317EFE; }
.tgdc-post-grid__page-btn--active { background:#317EFE; border-color:#317EFE; color:#fff; font-weight:700; }
@media(max-width:1024px) { .tgdc-post-grid__grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:767px) { .tgdc-post-grid__grid { grid-template-columns:1fr; } .tgdc-post-grid { padding:32px 20px 60px; } }

/* ══════════════════════════════════════════
   15. CONTACT PAGE
   ══════════════════════════════════════════ */
.tgdc-contact-page { background:#F7F5F1; padding:60px 40px 80px; width:100%; }
.tgdc-contact-page__inner {
    max-width:1100px; margin:0 auto;
    display:grid; grid-template-columns:1fr 320px; gap:32px; align-items:start;
}
/* Form card */
.tgdc-contact-page__form-card {
    background:#fff; border-radius:16px; padding:40px;
    box-shadow:0 2px 20px rgba(13,27,75,0.06);
}
:where(.tgdc-contact-page__form-heading) {
    font-size:clamp(1.3rem,2.5vw,1.8rem); font-weight:800; color:#0D1B4B; margin:0 0 8px;
}
:where(.tgdc-contact-page__form-subtitle) {
    font-size:14px; color:#6B7280; margin:0 0 28px; line-height:1.6;
}
.tgdc-contact-page__form-placeholder { text-align:center; padding:40px; color:#9CA3AF; }
/* Form plugin overrides */
.tgdc-contact-page__form-card .wpcf7-form,
.tgdc-contact-page__form-card form { display:flex; flex-direction:column; gap:14px; }
.tgdc-contact-page__form-card input:not([type=submit]):not([type=checkbox]),
.tgdc-contact-page__form-card select,
.tgdc-contact-page__form-card textarea {
    width:100%; padding:12px 14px; border:1px solid rgba(13,27,75,0.12);
    border-radius:8px; font-size:14px; color:#374151; font-family:inherit;
    background:#fff; outline:none; transition:border-color .2s; box-sizing:border-box;
}
.tgdc-contact-page__form-card input:focus,
.tgdc-contact-page__form-card select:focus,
.tgdc-contact-page__form-card textarea:focus { border-color:#317EFE; }
.tgdc-contact-page__form-card textarea { min-height:120px; resize:vertical; }
.tgdc-contact-page__form-card input[type=submit],
.tgdc-contact-page__form-card button[type=submit] {
    width:100%; padding:14px; background:#317EFE; color:#fff;
    border:none; border-radius:50px; font-size:14px; font-weight:700;
    cursor:pointer; font-family:inherit; transition:background-color .2s;
    letter-spacing:0.04em;
}
.tgdc-contact-page__form-card input[type=submit]:hover,
.tgdc-contact-page__form-card button[type=submit]:hover { background:#0D1B4B; }
.tgdc-contact-page__form-card label {
    font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
    color:rgba(13,27,75,0.45); display:block; margin-bottom:4px;
}
/* Sidebar */
.tgdc-contact-page__sidebar { display:flex; flex-direction:column; gap:16px; }
/* CTA card */
.tgdc-contact-page__cta-card {
    background:#317EFE; border-radius:16px; padding:28px 24px;
    display:flex; flex-direction:column; gap:10px;
}
:where(.tgdc-contact-page__cta-heading) { font-size:18px; font-weight:700; color:#fff; }
:where(.tgdc-contact-page__cta-desc) { font-size:13px; color:rgba(255,255,255,0.8); margin:0; line-height:1.6; }
.tgdc-contact-page__cta-btn {
    display:inline-flex; align-items:center; gap:8px;
    background:#fff; color:#0D1B4B; padding:11px 20px; border-radius:50px;
    font-size:13px; font-weight:700; text-decoration:none; width:fit-content;
    margin-top:4px; transition:all .2s;
}
.tgdc-contact-page__cta-btn svg { width:13px; height:13px; fill:currentColor; }
.tgdc-contact-page__cta-btn:hover { background:#0D1B4B; color:#fff; }
/* Info card */
.tgdc-contact-page__info-card {
    background:#fff; border-radius:16px; padding:24px;
    border:1px solid rgba(13,27,75,0.07);
}
:where(.tgdc-contact-page__info-heading) { font-size:16px; font-weight:700; color:#0D1B4B; margin-bottom:4px; display:block; }
:where(.tgdc-contact-page__info-subtitle) { font-size:12px; color:#9CA3AF; margin-bottom:16px; display:block; }
.tgdc-contact-page__info-list { display:flex; flex-direction:column; gap:12px; }
.tgdc-contact-page__info-item { display:flex; align-items:center; gap:10px; }
.tgdc-contact-page__info-icon { color:#317EFE; font-size:14px; flex-shrink:0; }
.tgdc-contact-page__info-icon svg { width:14px; height:14px; fill:#317EFE; }
:where(.tgdc-contact-page__info-text) { font-size:13px; color:#374151; text-decoration:none; transition:color .2s; }
a.tgdc-contact-page__info-text:hover { color:#317EFE; }
/* Quote card */
.tgdc-contact-page__quote-card {
    background:#fff; border-radius:16px; padding:24px;
    border:1px solid rgba(13,27,75,0.07);
}
:where(.tgdc-contact-page__quote-heading) { font-size:16px; font-weight:700; color:#0D1B4B; margin-bottom:10px; line-height:1.3; }
:where(.tgdc-contact-page__quote-italic) {
    font-family:'Playfair Display',Georgia,serif; font-style:italic; font-weight:600;
    color:#317EFE; display:block;
}
:where(.tgdc-contact-page__quote-desc) { font-size:13px; color:#6B7280; margin:0; line-height:1.65; }

@media(max-width:1024px) {
    .tgdc-contact-page__inner { grid-template-columns:1fr; }
}
@media(max-width:767px) { .tgdc-contact-page { padding:40px 20px 60px; } .tgdc-contact-page__form-card { padding:28px 20px; } }


/* ══════════════════════════════════════════
   16. FOOTER — .tgdc-footer
   ══════════════════════════════════════════ */
.elementor-widget-tgdc_footer,
.elementor-widget-tgdc_footer > .elementor-widget-container { width:100%; max-width:100%; }

.tgdc-footer {
    background-color: #0D1129;
    padding: 60px 0 0;
    width: 100%;
}
.tgdc-footer__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 48px;
}

/* ── Logo Row ── */
.tgdc-footer__logo-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 32px;
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    flex-wrap: wrap;
    gap: 20px;
}
.tgdc-footer__logo-link { display: inline-block; line-height: 0; text-decoration: none; }
.tgdc-footer__logo { display: block; max-height: 56px; width: auto; }
.tgdc-footer__logo-text {
    font-size: 18px; font-weight: 700; color: #fff;
}
.tgdc-footer__social-row {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
:where(.tgdc-footer__follow-label) {
    font-size: 12px; font-weight: 500; color: rgba(255,255,255,0.45);
    text-transform: uppercase; letter-spacing: 0.1em;
}
.tgdc-footer__social-icons { display: flex; align-items: center; gap: 8px; }
.tgdc-footer__social-btn {
    width: 36px; height: 36px; border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.2);
    color: rgba(255,255,255,0.55);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 15px; text-decoration: none;
    transition: color .2s, border-color .2s, background-color .2s;
}
.tgdc-footer__social-btn svg { width: 15px; height: 15px; fill: currentColor; }
.tgdc-footer__social-btn:hover {
    color: #fff; border-color: #fff;
    background-color: rgba(255,255,255,0.06);
}

/* ── Columns Grid ── */
/* Desktop layout controlled by data-cols attribute */
.tgdc-footer__columns {
    display: grid;
    grid-template-columns: 1fr; /* mobile first fallback */
    gap: 40px 48px;
    margin-bottom: 48px;
}
.tgdc-footer__columns[data-cols="1"] { grid-template-columns: 1fr; }
.tgdc-footer__columns[data-cols="2"] { grid-template-columns: repeat(2, 1fr); }
.tgdc-footer__columns[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
.tgdc-footer__columns[data-cols="4"] { grid-template-columns: repeat(4, 1fr); }
.tgdc-footer__col { display: flex; flex-direction: column; gap: 14px; }
:where(.tgdc-footer__col-heading) {
    font-size: 11px; font-weight: 700; letter-spacing: 0.14em;
    text-transform: uppercase; color: #fff;
    display: block; margin-bottom: 2px;
}
:where(.tgdc-footer__about-desc) {
    font-size: 13px; line-height: 1.75; color: rgba(255,255,255,0.55); margin: 0;
}
:where(.tgdc-footer__credentials) {
    font-size: 12px; line-height: 1.6; color: rgba(255,255,255,0.35); margin: 0;
}

/* Link lists */
.tgdc-footer__link-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.tgdc-footer__link {
    font-size: 13px; color: rgba(255,255,255,0.55); text-decoration: none;
    display: inline-flex; align-items: center; gap: 6px;
    transition: color .2s;
}
.tgdc-footer__link::before { content: '>'; font-size: 11px; opacity: 0.5; }
.tgdc-footer__link:hover { color: #fff; }

/* Newsletter */
:where(.tgdc-footer__newsletter-desc) {
    font-size: 13px; line-height: 1.65; color: rgba(255,255,255,0.55); margin: 0;
}
.tgdc-footer__email-wrap {
    display: flex; align-items: center;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px; overflow: hidden; margin-top: 4px;
}
.tgdc-footer__email-input {
    flex: 1; background: transparent; border: none; outline: none;
    padding: 11px 14px; font-size: 13px;
    color: rgba(255,255,255,0.7); font-family: inherit;
}
.tgdc-footer__email-input::placeholder { color: rgba(255,255,255,0.3); }
.tgdc-footer__email-submit {
    width: 38px; height: 38px; flex-shrink: 0;
    background: #317EFE; border: none; cursor: pointer;
    color: #fff; font-size: 14px; margin: 2px;
    border-radius: 8px; display: flex; align-items: center; justify-content: center;
    transition: background-color .2s;
}
.tgdc-footer__email-submit:hover { background: #0D1B4B; }
/* shortcode form overrides for dark bg */
.tgdc-footer__newsletter-form input[type="email"] {
    width: 100%; background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px; padding: 11px 14px;
    font-size: 13px; color: rgba(255,255,255,0.7);
    font-family: inherit; outline: none; box-sizing: border-box; margin-bottom: 8px;
}
.tgdc-footer__newsletter-form input[type="submit"],
.tgdc-footer__newsletter-form button[type="submit"] {
    width: 100%; background: #317EFE; color: #fff;
    border: none; border-radius: 8px; padding: 11px;
    font-size: 13px; font-weight: 600; cursor: pointer;
    font-family: inherit; transition: background-color .2s;
}
.tgdc-footer__newsletter-form input[type="submit"]:hover,
.tgdc-footer__newsletter-form button[type="submit"]:hover { background: #0D1B4B; }

/* ── Bottom Bar ── */
.tgdc-footer__bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 20px 0;
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 12px;
}
:where(.tgdc-footer__copyright) {
    font-size: 12px; color: rgba(255,255,255,0.3);
}
.tgdc-footer__bottom-right { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.tgdc-footer__site-design,
.tgdc-footer__legal-link {
    font-size: 12px; color: rgba(255,255,255,0.3);
    text-decoration: none; transition: color .2s; white-space: nowrap;
}
.tgdc-footer__site-design:hover,
.tgdc-footer__legal-link:hover { color: #fff; }

/* ── Responsive ── */
@media (max-width: 1024px) {
    /* Tablet: max 2 cols regardless of data-cols setting */
    .tgdc-footer__columns[data-cols="3"],
    .tgdc-footer__columns[data-cols="4"] {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px 40px;
    }
}
@media (max-width: 767px) {
    /* Mobile: always single column */
    .tgdc-footer__inner { padding: 0 20px; }
    .tgdc-footer__columns,
    .tgdc-footer__columns[data-cols="1"],
    .tgdc-footer__columns[data-cols="2"],
    .tgdc-footer__columns[data-cols="3"],
    .tgdc-footer__columns[data-cols="4"] {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .tgdc-footer__logo-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .tgdc-footer__social-row { flex-wrap: wrap; gap: 12px; }
    .tgdc-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 18px 0;
    }
    .tgdc-footer__bottom-right {
        flex-wrap: wrap;
        gap: 12px;
    }
    /* Reduce footer padding on mobile */
    .tgdc-footer { padding-top: 40px; }
    .tgdc-footer__columns { margin-bottom: 32px; }
    /* Make column headings slightly smaller on mobile */
    :where(.tgdc-footer__col-heading) { font-size: 10px; }
}