/* GM Sign LLC — shared design-system CSS (topbar, nav, buttons, mega-menu, responsive breakpoints) */

  body{margin:0;background:#000;font-family:'Inter',sans-serif;overflow-x:hidden;}
  a{color:#f3a328;text-decoration:none;} a:hover{color:#fff;}
  .gm-btn{transition:transform .25s ease, box-shadow .25s ease;}
  .gm-btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(243,163,40,.35);}
  .gm-quote-btn:hover{transform:scale(1.1) !important;}
  .gm-link:hover{color:#f3a328 !important;}
  @keyframes pulseCall{0%,100%{box-shadow:0 0 0 0 rgba(243,163,40,.5);}50%{box-shadow:0 0 0 8px rgba(243,163,40,0);}}
  @keyframes revealIn{from{opacity:0;transform:translateY(36px);}to{opacity:1;transform:translateY(0);}}
  .reveal{opacity:1;}
  .reveal.in{opacity:1;animation:revealIn .8s cubic-bezier(.2,.7,.2,1) both;}
  .megawrap{position:static;align-self:stretch;display:flex;align-items:center;}
  nav{align-self:stretch;align-items:center;}
  .megapanel{position:absolute;top:100%;left:50%;margin-top:-26px;padding-top:44px;transform:translateX(-50%) translateY(0);width:min(1100px,92vw);max-width:92vw;max-height:min(78vh,760px);overflow-y:auto;overscroll-behavior:contain;background:#0d0d0d;border:1px solid #222;border-radius:6px;box-shadow:0 24px 60px rgba(0,0,0,.6);padding:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:400;}
  .megawrap:hover .megapanel,.megawrap:focus-within .megapanel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
  .megacol-title{color:#f3a328;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px;display:block;}
  .megasub{display:block;color:#bbb;font-size:12.5px;padding:5px 0;}
  .megasub:hover{color:#fff !important;padding-left:4px;}
  .timeline{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;position:relative;}
  .timeline .step{display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;}
  .timeline .step.in{opacity:1;transform:translateY(0);}
  .timeline .dot{width:14px;height:14px;border-radius:50%;background:#f3a328;margin-bottom:10px;position:relative;z-index:2;box-shadow:0 0 0 4px rgba(243,163,40,.18);}
  .timeline .line{position:absolute;top:6px;left:6%;right:6%;height:2px;background:#2a2a2a;z-index:1;}
  .timeline .line-fill{position:absolute;top:0;left:0;height:100%;background:#f3a328;width:0%;transition:width 1.4s cubic-bezier(.2,.7,.2,1);}
  .timeline.in .line-fill{width:100%;}
  .gallery-img{cursor:zoom-in;transition:transform .3s ease;}
  .gallery-img:hover{transform:scale(1.03);}
  details.faq{border-bottom:1px solid #222;padding:14px 0;}
  details.faq summary{cursor:pointer;color:#fff;font-weight:700;font-size:14.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;}
  details.faq summary::-webkit-details-marker{display:none;}
  details.faq summary::after{content:'+';color:#f3a328;font-size:20px;}
  details.faq[open] summary::after{content:'−';}
  details.faq p{color:#999;font-size:14px;line-height:1.7;margin:12px 0 0;}
  @media (max-width: 900px) {
    .megapanel{grid-template-columns:repeat(2,1fr);width:94vw;}
    .timeline{grid-template-columns:repeat(4,1fr);row-gap:26px;}
    .timeline .line{display:none;}
    nav{overflow-x:auto !important;-webkit-overflow-scrolling:touch;justify-content:flex-start !important;padding-bottom:2px;}
    nav::-webkit-scrollbar{display:none;}
  }

  /* Hamburger button (shared: every page uses this markup) */
  .hbtn{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;align-items:center;}
  .hbtn span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s;}
  /* Full-screen mobile menu sits above the sticky header so its own logo + close button are never cut off */
  #mobile-menu{z-index:350 !important;overscroll-behavior:contain;}

/* ── MOBILE RESPONSIVE ──
   NOTE: these [style*="..."] rules match against each page's real inline `style="..."`
   attribute text (as serialized by the browser: a space after every `:` and `,`/`;`).
   Selectors below MUST use that same spacing or they silently match nothing. */
@media(max-width:900px){
  .desk-nav{display:none !important;}
  .hbtn{display:flex !important;}
  .desk-quote{display:none !important;}
  .megapanel{grid-template-columns:1fr 1fr !important;width:94vw !important;}
  /* Topbar: hide email + coverage on mobile, stack as column */
  [style*="grid-template-columns: 1fr auto 1fr"]{grid-template-columns:1fr auto !important;}
  .topbar-email{display:none !important;}
  .topbar-right{display:none !important;}
  [style*="grid-template-columns: 1fr auto 1fr; align-items: center; padding: 8px 24px"]{padding:8px 14px!important;}
  /* Sticky header row (logo + nav + CTA) */
  [style*="justify-content: space-between; align-items: center; padding: 12px 24px"]{padding:10px 14px!important;flex-wrap:wrap!important;}
  [style*="justify-content: space-between; align-items: center; padding: 10px 24px"]{padding:10px 14px!important;flex-wrap:wrap!important;}
  /* All multi-col grids → 1-2 col */
  [style*="grid-template-columns: repeat(4, 1fr)"]{grid-template-columns:repeat(2,1fr)!important;}
  [style*="grid-template-columns: repeat(3, 1fr)"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: 1.4fr 1fr 1fr 1fr"]{grid-template-columns:1fr!important;gap:24px!important;}
  [style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: 1.1fr 1fr"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: 1fr 1.1fr"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: 1.3fr 1fr"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: 1fr 1.3fr"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: 1fr 1fr 1fr"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: 280px 1fr"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: 1fr auto; gap: 36px"]{grid-template-columns:1fr!important;padding:24px!important;}
  [style*="padding: 40px; display: grid"]{padding:24px!important;}
  [style*="grid-template-columns: repeat(5, 1fr)"]{grid-template-columns:repeat(2,1fr)!important;}
  [style*="grid-template-columns: repeat(6, 1fr)"]{grid-template-columns:repeat(3,1fr)!important;}
  /* Branded Merchandise → "Pick Your Industry" photo grid (generated by JS, so its inline style is unspaced) */
  #niche-panel{padding:22px!important;}
  #niche-panel [style*="grid-template-columns:repeat(5,1fr)"]{grid-template-columns:repeat(3,1fr)!important;gap:10px!important;}
  /* Section padding */
  [style*="padding: 100px 24px"]{padding:56px 16px!important;}
  [style*="padding: 90px 24px"]{padding:48px 16px!important;}
  [style*="padding: 80px 24px"]{padding:44px 16px!important;}
  [style*="padding: 70px 24px"]{padding:40px 16px!important;}
  [style*="padding: 60px 24px"]{padding:36px 16px!important;}
  [style*="padding: 20px 24px 100px"]{padding:16px 16px 60px!important;}
  [style*="padding: 20px 24px 60px"]{padding:16px 16px 40px!important;}
  [style*="padding: 0px 24px 100px"]{padding:0 16px 60px!important;}
  [style*="padding: 0px 24px 60px"]{padding:0 16px 40px!important;}
  [style*="padding: 0px 24px 34px"]{padding:0 16px 24px!important;}
  /* Footer */
  footer [style*="padding: 70px 24px"]{padding:44px 16px 0!important;}
  /* Hero text */
  [style*="font-size: clamp(48px"]{font-size:clamp(32px,10vw,52px)!important;}
  /* Stat bars */
  [style*="grid-template-columns: repeat(4, 1fr); text-align: center"]{grid-template-columns:repeat(2,1fr)!important;}
  /* Form grids */
  [style*="grid-template-columns: 1fr 1fr; gap: 14px"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: 1fr 1fr; gap: 18px"]{grid-template-columns:1fr!important;}
}
@media(max-width:560px){
  h1{font-size:clamp(26px,9vw,42px)!important;}
  #niche-panel [style*="grid-template-columns:repeat(5,1fr)"]{grid-template-columns:repeat(2,1fr)!important;}
  #niche-panel [style*="position:absolute;top:20px;right:20px"]{position:static!important;display:inline-block;margin-bottom:12px;}
  [style*="grid-template-columns: repeat(2, 1fr)"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: repeat(4, 1fr)"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: repeat(6, 1fr)"]{grid-template-columns:repeat(2,1fr)!important;}
  [style*="grid-template-columns: repeat(5, 1fr)"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns: repeat(3, 1fr)"]{grid-template-columns:1fr!important;}
  /* Nav logo */
  img[style*="height: 68px"]{height:48px!important;}
  /* Topbar phone button */
  [style*="font-size: 15px; padding: 8px 20px; border-radius: 24px"]{font-size:13px!important;padding:7px 14px!important;}
  /* Floating buttons spacing */
  [style*="bottom: 90px; right: 24px"]{bottom:86px!important;right:16px!important;}
  [style*="bottom: 24px; right: 24px; z-index: 999; width: 58px"]{bottom:16px!important;right:16px!important;}
  [style*="bottom: 90px; right: 24px; z-index: 999"]{bottom:82px!important;right:16px!important;}
}

  /* Mobile menu — Services accordion (mirrors the desktop mega-menu, full parity) */
  .mm-group{border-bottom:1px solid #1c1c1c;padding:16px 0;}
  .mm-group summary{list-style:none;cursor:pointer;color:#fff;font-weight:700;font-size:24px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;}
  .mm-group summary::-webkit-details-marker{display:none;}
  .mm-group summary::after{content:'+';color:#f3a328;font-size:24px;flex-shrink:0;margin-left:12px;}
  .mm-group[open] summary::after{content:'−';}
  .mm-sub{padding-top:16px;display:flex;flex-direction:column;gap:16px;}
  .mm-cat-title{display:block;color:#f3a328;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;}
  .mm-sub-link{display:block;color:#bbb;font-size:14px;font-weight:500;padding:6px 0 6px 12px;}
  .mm-sub-link:hover{color:#fff !important;}

  .goog-te-banner-frame,.skiptranslate{display:none!important;}
  body{top:0!important;}
  #gt-widget{display:none!important;}
  #gm-tr{position:fixed;bottom:158px;right:24px;z-index:999;width:56px;height:56px;border-radius:50%;background:#111;border:1px solid #f3a328;color:#f3a328;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;box-shadow:0 6px 18px rgba(0,0,0,.45);font-family:'Inter',sans-serif;transition:transform .25s ease,background .25s ease,color .25s ease;}
  #gm-tr:hover{transform:translateY(-3px);background:#f3a328;color:#000;}
  #gm-tr svg{display:block;}
  #gm-tr b{font-size:9.5px;font-weight:800;letter-spacing:.08em;line-height:1;}
  @media(max-width:560px){#gm-tr{bottom:148px;right:16px;width:50px;height:50px;}}
