/*
Theme Name: AC Moate Industries
Theme URI: https://www.acmoate.com
Author: AC Moate Industries
Author URI: https://www.acmoate.com
Description: Custom commercial paving contractor theme built for conversions. Dark industrial aesthetic, location-aware RFP funnel, auto-calculated experience counter, and service/state landing page matrix.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
License URI: https://www.acmoate.com
Text Domain: acmoate
Tags: business, custom-colors, custom-logo, full-width-template, one-column, two-columns
*/



/* Name field split */
.wpforms-field-name .wpforms-field-row { gap:.75rem!important; }

/* Hide WPForms branding */
.wpforms-form .wpforms-field-hp { display:none!important; }


   Reset WP default styles that conflict
   ============================================ */
.wp-site-blocks{padding:0!important;margin:0!important}
.wp-block-group{margin:0!important;padding:0!important}
body.wp-singular{margin:0;padding:0}
/* Kill any customizer logo interference */
.wp-custom-logo .site-logo img,
.custom-logo-link img{height:auto}
/* Reset WP block editor base styles */
body{font-size:16px!important;line-height:1.65!important;color:var(--white)!important;background:var(--ink)!important}
h1,h2,h3,h4,h5,h6{margin:0;padding:0;font-weight:inherit}
p{margin:0;padding:0}
/* Prevent WP admin bar from pushing layout */
html{margin-top:0!important}
#wpadminbar{position:fixed!important}



/* Fonts loaded via wp_head in functions.php */

:root {
  --ink:   #080808;
  --ink2:  #0f0f0f;
  --card:  #141414;
  --card2: #1a1a1a;
  --border:#2a2a2a;
  --y:     #F5C400;
  --y2:    #e6b800;
  --white: #F5F4EF;
  --dim:   #a0a0a0;
  --muted: #555;
  --wrap:  1200px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--white);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wp-site-blocks{padding:0!important}

/* TYPOGRAPHY */
.disp{font-family:'Bebas Neue',sans-serif!important;letter-spacing:.02em!important;line-height:1.0!important}
.eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--y);display:flex;align-items:center;gap:.6rem}
.eyebrow::before{content:'';display:block;width:22px;height:2px;background:var(--y);flex-shrink:0}
.text-y{color:var(--y)}

/* LAYOUT */
.acm-wrap{max-width:var(--wrap);margin:0 auto;padding:0 2rem}
.acm-sec{padding:6rem 0}
.acm-sec-sm{padding:3rem 0}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;opacity:.35;pointer-events:none}

/* BUTTONS */
.acm-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.4rem;border-radius:4px;font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:all .18s;border:1.5px solid transparent;white-space:nowrap;text-decoration:none}
.acm-btn-y{background:var(--y);color:var(--ink);border-color:var(--y)}
.acm-btn-y:hover{background:var(--y2);transform:translateY(-1px);color:var(--ink)}
.acm-btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.25)}
.acm-btn-ghost:hover{border-color:var(--y);color:var(--y)}
.acm-btn-dark{background:var(--ink);color:var(--y);border-color:var(--ink)}
.acm-btn-lg{padding:.85rem 1.8rem;font-size:.9rem}
.acm-btn-xl{padding:1rem 2.2rem;font-size:1rem}

/* NAV */
#acm-nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
#acm-nav.scrolled{background:rgba(8,8,8,.97);border-color:var(--border);backdrop-filter:blur(12px)}
.acm-nav-inner{display:flex;align-items:center;gap:2rem;height:70px}
.acm-logo img{height:40px;width:auto;display:block}
.acm-nav-links{display:flex;align-items:center;gap:.2rem;margin-left:auto}
.acm-nav-links a{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.5rem .75rem;border-radius:3px;color:var(--dim);transition:color .15s;text-decoration:none}
.acm-nav-links a:hover,.acm-nav-links a.active{color:var(--white)}
.acm-nav-cta{display:flex;align-items:center;gap:.75rem;margin-left:1rem;flex-shrink:0}
.acm-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.acm-hamburger span{display:block;width:22px;height:2px;background:var(--white);transition:.2s}
#acm-mob-nav{display:none;flex-direction:column;background:var(--ink2);border-top:1px solid var(--border);padding:1rem 2rem 1.5rem}
#acm-mob-nav a{padding:.75rem 0;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);color:var(--dim);text-decoration:none;display:block}
#acm-mob-nav a:last-child{border:none}
#acm-mob-nav .acm-mob-cta{margin-top:1rem;background:var(--y);color:var(--ink);text-align:center;border-radius:4px;padding:.85rem}
#acm-mob-nav.open{display:flex}

