
/* =========================================================
   S03 — Business service
   One outer dark-navy premium glass surface.
   No nested cards: columns are separated only by hairlines.
   ========================================================= */
.business-wrap{
  max-width:1600px;
  margin:0 auto 74px;
  padding:0 28px;
  position:relative;
}
.business-glass{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  color:#f6fbff;
  background:rgba(7,35,74,.82);
  backdrop-filter:blur(30px) saturate(126%);
  -webkit-backdrop-filter:blur(30px) saturate(126%);
  box-shadow:
    0 24px 72px rgba(2,15,39,.24),
    inset 0 -1px 0 rgba(2,18,44,.10);
}

.business-intro,
.business-features,
.business-actions{
  position:relative;
  z-index:1;
}
.business-intro{
  padding:54px 58px 32px;
  text-align:center;
}
.business-kicker{
  margin:0 0 14px;
  color:#8bc6ff;
  font-size:15px;
  line-height:1.6;
  font-weight:600;
  letter-spacing:.03em;
}
.business-intro h2{
  margin:0;
  color:#fff;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:clamp(44px,3.18vw,52px);
  line-height:1.28;
  font-weight:700;
  letter-spacing:.002em;
  text-shadow:0 3px 11px rgba(0,0,0,.34);
  text-wrap:balance;
  word-break:normal;
  line-break:strict;
}
.business-intro h2 span{display:block}
.business-lead{
  width:100%;
  max-width:none;
  margin:24px auto 0;
  color:rgba(247,251,255,.94);
  font-size:clamp(18px,1.28vw,22px);
  line-height:1.55;
  font-weight:600;
  letter-spacing:-.012em;
  text-wrap:pretty;
  word-break:normal;
  line-break:strict;
}

.business-features{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0 44px;
  border-top:1px solid rgba(208,232,255,.16);
  border-bottom:1px solid rgba(208,232,255,.13);
}
.business-feature{
  min-width:0;
  display:grid;
  grid-template-columns:116px minmax(0,1fr);
  gap:22px;
  align-items:start;
  padding:36px 34px 38px;
}
.business-feature + .business-feature{
  border-left:1px solid rgba(208,232,255,.15);
}
.business-feature-icon{
  width:104px;
  height:104px;
  align-self:start;
}
.business-feature-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 9px 22px rgba(47,138,238,.13));
}
.business-feature-copy{
  min-width:0;
}
.business-feature-num{
  display:block;
  margin:2px 0 9px;
  color:#74baff;
  font-size:16px;
  line-height:1;
  font-weight:500;
  letter-spacing:.04em;
}
.business-feature h3{
  margin:0;
  color:#fff;
  font-size:clamp(19px,1.30vw,24px);
  line-height:1.42;
  font-weight:600;
  letter-spacing:-.01em;
}
.business-feature p{
  margin:12px 0 0;
  color:rgba(243,249,255,.91);
  font-size:clamp(14px,.93vw,17px);
  line-height:1.72;
  font-weight:400;
  text-wrap:pretty;
}

.business-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  padding:18px 58px 38px;
}





.business-secondary-link{
  height:74px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#e7f3ff;
  text-decoration:none;
  font-size:16px;
  line-height:1.2;
  font-weight:500;
  padding:0 4px;
  border-bottom:0;
}
.business-secondary-link:hover{color:#fff}

/* Tablet */
@media(max-width:1200px){
  .business-wrap{padding:0 20px;margin-bottom:56px}
  .business-intro{padding:45px 42px 28px}
  .business-features{margin:0 28px}
  .business-feature{
    grid-template-columns:86px minmax(0,1fr);
    gap:17px;
    padding:30px 22px 32px;
  }
  .business-feature-icon{width:82px;height:82px}
  .business-feature h3{font-size:18px}
  .business-feature p{font-size:14px}
  .business-actions{padding:28px 42px 36px}
}

/* Mobile */
@media(max-width:760px){
  .business-wrap{padding:0 10px;margin-bottom:40px}
  .business-glass{border-radius:26px}
  .business-intro{
    padding:31px 20px 24px;
    text-align:left;
  }
  .business-kicker{
    margin-bottom:10px;
    font-size:13px;
  }
  .business-intro h2{
    font-size:34px;
    line-height:1.28;
  }
  .business-intro h2 span{display:inline}
  .business-intro h2 span + span::before{content:" "}
  .business-lead{
    width:100%;
    margin-top:18px;
    font-size:17px;
    line-height:1.62;
    font-weight:600;
    letter-spacing:0;
    white-space:normal;
  }
  .business-lead-tail{white-space:normal}
  .business-features{
    display:block;
    margin:0 20px;
  }
  .business-feature{
    grid-template-columns:78px minmax(0,1fr);
    gap:16px;
    padding:24px 0;
  }
  .business-feature + .business-feature{
    border-left:0;
    border-top:1px solid rgba(208,232,255,.15);
  }
  .business-feature-icon{
    width:72px;
    height:72px;
  }
  .business-feature-num{font-size:14px;margin-bottom:7px}
  .business-feature h3{
    font-size:18px;
    line-height:1.42;
  }
  .business-feature p{
    font-size:14px;
    line-height:1.62;
  }
  .business-actions{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
    padding:18px 20px 28px;
  }
  .business-primary-cta{
    margin-top:0;
    width:min(100%,330px);
    min-width:0;
  }
  .business-secondary-link{
    align-self:center;
    text-align:center;
  }
}

.business-lead-tail{white-space:nowrap}

@media(min-width:1360px){
  .business-intro h2{white-space:nowrap}
}
@media(min-width:761px) and (max-width:1359px){
  .business-intro h2{white-space:normal}
  .business-lead{max-width:1080px}
}

@media(min-width:1100px){
  .business-lead{
    white-space:nowrap;
  }
  .business-lead-tail{white-space:inherit}
}

.business-feature-title-desktop{display:inline}
.business-feature-title-mobile{display:none}

@media(max-width:760px){
  .business-feature-title-desktop{display:none}
  .business-feature-title-mobile{display:inline}
  .business-feature h3{
    word-break:normal;
    line-break:strict;
    text-wrap:normal;
  }
}



}

/* If the device/browser prefers reduced transparency, keep the stable fallback. */
}




  8%{opacity:1}
  58%{opacity:1}
  100%{left:108%;opacity:0}
}

/* S03 CTA reuses the exact Hero .hero-cta material and glint system.
   Only section layout spacing is overridden here. */
.business-primary-cta{
  margin-top:0;
  flex:0 0 auto;
}

@media(max-width:760px){
  .business-primary-cta{
    align-self:center;
  }
}

.business-secondary-link span{
  display:inline-block;
  padding:5px 2px 7px;
  border-bottom:1px solid rgba(191,223,255,.34);
}

@media(max-width:760px){
  .business-secondary-link{
    height:auto;
    min-height:42px;
  }
}
