/* ============================================================
   Dr. Víctor González — Radiooncología
   Sistema de marca derivado del logotipo (onda azul en círculo)
   ============================================================ */

:root{
  /* Paleta — azul del logo como ancla, con calidez para humanizar y madurar */
  --azul-900:#0a2140;   /* azul profundo, casi tinta — encabezados, autoridad */
  --azul-700:#123a72;
  --azul-600:#1e5299;   /* azul de marca, algo más sereno que el brillante original */
  --azul-500:#2f6bbf;
  --azul-100:#e4edf7;   /* fondos suaves fríos */
  --azul-050:#f2f6fb;
  --tinta:#233140;      /* cuerpo de texto, cálido-neutro */
  --gris:#63707e;       /* texto secundario */
  --linea:#e3e0d8;      /* hairlines cálidas (arena tenue, no azul) */
  --linea-f:#dbe4f0;    /* hairline fría, para elementos azules */
  --papel:#ffffff;
  --papel-2:#faf7f1;    /* papel cálido (arena muy tenue) — clave para la calidez */
  --arena:#f3ecdf;      /* fondo cálido de acento */
  --acento:#c08a3e;     /* ámbar/oro discreto — calidez + señal premium */
  --acento-2:#12a394;   /* verde-azulado de la onda del logo, para detalles finos */

  --radio:16px;
  --sombra:0 1px 2px rgba(10,33,64,.05), 0 10px 34px rgba(10,33,64,.09);
  --sombra-cal:0 1px 2px rgba(120,90,40,.05), 0 14px 40px rgba(120,90,40,.10);
  --ancho:1120px;

  --serif:"Fraunces","Newsreader",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--tinta);
  background:var(--papel);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  font-size:17px;
}
img{max-width:100%;display:block}
a{color:var(--azul-600);text-decoration:none}
a:hover{text-decoration:underline}

.wrap{max-width:var(--ancho);margin:0 auto;padding:0 24px}

h1,h2,h3{font-family:var(--serif);color:var(--azul-900);line-height:1.15;font-weight:500}
h1{font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:-.02em}
h2{font-size:clamp(1.6rem,3.5vw,2.4rem);letter-spacing:-.01em}
h3{font-size:1.25rem}
.eyebrow{
  font-family:var(--sans);
  font-size:.78rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--azul-600);
  display:flex;align-items:center;gap:.55rem;margin-bottom:.9rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--acento);display:inline-block}

