
@media (max-width: 1024px){
  .global-nav{gap:18px;font-size:13px}
  .header-cta{display:none}
  .service-card{padding:10px 26px 6px}
  .flow-list{flex-wrap:wrap;justify-content:center}
}

@media (max-width: 768px){
  html,body{overflow-x:hidden}
  main{padding-top:calc(72px + env(safe-area-inset-top)) !important}
  .container{width:min(100% - 36px,var(--container))}
  .site-header,
  .site-header.is-scrolled,
  .site-header:not(.is-scrolled){
    position:fixed;
    top:0;
    left:0;
    right:0;
    height:72px;
    padding-top:0;
    z-index:9999;
    background:#ffffff !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    filter:none !important;
    mix-blend-mode:normal !important;
    box-shadow:0 8px 24px rgba(0,0,0,.06);
  }
  .header-inner{
    height:72px;
    padding-top:env(safe-area-inset-top);
    display:flex;
    align-items:center;
  }
  .logo{
    flex-shrink:0;
    width:auto;
    min-width:160px;
    display:flex;
    align-items:center;
  }
  .logo img,
  #site-logo{
    width:220px !important;
    max-width:none !important;
    max-height:none !important;
    height:auto !important;
    object-fit:contain;
    display:block !important;
  }
  .global-nav-wrap{
    position:fixed;
    top:72px;
    left:0;
    right:0;
    width:100%;
    height:calc(100vh - 72px);
    background:#fff;
    z-index:999;
    display:none;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    padding:32px 24px 80px;
    box-sizing:border-box;
  }
  .global-nav-wrap.is-open{
    display:block;
  }
  .global-nav-wrap:has(.global-nav.is-open){
    display:block;
  }
  .global-nav{
    display:none;
    flex-direction:column;
    align-items:center;
    gap:20px;
    width:100%;
    padding:0;
    margin:0;
    list-style:none;
  }
  .global-nav.is-open{
    display:flex;
  }
  .global-nav li{
    width:100%;
    text-align:center;
  }
  .global-nav a{
    display:block;
    width:100%;
  }
  .menu-btn{
    display:flex !important;
    border:0;background:transparent;
    width:42px;height:42px;
    position:relative;
    top:0;
  }
  .menu-btn span,.menu-btn::before,.menu-btn::after{
    content:"";
    position:absolute;left:8px;right:8px;height:2px;background:#111;
  }
  .site-header .menu-btn span,
  .site-header .menu-btn::before,
  .site-header .menu-btn::after{background:#111 !important}
  .site-header:not(.is-scrolled) .menu-btn span,
  .site-header:not(.is-scrolled) .menu-btn::before,
  .site-header:not(.is-scrolled) .menu-btn::after{background:#111 !important}
  .site-header:not(.is-scrolled) .global-nav.is-open a{color:var(--ink)}
  .site-header:not(.is-scrolled) .global-nav.is-open a::after{background:var(--gold)}
  .menu-btn span{top:20px}
  .menu-btn::before{top:12px}
  .menu-btn::after{top:28px}
  .hero{
    min-height:660px;
    background-position:right -48px center;
  }
  .hero,
  .hero-slider,
  .main-visual,
  .fv,
  .mv{
    margin-top:0 !important;
    top:auto !important;
    transform:none !important;
  }
  .hero-content{padding:64px 0 84px;max-width:100%}
  .hero h1,.page-hero h1{font-size:42px}
  .hero p,.page-hero p{font-size:17px}
  .btn{width:100%;min-width:0}
  .section{padding:70px 0}
  .service-grid,.strength-grid,.two-col,.list-grid,.process,.gallery,.contact-layout,.form-row,.company-split,.biz-brands-grid{
    grid-template-columns:1fr;
  }
  .company-spec__row{
    grid-template-columns:1fr;
    gap:10px;
    padding:20px 22px;
  }
  .service-card{
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:30px 0;
  }
  .service-card:last-child{border-bottom:0}
  .mangosteen-section{min-height:690px}
  .mangosteen-section::before{background-position:center right 38%}
  .mangosteen-copy .lead{font-size:24px}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .footer-nav{flex-wrap:wrap;gap:14px}
  .page-hero{padding:130px 0 70px}

  /* Company page mobile layout fix */
  .company-split,
  .company-slogan__grid,
  .company-timeline__inner,
  .company-spec__row{
    grid-template-columns:1fr !important;
  }
  .profile-meta{
    display:flex;
    flex-direction:column !important;
    gap:24px;
    margin-top:32px;
    margin-bottom:28px;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .profile-row{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:20px 0;
    border-bottom:1px solid #e5dfd2;
  }
  .profile-text{
    font-size:22px;
    line-height:1.8;
    word-break:break-word;
    overflow-wrap:break-word;
  }
  .company-split,
  .company-split__left,
  .company-split__right,
  .company-timeline,
  .company-timeline__row,
  .company-timeline__inner,
  .history-body,
  .company-spec,
  .company-spec__row,
  .company-spec dd,
  .company-slogan,
  .company-slogan__main,
  .company-slogan__ja,
  .company-slogan__headline{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:visible !important;
    word-break:break-word;
    overflow-wrap:break-word;
  }
  .section,
  .container,
  .company-split,
  .company-timeline,
  .company-spec{
    overflow:visible !important;
    height:auto !important;
    max-height:none !important;
  }
  .company-timeline{
    padding-left:20px;
  }
  .company-timeline__row::before{
    left:-26px;
  }
  .company-timeline__inner{
    gap:10px;
  }
  .company-timeline__year,
  .company-timeline__year.history-date{
    min-width:0 !important;
    display:block;
  }
  .company-timeline__desc,
  .history-text,
  .company-split__lead,
  .company-spec dd{
    line-height:1.8;
    word-break:break-word;
    overflow-wrap:break-word;
  }
}

@media (max-width:480px){
  .hero h1,.page-hero h1{font-size:34px}
  .section-title h2{font-size:25px}
  .content-block h2{font-size:28px}
}
