/* Final responsive safeguards for mobile and in-app browsers. */
html,body{max-width:100%;overflow-x:clip}
img,video,svg{max-width:100%}

@media(max-width:900px){
  .landing{--section-gap:48px}
  .landing header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;padding:18px 6%}
  .landing header .logo{justify-self:center}
  .landing header nav{display:none}
  .landing .mobile-menu-btn{display:block;width:24px;height:18px;position:relative;border:0;background:none;padding:0;margin:0}
  .landing .mobile-menu-btn span{display:block;height:2px;background:#202124;border-radius:1px;position:absolute;left:0;width:100%}
  .landing .mobile-menu-btn span:nth-child(1){top:0}
  .landing .mobile-menu-btn span:nth-child(2){top:8px}
  .landing .mobile-menu-btn span:nth-child(3){top:16px}
  .landing .mobile-menu{position:fixed;inset:0;background:#fff;z-index:200;padding:80px 24px;display:flex;flex-direction:column;gap:20px;font-size:1.1rem;font-weight:650}
  .landing .mobile-menu[hidden]{display:none}
  .landing .mobile-fab{display:flex}

  .landing .hero{grid-template-columns:minmax(0,1fr);padding:39px 6% 42px;gap:32px}
  .landing .hero-copy,.landing .hero-visual{min-width:0;width:100%}
  .landing .hero h1{font-size:clamp(2.3rem,10vw,3.65rem);line-height:1.08;letter-spacing:-1.5px;overflow-wrap:anywhere}
  .landing .hero-copy>p{max-width:none;font-size:1rem}
  .landing .hero-visual{height:auto}
  .landing .hero-visual>img{width:100%;height:350px;object-fit:cover}
  .landing .hero-callout{position:static;margin-top:14px;max-width:none}

  .landing .partners{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 6%;padding:24px 0;gap:18px 0}
  .landing .partners>p{grid-column:1/-1;text-align:center;margin-bottom:2px}
  .landing .partners>p br{display:none}
  .landing .partners>div{min-width:0;padding:0 8px}
  .landing .partners>div:nth-child(2){border-left:0}
  .landing .partners .partner-logo{display:block;width:100%;max-width:100%;height:30px;object-fit:contain}

  .landing .operation-results{padding:32px 6%;margin-top:20px}
  .landing .operation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}
  .landing .operation-grid article{min-width:0;padding:0 14px}
  .landing .operation-grid article:nth-child(odd){border-left:0;padding-left:0}
  .landing .operation-grid strong{font-size:1.6rem;overflow-wrap:anywhere}

  .landing .products,.landing .extra-section,.landing .showcase{padding-left:6%;padding-right:6%}
  .landing .section-heading,.landing .demo-heading{display:block}
  .landing .section-heading>p,.landing .demo-heading>p{max-width:none;margin-top:20px}
  .landing .product-grid,.landing .case-grid,.landing .plan-grid,.landing .scenario-grid,.landing .blog-teasers,.landing .blog-list,.landing .talks-demo,.landing .guru-main,.landing .guru-story,.landing .qr-section{grid-template-columns:minmax(0,1fr)}
  .landing .product-grid,.landing .plan-grid{gap:14px}
  .landing .product{padding:22px}
  .landing .product h4{font-size:1.45rem}
  .landing .demo{padding:22px 18px;border-radius:14px;margin-bottom:16px}
  .landing .demo h2{font-size:1.8rem}
  .landing .demo .button,.landing .qr-section .button,.landing .contact .button{display:flex;width:100%}
  .landing .talks-demo,.landing .guru-main{gap:24px}
  .landing .owner-chat,.landing .phone-video{width:100%;max-width:510px}
  .landing .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .landing .qr-section{width:88%;padding:26px 20px;gap:24px}
  .landing .contact{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px 6%}
  .landing .contact h2{font-size:1.9rem}
  .landing footer{padding:30px 6%;flex-wrap:wrap;gap:20px}
}

@media(max-width:520px){
  .landing .operation-grid{grid-template-columns:minmax(0,1fr)}
  .landing .operation-grid article{border-left:0;padding:0}
  .landing .partners{grid-template-columns:repeat(3,minmax(0,1fr))}
  .landing .hero-visual>img{height:320px}
}

@media(max-width:900px){
  .landing .demo .screen,.landing .demo .phone-video{margin-left:-18px;margin-right:-18px;max-width:none;width:calc(100% + 36px);border-radius:0}
  .landing .demo .screen{padding:0;border:0}
  .landing .segment-panel .video-wide{margin-left:-26px;margin-right:-26px;width:calc(100% + 52px)}
  .landing .demo .screen video,.landing .demo .phone-video video{border-radius:0}
  .landing .demo .phone-video video{border:0;max-height:none;height:auto}
  .button span{font-size:0;display:inline-flex;width:.9rem;height:.9rem;flex-shrink:0;vertical-align:middle}
  .button span::before{content:'';display:inline-block;width:100%;height:100%;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E") no-repeat center / contain}
}
@media(max-width:760px){
  .landing .segment-panel .video-wide{margin-left:-18px;margin-right:-18px;width:calc(100% + 36px)}
}

/* Keep the vertical Talks demonstration within the same viewing area as Guru. */
.landing .demo.talks-demo .phone-video{margin:0 auto;width:min(100%,36.79vh);max-width:440px}
.landing .demo.talks-demo .phone-video video{width:100%;height:auto;max-height:78vh;object-fit:contain;border:0;border-radius:22px}
@media(max-width:900px){
.landing .demo.talks-demo .phone-video{width:88%;max-width:min(420px,36.79svh);margin:0 auto}
.landing .demo.talks-demo .phone-video video{width:100%;height:auto;max-height:78svh;border-radius:18px}
}
