﻿@import url("https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600&family=Fraunces:wght@400;600&display=swap");
:root{--terra:#C2442A;--terra-dark:#a73926;--ink:#332c29;--body:#4e4741;--ivory:#faf8f4;--paper:#f5f0e9;--line:#e7ded3;--serif:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Figtree",Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--body);font-family:var(--sans);line-height:1.62}a{color:inherit}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a0c4cf;outline-offset:3px}.shell{width:min(100% - 72px,1240px);margin-inline:auto}
.header{background:var(--terra);color:white;position:relative;z-index:20}.header-inner{min-height:83px;display:flex;align-items:center;gap:26px;justify-content:space-between}.header-logo{display:block;width:clamp(150px,18vw,225px);flex:none}.header-logo img{width:100%;height:auto}.nav{display:flex;align-items:center;gap:22px}.nav a{font-size:12px;letter-spacing:.025em;text-decoration:none;opacity:.93;white-space:nowrap}.nav a:hover,.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.menu-mobile{display:none}.nav-toggle{display:none}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(48px,5.8vw,84px)}h2{font-size:clamp(34px,3.7vw,57px)}h3{font-size:clamp(25px,2.5vw,36px)}.kicker{font-size:11px;text-transform:uppercase;color:var(--terra);font-weight:700;letter-spacing:.28em;margin-bottom:17px}.lead{font-family:var(--serif);font-size:clamp(18px,2vw,24px);line-height:1.5}.tiny-rule{width:56px;height:2px;background:var(--terra);margin:22px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--terra);color:white;text-decoration:none;padding:13px 22px;font-size:13px;border:1px solid var(--terra);min-height:46px}.btn:hover{background:var(--terra-dark)}.btn.ghost{background:transparent;color:var(--terra)}.btn.ghost:hover{background:#f5e6e1}
.hero{position:relative;background:var(--paper);min-height:540px;display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero-media{position:absolute;inset:0 0 0 30%;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf8f4 0%,rgba(250,248,244,.97) 26%,rgba(250,248,244,.86) 40%,rgba(250,248,244,.08) 71%)}.hero-inner{padding:90px 0}.hero-text{max-width:520px}.hero-text h1{max-width:610px}.hero-text p:last-child{margin-bottom:0}.hero--home{min-height:635px}.hero--home .hero-media img{object-position:center 35%}.hero--detail{min-height:480px}.hero--detail .hero-text{max-width:570px}.hero--detail h1{font-size:clamp(44px,5vw,71px)}.hero--detail .hero-media{inset:0 0 0 35%}.hero--detail .hero-media img{object-position:center 40%}.hero--friends .hero-media img{filter:blur(7px);transform:scale(1.03)}
.section{padding:85px 0}.section.soft{background:#fff}.section.tint{background:var(--paper)}.split{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;min-height:430px}.split.swap{grid-template-columns:1fr 1.05fr}.split .visual{min-height:430px}.split .visual img{width:100%;height:100%;object-fit:cover}.split .copy{display:flex;align-items:center;padding:75px clamp(35px,7vw,105px)}.split .copy>div{max-width:490px}.split .copy h2{max-width:560px}.split p{max-width:515px}.split .visual.fade-right{mask-image:linear-gradient(90deg,#000 75%,transparent 100%)}.split .visual.fade-left{mask-image:linear-gradient(270deg,#000 75%,transparent 100%)}
.band{padding:72px 0;background:var(--paper)}.band-content{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;align-items:center}.roman{font-family:var(--serif);color:var(--terra);font-size:clamp(95px,11vw,180px);line-height:1}.photogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.photogrid img{width:100%;height:245px;object-fit:cover}.photogrid img:first-child{grid-column:span 2}.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}.brand-card{padding:40px;background:#fff;min-height:225px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.brand-card .brand-logo{width:230px;max-height:92px;object-fit:contain;object-position:left center}.brand-card .caption{font-size:14px}.brand-card .link{font-size:13px;color:var(--terra)}.callout{max-width:660px;margin:0 auto}.center{text-align:center}.center .tiny-rule{margin-inline:auto}
.prose-wrap{padding:82px 0 106px}.prose{width:min(100% - 48px,850px);margin:auto;font-size:18px;line-height:1.83}.prose p{margin:0 0 24px}.prose h2{font-size:clamp(29px,3vw,41px);margin:51px 0 24px}.prose h3{font-size:26px;margin:35px 0 15px}.prose .emphasis{font-weight:700}.brand-detail-logo{width:min(100%,270px);height:auto;margin-bottom:26px}.brand-divider{height:1px;background:var(--line);margin:46px 0}.brand-section{scroll-margin-top:40px}.quinta-crop{width:min(100%,280px);height:95px;overflow:hidden;margin:0 0 22px}.quinta-crop svg{width:100%;height:100%}.aside-note{color:#756b62;font-size:15px}
.footer{background:var(--terra);color:white;padding:45px 0 26px}.footer-main{display:grid;grid-template-columns:1.1fr .8fr 1fr auto;align-items:center;gap:27px}.footer-brand img{width:230px}.footer-info{font-size:13px;line-height:1.6}.footer-info a{text-decoration:none}.footer-info a:hover{text-decoration:underline}.footer-extra{display:flex;gap:18px;align-items:center;justify-content:space-between;border-top:1px solid #ffffff58;padding-top:25px;margin-top:31px;font-size:11px}.footer-extra a{text-decoration:underline;text-underline-offset:3px}.footer-responsible{color:white;display:inline-block;text-decoration:none;font-size:12px}.footer-responsible:hover{text-decoration:underline}.footer .outline{color:white;border:1px solid #ffffff99;padding:11px 19px;white-space:nowrap;text-decoration:none;font-size:12px}
.legal-page{padding:78px 0 110px;background:#fff}.legal-page h1{font-size:clamp(40px,5vw,64px)}.legal-page .prose{margin:38px 0 0;width:min(100%,870px);font-size:16px}.legal-page h2{font-size:27px}
.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(19,15,12,.65);display:grid;place-items:center;padding:18px}.modal-backdrop[hidden],.cookie-banner[hidden],.cookie-details[hidden]{display:none!important}.age-dialog{width:min(100%,540px);background:var(--ivory);padding:46px 48px;text-align:center;box-shadow:0 24px 65px #0004}.age-dialog img{width:220px;margin:0 auto 30px}.age-dialog h2{font-size:36px}.age-dialog p{font-size:15px}.age-actions{display:flex;gap:12px;justify-content:center;margin-top:26px}.age-actions button{min-width:128px;border:1px solid var(--terra);padding:12px;background:var(--terra);color:#fff}.age-actions .no{background:transparent;color:var(--terra)}body.modal-open{overflow:hidden}
.cookie-banner{position:fixed;z-index:900;bottom:16px;left:16px;right:16px;background:#fff;border:1px solid var(--line);padding:21px 23px;box-shadow:0 9px 35px #0003;max-width:1110px;margin:auto}.cookie-banner .row{display:flex;align-items:center;justify-content:space-between;gap:22px}.cookie-banner p{font-size:13px;margin:0;line-height:1.45}.cookie-banner strong{font-size:14px;color:var(--ink)}.cookie-buttons{display:flex;gap:9px;flex-wrap:wrap;flex:none}.cookie-buttons button{padding:9px 12px;border:1px solid var(--terra);background:#fff;color:var(--terra);font-size:12px}.cookie-buttons button.primary{background:var(--terra);color:#fff}.cookie-banner a{color:var(--terra)}.cookie-details{border-top:1px solid var(--line);margin-top:14px;padding-top:14px;font-size:13px}.cookie-details label{display:block;margin-top:8px}
@media(max-width:1000px){.nav{gap:13px}.nav a{font-size:11px}.footer-main{grid-template-columns:1fr 1fr}.split .copy{padding:52px 37px}.band-content{gap:24px}}
@media(max-width:750px){.shell{width:min(100% - 38px,1240px)}.header-inner{min-height:70px}.header-logo{width:175px}.nav{display:none}.nav-toggle{display:block;color:white;background:transparent;border:1px solid #fff8;padding:8px 12px}.menu-mobile{display:block;background:var(--terra-dark);padding:10px 20px 20px}.menu-mobile[hidden]{display:none}.menu-mobile a{display:block;color:#fff;text-decoration:none;padding:9px 0;font-size:14px}.hero,.hero--home,.hero--detail{min-height:570px;align-items:flex-end}.hero-media,.hero--detail .hero-media{inset:0 0 110px 0}.hero:after{background:linear-gradient(0deg,#faf8f4 0%,#faf8f4 21%,rgba(250,248,244,.9) 42%,rgba(250,248,244,.03) 87%)}.hero-inner{padding:30px 0 42px}.hero h1{font-size:clamp(41px,10vw,60px)}.section{padding:55px 0}.split,.split.swap{grid-template-columns:1fr}.split .visual{min-height:260px;height:320px;order:0}.split .copy{order:1;padding:48px 25px}.split .visual.fade-right,.split .visual.fade-left{mask-image:none}.band{padding:50px 0}.band-content{grid-template-columns:1fr}.roman{font-size:95px}.photogrid{grid-template-columns:1fr 1fr}.photogrid img{height:160px}.photogrid img:first-child{grid-column:span 2;height:230px}.duo{grid-template-columns:1fr}.brand-card{min-height:190px;padding:30px}.prose-wrap{padding:55px 0 80px}.prose{font-size:16px}.footer-main{grid-template-columns:1fr;gap:18px}.footer-extra{flex-direction:column;align-items:flex-start;gap:12px}.age-dialog{padding:32px 24px}.cookie-banner{left:8px;right:8px;bottom:8px;padding:17px}.cookie-banner .row{display:block}.cookie-buttons{margin-top:13px}.cookie-buttons button{flex:1}.legal-page{padding:50px 0 70px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Ajustes aprovados em 18/10/2026 | manter fotografias originais */
.hero{background:var(--ivory)}
.hero-media{inset:0 0 0 29%;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 57%);mask-image:linear-gradient(to right,transparent 0%,#000 57%)}
.hero--detail .hero-media{inset:0 0 0 30%}
.hero:after{background:
linear-gradient(to top,var(--ivory) 0%,rgba(250,248,244,.94) 3%,rgba(250,248,244,0) 27%),
linear-gradient(to right,var(--ivory) 0%,rgba(250,248,244,.93) 27%,rgba(250,248,244,.47) 46%,rgba(250,248,244,0) 74%)}
.prose-wrap{background:var(--ivory)}
.split{background:var(--ivory)}
.split.soft{background:#fff}
.split .visual{-webkit-mask-image:linear-gradient(to right,#000 68%,transparent 100%);mask-image:linear-gradient(to right,#000 68%,transparent 100%)}
.split.swap .visual{-webkit-mask-image:linear-gradient(to left,#000 68%,transparent 100%);mask-image:linear-gradient(to left,#000 68%,transparent 100%)}
.pavia-feature .visual img{object-position:center center}
.brand-card{align-items:center;justify-content:center;text-align:center;min-height:225px}
.brand-card a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:110px;transition:transform .2s ease}
.brand-card a:hover{transform:scale(1.035)}
.brand-card .brand-logo{width:min(100%,340px);max-height:130px;object-fit:contain;object-position:center}
.nav{gap:7px}
.nav a{padding:9px 13px;border-radius:30px;transition:background-color .2s ease,opacity .2s ease}
.nav a:hover,.nav a[aria-current=page]{background:rgba(255,255,255,.14);text-decoration:none}
.footer-main{grid-template-columns:1fr auto auto auto;gap:30px}
.footer-info{white-space:nowrap}
.footer-extra{justify-content:space-between}
.privacy-control{margin-top:-8px;margin-bottom:29px!important;font-size:13px}
.privacy-control a{color:var(--terra);text-underline-offset:3px}
.detail-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:50px 0 46px}
.detail-photo-grid img{width:100%;height:280px;object-fit:cover}
.team-image{background:var(--ivory);padding:40px 0 83px}
.team-image img{width:100%;height:min(39vw,515px);object-fit:cover;object-position:center 42%}
@media(max-width:1050px){.footer-main{grid-template-columns:1fr 1fr;gap:19px}.footer-info{white-space:normal}}
@media(max-width:750px){
.nav{display:none}
.hero-media,.hero--detail .hero-media{inset:0 0 115px 0;-webkit-mask-image:linear-gradient(to top,transparent 0%,#000 46%);mask-image:linear-gradient(to top,transparent 0%,#000 46%)}
.hero:after{background:linear-gradient(to top,var(--ivory) 0%,var(--ivory) 18%,rgba(250,248,244,.65) 48%,rgba(250,248,244,0) 83%)}
.split .visual,.split.swap .visual{-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);mask-image:linear-gradient(to bottom,#000 70%,transparent 100%)}
.brand-card{min-height:175px}
.detail-photo-grid{grid-template-columns:1fr}
.detail-photo-grid img{height:230px}
.team-image{padding:30px 0 60px}
.team-image img{height:auto;max-height:420px;object-fit:contain}
.footer-main{grid-template-columns:1fr}
}
/* 19/10/2026: continuidade real, altura das imagens regida pelo conteúdo */
:root{--frame-max:1240px}
main{background:var(--ivory)}
main>.split,main>.split.soft,main>.split.swap,main>.section.tint,main>.team-image{background:var(--ivory)}
main>.split,main>.split.swap{
display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(22px,2.5vw,42px);
width:min(calc(100% - 72px),var(--frame-max));max-width:var(--frame-max);min-height:0;height:auto;
margin:0 auto;padding:0;align-items:stretch}
main>.split .visual,main>.split.swap .visual{
position:relative;width:100%;height:auto;min-height:0;max-height:none;align-self:stretch;overflow:hidden}
main>.split .visual img,main>.split.swap .visual img{
position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 42%}
main>.split .visual{
-webkit-mask-image:linear-gradient(to right,#000 0%,#000 70%,transparent 100%);
mask-image:linear-gradient(to right,#000 0%,#000 70%,transparent 100%)}
main>.split.swap .visual{
-webkit-mask-image:linear-gradient(to left,#000 0%,#000 70%,transparent 100%);
mask-image:linear-gradient(to left,#000 0%,#000 70%,transparent 100%)}
main>.split .copy,main>.split.swap .copy{
display:flex;align-items:center;min-width:0;min-height:0;height:auto;align-self:stretch;
padding:26px clamp(5px,1vw,15px)}
main>.split .copy>div{max-width:520px;width:100%}
main>.split .copy h2{font-size:clamp(34px,3vw,52px)}
main>.split .copy p{max-width:515px}
main>.pavia-feature .copy{text-align:right}
main>.pavia-feature .copy>div{margin-left:auto}
main>.pavia-feature .copy .tiny-rule{margin-left:auto;margin-right:0}
main>.pavia-feature .copy p{margin-left:auto}
.pavia-feature .visual img{object-position:center 43%}
main>.section.tint{padding:52px 0}
.duo{width:min(100%,980px);margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.brand-card,.duo .brand-card,.partner-card{
box-sizing:border-box;height:158px;min-height:158px;padding:13px 20px;
display:flex;align-items:center;justify-content:center;text-align:center}
.brand-card a,.partner-card a{min-height:0;height:100%;width:100%;display:flex;align-items:center;justify-content:center}
.brand-card .brand-logo{width:min(100%,340px);max-height:112px;object-fit:contain;object-position:center}
.partner-separator{border-top:1px solid var(--line);margin:31px 0 17px}
.partner-label{text-align:center;font-size:15px;margin:0 0 12px}
.partner-card{width:calc((min(100%,980px) - 22px)/2);max-width:479px;margin:0 auto}
.partner-card .quinta-crop{display:block;width:min(100%,345px);height:102px;overflow:hidden;margin:0 auto}
.partner-card .quinta-crop svg{width:100%;height:100%;display:block}
.team-image{padding:28px 0 58px}
.team-image h2{text-align:center;font-size:clamp(29px,3vw,42px);margin:0 0 25px}
.team-image img{display:block;width:min(100%,900px);height:auto;max-height:none;margin:0 auto;object-fit:contain;object-position:center}
.hero--home{min-height:min(625px,74svh)}
.hero--detail{min-height:min(480px,62svh)}
@media(max-width:880px){
.nav{display:none}.nav-toggle{display:block}.menu-mobile{display:block}.menu-mobile[hidden]{display:none}
main>.split,main>.split.swap{width:min(calc(100% - 40px),650px);grid-template-columns:minmax(0,1fr);gap:0;padding:0}
main>.split .visual,main>.split.swap .visual{
order:0;width:100%;height:clamp(230px,52vw,355px);min-height:0;max-height:none;align-self:auto;
-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);
mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)}
main>.split .copy,main>.split.swap .copy{order:1;padding:8px 5px 24px;height:auto}
main>.split .copy h2{font-size:clamp(34px,6vw,48px)}
main>.pavia-feature .copy{text-align:left}
main>.pavia-feature .copy .tiny-rule{margin-left:0;margin-right:auto}
main>.pavia-feature .copy p{margin-left:0}
.duo{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
.shell{width:min(calc(100% - 36px),var(--frame-max))}
.hero--home,.hero--detail{display:block;min-height:0;padding-top:clamp(245px,63vw,325px)}
.hero-media,.hero--detail .hero-media{
inset:0 0 auto 0;height:clamp(255px,68vw,345px);
-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%);
mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%)}
.hero:after{background:linear-gradient(to top,var(--ivory) 0%,var(--ivory) 18%,rgba(250,248,244,.65) 45%,rgba(250,248,244,0) 83%)}
.hero-inner{padding:22px 0 40px;position:relative}
.hero-text h1{font-size:clamp(37px,9.7vw,50px)}
main>.split,main>.split.swap{width:min(calc(100% - 36px),510px)}
main>.split .visual,main>.split.swap .visual{height:clamp(220px,66vw,320px)}
main>.split .copy,main>.split.swap .copy{padding:6px 4px 23px}
main>.section.tint{padding:35px 0 39px}
.duo{grid-template-columns:1fr;gap:14px}
.brand-card,.duo .brand-card,.partner-card{width:100%;height:148px;min-height:148px}
.partner-card{width:100%;max-width:none}
.partner-card .quinta-crop{height:100px}
.team-image{padding:25px 0 48px}
.team-image img{height:auto;max-height:none;object-fit:contain}
}
@media(max-width:360px){main>.split,main>.split.swap{width:calc(100% - 28px)}.hero-text h1{font-size:36px}}
/* Alinhamento da apresentação de Vinhos: pedido de 18/10/2026 */
#vinhos > .shell > .kicker,
#vinhos > .shell > h2,
#vinhos > .shell > p:not(.partner-label) { text-align: center; }
#vinhos > .shell > .tiny-rule { margin-left: auto; margin-right: auto; }
#vinhos > .shell > .partner-label { font-weight: 700; }
/* JA 2026-10-18 | Movimento editorial discreto */
/* O zoom funciona apenas em dispositivos com rato, sem alterar tamanho ou posição dos blocos */
@media (hover:hover) and (pointer:fine) {
  main > .split .visual img {
    transition: transform 4.5s cubic-bezier(.20,.48,.25,1);
    transform-origin: 50% 50%;
    will-change: transform;
  }
  main > .split:hover .visual img { transform: scale(1.045); }
  .brand-card {
    transition: box-shadow .28s ease, transform .28s ease;
  }
  .brand-card:hover {
    box-shadow: 0 10px 24px rgba(51,44,41,.08);
    transform: translateY(-2px);
  }
}
/* Entrada só dos elementos activados pelo observador, sem ocultar conteúdo por defeito */
.ja-animate-enter {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .75s ease, transform .75s cubic-bezier(.2,.72,.2,1);
}
.ja-animate-enter.ja-is-visible { opacity:1; transform:none; }
.btn {
  transition: background-color .22s ease, box-shadow .22s ease;
}
.btn:hover { box-shadow: 0 5px 15px rgba(120,49,33,.13); }
.btn span[aria-hidden="true"] {
  display: inline-block;
  transition: transform .24s ease;
}
.btn:hover span[aria-hidden="true"] { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) {
  .ja-animate-enter,
  .ja-animate-enter.ja-is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
  main > .split .visual img,
  main > .split:hover .visual img {
    transform: none;
    transition: none;
    will-change: auto;
  }
  .brand-card,
  .brand-card:hover {
    transform: none;
    transition: none;
  }
}
/* JA | Revisao 18-10-2026 | header fixo, botoes evidentes, footer compacto */
/* Homepage: logotipo e navegação sempre acessíveis durante o scroll */
body:has(.hero--home) .header {
  position: sticky;
  top: 0;
  z-index: 50;
}
/* A navegação deve ser reconhecível como interativa mesmo sem hover */
.nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 4px;
  background: rgba(255,255,255,.10);
  color: #fff;
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
  opacity: 1;
  transition: background-color .22s ease, border-color .22s ease, transform .22s ease;
}
.nav a:hover,
.nav a:focus-visible {
  border-color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.23);
  text-decoration: none;
}
.nav a[aria-current="page"] {
  background: rgba(255,255,255,.28);
  border-color: rgba(255,255,255,.68);
}
@media (hover:hover) and (pointer:fine) {
  .nav a:hover { transform: translateY(-1px); }
}
.btn {
  font-weight: 650;
  letter-spacing: .01em;
}
/* Entrada dos blocos: mais presente, mas sem alterar a geometria */
.ja-animate-enter {
  transform: translateY(26px);
  transition: opacity 1.5s ease, transform 1.5s cubic-bezier(.2,.72,.2,1);
}
.ja-animate-enter.ja-is-visible { opacity: 1; transform: none; }
/* O rodapé compacto aplica-se às páginas internas, não à homepage */
body:has(.hero--detail) .footer,
body:has(.legal-page) .footer {
  padding: 22px 0 14px;
}
body:has(.hero--detail) .footer-main,
body:has(.legal-page) .footer-main {
  gap: 18px;
}
body:has(.hero--detail) .footer-brand img,
body:has(.legal-page) .footer-brand img {
  width: 170px;
  max-width: 100%;
}
body:has(.hero--detail) .footer-extra,
body:has(.legal-page) .footer-extra {
  margin-top: 14px;
  padding-top: 12px;
}
body:has(.hero--detail) .footer .outline,
body:has(.legal-page) .footer .outline {
  padding: 8px 14px;
}
@media (max-width: 880px) {
  .menu-mobile a {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.23);
    border-radius: 4px;
    margin: 6px 0;
    padding: 10px 13px;
    font-weight: 600;
  }
  .menu-mobile a[aria-current="page"] {
    background: rgba(255,255,255,.24);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ja-animate-enter,
  .ja-animate-enter.ja-is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .nav a,
  .nav a:hover {
    transform: none;
    transition: none;
  }
}
/* 19/10/2026 | Cabecalho editorial, identidade JA, centro fixo */
.header {position:sticky;top:0;z-index:100;background:var(--terra);}
.ja-header-layout {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;min-height:100px;align-items:center;}
.header-motto {justify-self:start;margin:0;color:#fff;font-size:clamp(13px,1.35vw,18px);font-weight:600;white-space:nowrap;}
.ja-header-layout .header-logo {justify-self:center;width:clamp(175px,17vw,230px);display:block;}
.header-actions {justify-self:end;display:flex;align-items:center;gap:20px;}
.header-actions .nav-toggle {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:64px;height:64px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--terra);transition:background .2s ease,transform .2s ease;}
.header-actions .nav-toggle:hover {background:#fff3ea;transform:scale(1.04);}
.hamburger-stroke {width:26px;height:2px;background:var(--terra);display:block;transition:transform .25s ease,opacity .25s ease;}
.header-actions .nav-toggle[aria-expanded="true"] .hamburger-stroke:nth-child(1) {transform:translateY(8px) rotate(45deg);}
.header-actions .nav-toggle[aria-expanded="true"] .hamburger-stroke:nth-child(2) {opacity:0;}
.header-actions .nav-toggle[aria-expanded="true"] .hamburger-stroke:nth-child(3) {transform:translateY(-8px) rotate(-45deg);}
.language-picker {position:relative;}
.language-toggle {display:flex;align-items:center;gap:10px;padding:10px 0 10px 4px;background:transparent;border:0;color:#fff;font-size:18px;font-weight:600;white-space:nowrap;}
.language-toggle:hover {text-decoration:underline;text-underline-offset:5px;}
.language-panel {position:absolute;top:calc(100% + 14px);right:0;min-width:160px;padding:9px;background:#fff;box-shadow:0 12px 35px #1a100f2e;color:var(--ink);z-index:112;}
.language-panel[hidden] {display:none!important;}
.language-panel>a,.language-current {display:block;padding:11px 13px;font-size:14px;text-decoration:none;border-radius:2px;}
.language-panel>a:hover {background:var(--paper);color:var(--terra);}
.language-current {font-weight:700;color:var(--terra);background:var(--ivory);}
.menu-mobile {display:block;position:absolute;right:max(18px,calc((100vw - 1240px)/2));top:100%;width:min(340px,calc(100vw - 36px));background:var(--terra-dark);padding:16px 24px 20px;box-shadow:0 20px 45px rgba(42,21,16,.25);max-height:calc(100svh - 80px);overflow-y:auto;z-index:110;}
.menu-mobile[hidden] {display:none!important;}
.menu-mobile a {display:block;border:none;background:none;border-bottom:1px solid #ffffff32;border-radius:0;margin:0;padding:12px 4px;color:#fff;text-decoration:none;font-weight:600;font-size:15px;}
.menu-mobile a:hover,.menu-mobile a[aria-current="page"] {color:#fff;background:rgba(255,255,255,.1);padding-left:12px;}
@media(max-width:880px) {.ja-header-layout{min-height:80px}.header-actions .nav-toggle{width:54px;height:54px}.header-actions{gap:12px}.menu-mobile{display:block}.header-motto{font-size:13px}}
@media(max-width:600px) {.ja-header-layout{grid-template-columns:1fr auto 1fr;min-height:75px;gap:8px}.header-motto{display:none}.ja-header-layout .header-logo{width:clamp(120px,35vw,170px)}.header-actions{gap:10px}.header-actions .nav-toggle{width:45px;height:45px;gap:5px}.hamburger-stroke{width:20px}.header-actions .nav-toggle[aria-expanded="true"] .hamburger-stroke:nth-child(1){transform:translateY(7px) rotate(45deg)}.header-actions .nav-toggle[aria-expanded="true"] .hamburger-stroke:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.language-toggle{font-size:14px;gap:3px}.menu-mobile{right:12px}}
@media(prefers-reduced-motion:reduce){.header-actions .nav-toggle,.hamburger-stroke{transition:none!important;transform:none!important}}
/* 19/10/2026 | Acessibilidade a ancoras e telemoveis pequenos */
.brand-section {scroll-margin-top:118px;}
@media(max-width:420px) {
.ja-header-layout .header-logo {width:115px;}
.header-actions{gap:5px;}
.header-actions .nav-toggle{width:40px;height:40px;}
.language-toggle{font-size:13px;gap:2px;padding-left:0;}
}
/* 19/10/2026 | Rodape compacto PT/EN e tipografia da prancha JA */
.header-motto{font-family:var(--serif);font-weight:400;letter-spacing:.03em;line-height:1.15;font-size:clamp(15px,1.4vw,20px);}
.header-actions .nav-toggle{position:relative;width:32px;height:32px;flex:0 0 32px;gap:3px;padding:0;}
.header-actions .nav-toggle::after{content:"";position:absolute;inset:-6px;border-radius:50%;}
.hamburger-stroke{width:14px;height:2px;}
.header-actions .nav-toggle[aria-expanded="true"] .hamburger-stroke:nth-child(1){transform:translateY(5px) rotate(45deg);}
.header-actions .nav-toggle[aria-expanded="true"] .hamburger-stroke:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
.footer{background:var(--terra);color:#fff;padding:8px 0 0;overflow-x:clip;}
.footer-main{display:grid;grid-template-columns:115px minmax(130px,1fr) minmax(165px,1fr) auto;align-items:center;gap:18px;min-height:44px;padding:0 0 8px;}
.footer-brand img{width:115px;height:auto;display:block;}
.footer-info{font-size:12px;line-height:1.35;}
.footer .outline{padding:6px 12px;font-size:12px;}
.footer-extra{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px;margin:0;padding:5px 0 6px;min-height:30px;border-top:1px solid rgba(255,255,255,.28);background:transparent;font-size:10px;line-height:1.4;}
.footer-extra::before{content:"";position:absolute;inset:0 calc(50% - 50vw);background:#111111;z-index:-1;}
.footer-extra a{white-space:nowrap;}
.footer-responsible{font-size:10px;}
@media(max-width:850px){
 .footer-main{grid-template-columns:115px minmax(0,1fr);gap:8px 18px;min-height:0;padding-bottom:10px;}
 .footer-main .outline{justify-self:start;}
 .footer-extra{flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px 14px;padding:6px 0;min-height:30px;}
}
@media(max-width:600px){
 .footer-main{grid-template-columns:100px minmax(0,1fr);gap:7px 12px;padding-bottom:9px;}
 .footer-brand img{width:100px;}
 .footer-info{font-size:11px;}
 .footer .outline{font-size:11px;padding:5px 9px;}
 .footer-extra{font-size:9px;gap:4px 9px;}
 .footer-responsible{font-size:9px;}
}
/* 19/10/2026 | Rodape sem sobreposicao em mobile */
@media(max-width:600px){
 .footer-main{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;}
 .footer-main>.footer-brand{grid-column:1;grid-row:1;}
 .footer-main>.footer-location{grid-column:2;grid-row:1;}
 .footer-main>.footer-info:not(.footer-location){grid-column:1;grid-row:2;font-size:10px;white-space:nowrap;}
 .footer-main>.outline{grid-column:2;grid-row:2;justify-self:end;font-size:10px;padding:4px 7px;white-space:nowrap;}
}
@media(max-width:360px){.footer-main>.footer-location{font-size:10px;}}
/* 19/10/2026 | Ensaio da tagline no cabecalho: +12%, maiusculas; reverter apagando este bloco */
.header-motto{font-family:var(--serif);font-size:clamp(17px,1.568vw,22.4px);font-weight:400;line-height:1.15;text-transform:uppercase;letter-spacing:.025em;}
@media (min-width:601px) and (max-width:900px){.header-motto{font-size:clamp(13px,1.6vw,16px);letter-spacing:.005em;}}
@media (min-width:601px) and (max-width:780px){.header-motto{display:none;}}
/* 19/10/2026 | Mantem o logotipo centrado quando o lema e ocultado no mobile */
@media(max-width:780px){
 .ja-header-layout .header-logo{grid-column:2;grid-row:1;}
 .ja-header-layout .header-actions{grid-column:3;grid-row:1;}
}
/* Cabecalho branco oficial, aprovado em 19-10-2026 */
.header{background:#fff;color:var(--terra);border-bottom:1px solid var(--terra);box-shadow:0 3px 13px rgba(51,44,41,.07);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transition:background-color .3s ease,box-shadow .3s ease,-webkit-backdrop-filter .3s ease,backdrop-filter .3s ease;}
.header.ja-scrolled{background:rgba(255,255,255,.94);box-shadow:0 4px 16px rgba(51,44,41,.09);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);}
.header .header-motto,.header .language-toggle{color:var(--terra);}
.header .header-actions .nav-toggle{background:var(--terra);color:#fff;}
.header .header-actions .nav-toggle:hover{background:var(--terra-dark);}
.header .hamburger-stroke{background:#fff;}
.header .menu-mobile{background:#fff;border:1px solid rgba(194,68,42,.22);box-shadow:0 15px 33px rgba(51,44,41,.11);}
.header .menu-mobile a{color:var(--terra);border-bottom-color:rgba(194,68,42,.17);}
.header .menu-mobile a:hover,.header .menu-mobile a[aria-current="page"]{color:var(--terra-dark);background:#f5f0e9;}
.hero--home .hero-media img{object-position:center 7%;}
@media(max-width:600px){.hero--home .hero-media img{object-position:center 6%;}}
@media(prefers-reduced-motion:reduce){.header{transition:none;}}
/* 19/10/2026 | Transparencia visivel da navegacao ao fazer scroll */
.header.ja-scrolled,.header.header--light.ja-scrolled{background:rgba(255,255,255,.67)!important;box-shadow:0 4px 16px rgba(51,44,41,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}








/* 19/10/2026 | Ajuste de enquadramento do hero e uniformização das secções da homepage */
.hero--home .hero-media img{
  object-position:center 14% !important;
}
@media(max-width:600px){
  .hero--home .hero-media img{
    object-position:center 12% !important;
  }
}
@media(min-width:881px){
  :root{--ja-home-split-height:clamp(500px,33vw,575px);}
  main > .hero--home ~ .split,
  main > .hero--home ~ .split.swap{
    min-height:var(--ja-home-split-height);
    align-items:stretch;
  }
  main > .hero--home ~ .split > .visual,
  main > .hero--home ~ .split.swap > .visual,
  main > .hero--home ~ .split > .copy,
  main > .hero--home ~ .split.swap > .copy{
    height:var(--ja-home-split-height);
  }
  main > .hero--home ~ .split > .visual,
  main > .hero--home ~ .split.swap > .visual{align-self:stretch;}
  main > .hero--home ~ .split > .copy,
  main > .hero--home ~ .split.swap > .copy{
    align-items:flex-start;
    padding:40px clamp(14px,2vw,34px);
  }
  main > .hero--home ~ .split > .copy > div,
  main > .hero--home ~ .split.swap > .copy > div{
    min-height:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    max-width:520px;
  }
  main > .hero--home ~ .split > .copy p,
  main > .hero--home ~ .split.swap > .copy p{max-width:100%;}
  main > .hero--home ~ .split > .copy .btn,
  main > .hero--home ~ .split.swap > .copy .btn{
    margin-top:auto;
    align-self:flex-start;
  }
  main > .hero--home ~ .pavia-feature > .copy,
  main > .hero--home ~ .pavia-feature > .copy > div,
  main > .hero--home ~ .pavia-feature > .copy p{
    text-align:left;
    margin-left:0;
    margin-right:0;
  }
  main > .hero--home ~ .pavia-feature > .copy .tiny-rule{
    margin-left:0;
    margin-right:auto;
  }
}








/* JA | 19/10/2026 | Afinacao final do hero e alinhamento de Pavia
   Apenas homepage em desktop; mantem altura aprovada das restantes secoes. */
@media (min-width: 881px) {
  /* Menos espaco acima do titulo, sem reduzir a altura do hero ou cortar as maos. */
  .hero--home .hero-inner {
    padding-top: 18px;
    padding-bottom: 162px;
  }
  .hero--home .hero-media img {
    object-position: center 24% !important;
  }
  /* Pavia: a coluna de texto encosta-se ao lado da fotografia. */
  main > .hero--home ~ .pavia-feature > .copy {
    text-align: right;
  }
  main > .hero--home ~ .pavia-feature > .copy > div {
    margin-left: auto;
    margin-right: 0;
    align-items: flex-end;
    text-align: right;
  }
  main > .hero--home ~ .pavia-feature > .copy .kicker,
  main > .hero--home ~ .pavia-feature > .copy h2,
  main > .hero--home ~ .pavia-feature > .copy p {
    text-align: right;
    margin-left: auto;
    margin-right: 0;
  }
  main > .hero--home ~ .pavia-feature > .copy .tiny-rule {
    margin-left: auto;
    margin-right: 0;
  }
  main > .hero--home ~ .pavia-feature > .copy .btn {
    align-self: flex-end;
  }
}


/* JA | 19/10/2026 | Barra inferior do rodape, sem faixa laranja residual
   O padding-bottom:14px de paginas internas expunha o fundo laranja
   abaixo da barra preta. */
.footer,
body:has(.hero--detail) .footer,
body:has(.legal-page) .footer {
  padding-bottom: 0;
}
/* JA 20/10/2026: enquadramento comum PT/EN e lema visivel no mobile */
@media (min-width: 881px) {
  .hero--home .hero-media img {
    display:block;
    width:min(55vw,800px);
    height:100%;
    margin-left:auto;
    object-fit:cover;
    object-position:center 12% !important;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 23%);
    mask-image:linear-gradient(to right,transparent,#000 23%);
  }
}
@media (max-width: 780px) {
  .ja-header-layout {
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:clamp(4px,1vw,8px);
  }
  .header-motto {
    display:block;
    grid-column:1;
    grid-row:1;
    justify-self:start;
    align-self:center;
    width:100%;
    max-width:110px;
    white-space:normal;
    font-size:clamp(10px,2.8vw,12px);
    line-height:1.1;
    letter-spacing:-.012em;
    text-wrap:balance;
  }
  .ja-header-layout .header-logo {
    width:clamp(98px,30vw,115px);
  }
  .header-actions {gap:5px;}
}