/* TradeForm SiteKit — mobile-first lead-gen landing styles */
*,*::before,*::after{box-sizing:border-box}
.tfsk-body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--tfsk-body,#1f2937);line-height:1.6;background:var(--tfsk-section-bg,#fff)}
.tfsk-body a{color:var(--tfsk-link,var(--tfsk-primary))}
.tfsk-container{width:100%;max-width:1140px;margin:0 auto;padding:0 20px}
.tfsk-section{padding:var(--tfsk-section-y,80px) 0;background:var(--tfsk-section-bg,#fff)}

/* Header */
.tfsk-header{position:sticky;top:0;z-index:50;background:var(--tfsk-header-bg,#fff);color:var(--tfsk-header-text,var(--tfsk-secondary));border-bottom:1px solid rgba(0,0,0,.08)}
.tfsk-header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:12px;flex-wrap:nowrap}
.tfsk-logo{flex:0 1 auto;min-width:0;margin-right:auto}
.tfsk-logo img{max-height:48px;width:auto;max-width:100%;display:block}
.tfsk-logo-text{font-weight:800;color:var(--tfsk-header-text,var(--tfsk-secondary));font-size:18px}
.tfsk-header-cta{display:flex;align-items:center;gap:12px;flex:0 0 auto}

/* Header phone — always readable, all viewports */
.tfsk-header-phone{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--tfsk-header-text,var(--tfsk-secondary)) !important;text-decoration:none;font-size:15px;line-height:1;white-space:nowrap}
.tfsk-header-phone:hover{opacity:.85}
.tfsk-header-phone-icon{font-size:16px;line-height:1}
.tfsk-header-phone-number{color:inherit}

/* Header button uses dedicated header-button vars for guaranteed contrast */
.tfsk-btn-header{background:var(--tfsk-header-button,var(--tfsk-primary));color:var(--tfsk-header-button-text,#fff);border-color:var(--tfsk-header-button,var(--tfsk-primary));padding:10px 16px;font-size:14px;display:inline-block;border:2px solid transparent;border-radius:var(--tfsk-radius);font-weight:700;text-decoration:none;line-height:1;transition:transform .15s ease, opacity .15s ease}
.tfsk-btn-header:hover{transform:translateY(-1px);opacity:.95}

@media(max-width:640px){
  .tfsk-header-inner{padding:10px 0;gap:8px}
  .tfsk-logo img{max-height:36px}
  .tfsk-logo-text{font-size:15px}
  .tfsk-header-phone{font-size:14px}
  .tfsk-header-phone-number{display:inline}
  .tfsk-btn-header{padding:9px 12px;font-size:13px}
}
@media(max-width:420px){
  .tfsk-header-phone-number{display:none}
  .tfsk-header-phone{padding:6px;font-size:18px}
  .tfsk-header-phone-icon{font-size:20px}
}

/* Buttons */
.tfsk-btn{display:inline-block;padding:14px 22px;border-radius:var(--tfsk-radius);font-weight:700;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background .15s ease, transform .15s ease, opacity .15s ease;font-size:16px;line-height:1}
.tfsk-btn:hover{transform:translateY(-1px)}
.tfsk-btn-primary{background:var(--tfsk-button,var(--tfsk-primary));color:var(--tfsk-button-text,#fff);border-color:var(--tfsk-button,var(--tfsk-primary))}
.tfsk-btn-primary:hover{background:var(--tfsk-button-hover,var(--tfsk-button,var(--tfsk-primary)));border-color:var(--tfsk-button-hover,var(--tfsk-button,var(--tfsk-primary)))}
.tfsk-btn-accent{background:var(--tfsk-accent);color:var(--tfsk-secondary);border-color:var(--tfsk-accent)}
.tfsk-btn-accent:hover{opacity:.92}
body.tfsk-btn-outline .tfsk-btn-primary{background:transparent;color:var(--tfsk-button,var(--tfsk-primary))}
body.tfsk-btn-outline .tfsk-btn-primary:hover{background:var(--tfsk-button,var(--tfsk-primary));color:var(--tfsk-button-text,#fff)}
body.tfsk-btn-pill .tfsk-btn,body.tfsk-btn-pill .tfsk-btn-header{border-radius:999px}

/* Hero */
.tfsk-hero{position:relative;background:linear-gradient(135deg,var(--tfsk-secondary),color-mix(in srgb,var(--tfsk-secondary) 70%,var(--tfsk-primary)));color:#fff;padding:80px 0;overflow:hidden}
.tfsk-hero.tfsk-hero-has-bg{background-color:transparent}
.tfsk-hero-overlay{position:absolute;inset:0;background:var(--tfsk-hero-overlay,transparent);pointer-events:none;z-index:1}
.tfsk-hero-inner{position:relative;z-index:2}
.tfsk-hero-grid{display:grid;gap:32px;grid-template-columns:1fr}
.tfsk-hero h1{font-size:clamp(28px,5vw,46px);margin:0 0 14px;line-height:1.15;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.tfsk-hero p{font-size:clamp(16px,2.2vw,18px);opacity:.95;margin:0 0 22px;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.tfsk-hero-form{background:#fff;color:#1f2937;border-radius:var(--tfsk-radius);padding:22px;box-shadow:0 12px 40px rgba(0,0,0,.28)}
.tfsk-hero-form h2{margin:0 0 12px;font-size:20px;color:var(--tfsk-secondary)}
@media(min-width:900px){.tfsk-hero{padding:120px 0}.tfsk-hero-grid{grid-template-columns:1.1fr .9fr;align-items:center}}

/* Trust */
.tfsk-trust{background:var(--tfsk-muted,#f7f8fa);padding:18px 0}
.tfsk-trust-list{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;list-style:none;padding:0;margin:0}
.tfsk-trust-list li{font-weight:600;color:var(--tfsk-secondary);font-size:14px;display:flex;align-items:center;gap:6px}
.tfsk-trust-list li::before{content:"✓";color:var(--tfsk-primary);font-weight:900}

/* Generic section */
.tfsk-section h2{font-size:clamp(24px,3.5vw,34px);color:var(--tfsk-heading,var(--tfsk-secondary));margin:0 0 28px;text-align:center}

/* Section backgrounds — Services & Testimonials get the alt muted background by default */
.tfsk-services{background:var(--tfsk-muted,#f7f8fa)}
.tfsk-testimonials{background:var(--tfsk-testimonial-bg,var(--tfsk-muted,#f7f8fa))}

/* Grids */
.tfsk-grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:640px){.tfsk-grid-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.tfsk-grid-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.tfsk-grid-4{grid-template-columns:repeat(4,1fr)}}

/* Cards */
.tfsk-card{position:relative;background:var(--tfsk-card-bg,#fff);padding:28px 24px;border-radius:calc(var(--tfsk-radius) + 4px);transition:transform .25s ease, box-shadow .25s ease;overflow:hidden;border:1px solid var(--tfsk-card-border,rgba(15,23,42,.06))}
.tfsk-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--tfsk-primary),color-mix(in srgb,var(--tfsk-primary) 40%,var(--tfsk-accent)));opacity:0;transition:opacity .25s ease}
.tfsk-card:hover::before{opacity:1}
body.tfsk-card-shadow .tfsk-card{box-shadow:0 10px 30px -12px rgba(15,23,42,.15),0 2px 6px rgba(15,23,42,.05)}
body.tfsk-card-shadow .tfsk-card:hover{box-shadow:0 22px 50px -18px rgba(15,23,42,.25),0 4px 10px rgba(15,23,42,.08)}
body.tfsk-card-bordered .tfsk-card{border:1px solid var(--tfsk-card-border,#e5e7eb)}
body.tfsk-card-flat .tfsk-card{background:var(--tfsk-muted,#f7f8fa);border-color:transparent}
.tfsk-card:hover{transform:translateY(-4px)}
.tfsk-card h3{margin:0 0 10px;color:var(--tfsk-heading,var(--tfsk-secondary));font-size:19px;font-weight:700;letter-spacing:-.01em}
.tfsk-card p{margin:0;color:#4b5563;font-size:15px;line-height:1.65}
.tfsk-card-icon{width:64px;height:64px;border-radius:calc(var(--tfsk-radius) + 2px);background:linear-gradient(135deg,color-mix(in srgb,var(--tfsk-primary) 18%,#fff),color-mix(in srgb,var(--tfsk-primary) 6%,#fff));display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--tfsk-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tfsk-primary) 18%,transparent),0 6px 16px -8px color-mix(in srgb,var(--tfsk-primary) 50%,transparent);transition:transform .25s ease}
.tfsk-card:hover .tfsk-card-icon{transform:scale(1.06) rotate(-3deg)}
.tfsk-card-icon img{max-width:32px;max-height:32px}
.tfsk-card-icon svg{width:30px;height:30px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* Gallery */
.tfsk-gallery{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.tfsk-gallery{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.tfsk-gallery{grid-template-columns:repeat(4,1fr)}}
.tfsk-gallery a{display:block;overflow:hidden;border-radius:var(--tfsk-radius)}
.tfsk-gallery img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .3s ease}
.tfsk-gallery a:hover img{transform:scale(1.05)}

/* Testimonials */
.tfsk-testimonial .tfsk-stars{color:var(--tfsk-accent);letter-spacing:2px;margin-bottom:8px;font-size:18px}
.tfsk-testimonial .tfsk-author{margin-top:10px;font-weight:700;color:var(--tfsk-secondary)}

/* Areas */
.tfsk-areas-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;padding:0;margin:0}
.tfsk-areas-list li{background:#f1f5f9;color:var(--tfsk-secondary);padding:8px 14px;border-radius:999px;font-weight:600;font-size:14px}

/* Final CTA */
.tfsk-final{background:var(--tfsk-primary);color:var(--tfsk-button-text,#fff);text-align:center}
.tfsk-final h2{color:var(--tfsk-button-text,#fff)}
.tfsk-final p{font-size:18px;opacity:.95;margin:0 0 22px}
.tfsk-final .tfsk-btn-accent{color:var(--tfsk-secondary)}

/* Footer */
.tfsk-footer{background:var(--tfsk-footer-bg,var(--tfsk-secondary));color:var(--tfsk-footer-text,#cbd5e1);padding:36px 0;text-align:center;font-size:14px}
.tfsk-footer a{color:#fff;text-decoration:none}
.tfsk-footer-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.tfsk-footer-grid{grid-template-columns:repeat(3,1fr);text-align:left}}
.tfsk-footer h4{color:#fff;margin:0 0 8px;font-size:16px}
.tfsk-footer-bottom{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;opacity:.8}

/* Spacing variants */
body.tfsk-spacing-compact .tfsk-section{padding:48px 0}
body.tfsk-spacing-spacious .tfsk-section{padding:120px 0}

.tfsk-form-placeholder{padding:16px;background:#fff7d6;border:1px dashed #d4a017;border-radius:var(--tfsk-radius);color:#7c5e00}

/* Maintenance page */
.tfsk-maint{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,var(--tfsk-secondary),color-mix(in srgb,var(--tfsk-secondary) 70%,var(--tfsk-primary)));color:#fff;position:relative;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.tfsk-maint.tfsk-maint-has-bg{background-color:transparent;background-size:cover;background-position:center}
.tfsk-maint::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:1}
.tfsk-maint-inner{position:relative;z-index:2;max-width:640px;text-align:center}
.tfsk-maint h1{font-size:clamp(32px,5vw,52px);margin:0 0 18px;line-height:1.15}
.tfsk-maint p{font-size:clamp(16px,2vw,19px);opacity:.95;margin:0 0 28px}
.tfsk-maint-contact{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.tfsk-maint-contact a{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:12px 20px;border-radius:var(--tfsk-radius,8px);color:#fff;text-decoration:none;font-weight:700}
.tfsk-maint-contact a:hover{background:rgba(255,255,255,.22)}
.tfsk-maint-logo{margin-bottom:24px}
.tfsk-maint-logo img{max-height:64px;width:auto}
