:root{--cyan:#19c7e8;--cyan2:#eafaff;--ink:#10242d;--muted:#60727b;--line:#dbe8ec;--bg:#f7fbfc;--white:#fff}*{box-sizing:border-box}html{scroll-padding-top:90px;scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.6}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:8px}.top{min-height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1160px)/2));border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.97);z-index:20;backdrop-filter:blur(8px)}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none}.brand .mark{display:grid;place-items:center;width:38px;height:38px;background:var(--cyan);font-size:25px;font-weight:900}.brand b,.brand small{display:block;line-height:1}.brand small{font-size:10px;letter-spacing:.28em;margin-top:5px}.top nav{display:flex;gap:24px}.top nav a{color:var(--ink);text-decoration:none;font-weight:750;font-size:.92rem}.wrap{max-width:1160px;margin:auto;padding:0 20px}.hero{padding:78px 0 60px;background:linear-gradient(180deg,var(--cyan2),#fff)}.hero.compact{padding:58px 0}.eyebrow{color:#007f9d;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.hero h1,.diag h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1;letter-spacing:-.05em;max-width:900px;margin:14px 0 24px}.diag h1{font-size:clamp(2.2rem,5vw,3.7rem)}.hero p{font-size:1.2rem;color:var(--muted);max-width:760px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;padding:13px 19px;border-radius:9px;text-decoration:none;font-weight:850;border:1px solid var(--ink);color:var(--ink);background:#fff;cursor:pointer;font:inherit}.btn.primary{background:var(--cyan);border-color:var(--cyan)}section{padding:66px 0}h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 12px}.intro{color:var(--muted);max-width:760px;margin-bottom:28px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:14px;padding:24px;background:#fff}.card h3{margin:6px 0 8px;font-size:1.3rem}.card p,.prose p{color:var(--muted)}.card a,.prose a{color:#007f9d;font-weight:850}.soft{background:var(--bg)}.diag{max-width:820px;margin:auto}.step{border:1px solid var(--line);border-radius:14px;padding:22px;margin:15px 0;background:#fff}.step>label{display:block;font-weight:850;margin-bottom:12px}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.choices label{font-weight:600;border:1px solid var(--line);border-radius:9px;padding:11px;cursor:pointer}.result{display:none;border:2px solid var(--cyan);border-radius:16px;padding:26px;margin-top:25px;background:var(--cyan2);scroll-margin-top:92px}.score{font-size:3rem;font-weight:900;letter-spacing:-.05em}.meter{height:12px;background:#dbe7ea;border-radius:20px;overflow:hidden}.meter span{display:block;height:100%;background:var(--cyan)}.issues{padding-left:22px}.notice{font-size:.9rem;color:var(--muted)}.toolbox{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.toolbox label{font-weight:800}.toolbox input,.toolbox select{width:100%;display:block;margin-top:7px;padding:12px;border:1px solid #bfcfd5;border-radius:8px;background:#fff;font:inherit;color:var(--ink)}.toolbox .btn{align-self:end}.formula{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}.prose{max-width:850px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.process div{display:flex;gap:14px;padding:22px;border-top:3px solid var(--cyan);background:var(--bg)}.process b{font-size:1.6rem}.process span{color:var(--muted)}.wa-float{position:fixed;right:20px;bottom:20px;z-index:30;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#19c7e8;color:#10242d;text-decoration:none;font-weight:950;box-shadow:0 10px 30px rgba(16,36,45,.22);border:2px solid #fff}footer{padding:50px 20px;text-align:center;background:#0e2028;color:#fff}footer p,footer small{opacity:.78}footer a{color:#fff}@media(max-width:760px){html{scroll-padding-top:74px}.top{min-height:70px;padding:0 16px}.top nav{gap:0}.top nav a:not(:last-child){display:none}.top nav a{font-size:.95rem}.hero{padding:48px 0 44px}.hero.compact{padding:42px 0}.grid,.process,.toolbox{grid-template-columns:1fr}.choices{grid-template-columns:1fr}.result{scroll-margin-top:82px}.wrap{padding:0 18px}section{padding:48px 0}.wa-float{right:16px;bottom:16px;width:54px;height:54px}}

/* V0.3.2 identidad oficial */
.brand.official{display:flex;align-items:center;gap:12px;background:#071f2c;padding:8px 13px;border-radius:11px}
.brand.official img{display:block;width:128px;height:40px;object-fit:contain}
.brand.official .tesis-label{color:#fff;font-size:13px;font-weight:900;letter-spacing:3px;border-left:1px solid rgba(255,255,255,.45);padding-left:12px}
@media(max-width:700px){
 .brand.official{padding:7px 9px;gap:8px}
 .brand.official img{width:104px;height:34px}
 .brand.official .tesis-label{font-size:11px;letter-spacing:2px;padding-left:8px}
}


/* =========================================================
   EUCKEN TESIS V0.3.3 — AJUSTES VISUALES
   Solo presentación: cuadrículas + botón flotante WhatsApp
   ========================================================= */

/* Herramientas y servicios: 3 columnas en escritorio */
#herramientas .cards,
#servicios .cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch;
}

#herramientas .card,
#servicios .card {
  min-width: 0;
  height: 100%;
}

/* Tablet */
@media (max-width: 980px) {
  #herramientas .cards,
  #servicios .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Móvil */
@media (max-width: 680px) {
  #herramientas .cards,
  #servicios .cards {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* Botón flotante: conserva enlace/funcionalidad existente y mejora apariencia */
.wa-float,
.whatsapp-float,
a[href*="wa.me"].floating,
a[href*="wa.me"].wa-float {
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  text-decoration: none !important;
  overflow: hidden;
}

/* Si el botón existente contiene el texto WA, dibuja el símbolo de WhatsApp sin librerías externas */
.wa-float::before,
.whatsapp-float::before,
a[href*="wa.me"].floating::before {
  content: "" !important;
  width: 29px;
  height: 29px;
  display: block;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='white' d='M16.04 3C8.85 3 3 8.73 3 15.78c0 2.25.6 4.45 1.74 6.38L3 28.5l6.54-1.7a13.2 13.2 0 0 0 6.49 1.67h.01C23.23 28.47 29 22.74 29 15.7 29 8.66 23.23 3 16.04 3Zm7.62 18.05c-.32.9-1.86 1.72-2.57 1.82-.66.1-1.5.14-2.42-.14-.56-.17-1.28-.41-2.2-.8-3.87-1.64-6.4-5.47-6.6-5.73-.2-.26-1.57-2.05-1.57-3.91 0-1.86.99-2.78 1.34-3.16.35-.38.77-.48 1.02-.48h.74c.24 0 .56-.09.87.65.32.76 1.08 2.58 1.18 2.77.1.19.16.41.03.67-.13.26-.2.42-.39.65-.19.22-.41.5-.58.67-.19.19-.39.4-.17.78.23.38 1 1.62 2.15 2.63 1.48 1.3 2.73 1.7 3.12 1.89.39.19.61.16.84-.1.22-.25.96-1.1 1.21-1.48.26-.38.52-.32.87-.19.35.13 2.23 1.03 2.61 1.22.39.19.65.29.74.45.1.16.1.93-.22 1.83Z'/%3E%3C/svg%3E");
}

@media (max-width: 680px) {
  .wa-float,
  .whatsapp-float,
  a[href*="wa.me"].floating,
  a[href*="wa.me"].wa-float {
    width: 54px !important;
    height: 54px !important;
  }
}

/* V0.4 SEO + captación */
.seo-hero h1{max-width:900px}
.seo-copy{max-width:900px}
.seo-section{padding:28px 0;border-bottom:1px solid #d7e5ea}
.seo-section h2{margin:0 0 10px;font-size:clamp(24px,3vw,34px)}
.seo-section p{margin:0;color:#526975;font-size:18px;line-height:1.75}
.seo-cta{margin:42px 0 20px;padding:28px;border:1px solid #cfe1e7;border-radius:18px;background:#eefbfe;display:flex;gap:24px;align-items:center;justify-content:space-between}
.seo-cta h2{margin:4px 0 8px}
.seo-cta p{margin:0;max-width:620px}
@media(max-width:760px){.seo-cta{display:block}.seo-cta .btn{margin-top:18px;width:100%;text-align:center}}

@media(min-width:981px){main>section.soft .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}

/* V0.5 biblioteca SEO long-tail */
.guide-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.guide-grid .card{height:100%;min-width:0}
@media(max-width:980px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.guide-grid{grid-template-columns:1fr!important}}


/* V0.6 SEO avanzado — breadcrumbs + enlazado interno; sin imágenes */
.breadcrumbs{
  padding-top:18px;
  padding-bottom:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-size:14px;
  color:#607580;
}
.breadcrumbs a{color:#007f9e;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.related-guides{padding-top:10px}
.related-guides h2{margin-top:6px}
.related-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.related-links a{
  display:block;
  padding:16px 18px;
  border:1px solid #cfe1e7;
  border-radius:14px;
  text-decoration:none;
  font-weight:700;
}
@media(max-width:680px){
  .related-links{grid-template-columns:1fr}
}

/* V0.7 Motor de captación */
#obs{border:1px solid #bdd5dd;border-radius:12px;font:inherit;line-height:1.55;resize:vertical}
#obs:focus{outline:2px solid #19c7e8;outline-offset:2px}

/* V0.8 Autoridad Ecuador — sin páginas por ciudad */
.authority-ec{padding:44px 0;border-top:1px solid #d8e6eb;border-bottom:1px solid #d8e6eb}.authority-ec h2{margin:6px 0 10px}.authority-ec p{max-width:820px;line-height:1.7}
