/* ========================= GLOBAL RESET & VARS ========================= */
    :root{
      --esp-brand:#FCB017;
      --esp-ink:#111111;
      --esp-text:#222222;
      --esp-line:rgba(0,0,0,.08);
      --esp-dark:#000000;
      --esp-contact-radius:18px;
    }

    /* FIX: Force full height to prevent white space below footer */
    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
    }

    body{
      font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      background:#ffffff;
      color:#111827;
    }
      
    /* Wrapper to handle sticky footer logic */
    .esp-page-wrap {
      display: flex;
      flex-direction: column;
      min-height: 100vh; 
      padding-top: 0; 
      box-sizing: border-box;
    }
      
    img{max-width:100%; height:auto; display:block}

.esp-container {
        flex: 1; 
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-top: 40px; 
    }

    .esp-blog-layout {
      display: flex;
      flex-wrap: wrap; 
      gap: 30px;
      max-width: 1200px; 
      width: 100%;
      margin: 0 auto 60px;
      padding: 0 24px;
      align-items: flex-start; 
      box-sizing: border-box;
    }

    .wrap-blog {
      flex: 1 1 60%; 
      min-width: 300px;
      margin: 0;
      padding: 30px 24px;
      background: #fff;
      border: 1px solid rgba(0,0,0,.12);
      border-radius: 16px;
      box-shadow: 0 10px 30px rgba(0,0,0,0.03);
      box-sizing: border-box;
    }
      
    .wrap-blog h1 { 
        color: #111827; 
        line-height: 1.2; 
        font-weight: 700; 
        font-size: clamp(28px, 4.5vw, 40px); 
        margin-bottom: 20px; 
        margin-top: 0; 
        text-align: left;
    }
      
    .wrap-blog h2 { 
        color: #111827; 
        line-height: 1.2; 
        font-weight: 700; 
        font-size: clamp(24px, 4vw, 32px); 
        margin-top: 40px; 
        margin-bottom: 16px; 
        text-align: left;
    }
      
    .wrap-blog h3 { 
        color: #111827; 
        line-height: 1.2; 
        font-weight: 700; 
        font-size: 20px; 
        margin-top: 24px; 
        margin-bottom: 10px; 
        text-align: left;
    }

    .wrap-blog p { margin: 0 0 12px; font-size: 15px; color: #374151; line-height: 1.7; }
    .wrap-blog ul { margin: 0 0 12px 18px; padding: 0; color: #374151; }
    .wrap-blog li { margin: 8px 0; font-size: 15px; line-height: 1.6; }
    .meta { font-size: 13px; color: #666666; margin-bottom: 24px; text-align: left; display: block; }
    .meta strong { font-weight: 600; }
      
    .note { 
        background: #fff7e6; 
        padding: 20px; 
        border-radius: 12px; 
        margin: 20px 0; 
        font-size: 15px; 
        color: #444; 
        line-height: 1.6; 
        text-align: left; 
        border: none; 
    }
      
    .check { 
        background: #ffffff; 
        padding: 20px; 
        border-radius: 12px; 
        margin-bottom: 20px; 
        border: 1px solid rgba(0,0,0,0.05); 
    }
      
    .check b { display: block; font-size: 18px; color: #000; margin-bottom: 8px; text-align: left; }
    .check p { text-align: left; }
    .check ul { text-align: left; display: block; }

    .hero-img { width: 100%; height: auto; max-height: 480px; object-fit: cover; border-radius: 12px; margin-bottom: 24px; display: block; }
      
    .internal-link-box {
        margin-top: 15px;
        font-weight: 700;
        font-size: 15px;
        text-align: left;
    }
    .internal-link-box a {
        color: var(--esp-brand);
        text-decoration: none;
        border-bottom: 1px dashed var(--esp-brand);
    }
    .internal-link-box a:hover {
        border-bottom-style: solid;
    }

    .sub-heading-lead {
        font-weight: 600;
        color: #475569;
        margin-bottom: 20px;
        font-size: 14.5px;
        font-style: italic;
        text-align: left;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    /* Sidebar Styles */
    .esp-sidebar {
      flex: 1 1 300px; 
      max-width: 380px;
      display: flex;
      flex-direction: column;
      gap: 24px;
      position: sticky;
      top: 40px; 
    }

    .esp-widget {
      background: #fff;
      border: 1px solid rgba(0,0,0,.08);
      border-radius: 12px;
      padding: 24px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    }
      
    .esp-widget h3 {
      margin-top: 0;
      font-size: 18px;
      padding-bottom: 10px;
      margin-bottom: 16px;
      display: block;
      color: #111;
      text-align: left;
      border-bottom: none; 
      font-weight: 700;
    }
      
    .esp-widget ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }
      
    .esp-widget li {
      margin-bottom: 12px;
      border-bottom: 1px solid #f0f0f0;
      padding-bottom: 12px;
    }
    .esp-widget li:last-child {
      border: none;
      margin: 0;
      padding: 0;
    }
      
    .esp-widget a {
      text-decoration: none;
      color: #555;
      font-size: 16px;
      transition: color 0.2s;
      display: flex;
      align-items: center;
    }

    /* Related Posts */
    .related-posts-custom .widget-title-custom {
        display: block; 
        border-bottom: none !important;
        position: relative;
        padding-bottom: 15px;
        margin-bottom: 15px;
        font-weight: 700;
        font-size: 20px;
        color: #111;
        text-align: left;
    }
    .related-posts-custom .widget-title-custom::after {
        display: none;
    }
    .related-posts-custom ul li a {
        justify-content: space-between;
        font-weight: 600;
        color: #4b5563;
        padding: 5px 0;
    }
    .related-posts-custom ul li a span {
        color: #9ca3af; 
        font-size: 18px;
        transition: transform 0.3s ease, color 0.3s ease;
    }
    .related-posts-custom ul li a:hover {
        color: var(--esp-brand);
    }
    .related-posts-custom ul li a:hover span {
        color: var(--esp-brand);
        transform: translateX(5px);
    }

    /* Hover effects for widget links */
    .esp-widget a:hover {
      color: var(--esp-brand);
    }
    .esp-widget a:hover span {
        transform: translateX(4px);
    }
    .esp-widget a span {
        font-size: 15px;
        transition: transform 0.2s;
    }

    /* CTA Widget */
    .widget-cta {
        background: #111;
        color: #fff;
        text-align: center;
        border: none;
    }
    .widget-cta h3 {
        color: #fff;
        border: none;
        text-align: center;
    }
    .widget-cta p {
        color: #ccc;
        font-size: 14px;
        margin-bottom: 20px;
        line-height: 1.5;
    }
    .esp-widget :is(a.esp-header__btn, button.esp-header__btn, .esp-header__btn a){
      background: var(--esp-brand) !important;
      color: #111 !important;
      border: 2px solid var(--esp-brand) !important;
      border-radius: 999px !important;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;
      padding: 18px 30px !important;
      font-weight: 700;
      text-decoration: none;
    }
    .esp-widget :is(a.esp-header__btn, button.esp-header__btn, .esp-header__btn a):hover{
      background: #fff !important;
      color: var(--esp-brand) !important;
      border-color: var(--esp-brand) !important;
      box-shadow: 0 6px 16px rgba(252,176,23,.35) !important;
    }

    /* Contact Widget */
    .contact-row {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 16px;
        color: #555;
        font-size: 14px;
        text-decoration: none;
        justify-content: flex-start;
    }
    .contact-row svg {
        width: 18px;
        height: 18px;
        color: var(--esp-brand);
        flex-shrink: 0;
    }
    .contact-row:hover {
        color: var(--esp-brand);
    }

    /* Media Queries for Blog Section */
    @media (max-width: 900px) { 
      .esp-blog-layout {
         flex-direction: column; 
         padding: 0 16px;
      }
      .wrap-blog { 
         width: 100%; 
         margin-bottom: 20px;
      } 
      .esp-sidebar {
         width: 100%;
         max-width: 100%;
         position: static; 
      }
      .hero-img { max-height: 260px; } 
    }
    @media (max-width: 768px){
      .widget-cta .esp-header__btn{
        padding-top:18px;
        padding-bottom:18px;
        font-size:16px;
      }
    }
    @media (max-width: 640px) {
        .widget-cta .esp-header__btn {
            padding: 16px 26px;
            font-size: 16px;
        }
    }

.trendy-section {
        background-color: #ffffff;
        padding: 60px 20px;
        border-top: 1px solid rgba(0,0,0,0.05);
        margin-top: auto; 
    }

    .trendy-container {
        max-width: 1100px;
        margin: 0 auto;
    }

    .trendy-header {
        text-align: center; 
        margin-bottom: 40px;
    }

    .trendy-header h2 {
        font-size: 28px;
        font-weight: 700;
        color: #111;
        margin: 0;
        text-transform: uppercase;
        letter-spacing: -0.5px;
    }

    .trendy-header .divider {
        display: none;
    }

    .trendy-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 30px;
    }

    .trendy-card {
        background: #fff;
        border-radius: 16px;
        overflow: hidden;
        text-decoration: none;
        box-shadow: 0 10px 20px rgba(0,0,0,0.05);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        display: flex;
        flex-direction: column;
        border: 1px solid rgba(0,0,0,0.03);
    }

    .trendy-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 40px rgba(252, 176, 23, 0.15);
        border-color: rgba(252, 176, 23, 0.3);
    }

    .trendy-img-box {
        height: 200px;
        overflow: hidden;
        position: relative;
    }

    .trendy-img-box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s ease;
    }

    .trendy-card:hover .trendy-img-box img {
        transform: scale(1.1);
    }

    .trendy-content {
        padding: 25px;
        flex: 1;
        display: flex;
        flex-direction: column;
        text-align: left;
    }

    .trendy-cat {
        color: var(--esp-brand);
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 8px;
    }

    .trendy-title {
        font-size: 18px;
        font-weight: 700;
        color: #111;
        margin: 0 0 12px;
        line-height: 1.4;
    }

    .trendy-excerpt {
        font-size: 14px;
        color: #666;
        margin: 0 0 20px;
        line-height: 1.6;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .trendy-read-more {
        margin-top: auto;
        font-size: 14px;
        font-weight: 700;
        color: #111;
        display: flex;
        align-items: center;
        gap: 5px;
    }

    .trendy-read-more span {
        color: var(--esp-brand);
        transition: transform 0.2s ease;
    }

    .trendy-card:hover .trendy-read-more span {
        transform: translateX(5px);
    }

/* Inline styles for gatehouse-security.html */
.st-862bdb8d { background-color: #f8fafc !important; border-color: var(--esp-brand) !important; }
:root { --yellow: #fcb017;
    --black: #000;
    --ink: #111;
    --muted: #6b7280;
    --white: #fff;
    --radius: 18px;
    --shadow: 0 14px 36px rgba(0, 0, 0, .18);
    --mx: 1200px; }
html { font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
    scroll-behavior: smooth; /* Added for smooth anchor links */ }
*, *:before, *:after { box-sizing: border-box; }
a { color: inherit;
    text-decoration: none; }
.container { max-width: var(--mx);
    margin-inline: auto;
    padding-inline: 16px; }
* { animation: none !important;
      transition: none !important;
      scroll-behavior: auto !important; }
.ads-header { position: sticky;
    top: 0;
    z-index: 10;
    background: #000;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .35); }
.ads-header .wrap { display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 16px; }
.ads-logo { height: 48px;
    width: auto; }
.ads-hero { background: #0a0a0a;
    color: #fff;
    padding-block: clamp(36px, 6vw, 72px); }
.ads-hero .grid { display: grid;
    gap: 20px;
    align-items: center; }
.ads-hero .grid { grid-template-columns: 1.05fr .95fr;
      gap: 28px; }
.ads-h1 { font: 800 clamp(28px, 5vw, 40px) / 1.06 system-ui, Arial, sans-serif;
    margin: 0 0 12px; }
.ads-sub { margin: 0 0 12px;
    color: #e5e7eb;
    font: 500 clamp(15px, 2.2vw, 18px) / 1.45 system-ui, Arial, sans-serif; }
.ads-micro { margin: 6px 0 0;
    font: 700 13px / 1.35 system-ui, Arial, sans-serif;
    color: #ffe9c2; }
.ads-ctas { display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px; }
.btn { display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 999px;
    padding: 13px 18px;
    font: 700 15px / 1 system-ui, Arial, sans-serif;
    border: 2px solid transparent;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .12);
    transition: all 0.2s ease; /* Added transition */ }
.btn-primary { background: var(--yellow);
    color: #000; }
.btn-primary:hover { background: #fff;
    color: var(--yellow);
    border-color: var(--yellow);
    transform: translateY(-2px); /* Added hover effect */ }
.btn-ghost { background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, .22); }
.btn-ghost:hover { background: #fff;
    color: #000;
    border-color: #fff;
    transform: translateY(-2px); /* Added hover effect */ }
.ads-hero-media { aspect-ratio: 16 / 10;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--shadow);
    background: #0e0e0e; }
.ads-hero-media img { width: 100%;
    height: 100%;
    object-fit: cover; }
.actions button { display:none }
.noscript-submit { display:inline-block;background:#fcb017;color:#000;border-radius:9999px;padding:12px 18px;font:700 14px/1 system-ui;border:2px solid transparent }
.ads-trust { background:var(--yellow);padding-block:clamp(24px,4vw,44px) }
.ads-trust h2 { margin:0 0 10px;text-align:center;color:#000;font:800 clamp(18px,3vw,24px)/1.2 system-ui,Arial,sans-serif }
.ads-trust p { margin:0 0 18px;text-align:center;color:#1f2937;font:600 14px/1.5 system-ui,Arial,sans-serif }
.ads-trust-grid { display:grid;gap:14px; grid-template-columns:repeat(2,1fr) }
.ads-trust-grid { grid-template-columns:repeat(4,1fr) }
.ads-trust-card { background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px;text-align:center;box-shadow:0 10px 22px rgba(0,0,0,.08); transition: transform 0.2s, box-shadow 0.2s; }
.ads-trust-card:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0,0,0,.12); }
.ads-trust-logo { height:96px;width:auto;object-fit:contain;margin-inline:auto }
.ads-trust-note { margin:6px 0 0;color:#475569;font:700 12px/1.3 system-ui,Arial,sans-serif }
.ads-services { --accent:var(--yellow,#FCB017);background:#fff;padding-block:clamp(36px,6vw,72px) }
.ads-services .container { max-width:1200px;margin-inline:auto;padding-inline:16px }
.ads-services h2 { margin:0 0 12px;text-align:center;color:#111;font:800 clamp(20px,3.2vw,28px)/1.25 system-ui,Arial,sans-serif;letter-spacing:-.2px }
.ads-sgrid { display:grid;gap:16px;margin-top:12px;grid-template-columns:1fr 1fr }
.ads-sgrid { grid-template-columns:repeat(3,1fr) }
.s-card { background:#fff;border:1.5px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 20px rgba(0,0,0,.06);padding:18px;text-align:center;transition:transform .18s,border-color .18s,box-shadow .18s }
.s-card:where(:hover, :focus-within) { transform:translateY(-4px);border-color:rgba(252,176,23,.7);box-shadow:0 12px 28px rgba(0,0,0,.10) }
.s-icon { inline-size:40px;block-size:40px;margin-inline:auto;display:block;color:var(--accent) }
.s-title { margin:10px 0 6px;font:800 16px/1.25 system-ui,Arial,sans-serif;color:#111 }
.s-text { margin:0;color:#6b7280;font:400 14px/1.55 system-ui,Arial,sans-serif }
.s-card { padding:20px }
.esp-proof { --accent:#FCB017;background:#fafafa;padding-block:clamp(48px,6vw,88px) }
.esp-proof .container { max-width:1200px;margin-inline:auto;padding-inline:16px }
.esp-proof-head { margin:0 0 8px;font:700 clamp(22px,3.2vw,30px)/1.2 system-ui,Arial,sans-serif;color:#111;text-align:center;letter-spacing:-.25px }
.esp-proof-sub { margin:0 0 28px;text-align:center;font:400 15px/1.55 system-ui,Arial,sans-serif;color:#6b7280 }
.esp-kpis { display:grid;gap:14px;grid-template-columns:1fr }
.esp-kpis { grid-template-columns:repeat(3,1fr) }
.esp-kpi { background:#fff;border:1px solid #e5e7eb;border-radius:9999px;box-shadow:0 10px 20px rgba(0,0,0,.06);padding:12px 18px;text-align:center }
.esp-kpi strong { display:block;color:#111;font:700 clamp(15px,2.4vw,16.5px)/1.25 system-ui,Arial,sans-serif }
.esp-kpi span { display:block;margin-top:4px;color:#6b7280;font:400 13px/1.35 system-ui,Arial,sans-serif }
.esp-cases { display:grid;gap:18px;grid-template-columns:1fr;margin-top:16px }
.esp-cases { grid-template-columns:repeat(3,1fr) }
.esp-case { background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 8px 20px rgba(0,0,0,.08);overflow:hidden;display:flex;flex-direction:column;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s,border-color .2s }
.esp-case:hover { transform:translateY(-6px);border-color:rgba(252,176,23,.6);box-shadow:0 14px 28px rgba(0,0,0,.12) }
.esp-case-media { aspect-ratio:16/10;background:#f1f5f9 }
.esp-case-media img { width:100%;height:100%;object-fit:cover;display:block }
.esp-case-body { padding:12px 14px 16px }
.esp-case-title { margin:0 0 6px;color:#111;font:700 15px/1.3 system-ui,Arial,sans-serif }
.esp-case-copy { margin:0;color:#6b7280;font:400 13px/1.55 system-ui,Arial,sans-serif }
.esp-chip { display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#000;color:#fff;font:600 11.5px/1 system-ui,Arial,sans-serif;margin:0 8px 10px 0 }
.esp-chip--accent { background:var(--accent);color:#000;font-weight:700 }
.esp-case-body .esp-chip:first-of-type { background:var(--accent)!important;color:#000!important }
.esp-proof-cta { margin-top:16px;text-align:center }
.esp-btn { display:inline-flex;align-items:center;gap:10px;text-decoration:none }
.esp-btn--primary { background:var(--accent);color:#000;border:2px solid transparent;padding:14px 22px;border-radius:9999px;font:700 15.5px/1 system-ui,Arial,sans-serif;box-shadow:0 10px 20px rgba(0,0,0,.06);transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease }
.esp-btn--primary:hover { background:#fff;color:var(--accent);border-color:var(--accent);transform:translateY(-2px) }
.esp-btn--primary:active { transform:translateY(0) }
.esp-testimonials { --accent:var(--yellow,#f59e0b);background:#fff;padding-block:clamp(48px,6vw,88px) }
.esp-testimonials .container { max-width:1280px;margin-inline:auto;padding-inline:16px }
.esp-test-head { margin:0 0 8px;font:800 clamp(20px,3.4vw,28px)/1.25 system-ui,Arial,sans-serif;color:#111;text-align:center }
.esp-test-sub { margin:0 0 24px;font:600 14px/1.6 system-ui,Arial,sans-serif;color:#6b7280;text-align:center }
.esp-test-grid { display:grid;gap:16px }
.esp-test-grid { grid-template-columns:repeat(2,1fr) }
.esp-test-grid { grid-template-columns:repeat(3,1fr) }
.esp-test-card { background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.10);padding:16px;display:flex;flex-direction:column;gap:12px }
.esp-stars { display:inline-flex;gap:3px }
.esp-star { width:18px;height:18px;fill:#f59e0b }
.esp-quote { margin:0;font:500 15px/1.6 system-ui,Arial,sans-serif;color:#111 }
.esp-meta { margin:0;font:600 12px/1.4 system-ui,Arial,sans-serif;color:#475569 }
.esp-test-cta { margin-top:24px;text-align:center }
.esp-btn { display:inline-flex;align-items:center;gap:10px;text-decoration:none;border:none;cursor:pointer }
.esp-btn--primary { background:var(--accent);color:#000;border-radius:999px;padding:14px 22px;font-weight:700;border:2px solid transparent;box-shadow:0 8px 20px rgba(0,0,0,.08) }
.esp-btn--primary:hover, .esp-btn--primary:focus-visible { background:#fff;color:var(--accent);border:2px solid var(--accent) }
.esp-cities { --accent:#FCB017;background:#fff;padding-block:clamp(40px,6vw,72px);content-visibility:auto;contain-intrinsic-size:520px }
.esp-cities .container { max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,3vw,20px) }
.esp-cities-head { margin:0 0 8px;font:800 clamp(20px,3.5vw,28px)/1.25 system-ui,Arial,sans-serif;color:#111;text-align:center }
.esp-cities-sub { margin:0 0 18px;font:500 15px/1.5 system-ui,Arial,sans-serif;color:#6b7280;text-align:center }
.esp-cities-list { display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;list-style:none;margin:0;padding:0 }
.esp-city { display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:9999px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 2px rgba(0,0,0,.04);font:600 15px/1 system-ui,Arial,sans-serif;color:#111;white-space:nowrap; }
.esp-city::before { content:"";inline-size:14px;block-size:14px;background:var(--accent);-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 10a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"/></svg>') no-repeat center/contain;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 10a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"/></svg>') no-repeat center/contain;transform:translateY(1px) }
.esp-cities-note { margin-top:16px;text-align:center;font:500 14px/1.5 system-ui,Arial,sans-serif;color:#6b7280 }
.esp-faq { background:#fff;padding-block:clamp(40px,6vw,72px) }
.esp-faq .container { max-width:1200px;margin-inline:auto;padding-inline:16px }
.esp-faq-head { margin:0 0 8px;font:800 clamp(20px,3.4vw,28px)/1.25 system-ui,Arial,sans-serif;color:#111;text-align:center }
.esp-faq-sub { margin:0 0 20px;font:600 14px/1.6 system-ui,Arial,sans-serif;color:#6b7280;text-align:center }
.esp-faq-list { display:grid;gap:12px;max-width:900px;margin-inline:auto }
.esp-faq-item { background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 18px rgba(0,0,0,.06);overflow:hidden }
.esp-faq-q { cursor:pointer;list-style:none;padding:14px 16px;margin:0;font:700 15px/1.4 system-ui,Arial,sans-serif;color:#111;display:flex;align-items:center;justify-content:space-between }
.esp-faq-q::-webkit-details-marker { display:none }
.esp-faq-q:after { content:"+";font-weight:900;transition:transform .2s ease }
.esp-faq-item[open] .esp-faq-q:after { content:"–";transform:rotate(0) }
.esp-faq-a { padding:0 16px 14px;color:#374151;font:400 14px/1.6 system-ui,Arial,sans-serif }
.esp-faq-a a { color:#111;text-decoration:underline }
.esp-faq-cta { margin-top:18px;text-align:center }
.esp-btn--primary { background:var(--yellow,#fcb017);color:#000;border-radius:999px;padding:14px 22px;font-weight:700;border:2px solid transparent;box-shadow:0 8px 20px rgba(0,0,0,.08) }
.esp-btn--primary:hover, .esp-btn--primary:focus-visible { background:#fff;color:var(--yellow,#fcb017);border:2px solid var(--yellow,#fcb017) }
.ads-form { background:#0a0a0a;color:#fff;padding-block:clamp(36px,6vw,72px) }
.ads-form h2 { margin:0 0 10px;text-align:center;color:#fff;font:800 clamp(20px,3vw,28px)/1.2 system-ui,Arial,sans-serif }
.card { background:#fff;color:#111;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 22px rgba(0,0,0,.08);padding:18px;margin-top:8px }
.grid { display:grid;gap:12px }
.grid { grid-template-columns:1fr 1fr }
.span-2 { grid-column:1/-1 }
.field { position:relative }
.input, .textarea { width:100%;border:1px solid #d1d5db;border-radius:12px;padding:13px 14px;font:400 16px/1.4 system-ui,Arial,sans-serif }
.textarea { min-height:110px;resize:vertical }
.label { position:absolute;left:12px;top:12px;background:#fff;padding:0 6px;border-radius:8px;color:#6b7280;font:700 12.5px/1 system-ui,Arial,sans-serif;transform-origin:left top;pointer-events:none;transition:.12s }
.input::placeholder, .textarea::placeholder { color:transparent }
.input:focus+.label, .input:not(:placeholder-shown)+.label, .textarea:focus+.label, .textarea:not(:placeholder-shown)+.label { top:-8px;transform:scale(.86);color:#111 }
.help { font:600 12px/1.35 system-ui,Arial,sans-serif;color:#6b7280;margin-top:6px }
.err { display:none;font:700 12px/1.35 system-ui,Arial,sans-serif;color:#b91c1c;margin-top:6px }
.actions { margin-top:8px }
.btn-send { background:var(--yellow);color:#000;border:2px solid transparent;border-radius:9999px;padding:14px 22px;font:700 15px/1 system-ui,Arial,sans-serif;box-shadow:0 10px 20px rgba(0,0,0,.06); cursor: pointer; transition: all 0.2s ease; }
.btn-send:hover { background:#fff;color:var(--yellow);border-color:var(--yellow); transform: translateY(-2px); }
.btn-send:disabled { background: #ccc;
    color: #888;
    cursor: not-allowed;
    transform: none;
    box-shadow: 0 4px 10px rgba(0,0,0,.04); }
.ads-footer { background:#0a0a0a;
    color:#9ca3af;
    padding-block:32px;
    font:500 14px/1.5 system-ui,Arial,sans-serif }
.ads-footer .wrap { max-width:1200px;
    margin-inline:auto;
    padding-inline:16px;
    display:grid;
    gap:24px }
.ads-nap { background:#fff;
    color:#111;
    border-radius:16px;
    padding:20px 22px;
    box-shadow:0 6px 18px rgba(0,0,0,.08);
    font:400 15px/1.55 system-ui,Arial,sans-serif; }
.ads-nap strong { font:800 16px/1.3 system-ui,Arial,sans-serif;
    display:block;
    margin-bottom:6px;
    color:#000 }
.ads-nap p { margin:8px 0 }
.ads-nap a { color:#111;
    text-decoration:none;
    font-weight:600 }
.ads-nap a:hover { color:var(--yellow) }
.ads-footer-bottom { display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    margin-top:10px;
    font-size:13px;
    color:#9ca3af }
.ads-footer-bottom a { color:#d1d5db;
    text-decoration:none }
.ads-footer-bottom a:hover { color:var(--yellow) }
.ads-call, .ads-wa { position:fixed;bottom:18px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.18);z-index:9999;transition:transform .2s,box-shadow .2s }
.ads-call { left:18px;background:var(--yellow) }
.ads-wa { right:18px;background:#25D366 }
.ads-call:hover, .ads-wa:hover { transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25) }
.ads-call i { font-size:20px }
.ads-wa i { font-size:28px }
.ads-call, .ads-wa { width:52px;height:52px;bottom:14px }
.ads-call { left:14px }
.ads-wa { right:14px }

/* === GLOBAL FOOTER ACCESSIBLE CONTRAST === */
.esp-global-footer,.esp-global-footer p,.esp-global-footer span,.esp-global-footer strong{color:#f3f4f6!important}
.esp-global-footer a{color:#fff!important;text-decoration-color:#fcb017!important}
.esp-global-footer a:hover,.esp-global-footer a:focus{color:#fcb017!important}


/* === GLOBAL HONEYPOT VISIBILITY FIX === */
input[name="company_site"] {
  position: fixed !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}