:root{
  --bg:#fbfaf7;
  --surface:#f1eee7;
  --surface-2:#e9e4da;
  --ink:#171a17;
  --muted:#6b716c;
  --green:#28543a;
  --green-dark:#1f442f;
  --line:#dedbd3;
  --white:#fff;
  --shadow:0 18px 50px rgba(23,26,23,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input{font:inherit}
button,a{ -webkit-tap-highlight-color:transparent }
:focus-visible{outline:3px solid rgba(40,84,58,.35);outline-offset:4px}

.skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:10px 14px;background:#fff;border-radius:8px;transform:translateY(-150%);transition:.2s;box-shadow:var(--shadow)}
.skip-link:focus{transform:translateY(0)}
.age-note{height:28px;background:#161916;color:#fff;display:grid;place-items:center;font-size:.6rem;letter-spacing:.18em;font-weight:700;padding:0 12px;text-align:center}

.header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid rgba(222,219,211,.8);background:rgba(251,250,247,.9);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50}
.leaf-brand{display:grid;place-items:center}
.leaf-brand img{width:46px;height:46px;object-fit:contain}
.nav{display:flex;align-items:center;gap:29px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.nav a{position:relative;transition:.2s}
.nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--green);transition:.25s}
.nav a:hover{color:var(--green)}
.nav a:hover::after{right:0}
.nav-contact{border:1px solid var(--green);border-radius:999px;padding:10px 15px}
.nav-contact:hover{background:var(--green);color:#fff}
.menu-button{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px;cursor:pointer}
.menu-button span{display:block;height:2px;background:var(--ink);margin:5px 0;transition:.25s}

.hero{min-height:calc(100svh - 106px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;padding:6vw 8vw;position:relative}
.hero::before{content:"";position:absolute;inset:8% auto auto -9%;width:280px;height:280px;border-radius:50%;background:rgba(40,84,58,.04);filter:blur(1px);pointer-events:none}
.hero-copy{max-width:620px;position:relative;z-index:2}
.overline,.section-heading>span,.knowledge-card>span{font-size:.65rem;letter-spacing:.2em;font-weight:800;color:var(--green)}
.hero h1,.section-heading h2,.knowledge h2{font-family:"Italiana",Georgia,serif;font-weight:400;letter-spacing:-.04em}
.hero h1{font-size:clamp(4rem,7vw,7.4rem);line-height:.92;margin:22px 0}
.hero-copy>p{color:var(--muted);font-size:1.06rem;line-height:1.75;max-width:540px}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:31px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 21px;border-radius:999px;font-weight:700;font-size:.86rem;transition:.25s}
.button:hover{transform:translateY(-2px)}
.button-dark{background:var(--ink);color:#fff;box-shadow:0 12px 25px rgba(23,26,23,.14)}
.button-dark:hover{background:var(--green)}
.button-light{border:1px solid var(--line);background:#fff}
.button-light:hover{border-color:var(--green);color:var(--green)}
.hero-trust{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:30px;color:var(--muted);font-size:.72rem}
.hero-trust span{display:flex;align-items:center;gap:7px}
.hero-trust span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green)}
.hero-identity{height:620px;position:relative;display:grid;place-items:center}
.identity-halo{position:absolute;width:500px;height:500px;max-width:90%;max-height:90%;border-radius:50%;background:linear-gradient(145deg,var(--surface),#e8e3d8);box-shadow:inset 0 0 0 1px rgba(40,84,58,.04)}
.hero-identity img{position:relative;z-index:2;width:min(430px,88%);max-height:585px;object-fit:contain;filter:drop-shadow(0 24px 34px rgba(23,26,23,.12))}

.section{padding:105px 6vw}
.section-heading h2{font-size:clamp(2.8rem,5vw,5rem);line-height:1;margin:12px 0}
.section-heading p{color:var(--muted);line-height:1.7;max-width:620px}
.centered{text-align:center}
.centered p{margin-left:auto;margin-right:auto}

.category-section{background:var(--surface)}
.category-buttons{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:43px}
.category-button{width:132px;height:132px;border-radius:50%;border:1px solid rgba(40,84,58,.18);background:var(--bg);font-weight:700;cursor:pointer;transition:.28s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink)}
.category-button small{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.category-button:hover{background:var(--green);color:#fff;transform:translateY(-6px);box-shadow:0 16px 30px rgba(40,84,58,.18)}
.category-button:hover small{color:rgba(255,255,255,.7)}

.promotions{background:#fff}
.promotions-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}
.text-link{font-weight:700;font-size:.84rem;color:var(--green);white-space:nowrap;padding-bottom:10px}
.promotion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.promotion-card{border:1px solid var(--line);background:var(--bg);position:relative;overflow:hidden;min-height:530px;display:flex;flex-direction:column;transition:.3s}
.promotion-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.promotion-number{position:absolute;top:20px;left:22px;font-size:.65rem;letter-spacing:.18em;font-weight:800;color:var(--green);z-index:2}
.promotion-art{height:350px;background:linear-gradient(145deg,#ece7dc,#f7f4ed);display:grid;place-items:center;padding:42px 34px 18px}
.promotion-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(23,26,23,.14));transition:.35s}
.promotion-card:hover .promotion-art img{transform:scale(1.035) rotate(-1deg)}
.promotion-info{padding:23px 24px 26px;display:flex;flex-direction:column;flex:1}
.promotion-info h3{margin:0 0 8px;font:400 1.45rem/1.15 "Italiana",Georgia,serif}
.promotion-info p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.65}
.promotion-info a{margin-top:auto;padding-top:20px;font-size:.78rem;font-weight:800;color:var(--green)}

.catalog-top{display:flex;justify-content:space-between;align-items:end;gap:35px}
.search{display:flex;align-items:center;gap:10px;width:min(430px,100%);border-bottom:1px solid var(--ink);padding:12px 3px}
.search svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.search input{border:0;outline:0;background:transparent;width:100%;color:var(--ink)}
.search input::placeholder{color:#929790}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:36px 0 14px}
.filters button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer;font-size:.77rem;font-weight:700;transition:.2s}
.filters button:hover{border-color:var(--green);color:var(--green)}
.filters button.active{background:var(--green);color:#fff;border-color:var(--green)}
.result-count{font-size:.74rem;color:var(--muted);margin:0 0 25px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 18px}
.product-card{cursor:pointer;transition:.28s}
.product-card:hover{transform:translateY(-4px)}
.product-image{aspect-ratio:1/1.07;background:var(--surface);overflow:hidden;position:relative}
.product-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(23,26,23,.22),transparent 38%);opacity:0;transition:.3s}
.product-image img{width:100%;height:100%;object-fit:cover;transition:.45s}
.product-card:hover img{transform:scale(1.04)}
.product-card:hover .product-image::after{opacity:1}
.view-product{position:absolute;left:14px;bottom:14px;z-index:2;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:8px 11px;border-radius:999px;font-size:.67rem;font-weight:800;transform:translateY(12px);opacity:0;transition:.3s}
.product-card:hover .view-product{opacity:1;transform:translateY(0)}
.product-info{padding:15px 2px}
.product-info small{display:block;color:var(--green);font-size:.61rem;letter-spacing:.13em;font-weight:800;text-transform:uppercase}
.product-info h3{font-size:.94rem;margin:7px 0 3px}
.product-info p{font-size:.77rem;color:var(--muted);margin:0 0 10px;line-height:1.5}
.product-info strong{font-size:.91rem}
.empty-state{text-align:center;padding:80px;border:1px dashed var(--line);background:#fff}

.knowledge{display:grid;grid-template-columns:1.2fr .8fr;background:var(--green);color:#fff}
.knowledge-card{padding:9vw}
.knowledge-card>span{color:#c9dfcf}
.knowledge h2{font-size:clamp(4rem,9vw,9rem);line-height:.85;margin:25px 0}
.knowledge p{color:rgba(255,255,255,.72);line-height:1.8;max-width:620px}
.knowledge a{display:inline-block;margin-top:20px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:4px}
.knowledge-leaves{display:grid;place-items:center;background:var(--green-dark);overflow:hidden;position:relative}
.knowledge-leaves::before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.knowledge-leaves img{width:min(250px,52%);filter:brightness(0) invert(1);opacity:.18;object-fit:contain}

footer{display:grid;grid-template-columns:1.25fr .8fr .8fr 1fr;gap:45px;padding:55px 6vw 28px;background:#111511;color:#fff}
.footer-signature img{width:86px;height:86px;object-fit:contain;margin-bottom:14px;filter:brightness(0) invert(1);opacity:.96}
.footer-signature p{font:400 1.2rem "Italiana",Georgia,serif;margin:0;color:rgba(255,255,255,.78)}
footer strong{display:block;margin-bottom:11px;font-size:.82rem}
footer a,footer span{display:block;color:rgba(255,255,255,.62);font-size:.84rem}
footer a:hover{color:#fff}
.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);margin-top:12px;padding-top:18px;text-align:center;color:#b8b8b8;font-size:.82rem}

.social-floats{position:fixed;right:22px;bottom:22px;display:flex;flex-direction:column;gap:10px;z-index:35}
.social-floats a{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:.25s}
.social-floats a:hover{transform:translateY(-3px) scale(1.03)}
.social-floats svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.social-floats .fill{fill:currentColor;stroke:none}
.instagram-float{background:linear-gradient(145deg,#7c3aed,#e11d48,#f59e0b)}
.whatsapp-float{background:#2c8a50}

 dialog{width:min(880px,92vw);border:0;border-radius:14px;padding:0;background:var(--bg);box-shadow:0 35px 110px rgba(0,0,0,.5)}
dialog::backdrop{background:rgba(16,35,24,.8);backdrop-filter:blur(4px)}
dialog[open]{display:grid;grid-template-columns:1.05fr .95fr;animation:modalIn .25s ease both}
.modal-image{min-height:500px;background:var(--surface)}
.modal-image img{width:100%;height:100%;object-fit:cover}
.modal-content{padding:45px;display:flex;flex-direction:column;justify-content:center}
.modal-content>span{font-size:.65rem;letter-spacing:.14em;color:var(--green);font-weight:800;text-transform:uppercase}
.modal-content h3{font:400 3rem/1 "Italiana",Georgia,serif;margin:13px 0}
.modal-content p{color:var(--muted);line-height:1.7}
.modal-content strong{font-size:1.45rem;margin:8px 0 28px}
.modal-close{position:absolute;right:12px;top:12px;border:0;background:#fff;width:39px;height:39px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:3;box-shadow:0 5px 18px rgba(0,0,0,.1)}
.noscript{padding:20px;background:#fff0cc;text-align:center;margin:0}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

@media(max-width:980px){
  .nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--bg);padding:25px 5vw 30px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);box-shadow:0 18px 35px rgba(23,26,23,.08)}
  .nav.open{display:flex}
  .menu-button{display:block}
  .menu-open{overflow:hidden}
  .hero{grid-template-columns:1fr;padding-top:75px}
  .hero-identity{height:500px}
  .promotion-grid{grid-template-columns:repeat(2,1fr)}
  .promotion-card:last-child{grid-column:1/-1;max-width:calc(50% - 9px);width:100%;justify-self:center}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .catalog-top{align-items:start;flex-direction:column}
  .knowledge{grid-template-columns:1fr}
  .knowledge-leaves{min-height:300px}
}

@media(max-width:590px){
  html{scroll-padding-top:92px}
  .age-note{font-size:.52rem;letter-spacing:.12em}
  .header{height:66px;padding:0 18px}
  .leaf-brand img{width:40px;height:40px}
  .nav{top:66px;padding:22px}
  .hero{padding:55px 20px 70px;min-height:auto;gap:20px}
  .hero h1{font-size:3.8rem}
  .hero-copy>p{font-size:.96rem}
  .hero-trust{gap:7px 13px}
  .hero-identity{height:390px}
  .hero-identity img{width:min(330px,92%);max-height:370px}
  .section{padding:78px 20px}
  .category-button{width:104px;height:104px;font-size:.78rem}
  .promotions-heading{align-items:flex-start;flex-direction:column}
  .promotion-grid{grid-template-columns:1fr;gap:12px}
  .promotion-card,.promotion-card:last-child{grid-column:auto;max-width:none;min-height:460px}
  .promotion-art{height:300px}
  .product-grid{grid-template-columns:1fr 1fr;gap:25px 10px}
  .product-info h3{font-size:.8rem}
  .product-info p{font-size:.68rem}
  .view-product{display:none}
  .knowledge-card{padding:80px 22px}
  footer{grid-template-columns:1fr;padding:45px 22px 25px}
  .social-floats{right:15px;bottom:15px}
  .social-floats a{width:52px;height:52px}
  dialog[open]{display:block}
  .modal-image{min-height:0;height:300px}
  .modal-content{padding:27px}
  .modal-content h3{font-size:2.5rem}
}

@media(max-width:380px){
  .hero h1{font-size:3.25rem}
  .category-button{width:96px;height:96px}
  .product-grid{grid-template-columns:1fr}
}