/* HERO */
.acm-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.acm-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.35)}
.acm-hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 40% 60%,rgba(245,196,0,.08) 0%,transparent 70%);pointer-events:none}
.acm-hero-content{position:relative;z-index:1;max-width:780px;padding-top:70px;text-align:center;margin:0 auto;width:100%;display:flex;flex-direction:column;align-items:center}
.acm-hero h1{font-family:'Bebas Neue',sans-serif!important;font-size:clamp(3.5rem,8vw,7rem)!important;line-height:.95!important;letter-spacing:.02em!important;margin:.75rem 0 1.5rem!important}
.acm-hero h1 .line-gold{color:var(--y)}
.acm-hero p{font-size:1.05rem;color:rgba(245,244,239,.7);max-width:50ch;line-height:1.75;margin-bottom:2rem}
.acm-hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.acm-hero-badges{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}
.acm-hero-badge{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;gap:.5rem}
.acm-hero-badge::before{content:'\2713';color:var(--y);font-size:.85rem}

/* TICKER */
.acm-ticker{background:var(--y);overflow:hidden;padding:.6rem 0}
.acm-ticker-inner{display:flex;gap:3rem;animation:acmticker 28s linear infinite;white-space:nowrap}
.acm-ticker-inner span{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);flex-shrink:0}
.acm-ticker-inner span.dot{color:rgba(8,8,8,.4)}
@keyframes acmticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* STATS */
.acm-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:10px;background:var(--card);overflow:hidden}
.acm-stat{padding:2rem 1.5rem;text-align:center;border-right:1px solid var(--border)}
.acm-stat:last-child{border-right:none}
.acm-stat-num{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,4vw,3.5rem);color:var(--y);line-height:1}
.acm-stat-label{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:.3rem}

/* SERVICE GRID */
.acm-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.acm-svc-card{background:var(--card);padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:background .2s;text-decoration:none}
.acm-svc-card:hover{background:var(--card2)}
.acm-svc-icon{font-size:1.75rem}
.acm-svc-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.04em;color:var(--white)}
.acm-svc-desc{font-size:.875rem;color:var(--dim);line-height:1.7;flex:1}
.acm-svc-link{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--y);margin-top:auto}
.acm-svc-link::after{content:' →'}

/* PHOTO FEATURE */
.acm-split{display:grid;grid-template-columns:1fr 1fr}
.acm-split-img{position:relative;overflow:hidden;min-height:480px}
.acm-split-img img{width:100%;height:100%;object-fit:cover}
.acm-split-content{background:var(--white);color:var(--ink);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center}

/* PHOTO STRIP */
.acm-strip{overflow:hidden;height:220px}
.acm-strip-inner{display:flex;height:100%}
.acm-strip-img{flex:1;overflow:hidden}
.acm-strip-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.acm-strip-img:hover img{transform:scale(1.05)}

/* TESTIMONIALS */
.acm-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.acm-testi-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .2s}
.acm-testi-card:hover{border-color:rgba(245,196,0,.3)}
.acm-testi-stars{color:var(--y);font-size:.9rem;letter-spacing:.1em}
.acm-testi-text{font-size:.9rem;color:var(--dim);line-height:1.75;flex:1;font-style:italic}
.acm-testi-author{display:flex;align-items:center;gap:.85rem;margin-top:.5rem}
.acm-testi-av{width:40px;height:40px;border-radius:50%;background:var(--y);color:var(--ink);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.acm-testi-name{font-size:.85rem;font-weight:600;color:var(--white)}
.acm-testi-co{font-size:.72rem;color:var(--dim)}

/* CTA STRIP */
.acm-cta-strip{background:var(--y);padding:4rem 0}
.acm-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.acm-cta-inner p{font-size:.9rem;color:rgba(8,8,8,.65);margin-top:.35rem}
.acm-cta-h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4vw,3rem);color:var(--ink);line-height:1}

/* PAGE HERO */
.acm-pg-hero{position:relative;padding:140px 0 80px;overflow:hidden;background:var(--ink2)}
.acm-pg-hero-content{position:relative;z-index:1;max-width:680px}
.acm-pg-hero h1{font-family:'Bebas Neue',sans-serif!important;font-size:clamp(2.8rem,6vw,5rem)!important;line-height:.95!important;letter-spacing:.02em!important;margin:.75rem 0 1rem!important}
.acm-pg-hero p{color:var(--dim);font-size:1rem;line-height:1.75;max-width:52ch}
.acm-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.acm-breadcrumb a{color:var(--dim);text-decoration:none}
.acm-breadcrumb a:hover{color:var(--y)}

