/* Concepto: la sobriedad del logo. Verde bosque profundo, línea blanca fina,
   caja alta muy espaciada (como el wordmark) y un serif ligero para los titulares.
   Un único acento latón, usado en filetes y detalles. */
:root{
  --bosque:#0e2c13;
  --bosque-2:#15391c;
  --marfil:#f1eee5;
  --piedra:#dcd7c7;
  --laton:#b9a56b;
  --tinta:#16231a;
  --suave:rgba(22,35,26,.66);
  --serif:'Cormorant Garamond','Times New Roman',serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --pad:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--marfil);color:var(--tinta);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit}
::selection{background:var(--bosque);color:var(--marfil)}
:focus-visible{outline:2px solid var(--laton);outline-offset:4px}

.caps{font-family:var(--sans);font-weight:400;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase}
.serif{font-family:var(--serif);font-weight:300;letter-spacing:-.01em;line-height:1.02;text-wrap:balance}
.serif em{font-style:italic;font-weight:300}
.rule{height:1px;background:currentColor;opacity:.25;border:0}

/* barra */

/* portada */
.hero{position:relative;min-height:min(92vh,920px);color:#fff;display:flex;align-items:flex-end;background:var(--bosque)}
.hero>img{position:absolute;inset:0;opacity:.62}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,44,19,.78) 0%,rgba(14,44,19,.15) 38%,rgba(14,44,19,.9) 100%)}
.hero-in{position:relative;z-index:2;width:100%;padding:150px var(--pad) 44px}
.hero .caps{color:var(--laton);display:block;margin-bottom:26px}
.hero h1{font-size:clamp(3rem,8.4vw,8.2rem);max-width:13ch}
.hero-foot{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-top:60px;padding-top:26px;border-top:1px solid rgba(255,255,255,.28)}
.hero-foot p{max-width:40ch;font-size:1.02rem;opacity:.88}
.hero-facts{display:flex;gap:44px}
.hero-facts div b{display:block;font-family:var(--serif);font-weight:300;font-size:2.4rem;line-height:1}
.hero-facts div span{display:block;margin-top:8px;opacity:.7}

.btn{display:inline-block;padding:17px 34px;border:1px solid currentColor;text-decoration:none;font-weight:400;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;transition:background .3s,color .3s,border-color .3s}
.btn:hover{background:var(--marfil);color:var(--bosque);border-color:var(--marfil)}
.btn.dark{color:var(--bosque)}
.btn.dark:hover{background:var(--bosque);color:var(--marfil);border-color:var(--bosque)}

/* secciones */
.sec{padding:clamp(80px,11vw,170px) var(--pad)}
.head{display:flex;align-items:baseline;gap:22px;margin-bottom:clamp(34px,5vw,70px)}
.head .caps{color:var(--laton);white-space:nowrap}
.head::after{content:"";flex:1;height:1px;background:currentColor;opacity:.2}

/* espacio */
.intro{display:grid;grid-template-columns:6fr 5fr;gap:clamp(40px,8vw,130px);align-items:center}
.intro h2{font-size:clamp(2.8rem,6vw,6rem);margin-bottom:34px}
.intro p{max-width:46ch;color:var(--suave);font-size:1.06rem}
.intro p+p{margin-top:1.1em}
.intro .btn{margin-top:42px}
.intro figure{aspect-ratio:4/5;position:relative}
.intro figure::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--laton);z-index:-1}

