
/* FRC full-site final polish: typography, spacing, accessibility, responsive UX */
html{
  scroll-behavior:smooth!important;
  scrollbar-gutter:stable!important;
}
body{
  padding-bottom:0!important; /* old inner WhatsApp spacing removed */
  overflow-x:hidden!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:optimizeLegibility!important;
  font-family:Arial,"Helvetica Neue",sans-serif!important;
}
h1,h2{
  font-family:Georgia,"Times New Roman",serif!important;
  text-wrap:balance!important;
}
h3,h4,h5,h6,strong,.button,button{
  text-wrap:balance!important;
}
p,li{
  text-wrap:pretty!important;
}
img,svg,video{
  max-width:100%;
}
img{
  display:block;
}
a,button,input,select,textarea,summary{
  -webkit-tap-highlight-color:transparent;
}
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid #d3a94f!important;
  outline-offset:3px!important;
}
button,.button,input,select{
  min-height:44px;
}
textarea{
  min-height:120px;
}
button,.button,a{
  touch-action:manipulation;
}
dialog{
  max-width:min(92vw,760px)!important;
  max-height:90dvh!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
dialog::backdrop{
  background:rgba(5,20,38,.62)!important;
}
main > section:empty,
.section:empty,
.about-section:empty,
.contact-main:empty,
.brief-guide:empty{
  display:none!important;
}
.section-head > p,
.frc-page-intro > p,
.frc-page-intro .intro-copy,
.hero-copy,
.product-copy > p,
.about-section p,
.contact-main p{
  max-width:72ch;
}
.frc-page-intro{
  padding-top:clamp(2.6rem,5vw,4.4rem)!important;
  padding-bottom:clamp(2.4rem,4.5vw,3.8rem)!important;
}
.section{
  padding-top:clamp(2.3rem,4vw,3.4rem)!important;
  padding-bottom:clamp(2.3rem,4vw,3.4rem)!important;
}
.section.product-page{
  padding-top:clamp(1.8rem,3vw,2.8rem)!important;
  padding-bottom:clamp(2.2rem,4vw,3.3rem)!important;
}
.about-section,
.contact-main,
.brief-guide{
  padding-top:clamp(2.3rem,4vw,3.5rem)!important;
  padding-bottom:clamp(2.3rem,4vw,3.5rem)!important;
}
.footer{
  margin-top:0!important;
}
.footer-cta{
  padding-top:1.65rem!important;
  padding-bottom:1.65rem!important;
}
.footer-main{
  padding-top:1.75rem!important;
  padding-bottom:1.75rem!important;
}
.footer-bottom{
  align-items:center!important;
}
.footer-links a,
.footer-contact a,
.footer-legal a{
  text-underline-offset:3px;
}
.gallery-main-button{
  overflow:hidden;
}
.lightbox img,
.image-viewer img{
  width:auto;
  max-width:min(92vw,1200px)!important;
  max-height:82dvh!important;
  object-fit:contain!important;
}
table{
  max-width:100%;
}
@media(max-width:959px){
  .frc-page-intro{
    padding-top:2.5rem!important;
    padding-bottom:2.3rem!important;
  }
  .section,
  .about-section,
  .contact-main,
  .brief-guide{
    padding-top:2.2rem!important;
    padding-bottom:2.2rem!important;
  }
  .footer-cta{
    gap:1.2rem!important;
  }
}
@media(max-width:599px){
  body{
    font-size:15px!important;
  }
  h1{
    line-height:1.04!important;
    letter-spacing:-.025em!important;
  }
  h2{
    line-height:1.08!important;
  }
  .frc-page-intro{
    padding:2.05rem 18px!important;
  }
  .section,
  .about-section,
  .contact-main,
  .brief-guide{
    padding-top:1.85rem!important;
    padding-bottom:1.85rem!important;
  }
  .section-head{
    gap:.65rem!important;
    margin-bottom:1.25rem!important;
  }
  .button,
  button{
    min-height:46px;
  }
  .footer-cta,
  .footer-main{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .footer-bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:.55rem!important;
  }
  .footer-legal{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:.65rem 1rem!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
