:root {
  --bg-primary: #0a0d14;
  --bg-secondary: #111520;
  --bg-elev: #161b29;
  --bg-card: rgba(255,255,255,0.035);
  --bg-card-hover: rgba(255,255,255,0.07);
  --border: rgba(255,255,255,0.09);
  --border-strong: rgba(255,255,255,0.16);
  --gold: #d4af37;
  --gold-soft: #e7c66a;
  --cyan: #2ec8d6;
  --violet: #8a6cf0;
  --grad: linear-gradient(120deg, #2ec8d6 0%, #6aa0f0 45%, #8a6cf0 100%);
  --grad-text: linear-gradient(120deg, #2ec8d6 0%, #6aa0f0 45%, #8a6cf0 100%);
  --text: #f3f4f6;
  --text-soft: #aab1bd;
  --text-mut: #6b7280;
  --font-sans: 'Outfit', system-ui, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
  --ease: cubic-bezier(0.16,1,0.3,1);
  --maxw: 1180px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:110%; } /* +10% legibilidad: agranda todas las letras/números (basado en rem) */
body {
  font-family:var(--font-sans);
  background:var(--bg-primary);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.serif { font-family:var(--font-serif); }
.gradtext {
  background:var(--grad-text);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.wrap { max-width:var(--maxw); margin:0 auto; padding:0 1.5rem; }
section { position:relative; }

.eyebrow {
  font-size:.78rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); font-weight:600; margin-bottom:1rem;
  display:inline-flex; align-items:center; gap:.7rem;
}
.eyebrow::before { content:''; width:34px; height:1px; background:var(--gold); opacity:.6; }
.sec-title {
  font-family:var(--font-serif); font-weight:600;
  font-size:clamp(2rem,4vw,3rem); line-height:1.12; letter-spacing:-.5px;
}
.sec-intro { color:var(--text-soft); max-width:620px; margin-top:1.1rem; font-size:1.05rem; }
.sec-intro strong { color:var(--text); font-weight:700; }
.pad { padding:6.5rem 0; }

/* ---------- NAV ---------- */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 1.8rem; transition:var(--ease) .4s;
}
.nav.scrolled {
  background:rgba(10,13,20,.82); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border); padding:.7rem 1.8rem;
}
.nav-brand { display:flex; align-items:center; gap:.75rem; }
.nav-brand img { height:50px; width:auto; }
.nav-brand b { font-family:var(--font-serif); font-weight:600; font-size:1rem; letter-spacing:.5px; }
.nav-links { display:flex; gap:2.1rem; align-items:center; }
.nav-links a { font-size:1.08rem; color:#e9edf3; font-weight:600; transition:.25s; }
.nav-links a:hover { color:#fff; }
.nav.scrolled .nav-links a { color:var(--text-soft); }
.nav.scrolled .nav-links a:hover { color:var(--text); }
.nav-cta {
  background:var(--grad); color:#06121a !important; font-weight:700;
  padding:.7rem 1.55rem; border-radius:40px; font-size:1.02rem;
}
.burger { display:none; background:none; border:none; color:#fff; font-size:1.5rem; cursor:pointer; }
.nav.scrolled .burger { color:var(--text); }
.nav-mobile-actions { display:none; align-items:center; gap:.6rem; }
/* Boton de tema (claro/oscuro) */
.theme-toggle { background:transparent; border:1px solid rgba(255,255,255,.45); color:#fff; width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--ease) .3s; }
.theme-toggle:hover { background:rgba(255,255,255,.12); }
.theme-toggle svg { width:18px; height:18px; stroke:currentColor; fill:none; }
.nav.scrolled .theme-toggle { border-color:var(--border-strong); color:var(--text); }
.nav.scrolled .theme-toggle:hover { background:var(--bg-card-hover); }
.mobile-menu {
  position:fixed; inset:0; z-index:99; background:rgba(10,13,20,.97);
  backdrop-filter:blur(10px); display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:1.6rem;
  transform:translateY(-100%); transition:var(--ease) .45s; pointer-events:none;
}
.mobile-menu.open { transform:translateY(0); pointer-events:auto; }
.mobile-menu a { font-family:var(--font-serif); font-size:1.6rem; }

/* ---------- HERO ---------- */
.hero {
  min-height:100vh; display:flex; align-items:center;
  position:relative; overflow:hidden;
}
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg img { width:100%; height:100%; object-fit:cover; }
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(8,10,16,.94) 0%, rgba(8,10,16,.78) 42%, rgba(8,10,16,.35) 100%),
             linear-gradient(0deg, rgba(8,10,16,.9), transparent 55%);
}
.hero-inner { position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; padding:0 1.5rem; width:100%; }
.hero-logo { height:96px; width:auto; margin-bottom:1.8rem; filter:drop-shadow(0 10px 30px rgba(0,0,0,.5)); }
.hero h1 {
  font-family:var(--font-serif); font-weight:700;
  font-size:clamp(2.6rem,6vw,4.6rem); line-height:1.04; letter-spacing:-1px; max-width:13ch;
}
.hero h1 { color:#f6f8fb; }
.hero p.lead { color:#d6dbe4; font-size:clamp(1.05rem,2vw,1.3rem); margin-top:1.4rem; max-width:46ch; }
.hero .addr { display:block; margin-top:1.6rem; font-weight:700; letter-spacing:.02em; white-space:nowrap; font-size:clamp(1.1rem,2.4vw,1.5rem); width:fit-content; }
.brandname { font-weight:700; }
.hero-actions { display:flex; gap:1rem; margin-top:2.4rem; flex-wrap:wrap; }
.btn {
  display:inline-flex; align-items:center; gap:.6rem; padding:.95rem 1.9rem;
  border-radius:46px; font-weight:600; font-size:.95rem; cursor:pointer; white-space:nowrap;
  border:1px solid transparent; transition:var(--ease) .35s;
}
.btn-primary { background:var(--grad); color:#06121a; }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgba(46,200,214,.25); }
.btn-ghost { background:transparent; border-color:var(--border-strong); color:var(--text); }
.btn-ghost:hover { background:var(--bg-card-hover); border-color:var(--text-soft); }
.scroll-cue { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:2; color:rgba(255,255,255,.6); font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; animation:bob 2.4s var(--ease) infinite; }
@keyframes bob { 0%,100%{transform:translate(-50%,0)} 50%{transform:translate(-50%,8px)} }

/* ---------- STATS ---------- */
.stats { background:var(--bg-secondary); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stat { padding:2.6rem 1.5rem; text-align:center; border-right:1px solid var(--border); }
.stat:last-child { border-right:none; }
.stat .v { font-family:var(--font-serif); font-size:2.8rem; font-weight:700; line-height:1; }
.stat .l { margin-top:.5rem; font-weight:600; letter-spacing:.02em; }
.stat .s { color:var(--text-mut); font-size:.85rem; margin-top:.2rem; }

/* ---------- PROYECTO split ---------- */
.split { display:grid; grid-template-columns:1.05fr 1fr; gap:4rem; align-items:center; }
.split img { border-radius:14px; box-shadow:0 30px 70px rgba(0,0,0,.45); }
.split .body p { color:var(--text-soft); margin-top:1.1rem; font-size:1.05rem; }
.pill-row { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.8rem; }
.pill { font-size:.82rem; padding:.45rem .95rem; border:1px solid var(--border); border-radius:40px; color:var(--text-soft); }

/* ---------- ATRIBUTOS ---------- */
.attr-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3rem; }
.attr-card {
  background:var(--bg-card); border:1px solid var(--border); border-radius:14px;
  padding:1.8rem 1.6rem; transition:var(--ease) .35s;
}
.attr-card:hover { background:var(--bg-card-hover); border-color:var(--border-strong); transform:translateY(-4px); }
.attr-ic {
  width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:rgba(46,200,214,.1); border:1px solid rgba(46,200,214,.22); margin-bottom:1.1rem;
}
.attr-ic svg { width:24px; height:24px; stroke:var(--cyan); }
.attr-card h3 { font-size:1.08rem; font-weight:600; }
.attr-card p { color:var(--text-soft); font-size:.92rem; margin-top:.5rem; }

/* ---------- GALERIA ---------- */
.gal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }
.gal-item { position:relative; border-radius:12px; overflow:hidden; cursor:pointer; aspect-ratio:4/3; }
.gal-item img { width:100%; height:100%; object-fit:cover; transition:var(--ease) .6s; }
.gal-item:hover img { transform:scale(1.06); }
.gal-item span { position:absolute; left:0; right:0; bottom:0; padding:1.4rem 1rem .9rem; font-size:.85rem;
  background:linear-gradient(0deg, rgba(8,10,16,.85), transparent); opacity:0; transition:.3s; }
.gal-item:hover span { opacity:1; }
.lightbox { position:fixed; inset:0; z-index:200; background:rgba(5,7,12,.95); display:flex; align-items:center; justify-content:center; padding:2rem; }
.lightbox img { max-width:92vw; max-height:86vh; border-radius:8px; object-fit:contain; }
.lb-close, .lb-nav { position:absolute; background:rgba(255,255,255,.08); border:1px solid var(--border-strong); color:#fff; width:48px; height:48px; border-radius:50%; font-size:1.4rem; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.lb-close { top:1.4rem; right:1.4rem; }
.lb-nav.prev { left:1.4rem; top:50%; transform:translateY(-50%); }
.lb-nav.next { right:1.4rem; top:50%; transform:translateY(-50%); }
.lb-cap { position:absolute; bottom:1.4rem; left:0; right:0; text-align:center; color:var(--text-soft); }

/* ---------- PLANTAS ---------- */
.plantas { background:var(--bg-secondary); }
.planta-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-top:3rem; }
.planta-card { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; overflow:hidden; transition:var(--ease) .35s; }
.planta-card:hover { transform:translateY(-4px); border-color:var(--border-strong); }
.planta-card .ph { aspect-ratio:16/10; overflow:hidden; }
.planta-card .ph img { width:100%; height:100%; object-fit:cover; }
.planta-card .pb { padding:1.3rem; }
.planta-card .m2 { color:var(--gold); font-weight:700; font-family:var(--font-serif); font-size:1.3rem; }
.planta-card h4 { font-size:1rem; margin:.3rem 0; }
.planta-card p { color:var(--text-mut); font-size:.86rem; }
.tipo-table { margin-top:3rem; border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.tipo-row { display:grid; grid-template-columns:1fr 1fr 1.4fr; padding:.95rem 1.5rem; border-bottom:1px solid var(--border); font-size:.95rem; }
.tipo-row:last-child { border-bottom:none; }
.tipo-row.head { background:var(--bg-card); font-weight:600; color:var(--gold); letter-spacing:.04em; font-size:.82rem; text-transform:uppercase; }
.tipo-row span:first-child { font-weight:600; }
.tipo-row .mt { color:var(--text-soft); }

/* ---------- UBICACION ---------- */
.ubic-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:2rem; margin-top:3rem; align-items:stretch; }
.map-col { display:flex; flex-direction:column; gap:.9rem; }
.map-frame { border-radius:14px; overflow:hidden; border:1px solid var(--border); min-height:480px; flex:1 1 auto; position:relative; }
.map-frame iframe { width:100%; height:100%; min-height:480px; border:0; filter:grayscale(.15) contrast(1.05); }
.map-btn { align-self:flex-start; padding:.76rem 1.52rem; font-size:.84rem; white-space:nowrap; }
.poi-col { display:flex; flex-direction:column; gap:.9rem; }
.poi-card { background:var(--bg-card); border:1px solid var(--border); border-radius:12px; padding:1.1rem 1.3rem; }
.poi-head { display:flex; align-items:center; gap:.65rem; font-weight:600; }
.poi-head svg { width:18px; height:18px; stroke:var(--cyan); }
.poi-card ul { list-style:none; margin-top:.6rem; display:flex; flex-wrap:wrap; gap:.4rem; }
.poi-card li { font-size:.8rem; color:var(--text-soft); background:rgba(255,255,255,.04); padding:.3rem .7rem; border-radius:30px; border:1px solid var(--border); }
.map-link { display:inline-flex; align-items:center; gap:.5rem; margin-top:1.2rem; color:var(--cyan); font-weight:600; font-size:.92rem; }

/* ---------- CONTACTO ---------- */
.contacto { background:linear-gradient(180deg, var(--bg-primary), var(--bg-secondary)); }
.cta-box { background:var(--bg-elev); border:1px solid var(--border); border-radius:20px; padding:3.5rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.cta-box h2 { font-family:var(--font-serif); font-size:2.2rem; line-height:1.15; }
.cta-box p { color:var(--text-soft); margin-top:1rem; }
.form { display:flex; flex-direction:column; gap:.9rem; }
.form input, .form textarea { background:var(--bg-primary); border:1px solid var(--border); border-radius:10px; padding:.9rem 1.1rem; color:var(--text); font-family:inherit; font-size:.95rem; }
.form input:focus, .form textarea:focus { outline:none; border-color:var(--cyan); }
.form button { margin-top:.4rem; }
.contact-lines { display:flex; flex-direction:column; gap:.7rem; margin-top:1.6rem; }
.contact-lines a { display:flex; align-items:center; gap:.7rem; color:var(--text-soft); }
.contact-lines svg { width:18px; height:18px; stroke:var(--gold); }

/* ---------- FOOTER ---------- */
footer { background:var(--bg-primary); border-top:1px solid var(--border); padding:3rem 0; }
.foot { display:flex; justify-content:flex-start; align-items:flex-end; gap:1.6rem 2rem; flex-wrap:wrap; color:var(--text-soft); font-size:1.02rem; font-weight:500; }
.foot-texts { display:flex; flex-direction:column; gap:.35rem; }
.foot img { height:48px; }

/* ---------- reveal ---------- */
.reveal { opacity:0; transform:translateY(28px); transition:var(--ease) .8s; }
.reveal.in { opacity:1; transform:none; }

/* ---------- responsive ---------- */
@media(max-width:960px){
  .nav-links{ display:none; } .burger{ display:block; } .nav-mobile-actions{ display:flex; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); } .stat:nth-child(2n){border-right:none;}
  .split{ grid-template-columns:1fr; gap:2rem; }
  .attr-grid{ grid-template-columns:repeat(2,1fr); }
  .gal-grid{ grid-template-columns:repeat(2,1fr); }
  .planta-grid{ grid-template-columns:repeat(2,1fr); }
  .ubic-grid{ grid-template-columns:1fr; }
  .cta-box{ grid-template-columns:1fr; padding:2.2rem; }
}
@media(max-width:560px){
  .attr-grid,.gal-grid,.planta-grid{ grid-template-columns:1fr; }
  .tipo-row{ grid-template-columns:1fr 1fr; } .tipo-row .uso{ display:none; }
  .pad{ padding:4.5rem 0; }
}

/* ---------- EMPLAZAMIENTO ---------- */
.emplazamiento { margin:0 0 2rem; display:flex; justify-content:center; background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden; padding:1rem; }
.emplazamiento img { max-width:100%; max-height:600px; width:auto; display:block; border-radius:6px; }

/* ---------- PLANTAS DEL EDIFICIO ---------- */
.plantas-edif { background:var(--bg-secondary); }
.pe-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; margin-top:3rem; }
.pe-card { background:#f4f5f7; border:1px solid var(--border); border-radius:14px; overflow:hidden; cursor:pointer; transition:var(--ease) .35s; display:flex; flex-direction:column; }
.pe-card:hover { transform:translateY(-4px); border-color:var(--border-strong); }
.pe-img { background:#fff; padding:1rem; height:300px; display:flex; align-items:center; justify-content:center; }
.pe-img img { max-width:100%; max-height:100%; width:auto; height:auto; display:block; }
.pe-card figcaption { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:0 1.3rem; height:74px; background:var(--bg-card); }
.pe-card figcaption b { font-size:1.05rem; white-space:nowrap; }
.pe-card figcaption span { color:var(--text-mut); font-size:.85rem; text-align:right; }

/* ---------- FICHAS ---------- */
.fic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3rem; }
.fic-card { background:#fff; border:1px solid var(--border); border-radius:12px; overflow:hidden; cursor:pointer; transition:var(--ease) .35s; }
.fic-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.4); }
.fic-card img { width:100%; height:auto; display:block; }
.fic-card figcaption { display:flex; justify-content:space-between; padding:.85rem 1.1rem; background:var(--bg-card); }
.fic-card figcaption b { color:var(--cyan); }
.fic-card figcaption span { color:var(--text-soft); font-size:.9rem; }

/* ---------- COTIZADOR ---------- */
.cotizador { background:linear-gradient(180deg,var(--bg-primary),var(--bg-secondary)); }
.cot-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:2rem; margin-top:3rem; align-items:start; }
.cot-table { border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.cot-row { display:grid; grid-template-columns:1.1fr .8fr 1.2fr .7fr 1fr; gap:.5rem; padding:.7rem 1.1rem; border-bottom:1px solid var(--border); font-size:.92rem; align-items:center; cursor:pointer; transition:.2s; }
.cot-row:last-child { border-bottom:none; }
.cot-row.head { background:var(--bg-card); color:var(--gold); font-weight:600; font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; cursor:default; }
.cot-row:not(.head):hover { background:var(--bg-card); }
.cot-row.on { background:rgba(46,200,214,.1); }
.cot-row .uf { color:var(--gold); font-weight:600; text-align:right; }
.cot-row input[type=radio] { accent-color:var(--cyan); margin-right:.3rem; }
.cot-panel { background:var(--bg-elev); border:1px solid var(--border); border-radius:16px; padding:1.8rem; position:sticky; top:90px; }
.cot-panel h3 { font-family:var(--font-serif); font-size:1.4rem; margin-bottom:1rem; }
.cot-line, .cot-total { display:flex; justify-content:space-between; padding:.5rem 0; border-bottom:1px solid var(--border); }
.cot-total { border-bottom:none; border-top:1px solid var(--border-strong); margin-top:.5rem; padding-top:.9rem; font-size:1.15rem; }
.cot-total b { color:var(--gold); }
.cot-opt { display:flex; align-items:center; gap:.55rem; padding:.6rem 0; font-size:.95rem; cursor:pointer; }
.cot-opt input { accent-color:var(--cyan); width:16px; height:16px; }
.cot-opt small { color:var(--text-mut); }
.cot-sub { color:var(--text-soft); font-size:.85rem; margin:.4rem 0 1rem; }
.cot-input, .cot-uf input { width:100%; background:var(--bg-primary); border:1px solid var(--border); border-radius:10px; padding:.75rem 1rem; color:var(--text); font-family:inherit; font-size:.92rem; margin-bottom:.8rem; }
.cot-uf { display:flex; flex-direction:column; gap:.35rem; font-size:.82rem; color:var(--text-mut); margin-bottom:1rem; }
.cot-panel .btn { width:100%; }
.cot-disc { color:var(--text-mut); font-size:.74rem; margin-top:.9rem; line-height:1.4; }
.contact-exec { color:var(--gold); font-weight:600; margin-top:1rem; font-size:.9rem; }

@media(max-width:960px){
  .pe-grid{ grid-template-columns:1fr; }
  .pe-img{ height:240px; }
  .fic-grid{ grid-template-columns:repeat(2,1fr); }
  .cot-grid{ grid-template-columns:1fr; }
  .cot-panel{ position:static; }
}
@media(max-width:560px){
  .fic-grid{ grid-template-columns:1fr; }
  .cot-row{ grid-template-columns:1fr .7fr .6fr 1fr; }
  .cot-row .hide-sm{ display:none; }
}

/* ============ TEMA CLARO ============ */
html.light {
  --bg-primary:#ffffff;
  --bg-secondary:#eef1f6;
  --bg-elev:#ffffff;
  --bg-card:rgba(12,16,26,0.035);
  --bg-card-hover:rgba(12,16,26,0.07);
  --border:rgba(12,16,26,0.12);
  --border-strong:rgba(12,16,26,0.22);
  --text:#16203a;
  --text-soft:#4b5566;
  --text-mut:#8893a4;
  --gold:#866713;
  --gold-soft:#6f5410;
  --grad-text: linear-gradient(120deg, #0e7f96 0%, #3a57bd 48%, #6a3fd0 100%);
}
html.light body { background:var(--bg-primary); }
html.light .nav.scrolled { background:rgba(255,255,255,0.88); border-bottom:1px solid var(--border); }
html.light .mobile-menu { background:rgba(255,255,255,0.97); }
html.light .mobile-menu a { color:var(--text); }
html.light .stats { background:var(--bg-secondary); }
html.light .attr-ic { background:rgba(46,200,214,0.12); border-color:rgba(46,200,214,0.30); }
html.light .poi-card li { background:rgba(12,16,26,0.04); }
html.light .brandname { color:var(--gold-soft); }


/* ============ TEMA CLARO — HERO Y NAV ============ */
html.light .hero-bg::after {
  background:linear-gradient(90deg, rgba(244,246,249,0.96) 0%, rgba(244,246,249,0.88) 55%, rgba(244,246,249,0.66) 100%),
             linear-gradient(0deg, rgba(244,246,249,0.80), rgba(244,246,249,0.55) 60%, rgba(244,246,249,0.70) 100%);
}
/* En celular: velo claro casi solido para que el hero se vea claramente claro */
@media(max-width:760px){
  html.light .hero-bg::after { background:rgba(243,245,249,0.92); }
}
html.light .hero h1 { color:#16203a; }
html.light .hero p.lead { color:#39455c; }
html.light .scroll-cue { color:rgba(20,30,50,0.55); }
html.light .nav-links a { color:var(--text-soft); }
html.light .nav-links a:hover { color:var(--text); }
html.light .burger { color:var(--text); }
html.light .theme-toggle { border-color:var(--border-strong); color:var(--text); }
html.light .theme-toggle:hover { background:var(--bg-card-hover); }
html.light .split img { box-shadow:0 30px 70px rgba(20,30,50,0.18); }
html.light .fic-card:hover { box-shadow:0 18px 40px rgba(20,30,50,0.18); }

/* ---------- Formulario de datos del cotizador ---------- */
.cot-formtitle { font-size:.86rem; color:var(--text-soft); margin:.4rem 0 .2rem; }
.cot-fields { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.cot-fields .cot-input { margin-bottom:0; }
.cot-form .cot-uf { margin-top:.8rem; }
.cot-ok { color:#2bbf88; font-size:.85rem; margin-top:.6rem; font-weight:600; }
@media(max-width:560px){ .cot-fields { grid-template-columns:1fr; } }

/* ---------- Notas de tipologías ---------- */
.tipo-notas { margin-top:1.8rem; display:flex; flex-direction:column; gap:.8rem; max-width:880px; }
.tipo-notas p { color:var(--text-soft); font-size:.98rem; line-height:1.5; padding-left:.9rem; border-left:2px solid var(--cyan); }

/* ---------- Simulador de crédito ---------- */
.cot-sim { margin:.4rem 0 1rem; padding:.9rem 1rem; background:var(--bg-card); border:1px solid var(--border); border-radius:12px; }
.cot-sim-title { font-size:.84rem; font-weight:600; color:var(--gold); margin-bottom:.6rem; }
.cot-sim-row { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; }
.cot-sim-row label { display:flex; flex-direction:column; gap:.25rem; font-size:.72rem; color:var(--text-mut); }
.cot-sim-row input { background:var(--bg-primary); border:1px solid var(--border); border-radius:8px; padding:.5rem .6rem; color:var(--text); font-family:inherit; font-size:.95rem; }
.cot-sim-row input:focus { outline:none; border-color:var(--cyan); }
.cot-sim-out { display:flex; flex-wrap:wrap; gap:.3rem .9rem; margin-top:.7rem; font-size:.85rem; color:var(--text-soft); }
.cot-sim-out b { color:var(--gold); }

/* Nota bajo la tabla de oficinas del piso 6 */
.cot-tablenote { color:var(--text-soft); font-size:.82rem; line-height:1.45; padding:.9rem 1.1rem; border-top:1px solid var(--border); }
