/* =========================================================
   Salvadori Arquitetura — estilos
   Design base: Figma 1728px · Josefin Sans + Exo 2
   ========================================================= */
:root{
  --bg:#F2EFE9;
  --tan:#D4C8B7;
  --ink:#000;
  --light:#F3F1EB;
  --muted:rgba(0,0,0,.28);
  --f-title:'Josefin Sans',system-ui,sans-serif;
  --f-body:'Exo 2',system-ui,sans-serif;
  --pad:clamp(20px,7.9vw,136px);           /* margem lateral (136px @1728) */
  --h1:clamp(40px,4.35vw,75px);
  --h2:clamp(30px,3.47vw,60px);
  --body:clamp(15px,1.16vw,20px);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:var(--body);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2{font-family:var(--f-title);font-weight:700;line-height:1.24;letter-spacing:.01em}
h2{font-size:var(--h2)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
::selection{background:var(--ink);color:var(--light)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:66px;padding:0 40px;min-width:min(412px,100%);
  font-family:var(--f-body);font-size:var(--body);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--ink);transition:background .35s,color .35s}
.btn--dark{background:var(--ink);color:var(--light)}
.btn--dark:hover{background:transparent;color:var(--ink)}
.btn--line{background:transparent}
.btn--line:hover{background:var(--ink);color:var(--light)}
.btn--wide{min-width:min(602px,100%)}

/* Linhas vazadas (ícone vazado) */
.hollow{position:absolute;color:rgba(0,0,0,.28);pointer-events:none;z-index:0;width:82vw;height:auto;aspect-ratio:1426/802}

/* Reveal ao rolar */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

/* ================= HEADER / MENU ================= */
.header{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:center;
  padding:28px clamp(20px,5.7vw,98px);color:var(--light);transition:background .4s,color .4s,padding .4s}
.header__logo{display:flex;gap:.35em;align-items:baseline;font-size:clamp(17px,1.5vw,26px);letter-spacing:.02em;line-height:1}
.header__logo strong{font-weight:600}
.header__logo span{font-weight:300}
.header__menu{font-family:var(--f-title);font-size:clamp(14px,1.16vw,20px);letter-spacing:.08em}
.header.is-solid{background:rgba(242,239,233,.94);backdrop-filter:blur(8px);color:var(--ink);padding-top:18px;padding-bottom:18px}

.menu{position:fixed;inset:0;z-index:60;background:var(--ink);color:var(--light);display:flex;flex-direction:column;justify-content:center;
  padding:var(--pad);clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease);visibility:hidden}
.menu.is-open{clip-path:inset(0);visibility:visible}
.menu ul{display:grid;gap:.1em}
.menu a{font-family:var(--f-title);font-weight:700;text-transform:uppercase;font-size:clamp(34px,5vw,84px);line-height:1.15;display:inline-block;transition:opacity .3s,transform .4s var(--ease)}
.menu ul:hover a{opacity:.35}
.menu ul a:hover{opacity:1;transform:translateX(12px)}
.menu__close{position:absolute;top:28px;right:clamp(20px,5.7vw,98px);font-family:var(--f-title);letter-spacing:.08em}
.menu__foot{margin-top:48px;opacity:.6;letter-spacing:.04em}

