:root{
  --c1:#2c355e;
  --c2:#267c9e;
  --c3:#96dcdd;
  --c4:#effaee;
  --c5:#10193a;
  --text:#f7fbfb;
  --ink:#10213b;
  --muted:#536176;
  --line:rgba(150,220,221,.22);
  --shadow:0 18px 42px rgba(4,12,32,.18);
  --shadow-soft:0 22px 60px rgba(16,25,58,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;width:100%;max-width:100%;overflow-x:hidden}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;color:#11223d;background:var(--c4);width:100%;max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
main,section,header,footer{max-width:100%;overflow-x:hidden}
.container{width:min(1180px,92vw);max-width:1180px;margin:0 auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:.2s ease;line-height:1.1}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--c2),#1aa3d1);color:#fff;box-shadow:0 14px 26px rgba(38,124,158,.22)}
.btn-light{background:#fff;color:var(--c1)}
.btn-outline{border-color:#fff;color:#fff;background:transparent}
.btn-ghost{border:1px solid rgba(38,124,158,.3);color:var(--c2);background:#fff}

.section{padding:92px 0}
.light-section{background:var(--c4)}
.dark-section{background:linear-gradient(90deg,var(--c5),var(--c1));color:#fff}
.center{text-align:center}
.mt-28{margin-top:28px}
.align-left{text-align:left!important}
.center-icon{margin:0 auto 18px!important}

/* HEADER COMPATIBLE */
.site-header{position:fixed;inset:0 0 auto 0;z-index:40;background:linear-gradient(180deg,rgba(16,25,58,.92),rgba(16,25,58,.78));backdrop-filter:blur(10px)}
.nav-wrap{display:flex;align-items:center;gap:18px;padding:14px 0}
.brand img{height:60px;width:auto;max-width:250px}
.main-nav{display:flex;gap:20px;margin-left:auto;align-items:center}
.main-nav a,.nav-actions a{color:#fff;font-size:14px}
.nav-actions{display:flex;gap:10px;align-items:center}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:26px;margin-left:auto;cursor:pointer}
.nav-actions .btn-light,.nav-actions a.btn-light,a.btn.btn-light{background:#fff!important;color:var(--c1)!important;-webkit-text-fill-color:var(--c1)!important;font-weight:700}
.nav-actions .btn-outline{color:#fff}

/* HERO */
.hero{min-height:100vh;color:#fff;display:flex;align-items:center;position:relative}
.hero-inner{padding-top:130px;padding-bottom:70px}
.eyebrow{font-size:13px;letter-spacing:4px;font-weight:800;color:var(--c3);margin-bottom:20px;text-transform:uppercase}
.hero h1{font-family:Georgia,serif;font-size:clamp(42px,7vw,88px);line-height:.95;max-width:780px;margin:0 0 24px}
.hero h1 .accent{color:#3ec2d7}
.hero p{font-size:20px;max-width:620px;line-height:1.6;color:#e8f6f8;margin:0 0 28px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}

/* TITLES */
.section-title-top{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--c2);font-weight:800;text-align:center;margin-bottom:8px}
.section-title{font-family:Georgia,serif;font-size:56px;text-align:center;margin:8px 0 14px;color:var(--c1);line-height:1.05}
.section-title .accent{color:var(--c2)}
.section-sub{text-align:center;max-width:760px;margin:0 auto 36px;color:#526176;line-height:1.7;font-size:18px}

/* ATP CARDS */
.cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{background:#fff;border:1px solid rgba(44,53,94,.08);border-radius:20px;box-shadow:var(--shadow);padding:28px;min-width:0}
.card-icon{width:52px;height:52px;border-radius:14px;background:#eef9fb;color:var(--c2);display:grid;place-items:center;font-size:24px;margin-bottom:18px;flex:none}
.card h3{font-family:Georgia,serif;font-size:28px;color:var(--c1);margin:0 0 10px;line-height:1.12}
.card p{line-height:1.7;color:#536176;margin:0}
.link-more{display:inline-flex;gap:8px;align-items:center;margin-top:14px;font-weight:700;color:var(--c2)}
.light-link{color:#96dcdd!important}

/* PLAN PERSONALIZADO */
.plan-personalizado-section{background:radial-gradient(circle at top left,rgba(150,220,221,.22),transparent 34%),linear-gradient(135deg,#effaee 0%,#fff 48%,#eef8fb 100%)}
.plan-personalizado-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;width:100%;min-width:0}
.plan-personalizado-img,.plan-personalizado-content{min-width:0;width:100%}
.plan-personalizado-img{border-radius:32px;overflow:hidden;box-shadow:0 24px 60px rgba(16,25,58,.18)}
.plan-personalizado-img img{width:100%;height:420px;object-fit:cover}
.plan-personalizado-content{background:rgba(255,255,255,.84);border:1px solid rgba(150,220,221,.35);border-radius:32px;padding:42px;box-shadow:var(--shadow-soft)}
.plan-personalizado-content h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,58px);line-height:1.05;margin:0 0 22px;color:var(--c5)}
.plan-personalizado-content p{font-size:17px;line-height:1.75;color:#405873;margin:0 0 18px}
.plan-personalizado-btn{margin-top:8px}

/* PROFE APP */
.botprofe-section{background:linear-gradient(135deg,#dee8dd 0%,#effaee 55%,#fff 100%)}
.botprofe-container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:52px;align-items:center;width:100%;min-width:0}
.botprofe-text,.botprofe-image{min-width:0;width:100%}
.botprofe-text h2{font-family:Georgia,serif;font-size:clamp(36px,4vw,58px);line-height:1.05;margin:0 0 10px;color:var(--c5)}
.botprofe-text h4{font-size:20px;color:var(--c2);margin:0 0 18px}
.botprofe-text p{font-size:17px;line-height:1.75;color:#405873;margin:0 0 24px}
.botprofe-image{display:flex;justify-content:center;align-items:center}
.botprofe-image img{width:min(100%,430px);height:auto;object-fit:contain;filter:drop-shadow(0 24px 50px rgba(16,25,58,.18))}

/* SOBRE MI */
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:60px;align-items:center;width:100%}
.about-text,.about-media{min-width:0}
.about-text h2{font-family:Georgia,serif;font-size:58px;margin:8px 0 18px;line-height:1.05}
.about-text p{line-height:1.8;color:#d9e7f3;font-size:17px}
.about-media{min-height:360px;border-radius:22px;border:1px solid rgba(255,255,255,.16);background:#fff;color:#8bbfd1;overflow:hidden;display:flex;align-items:center;justify-content:center}
.about-media img{width:100%;height:100%;object-fit:cover;display:block}

/* MEDICOS */
.med-box{text-align:center;max-width:900px;margin:auto}
.med-box h2{font-family:Georgia,serif;font-size:54px;color:var(--c1);margin:10px 0 14px;line-height:1.08}
.med-box p{font-size:19px;color:#546176;line-height:1.7}
.med-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:26px}

/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.blog-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:22px;overflow:hidden;min-width:0}
.blog-thumb{height:190px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#89b9d0;overflow:hidden}
.blog-thumb img{width:100%;height:100%;object-fit:cover}
.blog-body{padding:22px}
.blog-meta{font-size:13px;color:#93b8cb;margin-bottom:10px}
.blog-card h3{font-family:Georgia,serif;font-size:30px;margin:0 0 10px;line-height:1.12}
.blog-card p{line-height:1.7;color:#caddf0}

/* CONTACTO */
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:50px;align-items:start}
.contact-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;color:#42536c}
.contact-ico{width:42px;height:42px;border-radius:12px;background:#e8f7fa;color:var(--c2);display:grid;place-items:center;font-weight:700;flex:none}
.socials{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.socials a{width:42px;height:42px;border-radius:12px;background:#e8f7fa;color:var(--c2);display:grid;place-items:center;font-weight:700}
.form-grid{display:grid;gap:14px}
.input,.textarea,.select{width:100%;padding:15px 16px;border-radius:14px;border:1px solid rgba(44,53,94,.16);background:#fff;color:#152744;font:inherit}
.textarea{min-height:150px;resize:vertical}

/* FOOTER */
.site-footer{background:linear-gradient(90deg,var(--c5),var(--c1));color:#dce9f3;padding:48px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:40px}
.footer-grid h4{margin:0 0 14px;font-family:Georgia,serif}
.footer-grid a{display:block;color:#dce9f3;margin:7px 0}
.footer-logo{font-family:Georgia,serif;font-size:32px}
.footer-copy{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;margin-top:26px;text-align:center;color:#9eb9ca}

/* CLASES GENERALES DE OTRAS PÁGINAS: SE CONSERVAN */
.flash{max-width:1180px;margin:90px auto 0;padding:14px 18px;border-radius:14px}.flash.ok{background:#d8f5ea;color:#14643e}.flash.err{background:#ffe0e0;color:#8e2020}.page-hero{padding:160px 0 70px;background:linear-gradient(90deg,var(--c5),var(--c1));color:#fff}.page-hero h1{font-family:Georgia,serif;font-size:62px;margin:0 0 12px}.content-box{background:#fff;padding:34px;border-radius:24px;box-shadow:var(--shadow);line-height:1.8;color:#45546f}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.plan{background:#fff;border-radius:22px;padding:28px;border:1px solid rgba(44,53,94,.1);box-shadow:var(--shadow)}.plan h3{font-family:Georgia,serif;font-size:32px;margin:0 0 8px;color:var(--c1)}.plan .price{font-size:40px;font-weight:800;color:var(--c2);margin-bottom:14px}.plan.selected{outline:3px solid rgba(38,124,158,.32);transform:translateY(-2px)}.test-wrap{max-width:860px;margin:auto}.question-card{background:#fff;border-radius:26px;box-shadow:var(--shadow);padding:34px}.question-step{font-size:13px;color:var(--c2);font-weight:800;letter-spacing:3px;margin-bottom:12px}.question-title{font-family:Georgia,serif;font-size:42px;color:var(--c1);margin:0 0 20px}.answers{display:grid;gap:12px}.answer-btn{padding:16px 18px;border-radius:16px;border:1px solid rgba(44,53,94,.12);background:#fff;text-align:left;font-weight:700;color:#21324e;cursor:pointer}.answer-btn:hover{border-color:var(--c2);background:#f4fbfd}.hidden{display:none!important}.chart-grid{display:grid;gap:14px;margin-top:20px}.chart-row span{display:block;font-weight:700;margin-bottom:6px;color:var(--c1)}.bar{height:18px;border-radius:999px;background:#dfeff2;overflow:hidden}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--c2),var(--c3));width:0}.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.admin-side{background:linear-gradient(180deg,var(--c5),var(--c1));padding:26px;color:#fff}.admin-side a{display:block;padding:12px 14px;border-radius:12px;margin-bottom:8px;background:rgba(255,255,255,.04)}.admin-main{padding:30px;background:#f4f9fa}.admin-card{background:#fff;border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-bottom:18px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #e7eef3;text-align:left;vertical-align:top}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.video-card{background:#fff;border-radius:18px;padding:18px;box-shadow:var(--shadow)}.video-frame,.video-placeholder{aspect-ratio:16/9;border-radius:16px;background:#ecf3f6;overflow:hidden;margin-bottom:12px}.video-placeholder{display:grid;place-items:center;color:#7fa4b9}.pill{display:inline-block;padding:8px 12px;border-radius:999px;background:#eff8fb;color:var(--c2);font-weight:700}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.editor-toolbar{display:flex;flex-wrap:wrap;gap:10px;padding:12px;border:1px solid rgba(44,53,94,.12);border-radius:16px;background:#f7fbfd}.editor-btn{border:1px solid rgba(44,53,94,.14);background:#fff;border-radius:999px;padding:10px 14px;font-weight:700;color:var(--c1);cursor:pointer}.editor-area{min-height:260px;font-family:inherit}.editor-help{margin:0;color:#56657f;line-height:1.6}.article-content h2,.article-content h3{font-family:Georgia,serif;color:var(--c1);margin:26px 0 12px}.article-content p{margin:0 0 16px;line-height:1.85;color:#45546f}.article-content ul,.article-content ol{margin:0 0 18px 22px;color:#45546f}.article-content blockquote{margin:18px 0;padding:16px 20px;border-left:4px solid var(--c2);background:#f2fbfd;border-radius:0 14px 14px 0;color:#26465d}.article-content a{color:var(--c2);font-weight:700}

@media (max-width:980px){
  .container{width:min(92vw,1180px)}
  .main-nav,.nav-actions{display:none}
  .nav-toggle{display:block}
  .site-header.open .main-nav{position:absolute;left:4vw;right:4vw;top:74px;display:flex;flex-direction:column;background:var(--c5);padding:16px;border-radius:18px;box-shadow:var(--shadow);margin-left:0;gap:12px}
  .site-header.open .nav-actions{position:relative;display:flex;flex-direction:column;background:var(--c5);padding:0 16px 16px;border-radius:0 0 18px 18px;margin-top:15px}
  .site-header.open .nav-actions .btn{width:100%}
  .hero{min-height:auto;padding:150px 0 72px;background-position:center!important}
  .hero-inner{padding-top:0;padding-bottom:0}
  .hero h1{font-size:46px;max-width:100%}
  .hero p{font-size:18px;max-width:100%}
  .section{padding:70px 0}
  .section-title,.med-box h2,.about-text h2,.page-hero h1{font-size:42px}
  .cards-3,.blog-grid,.plans,.video-grid,.results-grid,.split,.contact-grid,.footer-grid,.admin-shell,.plan-personalizado-wrap,.botprofe-container{grid-template-columns:1fr!important}
  .plan-personalizado-wrap,.botprofe-container{gap:30px;text-align:left}
  .plan-personalizado-img img{height:260px}
  .plan-personalizado-content{padding:26px;border-radius:24px}
  .botprofe-text{text-align:center}
  .botprofe-image img{width:min(88vw,340px)}
  .about-media{min-height:280px}
  .question-title{font-size:32px}
  .page-hero{padding:130px 0 56px}
}

@media (max-width:560px){
  .container{width:92vw}
  .brand img{height:52px;max-width:210px}
  .hero{padding:138px 0 64px;background-position:center!important}
  .eyebrow{font-size:11px;letter-spacing:2.6px}
  .hero h1{font-size:40px;line-height:1.02}
  .hero p{font-size:16px}
  .hero-actions{align-items:flex-start}
  .btn{width:auto;max-width:100%;padding:13px 18px}
  .section{padding:58px 0}
  .section-title{font-size:38px}
  .section-sub{font-size:16px}
  .card{padding:24px;border-radius:18px}
  .card h3{font-size:27px}
  .plan-personalizado-img img{height:220px}
  .plan-personalizado-content{padding:22px}
  .plan-personalizado-content p,.botprofe-text p{font-size:16px}
  .botprofe-image img{width:min(82vw,300px)}
  .med-box h2,.about-text h2{font-size:38px}
  .blog-card h3{font-size:26px}
  .contact-item{word-break:break-word}
}

