/* CEDVA MotoPro · Lanzamiento 2026. Capa de diseño aislada del backend Firebase. */
:root{--ex-red:#f02a3d;--ex-red-dark:#c9182e;--ex-ink:#101116;--ex-muted:#626976;--ex-border:#e6e8ed;--ex-bg:#f5f6f8}
html{scroll-behavior:smooth}
body{overflow-x:hidden;background:var(--ex-bg);-webkit-font-smoothing:antialiased}
#app{min-height:55vh;background:var(--ex-bg)}
.skip-to-main{position:absolute;left:16px;top:-80px;background:#fff;color:#111;padding:10px 16px;z-index:1000;border:2px solid #f02a3d;border-radius:8px}
.skip-to-main:focus{top:10px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d51e35;outline-offset:4px}
.campus-header{position:relative!important;z-index:5;background:#fff;border-bottom:1px solid #eceef1}
.campus-header .ref-header-inner{box-sizing:border-box;max-width:1376px;min-height:88px;padding:13px 5%;margin:auto;gap:32px;display:flex;align-items:center;justify-content:space-between}
.campus-header .brand{width:178px!important;min-width:178px!important;flex:0 0 auto;margin:0;padding:0}
.campus-header .brand img{display:block;max-width:100%;height:auto}
.campus-header nav{width:auto!important;display:flex;gap:30px;align-items:center;margin-left:auto}
.campus-header nav a{font-family:Inter,Arial,sans-serif!important;color:#3f4550!important;font-size:13px!important;font-weight:700;text-decoration:none;transition:color .2s}
.campus-header nav a:hover,.campus-header nav a[aria-current="page"]{color:#d21b32!important}
.campus-header nav a[aria-current="page"]:after{content:'';display:block;height:2px;background:#d21b32;margin-top:5px}
.campus-header .button.red{background:#e42337;color:#fff;border:1px solid #e42337;padding:13px 21px!important;font-family:Inter,Arial,sans-serif;font-weight:800;font-size:12px!important;border-radius:7px;white-space:nowrap;box-shadow:0 5px 15px #e4233725}
.campus-header .button.red:hover{background:#bb132a}
/* Hero */
.launch-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:650px;background:var(--ex-ink);color:#fff;overflow:hidden}
.launch-copy{position:relative;z-index:1;padding:90px clamp(32px,5vw,90px) 64px max(40px,calc((100vw - 1280px)/2));padding-right:clamp(28px,4vw,65px);max-width:none;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0 0,#3a142028,transparent 64%),#101116}
.launch-copy:before{content:'';position:absolute;left:0;top:0;right:0;bottom:0;opacity:.13;background-image:linear-gradient(90deg,#ffffff10 1px,transparent 1px),linear-gradient(#ffffff10 1px,transparent 1px);background-size:55px 55px;pointer-events:none}
.launch-tag{position:relative;display:inline-flex;padding:10px 15px;background:#ffffff0c;border:1px solid #ffffff20;border-radius:100px;font-family:Inter,Arial,sans-serif;font-size:10px;letter-spacing:1.65px;font-weight:800;color:#e8e9ed;line-height:1.4}
.launch-tag i{flex:none;width:7px;height:7px;background:#f12c41;border-radius:50%;box-shadow:0 0 0 5px #f12c4125}
.launch-tag .tag-separator{color:#ef374c;margin:0 2px}
.launch-overline{position:relative;margin-top:44px;color:#8f95a3;font-weight:800;letter-spacing:2.7px;font-size:10px}
.launch-copy h1{position:relative;font-family:Inter,Arial,sans-serif;font-size:clamp(53px,5.55vw,93px);line-height:1.05;letter-spacing:-.075em;margin:13px 0 16px;font-weight:900;color:#fff}
.launch-copy h1 em{font-style:normal;color:#f02a3d}.launch-dot{color:#fff}
.launch-copy h2{position:relative;font-family:Inter,Arial,sans-serif;font-size:clamp(22px,2.1vw,31px);margin:0 0 20px;color:#fff;line-height:1.22;font-weight:800;letter-spacing:-.03em}
.launch-copy p{position:relative;font-family:Inter,Arial,sans-serif;max-width:520px;font-size:15px;line-height:1.88;color:#b8bec9;margin:0 0 31px}
.launch-copy p strong{color:#fff;font-weight:700}
.launch-actions{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:17px;max-width:100%;width:100%}
.launch-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:7px!important;margin:0!important;padding:17px 22px!important;min-height:55px;background:var(--ex-red-dark)!important;color:#fff!important;font-family:Inter,Arial,sans-serif;font-size:14px!important;font-weight:800;max-width:100%;box-shadow:0 13px 32px #b6112b42;transition:transform .2s,background .2s}
.launch-cta:hover{background:#fa344a!important;transform:translateY(-2px)}
.launch-cta span:last-child{font-size:21px;line-height:1}
.launch-login{position:relative;display:inline-flex;gap:10px;align-items:center;color:#d5d8e0;font-family:Inter,Arial,sans-serif;font-size:13px;margin:0;border-bottom:1px solid #ffffff30;padding-bottom:4px}
.launch-login:hover{color:#fff;border-color:#fff}
.launch-details{position:relative;display:flex;flex-wrap:wrap;gap:15px 23px;border-top:1px solid #ffffff21;width:100%;margin-top:46px;padding-top:24px;font-family:Inter,Arial,sans-serif;color:#b0b5c0;font-size:11px;letter-spacing:.01em}
.launch-details span{display:flex;gap:8px;align-items:center}.launch-details span b{color:#f02a3d;font-size:11px}
.launch-art{position:relative;overflow:hidden;min-height:650px;background:#23252d}
.launch-art>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:55% 50%;filter:contrast(1.08) saturate(.77)}
.launch-art-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0e0f1566,transparent 34%),linear-gradient(0deg,#101116f5 2%,#10111622 55%,#10111644 100%)}
.launch-art:after{content:'';position:absolute;inset:0;border-left:1px solid #ffffff26;pointer-events:none}
.launch-art-top{position:absolute;left:36px;top:37px;z-index:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #ffffff55;background:#111319a8;backdrop-filter:blur(10px);border-radius:5px;letter-spacing:1.6px;font-size:9px;font-weight:800;color:#fff}
.signal-dot{width:7px;height:7px;border-radius:50%;background:#ed3549;box-shadow:0 0 0 4px #ed354940}
.launch-art-label{z-index:1;left:clamp(25px,4vw,58px);right:20px;bottom:93px}
.launch-art-label>span{font-family:Inter,Arial,sans-serif;font-size:10px;letter-spacing:2px;line-height:1.6;color:#f3f4f6;font-weight:800}
.launch-art-label>b{display:block;margin-top:15px;font-family:Inter,Arial,sans-serif;line-height:1.03;letter-spacing:-.065em;font-size:clamp(39px,5.2vw,76px);font-style:normal;font-weight:900}
.launch-art-label>b em{font-style:normal;color:#ff4051}
.launch-art-chip{position:absolute;z-index:1;bottom:33px;left:clamp(25px,4vw,58px);right:25px;display:inline-flex;gap:12px;align-items:center;width:max-content;max-width:calc(100% - 50px);padding:11px 15px;border:1px solid #ffffff40;border-radius:7px;background:#101116a8;color:#f3f4f7;font-size:10px;font-family:Inter,Arial,sans-serif;font-weight:800;letter-spacing:.6px;backdrop-filter:blur(9px)}
.launch-art-chip i{font-style:normal;color:#fa4a5c;padding:0 3px}.chip-crosshair{color:#ff4054;font-size:23px;line-height:.8}
/* Course detail: editable copy and date come from the public webinar document. */
.launch-course-preview{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(35px,5.3vw,90px);padding:80px max(6%,calc((100vw - 1240px)/2));background:#f4f5f7;align-items:center;border-bottom:1px solid #e5e7ec}
.launch-course-copy .eyebrow,.launch-social .eyebrow{display:block;font-family:Inter,Arial,sans-serif;color:#d21e33;letter-spacing:2px;font-size:10px;font-weight:900}
.launch-course-copy h2{font-family:Inter,Arial,sans-serif;max-width:620px;font-size:clamp(32px,3.4vw,47px);font-weight:900;line-height:1.18;letter-spacing:-.055em;color:#111318;margin:18px 0 19px}
.launch-course-copy p{color:#616977;max-width:600px;font-family:Inter,Arial,sans-serif;font-size:15px;line-height:1.8;margin:0}
.launch-steps{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.launch-steps span{background:#fff;border:1px solid #e0e4e9;border-radius:50px;padding:10px 13px;color:#31363e;font-size:11px;font-family:Inter,Arial,sans-serif;font-weight:700}
.launch-steps b{color:#d92339;margin-right:6px}
.launch-course-panel{padding:29px 30px;background:#fff;border:1px solid #e7e9ed;border-radius:13px;box-shadow:0 22px 48px #1820320c;position:relative;overflow:hidden}
.launch-course-panel:before{content:'';display:block;position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#ba1329,#fd4351)}
.launch-panel-head{display:flex;align-items:center;gap:10px;color:#656d78;font-size:10px;font-family:Inter,Arial,sans-serif;font-weight:900;letter-spacing:.9px}
.launch-panel-icon{background:#ffecee;color:#ce1a30;display:grid;place-items:center;border-radius:8px;font-size:23px;width:42px;height:42px;line-height:1}
.launch-free{margin-left:auto;border-radius:50px;padding:7px 9px;color:#a91429;background:#fff0f2;font-size:10px}
.launch-course-panel h3{font-family:Inter,Arial,sans-serif;color:#15161c;font-size:clamp(23px,2.3vw,30px);line-height:1.24;letter-spacing:-.035em;margin:23px 0 12px;overflow-wrap:anywhere}
.course-preview-description{font-size:13px;line-height:1.75;color:#68707b;margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.launch-panel-date{font-family:Inter,Arial,sans-serif;color:#3c424d;font-weight:700;line-height:1.6;font-size:12px;display:flex;align-items:center;gap:9px;padding:14px 0;border-top:1px solid #eceef1;border-bottom:1px solid #eceef1}
.launch-panel-date span{color:#d51b35;font-size:22px}
.launch-announcement{background:#fff8ee;border-left:3px solid #e9ab4f;color:#5c4a29;border-radius:3px;padding:12px;font-size:12px;line-height:1.6;margin:17px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.launch-panel-link{display:flex;justify-content:space-between;align-items:center;font-family:Inter,Arial,sans-serif;font-size:13px;font-weight:800;color:#d21c32;margin-top:20px}
.launch-panel-link span{font-size:20px}
/* Networks */
.launch-social{display:grid;grid-template-columns:1fr 1.9fr;gap:40px;align-items:center;padding:62px max(6%,calc((100vw - 1240px)/2));background:#111319;color:#fff}
.launch-social-heading h2{font-family:Inter,Arial,sans-serif;color:#fff;font-size:clamp(22px,2.3vw,31px);letter-spacing:-.045em;line-height:1.28;margin:12px 0 0;max-width:340px}
.launch-social-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.launch-social-links a{min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:9px;padding:18px 13px;background:#1f222b;border:1px solid #343742;border-radius:10px;color:#fff;transition:background .2s,border-color .2s,transform .2s}
.launch-social-links a:hover{transform:translateY(-3px);background:#2a2d37;border-color:#e02d41}
.social-symbol{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:9px;background:#ffffff0d;border:1px solid #ffffff20;color:#fff;font-size:25px;font-family:Arial,sans-serif;font-weight:900}
.launch-social-links a>span:nth-child(2){display:grid;gap:3px;min-width:0;max-width:100%}
.launch-social-links b{font-family:Inter,Arial,sans-serif;font-size:12px;line-height:1.2}
.launch-social-links small{font-family:Inter,Arial,sans-serif;font-size:9px;line-height:1.4;color:#a6acb8;overflow-wrap:anywhere}
.launch-social-links a>span:last-child{margin-left:auto;color:#eb4859;font-size:18px;line-height:1}
/* Footer */
.launch-footer{display:grid!important;grid-template-columns:1fr auto;gap:17px 35px;align-items:center;padding:27px max(6%,calc((100vw - 1240px)/2));background:#fff;color:#343944;border-top:1px solid #e4e5e9;font-family:Inter,Arial,sans-serif}
.launch-footer .footer-ident{display:flex;align-items:center;gap:11px}
.launch-footer .footer-ident img{width:42px;height:42px;object-fit:contain}
.launch-footer .footer-ident span{display:grid;gap:4px}.launch-footer .footer-ident b{font-size:13px}.launch-footer .footer-ident small{font-size:10px;color:#7b818b}
.launch-footer .footer-links{display:flex;gap:9px 20px;justify-content:flex-end;flex-wrap:wrap}
.launch-footer .footer-links a{font-size:11px;font-weight:700;color:#535966}.launch-footer .footer-links a:hover{color:#d92339}
.launch-footer .footer-bottom{grid-column:1/-1;margin:0;padding-top:16px;border-top:1px solid #ebedf0;font-size:10px;color:#8a909b}
/* Internal campus and profile: improve clarity while leaving Firebase flows unchanged. */
.page-title{background:linear-gradient(117deg,#171a21,#272c34)!important;color:#fff!important;padding:52px max(6%,calc((100vw - 1240px)/2))!important;border-bottom:3px solid #df2c40!important}
.page-title .eyebrow{color:#fd5a6a!important;letter-spacing:2px;font-size:11px;font-weight:900}
.page-title h1{max-width:900px;font-family:Inter,Arial,sans-serif;font-weight:900;color:#fff!important;font-size:clamp(30px,4vw,48px)!important;letter-spacing:-.05em;line-height:1.18;margin:14px 0!important}
.page-title p{color:#c4c8d0!important;font-size:14px!important;line-height:1.7}
.section{max-width:1360px;margin:0 auto;padding:45px 6%!important}
.panel{border:1px solid #e3e6ea!important;border-radius:12px!important;box-shadow:0 10px 32px #1720330a;background:#fff;padding:28px!important;overflow-wrap:anywhere}
.panel h2,.panel h3{font-family:Inter,Arial,sans-serif;letter-spacing:-.025em}
.panel input:not([type=checkbox]),.panel select,.panel textarea{border-radius:8px!important;border:1px solid #cdd2db!important}
.panel input:not([type=checkbox]):focus,.panel select:focus,.panel textarea:focus{border-color:#d52238!important;box-shadow:0 0 0 3px #d522381c!important;outline:none}
.panel label{color:#3d4350;font-weight:750}
.auth-panel{max-width:600px;background:#fff;padding:35px!important}
.auth-panel .button.red,.campus-section .button.red{background:#d72038;color:#fff;border-color:#d72038}
.auth-panel .button,.campus-section .button{border-radius:8px}
.campus-tabs{gap:8px;flex-wrap:wrap}.campus-tabs a{border-radius:9px;padding:13px 21px;font-size:13px}.campus-tabs a[aria-current]{background:#d92139;color:#fff}
.campus-section .dashboard{grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:22px;align-items:start}
.campus-section .dashboard>*{min-width:0}.campus-section .dashboard>div{display:grid;gap:22px}
.campus-section .panel h2{font-size:clamp(23px,2.2vw,31px);line-height:1.25}
.campus-course{position:relative}.campus-course:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#e22237}
.campus-course .status{display:inline-block;border-radius:100px;background:#ecf8ef;color:#1e7040;padding:8px 12px;font-size:11px;font-weight:900}
.campus-empty{padding:20px;background:#f6f7f9;border:1px dashed #d4d9e1;color:#68707c;font-size:13px}
.campus-section .panel:has(.feature-tag){background:#fefefe}
.community-card{background:#162a25!important;color:#fff!important}.community-card h3,.community-card p{color:#fff!important}
.community-card .button{background:#fff!important;color:#16382f!important}
.phone-field{border-radius:8px!important}.phone-field #student-whatsapp{border:none!important}
.verified-email{font-size:14px;border:1px dashed #d9dce3!important}
.page-title h1{text-transform:none!important}
.campus-section .panel h2{font-style:normal!important}
.campus-section .panel p{font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.75}
.campus-section .panel h3{font-style:normal!important}
/* Admin tables can scroll within their own container without moving the whole page. */
.table-wrap{max-width:100%;overflow-x:auto}
@media(max-width:1200px){.launch-social{grid-template-columns:1fr;gap:22px}.launch-social-heading h2{max-width:650px}.launch-social-links a{padding:14px}}
@media(max-width:960px){
 .launch-hero{min-height:0}.launch-copy{padding:60px 32px}.launch-copy h1{font-size:clamp(44px,6vw,68px)}.launch-overline{margin-top:32px}.launch-art{min-height:560px}.launch-art-label>b{font-size:clamp(32px,4.5vw,60px)}
 .launch-course-preview{gap:26px;padding:55px 5%}.launch-social{padding:45px 5%}.launch-footer{padding:25px 5%}
 .campus-section .dashboard{grid-template-columns:minmax(0,1fr) 280px}
}
@media(max-width:760px){
 .campus-header .ref-header-inner{display:flex;flex-wrap:nowrap;padding:13px 5%;min-height:70px;gap:12px}
 .campus-header .brand{width:120px!important;min-width:120px!important;max-width:120px!important;flex:0 0 120px!important;margin:0!important}
 .campus-header nav{justify-content:flex-end;gap:14px;margin-left:auto;min-width:0}.campus-header nav a{font-size:11px!important;white-space:nowrap}
 .campus-header .ref-header-inner>.button{display:none!important}
 .launch-hero{grid-template-columns:1fr}.launch-copy{padding:49px 6% 39px;min-height:0}
 .launch-overline{margin-top:32px;letter-spacing:1.8px;font-size:9px}
 .launch-copy h1{font-size:clamp(43px,12vw,70px);letter-spacing:-.075em;margin:17px 0 16px}
 .launch-copy h2{font-size:clamp(24px,6vw,31px)}
 .launch-copy p{font-size:14px;line-height:1.85}
 .launch-actions{align-items:stretch}.launch-cta{width:100%;justify-content:space-between;font-size:13px!important;min-height:54px}
 .launch-login{align-self:flex-start;font-size:12px}
 .launch-details{margin-top:36px;font-size:10px;gap:12px 20px}
 .launch-art{min-height:360px}.launch-art>img{object-position:center 46%}.launch-art-top{top:20px;left:6%;font-size:8px;letter-spacing:1px}
 .launch-art-label{left:6%;bottom:85px;right:5%}.launch-art-label>b{font-size:clamp(38px,9.4vw,60px)}
 .launch-art-chip{left:6%;bottom:23px;font-size:9px}
 .launch-course-preview{grid-template-columns:1fr;gap:26px;padding:55px 6%}
 .launch-course-copy h2{font-size:clamp(30px,8vw,41px)}.launch-course-copy p{font-size:14px}
 .launch-social{padding:45px 6%}.launch-social-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .launch-footer{grid-template-columns:1fr;padding:23px 6%}.launch-footer .footer-links{justify-content:flex-start;gap:12px 17px}
 .campus-section .dashboard{grid-template-columns:1fr}.campus-section .dashboard>div{gap:17px}
 .section{padding:25px 5%!important}.panel{padding:23px!important}.page-title{padding:35px 6%!important}
}
@media(max-width:390px){
 .campus-header .brand{width:105px!important;min-width:105px!important;flex-basis:105px!important}.campus-header nav{gap:11px}.campus-header nav a{font-size:10px!important}
 .launch-tag{font-size:9px;letter-spacing:.8px}.launch-copy h1{font-size:clamp(39px,11.6vw,50px)}.launch-details{gap:10px 15px}
 .launch-art{min-height:330px}.launch-art-label>b{font-size:clamp(34px,9vw,43px)}.launch-art-top{font-size:7px;max-width:90%}
 .launch-steps{gap:8px}.launch-steps span{font-size:10px;padding:9px 10px}
 .launch-course-panel{padding:23px 20px}.launch-panel-head{font-size:9px}
 .launch-social-links{gap:8px}.launch-social-links a{padding:12px 9px;gap:7px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.launch-cta,.launch-social-links a{transition:none!important}.launch-cta:hover,.launch-social-links a:hover{transform:none!important}}
