@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--ink:#0d1d34;--navy:#10233f;--navy2:#17365f;--gold:#d7b06a;--gold2:#f1d59d;--paper:#f7f4ed;--cream:#efe7d8;--white:#fff;--muted:#627083;--line:#dfe3e8;--success:#2c7259;--shadow:0 24px 60px rgba(11,26,48,.12);--radius:22px;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{width:min(820px,calc(100% - 40px));margin:auto}.section{padding:96px 0}.section-sm{padding:64px 0}.bg-paper{background:var(--paper)}.bg-navy{background:var(--navy);color:white}.text-gold{color:var(--gold)}
.announcement{background:#07172b;color:#d9e0ea;font-size:13px}.announcement .container{display:flex;justify-content:space-between;gap:18px;padding:9px 0}.announcement a{color:var(--gold2);font-weight:700}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,35,63,.08);transition:.25s}.site-header.is-scrolled{box-shadow:0 8px 24px rgba(8,24,45,.08)}.nav-wrap{height:78px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.05em}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--navy);display:grid;place-items:center;color:var(--gold);font-family:var(--serif);font-size:28px;font-weight:700}.brand-text strong{display:block;font-size:15px;line-height:1.05}.brand-text span{display:block;font-size:9px;letter-spacing:.22em;color:#7b8796;margin-top:4px}.desktop-nav{display:flex;gap:25px;margin-left:auto;align-items:center}.desktop-nav a{font-size:13px;font-weight:700;color:#33445a}.desktop-nav a:hover,.desktop-nav a.active{color:var(--navy)}.nav-actions{display:flex;gap:10px;margin-left:8px}.btn{border:0;border-radius:12px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:13px;cursor:pointer;transition:.22s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(16,35,63,.18)}.btn-gold{background:var(--gold);color:#12243f}.btn-light{background:#fff;color:var(--navy)}.btn-outline{background:transparent;border:1px solid rgba(16,35,63,.2);color:var(--navy)}.menu-button{display:none;margin-left:auto;width:43px;height:43px;border:1px solid var(--line);background:#fff;border-radius:12px;font-size:22px}.mobile-nav{display:none;border-top:1px solid var(--line);padding:12px 20px 20px}.mobile-nav.open{display:grid}.mobile-nav a{padding:11px 0;font-weight:700}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#f8f5ef 0%,#fff 58%,#f1eadc 100%);padding:72px 0 90px}.hero:before{content:'';position:absolute;right:-100px;top:-80px;width:440px;height:440px;border-radius:50%;border:1px solid rgba(213,176,106,.28)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}.kicker,.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:800;color:#8b652d}.hero h1,.page-hero h1{font-family:var(--serif);font-weight:600;line-height:.96;letter-spacing:-.035em;margin:14px 0 22px}.hero h1{font-size:clamp(56px,7vw,94px)}.hero h1 em{font-style:normal;color:#a97935}.hero-lead{font-size:18px;max-width:650px;color:#526174}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.trust-row{display:flex;gap:28px;flex-wrap:wrap;margin-top:36px}.trust-item strong{font-family:var(--serif);font-size:30px;display:block;line-height:1}.trust-item span{font-size:11px;color:#6f7a88}.hero-art{position:relative}.hero-art img{border-radius:36px;box-shadow:var(--shadow);width:100%;height:100%;min-height:580px;object-fit:cover}.floating-card{position:absolute;background:#fff;border-radius:18px;padding:16px 18px;box-shadow:var(--shadow);border:1px solid rgba(16,35,63,.08)}.floating-card.one{left:-32px;bottom:40px}.floating-card.two{right:-20px;top:38px}.floating-card strong{display:block;font-size:13px}.floating-card small{color:#7b8796}.search-shell{margin-top:22px;background:white;border:1px solid var(--line);border-radius:16px;padding:7px;display:flex;max-width:610px;box-shadow:0 14px 35px rgba(11,26,48,.08)}.search-shell input{border:0;outline:0;padding:11px 13px;flex:1;min-width:0;color:var(--ink)}
.logo-strip{border-bottom:1px solid var(--line);border-top:1px solid var(--line);background:#fff}.logo-strip .container{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:19px 0;flex-wrap:wrap}.logo-strip span{font-size:11px;color:#8793a2;text-transform:uppercase;letter-spacing:.12em}.seal{font-family:var(--serif);font-size:20px;color:#6d7886}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-head h2,.split-copy h2,.cta h2,.page-hero h1{font-family:var(--serif)}.section-head h2,.split-copy h2,.cta h2{font-size:clamp(38px,4.5vw,58px);line-height:1.04;margin:5px 0 0}.section-head p{max-width:530px;color:var(--muted)}.text-link{border:0;background:none;padding:0;color:#8b652d;font-weight:800;cursor:pointer}
.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.path-card{min-height:280px;border-radius:24px;padding:26px;color:white;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 14px 35px rgba(16,35,63,.12);background-size:cover;background-position:center}.path-card:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,38,.08) 8%,rgba(6,20,38,.9) 88%)}.path-card>*{position:relative}.path-card:nth-child(1){background-image:url('../images/course-writing-photo.png')}.path-card:nth-child(2){background-image:url('../images/course-editing-photo.png')}.path-card:nth-child(3){background-image:url('../images/course-oratory-photo.png')}.path-card:nth-child(4){background-image:url('../images/study-home-photo.png')}.path-no{position:absolute;top:22px;right:22px;font-family:var(--serif);font-size:44px;opacity:.32}.path-card h3{font-family:var(--serif);font-size:27px;line-height:1.05;margin:0 0 8px}.path-card p{font-size:13px;color:#e2e7ec;margin:0}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;transition:.25s}.course-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.course-cover{height:220px;position:relative;overflow:hidden;background:#10233f}.course-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.course-cover:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,23,43,.15),rgba(7,23,43,.65))}.course-format,.course-symbol{position:absolute;z-index:1;font-size:10px;font-weight:800;padding:7px 10px;border-radius:999px;backdrop-filter:blur(6px)}.course-format{top:15px;left:15px;background:rgba(255,255,255,.92);color:var(--ink)}.course-symbol{right:15px;bottom:15px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);color:#fff;min-width:42px;text-align:center}.course-body{padding:23px}.course-body h3{font-family:var(--serif);font-size:27px;line-height:1.08;margin:7px 0 10px}.course-body p{font-size:13px;color:var(--muted);min-height:61px}.course-meta{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.course-meta span{background:#f4f6f8;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700;color:#647184}.course-footer{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}.course-footer small{display:block;color:#8994a0;font-size:10px}.course-footer strong{font-size:20px}.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter-pill{border:1px solid var(--line);background:#fff;color:#5e6b7a;padding:9px 13px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer}.filter-pill.active{background:var(--navy);color:white;border-color:var(--navy)}.course-search{margin-left:auto;border:1px solid var(--line);border-radius:12px;padding:10px 13px;min-width:270px;outline:none}.empty-state{grid-column:1/-1;text-align:center;padding:70px 20px;background:var(--paper);border-radius:22px}
.stats{background:var(--navy);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.stat{padding:10px 0}.stat strong{font-family:var(--serif);font-size:48px;color:var(--gold2);display:block;line-height:1}.stat span{font-size:12px;color:#bdc8d6}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-media img,.info-photo img,.course-banner img{border-radius:30px;box-shadow:var(--shadow);width:100%;object-fit:cover}.split-media img{min-height:430px}.info-photo{margin:24px 0 26px}.info-photo img{height:330px}.course-banner{margin:0 0 34px}.course-banner img{height:360px}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{display:flex;gap:12px;margin:14px 0;color:#47576a}.check-list li:before{content:'✓';width:24px;height:24px;border-radius:50%;background:#e7efe9;color:var(--success);display:grid;place-items:center;flex:0 0 auto;font-size:12px;font-weight:900}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}.mini-card{padding:20px;border:1px solid var(--line);border-radius:18px}.mini-card strong{display:block;font-family:var(--serif);font-size:20px}.mini-card span{font-size:11px;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}.step{padding:28px;border-top:3px solid var(--gold);background:#fff;border-radius:0 0 18px 18px;box-shadow:0 12px 28px rgba(16,35,63,.07)}.step:before{counter-increment:step;content:'0' counter(step);font-family:var(--serif);font-size:36px;color:#b38a4d}.step h3{font-family:var(--serif);font-size:24px;margin:8px 0}.step p{font-size:13px;color:var(--muted)}
.testimonial-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.quote-card{background:var(--navy);color:white;border-radius:26px;padding:42px}.quote-mark{font-family:var(--serif);font-size:80px;line-height:.4;color:var(--gold)}.quote-card blockquote{font-family:var(--serif);font-size:30px;line-height:1.15;margin:30px 0}.quote-card cite{font-style:normal;color:#b9c6d7;font-size:12px}.benefit-stack{display:grid;gap:14px}.benefit{border:1px solid var(--line);border-radius:20px;padding:23px;display:flex;gap:17px}.benefit-icon{width:42px;height:42px;border-radius:13px;background:var(--paper);display:grid;place-items:center;font-weight:800;color:#9a7138}.benefit h4{margin:0;font-family:var(--serif);font-size:22px}.benefit p{margin:3px 0 0;color:var(--muted);font-size:12px}
.faq{display:grid;gap:10px}.faq-item{border:1px solid var(--line);border-radius:16px;background:#fff}.faq-item button{width:100%;display:flex;justify-content:space-between;text-align:left;background:none;border:0;padding:19px 22px;font-weight:800;cursor:pointer}.faq-answer{display:none;padding:0 22px 20px;color:var(--muted);font-size:14px}.faq-item.open .faq-answer{display:block}.faq-item.open button span:last-child{transform:rotate(45deg)}
.cta{border-radius:30px;background:linear-gradient(120deg,#10233f,#1c416b);color:white;padding:55px;position:relative;overflow:hidden}.cta:after{content:'';position:absolute;width:270px;height:270px;border:1px solid rgba(216,182,111,.35);border-radius:50%;right:-70px;top:-100px}.cta p{color:#c3cedb;max-width:620px}.cta .btn{margin-top:10px}.footer{background:#07172b;color:#d4dce6;padding:65px 0 28px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:35px}.footer h4{font-family:var(--serif);font-size:20px;color:white;margin:0 0 14px}.footer a,.footer p{display:block;color:#9fabb9;font-size:12px;margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#7d8a9a}
.page-hero{padding:72px 0 58px;background:var(--paper);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(50px,6vw,78px);max-width:850px}.page-hero p{max-width:700px;color:var(--muted);font-size:17px}.breadcrumb{font-size:11px;color:#8190a0}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{border:1px solid var(--line);border-radius:20px;padding:27px;background:#fff}.info-card .num{font-family:var(--serif);font-size:45px;color:#a77d40}.info-card h3{font-family:var(--serif);font-size:26px;margin:8px 0}.info-card p{font-size:13px;color:var(--muted)}
.form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 16px 38px rgba(16,35,63,.07)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;color:#5b6878}.field input,.field select,.field textarea{width:100%;border:1px solid #d8dee5;border-radius:12px;padding:12px 13px;outline:none;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:#a98043;box-shadow:0 0 0 3px rgba(215,176,106,.15)}.form-status{display:none;margin-top:15px;border-radius:12px;background:#eef6f1;padding:12px;color:#28684f;font-size:12px}.form-status.show{display:block}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px}.contact-list{display:grid;gap:14px}.contact-item{border:1px solid var(--line);border-radius:17px;padding:19px;background:#fff}.contact-item strong{font-family:var(--serif);display:block;font-size:21px}.contact-item span{font-size:12px;color:var(--muted)}
dialog{border:0;padding:0;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.28);max-width:min(650px,calc(100% - 30px));width:100%}dialog::backdrop{background:rgba(5,17,31,.72);backdrop-filter:blur(4px)}.modal-head{padding:27px 30px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.modal-head h3{font-family:var(--serif);font-size:31px;margin:0}.modal-body{padding:26px 30px 30px}.icon-button{border:0;background:#eef1f4;width:36px;height:36px;border-radius:50%;cursor:pointer}.course-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 24px}.course-detail{background:var(--paper);padding:12px;border-radius:12px}.course-detail small{display:block;color:#8390a0;font-size:9px}.course-detail strong{font-size:12px}
.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.login-visual{background:var(--navy);padding:60px;display:flex;flex-direction:column;justify-content:space-between;color:white}.login-visual img{max-width:560px;margin:auto}.login-copy h1{font-family:var(--serif);font-size:58px;line-height:1;margin:0 0 14px}.login-copy p{color:#bbc7d5}.login-panel{display:grid;place-items:center;padding:40px}.login-box{width:min(440px,100%)}.login-box h2{font-family:var(--serif);font-size:42px;margin:10px 0}.login-box p{color:var(--muted)}.login-tabs{display:flex;border-bottom:1px solid var(--line);margin:28px 0}.login-tabs button{flex:1;border:0;background:none;padding:12px;font-weight:700;border-bottom:2px solid var(--navy)}
.portal{min-height:100vh;background:#eef1f5;display:grid;grid-template-columns:250px 1fr}.portal-sidebar{background:#07172b;color:white;padding:24px 18px;position:sticky;top:0;height:100vh}.portal-sidebar .brand{margin-bottom:40px}.portal-nav{display:grid;gap:7px}.portal-nav button{background:none;border:0;color:#aab8c8;text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer;font-weight:700;font-size:12px}.portal-nav button.active,.portal-nav button:hover{background:#142d4e;color:white}.portal-main{padding:34px}.portal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.avatar{width:42px;height:42px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-weight:800}.portal-view{display:none}.portal-view.active{display:block}.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.dash-card{background:white;border-radius:18px;padding:22px;border:1px solid #e0e5ea}.dash-card h3{font-family:var(--serif);font-size:25px;margin:0}.progress{height:8px;background:#edf0f3;border-radius:99px;overflow:hidden;margin-top:16px}.progress span{display:block;height:100%;background:var(--gold)}.lesson-list{display:grid;gap:10px;margin-top:18px}.lesson{display:flex;justify-content:space-between;gap:15px;background:white;padding:16px;border-radius:13px;border:1px solid #e0e5ea}.lesson strong{font-size:12px}.lesson span{font-size:11px;color:var(--muted)}
.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.desktop-nav,.nav-actions{display:none}.menu-button{display:block}.hero-grid,.split,.testimonial-grid,.contact-grid,.login-page{grid-template-columns:1fr}.hero-art{max-width:700px;margin:auto}.path-grid,.steps{grid-template-columns:repeat(2,1fr)}.course-grid,.info-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.login-visual{min-height:520px}.portal{grid-template-columns:82px 1fr}.portal-sidebar .brand-text,.portal-nav button span{display:none}.portal-nav button{text-align:center}.dash-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.container,.narrow{width:min(100% - 28px,1180px)}.announcement .container{justify-content:center}.announcement .container span:last-child{display:none}.section{padding:68px 0}.hero{padding:50px 0 66px}.hero h1{font-size:54px}.floating-card{display:none}.path-grid,.course-grid,.info-grid,.steps,.stats-grid,.mini-cards,.dash-grid{grid-template-columns:1fr}.section-head{display:block}.course-search{margin-left:0;width:100%;min-width:0}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{display:block}.cta{padding:35px 25px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.course-detail-grid{grid-template-columns:1fr 1fr}.portal{display:block}.portal-sidebar{height:auto;position:static;padding:14px}.portal-sidebar .brand{margin:0 0 12px}.portal-nav{grid-template-columns:repeat(4,1fr)}.portal-main{padding:20px 14px}.login-visual{display:none}.course-banner img,.info-photo img,.split-media img,.hero-art img{min-height:auto;height:auto}}


/* --- Escuela Dux · ajuste V2.1: logo y etiquetas académicas --- */
:root{--dux-red:#bd1e2d;--dux-red-soft:#fff0f1}
.brand-logo{display:block;width:128px;height:auto;object-fit:contain}.site-header .brand{min-width:145px}.site-header .brand-logo{max-height:58px}.header-brand-only{padding:3px 0}
.course-cover{isolation:isolate}.course-cover img{transition:transform .45s ease}.course-card:hover .course-cover img{transform:scale(1.025)}
.course-ribbon{position:absolute;z-index:4;top:15px;left:-34px;width:128px;text-align:center;padding:7px 8px;transform:rotate(-38deg);font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#fff;box-shadow:0 5px 14px rgba(7,23,43,.14)}
.course-ribbon--offer{background:var(--dux-red)}.course-ribbon--discount{background:#a87f43}.course-ribbon--free{background:var(--navy2)}
.course-format{left:auto;right:14px;top:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.65);box-shadow:0 6px 16px rgba(8,24,45,.12);font-size:9px;letter-spacing:.02em}.course-format:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.course-format--live{background:rgba(255,255,255,.96);color:var(--dux-red)}.course-format--recorded{background:rgba(255,255,255,.96);color:#315f96}.course-format--hybrid{background:rgba(255,255,255,.96);color:#665b83}
.course-symbol{opacity:.86}.course-price{display:flex;align-items:baseline;gap:7px;min-height:27px}.course-old-price{text-decoration:line-through;color:#9aa4af;font-size:11px}.course-price-free{color:var(--navy2);font-family:var(--serif);font-size:22px}.course-price>strong:not(.course-price-free){font-size:20px}
.catalog-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-4px 0 24px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:#fafbfc}.catalog-legend-title{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#8a95a2;font-weight:800;margin-right:4px}.catalog-mode{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:700;color:#59687a}.catalog-mode:before{content:'';width:7px;height:7px;border-radius:50%}.catalog-mode.live:before{background:var(--dux-red)}.catalog-mode.recorded:before{background:#315f96}.catalog-mode.hybrid:before{background:#665b83}
@media(max-width:680px){.brand-logo{width:112px}.site-header .brand{min-width:120px}.catalog-legend{align-items:flex-start}.catalog-legend-title{width:100%;margin-bottom:2px}.course-ribbon{top:14px;left:-35px}}

/* =========================================================
   CAMPUS DEL ESTUDIANTE · V2.2
   Basado en la estética limpia de la versión 2.
   ========================================================= */
.campus-student-body{background:#f6f7f9;color:#1f2835;min-height:100vh;font-family:var(--sans)}
.campus-header{background:#fff;border-bottom:1px solid #e7e9ed;position:sticky;top:0;z-index:60;box-shadow:0 3px 16px rgba(18,34,57,.04)}
.campus-header-inner{width:min(1040px,calc(100% - 32px));height:72px;margin:auto;display:flex;align-items:center;gap:30px}
.campus-logo-link{display:flex;align-items:center;flex:0 0 auto}.campus-logo-link img{width:112px;max-height:58px;object-fit:contain}
.campus-top-nav{display:flex;align-items:center;gap:28px;font-size:12px;color:#303946}.campus-top-nav a:hover{color:var(--navy)}
.campus-user-actions{margin-left:auto;display:flex;align-items:center;gap:15px}.campus-pill-button{border:1px solid #d8dde5;background:#fff;border-radius:12px;padding:10px 17px;font-size:11px;font-weight:700;color:#424d5b;cursor:pointer}.campus-user{display:flex;align-items:center;gap:8px;border:0;background:none;color:#334052;font-size:11px;cursor:pointer}.campus-user-avatar{width:28px;height:28px;border-radius:50%;background:#e7eef8;color:var(--navy2);display:grid;place-items:center;font-weight:800;font-size:9px}.campus-chevron{color:#5781b3;font-size:14px}
.campus-shell{width:min(1040px,calc(100% - 32px));margin:16px auto 60px}
.campus-banner{height:144px;border-radius:14px;overflow:hidden;position:relative;background:#2c79cf;box-shadow:0 8px 24px rgba(16,35,63,.10)}.campus-banner-image{position:absolute;inset:0;background:url('../images/course-editing-photo.png') center 42%/cover no-repeat}.campus-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,102,191,.96) 0%,rgba(33,121,220,.88) 48%,rgba(21,72,135,.25) 100%)}.campus-banner-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:20px 38px;color:#fff;max-width:620px}.campus-banner-kicker{font-size:12px;font-weight:700;opacity:.9}.campus-banner h1{font-family:var(--sans);font-size:28px;line-height:1.05;margin:2px 0 5px;color:#fff}.campus-banner p{font-size:12px;margin:0;opacity:.92}.campus-banner-badge{position:absolute;z-index:2;right:20px;top:16px;background:#fff;color:#244f83;font-weight:800;font-size:10px;padding:8px 12px;border-radius:999px;box-shadow:0 5px 14px rgba(20,50,90,.15)}
.campus-tabs{margin-top:14px;background:#d9eaf9;border-radius:13px;min-height:58px;display:grid;grid-template-columns:74px 1fr 1fr;align-items:center;box-shadow:0 5px 14px rgba(16,35,63,.07);overflow:hidden}.campus-tabs button{height:58px;border:0;background:transparent;color:#324052;font-size:12px;cursor:pointer}.campus-tabs button.active{font-weight:800;color:var(--navy)}.campus-tabs button:not(.campus-back):hover{background:rgba(255,255,255,.28)}.campus-back{font-size:23px!important;color:#2a78c7!important;font-weight:800;border-right:1px solid rgba(50,100,150,.08)!important}
.campus-tab-panel{margin-top:12px}.campus-empty-card{min-height:150px;background:#fff;border-radius:14px;padding:30px;display:flex;gap:18px;align-items:center;box-shadow:0 6px 17px rgba(16,35,63,.07)}.campus-empty-icon{font-size:34px;color:#d7b06a}.campus-empty-card h2{font-family:var(--serif);font-size:30px;margin:0}.campus-empty-card p{font-size:12px;color:#6f7a87;margin:3px 0 0}
.course-summary-card{background:#fff;border-radius:13px;padding:21px 27px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 6px 17px rgba(16,35,63,.08);border:1px solid #edf0f3}.course-summary-main{display:grid;gap:1px}.course-summary-room{font-size:12px;color:#444f5e}.course-summary-main p{font-size:11px;margin:0;color:#3f4855}.course-summary-main p a{text-decoration:underline;font-style:italic}.course-summary-main strong{font-size:12px}.course-summary-main small{font-size:9px;color:#697482;margin-top:7px}.course-live-state{text-align:center;min-width:230px}.join-live-button{border:0;border-radius:10px;background:#c7c7c7;color:#fff;padding:14px 24px;font-weight:800;font-size:12px;box-shadow:0 10px 18px rgba(0,0,0,.12)}.join-live-button.is-live{background:#bd1e2d;cursor:pointer}.join-live-button.is-recorded{background:#2f80cf;cursor:pointer}.course-live-state span{display:block;margin-top:7px;font-size:9px;color:#9099a4}
.campus-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:26px;margin-top:34px;align-items:start}.lesson-column{min-width:0}.lesson-timeline{position:relative;display:grid;gap:18px}.lesson-timeline:before{content:'';position:absolute;left:31px;top:32px;bottom:31px;width:5px;background:#b9dafe;border-radius:99px}.lesson-row{position:relative;z-index:1}.lesson-row-main{min-height:70px;background:#fff;border-radius:13px;box-shadow:0 7px 18px rgba(17,31,50,.09);border:1px solid #eef0f2;display:flex;align-items:center;padding:12px 16px 12px 21px;gap:16px}.lesson-status-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-size:12px;font-weight:900;color:#fff;background:#d8dde2;position:relative;z-index:2}.lesson-row.is-complete .lesson-status-icon{background:#2f80cf}.lesson-row.is-next .lesson-status-icon{background:#d4d8dd;color:#fff;font-size:18px}.lesson-info{min-width:0;display:grid;gap:2px}.lesson-info small{font-size:8px;color:#8c97a3;letter-spacing:.02em}.lesson-info strong{font-size:13px;line-height:1.2;color:#202733}.attendance{color:#1c9a62;font-weight:800;margin-left:4px}.next-label{color:#2f80cf;font-weight:800;margin-left:4px}.lesson-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.lesson-icon-btn{width:29px;height:29px;border-radius:50%;border:2px solid #d5d9dd;background:#fff;color:#d5d9dd;display:grid;place-items:center;padding:5px;cursor:default}.lesson-icon-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lesson-icon-btn:first-child svg{fill:currentColor;stroke:none}.lesson-icon-btn.enabled{border-color:#2f80cf;color:#2f80cf;cursor:pointer}.lesson-icon-btn.calendar{background:#2f80cf;color:#fff}.dropdown-toggle{border:0!important;background:transparent!important}.dropdown-toggle svg{width:20px;height:20px;transition:transform .2s}.lesson-row.resources-open .dropdown-toggle svg{transform:rotate(180deg)}
.lesson-resources{display:none;margin:8px 7px 0 54px;background:#fff;border:1px solid #e8edf2;border-radius:12px;box-shadow:0 8px 18px rgba(15,33,56,.06);padding:9px}.lesson-row.resources-open .lesson-resources{display:grid;grid-template-columns:1fr 1fr;gap:8px}.resource-download{min-height:64px;border-radius:10px;background:#f8fafc;border:1px solid #edf1f5;padding:10px 12px;display:flex;align-items:center;gap:10px;transition:.2s}.resource-download:hover:not(.resource-disabled){border-color:#bad5ef;background:#f1f7fd}.resource-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;font-size:9px;font-weight:900}.resource-icon.pdf{background:#fff0f1;color:#bd1e2d}.resource-icon.video{background:#e9f3fd;color:#2f80cf}.resource-icon.video svg{width:17px;height:17px;fill:currentColor}.resource-download span:nth-child(2){display:grid;gap:1px}.resource-download strong{font-size:10px}.resource-download small{font-size:8px;color:#8994a1}.resource-arrow{margin-left:auto;color:#2f80cf;font-size:17px}.resource-disabled{opacity:.55}.locked-resources{display:none!important}.feedback-row{min-height:66px;margin-left:0;background:#fbfaff;border-radius:13px;display:flex;align-items:center;gap:14px;padding:13px 20px;box-shadow:0 6px 15px rgba(37,39,68,.06);position:relative;z-index:2}.feedback-star{font-size:22px;color:#f1cf60}.feedback-row div{display:grid}.feedback-row small{font-size:8px;color:#bbbcc7}.feedback-row strong{font-size:11px;color:#8b8d97}
.campus-side-column{display:grid;gap:17px;position:sticky;top:98px}.campus-side-card{background:#fff;border-radius:13px;border:1px solid #edf0f3;box-shadow:0 7px 18px rgba(17,31,50,.08);padding:18px}.campus-side-card h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;color:#536070}.campus-side-subtitle{margin-top:17px!important}.campus-action-link{width:100%;border:0;background:none;padding:5px 0;display:flex;align-items:center;gap:7px;color:#384656;font-size:10px;text-align:left;cursor:pointer}.campus-action-link span{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#35a4ed;color:#fff;font-size:9px}.campus-action-link.disabled{color:#aeb6bf;cursor:not-allowed}.campus-action-link.disabled span{background:#d2d7dc}.campus-progress-top{display:flex;align-items:end;justify-content:space-between}.campus-progress-top div{display:grid}.campus-progress-top span{font-size:9px;color:#7d8895}.campus-progress-top strong{font-family:var(--serif);font-size:28px;line-height:1}.campus-progress-count{font-weight:800}.campus-progress-track{height:7px;background:#e9edf1;border-radius:99px;margin:11px 0;overflow:hidden}.campus-progress-track span{display:block;height:100%;background:#2f80cf;border-radius:99px}.campus-progress-card p{font-size:9px;color:#7f8995;margin:0}
.campus-footer{background:#f0efff;text-align:center;padding:35px 20px 38px;color:#5c6470}.campus-footer img{width:112px;margin:0 auto 10px}.campus-footer p{font-size:10px;margin:0 0 9px}.campus-socials{display:flex;justify-content:center;gap:6px;margin:9px 0}.campus-socials a{width:26px;height:26px;border-radius:50%;background:#111827;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:800}.campus-footer>a{font-size:9px;color:#434b57}
@media(max-width:900px){.campus-top-nav{display:none}.campus-content-grid{grid-template-columns:1fr}.campus-side-column{position:static;grid-template-columns:1fr 1fr}.campus-banner-content{max-width:75%}}
@media(max-width:650px){.campus-header-inner,.campus-shell{width:min(100% - 20px,1040px)}.campus-header-inner{height:64px}.campus-logo-link img{width:92px}.campus-user span:not(.campus-user-avatar):not(.campus-chevron){display:none}.campus-pill-button{padding:8px 11px}.campus-banner{height:132px;border-radius:11px}.campus-banner-content{padding:18px;max-width:90%}.campus-banner h1{font-size:21px}.campus-banner p{font-size:10px;max-width:80%}.campus-banner-badge{display:none}.campus-tabs{grid-template-columns:54px 1fr 1fr}.course-summary-card{display:grid;padding:17px}.course-live-state{min-width:0;text-align:left}.join-live-button{width:100%}.campus-content-grid{margin-top:22px}.lesson-timeline:before{left:23px}.lesson-row-main{padding:11px 10px 11px 13px;gap:9px}.lesson-status-icon{width:20px;height:20px}.lesson-info strong{font-size:11px}.lesson-actions{gap:3px}.lesson-icon-btn{width:25px;height:25px;padding:4px}.lesson-resources{margin-left:38px}.lesson-row.resources-open .lesson-resources{grid-template-columns:1fr}.campus-side-column{grid-template-columns:1fr}.feedback-row{padding-left:14px}.campus-footer{margin-top:25px}}


/* V2.5 · Equipo docente */
.faculty-section{background:#fff}.faculty-carousel{position:relative}.faculty-carousel[hidden],.faculty-empty[hidden]{display:none}.faculty-carousel-bar{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:-8px 0 14px}.faculty-counter{font-size:11px;color:var(--muted);letter-spacing:.03em}.faculty-carousel-actions{display:flex;gap:8px}.faculty-arrow{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:18px;cursor:pointer;transition:.2s;box-shadow:0 7px 18px rgba(16,35,63,.06)}.faculty-arrow:hover:not(:disabled){background:var(--navy);color:#fff;border-color:var(--navy)}.faculty-arrow:disabled{opacity:.35;cursor:default}.faculty-viewport{overflow:hidden;padding:4px 2px 14px}.faculty-track{display:flex;gap:18px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}.faculty-card{flex:0 0 calc((100% - 54px)/4);min-width:0;border:1px solid var(--line);background:#fff;border-radius:22px;overflow:hidden;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 25px rgba(16,35,63,.05)}.faculty-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.faculty-card img{width:100%;height:245px;object-fit:cover;object-position:center top;background:#f5f4f0}.faculty-body{padding:20px}.faculty-body>span{display:block;color:#9a7138;font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin-bottom:6px}.faculty-body h3{font-family:var(--serif);font-size:25px;line-height:1.05;margin:0 0 8px}.faculty-body p{font-size:11px;color:var(--muted);margin:0;line-height:1.55}.faculty-empty{border:1px dashed var(--line);border-radius:20px;padding:28px;text-align:center;color:var(--muted);background:#faf9f6}

/* V2.5 · WhatsApp flotante */
.dux-whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:1000;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 12px 32px rgba(12,40,28,.26);border:3px solid #fff;transition:transform .2s ease,box-shadow .2s ease}.dux-whatsapp-float:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 38px rgba(12,40,28,.33)}.dux-whatsapp-float svg{width:29px;height:29px;display:block}.dux-whatsapp-label{position:absolute;right:68px;white-space:nowrap;background:#10233f;color:#fff;padding:8px 11px;border-radius:9px;font-size:10px;font-weight:800;opacity:0;pointer-events:none;transform:translateX(6px);transition:.2s}.dux-whatsapp-float:hover .dux-whatsapp-label{opacity:1;transform:none}
@media(max-width:980px){.faculty-card{flex-basis:calc((100% - 18px)/2)}.faculty-carousel-bar{margin-top:0}}
@media(max-width:680px){.faculty-card{flex-basis:100%}.faculty-card img{height:310px}.faculty-carousel-bar{justify-content:space-between}.dux-whatsapp-float{right:16px;bottom:16px;width:54px;height:54px}.dux-whatsapp-label{display:none}}

/* Formulario de contacto conectado · v9 */
.dux-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.contact-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start!important;gap:10px!important;color:#5b6878;font-size:11px;font-weight:600;line-height:1.5}.contact-consent input{width:auto!important;margin-top:3px;accent-color:#102640}.contact-consent span{display:block}.form-status.error{display:block;background:#fff0f0;color:#9c2832}.form-card button[disabled]{opacity:.65;cursor:not-allowed}
