
:root{
    --navy-deep:#030B1F;
    --navy-1:#0A1330;
    --navy-2:#0F1A3C;
    --silver:#C9CDD6;
    --silver-soft:#9CA3B0;
    --off-white:#F1EFE9;
    --gold:#A6824C;
    --gold-bright:#C9A876;
    --line:rgba(201,205,214,0.14);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--navy-deep);
    color:var(--off-white);
    font-family:'Inter', sans-serif;
    font-weight:300;
    line-height:1.65;
    overflow-x:hidden;
  }
  ::selection{background:var(--gold); color:var(--navy-deep);}

  h1,h2,h3{
    font-family:'Playfair Display', serif;
    font-weight:600;
    color:var(--off-white);
    letter-spacing:0.01em;
  }
  .eyebrow{
    font-size:0.72rem;
    letter-spacing:0.32em;
    text-transform:uppercase;
    color:var(--gold-bright);
    font-weight:500;
    display:inline-block;
    margin-bottom:1.1rem;
  }
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:1120px; margin:0 auto; padding:0 32px;}

  /* subtle grain / texture */
  .grain{
    position:fixed; inset:0; pointer-events:none; z-index:1; opacity:0.05; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* ===== NAV ===== */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(3,11,31,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    transition:padding .3s ease;
  }
  nav{
    display:flex; align-items:center; justify-content:space-between;
    max-width:1120px; margin:0 auto; padding:18px 32px;
  }
  .brand{display:flex; align-items:center; gap:12px; font-family:'Playfair Display',serif;}
  .brand-mark{height:32px; width:auto; flex-shrink:0; border-radius:2px;}
  .brand-text{font-size:1.02rem; letter-spacing:0.04em; color:var(--off-white);}
  .brand-text span{display:block; font-family:'Inter',sans-serif; font-size:0.58rem; letter-spacing:0.28em; color:var(--gold-bright); font-weight:500; margin-top:2px;}

  .nav-links{display:flex; gap:38px; list-style:none;}
  .nav-links a{
    font-size:0.82rem; letter-spacing:0.06em; color:var(--silver);
    position:relative; padding-bottom:4px; transition:color .25s;
  }
  .nav-links a::after{
    content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold);
    transition:width .3s ease;
  }
  .nav-links a:hover{color:var(--off-white);}
  .nav-links a:hover::after{width:100%;}

  .nav-cta{
    border:1px solid var(--gold); color:var(--gold-bright);
    font-size:0.78rem; letter-spacing:0.08em; padding:9px 20px;
    transition:all .3s ease;
  }
  .nav-cta:hover{background:var(--gold); color:var(--navy-deep);}

  .menu-btn{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; z-index:110;}
  .menu-btn span{width:24px; height:1.5px; background:var(--off-white); display:block; transition:.3s;}

  /* ===== HERO ===== */
  .hero{
    position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center;
    text-align:center; padding:140px 32px 100px;
    background:
      radial-gradient(ellipse 90% 60% at 50% 0%, rgba(166,130,76,0.09), transparent 60%),
      radial-gradient(ellipse 70% 50% at 50% 100%, rgba(15,26,60,0.9), var(--navy-deep) 70%);
  }
  .hero-logo{width:min(420px, 78vw); height:auto; margin:0 auto 34px; display:block; border-radius:4px;}
  .hero-content{max-width:760px;}
  .hero h1{
    font-size:clamp(2.4rem, 5.2vw, 4.1rem);
    line-height:1.08;
    font-weight:600;
    margin-bottom:22px;
  }
  .hero h1 em{font-style:italic; color:var(--gold-bright); font-weight:500;}
  .hero p.lead{
    font-size:1.08rem; color:var(--silver); max-width:560px; margin:0 auto 40px;
    font-weight:300;
  }
  .hero-divider{
    width:1px; height:56px; background:linear-gradient(var(--gold), transparent);
    margin:0 auto 34px;
  }
  .oab-line{
    font-size:0.75rem; letter-spacing:0.14em; color:var(--silver-soft); margin-bottom:44px;
  }
  .hero-actions{display:flex; gap:18px; justify-content:center; flex-wrap:wrap;}
  .btn-primary, .btn-ghost{
    padding:15px 34px; font-size:0.85rem; letter-spacing:0.06em; font-weight:500;
    display:inline-block; transition:all .3s ease; cursor:pointer; border:1px solid transparent;
  }
  .btn-primary{background:var(--gold); color:var(--navy-deep);}
  .btn-primary:hover{background:var(--gold-bright); transform:translateY(-2px);}
  .btn-ghost{border-color:var(--line); color:var(--off-white);}
  .btn-ghost:hover{border-color:var(--silver); background:rgba(255,255,255,0.03);}

  .hero-stats{
    display:flex; justify-content:center; gap:56px; margin-top:54px; padding-top:38px;
    border-top:1px solid var(--line); flex-wrap:wrap;
  }
  .hero-stat{text-align:center;}
  .hero-stat b{
    display:block; font-family:'Playfair Display',serif; font-size:1.9rem; font-weight:600;
    color:var(--off-white); margin-bottom:6px;
  }
  .hero-stat span{font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--silver-soft);}

  /* ===== FAQ ===== */
  .faq{background:var(--navy-1); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .faq-list{max-width:820px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item summary{
    list-style:none; cursor:pointer; padding:24px 4px; display:flex; align-items:center;
    justify-content:space-between; gap:20px; font-family:'Playfair Display',serif; font-size:1.05rem;
    color:var(--off-white); font-weight:500;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:'+'; font-family:'Inter',sans-serif; font-size:1.4rem; color:var(--gold-bright);
    flex-shrink:0; transition:transform .3s ease;
  }
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{color:var(--silver); font-size:0.94rem; padding:0 4px 26px; margin:0;}

  /* ===== BLOG PREVIEW (HOME) ===== */
  .blog-preview-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .bp-card-link{display:block; color:inherit; text-decoration:none;}
  .bp-card{background:var(--navy-deep); padding:38px 34px; height:100%; transition:background .3s ease, transform .3s ease;}
  .bp-card-link:hover .bp-card{background:var(--navy-1); transform:translateY(-2px);}
  .bp-tag{font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:14px; display:inline-block;}
  .bp-card h3{font-size:1.08rem; margin-bottom:10px; line-height:1.35;}
  .bp-card p{font-size:0.86rem; color:var(--silver-soft); line-height:1.6;}
  .blog-preview-footer{text-align:center; margin-top:36px;}
  @media (max-width:860px){.blog-preview-grid{grid-template-columns:1fr;}}

  /* ===== CONTACT CTA CARDS + MAP ===== */
  .contact-cta-cards{display:flex; gap:16px; margin-bottom:36px; flex-wrap:wrap;}
  .contact-cta-card{
    flex:1; min-width:200px; background:var(--navy-1); border:1px solid var(--line);
    padding:22px 24px; display:flex; align-items:center; gap:14px; transition:border-color .3s ease;
  }
  .contact-cta-card:hover{border-color:var(--gold);}
  .contact-cta-card .cc-icon{
    width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    flex-shrink:0; font-size:1.2rem;
  }
  .contact-cta-card.wa .cc-icon{background:rgba(37,211,102,0.15); color:#25D366;}
  .contact-cta-card.tel .cc-icon{background:rgba(166,130,76,0.15); color:var(--gold-bright);}
  .contact-cta-card h5{font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--silver-soft); margin-bottom:4px; font-weight:500;}
  .contact-cta-card p{font-size:0.98rem; color:var(--off-white); margin:0;}
  .map-embed{width:100%; height:260px; border:1px solid var(--line); margin-top:30px; filter:grayscale(0.3) invert(0.92) contrast(0.9);}

  .scroll-cue{
    position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
    font-size:0.65rem; letter-spacing:0.2em; color:var(--silver-soft);
    display:flex; flex-direction:column; align-items:center; gap:10px;
  }
  .scroll-cue::after{
    content:''; width:1px; height:28px; background:var(--silver-soft);
    animation:scrollpulse 2s infinite;
  }
  @keyframes scrollpulse{0%,100%{opacity:0.2;} 50%{opacity:0.8;}}

  /* ===== SECTION GENERIC ===== */
  section{position:relative; z-index:2;}
  .section-pad{padding:120px 32px;}
  .section-head{max-width:640px; margin-bottom:64px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .section-head h2{font-size:clamp(1.7rem, 3vw, 2.5rem); line-height:1.2;}
  .section-head p{color:var(--silver); margin-top:16px; font-size:1rem;}

  /* ===== SOBRE ===== */
  .sobre{background:var(--navy-1); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .sobre-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:center;}
  .sobre-figure{
    aspect-ratio:4/5; background:var(--navy-2);
    border:1px solid var(--line); position:relative; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
  }
  .sobre-figure .mono{width:60%; height:auto; opacity:0.95; border-radius:2px;}
  .sobre-figure .sobre-photo{width:100%; height:100%; object-fit:cover; display:block;}
  .sobre-figure::before{
    content:''; position:absolute; inset:14px; border:1px solid rgba(201,205,214,0.18); pointer-events:none;
  }
  .sobre-text h3{font-size:1.4rem; margin-bottom:6px;}
  .sobre-role{color:var(--gold-bright); font-size:0.82rem; letter-spacing:0.08em; margin-bottom:22px; display:block;}
  .sobre-pos{color:var(--silver-soft) !important; font-size:0.82rem !important; letter-spacing:0.03em; margin:-14px 0 22px !important; font-style:italic;}
  .sobre-text p{color:var(--silver); margin-bottom:18px; font-size:0.98rem;}
  .credentials{display:flex; gap:36px; margin-top:34px; flex-wrap:wrap;}
  .cred{border-left:1px solid var(--gold); padding-left:16px;}
  .cred b{display:block; font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--off-white); font-weight:600;}
  .cred span{font-size:0.72rem; letter-spacing:0.05em; color:var(--silver-soft);}

  /* ===== AREAS ===== */
  .areas-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .area-card{
    background:var(--navy-deep); padding:44px 36px; transition:background .3s ease, transform .3s ease;
  }
  .area-card:hover{background:var(--navy-1);}
  .area-num{font-family:'Playfair Display',serif; font-size:0.85rem; color:var(--gold); margin-bottom:20px; display:block;}
  .area-card h3{font-size:1.12rem; margin-bottom:12px; font-weight:600;}
  .area-card p{font-size:0.88rem; color:var(--silver-soft); line-height:1.6;}

  /* ===== PROCESSO ===== */
  .processo{background:var(--navy-1); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;}
  .steps::before{
    content:''; position:absolute; top:22px; left:6%; right:6%; height:1px;
    background:linear-gradient(90deg, transparent, var(--line) 15%, var(--line) 85%, transparent);
  }
  .step{padding:0 20px; position:relative; text-align:left;}
  .step-num{
    width:44px; height:44px; border:1px solid var(--gold); color:var(--gold-bright);
    display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif;
    font-size:1.05rem; background:var(--navy-1); position:relative; z-index:2; margin-bottom:24px;
  }
  .step h4{font-size:1rem; margin-bottom:10px; font-weight:600;}
  .step p{font-size:0.85rem; color:var(--silver-soft);}

  /* ===== DIFERENCIAIS ===== */
  .dif-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
  .dif-item{display:flex; gap:20px; padding-bottom:34px; border-bottom:1px solid var(--line); margin-bottom:34px;}
  .dif-item:last-child, .dif-grid > div:nth-last-child(-n+1){border-bottom:none;}
  .dif-mark{
    font-family:'Playfair Display',serif; font-style:italic; color:var(--gold-bright); font-size:1.3rem;
    flex-shrink:0; width:32px;
  }
  .dif-item h4{font-size:1.02rem; margin-bottom:8px; font-weight:600;}
  .dif-item p{font-size:0.88rem; color:var(--silver-soft);}

  /* ===== CONTATO ===== */
  .contato{
    background:linear-gradient(180deg, var(--navy-1), var(--navy-deep));
    border-top:1px solid var(--line);
  }
  .contato-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px;}
  .info-row{display:flex; gap:18px; margin-bottom:28px;}
  .info-row .ic{
    width:38px; height:38px; border:1px solid var(--line); flex-shrink:0;
    display:flex; align-items:center; justify-content:center; color:var(--gold-bright); font-size:0.9rem;
  }
  .info-row h5{font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--silver-soft); margin-bottom:6px; font-weight:500;}
  .info-row p{color:var(--off-white); font-size:0.96rem;}

  form{display:flex; flex-direction:column; gap:20px;}
  .field label{
    display:block; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--silver-soft); margin-bottom:8px;
  }
  .field input, .field textarea, .field select{
    width:100%; background:transparent; border:none; border-bottom:1px solid var(--line);
    color:var(--off-white); font-family:'Inter',sans-serif; font-size:0.96rem; padding:10px 2px;
    outline:none; transition:border-color .3s ease;
  }
  .field select option{background:var(--navy-deep);}
  .field input:focus, .field textarea:focus, .field select:focus{border-color:var(--gold);}
  .field textarea{resize:vertical; min-height:90px;}
  .submit-btn{
    align-self:flex-start; margin-top:10px; background:var(--gold); color:var(--navy-deep);
    border:none; padding:15px 36px; font-size:0.85rem; letter-spacing:0.06em; font-weight:500; cursor:pointer;
    transition:all .3s ease;
  }
  .submit-btn:hover{background:var(--gold-bright); transform:translateY(-2px);}
  .form-note{font-size:0.78rem; color:var(--silver-soft); margin-top:14px;}

  /* ===== FOOTER ===== */
  footer{border-top:1px solid var(--line); padding:44px 32px;}
  .foot-grid{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; max-width:1120px; margin:0 auto;}
  .foot-brand{display:flex; align-items:center; gap:10px; font-family:'Playfair Display',serif; font-size:0.92rem; color:var(--silver);}
  .foot-brand img{height:22px; width:auto; border-radius:2px;}
  .foot-meta{font-size:0.76rem; color:var(--silver-soft); text-align:right; line-height:1.7;}

  .reveal{opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
    .scroll-cue::after{animation:none;}
  }

  @media (max-width: 860px){
    .nav-links, .nav-cta{display:none;}
    .menu-btn{display:flex;}
    .sobre-grid, .dif-grid, .contato-grid{grid-template-columns:1fr; gap:40px;}
    .areas-grid{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr; gap:36px;}
    .steps::before{display:none;}
    .section-pad{padding:80px 24px;}
    .credentials{gap:24px;}
  }

  .mobile-menu{
    position:fixed; inset:0; background:var(--navy-deep); z-index:105;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:32px;
    transform:translateX(100%); transition:transform .4s ease;
  }
  .mobile-menu.open{transform:translateX(0);}
  .mobile-menu a{font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--off-white);}

