/* Small screens retain every scene in natural document flow. */
.brand img,.footer-brand img{width:120px;height:auto;object-fit:contain}
.contact img.contact-logo{width:144px;height:auto;object-fit:contain}
.benefits article{display:grid;grid-template-columns:35px minmax(0,1fr);column-gap:16px;align-items:start}
.benefit-icon{grid-column:1;grid-row:1;margin:0}
.benefits h3{grid-column:2;grid-row:1;margin-top:7px}
.benefits p{grid-column:2;grid-row:2}
@media(max-width:999px){
  .wrap{width:calc(100% - 48px)}
  .catalogue-heading{display:block}
  .catalogue-heading>p{max-width:520px;margin-top:22px}
  .product-scene .scene-grid{display:flex;flex-direction:column;gap:36px;min-height:0;--bs-gutter-x:0;--bs-gutter-y:0;max-width:720px}
  .scene-grid>.scene-copy,.scene-grid>.scene-visual{width:100%;padding:0;margin:0;flex:0 0 auto}
  .scene-grid>.scene-copy{order:0}
  .scene-grid>.scene-visual{order:1;max-width:520px;margin-inline:auto}
  .scene-copy h3,.scene-detail .scene-copy h3{font-size:clamp(34px,5.8vw,48px)}
  .scene-copy>p,.scene-detail .scene-copy>p{max-width:600px;font-size:17px}
  .scene-copy .button,.scene-detail .text-link{min-height:48px;font-size:15px}
  .product-scene{padding-block:64px}
  .story-rail .product-index a{min-height:44px;font-size:14px}
  .story-rail .product-index{gap:8px 24px}
  .demo-top{flex-wrap:wrap;gap:10px;font-size:14px}
  .demo-title{min-width:0}
  .demo-title img{flex-shrink:0}
  .demo-top small,.demo-caption,.status,.appointment small,.lesson-days span,.property-meta small,.route-item small,.receipt>p,.receipt-bottom,.demo-foot{font-size:12px;line-height:1.5}
  .queue-row small{font-size:12px;line-height:1.5}
  .appointment div{min-width:0}
  .appointment strong{line-height:1.45}
  .receipt{width:100%;max-width:350px}
  .receipt-rows div{gap:12px;flex-wrap:wrap;font-size:14px}
  .lesson-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  .lesson-days span{padding:8px 2px}
  .feature-points li{font-size:15px}
  .faq-grid{grid-template-columns:1fr;gap:32px}
  .vision,.faq{padding-block:72px}
  .footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
  .footer-bottom{font-size:12px}
}
@media(max-width:600px){
  .wrap,.story-rail{width:calc(100% - 40px)}
  .nav{gap:8px}
  .brand{flex-shrink:0;display:flex;align-items:center;min-height:44px}
  .brand img{width:96px}
  .nav-cta{min-height:44px;font-size:12px;padding:10px 12px;white-space:nowrap}
  .menu-toggle{flex:0 0 44px;margin-right:-8px}
  .mobile-menu:not([hidden]){max-height:calc(100dvh - 58px);overflow-y:auto;padding:12px 24px 24px}
  .mobile-menu a{min-height:48px;font-size:19px}
  .hero.hero-type{height:auto;min-height:max(460px,calc(100svh - 58px));padding:64px 0 80px}
  .hero-type .hero-main{width:calc(100% - 40px)}
  .hero-type h1{font-size:clamp(32px,9.8vw,54px);line-height:1.18;overflow-wrap:break-word}
  .hero-type h1 span{margin-top:20px;white-space:nowrap}
  .catalogue-intro{padding:56px 0 32px}
  .catalogue-intro .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.05em}
  .catalogue-heading .section-title{font-size:clamp(30px,8.5vw,38px);line-height:1.13}
  .catalogue-heading>p{font-size:16px;line-height:1.6}
  .story-rail .product-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;width:100%;padding:12px 0}
  .story-rail .product-index a{gap:8px}
  .product-scene{padding-block:52px}
  .product-wordmark{margin-bottom:22px;font-size:17px}
  .scene-copy h3,.scene-detail .scene-copy h3{font-size:clamp(32px,9vw,42px);line-height:1.12}
  .scene-copy>p,.scene-detail .scene-copy>p{font-size:16px;line-height:1.65;margin-top:20px}
  .scene-copy .eyebrow{font-size:14px;margin:0 0 18px}
  .scene-copy .button{max-width:100%;white-space:normal;text-align:center}
  .demo-window,.saude .demo-window,.autoescola .demo-window{padding:20px;margin:0}
  .demo-top{padding-bottom:16px}
  .queue-row{gap:10px;flex-wrap:wrap;padding-block:18px}
  .queue-row strong{font-size:15px}
  .status{padding:6px 9px}
  .appointment{grid-template-columns:38px minmax(0,1fr);gap:10px}
  .appointment div{padding:12px}
  .receipt{padding:24px;margin:0 auto}
  .receipt .big-total{font-size:clamp(30px,8.8vw,38px)}
  .care-orbit{min-height:320px}
  .care-orbit::before{width:min(270px,95%);height:auto;aspect-ratio:1}
  .orbit-label{font-size:12px;padding:10px 14px}
  .orbit-label:nth-of-type(1){left:4%}
  .orbit-label:nth-of-type(3){left:2%}
  .property-art{height:auto;aspect-ratio:1.8;padding:8px 8px 0}
  .property-meta strong{font-size:16px;line-height:1.4}
  .deal-flow{margin-left:12px;padding-right:0}
  .deal-step strong{font-size:22px;line-height:1.3}
  .route-track{margin:0;padding:22px}
  .route-track h4{font-size:26px;line-height:1.2}
  .route-item{gap:12px}
  .vision,.faq{padding-block:60px}
  .vision h2,.faq .section-title{font-size:clamp(30px,8.5vw,38px);line-height:1.15}
  .benefits{margin-top:36px;gap:28px}
  .benefits article{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:14px;align-items:start}
  .benefit-icon{grid-column:1;grid-row:1;margin:0;width:30px;height:30px}
  .benefits h3{grid-column:2;grid-row:1;margin-top:4px}
  .benefits p{grid-column:2;grid-row:2;max-width:390px}
  .faq-list summary{font-size:17px;line-height:1.45;padding-right:32px}
  .faq-list details p{font-size:16px;padding-right:0}
  .contact{padding:60px 20px}
  .contact h2{font-size:clamp(32px,9vw,42px);line-height:1.12}
  .contact p{font-size:17px}
  .contact .button{min-height:48px;font-size:16px}
  .contact small{line-height:1.5}
  .footer-links{gap:4px 20px}
  .footer-main{gap:20px}
}
@media(max-width:360px){
  .wrap,.story-rail,.hero-type .hero-main{width:calc(100% - 32px)}
  .brand img{width:86px}
  .nav-cta{padding-inline:10px}
  .demo-window,.saude .demo-window,.autoescola .demo-window{padding:16px}
}
@media(max-height:500px) and (max-width:999px){
  .hero.hero-type{height:auto;min-height:360px;padding:56px 0}
  .hero-type h1{font-size:clamp(32px,5.5vw,48px)}
}
@media(pointer:coarse){.button:hover{transform:none}}

/* Products intro refinement — remove this block to restore the previous spacing. */
@media(min-width:651px){
  .catalogue-intro{padding-top:72px;padding-bottom:42px}
  .catalogue-heading{align-items:flex-start;gap:64px}
  .catalogue-heading>p{margin-top:10px}
}
