/*
 * GREEN SQUARE — SHARED RESPONSIVE CSS
 * Covers: Desktop · Tablet · Mobile · Z Flip · Z Fold · Foldables
 *         All breakpoints from 260px cover screen → 1600px+ wide desktop
 * ─────────────────────────────────────────────────────────────────
 */

/* ═══════════════════════════════════════════
   1. GLOBAL RESET — prevent horizontal scroll
═══════════════════════════════════════════ */
html, body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
img, video, iframe, embed, object { max-width: 100%; }

/* ═══════════════════════════════════════════
   2. DYNAMIC VIEWPORT (svh / dvh)
   Fixes the iOS Safari bottom-bar jump
═══════════════════════════════════════════ */
#hero        { min-height: 100svh; }
.mnav        { min-height: 100dvh; }
.pg-hero     { padding-top: max(110px, calc(80px + env(safe-area-inset-top))); }

/* ═══════════════════════════════════════════
   3. SAFE AREA INSETS
   Notches (iPhone X+), rounded corners, home bars
═══════════════════════════════════════════ */
@supports (padding: env(safe-area-inset-top)) {
  nav {
    padding-left:  max(52px, calc(24px + env(safe-area-inset-left)));
    padding-right: max(52px, calc(24px + env(safe-area-inset-right)));
  }
  #waFloat {
    bottom: max(24px, calc(16px + env(safe-area-inset-bottom)));
    right:  max(16px, calc(8px + env(safe-area-inset-right)));
  }
  footer {
    padding-bottom: max(24px, calc(16px + env(safe-area-inset-bottom)));
  }
  .mnav {
    padding-top:    env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
}

/* ═══════════════════════════════════════════
   4. TAP HIGHLIGHT + TOUCH TARGETS
═══════════════════════════════════════════ */
a, button, [onclick], [role="button"] {
  -webkit-tap-highlight-color: rgba(146, 205, 0, 0.15);
  touch-action: manipulation;
}

/* ═══════════════════════════════════════════
   5. SCROLL
═══════════════════════════════════════════ */
html { scroll-padding-top: 80px; }

/* ═══════════════════════════════════════════
   6. Z FLIP — COVER SCREEN  (~260 × 260px)
   Shown on tiny cover display
═══════════════════════════════════════════ */
@media (max-width: 260px) {
  nav { padding: 6px 10px !important; }
  .nl img { height: 26px !important; }
  .nlinks { display: none !important; }
  .brg { display: flex !important; }
  section, #impact, #services, #locs,
  #involve, #contact, #accept, #proc {
    padding: 36px 10px !important;
  }
  .pg-hero { padding: 76px 10px 36px !important; }
  .hero-top { padding: 68px 10px 0 !important; }
  .hero-meta { padding: 10px 10px 0 !important; }
  h1, h2, h3, .pg-ttl { word-break: break-word; hyphens: auto; }
  .btn { padding: 10px 14px !important; font-size: 9px !important; min-height: 40px; }
  .hero-stats { grid-template-columns: 1fr 1fr !important; }
  .hstat { padding: 8px 10px !important; }
  .hstat-n { font-size: 18px !important; }
  .mnav a { font-size: 16px !important; }
  footer { padding: 28px 10px 60px !important; }
  .ft-links { gap: 8px !important; font-size: 10px; }
}

/* ═══════════════════════════════════════════
   7. 320px — iPhone SE (1st/2nd gen), Galaxy A01
═══════════════════════════════════════════ */
@media (max-width: 320px) {
  nav { padding: 8px 14px !important; }
  .nl img { height: 30px !important; }
  nav.s .nl img { height: 24px !important; }
  section, #impact, #services, #locs,
  #involve, #contact, #accept, #proc {
    padding: 44px 14px !important;
  }
  .pg-hero { padding: 82px 14px 44px !important; }
  .hero-top { padding: 76px 14px 0 !important; }
  .hero-meta { padding: 12px 14px 0 !important; }
  .hero-stats { grid-template-columns: 1fr 1fr !important; }
  .hstat { padding: 10px 14px !important; }
  .hstat-n { font-size: clamp(16px, 5vw, 22px) !important; }
  footer { padding: 32px 14px 68px !important; }
  .ft-links { gap: 8px !important; }
  .ft-copy, .ft-made { font-size: 10px !important; }
  .inv-cards { gap: 10px !important; }
  .icrd { min-height: 220px !important; padding: 24px 16px !important; }
  .mnav a { font-size: 18px !important; gap: 18px; }
  .mnav { gap: 18px; }
  .con-grid, .con-wrap, .loc-grid { grid-template-columns: 1fr !important; }
  input, select, textarea { font-size: 16px !important; }
}

