/* Mireora responsive QA pass — loaded last. */
:root{
  --qa-mobile-gutter:16px;
  --qa-tablet-gutter:24px;
}

/* Fluid media and overflow guards */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
*,*::before,*::after{min-width:0}

@media (min-width:768px) and (max-width:1100px){
  .page-shell,.section-shell{padding-inline:var(--qa-tablet-gutter)!important}
  .hero h1,.final-cta h2{font-size:clamp(48px,6.2vw,60px)!important;line-height:1!important}
  .collection .section-intro h2,.design-copy h2,.process .section-intro h2,.studio-copy h2{font-size:clamp(38px,4.7vw,48px)!important;line-height:1.04!important}
  .hero-text,.section-intro>p,.design-copy>p:not(.kicker),.studio-copy>p:last-child,.final-cta p{font-size:16px!important;line-height:1.55!important}

  #collection .product-card,#collection .product-card-featured,#collection .product-card-wide,#collection .product-card:nth-child(n){
    flex-basis:clamp(250px,31vw,290px)!important;
    width:clamp(250px,31vw,290px)!important;
    height:390px!important;min-height:390px!important;max-height:390px!important;
    grid-template-rows:170px minmax(0,1fr)!important;
  }
  #collection .product-card-media,#collection .product-card:nth-child(n) .product-card-media{height:170px!important;min-height:170px!important}
  #collection .product-card-content,#collection .product-card:nth-child(n) .product-card-content{padding:16px!important;gap:10px!important}
  #collection .product-card h3,#collection .product-card:nth-child(n) h3{font-size:18px!important;line-height:1.2!important;min-height:0!important}
  #collection .product-card-copy p,#collection .product-card:nth-child(n) .product-card-copy p{font-size:14px!important;line-height:1.45!important;min-height:0!important}
  #collection .product-link,#collection .product-card-button{font-size:14px!important;min-height:44px!important}

  .dialog-copy h2,.inquiry-dialog .dialog-copy h2{font-size:36px!important;line-height:1.06!important}
  .choice-section-heading h3,.configurator-head h3,.configurator-intro h3,.form-section-head h3{font-size:23px!important;line-height:1.18!important}
}

