:root {
  --linho:#F5F0EA; --grafite:#1A1A1A; --areia:#C9B99A;
  --alabastro:#E8E0D5; --terra:#6B5E4E; --camel:#A0917F;
  --font:'Josefin Sans',sans-serif; --serif:'Cormorant Display',serif;
  --max-w:1280px; --pad:2rem; --hh:80px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);font-weight:300;font-size:1rem;line-height:1.75;color:var(--grafite);background:var(--linho);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block} a{color:inherit;text-decoration:none} ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
::selection{background:var(--areia);color:var(--grafite)}

.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad)}
.section-label{display:block;font-size:.68rem;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:var(--camel);margin-bottom:1.25rem}
.accent-line{width:40px;height:.75px;background:var(--areia);margin-block:1.75rem}

.btn{display:inline-block;font-family:var(--font);font-size:.72rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;padding:.9rem 2.2rem;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.btn--primary{background:var(--grafite);color:var(--linho);border:1px solid var(--grafite)}
.btn--primary:hover{background:var(--terra);border-color:var(--terra)}
.btn--outline{background:transparent;color:var(--grafite);border:1px solid var(--grafite)}
.btn--outline:hover{background:var(--grafite);color:var(--linho)}
.btn--ghost{background:transparent;color:var(--grafite);border:none;padding-inline:0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.btn--ghost:hover{text-decoration-color:var(--grafite)}
.btn--form{background:var(--grafite);color:var(--linho);border:1px solid var(--grafite);font-family:var(--font);font-size:.72rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;padding:.9rem 2.2rem;width:100%;cursor:pointer;transition:background .25s}
.btn--form:hover{background:var(--terra)}

.img-wrap{position:relative;width:100%;height:100%;overflow:hidden;cursor:zoom-in}
.img-placeholder{position:absolute;inset:0;background:var(--alabastro);display:flex;align-items:center;justify-content:center}
.img-placeholder__name{font-size:.6rem;letter-spacing:.12em;color:var(--camel);opacity:.55}
.img-fill{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.img-wrap:hover .img-fill{transform:scale(1.03)}

/* Logo — header com mais presença */
.logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px}
.logo__row{display:flex;align-items:flex-end;gap:10px}
.logo__name{font-weight:300;font-size:1.3rem;letter-spacing:.28em;text-transform:uppercase;color:var(--grafite);white-space:nowrap;line-height:1}
.logo__line{height:.75px;width:35px;background:var(--areia);flex-shrink:0;margin-bottom:3px}
.logo__sub{font-weight:100;font-size:.92rem;letter-spacing:.38em;color:var(--grafite);line-height:1}

.header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--hh);background:var(--linho);border-bottom:1px solid transparent;transition:border-color .3s}
.header.scrolled{border-bottom-color:var(--alabastro)}
.header__inner{width:100%;padding-inline:var(--pad);height:100%;display:flex;align-items:center;justify-content:space-between}
.nav__list{display:flex;gap:2.5rem}
.nav__link{font-size:.67rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);transition:color .2s}
.nav__link:hover{color:var(--grafite)}
.menu-toggle{display:none;flex-direction:column;gap:5px;width:26px;height:26px;justify-content:center}
.menu-toggle span{display:block;width:100%;height:.75px;background:var(--grafite);transition:transform .3s,opacity .3s;transform-origin:center}
.menu-toggle.open span:nth-child(1){transform:translateY(5.75px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-5.75px) rotate(-45deg)}

.mobile-nav{position:fixed;top:var(--hh);left:0;right:0;z-index:99;background:var(--linho);border-bottom:1px solid var(--alabastro);padding:2rem var(--pad) 2.5rem;display:flex;flex-direction:column;gap:1.5rem;transform:translateY(-110%);opacity:0;transition:transform .35s ease,opacity .35s ease;pointer-events:none}
.mobile-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}
.mobile-nav__list{display:flex;flex-direction:column;gap:1rem}
.mobile-nav__link{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terra)}
.mobile-nav__link:hover{color:var(--grafite)}
.mobile-nav__wpp{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--grafite);border-bottom:.5px solid var(--areia);padding-bottom:3px;align-self:flex-start}

/* Hero — colunas iguais, sem corte do título */
.hero{padding-top:var(--hh);min-height:100dvh}
.hero__inner{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100dvh - var(--hh))}
.hero__content{display:flex;flex-direction:column;justify-content:center;padding:5rem 4rem 5rem var(--pad)}
.hero__eyebrow{font-size:.65rem;letter-spacing:.30em;text-transform:uppercase;color:var(--camel);margin-bottom:2rem}
.hero__headline{font-size:clamp(2.8rem,4.5vw,5rem);font-weight:200;letter-spacing:.14em;text-transform:uppercase;line-height:1.08;margin-bottom:1.5rem}
.hero__tagline{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--terra);margin-bottom:2.5rem}
.hero__ctas{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.hero__visual{position:relative}
.hero__visual .img-wrap{height:100%;min-height:500px}
/* overlay sutil para integração editorial da imagem — ativo quando foto inserida */
.hero__visual::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(245,240,234,.15) 0%,transparent 50%);pointer-events:none;z-index:2}

