@import url('https://fonts.googleapis.com/css2?family=Chubbo:wght@400;600;700;800;900&family=Playfair+Display:ital,wght@0,600;1,500;1,600&family=Work+Sans:wght@400;500;600;700&display=swap');

/* ---------- Tokens ---------- */
:root{
  --ink:#141414;
  --ink-soft:#242424;
  --cream:#f3ecdc;
  --cream-deep:#e9dfc6;
  --green:#1f4a2e;
  --green-deep:#153420;
  --yellow:#f5c531;
  --yellow-deep:#d9a800;
  --red:#ef3b30;
  --red-deep:#c22a21;
  --pink:#ff4fa0;
  --pink-deep:#d62c7d;
  --pastel-pink:#f7c9dc;
  --blue:#2461ea;
  --blue-deep:#1c46b0;
  --purple:#b49af0;
  --orange:#f2762b;
  --orange-deep:#cc5a15;
  --gray-100:oklch(96% 0.01 90);
  --gray-300:oklch(85% 0.015 90);
  --gray-500:oklch(62% 0.015 90);
  --gray-700:oklch(40% 0.01 90);
  --gray-900:oklch(18% 0.005 90);

  --font-display:'Chubbo',system-ui,sans-serif;
  --font-accent:'Playfair Display',Georgia,serif;
  --font-body:'Work Sans',system-ui,sans-serif;
  --text-display-xl:clamp(2.75rem,6vw,5.5rem);
  --text-display-l:clamp(2.25rem,4vw,3.75rem);
  --text-display-m:clamp(1.75rem,3vw,2.5rem);
  --text-body-l:1.125rem;
  --text-accent:1.5rem;
  --lh-tight:1.02;
  --lh-normal:1.5;
  --tracking-tight:-0.01em;
  --tracking-wide:0.03em;

  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --radius-lg:36px;
  --radius-pill:999px;
  --shadow-card:0 10px 30px rgba(20,20,20,0.10);
  --shadow-card-lg:0 18px 44px rgba(20,20,20,0.14);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--font-body);
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:var(--blue);text-decoration:none;}
a:hover{color:var(--blue-deep);}
h1,h2,h3,p{margin:0;}

.section-inner{position:relative;max-width:1200px;margin:0 auto;z-index:1;}
.eyebrow{
  font-family:var(--font-display);font-weight:800;font-size:13px;
  letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--yellow);
}
.section-title{
  font-family:var(--font-display);font-weight:900;
  font-size:var(--text-display-m);color:var(--ink);
}
.section-title--light{color:var(--cream);}
.section-title--center{text-align:center;max-width:1100px;margin:0 auto 32px;padding:0 20px;}
.section-subtitle{font-family:var(--font-body);font-size:var(--text-body-l);color:var(--gray-700);margin:0 0 28px;}
.section-subtitle--light{color:var(--cream);}

/* ---------- Keyframes ---------- */
@keyframes floatY{0%,100%{transform:translateY(0) rotate(var(--r,0deg));}50%{transform:translateY(-18px) rotate(var(--r,0deg));}}
@keyframes floatX{0%,100%{transform:translateX(0);}50%{transform:translateX(14px);}}
@keyframes spinSlow{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.floaty{animation:floatY 7s ease-in-out infinite;}
.floatx{animation:floatX 8s ease-in-out infinite;}
.spin-slow{animation:spinSlow 20s linear infinite;}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 800ms cubic-bezier(.16,1,.3,1),transform 800ms cubic-bezier(.16,1,.3,1);}
.reveal[data-reveal-dir="left"]{transform:translateX(-40px);}
.reveal[data-reveal-dir="right"]{transform:translateX(40px);}
.reveal.is-visible{opacity:1;transform:translate(0,0);}

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--font-display);font-weight:800;border:none;
  border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;
  align-items:center;gap:8px;transition:transform 150ms cubic-bezier(.16,1,.3,1),background 150ms cubic-bezier(.16,1,.3,1);
}
.btn:hover{transform:translateY(-2px);}
.btn-sm{font-size:13px;padding:8px 18px;}
.btn-md{font-size:15px;padding:12px 24px;}
.btn-lg{font-size:18px;padding:16px 32px;}
.btn-primary{background:var(--pink);color:var(--ink);box-shadow:var(--shadow-card);}
.btn-secondary{background:var(--yellow);color:var(--ink);box-shadow:var(--shadow-card);}
.btn-dark{background:var(--ink);color:var(--cream);box-shadow:var(--shadow-card);}
.btn-outline{background:transparent;color:inherit;border:2px solid currentColor;}

