*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --orange:    #E8820C;
  --orange-dk: #d0720a;
  --teal:      #5BA99A;
  --navy:      #2B3A7A;
  --gold1:     #D4A017;
  --gold2:     #E8C040;
  --sw:        260px;
}
html { scroll-behavior:smooth; }
body { font-family:'Lato',sans-serif; color:#444; display:flex; min-height:100vh; }

/* ── SIDEBAR ── */
.sidebar {
  position:fixed; top:0; left:0;
  width:var(--sw); height:100vh;
  background:#fff; border-right:1px solid #eee;
  display:flex; flex-direction:column; align-items:center;
  padding:28px 20px 30px;
  z-index:100; overflow-y:auto;
}
.sb-logo { text-align:center; margin-bottom:36px; text-decoration:none; display:block; }
.sb-edificio { font-family:'Raleway',sans-serif; font-size:9px; letter-spacing:5px; color:#aaa; text-transform:uppercase; display:block; margin-bottom:4px; }
.sb-name { display:flex; align-items:center; justify-content:center; font-family:'Raleway',sans-serif; font-weight:300; font-size:20px; letter-spacing:6px; color:var(--navy); }
.lo { position:relative; display:inline-flex; align-items:center; width:22px; height:20px; margin:0 1px; }
.lo::before,.lo::after { content:''; position:absolute; width:13px; height:13px; border-radius:50%; top:50%; transform:translateY(-50%); }
.lo::before { background:var(--gold1); left:0; opacity:.9; }
.lo::after  { background:var(--gold2); right:0; opacity:.85; }
.sr { display:inline-block; transform:scaleX(-1); letter-spacing:0; }
.sb-sub { font-family:'Raleway',sans-serif; font-size:10px; letter-spacing:6px; color:var(--orange); text-align:center; margin-top:4px; display:block; font-weight:600; }

.sb-nav { list-style:none; width:100%; text-align:center; margin-bottom:auto; }
.sb-nav li { border-bottom:1px solid #f0f0f0; }
.sb-nav li:first-child { border-top:1px solid #f0f0f0; }
.sb-nav a { display:block; padding:12px 10px; font-family:'Raleway',sans-serif; font-size:11px; letter-spacing:2px; color:var(--orange); text-decoration:none; text-transform:uppercase; transition:color .2s,background .2s; }
.sb-nav a:hover { color:var(--orange-dk); background:#fff8f2; }

.sb-btn { display:block; margin-top:28px; border:1px solid var(--orange); padding:9px 28px; font-family:'Raleway',sans-serif; font-size:10px; letter-spacing:2px; color:var(--orange); text-decoration:none; text-transform:uppercase; transition:all .2s; }
.sb-btn:hover { background:var(--orange); color:#fff; }

/* ── MAIN ── */
.main { margin-left:var(--sw); flex:1; min-width:0; }

/* HERO */
.hero { position:relative; width:100%; height:650px; overflow:hidden; background:#9a8a7a; }
.hero-track { display:flex; height:100%; transition:transform .6s ease; }
.hero-slide { min-width:100%; height:100%; background-size:cover; background-position:center; }
.hero-slide:nth-child(1) { background-image:url('../img/Slider Malvin 1.jpg'); }
.hero-slide:nth-child(2) { background-image:url('../img/Slider Malvin 2.jpg'); }
.hero-slide:nth-child(3) { background-image:url('../img/Slider Malvin 3.jpg'); }
.hero-slide:nth-child(4) { background-image:url('../img/Slider Malvin 4.jpg'); }
.hero-slide:nth-child(5) { background-image:url('../img/Slider Malvin 5.jpg'); }
.hero-arrow { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.25); border:none; color:#fff; font-size:26px; width:46px; height:46px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; z-index:10; }
.hero-arrow:hover { background:rgba(255,255,255,.45); }
.hero-prev { left:18px; }
.hero-next { right:18px; }

.hero-banner { background:var(--orange); color:#fff; text-align:center; padding:26px 40px; font-family:'Raleway',sans-serif; font-weight:400; font-size:18px; letter-spacing:2px; line-height:1.6; }

section { scroll-margin-top:20px; }

/* PROYECTO */
#proyecto { padding:60px 70px; background:#fff; }
.proj-title { font-family:'Raleway',sans-serif; font-weight:300; font-size:36px; letter-spacing:4px; color:var(--orange); text-align:center; margin-bottom:10px; }
.proj-subtitle { text-align:center; color:var(--orange); font-size:14px; font-weight:700; margin-bottom:48px; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.prose p { font-size:14px; line-height:1.85; text-align:justify; margin-bottom:18px; color:#555; }
.video-wrap { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border:1px solid #ddd; }
.video-wrap iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }

/* PLANTAS */
#plantas { padding:60px 70px; background:#fff; }
.sec-title { font-family:'Raleway',sans-serif; font-weight:400; font-size:26px; letter-spacing:4px; color:var(--orange); margin-bottom:24px; }
.plantas-cards { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:44px; text-align:center; }
.pcard { cursor:pointer; text-decoration:none; display:block; }
.pcard:hover svg { transform:scale(1.06); }
.pcard svg { transition:transform .2s; }
.pcard h4 { font-family:'Raleway',sans-serif; font-size:13px; letter-spacing:3px; color:var(--navy); margin:14px 0 6px; }
.pcard p { font-size:13px; color:#777; }

/* AMENITIES */
#amenities { padding:60px 70px; background:#fff; }
.am-title { font-family:'Raleway',sans-serif; font-weight:400; font-size:26px; letter-spacing:4px; color:var(--orange); text-align:center; margin-bottom:44px; }
.am-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; text-align:center; margin-bottom:50px; }
.am-item { display:flex; flex-direction:column; align-items:center; gap:14px; }
.am-circle { width:90px; height:90px; border-radius:50%; background:var(--orange); display:flex; align-items:center; justify-content:center; }
.am-circle svg { width:46px; height:46px; }
.am-item p { font-size:12px; color:#888; max-width:110px; }

.otras h3 { font-family:'Raleway',sans-serif; font-size:13px; letter-spacing:2px; color:var(--orange); font-weight:700; text-align:center; margin-bottom:24px; }
.otras ul { list-style:none; }
.otras ul li { font-size:14px; line-height:1.9; color:#555; padding-left:18px; margin-bottom:12px; position:relative; }
.otras ul li::before { content:'•'; position:absolute; left:0; color:var(--navy); }

/* Foto separadora */
.foto-sep { width:100%; height:340px; background:#ccc url('../img/malvin-int.jpg') center/cover no-repeat; }

/* MEMORIA */
#memoria { padding:60px 70px; background:#f2f4f7; }

/* UBICACION */
.ubic-header { background:#555; color:#fff; text-align:center; padding:44px 80px; }
.ubic-header h2 { font-family:'Raleway',sans-serif; font-weight:400; font-size:24px; letter-spacing:5px; margin-bottom:18px; }
.ubic-header p { font-size:14px; line-height:1.75; }
.map-box { width:100%; height:420px; }
.map-box iframe { width:100%; height:100%; border:none; }

/* CONTACTO */
#contacto { background:var(--orange); padding:60px 80px 80px; }
.contact-title { font-family:'Raleway',sans-serif; font-weight:300; font-size:32px; color:#fff; text-align:center; line-height:1.35; margin-bottom:10px; }
.contact-email { text-align:center; color:rgba(255,255,255,.85); font-size:14px; margin-bottom:40px; }
.fg { margin-bottom:20px; }
.fg label { display:block; font-size:13px; color:#fff; font-weight:700; margin-bottom:8px; }
.fg input,.fg textarea { width:100%; background:#fff; border:none; padding:12px 14px; font-size:14px; font-family:'Lato',sans-serif; color:#444; outline:none; }
.fg textarea { height:180px; resize:vertical; }
.btn-env { background:#888; color:#fff; border:none; padding:11px 36px; font-size:14px; cursor:pointer; margin-top:8px; transition:background .2s; }
.btn-env:hover { background:#666; }

/* FOOTER */
footer { background:#555; color:#ccc; text-align:center; padding:36px 20px 28px; }
.ft-label { font-size:13px; font-weight:700; color:#bbb; margin-bottom:6px; }
.ft-arq { font-size:13px; color:#aaa; margin-bottom:22px; }
.ft-ger { font-size:12px; color:#bbb; font-weight:700; margin-bottom:8px; }
.ft-brand { display:inline-block; border:1px solid #999; padding:7px 22px; font-size:11px; letter-spacing:3px; color:#ccc; text-decoration:none; }

/* MOBILE TOP BAR */
.mob-bar { display:none; position:fixed; top:0; left:0; right:0; height:56px; background:#fff; border-bottom:1px solid #eee; align-items:center; justify-content:space-between; padding:0 20px; z-index:200; }
.hamburger { background:none; border:none; cursor:pointer; padding:6px; display:flex; flex-direction:column; gap:5px; }
.hamburger span { display:block; width:24px; height:2px; background:#444; border-radius:1px; }
.overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:149; }
.overlay.active { display:block; }
.sep-img { width:100%; }
.sep-img img { width:100%; display:block; height:700px; object-fit:cover; }

@media(max-width:900px){
  :root{ --sw:0px; }
  .mob-bar { display:flex; }
  .sidebar { width:260px; transform:translateX(-260px); transition:transform .3s ease; z-index:150; }
  .sidebar.sb-open { transform:translateX(0); }
  body.sb-open { overflow:hidden; }
  .main { margin-top:56px; }
  .hero { height:340px; }
  .hero-banner { font-size:13px; padding:14px 20px; letter-spacing:1px; }
  .two-col,.plantas-cards { grid-template-columns:1fr; }
  .am-grid { grid-template-columns:repeat(3,1fr); }
  #proyecto,#plantas,#amenities,#contacto { padding:36px 20px; }
  .proj-title { font-size:24px; letter-spacing:2px; }
  .sec-title { font-size:20px; letter-spacing:2px; }
  .am-title { font-size:20px; letter-spacing:2px; }
  .ubic-header { padding:28px 20px; }
  .ubic-header h2 { font-size:18px; letter-spacing:3px; }
  .map-box { height:300px; }
  #contacto { padding:40px 20px 60px; }
  .sep-img img { height:260px; }
}
@media(max-width:480px){
  .hero { height:260px; }
  .am-grid { grid-template-columns:repeat(2,1fr); }
  .sep-img img { height:200px; }
}
