:root{
  --bg:#ffffff;
  --bg2:#f7fafc;
  --text:#0b1220;
  --muted:#4b5563;
  --muted2:#6b7280;
  --card:rgba(255,255,255,0.86);
  --border:rgba(15, 23, 42, 0.10);
  --shadow: 0 18px 45px rgba(15,23,42,.10);
  --shadow2: 0 10px 25px rgba(15,23,42,.08);
  --accent:#2a6f97;
  --accent2:#52b69a;
  --accent3:#f4d06f;
  --radius:20px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji"; color:var(--text); background: radial-gradient(1200px 800px at 10% -10%, rgba(82,182,154,.18), transparent 55%), radial-gradient(1200px 800px at 90% 0%, rgba(42,111,151,.16), transparent 55%), var(--bg);}
a{color:inherit}
img{max-width:100%}
.container{max-width:1120px;margin:0 auto;padding:24px}
.topbar{position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.76); backdrop-filter: blur(10px); border-bottom:1px solid var(--border);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:72px;width:auto}
.navlinks{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.navlinks a{color:var(--muted);text-decoration:none;font-weight:750;font-size:14px;padding:8px 10px;border-radius:999px}
.navlinks a:hover{background:rgba(82,182,154,.10); color:var(--text)}
.navlinks a.active{background:rgba(42,111,151,.12); color:var(--text)}
.lang{display:flex;gap:8px;align-items:center}
.lang button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 10px;font-weight:800;font-size:12px;cursor:pointer}
.lang button.active{border-color:rgba(15,23,42,.35); box-shadow: var(--shadow2)}
@media (max-width: 920px){ .navlinks{display:none} }
.hero{display:grid;grid-template-columns:1.2fr 0.8fr; gap:26px; padding:40px 0 22px;}
@media (max-width: 920px){ .hero{grid-template-columns:1fr} }
.kicker{color:var(--muted2);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin-bottom:10px}
.h1{font-size:46px;line-height:1.06;margin:0 0 14px;letter-spacing:-0.02em}
@media (max-width: 920px){ .h1{font-size:38px} }
.sub{font-size:18px;line-height:1.55;color:var(--muted);margin:0 0 16px}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.badge{font-size:12px;color:var(--muted);border:1px solid var(--border);padding:8px 10px;border-radius:999px;background:rgba(255,255,255,0.8)}
.ctaRow{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;padding:12px 16px;text-decoration:none;font-weight:900;border:1px solid var(--border);background:rgba(255,255,255,0.92);box-shadow:0 1px 0 rgba(15,23,42,.04);cursor:pointer}
.btn.primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent2) 100%); color:#fff; border-color:transparent; box-shadow: var(--shadow2)}
.btn:hover{transform:translateY(-1px)}
.small{font-size:12px;color:var(--muted2)}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 2px 0 rgba(15,23,42,.03);}
.card.glow{box-shadow: var(--shadow);border-color: rgba(42,111,151,.22);}
.section{padding:26px 0}
.h2{font-size:28px;margin:0 0 10px;letter-spacing:-0.01em}
.h3{font-size:28px;font-weight: 700;              /* keep headers strong */
  color: #0a3d62;               /* your brand-style blue */
  margin-bottom: 4px;}

.p{color:var(--muted);line-height:1.7;margin:0 0 10px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (max-width: 920px){ .grid3,.grid2{grid-template-columns:1fr} }
.list{margin:10px 0 0;padding-left:18px;color:var(--muted);line-height:1.75}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width: 920px){ .pricing{grid-template-columns:1fr} }
.price{font-weight: normal;          /* remove bold */
  font-size: 15px;              /* smaller */
  color: #666;                  /* softer than header */
  margin-bottom: 8px;}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;border:1px solid var(--border);border-radius:999px;padding:8px 10px;background:rgba(244,208,111,.20)}
