/* ForeTheYouth.org V19: mobile accessibility and layout guardrails */
html{overflow-x:clip;-webkit-text-size-adjust:100%}body{min-width:0;overflow-x:clip}main,section,header,footer{min-width:0}img,video,iframe,svg{max-width:100%}img{height:auto} .wrap,.split>*,.cards>*,.fty-connect-grid>*,.one-showcase-head>*,.one-hero-grid>*{min-width:0}input,textarea,select,button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #37e99a;outline-offset:3px}#menu{cursor:pointer;border-radius:7px;min-width:44px;min-height:44px}#links a{min-height:40px;display:inline-flex;align-items:center}.button,.login{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center}.fty-brand{min-width:0} .fty-wordmark .fty-name{overflow-wrap:normal}
@media(max-width:1100px){header nav{gap:12px}#menu{display:flex;align-items:center;justify-content:center;flex:0 0 46px}#links{display:none;position:absolute;top:100%;left:0;right:0;background:#04140ef8;padding:15px max(18px,calc((100vw - 1172px)/2));flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100dvh - 70px);overflow-y:auto;box-shadow:0 15px 25px #0005}#links.open{display:flex}#links a{width:100%;font-size:15px;padding:11px 13px;border-bottom:1px solid #ffffff18;min-height:48px}#links a.login{margin-top:8px;justify-content:center;border:0}header nav{position:relative}header{position:absolute}}
@media(max-width:850px){.one-showcase-head,.one-hero-grid{grid-template-columns:1fr!important;gap:24px}.one-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.one-shot img,.one-hero-image img{height:auto!important;max-height:470px;object-fit:contain!important}.fty-connect-grid{grid-template-columns:1fr!important}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{padding-inline:18px}.hero{min-height:610px;padding:132px 0 55px;background-size:cover;background-position:63% center}.hero h1,.page-hero h1{font-size:clamp(48px,11vw,78px);overflow-wrap:break-word}.hero p,.page-hero p{font-size:16px}.page-hero{padding:145px 0 70px}.section{padding:58px 0}.split,.cards,.pillars,footer .footer-cols{grid-template-columns:1fr}.split{gap:28px}.pillar{min-height:230px;height:auto}.photo{height:auto;max-height:420px;aspect-ratio:4/3;object-fit:cover}.levels{grid-template-columns:repeat(2,minmax(0,1fr))}.levels div{min-width:0}.system-features{grid-template-columns:1fr}.course-journey-v5{grid-template-columns:1fr}.journey-map-v5 img{height:auto;min-height:0}.fty-brand img{width:58px;height:44px}.fty-wordmark{font-size:clamp(14px,3.6vw,18px)}.fty-wordmark small{font-size:6px;letter-spacing:.04em}.fty-footer-brand{align-items:center}.fty-connect-card{padding:22px}.fty-ask-row textarea,.fty-inquiry input,.fty-inquiry textarea,.fty-inquiry select{font-size:16px!important}.fty-chips button{min-height:44px}.fty-chat{height:260px}.one-showcase,.one-section{padding:58px 0}.sg-page .sg-ribbon .wrap{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.sg-page .sg-ribbon span{padding:0 4px}.journey-v12 .j-origin{grid-template-columns:1fr}.journey-v12 .j-tracks{grid-template-columns:1fr}}
@media(max-width:480px){.wrap{padding-inline:16px}.fty-brand{gap:5px!important}.fty-brand img{width:49px;height:39px}.fty-wordmark{font-size:14px}.fty-wordmark small{font-size:5.5px;letter-spacing:0}.hero h1,.page-hero h1{font-size:clamp(44px,12vw,62px)}h2{font-size:clamp(32px,9vw,44px)}.actions{flex-direction:column;align-items:stretch}.actions .button{width:100%}.levels{grid-template-columns:1fr}.levels div:last-child{grid-column:auto}.one-steps{grid-template-columns:1fr}.fty-connect-card h3{font-size:clamp(26px,7.5vw,34px)}.fty-connect-card{padding:18px}.fty-chat{height:235px}.fty-bubble{max-width:100%}.course-journey-v5 .journey-intro-v5{padding:32px 18px}.sg-page .sg-photo{height:270px}.system-feature{gap:10px}.system-icon{width:45px;height:45px}.fty-footer-brand img{width:64px;height:46px}.fty-footer-brand strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
