/* JMD Universal Device Fit Layer - 2026 */
*,:before,:after{box-sizing:border-box}html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{width:100%;max-width:100%;overflow-x:hidden}img,svg,video,canvas,iframe{max-width:100%}img{height:auto}iframe,video{width:100%}input,select,textarea,button{max-width:100%;font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.site-shell{width:min(1440px,calc(100% - 40px));margin-inline:auto}.page-wrapper,.site-header,.site-footer,main{max-width:100%;overflow-x:clip}.table-responsive,.device-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.device-table-wrap table{min-width:720px;margin-bottom:0}.device-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.device-scroll-x>*{min-width:max-content}.device-hide-desktop{display:none!important}.device-only-mobile{display:none!important}.safe-bottom{padding-bottom:max(12px,env(safe-area-inset-bottom))}.safe-top{padding-top:max(0px,env(safe-area-inset-top))}

/* fluid public shell */
.brand-inner,.nav-inner,.topbar-inner,.hero-grid,.quick-grid,.stats-grid,.course-grid,.product-grid,.three-panels,.footer-grid,.gallery-grid{min-width:0}.site-brand,.brand-text,.brand-contact-cards,.hero-copy,.hero-visual,.course-card,.product-card,.info-panel{min-width:0}.brand-text strong,.brand-text b,.brand-text small,.mini-contact b{overflow-wrap:anywhere}.hero-copy h1{font-size:clamp(32px,4vw,62px);line-height:1.02}.section-head h2{font-size:clamp(24px,2.4vw,36px)}.hero-copy>p,.section-head p{font-size:clamp(12px,1.15vw,16px)}.course-photo img,.product-photo img,.gallery-item img{display:block;width:100%;height:100%;object-fit:cover}.nav-row{position:relative;z-index:80}.main-nav{min-width:0}.nav-link{white-space:nowrap}.nav-dropdown{max-width:min(92vw,780px)}.hero-grid{overflow:hidden}.hero-visual img{object-fit:cover}.quick-grid a,.course-card,.product-card,.info-panel{height:100%}.form-control,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],input[type=search],select,textarea{width:100%;max-width:100%}.modal-dialog{max-width:min(94vw,900px)}

/* very large screens */
@media(min-width:1600px){.site-shell{width:min(1500px,calc(100% - 64px))}.hero-grid{min-height:540px}.course-grid{gap:20px}.brand-text strong{font-size:30px}}
@media(min-width:1920px){.site-shell{width:1540px}.hero-copy{padding-left:24px}.hero-visual{min-height:560px}}