/* razones */
.rz-top{display:grid;grid-template-columns:6fr 5fr;gap:clamp(30px,6vw,100px);align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.rz-top h2{font-size:clamp(2.6rem,5.4vw,5.4rem)}
.rz-top p{color:var(--suave);max-width:44ch}
.cmp>div{display:grid;grid-template-columns:1.1fr 2fr 2.4fr;gap:clamp(16px,3vw,48px);padding:24px 0;border-top:1px solid rgba(22,35,26,.2);align-items:baseline}
.cmp>div:last-child{border-bottom:1px solid rgba(22,35,26,.2)}
.cmp .cmp-h{padding:0 0 14px;border-top:0}
.cmp b{color:var(--laton)}
.cmp span{color:var(--suave)}
.cmp span.on{color:var(--tinta);font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.2}
.cmp .cmp-h span.on{font-family:var(--sans);font-size:.72rem;color:var(--bosque);font-weight:500}
.rz-cta{margin-top:38px;font-family:var(--serif);font-size:1.6rem;font-weight:300}
.rz-cta a{border-bottom:1px solid var(--laton);text-decoration:none}

/* pasos */
.pasos{background:var(--piedra)}
.ps{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,8vw,130px)}
.ps h2{font-size:clamp(2.6rem,5.4vw,5.4rem)}
.ps ol{list-style:none;border-top:1px solid rgba(22,35,26,.25)}
.ps li{padding:28px 0;border-bottom:1px solid rgba(22,35,26,.25)}
.ps h3{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.1;margin-bottom:8px}
.ps p{color:var(--suave);max-width:44ch}

/* servicios */
.serv{background:var(--bosque);color:var(--marfil)}
.serv-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,8vw,130px)}
.serv h2{font-size:clamp(2.8rem,6vw,6rem);margin-bottom:34px}
.serv-pic{position:sticky;top:100px;align-self:start}
.serv-pic .im{aspect-ratio:3/4;max-height:70vh;margin-top:34px}
.serv ul{list-style:none;border-top:1px solid rgba(241,238,229,.2)}
.serv li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;padding:30px 0;border-bottom:1px solid rgba(241,238,229,.2)}
.serv h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,2.8vw,2.5rem);line-height:1.1}
.serv li .caps{color:var(--laton);padding-top:10px;text-align:right;font-size:.66rem}
.serv li p{grid-column:1 / -1;opacity:.72;max-width:52ch}
.serv .more{margin-top:26px;opacity:.6}

/* eventos */
.ev-top{display:grid;grid-template-columns:6fr 5fr;gap:clamp(30px,6vw,100px);align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.ev-top h2{font-size:clamp(2.8rem,6vw,6rem)}
.ev-top p{color:var(--suave);max-width:40ch}
.evs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,36px)}
.ev .ph{aspect-ratio:3/4;overflow:hidden}
.ev .ph img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.ev:hover .ph img{transform:scale(1.05)}
.ev .caps{color:var(--laton);display:block;margin:22px 0 8px}
.ev h3{font-family:var(--serif);font-weight:400;font-size:2.2rem;line-height:1.05;margin-bottom:10px}
.ev p{color:var(--suave);max-width:32ch}

/* galeria */
.gal{background:var(--piedra)}
.gal-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(120px,15vw,220px);gap:clamp(8px,1.2vw,16px)}
.gal-grid button{border:0;padding:0;background:none;overflow:hidden;cursor:zoom-in}
.gal-grid img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.gal-grid button:hover img{transform:scale(1.04)}
.g1{grid-column:1 / 8;grid-row:span 3}
.g2{grid-column:8 / 13;grid-row:span 2}
.g3{grid-column:8 / 13;grid-row:span 1}
.g4{grid-column:1 / 5;grid-row:span 2}
.g5{grid-column:5 / 9;grid-row:span 2}
.g6{grid-column:9 / 13;grid-row:span 2}
.gal-ig{margin-top:30px;display:inline-block;text-decoration:none;border-bottom:1px solid var(--laton);padding-bottom:4px}

