﻿/*
Theme Name: MiamiREI
Theme URI: https://miamirei.com
Author: Real Estate Investments by Borrero Corp.
Description: Tema limpio estilo Apple para miamirei.com, con proyectos, guÃ­as por paÃ­s y animaciones Motion (Framer Motion).
Version: 1.0.1
Requires PHP: 8.0
Text Domain: miamirei
*/
:root{
  --bg:#ffffff;--bg-soft:#f5f5f7;--ink:#1d1d1f;--ink-2:#424245;--muted:#6e6e73;--line:#d2d2d7;
  --blue:#0071e3;--blue-hover:#0077ed;--fill:#fff8e1;--fill-ink:#7a5b00;
  --font:"Geist",-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--w:1120px;color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-0.025em;text-wrap:balance}
p{margin:0}
.wrap{max-width:var(--w);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font-size:14px;font-weight:500;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.fill{background:var(--fill);color:var(--fill-ink);border-radius:6px;padding:1px 6px;font-size:.9em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* NavegaciÃ³n */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.admin-bar .nav{top:32px}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:52px}
.brand{font-weight:600;font-size:17px;letter-spacing:.14em;color:var(--ink)}
.brand:hover{text-decoration:none}
.links,.links ul{display:flex;gap:28px;font-size:13px;list-style:none;margin:0;padding:0}
.links a{color:var(--ink-2)}
.links a:hover{color:var(--ink);text-decoration:none}
@media (max-width:820px){.links{display:none}}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:980px;background:var(--blue);color:#fff;font-size:15px;font-weight:500;border:0;cursor:pointer;font-family:inherit;transition:background .2s}
.pill:hover{background:var(--blue-hover);text-decoration:none;color:#fff}
.pill.sm{min-height:32px;padding:0 14px;font-size:13px}
.ghost{display:inline-flex;align-items:center;min-height:44px;font-size:17px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted);padding-block:18px}
.crumbs a{color:var(--muted)}

/* Portada */
.hero{padding-block:72px 0;text-align:center}
.hero h1{font-size:clamp(44px,8vw,96px);line-height:1.02;letter-spacing:-0.045em;margin-top:14px}
.hero .sub{font-size:clamp(19px,2.3vw,26px);color:var(--ink-2);max-width:720px;margin:20px auto 0;line-height:1.35}
.hero .ctas,.head .ctas{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:center;align-items:center;margin-top:32px}
.media{margin:56px auto 0;max-width:1440px;overflow:hidden;border-radius:28px;transform-origin:center top}
.media img,.media video{width:100%;aspect-ratio:16/9;object-fit:cover;max-height:860px}
.kb img{animation:kb 22s var(--ease) infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.facts{padding-block:96px 40px}
.facts h2{font-size:clamp(32px,4.4vw,56px);line-height:1.08;max-width:820px;margin-top:12px}
.lede{font-size:21px;color:var(--ink-2);max-width:640px;margin-top:18px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:56px}
.stat{border-top:1px solid var(--line);padding-top:20px}
.stat b{display:block;font-size:clamp(40px,5vw,64px);font-weight:600;letter-spacing:-0.04em;line-height:1;font-variant-numeric:tabular-nums}
.stat>span{display:block;margin-top:10px;color:var(--muted);font-size:15px;max-width:24ch}
@media (max-width:820px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.statement{padding-block:120px}
.statement p{font-size:clamp(32px,5vw,64px);line-height:1.12;font-weight:600;letter-spacing:-0.035em;max-width:1000px}
.statement .w{display:inline-block;white-space:pre}
.projects{background:var(--bg-soft);padding-block:110px 90px}
.projects .top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.sec-title{font-size:clamp(36px,5vw,56px);margin-top:10px}
.rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:40px max(16px,calc((100vw - var(--w))/2 + 16px)) 24px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail .card{flex:0 0 min(78vw,420px);scroll-snap-align:center}
.rail .card .ph{aspect-ratio:4/5}
.card{background:var(--bg);border-radius:24px;overflow:hidden;color:var(--ink);display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(0,0,0,.10);text-decoration:none}
.card .ph{aspect-ratio:16/10;overflow:hidden;background:var(--bg-soft)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card:hover .ph img{transform:scale(1.06)}
.card .tx{padding:22px 24px 26px;display:flex;flex-direction:column;gap:6px}
.card .tag{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.card h3{font-size:24px}
.card .price{color:var(--ink-2);font-size:15px;font-variant-numeric:tabular-nums}
.rail-nav{display:flex;gap:10px}
.rbtn{width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.06);color:var(--ink);font-size:20px;cursor:pointer}
.rbtn:hover{background:rgba(0,0,0,.12)}
.city{position:relative;height:min(92vh,860px);min-height:560px;overflow:hidden;color:#fff}
.city img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover}
.city::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 38%,rgba(0,0,0,0) 60%,rgba(0,0,0,.5) 100%)}
.city .in{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding-block:64px}
.city h2{font-size:clamp(56px,10vw,128px);letter-spacing:-0.05em;line-height:.95}
.city p{font-size:21px;max-width:520px;line-height:1.4}
.city .ghost{color:#fff}
.city .bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.live{padding-block:120px}
.live .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;margin-top:48px;align-items:end}
.live .a{grid-column:1/8;border-radius:24px;overflow:hidden}
.live .b{grid-column:8/13;border-radius:24px;overflow:hidden;margin-bottom:-60px}
.live img{width:100%;aspect-ratio:4/3;object-fit:cover}
.live .b img{aspect-ratio:4/5}
@media (max-width:820px){.live .a,.live .b{grid-column:1/-1;margin-bottom:0}}
.steps-sec{padding-block:140px 110px}
.steps{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;counter-reset:s}
.steps li{counter-increment:s;border-top:1px solid var(--line);padding-top:18px}
.steps li::before{content:counter(s);display:block;font-size:15px;font-weight:600;color:var(--blue);margin-bottom:14px}
.steps h3{font-size:19px}
.steps p{color:var(--muted);font-size:15px;margin-top:6px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}
.services{background:var(--bg-soft);padding-block:110px}
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px}
.sbox{background:var(--bg);border-radius:24px;padding:36px 32px;display:flex;flex-direction:column;gap:12px;min-width:0}
.sbox h3{font-size:24px}
.sbox p{color:var(--ink-2)}
@media (max-width:900px){.sgrid{grid-template-columns:1fr}}
.faq-sec{padding-block:120px}
.faq-sec .cols{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px}
@media (max-width:900px){.faq-sec .cols{grid-template-columns:1fr;gap:24px}}
.faq details,.entry details{border-bottom:1px solid var(--line)}
.faq details:first-of-type,.entry details:first-of-type{border-top:1px solid var(--line)}
.faq summary,.entry summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font-size:20px;font-weight:500;letter-spacing:-0.01em;color:var(--ink)}
.faq summary::-webkit-details-marker,.entry summary::-webkit-details-marker{display:none}
.faq summary::after,.entry summary::after{content:"+";font-size:28px;font-weight:300;color:var(--muted);transition:transform .35s var(--ease)}
.faq details[open] summary::after,.entry details[open] summary::after{transform:rotate(45deg)}
.faq .ans,.entry details>p{padding:0 0 22px;color:var(--ink-2);max-width:62ch;margin:0}
.events{padding-block:0 120px}
.erow{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 0;border-top:1px solid var(--line);color:var(--ink)}
.erow:last-child{border-bottom:1px solid var(--line)}
.erow:hover{text-decoration:none;background:var(--bg-soft)}
.erow .d{font-weight:600;font-size:15px;color:var(--blue)}
.erow .c{font-size:21px;font-weight:500}
.erow .go{color:var(--muted);font-size:15px}
@media (max-width:560px){.erow{grid-template-columns:90px minmax(0,1fr)}.erow .go{display:none}}
.contact{position:relative;overflow:hidden;color:#fff;background:#0b0b0c}
.contact .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.contact .in{position:relative;padding-block:120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.contact h2{font-size:clamp(40px,5.4vw,64px);line-height:1.04}
.contact .lede{color:rgba(255,255,255,.86);max-width:30ch}
.contact .direct{margin-top:32px;display:flex;flex-direction:column;gap:6px}
.contact .direct a{color:#fff;font-weight:500}
@media (max-width:900px){.contact .in{grid-template-columns:1fr}}

/* Formularios */
.form{background:var(--bg);color:var(--ink);border-radius:24px;padding:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;box-shadow:0 20px 50px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.05)}
.form.one{grid-template-columns:1fr}
.form .full{grid-column:1/-1}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--ink-2)}
.form input,.form select{font:inherit;font-size:17px;color:var(--ink);background:var(--bg-soft);border:1px solid transparent;border-radius:12px;padding:12px 14px;min-height:48px}
.form input:focus,.form select:focus{outline:none;border-color:var(--blue);background:#fff}
.form .pill{width:100%;min-height:52px;font-size:17px}
.form .ok{font-size:15px;color:#1a7f37;grid-column:1/-1}
.form h2{font-size:24px}
@media (max-width:480px){.form{grid-template-columns:1fr}}

/* Ficha de proyecto */
.head{padding-block:28px 0}
.head h1{font-size:clamp(40px,6.6vw,80px);line-height:1.02;letter-spacing:-0.045em;margin-top:12px}
.head .sub{font-size:clamp(19px,2.2vw,24px);color:var(--ink-2);max-width:700px;margin-top:18px;line-height:1.4}
.head .ctas{justify-content:flex-start}
.keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:48px}
.key{border-top:1px solid var(--line);padding-top:16px}
.key b{display:block;font-size:clamp(26px,3.4vw,40px);font-weight:600;letter-spacing:-0.03em;line-height:1.05;font-variant-numeric:tabular-nums}
.key>span{display:block;color:var(--muted);font-size:14px;margin-top:6px}
@media (max-width:720px){.keys{grid-template-columns:repeat(2,minmax(0,1fr))}}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start;padding-block:80px}
.layout>main{display:flex;flex-direction:column;gap:72px;min-width:0}
.layout>aside{position:sticky;top:76px}
@media (max-width:960px){.layout{grid-template-columns:1fr}.layout>aside{position:static}}
.answer{background:var(--bg-soft);border-radius:24px;padding:32px clamp(22px,4vw,40px)}
.answer .eyebrow{color:var(--blue)}
.answer>p:not(.eyebrow){font-size:clamp(19px,2.2vw,23px);line-height:1.45;margin-top:10px;color:var(--ink)}
.sec h2{font-size:clamp(28px,3.6vw,44px);margin:0 0 20px}
.tbl{overflow-x:auto}
.tbl table,.entry table{width:100%;border-collapse:collapse;font-size:16px}
.tbl th,.entry th{text-align:left;font-weight:500;color:var(--muted);font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:12px 16px 12px 0;border-bottom:1px solid var(--line)}
.tbl td,.entry td{padding:16px 16px 16px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.calc{background:var(--bg-soft);border-radius:24px;padding:28px clamp(20px,3vw,36px);display:grid;gap:22px}
.calc label{font-size:13px;font-weight:500;color:var(--ink-2);display:flex;justify-content:space-between;gap:12px}
.calc output{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}
.calc input[type=range]{width:100%;accent-color:var(--blue)}
.calc .res{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.calc .res div{background:var(--bg);border-radius:16px;padding:18px}
.calc .res b{display:block;font-size:clamp(22px,3vw,32px);font-weight:600;letter-spacing:-0.03em;font-variant-numeric:tabular-nums}
.calc .res span,.calc small{color:var(--muted);font-size:14px}
.entry{font-size:18px;line-height:1.65;color:var(--ink-2)}
.entry>*+*{margin-top:18px}
.entry h2,.entry h3{color:var(--ink)}
.entry h2{font-size:clamp(28px,3.4vw,40px);margin-top:56px;scroll-margin-top:80px}
.entry h3{font-size:22px;margin-top:32px}
.entry img{border-radius:20px}
.entry figure{margin:24px 0}
.entry figure img{width:100%}
.entry figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.similar{background:var(--bg-soft);padding-block:96px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
@media (max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cards{grid-template-columns:1fr}}

/* GuÃ­a */
#progress{position:fixed;left:0;right:0;top:0;height:3px;background:var(--blue);transform-origin:0 50%;transform:scaleX(0);z-index:60}
.ghero{position:relative;overflow:hidden;color:#fff;background:#0b0b0c}
.ghero img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;opacity:.62}
.ghero .in{position:relative;padding-block:96px 72px;display:flex;flex-direction:column;gap:18px}
.ghero .crumbs,.ghero .crumbs a{color:rgba(255,255,255,.78);padding:0}
.ghero .eyebrow{color:rgba(255,255,255,.82)}
.ghero h1{font-size:clamp(40px,6.4vw,78px);line-height:1.03;letter-spacing:-0.045em;max-width:16ch}
.byline{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:15px;color:rgba(255,255,255,.88)}
.byline b{color:#fff;font-weight:600}
.glayout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px;padding-block:72px 96px;align-items:start}
.toc{position:sticky;top:76px;display:flex;flex-direction:column;gap:10px;font-size:14px}
.toc a{color:var(--muted)}
.toc a:hover{color:var(--ink);text-decoration:none}
.toc .pill{margin-top:14px}
@media (max-width:900px){.glayout{grid-template-columns:1fr;gap:32px}.toc{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 16px}.toc .pill{margin-top:0}}
.garticle{min-width:0;max-width:760px;display:flex;flex-direction:column;gap:56px}

/* Listados y pÃ¡ginas simples */
.archive-head{padding-block:72px 32px}
.archive-head h1{font-size:clamp(40px,6vw,72px);letter-spacing:-0.045em}
.archive-grid{padding-bottom:120px}
.page-simple{padding-block:72px 120px;max-width:760px}
.page-simple h1{font-size:clamp(36px,5vw,56px);margin-bottom:32px}

footer.site{background:var(--bg-soft);color:var(--muted);font-size:13px}
footer.site .wrap{padding-block:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
footer.site b{color:var(--ink);font-weight:600;letter-spacing:.14em}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
