/* Camada de interface: navegação, legibilidade e movimento progressivo. */
:root{--ui-ease:cubic-bezier(.2,.7,.2,1)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.header nav a{position:relative;white-space:nowrap;padding-block:10px}
.header nav a:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ui-ease)}
.header nav a:hover:after,.header nav a[aria-current]:after{transform:scaleX(1)}
.homepage .header nav a:after{background:var(--coral)}
.header nav a[aria-current]{font-weight:750}
.button{transition:background .2s,transform .25s var(--ui-ease),box-shadow .25s}
.button:hover{box-shadow:0 9px 22px #1e20281a}
.button:active{transform:translateY(0);box-shadow:none}
.button:disabled{cursor:wait;background:#75483e;transform:none;box-shadow:none}
.button span,.text-link span,.catalog-product-cta span{display:inline-block;transition:transform .25s var(--ui-ease)}
.button:hover span,.text-link:hover span,.catalog-product-cta:hover span{transform:translate(3px,-3px)}
.hero-art{transform:translate3d(0,var(--parallax-y,0px),0)}
.page-head .page-head-image{height:calc(100% + 50px);top:-25px;transform:translate3d(0,var(--parallax-y,0px),0)}
.footer-bird{transform:translate3d(0,var(--parallax-y,0px),0) rotate(-15deg)}
.hero-copy .slide{min-height:300px}
.hero-controls{gap:11px}
.hero-controls .slide-dot{position:relative;font-size:12px;border:1px solid transparent;transition:border-color .2s,background .2s;color:#c5c3cc}
.hero-controls .slide-dot.selected{background:#ffffff0b;border-color:#ffffff45;color:#fff}
.hero-controls .slider-arrow,.hero-controls #pause-slider{border:1px solid #ffffff30;color:#fff;font-size:17px}
.hero-controls button:hover{background:#ffffff15}
.hero .eyebrow,.hero-bottom,.hero-reassurance{font-size:11px}
.hero-bottom>span,.hero-bottom>a{line-height:1.6}
.eyebrow{font-size:11px;letter-spacing:.14em}
.quote-form label{font-size:13px}
.quote-form .consent{font-size:12px;line-height:1.7}
.quote-form .form-note{font-size:11px}
.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{border-color:#72737e;transition:border-color .2s,box-shadow .2s}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#f7a193;outline:2px solid #f7a193;outline-offset:2px}
.quote-form .upload-label span{font-size:11px}
.form-errors{scroll-margin-top:130px}
.catalog-product{transition:transform .3s var(--ui-ease),box-shadow .3s,border-color .3s}
.catalog-product:hover,.catalog-product:focus-within{transform:translateY(-5px);box-shadow:0 14px 30px #2729330b;border-color:#bdb6ab}
.catalog-product-description{font-size:13px}
.catalog-product-cta,.catalog-help a,.filter-title a{min-height:44px}
.catalog-active a{min-height:44px}
.catalog-category{transition:transform .3s var(--ui-ease),background .2s,color .2s}
.catalog-category:hover{transform:translateY(-4px)}
.service{border-top-color:#ffffff55}.service-photo{border-radius:2px}
.history-photo{overflow:hidden}.history-photo img{transition:transform .6s var(--ui-ease)}.history-photo:hover img{transform:scale(1.025)}
.section-heading>p{line-height:1.8}
.footer-columns>div>a{min-height:36px;display:flex;align-items:center;margin-bottom:5px}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}.footer-bottom{padding-top:12px}
.creative-footer:before{content:'';position:absolute;right:-150px;top:50px;width:440px;height:440px;border:1px solid #ffffff08;transform:rotate(35deg);pointer-events:none}
@media(min-width:761px) and (max-width:1050px){.header{height:auto;min-height:96px;flex-wrap:wrap;padding-block:12px}.header nav{order:3;width:100%;justify-content:center}.header>.button{margin-left:auto}.homepage .hero-grid{padding-top:185px}}
@media(max-width:760px){
 .header nav{font-size:18px;gap:0;max-height:calc(100dvh - 150px);overflow-y:auto;box-shadow:0 14px 22px #0002}
 .header nav a{padding:13px 5px;min-height:50px}.header nav a:after{right:auto;width:30px;bottom:7px}
 .hero-copy .slide{min-height:270px}.hero-controls{gap:6px;flex-wrap:wrap}.hero-controls .control-line{width:25px}
 .hero .eyebrow{font-size:9px}.hero-bottom{font-size:9px;gap:15px}.hero-reassurance{font-size:11px;max-width:280px}
 .catalog-product-description{font-size:12px}.catalog-product-cta{font-size:12px}
 .quote-form label{font-size:12px}.quote-form .consent{font-size:11px}
 .hero-art,.footer-bird{--parallax-y:0px!important}.footer-columns>div>a{min-height:44px}.footer-bottom div{flex-wrap:wrap;gap:10px 22px}
 /* O menu permanece acessível quando o JavaScript está desativado. */
 html:not(.js) .header{position:relative;height:auto;flex-wrap:wrap;padding-block:18px}
 html:not(.js) .homepage .header{background:var(--navy);color:white}
 html:not(.js) .header nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;order:4;width:100%;background:transparent;color:inherit;box-shadow:none}
 html:not(.js) .menu-toggle{display:none}html:not(.js) .homepage .hero-grid{padding-top:50px}
}
@media(prefers-reduced-motion:reduce){.hero-art,.page-head .page-head-image{transform:none!important}.footer-bird{transform:rotate(-15deg)!important}.catalog-product:hover,.catalog-product:focus-within,.catalog-category:hover{transform:none}.history-photo:hover img{transform:none}}
/* Homepage: composição mais expressiva sem movimento contínuo obrigatório. */
.homepage .hero{background:radial-gradient(ellipse at 85% 35%,#4b373a66,transparent 48%),linear-gradient(115deg,#20222b,#2d2b35);isolation:isolate}
.homepage .hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none;z-index:-1}
.homepage .hero-grid{column-gap:35px;padding-bottom:55px}
.homepage .hero h1,.homepage .hero h2{font-weight:650;letter-spacing:-.065em}
.homepage .hero h1 em,.homepage .hero h2 em{background:linear-gradient(100deg,#f27766,#f5a394);background-clip:text;-webkit-background-clip:text;color:transparent}
.homepage .hero .hero-description{max-width:460px;line-height:1.8;color:#d3ced7}
.homepage .hero-art{perspective:1200px}
.homepage .hero-art .hero-visual{transform:rotate(-4deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease-out;box-shadow:0 28px 70px #10101855;border:1px solid #ffffff20;border-radius:4px}
.homepage .art-ring{border-color:#f277661a;width:450px;height:450px;transform:rotate(22deg)}
.homepage .ring-two{width:340px;height:340px;transform:rotate(55deg)}
.hero-image-note{position:absolute;left:-22px;bottom:40px;z-index:3;padding:22px 27px;background:#faf8f5;color:#272933;border-left:4px solid #ef3e29;box-shadow:0 14px 40px #10101822;transform:rotate(2deg);max-width:290px;pointer-events:none}
.hero-image-note>span:first-child{font-size:9px;font-weight:700;letter-spacing:.15em;color:#8b4b40;display:block;margin-bottom:12px}
.hero-image-note strong{display:block;font-size:25px;line-height:1.2;letter-spacing:-.04em}
.hero-note-detail{font-size:7px;letter-spacing:.07em;display:block;margin-top:16px;color:#66636c}
.homepage .hero-art .art-caption{bottom:-30px;font-size:10px}
.slider-progress{width:215px;max-width:80%;height:2px;background:#ffffff20;margin-top:29px;overflow:hidden}
.slider-progress>span{display:block;width:100%;height:100%;background:#f27766;transform:scaleX(var(--slide-progress,0));transform-origin:left;transition:transform .1s linear}
.homepage .hero-controls{margin-top:12px}.homepage .hero-controls .control-line{display:none}
.homepage .hero-cta{position:relative;overflow:hidden;background:#d93825;box-shadow:0 10px 30px #d938252a}
.homepage .hero-cta:before{content:'';position:absolute;inset:-60% auto -60% -70%;width:40%;background:linear-gradient(90deg,transparent,#ffffff25,transparent);transform:rotate(22deg);transition:left .65s ease;pointer-events:none}
.homepage .hero-cta:hover:before{left:130%}
.homepage .trust{position:relative;background:#fff;border-bottom:1px solid #e8e1d9;padding-block:34px}
.homepage .trust b{font-size:21px;letter-spacing:-.04em}.homepage .trust span{font-size:12px}
.homepage .intro h2,.homepage .section-heading h2{letter-spacing:-.055em}
.homepage .service{padding:22px;background:#ffffff04;border:1px solid #ffffff1a;transition:background .3s,border-color .3s,transform .35s}
.homepage .service:hover{background:#ffffff09;border-color:#f2776660;transform:translateY(-5px)}
.homepage .service .service-photo{height:290px}.homepage .service .text-link{margin-top:8px}
.homepage .values article{position:relative;padding:26px 20px;background:#faf8f580;transition:background .3s,transform .3s;border-top:2px solid #d0c7bd}
.homepage .values article:hover{background:#fff;transform:translateY(-5px);border-top-color:#d93825}
.homepage .values .value-icon{display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px;border:1px solid #d6ccc1;font-size:25px;transition:transform .3s,background .3s}
.homepage .values article:hover .value-icon{transform:rotate(-8deg);background:#f4e4dd}
.homepage .mission{border-top-color:#d8ccc1}.homepage .clients{background:linear-gradient(135deg,#f1ede6,#faf8f5)}
.homepage .client-list{gap:22px}.homepage .client-list span{padding:15px 20px;border:1px solid #d9d3c9;font-size:19px;background:#ffffff60;transition:background .25s}.homepage .client-list span:hover{background:#fff}
.homepage .quote{position:relative;overflow:hidden;background:radial-gradient(ellipse at 5% 80%,#713c332b,transparent 60%),#272933}
.homepage .quote-intro{align-self:start;position:sticky;top:140px}.homepage .quote-photo{border-radius:3px}
@media(max-width:1100px){.hero-image-note{left:0;bottom:35px;padding:18px;max-width:230px}.hero-image-note strong{font-size:21px}.homepage .art-ring{width:300px;height:300px}.homepage .hero-grid{column-gap:20px}.homepage .hero h1,.homepage .hero h2{font-size:clamp(52px,6.2vw,100px)}}
@media(max-width:760px){.homepage .hero-grid{padding-bottom:35px;row-gap:15px}.homepage .hero h1,.homepage .hero h2{font-size:clamp(46px,12vw,58px)}.homepage .hero-art .hero-visual{transform:rotate(-3deg);width:94%;box-shadow:0 15px 30px #10101833}.homepage .hero-art{margin-top:30px;margin-bottom:20px}.hero-image-note{display:none}.homepage .hero-art .art-caption{bottom:-20px;font-size:8px}.homepage .trust{padding-block:26px}.homepage .trust b{font-size:17px}.homepage .trust span{font-size:10px}.homepage .hero .hero-description{font-size:15px}.homepage .service{padding:18px}.homepage .service .service-photo{height:220px}.homepage .values article{padding:22px 14px}.homepage .client-list{gap:10px}.homepage .client-list span{font-size:16px;padding:12px}.homepage .quote-intro{position:static}.slider-progress{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.homepage .hero-art .hero-visual{transform:rotate(-3deg)!important}.homepage .service:hover,.homepage .values article:hover{transform:none}.homepage .values article:hover .value-icon{transform:none}.homepage .hero-cta:before{display:none}.slider-progress>span{transition:none}}
/* O cabeçalho reaparece ao subir e recolhe ao descer, sem alterar o espaço da página. */
body:not(.admin) .header{transition:transform .28s ease,background .25s,border-color .25s;transform:translateY(0)}
body:not(.admin) .header.is-hidden:not(:focus-within){transform:translateY(calc(-100% - 2px));pointer-events:none}
@media(prefers-reduced-motion:reduce){body:not(.admin) .header{transition:none}}
/* Ritmo mais compacto na homepage, com colunas equilibradas. */
.homepage .section{padding-block:65px}
.homepage .section-heading{margin-bottom:30px}
.homepage .hero-grid{min-height:0;padding-top:145px;padding-bottom:32px;align-items:center}
.homepage .hero-copy .slide{min-height:0}
.homepage .hero h1,.homepage .hero h2{font-size:clamp(54px,5.8vw,90px)}
.homepage .hero-description{margin:22px 0 25px}
.homepage .hero-art{align-self:stretch;min-height:410px}
.homepage .hero-controls{margin-top:10px}
.homepage .slider-progress{margin-top:20px}
.homepage .hero-bottom{padding-block:16px}
.homepage .intro{gap:6%;align-items:stretch}
.home-intro-copy{min-width:0}
.home-intro-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--grey);margin-top:22px}
.home-intro-copy>p.large{font-size:18px;color:var(--navy)}
.homepage .intro .text-link{margin-top:24px;max-width:none}
.home-intro-image{position:relative;overflow:hidden;margin:0;min-height:430px;background:#ded5ca}
.home-intro-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-intro-image figcaption{position:absolute;inset:auto 0 0;padding:40px 25px 22px;background:linear-gradient(transparent,#20222bce);color:white;font-size:10px;letter-spacing:.08em}
.home-intro-image figcaption span{display:block;font-size:9px;letter-spacing:0;margin-top:7px;color:#e3dce5}
.homepage .history-people{margin-top:25px;gap:20px}
.homepage .history-people .history-photo img{height:280px}
.homepage .values{margin:30px 0 35px;gap:20px}
.homepage .mission{padding-top:28px;gap:30px}
.homepage .service-grid{gap:28px}
.homepage .service .service-photo{height:245px;margin-bottom:20px}
.homepage .service h3{margin:16px 0}
.homepage .service ul{margin-bottom:18px;line-height:2.1}
.homepage .center{margin-top:25px}
.homepage .clients>p:not(.eyebrow){margin:18px auto}
.homepage .client-list{margin:25px 0;padding-block:24px}
.homepage .portfolio-empty{min-height:160px;padding:28px 32px}
.homepage .quote{overflow:clip;gap:6%}
.homepage .quote-intro{top:110px}
.homepage .quote-photo{height:290px;margin-top:25px}
.homepage .quote-intro>p:not(.eyebrow){margin-block:24px}
.homepage .quote-foot{margin-top:20px}
.homepage .creative-footer{padding-top:50px}
.homepage .footer-invitation{padding-bottom:40px}
.homepage .footer-columns{padding-block:35px}
@media(min-width:761px) and (max-width:1050px){.homepage .hero-grid{padding-top:180px}.homepage .hero-art{min-height:360px}}
@media(max-width:760px){
 .homepage .section{padding-block:42px}
 .homepage .hero-grid{padding-top:110px;padding-bottom:20px;row-gap:12px}
 .homepage .hero h1,.homepage .hero h2{font-size:clamp(44px,12vw,58px)}
 .homepage .hero-art{min-height:0;height:235px;margin:15px 0 22px}
 .homepage .hero-art .hero-visual{max-height:235px;width:90%;object-fit:cover}
 .homepage .hero-copy .slide{min-height:0}.homepage .hero-description{margin:18px 0 20px}
 .homepage .trust{padding-block:21px}
 .homepage .intro{gap:25px}.home-intro-image{min-height:290px}
 .home-intro-copy>p.large{font-size:17px}.home-intro-copy>p:not(.eyebrow){margin-top:18px}
 .home-intro-image figcaption{padding:35px 18px 18px;font-size:9px}
 .homepage .history-people .history-photo img{height:235px}
 .homepage .values{gap:14px;margin:25px 0}.homepage .mission{gap:12px;padding-top:22px}
 .homepage .service-grid{gap:22px}.homepage .service .service-photo{height:210px}
 .homepage .portfolio-empty{padding:22px 18px;min-height:150px}
 .homepage .quote{gap:28px}.homepage .quote-photo{height:210px}
 .homepage .creative-footer{padding-top:38px}.homepage .footer-invitation{padding-bottom:28px}
 .homepage .footer-columns{padding-block:28px;gap:25px 18px}
+}
/* Homepage essencial: conteúdo institucional concentrado em Sobre Nós. */
.homepage .home-trust{padding-block:23px;align-items:center}
.homepage .home-trust b{font-size:15px;letter-spacing:-.02em}
.homepage .home-intro-image{min-height:285px}
.homepage .home-intro-copy{align-self:center}
.homepage .home-intro-copy>p:not(.eyebrow){max-width:420px;margin-top:22px;font-size:17px;line-height:1.7}
.homepage .home-intro-image figcaption{padding:28px 18px 16px;font-size:9px;letter-spacing:0}
.homepage .home-service-description{font-size:15px;color:#c8c4cf;margin:12px 0 24px}
.homepage .catalog-product .product-caption{flex:1;padding-bottom:18px}
.homepage .client-list{margin-bottom:0;border-bottom:0;padding-bottom:0}
.home-quote-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;background:#272933;color:white}
.home-quote-cta .eyebrow{margin-bottom:18px}
.homepage .creative-footer{padding-top:15px}
.homepage .hero-grid{padding-bottom:45px}
@media(max-width:760px){.homepage .home-trust{gap:15px;padding-block:20px}.homepage .home-trust b{font-size:12px}.homepage .home-intro-image{min-height:245px}.homepage .home-intro-copy>p:not(.eyebrow){font-size:15px}.homepage .hero-grid{padding-bottom:28px}.home-quote-cta{flex-direction:column;align-items:flex-start;gap:25px}.home-quote-cta h2{font-size:35px}.home-quote-cta .button{width:100%}.homepage .home-service-description{font-size:14px}}
/* Hero de ecrã inteiro; pode crescer em janelas baixas para não cortar conteúdo. */
.homepage .hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.homepage .hero-grid{width:100%;flex:1;min-height:100vh;min-height:100svh;align-items:center}
@media(max-width:760px){.homepage .hero-grid{align-content:center;min-height:100vh;min-height:100svh;padding-top:105px;padding-bottom:30px}.homepage .hero-art{margin-bottom:22px}}