/* Monograma — divisor editorial entre Sobre e Processo */
.monograma-div{display:flex;align-items:flex-end;justify-content:center;padding:2.5rem 0;background:var(--linho)}
.monograma-div__a{font-family:var(--serif);font-weight:300;font-size:2.8rem;line-height:1;color:var(--grafite);opacity:.1}
.monograma-div__l{height:.75px;width:26px;background:var(--grafite);opacity:.1;margin-bottom:.42rem;flex-shrink:0}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

.sobre{padding-block:7rem}
.sobre__inner{max-width:720px}
.sobre__heading{font-size:clamp(1.8rem,3vw,3rem);font-weight:200;letter-spacing:.18em;text-transform:uppercase;line-height:1.15}
.sobre__body{font-size:1.05rem;line-height:1.9;color:var(--terra);max-width:44ch}
.sobre__body+.sobre__body{margin-top:1rem}
.sobre__body--accent{color:var(--grafite)}

.processo{padding-block:7rem;background:var(--grafite);color:var(--linho)}
.processo .section-label{color:var(--areia);opacity:.65}
.processo__header{margin-bottom:4rem}
.processo__heading{font-size:clamp(1.8rem,3vw,3rem);font-weight:200;letter-spacing:.18em;text-transform:uppercase;line-height:1.15;color:var(--linho);margin-bottom:1rem}
.processo__sub{font-size:1rem;line-height:1.88;color:var(--camel);max-width:52ch}
.servicos{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:5rem;padding-bottom:5rem;border-bottom:.5px solid rgba(245,240,234,.1)}
.servico{padding-top:1rem;border-top:.5px solid rgba(201,185,154,.25)}
.servico__num{display:block;font-size:.62rem;font-weight:100;letter-spacing:.3em;color:var(--areia);margin-bottom:1.25rem}
.servico__titulo{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--linho);line-height:1.55;margin-bottom:.875rem}
.servico__texto{font-size:.95rem;line-height:1.9;color:rgba(201,185,154,.88)}
.etapas{position:relative}
.etapas__trilha{position:absolute;top:1.1rem;left:0;right:0;height:.5px;background:rgba(201,185,154,.2)}
.etapas__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative;z-index:1}
.etapa{padding-top:1rem}
.etapa__num{display:block;font-size:.62rem;font-weight:100;letter-spacing:.3em;color:var(--areia);margin-bottom:1rem}
.etapa__titulo{font-size:.88rem;letter-spacing:.18em;text-transform:uppercase;color:var(--linho);margin-bottom:.75rem}
.etapa__texto{font-size:.95rem;line-height:1.9;color:rgba(201,185,154,.88)}

.projetos{padding-block:7rem}
.projetos__header{margin-bottom:4rem}
.projetos__heading{font-size:clamp(1.8rem,3vw,3rem);font-weight:200;letter-spacing:.18em;text-transform:uppercase;line-height:1.15;margin-bottom:1rem}
.projetos__sub{font-size:1rem;color:var(--terra);max-width:50ch}
.projeto{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:7rem}
.projeto:last-of-type{margin-bottom:0}
.projeto--reverse{direction:rtl}
.projeto--reverse>*{direction:ltr}
.projeto__galeria{display:grid;grid-template-rows:repeat(3,240px);gap:.75rem}
.projeto__texto{padding-block:2rem}
.projeto__titulo{font-size:clamp(1.5rem,2.5vw,2.4rem);font-weight:200;letter-spacing:.15em;text-transform:uppercase;line-height:1.2}
.projeto__desc{font-size:1rem;line-height:1.9;color:var(--terra);max-width:40ch;margin-bottom:2.5rem}
.projetos.layout-b .projeto--reverse{direction:ltr}

.instagram{padding-block:7rem;background:var(--alabastro)}
.instagram__inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.instagram__heading{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:200;letter-spacing:.18em;text-transform:uppercase;line-height:1.15}
.instagram__body{font-size:1rem;line-height:1.9;color:var(--terra);max-width:38ch;margin-bottom:2.5rem}
.instagram__mockups{display:grid;grid-template-rows:320px 150px;gap:.75rem}
.instagram__mock-principal,.instagram__mock-lado{width:100%;height:100%;overflow:hidden}