/* contacto */
.contacto{background:var(--bosque);color:var(--marfil)}
.c-grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,8vw,130px)}
.contacto h2{font-size:clamp(2.8rem,6vw,6rem);margin-bottom:30px}
.contacto .lead{opacity:.75;max-width:38ch;margin-bottom:44px}
.info{list-style:none;border-top:1px solid rgba(241,238,229,.2)}
.info li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:17px 0;border-bottom:1px solid rgba(241,238,229,.2)}
.info .caps{color:var(--laton);font-size:.66rem}
.info a{text-decoration:none}
.info a:hover{text-decoration:underline;text-underline-offset:5px}
form{display:grid;grid-template-columns:1fr 1fr;gap:34px 28px;padding-top:6px}
form .full{grid-column:1 / -1}
label span{display:block;font-weight:400;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--laton)}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(241,238,229,.4);color:var(--marfil);font:inherit;font-size:1.1rem;padding:10px 0 12px;border-radius:0}
input::placeholder,textarea::placeholder{color:rgba(241,238,229,.4)}
select option{color:#111}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;border-bottom-color:var(--laton)}
input[type=date]{color-scheme:dark}
form button{grid-column:1 / -1;justify-self:start;background:transparent;color:var(--marfil);border:1px solid var(--marfil);padding:18px 38px;font:inherit;font-weight:400;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
form button:hover{background:var(--marfil);color:var(--bosque)}
#ok{display:none;border:1px solid var(--laton);padding:30px;font-family:var(--serif);font-size:1.6rem;line-height:1.25}


.wa{position:fixed;right:20px;bottom:20px;z-index:45;width:52px;height:52px;background:var(--bosque);border:1px solid var(--laton);display:grid;place-items:center;transition:background .3s}
.wa svg{width:24px;height:24px;fill:var(--marfil)}
.wa:hover{background:var(--laton)}
.lb{position:fixed;inset:0;z-index:100;background:rgba(14,44,19,.96);display:none;place-items:center;padding:24px;cursor:zoom-out}
.lb.on{display:grid}
.lb img{width:auto;height:auto;max-height:92vh;max-width:100%}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ev .ph img,.gal-grid img,.bar{transition:none}}

@media(max-width:900px){
  body{font-size:16px}
  .hero{min-height:min(88vh,760px)}
  .hero-facts{gap:28px}
  .intro,.serv-grid,.ev-top,.c-grid,.rz-top,.ps{grid-template-columns:1fr}
  .cmp .cmp-h{display:none}
  .cmp>div{grid-template-columns:1fr;gap:6px}
  .cmp span:not(.on){font-size:.92rem;text-decoration:line-through;text-decoration-color:rgba(22,35,26,.3)}
  .intro figure::after{inset:12px -10px -12px 12px}
  .serv-pic{position:static}
  .serv-pic .im{display:none}
  .evs{grid-template-columns:1fr}
  .ev .ph{aspect-ratio:4/3}
  .gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .gal-grid button{grid-column:auto!important;grid-row:auto!important}
  .g1{grid-column:1 / -1!important;grid-row:span 2!important}
  form{grid-template-columns:1fr}
  .serv li{grid-template-columns:1fr}
  .serv li .caps{text-align:left;padding-top:0;order:2}
}

/* eventos: tarjetas enlazadas */
.evs{grid-template-columns:repeat(4,1fr);row-gap:clamp(30px,4vw,56px)}
a.ev{text-decoration:none;color:inherit;display:block}
a.ev .ph{aspect-ratio:4/5}
a.ev h3{font-size:1.9rem;margin-bottom:0;transition:color .3s}
a.ev:hover h3{color:var(--bosque);text-decoration:underline;text-decoration-color:var(--laton);text-underline-offset:6px}

/* páginas interiores */
.ihero{position:relative;color:#fff;background:var(--bosque);min-height:min(78vh,720px);display:flex;align-items:flex-end}
.ihero>img{position:absolute;inset:0;opacity:.55}
.ihero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,44,19,.8),rgba(14,44,19,.1) 40%,rgba(14,44,19,.92))}
.ihero-in{position:relative;z-index:2;width:100%;padding:150px var(--pad) 54px}
.crumb{display:block;color:var(--laton);margin-bottom:24px}
.crumb a{text-decoration:none;opacity:.85}
.crumb a:hover{opacity:1;text-decoration:underline}
.ihero h1{font-size:clamp(3.2rem,9vw,8.6rem);max-width:12ch}
.ihero .sub{margin-top:26px;max-width:44ch;font-size:1.1rem;opacity:.9}

.lede{display:grid;grid-template-columns:6fr 5fr;gap:clamp(40px,8vw,130px);align-items:start}
.lede h2{font-size:clamp(2.4rem,4.8vw,4.6rem)}
.lede p{color:var(--suave);max-width:48ch}
.lede p+p{margin-top:1.1em}
.lede .btn{margin-top:38px}

.ideas{background:var(--piedra)}
.idea-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(30px,6vw,100px);list-style:none;border-top:1px solid rgba(22,35,26,.25)}
.idea-list li{padding:28px 0;border-bottom:1px solid rgba(22,35,26,.25)}
.idea-list h3{font-family:var(--serif);font-weight:400;font-size:1.9rem;line-height:1.1;margin-bottom:8px}
.idea-list p{color:var(--suave);max-width:44ch}