/* ================= HERO ================= */
.hero{position:relative;height:min(100svh,56vw);min-height:560px;color:var(--light);overflow:hidden;background:#3a2c1f}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:30% 50%;transform:scale(1.08);animation:heroIn 2.4s var(--ease) forwards}
@keyframes heroIn{to{transform:scale(1)}}
.hero__text{position:absolute;right:clamp(20px,6.5vw,116px);top:50%;transform:translateY(-58%);text-align:right}
.hero h1{font-size:var(--h1);line-height:1.08;display:grid}
.hero h1 span:last-child{padding-left:1.4em}
.hero p{margin-top:.9em;display:grid;font-size:clamp(17px,1.85vw,32px);line-height:1.5;text-transform:uppercase;letter-spacing:.04em}
.hero p span:first-child{padding-right:.5em}
.hero h1 span,.hero p span{opacity:0;transform:translateY(30px);animation:up 1.2s var(--ease) forwards}
.hero h1 span:nth-child(2){animation-delay:.15s}
.hero p span:nth-child(1){animation-delay:.35s}
.hero p span:nth-child(2){animation-delay:.5s}
@keyframes up{to{opacity:1;transform:none}}

/* ================= MANIFESTO ================= */
.manifesto{text-align:center;padding:clamp(56px,4.7vw,80px) var(--pad) clamp(56px,5vw,86px)}
.manifesto__lead{text-transform:uppercase;letter-spacing:.06em;font-size:clamp(16px,1.56vw,27px)}
.manifesto__lead strong{font-weight:700}
.manifesto__words{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.6vw,28px);margin:clamp(20px,2.2vw,38px) auto 0;max-width:1000px;
  text-transform:uppercase;letter-spacing:.06em;font-size:clamp(14px,1.56vw,27px)}
.manifesto__words i{flex:1;max-width:246px;height:1px;background:var(--ink)}
.manifesto__cta{display:flex;flex-wrap:wrap;gap:27px;justify-content:center;margin-top:clamp(40px,4.5vw,78px)}

/* ================= ESSÊNCIA ================= */
.essencia{padding:0 clamp(16px,8.9vw,154px)}
.essencia__banner{position:relative;min-height:clamp(260px,23.7vw,409px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(16px,2.2vw,38px);
  padding:clamp(32px,4vw,70px) clamp(24px,7.3vw,126px);color:var(--light);overflow:hidden}
.essencia__banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;filter:brightness(.62) saturate(.85)}
.essencia__banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(40,28,16,.55),rgba(40,28,16,.1))}
.essencia h2{line-height:1.24}
.essencia h2 span{padding-left:.4em}
.essencia__line{display:block;height:1px;background:var(--light);opacity:.9}
.essencia__banner p{max-width:316px;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(13px,1.16vw,20px)}

/* ================= ADRIANA ================= */
.adriana{position:relative;display:grid;grid-template-columns:1fr minmax(0,590px);gap:24px 0;padding:clamp(60px,8vw,140px) clamp(20px,9.5vw,164px) clamp(60px,6.5vw,110px) var(--pad)}
.hollow--adriana{left:-14vw;top:clamp(40px,5vw,90px);width:82vw}
.adriana__photo{grid-column:2;position:relative;z-index:1;aspect-ratio:590/699;overflow:hidden}
.adriana__photo img{width:100%;height:100%;object-fit:cover}
.adriana__text{grid-column:1/-1;position:relative;z-index:1;justify-self:end;text-align:right;max-width:760px;margin-top:clamp(20px,3vw,50px)}
.adriana h2{font-size:clamp(30px,2.9vw,50px);line-height:1.5}
.adriana__role{font-weight:500;text-transform:uppercase;font-size:clamp(18px,2vw,35px);letter-spacing:.02em;line-height:1.4}
.adriana__text p:last-child{margin:clamp(18px,1.6vw,28px) 0 0 auto;max-width:678px}

/* ================= MOSAICO ================= */
.mosaico{overflow:hidden;padding:clamp(20px,3vw,40px) 0 0}
.mosaico__grid{--c:18.86vw;display:grid;grid-template-columns:repeat(6,var(--c));grid-template-rows:repeat(2,var(--c));width:calc(var(--c)*6);margin-left:calc(var(--c)*-0.35)}
.m{position:relative;overflow:hidden}
.m--tan{background:var(--tan);color:var(--light);padding:15% 14%}
.m--img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.m--img:hover img{transform:scale(1.06)}
.m b{display:block;font-family:var(--f-title);font-weight:700;font-size:clamp(14px,1.74vw,30px);line-height:1.17}
.m small{display:block;text-transform:uppercase;font-size:clamp(10px,1.16vw,20px);letter-spacing:.02em;margin-top:.3em}
.m--c1{grid-column:1}.m--c2{grid-column:2}.m--c3{grid-column:3}.m--c4{grid-column:4}.m--c5{grid-column:5}.m--c6{grid-column:6}
.m--r1{grid-row:1}.m--r2{grid-row:2}

