/* ==========================================================
   Cecilia Albelo · Arquitectura
   Paleta hueso / tinta / arena — tomada del logo del estudio
   Tipografía: Italiana (display) + Jost (texto)
   ========================================================== */

:root{
  --bone:      #EFEAE3;
  --paper:     #F8F5F0;
  --paper-2:   #E7E1D8;
  --ink:       #16140F;
  --graphite:  #2B2822;
  --stone:     #7E776B;
  --sand:      #B99B6B;
  --sand-deep: #8E7443;
  --line:      rgba(22,20,15,.14);
  --line-soft: rgba(22,20,15,.08);

  --wrap: 1240px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:88px; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--bone);
  color:var(--graphite);
  font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-weight:300;
  font-size:clamp(15.5px,.55vw + 14px,17px);
  line-height:1.72;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img,video{ max-width:100%; display:block; }
a{ color:inherit; }

h1,h2,h3{ font-family:'Italiana',Georgia,serif; font-weight:400; letter-spacing:.01em; line-height:1.1; margin:0; }

.wrap{ width:min(100% - 44px, var(--wrap)); margin-inline:auto; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ===== monograma CA ===== */
.brand__mark svg{ width:100%; height:100%; display:block; overflow:visible; }
.mono-c,.mono-a{
  font-family:'Italiana',Georgia,'Times New Roman',serif;
  fill:var(--ink);
}
.mono-c{ font-size:104px; }
.mono-a{ font-size:96px; }
.mono-line{ fill:none; stroke:var(--ink); stroke-width:2; opacity:.6; }
.mono-fill{ fill:var(--sand); opacity:.85; }

/* ==========================================================
   NAV
   ========================================================== */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:60;
  transition:background .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{
  background:rgba(239,234,227,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom-color:var(--line);
}
.nav__inner{
  width:min(100% - 44px, 1400px); margin-inline:auto;
  display:flex; align-items:center; gap:24px;
  height:78px;
}

.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; flex:0 0 auto; }
.brand__mark{ width:40px; height:40px; flex:0 0 auto; }
.brand__txt{ display:flex; flex-direction:column; line-height:1; }
.brand__mark{ color:var(--ink); }
.brand__name{ font-family:'Jost',system-ui,sans-serif; font-weight:400; font-size:15px; color:var(--ink); letter-spacing:.24em; text-transform:uppercase; }
.brand__sub{
  font-size:9.5px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--sand-deep); margin-top:4px; font-weight:400;
}

.nav__links{ display:flex; gap:26px; margin-left:auto; }
.nav__links a{
  text-decoration:none; font-size:12.5px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--graphite); position:relative; padding:6px 0; opacity:.82;
  transition:opacity .25s;
}
.nav__links a::after{
  content:''; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--sand-deep); transition:width .35s var(--ease);
}
.nav__links a:hover{ opacity:1; }
.nav__links a:hover::after{ width:100%; }
.nav__wa-m{ display:none; }

.nav__side{ display:flex; align-items:center; gap:12px; margin-left:22px; }

.planotgl{
  display:inline-flex; align-items:center; gap:7px;
  background:none; border:1px solid var(--line); border-radius:999px;
  padding:7px 13px; cursor:pointer; color:var(--stone);
  font-family:inherit; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
  transition:all .3s var(--ease);
}
.planotgl svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.4; }
.planotgl:hover{ color:var(--ink); border-color:var(--ink); }
.planotgl[aria-pressed="true"]{ background:var(--ink); color:var(--bone); border-color:var(--ink); }

.nav__wa{
  text-decoration:none; background:var(--ink); color:var(--bone);
  font-size:11.5px; letter-spacing:.18em; text-transform:uppercase;
  padding:12px 22px; border-radius:999px;
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.nav__wa:hover{ background:var(--sand-deep); transform:translateY(-1px); }

.burger{ display:none; background:none; border:0; cursor:pointer; width:38px; height:32px; padding:6px; }
.burger span{ display:block; height:1.4px; background:var(--ink); margin:6px 0; transition:transform .35s var(--ease), opacity .25s; }
.burger.is-open span:nth-child(1){ transform:translateY(7.4px) rotate(45deg); }
.burger.is-open span:nth-child(2){ opacity:0; }
.burger.is-open span:nth-child(3){ transform:translateY(-7.4px) rotate(-45deg); }

/* ==========================================================
   HERO
   ========================================================== */
.hero{
  position:relative; min-height:100dvh; display:flex; align-items:center;
  overflow:hidden; background:var(--paper-2);
}
.hero__video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  animation:heroZoom 26s ease-in-out infinite alternate;
}
@keyframes heroZoom{ from{ transform:scale(1.02);} to{ transform:scale(1.11);} }

.hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(239,234,227,.96) 0%, rgba(239,234,227,.86) 32%, rgba(239,234,227,.35) 62%, rgba(239,234,227,.12) 100%),
    linear-gradient(to top, rgba(22,20,15,.28), rgba(22,20,15,0) 45%);
}

/* marco de lámina */
.sheet{ position:absolute; inset:92px 26px 32px; border:1px solid rgba(22,20,15,.18); pointer-events:none; }
.sheet__tick{ position:absolute; width:16px; height:16px; border:0 solid var(--sand-deep); }
.sheet__tick--tl{ top:-1px; left:-1px; border-top-width:2px; border-left-width:2px; }
.sheet__tick--tr{ top:-1px; right:-1px; border-top-width:2px; border-right-width:2px; }
.sheet__tick--bl{ bottom:-1px; left:-1px; border-bottom-width:2px; border-left-width:2px; }
.sheet__tick--br{ bottom:-1px; right:-1px; border-bottom-width:2px; border-right-width:2px; }

.hero__inner{
  position:relative; z-index:3;
  width:min(100% - 88px, var(--wrap)); margin-inline:auto;
  padding:130px 0 220px; max-width:none;
}

/* cota (línea de medida) — eyebrow */
.cota{ display:inline-flex; align-items:center; gap:9px; margin-bottom:26px; }
.cota__cap{ width:1px; height:11px; background:var(--sand-deep); }
.cota__line{ width:34px; height:1px; background:var(--sand-deep); opacity:.7; }
.cota__txt{
  font-size:10.5px; letter-spacing:.32em; text-transform:uppercase; color:var(--sand-deep);
  white-space:nowrap;
}
.cota--sm .cota__line{ width:22px; }

.hero__title{
  font-size:clamp(44px,7.4vw,96px);
  color:var(--ink); max-width:14ch; margin-bottom:26px;
}
.hero__title span{ display:block; }
.hero__title em{ font-style:italic; color:var(--sand-deep); }

.hero__lead{
  max-width:50ch; font-size:clamp(16px,1.05vw + 13px,19px);
  color:var(--graphite); margin:0 0 34px;
}

.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; }

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none; border-radius:999px;
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;
  padding:17px 34px; transition:all .35s var(--ease);
  border:1px solid transparent;
}
.btn--solid{ background:var(--ink); color:var(--bone); }
.btn--solid:hover{ background:var(--sand-deep); transform:translateY(-2px); box-shadow:0 12px 28px rgba(22,20,15,.18); }
.btn--ghost{ border-color:rgba(22,20,15,.35); color:var(--ink); }
.btn--ghost:hover{ border-color:var(--ink); background:rgba(22,20,15,.05); }
.btn--big{ padding:20px 40px; font-size:13px; width:100%; }

/* rótulo de plano */
.rotulo{
  position:absolute; z-index:4; right:22px; bottom:22px;
  display:flex; background:rgba(248,245,240,.9);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(22,20,15,.18); border-right:0; border-bottom:0;
}
.rotulo__cell{
  padding:14px 22px; border-right:1px solid rgba(22,20,15,.14);
  display:flex; flex-direction:column; gap:5px; min-width:150px;
}
.rotulo__cell:last-child{ border-right:0; }
.rotulo__cell span{ font-size:9px; letter-spacing:.28em; text-transform:uppercase; color:var(--stone); }
.rotulo__cell strong{ font-size:13px; font-weight:400; color:var(--ink); letter-spacing:.02em; }

