/* Rentia — portada moderna. Todo en rem: la rejilla adaptable escala con el ancho. */
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
@media (max-width:1920px){html{font-size:.833333vw}}
@media (max-width:1440px){html{font-size:1.111111vw}}
@media (max-width:1024px){html{font-size:1.5625vw}}
@media (max-width:640px){html{font-size:4.444444vw}}
html.lock{overflow:hidden}
body{background:#fff;color:#111;font-family:'Onest',sans-serif;overflow-x:hidden;line-height:1.4}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul{list-style:none}
img{display:block;max-width:100%}
input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #b15f2c;outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:1rem;top:1rem;z-index:200;background:#0a0a0a;color:#fff;padding:.5rem 1rem;border-radius:.875rem;font-size:.875rem}
.shell{max-width:88rem;margin-inline:auto;padding-inline:1.25rem}
@media (min-width:640px){.shell{padding-inline:2rem}}
.c{text-align:center}
.hide-sm{display:none}
@media (min-width:640px){.hide-sm{display:inline}}

/* Revelados: solo con JS activo */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.16,1,.3,1) var(--d,0ms),transform .8s cubic-bezier(.16,1,.3,1) var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}
.ln{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.ln__in{display:block}
.js .ln__in{transform:translateY(105%);opacity:0;transition:transform .9s cubic-bezier(.215,.61,.355,1) calc(var(--i,0)*120ms + var(--dl,0ms)),opacity .9s cubic-bezier(.215,.61,.355,1) calc(var(--i,0)*120ms + var(--dl,0ms))}
.js .in .ln__in,.js .ln-wrap.in .ln__in,.js .hero__h.in .ln__in{transform:none;opacity:1}
.js .hero__h{--dl:250ms}
.js .rv-h{opacity:0;transform:translateY(-14px);transition:opacity .7s cubic-bezier(.22,1,.36,1) .15s,transform .7s cubic-bezier(.22,1,.36,1) .15s}
.js .ready .rv-h,.js .rv-h.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv,.js .rv-h{opacity:1;transform:none}.js .ln__in{opacity:1;transform:none}}

