html,body{max-width:100%;overflow-x:hidden;}
body{word-break:keep-all;-webkit-text-size-adjust:100%;}
img,video,iframe,svg,canvas{max-width:100%;height:auto;}
.topbar::before{content:none !important;display:none !important;}
.topbar .brand,.topbar .brand-wrap a{padding-right:0 !important;}

@media (min-width:1025px){
  .mobile-menu-toggle,.menu-overlay{display:none !important;}
  .topbar{overflow:visible !important;}
  .gnb{display:flex !important;position:relative !important;right:auto !important;top:auto !important;height:auto !important;width:auto !important;max-width:none !important;transform:none !important;background:transparent !important;box-shadow:none !important;padding:0 !important;overflow:visible !important;margin-left:48px !important;}
  .gnb .nav-item{display:flex !important;flex:1 1 auto !important;align-items:stretch !important;justify-content:center !important;border:0 !important;}
  .gnb .nav-panel{position:absolute !important;left:50% !important;top:100% !important;transform:translateX(-50%) translateY(6px) !important;opacity:0 !important;visibility:hidden !important;pointer-events:none !important;background:#fff !important;border:1px solid #dde6f0 !important;box-shadow:0 12px 40px rgba(7,30,61,.15) !important;padding:10px 0 !important;}
  .gnb .nav-item:hover .nav-panel{opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transform:translateX(-50%) translateY(0) !important;}
}

@media (max-width:1024px){
  html,body{overflow-x:hidden !important;}
  body{font-size:15px !important;}
  body.menu-open-body{overflow:hidden !important;}
  .topbar{background:rgba(255,255,255,.98) !important;backdrop-filter:blur(14px) !important;border-bottom:1px solid rgba(221,230,240,.92) !important;box-shadow:0 4px 18px rgba(7,30,61,.08) !important;overflow:visible !important;}
  .topbar .container,.topbar-inner,.subnav-inner,.subtab-inner,.footer-inner,.container{width:calc(100% - 24px) !important;max-width:none !important;}
  .topbar-inner{min-height:76px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;}
  .brand,.brand-wrap,.brand-wrap a{display:flex !important;align-items:center !important;min-width:0 !important;flex:0 1 auto !important;}
  .brand > span,.brand-spacer{display:block !important;flex:0 0 auto !important;width:min(56vw,190px) !important;height:46px !important;}
  .logo-dark{display:block !important;opacity:1 !important;position:relative !important;top:auto !important;left:auto !important;transform:none !important;height:46px !important;max-width:min(56vw,190px) !important;width:auto !important;}
  .logo-white{display:none !important;opacity:0 !important;}
  .mobile-menu-toggle{display:inline-flex !important;appearance:none !important;border:0 !important;background:transparent !important;color:var(--navy,#071e3d) !important;width:44px !important;height:44px !important;border-radius:12px !important;align-items:center !important;justify-content:center !important;cursor:pointer !important;flex:0 0 auto !important;position:relative !important;z-index:1350 !important;}
  .mobile-menu-toggle span,.mobile-menu-toggle span::before,.mobile-menu-toggle span::after{content:"" !important;display:block !important;width:22px !important;height:2px !important;background:currentColor !important;border-radius:999px !important;transition:transform .25s ease,opacity .25s ease !important;position:relative !important;}
  .mobile-menu-toggle span::before{position:absolute !important;top:-7px !important;left:0 !important;}
  .mobile-menu-toggle span::after{position:absolute !important;top:7px !important;left:0 !important;}
  .menu-overlay{display:block !important;position:fixed !important;inset:0 !important;background:rgba(7,30,61,.42) !important;opacity:0 !important;visibility:hidden !important;pointer-events:none !important;transition:opacity .25s ease,visibility .25s ease !important;z-index:1250 !important;}
  .gnb{display:flex !important;flex-direction:column !important;gap:0 !important;position:fixed !important;top:0 !important;right:0 !important;height:100dvh !important;width:min(86vw,360px) !important;max-width:360px !important;background:#fff !important;padding:88px 20px 28px !important;overflow-y:auto !important;box-shadow:-18px 0 42px rgba(7,30,61,.18) !important;transform:translateX(100%) !important;transition:transform .28s ease !important;z-index:1300 !important;margin:0 !important;}
  .topbar.menu-open .menu-overlay{opacity:1 !important;visibility:visible !important;pointer-events:auto !important;}
  .topbar.menu-open .gnb{transform:translateX(0) !important;}
  .topbar.menu-open .mobile-menu-toggle span{background:transparent !important;}
  .topbar.menu-open .mobile-menu-toggle span::before{transform:translateY(7px) rotate(45deg) !important;}
  .topbar.menu-open .mobile-menu-toggle span::after{transform:translateY(-7px) rotate(-45deg) !important;}
  .gnb .nav-item{display:block !important;flex:none !important;border-bottom:1px solid rgba(221,230,240,.9) !important;padding:0 !important;margin:0 !important;}
  .gnb .nav-item:last-child{border-bottom:0 !important;}
  .gnb .nav-trigger{width:100% !important;min-height:56px !important;display:flex !important;align-items:center !important;justify-content:flex-start !important;padding:16px 0 !important;background:transparent !important;border:0 !important;font-size:17px !important;font-weight:800 !important;color:var(--navy,#071e3d) !important;text-align:left !important;white-space:normal !important;position:relative !important;}
  .gnb .nav-trigger::after{display:none !important;}
  .gnb .nav-panel{display:block !important;position:static !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transform:none !important;background:transparent !important;box-shadow:none !important;border:0 !important;min-width:0 !important;padding:0 0 14px 12px !important;margin:0 !important;}
  .gnb .nav-sublink{display:block !important;padding:10px 0 !important;font-size:14px !important;line-height:1.45 !important;color:#3b557d !important;white-space:normal !important;}
  .subnav,.subtab,.tabs-wrap,.board-tabs-wrap,.tab-wrap{overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;}
  .subnav::-webkit-scrollbar,.subtab::-webkit-scrollbar,.tabs-wrap::-webkit-scrollbar,.board-tabs-wrap::-webkit-scrollbar,.tab-wrap::-webkit-scrollbar{display:none !important;}
  .subnav-links,.subtab-links,.tabs,.tab-menu,.board-tabs,.board-nav,.section-tabs,.hero-tabs{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto !important;white-space:nowrap !important;gap:8px !important;-webkit-overflow-scrolling:touch !important;}
  .subnav-links a,.subtab-links a,.tabs a,.tab-menu a,.board-tabs a,.board-nav a,.section-tabs a,.hero-tabs a{flex:0 0 auto !important;}
  .hero,.page-hero,.rhero,.rehab-hero,.main-hero{min-height:auto !important;padding-top:112px !important;padding-bottom:48px !important;}
  .hero-content,.page-hero-content{padding-inline:4px !important;}
  .hero h1,.page-hero h1,.rhero-title,.rehab-title,.page-title h1{font-size:clamp(26px,7.5vw,38px) !important;line-height:1.18 !important;}
  .hero-sub,.hero p,.page-hero p,.hero-desc,.rhero-copy,.page-title p,.rehab-copy,.center-copy,.doctor-copy{font-size:14px !important;line-height:1.75 !important;letter-spacing:0 !important;}
  .hero-actions,.cta-bar,.btn-row,.hero-buttons{display:flex !important;flex-direction:column !important;gap:10px !important;align-items:stretch !important;}
  .hero-actions .btn,.cta-bar a,.cta-bar button,.btn-row a,.btn-row button,.hero-buttons a,.hero-buttons button{width:100% !important;justify-content:center !important;}
  .page-wrap,.container,.content-wrap,.section-wrap,.inner,.wrapper,.contact-wrap,.hours-showcase,.partner-section .container,.footer .container{width:calc(100% - 28px) !important;max-width:none !important;}
  .shortcut-grid,.center-grid,.doctor-grid,.strength-grid,.mirae-uploaded-cards-grid,.point-grid,.feature-grid,.dr-grid,.mirae-row,.growth-strip,.direction-summary,.transit-wrap,.contact-inner,.floor-inner,.greeting-wrap,.point-strip,.footer-links,.rehab-intro-grid,.rehab-copy-points,.target-grid,.treat-grid,.grid2,.grid3,.hours-showcase-inner,.dr-profile-card,.main-card,.dept-grid,.prep-grid,.contact-grid,.doctor-list,.program-grid,.feature-list,.target-list{grid-template-columns:1fr !important;}
  .step,.timeline-item,.rtl-item,.bus-row{grid-template-columns:1fr !important;}
  .step{min-height:auto !important;}
  .step-badge{min-height:72px !important;padding:18px 16px !important;font-size:18px !important;}
  .step-num{font-size:24px !important;}
  .step-body,.law-box,.prep-wrap,.main-card-copy,.main-card-side,.rhero,.rehab-copy-card,.dr-card,.target-card,.treat-card,.feature-card,.point-card,.contact-card,.hours-card,.timeline-card,.greeting-card{padding:20px 18px !important;}
  .page-wrap{padding:42px 0 72px !important;}
  .page-title{margin-bottom:32px !important;}
  .page-title h2,.section-header h3,.section-label h3,.proc-subtitle,.page-title h1,.section-title{font-size:24px !important;line-height:1.3 !important;}
  p,li,td,th,.step-body p,.law-box p,.info-note p,.doc-table td,.doc-table thead th,.card-copy,.target-card p,.treat-card p,.feature-card p,.point-card p{font-size:14px !important;line-height:1.75 !important;}
  .shortcut-card{min-height:auto !important;padding:20px 18px !important;}
  .shortcut-card h3{font-size:18px !important;margin:8px 0 8px !important;line-height:1.35 !important;}
  .shortcut-card p,.time-val,.time-day,.time-note{font-size:13px !important;line-height:1.6 !important;}
  .shortcut-icon{width:52px !important;height:52px !important;margin-bottom:14px !important;}
  .main-card,.main-card-img{min-height:auto !important;}
  .main-card-img{min-height:220px !important;}
  .hero-card,.hero-side .hero-card{padding:24px 18px !important;}
  .hero-card h3{font-size:32px !important;white-space:normal !important;line-height:1.15 !important;}
  .hero-card p{font-size:14px !important;line-height:1.7 !important;}
  .subnav-links a,.subtab-links a,.rtab-btn,.tabs a,.tab-menu a,.board-tabs a,.board-nav a,.section-tabs a,.hero-tabs a{padding:0 18px !important;font-size:14px !important;height:48px !important;}
  .subnav-home{width:48px !important;}
  .doc-table{display:block !important;overflow-x:auto !important;white-space:normal !important;}
  .doc-table td,.doc-table th{padding:12px 10px !important;word-break:keep-all !important;}
  .transport-map img,.map-card img,.map-wrap img,.location-map img,.route-map img,.main-card-img img{width:100% !important;height:auto !important;}
  .target-card,.treat-card,.prep-card,.dept-card,.step-card,.dr-card,.center-card,.feature-card,.point-card,.timeline-card,.contact-card{min-height:auto !important;}
  .footer{padding:26px 0 40px !important;}
  .footer-meta{flex-wrap:wrap !important;white-space:normal !important;row-gap:8px !important;}
  .quick-menu{display:none !important;}
}
@media (max-width:640px){
  .topbar-inner{min-height:72px !important;}
  .brand > span,.brand-spacer{width:min(54vw,170px) !important;height:44px !important;}
  .logo-dark,.logo-white{height:44px !important;max-width:min(54vw,170px) !important;}
  .mobile-menu-toggle{width:42px !important;height:42px !important;border-radius:12px !important;}
  .gnb{width:min(88vw,340px) !important;padding:82px 18px 24px !important;}
  .subnav-inner,.subtab-inner,.container,.topbar .container,.topbar-inner{width:calc(100% - 20px) !important;}
}
@media (max-width:480px){
  .topbar-inner{min-height:68px !important;}
  .brand > span,.brand-spacer{width:min(54vw,170px) !important;height:44px !important;}
  .logo-dark,.logo-white{height:44px !important;max-width:min(54vw,170px) !important;}
  .hero,.page-hero,.rhero{padding-top:100px !important;}
  .hero h1,.page-hero h1{font-size:28px !important;}
  .page-title h2,.section-header h3,.section-label h3{font-size:22px !important;}
  .point-grid,.growth-strip,.mirae-row,.target-grid,.treat-grid,.direction-summary{gap:12px !important;}
  .direction-summary > *{min-width:0 !important;}
}
