/* =========================================================
   Agripoli v0.19 — Products navigation dropdown
   ========================================================= */
.product-nav-group{position:relative;display:flex;align-items:center;}
.product-nav-trigger{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-family:var(--body);font-size:13px;font-weight:700;color:rgba(23,52,43,.72);
  transition:color .2s ease;
}
.product-nav-trigger:hover,.product-nav-trigger:focus-visible,.product-nav-trigger.active,.product-nav-group.active .product-nav-trigger{color:var(--brand-dark);}
.product-nav-chevron{width:7px;height:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .24s ease;opacity:.58;}
.product-nav-group.is-open .product-nav-chevron{transform:rotate(225deg) translate(-1px,-1px);}
.product-nav-submenu{
  position:absolute;z-index:120;left:50%;top:calc(100% + 17px);width:280px;
  display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;
  border:1px solid rgba(23,52,43,.09);border-radius:22px;
  background:rgba(255,255,255,.97);box-shadow:0 24px 58px rgba(23,52,43,.16),0 5px 16px rgba(23,52,43,.06);
  backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);
  opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px) scale(.97);
  transform-origin:top center;transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s linear .26s;
}
.product-nav-group.is-open .product-nav-submenu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1);transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s;
}
.product-nav-submenu::before{content:"";position:absolute;left:50%;top:-7px;width:14px;height:14px;background:#fff;border-left:1px solid rgba(23,52,43,.09);border-top:1px solid rgba(23,52,43,.09);transform:translateX(-50%) rotate(45deg);}
.primary-nav .product-sub-link{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;
  min-height:78px;padding:14px 14px 14px 16px;border:1px solid rgba(47,185,128,.12);border-radius:16px;
  background:linear-gradient(145deg,#fff,#f2fbf6);color:var(--ink);box-shadow:0 8px 20px rgba(23,52,43,.04);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
.primary-nav .product-sub-link::before{content:"";position:absolute;right:12px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(47,185,128,.12);}
.primary-nav .product-sub-link::after{content:"";position:absolute;right:14px;bottom:14px;width:7px;height:7px;border-right:1.6px solid currentColor;border-top:1.6px solid currentColor;transform:rotate(45deg);opacity:.34;}
.primary-nav .product-sub-link:hover,.primary-nav .product-sub-link:focus-visible{transform:translateY(-2px);border-color:rgba(47,185,128,.28);box-shadow:0 13px 28px rgba(47,185,128,.10);}
.product-sub-link span{font-family:var(--display);font-size:14px;font-weight:800;letter-spacing:-.01em;}
.product-sub-link small{font-size:11px;font-weight:650;color:var(--muted);}
.catalog-anchor{position:relative;display:block;top:-112px;visibility:hidden;}

@media (max-width:900px){
  .product-nav-group{display:block!important;opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .28s cubic-bezier(.2,.8,.2,1);}
  .nav-open .product-nav-group{opacity:1;transform:none;transition-delay:.105s;}
  .product-nav-trigger{
    position:relative!important;width:100%!important;min-height:66px!important;
    display:grid!important;grid-template-columns:31px minmax(0,1fr) 18px!important;align-items:center!important;column-gap:10px!important;
    padding:10px!important;border:1px solid rgba(23,52,43,.065)!important;border-radius:17px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,251,248,.96))!important;
    box-shadow:0 4px 15px rgba(23,52,43,.035)!important;font-size:13px!important;font-weight:750!important;line-height:1.25!important;color:#2d473d!important;text-align:left;
  }
  .product-nav-trigger::before{
    content:attr(data-nav-index);width:31px;height:31px;display:grid;place-items:center;border-radius:11px;
    background:rgba(47,185,128,.085);color:#268f64;font-size:9px;font-weight:800;letter-spacing:.07em;
    box-shadow:inset 0 0 0 1px rgba(47,185,128,.09);
  }
  .product-nav-trigger.active,.product-nav-group.active .product-nav-trigger,.product-nav-trigger:hover,.product-nav-trigger:focus-visible{
    color:#176b4a!important;background:linear-gradient(145deg,#fff,rgba(234,249,241,.98))!important;border-color:rgba(47,185,128,.20)!important;box-shadow:0 8px 22px rgba(47,185,128,.085)!important;
  }
  .product-nav-trigger.active::before,.product-nav-group.active .product-nav-trigger::before{background:#2fb980;color:#fff;box-shadow:0 7px 16px rgba(47,185,128,.22);}
  .product-nav-chevron{justify-self:center;width:8px;height:8px;}
  .product-nav-group.is-open{grid-column:1/-1;}
  .product-nav-submenu{
    position:static;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
    max-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
    opacity:0;visibility:hidden;pointer-events:none;transform:none;overflow:hidden;transition:max-height .3s cubic-bezier(.2,.8,.2,1),opacity .18s ease,margin .3s ease,padding .3s ease;
  }
  .product-nav-group.is-open .product-nav-submenu{max-height:150px;margin-top:8px;padding:0;opacity:1;visibility:visible;pointer-events:auto;transform:none;}
  .product-nav-submenu::before{display:none;}
  .primary-nav .product-sub-link{
    min-height:70px!important;padding:12px 28px 12px 13px!important;border:1px solid rgba(47,185,128,.12)!important;border-radius:15px!important;
    background:linear-gradient(145deg,#fff,#edf9f3)!important;color:#17342b!important;opacity:1!important;transform:none!important;
  }
  .primary-nav .product-sub-link::before{display:block!important;left:auto!important;right:11px!important;top:11px!important;bottom:auto!important;width:7px!important;height:7px!important;border-radius:50%!important;background:#2fb980!important;box-shadow:0 0 0 4px rgba(47,185,128,.10)!important;}
  .primary-nav .product-sub-link::after{display:block!important;right:13px!important;bottom:13px!important;top:auto!important;width:6px!important;height:6px!important;opacity:.35!important;}
  .product-sub-link span{font-size:13px;}.product-sub-link small{font-size:10.5px;}
}
@media (max-width:480px){
  .product-nav-trigger{min-height:62px!important;grid-template-columns:29px minmax(0,1fr) 16px!important;padding:9px!important;border-radius:15px!important;font-size:12.5px!important;}
  .product-nav-trigger::before{width:29px;height:29px;border-radius:10px;}
  .primary-nav .product-sub-link{min-height:64px!important;padding:10px 24px 10px 11px!important;}
}
@media (prefers-reduced-motion:reduce){
  .product-nav-submenu,.product-nav-trigger,.product-nav-chevron,.product-nav-group,.product-sub-link{transition:none!important;}
}

/* =========================================================
   v0.39 — site-wide mobile overflow and proportion hardening
   ========================================================= */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

img,
video,
canvas,
svg{
  max-width:100%;
}

.shell,
.header-inner,
.hero-grid,
.subhero-grid,
.approach-grid,
.about-grid,
.contact-inner,
.footer-grid,
.media-grid,
.press-hero-grid,
.press-launchpad-heading,
.product-foundation-grid,
.pf-visual-head,
.bf-network,
.bg-flow-shell,
.impact-hero-grid,
.impact-meter-shell,
.impact-cta-box{
  min-width:0;
}

h1,
h2,
h3,
p,
a,
button,
small,
strong,
.eyebrow,
.button,
.header-cta,
.text-link,
.contact-mail,
.footer-links,
.mobile-nav-footer-copy,
.product-nav-trigger,
.product-sub-link,
.media-card,
.press-button,
.pf-card,
.pf-series-card,
.bf-sector-card,
.bg-stage,
.impact-step,
.impact-mail{
  min-width:0;
  max-width:100%;
  overflow-wrap:break-word;
}

.hero-principles span,
.about-meta span,
.media-feature-meta span,
.press-social-proof article,
.pf-code,
.pf-status,
.pf-ratio,
.bg-product-tile{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:break-word;
}

@media (max-width:900px){
  .primary-nav{
    left:12px!important;
    right:12px!important;
    max-width:calc(100vw - 24px)!important;
    overflow-x:hidden!important;
  }

  .product-nav-submenu{
    max-width:100%!important;
  }

  .primary-nav .product-sub-link{
    overflow:hidden!important;
  }

  .product-sub-link span,
  .product-sub-link small,
  .mobile-nav-intro span,
  .mobile-nav-intro small,
  .mobile-nav-footer-copy strong{
    overflow-wrap:anywhere;
  }
}

@media (max-width:760px){
  :root{
    --shell:min(100% - 28px, 1180px);
  }

  .section,
  .contact-section,
  .compact-contact,
  .press-hero,
  .press-launchpad,
  .media-hero-v2,
  .subhero{
    overflow:hidden;
  }

  h1,
  h2{
    letter-spacing:0!important;
    text-wrap:balance;
  }

  h1{
    font-size:clamp(34px, 11.2vw, 52px)!important;
    line-height:1.08!important;
  }

  h2{
    font-size:clamp(30px, 9.4vw, 43px)!important;
    line-height:1.1!important;
  }

  h3{
    line-height:1.14!important;
  }

  .eyebrow{
    width:fit-content;
    max-width:100%;
    gap:8px;
    letter-spacing:.08em!important;
    line-height:1.25;
    white-space:normal;
  }

  .eyebrow::before{
    flex:0 0 24px;
  }

  .hero-actions,
  .contact-actions,
  .social-row,
  .footer-links,
  .about-meta,
  .media-feature-meta{
    width:100%;
  }

  .button,
  .text-link,
  .social-row a,
  .footer-links a,
  .impact-mail{
    white-space:normal;
    text-align:center;
  }

  .hero-visual{
    width:min(100%, 420px);
    margin-inline:auto;
    overflow:hidden;
  }

  .visual-orbit{
    max-width:calc(100vw - 44px);
    max-height:calc(100vw - 44px);
  }

  .visual-card{
    width:min(158px, calc((100vw - 42px) / 2));
    padding:11px!important;
    border-radius:16px!important;
  }

  .visual-card strong,
  .visual-card small{
    overflow-wrap:break-word;
  }

  .principle-grid article,
  .value-card,
  .product-foundation-card,
  .media-feature,
  .media-card,
  .press-card,
  .press-button,
  .pf-card,
  .pf-series-card,
  .bf-sector-card,
  .bg-stage,
  .impact-card,
  .impact-proof article{
    max-width:100%;
    overflow:hidden;
  }

  .press-social-proof,
  .media-proof-row,
  .media-logo-cloud-inner,
  .press-button-grid,
  .pf-grid,
  .pf-grid-biofill,
  .pf-grid-biogenic,
  .pf-value-pills{
    grid-template-columns:1fr!important;
  }

  .press-social-proof article,
  .media-proof-row span,
  .press-button{
    align-items:center;
    text-align:center;
  }

  .press-logo-wrap,
  .press-logo,
  .logo-chip{
    max-width:100%;
  }

  .press-logo-wrap img,
  .press-logo img,
  .logo-chip img{
    max-width:min(80%, 220px);
  }

  .press-photo-stage,
  .press-photo-frame,
  .media-photo-stage,
  .media-photo-frame-v2{
    max-width:100%;
  }

  .press-photo-tag{
    max-width:calc(100% - 20px);
    white-space:normal;
    line-height:1.25;
    text-align:left;
  }

  .page-media .press-photo-frame{
    overflow:hidden;
  }

  .page-media .press-photo-tag.tag-one{
    top:10px!important;
    left:10px!important;
  }

  .page-media .press-photo-tag.tag-two{
    right:10px!important;
    bottom:10px!important;
  }

  .pf-tabs{
    width:100%;
    max-width:100%;
    border-radius:22px;
  }

  .pf-tab{
    min-width:0;
    padding:11px 8px;
    gap:7px;
  }

  .pf-tab-icon{
    width:22px;
    height:22px;
  }

  .pf-tab-text{
    min-width:0;
    align-items:center;
    text-align:center;
  }

  .pf-tab-text strong{
    font-size:13px;
    overflow-wrap:anywhere;
  }

  .pf-card-top,
  .pf-series-head,
  .pf-spec-row,
  .pf-ratio-row{
    min-width:0;
    max-width:100%;
  }

  .pf-spec-row,
  .pf-ratio-row{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .pf-spec,
  .pf-ratio{
    min-width:0;
    justify-content:center;
    text-align:center;
  }

  .pf-series-head{
    align-items:flex-start;
  }

  .pf-series-tag{
    flex:0 0 auto;
  }

  .bf-center-stage,
  .bf-powder-core,
  .bg-stage,
  .bg-stage-visual,
  .bg-visual-product,
  .bg-visual-polymer{
    max-width:100%;
    overflow:hidden;
  }

  .bg-visual-product{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  }

  .agp-flow-shell{
    max-width:100%;
    overflow-x:auto;
  }

  .impact-meter-card,
  .impact-cta-box,
  .impact-mail{
    max-width:100%;
    overflow:hidden;
  }
}

@media (max-width:480px){
  :root{
    --shell:min(100% - 24px, 1180px);
  }

  h1{
    font-size:clamp(32px, 10.7vw, 46px)!important;
  }

  h2{
    font-size:clamp(28px, 9vw, 38px)!important;
  }

  .button,
  .contact-mail,
  .press-button,
  .pf-card,
  .pf-series-card,
  .product-foundation-card,
  .value-card{
    border-radius:18px;
  }

  .pf-spec-row,
  .pf-ratio-row{
    grid-template-columns:1fr;
  }

  .pf-status,
  .pf-code,
  .pf-ratio{
    width:100%;
  }

  .footer-bottom{
    align-items:flex-start;
  }
}