.svc{background:var(--bosque);color:var(--marfil)}
.svc-head{display:grid;grid-template-columns:6fr 5fr;gap:clamp(30px,6vw,100px);align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.svc-head h2{font-size:clamp(2.4rem,4.8vw,4.6rem)}
.svc-head p{opacity:.72;max-width:40ch}
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,36px)}
.svc-cards article{border-top:1px solid var(--laton);padding-top:22px}
.svc-cards h3{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.1;margin-bottom:10px}
.svc-cards p{opacity:.74}

.cta-band{background:var(--marfil);text-align:center}
.cta-band img{width:46px;height:auto;margin:0 auto 26px;filter:invert(1) brightness(.2) sepia(1) hue-rotate(70deg) saturate(2)}
.cta-band h2{font-size:clamp(2.4rem,5vw,5rem);max-width:18ch;margin:0 auto 24px}
.cta-band p{color:var(--suave);max-width:46ch;margin:0 auto 38px}
.cta-band .row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

.others{background:var(--piedra)}
.others ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 14px}
.others a{display:inline-block;padding:12px 22px;border:1px solid rgba(22,35,26,.35);text-decoration:none;font-family:var(--serif);font-size:1.35rem;transition:background .3s,color .3s}
.others a:hover,.others a[aria-current]{background:var(--bosque);color:var(--marfil);border-color:var(--bosque)}

@media(max-width:900px){
  .evs{grid-template-columns:1fr 1fr}
  a.ev .ph{aspect-ratio:4/5}
  a.ev h3{font-size:1.5rem}
  .lede,.svc-head{grid-template-columns:1fr}
  .idea-list{grid-template-columns:1fr}
  .svc-cards{grid-template-columns:1fr}
  .ihero{min-height:min(70vh,560px)}
}

/* ===== menú ===== */
html{scroll-padding-top:84px}
.bar{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px var(--pad);color:#fff;transition:padding .4s}
.bar::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(14,44,19,.94);opacity:0;transition:opacity .4s;backdrop-filter:blur(10px)}
.bar.solid{padding-top:14px;padding-bottom:14px}
.bar.solid::before,.bar.open-m::before{opacity:1}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;position:relative;z-index:3}
.brand img{width:26px;height:auto}
.brand span{font-weight:400;font-size:1rem;letter-spacing:.45em}
.bar nav{display:flex;align-items:center;gap:clamp(22px,2.8vw,42px);margin-left:auto}
.bar nav>a,.sub-btn{text-decoration:none;color:inherit;opacity:.88;transition:opacity .2s;background:none;border:0;cursor:pointer;padding:6px 0;position:relative}
.bar nav>a::after,.sub-btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--laton);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.bar nav>a:hover,.sub-btn:hover,.has-sub.open .sub-btn{opacity:1}
.bar nav>a:hover::after,.sub-btn:hover::after,.has-sub.open .sub-btn::after{transform:scaleX(1)}
.sub-btn{display:inline-flex;align-items:center;gap:8px;font:inherit}
.chev{transition:transform .3s}
.has-sub.open .chev{transform:rotate(180deg)}
.nav-foot,.sub-m{display:none}
.bar-r{display:flex;align-items:center;gap:26px;position:relative;z-index:3}
.bar-tel{text-decoration:none;font-size:.9rem;letter-spacing:.06em;opacity:.85}
.bar-tel:hover{opacity:1}
.bar-cta{padding:12px 24px;border:1px solid var(--laton);text-decoration:none;transition:background .3s,color .3s}
.bar-cta:hover{background:var(--laton);color:var(--bosque)}
.menu-btn{display:none;background:none;border:0;color:inherit;width:44px;height:44px;cursor:pointer;position:relative}
.menu-btn i{position:absolute;left:10px;right:10px;height:1px;background:currentColor;transition:transform .35s,top .35s}
.menu-btn i:nth-child(1){top:18px}.menu-btn i:nth-child(2){top:26px}
.bar.open-m .menu-btn i:nth-child(1){top:22px;transform:rotate(45deg)}
.bar.open-m .menu-btn i:nth-child(2){top:22px;transform:rotate(-45deg)}

