/* LAUNEXT iOS / Safari hardening, 2026-08-25 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,[type="button"],[type="submit"],.btn{-webkit-appearance:none;appearance:none}
.site-header.scrolled{-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}
.mobile-menu{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.global-modal,.modal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.newsletter button{
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
  background:rgba(255,255,255,.72)!important;
  border-color:var(--ink)!important;
  opacity:1!important;
  font-weight:600!important;
}
.newsletter input{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;background:#fff!important}
.newsletter input::placeholder{color:#7A8090!important;opacity:1!important;-webkit-text-fill-color:#7A8090!important}
.hero-ios-fallback{display:none!important}
html.ios-safari .home-hero .hero-motion-video,html.apple-safari .home-hero .hero-motion-video{display:none!important}
html.ios-safari .home-hero .hero-ios-fallback,html.apple-safari .home-hero .hero-ios-fallback{display:block!important;background:transparent!important}


/* Apple WebKit: alpha WebM can render with a black matte. Use the transparent animated WebP instead. */
@supports (-webkit-touch-callout:none){
  .home-hero .hero-motion-video{display:none!important}
  .home-hero .hero-ios-fallback{display:block!important;background:transparent!important}
  .btn-solid{background:#C94E00!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
  .btn-solid:hover,.btn-solid:active{background:#B94500!important}
  .btn-blueprint{color:var(--blueprint)!important;-webkit-text-fill-color:var(--blueprint)!important}
  .btn-outline{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important}
  .formation-pill{color:#743400!important;-webkit-text-fill-color:#743400!important}
  .site-header.scrolled,.formation-subnav-shell{-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}
}

@media(max-width:1024px){
  input,select,textarea{font-size:16px!important}
  .btn,.menu-btn{min-height:44px}
  .newsletter button{min-height:48px!important;font-size:16px!important}
  .newsletter input{min-height:48px!important;font-size:16px!important}
  .mobile-actions{padding-bottom:calc(13px + env(safe-area-inset-bottom))!important}
}

@media(max-width:700px){
  .home-hero .hero-motion-wrap{background:transparent!important}
  .home-hero .hero-ios-fallback{width:100%!important;max-width:360px!important;height:auto!important;object-fit:contain!important;filter:none!important}
  .formation-hero-image-ios{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;background:transparent!important;filter:none!important}
  .formation-subnav-shell{top:calc(64px + env(safe-area-inset-top))!important}
  .formation-subnav{min-height:60px!important}
  .formation-subnav-scroll{position:relative;padding-right:18px!important;-webkit-overflow-scrolling:touch!important;box-shadow:inset -18px 0 14px -16px rgba(18,21,31,.35)}
  .formation-subnav-link{font-size:14px!important;min-height:44px!important;height:44px!important}
  .formation-subnav-actions .btn{min-height:44px!important;font-size:14px!important;padding-inline:16px!important}
  #formationApplyModal.global-modal{padding:0!important;align-items:stretch!important;justify-content:stretch!important}
  #formationApplyModal .global-modal-card{
    width:100%!important;max-width:none!important;
    height:100svh!important;min-height:100svh!important;max-height:100svh!important;
    border-radius:0!important;margin:0!important;
  }
  #formationApplyModal .global-modal-head{
    padding-top:calc(14px + env(safe-area-inset-top))!important;
    min-height:calc(64px + env(safe-area-inset-top))!important;
  }
  #formationApplyModal .global-modal-scroll{
    overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
  }
  #formationApplyModal .global-modal-body{padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
  #formationApplyModal .global-modal-close{min-width:44px!important;min-height:44px!important}
  #formationApplyModal .global-form label{font-size:13px!important;line-height:1.35!important}
  #formationApplyModal .formation-idea-option{min-height:88px!important}
  #formationApplyModal .formation-idea-option-body small{font-size:13px!important;line-height:1.35!important}
  #formationApplyModal select{
    color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;background-color:#fff!important;
  }
  #formationApplyModal input,#formationApplyModal select{border-color:#D6D0C6!important}
  .site-footer{padding-bottom:env(safe-area-inset-bottom)}
}

/* PWA / standalone / landscape safe areas */
@media(max-width:1024px){
  html.ios-safari .site-header{padding-top:env(safe-area-inset-top);background:rgba(251,250,247,.98)}
  html.ios-safari .site-header + main{padding-top:calc(64px + env(safe-area-inset-top))!important}
  html.ios-safari .mobile-menu{inset:calc(64px + env(safe-area-inset-top)) 0 0!important}
}

/* :has() fallback for older WebKit versions. */
.formation-idea-option.is-selected{border-color:var(--ignition)!important;background:#fffaf6!important;box-shadow:0 0 0 1px rgba(255,107,18,.08)!important}
.formation-idea-option.is-selected .formation-idea-check{border-color:var(--ignition)!important}
.formation-idea-option.is-selected .formation-idea-check:after{transform:scale(1)!important}

/* Apple Safari animated hero: preserve the exact geometry of the standard hero media. */
html.apple-safari .home-hero .hero-ios-fallback{
  image-rendering:auto!important;
  -webkit-user-drag:none;
  user-select:none;
}
@media (min-width:1025px){
  html.apple-safari .home-hero .hero-ios-fallback{width:100%!important;height:auto!important;object-fit:contain!important;}
}
