/* Cross-browser + mobile compatibility layer (Chrome / Firefox / Safari / Android / iOS) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,video,svg{height:auto}
button,input,select,textarea{-webkit-appearance:none;appearance:none;border-radius:0}
.nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.hero-portrait img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 94%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 94%,transparent 100%)}
.ticker-track,.hero-ticker-track,.mentor-media-logos,.trusted-logo-track{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.hero-bg-word,.floating-stamp{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}
.gallery-filters,.photo-gallery-grid{-webkit-overflow-scrolling:touch}

/* Use dynamic viewport units where available, retaining vh fallback. */
.hero{min-height:100vh}
@supports (height:100dvh){.hero{min-height:100dvh}}

/* Prevent long content and flex/grid children from forcing horizontal overflow. */
.nav,.navlinks,.hero-shell,.hero-copy-block,.section-head,.mentor-card-shell,.mentor-premium-grid,.mentor-details,.media-slide,.testimonial-slide{min-width:0}
h1,h2,h3,p,blockquote,.hero-desc,.section-intro{overflow-wrap:break-word}
iframe,video{max-width:100%}

/* iOS/Android tap behavior and readable controls. */
a,button,.gallery-filter,.testimonial-dot,.media-slider-controls button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}

@media (max-width:820px){
  .nav{padding-left:14px!important;padding-right:14px!important;gap:10px}
  .navlinks{min-width:0}
  .container{width:min(100% - 24px,1320px)}
}
@media (max-width:560px){
  html,body{overflow-x:hidden!important}
  .nav{width:100%!important;max-width:100%!important}
  .nav .logo img{height:auto!important}
  .hero-shell,.hero-copy-block,.hero-portrait{max-width:100%!important}
  .hero-main-title,.section h2,.photo-gallery-section .gallery-heading h2{word-break:normal!important;overflow-wrap:break-word!important}
  .hero-ctas{width:100%!important}
  .hero-btn{min-width:0!important}
  .trusted-logo-track,.mentor-media-logos,.hero-ticker-track,.ticker-track{will-change:transform}
}