/* desplegable de eventos (escritorio) */
.has-sub{position:static}
.mega{position:fixed;left:0;right:0;top:60px;padding-top:18px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}
.bar.solid .mega{top:52px}
.has-sub.open .mega{visibility:visible;opacity:1;transform:none}
.mega-in{background:var(--bosque);color:var(--marfil);border-top:1px solid var(--laton);box-shadow:0 30px 60px rgba(0,0,0,.35);padding:44px var(--pad);display:grid;grid-template-columns:4fr 8fr;gap:clamp(30px,5vw,80px)}
.mega-lead{font-size:clamp(2rem,3vw,2.8rem);line-height:1.05}
.mega-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,4vw,60px)}
.mega-grid a{display:flex;flex-direction:column;gap:2px;padding:16px 0;border-bottom:1px solid rgba(241,238,229,.16);text-decoration:none;color:inherit;transition:padding .3s}
.mega-grid a:hover{padding-left:12px}
.mega-grid b{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.1}
.mega-grid span{font-size:.82rem;opacity:.6}

/* ===== pie ===== */
.foot{background:var(--bosque);color:var(--marfil);padding:0 var(--pad) 30px}
.foot a{text-decoration:none}
.foot-cta{display:grid;grid-template-columns:7fr 5fr;gap:clamp(30px,6vw,100px);align-items:end;padding:clamp(70px,9vw,130px) 0 clamp(50px,6vw,80px);border-bottom:1px solid rgba(241,238,229,.18)}
.foot-cta h2{font-size:clamp(3rem,7vw,7rem)}
.foot-cta p{opacity:.7;max-width:36ch;margin-bottom:26px}
.foot .btn{display:inline-flex;align-items:center;gap:14px}
.foot .btn:hover{background:var(--marfil);color:var(--bosque)}
.foot-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:clamp(28px,4vw,64px);padding:clamp(44px,5vw,70px) 0}
.foot-brand p{margin-top:22px;opacity:.65;max-width:34ch;font-size:.95rem}
.foot h3{color:var(--laton);margin-bottom:20px}
.foot ul{list-style:none;display:grid;gap:10px}
.foot li a{opacity:.8;transition:opacity .2s,padding .25s}
.foot li a:hover{opacity:1;padding-left:6px}
.foot .hrs{opacity:.6;font-size:.9rem;margin-top:6px}
.foot-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:26px;border-top:1px solid rgba(241,238,229,.18);opacity:.6;font-size:.66rem}
.foot-row a{margin-left:24px}
.foot-row a:first-child{margin-left:0}
.foot-row a:hover{text-decoration:underline}

@media(max-width:1100px){.bar-tel{display:none}}
@media(max-width:900px){
  html{scroll-padding-top:70px}
  .bar{gap:12px}
  .bar-cta{display:none}
  .menu-btn{display:block}
  .bar nav{display:none;position:fixed;inset:0;z-index:2;background:var(--bosque);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin:0;padding:104px var(--pad) 28px;overflow-y:auto}
  .bar.open-m nav{display:flex}
  .bar nav>a,.sub-btn{font-family:var(--serif);font-weight:300;font-size:2.6rem;letter-spacing:0;text-transform:none;opacity:1;padding:12px 0;border-bottom:1px solid rgba(241,238,229,.14);width:100%;text-align:left;justify-content:space-between;line-height:1.1}
  .bar nav>a::after,.sub-btn::after{display:none}
  .has-sub{display:block}
  .mega{display:none}
  .sub-m{display:grid;max-height:0;overflow:hidden;transition:max-height .45s ease}
  .has-sub.open .sub-m{max-height:520px;padding:10px 0 16px}
  .sub-m a{font-family:var(--sans);font-size:1.05rem;letter-spacing:.02em;text-transform:none;padding:9px 0 9px 4px;color:var(--marfil);opacity:.8;text-decoration:none}
  .nav-foot{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:34px;font-family:var(--sans);font-size:.95rem;letter-spacing:.04em;text-transform:none}
  .nav-foot a{color:var(--laton);text-decoration:none;opacity:1;font-size:.95rem;padding:0;border:0}
  .foot-cta,.foot-cols{grid-template-columns:1fr 1fr}
  .foot-cta{grid-template-columns:1fr}
  .foot-brand{grid-column:1 / -1}
  .foot-row a{margin-left:0;margin-right:18px}
}
@media(max-width:520px){.foot-cols{grid-template-columns:1fr}}
body.lock{overflow:hidden}
.mega{text-transform:none;letter-spacing:0;font-size:1rem;font-weight:300}
.mega-lead{letter-spacing:-.01em}
.mega-grid span{letter-spacing:.01em}
.foot-cols{padding-top:clamp(70px,8vw,110px);border-top:0}

