:root{
  --navy: #0B1D2A;
  --gold: #C8A76B;
  --white: #FFFFFF;
  --muted: #F5F5F5;
  --max-width: 1200px;
  --easing: cubic-bezier(.22,.9,.25,1);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color: #222;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  background:var(--white);
  line-height:1.6;
}

/* Container */
.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}

/* HEADER */
.site-header{
  position:fixed;left:0;right:0;top:0;z-index:60;
  background:linear-gradient(to bottom, rgba(11,29,42,0.9), rgba(11,29,42,0.4));
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(255,255,255,0.03);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.logo img{height:48px;display:block}

/* NAV */
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.nav a{color:var(--white);text-decoration:none;font-weight:600}
.nav a:hover{color:var(--gold)}
.btn-hamburger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.btn-hamburger span{display:block;width:22px;height:2px;background:var(--white);margin:4px 0;transition:all .25s var(--easing)}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:var(--white);overflow:hidden;padding-top:72px}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center center;transform:translateZ(0);will-change:transform}
.overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(11,29,42,0.6), rgba(11,29,42,0.75))}
.hero-content{position:relative;padding:80px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.hero-text{max-width:720px}
.hero-text h1{font-family:"Playfair Display", serif;font-size:clamp(28px,5vw,48px);margin:0 0 12px;color:var(--white);line-height:1.05}
.hero-text p{margin:0 0 22px;font-size:1.05rem;opacity:0.95}
.hero-ctas .btn{margin-right:12px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700;transition:all .35s var(--easing)}
.btn-primary{background:linear-gradient(90deg,var(--gold), #b9954a);color:var(--navy);box-shadow:0 8px 22px rgba(200,167,107,0.12)}
.btn-primary:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(11,29,42,0.25)}
.btn-outline{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,0.12)}
.btn.large{padding:14px 22px;font-size:1.05rem}

/* Social */
.hero-social{display:flex;flex-direction:column;gap:10px}
.hero-social a{display:inline-block;background:rgba(255,255,255,0.06);color:var(--white);padding:8px 10px;border-radius:8px;text-decoration:none;font-weight:700;transition:all .25s}
.hero-social a:hover{transform:translateY(-4px);background:rgba(200,167,107,0.15);color:var(--gold)}

/* Sections */
.section{padding:80px 0}
.section-light{background:var(--white);color:#222}
.section-grey{background:var(--muted)}
.section-dark{background:var(--navy);color:var(--white)}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 420px;gap:32px;align-items:center}
.about-text h2{font-family:"Playfair Display", serif;color:var(--navy);font-size:28px;margin:0 0 12px}
.highlight{display:inline-block;margin-top:14px;padding:12px 16px;background:linear-gradient(90deg,rgba(200,167,107,0.08), rgba(200,167,107,0.04));border-left:4px solid var(--gold);font-weight:600;color:var(--navy)}
.about-media img{width:100%;border-radius:10px;box-shadow:0 10px 30px rgba(11,29,42,0.12)}

/* Cards */
.section-title{text-align:center;margin:0 0 34px;font-family:"Playfair Display",serif;font-size:28px;color:var(--navy)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:var(--white);padding:22px;border-radius:12px;box-shadow:0 8px 20px rgba(11,29,42,0.06);transition:transform .35s var(--easing),box-shadow .35s var(--easing)}
.card:hover{transform:translateY(-8px);box-shadow:0 22px 48px rgba(11,29,42,0.12)}
.card-icon{font-size:28px;margin-bottom:8px}
.card h3{margin:6px 0 8px;font-size:18px}
.card p{margin:0;color:#444}

/* Advogado */
.adv-grid{display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:center}
.adv-photo img{width:100%;border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,0.25)}
.adv-text h2{font-family:"Playfair Display",serif;margin:0 0 12px;color:var(--gold)}
.adv-text p{margin:0 0 12px}
.adv-text .quote{color:var(--gold);font-weight:700;margin-top:10px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 520px;gap:28px;align-items:start}
.contact-list{list-style:none;padding:0;margin:12px 0 0}
.contact-list li{margin:10px 0}
.contact-map iframe{width:100%;height:100%;min-height:320px;border:0;border-radius:10px;box-shadow:0 10px 30px rgba(11,29,42,0.08)}

/* Footer */
.site-footer{background:var(--navy);color:var(--white);padding:24px 0;text-align:center}
.footer-inner{display:flex;flex-direction:column;gap:6px;align-items:center}
.footer-logo{height:44px;opacity:0.95}
.muted{opacity:0.8}

/* Animations: initial hidden */
[data-animate]{opacity:0;transform:translateY(18px);transition:all .65s var(--easing);will-change:transform,opacity}
[data-animate].in-view{opacity:1;transform:translateY(0)}

/* Responsive */
@media (max-width:1000px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr}
  .adv-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .nav{display:none}
  .btn-hamburger{display:block}
  .hero-content{padding:60px 16px}
  .hero-text h1{font-size:28px}
  .cards{grid-template-columns:1fr}
  .about-media img{height:260px;object-fit:cover}
  .header-inner{padding:12px 0}
  .site-header{padding:0 0 6px}
  .hero-social{display:none}
}

/* Mobile nav open style (JS toggles .open on body) */
body.nav-open .nav{position:fixed;top:72px;left:0;right:0;background:linear-gradient(180deg, rgba(11,29,42,0.98), rgba(11,29,42,0.98));padding:20px;display:block}
body.nav-open .nav ul{flex-direction:column;gap:12px}
body.nav-open .btn-hamburger span{background:var(--gold)}