/* ---------- Header ---------- */
.site-head{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.9);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--linea);
}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--azul-900)}
.brand:hover{text-decoration:none}
.brand img{width:40px;height:40px;border-radius:50%}
.brand .n{font-family:var(--serif);font-size:1.12rem;line-height:1.05}
.brand .n small{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
nav.main{display:flex;align-items:center;gap:26px}
nav.main a{color:var(--tinta);font-size:.95rem;font-weight:500}
nav.main a:hover{color:var(--azul-600);text-decoration:none}
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--azul-600);color:#fff !important;
  padding:.7rem 1.15rem;border-radius:999px;
  font-weight:600;font-size:.95rem;border:0;cursor:pointer;text-decoration:none;
  transition:transform .12s ease,background .2s ease;
}
.btn:link,.btn:visited,.btn:hover,.btn:active{color:#fff !important;text-decoration:none}
.btn.ghost,.btn.ghost:link,.btn.ghost:visited{color:var(--azul-700) !important}
.cta-band .btn,.cta-band .btn:link,.cta-band .btn:visited{background:#fff !important;color:var(--azul-700) !important}
.cta-band .btn.wa,.cta-band .btn.wa:link,.cta-band .btn.wa:visited{background:#128c7e !important;color:#fff !important}
.btn:hover{background:var(--azul-700);text-decoration:none;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--azul-700);border:1.5px solid var(--linea)}
.btn.ghost:hover{border-color:var(--azul-600);background:var(--azul-050)}
.btn.wa{background:#128c7e}
.btn.wa:hover{background:#0e7266}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--azul-900);margin:5px 0;transition:.2s}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--arena) 0%,var(--papel-2) 45%,#fff 100%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:68px;padding-bottom:68px}
.hero h1 span{color:var(--azul-600)}
.hero .lead{font-size:1.18rem;color:var(--gris);margin:1.2rem 0 1.8rem;max-width:36ch}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:12px}
.hero-media{position:relative}
.hero-media img{border-radius:var(--radio);box-shadow:var(--sombra-cal);width:100%;object-fit:cover;aspect-ratio:4/5}
.cred-chip{
  position:absolute;bottom:-18px;left:-18px;background:#fff;
  border:1px solid var(--linea);border-radius:14px;padding:14px 16px;
  box-shadow:var(--sombra);display:flex;gap:12px;align-items:center;max-width:260px;
}
.cred-chip .dot{width:38px;height:38px;border-radius:10px;background:var(--arena);display:grid;place-items:center;flex:none}
.cred-chip strong{display:block;font-size:.92rem;color:var(--azul-900)}
.cred-chip small{color:var(--gris);font-size:.78rem;line-height:1.3;display:block}
/* Anclas de credibilidad flotantes sobre el retrato (juventud + autoridad) */
.hero-media .stat-chip{
  position:absolute;top:18px;right:-14px;background:var(--azul-900);color:#fff;
  border-radius:12px;padding:12px 15px;box-shadow:var(--sombra);max-width:170px;
}
.hero-media .stat-chip .rev{color:#f0b429;font-size:.95rem;letter-spacing:1px}
.hero-media .stat-chip strong{display:block;font-family:var(--serif);font-size:1.15rem;margin-top:2px}
.hero-media .stat-chip small{color:#c3d0e0;font-size:.74rem;display:block;line-height:1.3;margin-top:2px}

/* ---------- Trust strip ---------- */
.trust{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);background:#fff}
.trust .wrap{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;padding:22px 24px}
.trust .item{display:flex;gap:12px;align-items:center;font-size:.9rem;color:var(--gris);flex:1;min-width:200px}
.trust .item b{color:var(--azul-900);font-family:var(--serif);font-size:1.05rem;font-weight:500}
.trust .item svg{flex:none;color:var(--azul-600)}

/* ---------- Sections ---------- */
section{padding:72px 0}
section.tight{padding:52px 0}
.section-head{max-width:60ch;margin-bottom:44px}
.section-head p{color:var(--gris);margin-top:.6rem;font-size:1.08rem}
.bg-soft{background:var(--papel-2)}

/* Cards grid */
.grid{display:grid;gap:22px}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.card{
  background:#fff;border:1px solid var(--linea);border-radius:var(--radio);
  padding:28px;transition:border-color .2s,box-shadow .2s,transform .2s;
}
.card:hover{border-color:#c2d4ee;box-shadow:var(--sombra);transform:translateY(-2px)}
.card .ico{width:46px;height:46px;border-radius:11px;background:var(--azul-100);display:grid;place-items:center;color:var(--azul-600);margin-bottom:16px}
.card h3{margin-bottom:.5rem}
.card p{color:var(--gris);font-size:.97rem}
.card .more{margin-top:14px;font-weight:600;font-size:.9rem;display:inline-flex;gap:.35rem;align-items:center}

/* Split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.split.rev .media{order:2}
.split .media img{border-radius:var(--radio);box-shadow:var(--sombra);width:100%;aspect-ratio:4/3;object-fit:cover}
.split ul{list-style:none;margin-top:1.2rem;display:grid;gap:.7rem}
.split ul li{display:flex;gap:.7rem;align-items:flex-start;color:var(--tinta);font-size:1rem}
.split ul li svg{color:var(--acento);flex:none;margin-top:3px}

/* Credentials list */
.creds{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:8px}
.cred{display:flex;gap:14px;padding:18px;border:1px solid var(--linea);border-radius:12px;background:#fff}
.cred .yr{font-family:var(--serif);color:var(--azul-600);font-size:.95rem;font-weight:500;white-space:nowrap;flex:none;width:78px}
.cred div p{font-size:.9rem;color:var(--gris);margin-top:2px}
.cred div strong{color:var(--azul-900);font-size:.98rem}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--azul-700),var(--azul-600));color:#fff;border-radius:20px;padding:52px;text-align:center;margin:0 auto}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.9);max-width:52ch;margin:.8rem auto 1.8rem;font-size:1.1rem}
.cta-band .btn:hover{background:var(--azul-050)}
.cta-band .btn.wa:hover{background:#0e7266}
.cta-band .cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ---------- Footer ---------- */
.site-foot{background:var(--azul-900);color:#cdd9ec;padding:56px 0 28px;font-size:.92rem}
.site-foot a{color:#cdd9ec}
.site-foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-bottom:36px}
.site-foot h4{color:#fff;font-family:var(--sans);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;font-weight:600}
.site-foot ul{list-style:none;display:grid;gap:8px}
.site-foot .brand-f{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.site-foot .brand-f img{width:44px;height:44px;border-radius:50%}
.site-foot .brand-f .n{font-family:var(--serif);color:#fff;font-size:1.1rem}
.site-foot .legal{border-top:1px solid rgba(255,255,255,.14);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;color:#8fa6c6}
.disclaimer{font-size:.82rem;color:#8fa6c6;max-width:60ch;margin-top:10px;line-height:1.5}

/* ---------- Breadcrumb + page hero ---------- */
.page-hero{background:linear-gradient(180deg,var(--azul-050),#fff);padding:56px 0 40px;border-bottom:1px solid var(--linea)}
.crumb{font-size:.85rem;color:var(--gris);margin-bottom:1rem}
.crumb a{color:var(--gris)}
.page-hero p.lead{color:var(--gris);font-size:1.12rem;max-width:60ch;margin-top:.8rem}

/* Prose (blog / article) */
.prose{max-width:70ch;margin:0 auto}
.prose p{margin:1.1rem 0;color:var(--tinta)}
.prose h2{margin:2rem 0 .8rem}
.prose h3{margin:1.6rem 0 .6rem}
.prose ul,.prose ol{margin:1rem 0 1rem 1.3rem;color:var(--tinta)}
.prose li{margin:.4rem 0}
.callout{background:var(--azul-050);border-left:3px solid var(--azul-600);padding:18px 22px;border-radius:0 10px 10px 0;margin:1.6rem 0;color:var(--tinta)}
figure.article-fig{margin:2rem 0}
figure.article-fig img{border-radius:14px;box-shadow:var(--sombra);width:100%}
figure.article-fig figcaption{font-size:.85rem;color:var(--gris);margin-top:.7rem;text-align:center;font-style:italic}

/* Blog list */
.post-list{display:grid;gap:20px}
.post-item{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:24px;border:1px solid var(--linea);border-radius:var(--radio);background:#fff;transition:.2s}
.post-item:hover{border-color:#c2d4ee;box-shadow:var(--sombra)}
.post-item .tag{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--azul-600)}
.post-item h3{margin:.4rem 0}
.post-item p{color:var(--gris);font-size:.95rem}
.post-item .date{font-size:.82rem;color:var(--gris)}

/* FAQ */
.faq details{border:1px solid var(--linea);border-radius:12px;padding:4px 20px;margin-bottom:12px;background:#fff}
.faq summary{cursor:pointer;font-weight:600;color:var(--azul-900);padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:1.08rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--azul-600);font-family:var(--sans)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 18px;color:var(--gris)}

/* City chips */
.cities{display:flex;flex-wrap:wrap;gap:10px;margin-top:1rem}
.cities span{background:#fff;border:1px solid var(--linea);border-radius:999px;padding:.5rem 1rem;font-size:.9rem;color:var(--azul-900);font-weight:500}

/* ---------- Mensaje del doctor centrado (sin foto) ---------- */
.msg-doctor .wrap{max-width:820px;text-align:center}
.quote-big{font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem);line-height:1.4;color:var(--azul-900);font-weight:400}
.quote-big p{margin-bottom:1rem}
.firma-center{margin-top:1.6rem}
.firma-center .firma{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--azul-900);display:inline-block}
.firma-center small{display:block;font-size:.85rem;color:var(--gris);margin-top:.5rem}

/* ---------- Mensaje del doctor (humano, 1a persona) ---------- */
.doctor-note{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}
.doctor-note .media img{border-radius:16px;box-shadow:var(--sombra);aspect-ratio:4/5;object-fit:cover}
.doctor-note .quote{font-family:var(--serif);font-size:clamp(1.3rem,2.6vw,1.75rem);line-height:1.4;color:var(--azul-900);font-weight:400}
.doctor-note .quote p{margin-bottom:1rem}
.doctor-note .sign{margin-top:1.4rem;display:flex;align-items:center;gap:14px}
.doctor-note .sign .nm{font-family:var(--serif);color:var(--azul-900);font-size:1.05rem}
.doctor-note .sign .nm small{display:block;font-family:var(--sans);color:var(--gris);font-size:.85rem;font-weight:500}

/* ---------- Preguntas que asustan (acordeón grande) ---------- */
.fears .section-head{text-align:center;margin-left:auto;margin-right:auto}
.fears-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:900px;margin:0 auto}
.fear{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:22px 24px}
.fear h3{font-size:1.1rem;display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.5rem}
.fear h3 svg{color:var(--acento);flex:none;margin-top:3px}
.fear p{color:var(--gris);font-size:.96rem}

/* ---------- Beneficios (credenciales traducidas) ---------- */
.benefit{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--linea)}
.benefit:last-child{border-bottom:0}
.benefit .bico{width:52px;height:52px;border-radius:13px;background:var(--azul-100);display:grid;place-items:center;color:var(--azul-600);flex:none}
.benefit .btxt strong{display:block;font-family:var(--serif);font-size:1.2rem;color:var(--azul-900);font-weight:500;margin-bottom:.25rem}
.benefit .btxt p{color:var(--gris);font-size:.98rem}
.benefit .btxt .src{font-size:.8rem;color:var(--azul-600);margin-top:.4rem;font-weight:500}

/* ---------- Reseñas ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:24px}
.review .stars{color:#f5a623;font-size:1.05rem;letter-spacing:2px;margin-bottom:.7rem}
.review p{color:var(--tinta);font-size:.97rem;font-style:italic}
.review .who{margin-top:.9rem;font-size:.85rem;color:var(--gris);font-weight:500}
.reviews-head{display:flex;align-items:center;gap:16px;justify-content:center;margin-bottom:8px;flex-wrap:wrap}
.reviews-head .big{font-family:var(--serif);font-size:2.4rem;color:var(--azul-900);line-height:1}
.reviews-head .gstars{color:#f5a623;font-size:1.3rem;letter-spacing:2px}

/* ---------- Franja de aseguradoras ---------- */
.seguros{background:var(--azul-900);color:#fff}
.seguros .wrap{padding:22px 24px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;text-align:center}
.seguros svg{color:#8fd4cc;flex:none}
.seguros b{font-family:var(--serif);font-weight:500;font-size:1.15rem}
.seguros span{color:#c3d0e0;font-size:.98rem}
@media(max-width:600px){.seguros .wrap{flex-direction:column;gap:8px}}

/* ---------- Franja de instituciones (respaldo tipográfico) ---------- */
.instituciones{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);background:var(--papel-2)}
.instituciones .wrap{padding:34px 24px;text-align:center}
.instituciones .lbl{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-bottom:20px}
.inst-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 40px}
.inst-row .inst{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:120px}
.inst-row .inst b{font-family:var(--serif);color:var(--azul-900);font-size:1.05rem;font-weight:500;line-height:1.1}
.inst-row .inst span{font-size:.74rem;color:var(--gris);letter-spacing:.02em}
.inst-row .sep{width:1px;height:34px;background:var(--linea)}
@media(max-width:700px){.inst-row .sep{display:none}}

/* ---------- Firma del doctor ---------- */
.firma{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--azul-900);line-height:1;display:inline-block}
.firma-wrap{display:flex;flex-direction:column;gap:2px}
.firma-wrap small{font-size:.8rem;color:var(--gris);font-style:normal;font-family:var(--sans)}

/* ---------- Respaldo (diplomas, discreto) ---------- */
.respaldo{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:8px}
.respaldo figure{width:150px;text-align:center}
.respaldo img{width:150px;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--linea);opacity:.92;transition:.2s}
.respaldo img:hover{opacity:1;box-shadow:var(--sombra)}
.respaldo figcaption{font-size:.76rem;color:var(--gris);margin-top:.5rem;line-height:1.3}

@media(max-width:900px){
  .doctor-note{grid-template-columns:1fr;gap:28px}
  .doctor-note .media{max-width:340px;margin:0 auto}
  .fears-grid{grid-template-columns:1fr}
  .reviews{grid-template-columns:1fr}
}

/* Responsive */
@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:36px}
  .hero-media{order:-1;max-width:420px}
  .split{grid-template-columns:1fr;gap:32px}
  .split.rev .media{order:0}
  .grid.c3,.grid.c2{grid-template-columns:1fr}
  .creds{grid-template-columns:1fr}
  .site-foot .cols{grid-template-columns:1fr;gap:26px}
  .post-item{grid-template-columns:1fr}
  .cta-band{padding:36px 24px}
  nav.main{
    position:fixed;inset:72px 0 auto 0;background:#fff;flex-direction:column;
    align-items:stretch;gap:0;padding:8px 24px 20px;border-bottom:1px solid var(--linea);
    transform:translateY(-120%);transition:transform .25s ease;box-shadow:var(--sombra);
  }
  nav.main.open{transform:translateY(0)}
  nav.main a{padding:14px 0;border-bottom:1px solid var(--linea)}
  nav.main .btn{margin-top:12px;justify-content:center}
  .nav-toggle{display:block}
}
