/* ── RESOLVER ASESORES — Main CSS ── */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;400;700;800;900&family=Barlow:wght@300;400;500&display=swap');

:root {
  --negro:  #111110;
  --crema:  #f2efe6;
  --crema2: #e8e4da;
  --fluor:  #aaff00;
  --gris:   #8a8880;
  --texto:  #1e1e1c;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Barlow', sans-serif; font-weight: 300; background: var(--crema); color: var(--texto); cursor: none; overflow-x: hidden; }
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* CURSOR */
.cursor-dot { width:10px;height:10px;border-radius:50%;background:var(--negro);position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:background .12s,transform .15s; }
.cursor-ring { width:32px;height:32px;border-radius:50%;border:1.5px solid var(--negro);position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:.55;transition:border-color .12s,opacity .15s; }
.cursor-dot.inv  { background:#fff; }
.cursor-ring.inv { border-color:#fff; }
.cursor-dot.big  { transform:translate(-50%,-50%) scale(2); }
.cursor-ring.big { opacity:.15; }
*,a,button,input,select,textarea { cursor:none!important; }

/* HEADER */
#site-header { position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 4rem;background:var(--negro);transition:box-shadow .3s; }
#site-header.scrolled { box-shadow:0 2px 24px rgba(0,0,0,.45); }
#site-header .logo img { height:38px;width:auto;filter:invert(1); }
#main-nav { display:flex;gap:2.5rem; }
#main-nav a { font-family:'Barlow Condensed',sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,244,236,.5);position:relative;transition:color .2s; }
#main-nav a::after { content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--fluor);transition:width .25s; }
#main-nav a:hover, #main-nav a.active { color:#fff; }
#main-nav a:hover::after, #main-nav a.active::after { width:100%; }
.header-cta { font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--negro);background:var(--fluor);padding:.65rem 1.5rem;transition:background .2s; }
.header-cta:hover { background:#c8ff33; }
#nav-burger { display:none;background:none;border:none;color:#fff;font-size:1.4rem;padding:.4rem; }

/* TICKER */
.ticker-wrap { overflow:hidden;padding:.65rem 0;white-space:nowrap;background:var(--fluor); }
.ticker-track { display:inline-block;animation:ticker 28s linear infinite; }
.ticker-track span { font-family:'Barlow Condensed',sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--negro);margin-right:4rem; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

/* SCROLL REVEAL */
.rv   { opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease; }
.rv-l { opacity:0;transform:translateX(-28px);transition:opacity .65s ease,transform .65s ease; }
.rv-r { opacity:0;transform:translateX(28px);transition:opacity .65s ease,transform .65s ease; }
.rv.on,.rv-l.on,.rv-r.on { opacity:1;transform:translate(0); }

/* BOTONES */
.btn-primary { display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--negro);background:var(--fluor);padding:.95rem 2.2rem;transition:background .2s; }
.btn-primary:hover { background:#c8ff33; }
.btn-secondary { display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--texto);border:1.5px solid var(--texto);padding:.95rem 2.2rem;transition:background .2s,color .2s; }
.btn-secondary:hover { background:var(--texto);color:var(--crema); }
.btn-dark { display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--crema);background:var(--negro);padding:.95rem 2.2rem;transition:background .2s; }
.btn-dark:hover { background:#2a2a28; }
.btn-outline-white { display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff;border:1.5px solid rgba(247,244,236,.25);padding:.95rem 2.2rem;transition:border-color .2s,background .2s; }
.btn-outline-white:hover { background:rgba(255,255,255,.08); }

/* PAGE HEADER */
.page-header { padding:9rem 4rem 5rem;background:var(--negro);position:relative;overflow:hidden; }
.page-header-bg { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.15;pointer-events:none; }
.page-header-inner { position:relative;z-index:1; }
.page-header .eyebrow { color:var(--gris);margin-bottom:1.2rem; }
.page-header h1 { font-family:'Barlow Condensed',sans-serif;font-size:clamp(3.5rem,7vw,7rem);font-weight:900;text-transform:uppercase;color:#fff;line-height:.9;letter-spacing:-.02em; }
.page-header h1 span { color:var(--fluor); }
.page-header .lead { font-size:1.1rem;font-weight:300;color:rgba(247,244,236,.5);margin-top:1.5rem;max-width:540px;line-height:1.72; }

/* TYPOGRAPHY HELPERS */
.eyebrow { font-family:'Barlow Condensed',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--gris);display:block;margin-bottom:.8rem; }
.eyebrow-fluor { color:var(--fluor)!important; }
.section-title { font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.2rem,3.8vw,4rem);font-weight:900;text-transform:uppercase;line-height:.93;letter-spacing:-.015em;color:var(--texto); }
.section-title-white { color:#fff; }

/* HOME HERO */
.hero-split { min-height:100vh;display:grid;grid-template-columns:1fr 1fr; }
.hero-left { background:var(--negro);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8rem 4rem 5rem;position:relative;overflow:hidden;min-height:100vh; }
.hero-left-bg { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.1;pointer-events:none; }
.hero-left-inner { position:relative;z-index:1;text-align:center; }
.hero-logo { max-width:260px;width:100%;filter:invert(1);display:block;margin:0 auto 2rem;animation:fadeIn 1s .2s both; }
.hero-accent { width:48px;height:2px;background:var(--fluor);margin:0 auto; }
.hero-right { background:var(--crema);display:flex;flex-direction:column;justify-content:center;padding:8rem 5rem 5rem; }
.hero-right h1 { font-family:'Barlow Condensed',sans-serif;font-size:clamp(3rem,5.5vw,5.5rem);font-weight:900;text-transform:uppercase;line-height:.93;letter-spacing:-.02em;color:var(--texto);margin:1.2rem 0 1.8rem; }
.hero-right h1 .outline { color:transparent;-webkit-text-stroke:2px var(--texto); }
.hero-right .lead { font-size:1.05rem;font-weight:300;color:#7a7870;line-height:1.78;max-width:420px;margin-bottom:2.5rem; }
.hero-btns { display:flex;gap:1rem;flex-wrap:wrap; }

/* INTRO */
.intro-section { padding:7rem 4rem;background:var(--crema); }
.intro-grid { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center; }
.intro-grid img { width:100%;height:420px;object-fit:cover;object-position:center top; }
.intro-text .lead { font-size:1.05rem;font-weight:300;color:#7a7870;line-height:1.75;margin-top:1rem; }

/* STATS */
.stats-section { background:var(--crema2);padding:4rem; }
.stats-grid { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--crema2); }
.stat-box { background:var(--crema);padding:2.2rem 1.8rem; }
.stat-box.fluor { background:var(--fluor); }
.stat-num { font-family:'Barlow Condensed',sans-serif;font-size:3rem;font-weight:900;color:var(--negro);line-height:1;display:block;margin-bottom:.4rem; }
.stat-box.fluor .stat-num { color:var(--negro); }
.stat-lbl { font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris); }
.stat-box.fluor .stat-lbl { color:var(--negro);opacity:.65; }

/* SERVICES PREVIEW */
.services-section { padding:7rem 4rem;background:var(--negro); }
.services-wrap { max-width:1100px;margin:0 auto; }
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(247,244,236,.05); }
.service-card { background:var(--negro);padding:2.8rem 2.4rem;border-bottom:2px solid transparent;transition:border-color .25s,background .25s; }
.service-card:hover { background:#1c1c1a;border-color:var(--fluor); }
.service-num { font-family:'Barlow Condensed',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--fluor);display:block;margin-bottom:1.2rem; }
.service-card h3 { font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:800;text-transform:uppercase;color:#fff;margin-bottom:.7rem; }
.service-card p { font-size:.88rem;font-weight:300;color:rgba(247,244,236,.45);line-height:1.7; }

/* ALICANTE */
.alicante-section { padding:7rem 4rem;background:var(--crema); }
.alicante-grid { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center; }
.alicante-grid img { width:100%;height:400px;object-fit:cover; }
.alicante-text .lead { font-size:1.05rem;font-weight:300;color:#7a7870;line-height:1.75;margin-top:1rem; }

/* CTA */
.cta-section { padding:7rem 4rem;background:var(--negro);text-align:center; }
.cta-inner { max-width:600px;margin:0 auto; }
.cta-section h2 { font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.2rem,3.8vw,4rem);font-weight:900;text-transform:uppercase;line-height:.93;color:#fff;letter-spacing:-.015em;margin-bottom:1.2rem; }
.cta-section .lead { font-size:1.05rem;font-weight:300;color:rgba(247,244,236,.5);line-height:1.75;margin-bottom:2.5rem; }
.cta-btns { display:flex;gap:1rem;justify-content:center;flex-wrap:wrap; }

/* WORDPLAY */
.wordplay { padding:2.2rem 2.5rem;border-left:3px solid var(--fluor);background:var(--crema2);margin:2rem 0; }
.wordplay p { font-family:'Barlow Condensed',sans-serif;font-size:1.4rem;font-weight:800;text-transform:uppercase;line-height:1.4;color:var(--texto); }
.wordplay span { color:#7fb300; }

/* SERVICIOS PAGE */
.svc-rows { max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1px; }
.svc-row { display:grid;grid-template-columns:1fr 1fr; }
.svc-row-text { padding:4rem 3.5rem; }
.svc-row-text.dark { background:var(--negro); }
.svc-row-text.light { background:var(--crema2); }
.svc-row-num { font-family:'Barlow Condensed',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;display:block;margin-bottom:1rem; }
.dark .svc-row-num { color:var(--fluor); }
.light .svc-row-num { color:var(--gris); }
.svc-row-text h3 { font-family:'Barlow Condensed',sans-serif;font-size:2rem;font-weight:900;text-transform:uppercase;margin-bottom:1rem; }
.dark h3 { color:#fff; }
.light h3 { color:var(--texto); }
.svc-desc { font-size:.95rem;font-weight:300;line-height:1.78;margin-bottom:1.5rem; }
.dark .svc-desc { color:rgba(247,244,236,.5); }
.light .svc-desc { color:#7a7870; }
.svc-bullets li { font-size:.85rem;color:var(--gris);font-weight:300;margin-bottom:.4rem; }
.svc-row-img { height:400px;overflow:hidden; }
.svc-row-img img { width:100%;height:100%;object-fit:cover; }
.svc-mini-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--crema2); }
.svc-mini-card { padding:3rem 2.5rem; }
.svc-mini-card.dark { background:var(--negro); }
.svc-mini-card.light { background:var(--crema); }
.svc-mini-card h3 { font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:900;text-transform:uppercase;margin-bottom:.8rem; }
.svc-mini-card p { font-size:.9rem;font-weight:300;line-height:1.72; }

/* NOSOTROS PAGE */
.about-grid { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start; }
.about-photo-wrap { position:relative; }
.about-photo-bg { position:absolute;top:16px;left:16px;right:-16px;bottom:-16px;background:var(--fluor);opacity:.12;z-index:0; }
.about-photo { width:100%;height:500px;object-fit:cover;object-position:top center;position:relative;z-index:1; }
.about-caption { position:absolute;bottom:-14px;left:0;z-index:2;background:var(--negro);padding:.8rem 1.5rem; }
.about-caption strong { font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;display:block; }
.about-caption span { font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gris); }
.about-text p { font-size:1rem;font-weight:300;line-height:1.85;color:#7a7870; }
.about-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--crema2);margin-top:2rem; }
.about-stat { background:var(--crema);padding:1.8rem 1.5rem; }
.about-stat.fluor { background:var(--fluor); }

.quote-banner { position:relative;height:380px;overflow:hidden; }
.quote-banner img { width:100%;height:100%;object-fit:cover;filter:brightness(.65); }
.quote-banner-inner { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem; }
blockquote { font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:900;text-transform:uppercase;color:#fff;line-height:1.15;max-width:800px; }
cite { display:block;margin-top:1.2rem;font-size:.8rem;color:rgba(255,255,255,.5);letter-spacing:.15em;text-transform:uppercase;font-style:normal; }
.steps-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(247,244,236,.06); }
.step-card { background:var(--negro);padding:2.5rem 2rem; }
.step-num { font-family:'Barlow Condensed',sans-serif;font-size:3rem;font-weight:900;color:rgba(170,255,0,.2);line-height:1;display:block;margin-bottom:1rem; }
.step-card h4 { font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:800;text-transform:uppercase;color:#fff;margin-bottom:.6rem; }
.step-card p { font-size:.85rem;font-weight:300;color:rgba(247,244,236,.45);line-height:1.65; }

/* BLOG PAGE */
.blog-filters { display:flex;gap:.8rem;margin-bottom:3rem;flex-wrap:wrap; }
.blog-filter-btn { font-family:'Barlow Condensed',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:.45rem 1.1rem;border:1.5px solid var(--crema2);background:var(--crema);color:var(--gris);transition:all .2s; }
.blog-filter-btn.active,.blog-filter-btn:hover { background:var(--negro);color:#fff;border-color:var(--negro); }
.blog-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2rem; }
.blog-card { background:#fff;overflow:hidden;transition:transform .25s,box-shadow .25s; }
.blog-card:hover { transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1); }
.blog-card-img { height:200px;overflow:hidden; }
.blog-card-img img { width:100%;height:100%;object-fit:cover;transition:transform .4s; }
.blog-card:hover .blog-card-img img { transform:scale(1.05); }
.blog-card-body { padding:1.8rem; }
.blog-tag { display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--negro);background:var(--fluor);padding:.25rem .7rem;margin-bottom:.9rem; }
.blog-date { font-size:.74rem;color:var(--gris);font-weight:300;margin-left:.8rem; }
.blog-card h3 { font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;font-weight:800;text-transform:uppercase;color:var(--texto);line-height:1.2;margin:.5rem 0 .7rem; }
.blog-card p { font-size:.87rem;font-weight:300;color:#7a7870;line-height:1.68;margin-bottom:1.3rem; }
.blog-read-more { font-family:'Barlow Condensed',sans-serif;font-size:.73rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--texto);border-bottom:1.5px solid var(--fluor);padding-bottom:.1rem; }

/* CONTACTO PAGE */
.contact-grid { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:6rem;align-items:start; }
.contact-info-img { height:220px;overflow:hidden;margin-bottom:2rem; }
.contact-info-img img { width:100%;height:100%;object-fit:cover; }
.contact-list { display:flex;flex-direction:column;gap:1.4rem;margin-bottom:2rem; }
.contact-list li { display:flex;gap:1.2rem;align-items:flex-start; }
.contact-label { font-family:'Barlow Condensed',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--texto);min-width:60px;padding-top:.15rem; }
.contact-list a, .contact-list span { font-size:.95rem;font-weight:300;color:#7a7870;line-height:1.6; }
.contact-list a:hover { color:var(--texto); }
.contact-hours { background:var(--negro);padding:1.8rem;margin-bottom:1px; }
.contact-hours-lbl { font-family:'Barlow Condensed',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);display:block;margin-bottom:.6rem; }
.contact-hours p { font-size:.9rem;font-weight:300;color:rgba(247,244,236,.55);line-height:1.7; }
.contact-free { background:var(--fluor);padding:1.8rem; }
.contact-free-lbl { font-family:'Barlow Condensed',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--negro);opacity:.6;display:block;margin-bottom:.4rem; }
.contact-free p { font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:900;text-transform:uppercase;color:var(--negro); }
.contact-form { display:flex;flex-direction:column;gap:.9rem; }
.form-note { font-size:.8rem;color:var(--gris);padding:.8rem 1rem;background:var(--crema2);border-left:3px solid var(--fluor); }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.form-group { display:flex;flex-direction:column;gap:.4rem; }
.form-group label { font-family:'Barlow Condensed',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--gris); }
.form-group input,.form-group select,.form-group textarea { background:var(--crema2);border:1.5px solid transparent;color:var(--texto);font-family:'Barlow',sans-serif;font-size:.9rem;font-weight:300;padding:.9rem 1rem;outline:none;width:100%;transition:border-color .2s; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--fluor); }
.form-group textarea { height:130px;resize:none; }
.form-submit { width:100%;font-family:'Barlow Condensed',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--negro);background:var(--fluor);border:none;padding:1rem;transition:background .2s; }
.form-submit:hover { background:#c8ff33; }

/* FOOTER */
#site-footer { background:#0d0d0c;border-top:1px solid rgba(247,244,236,.05); }
.footer-grid { display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;padding:5rem 4rem 3rem; }
.footer-logo img { height:36px;filter:invert(1);margin-bottom:.9rem; }
.footer-logo p { font-size:.88rem;color:var(--gris);font-weight:300;line-height:1.7;max-width:240px; }
.footer-col { display:flex;flex-direction:column;gap:.7rem; }
.footer-col-title { font-family:'Barlow Condensed',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#fff;margin-bottom:.3rem; }
.footer-col a,.footer-col span { font-size:.85rem;color:var(--gris);font-weight:300;transition:color .2s; }
.footer-col a:hover { color:var(--fluor); }
.footer-bottom { padding:1.4rem 4rem;border-top:1px solid rgba(247,244,236,.05);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem; }
.footer-bottom span { font-size:.72rem;color:rgba(138,136,128,.4); }

/* RESPONSIVE */
@media(max-width:1024px){
  #site-header{padding:1rem 2rem;}
  .hero-split{grid-template-columns:1fr;}
  .hero-left{min-height:50vh;padding:8rem 2rem 4rem;}
  .hero-right{padding:4rem 2rem;}
  .intro-grid,.alicante-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:3rem;}
  .stats-grid,.steps-grid{grid-template-columns:repeat(2,1fr);}
  .services-grid,.svc-mini-grid,.blog-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .svc-row{grid-template-columns:1fr;}
  .svc-row-img{height:280px;}
}
@media(max-width:768px){
  #site-header{padding:1rem 1.5rem;}
  #main-nav{display:none;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--negro);padding:1.5rem 2rem;gap:1.2rem;}
  #main-nav.open{display:flex;}
  #nav-burger{display:block;}
  .header-cta{display:none;}
  .page-header,.intro-section,.alicante-section,.services-section,.cta-section,.stats-section{padding-left:1.5rem;padding-right:1.5rem;}
  .stats-grid,.steps-grid,.services-grid,.svc-mini-grid,.blog-grid,.footer-grid{grid-template-columns:1fr;}
  .footer-grid{padding:3rem 1.5rem 2rem;gap:2rem;}
  .footer-bottom{padding:1rem 1.5rem;}
  .contact-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr;}
}