/* ═══════════════════════════════════════════
   8. STANDARD MOBILE  (≤768px)
   Z Flip open, Galaxy S/A, iPhones 12-15
═══════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Prevent overflow from any element (excludes intentional full-bleed elements like .ft-featured) */
  *:not(.ft-featured):not([class*="leaflet-"]) { max-width: 100%; box-sizing: border-box; }

  /* iOS input zoom prevention */
  input, select, textarea { font-size: 16px !important; }

  /* Minimum touch targets */
  .btn          { min-height: 44px; }
  .nav-soc      { min-width: 44px; min-height: 44px; }
  .mnav-soc     { min-width: 44px; min-height: 44px; }
  .ft-soc       { min-width: 44px; min-height: 44px; }
  .brg          { min-width: 44px; min-height: 44px;
                  display: flex; align-items: center; justify-content: center; }
  .mnav-x       { min-width: 44px; min-height: 44px;
                  display: flex; align-items: center; justify-content: center; }

  /* Smooth momentum scroll */
  .llist        { -webkit-overflow-scrolling: touch; }
  .gal-scroll   { -webkit-overflow-scrolling: touch; }
  .mnav         { -webkit-overflow-scrolling: touch; }

  /* Grid collapses */
  .con-grid     { grid-template-columns: 1fr !important; gap: 36px !important; }
  .con-wrap     { grid-template-columns: 1fr !important; }
  .loc-grid     { grid-template-columns: 1fr !important; }
  .impact-inner { grid-template-columns: 1fr !important; gap: 36px !important; }

  /* Cards */
  .svc-grid     { grid-template-columns: 1fr !important; }
  .proc-grid    { grid-template-columns: 1fr !important; }
  .inv-cards    { grid-template-columns: 1fr !important; }
  .blog-layout  { grid-template-columns: 1fr !important; }
  .blog-feat    { grid-row: auto !important; }

  /* Photo mosaic */
  .photo-mosaic { grid-template-columns: 1fr 1fr !important; }
  .photo-mosaic > div:first-child { grid-column: 1 / 3 !important; }

  /* Hero photo banners — full width, scrim over the top so headline stays readable */
  .hero-banners { width: 100% !important; }
  .hero-banners::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, var(--c) 0%, rgba(247,249,237,.75) 30%, transparent 58%); pointer-events: none; }
  .hero-banner-nav { right: 16px !important; bottom: 14px !important; }
  .hb-dot { min-width: 9px; min-height: 9px; }
  .hb-next { width: 40px; height: 40px; }

  /* Floating elements */
  #waFloat { bottom: 14px; right: 14px; }

  /* Logo sizes */
  .nl img { height: 44px !important; }
  nav.s .nl img { height: 36px !important; }
  .ft-logo img { height: 44px !important; }

  /* Tables — make readable */
  .adm-table { font-size: 12px; }
  .adm-table th, .adm-table td { padding: 10px 10px; }
}

/* ═══════════════════════════════════════════
   9. SMALL PHONES — 480px  (Galaxy A series, older flagships)
═══════════════════════════════════════════ */
@media (max-width: 480px) {
  .photo-mosaic { grid-template-columns: 1fr !important; }
  .photo-mosaic > div:first-child { grid-column: 1 / 1 !important; }

  .press-grid   { grid-template-columns: 1fr !important; }
  .acc-grid     { grid-template-columns: 1fr !important; }
  .steps        { grid-template-columns: 1fr !important; }
  .stats-grid   { grid-template-columns: 1fr 1fr !important; }
  .inv-signup   { grid-template-columns: 1fr !important; }
  .frow         { grid-template-columns: 1fr !important; }
  .form-row     { grid-template-columns: 1fr !important; }

  .nl img { height: 36px !important; }
  nav.s .nl img { height: 28px !important; }
  .ft-logo img { height: 36px !important; }

  footer { padding: 36px 16px 72px !important; }
  .ft-links { gap: 10px !important; row-gap: 8px !important; }

  #waFloat { bottom: 14px !important; right: 14px !important; width: 48px !important; height: 48px !important; }
}