/* ================= ATUAÇÃO ================= */
.atuacao{position:relative;padding:clamp(60px,9vw,156px) var(--pad) clamp(70px,8vw,140px)}
.atuacao__text{position:relative;z-index:1;max-width:775px}
.atuacao p{margin-top:clamp(14px,1.2vw,20px);text-transform:uppercase;letter-spacing:.04em;line-height:1.7}
.hollow--atuacao{right:-35vw;top:-6vw;width:82vw}

/* ================= SPLIT SCROLL (Arquitetura / Incorporadora) =================
   Metade da tela com imagem fixa (sticky) + revelação em "janela"
   que cresce conforme a seção entra; a outra metade rola com os projetos. */
.split{position:relative;--p:0}
.split__label{display:grid;grid-template-columns:1fr 1fr}
.split__label span{display:flex;align-items:center;justify-content:center;height:clamp(52px,4.4vw,76px);border:1px solid var(--ink);
  font-size:clamp(16px,1.45vw,25px);letter-spacing:.06em;text-transform:uppercase}
.split--media-right .split__label span{grid-column:2}
#incorporadora{margin-top:clamp(90px,10vw,180px)}
.split__grid{display:grid;grid-template-columns:1fr 1fr;align-items:start}
.split__media{position:relative;align-self:stretch;z-index:2}
/* Começa com a imagem ocupando a largura toda; ao rolar ela recua para a metade (--p: 0 → 1) */
.split__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;width:calc(100% * (2 - var(--p)));will-change:width}
.split--media-right .split__sticky{margin-left:calc(-100% * (1 - var(--p)))}
.split__reveal{position:absolute;inset:0;overflow:hidden}
.split__reveal img{width:100%;height:100%;object-fit:cover}
.split__content{position:relative;z-index:1;opacity:clamp(0,(var(--p) - .55) * 2.5,1)}
.split__content{position:relative;z-index:1;padding:calc(75vh + clamp(40px,3.2vw,56px)) clamp(20px,5.6vw,97px) clamp(80px,8vw,140px) clamp(20px,5.6vw,97px);max-width:864px}
.split--media-left .split__content{padding-left:clamp(20px,5.6vw,97px)}
.split__content--right{justify-self:end;text-align:right;padding-right:clamp(20px,5.6vw,97px);padding-left:clamp(20px,10vw,180px)}
.split__content--right .brand{align-items:flex-end;margin-left:auto}

.brand{display:flex;flex-direction:column;width:max-content;line-height:1}
.brand__mark{width:clamp(110px,10.6vw,183px);aspect-ratio:163/88;height:auto;fill:var(--ink);margin-bottom:12px}
.brand strong{font-size:clamp(24px,2.3vw,40px);font-weight:600;letter-spacing:.02em}
.brand span{font-size:clamp(14px,1.3vw,22px);font-weight:300;letter-spacing:.03em;opacity:.55;margin-top:.15em}

.split__intro{margin-top:clamp(24px,2.6vw,46px);max-width:581px}
.split__content--right .split__intro{margin-left:auto}
.bullets{margin-top:clamp(36px,4vw,70px);display:grid;gap:clamp(28px,3.2vw,56px);text-transform:uppercase;font-weight:700}
.bullets li{position:relative}
.bullets li::before{content:"•";margin-right:.6em}