.cta-pink:hover .btn{background:var(--pink-deep);color:#fff;}
.cta-blue:hover .btn{background:var(--blue-deep);color:#fff;}
.cta-yellow:hover .btn{background:var(--yellow-deep);}

/* ---------- Badges ---------- */
.badge{
  font-family:var(--font-display);font-weight:800;font-size:12px;
  text-transform:uppercase;letter-spacing:var(--tracking-wide);
  border-radius:var(--radius-pill);padding:6px 16px;display:inline-block;
}
.badge--yellow{background:var(--yellow);color:var(--ink);}
.badge--pink{background:var(--pink);color:var(--ink);}
.badge--blue{background:var(--blue);color:#fff;}
.badge--dark{background:var(--ink);color:var(--cream);}
.badge--orange{background:var(--orange);color:var(--ink);}
.badge--green{background:var(--green);color:var(--cream);}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;background:var(--cream);border-bottom:2px solid var(--ink);
}
.nav-spacer{height:64px;}
.nav__logo img{height:26px;filter:brightness(0);}
.nav__menu{display:none;align-items:center;gap:32px;}
.nav__menu a{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--ink);text-decoration:none;}
@media(min-width:1024px){.nav__menu{display:flex;}}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--ink);padding-top:48px;overflow:hidden;}
.hero__grain{
  position:absolute;inset:0;background-image:url('assets/dark-grain-tile.png');
  background-size:420px;background-repeat:repeat;opacity:.15;mix-blend-mode:screen;pointer-events:none;
}
.hero__shape{position:absolute;pointer-events:none;z-index:0;}
.hero__shape--dot{width:100px;height:100px;border-radius:50%;background:var(--yellow);top:-50px;left:-50px;opacity:.9;}
.hero__shape--ring{width:150px;height:150px;border-radius:50%;border:10px solid var(--blue);top:-60px;right:-60px;}
.hero__shape--squircle{width:70px;height:70px;border-radius:18px;background:var(--purple);bottom:-20px;right:-20px;opacity:.85;}
.hero__shape--small{width:50px;height:50px;border-radius:50%;background:var(--orange);bottom:-15px;left:-15px;opacity:.85;}
.hero__glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;}
.hero__glow--blue{width:420px;height:420px;background:var(--blue);top:10%;left:-10%;opacity:.35;}
.hero__glow--pink{width:360px;height:360px;background:var(--pink);bottom:-10%;right:-5%;filter:blur(90px);opacity:.3;}

.hero__grid{
  display:grid;grid-template-columns:1fr;gap:0;align-items:end;
  position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 20px 32px;
}
.hero__text{order:2;padding-bottom:0;}
.hero__imgwrap{order:1;margin:0 -8px 24px;position:relative;display:flex;justify-content:center;}
.hero__img{width:100%;max-width:320px;height:auto;object-fit:contain;filter:drop-shadow(0 24px 32px rgba(0,0,0,.45));}
.hero__title{
  font-size:40px;font-family:var(--font-display);font-weight:900;line-height:var(--lh-tight);
  letter-spacing:var(--tracking-tight);color:var(--cream);margin:14px 0 0;
}
.hero__subtitle{
  font-family:var(--font-accent);font-style:italic;font-weight:500;font-size:1.15rem;
  color:var(--pastel-pink);max-width:520px;margin:20px 0 0;
}
.hero__cta{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:32px;}
.hero__proof{font-family:var(--font-body);font-weight:600;font-size:13px;color:var(--gray-300);margin:20px 0 0;}

