/* Ajustes transversais para ecrãs pequenos e uma homepage mais cromática. */
*,*:before,*:after{box-sizing:border-box}
main,.section,.section>div,.product-grid,.catalog-results,.quote-form,.form-row>label{min-width:0}
img{max-width:100%}
input,select,textarea{max-width:100%;min-width:0}
p,a,h1,h2,h3{overflow-wrap:break-word}
input,select,textarea,button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #b93827;outline-offset:4px}
.services :focus-visible,.hero :focus-visible,.footer-v2 :focus-visible,.quote :focus-visible{outline-color:#f4a08d}
.homepage .hero{background:radial-gradient(ellipse at 92% 20%,#a24a3e66,transparent 60%),linear-gradient(125deg,#242630 20%,#442c35 100%)}
.homepage .home-trust{background:#f27766;border:0;color:#272933}
.homepage .home-trust span{border-left-color:#943e3440}
.homepage .home-trust b{color:#272933}
.homepage .intro{background:#fffaf6}
.homepage .services{background:#f7e2d8;color:#272933}
.homepage .services .eyebrow.light{color:#933b30}
.homepage .services .service{background:#fffaf6;border-color:#e7bdac;box-shadow:0 5px 15px #6a332008}
.homepage .services .service:hover{background:white;border-color:#ce6650}
.homepage .services .home-service-description{color:#5d4f4d}
.homepage .services .text-link{color:#963121}
.homepage .catalogue{background:#fbf1e7}
.homepage .catalog-product{border-color:#e8cfc0}
.homepage .catalog-product:nth-child(1){border-top:4px solid #d93825}
.homepage .catalog-product:nth-child(2){border-top:4px solid #cf8361}
.homepage .catalog-product:nth-child(3){border-top:4px solid #bb624c}
.homepage .catalog-product:nth-child(4){border-top:4px solid #695061}
.homepage .clients{background:#eec9b8}
.homepage .clients .eyebrow{color:#6e4236}
.homepage .client-list span{border-color:#c89a87;background:#fff7efb3;color:#272933}
.homepage .client-list span:hover{background:#fff7ef}
.product-image img{display:block}
.form-errors p{margin:5px 0}
.quote-form [aria-invalid=true]{border-color:#ffb39d!important}
.quote-form textarea{resize:vertical}
.legal p{max-width:75ch}
.about-section-nav a,.filters a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){
 html{scroll-padding-top:95px}
 body:not(.admin){padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}
 .header{gap:8px;padding-inline:4%;height:76px}
 .header .logo{width:112px}
 .header>.button.small{font-size:11px;gap:8px;padding:10px 12px;min-height:44px;white-space:nowrap}
 .menu-toggle{padding:0;min-width:44px;min-height:44px;flex-shrink:0}
 .header nav{top:76px;max-height:calc(100dvh - 150px);overscroll-behavior:contain}
 .header nav a{min-height:48px}
 .mobile-bar{padding-bottom:env(safe-area-inset-bottom,0px);min-height:58px;box-shadow:0 -3px 16px #2729330c}
 .mobile-bar a{display:flex;align-items:center;justify-content:center;min-height:58px;min-width:0;padding:12px 14px;font-size:13px}
 .creative-footer.footer-v2{padding-bottom:20px}
 .homepage .hero-grid{padding-top:100px;padding-bottom:26px;min-height:calc(100svh - 58px - env(safe-area-inset-bottom,0px))}
 .homepage .hero{min-height:calc(100svh - 58px - env(safe-area-inset-bottom,0px))}
 .homepage .hero-copy{min-width:0}.homepage .hero h1,.homepage .hero h2{font-size:clamp(39px,11.8vw,58px)}
 .homepage .hero-actions{gap:16px;align-items:center}.homepage .hero-cta{font-size:14px;min-height:52px;padding:13px 18px}
 .homepage .hero-secondary{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
 .homepage .hero-art .hero-visual{width:94%;max-width:390px}
 .homepage .home-trust{gap:16px;padding:21px 6%}
 .page-head h1{font-size:clamp(34px,10vw,44px);letter-spacing:-.045em}
 .quote,.intro,.contacts,.about-story,.about-leadership{grid-template-columns:minmax(0,1fr)}
 .quote-intro h2{font-size:clamp(36px,10vw,46px)}
 .quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea,.catalog-filter-form input,.catalog-filter-form select{font-size:16px}
 .quote-form .button{min-height:52px;font-size:14px}
 .upload-label span{margin:5px 0;display:block}
 .about-year{max-width:calc(100% - 30px)}
 .about-values{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin .header{height:auto;min-height:76px;flex-wrap:wrap;padding-block:12px}
 .admin-main{padding-inline:5%}.admin-card{padding:18px}
 .admin input:not([type=checkbox]),.admin select,.admin textarea{font-size:16px}
 .admin-nav a{min-height:44px}
}
@media(max-width:480px){.quote-form .form-row{grid-template-columns:minmax(0,1fr);gap:0}.catalog-bottom-cta .button{font-size:13px;padding-inline:16px}.page-head .button{font-size:13px}}
@media(max-width:400px){.catalogue .product-grid,.catalogue-full .product-grid{grid-template-columns:minmax(0,1fr)}.catalogue .product-grid .catalog-product .product-image{height:215px}.catalog-product .product-caption h3{font-size:22px}.catalog-product-description{font-size:15px}.catalog-product-cta{font-size:14px}.about-values{grid-template-columns:minmax(0,1fr)}.header .logo{width:99px}.header>.button.small{font-size:10px;padding:10px;gap:6px}.homepage .hero-art{height:210px}.homepage .hero-art .hero-visual{max-height:210px}.footer-signature{font-size:20px}}
@media(max-height:650px) and (min-width:761px){.homepage .hero-grid{padding-top:145px;padding-bottom:32px}.homepage .hero h1,.homepage .hero h2{font-size:60px}.homepage .hero-art{min-height:330px}}
