/* PETULI — site V2 · Azul #061B3A · Dourado #C69B5B · Creme #F7F3EB · Areia #D9C9B1 */
@font-face{font-family:"Baloo 2";font-weight:600;font-display:swap;src:url(../fonts/baloo-2-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Baloo 2";font-weight:700;font-display:swap;src:url(../fonts/baloo-2-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Baloo 2";font-weight:800;font-display:swap;src:url(../fonts/baloo-2-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url(../fonts/dm-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:500;font-display:swap;src:url(../fonts/dm-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:700;font-display:swap;src:url(../fonts/dm-sans-latin-700-normal.woff2) format("woff2")}

:root{--azul:#061B3A;--azul2:#0B2A54;--dourado:#C69B5B;--dourado-esc:#8a6628;--creme:#F7F3EB;--areia:#D9C9B1;--suave:#4a5a73;--w:1200px;--hh:76px;--raio:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hh) - 4px);-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--azul);font:400 17px/1.62 "DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Baloo 2","DM Sans",sans-serif;line-height:1.08;margin:0;color:var(--azul)}
.wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px;top:8px;background:var(--azul);color:#fff;padding:8px 14px;border-radius:8px;z-index:400}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--dourado);outline-offset:3px;border-radius:8px}
button{font-family:inherit}

/* Cabeçalho — fundo creme sólido (a logo aprovada tem fundo creme) */
.hdr{position:sticky;top:0;z-index:200;background:var(--creme);height:var(--hh);border-bottom:1px solid rgba(217,201,177,.7)}
.bar{display:flex;align-items:center;justify-content:space-between;height:var(--hh)}
.brand img{height:54px;width:auto}
.menu{display:flex;align-items:center;gap:4px}
.menu a{text-decoration:none;font-weight:500;font-size:16px;padding:10px 16px;border-radius:999px;transition:background .15s,color .15s}
.menu a:hover{background:rgba(217,201,177,.55)}
.menu a.on{color:var(--dourado-esc);font-weight:700}
.menu .menu-cta{background:var(--azul);color:#fff;margin-left:8px;font-weight:700}
.menu .menu-cta:hover,.menu .menu-cta.on{background:var(--dourado);color:var(--azul)}
.menu-btn{display:none;background:none;border:0;width:48px;height:48px;border-radius:12px;cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:12px;right:12px;height:2.5px;background:var(--azul);border-radius:2px;transition:transform .2s,opacity .2s}
.menu-btn span:nth-child(1){top:15px}.menu-btn span:nth-child(2){top:23px}.menu-btn span:nth-child(3){top:31px}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* HERO — texto à esquerda, fotografia sangrada à direita */
.hero{background:var(--creme);display:grid;grid-template-columns:1fr 1fr;min-height:640px;position:relative;overflow:hidden}
.hero-text{padding:72px 56px 120px max(28px,calc((100vw - var(--w))/2 + 28px));display:flex;flex-direction:column;justify-content:center}
.kicker{margin:0 0 18px;font:700 13px/1 "DM Sans",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--dourado-esc);display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:40px;height:3px;background:var(--dourado);border-radius:2px}
.hero h1{font-size:clamp(52px,6.4vw,92px);font-weight:800;letter-spacing:-.01em}
.lead{font-size:clamp(19px,1.9vw,23px);line-height:1.45;color:var(--suave);max-width:24em;margin:22px 0 34px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--azul);color:#fff;text-decoration:none;font-weight:700;font-size:17px;padding:17px 34px;border-radius:999px;min-height:56px;border:2px solid var(--azul);transition:background .15s,color .15s,border-color .15s}
.btn:hover{background:var(--dourado);border-color:var(--dourado);color:var(--azul)}
.link-arrow{font-weight:700;text-decoration:none;padding:12px 0;border-bottom:2px solid var(--dourado);min-height:44px;display:inline-flex;align-items:center;gap:8px}
.link-arrow:hover{color:var(--dourado-esc)}
.hero-photo{margin:0;position:relative;min-height:520px}
.hero-photo::after{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--dourado)}
.hero-photo picture,.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%}

/* Categorias (sobrepostas ao hero) */
.cats{position:relative;z-index:2;margin-top:-76px;padding-bottom:84px}
.cats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cat{display:flex;flex-direction:column;text-decoration:none;background:#fff;border-radius:var(--raio);overflow:hidden;box-shadow:0 18px 44px rgba(6,27,58,.14);transition:transform .2s,box-shadow .2s}
.cat:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(6,27,58,.2)}
.cat-img{display:block;aspect-ratio:5/4.6;overflow:hidden;background:#f2eee6}
.cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat:hover .cat-img img{transform:scale(1.04)}
.cat-body{display:flex;flex-direction:column;gap:4px;padding:22px 26px 26px;position:relative}
.cat-body small{font:700 12px/1 "DM Sans";letter-spacing:.18em;text-transform:uppercase;color:var(--dourado-esc)}
.cat-body strong{font:700 30px/1.1 "Baloo 2",sans-serif;margin-top:4px}
.cat-body span{color:var(--suave);font-size:16px}
.cat-body em{font-style:normal;font-weight:700;margin-top:12px;display:inline-flex;gap:8px;align-items:center;color:var(--azul)}
.cat-body em i{font-style:normal;color:var(--dourado-esc);transition:transform .2s}
.cat:hover em i{transform:translateX(5px)}

/* Seções */
.eyebrow{margin:0 0 10px;font:700 13px/1 "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado-esc)}
.sec-head{margin-bottom:36px}
.sec-head h2{font-size:clamp(38px,5vw,58px);font-weight:800}
.sec-head h2::after{content:"";display:block;width:64px;height:5px;background:var(--dourado);border-radius:3px;margin-top:14px}
.sec-sub{color:var(--suave);max-width:40em;margin:16px 0 0;font-size:18px}
.sec-head.center{text-align:center}.sec-head.center h2::after{margin-left:auto;margin-right:auto}.sec-head.center .sec-sub{margin-left:auto;margin-right:auto}
.sec-head.light h2{color:#fff}.sec-head.light .sec-sub{color:rgba(255,255,255,.78)}.sec-head.light .eyebrow{color:var(--dourado)}

/* Sobre — azul */
.sobre{background:var(--azul);color:#fff;padding:96px 0}
.sobre-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.sobre-photo{margin:0;position:relative;max-width:460px}
.sobre-photo::before{content:"";position:absolute;inset:-16px 16px 16px -16px;border:2px solid var(--dourado);border-radius:30px}
.sobre-photo img{position:relative;border-radius:28px;aspect-ratio:4/5;object-fit:cover;width:100%}
.sobre .eyebrow{color:var(--dourado)}
.sobre h2{color:#fff;font-size:clamp(34px,4.2vw,52px);font-weight:800;margin-bottom:22px}
.sobre .big{font:600 clamp(22px,2.3vw,27px)/1.35 "Baloo 2",sans-serif;color:#fff;margin:0 0 20px}
.sobre p{color:rgba(255,255,255,.82);margin:0 0 14px;max-width:34em}
.sobre .big{color:#fff}
.marcas{list-style:none;padding:0;margin:30px 0 0;display:flex;gap:12px;flex-wrap:wrap}
.marcas li{border:1.5px solid var(--dourado);color:var(--dourado);padding:9px 20px;border-radius:999px;font-weight:700;font-size:15px}

/* Passeio */
.passeio{padding:96px 0 40px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 44px;padding:6px;background:var(--creme);border-radius:999px;width:fit-content;max-width:100%}
.flt{font:700 15.5px/1 "DM Sans",sans-serif;border:0;background:transparent;color:var(--azul);padding:14px 24px;border-radius:999px;cursor:pointer;min-height:48px;white-space:nowrap;transition:background .15s}
.flt:hover{background:rgba(217,201,177,.6)}
.flt[aria-pressed=true]{background:var(--azul);color:#fff}
.brasil{display:grid;grid-template-columns:1fr 1.25fr;gap:0;border-radius:28px;overflow:hidden;margin-bottom:64px;background:linear-gradient(120deg,#0a3b2c 0%,#146b3a 55%,#c9a227 140%);color:#fff;box-shadow:0 22px 50px rgba(6,27,58,.18)}
.brasil-text{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.brasil .tag{align-self:flex-start;background:var(--dourado);color:var(--azul);font:700 12px/1 "DM Sans";letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
.brasil h3{font-size:clamp(34px,4vw,50px);color:#fff;font-weight:800}
.brasil p{margin:0;color:rgba(255,255,255,.9);max-width:24em}
.brasil .btn{align-self:flex-start;margin-top:14px;background:#fff;color:var(--azul);border-color:#fff}
.brasil .btn:hover{background:var(--dourado);border-color:var(--dourado)}
.brasil-pieces{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(6,27,58,.08)}
.bp{all:unset;box-sizing:border-box;cursor:zoom-in;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 14px 14px;min-height:190px;transition:background .15s}
.bp:hover{background:#faf7f0}
.bp:focus-visible{outline:3px solid var(--dourado);outline-offset:-3px}
.bp .im{height:130px;width:100%;display:flex;align-items:center;justify-content:center}
.bp img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain}
.bp span.nm{font:700 14px/1.2 "DM Sans";color:var(--azul)}
.coll{display:grid;grid-template-columns:230px 1fr;gap:36px;padding:44px 0;border-top:1px solid var(--areia)}
.coll-head{position:sticky;top:calc(var(--hh) + 24px);align-self:start}
.coll-head h3{font-size:36px;font-weight:800}
.coll-head p{margin:8px 0 0;color:var(--suave);font-size:15.5px}
.coll-head::after{content:"";display:block;width:44px;height:4px;background:var(--dourado);border-radius:2px;margin-top:14px}
.stamps{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}
.stamp{all:unset;box-sizing:border-box;cursor:zoom-in;display:flex;flex-direction:column;gap:12px;transition:transform .18s}
.stamp:focus-visible{outline:3px solid var(--dourado);outline-offset:4px;border-radius:20px}
.stamp .ph{aspect-ratio:1/0.82;border-radius:20px;background:#f6f3ec;display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden;transition:background .2s,box-shadow .2s}
.stamp:hover{transform:translateY(-4px)}
.stamp:hover .ph{background:#f1ece1;box-shadow:0 14px 30px rgba(6,27,58,.12)}
.stamp .ph img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.stamp .nm{font:700 18px/1.2 "Baloo 2",sans-serif;padding:0 4px}
.stamp .mod{font-size:13.5px;color:var(--suave);padding:0 4px;margin-top:-8px}

/* Petiscos */
.petiscos{background:var(--creme);padding:96px 0}
.fam{margin-top:48px}
.fam:first-child{margin-top:0}
.fam h3{font-size:30px;font-weight:800;display:flex;align-items:center;gap:16px;margin-bottom:22px}
.fam h3::after{content:"";flex:1;height:1px;background:var(--areia)}
.fam h3 small{font:500 15px "DM Sans";color:var(--suave);order:3}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.pcard{all:unset;box-sizing:border-box;cursor:zoom-in;background:#fff;border-radius:22px;padding:18px 18px 22px;display:flex;flex-direction:column;gap:6px;transition:transform .18s,box-shadow .18s;box-shadow:0 2px 0 rgba(217,201,177,.6)}
.pcard:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(6,27,58,.13)}
.pcard:focus-visible{outline:3px solid var(--dourado);outline-offset:3px}
.pcard .ph{aspect-ratio:1/1.05;display:block;position:relative;overflow:hidden;margin-bottom:8px}
.pcard .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.pcard .nm{font:700 19px/1.2 "Baloo 2",sans-serif}
.pcard .pr{font-size:15px;color:var(--dourado-esc);font-weight:700}
.pcard .ds{font-size:15px;color:var(--suave);line-height:1.45}

/* Higiene — azul, cartões brancos */
.higiene{background:var(--azul);padding:96px 0}
.higiene .fam h3{color:#fff}.higiene .fam h3::after{background:rgba(217,201,177,.3)}
.higiene .pcard{box-shadow:none}
.higiene .pcard:hover{box-shadow:0 18px 40px rgba(0,0,0,.35)}

/* Contato */
.contato{padding:96px 0}
.contacts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.contacts li{background:var(--creme);border-radius:var(--raio);padding:30px 22px;display:flex;flex-direction:column;gap:6px;min-width:0}
.contacts svg{width:34px;height:34px;fill:none;stroke:var(--dourado-esc);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px}
.contacts .k{font:700 12px/1 "DM Sans";letter-spacing:.18em;text-transform:uppercase;color:var(--dourado-esc)}
.contacts .v{font:700 18px/1.3 "Baloo 2",sans-serif;color:var(--azul);text-decoration:none;overflow-wrap:normal}
.contacts a.v{text-decoration:underline;text-decoration-color:var(--dourado);text-underline-offset:5px;text-decoration-thickness:2px;min-height:44px;display:inline-flex;align-items:center}
.contacts a.v:hover{color:var(--dourado-esc)}

/* Rodapé */
.ftr{background:var(--creme);border-top:1px solid var(--areia);padding:52px 0 26px}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px;align-items:start}
.ftr-brand img{width:200px;height:auto}
.ftr-brand p{margin:6px 0 0;font:700 18px "Baloo 2"}
.ftr-links{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.ftr-links a,.ftr-contact a{text-decoration:none;padding:8px 0;font-weight:500;min-height:44px;display:flex;align-items:center}
.ftr-links a:hover,.ftr-contact a:hover{color:var(--dourado-esc);text-decoration:underline}
.ftr-contact{display:flex;flex-direction:column}
.ftr-contact span{padding:8px 0;color:var(--suave)}
.ftr-legal{margin-top:22px;padding-top:18px;border-top:1px solid var(--areia);font-size:14px;color:var(--suave)}
.ftr-legal p{margin:0}

/* Modal */
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center}
.m-backdrop{position:absolute;inset:0;background:rgba(6,27,58,.86)}
.m-box{position:relative;width:min(1000px,94vw);max-height:94vh;display:flex;align-items:center;justify-content:center;gap:10px}
.m-fig{margin:0;background:#fff;border-radius:26px;padding:22px 22px 18px;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%;max-height:94vh;min-width:0;flex:1}
.m-imgwrap{display:flex;align-items:center;justify-content:center;width:100%;min-height:0}
.m-fig img{max-width:100%;max-height:calc(94vh - 220px);width:auto;height:auto;object-fit:contain;touch-action:pan-y}
.m-fig figcaption{text-align:center;display:flex;flex-direction:column;gap:3px;align-items:center;width:100%}
.m-fig figcaption b{font:700 26px/1.15 "Baloo 2",sans-serif}
.m-fig figcaption span{color:var(--suave);font-size:15.5px}
.m-fig figcaption em{font-style:normal;font-size:13px;color:var(--dourado-esc);margin-top:2px}
.m-models{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0 2px}
.m-models button{border:1.5px solid var(--areia);background:#fff;color:var(--azul);font:700 14px "DM Sans";padding:10px 16px;border-radius:999px;cursor:pointer;min-height:42px}
.m-models button[aria-pressed=true]{background:var(--azul);color:#fff;border-color:var(--azul)}
.m-close,.m-nav{border:0;background:#fff;color:var(--azul);width:50px;height:50px;border-radius:50%;font-size:32px;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.28);flex:none;display:flex;align-items:center;justify-content:center;padding:0 0 4px}
.m-close{position:absolute;top:-12px;right:-8px;z-index:2;font-size:36px}
.m-nav:hover,.m-close:hover{background:var(--dourado)}
body.lock{overflow:hidden}
.noscript{color:var(--suave)}

/* Tablet */
@media (max-width:1040px){
  .hero{grid-template-columns:1fr .9fr}
  .hero-text{padding-right:32px}
  .sobre-grid{gap:48px}
  .coll{grid-template-columns:1fr;gap:20px}
  .coll-head{position:static;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
  .coll-head::after{display:none}
  .brasil{grid-template-columns:1fr}
  .contacts{grid-template-columns:repeat(2,1fr)}
}
/* Mobile */
@media (max-width:760px){
  :root{--hh:68px}
  .wrap{padding:0 20px}
  .brand img{height:48px}
  .menu-btn{display:block}
  .menu{position:absolute;top:var(--hh);left:0;right:0;background:var(--creme);border-bottom:1px solid var(--areia);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 18px;display:none;box-shadow:0 16px 26px rgba(6,27,58,.12)}
  .menu.open{display:flex}
  .menu a{padding:16px 12px;font-size:19px;border-radius:12px}
  .menu .menu-cta{margin:10px 0 0;text-align:center}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-text{padding:44px 20px 40px}
  .hero h1{font-size:clamp(50px,15vw,68px)}
  .hero-photo{min-height:0;aspect-ratio:4/4.4}
  .hero-photo::after{left:0;right:0;top:auto;bottom:0;width:auto;height:6px}
  .cats{margin-top:-48px;padding-bottom:56px}
  .cats-grid{grid-template-columns:1fr;gap:20px}
  .cat{flex-direction:row;align-items:stretch}
  .cat-img{aspect-ratio:auto;width:42%;flex:none}
  .cat-body{padding:18px 18px 18px;justify-content:center}
  .cat-body strong{font-size:25px}
  .cat-body span{font-size:15px}
  .sobre{padding:64px 0}
  .sobre-grid{grid-template-columns:1fr;gap:44px}
  .sobre-photo{max-width:320px;margin-left:14px}
  .passeio{padding:64px 0 24px}
  .petiscos,.higiene,.contato{padding:64px 0}
  .filters{border-radius:20px;gap:4px;width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .flt{flex:none;padding:13px 18px}
  .brasil{border-radius:22px;margin-bottom:40px}
  .brasil-text{padding:32px 24px}
  .coll{padding:30px 0}
  .coll-head h3{font-size:30px}
  .stamps{grid-template-columns:repeat(2,1fr);gap:14px}
  .stamp .nm{font-size:16.5px}
  .cards{grid-template-columns:repeat(2,1fr);gap:14px}
  .pcard{padding:12px 12px 16px;border-radius:18px}
  .pcard .nm{font-size:17px}
  .contacts{grid-template-columns:1fr}
  .contacts li{padding:22px}
  .ftr-grid{grid-template-columns:1fr}
  .m-box{width:100vw;gap:0}
  .m-fig{border-radius:18px;padding:14px;width:calc(100vw - 16px)}
  .m-fig img{max-height:calc(94vh - 250px)}
  .m-nav{position:absolute;top:34%;width:44px;height:44px;z-index:2}
  .m-nav.prev{left:2px}.m-nav.next{right:2px}
  .m-close{top:6px;right:6px}
  .m-fig figcaption b{font-size:22px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