.hero__scroll{
  position:absolute; left:50%; bottom:118px; transform:translateX(-50%); z-index:4;
  width:1px; height:56px; background:rgba(22,20,15,.2); overflow:hidden;
}
.hero__scroll span{
  position:absolute; inset:0; background:var(--sand-deep);
  animation:scrollDrop 2.4s var(--ease) infinite;
}
@keyframes scrollDrop{ 0%{ transform:translateY(-100%);} 60%,100%{ transform:translateY(100%);} }

/* ==========================================================
   SECCIONES
   ========================================================== */
.sec{ padding:clamp(80px,9vw,140px) 0; position:relative; }
.sec--estudio{ background:var(--paper); }
.sec--serv{ background:var(--bone); }
.sec--obras{ background:var(--paper); }
.sec--proceso{ background:var(--ink); color:rgba(239,234,227,.82); }
.sec--faq{ background:var(--bone); }
.sec--cta{ background:var(--paper); padding-bottom:clamp(90px,10vw,150px); }

.shead{ display:flex; align-items:center; gap:18px; margin-bottom:clamp(38px,4.5vw,64px); }
.shead__num{
  font-size:11px; letter-spacing:.28em; color:var(--sand-deep); font-weight:400;
  padding-top:4px;
}
.shead__rule{ width:clamp(40px,7vw,110px); height:1px; background:var(--line); }
.shead__t{ font-size:clamp(30px,3.6vw,50px); color:var(--ink); }
.shead--light .shead__rule{ background:rgba(239,234,227,.22); }
.shead--light .shead__t{ color:var(--bone); }
.shead--light .shead__num{ color:var(--sand); }

.sec__note{ margin:-24px 0 40px; color:var(--stone); font-size:14.5px; }

/* ===== 01 estudio ===== */
.estudio{ display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(34px,5vw,80px); align-items:start; }
.estudio__txt p{ margin:0 0 18px; max-width:56ch; }
.estudio__txt .lead{ font-size:clamp(18px,1.3vw + 14px,22px); color:var(--ink); line-height:1.6; }

.pilares{ list-style:none; margin:38px 0 0; padding:0; display:grid; gap:0; border-top:1px solid var(--line); }
.pilares li{ padding:20px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:44px 1fr; gap:6px 16px; }
.pilares__n{ font-size:10.5px; letter-spacing:.2em; color:var(--sand-deep); padding-top:7px; grid-row:span 2; }
.pilares h3{ font-size:22px; color:var(--ink); }
.pilares p{ margin:0; font-size:15px; color:var(--stone); max-width:48ch; }

.estudio__img{ margin:0; position:relative; }
.estudio__img img{ width:100%; height:clamp(360px,44vw,560px); object-fit:cover; filter:grayscale(.25); }
.estudio__img::before{
  content:''; position:absolute; inset:-14px -14px auto auto; width:120px; height:120px;
  border-top:1px solid var(--sand); border-right:1px solid var(--sand); opacity:.65;
}
.estudio__img figcaption{
  margin-top:14px; font-size:12.5px; letter-spacing:.06em; color:var(--stone);
  padding-left:14px; border-left:1px solid var(--sand);
}

