/* ============================================================
   MELIPONÁRIO TESSER — Sistema de design compartilhado
   Base, cabeçalho, rodapé, botões e componentes de abelhas
   ============================================================ */
:root{
  --marrom:#2E2114; --marrom-2:#3B2A18;
  --dourado:#BE8930; --dourado-2:#D8A43F;
  --creme:#F7F1E5; --creme-2:#EFE6D4;
  --verde:#5F6E42; --verde-2:#71814F;
  --preto:#171310;
  --txt:#2E2114; --txt-soft:#6B5C45;
  --line:rgba(46,33,20,.14);
  --display:'Oswald',sans-serif;
  --serif:'Spectral',Georgia,serif;
  --body:'Source Sans 3',system-ui,sans-serif;
  --maxw:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--txt);background:var(--creme);line-height:1.6;-webkit-font-smoothing:antialiased;font-size:18px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.eyebrow{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:.22em;font-size:13px;color:var(--dourado)}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.05;letter-spacing:.005em;color:var(--marrom)}
h1{font-size:clamp(40px,6vw,76px);text-transform:uppercase}
h2{font-size:clamp(30px,4vw,48px);text-transform:uppercase}
h3{font-size:22px;text-transform:uppercase;letter-spacing:.04em}
p{text-wrap:pretty}
.lead{font-family:var(--serif);font-size:clamp(19px,2vw,23px);color:var(--txt-soft);font-weight:400}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:15px;padding:15px 28px;border-radius:999px;transition:.2s;cursor:pointer;border:2px solid transparent}
.btn-primary{background:var(--marrom);color:var(--creme)}
.btn-primary:hover{background:var(--dourado);color:var(--marrom)}
.btn-ghost{border-color:var(--marrom);color:var(--marrom)}
.btn-ghost:hover{background:var(--marrom);color:var(--creme)}
.btn-wa{background:var(--verde);color:#fff}
.btn-wa:hover{background:var(--verde-2)}
.btn-gold{background:var(--dourado);color:var(--marrom)}
.btn-gold:hover{background:var(--dourado-2)}

/* honeycomb backdrop */
.hex-bg{position:relative;overflow:hidden}
.hex-bg::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='96' viewBox='0 0 56 96'><g fill='none' stroke='%232E2114' stroke-width='2' stroke-opacity='0.5'><path d='M28 1 L54 16 L54 48 L28 63 L2 48 L2 16 Z'/><path d='M28 49 L54 64 L54 96 M28 49 L2 64 L2 96'/></g></svg>");background-size:56px 96px;opacity:.05;pointer-events:none}
.hex-bg.on-dark::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='96' viewBox='0 0 56 96'><g fill='none' stroke='%23F7F1E5' stroke-width='2'><path d='M28 1 L54 16 L54 48 L28 63 L2 48 L2 16 Z'/><path d='M28 49 L54 64 L54 96 M28 49 L2 64 L2 96'/></g></svg>");opacity:.06}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(247,241,229,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:46px;width:auto}
.brand .wm{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:18px;line-height:1;color:var(--marrom)}
.brand .wm small{display:block;font-size:9px;letter-spacing:.34em;color:var(--dourado);font-weight:500;margin-top:3px}
.menu{display:flex;align-items:center;gap:34px}
.menu a{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:14px;color:var(--marrom);transition:.2s}
.menu a:hover,.menu a.active{color:var(--dourado)}
.nav-cta{display:flex;align-items:center;gap:16px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:26px;height:2.4px;background:var(--marrom);border-radius:2px;transition:.25s}
.mobile-menu{display:none}

/* footer */
footer{background:var(--preto);color:var(--creme);padding:64px 0 34px}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(247,241,229,.14)}
footer .f-logo img{height:120px;margin-bottom:18px}
footer p{color:rgba(247,241,229,.62);font-size:15px;max-width:34ch}
footer h4{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:14px;color:var(--dourado-2);margin-bottom:18px}
footer ul{list-style:none;display:grid;gap:11px}
footer ul a{color:rgba(247,241,229,.74);font-size:15px}
footer ul a:hover{color:var(--creme)}
.f-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:13px;color:rgba(247,241,229,.5);flex-wrap:wrap;gap:10px}

section{padding:96px 0}
.sec-head{max-width:620px;margin-bottom:48px}
.sec-head h2{margin:14px 0 16px}

@media(max-width:880px){
  .menu,.nav-cta .btn{display:none}
  .burger{display:flex}
  .mobile-menu{display:block;position:fixed;inset:76px 0 auto 0;background:var(--creme);border-bottom:1px solid var(--line);padding:18px 0 26px;transform:translateY(-120%);transition:transform .3s ease;z-index:49}
  .mobile-menu.open{transform:translateY(0)}
  .mobile-menu a{display:block;font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:18px;color:var(--marrom);padding:14px 32px;border-bottom:1px solid var(--line)}
  .mobile-menu .btn-wa{margin:18px 32px 0}
  footer .top{grid-template-columns:1fr}
  section{padding:64px 0}
}
