/* Porteus Real Estate — portada v3. Blue #244B62 60%, Slate #576870 30%, Steel #6F9CBD 10%, Mist #BAC7D7, Ink #13110C.
   Esquinas 0px; píldora solo en botones y etiquetas; sin sombras; sin emojis. Mobile first. */
@font-face{font-family:'Figtree';src:url('/assets/fonts/Figtree-VariableFont_wght.woff2') format('woff2');font-weight:300 900;font-display:swap}
:root{--blue:#244B62;--blue-900:#16303f;--blue-700:#1d3e51;--slate:#576870;--steel:#6F9CBD;--mist:#BAC7D7;--mist-50:#eef2f6;--mist-100:#dde4ec;--white:#fff;--ink:#13110C;--pad:clamp(20px,5vw,72px)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--white);line-height:1.55;font-size:17px;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{line-height:1.1;font-weight:800;letter-spacing:-.02em}
h1{font-size:clamp(38px,7vw,78px)}
h2{font-size:clamp(28px,4vw,46px);color:var(--blue)}
h3{font-size:22px;color:var(--blue)}
section{padding:clamp(56px,9vw,120px) var(--pad)}
.wrap{max-width:1180px;margin:0 auto}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:14px}
.lead{font-size:clamp(18px,2vw,22px);color:var(--slate);max-width:62ch;margin-top:18px}
.skip{position:absolute;left:-999px;top:0;background:var(--white);color:var(--blue);padding:10px 16px;z-index:100}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--steel);outline-offset:2px}

/* barra superior */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;background:var(--blue);color:var(--white);border-bottom:1px solid rgba(186,199,215,.18)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px var(--pad)}
.brand{display:flex;align-items:center;text-decoration:none;font-weight:900;letter-spacing:.08em;font-size:15px}
.brand img{height:38px;width:auto}
.brand .wordmark{display:none}
.brand.no-logo .wordmark{display:inline}
.nav ul{display:flex;gap:clamp(20px,2.6vw,42px);list-style:none;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.nav .only-sm{display:none}
.btn.steel{background:var(--steel);border-color:var(--steel);color:var(--white)}
.btn.steel:hover{background:#5b85a6;border-color:#5b85a6}
.nav a{text-decoration:none}
.nav ul a:hover{color:var(--mist)}
.right{display:flex;align-items:center;gap:10px}
.btn.login{border-color:var(--steel)}
.lang{display:flex;border:1px solid var(--steel);border-radius:999px;overflow:hidden}
.lang a{color:var(--white);font:700 13px 'Figtree',sans-serif;padding:6px 12px}
.lang a[aria-current="true"]{background:var(--white);color:var(--blue)}
.btn{display:inline-block;border-radius:999px;padding:14px 28px;font-weight:700;font-size:15px;text-decoration:none;border:2px solid var(--blue);background:var(--blue);color:var(--white);cursor:pointer;font-family:inherit;text-align:center}
.btn:hover{background:var(--steel);border-color:var(--steel)}
.btn.ghost-light{background:transparent;color:var(--white);border-color:var(--mist)}
.btn.ghost-light:hover{background:var(--white);color:var(--blue)}
.btn.light{background:var(--white);color:var(--blue);border-color:var(--white)}
.btn.light:hover{background:var(--mist);border-color:var(--mist)}
.btn.small{padding:8px 18px;font-size:14px}
.menu-btn{display:none;background:none;border:1px solid var(--steel);color:var(--white);padding:6px 12px;border-radius:999px;font:700 13px 'Figtree',sans-serif;cursor:pointer}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;background:var(--blue);color:var(--white);padding-top:96px;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-photo,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(36,75,98,.86) 0%,rgba(36,75,98,.72) 45%,rgba(19,17,12,.82) 100%)}
.skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:46%;opacity:.9}
.hero-in{position:relative;z-index:2}
.hero h1{max-width:16ch}
.hero .lead{color:var(--mist)}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;list-style:none}
.tags li{border:1px solid var(--steel);border-radius:999px;padding:6px 16px;font-size:14px;font-weight:600;color:var(--mist)}