/* ===== 02 servicios ===== */
.servs{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.serv{
  background:var(--bone); padding:clamp(26px,2.6vw,40px);
  transition:background .4s var(--ease); position:relative;
}
.serv:hover{ background:var(--paper); }
.serv--wide{ grid-column:span 2; grid-row:span 2; display:flex; flex-direction:column; }
.serv__ix{
  font-family:'Italiana',Georgia,serif; font-size:30px; color:var(--sand);
  line-height:1; margin-bottom:18px;
}
.serv h3{ font-size:clamp(21px,1.5vw + 14px,27px); color:var(--ink); margin-bottom:12px; }
.serv--wide h3{ font-size:clamp(26px,2.2vw + 14px,38px); }
.serv p{ margin:0; color:var(--stone); font-size:15.5px; max-width:46ch; }
.serv--wide p{ font-size:17px; max-width:52ch; }
.serv ul{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:10px; }
.serv ul li{ position:relative; padding-left:22px; font-size:15px; color:var(--graphite); }
.serv ul li::before{
  content:''; position:absolute; left:0; top:11px; width:10px; height:1px; background:var(--sand-deep);
}

/* ===== 03 obras ===== */
.galeria{
  display:grid; grid-template-columns:repeat(4,1fr);
  grid-auto-rows:clamp(150px,15vw,210px); gap:10px;
}
.gal{ margin:0; position:relative; overflow:hidden; background:var(--paper-2); }
.gal--tall{ grid-row:span 2; }
.gal--wide{ grid-column:span 2; }
.gal img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.9) contrast(1.02); transform:scale(1.01);
  transition:filter .6s var(--ease), transform .8s var(--ease);
}
.gal:hover img,.gal:focus-within img{ filter:grayscale(0); transform:scale(1.06); }
.gal figcaption{
  position:absolute; inset:auto 0 0 0; padding:16px 18px;
  background:linear-gradient(to top, rgba(22,20,15,.86), rgba(22,20,15,0));
  color:var(--bone); display:flex; flex-direction:column; gap:2px;
  opacity:0; transform:translateY(10px); transition:all .45s var(--ease);
}
.gal:hover figcaption,.gal:focus-within figcaption{ opacity:1; transform:none; }
.gal figcaption b{ font-family:'Italiana',Georgia,serif; font-weight:400; font-size:18px; }
.gal figcaption span{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--sand); }

/* ===== 04 proceso ===== */
.proc{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(34px,5vw,76px); align-items:start; }
.proc__list{ list-style:none; margin:0; padding:0; counter-reset:p; }
.proc__list li{
  display:grid; grid-template-columns:60px 1fr; gap:4px 18px;
  padding:26px 0; border-top:1px solid rgba(239,234,227,.16);
}
.proc__list li:last-child{ border-bottom:1px solid rgba(239,234,227,.16); }
.proc__n{ font-size:11px; letter-spacing:.24em; color:var(--sand); padding-top:8px; grid-row:span 2; }
.proc h3{ font-size:clamp(21px,1.6vw + 13px,28px); color:var(--bone); }
.proc p{ margin:6px 0 0; color:rgba(239,234,227,.62); font-size:15.5px; max-width:50ch; }
.proc__img{ margin:0; position:sticky; top:110px; }
.proc__img img{ width:100%; height:clamp(340px,42vw,520px); object-fit:cover; filter:grayscale(1) brightness(.92); }

/* ===== cita ===== */
.cita{ background:var(--sand); color:var(--ink); padding:clamp(56px,7vw,96px) 0; text-align:center; }
.cita p{
  font-family:'Italiana',Georgia,serif; font-size:clamp(24px,3.1vw,42px);
  line-height:1.3; margin:0 auto; max-width:20ch;
}
.cita span{ display:block; margin-top:18px; font-size:11px; letter-spacing:.3em; text-transform:uppercase; opacity:.66; }

/* ===== 05 faq ===== */
.faq{ border-top:1px solid var(--line); max-width:920px; }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{
  cursor:pointer; list-style:none; padding:22px 44px 22px 0; position:relative;
  font-family:'Italiana',Georgia,serif; font-size:clamp(18px,1.2vw + 13px,24px); color:var(--ink);
  transition:color .3s;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after,.faq summary::before{
  content:''; position:absolute; right:6px; top:50%; background:var(--sand-deep);
  transition:transform .35s var(--ease), opacity .3s;
}
.faq summary::before{ width:15px; height:1px; margin-top:-.5px; }
.faq summary::after{ width:1px; height:15px; margin-top:-7.5px; right:13px; }
.faq details[open] summary::after{ transform:rotate(90deg); opacity:0; }
.faq summary:hover{ color:var(--sand-deep); }
.faq details p{ margin:0 0 24px; color:var(--stone); max-width:70ch; padding-right:44px; }

/* ===== contacto ===== */
.cta{
  display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(30px,4vw,64px);
  align-items:center; background:var(--bone); border:1px solid var(--line);
  padding:clamp(32px,4.4vw,62px);
}
.cta h2{ font-size:clamp(26px,2.9vw + 12px,46px); color:var(--ink); margin:18px 0 16px; max-width:20ch; }
.cta p{ margin:0; color:var(--stone); max-width:52ch; }
.cta__box{ display:flex; flex-direction:column; gap:14px; }
.cta__link{
  text-decoration:none; text-align:center; font-size:13.5px; letter-spacing:.08em;
  color:var(--graphite); padding:11px; border-bottom:1px solid var(--line);
  transition:color .3s, border-color .3s;
}
.cta__link:hover{ color:var(--sand-deep); border-color:var(--sand); }
.cta__zona{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--stone); text-align:center; margin-top:4px; }