/* laptop / small desktop */
@media(max-width:1280px){.site-shell{width:min(1180px,calc(100% - 30px))}.brand-contact-cards{gap:8px}.mini-contact{padding-inline:8px}.nav-link{padding-inline:9px}.hero-grid{min-height:auto}.course-grid,.product-grid{gap:14px}}
@media(max-width:1100px){.site-shell{width:calc(100% - 28px)}.brand-contact-cards .mini-contact{display:none}.brand-text strong{font-size:23px}.brand-text b{font-size:10px}.course-grid,.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* tablet */
@media(max-width:900px){body{min-width:0}.device-hide-tablet{display:none!important}.brand-inner{min-height:78px}.site-brand{max-width:calc(100% - 80px)}.brand-text strong{font-size:20px}.brand-text b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw}.mobile-nav-toggle{display:flex!important;align-items:center;justify-content:center;min-width:48px;min-height:48px}.main-nav{width:100%!important;max-width:none!important}.nav-dropdown{max-width:none!important}.hero-grid{grid-template-columns:1fr!important}.hero-copy{padding:36px 8px 28px}.hero-visual{min-height:320px}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-panels{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.why-grid,.success-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-list{grid-template-columns:1fr}.cta-inner{gap:16px}}

/* phone */
@media(max-width:640px){html{font-size:15px}body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}.device-hide-mobile{display:none!important}.device-only-mobile{display:block!important}.site-shell{width:calc(100% - 20px)}.site-topbar{display:none}.brand-inner{min-height:68px;gap:10px}.site-brand{max-width:calc(100% - 56px);gap:9px}.brand-logo{width:50px!important;height:50px!important;flex:0 0 50px!important}.brand-text strong{font-size:16px;line-height:1.05}.brand-text b{font-size:8px;max-width:64vw}.brand-text small,.brand-text em{display:none}.nav-inner{min-height:50px}.mobile-nav-toggle{min-width:48px;min-height:48px}.nav-search{height:48px;min-width:48px}.main-nav{top:50px!important;max-height:calc(100dvh - 120px)!important;overflow-y:auto!important;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}.nav-link{min-height:46px;font-size:12px}.hero-copy{padding:28px 4px 22px}.hero-copy h1{font-size:clamp(31px,9vw,40px)}.hero-copy>p{font-size:13px;line-height:1.65}.hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.hero-btn{min-width:0!important;width:100%;text-align:center;padding-inline:10px!important}.hero-icons{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.hero-visual{min-height:230px}.quick-grid{grid-template-columns:1fr 1fr;gap:9px}.quick-grid a{min-height:76px;padding:10px}.stats-grid{grid-template-columns:1fr 1fr;gap:0}.section-head{align-items:flex-start!important;gap:8px}.section-head h2{font-size:25px}.section-head>a{font-size:10px;white-space:nowrap}.course-grid,.product-grid{grid-template-columns:1fr 1fr;gap:10px}.course-photo{height:122px}.product-photo{height:150px}.course-body,.product-body{padding:12px!important}.course-body h3,.product-body h3{font-size:13px!important}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:110px;gap:8px}.gallery-item.featured{grid-column:span 2}.why-grid,.success-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-bottom .site-shell{flex-direction:column;text-align:center;gap:5px}.mobile-action-bar{display:grid!important;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.floating-wa,.back-top{bottom:calc(74px + env(safe-area-inset-bottom))!important}.cta-inner{flex-direction:column!important;align-items:flex-start!important;padding:22px!important}.cta-inner h2{font-size:22px}.album-grid{grid-template-columns:1fr!important}.modern-photo-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.modern-photo-item{height:145px!important}.jmd-lightbox-stage{height:min(88dvh,720px)!important;width:100%!important}.jmd-lightbox-prev,.jmd-lightbox-next{width:42px!important;height:42px!important}.jmd-lightbox-modal{padding:8px!important}.modal-dialog{margin:8px auto!important;width:calc(100% - 16px)!important}.modal-content{max-height:calc(100dvh - 16px);overflow:auto}.form-control,input,select,textarea{font-size:16px!important}.btn,button,.hero-btn,.btn-brand{min-height:44px}.table-responsive{border-radius:12px}}
@media(max-width:480px){.quick-grid{grid-template-columns:1fr 1fr}.course-grid,.product-grid{grid-template-columns:1fr}.course-photo{height:180px}.product-photo{height:220px}.gallery-grid{grid-template-columns:1fr 1fr}.brand-text b{max-width:61vw}.hero-actions{grid-template-columns:1fr!important}.hero-icons{gap:6px}.stats-grid strong{font-size:18px}.stats-grid span{font-size:9px}}
@media(max-width:360px){.site-shell{width:calc(100% - 16px)}.brand-logo{width:44px!important;height:44px!important;flex-basis:44px!important}.brand-text strong{font-size:14px}.brand-text b{font-size:7px;max-width:59vw}.hero-copy h1{font-size:29px}.quick-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-item.featured{grid-column:auto}.mobile-action-bar a{font-size:8px}}

/* short landscape phones */
@media(orientation:landscape) and (max-height:520px){body{padding-bottom:0}.mobile-action-bar{display:none!important}.main-nav{max-height:calc(100dvh - 70px)!important}.hero-grid{grid-template-columns:1fr 1fr!important}.hero-copy{padding:18px 4px}.hero-copy h1{font-size:30px}.hero-visual{min-height:260px}.hero-icons{display:none!important}}

/* PWA standalone */
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}.site-header{padding-top:0}.mobile-action-bar{padding-bottom:env(safe-area-inset-bottom)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
