/* Bounded device fixes. Desktop composition, colors, and copy remain unchanged. */
.skip-link{position:absolute;left:16px;top:0;transform:translateY(-150%);z-index:100;background:#fff;color:var(--green);padding:12px 18px;border:2px solid currentColor}
.skip-link:focus{transform:translateY(8px)}
/* Intrinsic image dimensions reserve space without stretching the footer logo. */
.footer-logo{height:auto}
.content-grid>*,.contact-layout>*,.product-columns>*,.solution-grid>*,.footer-top>*{min-width:0}
.product-detail,.product-heading,.product-detail p,.product-detail li{min-width:0;overflow-wrap:anywhere}
.contact-layout{align-items:start}
.contact-form .h-captcha{min-height:144px;max-width:100%}
@media(max-width:1100px) and (min-width:801px){
  .footer-top{column-gap:30px}
  .footer-top a{overflow-wrap:anywhere}
}
@media(max-width:800px){
  /* Percentage column gaps become oversized row gaps after stacking. */
  .contact-layout,.content-grid,.intro,.statement,.editorial{row-gap:32px}
  .contact-layout{grid-template-columns:minmax(0,1fr)}
  .menu-toggle,.site-nav a{min-height:44px}
  .site-nav{top:calc(100% - 1px);max-height:calc(100dvh - 90px);overscroll-behavior:contain}
  .contact-card{padding:clamp(22px,5vw,42px)}
  .contact-card a{overflow-wrap:anywhere}
  .contact-form input,.contact-form textarea{min-width:0;width:100%;font-size:1rem}
  .contact-form textarea{resize:vertical}
  .product-detail .button{max-width:100%;white-space:normal;line-height:1.45}
  .product-detail .text-link{max-width:100%;white-space:normal;display:block;overflow-wrap:anywhere}
  .product-jumps a{min-height:44px;display:inline-flex;align-items:center}
  .hero-controls{gap:0;padding:0 2px}
  .hero-dot{position:relative;width:44px;height:44px;background:transparent;transform:none!important}
  .hero-dot::before{content:'';position:absolute;width:10px;height:10px;inset:17px;border-radius:50%;background:#bba9ac}
  .hero-dot.is-active{background:transparent}
  .hero-dot.is-active::before{background:var(--green);transform:scale(1.25)}
}
@media(max-width:360px){
  .page-hero h1{font-size:clamp(2.5rem,13vw,3.2rem);overflow-wrap:break-word}
  .hero-actions .button{white-space:normal;max-width:100%}
  .hero-slide .hero-note{max-width:calc(100% - 32px)}
}
