
/* Static prototype: preserve source layout; make animation content visible without WP. */
.vk_animation {opacity:1!important; transform:none!important;}
#wptime-plugin-preloader{display:none!important}
html{scroll-behavior:smooth}
#wpfront-scroll-top-container{cursor:pointer}
/* Mobile menu independent from WordPress scripts */
@media(max-width:991px){
.vk-mobile-nav.vk-mobile-nav-open{display:block!important;position:fixed!important;inset:0!important;transform:none!important;opacity:1!important;visibility:visible!important;z-index:99999!important;overflow:auto!important;padding-top:55px!important;background:white!important}
#vk-mobile-nav-menu-btn{z-index:100000!important}
}
html,body{overflow-x:clip}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.vk-mobile-nav{transition:none!important}}
.site-footer .vk_animation,.site-footer [class*="vk_custom_css"]{opacity:1!important;transform:none!important}
.static-contact{max-width:900px;margin:40px auto;padding:24px;line-height:1.8}
.static-contact label{display:block;font-weight:bold;margin:20px 0 6px}
.static-contact input,.static-contact textarea{display:block;box-sizing:border-box;width:100%;padding:12px;border:1px solid #759bb0;border-radius:4px;background:white;color:#222}
.static-contact button{margin:24px 0;padding:14px 20px;background:#0077b8;color:white;border:0;border-radius:5px;cursor:pointer}
.prototype-note{padding:16px;border-left:5px solid #efaa00;background:#fff8df}
:focus-visible{outline:3px solid #eea900;outline-offset:4px}
@media(max-width:600px){.static-contact{padding:16px;margin:16px auto}table{max-width:100%}td,th{overflow-wrap:anywhere}}
/* SSGform: keep existing colors and spacing, add confirmation panel. */
.static-contact fieldset{border:0;padding:0;margin:0;min-width:0}
.static-contact [hidden]{display:none!important}
.static-contact .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.static-contact .consent-label{display:flex;align-items:flex-start;gap:10px;font-size:14px}
.static-contact .consent-label input{width:20px;height:20px;flex:none;margin-top:4px}
.honeypot{display:none!important}
#confirm-values{margin:24px 0;border-top:1px solid #bfd2df}
#confirm-values dt{font-weight:bold;margin-top:18px;color:#24566f}
#confirm-values dd{margin:6px 0 16px;padding-bottom:16px;border-bottom:1px solid #bfd2df;white-space:pre-wrap;overflow-wrap:anywhere}
.contact-actions{display:flex;gap:14px;flex-wrap:wrap}
.static-contact #edit-contact{background:#547182}
.static-contact button:disabled{background:#a0aeb6;cursor:not-allowed;opacity:.85}
#turnstile-container{max-width:100%;min-width:0}
@media(max-width:600px){.contact-actions button{width:100%;margin:8px 0}}
/* Ver.5: replace the retired Instagram post grid with a balanced contact area. */
.site-footer .footer-cta-left{width:100%!important;max-width:800px;margin-left:auto!important;margin-right:auto!important;flex:0 1 800px!important}
.site-footer .footer-cta{justify-content:center}

/* Ver.5 mobile final: all layout overrides below are limited to mobile widths. */
.mobile-nav-bar{display:none}
@media(max-width:991px){
 body{padding-top:64px!important}
 html{scroll-padding-top:84px}
 h1,h2,h3,h4,[id],input,textarea,button{scroll-margin-top:84px}
 .mobile-nav-bar{display:flex;position:fixed;inset:0 0 auto 0;height:64px;box-sizing:border-box;align-items:center;justify-content:space-between;padding:8px 18px;background:#fff;border-bottom:1px solid #d2e3ed;box-shadow:0 2px 8px #163d5310;z-index:100001}
 .mobile-brand{font-size:21px;font-weight:700;letter-spacing:.06em;color:#0077b8;text-decoration:none}
 #vk-mobile-nav-menu-btn{position:static!important;inset:auto!important;margin:0!important;width:56px!important;height:48px!important;box-sizing:border-box!important;border:1px solid #b7cfdf!important;border-radius:6px;background:#fff!important;color:#24566f!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:8px 4px!important;overflow:visible!important;text-indent:0!important;cursor:pointer;line-height:1}
 .mobile-menu-icon,.mobile-menu-icon:before,.mobile-menu-icon:after{display:block;width:22px;height:2px;background:#24566f;position:relative;content:''}
 .mobile-menu-icon:before{position:absolute;top:-6px}
 .mobile-menu-icon:after{position:absolute;top:6px}
 .mobile-menu-text{font-size:10px;white-space:nowrap}
 #vk-mobile-nav-menu-btn.menu-open .mobile-menu-icon{background:transparent}
 #vk-mobile-nav-menu-btn.menu-open .mobile-menu-icon:before{top:0;transform:rotate(45deg)}
 #vk-mobile-nav-menu-btn.menu-open .mobile-menu-icon:after{top:0;transform:rotate(-45deg)}
 .vk-mobile-nav.vk-mobile-nav-open{inset:64px 0 0!important;padding-top:18px!important;z-index:100000!important;height:auto!important;max-height:calc(100dvh - 64px);overscroll-behavior:contain}
 body.mobile-menu-is-open{overflow:hidden}
 .vk-mobile-nav{transition:none!important}
}
@media(max-width:767px){
 .post-name-about .about-spacer{height:48px!important}
 .post-name-about .about-tm-cover{padding:24px 18px!important;min-height:0!important}
 .post-name-about .about-tm-title{position:static!important;top:auto!important;transform:none!important;margin:0 0 24px!important}
 .post-name-about .about-tm-title-sp{line-height:1.3!important}
 .post-name-about .about-tm-title p{font-size:30px!important;margin:0 0 8px!important}
 .post-name-about .about-tm-title h2{font-size:24px!important;margin:0!important}
 .post-name-about .about-tm-cover>.wp-block-cover__inner-container>.wp-block-group.has-background{padding:22px 18px!important}
 .post-name-about .about-tm-message-title{font-size:23px!important;line-height:1.5!important}
 .post-name-about .about-tm-message-text{font-size:16px!important;line-height:1.9!important}
 .post-name-recruit .recruit-info-cover{padding:30px 18px!important}
 .post-name-recruit .recruit-table{overflow:visible!important;margin-bottom:0!important}
 .post-name-recruit .recruit-table table,.post-name-recruit .recruit-table tbody{display:block;width:100%!important;table-layout:auto}
 .post-name-recruit .recruit-table tr{display:block;margin-bottom:16px;border:1px solid #bed5e3;border-radius:6px;overflow:hidden;background:white}
 .post-name-recruit .recruit-table table tr>td{display:block;box-sizing:border-box;width:100%!important;text-align:left!important;padding:14px 16px!important;border:0!important;line-height:1.8!important;font-size:16px!important}
 .post-name-recruit .recruit-table table tr>td:first-child{background:#e7f3fa;color:#24566f;font-weight:bold;border-bottom:1px solid #cfdfeb!important;padding:11px 16px!important}
 .post-name-contact .static-contact{width:100%;box-sizing:border-box;max-width:900px;margin:28px auto;padding:0;line-height:1.8}
 .post-name-contact .static-contact label{margin:20px 0 8px;font-size:16px}
 .post-name-contact .static-contact input:not([type=checkbox]),.post-name-contact .static-contact textarea{width:100%;min-width:0;max-width:100%;font-size:16px;line-height:1.5;padding:12px;min-height:48px}
 .post-name-contact .static-contact textarea{min-height:180px;resize:vertical}
 .post-name-contact .static-contact .consent-label{font-size:14px;line-height:1.8;margin:22px 0}
 .post-name-contact .static-contact button{min-height:48px;width:100%;font-size:16px;line-height:1.5}
 .post-name-contact .static-contact .contact-actions{gap:10px}
 .post-name-contact .static-contact .contact-actions button{margin:0}
 .post-name-contact .prototype-note{padding:14px;font-size:14px;margin-bottom:24px}
 .post-name-contact .privacy-note,.post-name-contact .privacy-service-note{font-size:14px;line-height:1.8;margin-top:16px;margin-bottom:16px}
 .post-name-contact .contact-pp-group{padding:18px!important;font-size:15px;line-height:1.9}
 .post-name-contact .contact-spacer{height:24px!important}
 #turnstile-container{width:100%;min-width:0;overflow:visible}
}
