
:root{
  --castanho:#4A2C17;
  --laranja:#D67A3A;
  --bege:#FBF3E8;
  --musgo:#3A4A2E;
  --dourado:#C99A5A;
  --texto:#2B211C;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bege);color:var(--texto);line-height:1.7}
h1,h2,h3{font-family:'Playfair Display',serif;color:var(--castanho)}
header{position:sticky;top:0;z-index:50;background:rgba(251,243,232,0.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(74,44,23,0.1);display:flex;justify-content:space-between;align-items:center;padding:14px 5%}
.logo{font-weight:700;letter-spacing:0.08em}
nav a{margin-left:22px;text-decoration:none;color:var(--castanho);font-size:0.9rem;opacity:0.8}
nav a:hover{opacity:1;color:var(--laranja)}

.hero{position:relative;height:92vh;overflow:hidden;display:flex;align-items:flex-end}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(43,33,28,0.85) 0%,rgba(43,33,28,0.2) 55%,rgba(43,33,28,0.05) 100%)}
.hero-content{position:relative;z-index:2;padding:5%;color:white;max-width:720px}
.badge{display:inline-block;background:var(--dourado);color:var(--castanho);padding:6px 14px;border-radius:20px;font-size:0.75rem;font-weight:700;letter-spacing:0.1em;margin-bottom:18px}
.hero h1{font-size:clamp(2.8rem,6vw,5rem);line-height:0.95;color:white;margin-bottom:12px}
.hero p{font-size:1.15rem;opacity:0.9;max-width:520px}

section{padding:90px 5%;max-width:1180px;margin:0 auto}
.reveal{opacity:0;transform:translateY(28px);transition:all 0.9s cubic-bezier(.2,.8,.2,1)}
.reveal.active{opacity:1;transform:translateY(0)}

.grid-2{display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:white;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(74,44,23,0.07);border:1px solid rgba(74,44,23,0.06)}
.card img{width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:16px}
.label{font-size:0.7rem;letter-spacing:0.12em;color:var(--laranja);font-weight:700;margin-bottom:8px}

.timeline{border-left:2px solid var(--dourado);padding-left:28px;margin-left:8px}
.timeline div{position:relative;margin-bottom:32px}
.timeline div::before{content:'';position:absolute;left:-36px;top:6px;width:12px;height:12px;background:var(--laranja);border-radius:50%;border:3px solid var(--bege)}

footer{background:var(--castanho);color:var(--bege);padding:50px 5%;text-align:center;margin-top:40px}
@media(max-width:800px){.grid-2,.grid-3{grid-template-columns:1fr}.hero{height:78vh}}