@media(min-width:720px){
  .hero__grid{grid-template-columns:1.1fr .9fr;gap:40px;}
  .hero__text{order:1;padding-bottom:80px;}
  .hero__imgwrap{order:2;margin:0;}
  .hero__title{font-size:var(--text-display-xl);}
  .hero__cta{flex-direction:row;align-items:center;}
}

/* ---------- Clientes / marquee ---------- */
.clientes{background:var(--cream);padding:40px 20px;overflow:hidden;}
@media(min-width:720px){.clientes{padding:64px 40px;}}
.marquee{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee__track{display:flex;width:max-content;gap:48px;animation:marquee 28s linear infinite;align-items:center;}
.marquee__track span{font-family:var(--font-display);font-weight:900;font-size:22px;color:var(--gray-500);}

/* ---------- Stats ---------- */
.stats{position:relative;background:var(--cream);padding:40px 20px;overflow:hidden;}
@media(min-width:720px){.stats{padding:64px 40px;}}
.stats__shape{position:absolute;pointer-events:none;z-index:0;}
.stats__shape--1{width:60px;height:60px;border-radius:50%;background:var(--pink);top:16px;left:6%;}
.stats__shape--2{width:38px;height:38px;border-radius:10px;background:var(--blue);bottom:12px;right:8%;}
.stats__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:1200px;margin:0 auto;position:relative;z-index:1;}
@media(min-width:720px){.stats__grid{grid-template-columns:repeat(4,1fr);gap:24px;}}
.stat-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px 16px;text-align:center;}
.stat-card--yellow{background:var(--yellow);}
.stat-card--pink{background:var(--pink);}
.stat-card--blue{background:var(--blue);}
.stat-card--ink{background:var(--ink);}
.stat-card__num{font-family:var(--font-display);font-weight:900;font-size:36px;color:var(--ink);}
.stat-card--blue .stat-card__num{color:#fff;}
.stat-card--ink .stat-card__num{color:var(--cream);}
.stat-card__label{font-family:var(--font-body);font-weight:600;font-size:13px;color:var(--ink);margin-top:4px;}
.stat-card--blue .stat-card__label,.stat-card--ink .stat-card__label{color:inherit;}
.stat-card--blue .stat-card__label{color:#fff;}
.stat-card--ink .stat-card__label{color:var(--cream);}

/* ---------- Sobre ---------- */
.sobre{position:relative;background:var(--cream-deep);padding:64px 20px;}
@media(min-width:720px){.sobre{padding:104px 40px;}}
.sobre__grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;position:relative;max-width:1100px;margin:0 auto;}
@media(min-width:720px){.sobre__grid{grid-template-columns:.8fr 1.2fr;gap:56px;}}
.sobre__media{position:relative;}
.sobre__matte{
  position:absolute;background:var(--yellow);border-radius:var(--radius-lg);z-index:0;
  top:10px;left:50%;width:260px;transform:translateX(calc(-50% - 10px));right:auto;bottom:-10px;
}
@media(min-width:720px){.sobre__matte{position:absolute;top:16px;left:16px;right:-16px;bottom:-16px;width:auto;transform:none;}}
.sobre__img{
  width:260px;margin:0 auto;display:block;aspect-ratio:4/5;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card-lg);object-fit:cover;position:relative;z-index:1;
}
@media(min-width:720px){.sobre__img{width:100%;margin:0;}}
.sobre__badge{
  position:absolute;bottom:-20px;right:calc(50% - 140px);width:110px;height:auto;z-index:2;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.28));
}
@media(min-width:720px){.sobre__badge{bottom:-32px;right:-32px;width:150px;}}
.sobre__text{font-family:var(--font-body);font-size:var(--text-body-l);line-height:var(--lh-normal);color:var(--ink);margin:16px 0 0;}
.sobre__badges{display:flex;gap:12px;margin-top:44px;flex-wrap:wrap;}