@media(max-width:900px){
  .bar nav{height:100vh;height:100dvh;padding-bottom:max(28px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .chev{width:20px;height:20px}
  .sub-btn{-webkit-tap-highlight-color:transparent}
  .menu-btn{width:48px;height:48px;margin-right:-10px}
  .menu-btn i{left:12px;right:12px}
  .menu-btn i:nth-child(1){top:20px}.menu-btn i:nth-child(2){top:28px}
  .bar.open-m .menu-btn i:nth-child(1),.bar.open-m .menu-btn i:nth-child(2){top:24px}
}

/* contenido premium */
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero-cta .btn.fill{background:var(--marfil);color:var(--bosque);border-color:var(--marfil)}
.hero-cta .btn.fill:hover{background:transparent;color:var(--marfil)}
.hero-cta .btn:hover{background:var(--marfil);color:var(--bosque)}
.hero h1{max-width:15ch}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,44px);margin-top:clamp(50px,7vw,100px);list-style:none}
.pillars li{border-top:1px solid var(--laton);padding-top:18px}
.pillars h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.1;margin-bottom:8px}
.pillars p{color:var(--suave);font-size:.95rem}
.tagline-big{margin-top:clamp(40px,6vw,80px);font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3.6vw,3.2rem);line-height:1.15;max-width:22ch}
a.ev p{color:var(--suave);font-size:.93rem;margin-top:8px;max-width:30ch}
.ev-more{margin-top:clamp(36px,5vw,60px)}
.ps ol{counter-reset:s}
.ps li{counter-increment:s;position:relative;padding-left:64px}
.ps li::before{content:"0" counter(s);position:absolute;left:0;top:30px;font-family:var(--serif);font-size:1.5rem;color:var(--laton)}
.foot .tagline{margin-top:20px;color:var(--laton);font-size:.62rem}
.lede p a,.rz-top p a{border-bottom:1px solid var(--laton);text-decoration:none}
@media(max-width:900px){.pillars{grid-template-columns:1fr 1fr}.ps li{padding-left:52px}}
@media(max-width:520px){.pillars{grid-template-columns:1fr}}

/* datos de portada */
.hero-facts{display:grid;grid-template-columns:repeat(4,auto);gap:12px clamp(24px,3vw,48px)}
.hero-facts div b{text-transform:none;letter-spacing:0;font-size:2.1rem}
.hero-facts div span{font-size:.62rem}
.razones{padding-top:clamp(40px,6vw,90px)}
@media(max-width:900px){.hero-facts{grid-template-columns:repeat(2,auto);justify-content:start}.hero-foot{align-items:start}}
.hero .hero-facts{display:grid;margin-bottom:0;color:#fff}
@media(max-width:900px){.hero .hero-facts{grid-template-columns:repeat(2,auto)}}

/* dirección */
.info .addr-v{display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:right}
.how{font-size:.64rem!important;color:var(--laton);text-decoration:none;border-bottom:1px solid var(--laton);padding-bottom:2px;align-self:flex-end;opacity:1!important;letter-spacing:.3em}
.info .how:hover{text-decoration:none;opacity:.8!important}
.foot .addr{opacity:.85;line-height:1.55}
.foot .addr .how{display:inline-block;margin-top:12px;padding-left:0!important}
.foot li .how:hover{padding-left:0}
@media(max-width:600px){
  .info .addr-row{flex-direction:column;gap:8px}
  .info .addr-v{align-items:flex-start;text-align:left}
  .info .how{align-self:flex-start}
}