@media (max-width:767px){
  :root{--qa-mobile-gutter:16px}
  html,body{font-size:16px!important}
  .page-shell,.section-shell{padding-inline:var(--qa-mobile-gutter)!important}

  /* Global type scale */
  .hero h1,.final-cta h2{font-size:clamp(38px,10.8vw,46px)!important;line-height:1.01!important;letter-spacing:-.035em!important;max-width:11ch!important}
  .collection .section-intro h2,.design-copy h2,.process .section-intro h2,.studio-copy h2{font-size:clamp(30px,8.2vw,36px)!important;line-height:1.06!important;letter-spacing:-.025em!important}
  .hero-text,.section-intro>p,.design-copy>p:not(.kicker),.studio-copy>p:last-child,.final-cta p,.process-card p{font-size:15px!important;line-height:1.5!important}
  .kicker,.interface-label,.interface-status,.visual-chip,.service-label,.hero-trust{font-size:12px!important;line-height:1.35!important}

  /* Collection carousel and cards */
  #collection .product-carousel-toolbar{margin-bottom:10px!important;gap:8px!important}
  #collection .product-carousel-control{width:44px!important;height:44px!important;flex:0 0 44px!important}
  #collection .product-grid{gap:12px!important;padding-block:0 4px!important;scroll-snap-type:x mandatory!important}
  #collection .product-card,#collection .product-card-featured,#collection .product-card-wide,#collection .product-card:nth-child(n){
    flex:0 0 min(82vw,300px)!important;
    width:min(82vw,300px)!important;
    height:350px!important;min-height:350px!important;max-height:350px!important;
    grid-template-rows:150px minmax(0,1fr)!important;
    border-radius:18px!important;
    scroll-snap-align:start!important;
  }
  #collection .product-card-media,#collection .product-card:nth-child(n) .product-card-media{height:150px!important;min-height:150px!important}
  #collection .product-card-content,#collection .product-card:nth-child(n) .product-card-content{padding:14px!important;gap:8px!important;display:flex!important;flex-direction:column!important}
  #collection .product-card-copy,#collection .product-card:nth-child(n) .product-card-copy{display:grid!important;gap:7px!important;align-content:start!important}
  #collection .product-card h3,#collection .product-card:nth-child(n) h3{font-size:17px!important;line-height:1.18!important;min-height:0!important;margin:0!important}
  #collection .product-card-copy p,#collection .product-card:nth-child(n) .product-card-copy p{font-size:13px!important;line-height:1.42!important;min-height:0!important;margin:0!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  #collection .product-link,#collection .product-card-button,#collection .product-card:nth-child(n) .product-link{margin-top:auto!important;width:100%!important;min-height:44px!important;padding:10px 14px!important;font-size:14px!important}

  /* Other cards */
  .process-grid,.services-grid,.choice-grid{gap:12px!important}
  .process-card,.service-card{padding:16px!important;border-radius:18px!important}
  .process-card h3,.choice-copy strong,.service-copy>strong{font-size:17px!important;line-height:1.22!important}
  .choice-copy small,.service-copy>small,.process-card p{font-size:13.5px!important;line-height:1.45!important}

  /* Order dialog */
  .inquiry-dialog,.order-dialog{width:100%!important;max-width:100%!important;margin:0!important;border-radius:0!important}
  .order-progress{position:static!important;padding:10px 12px!important;min-height:auto!important}
  .order-progress-brand{display:none!important}
  .order-progress ol{width:100%!important;gap:4px!important;justify-content:space-between!important}
  .order-progress li{font-size:11px!important;gap:4px!important;white-space:nowrap!important}
  .order-progress li i{width:22px!important;height:22px!important;font-size:11px!important}
  .order-step .dialog-copy{padding:18px 16px 8px!important}
  .dialog-copy h2,.inquiry-dialog .dialog-copy h2{font-size:28px!important;line-height:1.08!important;letter-spacing:-.025em!important}
  .order-step .dialog-copy>p:last-child{font-size:14px!important;line-height:1.48!important}
  .choice-section-heading h3,.configurator-head h3,.configurator-intro h3,.form-section-head h3,.inquiry-dialog .configurator-intro h3,.inquiry-dialog .choice-section-heading h3,.inquiry-dialog .form-section-head h3{font-size:20px!important;line-height:1.18!important}
  .form-section-head p,.configurator-summary,.configurator-note{font-size:13.5px!important;line-height:1.45!important}
  .modern-field input,.modern-field textarea,.modern-field select,.config-text-field input{font-size:16px!important}
  .order-form-layout{grid-template-columns:1fr!important;gap:12px!important}
  .order-summary-sticky{position:static!important;padding:14px!important;border-radius:18px!important}
  .selected-order-type>strong{font-size:17px!important}
  .selected-order-price strong,.submit-price strong{font-size:22px!important}
  .submit-panel-copy,.submit-panel-copy strong,.submit-panel-copy span{text-align:center!important;justify-content:center!important;width:100%!important}

  /* Footer and floating controls */
  footer,.site-footer{padding-inline:16px!important}
  .footer-brand .brand-name,.brand-name{font-size:20px!important}
  footer p{font-size:13px!important}
  .back-to-top{width:48px!important;height:48px!important;right:14px!important;bottom:14px!important}
}

@media (max-width:390px){
  :root{--qa-mobile-gutter:14px}
  .hero h1,.final-cta h2{font-size:36px!important}
  .collection .section-intro h2,.design-copy h2,.process .section-intro h2,.studio-copy h2{font-size:28px!important}
  #collection .product-card,#collection .product-card-featured,#collection .product-card-wide,#collection .product-card:nth-child(n){
    flex-basis:min(84vw,280px)!important;width:min(84vw,280px)!important;
    height:332px!important;min-height:332px!important;max-height:332px!important;
    grid-template-rows:140px minmax(0,1fr)!important;
  }
  #collection .product-card-media,#collection .product-card:nth-child(n) .product-card-media{height:140px!important;min-height:140px!important}
  #collection .product-card h3,#collection .product-card:nth-child(n) h3{font-size:16px!important}
  #collection .product-card-copy p,#collection .product-card:nth-child(n) .product-card-copy p{font-size:12.5px!important}
  .dialog-copy h2,.inquiry-dialog .dialog-copy h2{font-size:26px!important}
  .choice-section-heading h3,.configurator-head h3,.configurator-intro h3,.form-section-head h3{font-size:19px!important}
}

@media (hover:none) and (pointer:coarse){
  button,a,input,select,textarea,label{touch-action:manipulation}
  .button,.product-link,.product-card-button,.header-action,.mobile-menu a{min-height:44px}
}