/* RFP PAGE */
.acm-rfp-wrap{display:grid;grid-template-columns:1fr 420px;gap:4rem;align-items:flex-start}
.acm-rfp-left h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,5vw,4rem);line-height:.95;margin:.5rem 0 1.5rem}
.acm-rfp-left .acm-dear{background:var(--card);border-left:3px solid var(--y);border-radius:0 8px 8px 0;padding:2rem;margin-bottom:2rem;font-size:.95rem;color:var(--dim);line-height:1.8}
.acm-rfp-services{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .75rem;margin:1.5rem 0}
.acm-rfp-services li{font-size:.82rem;color:var(--dim);list-style:none;display:flex;align-items:center;gap:.5rem}
.acm-rfp-services li::before{content:'\2713';color:var(--y);font-weight:700;flex-shrink:0}
.acm-rfp-quotes{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}
.acm-rfp-quote{border-left:2px solid var(--border);padding-left:1.25rem}
.acm-rfp-quote p{font-size:.85rem;color:var(--dim);font-style:italic;line-height:1.75}
.acm-rfp-quote cite{font-size:.75rem;color:var(--muted);margin-top:.3rem;display:block;font-style:normal;font-weight:600}
.acm-rfp-sig{display:flex;align-items:center;gap:1rem;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.5rem;margin-top:2rem}
.acm-rfp-sig img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--y)}
.acm-rfp-sig-name{font-weight:600;font-size:.95rem;margin-bottom:.2rem}
.acm-rfp-sig-title{font-size:.78rem;color:var(--dim)}
.acm-rfp-sig-contact{font-size:.78rem;color:var(--y);margin-top:.3rem}
.acm-rfp-sticky{position:sticky;top:90px}
.acm-rfp-form-box{background:var(--card);border:2px solid rgba(245,196,0,.5);border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px rgba(245,196,0,.15),0 8px 40px rgba(245,196,0,.12),0 0 60px rgba(245,196,0,.08)}
.acm-rfp-form-header{background:var(--y);padding:1.5rem 2rem}
.acm-rfp-form-header h3{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--ink);line-height:1}
.acm-rfp-form-header p{font-size:.8rem;color:rgba(8,8,8,.65);margin-top:.25rem}
.acm-rfp-urgency{background:var(--card2);border:1px solid rgba(245,196,0,.2);border-radius:8px;padding:1rem 1.25rem;margin:1.25rem 1.5rem 0;font-size:.78rem;color:var(--y);line-height:1.6;display:flex;gap:.5rem;align-items:flex-start}
.acm-rfp-urgency::before{content:'⚡';flex-shrink:0}

