/* ============================================================
   PREVISO — SHARED DESIGN SYSTEM
   Cores padrão: #001529 (navy) + #73A743 (verde)
   Fontes: Outfit (sans) + Libre Baskerville (serif)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}

/* ── DESIGN TOKENS ── */
:root{
  /* Backgrounds */
  --bg:    #0d0f0f;
  --bg1:   #141718;
  --bg2:   #1c1f20;
  --bg3:   #252a2b;

  /* Borders */
  --rule:  #252a2b;
  --rule2: #2f3536;

  /* Accent — verde #73A743 */
  --g:     #73A743;
  --gd:    #3d5c1e;
  --gl:    rgba(115,167,67,.07);

  /* Gradient */
  --grad:  linear-gradient(135deg,#73A743 0%,#2d6e28 100%);
  --grad2: linear-gradient(135deg,#336b24 0%,#73A743 100%);
  --glow:  0 0 32px rgba(115,167,67,.18);

  /* Text */
  --text:  #f0f0f0;
  --text2: #8b949e;
  --text3: #4a5568;
  --text4: #2d3748;
}

/* ── BASE ── */
body{
  font-family:'Inter','Outfit',sans-serif;
  background:var(--bg);
  color:var(--text);
  font-size:16px;
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ── DARK SCROLLBAR ── */
html{
  scrollbar-color:#2a2a2a #0a0a0a;  /* Firefox: thumb track */
  scrollbar-width:thin;
}
*::-webkit-scrollbar{ width:12px; height:12px; }
*::-webkit-scrollbar-track{ background:#0a0a0a; }
*::-webkit-scrollbar-thumb{
  background:#2a2a2a; border-radius:6px;
  border:3px solid #0a0a0a;  /* inner padding effect */
}
*::-webkit-scrollbar-thumb:hover{ background:#3a3a3a; }
*::-webkit-scrollbar-corner{ background:#0a0a0a; }

/* ── SKIP LINK ── */
.skip-link{
  position:absolute;top:-100%;left:16px;
  background:var(--g);color:#0d0f0f;
  padding:10px 20px;border-radius:0 0 6px 6px;
  font-size:14px;font-weight:500;
  z-index:200;text-decoration:none;
  transition:top .2s;
}
.skip-link:focus{top:0}

/* ── FOCUS ── */
*:focus-visible{
  outline:2px solid var(--g);
  outline-offset:2px;
  border-radius:3px;
}

/* ── LAYOUT ── */
.w  {max-width:1080px;margin:0 auto;padding:0 24px}
.wm {max-width:800px; margin:0 auto;padding:0 24px}
.wn {max-width:640px; margin:0 auto;padding:0 24px}

/* ── NAV ── */
.site-nav{
  position:sticky;top:0;z-index:100;
  background:rgba(13,15,15,.92);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--rule);
}
.nav-in{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1080px;margin:0 auto;padding:0 24px;
  height:70px;
}
.logo{
  font-family:'Libre Baskerville',serif;
  font-size:20px;font-weight:700;
  text-decoration:none;letter-spacing:-.3px;
  background:var(--grad);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.logo span{
  background:inherit;
  -webkit-background-clip:inherit;
  -webkit-text-fill-color:inherit;
  background-clip:inherit;
}

/* Hamburger */
.nav-toggle{display:none}
.nav-hamburger{
  display:flex;flex-direction:column;gap:4px;
  background:none;border:none;cursor:pointer;
  padding:10px;margin:-10px;
  min-width:44px;min-height:44px;
  align-items:center;justify-content:center;
}
.nav-hamburger span{
  display:block;width:20px;height:2px;
  background:var(--text2);border-radius:1px;
  transition:all .2s;
}
.nav-links{
  display:none;
  position:absolute;top:58px;left:0;right:0;
  background:var(--bg1);border-bottom:1px solid var(--rule);
  padding:16px 24px;
}
.nav-toggle:checked ~ .nav-links{display:block}
.nav-toggle:checked ~ label .nav-hamburger span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.nav-toggle:checked ~ label .nav-hamburger span:nth-child(2){opacity:0}
.nav-toggle:checked ~ label .nav-hamburger span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.nav-links ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.nav-links ul a{
  font-size:14px;color:var(--text2);text-decoration:none;
  padding:10px 12px;border-radius:5px;
  display:flex;align-items:center;
  min-height:44px;font-weight:300;
  transition:color .15s,background .15s;
}
.nav-links ul a:hover,
.nav-links ul a:focus{color:var(--text);background:var(--bg2)}
.nav-links ul a[aria-current]{color:var(--g)}
.nav-actions{display:flex;align-items:center;gap:12px}
.nav-login-mobile{display:none}
.nav-login{
  font-size:13px;font-weight:400;
  color:var(--text3);
  padding:8px 4px;
  text-decoration:none;
  min-height:44px;display:inline-flex;align-items:center;
  transition:color .15s;
}
.nav-login:hover{color:var(--text2)}
.nav-cta{
  font-size:13px;font-weight:600;
  background:#73A743;color:#fff;
  padding:10px 22px;border-radius:8px;
  text-decoration:none;
  min-height:38px;display:inline-flex;align-items:center;
  transition:background .15s;
}
.nav-cta:hover{background:#65963a}

/* ── BUTTONS ── */
.btn{
  font-size:13px;font-weight:600;
  padding:10px 22px;border-radius:8px;
  text-decoration:none;cursor:pointer;border:none;
  transition:background .15s,box-shadow .15s,transform .15s;
  display:inline-flex;align-items:center;justify-content:center;
  letter-spacing:.02em;min-height:40px;
}
.btn-p{
  background:var(--grad);color:#fff;
}
.btn.btn-p{color:#fff}
.btn-p:hover{
  background:var(--grad2);
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(115,167,67,.35);
}
.btn-s{
  background:transparent;
  color:var(--text2);
  border:1px solid var(--rule2);
}
.btn-s:hover{
  color:var(--text);
  border-color:rgba(115,167,67,.4);
  background:rgba(115,167,67,.05);
}

/* ── FOOTER ── */
.site-footer{
  padding:40px 0;
  border-top:1px solid var(--rule);
  background:var(--bg);
}
.foot-in{
  display:flex;flex-direction:column;gap:16px;
  align-items:center;text-align:center;
  max-width:1080px;margin:0 auto;padding:0 24px;
}
.foot-logo{
  font-family:'Libre Baskerville',serif;
  font-size:16px;font-weight:700;
  text-decoration:none;
  background:var(--grad);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.foot-copy{font-size:12px;color:var(--text4)}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}
.foot-links a{
  font-size:12px;color:var(--text4);text-decoration:none;
  transition:color .15s;min-height:44px;
  display:inline-flex;align-items:center;
}
.foot-links a:hover{color:var(--text3)}
.foot-contact{font-size:12px;color:var(--text4)}
.foot-contact a{color:var(--text3);text-decoration:none}
.foot-contact a:hover{color:var(--text2)}

/* ── BREADCRUMB ── */
.breadcrumb{font-size:13px;color:var(--text3);padding:24px 0 0}
.breadcrumb a{color:var(--text3);text-decoration:none;transition:color .15s}
.breadcrumb a:hover{color:var(--text2)}
.breadcrumb span{margin:0 8px}

/* ── REDUCE MOTION ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* ── TABLET (768px+) ── */
@media(min-width:768px){
  .w,.wm,.wn{padding:0 36px}
  .nav-in{padding:0 36px}
  .foot-in{flex-direction:row;justify-content:space-between;text-align:left}
}

/* ── DESKTOP (1024px+) ── */
@media(min-width:1024px){
  .nav-hamburger{display:none}
  .nav-links{
    display:flex;position:static;
    background:none;border:none;padding:0;
    align-items:center;gap:4px;
  }
  .nav-links ul{flex-direction:row}
  .nav-links ul a{font-size:13px;padding:6px 12px;min-height:auto}
}
@media(max-width:1023px){
  .nav-login{display:none}
}

/* ── SCROLL REVEAL ── */
[data-anim]{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .55s ease,transform .55s ease;
}
[data-anim].in-view{
  opacity:1;
  transform:none;
}
[data-anim][data-d="1"]{transition-delay:.1s}
[data-anim][data-d="2"]{transition-delay:.2s}
[data-anim][data-d="3"]{transition-delay:.3s}
[data-anim][data-d="4"]{transition-delay:.4s}
@media(prefers-reduced-motion:reduce){
  [data-anim]{opacity:1;transform:none;transition:none}
}