/* ---------- Depoimentos ---------- */
.depoimentos{position:relative;background:var(--red);padding:56px 20px;overflow:hidden;}
@media(min-width:720px){.depoimentos{padding:96px 40px;}}
.depoimentos__shape{position:absolute;pointer-events:none;z-index:0;}
.depoimentos__shape--1{width:110px;height:110px;border-radius:50%;background:var(--yellow);top:-20px;left:4%;opacity:.9;}
.depoimentos__shape--2{width:70px;height:70px;border-radius:18px;background:var(--ink);bottom:20px;right:6%;opacity:.9;}
.depoimentos__grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:720px){.depoimentos__grid{grid-template-columns:repeat(3,1fr);}}
.testimonial{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card-lg);padding:28px;display:flex;flex-direction:column;}
.testimonial__quote{font-family:var(--font-accent);font-style:italic;font-weight:700;font-size:17px;color:var(--ink);margin:0 0 12px;}
.testimonial__body{font-family:var(--font-body);font-size:14px;line-height:var(--lh-normal);color:var(--gray-700);margin:0 0 16px;flex:1;}
.testimonial__name{font-family:var(--font-display);font-weight:800;font-size:14px;color:var(--red);display:block;}
.testimonial__role{font-family:var(--font-body);font-size:13px;color:var(--gray-700);}

/* ---------- Ferramentas ---------- */
.ferramentas{position:relative;background:var(--green);padding:48px 20px;overflow:hidden;}
@media(min-width:720px){.ferramentas{padding:80px 40px;}}
.ferramentas__shape{position:absolute;pointer-events:none;z-index:0;}
.ferramentas__shape--1{width:90px;height:90px;border-radius:50%;border:8px solid var(--yellow);top:10px;right:8%;}
.ferramentas__shape--2{width:44px;height:44px;border-radius:12px;background:var(--pink);bottom:16px;left:6%;}
.free-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:720px){.free-grid{grid-template-columns:1fr 1fr;}}
.free-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px;display:flex;flex-direction:column;justify-content:space-between;min-height:150px;transition:transform 300ms ease;}
.free-card:hover{transform:translateY(-6px);}
.free-card--yellow{background:var(--yellow);}
.free-card--pink{background:var(--pink);}
.free-card__title{font-family:var(--font-display);font-weight:800;font-size:20px;color:var(--ink);margin:0 0 10px;}
.free-card__text{font-family:var(--font-body);font-size:16px;line-height:1.4;color:var(--ink);margin:0 0 18px;}