/* FOOTER */
.acm-footer{background:var(--ink2);border-top:1px solid var(--border);padding:4rem 0 0}
.acm-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.acm-footer-brand p{font-size:.8rem;color:var(--dim);line-height:1.75;max-width:28ch;margin-top:.75rem}
.acm-footer-col h6{font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.acm-footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.acm-footer-col ul li a{font-size:.82rem;color:var(--dim);transition:color .15s;text-decoration:none}
.acm-footer-col ul li a:hover{color:var(--y)}
.acm-footer-bottom{border-top:1px solid var(--border);padding:1.5rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.72rem;color:var(--muted)}

/* REVEAL */
.acm-reveal{opacity:0;transform:translateY(24px);transition:opacity .5s,transform .5s}
.acm-reveal.in{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:1024px){
  .acm-svc-grid{grid-template-columns:repeat(2,1fr)}
  .acm-stats{grid-template-columns:repeat(2,1fr)}
  .acm-stat:nth-child(2){border-right:none}
  .acm-stat:nth-child(3){border-right:1px solid var(--border);border-top:1px solid var(--border)}
  .acm-stat:nth-child(4){border-top:1px solid var(--border)}
  .acm-footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .acm-testi-grid{grid-template-columns:1fr 1fr}
  .acm-rfp-wrap{grid-template-columns:1fr;gap:2rem}
  .acm-rfp-sticky{position:static}
}
@media(max-width:768px){
  .acm-nav-links,.acm-nav-cta{display:none}
  .acm-hamburger{display:flex}
  .acm-svc-grid{grid-template-columns:1fr}
  .acm-split{grid-template-columns:1fr}
  .acm-split-content{padding:3rem 2rem}
  .acm-testi-grid{grid-template-columns:1fr}
  .acm-strip{height:160px}
  .acm-stats{grid-template-columns:1fr 1fr}
  .acm-footer-grid{grid-template-columns:1fr}
  .acm-wrap{padding:0 1.25rem}
  .acm-sec{padding:4rem 0}
  .acm-rfp-services{grid-template-columns:1fr}
}


/* ============================================
   GLOBAL MOBILE OVERFLOW PREVENTION
   Stops any element from breaking page width
   ============================================ */
html, body { overflow-x:hidden!important; max-width:100%!important; }
img, video, iframe { max-width:100%!important; }
/* Buttons wrap on mobile instead of overflowing */
.acm-btn { white-space:normal!important; word-break:break-word!important; text-align:center!important; }
/* All grid/flex containers collapse properly */
@media(max-width:600px){
  .acm-hero-ctas { flex-direction:column!important; }
  .acm-cta-inner { flex-direction:column!important; text-align:center!important; }
  .acm-stats { grid-template-columns:1fr 1fr!important; }
  .acm-rfp-services { grid-template-columns:1fr!important; }
  .acm-footer-grid { grid-template-columns:1fr!important; }
  [style*="grid-template-columns:1fr 1fr"] { grid-template-columns:1fr!important; }
  [style*="grid-template-columns:repeat(3"] { grid-template-columns:1fr!important; }
  [style*="grid-template-columns:repeat(4"] { grid-template-columns:1fr 1fr!important; }
}

/* ============================================
   WPFORMS — DARK THEME (simplified)
   ============================================ */

/* Base inputs */
.wpforms-form input:not([type=radio]):not([type=checkbox]):not([type=submit]),
.wpforms-form textarea,
.wpforms-form select {
  background:#0f0f0f!important;
  border:1.5px solid #2a2a2a!important;
  border-radius:6px!important;
  color:#F5F4EF!important;
  font-family:'DM Sans',sans-serif!important;
  font-size:.88rem!important;
  padding:.6rem .85rem!important;
  width:100%!important;
  box-shadow:none!important;
  outline:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  transition:border-color .15s!important;
}
.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus {
  border-color:#F5C400!important;
  box-shadow:0 0 0 3px rgba(245,196,0,.1)!important;
}
.wpforms-form input::placeholder,
.wpforms-form textarea::placeholder { color:#555!important; }

/* Labels */
.wpforms-form .wpforms-field-label {
  font-size:.72rem!important;
  font-weight:700!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  color:#a0a0a0!important;
  margin-bottom:.4rem!important;
}
.wpforms-field-label-inline {
  font-size:.78rem!important;
  color:#a0a0a0!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-weight:400!important;
}

/* Select arrow */
.wpforms-form select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right .85rem center!important;
  padding-right:2.2rem!important;
  cursor:pointer!important;
}
.wpforms-form select option { background:#141414!important; color:#F5F4EF!important; }

/* Address — city/state/zip on one row */
.wpforms-field-address .wpforms-field-row { display:flex!important; flex-wrap:wrap!important; gap:.5rem!important; }
.wpforms-field-address .wpforms-field-address-address1 { width:100%!important; }
.wpforms-field-address .wpforms-field-address-address2 { width:100%!important; margin-top:-.25rem!important; }
.wpforms-field-address .wpforms-field-address-address2 label { display:none!important; }
.wpforms-field-address .wpforms-field-address-city { flex:2!important; min-width:0!important; }
.wpforms-field-address .wpforms-field-address-state { flex:1.5!important; min-width:0!important; }
.wpforms-field-address .wpforms-field-address-postal { flex:1!important; min-width:0!important; }
.wpforms-field-address .wpforms-field-address-country { display:none!important; }

/* Radio & checkbox */
.wpforms-form .wpforms-field-radio ul,
.wpforms-form .wpforms-field-checkbox ul { list-style:none!important; display:flex!important; gap:.75rem!important; flex-wrap:wrap!important; padding:0!important; }
.wpforms-form .wpforms-field-radio ul li,
.wpforms-form .wpforms-field-checkbox ul li { display:flex!important; align-items:center!important; gap:.4rem!important; }
.wpforms-form input[type=radio],
.wpforms-form input[type=checkbox] {
  width:15px!important; height:15px!important; min-width:15px!important;
  accent-color:#F5C400!important; cursor:pointer!important;
  margin:0!important; padding:0!important;
}

/* Field spacing */
.wpforms-form .wpforms-field { padding:0!important; margin-bottom:.85rem!important; }

/* Name row */
.wpforms-field-name .wpforms-field-row { display:flex!important; gap:.5rem!important; }
.wpforms-field-name .wpforms-field-row .wpforms-field-row-block { flex:1!important; }

/* Phone */
.wpforms-smart-phone-field { background:#0f0f0f!important; border:1.5px solid #2a2a2a!important; border-radius:6px!important; display:flex!important; overflow:hidden!important; }
.wpforms-smart-phone-field select { border:none!important; border-right:1.5px solid #2a2a2a!important; border-radius:0!important; width:auto!important; padding:.6rem .4rem!important; background:#141414!important; }
.wpforms-smart-phone-field input { border:none!important; border-radius:0!important; }

/* File upload */
.wpforms-field-file-upload .wpforms-field-file-upload-container,
.wpforms-image-choices-image { background:#141414!important; border:1.5px dashed #2a2a2a!important; border-radius:8px!important; padding:1rem!important; font-size:.8rem!important; color:#a0a0a0!important; }

/* Submit button */
.wpforms-submit-container { margin-top:1rem!important; }
.wpforms-form .wpforms-submit {
  background:#F5C400!important; color:#080808!important;
  border:none!important; border-radius:4px!important;
  font-family:'DM Sans',sans-serif!important;
  font-size:.88rem!important; font-weight:700!important;
  letter-spacing:.08em!important; text-transform:uppercase!important;
  padding:.85rem 1.5rem!important; width:100%!important;
  cursor:pointer!important; transition:background .15s,transform .15s!important;
}
.wpforms-form .wpforms-submit:hover { background:#e6b800!important; transform:translateY(-1px)!important; }

/* Errors */
.wpforms-form label.wpforms-error { color:#f87171!important; font-size:.72rem!important; text-transform:none!important; letter-spacing:0!important; font-weight:400!important; }
.wpforms-form input.wpforms-error, .wpforms-form select.wpforms-error, .wpforms-form textarea.wpforms-error { border-color:#f87171!important; }

/* Required star */
.wpforms-required-label { color:#F5C400!important; }

/* Description */
.wpforms-field-description { font-size:.72rem!important; color:#555!important; margin-top:.3rem!important; line-height:1.5!important; }

/* Confirmation */
.wpforms-confirmation-container-full { background:#141414!important; border:1px solid rgba(245,196,0,.3)!important; border-radius:10px!important; padding:2rem!important; color:#F5F4EF!important; text-align:center!important; }



/* ============================================
   GLOBAL MOBILE OVERFLOW PREVENTION
   Stops any element from breaking page width
   ============================================ */
html, body { overflow-x:hidden!important; max-width:100%!important; }
img, video, iframe { max-width:100%!important; }
/* Buttons wrap on mobile instead of overflowing */
.acm-btn { white-space:normal!important; word-break:break-word!important; text-align:center!important; }
/* All grid/flex containers collapse properly */
@media(max-width:600px){
  .acm-hero-ctas { flex-direction:column!important; }
  .acm-cta-inner { flex-direction:column!important; text-align:center!important; }
  .acm-stats { grid-template-columns:1fr 1fr!important; }
  .acm-rfp-services { grid-template-columns:1fr!important; }
  .acm-footer-grid { grid-template-columns:1fr!important; }
  [style*="grid-template-columns:1fr 1fr"] { grid-template-columns:1fr!important; }
  [style*="grid-template-columns:repeat(3"] { grid-template-columns:1fr!important; }
  [style*="grid-template-columns:repeat(4"] { grid-template-columns:1fr 1fr!important; }
}

/* ============================================
   WPFORMS — DARK THEME (baked in)
   ============================================ */
.wpforms-form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]),.wpforms-form textarea,.wpforms-form select{background:#0f0f0f!important;border:1.5px solid #2a2a2a!important;border-radius:6px!important;color:#F5F4EF!important;font-family:'DM Sans',sans-serif!important;font-size:.88rem!important;padding:.6rem .85rem!important;width:100%!important;box-shadow:none!important;outline:none!important;-webkit-appearance:none!important;appearance:none!important;transition:border-color .15s!important}
.wpforms-form input:focus,.wpforms-form textarea:focus,.wpforms-form select:focus{border-color:#F5C400!important;box-shadow:0 0 0 3px rgba(245,196,0,.1)!important}
.wpforms-form input::placeholder,.wpforms-form textarea::placeholder{color:#555!important}
.wpforms-form .wpforms-field-label{font-family:'DM Sans',sans-serif!important;font-size:.72rem!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#a0a0a0!important;margin-bottom:.35rem!important;display:block!important}
.wpforms-form .wpforms-field-sublabel{font-family:'DM Sans',sans-serif!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;font-size:.72rem!important;color:#666!important}
.wpforms-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .85rem center!important;padding-right:2.2rem!important;cursor:pointer!important}
.wpforms-form select option{background:#141414!important;color:#F5F4EF!important}
.wpforms-form .wpforms-field{padding:0!important;margin-bottom:.85rem!important}
.wpforms-form *{cursor:auto!important}
.wpforms-form select,.wpforms-form .wpforms-submit,.wpforms-form button,.wpforms-form label{cursor:pointer!important}
.wpforms-form input[type=text],.wpforms-form input[type=email],.wpforms-form input[type=tel],.wpforms-form textarea{cursor:text!important}
/* Name */
.wpforms-field-name .wpforms-field-row{display:flex!important;gap:.5rem!important;flex-wrap:nowrap!important}
.wpforms-field-name .wpforms-field-row-block{flex:1!important;min-width:0!important;width:auto!important}
/* Address */
.wpforms-field-address .wpforms-field-row{display:flex!important;flex-direction:column!important;gap:.4rem!important}
.wpforms-field-address .wpforms-field-row-block{width:100%!important;float:none!important}
.wpforms-field-address .wpforms-field-address-address2 label{display:none!important}
.wpforms-field-address .wpforms-field-address-address2{margin-top:-.2rem!important}
.wpforms-field-address .wpforms-field-address-country{display:none!important}
.wpforms-field-address .wpforms-field-address-state select{width:100%!important}
/* Phone */
.wpforms-field-phone .wpforms-smart-phone-field{display:flex!important;align-items:center!important;background:#0f0f0f!important;border:1.5px solid #2a2a2a!important;border-radius:6px!important;overflow:hidden!important;padding:0!important;gap:0!important}
.wpforms-field-phone .wpforms-smart-phone-field select{width:72px!important;min-width:72px!important;flex-shrink:0!important;background:#1a1a1a!important;border:none!important;border-right:1.5px solid #2a2a2a!important;border-radius:0!important;padding:.6rem .3rem!important;cursor:pointer!important;-webkit-appearance:none!important;appearance:none!important;background-image:none!important;color:#F5F4EF!important;font-size:.82rem!important}
.wpforms-field-phone .wpforms-smart-phone-field input{flex:1!important;border:none!important;border-radius:0!important;background:transparent!important;width:auto!important;min-width:0!important;padding:.6rem .85rem!important;padding-left:1rem!important}
/* Radio & checkbox */
.wpforms-form .wpforms-field-radio ul,.wpforms-form .wpforms-field-checkbox ul{list-style:none!important;display:flex!important;gap:.75rem!important;flex-wrap:wrap!important;padding:0!important;margin:0!important}
.wpforms-form .wpforms-field-radio ul li,.wpforms-form .wpforms-field-checkbox ul li{display:flex!important;align-items:center!important;gap:.4rem!important}
.wpforms-form input[type=radio],.wpforms-form input[type=checkbox]{width:15px!important;height:15px!important;min-width:15px!important;accent-color:#F5C400!important;cursor:pointer!important;margin:0!important;padding:0!important}
/* File upload */
.wpforms-field-file-upload .wpforms-field-file-upload-container{background:#141414!important;border:1.5px dashed #2a2a2a!important;border-radius:8px!important;padding:1rem!important;font-size:.8rem!important;color:#a0a0a0!important;text-align:center!important;cursor:pointer!important}
.wpforms-field-file-upload .wpforms-field-file-upload-container:hover{border-color:#F5C400!important}
/* Submit */
.wpforms-submit-container{margin-top:1rem!important}
.wpforms-form .wpforms-submit{background:#F5C400!important;color:#080808!important;border:none!important;border-radius:4px!important;font-family:'DM Sans',sans-serif!important;font-size:.88rem!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;padding:.85rem 1.5rem!important;width:100%!important;cursor:pointer!important;transition:background .15s,transform .15s!important}
.wpforms-form .wpforms-submit:hover{background:#e6b800!important;transform:translateY(-1px)!important}
/* Errors */
.wpforms-form label.wpforms-error{color:#f87171!important;font-size:.72rem!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}
.wpforms-form input.wpforms-error,.wpforms-form select.wpforms-error,.wpforms-form textarea.wpforms-error{border-color:#f87171!important}
.wpforms-required-label{color:#F5C400!important}
.wpforms-field-description{font-size:.72rem!important;color:#555!important;margin-top:.3rem!important;line-height:1.5!important}
.wpforms-confirmation-container-full{background:#141414!important;border:1px solid rgba(245,196,0,.3)!important;border-radius:10px!important;padding:2rem!important;color:#F5F4EF!important;text-align:center!important}

/* Choices.js (WPForms modern dropdown) — dark theme */
.choices{width:100%!important}
.choices__inner{background:#0f0f0f!important;border:1.5px solid #2a2a2a!important;border-radius:6px!important;padding:.55rem .85rem!important;min-height:auto!important;font-size:.88rem!important;color:#F5F4EF!important;cursor:pointer!important}
.choices__list--single .choices__item{color:#F5F4EF!important}
/* Closed state placeholder — white like the classic dropdown */
.choices__placeholder{color:#a0a0a0!important;opacity:1!important}
.choices[data-type*=select-one]::after{border-color:#888 transparent transparent!important;right:.85rem!important;margin-top:-3px!important}
.choices[data-type*=select-one].is-open::after{border-color:transparent transparent #888!important}
.choices[data-type*=select-one].is-open .choices__inner{border-color:#F5C400!important}
/* Dropdown list */
.choices__list--dropdown,.choices__list[aria-expanded]{background:#141414!important;border:1.5px solid #2a2a2a!important;border-radius:6px!important;z-index:9999!important;margin-top:2px!important}
.choices__list--dropdown .choices__item{color:#F5F4EF!important;font-size:.85rem!important;padding:.55rem .85rem!important;background:#141414!important}
.choices__list--dropdown .choices__item--selectable.is-highlighted{background:#252525!important;color:#F5C400!important;box-shadow:inset 3px 0 0 #F5C400!important}
/* Search input */
.choices__input,.choices__input.choices__input--cloned{background:#0a0a0a!important;color:#F5F4EF!important;font-size:.85rem!important;border-bottom:1px solid #2a2a2a!important;padding:.5rem .85rem!important;width:100%!important;caret-color:#F5C400!important;outline:none!important;border-top:none!important;border-left:none!important;border-right:none!important;margin:0!important;-webkit-appearance:none!important}
.choices__input::placeholder,.choices__input--cloned::placeholder{color:#888!important;font-style:italic!important}
/* Multi-select chips */
.choices__list--multiple .choices__item{background:#F5C400!important;border-color:#e6b800!important;color:#080808!important;border-radius:3px!important;font-size:.82rem!important;padding:.25rem .4rem .25rem .7rem!important;font-weight:700!important;display:inline-flex!important;align-items:center!important;gap:.3rem!important}
/* X button — clearly visible dark X on gold chip */
.choices__list--multiple .choices__item .choices__button{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1 1l8 8M9 1l-8 8' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:8px!important;border:none!important;border-left:1px solid rgba(0,0,0,.3)!important;width:18px!important;height:18px!important;padding:0!important;margin:0!important;opacity:1!important;cursor:pointer!important;flex-shrink:0!important}
.choices__list--multiple .choices__item .choices__button:hover{opacity:.6!important}
.choices__list--multiple .choices__item .choices__button:hover{opacity:1!important}

/* Phone field — clear flag overlap */

.wpforms-form .wpforms-field-phone .iti{width:100%!important;display:block!important}
.wpforms-field-phone .iti__flag-container{background:#1a1a1a!important;border-right:1.5px solid #2a2a2a!important;border-radius:6px 0 0 6px!important}
.wpforms-field-phone .iti__selected-flag{padding:0 .6rem!important;background:transparent!important}
.wpforms-field-phone .iti__arrow{border-top-color:#888!important}
.wpforms-field-phone .iti__country-list{background:#141414!important;border:1.5px solid #2a2a2a!important;color:#F5F4EF!important}
.wpforms-field-phone .iti__country-list .iti__country:hover{background:#F5C400!important;color:#080808!important}
.wpforms-field-phone .iti__dial-code{color:#a0a0a0!important}

/* Phone — WPForms sets padding-left:50px inline, override it */
.wpforms-form .wpforms-field-phone input[type=tel],
.wpforms-form input.wpforms-smart-phone-field,
.wpforms-form input.iti__tel-input {
  padding-left:52px!important;
}
.wpforms-form .wpforms-field-phone .iti{width:100%!important}
.wpforms-form .wpforms-field-phone .iti__country-container{background:#141414!important;border-right:1px solid #2a2a2a!important}
.wpforms-form .wpforms-field-phone .iti__selected-country{padding:0 8px!important}

/* ============================================
   MOBILE LAYOUT FIXES — comprehensive sweep
   All breakpoints for stacking/overflow issues
   ============================================ */

/* --- SERVICE DETAIL PAGE --- */
/* Sidebar stacks below content on mobile */
@media(max-width:900px){
  .acm-rfp-wrap,
  [style*="grid-template-columns:1fr 420px"],
  [style*="grid-template-columns:1fr 380px"],
  [style*="grid-template-columns:1fr 360px"]{
    grid-template-columns:1fr!important;
    gap:2rem!important;
  }
  [style*="position:sticky"]{position:static!important;}
}

/* --- LOCATIONS PAGE --- */
@media(max-width:900px){
  /* 3-col location cards → 1 col */
  [style*="grid-template-columns:repeat(3,1fr)"]{
    grid-template-columns:1fr!important;
  }
  /* Service matrix → 1 col per region stacked */
  [style*="grid-template-columns:repeat(3,1fr);gap:1.5px"]{
    grid-template-columns:1fr!important;
  }
  /* RFP buttons row → stack */
  [style*="grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top"]{
    grid-template-columns:1fr!important;
  }
  /* Peninsula section 2-col → 1 col */
  [style*="grid-template-columns:1fr 1fr;gap:4rem"]{
    grid-template-columns:1fr!important;
    gap:2rem!important;
  }
}

/* --- ABOUT PAGE — Core Values 4-col → 2-col → 1-col --- */
@media(max-width:900px){
  [style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:500px){
  [style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:1fr!important;
  }
}

/* --- CONTACT PAGE --- */
@media(max-width:700px){
  /* Contact cards 2-col → 1-col */
  [style*="grid-template-columns:1fr 1fr;gap:1rem;margin-bottom"]{
    grid-template-columns:1fr!important;
  }
  /* CTA button wraps */
  .acm-cta-strip .acm-cta-inner,
  [style*="background:var(--y);border-radius:12px"]{
    text-align:center!important;
  }
}

/* --- RFP TRUST BADGES --- */
@media(max-width:700px){
  [style*="grid-template-columns:1fr 1fr 1fr;gap:.75rem"]{
    grid-template-columns:1fr 1fr 1fr!important;
  }
}

/* --- SEO LANDING PAGE --- */
@media(max-width:900px){
  /* Main content + sidebar → stack */
  [style*="grid-template-columns:1fr 380px;gap:4rem"]{
    grid-template-columns:1fr!important;
    gap:2rem!important;
  }
  /* Cross-links 2-col → 1-col */
  [style*="grid-template-columns:1fr 1fr;gap:4rem;align-items:flex-start"]{
    grid-template-columns:1fr!important;
    gap:2rem!important;
  }
}

/* --- GENERAL MOBILE SWEEP --- */
@media(max-width:768px){
  /* Any 2-col with large gap → stack */
  [style*="grid-template-columns:1fr 1fr;gap:4rem"]{
    grid-template-columns:1fr!important;
    gap:2rem!important;
  }
  /* Stat grids stay 2-col minimum */
  .acm-stats{grid-template-columns:1fr 1fr!important;}
  /* Testimonial grid */
  .acm-testi-grid{grid-template-columns:1fr!important;}
  /* Service grid */
  .acm-svc-grid{grid-template-columns:1fr!important;}
  /* Footer service matrix */
  [style*="grid-template-columns:repeat(3,1fr)"]{
    grid-template-columns:1fr!important;
  }
  /* All buttons full width on small screens */
  .acm-hero-ctas .acm-btn,
  .acm-cta-inner .acm-btn{
    width:100%!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  /* Prevent inline-style grids overflowing */
  [style*="display:grid"]{max-width:100%!important;}
  /* Wrap all flex rows */
  .acm-hero-ctas{flex-wrap:wrap!important;}
  .acm-hero-badges{flex-wrap:wrap!important;}
}

@media(max-width:500px){
  /* Services page checklist 2-col → 1-col */
  [style*="grid-template-columns:1fr 1fr;gap:.4rem"]{
    grid-template-columns:1fr!important;
  }
  /* Contact cards → 1 col */
  [style*="grid-template-columns:1fr 1fr;gap:1rem"]{
    grid-template-columns:1fr!important;
  }
  /* Padding adjustments */
  .acm-wrap{padding:0 1rem!important;}
  .acm-sec{padding:3rem 0!important;}
  /* RFP page split layout */
  .acm-rfp-sig{flex-direction:column!important;text-align:center!important;}
}

/* ============================================
   PLLP PAGE — LAYOUT
   ============================================ */
.acm-pllp-split{grid-template-columns:1fr!important;gap:2rem!important;max-width:760px!important;margin:0 auto!important;}
.acm-pllp-cards{grid-template-columns:1fr!important;max-width:560px!important;margin:0 auto!important;}
@media(max-width:600px){
  .acm-pllp-grid{grid-template-columns:1fr 1fr!important;}
}

/* Service detail — region cards 4-col responsive */
@media(max-width:900px){
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:500px){
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr!important;}
}