/* ═══════════════════════════════════════════
   10. LANDSCAPE PHONE  (held sideways)
   e.g. Z Flip landscape, iPhone landscape
═══════════════════════════════════════════ */
@media (max-height: 500px) and (orientation: landscape) {
  nav       { padding: 6px 24px !important; }
  .nl img   { height: 34px !important; }
  nav.s .nl img { height: 28px !important; }

  #hero     { min-height: 100lvh; }
  .hero-top { padding: 64px 32px 0 !important; flex-direction: row !important; }
  .hero-meta { padding: 16px 32px 0 !important; }
  .hero-stats { grid-template-columns: repeat(4, 1fr) !important; }
  .spin-wrap  { display: none !important; }

  .mnav {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 60px 24px 24px !important;
    overflow-y: auto !important;
    align-content: center !important;
  }
  .mnav a { font-size: 16px !important; }
  .pg-hero { padding: 72px 24px 36px !important; }
}

/* ═══════════════════════════════════════════
   11. Z FLIP — HALF-FOLDED (Flex Mode)
   When snapped at ~90° — top half is viewport
═══════════════════════════════════════════ */
@media (screen-fold-posture: half-folded) {
  nav { padding: 8px 20px !important; }
  .nl img { height: 34px !important; }
  .hero-top { padding-top: env(fold-top, 90px) !important; }
  .pg-hero { padding-top: max(90px, env(fold-top, 90px)) !important; }
  .hero-badge { display: none; }
  .spin-wrap  { display: none !important; }
  .hero-stats { display: none !important; }
  .hero-meta  { padding: 12px 20px 0 !important; }
  .hero-ctas  { flex-direction: row !important; flex-wrap: wrap; }
}

@media (vertical-viewport-segments: 2) {
  /* Z Flip top half: compact hero */
  .hero-top { padding-top: min(80px, 12vh) !important; }
  .spin-wrap { display: none !important; }
  .hero-stats { grid-template-columns: 1fr 1fr !important; }
}

/* ═══════════════════════════════════════════
   12. Z FOLD — OPEN  (tablet-width foldable)
   Two-panel spanning when open in landscape
═══════════════════════════════════════════ */
@media (horizontal-viewport-segments: 2) {
  .hero-top    { padding: 120px 36px 0 !important; }
  .loc-grid    { grid-template-columns: 1fr 1fr !important; }
  .con-wrap    { grid-template-columns: 1fr 1fr !important; }
  .blog-layout { grid-template-columns: 1fr 1fr !important; }
}