.notice{border-left:3px solid var(--accent2);padding-left:12px}
.hr{height:1px;background:var(--border);margin:14px 0}
.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width: 920px){ .formGrid{grid-template-columns:1fr} }
input, select, textarea{width:100%;padding:12px 12px;border:1px solid var(--border);border-radius:14px;font-size:14px;background:rgba(255,255,255,0.95)}
textarea{min-height:120px;resize:vertical}
label{font-size:12px;font-weight:900;color:var(--muted2);display:block;margin:0 0 6px}
.footer{border-top:1px solid var(--border);padding:18px 0;margin-top:26px;color:var(--muted2);font-size:13px}
.footer a{color:var(--muted2);text-decoration:none}
.footer a:hover{color:var(--text)}
.whatsapp{position:fixed;right:18px;bottom:18px;z-index:60}
.whatsapp a{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;font-weight:950;padding:12px 14px;border-radius:999px;text-decoration:none;box-shadow: var(--shadow2)}
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:22px 0 6px}
.breadcrumb{font-size:12px;color:var(--muted2)}
.langPills{display:flex;gap:10px;align-items:center;margin-left:14px}
.langPills .pill{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--border);text-decoration:none;color:var(--text);background:rgba(255,255,255,0.8)}
.langPills .pill.active{background:var(--ink);color:white;border-color:transparent}

.aptHero{display:grid;grid-template-columns:1.2fr 0.8fr;gap:18px;align-items:stretch}
@media (max-width:920px){.aptHero{grid-template-columns:1fr}}
.aptHero .photo{padding:0;overflow:hidden}
.aptHero .photo img{width:100%;height:420px;object-fit:cover;display:block}
@media (max-width:920px){.aptHero .photo img{height:320px}}
.aptGallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:920px){.aptGallery{grid-template-columns:1fr}}
.aptGallery .tile{padding:0;overflow:hidden}
.aptGallery .tile img{width:100%;height:260px;object-fit:cover;display:block}

.logo img{height:72px;width:auto}

.topbar .inner{align-items:center}

/* FORCE LARGE LOGO */
.logo img, .brand img {
  height: 96px !important;
  max-height: none !important;
  width: auto !important;
}
.topbar, header {
  min-height: 110px;
}

.aptGallery img{
  width:100%;
  height:auto;
  image-rendering:auto;
}

/* SVG logo: crisp and big */
.logo img, .brand img {
  height: 110px !important;
  width: auto !important;
  display: block;
}