/* ===== footer ===== */
.foot{ background:var(--ink); color:rgba(239,234,227,.72); padding:clamp(50px,6vw,76px) 0 0; }
.foot__inner{ display:flex; flex-wrap:wrap; gap:32px; justify-content:space-between; align-items:flex-start; padding-bottom:44px; }
.foot__brand{ display:flex; gap:14px; align-items:center; }
.brand__mark--lg{ width:84px; height:90px; }
.foot .brand__mark{ color:var(--bone); }
.foot .mono-c,.foot .mono-a{ fill:var(--bone); }
.foot .mono-line{ stroke:var(--bone); opacity:.4; }
.foot .mono-fill{ fill:var(--sand); }
.foot__brand strong{ display:block; font-family:'Jost',system-ui,sans-serif; font-weight:400; font-size:17px; letter-spacing:.24em; text-transform:uppercase; color:var(--bone); }
.foot__brand span{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--sand); }
.foot__nav{ display:flex; flex-wrap:wrap; gap:18px; }
.foot__nav a,.foot__meta a{ text-decoration:none; font-size:13px; letter-spacing:.06em; transition:color .3s; }
.foot__nav a:hover,.foot__meta a:hover{ color:var(--sand); }
.foot__meta{ display:flex; flex-direction:column; gap:8px; text-align:right; }
.foot__bar{
  border-top:1px solid rgba(239,234,227,.14); padding:20px 0;
  width:min(100% - 44px, var(--wrap)); margin-inline:auto;
  display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;
  font-size:11.5px; letter-spacing:.08em; color:rgba(239,234,227,.5);
}
.foot__bar a{ color:var(--sand); text-decoration:none; }

/* ===== whatsapp flotante ===== */
.wa-float{
  position:fixed; right:20px; bottom:20px; z-index:70;
  opacity:0; visibility:hidden; transform:translateY(14px);
  width:54px; height:54px; border-radius:50%;
  background:var(--ink); display:grid; place-items:center;
  box-shadow:0 10px 26px rgba(22,20,15,.28);
  transition:transform .45s var(--ease), background .3s, opacity .45s var(--ease), visibility .45s;
}
.wa-float svg{ width:26px; height:26px; fill:var(--bone); }
.wa-float.show{ opacity:1; visibility:visible; transform:none; }
.wa-float.show:hover{ transform:scale(1.08); background:var(--sand-deep); }

/* ==========================================================
   MODO PLANO (signature)
   ========================================================== */
.grid-overlay{
  position:fixed; inset:0; z-index:55; pointer-events:none; opacity:0;
  transition:opacity .55s var(--ease);
  background-image:
    linear-gradient(to right, rgba(22,20,15,.16) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(22,20,15,.16) 1px, transparent 1px),
    linear-gradient(to right, rgba(22,20,15,.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(22,20,15,.07) 1px, transparent 1px);
  background-size:96px 96px, 96px 96px, 16px 16px, 16px 16px;
}
body.plano .grid-overlay{ opacity:1; }

body.plano .sec{ box-shadow:inset 0 1px 0 var(--sand), inset 0 -1px 0 var(--sand); }
body.plano img{ filter:grayscale(1) contrast(.92) brightness(1.06) !important; }
body.plano .gal img,body.plano .estudio__img img,body.plano .proc__img img{ outline:1px solid var(--sand-deep); outline-offset:-1px; }
body.plano .serv,body.plano .cta,body.plano .faq details{ outline:1px dashed rgba(142,116,67,.5); outline-offset:-4px; }
body.plano .hero__video{ filter:grayscale(1) brightness(1.12) contrast(.9); }
body.plano .shead__t,body.plano .hero__title{ letter-spacing:.06em; }

.plano-hint{
  position:fixed; z-index:80; right:20px; top:92px;
  background:var(--ink); color:var(--bone);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  padding:10px 16px; border-radius:999px; pointer-events:none;
  opacity:0; transform:translateY(-6px); transition:all .45s var(--ease);
  box-shadow:0 10px 24px rgba(22,20,15,.22);
}
.plano-hint.show{ opacity:1; transform:none; }

/* modo QA (?qa=1): hero de alto fijo para capturas de pagina completa */
.qa .hero{ min-height:820px; }
.qa .hero__video{ animation:none; }

/* ==========================================================
   REVEAL
   ========================================================== */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero__video,.hero__scroll span{ animation:none; }
  html{ scroll-behavior:auto; }
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width:1100px){
  .nav__links{ gap:18px; }
  .nav__links a{ font-size:11.5px; letter-spacing:.1em; }
  .servs{ grid-template-columns:repeat(2,1fr); }
  .serv--wide{ grid-column:span 2; grid-row:auto; }
  .galeria{ grid-template-columns:repeat(3,1fr); }
}