/* ---------- Servicos ---------- */
.servicos{position:relative;background:var(--ink);padding:56px 20px;}
@media(min-width:720px){.servicos{padding:96px 40px;}}
.servicos__grain{position:absolute;inset:0;background-image:url('assets/dark-grain-tile.png');background-size:420px;background-repeat:repeat;opacity:.12;mix-blend-mode:overlay;pointer-events:none;}
.servicos__shape{position:absolute;pointer-events:none;z-index:0;}
.servicos__shape--1{width:100px;height:100px;border-radius:50%;background:var(--purple);top:-30px;left:-20px;opacity:.5;}
.servicos__shape--2{width:60px;height:60px;border-radius:16px;background:var(--red);bottom:20px;right:6%;}
.servicos__grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:720px){.servicos__grid{grid-template-columns:repeat(2,1fr);}}
.service-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-card-lg);padding:var(--space-6);font-family:var(--font-body);}
.service-card--cream{background:var(--cream);color:var(--ink);}
.service-card--light{background:#fff;color:var(--ink);}
.service-card__num{font-family:var(--font-display);font-weight:900;font-size:32px;}
.service-card__title{font-family:var(--font-display);font-weight:800;font-size:22px;margin:16px 0 8px;}
.service-card__text{font-family:var(--font-body);font-size:15px;line-height:var(--lh-normal);color:var(--gray-700);margin:0 0 20px;}
.servicos__footer{margin-top:36px;text-align:center;}
.servicos__quote{font-family:var(--font-accent);font-style:italic;font-weight:600;font-size:var(--text-accent);color:var(--yellow);margin:0 0 20px;}

/* ---------- Produtos ---------- */
.produtos{position:relative;background:var(--cream);padding:48px 20px;overflow:hidden;}
@media(min-width:720px){.produtos{padding:80px 40px;}}
.produtos__shape{position:absolute;pointer-events:none;z-index:0;}
.produtos__shape--1{width:80px;height:80px;border-radius:22px;background:var(--blue);top:10px;left:5%;opacity:.85;}
.produtos__shape--2{width:56px;height:56px;border-radius:50%;background:var(--orange);bottom:10px;right:8%;opacity:.85;}
.produtos__grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:720px) and (max-width:1023px){.produtos__grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.produtos__grid{grid-template-columns:repeat(3,1fr);}}
.product-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px;display:flex;flex-direction:column;justify-content:space-between;min-height:170px;transition:transform 300ms ease;}
.product-card:hover{transform:translateY(-6px);}
.product-card--blue{background:var(--blue);}
.product-card--orange{background:var(--orange);}
.product-card--purple{background:var(--purple);}
.product-card__title{font-family:var(--font-display);font-weight:800;font-size:20px;margin:0 0 10px;}
.product-card--blue .product-card__title,.product-card--blue .product-card__text{color:#fff;}
.product-card--orange .product-card__title,.product-card--orange .product-card__text,
.product-card--purple .product-card__title,.product-card--purple .product-card__text{color:var(--ink);}
.product-card__text{font-family:var(--font-body);font-size:16px;line-height:1.4;margin:0 0 18px;}

/* ---------- Palestras ---------- */
.palestras{position:relative;background:var(--blue-deep);padding:56px 20px;overflow:hidden;}
@media(min-width:720px){.palestras{padding:96px 40px;}}
.palestras__grain{position:absolute;inset:0;background-image:url('assets/dark-grain-tile.png');background-size:420px;background-repeat:repeat;opacity:.15;mix-blend-mode:screen;pointer-events:none;}
.palestras__grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;position:relative;max-width:1100px;margin:0 auto;z-index:1;}
@media(min-width:720px){.palestras__grid{grid-template-columns:.7fr 1.3fr;gap:56px;}}
.palestras__media{position:relative;}
.palestras__glow{position:absolute;width:320px;height:320px;border-radius:50%;background:var(--yellow);top:50%;left:50%;transform:translate(-50%,-50%);filter:blur(70px);opacity:.5;z-index:0;}
.palestras__img{width:230px;margin:0 auto;display:block;max-width:320px;height:auto;object-fit:contain;filter:drop-shadow(0 20px 28px rgba(0,0,0,.5));position:relative;z-index:1;}
@media(min-width:720px){.palestras__img{width:100%;margin:0;}}
.palestras__badges{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 24px;}
.palestras__text{font-family:var(--font-body);font-size:var(--text-body-l);line-height:var(--lh-normal);color:var(--cream);max-width:520px;margin:0 0 24px;}

/* ---------- Footer ---------- */
.footer{background:var(--ink);padding:40px 20px 28px;}
.footer__inner{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;max-width:1200px;margin:0 auto;}
.footer__logo{height:24px;filter:brightness(0) invert(1);}
.footer__nav{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;}
.footer__nav a{font-family:var(--font-body);font-size:14px;color:var(--cream);text-decoration:none;}
.footer__social{display:flex;gap:14px;}
.footer__social a{width:40px;height:40px;border-radius:50%;border:2px solid var(--cream);display:flex;align-items:center;justify-content:center;color:var(--cream);text-decoration:none;}
.footer__disclaimer{font-family:var(--font-body);font-size:11px;line-height:var(--lh-normal);color:var(--gray-500);max-width:720px;margin:8px 0 0;}
.footer__legal{font-family:var(--font-body);font-size:13px;color:var(--gray-500);}

@media(prefers-reduced-motion:reduce){
  .floaty,.floatx,.spin-slow,.marquee__track{animation:none;}
  .reveal{transition:none;opacity:1;transform:none;}
}