.contato{padding-block:7rem}
.contato__inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.contato__heading{font-size:clamp(1.8rem,2.8vw,2.8rem);font-weight:200;letter-spacing:.18em;text-transform:uppercase;line-height:1.15}
.contato__body{font-size:1rem;line-height:1.9;color:var(--terra);max-width:40ch;margin-bottom:2.5rem}
.form{display:flex;flex-direction:column;gap:1.5rem}
.form__row--2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.form__grupo{display:flex;flex-direction:column;gap:.5rem}
.form__label{font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--terra)}
.form__input,.form__select,.form__textarea{font-family:var(--font);font-size:.95rem;font-weight:300;color:var(--grafite);background:transparent;border:none;border-bottom:1px solid rgba(26,26,26,.18);padding:.7rem 0;outline:none;transition:border-color .2s;width:100%}
.form__input::placeholder,.form__textarea::placeholder{color:var(--camel);opacity:.6}
.form__input:focus,.form__select:focus,.form__textarea:focus{border-bottom-color:var(--areia)}
.form__select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:1.5rem}
.form__textarea{resize:none;line-height:1.75}
.form__obs{font-size:.72rem;line-height:1.7;color:var(--camel);margin-top:1rem}

/* Footer — layout editorial premium */
.footer{padding-block:5rem 4rem;background:var(--grafite)}
.footer__inner{display:flex;justify-content:space-between;align-items:flex-start;gap:4rem;padding-bottom:3rem;border-bottom:.5px solid rgba(245,240,234,.08)}
.footer__esquerda{display:flex;flex-direction:column;gap:2.5rem}
.logo--footer .logo__name{font-size:1.6rem;color:var(--linho)}
.logo--footer .logo__sub{font-size:1.08rem;letter-spacing:.38em;color:rgba(245,240,234,.45)}
.logo--footer .logo__line{width:40px;background:rgba(245,240,234,.25)}
.footer__contato{display:flex;flex-direction:column;gap:.55rem}
.footer__info{font-size:.84rem;letter-spacing:.05em;color:rgba(245,240,234,.58);transition:color .2s}
.footer__info:hover{color:var(--linho)}
.footer__regiao{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,240,234,.58);margin-top:.35rem}
.footer__social{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:1.25rem;padding-top:.25rem}
.footer__social-link{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:.5px solid rgba(245,240,234,.12);color:rgba(245,240,234,.58);transition:color .25s,border-color .25s}
.footer__social-link:hover{color:var(--areia);border-color:rgba(201,185,154,.45)}
.footer__bottom{margin-top:2.5rem}
.footer__copy{font-size:.67rem;letter-spacing:.1em;color:rgba(245,240,234,.45)}

.wpp-float{position:fixed;bottom:2rem;right:2rem;z-index:90;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--linho);border:.75px solid var(--areia);color:var(--grafite);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .3s,transform .3s,background .25s,color .25s}
.wpp-float.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.wpp-float:hover{background:var(--grafite);color:var(--linho)}

/* Lightbox */
.lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(26,26,26,.96);align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lightbox__img{max-width:90vw;max-height:88vh;object-fit:contain;display:block;cursor:default}
.lightbox__close{position:absolute;top:1.5rem;right:1.75rem;color:rgba(245,240,234,.65);cursor:pointer;padding:.75rem;transition:color .2s;background:none;border:none;line-height:1}
.lightbox__close:hover{color:var(--linho)}

@media(max-width:1024px){
  .hero__inner{grid-template-columns:1fr}
  .hero__visual{height:55vw;min-height:300px;order:-1}
  .hero__visual .img-wrap{min-height:unset}
  .hero__visual::after{background:linear-gradient(to bottom,rgba(245,240,234,.1) 0%,transparent 40%)}
  .hero__content{padding:3rem var(--pad)}
  .hero{min-height:auto}
  .sobre__inner,.instagram__inner,.contato__inner{grid-template-columns:1fr}
  .servicos{grid-template-columns:1fr 1fr}
  .etapas__grid{grid-template-columns:repeat(2,1fr)}
  .etapas__trilha{display:none}
  .projeto{grid-template-columns:1fr;gap:2rem}
  .projeto--reverse{direction:ltr}
  .projeto__galeria{grid-template-rows:repeat(3,200px)}
  .instagram__mockups{grid-template-rows:260px 120px}
  .footer__inner{flex-direction:column;gap:3rem}
  .footer__social{flex-direction:row;align-items:flex-start;gap:1rem}
}
@media(max-width:768px){
  :root{--pad:1.25rem;--hh:68px}
  .nav{display:none}
  .menu-toggle{display:flex}
  .hero__headline{font-size:clamp(2.2rem,10vw,3.5rem)}
  .hero__ctas{flex-direction:column;align-items:flex-start;gap:1.5rem}
  .hero__visual{height:62vw}
  .servicos{grid-template-columns:1fr}
  .etapas__grid{grid-template-columns:1fr 1fr}
  .projeto__galeria{grid-template-rows:repeat(3,155px)}
  .instagram__mockups{grid-template-rows:210px 100px}
  .form__row--2{grid-template-columns:1fr}
  .wpp-float{bottom:1.25rem;right:1.25rem}
  .monograma-div{padding:1.5rem 0}
}