@media (max-width:900px){
  .nav__inner{ height:70px; }
  .nav__links{
    position:fixed; inset:70px 0 auto 0; flex-direction:column; gap:0;
    background:var(--bone); border-bottom:1px solid var(--line);
    padding:8px 22px 26px; transform:translateY(-125%); transition:transform .45s var(--ease);
    box-shadow:0 22px 40px rgba(22,20,15,.14);
  }
  .nav__links.is-open{ transform:none; }
  .nav__links a{ padding:14px 0; border-bottom:1px solid var(--line-soft); font-size:13px; }
  .nav__links a::after{ display:none; }
  .nav__wa-m{ display:block; color:var(--sand-deep); border-bottom:0 !important; }
  .nav__wa{ display:none; }
  .burger{ display:block; }
  .planotgl span{ display:none; }
  .planotgl{ padding:9px 11px; }

  .hero__inner{ width:min(100% - 60px, var(--wrap)); padding:120px 0 190px; }
  .hero__title{ max-width:none; }
  .rotulo{ left:26px; right:26px; }
  .rotulo__cell{ flex:1; min-width:0; padding:11px 14px; }
  .rotulo__cell strong{ font-size:11.5px; }
  .hero__scroll{ display:none; }

  .estudio,.proc,.cta{ grid-template-columns:1fr; }
  .proc__img{ position:static; order:-1; }
  .cta__box{ margin-top:6px; }
}

@media (max-width:768px){
  .servs{ grid-template-columns:1fr; }
  .serv--wide{ grid-column:auto; }
  .galeria{ grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; }
  .gal figcaption{
    opacity:1; transform:none; padding:14px;
    background:linear-gradient(to top, rgba(22,20,15,.92) 0%, rgba(22,20,15,.62) 55%, rgba(22,20,15,0) 100%);
  }
  .gal img{ filter:grayscale(.55); }
  .gal figcaption b{ font-size:15px; }
  .gal figcaption span{ font-size:9.5px; }
  .sec__note{ display:none; }
}

@media (max-width:480px){
  .wrap{ width:min(100% - 32px, var(--wrap)); }
  .hero__inner{ width:min(100% - 52px, var(--wrap)); padding:110px 0 176px; }
  .sheet{ inset:78px 16px 30px; }
  .brand__name{ font-size:12.5px; letter-spacing:.18em; }
  .brand__sub{ font-size:8px; letter-spacing:.26em; }
  .brand__mark{ width:34px; height:34px; }
  .cota__txt{ font-size:9px; letter-spacing:.22em; }
  .cota__line{ width:18px; }
  .hero__cta .btn{ width:100%; }
  .rotulo{ left:16px; right:16px; bottom:30px; }
  .rotulo__cell:nth-child(2){ display:none; }
  .galeria{ grid-template-columns:1fr; grid-auto-rows:200px; }
  .gal--wide,.gal--tall{ grid-column:auto; grid-row:auto; }
  .foot__meta{ text-align:left; }
  .foot__bar{ justify-content:flex-start; }
}