/* ===== PÁGINA DE ÁREA (detalhe) ===== */
.area-hero{
  padding:160px 32px 80px;
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%, rgba(166,130,76,0.09), transparent 60%),
    var(--navy-deep);
  border-bottom:1px solid var(--line);
}
.breadcrumb{
  font-size:0.76rem; letter-spacing:0.06em; color:var(--silver-soft); margin-bottom:24px;
}
.breadcrumb a{color:var(--gold-bright); transition:opacity .2s;}
.breadcrumb a:hover{opacity:0.75;}
.area-hero h1{font-size:clamp(2rem, 4vw, 2.9rem); max-width:760px; line-height:1.15;}
.area-hero .lead{color:var(--silver); max-width:620px; margin-top:18px; font-size:1.05rem;}

.area-body{padding:90px 32px; max-width:820px; margin:0 auto;}
.area-body h2{font-size:1.5rem; margin:48px 0 18px;}
.area-body h2:first-child{margin-top:0;}
.area-body p{color:var(--silver); font-size:1rem; margin-bottom:16px;}
.area-body ul{margin:0 0 20px 0; list-style:none;}
.area-body ul li{
  color:var(--silver); font-size:0.98rem; padding:10px 0 10px 28px; position:relative;
  border-bottom:1px solid var(--line);
}
.area-body ul li::before{
  content:'—'; position:absolute; left:0; color:var(--gold);
}
.legal-box{
  background:var(--navy-1); border:1px solid var(--line); border-left:2px solid var(--gold);
  padding:26px 30px; margin:28px 0;
}
.legal-box h3{font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:12px; font-family:'Inter',sans-serif; font-weight:600;}
.legal-box p{font-size:0.92rem; color:var(--silver); margin-bottom:8px;}
.legal-box p:last-child{margin-bottom:0;}

.area-cta{
  background:var(--navy-1); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:70px 32px; text-align:center;
}
.area-cta h2{font-size:1.6rem; margin-bottom:14px;}
.area-cta p{color:var(--silver); margin-bottom:30px; max-width:480px; margin-left:auto; margin-right:auto;}

.related{padding:70px 32px 40px; max-width:1120px; margin:0 auto;}
.related h3{font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--silver-soft); margin-bottom:24px; font-family:'Inter',sans-serif; font-weight:600;}
.related-links{display:flex; gap:14px; flex-wrap:wrap;}
.related-links a{
  border:1px solid var(--line); padding:10px 20px; font-size:0.85rem; color:var(--silver);
  transition:all .25s ease;
}
.related-links a:hover{border-color:var(--gold); color:var(--off-white);}

.area-card-link{display:block; color:inherit; text-decoration:none;}
.area-card{cursor:pointer;}
.area-card-link:hover .area-card{background:var(--navy-1); transform:translateY(-2px);}
.area-card-link:hover .area-num{color:var(--gold-bright);}