.project{margin-top:clamp(56px,6vw,104px);max-width:531px}
.split__content--right .project{margin-left:auto;max-width:554px}
.project__tag{text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px}
.project__tag b{font-weight:700}
.project__img{overflow:hidden;aspect-ratio:1/1.02}
.project__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.12) translateY(var(--py,0px));transition:transform .2s linear}
.project h3{font-family:var(--f-title);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:var(--body);margin-top:18px;line-height:2.6}
.project p{line-height:1.7}
.project dl{display:flex;flex-wrap:wrap;gap:6px 36px;margin-top:22px;font-weight:700}
.split__content--right .project dl{justify-content:flex-end}
.project dl div{display:flex;gap:.35em}
.project dt,.project dd{font-weight:700}
.dl--stack{flex-direction:column;align-items:flex-end}

/* ================= PROCESSO ================= */
.processo{position:relative;display:grid;grid-template-columns:1fr minmax(0,500px);gap:40px clamp(30px,7vw,120px);padding:clamp(80px,8vw,140px) clamp(20px,13vw,233px) clamp(80px,8vw,140px) clamp(20px,8.1vw,140px)}
.hollow--processo{left:-31vw;top:clamp(260px,29vw,500px);width:82vw}
.processo__head{position:relative;z-index:1}
.processo__head p{margin-top:16px;text-transform:uppercase;letter-spacing:.04em;max-width:732px}
.processo__steps{position:relative;z-index:1;display:grid;gap:clamp(26px,2.3vw,40px)}
.processo__steps span{display:block;font-size:var(--body);line-height:2.6}
.processo__steps h3{font-family:var(--f-body);font-weight:700;text-transform:uppercase;font-size:clamp(22px,2vw,35px);line-height:1.12;margin-bottom:10px}

/* ================= ESBOÇO ================= */
.esboco{padding:clamp(40px,4vw,70px) clamp(16px,12.9vw,223px) clamp(60px,5vw,90px);text-align:center}
.esboco__tag{text-transform:uppercase;letter-spacing:.02em;margin-bottom:clamp(16px,2vw,30px)}
.esboco__tag b{font-weight:700}
.esboco__img{background:var(--bg)}
.esboco__img img,.esboco__video{display:block;width:100%;max-width:1060px;margin:0 auto;mix-blend-mode:multiply;background:transparent}
.esboco__quote{position:relative;max-width:660px;margin:clamp(90px,8vw,150px) auto 0;padding:0 40px;line-height:2.2}
.q{position:absolute;font-family:var(--f-body);font-weight:700;font-size:clamp(90px,11.5vw,200px);line-height:1;color:rgba(0,0,0,.12)}
.q--open{left:-6vw;top:-.35em}
.q--close{right:-6vw;bottom:-.75em}

/* ================= PILARES ================= */
.pilares{padding:clamp(60px,6vw,100px) clamp(16px,2.8vw,49px) clamp(80px,8vw,170px)}
.pilares__head{text-align:center;margin-bottom:clamp(30px,3.5vw,62px)}
.pilares__head p{margin-top:8px;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(13px,1.16vw,20px)}
.pilares__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,.8vw,14px)}
.pilar{position:relative;aspect-ratio:397/905;overflow:hidden;background:#1a1612;color:var(--light)}
.pilar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease),filter .8s;filter:brightness(.92)}
.pilar::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 100%);pointer-events:none}
.pilar:hover img{transform:scale(1.05);filter:brightness(1.02)}
.pilar div{position:absolute;z-index:1;left:10%;right:10%;bottom:9%}
.pilar h3{font-family:var(--f-title);font-weight:700;font-size:clamp(20px,2.08vw,36px);line-height:1.5}
.pilar p{font-size:clamp(11px,.81vw,14px);line-height:1.7;max-width:269px}

