/* Racher Art final responsive QA layer */
html,body{max-width:100%;overflow-x:hidden}
img,video{max-width:100%}
#toTop,.ra-whatsapp{touch-action:manipulation}
@media (max-width:767px){
  body{overflow-x:hidden!important}
  #header-wrapper,#header,#header .container{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  #header-wrapper{position:relative!important;z-index:10050!important}
  #header .container{padding-left:15px!important;padding-right:15px!important}
  #header .logo{max-width:58%!important}
  #header .logo img{display:block!important;max-width:170px!important;width:100%!important;height:auto!important}
  #main-menu{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  #dt-menu-toggle{display:block!important;width:100%!important;min-height:44px!important;padding:12px 14px!important;overflow:hidden!important;white-space:nowrap!important}
  #main-menu>ul.menu{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}
  #main-menu ul.menu li,#main-menu ul.menu li a{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  #main-menu ul.menu li a{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.35!important;padding:13px 15px!important}
  .main-title{padding-left:16px!important;padding-right:16px!important;box-sizing:border-box!important}
  .main-title h1,.main-title h2,.main-title h3{max-width:100%!important;overflow-wrap:break-word!important;word-break:normal!important}
  .main-title h1{font-size:clamp(34px,12vw,52px)!important;line-height:1.04!important;letter-spacing:-.035em!important;margin-bottom:18px!important}
  .main-title p{max-width:100%!important;line-height:1.65!important}
  .slider-container{width:100%!important;height:82svh!important;min-height:520px!important;max-height:760px!important;overflow:hidden!important}
  .slider-container .slider,.slider-container .slider-video{width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important}
  .slider-container .slider-video{position:absolute!important;inset:0!important;object-fit:cover!important;object-position:center!important}
  .ra-hero-actions{left:18px!important;right:18px!important;bottom:28px!important;max-width:calc(100% - 36px)!important;display:flex!important;flex-wrap:wrap!important;gap:9px!important}
  .ra-hero-actions a{min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:11px 15px!important}
  .dt-sc-sorting-container{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;width:100%!important;padding:0 12px!important;box-sizing:border-box!important}
  .dt-sc-sorting-container a,.dt-sc-sorting-container a.dt-sc-button{float:none!important;margin:0!important;min-height:42px!important;padding:11px 14px!important;font-size:10px!important;line-height:20px!important;white-space:nowrap!important}
  .dt-sc-sorting-container a.active-sort,.dt-sc-sorting-container a.dt-sc-button.active-sort{background:#e31b23!important;color:#fff!important;border-color:#e31b23!important}
  .portfolio-grid{padding:24px 12px 36px!important;box-sizing:border-box!important}
  .dt-sc-portfolio-container.isotope .portfolio.dt-sc-one-fourth{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .portfolio figure img{width:100%!important;height:auto!important;display:block!important}
  .portfolio figure figcaption .views a{min-width:44px!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .blog-entry{display:flex!important;flex-direction:column!important}
  .blog-entry .entry-thumb,.blog-entry .entry-details{width:100%!important;max-width:100%!important;float:none!important}
  .blog-entry .entry-thumb{order:1!important;position:relative!important}
  .blog-entry .entry-details{order:2!important}
  .blog-entry .entry-thumb,.blog-entry .bx-wrapper,.blog-entry .bx-viewport,.blog-entry .blog-slider,.blog-entry .blog-slider>li,.blog-entry .entry-thumb img{height:320px!important;min-height:320px!important}
  .blog-entry .entry-thumb img{object-fit:cover!important}
  .blog-entry .bx-controls-direction a{width:44px!important;height:44px!important;top:calc(50% - 22px)!important;margin:0!important}
  .contact-two-col{display:block!important;width:100%!important;padding-left:18px!important;padding-right:18px!important;box-sizing:border-box!important}
  .contact-two-col .contact-col{width:100%!important;max-width:100%!important;float:none!important}
  .seo-contact-faq{padding-left:20px!important;padding-right:20px!important}
  .seo-contact-faq h3{font-size:22px!important;line-height:1.35!important}
  .ra-whatsapp{right:14px!important;bottom:72px!important;max-width:calc(100vw - 80px)!important;min-height:46px!important;box-sizing:border-box!important}
  #toTop{right:14px!important;bottom:14px!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important}
  .seo-service{padding-top:105px!important}
  .seo-service h1{font-size:clamp(36px,12vw,50px)!important;line-height:1.02!important;overflow-wrap:break-word!important}
}
@media (max-width:380px){
  .main-title h1{font-size:34px!important}
  .dt-sc-sorting-container a,.dt-sc-sorting-container a.dt-sc-button{padding:10px 11px!important;font-size:9px!important}
  .ra-whatsapp{max-width:210px!important}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Mobile logo aspect-ratio correction */
@media (max-width:767px){
  #header .logo{width:auto!important;max-width:150px!important;flex:0 0 auto!important}
  #header .logo a{display:flex!important;align-items:center!important;width:auto!important;height:62px!important}
  #header .logo img{display:block!important;width:auto!important;max-width:145px!important;height:auto!important;max-height:50px!important;object-fit:contain!important;object-position:left center!important;aspect-ratio:auto!important}
}
@media (max-width:380px){
  #header .logo{max-width:125px!important}
  #header .logo img{max-width:120px!important;max-height:44px!important}
}

/* Native iPhone-safe portfolio lightbox */
.portfolio figure>img{cursor:zoom-in}
#ra-native-lightbox{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:56px 18px 28px;background:rgba(0,0,0,.96);box-sizing:border-box}
#ra-native-lightbox.is-open{display:flex}
#ra-native-lightbox img{display:block;max-width:100%;max-height:calc(100svh - 110px);width:auto;height:auto;object-fit:contain;border:0;box-shadow:0 18px 70px rgba(0,0,0,.65)}
#ra-native-lightbox .ra-lightbox-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:2;width:46px;height:46px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:#e31b23;color:#fff;font:300 34px/40px Arial,sans-serif;text-align:center;padding:0;cursor:pointer}
#ra-native-lightbox .ra-lightbox-caption{position:fixed;left:18px;right:80px;bottom:max(14px,env(safe-area-inset-bottom));color:#fff;font-size:13px;line-height:1.4}
html.ra-lightbox-lock,body.ra-lightbox-lock{overflow:hidden!important;overscroll-behavior:none!important}
@media(max-width:767px){#ra-native-lightbox{padding-left:10px;padding-right:10px}#ra-native-lightbox img{max-height:calc(100svh - 105px)}}


/* Stable portfolio category grid; overrides legacy Isotope inline geometry */
body.ra-gallery-native .dt-sc-portfolio-container{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:22px!important;
 height:auto!important;
 position:relative!important;
 overflow:visible!important;
}
body.ra-gallery-native .dt-sc-portfolio-container .portfolio.dt-sc-one-fourth{
 display:block!important;
 position:relative!important;
 inset:auto!important;
 left:auto!important;
 top:auto!important;
 transform:none!important;
 opacity:1!important;
 visibility:visible!important;
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 float:none!important;
 box-sizing:border-box!important;
}
body.ra-gallery-native .dt-sc-portfolio-container .portfolio[hidden]{
 display:none!important;
}
body.ra-gallery-native .dt-sc-portfolio-container .portfolio figure,
body.ra-gallery-native .dt-sc-portfolio-container .portfolio figure>img{
 width:100%!important;
 max-width:100%!important;
 box-sizing:border-box!important;
}
body.ra-gallery-native .dt-sc-sorting-container a[data-filter]{
 touch-action:manipulation;
 -webkit-tap-highlight-color:transparent;
}
body.ra-gallery-native .dt-sc-sorting-container a.active-sort{
 background:#e31b23!important;
 border-color:#e31b23!important;
 color:#fff!important;
}
@media(max-width:959px){
 body.ra-gallery-native .dt-sc-portfolio-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important}
}
@media(max-width:767px){
 body.ra-gallery-native .dt-sc-portfolio-container{grid-template-columns:minmax(0,1fr);gap:14px!important}
 body.ra-gallery-native .dt-sc-sorting-container{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important}
 body.ra-gallery-native .dt-sc-sorting-container a[data-filter]{margin:0!important;white-space:normal!important;text-align:center!important}
}