
  
  body { --gor-orange: #D95A1A; }
  
  .gor-svc:hover .gor-svc-img { transform: scale(1.06); }
  .gor-svc:hover .gor-svc-frame { transform: translate(-3px,-3px); box-shadow: 9px 9px 0 var(--gor-orange); }
  
  
  .gor-learn:hover { gap: 1.1rem !important; }
  
  
  
  .gor-feat-ico img { transition: transform 280ms ease, filter 280ms ease; }
  .gor-feat-ico:hover img { transform: scale(1.12) translateY(-3px); filter: drop-shadow(0 7px 16px rgba(0,0,0,0.85)); }
  @keyframes gorGrain {
    0% { transform: translate(0,0); } 10% { transform: translate(-4%,-4%); } 20% { transform: translate(-8%,3%); }
    30% { transform: translate(3%,-9%); } 40% { transform: translate(-3%,7%); } 50% { transform: translate(-9%,3%); }
    60% { transform: translate(7%,0); } 70% { transform: translate(0,6%); } 80% { transform: translate(5%,-5%); }
    90% { transform: translate(-5%,4%); } 100% { transform: translate(0,0); }
  }
  @keyframes gorFlicker {
    0%,100% { opacity: 0.16; } 50% { opacity: 0.10; } 73% { opacity: 0.19; } 88% { opacity: 0.12; }
  }
  .gor-film-grain {
    position: absolute; inset: -60%; pointer-events: none; z-index: 2;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMjAnIGhlaWdodD0nMjIwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC44MicgbnVtT2N0YXZlcz0nMycgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIGZpbHRlcj0ndXJsKCNuKScvPjwvc3ZnPg==");
    mix-blend-mode: overlay; animation: gorGrain 0.7s steps(4) infinite, gorFlicker 4s ease-in-out infinite;
  }
  .gor-film-vignette {
    position: absolute; inset: 0; pointer-events: none; z-index: 2;
    background:
      radial-gradient(120% 130% at 50% 45%, rgba(0,0,0,0) 52%, rgba(0,0,0,0.55) 100%),
      linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0) 12%, rgba(0,0,0,0) 88%, rgba(0,0,0,0.45));
  }
  @media (prefers-reduced-motion: reduce) { .gor-film-grain { animation: none; opacity: 0.13; } }
  .gor-film-dots {
    position: absolute; inset: 0; pointer-events: none; z-index: 2;
    background-image: radial-gradient(rgba(0,0,0,0.85) 0.6px, transparent 0.7px);
    background-size: 3px 3px; mix-blend-mode: multiply; opacity: 0.5;
  }
  .gor-solidbox a, .gor-solidbox button { color: #000000 !important; }
  .gor-blackoutline a, .gor-blackoutline button { color: #000000 !important; border-color: #000000 !important; box-shadow: inset 0 0 0 2px #000000 !important; }
  .gor-blackoutline a:hover, .gor-blackoutline button:hover { background: #000000 !important; color: #FFFFFF !important; }
  .gor-blackbtn a, .gor-blackbtn button { background: #000000 !important; color: #FFFFFF !important; box-shadow: none !important; border: none !important; outline: none !important; }
  .gor-blackbtn a:hover, .gor-blackbtn button:hover { background: var(--gor-orange) !important; color: #000000 !important; }
  .gor-solidbox a:hover, .gor-solidbox button:hover { background: transparent !important; color: var(--gor-orange) !important; box-shadow: inset 0 0 0 1px var(--gor-orange) !important; }
  .gor-svc-frame { position: relative; }
  .gor-svc-frame::after { content: ''; position: absolute; inset: 0; background: url("../img/service-card-texture.png") center/cover; mix-blend-mode: overlay; opacity: 0.55; pointer-events: none; }
  .gor-bigbtn a { font-weight: 800 !important; font-size: 1.08rem !important; letter-spacing: 0.06em !important; white-space: nowrap !important; width: auto !important; }
  .gor-bigbtn { flex-shrink: 0; }
  @keyframes gorGlow { 0%, 100% { text-shadow: 0 0 0 rgba(217,90,26,0); } 50% { text-shadow: 0 0 16px rgba(217,90,26,0.6); } }
  @keyframes gorSheen { 0% { transform: translateX(-120%); } 60%, 100% { transform: translateX(320%); } }
  .gor-cust-btn:hover .gor-cust-label { color: #D95A1A !important; }
  .gor-footcta a, .gor-footcta button { color: #FFFFFF !important; }
  .gor-svccard img { transition: transform 600ms var(--ease-out); }
  .gor-svccard:hover img { transform: scale(1.06); }
  .gor-chk-ico { opacity: 0; transform: scale(0.3); transition: opacity 0.34s var(--ease-out), transform 0.34s cubic-bezier(0.34,1.56,0.64,1); }
  .gor-chk-ico.chk-in { opacity: 1; transform: scale(1); }
  .gor-panel { transition: transform 0.32s var(--ease-out), box-shadow 0.32s var(--ease-out); }
  .gor-panel:hover { transform: translateY(-8px); box-shadow: 0 24px 50px rgba(0,0,0,0.42), inset 0 0 0 2px var(--gor-orange); }
  .gor-panel img { transition: transform 0.6s var(--ease-out); }
  .gor-panel:hover img { transform: scale(1.07); }
  .gor-svc-title { font-family: var(--font-body); font-weight: 700; text-transform: uppercase; line-height: 0.98; letter-spacing: 0.01em; margin: 0; font-size: clamp(1.3rem, 1.8vw, 1.7rem); color: #fff; }
  @keyframes gorWinFlash { 0% { background: rgba(217,90,26,0); box-shadow: inset 0 0 0 rgba(217,90,26,0); } 25% { background: rgba(217,90,26,0.6); box-shadow: inset 3px 0 0 var(--gor-orange); } 100% { background: rgba(217,90,26,0); box-shadow: inset 0 0 0 rgba(217,90,26,0); } }
  @keyframes gorWinPop { 0%, 100% { transform: scale(1); } 30% { transform: scale(1.32); } }
  .gor-win.flash { animation: gorWinFlash 0.95s var(--ease-out); }
  .gor-win.flash .gor-win-ico { animation: gorWinPop 0.95s var(--ease-out); }
  
  
  
  [data-reveal]:not([data-in]), [data-flip]:not([data-in]), [data-textreveal]:not([data-in]), [data-slideright]:not([data-in]) { opacity: 0; }
  [data-flip] { transform-origin: left center; }
  @keyframes gorRise { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
  @keyframes gorWipe { from { opacity: 0; clip-path: inset(0 100% 0 0); } to { opacity: 1; clip-path: inset(0 0 0 0); } }
  @keyframes gorFlip { from { opacity: 0; transform: perspective(900px) rotateY(-82deg); } to { opacity: 1; transform: none; } }
  @keyframes gorSlide { from { opacity: 0; transform: translateX(64px) scale(1.06); } to { opacity: 1; transform: none; } }
  [data-reveal][data-in] { animation: gorRise 1.05s cubic-bezier(0.22,1,0.36,1) forwards; }
  [data-textreveal][data-in] { animation: gorWipe 1.2s cubic-bezier(0.76,0,0.24,1) forwards; }
  [data-flip][data-in] { animation: gorFlip 0.9s cubic-bezier(0.2,0.75,0.35,1) forwards; }
  [data-slideright][data-in] { animation: gorSlide 1.3s cubic-bezier(0.22,1,0.36,1) forwards; }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 960px) {
    .gor-nav { display: none !important; }
    .gor-head-actions { margin-left: auto !important; }
    .gor-svc-grid { grid-template-columns: 1fr !important; }
    .gor-sec-row3 { grid-template-columns: repeat(2, 1fr) !important; }
    .gor-why-content { width: 100% !important; }
    .gor-cta-grid { grid-template-columns: 1fr !important; }
    /* Gorilla Strong -> single column, image on top, white scrim at base */
    .gor-strong { grid-template-columns: 1fr !important; min-height: 0 !important; }
    .gor-strong-spacer { display: none !important; }
    .gor-strong-scrim { background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.55) 30%, rgba(255,255,255,0.96) 52%, #fff 66%) !important; }
    .gor-strong-content { padding: 280px clamp(1.5rem, 6vw, 3rem) clamp(2.5rem, 6vw, 4rem) !important; }
    .gor-strong-img { object-position: left center !important; }
    .gor-strong-h2 { font-size: clamp(1.65rem, 6.5vw, 2.4rem) !important; }
    .gor-strong-h2 span { white-space: normal !important; }
    .gor-strong-p { font-size: 1rem !important; max-width: 100% !important; }
    .gor-van-img { object-position: 63% center !important; }
  }
  @media (max-width: 620px) {
    .gor-sec-row4 { grid-template-columns: repeat(2, 1fr) !important; }
    .gor-sec-row3 { grid-template-columns: 1fr !important; }
    .gor-sec-row2 { grid-template-columns: 1fr !important; }
    .gor-cta-btns { flex-wrap: wrap !important; }
    .gor-cta-btns .gor-bigbtn { flex: 1 1 100% !important; }
    .gor-certs { justify-content: center !important; gap: 1.75rem !important; }
    .gor-quote-btn { display: none !important; }
    .gor-field-row { grid-template-columns: 1fr !important; }
    .gor-svc-title-break { display: none !important; }
    .gor-svc-title { font-size: clamp(0.95rem, 4.8vw, 1.15rem) !important; white-space: nowrap; }
  }
  
  
  
  .gor-form-submit { display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; margin-top: 0.25rem; padding: 1rem 1.5rem; background: var(--gor-orange); color: #fff; border: none; border-radius: 2px; font-family: var(--font-body); font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.92rem; cursor: pointer; transition: filter var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
  .gor-form-submit svg { width: 18px; height: 18px; }
  .gor-form-submit:hover { filter: brightness(1.05); transform: translateY(-2px); }
  .gor-form-submit:active { transform: translateY(1px); }
  

/* Accent-highlight span produced by the Hero Content visual editor's "A"
   button (see gorilla_va_hero_visual_editor() in functions.php) — site-wide
   since it can appear in any heading/subheading rendered through
   gorilla_va_hero_text_allowed_html(), not just one page's own hero. */
.gorilla-va-accent { color: var(--gor-orange); }