/* ================= EXPERIÊNCIA ================= */
.experiencia{position:relative;background:#000;color:var(--light);padding:clamp(80px,11.6vw,200px) 0 clamp(70px,6vw,110px);overflow:hidden}
.hollow--exp{color:rgba(255,255,255,.28);left:56vw;top:clamp(40px,6vw,110px);width:76vw}
.experiencia__head{position:relative;z-index:1;padding:0 clamp(20px,8.8vw,152px)}
.experiencia__head p{margin-top:14px;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(15px,1.56vw,27px);line-height:1.96}
.experiencia__media{position:relative;margin-top:clamp(40px,5vw,90px);aspect-ratio:1728/788;overflow:hidden}
.experiencia__media img,.experiencia__media video{width:100%;height:100%;object-fit:cover;opacity:.75}

.depo{position:relative;display:grid;grid-template-columns:auto minmax(0,394px) auto;align-items:center;justify-content:center;gap:clamp(24px,13vw,226px);margin-top:clamp(60px,6vw,108px);padding:0 20px;text-align:center}
.depo__track{display:grid}
.depo__item{grid-area:1/1;opacity:0;transform:translateX(30px);transition:opacity .7s var(--ease),transform .9s var(--ease);pointer-events:none}
.depo__item.is-active{opacity:1;transform:none;pointer-events:auto}
.depo__q{display:block;font-weight:700;font-size:clamp(120px,17vw,300px);line-height:.62;height:.42em;color:rgba(243,241,235,.35)}
.depo__item p{text-transform:uppercase;letter-spacing:.06em;line-height:2.45}
.depo__item footer{margin-top:clamp(20px,2vw,34px);display:grid;font-size:clamp(17px,1.4vw,24px);text-transform:uppercase;letter-spacing:.06em}
.depo__item footer span{opacity:.4;font-size:.95em}
.depo__nav{width:44px;height:44px;display:grid;place-items:center;color:rgba(255,255,255,.4);transition:color .3s}
.depo__nav:hover{color:#fff}
.depo__nav svg{width:35px;height:35px}

/* ================= CONTATO ================= */
.contato{padding:clamp(70px,6.3vw,110px) clamp(20px,9.5vw,165px) clamp(80px,6vw,120px)}
.contato__head p{max-width:903px;margin-top:4px;text-transform:uppercase;letter-spacing:.04em}
.form{margin-top:clamp(40px,4.5vw,80px);display:grid;gap:clamp(10px,1.1vw,18px)}
.form label{position:relative;display:block;border-bottom:1px solid var(--ink)}
.form label span{position:absolute;left:0;bottom:12px;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(14px,1.16vw,20px);color:rgba(0,0,0,.55);transition:transform .35s var(--ease),font-size .35s;pointer-events:none;transform-origin:left bottom}
.form input,.form select,.form textarea{width:100%;border:0;background:transparent;font:inherit;color:var(--ink);padding:26px 0 8px;outline:none;border-radius:0;-webkit-appearance:none;appearance:none;resize:vertical}
.form textarea{min-height:56px}
.form label:focus-within span,.form label.has-value span{transform:translateY(-30px) scale(.72)}
.form label:focus-within{border-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.form__wide{margin-top:clamp(12px,1.6vw,26px)}
.form__hp{position:absolute;left:-9999px;opacity:0}
.form .btn{margin-top:clamp(40px,5vw,90px);justify-self:start}
.form__status{min-height:1.5em;text-transform:uppercase;letter-spacing:.04em;font-size:.85em}

/* ================= FOOTER (fiel ao Figma: 1728 → vw) ================= */
.footer{--u:calc(100vw/1728);background:#000;color:var(--light);position:relative;overflow:hidden;font-size:max(13px,calc(20*var(--u)));line-height:1.6}
.footer::before{content:"";position:absolute;left:0;right:0;top:calc(87*var(--u));height:1px;background:rgba(255,255,255,.85)}
.footer__vline{position:absolute;left:calc(171*var(--u));top:0;bottom:0;width:1px;background:rgba(255,255,255,.85)}
.footer__main{padding:calc(199*var(--u)) calc(160*var(--u)) calc(110*var(--u)) calc(329*var(--u))}
.footer__logo{font-size:max(24px,calc(40*var(--u)));line-height:1;letter-spacing:.01em;margin:0 0 calc(22*var(--u))}
.footer__logo strong{font-weight:500}
.footer__logo span{font-weight:200;margin-left:.12em}
.footer__desc{max-width:calc(640*var(--u));min-width:min(100%,300px);line-height:1.25}
.footer__cols{display:grid;grid-template-columns:calc(830*var(--u)) 1fr;margin-top:calc(80*var(--u))}
.footer h4{font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:rgba(243,241,235,.5);margin-bottom:calc(8*var(--u));font-size:1em}
.footer__cols p{line-height:1.9}
.footer__cols a:hover{opacity:.6}
.footer__nav{position:relative;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.85);padding:calc(26*var(--u)) calc(190*var(--u)) calc(30*var(--u)) calc(329*var(--u));text-transform:uppercase;font-size:max(13px,calc(27*var(--u)));letter-spacing:.02em}
.footer__nav a{transition:opacity .3s}
.footer__nav a:hover{opacity:.5}

/* ================= RESPONSIVO ================= */
@media (max-width:1100px){
  .processo{grid-template-columns:1fr}
  .adriana{grid-template-columns:1fr minmax(0,460px)}
}
@media (max-width:820px){
  .essencia__banner{grid-template-columns:1fr;text-align:left}
  .essencia__line{width:120px}
  .adriana{grid-template-columns:1fr;padding-top:60px}
  .adriana__photo{grid-column:1;max-width:460px;justify-self:end;width:100%}
  .hollow--adriana{width:140vw;left:-60vw}
  .mosaico__grid{--c:33.4vw;grid-template-columns:repeat(3,var(--c));grid-template-rows:repeat(3,var(--c));width:100%;margin:0}
  .m--c1{display:none}
  .m--c2.m--r1{grid-area:1/1}.m--c4.m--r1{grid-area:1/3}.m--c5.m--r1{grid-area:2/2}.m--c6{display:none}
  .m--c2.m--r2{grid-area:1/2}.m--c3.m--r2{grid-area:2/1}.m--c5.m--r2{grid-area:2/3}
  .hollow--atuacao{right:-70vw;width:140vw;top:20px}

  /* split: no celular vira imagem em destaque + conteúdo empilhado */
  .split__label{grid-template-columns:1fr}
  .split--media-right .split__label span{grid-column:1}
  .split__grid{grid-template-columns:1fr}
  .split__media{order:-1;height:auto}
  .split__sticky{position:relative;height:78svh;width:100%!important;margin-left:0!important}
  .split__content,.split__content--right{padding-top:40px!important;opacity:1!important}
  .split__content,.split__content--right{padding:40px 20px 80px;text-align:left;justify-self:stretch;max-width:none}
  .split__content--right .brand{align-items:flex-start;margin-left:0}
  .split__content--right .split__intro,.split__content--right .project{margin-left:0}
  .split__content--right .project dl{justify-content:flex-start}
  .dl--stack{align-items:flex-start}
  .project{max-width:none}

  .processo{padding:70px 20px}
  .hollow--processo{width:150vw;left:-50vw}
  .q--open{left:-12px}.q--close{right:-12px}
  .pilares__grid{grid-template-columns:repeat(2,1fr)}
  .pilar{aspect-ratio:397/700}
  .depo{grid-template-columns:auto 1fr auto;gap:8px}
  .footer__vline{left:16px}
  .footer::before{top:40px}
  .footer__main{padding:80px 20px 50px 40px}
  .footer__cols{grid-template-columns:1fr;gap:24px;margin-top:36px}
  .footer__nav{flex-wrap:wrap;gap:10px 22px;justify-content:flex-start;padding:20px 20px 24px 40px}
  .btn{min-width:0;width:100%}
  .manifesto__cta{flex-direction:column;align-items:stretch}
}
@media (max-width:520px){
  .hero{height:88svh}
  .hero__text{left:20px;right:20px}
  .hero h1 span:last-child{padding-left:0}
  .manifesto__words{gap:8px}
  .manifesto__words i{min-width:16px}
  .pilares__grid{grid-template-columns:1fr}
  .pilar{aspect-ratio:4/5}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.hero h1 span,.hero p span{opacity:1;transform:none}
  .split{--p:1!important}
}