/* Píldoras y etiquetas */
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:rgba(17,17,17,.7)}
.eyebrow i{width:.375rem;height:.375rem;border-radius:9999px;background:rgba(17,17,17,.5)}
.eyebrow i.acc{background:#b15f2c}
.eyebrow--l{color:rgba(255,255,255,.7)}.eyebrow--l i{background:rgba(255,255,255,.6)}
.eyebrow--b{border:1px solid #e6e5e2;border-radius:9999px;padding:.375rem 1rem}
.pill{display:inline-flex;align-items:center;gap:.75rem;border-radius:9999px;font-size:.875rem;font-weight:500;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.pill:hover{transform:scale(1.04)}
.pill__in{padding:.875rem 1.75rem}
.pill--arrow{padding:.375rem .375rem .375rem 0}
.pill--arrow .pill__in{padding:.5rem 0 .5rem 1.5rem}
.pill__ic{width:2.25rem;height:2.25rem;border-radius:9999px;display:grid;place-items:center;font-size:1rem;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.pill:hover .pill__ic{transform:translate(2px,-2px)}
.pill--dark{background:#0a0a0a;color:#fff}.pill--dark .pill__ic{background:#fff;color:#0a0a0a}
.pill--light{background:#f1f0ee;color:#111}.pill--light .pill__ic{background:#0a0a0a;color:#fff}
.pill--outline{border:1px solid #e6e5e2;background:rgba(255,255,255,.4);color:#111}.pill--outline .pill__ic{background:#0a0a0a;color:#fff}

/* Cargador */
.loader{display:none}
.js .loader{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:#0a0a0a;color:#fff;border-radius:0 0 2rem 2rem;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.loader.out{transform:translateY(-100%)}
.loader__c{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center;transition:opacity .5s,transform .5s}
.loader.out .loader__c{opacity:0;transform:translateY(-12px)}
.loader__brand{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.875rem}
.loader__logo{font-size:1.875rem;color:#cf8047}
.loader__c p{max-width:24ch;font-size:.875rem;color:rgba(255,255,255,.55)}
.loader__p{width:min(22rem,72vw);display:flex;flex-direction:column;gap:.75rem}
.loader__tr{height:1px;background:rgba(255,255,255,.15)}
.loader__fill{height:100%;width:0;background:#cf8047;transition:width .1s ease-out}
.loader__row{display:flex;justify-content:space-between;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.45)}
.loader__row span:last-child{color:rgba(255,255,255,.8);font-variant-numeric:tabular-nums}

/* Cabecera */
.hdr{position:absolute;inset-inline:0;top:0;z-index:50}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1.25rem}
@media (min-width:640px){.hdr__in{padding-block:1.5rem}}
.brand{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;letter-spacing:-.01em;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.brand:hover{transform:scale(1.04)}
.brand__logo{font-size:1.375rem;color:#b15f2c}.brand__logo--g{color:#cf8047}
.hdr__nav{display:none}
@media (min-width:1024px){.hdr__nav{display:block}.hdr__nav ul{display:flex;gap:2rem;font-size:.875rem;font-weight:500}.hdr__nav a{display:inline-block;opacity:.85;transition:transform .3s,opacity .3s}.hdr__nav a:hover{transform:translateY(-2px);opacity:1}}
.hdr__r{display:flex;gap:.75rem;align-items:center}
.clock{display:none;align-items:center;gap:.75rem;border:1px solid rgba(230,229,226,.8);background:rgba(255,255,255,.4);backdrop-filter:blur(4px);border-radius:.875rem;padding:.5rem .75rem;font-size:.75rem;color:rgba(17,17,17,.7)}
@media (min-width:768px){.clock{display:flex}}
.clock__l{color:rgba(17,17,17,.45)}.clock__t{min-width:3.5rem;font-variant-numeric:tabular-nums;font-weight:500;color:#111}.clock__s{color:rgba(17,17,17,.3)}.clock__d{font-weight:500}
.menu-btn{border:1px solid rgba(230,229,226,.8);background:rgba(255,255,255,.4);backdrop-filter:blur(4px);border-radius:.875rem;transition:background .3s}
.menu-btn:hover{background:rgba(255,255,255,.7)}
.menu-btn__in{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.menu-btn__t{display:none}@media (min-width:640px){.menu-btn__t{display:inline}}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;border-radius:0 0 2rem 2rem;background:#c9c9c9;display:flex;flex-direction:column}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__base{position:absolute;inset:0;background:url(/img/hero-a.jpg) center/cover no-repeat,repeating-linear-gradient(135deg,#b9b6b0 0 1rem,#c2bfb9 1rem 2rem)}
.hero__cv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero__vig{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,.35),transparent,rgba(255,255,255,.35))}
.hero__wm{position:absolute;inset-inline:0;bottom:7rem;z-index:1;text-align:center;pointer-events:none;user-select:none;font-weight:700;line-height:1;font-size:13rem;color:rgba(255,255,255,.4);transition:opacity 1.2s .3s,transform 1.2s .3s}
.js .hero__wm{opacity:0;transform:translateY(20px)}.js .ready .hero__wm{opacity:1;transform:none}
.hero__grid{position:relative;z-index:20;display:flex;flex-direction:column;gap:2rem;padding-top:7rem;padding-bottom:5rem}
@media (min-width:1024px){.hero__grid{display:grid;min-height:100vh;grid-template-columns:repeat(12,1fr);gap:2.5rem;padding-top:9rem;padding-bottom:7rem}.hero__l{grid-column:span 7}.hero__r{grid-column:span 5;align-items:flex-end}}
.hero__l{display:flex;flex-direction:column;gap:1.75rem;align-items:flex-start}
.hero__h{max-width:18ch;font-size:2.25rem;font-weight:600;line-height:.98;letter-spacing:-.02em}
@media (min-width:640px){.hero__h{font-size:3rem}}@media (min-width:768px){.hero__h{font-size:5.25rem}}
.hero__p{max-width:34rem;font-size:1.125rem;color:rgba(17,17,17,.7);line-height:1.5}
.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem}
.hero__r{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}
.hcard{width:100%;max-width:24rem;border-radius:1.25rem;background:rgba(255,255,255,.7);padding:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.08),0 0 0 1px rgba(230,229,226,.7);backdrop-filter:blur(12px)}
@media (min-width:1024px){.hcard{max-width:23.75rem}}
.hcard__row{display:flex;gap:.5rem}
.hcard__tile{width:6rem;aspect-ratio:1;display:grid;place-items:center;border-radius:.875rem;background:#0a0a0a;font-size:1.875rem}
.hcard__logo{color:#cf8047}
.hcard__panel{flex:1;border-radius:.875rem;background:rgba(241,240,238,.7);padding:.75rem;display:flex;flex-direction:column;justify-content:space-between;gap:.5rem}
.hcard__slot{min-height:3.25rem;transition:opacity .3s,transform .3s}
.hcard__slot.sw{opacity:0;transform:translateY(8px)}
.hcard__cap{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:rgba(17,17,17,.45)}
.hcard__ttl{max-width:9rem;font-size:.875rem;font-weight:500;line-height:1.35}
.hcard__ft{display:flex;justify-content:space-between;align-items:center}
.hcard__dots{display:flex;gap:.25rem;align-items:center}
.hcard__dots i{height:.25rem;width:.375rem;border-radius:9999px;background:rgba(17,17,17,.2);transition:all .3s}
.hcard__dots i.on{width:1rem;background:rgba(17,17,17,.7)}
.hcard__btns{display:flex;gap:.375rem}
.hcard__btns button{width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:9999px;background:#fff;color:rgba(17,17,17,.7);box-shadow:0 0 0 1px #e6e5e2;font-size:.75rem}
.hcard__btns button:hover{color:#111}.hcard__btns .rot svg{transform:rotate(180deg)}
.search{width:100%;max-width:24rem;border-radius:1.25rem;background:rgba(255,255,255,.85);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 0 0 1px rgba(230,229,226,.7);backdrop-filter:blur(12px)}
@media (min-width:1024px){.search{max-width:23.75rem}}
.search__t{font-size:.8125rem;font-weight:600}
.seg{display:flex;gap:.375rem}
.seg__b{border:1px solid #e6e5e2;border-radius:9999px;padding:.5rem 1rem;font-size:.75rem;font-weight:500;background:#fff}
.seg__b.on{background:#0a0a0a;color:#fff;border-color:#0a0a0a}
.fld{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:500;color:rgba(17,17,17,.6)}
.fld input,.fld select,.mf input,.mf textarea{width:100%;border:1px solid #e6e5e2;background:rgba(241,240,238,.5);border-radius:.875rem;padding:.75rem 1rem;font-size:.875rem;color:#111;outline:none;transition:border-color .2s,background .2s}
.fld input:focus,.fld select:focus,.mf input:focus,.mf textarea:focus{border-color:rgba(17,17,17,.3);background:#fff}
.search__go{background:#b15f2c;color:#fff;border-radius:.875rem;padding:.8125rem;font-size:.875rem;font-weight:600;transition:background .2s}
.search__go:hover{background:#97501f}
.hero__bar{position:relative;z-index:20}
.hero__bar-in{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid rgba(17,17,17,.1);padding-block:1.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;color:rgba(17,17,17,.6)}

/* Nosotros */
.about__in{display:grid;grid-template-columns:1fr;align-items:center;gap:3rem;padding-block:5rem}
@media (min-width:1024px){.about__in{grid-template-columns:1fr 1fr;padding-block:7rem}}
.about__l{position:relative;min-height:14rem;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
@media (min-width:1024px){.about__l{min-height:20rem}}
.about__g{position:absolute;left:-1rem;top:50%;transform:translateY(-50%);width:12rem;height:12rem;color:rgba(17,17,17,.1)}
@media (min-width:640px){.about__g{width:16rem;height:16rem}}@media (min-width:1024px){.about__g{left:-1.5rem;width:20rem;height:20rem}}
.about__l .eyebrow{position:relative}
.about__note{position:relative;max-width:14rem;font-size:.875rem;color:rgba(17,17,17,.7)}
.about__r{display:flex;flex-direction:column;gap:2.5rem}
.about__h{font-size:1.5rem;font-weight:500;line-height:1.35;letter-spacing:-.01em}
@media (min-width:640px){.about__h{font-size:1.875rem}}
.about__h span{color:#8d8d8d}
.about__ft{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem;border-top:1px solid #e6e5e2;padding-top:1.5rem}
.about__lbl{font-size:.875rem;color:rgba(17,17,17,.45);margin-bottom:.5rem}
.soc{display:flex;gap:.5rem}
.soc__a{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:9999px;background:#f1f0ee;color:rgba(17,17,17,.7);font-size:.75rem;font-weight:600;transition:transform .3s}
.soc__a:hover{transform:scale(1.12)}.soc__a--on{background:#b15f2c;color:#fff}

/* Banda */
.band__in{display:flex;flex-direction:column;gap:.75rem;padding-block:2.5rem}
@media (min-width:640px){.band__in{flex-direction:row;gap:1rem}}
.band__in li{flex:1}
.bt{display:grid;place-items:center;height:6rem;border-radius:9999px;font-size:1.875rem;font-weight:500;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.bt:hover{transform:scale(1.03)}
@media (min-width:640px){.bt{height:10rem;font-size:2.25rem}}
.bt--light{background:#f1f0ee}.bt--accent{background:linear-gradient(to bottom right,#cf8047,#97501f);color:#fff}.bt--dark{background:#0a0a0a;color:#fff;font-size:2.25rem}.bt--ghost{background:rgba(241,240,238,.6);color:rgba(17,17,17,.35)}

/* Inmuebles */
.works .shell{padding-top:2.5rem;padding-bottom:5rem}
@media (min-width:1024px){.works .shell{padding-bottom:7rem}}
.sec-h{margin:1.25rem auto 2.5rem;font-size:2.25rem;font-weight:600;letter-spacing:-.02em;width:fit-content}
@media (min-width:640px){.sec-h{font-size:3rem}}
.works__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:768px){.works__grid{grid-template-columns:1fr 1fr}}
.pc-wrap.off{display:none}
.pc{position:relative;min-height:22rem;overflow:hidden;border-radius:2rem;background:#0a0a0a;padding:1.5rem;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.05);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
@media (min-width:640px){.pc{min-height:26rem;padding:2rem}}
.pc:hover{transform:translateY(-8px) scale(1.012)}
.pc__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.pc::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,#17171a 0 .875rem,#1c1c20 .875rem 1.75rem)}
.pc::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(10,10,10,.85),transparent 60%)}
.pc__img{z-index:1}.pc__top{position:relative}.pc__top,.pc__mark,.pc__body{z-index:3}
.pc__top{display:flex;justify-content:space-between;align-items:flex-start;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;color:rgba(255,255,255,.55)}
.pc__badge{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:9999px;background:rgba(255,255,255,.1);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.15);transition:transform .3s}
.pc:hover .pc__badge{transform:rotate(45deg) scale(1.08)}
.pc__mark{position:absolute!important;inset:0;display:grid;place-items:center;pointer-events:none}
.pc__logo{font-size:4.5rem;color:rgba(255,255,255,.14)}
.pc__body{position:absolute!important;inset-inline:1.5rem;bottom:1.5rem}
@media (min-width:640px){.pc__body{inset-inline:2rem;bottom:2rem}}
.pc__body h3{font-size:1.5rem;font-weight:500;letter-spacing:-.01em}
@media (min-width:640px){.pc__body h3{font-size:1.875rem}}
.pc__body p{margin-top:.5rem;font-size:.875rem;color:rgba(255,255,255,.65)}
.tags{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.5rem}
.tag{display:inline-flex;border:1px solid rgba(255,255,255,.25);border-radius:9999px;padding:.5rem 1rem;font-size:.875rem}
.empty{text-align:center;color:rgba(17,17,17,.6);padding:2rem 0}
.works__more{margin-top:2rem}

/* Servicios */
.svcs .shell{padding-block:5rem}
@media (min-width:1024px){.svcs .shell{padding-block:7rem}}
.svcs__h{margin:1.25rem 0 3rem;max-width:16ch;font-size:2.25rem;font-weight:600;letter-spacing:-.02em}
@media (min-width:640px){.svcs__h{margin-bottom:3.5rem;font-size:3rem}}
.svcs__list>li{border-top:1px solid #e6e5e2}.svcs__list>li:first-child{border-top:0}
.svc{display:flex;align-items:center;gap:1rem;border-radius:1.25rem;padding:1.5rem 1.5rem;background:rgba(241,240,238,0);transition:background .35s,padding .35s cubic-bezier(.2,.8,.2,1)}
@media (min-width:640px){.svc{gap:1.5rem;padding-block:2rem}}
.svc:hover,.svc:focus-visible{background:#f1f0ee;padding-left:2rem;padding-right:1.25rem}
.svc__n{width:1.75rem;font-size:.875rem;font-weight:500;color:rgba(17,17,17,.4)}
@media (min-width:640px){.svc__n{width:2.5rem}}
.svc__t{flex:1;font-size:1.5rem;font-weight:500;letter-spacing:-.01em}
@media (min-width:640px){.svc__t{font-size:1.875rem}}@media (min-width:768px){.svc__t{font-size:2.25rem}}
.svc__d{display:none;max-width:20rem;font-size:.875rem;color:rgba(17,17,17,.55)}
@media (min-width:1024px){.svc__d{display:block}}
.svc__ic{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:9999px;background:#0a0a0a;color:#fff;transition:transform .3s}
@media (min-width:640px){.svc__ic{width:3rem;height:3rem}}
.svc:hover .svc__ic{transform:translateX(5px)}

/* Cifras */
.stats-sec .shell{padding-bottom:5rem}
.stats{border-radius:2rem;background:#0a0a0a;color:#fff;padding:3rem 1.5rem}
@media (min-width:640px){.stats{padding:4rem 2rem}}@media (min-width:768px){.stats{padding-inline:4rem}}
.stats__h{margin-top:1rem;max-width:20ch;font-size:1.875rem;font-weight:500;letter-spacing:-.01em}
@media (min-width:768px){.stats__h{font-size:2.25rem}}
.stats__grid{margin-top:3.5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:3rem 2rem}
@media (min-width:1024px){.stats__grid{grid-template-columns:repeat(4,1fr)}}
.stats__n{font-size:3rem;font-weight:600;letter-spacing:-.02em}
@media (min-width:640px){.stats__n{font-size:3.75rem}}@media (min-width:768px){.stats__n{font-size:4.5rem}}
.stats__l{margin-top:.75rem;font-size:.875rem;color:rgba(255,255,255,.55)}

/* Pie */
.ftr{position:relative;overflow:hidden;border-radius:2rem 2rem 0 0;background:#0a0a0a;color:#fff}
.ftr__in{position:relative;z-index:10;padding-top:5rem;padding-bottom:2.5rem}
@media (min-width:1024px){.ftr__in{padding-top:6rem}}
.ftr__cta{display:flex;flex-direction:column;gap:2rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:4rem}
@media (min-width:1024px){.ftr__cta{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.ftr__h{max-width:24ch;font-size:2.25rem;font-weight:600;letter-spacing:-.02em}
@media (min-width:640px){.ftr__h{font-size:3rem}}@media (min-width:768px){.ftr__h{font-size:3.75rem}}
.ftr__cols{display:grid;grid-template-columns:1fr;gap:3rem;padding-block:4rem}
@media (min-width:768px){.ftr__cols{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.ftr__cols{grid-template-columns:repeat(4,1fr)}}
.ftr__brand{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600}
.ftr__tag{margin-top:.75rem;max-width:20rem;font-size:.875rem;color:rgba(255,255,255,.55)}
.ftr__cols h3{font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.025em;color:rgba(255,255,255,.4);margin-bottom:1rem}
.ftr__cols li{margin-bottom:.625rem;font-size:.875rem}
.ftr__cols li a{display:inline-block;opacity:.65;transition:transform .3s,opacity .3s}.ftr__cols li a:hover{transform:translateX(4px);opacity:1}
.ftr__legal{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;font-size:.75rem;color:rgba(255,255,255,.45)}
.ftr__wm{position:absolute;inset-inline:0;bottom:-1.5rem;z-index:0;text-align:center;pointer-events:none;user-select:none;font-weight:700;line-height:1;font-size:13rem;color:rgba(255,255,255,.05)}

/* Menú a pantalla completa */
.ovl{position:fixed;inset:0;z-index:115;display:flex;flex-direction:column;background:#0a0a0a;color:#fff;opacity:0;transition:opacity .3s}
.ovl.open{opacity:1}
.ovl__top{display:flex;align-items:center;justify-content:space-between;padding-block:1.25rem}
@media (min-width:640px){.ovl__top{padding-block:1.5rem}}
.ovl__x{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.15);border-radius:.875rem;padding:.5rem 1rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.7)}
.ovl__x:hover{border-color:rgba(255,255,255,.4);color:#fff}
.ovl__nav{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%}
.ovl__nav ul{display:flex;flex-direction:column;gap:.25rem}
.ovl__a{display:flex;align-items:baseline;gap:1rem;padding-block:.5rem;font-size:2.25rem;font-weight:600;letter-spacing:-.02em;opacity:0;transform:translateY(1rem);transition:opacity .5s ease-out calc(var(--i)*45ms + 80ms),transform .5s ease-out calc(var(--i)*45ms + 80ms)}
@media (min-width:640px){.ovl__a{font-size:3.75rem}}
.ovl.open .ovl__a{opacity:1;transform:none}
.ovl__n{font-size:1rem;font-weight:400;color:rgba(255,255,255,.3);transition:color .3s}
.ovl__t{color:rgba(255,255,255,.7);transition:color .3s}
.ovl__a:hover .ovl__n{color:#cf8047}.ovl__a:hover .ovl__t{color:#fff}
.ovl__bot{display:flex;flex-direction:column;gap:.75rem;border-top:1px solid rgba(255,255,255,.1);padding-block:1.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;color:rgba(255,255,255,.45);width:100%}
@media (min-width:640px){.ovl__bot{flex-direction:row;justify-content:space-between}}
.ovl__cta{text-align:left;color:rgba(255,255,255,.7);font-size:.75rem;text-transform:uppercase;letter-spacing:.025em}.ovl__cta:hover{color:#fff;text-decoration:underline}

/* Formulario */
.mdl{position:fixed;inset:0;z-index:110;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:rgba(17,17,17,.3);backdrop-filter:blur(16px);opacity:0;transition:opacity .3s}
@media (min-width:640px){.mdl{align-items:center}}
.mdl.open{opacity:1}
.mdl__p{position:relative;width:100%;max-width:32rem;max-height:92vh;overflow:auto;border-radius:2rem;background:#fff;padding:1.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 0 1px #e6e5e2;transform:translateY(28px);transition:transform .4s cubic-bezier(.22,1,.36,1)}
@media (min-width:640px){.mdl__p{padding:2rem}}
.mdl.open .mdl__p{transform:none}
.mdl__x{position:absolute;right:1rem;top:1rem;width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:9999px;background:#f1f0ee;color:rgba(17,17,17,.6)}
.mdl__x:hover{background:#e3e2df;color:#111}
.mdl__hd{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.375rem;padding-right:2.5rem}
.mdl__hd h2{font-size:1.5rem;font-weight:600;letter-spacing:-.01em}
@media (min-width:640px){.mdl__hd h2{font-size:1.875rem}}
#cfForm{display:flex;flex-direction:column;gap:1rem}
.mf{display:flex;flex-direction:column;gap:.375rem}
.mf span{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;color:rgba(17,17,17,.5)}
.mf textarea{resize:none}
.mdl__err{font-size:.8125rem;color:#b42318}
.mdl__ft{margin-top:.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.mdl__ft>span{font-size:.75rem;color:rgba(17,17,17,.45)}
.mdl__ok{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding-block:2rem}
.mdl__okb{width:3.5rem;height:3.5rem;display:grid;place-items:center;border-radius:9999px;background:#0a0a0a;color:#cf8047;font-size:1.5rem}
.mdl__ok h2{font-size:1.5rem;font-weight:600}
.mdl__ok p{max-width:32ch;font-size:.875rem;color:rgba(17,17,17,.6)}
