/* MCL Construtora — base: reset, tipografia, botões, header, seções, footer
   Arquivo compartilhado entre o site institucional e o blog. */

*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  font-family:var(--f-body);
  color:var(--ink);
  background:var(--concrete);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  position:relative;
  overflow-x:hidden;
  max-width:100vw;
}
body::before{
  content:"";position:fixed;inset:0;background-image:var(--noise);
  opacity:.035;pointer-events:none;z-index:1000;mix-blend-mode:multiply;
}
h1,h2,h3,h4{
  font-family:var(--f-display);
  line-height:1.18;
  margin:0 0 .5em 0;
  font-weight:700;
  letter-spacing:-.01em;
}
p{margin:0 0 1em 0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.mono{font-family:var(--f-mono);}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-mono);
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--brass-dark);
  font-weight:500;
  margin-bottom:18px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--brass-dark);display:inline-block;}
.eyebrow.on-dark{color:var(--brass-light);}
.eyebrow.on-dark::before{background:var(--brass-light);}

.btn{
  position:relative;
  display:inline-flex;align-items:center;gap:8px;
  padding:16px 32px;
  font-family:var(--f-body);
  font-size:.98rem;letter-spacing:.01em;text-transform:none;font-weight:700;
  cursor:pointer;border:1.5px solid transparent;border-radius:50px;
  white-space:nowrap;overflow:hidden;isolation:isolate;
  transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, color .3s ease, border-color .3s ease;
}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;
  transform:scaleX(0);transform-origin:left;transition:transform .38s cubic-bezier(.2,.8,.2,1);
}
.btn:hover::before{transform:scaleX(1);}
.btn:active{transform:scale(.97);}
.btn-primary{
  background:linear-gradient(115deg,var(--brass-light),var(--brass));
  color:var(--ink);
  box-shadow:0 10px 26px rgba(20,17,10,.3), 0 0 0 1px rgba(20,17,10,.06) inset;
}
.btn-primary::before{background:var(--ink);}
.btn-primary:hover{color:var(--brass-light);transform:translateY(-2px);box-shadow:0 14px 32px rgba(20,17,10,.4);}
.btn-outline{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.06);}
.btn-outline::before{background:#fff;}
.btn-outline:hover{color:var(--ink);}
.btn-dark{background:var(--ink);color:var(--concrete);border-color:var(--ink);box-shadow:0 10px 26px rgba(20,17,10,.22);}
.btn-dark::before{background:var(--brass);}
.btn-dark:hover{color:var(--ink);border-color:var(--ink);transform:translateY(-2px);box-shadow:0 14px 32px rgba(20,17,10,.3);}

/* ---------- Header ---------- */
header.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:24px;}
.logo img{height:36px;width:auto;}
.logo-mobile-gold{display:none;}
nav.main-nav{display:flex;align-items:center;gap:32px;}
nav.main-nav a{
  position:relative;font-family:var(--f-mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;
  font-weight:500;color:var(--ink-soft);padding-bottom:4px;
}
nav.main-nav a::after{
  content:"";position:absolute;left:50%;right:50%;bottom:0;height:1.5px;background:var(--brass);
  transition:left .28s cubic-bezier(.2,.8,.2,1), right .28s cubic-bezier(.2,.8,.2,1);
}
nav.main-nav a:hover{color:var(--ink);}
nav.main-nav a:hover::after{left:0;right:0;}
.nav-cta{display:flex;align-items:center;gap:14px;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:.2s;}
.header-contact-icons{display:flex;align-items:center;gap:16px;}
.header-contact-icons a{display:inline-flex;color:var(--steel);opacity:.85;transition:opacity .15s, color .15s;}
.header-contact-icons a:hover{opacity:1;color:var(--brass);}
.header-contact-icons svg{width:18px;height:18px;flex:none;}
@media (min-width:761px){
  .header-contact-icons{display:none;}
}

/* ---------- generic section ---------- */
section{padding:110px 0;position:relative;}
section.alt{background:var(--concrete-deep);}
section.grid-tex{
  background-image:
    linear-gradient(var(--line-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
  background-size:46px 46px;
}
.section-head{max-width:700px;margin-bottom:64px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(1.7rem,3.2vw,2.5rem);}
.section-head .lead{color:var(--ink-soft);font-size:1.28rem;font-weight:500;line-height:1.5;max-width:56ch;}
.section-head.center .lead{margin-left:auto;margin-right:auto;}
.lead-box{
  background:var(--ink-soft);color:#ece7d8;
  font-size:1.15rem;font-weight:500;line-height:1.55;max-width:none;
  padding:20px 24px;border-radius:var(--radius);border-left:3px solid var(--brass);
  margin:0 0 28px;
}

/* ---------- reveal system ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);}
.reveal.in-view{opacity:1;transform:translateY(0);}
.stg{transition-delay:calc(var(--i,0) * 90ms);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* blueprint corner-frame for images */
.bp-frame{position:relative;isolation:isolate;}
.bp-frame .corner{
  position:absolute;width:0;height:0;border-color:var(--brass);z-index:2;
  transition:width .5s cubic-bezier(.2,.8,.2,1), height .5s cubic-bezier(.2,.8,.2,1);
}
.bp-frame.in-view .corner{width:26px;height:26px;}
.bp-frame .corner.tl{top:-9px;left:-9px;border-top:2px solid;border-left:2px solid;}
.bp-frame .corner.tr{top:-9px;right:-9px;border-top:2px solid;border-right:2px solid;transition-delay:.08s;}
.bp-frame .corner.bl{bottom:-9px;left:-9px;border-bottom:2px solid;border-left:2px solid;transition-delay:.16s;}
.bp-frame .corner.br{bottom:-9px;right:-9px;border-bottom:2px solid;border-right:2px solid;transition-delay:.24s;}
.bp-frame img{transition:transform .7s cubic-bezier(.2,.8,.2,1), filter .5s ease;}
.bp-frame:hover img{transform:scale(1.035);}
.bp-tag{
  position:absolute;left:16px;bottom:16px;z-index:3;
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(20,23,28,.72);color:var(--brass-light);padding:7px 12px;
}

/* ---------- footer ---------- */
footer{position:relative;overflow:hidden;background:var(--ink);color:#bdb497;padding:70px 0 30px;}
footer::before{content:"";position:absolute;inset:0;background-image:var(--noise);opacity:.05;mix-blend-mode:overlay;}
footer .wrap{position:relative;z-index:1;}
.footer-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:52px;}
.footer-brand img{height:38px;margin-bottom:18px;}
.footer-brand p{max-width:340px;font-size:.9rem;color:#a49d8a;}
.footer-contacts{display:flex;flex-direction:column;gap:14px;font-family:var(--f-mono);}
.footer-contacts a{display:flex;align-items:center;gap:10px;font-size:.82rem;}
.footer-contacts svg{width:14px;height:14px;stroke:var(--brass-light);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);padding-top:26px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-family:var(--f-mono);font-size:.72rem;color:#8b8570;
}
.footer-legal{flex-basis:100%;font-family:var(--f-mono);font-size:.68rem;color:#655f4d;}

/* ---------- whatsapp float ---------- */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.wa-float::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid #25D366;
  opacity:.6;animation:pulseRing 2.6s cubic-bezier(.2,.7,.3,1) infinite;
}
@keyframes pulseRing{0%{transform:scale(.85);opacity:.6;}100%{transform:scale(1.5);opacity:0;}}
.wa-float svg{width:28px;height:28px;fill:#fff;}
.wa-float:hover{transform:scale(1.06);}
@media (prefers-reduced-motion: reduce){ .wa-float::before{animation:none;display:none;} }

/* ---------- responsivo (header e genéricos) ---------- */
@media (max-width:760px){
  .logo-default{display:none;}
  .logo-mobile-gold{display:block;}
  nav.main-nav{display:none;}
  .nav-cta{display:none;}
  .header-contact-icons{display:flex;margin-left:auto;}
  nav.main-nav{
    position:fixed;inset:64px 0 0 0;background:var(--concrete);
    flex-direction:column;align-items:flex-start;padding:32px 26px;
    transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);
    gap:26px;overflow-y:auto;
  }
  nav.main-nav.open{transform:translateX(0);}
  nav.main-nav a{font-size:1rem;}
  .menu-toggle{display:block;}
  .nav-cta .btn{padding:11px 16px;font-size:.72rem;}
  section{padding:72px 0;}
  .btn{white-space:normal;text-align:center;}
}

/* ---------- navegação: página atual e rodapé ---------- */
nav.main-nav a[aria-current="page"]{color:var(--ink);}
nav.main-nav a[aria-current="page"]::after{left:0;right:0;}
.footer-nav{display:flex;flex-direction:column;gap:10px;font-size:.88rem;min-width:150px;}
.footer-nav-title{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-light);margin-bottom:4px;}
.footer-nav a{color:#bdb497;transition:color .15s;}
.footer-nav a:hover{color:#fff;}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;}
.skip-link:focus{left:8px;}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}

/* ---------- card de artigo (usado no blog e no bloco "Do blog" da home) ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 32px;}
.post-card{display:flex;flex-direction:column;background:var(--card);box-shadow:0 1px 0 var(--line);}
.post-card-img{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--ink-2);}
.post-card-img img{width:100%;height:100%;object-fit:cover;}
.post-card-body{display:flex;flex-direction:column;flex:1;padding:22px 22px 24px;}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);margin:0 0 12px;}
.post-meta a{color:var(--brass-dark);font-weight:500;}
.post-meta a:hover{text-decoration:underline;}
.post-card-title{font-family:var(--f-display);font-size:1.18rem;line-height:1.3;margin:0 0 10px;letter-spacing:-.005em;}
.post-card-title a{background:linear-gradient(var(--brass),var(--brass)) 0 100%/0 1.5px no-repeat;transition:background-size .35s cubic-bezier(.2,.8,.2,1);}
.post-card:hover .post-card-title a{background-size:100% 1.5px;}
.post-card-excerpt{color:var(--ink-soft);font-size:.95rem;line-height:1.55;margin:0 0 18px;}
.post-card-more{margin-top:auto;font-family:var(--f-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:500;}
.post-card-more span{display:inline-block;color:var(--brass-dark);transition:transform .25s;}
.post-card:hover .post-card-more span{transform:translateX(4px);}
.draft-pill{align-self:flex-start;margin-top:12px;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;background:#b3261e;color:#fff;padding:4px 8px;}
.home-blog-more{margin-top:48px;text-align:center;}
@media (max-width:980px){ .post-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){ .post-grid{grid-template-columns:1fr;gap:32px;} }
