/* =====================================================
   VERDE LIMÃO — style.css
   Estilos gerais (sem navbar/hero — ver header.css)
   ===================================================== */

:root {
  --y: #FFD700;
  --b: #0057FF;
  --w: #ffffff;
  --k: #111111;
  --bg: #f2f2f2;
  --nav-offset: 112px; /* 32px social + 80px nav */
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: Arial, Helvetica, sans-serif; background: var(--bg); color: var(--k); overflow-x: hidden; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { display: block; max-width: 100%; }

/* BUTTONS */
.btn-y { display:inline-flex;align-items:center;gap:8px;background:var(--y);color:var(--k);padding:13px 30px;font-weight:700;font-size:13px;border-radius:3px;border:2px solid var(--y);transition:.2s; }
.btn-y:hover { background:transparent;color:var(--y); }
.btn-w { display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;padding:13px 30px;font-weight:700;font-size:13px;border-radius:3px;border:2px solid rgba(255,255,255,.3);transition:.2s; }
.btn-w:hover { border-color:#fff; }
.btn-outline { display:inline-flex;align-items:center;gap:8px;border:2px solid var(--b);color:var(--b);padding:12px 36px;border-radius:3px;font-weight:700;font-size:13px;transition:.2s; }
.btn-outline:hover { background:var(--b);color:#fff; }

/* SECTIONS */
.section { padding: 88px 0; position: relative; overflow: hidden; }
.ctr { max-width: 1160px; margin: 0 auto; padding: 0 44px; }
.sec-tag { font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--b);margin-bottom:8px; }
.sec-title { font-size:clamp(42px,5.5vw,72px);font-weight:900;letter-spacing:-.03em;line-height:1; }

/* PROJETOS */
#projetos { background:#fff; }
.proj-head { display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px;gap:24px;flex-wrap:wrap; }
.proj-sub { font-size:14px;color:#666;max-width:340px;line-height:1.65; }
.proj-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.proj-card { background:var(--bg);border-radius:6px;overflow:hidden;border:1.5px solid #ddd;transition:transform .3s,box-shadow .3s; }
.proj-card:hover { transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.1); }
.proj-card-img { width:100%;aspect-ratio:4/3;overflow:hidden; }
.proj-card-img img { width:100%;height:100%;object-fit:cover;transition:transform .4s; }
.proj-card:hover .proj-card-img img { transform:scale(1.06); }
.proj-body { padding:18px; }
.proj-cat { font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--b);margin-bottom:5px; }
.proj-name { font-size:17px;font-weight:700;margin-bottom:5px; }
.proj-desc { font-size:12.5px;color:#888;line-height:1.55;margin-bottom:12px; }
.proj-link { font-size:12px;font-weight:700;color:var(--b); }

/* SOBRE */
#sobre { background:var(--bg); }
.sobre-big-title { font-size:clamp(88px,14vw,168px);font-weight:900;letter-spacing:-.05em;text-transform:lowercase;line-height:.85;margin-bottom:60px; }
.sobre-grid { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-bottom:72px; }
.sobre-img-wrap { position:relative; }
.sobre-img { width:100%;aspect-ratio:2/3;object-fit:cover;object-position:top;border-radius:8px; }
.sobre-badge { position:absolute;bottom:-20px;right:-16px;width:88px;height:88px;border-radius:50%;background:var(--y);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.15); }
.sobre-badge strong { font-size:26px;font-weight:900;line-height:1; }
.sobre-badge span { font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em; }
.sobre-text p { font-size:15px;line-height:1.78;color:#444;margin-bottom:18px; }
.stats { display:flex;gap:40px;margin-top:36px; }
.stat-n { font-size:46px;font-weight:900;color:var(--b);line-height:1; }
.stat-l { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#999;margin-top:3px; }
.deco-circle { position:absolute;border-radius:50%;pointer-events:none; }
.team-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:28px; }
.team-card { text-align:center; }
.team-photo { width:110px;height:110px;border-radius:50%;object-fit:cover;object-position:top;margin:0 auto 14px;border:4px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.12); }
.team-name { font-size:15px;font-weight:700; }
.team-role { font-size:12px;color:#999; }

/* LOJA */
#loja { background:#fff; }
.loja-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:44px;flex-wrap:wrap;gap:16px; }
.loja-title { font-size:clamp(64px,10vw,120px);font-weight:900;letter-spacing:-.04em;line-height:.9; }
.ig-btn { display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;padding:12px 22px;border:2px solid var(--k);border-radius:4px;transition:.2s; }
.ig-btn:hover { background:var(--k);color:#fff; }
.ig-btn svg { width:22px;height:22px; }
.loja-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px; }
.loja-item { border-radius:6px;overflow:hidden;border:1.5px solid #eee;transition:transform .3s,box-shadow .3s; }
.loja-item:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1); }
.loja-item-img { width:100%;aspect-ratio:1;overflow:hidden; }
.loja-item-img img { width:100%;height:100%;object-fit:cover;transition:transform .4s; }
.loja-item:hover .loja-item-img img { transform:scale(1.05); }
.loja-info { padding:12px; }
.loja-name { font-size:13px;font-weight:700;margin-bottom:3px; }
.loja-price { font-size:13px;color:var(--b);font-weight:700; }
.loja-cta { text-align:center; }

/* SERVIÇOS */
#servicos { background:var(--bg); }
.serv-grid { display:grid;grid-template-columns:1fr 1fr;gap:44px 72px;margin-top:52px; }
.serv-num { font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--b);margin-bottom:10px; }
.serv-title { font-size:22px;font-weight:700;margin-bottom:10px;line-height:1.2; }
.serv-desc { font-size:14px;color:#666;line-height:1.72; }
.serv-banner { margin-top:80px;position:relative;border-radius:10px;overflow:hidden; }
.serv-banner-bg { position:absolute;inset:0;background:url('../assets/images/servicos-bg.jpg') center/cover no-repeat;filter:brightness(.2); }
.serv-banner-inner { position:relative;z-index:2;padding:80px 64px;text-align:center; }
.banner-big { font-size:clamp(44px,7vw,88px);font-weight:900;text-transform:uppercase;color:#fff;line-height:1.02;letter-spacing:-.02em; }
.banner-big em { color:var(--y);font-style:normal; }
.banner-sub { color:rgba(255,255,255,.4);font-size:15px;margin-top:14px; }

/* ESPAÇO */
#espaco { background:var(--b);padding:88px 0;overflow:hidden; }
.espaco-head { display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px;flex-wrap:wrap;gap:24px; }
.espaco-title { font-size:clamp(42px,6.5vw,84px);font-weight:900;color:#fff;line-height:.9;text-transform:lowercase;letter-spacing:-.03em; }
.espaco-title strong { color:var(--y);text-transform:uppercase;display:block; }
.phone-row { display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:52px; }
.phone-wrap { background:#fff;border-radius:22px;padding:7px;box-shadow:0 10px 32px rgba(0,0,0,.25);transition:transform .3s; }
.phone-wrap:nth-child(2n) { transform:rotate(2.5deg); }
.phone-wrap:nth-child(2n+1) { transform:rotate(-2deg); }
.phone-wrap:hover { transform:rotate(0) scale(1.04) !important; }
.phone-screen { width:100%;aspect-ratio:9/16;border-radius:16px;overflow:hidden; }
.phone-screen img { width:100%;height:100%;object-fit:cover; }
.espaco-cards { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.ec { border-radius:10px;overflow:hidden; }
.ec-dark { background:#111;color:#fff; }
.ec-yellow { background:var(--y);color:var(--k); }
.ec-white { background:#fff;color:var(--k); }
.ec-img { width:100%;aspect-ratio:16/9;overflow:hidden; }
.ec-img img { width:100%;height:100%;object-fit:cover; }
.ec-img.contain img { object-fit:contain;background:#111;padding:20px; }
.ec-body { padding:28px; }
.ec-tag { font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.5;margin-bottom:8px; }
.ec-title { font-size:22px;font-weight:900;line-height:1.1;margin-bottom:10px; }
.ec-desc { font-size:13px;line-height:1.6;opacity:.65;margin-bottom:18px; }
.btn-sm { display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:9px 20px;border-radius:3px; }
.btn-sm-y { background:var(--y);color:var(--k); }
.btn-sm-k { background:var(--k);color:#fff; }
.btn-sm-b { background:var(--b);color:#fff; }

/* FOOTER */
#footer { background:#0a0a0a;color:#fff;padding:72px 0 40px; }
.footer-grid { display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:60px;margin-bottom:56px; }
.footer-about { font-size:13px;color:rgba(255,255,255,.4);line-height:1.7;max-width:270px;margin-top:16px; }
.footer-h { font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--y);margin-bottom:20px; }
.footer-links { display:flex;flex-direction:column;gap:10px; }
.footer-links a { font-size:13px;color:rgba(255,255,255,.5);transition:color .2s; }
.footer-links a:hover { color:#fff; }
.nl-row { display:flex;gap:8px; }
.nl-input { flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:3px;padding:11px 14px;font-size:13px;color:#fff;outline:none;transition:border-color .2s;font-family:inherit; }
.nl-input::placeholder { color:rgba(255,255,255,.28); }
.nl-input:focus { border-color:var(--y); }
.nl-btn { background:var(--y);color:var(--k);padding:11px 18px;border:none;border-radius:3px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s;font-family:inherit; }
.nl-btn:hover { background:#ffe840; }
.nl-msg { font-size:12px;margin-top:8px;min-height:18px; }
.nl-msg.ok { color:#4ade80; }
.nl-msg.err { color:#f87171; }
.socials { display:flex;gap:10px;margin-top:22px; }
.soc { width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);transition:.2s; }
.soc:hover { border-color:var(--y);color:var(--y); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.07);padding-top:30px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px; }
.footer-copy { font-size:12px;color:rgba(255,255,255,.25); }

/* REVEAL */
.reveal,.reveal-l,.reveal-r { opacity:0;transition:opacity .65s ease,transform .65s ease; }
.reveal { transform:translateY(28px); }
.reveal-l { transform:translateX(-28px); }
.reveal-r { transform:translateX(28px); }
.reveal.in,.reveal-l.in,.reveal-r.in { opacity:1;transform:none; }

/* RESPONSIVE */
@media (max-width:1024px) {
  .proj-grid { grid-template-columns:repeat(2,1fr); }
  .loja-grid { grid-template-columns:repeat(2,1fr); }
  .phone-row { grid-template-columns:repeat(2,1fr); }
  .espaco-cards { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .sobre-grid { grid-template-columns:1fr; }
  .serv-grid { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
  .proj-grid { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:1fr; }
  .phone-row { grid-template-columns:repeat(2,1fr); }
  .espaco-cards { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .ctr { padding:0 20px; }
  .serv-banner-inner { padding:48px 28px; }
  .loja-grid { grid-template-columns:repeat(2,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  * { animation:none !important;transition-duration:.01ms !important; }
}
