:root{--green:#174637;--cream:#f6f3e8;--ink:#29392e;--muted:#626b5e;--line:#d7dacd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.7 Raleway,sans-serif}img{display:block;max-width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.17;margin:0}h1{font-size:clamp(40px,4.5vw,66px);letter-spacing:-1.6px}h2{font-size:clamp(34px,3.4vw,48px);letter-spacing:-.8px}h3{font-size:25px}h1 em,h2 em{font-weight:400}p{margin:20px 0}small{font-size:11px;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 25px}.preview-note{font-size:8px;letter-spacing:1.4px;background:var(--green);color:var(--cream);text-align:center;padding:6px}header{display:flex;align-items:center;justify-content:space-between;padding:20px 6%;height:99px;border-bottom:1px solid var(--line);background:var(--cream);position:sticky;top:0;z-index:3}header img{width:180px;height:auto}nav{display:flex;gap:35px;font-size:12px}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--cream)}.hero-copy{padding:80px 12%;align-self:center}.hero h1 em{color:#e4d4b3}.hero-copy>p:not(.eyebrow){max-width:360px}.hero-photo{width:100%;height:620px;object-position:center 64%}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 22px}.button{min-height:48px;padding:14px 20px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:none;line-height:1.5}.light{background:var(--cream);color:var(--green)}.transparent{border-color:#d8e1d6;color:var(--cream)}.green{background:var(--green);color:var(--cream)}.outline{border-color:var(--green);color:var(--green)}.button:hover{filter:brightness(.92)}.explore{font-size:11px;border-bottom:1px solid #ffffff70;padding-bottom:5px;display:inline-block;margin-top:10px}.products{max-width:1400px;margin:auto;padding:70px 6%}.section-title{margin-bottom:35px}.section-title .eyebrow{margin-bottom:14px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 24px}.product>img,.placeholder{width:100%;height:250px}.product>img{object-fit:cover}.product>div:not(.placeholder){padding:18px 0;border-bottom:1px solid var(--line)}.product h3 span{font-size:21px}.product small{display:block;margin-top:9px}.pending{letter-spacing:.3px}.placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;background:#ece9dc;border:1px dashed #b8bca8}.placeholder>span{font:45px Georgia,serif;color:#919780}.placeholder small{font-size:8px;letter-spacing:1.5px}.product.cafe{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;background:#e9eadf;align-items:center}.cafe>img{height:280px;object-position:center 65%}.cafe>div:not(.placeholder){padding:35px 45px;border:0}.cafe h3{font-size:34px}.cafe a{display:inline-block;font-size:11px;border-bottom:1px solid var(--green);padding-bottom:4px;margin-top:20px}.product-cta{text-align:center;margin-top:35px}.visit{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding:65px 8%;background:#ece9df}.visit>img{width:100%;height:380px;object-position:center 40%}.visit h2 em{color:var(--green)}footer{padding:35px 6%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px}footer>img{width:160px;height:auto}footer>p{font-size:10px}footer details{grid-column:1/-1;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:15px}summary{cursor:pointer}footer details p{max-width:900px}.skip{position:fixed;top:-100px;left:10px;padding:10px;background:var(--cream);z-index:10}.skip:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ba975d;outline-offset:5px}.mobile-bar{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:18px 25px;background:var(--green);color:white;z-index:10;font-size:12px;width:max-content;max-width:90%;box-shadow:0 5px 25px #0002;display:none}#toast.show{display:block}@media(max-width:1000px){.hero-copy{padding:55px 9%}.hero-photo{height:580px}.hero .actions{flex-direction:column}.product>img,.placeholder{height:210px}h3{font-size:22px}.visit{gap:35px}}@media(max-width:650px){html{scroll-padding-top:85px}header{height:80px;padding:14px 5%}header img{width:140px}nav{gap:17px;font-size:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 35px}.hero h1{font-size:46px;max-width:470px}.hero .eyebrow{font-size:9px}.hero .actions{flex-direction:row;gap:10px}.button{padding:13px 15px;font-size:10px}.hero-photo{height:330px}.hero-copy>p:not(.eyebrow){font-size:13px;max-width:320px}.products{padding:45px 5%}.product-grid{grid-template-columns:repeat(2,1fr);gap:24px 15px}.product>img,.placeholder{height:190px}.product h3{font-size:21px}.product h3 span{font-size:18px}.product>div:not(.placeholder){padding:14px 0}.product small{font-size:9px}.product.cafe{grid-template-columns:1fr 1fr}.cafe>img{height:260px}.cafe>div:not(.placeholder){padding:20px}.cafe h3{font-size:25px}.cafe a{font-size:10px}.visit{grid-template-columns:1fr;padding:45px 6%;gap:25px}.visit>img{height:290px}.visit .eyebrow{margin-bottom:18px}.visit>div>p{font-size:13px}.visit small{font-size:10px}footer{padding:30px 6% 95px}footer>img{width:140px}footer>p{font-size:9px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;background:var(--cream);z-index:4;border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-bar a,.mobile-bar button{text-align:center;padding:11px 8px;font-size:11px;border:1px solid var(--green);color:var(--green);background:transparent}.mobile-bar button{background:var(--green);color:var(--cream)}#toast{bottom:85px}}@media(max-width:370px){.hero h1{font-size:40px}.product>img,.placeholder{height:155px}.product h3{font-size:19px}.cafe>div:not(.placeholder){padding:17px}.cafe h3{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Fotos aprovadas: molduras 3:4 sem cortar os arquivos fornecidos. */
.product>.category-photo{padding:0!important;border:0!important;aspect-ratio:3/4;width:100%;background:#e9e5d9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.category-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero{grid-template-columns:1fr}
.hero-copy{padding:45px 6%;max-width:1000px}
.hero h1{font-size:clamp(38px,4.2vw,60px)}
.hero-copy>p:not(.eyebrow){max-width:none}
.hero .actions{flex-direction:row}
.hero-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;background:#174637}
@media(max-width:650px){.hero-copy{padding:35px 6%}.hero h1{font-size:40px}.category-photo img{height:100%}.hero-photo{height:auto}}
/* Alinhamento central da apresentação e aplicação do recorte transparente. */
header{display:grid;grid-template-columns:1fr auto 1fr}
header>a{grid-column:2}
header nav{grid-column:3;justify-self:end}
.hero-copy{width:100%;margin-inline:auto;text-align:center}
.hero-copy h1,.hero-copy>p{margin-inline:auto}
.hero .actions{justify-content:center}
.product.cafe{grid-template-columns:1fr 1fr;gap:20px}
.product.cafe>img{width:100%;height:auto;max-height:340px;object-fit:contain;object-position:center;padding:18px}
@media(max-width:650px){header{grid-template-columns:auto 1fr}header>a{grid-column:1}header nav{grid-column:2}.product.cafe{grid-template-columns:1fr;gap:0}.product.cafe>img{max-height:300px;padding:20px 20px 0}.cafe>div:not(.placeholder){padding:22px;text-align:center}}
/* Visita: fachada, texto preservado e mapa, em três colunas. */
header .social-links{grid-column:1;grid-row:1;display:flex;gap:15px;align-items:center;font-size:11px;color:var(--green)}
header>a,header nav{grid-row:1}
.social-pending{border-bottom:1px dotted #82927e;cursor:help}
.visit{grid-template-columns:minmax(0,1fr) minmax(280px,1.1fr) minmax(0,1fr);gap:32px;padding:65px 5%;align-items:center}
.visit>.visit-facade{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center top}
.visit-copy{text-align:center}
.visit-copy h2{font-size:clamp(30px,3vw,44px)}
.visit-copy .actions{justify-content:center}
.visit-map{width:100%;aspect-ratio:3/4;background:#e0e4d7;border:1px solid #b4bfac;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;gap:10px}
.visit-map>span{font:48px Georgia,serif;color:var(--green)}
.visit-map>strong{font-weight:500;font-size:16px}
.visit-map iframe{width:100%;height:100%;border:0}
.product.cafe{grid-template-columns:1.4fr 1fr;gap:0}
.product.cafe>img{max-height:none;height:auto;padding:0;width:100%}
@media(max-width:1000px) and (min-width:651px){.visit{gap:18px;padding-inline:3%;grid-template-columns:minmax(0,1fr) minmax(250px,1.1fr) minmax(0,1fr)}.visit-copy .button{padding:12px 13px}.social-links{flex-direction:column;gap:2px!important}}
@media(max-width:650px){header{height:auto;min-height:94px;grid-template-columns:1fr auto;gap:10px}header>a{grid-column:1;grid-row:1}header nav{grid-column:2;grid-row:1}header .social-links{grid-column:1/-1;grid-row:2;justify-content:center;font-size:10px}.visit{grid-template-columns:1fr;gap:28px;padding:40px 6%}.visit>.visit-facade,.visit-map{max-width:360px;margin-inline:auto}.visit-copy{padding-block:8px}.product.cafe{grid-template-columns:1fr}.product.cafe>img{padding:0;max-height:none}.cafe>div:not(.placeholder){padding:20px 22px 30px}}
/* Menu compacto em todas as larguras; redes sociais oficiais. */
header .menu-toggle{grid-column:3;grid-row:1;justify-self:end;display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:transparent;color:var(--green);padding:10px}
.menu-toggle span{display:block;width:24px;height:2px;background:currentColor}
header .dropdown-menu{position:absolute;right:5%;top:calc(100% + 1px);display:flex;flex-direction:column;gap:0;min-width:190px;padding:12px;background:var(--cream);border:1px solid var(--line);box-shadow:0 8px 20px #0001}
header .dropdown-menu[hidden]{display:none}
.dropdown-menu a{padding:12px 16px;font-size:13px}
.dropdown-menu a:hover{background:#e9eadf}
.social-links a{padding-block:8px}
.visit-map{position:relative;padding:0;display:block;overflow:hidden}
.visit-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-link{position:absolute;bottom:10px;left:10px;right:10px;background:var(--cream);padding:8px;font-size:10px;box-shadow:0 2px 6px #0002;text-align:center}
@media(max-width:650px){header .menu-toggle{grid-column:2;grid-row:1}header .dropdown-menu{right:5%;top:100%;grid-column:auto;grid-row:auto}header .social-links{flex-direction:row}}
/* Acabamento discreto: redes em traço verde e crédito único no rodapé. */
header .social-links{gap:12px}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:3px;color:var(--green);transition:opacity .15s}
.social-links a:hover{opacity:.65}
.social-links svg{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.35}
.social-links .icon-dot{fill:currentColor;stroke:none}
.social-links .facebook-mark{fill:currentColor;stroke:none}
footer{display:block;text-align:center;padding:25px 6%;border-top:1px solid var(--line)}
footer>p{margin:0;font-size:10px;font-weight:400;letter-spacing:.3px;color:var(--muted)}
@media(max-width:650px){footer{padding:24px 6% 95px}header .social-links{gap:10px}.social-links a{width:32px;height:32px}.social-links svg{width:27px;height:27px}}
/* Descrições: mesma fonte e tamanho dos textos de apoio das categorias. */
.product .category-description{font-family:inherit;font-size:11px;line-height:1.7;font-weight:400;color:var(--muted);margin:9px 0 0}
@media(max-width:650px){.product .category-description{font-size:9px}}
/* Oito categorias: quatro colunas e duas linhas em telas amplas. */
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:650px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kit-contact{display:inline-block;margin-top:15px;padding:5px 0;border:0;border-bottom:1px solid var(--green);background:transparent;color:var(--green);font-family:inherit;font-size:11px;line-height:1.6;text-align:left}
.kit-contact:hover{opacity:.7}
/* Cardápio diretamente após as oito categorias, antes do café. */
.product-grid>.product-cta{grid-column:1/-1;margin:0 0 5px;text-align:center}
/* Ações das categorias: somente contorno verde, sem preenchimento. */
.category-menu,.kit-contact{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;margin-top:16px;border:1px solid var(--green);background:transparent;color:var(--green);font-family:inherit;font-size:11px;line-height:1.5;text-align:center}
.category-menu:hover,.kit-contact:hover{background:#17463708;opacity:1}
@media(max-width:650px){.category-menu,.kit-contact{padding:10px 12px;font-size:10px}}
/* Botões alinhados pela base do cartão mais alto em cada linha. */
.product-grid>.product:not(.cafe){display:flex;flex-direction:column;min-width:0}
.product-grid>.product:not(.cafe)>.category-photo{flex:none}
.product-grid>.product:not(.cafe)>div:not(.category-photo){display:flex;flex-direction:column;align-items:flex-start;flex:1}
.product-grid>.product:not(.cafe) .category-description{margin-bottom:16px}
.product-grid>.product:not(.cafe) .category-menu,
.product-grid>.product:not(.cafe) .kit-contact{margin-top:auto}
/* Cabeçalho móvel: logo no centro exato, redes à esquerda e menu à direita. */
@media(max-width:650px){
 header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:14px 4%;min-height:88px}
 header>a{grid-column:2;grid-row:1;justify-self:center}
 header>a img{width:140px;height:auto}
 header .social-links{grid-column:1;grid-row:1;justify-self:start;justify-content:flex-start;flex-direction:row;gap:4px}
 header .social-links a{width:28px;height:32px;padding:3px}
 header .social-links svg{width:23px;height:23px}
 header .menu-toggle{grid-column:3;grid-row:1;justify-self:end}
}
