/* RESPONSIVE: final viewport-specific adjustments.
   Laptop/desktop <=1600px, tablet bridge 801-1000px, phone <=650px.
   Existing <=800px rules remain in the individual section stylesheets. */
@media (max-width: 1600px) {
  .hero {
    column-gap: clamp(12px, 2vw, 32px);
  }
  .hero-copy {
    min-width: 0;
  }
  .hero h1 {
    font-size: clamp(70px, 8.7vw, 139px);
  }
  .company .details {
    min-width: 0;
  }
  .company .detail span {
    overflow-wrap: anywhere;
  }
}
@media (min-width: 801px) and (max-width: 1000px) {
  .hero {
    grid-template-columns: 1fr 0.9fr;
    min-height: 780px;
  }
  .hero h1 {
    font-size: clamp(64px, 8.2vw, 82px);
  }
  .cube-stage {
    --edge: 225px;
    height: 500px;
  }
  .motion-cluster .face {
    padding: 22px;
  }
  .motion-cluster .face strong {
    font-size: 25px;
  }
  .ventures {
    gap: 6vw;
  }
  .venture-copy h2 {
    font-size: 60px;
  }
  .company-grid {
    grid-template-columns: 0.8fr 1.2fr;
    gap: 5vw;
  }
}
@media (max-width: 650px) {
  :root {
    --pad: clamp(20px, 5.5vw, 35px);
  }
  html {
    scroll-padding-top: 92px;
  }
  header {
    height: 76px;
    padding-left: max(var(--pad), env(safe-area-inset-left));
    padding-right: max(var(--pad), env(safe-area-inset-right));
  }
  .hero {
    grid-template-columns: minmax(0, 1fr);
    min-height: auto;
    padding-top: 118px;
    padding-bottom: 48px;
  }
  .hero h1 {
    font-size: clamp(60px, 16.5vw, 102px);
    line-height: 0.98;
  }
  .hero .lead {
    font-size: 17px;
    line-height: 1.65;
  }
  .hero-actions {
    gap: 20px;
    align-items: center;
  }
  .hero .button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    padding: 15px 20px;
  }
  .cube-stage {
    --edge: min(56vw, 270px);
    height: clamp(370px, 103vw, 480px);
    margin: 20px 0 0;
    perspective: 1000px;
  }
  .motion-cluster .cube-wrap {
    touch-action: none;
  }
  .motion-cluster .face {
    padding: clamp(16px, 4.6vw, 25px);
  }
  .motion-cluster .face strong {
    font-size: clamp(20px, 5.5vw, 29px);
    line-height: 1.1;
  }
  .motion-cluster .face small {
    font-size: 12px;
    letter-spacing: 0.07em;
  }
  .about {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .services {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .ventures {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .company {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .contact {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .about h2 {
    font-size: clamp(43px, 11vw, 69px);
  }
  .services h2 {
    font-size: clamp(43px, 11vw, 69px);
  }
  .company h2 {
    font-size: clamp(43px, 11vw, 69px);
  }
  .about-copy {
    margin-left: 0;
    font-size: clamp(22px, 5.7vw, 29px);
  }
  .service-cylinder {
    height: clamp(420px, 105vw, 525px);
    touch-action: pan-y pinch-zoom;
  }
  .cylinder-card {
    --card-w: min(84vw, 430px);
  }
  .card-face {
    padding: clamp(18px, 4.8vw, 26px);
  }
  .card-front h3 {
    font-size: clamp(30px, 8.1vw, 45px);
  }
  .card-back p {
    font-size: clamp(14px, 3.8vw, 17px);
    line-height: 1.4;
    margin-bottom: 12px;
  }
  .card-back .card-code {
    left: 19px;
    top: 17px;
    font-size: 11px;
  }
  .card-tags i {
    font-size: 11px;
    padding: 6px 8px;
  }
  .card-arrow {
    width: 36px;
    height: 36px;
    top: 18px;
    right: 18px;
  }
  .ventures {
    grid-template-columns: minmax(0, 1fr);
    gap: 45px;
  }
  .venture-logo {
    width: min(76vw, 380px);
  }
  .venture-copy h2 {
    font-size: clamp(52px, 13vw, 74px);
  }
  .venture-copy p {
    font-size: 19px;
  }
  .company {
    min-height: 0;
  }
  .company-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .company .detail {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 12px;
  }
  .company .detail b {
    font-size: 11px;
    letter-spacing: 0.06em;
  }
  .contact h2 {
    font-size: clamp(54px, 13vw, 83px);
  }
  .contact-line a {
    font-size: clamp(22px, 6vw, 32px);
    overflow-wrap: anywhere;
  }
  .footer {
    padding-bottom: max(28px, env(safe-area-inset-bottom));
  }
}