/* servicios: foto de fondo con velo azul (services-bg.jpg si existe; si no, hero-miami.jpg) */
.services{position:relative;overflow:hidden;color:var(--white);background:var(--blue) url('/assets/img/services-bg.jpg') center/cover no-repeat,var(--blue) url('/assets/img/hero-miami.jpg') center/cover no-repeat}
.services>.wrap{position:relative;z-index:1}
.svc-shade,.worth-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,75,98,.9),rgba(36,75,98,.78))}
.services h2{color:var(--white)}
.services .lead{color:var(--mist)}
.services .grid{background:transparent;gap:16px}
.services .card{background:rgba(255,255,255,.08);border:1px solid rgba(186,199,215,.45)}
.services .card h3{color:var(--white)}
.services .card p{color:var(--mist)}
.services .card .more{color:var(--white)}
.services .card svg{stroke:var(--mist)}
/* servicios (base) */
.grid{display:grid;gap:2px;background:var(--mist);margin-top:44px}
.grid.c4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--white);padding:34px 28px;display:flex;flex-direction:column;gap:12px}
.card svg{width:30px;height:30px;stroke:var(--steel);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card p{color:var(--slate);font-size:16px}
.card .more{margin-top:auto;font-weight:700;color:var(--blue);text-decoration:none;font-size:15px;padding-top:8px}
.card .more:hover{text-decoration:underline}

/* cuánto vale */
.worth{position:relative;overflow:hidden;color:var(--white);padding-block:clamp(56px,8vw,104px);background:var(--blue) url('/assets/img/valuacion-fondo.jpg') center/cover no-repeat,var(--blue) url('/assets/img/julian-daniela.jpg') center 30%/cover no-repeat}
.worth-shade{background:linear-gradient(90deg,rgba(36,75,98,.95) 0%,rgba(36,75,98,.78) 60%,rgba(87,104,112,.7) 100%)}
.worth-in{position:relative;z-index:1}
.worth h2{color:var(--white)}
.worth .lead{color:var(--mist)}
.worth-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.worth .btn.light:hover{background:var(--steel);color:var(--white);border-color:var(--steel)}

/* propiedad */
.featured{background:#f4f6f9}
.feat{display:grid;grid-template-columns:1.3fr 1fr;gap:0;margin-top:36px;background:var(--white)}
.feat-img{position:relative;display:block;min-height:320px;background:var(--blue) linear-gradient(135deg,var(--blue),var(--slate))}
.feat-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.render-tag{position:absolute;left:14px;bottom:14px;background:var(--white);color:var(--blue);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.feat-body{padding:32px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.where{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}
.status{border:1px solid var(--blue);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700;color:var(--blue)}
.feat-body p{color:var(--slate)}
.facts{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;color:var(--slate);font-size:15px}
.facts strong{color:var(--blue);font-size:19px}

/* sobre / contacto */
.about .cols{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about{position:relative;overflow:hidden;background:var(--blue);color:var(--white)}
.about-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,75,98,.92),rgba(36,75,98,.6))}
.about-in{position:relative;z-index:1}
.about h2{color:var(--white)}
.about .lead{color:var(--mist)}
.about .photo{aspect-ratio:4/5;background:var(--mist);overflow:hidden}
.about .photo img{width:100%;height:100%;object-fit:cover}
.contact{background:var(--blue);color:var(--white)}
.contact h2{color:var(--white)}
.contact .cols{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.contact .lead{color:var(--mist);margin-bottom:24px}
.contact ul{list-style:none;margin-top:26px;display:grid;gap:12px}
.contact li{display:flex;gap:10px;align-items:center}
.contact li a{text-decoration:none;font-weight:600}
.contact li svg{width:20px;height:20px;stroke:var(--steel);fill:none;stroke-width:1.8}
.formbox{background:var(--white);color:var(--ink);padding:28px;min-height:260px}
.formbox iframe{width:100%;border:0;min-height:420px}
.formslot{min-height:0}
/* sin formulario aún: la caja se oculta y el contacto queda a una columna */
.formbox:not(:has(iframe)){display:none}
.contact .cols:not(:has(iframe)){grid-template-columns:1fr}
.consent{font-size:12.5px;color:var(--slate);margin-top:14px}
.consent a{color:var(--blue)}

footer{background:var(--ink);color:var(--mist);padding:56px var(--pad) 36px;font-size:15px}
footer .wrap{display:grid;gap:22px}
footer a{color:var(--mist);text-decoration:none}
footer a:hover{color:var(--white)}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;align-items:start}
.ft-brand{display:flex;flex-direction:column;gap:28px}
.ft-brand img{width:200px;height:auto}
.ft-brand p{color:var(--mist);line-height:1.7;max-width:36ch}
.ft-col h4{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--steel);margin-bottom:20px}
.ft-col ul{list-style:none;display:grid;gap:14px}
.soc a{display:inline-flex;align-items:center;gap:10px}
.soc svg{width:22px;height:22px;stroke:var(--mist);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ft-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #2a2a27;padding-top:26px;color:#8b96a0;font-size:14px}
.ft-bottom a{color:#8b96a0}
.links{display:flex;gap:28px;flex-wrap:wrap}
.eh{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--mist);font-size:13px}
.eh svg{width:18px;height:18px;stroke:var(--mist);fill:none;stroke-width:1.6}
footer .legal{font-size:12.5px;color:#9aa8b2;max-width:90ch}

@media(max-width:900px){
  .grid.c4{grid-template-columns:1fr 1fr}
  .about .cols,.contact .cols,.feat{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr 1fr}
  .ft-brand{grid-column:1/-1}
  .nav ul{display:none}
  .nav ul.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--blue);padding:20px var(--pad);gap:16px}
  .menu-btn{display:block}
}
@media(max-width:560px){
  .grid.c4{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr}
  .btn.small.talk{display:none}
  .btn.small.login{padding:6px 12px}
  .hero .cta .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.about-video,.hero-video,.founders-visual video{display:none}}

/* ===== v6: estructura de la página vieja (nosotros, servicios, proceso, MLS, recursos, próximo paso) =====
   Las reglas viejas de .services/.about/.contact quedan sin uso; Albus puede borrarlas al publicar. */
.label{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.divider{width:48px;height:2px;background:var(--steel);margin:18px 0}
.divider.center{margin-left:auto;margin-right:auto}
.sec-head{text-align:center;margin-bottom:44px}
.sec-head .lead{margin-left:auto;margin-right:auto}
.body-lg{font-size:clamp(17px,1.5vw,19px);line-height:1.7;font-weight:300;color:var(--mist);margin-bottom:8px}
.body-sm{font-size:16px;line-height:1.65;font-weight:300;color:var(--mist)}

/* Somos Julián y Daniela */
.founders{background:var(--blue);color:var(--white);padding:0}
.founders-grid{display:grid;grid-template-columns:1fr 1fr;min-height:640px}
.founders-visual{position:relative;background:var(--blue-900);overflow:hidden;min-height:340px}
.founders-visual video,.founders-visual .fv-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.founders-visual-overlay{position:absolute;inset:0;background:linear-gradient(to right,transparent 40%,var(--blue) 100%);z-index:1}
.founders-visual-badge{position:absolute;left:32px;bottom:40px;z-index:2;background:var(--steel);color:var(--white);padding:9px 20px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.founders-content{padding:clamp(40px,6vw,88px);display:flex;flex-direction:column;justify-content:center}
.founders-content h2{color:var(--white)}
.founders-profiles{display:flex;gap:32px;margin:28px 0;padding:24px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.founder-profile-item{flex:1}
.founder-profile-item .name{font-size:19px;font-weight:800}
.founder-profile-item .role{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin:4px 0 10px}
.founder-profile-item .desc{font-size:15px;line-height:1.6;color:var(--mist);font-weight:300}
.founders-cta{margin-top:30px}

/* ¿Cómo podemos ayudarte? */
.servicios{background:var(--white)}
.servicios-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--mist-100)}
.servicio-card{position:relative;overflow:hidden;background:var(--white);padding:36px 28px;display:flex;flex-direction:column;gap:12px;border-left:3px solid transparent;transition:border-color .22s ease-out,background .22s ease-out}
.servicio-card:hover{border-left-color:var(--steel);background:var(--mist-50)}
.servicio-num{position:absolute;top:16px;right:18px;font-size:56px;font-weight:900;line-height:1;color:var(--mist-100)}
.servicio-icon{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--mist-50)}
.servicio-icon svg{width:24px;height:24px;stroke:var(--steel);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.servicio-card h3,.servicio-card p,.servicio-card .more{position:relative}
.servicio-card p{color:var(--slate);font-size:16px}
.servicio-card .more{margin-top:auto;padding-top:8px;font-weight:700;color:var(--blue);text-decoration:none;font-size:15px}
.servicio-card .more:hover{text-decoration:underline}

/* Así trabajamos contigo */
.proceso{background:var(--blue);color:var(--white)}
.proceso h2{color:var(--white)}
.proceso-timeline{list-style:none;position:relative;display:grid;grid-template-columns:repeat(5,1fr)}
.proceso-timeline::before{content:"";position:absolute;left:10%;right:10%;top:32px;height:1px;background:rgba(111,156,189,.5)}
.proceso-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 14px}
.proceso-num{width:64px;height:64px;background:var(--blue-700);border:1px solid var(--steel);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;margin-bottom:20px;transition:background .22s ease-out}
.proceso-step:hover .proceso-num{background:var(--steel)}
.proceso-step-title{font-size:16px;font-weight:700;margin-bottom:8px}
.proceso-step-desc{font-size:14.5px;line-height:1.55;color:var(--mist)}
.proceso-close{text-align:center;margin-top:36px;font-size:19px;font-weight:300;font-style:italic;color:var(--mist)}

/* MLS en tiempo real */
.idx{background:var(--blue-900);color:var(--white);border-top:1px solid rgba(111,156,189,.4)}
.idx h2{color:var(--white)}
.idx .lead{color:var(--mist);font-size:clamp(16px,1.6vw,19px)}
.idx-wrapper{border:1px solid rgba(255,255,255,.12);background:var(--white);overflow:hidden}
.idx-wrapper iframe{width:100%;height:800px;display:block}
.idx-footer{text-align:center;margin-top:28px}
.idx-note{color:var(--mist);margin-bottom:20px}

/* Por qué Porteus (diseño del bloque "El problema real" de la página vieja) */
.problema{background:var(--white)}
.problema-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.problema-items{display:flex;flex-direction:column;gap:14px;margin-top:24px}
.problema-item{display:flex;align-items:flex-start;gap:16px;padding:18px 22px;border:1px solid var(--mist-100);border-left:3px solid var(--steel);transition:background .22s ease-out}
.problema-item:hover{background:var(--mist-50)}
.problema-item svg{flex-shrink:0;margin-top:2px}
.problema-item-text{font-size:15.5px;color:var(--slate);line-height:1.5}
.problema-visual{position:relative;min-height:500px;overflow:hidden;background:var(--blue)}
.problema-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.problema-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(22,48,63,.35),transparent)}
.problema-visual-stat{position:absolute;bottom:32px;left:32px;right:32px;background:rgba(22,48,63,.92);padding:24px;border-left:3px solid var(--steel);z-index:1}
.problema-visual-stat .big{font-size:clamp(28px,3.4vw,44px);font-weight:900;color:var(--white);line-height:1.05}
.problema-visual-stat .small{font-size:14px;color:var(--mist);margin-top:8px}
.problema-close-full{grid-column:1/-1;background:var(--blue);padding:32px 40px}
.problema-close-full h2{color:var(--white);font-size:clamp(20px,2.5vw,32px);margin:0}
/* 5 tarjetas de servicios */
.servicios-grid{grid-template-columns:repeat(5,1fr)}
.servicio-card{padding:36px 22px}
@media(max-width:1100px){
  .servicios-grid{grid-template-columns:1fr 1fr}
  .servicio-card:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:900px){
  .problema-grid{grid-template-columns:1fr;gap:32px}
  .problema-visual{min-height:300px}
}
@media(max-width:560px){
  .servicios-grid{grid-template-columns:1fr}
  .problema-close-full{padding:24px}
}