/* ═══════════════════════════════════════════
   13. REDUCED MOTION  (accessibility)
═══════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .rv { opacity: 1 !important; transform: none !important; }
  .gal-scroll, .mq-track, .ticker { animation: none !important; }
}

/* ═══════════════════════════════════════════
   14. DARK MODE — respect system preference
═══════════════════════════════════════════ */
@media (prefers-color-scheme: dark) {
  /* Site uses its own dark/light palette — no override needed.
     Only fix system-UI elements: */
  ::-webkit-scrollbar { width: 6px; background: #0E130F; }
  ::-webkit-scrollbar-thumb { background: #92CD00; border-radius: 3px; }
  ::selection { background: rgba(146,205,0,.3); color: #F7F9ED; }
}

/* ═══════════════════════════════════════════
   15. HIGH CONTRAST  (accessibility)
═══════════════════════════════════════════ */
@media (forced-colors: active) {
  .btn, .nav-soc, .ft-soc, .mnav-soc { border: 2px solid ButtonText; }
  .nlinks a::after { background: Highlight; }
}

/* ═══════════════════════════════════════════
   16. PRINT
═══════════════════════════════════════════ */
@media print {
  nav, .mnav, #waFloat, #ann, #ldr,
  #cur, #curR, #prog, .ticker-wrap, .brg { display: none !important; }
  body { background: #fff; color: #000; }
  a { color: #000; text-decoration: underline; }
  section { padding: 24px 0 !important; }
  footer { padding: 16px 0 !important; }
}

/* ════════════════════════════════════════════════
   TABLET & DESKTOP LAYOUTS
   17 · Tablet narrow   769px – 900px
   18 · Tablet standard 901px – 1024px
   19 · Laptop          1025px – 1280px
   20 · Desktop         1281px – 1600px
   21 · Wide desktop    1601px +
════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════
   17. TABLET NARROW  (769 – 900px)
   iPad Mini portrait, Galaxy Tab A7, Surface Go
═══════════════════════════════════════════ */
@media (min-width: 769px) and (max-width: 900px) {
  nav  { padding: 14px 32px; }
  nav.s{ padding: 10px 32px; }
  .nl img { height: 54px; }
  nav.s .nl img { height: 44px; }
  .nlinks { gap: 14px; }
  .nlinks a { font-size: 11px; letter-spacing: 1px; }

  section,
  #impact, #services, #locs, #involve,
  #quiz, #proc, #testi, #contact, #accept { padding: 72px 32px; }

  #hero .hero-top  { padding: 110px 32px 0; }
  #hero .hero-meta { padding: 24px 32px 0; }
  #hero .hero-stats .hstat { padding: 20px 32px; }

  .line-reuse    { font-size: clamp(52px, 9.5vw, 96px); }
  .line-repurpose{ font-size: clamp(38px, 7.2vw, 72px); }
  .line-repair   { font-size: clamp(52px, 9.5vw, 96px); }

  /* Two-column grids tighten */
  .impact-inner  { grid-template-columns: 1fr 1fr; gap: 36px; }
  .svc-grid      { grid-template-columns: 1fr 1fr; gap: 2px; }
  .proc-grid     { grid-template-columns: 1fr 1fr; gap: 2px; }
  .inv-cards     { grid-template-columns: 1fr 1fr; gap: 12px; }
  .blog-layout   { grid-template-columns: 1fr; }
  .blog-feat     { grid-row: auto; }
  .loc-grid      { grid-template-columns: 1fr; gap: 24px; }
  .con-grid      { grid-template-columns: 1fr; gap: 40px; }
  .con-wrap      { grid-template-columns: 1fr; }
  .stats-grid    { grid-template-columns: 1fr 1fr; }
  .steps         { grid-template-columns: 1fr 1fr; gap: 20px; }
  .steps::before { display: none; }
  .photo-mosaic  { grid-template-columns: repeat(2, 1fr); }
  .photo-mosaic > div:first-child { grid-column: 1 / 3; }

  .gal-hdr { padding: 0 32px; }
  .gal-scroll { padding: 0 32px; animation: none;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory; width: 100%; }
  .gcrd { scroll-snap-align: start; flex-shrink: 0; }

  footer { padding: 48px 32px 24px; }
  .ft-top { margin-bottom: 20px; }
  .ft-logo img { height: 44px; }
  .adm-main { grid-template-columns: 200px 1fr; }
}

/* ═══════════════════════════════════════════
   18. TABLET STANDARD  (901px – 1024px)
   iPad 10th gen, iPad Air portrait, Galaxy Tab S
═══════════════════════════════════════════ */
@media (min-width: 901px) and (max-width: 1024px) {
  nav  { padding: 16px 36px; }
  nav.s{ padding: 12px 36px; }
  .nl img { height: 60px; }
  nav.s .nl img { height: 50px; }
  .nlinks { gap: 16px; }
  .nlinks a { font-size: 11px; letter-spacing: 1px; }

  section,
  #impact, #services, #locs, #involve,
  #quiz, #proc, #testi, #contact, #accept { padding: 80px 36px; }

  #hero .hero-top  { padding: 120px 36px 0; }
  #hero .hero-meta { padding: 28px 36px 0; }
  #hero .hero-stats .hstat { padding: 22px 36px; }

  .line-reuse    { font-size: clamp(60px, 10vw, 110px); }
  .line-repurpose{ font-size: clamp(44px, 7.5vw, 84px); }
  .line-repair   { font-size: clamp(60px, 10vw, 110px); }
  .spin-wrap     { width: 130px; height: 130px; margin-left: 28px; }

  .impact-inner  { grid-template-columns: 1fr 1fr; gap: 40px; }
  .svc-grid      { grid-template-columns: 1fr 1fr; gap: 2px; }
  .inv-cards     { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .proc-grid     { grid-template-columns: repeat(3, 1fr); gap: 2px; }
  .blog-layout   { grid-template-columns: 1fr 1fr; }
  .loc-grid      { grid-template-columns: 1fr; gap: 24px; }
  .con-grid      { grid-template-columns: 1fr 1fr; gap: 44px; }
  .con-wrap      { grid-template-columns: 1fr 1fr; }
  .steps         { grid-template-columns: repeat(3, 1fr); gap: 28px; }
  .steps::before { display: none; }
  .photo-mosaic  { grid-template-columns: repeat(3, 1fr); }
  .photo-mosaic > div:first-child { grid-column: 1 / 3; }

  .gal-hdr { padding: 0 36px; }
  footer { padding: 48px 36px 24px; }
  .ft-logo img { height: 48px; }
  .adm-main { grid-template-columns: 210px 1fr; }
}

/* ═══════════════════════════════════════════
   19. LAPTOP  (1025px – 1280px)
   MacBook Air 13", Surface Pro, most laptops
═══════════════════════════════════════════ */
@media (min-width: 1025px) and (max-width: 1280px) {
  nav  { padding: 16px 44px; }
  nav.s{ padding: 12px 44px; }
  .nl img { height: 68px; }
  nav.s .nl img { height: 56px; }
  .nlinks { gap: 18px; }

  section,
  #impact, #services, #locs, #involve,
  #quiz, #proc, #testi, #contact, #accept { padding: 88px 44px; }

  #hero .hero-top  { padding: 130px 44px 0; }
  #hero .hero-meta { padding: 30px 44px 0; }
  #hero .hero-stats .hstat { padding: 24px 44px; }

  .line-reuse    { font-size: clamp(80px, 11vw, 140px); }
  .line-repurpose{ font-size: clamp(58px, 8.2vw, 106px); }
  .line-repair   { font-size: clamp(80px, 11vw, 140px); }
  .spin-wrap     { width: 145px; height: 145px; }

  .impact-inner  { gap: 52px; }
  .inv-cards     { gap: 14px; }
  .icrd          { min-height: 310px; }
  .con-grid      { gap: 56px; }
  .gal-hdr       { padding: 0 44px; }
  .gal-scroll    { padding: 0 44px; }
  footer         { padding: 52px 44px 24px; }
}

/* ═══════════════════════════════════════════
   20. DESKTOP  (1281px – 1600px)
   Standard 1080p monitors, iMac 24", Dell 27"
═══════════════════════════════════════════ */
@media (min-width: 1281px) and (max-width: 1600px) {
  nav  { padding: 16px 64px; }
  nav.s{ padding: 12px 64px; }
  .nl img { height: 78px; }
  nav.s .nl img { height: 64px; }
  .nlinks { gap: 22px; }

  section,
  #impact, #services, #locs, #involve,
  #quiz, #proc, #testi, #contact, #accept { padding: 100px 64px; }

  #hero .hero-top  { padding: 140px 64px 0; }
  #hero .hero-meta { padding: 36px 64px 0; }
  #hero .hero-stats .hstat { padding: 28px 64px; }

  .inv-cards { gap: 16px; }
  .icrd      { min-height: 340px; }
  .con-grid  { gap: 72px; }
  .gal-hdr   { padding: 0 64px; }
  .gal-scroll{ padding: 0 64px; }
  footer     { padding: 56px 64px 24px; }
}

/* ═══════════════════════════════════════════
   21. WIDE DESKTOP  (1601px +)
   1440p, 4K, ultrawide monitors
═══════════════════════════════════════════ */
@media (min-width: 1601px) {
  nav  { padding: 18px 80px; }
  nav.s{ padding: 14px 80px; }
  .nl img { height: 78px; }
  nav.s .nl img { height: 64px; }
  .nlinks { gap: 26px; }
  .nlinks a { font-size: 13px; }

  section,
  #impact, #services, #locs, #involve,
  #quiz, #proc, #testi, #contact, #accept { padding: 120px 80px; }

  #hero .hero-top  { padding: 160px 80px 0; }
  #hero .hero-meta { padding: 40px 80px 0; }
  #hero .hero-stats .hstat { padding: 32px 80px; }

  /* Cap max content width so text doesn't stretch too wide */
  .hero-hl       { max-width: 900px; }
  .impact-inner  { max-width: 1400px; margin: 0 auto; }
  .svc-grid      { max-width: 1400px; margin: 0 auto; }
  .proc-grid     { max-width: 1400px; margin: 0 auto; }
  .inv-cards     { max-width: 1400px; margin: 0 auto; gap: 20px; }
  .icrd          { min-height: 380px; }
  .con-grid      { max-width: 1400px; margin: 0 auto; gap: 100px; }
  .loc-grid      { max-width: 1400px; margin: 0 auto; }
  footer         { padding: 64px 80px 28px; }
  .gal-hdr       { padding: 0 80px; }
  .gal-scroll    { padding: 0 80px; }
  .ft-logo img   { height: 72px; }

  /* Larger headline on big screens */
  .line-reuse    { font-size: clamp(140px, 13vw, 200px); }
  .line-repurpose{ font-size: clamp(106px, 9.8vw, 152px); }
  .line-repair   { font-size: clamp(140px, 13vw, 200px); }
  .hero-bg-gs    { font-size: clamp(480px, 48vw, 720px); }
  .spin-wrap     { width: 200px; height: 200px; }
}

/* ═══════════════════════════════════════════
   22. CONTAINER MAX-WIDTH GUARD
   Prevents content stretching on ultrawide
═══════════════════════════════════════════ */
@media (min-width: 1601px) {
  #hero .hero-top,
  #hero .hero-meta,
  #hero .hero-stats { max-width: 1600px; margin-left: 0; margin-right: auto; }
}

/* ═══════════════════════════════════════════
   23. TABLET LANDSCAPE  (768px – 1024px, landscape)
   iPad Air/Pro landscape, Galaxy Tab landscape
═══════════════════════════════════════════ */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  #hero .hero-top  { padding: 100px 36px 0; flex-direction: row; align-items: flex-end; }
  .spin-wrap       { width: 120px; height: 120px; margin-left: 24px; }
  #hero .hero-stats{ grid-template-columns: repeat(4, 1fr); }
  .pg-hero         { padding: 100px 36px 56px; }
  .blog-layout     { grid-template-columns: 1fr 1fr; }
  .blog-feat       { grid-row: 1 / 3; }
  .loc-grid        { grid-template-columns: 1fr 1fr; }
  .con-grid        { grid-template-columns: 1fr 1fr; }
}

/* ═══════════════════════════════════════════
   24. HOVER — only on true pointer devices
   Prevents sticky hover states on touch
═══════════════════════════════════════════ */
@media (hover: none) and (pointer: coarse) {
  /* Touch devices: remove hover effects that don't un-apply */
  .sc:hover, .icrd:hover, .bcard:hover, .blog-feat:hover,
  .gcrd:hover, .acrd:hover, .lcard:hover, .step:hover .sdot {
    transform: none !important;
    box-shadow: none !important;
  }
  .nlinks a:hover::after { width: 0 !important; }
  /* Show active states instead */
  .sc:active         { background: var(--f) !important; }
  .bcard:active      { transform: scale(0.98) !important; }
  .btn:active        { transform: scale(0.97) !important; opacity: 0.9; }
  .icrd:active .icrd-dimmer { background: rgba(10,40,10,.45) !important; }
}

/* ═══════════════════════════════════════════
   25. FINE POINTER — desktop mouse
   Enables richer hover effects
═══════════════════════════════════════════ */
@media (hover: hover) and (pointer: fine) {
  .bimg img:hover   { transform: scale(1.04); }
  .pimg img:hover   { transform: scale(1.04); }
  .gcrd:hover       { transform: translateY(-8px) scale(1.02); }
}

/* ═══════════════════════════════════════════
   26. FOOTER — FEATURED IN STRIP
   Appears at the top of every page footer
═══════════════════════════════════════════ */
.ft-featured {
  background: #f7f9ed;
  margin: -64px -52px 52px;
  padding: 56px 52px;
  border-bottom: 1px solid rgba(11,76,9,.07);
}
.press-lbl {
  text-align: center;
  font-family: 'Fira Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: rgba(14,19,15,.28);
  margin-bottom: 36px;
}
.press-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
.pcrd {
  background: #fff;
  border-radius: 16px;
  padding: 28px 20px;
  border: 1px solid rgba(11,76,9,.07);
  transition: all .3s;
  text-align: center;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.pcrd:hover {
  border-color: #92cd00;
  box-shadow: 0 8px 32px rgba(146,205,0,.12);
  transform: translateY(-3px);
}
.pcrd-logo {
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.pcrd-logo img {
  max-height: 64px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
  display: block;
}
.pcrd-name {
  font-family: 'Unbounded', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #0b4c09;
  margin-bottom: 8px;
}
.pcrd-type {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #92cd00;
  margin-bottom: 12px;
}
.pcrd-quote {
  font-size: 12px;
  color: rgba(14,19,15,.5);
  line-height: 1.6;
  font-style: italic;
}
@media (max-width: 1024px) {
  .ft-featured { margin: -80px -36px 48px; padding: 48px 36px; }
  .press-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .ft-featured { margin: -44px -20px 40px; padding: 40px 20px; }
  .press-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .pcrd { padding: 20px 14px; }
  .pcrd-logo { height: 48px; margin-bottom: 12px; }
  .pcrd-logo img { max-height: 48px; }
  .pcrd-name { font-size: 11px; }
  .pcrd-quote { font-size: 11px; }
}
@media (max-width: 480px) {
  .ft-featured { margin: -36px -16px 32px; padding: 36px 16px; }
  .press-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