/* Header redesign: text brand left, nav center, language + icon right (single line) */
.topbar .inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:nowrap;
}
.brandText{
  display:flex;
  align-items:baseline;
  gap:10px;
  text-decoration:none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  color: var(--ink);
  white-space:nowrap;
  font-weight:700;
}
.brandText span{
  font-weight:600;
  color: var(--muted);
}
.navlinks{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.langPills{margin-left:auto; flex-wrap:nowrap; white-space:nowrap;}
.logoIcon{
  height:64px;
  width:auto;
  flex:0 0 auto;
}
@media (max-width: 980px){
  .logoIcon{height:52px}
  .brandText{font-size:20px}
  .navlinks{gap:14px}
}
@media (max-width: 760px){
  /* allow wrap on mobile only */
  .topbar .inner{flex-wrap:wrap}
  .navlinks{flex-wrap:wrap; justify-content:center}
}

/* Brand text colors (match original logo) */
.brandText{font-size:20px; font-weight:700;}
.brandText .bcn{color:#4B87B8; font-weight:700;}
.brandText .rc{color:#1F2F57; font-weight:600;}
/* Keep header on one line on desktop */
.topbar .inner{flex-wrap:nowrap !important;}
.navlinks{gap:18px;}
.logoIcon{height:52px;}
@media (max-width: 980px){
  .brandText{font-size:18px}
  .logoIcon{height:46px}
  .navlinks{gap:12px}
}

/* Header: distinct brand vs menu */
.topbar .inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:nowrap;
}
.brandText{
  font-family: Georgia, "Times New Roman", serif !important;
  font-size:24px !important;
  letter-spacing:0.2px;
  text-decoration:none;
  white-space:nowrap;
}
.brandText .bcn{color:#4B87B8; font-weight:700;}
.brandText .rc{color:#1F2F57; font-weight:600;}
.navlinks{white-space:nowrap;}
.navlinks a{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size:16px;
  color: var(--ink);
  opacity:0.9;
}
.navlinks a:hover{opacity:1;}

/* ---------- Mobile navigation + small-screen polish ---------- */
.nav{position:relative;}
.navToggle{display:none;}
.menuToggle{display:none;align-items:center;justify-content:center;border:1px solid var(--border);background:rgba(255,255,255,0.9);border-radius:14px;height:44px;min-width:44px;padding:0 12px;font-weight:950;cursor:pointer;box-shadow:0 1px 0 rgba(15,23,42,.04)}
.menuToggle:active{transform:translateY(1px)}

@media (max-width: 920px){
  .menuToggle{display:inline-flex}
  /* Keep language pills visible, collapse nav into a dropdown */
  .nav{gap:12px;align-items:center;flex-wrap:wrap}
  .navlinks{display:none}
  .navToggle:checked + .menuToggle + .navlinks,
  body.nav-open .navlinks{
    display:flex;
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 10px);
    flex-direction:column;
    gap:8px;
    padding:12px;
    background:rgba(255,255,255,0.92);
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow: var(--shadow2);
    backdrop-filter: blur(10px);
  }
  body.nav-open .navlinks a{padding:12px 12px;font-size:16px}

  /* Make sure the language switch is always visible on small screens */
  .langPills{width:100%;justify-content:flex-end;margin-left:0}
}

/* Smaller header + spacing on phones */
@media (max-width: 600px){
  .container{padding:16px}
  .topbar, header{min-height:auto}
  .brandText{font-size:20px !important}
  .langPills .pill{min-width:40px;height:34px}
  .hero{padding:26px 0 16px;gap:16px}
  .h1{font-size:32px;line-height:1.1}
  .sub{font-size:16px}
  .card{padding:16px}
  .ctaRow{flex-direction:column;align-items:stretch}
  .ctaRow .btn{width:100%}
  .pagehead{padding:16px 0 4px}
  .whatsapp{right:14px;bottom:14px}
  .whatsapp a{padding:11px 13px}
}

/* Hero portrait: keep it tidy on small screens */
.heroPortrait{width:100%;height:auto;border-radius:18px;display:block;margin-bottom:12px}
@media (max-width: 600px){
  .heroPortrait{max-height:320px;object-fit:cover}
}

/* Apartments gallery: avoid huge tiles on mobile */
@media (max-width: 920px){
  .aptGallery{grid-template-columns:repeat(2,1fr)}
  .aptGallery .tile img{height:180px}
}
@media (max-width: 480px){
  .aptGallery{grid-template-columns:1fr}
  .aptGallery .tile img{height:200px}
}
.rightTools{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  white-space:nowrap;
}
.logoIcon{
  display:block;
  height:56px !important;
  width:auto !important;
}
@media (max-width: 980px){
  .brandText{font-size:20px !important;}
  .logoIcon{height:48px !important;}
}


.heroPortrait{width:100%;max-width:360px;height:auto;border-radius:18px;display:block;margin:0 auto 14px;}


/* ===== MOBILE LANGUAGE SWITCH FIX ===== */
@media (max-width: 768px) {
  header,
  .header,
  .site-header {
    overflow: visible !important;
  }

  .lang-switch,
  .language-switch,
  .lang-toggle {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    margin: 12px auto 0 auto;
    display: flex;
    justify-content: center;
    gap: 14px;
    width: 100%;
    z-index: 1001;
  }

  .lang-switch a,
  .language-switch a {
    padding: 6px 10px;
    font-size: 14px;
    white-space: nowrap;
  }
}

/* Fix: glow overlays must not block clicks */
.card.glow::before,
.card.glow::after {
  pointer-events: none !important;
}