/* Tu próximo paso + Contáctanos */
.cta-section{position:relative;overflow:hidden;color:var(--white);background:var(--blue)}
.cta-bg{position:absolute;inset:0}
.cta-bg img{width:100%;height:100%;object-fit:cover}
.cta-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,75,98,.9),rgba(22,48,63,.9))}
.cta-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:40px}
.cta-text{max-width:640px}
.cta-text h2{color:var(--white)}
.cta-text .lead{color:var(--mist);margin:14px auto 22px}
.cta-contact{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px;margin:0 0 28px}
.cta-contact li{display:flex;align-items:center;gap:10px;color:var(--mist);font-size:16px}
.cta-contact a{text-decoration:none;font-weight:600}
.cta-contact svg{width:20px;height:20px;stroke:var(--steel);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cta-section .formbox{width:100%;max-width:680px;text-align:left;background:var(--white);color:var(--ink);padding:32px;min-height:0}
.formbox h3{font-size:26px}
.form-sub{color:var(--slate);margin:6px 0 18px}

@media(max-width:1100px){
  .nav ul{display:none}
  .nav ul.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--blue);padding:20px var(--pad);gap:18px}
  .nav ul.open .only-sm{display:block}
  .menu-btn{display:block}
}
@media(max-width:900px){
  .founders-grid{grid-template-columns:1fr}
  .founders-visual{height:320px}
  .founders-visual-overlay{background:linear-gradient(to bottom,transparent 40%,var(--blue) 100%)}
  .founders-profiles{flex-direction:column;gap:22px}
  .servicios-grid{grid-template-columns:1fr 1fr}
  .proceso-timeline{grid-template-columns:1fr;gap:28px}
  .proceso-timeline::before{display:none}
  .proceso-step{flex-direction:row;align-items:flex-start;text-align:left;padding:0}
  .proceso-num{flex-shrink:0;margin:0 20px 0 0}
  .idx-wrapper iframe{height:720px}
}
@media(max-width:560px){
  .servicios-grid{grid-template-columns:1fr}
  .cta-contact{flex-direction:column;align-items:center;gap:12px}
}
/* sin formulario aún: se oculta toda la caja (título, subtítulo y consentimiento incluidos) */
.cta-section .formbox:not(:has(iframe)){display:none}

/* ===== Página /proyectos/ (12-nov-2026): mismo estilo de la portada ===== */
.hero.hero-sm{min-height:56svh}
.proyectos{background:#f4f6f9}
.proj-list{display:grid;gap:2px;margin-top:36px;background:var(--mist-100)}
.proj{background:var(--white);padding:32px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.proj p{color:var(--slate)}
.proj-steps{display:flex;gap:8px;flex-wrap:wrap;list-style:none}
.proj-steps li{font-size:13px;border-radius:999px;padding:3px 12px;border:1px solid var(--mist);color:var(--slate)}
.proj-steps li.done{background:var(--blue);border-color:var(--blue);color:var(--white)}
.proj-steps li.now{border-color:var(--blue);color:var(--blue);font-weight:700}
.proj-note{margin-top:24px;font-size:13px;color:var(--slate)}
