@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/dm-sans.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/manrope.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#111a1c;--muted:#4f5d61;--cyan:#35cee9;--cyan-light:#e1f8fc;--paper:#fff;--surface:#f4f6f6;--line:#e1e6e7;--radius:6px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:'Manrope',sans-serif}p{line-height:1.7}a,button{transition:background .2s,color .2s,transform .2s}a:hover{color:#00849c}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid #00849c;outline-offset:4px}.skip{position:absolute;top:-70px;z-index:99;background:var(--cyan);padding:16px}.skip:focus{top:0}.announcement{height:35px;background:var(--ink);color:#f2f7f8;font-size:13.5px;letter-spacing:1.3px;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.announcement span{font-size:12.5px;color:var(--cyan)}.header{height:96px;padding:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;background:white}.wordmark{font-family:'Manrope',sans-serif;font-size:27.5px;font-weight:800;letter-spacing:-1.7px;white-space:nowrap}.wordmark span{color:#08a8c8}.wordmark i{font:10px 'DM Sans',sans-serif;vertical-align:top;position:relative;top:4px;margin-left:3px}.header>nav{display:flex;gap:34px;height:100%;align-items:center}.header>nav a{height:100%;display:flex;align-items:center;font-size:18px;position:relative}.header>nav a[aria-current]{font-weight:680}.header>nav a[aria-current]:after{content:'';position:absolute;bottom:24px;left:0;right:0;height:2px;background:var(--cyan)}.header-actions{display:flex;align-items:center;gap:24px;font-size:18px}.bag-link{position:relative;display:inline-flex;align-items:center;border-left:1px solid var(--line);padding-left:24px;color:var(--ink)}.bag-link:hover{color:var(--ac-cian-fuerte)}.bag-link svg{display:block;width:25px;height:25px}.bag-link span{position:absolute;top:-7px;right:-10px;display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:var(--ink);color:#fff;font-size:12.5px;font-weight:680;line-height:1}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px;max-width:1600px;margin:auto;overflow:hidden}.hero-copy{padding:62px 5% 30px 10%}.eyebrow{font-size:13.5px;font-weight:645;letter-spacing:1.65px;line-height:1.5}.little-line{display:inline-block;width:22px;height:2px;vertical-align:middle;background:var(--cyan);margin-right:9px}.hero h1{font-size:clamp(51px,6vw,87px);line-height:1.06;letter-spacing:-4px;font-weight:800;margin:27px 0 22px}.hero h1>span{color:#009fbe}.hero-copy>p,.hero-lead>p{font-size:20px;color:var(--muted);line-height:1.8}.button-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:14px 23px;border:1px solid transparent;border-radius:3px;font-size:18px;font-weight:645;background:var(--ink);color:white}.btn:hover{background:#273b3f;color:white}.btn.primary{background:var(--cyan);color:var(--ink)}.btn.primary:hover{background:#6de1f4}.btn.light{background:white;color:var(--ink)}.btn.outline{background:transparent;border-color:var(--line);color:var(--ink)}.btn.small{min-height:37px;padding:8px 13px;font-size:16.5px;gap:8px}.btn.danger{background:#fff0ef;color:#a32121}.text-link{font-size:18px;font-weight:505}.text-link span{margin-left:20px}.hero-footnote{display:flex;align-items:center;gap:17px;font-size:12.5px;letter-spacing:1.6px;color:var(--muted);margin-top:48px}.hero-footnote>span{color:#009fbe}.hero-visual{position:relative;background:var(--paper);min-height:660px;margin-right:5%;overflow:hidden}.brand-back{display:none}.brand-back img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.portrait-frame{position:absolute;left:50%;transform:translateX(-50%);bottom:0;height:94%;aspect-ratio:683/1024;max-width:86%}.portrait{height:100%;width:100%;object-fit:contain;object-position:center bottom;--fundido-alto:linear-gradient(to bottom,transparent 0,#00000040 3%,#000 11%,#000 45%,#000000d9 62%,#00000099 75%,#0000004d 86%,#00000014 95%,transparent 100%);--fundido-ancho:linear-gradient(to right,transparent 0,#00000040 3%,#000 13%,#000 87%,#00000040 97%,transparent 100%);-webkit-mask-image:var(--fundido-alto),var(--fundido-ancho);-webkit-mask-composite:source-in;mask-image:var(--fundido-alto),var(--fundido-ancho);mask-composite:intersect}.portrait-caption{position:absolute;bottom:22px;left:30px;right:15px;color:var(--ink);z-index:1;display:block;text-shadow:0 1px 12px #fff,0 1px 3px #ffffffd9}.portrait-caption:hover{color:var(--ink)}.portrait-caption:hover strong i{transform:translate(3px,-3px)}.portrait-caption strong i{display:inline-block;font-style:normal;font-size:25.5px;margin-left:6px;transition:transform .2s}.portrait-caption:focus-visible{outline-offset:8px}.portrait-caption>span{font-size:12.5px;letter-spacing:1.4px;color:#111a1c}.portrait-caption strong{display:block;font-size:34px;letter-spacing:-1px;margin:8px 0}.portrait-caption strong span{color:var(--cyan)}.portrait-caption p{font-size:15px;color:var(--muted)}.vertical-label{position:absolute;right:3%;top:42%;writing-mode:vertical-rl;font-size:12.5px;letter-spacing:2px}.visual-index{position:absolute;left:8%;top:14px;font-size:15px;color:#111a1c}.principles{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 5%;border-bottom:1px solid var(--line);gap:25px;font-size:16.5px}.principles span{text-align:center}.principles span+span{border-left:1px solid var(--line)}.principles b{color:#009fbe;margin-right:16px;font-weight:540}.section{padding:76px 5%;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.section-heading h2{font-size:36px;letter-spacing:-1.3px;margin-top:12px;font-weight:750}.section-heading>p{color:var(--muted);font-size:18px}.paths{display:grid;grid-template-columns:1fr 1fr;gap:22px}.path-card{padding:32px;display:flex;min-height:360px;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.path-card:hover{transform:translateY(-3px)}.shop-path{background:var(--surface)}.academy-path{background:var(--cyan-light)}.path-card h3{font-size:32px;line-height:1.2;letter-spacing:-1px;font-weight:750;margin:30px 0 14px;position:relative}.path-card p{font-size:18px;color:#111a1c;max-width:80%}.path-number{position:absolute;font-family:'Manrope';font-size:180px;color:#122a3210;right:22px;top:45px;font-weight:800;letter-spacing:-12px}.path-bottom{display:flex;justify-content:space-between;border-top:1px solid #122a321c;padding-top:18px;margin-top:30px;font-size:18px;font-weight:610}.path-bottom span{font-size:25.5px}.contact-band{background:var(--ink);color:white;margin:0 5% 70px;padding:45px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px}.contact-band>.eyebrow{grid-column:1/-1;color:var(--cyan)}.contact-band h2{font-size:34px;font-weight:600;letter-spacing:-1px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding:38px 5%;border-top:1px solid var(--line);gap:25px}.footer-top p{color:var(--muted);font-size:18px}.footer-top>a:last-child{font-size:18px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:22px 5%;font-size:13.5px;color:var(--muted)}.footer-bottom>div{display:flex;gap:24px}.footer-bottom>span:last-child{letter-spacing:1.3px}.flashes{padding:18px 5% 0}.notice{padding:15px 20px;background:var(--cyan-light);border-left:3px solid #00a4c3;margin-bottom:10px;line-height:1.6;font-size:18px}.notice.error{background:#fff0ef;border-color:#c64343}.notice.success{background:#e8f6ef;border-color:#20834c}.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;max-width:1600px;margin:auto;padding:60px 5% 30px}.about-intro h1{font-size:clamp(42.5px,5vw,70px);line-height:1.07;letter-spacing:-3px;font-weight:750;margin:24px 0 20px}.about-intro h1>span{color:#009fbe}.about-intro>p{font-size:20px;color:var(--muted);line-height:1.8;max-width:52ch}.about-photo{position:relative;border-radius:20px;overflow:hidden;background:var(--surface);max-width:400px;width:100%;justify-self:end}.about-photo img{width:100%;height:auto;display:block}.about-photo:after{content:'';position:absolute;inset:64% 0 0;background:linear-gradient(transparent 10%,#08161bd9);pointer-events:none}.about-photo-tag{position:absolute;left:24px;bottom:22px;color:white;z-index:1}.about-photo-tag>span{font-size:12.5px;letter-spacing:1.4px}.about-photo-tag strong{display:block;font-family:'Manrope',sans-serif;font-size:29.5px;letter-spacing:-1px;margin-top:6px}.about-photo-tag strong span{color:var(--cyan)}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.about-card{background:var(--surface);padding:30px;position:relative;overflow:hidden;min-height:250px}.about-card .path-number{font-size:116.5px;letter-spacing:-8px;top:18px;right:18px}.about-card h3{font-size:25.5px;letter-spacing:-.8px;font-weight:750;margin:26px 0 12px}.about-card p{font-size:18px;color:#111a1c;line-height:1.75}.about-split{display:grid;grid-template-columns:1.15fr 1fr;gap:46px;align-items:start}.about-split h2{font-size:36px;letter-spacing:-1.3px;font-weight:750;margin:12px 0 20px}.about-split p{font-size:19px;color:#111a1c;margin-bottom:14px;max-width:56ch}.about-split p strong{color:var(--ink);font-weight:645}.about-steps{display:grid;gap:16px}.about-steps>div{border-left:2px solid var(--cyan);padding:4px 0 4px 20px}.about-steps>div>span{font-size:13.5px;font-weight:645;letter-spacing:1.4px;color:#009fbe}.about-steps h3{font-size:22.5px;letter-spacing:-.5px;font-weight:750;margin:6px 0 6px}.about-steps p{font-size:18px;color:#111a1c;margin:0}@media(max-width:950px){.about-hero{grid-template-columns:1fr;gap:30px}.about-grid{grid-template-columns:1fr}.about-split{grid-template-columns:1fr;gap:30px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.social-block{grid-column:1/-1;display:flex;align-items:center;gap:22px;flex-wrap:wrap;border-top:1px solid #ffffff26;padding-top:24px;margin-top:6px}.social-block>.eyebrow{color:var(--cyan)}.social-icons{display:flex;gap:12px;flex-wrap:wrap}.social-icons a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff33;border-radius:50%;color:white}.social-icons a:hover{background:var(--cyan);border-color:var(--cyan);color:var(--ink);transform:translateY(-2px)}.social-icons svg{width:19px;height:19px}.social-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.social-list a{display:flex;align-items:center;gap:15px;background:var(--surface);padding:18px 20px;border:1px solid transparent}.social-list a:hover{border-color:var(--cyan);background:white;transform:translateY(-2px)}.social-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:white;flex:none}.social-mark svg{width:19px;height:19px}.social-name{display:flex;flex-direction:column;font-size:19px;font-weight:645;line-height:1.3}.social-name small{font-size:16.5px;font-weight:540;color:var(--muted);margin-top:2px}.social-go{margin-left:auto;font-size:22.5px;color:var(--muted)}.social-list a:hover .social-go{color:#00849c}@media(max-width:650px){.social-block{gap:14px}.social-icons a{width:44px;height:44px}}
@media(min-width:1600px){.hero-copy{padding-left:80px}.hero-visual{margin-right:80px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.honeypot{display:none}.full{width:100%}.muted{color:var(--muted);font-size:18px}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.error-text{color:#b32a29;font-size:16.5px}.page-intro{padding:64px 5% 48px;background:var(--surface)}.page-intro h1{font-size:51px;letter-spacing:-2px;margin:15px 0}.page-intro p{color:var(--muted);font-size:20px}.page-intro.compact{padding-top:40px;padding-bottom:34px}.page-intro.compact h1{font-size:40.5px}.catalog-section{padding-top:30px}.filter-bar{display:flex;align-items:center;gap:14px;margin-bottom:28px;flex-wrap:wrap}.search{display:flex;flex:1;min-width:200px;position:relative}.search input{padding-right:50px!important;width:100%}.search button{position:absolute;right:2px;top:2px;bottom:2px;width:42px;background:transparent;border:0;font-size:24.5px}.field input,.field textarea,.field select,.filter-bar input,.filter-bar select,.quantity-form input,.buy-form input{width:100%;padding:13px 14px;border:1px solid #cbd3d5;background:white;border-radius:4px;min-height:47px;font-size:19px;color:var(--ink)}input:disabled{background:var(--surface);color:var(--muted)}.field input[type=file]{padding:10px}.field textarea{resize:vertical;line-height:1.6}.field{display:flex;flex-direction:column;gap:9px;font-size:18px}.field>span{font-weight:505}.field small{color:var(--muted);font-size:15px}.form-stack{display:flex;flex-direction:column;gap:22px}.form-stack>.btn{align-self:start}.check{display:flex;align-items:start;gap:10px;font-size:16.5px;line-height:1.6}.check input{accent-color:#009fbe;width:17px;height:17px;flex-shrink:0;margin-top:2px}.check a{text-decoration:underline;text-underline-offset:3px}.catalog-meta{display:flex;justify-content:space-between;font-size:15px;color:var(--muted);margin:0 0 28px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 24px}.product-card{min-width:0}.product-image{position:relative;aspect-ratio:1.12;background:var(--surface);display:block;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.product-card:hover .product-image img{transform:scale(1.025)}.catalog-type{height:100%;min-height:245px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#e9eef0,#f8fafa);position:relative}.catalog-type:after{content:'';position:absolute;right:25px;top:25px;bottom:25px;width:30%;border:1px solid #afc4ca66;border-left:0}.catalog-type>span{font-size:15px;letter-spacing:2px;color:#111a1c}.catalog-type strong{font-family:Manrope,sans-serif;font-size:clamp(24px,3vw,40.5px);font-weight:610;letter-spacing:-1px;z-index:1}.catalog-type small{font-size:11.5px;letter-spacing:1.7px;color:#111a1c;max-width:70%}.product-info{padding:21px 1px}.product-info .eyebrow{color:var(--muted);font-size:12.5px}.product-info h3{font-size:22.5px;font-weight:750;line-height:1.45;margin-top:8px}.product-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.product-bottom>strong{font-size:21px;font-weight:610}.add-button{height:36px;min-width:36px;font-size:24.5px;background:white;border:1px solid var(--line);border-radius:50%;padding:0 9px}.add-button:hover{background:var(--cyan);border-color:var(--cyan)}.add-button:disabled{font-size:13.5px;border-radius:3px}.badge{display:inline-flex;padding:5px 9px;border-radius:3px;font-size:13.5px;font-weight:505;background:#edf1f2;color:#111a1c;white-space:nowrap}.image-badge{position:absolute;top:12px;right:12px;background:white}.status-APPROVED{background:#e1f4e9;color:#176941}.status-PENDING{background:#fff4d8;color:#805c0b}.status-CANCELLED,.status-DECLINED,.status-ERROR,.status-REVIEW{background:#feebe9;color:#a4382e}.status-REFUNDED{background:#e6e9f7;color:#4c4d83}.breadcrumb{display:inline-block;color:var(--muted);font-size:16.5px;margin-bottom:30px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.detail-image{aspect-ratio:1;align-self:start}.detail-image .catalog-type{padding:38px}.detail-image .catalog-type strong{font-size:47.5px}.detail-copy{padding-top:20px}.detail-copy h1{font-size:41.5px;letter-spacing:-1.5px;line-height:1.2;margin:20px 0}.detail-price{font-size:32px;font-family:Manrope,sans-serif;font-weight:645;display:block;margin:18px 0}.detail-price small{font-size:16.5px;color:var(--muted);font-weight:540}.detail-copy>p{color:var(--muted)}.stock-line{font-size:16.5px;margin:25px 0}.buy-form{display:flex;gap:15px;align-items:end}.buy-form label{font-size:15px;display:flex;flex-direction:column;gap:6px;max-width:80px}.detail-note{border-top:1px solid var(--line);padding-top:25px;margin-top:30px;font-size:16.5px;line-height:1.8;color:var(--muted)}.academy-intro{padding:54px 7% 0;background:var(--ink);color:white;display:grid;grid-template-columns:1.3fr 1fr;gap:45px;overflow:hidden}.academy-intro h1{font-size:61.5px;line-height:1.15;letter-spacing:-2.7px;margin:23px 0}.academy-intro h1 span{color:var(--cyan)}.academy-intro p{color:#f2f7f8;font-size:20px}.academy-tags{display:flex;gap:12px;flex-wrap:wrap;margin:27px 0 38px}.academy-tags span{padding:8px 12px;border:1px solid #6c848c66;border-radius:3px;font-size:15px}.academy-photo{position:relative;max-width:380px;justify-self:end;overflow:hidden;border-radius:140px 140px 0 0;max-height:490px;align-self:end;width:100%}.academy-photo img{height:100%;width:100%;object-fit:cover;object-position:center 35%}.academy-photo>div{position:absolute;bottom:0;left:0;right:0;padding:65px 25px 25px;background:linear-gradient(transparent,#09171e);font-size:15px;letter-spacing:1.8px}.academy-photo strong{font-size:26.5px}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.course-card{border:1px solid var(--line);border-radius:5px;overflow:hidden}.course-cover{display:flex;flex-direction:column;justify-content:space-between;min-height:220px;padding:25px 30px;background:#d9f4f9}.course-cover>strong{font-size:63.5px;letter-spacing:-2px;font-family:Manrope,sans-serif;font-weight:645;margin:20px 0}.course-cover>div{display:flex;justify-content:space-between;font-size:12.5px;letter-spacing:1.6px;align-items:center}.course-cover>div>span:last-child{font-size:29.5px}.course-cover.level-0{background:#1f3239;color:white}.course-cover.level-0>strong{color:var(--cyan)}.course-info{padding:26px}.course-meta{display:flex;gap:17px;flex-wrap:wrap;font-size:15px;color:var(--muted);align-items:center}.course-info h3{font-size:25.5px;letter-spacing:-.6px;margin:18px 0 12px}.course-info>p{font-size:18px;color:var(--muted);min-height:50px}.course-price{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;margin-top:22px;border-top:1px solid var(--line)}.course-price strong{font-size:25.5px;font-weight:505}.course-price small{display:block;font-size:13.5px;margin-top:5px;color:var(--muted)}.course-detail-top{background:var(--ink);color:white;padding:40px 7% 28px}.course-detail-top .breadcrumb{color:#f2f7f8}.course-detail-top>.eyebrow{color:var(--cyan)}.course-detail-top h1{max-width:800px;font-size:51px;letter-spacing:-1.8px;margin:20px 0;line-height:1.2}.course-detail-top>p{color:#f2f7f8;max-width:720px}.course-detail-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:70px;padding-top:45px}.course-detail-body h2{font-size:25.5px;margin-bottom:22px}.body-copy{line-height:1.9;margin-bottom:42px;color:#111a1c}.syllabus details{border:1px solid var(--line);border-bottom:0}.syllabus details:last-child{border-bottom:1px solid var(--line)}.syllabus summary{background:var(--surface);padding:19px;cursor:pointer;font-weight:610;font-size:18px}.syllabus summary>span{float:right;font-weight:540;font-size:15px;color:var(--muted)}.lesson-row{padding:15px 20px;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:16.5px}.lesson-row small{white-space:nowrap;color:var(--muted)}.instructor-card{display:flex;gap:25px;align-items:center;margin-top:45px;padding-top:35px;border-top:1px solid var(--line)}.instructor-card>img{width:90px;height:110px;object-fit:cover;object-position:50% 25%;border-radius:3px}.instructor-card h3{font-size:24.5px;margin:8px 0}.instructor-card p{font-size:16.5px;color:var(--muted)}.purchase-card{border:1px solid var(--line);padding:30px;align-self:start;box-shadow:0 8px 35px #142f3710;border-radius:4px;position:sticky;top:25px}.purchase-card>p{color:var(--muted);font-size:18px;margin-bottom:20px}.plain-list{list-style:none;padding:0;margin:28px 0}.plain-list li{font-size:16.5px;margin:16px 0}.plain-list li:before{content:'✓';color:#009db8;margin-right:12px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1400px;margin:auto;min-height:650px}.auth-story{background:#e4f5f8;margin:30px 0 30px 30px;padding:65px 12%;position:relative;overflow:hidden}.auth-story h1{font-size:71px;letter-spacing:-3px;line-height:1.13;margin:32px 0}.auth-story h1 span{color:#008da7}.auth-story p{color:#111a1c;font-size:19px}.auth-story img{width:180px;mix-blend-mode:multiply;margin-top:45px}.auth-form{padding:65px 15%;align-self:center}.auth-form h2{font-size:32px;font-weight:750;letter-spacing:-1px;line-height:1.3;margin:18px 0 30px}.auth-form .form-stack{gap:18px}.auth-secondary{display:block;font-size:16.5px;text-align:center;margin-top:20px}.auth-switch{border-top:1px solid var(--line);margin-top:25px;padding-top:25px;text-align:center;font-size:16.5px;color:var(--muted)}.auth-switch a{color:var(--ink);font-weight:610;text-decoration:underline}.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:50px;align-items:start}.cart-layout{padding-top:35px}.cart-item{display:flex;gap:18px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.cart-item:first-child{padding-top:0}.cart-item>div{flex:1}.cart-item h3{font-size:20px;margin:8px 0}.cart-item p{font-size:16.5px;color:var(--muted)}.cart-item>strong{white-space:nowrap;font-size:19px}.cart-items>.text-link{display:block;margin-top:27px}.quantity-form{display:flex;gap:7px;align-items:center;flex-direction:column}.quantity-form input{width:65px;min-height:35px;padding:7px}.quantity-form button{font-size:12.5px;padding:3px 6px;min-height:25px}.remove-button{border:0;background:transparent;font-size:25.5px;color:var(--muted)}.summary-card{padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;gap:20px}.summary-card h2{font-size:24.5px;letter-spacing:-.6px}.summary-card p{font-size:18px;color:var(--muted)}.summary-card>small{font-size:15px;color:var(--muted);line-height:1.7}.summary-card form>.btn+small{display:block;margin-top:5px;font-size:13.5px}.summary-row{display:flex;justify-content:space-between;gap:25px;align-items:start;border-bottom:1px solid var(--line);padding:17px 0;font-size:18px;line-height:1.5}.summary-row strong,.summary-row b{white-space:nowrap}.summary-row.total{border-bottom:0;font-size:25px;padding-top:22px}.summary-row.total strong{font-size:24.5px}.summary-card .summary-row{padding:0 0 18px}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:15px;color:var(--muted);padding:8px 0}.success-mark{font-size:44.5px;color:#208652}.payment-history{border-top:1px solid var(--line);padding-top:10px}.payment-history p{font-size:15px}.panel{border:1px solid var(--line);border-radius:5px;padding:28px;background:white;margin:0 0 25px}.panel h2{font-size:24.5px;margin-bottom:20px;letter-spacing:-.4px}.panel h3{font-size:22.5px;margin:12px 0}.panel>p{font-size:18px;margin:12px 0}.panel>small{display:block;color:var(--muted);margin-top:12px}.panel .section-heading{margin-bottom:10px}.panel .section-heading h2{margin:0}.empty{grid-column:1/-1;text-align:center;width:100%;padding:70px 30px;display:flex;align-items:center;flex-direction:column;gap:22px}.empty h2{font-size:29.5px;letter-spacing:-.7px}.empty p{font-size:19px;color:var(--muted);max-width:500px}.empty .button-row{margin-top:5px;justify-content:center}.empty-symbol{font-size:57px;color:#039fba;font-weight:540}.compact-empty{padding:40px 25px;background:var(--surface);gap:15px}.compact-empty h3{font-size:25px}.pagination{display:flex;gap:25px;justify-content:center;margin:35px 0;font-size:16.5px}.pagination>span{color:var(--muted)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-stack .two-columns{margin:0}.table-wrap{max-width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:16.5px}th{text-align:left;font-size:13.5px;letter-spacing:.5px;font-weight:540;background:var(--surface);color:var(--muted);padding:16px}td{padding:18px 16px;border-bottom:1px solid var(--line);line-height:1.5}td small{display:block;font-size:13.5px;color:var(--muted);margin-top:5px}td a:hover{text-decoration:underline}td .text-link{font-size:15px}.table-actions{display:flex;gap:14px;align-items:center}.table-actions .check{white-space:nowrap;font-size:15px}.account-header{padding:45px 5%;background:var(--cyan-light);display:flex;justify-content:space-between;gap:30px;align-items:center}.account-header h1{font-size:44.5px;letter-spacing:-1.5px;margin:13px 0}.account-header p{color:var(--muted);font-size:19px}.account-header .button-row{margin:0}.account-content{padding-top:40px}.account-content>h2{font-size:26.5px;margin:42px 0 22px}.account-content>.two-columns{margin-top:40px}.enrollment-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.enrollment-card{background:var(--ink);color:white;padding:30px;border-radius:4px}.enrollment-card .eyebrow{color:var(--cyan)}.enrollment-card h3{font-size:27.5px;letter-spacing:-.6px;margin:25px 0;line-height:1.4}.enrollment-card:hover{color:white;background:#243e46}.classroom-top{background:var(--ink);color:white;padding:20px 4%;display:flex;justify-content:space-between;font-size:13.5px;letter-spacing:1px}.classroom{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:700px}.lesson-sidebar{border-right:1px solid var(--line);padding:35px 25px;background:var(--surface)}.lesson-sidebar h2{font-size:24.5px;margin:15px 0 25px;letter-spacing:-.6px}.progress-label{display:flex;justify-content:space-between;font-size:15px}.lesson-sidebar progress{width:100%;height:6px;accent-color:#08b5d3;margin:12px 0 25px;border:0;border-radius:4px}.lesson-sidebar progress::-webkit-progress-bar{background:#dce6e9;border-radius:4px}.lesson-sidebar progress::-webkit-progress-value{background:#08b5d3;border-radius:4px}.lesson-sidebar nav{display:flex;flex-direction:column;gap:5px}.lesson-sidebar nav a{display:flex;gap:15px;padding:16px 12px;border-radius:4px;font-size:16.5px;line-height:1.5}.lesson-sidebar nav a.selected{background:white;box-shadow:0 2px 10px #142f3710;color:#087d93;font-weight:610}.lesson-sidebar nav a small{display:block;font-size:13.5px;font-weight:540;color:var(--muted);margin-top:5px}.lesson-check{min-width:22px;font-size:15px;align-self:start}.lesson-content{padding:45px 6%;max-width:1100px;width:100%}.lesson-content h1{font-size:36px;letter-spacing:-1px;margin:18px 0 28px;line-height:1.3}.lesson-text{font-size:20px;line-height:1.95;margin:30px 0;color:#111a1c}.video-frame{aspect-ratio:16/9;background:#111a1c;border-radius:5px;overflow:hidden}.video-frame iframe{width:100%;height:100%;border:0}.resource-card{display:flex;gap:18px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:4px;font-size:18px;max-width:400px}.resource-card>span{font-size:27.5px;color:#009fbe}.resource-card small{display:block;margin-top:5px;color:var(--muted);font-size:15px}.lesson-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin:38px 0 25px;padding-top:25px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:60px}.contact-copy h1{font-size:68px;letter-spacing:-2.5px;line-height:1.12;margin:26px 0}.contact-copy h1 span{color:#009fbe}.contact-copy>p{color:var(--muted);max-width:420px}.contact-details{display:flex;flex-direction:column;gap:28px;margin-top:40px}.contact-details>div>span{display:block;font-size:12.5px;letter-spacing:1.4px;color:var(--muted);margin-bottom:9px}.contact-details p,.contact-details a{font-size:19px}.contact-form{padding:32px;background:var(--surface);border-radius:5px}.contact-form h2{font-size:26.5px;letter-spacing:-.6px;margin-bottom:7px}.legal-copy{max-width:900px}.legal-copy h1{font-size:42.5px;letter-spacing:-1.5px;margin:20px 0 35px}.legal-copy h2{font-size:25.5px;margin:30px 0 12px}.legal-copy p{font-size:19px;color:#111a1c}.admin-shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:800px}.admin-nav{background:var(--ink);color:white;padding:34px 25px}.admin-nav>.eyebrow{color:var(--cyan);font-size:11.5px}.admin-nav h2{font-size:25.5px;font-weight:600;letter-spacing:-.5px;line-height:1.4;margin:20px 0 30px}.admin-nav nav{display:flex;flex-direction:column;gap:5px}.admin-nav nav a{display:flex;justify-content:space-between;padding:13px 14px;border-radius:4px;font-size:16.5px;color:#f2f7f8}.admin-nav nav a>span{opacity:0}.admin-nav nav a[aria-current]{background:var(--cyan);color:var(--ink);font-weight:610}.admin-nav nav a[aria-current]>span{opacity:1}.admin-nav nav a:hover{background:#2c4349;color:white}.back-store{display:block;margin:40px 14px 0;font-size:15px;color:#f2f7f8}.admin-main{padding:38px;background:#f7f9fa;min-width:0}.admin-main h1{font-size:33px;letter-spacing:-1px;line-height:1.3;margin:10px 0}.admin-main>.form-stack{max-width:1000px}.admin-main>.section-heading{margin-bottom:30px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:28px}.metrics>div{padding:23px 20px;border:1px solid var(--line);border-radius:5px;background:white;display:flex;flex-direction:column;gap:15px}.metrics span{font-size:15px;color:var(--muted)}.metrics strong{font-size:30.5px;font-family:Manrope,sans-serif;letter-spacing:-1px;white-space:nowrap}.metrics small{font-size:12.5px;color:var(--muted)}.admin-main .table-wrap{background:white;border:1px solid var(--line);border-radius:4px}.admin-main .panel .table-wrap{border:0}.admin-main .two-columns{gap:20px}.admin-main .panel{padding:23px}.audit-row{padding:12px 0;border-top:1px solid var(--line)}.audit-row p{font-size:15px;line-height:1.6}.audit-row small{font-size:12.5px;color:var(--muted)}.inline-form{display:flex;gap:20px;flex-wrap:wrap;align-items:end}.inline-form>.field{flex:1;min-width:180px}.panel .inline-form{margin:23px 0}.admin-image-preview{width:150px;max-height:150px;object-fit:contain;border:1px solid var(--line)}.admin-lesson{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:18px}.admin-lesson small{display:block;color:var(--muted);font-size:15px;margin-top:5px}.technical-url{overflow-wrap:anywhere;font-size:16.5px!important;font-family:monospace}.admin-main td{font-size:15px;padding:15px 12px}.admin-main th{padding:14px 12px}.admin-main .filter-bar{margin-top:15px}
@media(min-width:1500px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.metrics{grid-template-columns:1fr 1fr}.detail-grid{gap:35px}.auth-form{padding:45px 10%}.course-detail-body{gap:35px}.cart-layout,.checkout-layout{gap:30px}.admin-main{padding:28px 20px}.admin-shell{grid-template-columns:205px minmax(0,1fr)}.admin-nav{padding:30px 16px}.classroom{grid-template-columns:285px minmax(0,1fr)}.academy-intro h1{font-size:50px}.academy-photo{max-height:450px}.contact-layout{gap:6%}.cart-item{flex-wrap:wrap}.cart-item>div{min-width:190px}}
@media(max-width:800px){.detail-grid{grid-template-columns:1fr 1fr;gap:25px}.detail-copy h1{font-size:32px}.course-detail-body{grid-template-columns:1fr}.purchase-card{position:static;grid-row:1}.academy-intro{gap:25px}.academy-intro h1{font-size:42.5px}.academy-photo{height:420px;border-radius:100px 100px 0 0}.auth-story{padding:50px 10%}.auth-story h1{font-size:54px}.cart-layout,.checkout-layout{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom{grid-template-columns:1fr}.lesson-sidebar{border-right:0;border-bottom:1px solid var(--line)}.lesson-sidebar nav{max-height:230px;overflow:auto}.lesson-sidebar h2{font-size:25.5px;margin:10px 0 15px}.lesson-sidebar progress{margin-bottom:10px}.contact-copy h1{font-size:55px}.contact-layout{grid-template-columns:1fr 1.15fr;gap:30px}.contact-form{padding:23px}.contact-form h2{font-size:24.5px}.admin-main>.two-columns{grid-template-columns:1fr}.course-cover>strong{font-size:51px}.course-info h3{font-size:24.5px}.course-price{flex-wrap:wrap}}
@media(max-width:650px){.page-intro{padding:38px 5% 30px}.page-intro h1{font-size:40px;letter-spacing:-1.3px;line-height:1.2}.page-intro p{font-size:19.5px}.page-intro.compact h1{font-size:35.5px}.filter-bar{gap:10px}.filter-bar>.search{flex-basis:100%}.filter-bar select{max-width:175px;font-size:18px}.catalog-meta{font-size:13.5px;gap:15px}.product-grid{gap:22px 15px}.catalog-type{min-height:170px;padding:18px}.catalog-type strong{font-size:26.5px}.catalog-type small{font-size:9px;letter-spacing:.7px;max-width:90%}.catalog-type:after{right:15px;top:18px;bottom:18px}.product-image{aspect-ratio:1}.product-info h3{font-size:19.5px}.product-info{padding:16px 0}.product-info .eyebrow{font-size:12.5px}.product-bottom>strong{font-size:19.5px}.badge{font-size:13.5px}.image-badge{top:8px;right:8px;padding:4px 6px}.detail-grid{grid-template-columns:1fr}.detail-copy{padding-top:5px}.detail-copy h1{font-size:36.5px}.detail-image .catalog-type strong{font-size:46px}.academy-intro{grid-template-columns:1fr;padding:35px 6% 0}.academy-intro h1{font-size:50px;letter-spacing:-2px}.academy-intro p{font-size:19.5px}.academy-photo{display:none}.academy-tags{margin-bottom:32px}.academy-tags span{font-size:14.5px}.course-grid{grid-template-columns:1fr}.course-cover>strong{font-size:68.5px}.course-info{padding:24px}.course-price{flex-wrap:nowrap}.course-detail-top{padding:28px 5% 10px}.course-detail-top h1{font-size:40px}.course-detail-top>p{font-size:19.5px}.purchase-card{padding:25px}.course-detail-body{gap:40px}.syllabus summary{font-size:18px}.syllabus summary>span{float:none;display:block;margin:8px 0 0 15px}.instructor-card{gap:18px}.auth-layout{grid-template-columns:1fr}.auth-story{display:none}.auth-form{padding:40px 7% 60px}.auth-form h2{font-size:34.5px}.cart-item{gap:15px;position:relative;padding-right:20px}.cart-item>div{min-width:100%;padding-right:10px}.cart-item>form:last-child{position:absolute;top:15px;right:0}.quantity-form{flex-direction:row}.cart-item>strong{margin-left:auto}.cart-layout{padding-top:25px}.summary-card,.panel{padding:23px}.checkout-layout .form-stack h2{font-size:26.5px}.summary-row{font-size:18px}.section-heading h1{font-size:32px}.two-columns{grid-template-columns:1fr}.empty{padding:45px 12px}.empty h2{font-size:28.5px}.table-wrap{border:1px solid var(--line);border-radius:4px}table{min-width:550px}.account-header{flex-direction:column;align-items:start;gap:20px;padding:35px 5%}.account-header h1{font-size:40px}.enrollment-grid{grid-template-columns:1fr}.account-content .section-heading{flex-wrap:wrap}.account-content .section-heading h2{font-size:26.5px}.enrollment-card h3{font-size:26.5px}.classroom-top{font-size:12.5px}.classroom-top .text-link{font-size:16px}.lesson-content{padding:32px 5%}.lesson-content h1{font-size:32px}.lesson-text{font-size:20.5px}.lesson-controls{align-items:start;flex-direction:column}.contact-layout{grid-template-columns:1fr;padding-top:38px;gap:35px}.contact-copy h1{font-size:61.5px}.contact-details{gap:20px;margin-top:30px}.legal-copy h1{font-size:36.5px}.admin-shell{grid-template-columns:1fr}.admin-nav{padding:20px 5%}.admin-nav h2,.admin-nav>.back-store{display:none}.admin-nav nav{flex-direction:row;overflow:auto;margin-top:15px;padding-bottom:4px;gap:5px}.admin-nav nav a{white-space:nowrap;padding:10px 13px;font-size:16px}.admin-nav nav a>span{display:none}.admin-main{padding:28px 5%}.admin-main>.section-heading{align-items:start;flex-wrap:wrap;gap:15px}.admin-main h1{font-size:33px}.metrics{gap:12px}.metrics>div{padding:19px 15px;gap:12px}.metrics strong{font-size:27.5px}.metrics span{font-size:14.5px}.metrics small{font-size:12.5px}.admin-main .panel{padding:20px}.inline-form{flex-direction:column;align-items:stretch}.inline-form>.field{min-width:0}.inline-form .btn{align-self:start}.panel .section-heading{flex-wrap:wrap;align-items:start}.admin-main .two-columns{grid-template-columns:1fr}.admin-main .field input,.admin-main .field select{font-size:19.5px}.legal-copy .notice{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Galería pública de Instagram y YouTube. */
.videos-jump{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
.videos-jump .btn{border-color:var(--line);background:var(--paper)}
.videos-jump .btn span{color:var(--muted)}
.videos-section{scroll-margin-top:24px;padding-top:46px;padding-bottom:24px}
.videos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.social-video{min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}
.social-video-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px}
.social-video-heading h3{font-size:20px;font-weight:750}
.social-video-heading .eyebrow{color:var(--muted);font-size:12.5px}
.social-video-player{display:block;width:100%;border:0;background:var(--surface)}
.player-instagram{height:820px}
.player-youtube{aspect-ratio:16/9;min-height:200px}
.social-video-original{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;font-size:16.5px;font-weight:610;border-top:1px solid var(--line)}
.social-video-original:hover{background:var(--cyan-light)}
.videos-help{max-width:1600px;margin:18px auto 56px;padding:0 5%;line-height:1.7}
@media(max-width:1100px){.videos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header{gap:18px}.header>nav{gap:20px}.header>nav a{white-space:nowrap}.header-actions{gap:12px;white-space:nowrap}.bag-link{padding-left:12px}}
@media(min-width:651px) and (max-width:1000px){.header{height:auto;flex-wrap:wrap;padding-top:20px;gap:12px}.header-actions{margin-left:auto}.header>nav{order:3;flex-basis:100%;height:48px;justify-content:center}.header>nav a[aria-current]:after{bottom:5px}}
@media(max-width:740px){.videos-grid{grid-template-columns:minmax(0,1fr);max-width:540px;margin-inline:auto}}
@media(max-width:650px){body .header>nav{gap:8px 18px;height:auto;min-height:48px;justify-content:flex-start;flex-wrap:wrap;padding-bottom:6px}body .header>nav a{min-height:38px}.videos-section .section-heading{align-items:center}}
@media(max-width:950px){.header{gap:15px}.header>nav{gap:20px}.header-actions{gap:12px}.bag-link{padding-left:12px}.hero h1{letter-spacing:-2.5px}.hero-copy{padding-top:45px}.hero,.hero-visual{min-height:600px}.portrait-frame{max-width:80%}.hero-footnote{margin-top:35px}.eyebrow{font-size:12.5px}.hero .button-row{gap:20px}.footer-bottom>span:last-child{display:none}}
@media(max-width:650px){.announcement{font-size:11.5px;letter-spacing:.8px;height:30px;justify-content:center}.announcement span{display:none}.header{height:auto;min-height:105px;flex-wrap:wrap;gap:12px;padding:19px 5% 0}.wordmark{font-size:26.5px}.header-actions{margin-left:auto;font-size:16px}.header>nav{order:3;width:100%;justify-content:space-between;height:42px}.header>nav a{font-size:18px}.header>nav a[aria-current]:after{bottom:0}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:38px 6% 30px}.hero h1{font-size:65.5px;letter-spacing:-3px;margin:23px 0}.hero-footnote{margin-top:30px}.hero-visual{min-height:520px;margin:0 5%}.portrait-frame{max-width:88%;height:92%}.portrait-caption{left:22px}.portrait-caption p{font-size:14.5px}.visual-index{display:none}.principles{gap:10px;padding:22px 5%;font-size:14.5px}.principles b{display:block;margin:0 0 8px}.principles span{padding:0 7px}.section{padding:48px 5%}.section-heading{align-items:start}.section-heading h2{font-size:31px}.section-heading>p{display:none}.paths{grid-template-columns:1fr}.path-card{min-height:335px;padding:27px}.path-card h3{font-size:32px}.contact-band{padding:27px;grid-template-columns:1fr;margin-bottom:40px}.contact-band h2{font-size:31px}.contact-band .btn{justify-self:start}.footer-top{align-items:start;flex-direction:column;gap:14px}.footer-bottom{flex-direction:column;gap:18px}.footer-bottom>div{gap:15px;flex-wrap:wrap}.button-row{gap:20px}.btn{padding:13px 19px}}
.hero-copy{display:flex;flex-direction:column}.hero-manifesto{margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}.hero-manifesto h2{font-size:15px;font-weight:800;letter-spacing:1.65px;line-height:1.5;margin-bottom:14px}.hero-manifesto p{font-size:19px;color:var(--muted);line-height:1.75;max-width:48ch}.hero-manifesto p+p{margin-top:10px}.hero-footnote{margin-top:auto;padding-top:34px}@media(max-width:950px){.hero-manifesto{margin-top:28px;padding-top:22px}.hero-manifesto p{font-size:18px}.hero-footnote{padding-top:26px}}@media(max-width:650px){.hero-manifesto{margin-top:26px;padding-top:20px}.hero-footnote{padding-top:22px}}
.hero{grid-template-columns:1fr .5fr}.visual-index{left:auto;right:3%}.hero-visual{margin-right:0}.portrait-frame{left:0;right:auto;transform:none;height:100%;max-width:100%}@media(max-width:950px){.hero{grid-template-columns:1fr .55fr}.portrait-frame{max-width:100%}}@media(max-width:650px){.hero{grid-template-columns:1fr}.hero-visual{margin:0}.portrait-frame{left:50%;transform:translateX(-50%);max-width:100%;height:100%}}

@media(min-width:1100px){.hero h1{font-size:clamp(65.5px,7vw,102px)}.hero-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:46px;align-content:space-between;padding:58px 4% 34px 7%}.hero-copy>.eyebrow,.hero-footnote{grid-column:1/-1}.hero-lead{grid-column:1;grid-row:2;align-self:start}.hero-manifesto{grid-column:2;grid-row:3;margin:0;padding:0 0 0 34px;border-top:none;border-left:1px solid var(--line)}.hero-manifesto p{max-width:42ch}.hero-footnote{margin-top:0;padding-top:46px}}
@media(min-width:651px){.hero,.hero-visual{min-height:0}.hero-visual{display:flex;align-items:flex-end}.portrait-frame{position:relative;left:auto;bottom:auto;transform:none;width:100%;height:auto;max-width:none;aspect-ratio:683/1024}.portrait{height:100%}}
/* Portada de escritorio (1 de octubre de 2026, maqueta del propietario): el titular
   corre a lo ancho de las dos columnas de texto; debajo, la entrada a la izquierda y
   el manifiesto a la derecha y, a su izquierda, «Explorar cursos» y la caja de datos,
   centrados en su columna (la entrada «Formación básica…» se retiró). .hero-lead se disuelve en la retícula para colocar sus piezas. */
@media(min-width:1100px){.hero-copy{grid-template-columns:1.2fr 1fr;row-gap:0}.hero-copy>.hero-lead{display:contents}.hero-lead>h1{grid-column:1/-1;grid-row:2;font-size:clamp(57px,5.5vw,85px)}.hero-lead>.button-row{grid-column:1;grid-row:3;justify-content:center;margin-top:0}.hero-copy>.ac-hero-datos.hero-datos{grid-column:1;grid-row:4;justify-self:center;width:100%;margin-top:22px}.hero-copy>.hero-manifesto{grid-column:2;grid-row:3/5;align-self:start;margin-top:0}.hero-copy>.hero-footnote{grid-row:6}}

/* ─── Academia: aterrizaje /cursos y página de curso ────────────────────────
   Tokens propios que extienden los del sitio; todo con prefijo .ac- para no
   tocar los estilos de tienda, panel y aula. */
:root{--ac-noche:#08161b;--ac-noche-alta:#102a32;--ac-linea-clara:#ffffff1f;--ac-texto-suave:#b5c3c7;--ac-texto-tenue:#b5c3c7;--ac-cian-fuerte:#009db8;--ac-sombra:0 16px 44px #0d262d14}
.ac-icono{width:24px;height:24px;flex:none}

/* Portada de la academia: marca.jpg al fondo, Henry en primer plano. */
.ac-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:50px;align-items:end;padding:70px 5% 0;background:var(--ac-noche);color:#fff}
.ac-hero-fondo{position:absolute;inset:0;z-index:-2}
.ac-hero-fondo img{width:100%;height:100%;object-fit:cover;opacity:.16;filter:grayscale(1) contrast(115%)}
.ac-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(115% 85% at 8% 0%,#35cee924,transparent 58%),linear-gradient(105deg,var(--ac-noche) 38%,#0a1c22e6 66%,#0a1c22b3)}
.ac-hero-copy{padding:24px 0 62px;max-width:760px}
.ac-hero .eyebrow{color:#f2f7f8}
.ac-hero h1{font-size:clamp(39px,5.5vw,70px);line-height:1.05;letter-spacing:-2.4px;font-weight:800;margin:22px 0 0}
.ac-hero h1 span{color:var(--cyan)}
.ac-hero-lead{margin-top:24px;max-width:56ch;font-size:clamp(16px,1vw,18.5px);line-height:1.7;color:var(--ac-texto-suave)}
.ac-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.ac-btn-fantasma{background:transparent;border-color:#ffffff3d;color:#fff}
.ac-btn-fantasma:hover{background:#ffffff14;border-color:#ffffff85;color:#fff}
.ac-hero-datos{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:46px 0 0;padding:28px 0 0;border-top:1px solid var(--ac-linea-clara)}
.ac-hero-datos li{display:flex;gap:13px}
.ac-hero-datos li>span{min-width:0}
.ac-hero-datos .ac-icono{width:21px;height:21px;color:var(--cyan);margin-top:2px}
.ac-hero-datos strong{display:block;font-size:17.5px;font-weight:645}
.ac-hero-datos small{display:block;margin-top:3px;font-size:15px;color:var(--ac-texto-tenue);line-height:1.45}
.ac-hero-figura{position:relative;justify-self:end;align-self:end;width:100%;max-width:540px;margin-bottom:38px}
.ac-hero-figura:before{content:'';position:absolute;left:50%;top:6%;width:118%;aspect-ratio:1;transform:translateX(-50%);background:radial-gradient(46% 46% at 50% 45%,#35cee930,#1d6d8221 58%,transparent 72%);z-index:-1;filter:blur(6px)}
.ac-hero-retrato{position:relative;display:block;--fundido-alto:linear-gradient(to bottom,transparent 0,#0000004d 5%,#000 15%,#000 52%,#000000bf 72%,#00000066 85%,#0000001a 94%,transparent 100%);--fundido-ancho:linear-gradient(to right,transparent 0,#00000059 5%,#000 17%,#000 83%,#00000059 95%,transparent 100%);-webkit-mask-image:var(--fundido-alto),var(--fundido-ancho);-webkit-mask-composite:source-in;mask-image:var(--fundido-alto),var(--fundido-ancho);mask-composite:intersect}
.ac-hero-retrato img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 8%;filter:saturate(1.05) contrast(1.02)}


.ac-hero-firma{position:absolute;left:0;right:0;bottom:18px;z-index:1;display:block;padding:0 18px;text-align:center;text-shadow:0 2px 14px #020b0ee6,0 1px 3px #020b0eb3}
.ac-hero-firma .eyebrow{display:block;color:var(--cyan);margin-bottom:7px}
.ac-hero-firma strong{display:block;font-family:'Manrope',sans-serif;font-size:24.5px;font-weight:645;letter-spacing:-.6px}
.ac-hero-firma strong span{color:var(--cyan)}
.ac-hero-firma i{font-style:normal;display:inline-block;transition:transform .25s}
.ac-hero-firma:hover i{transform:translate(3px,-3px)}
.ac-hero-firma small{display:block;margin-top:6px;font-size:16px;color:var(--ac-texto-tenue)}

/* Cinta de argumentos bajo la portada. */
.ac-cinta{display:flex;flex-wrap:wrap;justify-content:center;padding:18px 5%;background:var(--surface);border-bottom:1px solid var(--line);font-size:13.5px;font-weight:645;letter-spacing:1.5px;text-transform:uppercase;color:#111a1c}
.ac-cinta span{padding:3px 22px;border-left:1px solid #c9d3d5}
.ac-cinta span:first-child{border-left:0}

/* Dolor y solución. */
.ac-dolor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ac-dolor-card{padding:34px 30px 32px;border:1px solid var(--line);border-radius:6px;background:var(--paper);transition:box-shadow .3s,transform .3s}
.ac-dolor-card:hover{box-shadow:var(--ac-sombra);transform:translateY(-3px)}
.ac-num{display:block;font-family:'Manrope',sans-serif;font-size:16.5px;font-weight:680;letter-spacing:1.5px;color:var(--ac-cian-fuerte);margin-bottom:20px}
.ac-dolor-card h3{font-size:25px;letter-spacing:-.5px;margin-bottom:12px}
.ac-dolor-card p{color:var(--muted);font-size:18.5px;line-height:1.75}
.ac-solucion{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:46px;margin-top:26px;padding:44px;border-radius:8px;background:var(--ac-noche);color:#fff}
.ac-solucion-copy .eyebrow{color:var(--cyan)}
.ac-solucion-copy h3{font-size:32px;letter-spacing:-1.1px;line-height:1.15;margin:14px 0 16px}
.ac-solucion-copy p{color:var(--ac-texto-suave);font-size:18.5px;line-height:1.8}
.ac-solucion-lista{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.ac-solucion-lista li{display:flex;gap:16px;padding:18px 20px;border:1px solid var(--ac-linea-clara);border-radius:6px;background:#ffffff0a}
.ac-solucion-lista .ac-icono{width:22px;height:22px;color:var(--cyan);margin-top:2px}
.ac-solucion-lista strong{display:block;font-size:18.5px;margin-bottom:5px}
.ac-solucion-lista span{color:#f2f7f8;font-size:17.5px;line-height:1.6}

/* Temario: pestañas por nivel sin JavaScript (radio + hermanos). */
.ac-tabs{position:relative;display:flex;flex-wrap:wrap;gap:12px}
.ac-nivel{display:contents}
.ac-tab-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ac-tab{order:1;display:flex;flex-direction:column;gap:3px;padding:15px 26px;border:1px solid var(--line);border-radius:5px;background:var(--paper);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.ac-tab:hover{border-color:#9fb6bc}
.ac-tab-nivel{font-family:'Manrope',sans-serif;font-size:20px;font-weight:645;letter-spacing:-.3px}
.ac-tab small{font-size:15px;color:var(--muted)}
.ac-tab-radio:checked~.ac-tab{background:var(--ink);border-color:var(--ink);color:#fff}
.ac-tab-radio:checked~.ac-tab small{color:var(--cyan)}
.ac-tab-radio:focus-visible~.ac-tab{outline:2px solid var(--cyan);outline-offset:3px}
.ac-panel{order:2;flex:1 0 100%;display:none;margin-top:18px}
.ac-tab-radio:checked~.ac-panel{display:block}
.ac-programa{border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--ac-sombra);overflow:hidden}
.ac-programa+.ac-programa{margin-top:24px}
.ac-programa-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,280px);gap:34px;padding:34px 34px 10px}
.ac-programa-copy h3{font-size:28.5px;letter-spacing:-1px;line-height:1.2;margin:12px 0}
.ac-programa-copy>p{max-width:60ch;color:var(--muted);font-size:18.5px;line-height:1.75}
.ac-programa-copy .academy-tags{margin:22px 0 0}
.ac-programa-compra{align-self:start;padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-align:center}
.ac-programa-compra .detail-price{margin:0 0 4px}
.ac-programa-compra>small{display:block;margin-bottom:18px;color:var(--muted);font-size:16px}
.ac-modulos{padding:24px 34px 34px}

/* Acordeón de módulos, compartido por la portada y la página de curso. */
.ac-modulo{border:1px solid var(--line);border-radius:6px;overflow:hidden}
.ac-modulo+.ac-modulo{margin-top:10px}
.ac-modulo summary{display:flex;align-items:center;gap:16px;padding:17px 20px;background:var(--surface);cursor:pointer;font-size:18.5px;font-weight:610;list-style:none}
.ac-modulo summary::-webkit-details-marker{display:none}
.ac-modulo summary:hover{background:var(--cyan-light)}
.ac-modulo summary:after{content:'+';font-size:24px;line-height:1;color:var(--muted)}
.ac-modulo-indice{font-family:'Manrope',sans-serif;font-size:15px;font-weight:680;letter-spacing:1px;color:var(--ac-cian-fuerte)}
.ac-modulo-nombre{flex:1;min-width:0}
.ac-modulo summary small{white-space:nowrap;color:var(--muted);font-size:16px;font-weight:540}
.ac-modulo[open] summary{background:var(--ink);color:#fff}
.ac-modulo[open] summary:hover{background:#273b3f}
.ac-modulo[open] summary:after{content:'–';color:var(--cyan)}
.ac-modulo[open] summary small{color:var(--ac-texto-tenue)}
.ac-modulo[open] .ac-modulo-indice{color:var(--cyan)}
.ac-lecciones{list-style:none;margin:0;padding:0}
.ac-lecciones li{display:flex;align-items:center;gap:14px;padding:14px 20px;border-top:1px solid var(--line);font-size:17.5px}
.ac-leccion-num{color:var(--muted);font-size:15px;font-variant-numeric:tabular-nums}
.ac-leccion-titulo{flex:1;min-width:0}
.ac-lecciones small{white-space:nowrap;color:var(--muted);font-size:16px}
.ac-vacio-modulos{padding:16px 0}

/* Qué incluye la matrícula. */
.ac-beneficios-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ac-beneficio{padding:32px 28px;border:1px solid var(--line);border-radius:6px;background:var(--paper);transition:border-color .25s,box-shadow .25s,transform .25s}
.ac-beneficio:hover{border-color:#b6d9e1;box-shadow:var(--ac-sombra);transform:translateY(-2px)}
.ac-beneficio .ac-icono{width:26px;height:26px;color:var(--ac-cian-fuerte);margin-bottom:20px}
.ac-beneficio h3{font-size:22.5px;letter-spacing:-.4px;margin-bottom:10px}
.ac-beneficio p{color:var(--muted);font-size:18px;line-height:1.7}

/* Tres pasos hasta la primera lección. */
.ac-pasos{max-width:1600px;margin:auto;padding:0 5% 76px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:46px;align-items:center}
.ac-pasos-copy h2{font-size:36px;font-weight:750;letter-spacing:-1.3px;margin:12px 0 14px}
.ac-pasos-copy p{color:var(--muted);font-size:18.5px;line-height:1.75}
.ac-pasos-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ac-pasos-lista li{padding:26px 22px 0;border-top:2px solid var(--ink)}
.ac-pasos-lista span{font-family:'Manrope',sans-serif;font-size:15px;font-weight:680;letter-spacing:1.4px;color:var(--ac-cian-fuerte)}
.ac-pasos-lista h3{font-size:22.5px;letter-spacing:-.4px;margin:14px 0 9px}
.ac-pasos-lista p{color:var(--muted);font-size:17.5px;line-height:1.7}

/* Testimonios: el contenido llega de testimonios.txt, nunca inventado. */
.ac-voces-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ac-voz{display:flex;flex-direction:column;margin:0;padding:30px 28px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.ac-voz blockquote{margin:0;color:#111a1c;font-size:19px;line-height:1.8}
.ac-voz blockquote:before{content:'“';display:block;margin-bottom:10px;font-family:'Manrope',sans-serif;font-size:46.5px;line-height:.7;color:var(--cyan)}
.ac-voz figcaption{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}
.ac-voz-inicial{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--cyan-light);color:var(--ac-cian-fuerte);font-family:'Manrope',sans-serif;font-weight:680}
.ac-voz-quien strong{display:block;font-size:18px}
.ac-voz-quien small{display:block;margin-top:2px;color:var(--muted);font-size:16px}
.ac-aviso-admin h2{font-size:25.5px;margin:10px 0 12px}
.ac-aviso-admin p{margin-bottom:10px;font-size:18px;line-height:1.75}

/* Compromiso y dudas. */
.ac-compromiso-caja{max-width:900px;margin:auto;padding:52px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-align:center}
.ac-compromiso-caja h2{font-size:34px;font-weight:750;letter-spacing:-1.2px;margin:12px 0 4px}
.ac-compromiso-lista{display:inline-grid;margin:20px 0 18px;text-align:left}
.ac-compromiso-lista li{font-size:18.5px}
.ac-dudas-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;align-items:start}
.ac-duda{border-bottom:1px solid var(--line)}
.ac-duda summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 2px;cursor:pointer;font-family:'Manrope',sans-serif;font-size:19.5px;font-weight:645;list-style:none}
.ac-duda summary::-webkit-details-marker{display:none}
.ac-duda summary:after{content:'+';font-size:25px;color:var(--ac-cian-fuerte)}
.ac-duda[open] summary:after{content:'–'}
.ac-duda p{max-width:62ch;padding:0 2px 22px;color:var(--muted);font-size:18.5px;line-height:1.8}
.ac-dudas .section-heading a{color:var(--ink)}

/* Cierre con llamada a la acción. */
.ac-cierre{position:relative;isolation:isolate;overflow:hidden;margin:0 5% 70px;border-radius:10px;background:var(--ac-noche);color:#fff}
.ac-cierre-fondo{position:absolute;inset:0;z-index:-2}
.ac-cierre-fondo img{width:100%;height:100%;object-fit:cover;opacity:.2;filter:grayscale(1)}
.ac-cierre:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(90% 120% at 85% 8%,#35cee926,transparent 60%),linear-gradient(90deg,#08161bf5,#08161bd6)}
.ac-cierre-copy{max-width:720px;padding:62px 52px}
.ac-cierre .eyebrow{color:var(--cyan)}
.ac-cierre h2{font-size:clamp(30.5px,3.5vw,44.5px);font-weight:750;letter-spacing:-1.6px;line-height:1.12;margin:14px 0}
.ac-cierre p{margin-bottom:30px;color:var(--ac-texto-suave);font-size:19px;line-height:1.7}
.ac-cierre .button-row{display:flex;flex-wrap:wrap;gap:14px}

/* Página de curso. */
.ac-curso-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:44px;align-items:end;padding:36px 5% 0;background:var(--ac-noche);color:#fff}
.ac-curso-hero .breadcrumb{margin-bottom:22px;color:var(--ac-texto-tenue)}
.ac-curso-hero .breadcrumb:hover{color:var(--cyan)}
.ac-curso-hero .eyebrow{color:#f2f7f8}
.ac-curso-hero-copy{max-width:820px;padding:12px 0 58px}
.ac-curso-hero h1{font-size:clamp(34px,4.5vw,57px);line-height:1.08;letter-spacing:-1.9px;font-weight:800;margin:20px 0 0}
.ac-curso-lead{margin-top:20px;max-width:60ch;font-size:20px;line-height:1.7;color:var(--ac-texto-suave)}
.ac-curso-hero .academy-tags{margin:26px 0 30px}
.ac-curso-hero .academy-tags span{border-color:#ffffff33;color:#f2f7f8}
.ac-curso-hero .badge{background:#ffffff1a;color:#f2f7f8}
.ac-curso-hero-precio{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;padding-top:26px;border-top:1px solid var(--ac-linea-clara)}
.ac-curso-hero-precio>div{margin-right:6px}
.ac-curso-hero-precio strong{display:block;font-family:'Manrope',sans-serif;font-size:32px;font-weight:680;letter-spacing:-1px}
.ac-curso-hero-precio small{display:block;margin-top:4px;color:var(--ac-texto-tenue);font-size:16px}
.ac-curso-hero-figura{position:relative;justify-self:end;align-self:end;width:100%;max-width:400px;margin-bottom:34px}
.ac-curso-hero-figura picture{position:relative;display:block;--fundido-alto:linear-gradient(to bottom,transparent 0,#0000004d 5%,#000 15%,#000 50%,#000000bf 70%,#00000066 84%,#0000001a 94%,transparent 100%);--fundido-ancho:linear-gradient(to right,transparent 0,#00000059 5%,#000 17%,#000 83%,#00000059 95%,transparent 100%);-webkit-mask-image:var(--fundido-alto),var(--fundido-ancho);-webkit-mask-composite:source-in;mask-image:var(--fundido-alto),var(--fundido-ancho);mask-composite:intersect}
.ac-curso-hero-figura img{display:block;width:100%;height:auto;aspect-ratio:683/1024;object-fit:cover;object-position:50% 8%}

.ac-curso-hero-firma{position:absolute;left:0;right:0;bottom:14px;z-index:1;text-align:center;text-shadow:0 2px 14px #020b0ee6,0 1px 3px #020b0eb3}
.ac-curso-hero-firma small{display:block;margin-bottom:5px;font-size:12.5px;font-weight:645;letter-spacing:1.6px;color:var(--cyan)}
.ac-curso-hero-firma strong{font-family:'Manrope',sans-serif;font-size:25px;font-weight:645;letter-spacing:-.5px}
.ac-curso-hero-firma strong span{color:var(--cyan)}
.ac-curso-cuerpo{align-items:start}
.ac-curso-main{min-width:0}
.ac-bloque{padding-bottom:50px;margin-bottom:50px;border-bottom:1px solid var(--line)}
.ac-bloque:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.ac-bloque h2{font-size:30.5px;font-weight:750;letter-spacing:-1.1px;line-height:1.15;margin:12px 0 24px}
.ac-aprendizajes{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;margin:0;padding:0}
.ac-aprendizajes li{display:flex;gap:13px;font-size:18.5px;line-height:1.65}
.ac-aprendizajes .ac-icono{width:20px;height:20px;color:var(--ac-cian-fuerte);margin-top:2px}
.ac-nota{margin:24px 0 0;font-size:18.5px}
.ac-programa-resumen{margin:-14px 0 22px}
.ac-incluye-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ac-incluye{display:flex;gap:15px;padding:20px;border:1px solid var(--line);border-radius:6px}
.ac-incluye .ac-icono{width:22px;height:22px;color:var(--ac-cian-fuerte);margin-top:2px}
.ac-incluye strong{display:block;margin-bottom:5px;font-size:18.5px}
.ac-incluye span{color:var(--muted);font-size:17.5px;line-height:1.65}
.ac-instructor{display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px;align-items:center}
.ac-instructor img{width:100%;height:250px;object-fit:cover;object-position:50% 12%;border-radius:95px 95px 6px 6px}
.ac-instructor h3{font-size:25.5px;letter-spacing:-.7px;margin:10px 0 12px}
.ac-instructor p{margin-bottom:16px;color:var(--muted);font-size:18.5px;line-height:1.8}
.ac-voces-curso,.ac-dudas-curso{grid-template-columns:minmax(0,1fr)}
.ac-compra .eyebrow{color:var(--muted)}
.ac-compra .detail-price{margin:14px 0 4px}
.ac-compra>p{color:var(--muted);font-size:17.5px}
.ac-compra form{margin-top:20px}
.ac-compra>.btn{margin-top:20px}
.ac-compra-nota{margin-top:12px;font-size:16px;line-height:1.6}
.ac-compra .plain-list{margin:24px 0 8px}
.ac-compra-pagos{margin-top:4px;padding:16px 0 18px;border-top:1px solid var(--line)}
.ac-compra-pagos .eyebrow{display:block;margin-bottom:6px;color:var(--muted)}
.ac-compra-pagos p{font-size:17.5px;font-weight:610}

@media(max-width:1100px){
.ac-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:30px}
.ac-hero-datos{grid-template-columns:1fr 1fr;gap:20px}
.ac-dolor-grid,.ac-beneficios-grid,.ac-voces-grid{grid-template-columns:1fr 1fr}
.ac-solucion{grid-template-columns:minmax(0,1fr);gap:30px;padding:34px}
.ac-pasos{grid-template-columns:minmax(0,1fr);gap:30px}
.ac-programa-top{grid-template-columns:minmax(0,1fr);gap:22px;padding:28px 24px 6px}
.ac-modulos{padding:20px 24px 28px}
.ac-curso-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px}
.ac-instructor{grid-template-columns:150px minmax(0,1fr);gap:24px}
.ac-compromiso-caja{padding:42px 32px}
}
@media(max-width:900px){
.ac-hero{grid-template-columns:minmax(0,1fr);gap:0;padding-top:52px}
.ac-hero-copy{max-width:none;padding-bottom:32px}
.ac-hero-figura{justify-self:center;max-width:470px;margin-bottom:30px}
.ac-curso-hero{grid-template-columns:minmax(0,1fr);gap:0;padding-top:28px}
.ac-curso-hero-copy{max-width:none;padding-bottom:30px}
.ac-curso-hero-figura{justify-self:center;max-width:380px;margin-bottom:26px}
.ac-dudas-grid{grid-template-columns:minmax(0,1fr);gap:0}
.ac-cierre-copy{padding:48px 34px}
}
@media(max-width:650px){
.ac-hero{padding-top:40px}
.ac-hero h1{letter-spacing:-1.5px}
.ac-hero-cta .btn{flex:1 1 100%;gap:16px}
.ac-hero-datos{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:34px;padding-top:22px}
.ac-hero-figura{max-width:430px;margin:4px auto 26px}
.ac-hero-retrato{--fundido-ancho:linear-gradient(to right,transparent 0,#00000040 4%,#000 12%,#000 88%,#00000040 96%,transparent 100%)}
.ac-cinta{gap:6px 0;font-size:13.5px;letter-spacing:1.2px}
.ac-cinta span{padding:3px 14px}
.ac-dolor-grid,.ac-beneficios-grid,.ac-voces-grid,.ac-aprendizajes,.ac-incluye-grid,.ac-pasos-lista{grid-template-columns:minmax(0,1fr)}
.ac-dolor-card{padding:26px 22px}
.ac-solucion{padding:26px 20px;gap:24px}
.ac-solucion-copy h3{font-size:28.5px}
.ac-tabs{gap:8px}
.ac-tab{flex:1 1 100%;flex-direction:row;align-items:baseline;gap:10px;padding:13px 18px}
.ac-programa-top{padding:22px 18px 4px}
.ac-programa-copy h3{font-size:26.5px}
.ac-modulos{padding:16px 18px 22px}
.ac-modulo summary{gap:12px;padding:15px 16px;font-size:19px}
.ac-modulo summary small{font-size:15px}
.ac-lecciones li{flex-wrap:wrap;gap:8px 12px;padding:13px 16px;font-size:18px}
.ac-leccion-titulo{flex:1 0 70%}
.ac-pasos{padding-bottom:56px}
.ac-pasos-lista li{padding:22px 18px 0}
.ac-compromiso-caja{padding:32px 22px}
.ac-compromiso-caja h2{font-size:29.5px}
.ac-duda summary{font-size:20.5px;padding:18px 2px}
.ac-cierre{margin:0 5% 50px}
.ac-cierre-copy{padding:38px 24px}
.ac-cierre .btn{flex:1 1 100%;gap:16px}
.ac-curso-hero h1{letter-spacing:-1.2px}
.ac-curso-hero-figura{max-width:380px;margin:0 auto 24px}
.ac-curso-hero-figura picture{--fundido-ancho:linear-gradient(to right,transparent 0,#00000040 4%,#000 12%,#000 88%,#00000040 96%,transparent 100%)}
.ac-curso-hero-precio .btn{flex:1 1 100%;gap:16px}
.ac-bloque{padding-bottom:38px;margin-bottom:38px}
.ac-bloque h2{font-size:28.5px}
.ac-instructor{grid-template-columns:minmax(0,1fr);gap:20px}
.ac-instructor img{height:290px;border-radius:120px 120px 6px 6px}
}

/* Más cursos: rejilla de cursos individuales, cada uno con su precio y compra. */
.ac-mas{background:var(--ac-noche);color:#fff;padding:78px 5%;margin-bottom:0;scroll-margin-top:14px}
.ac-mas-cabecera{max-width:760px;margin:0 auto 44px;text-align:center}
.ac-mas-cabecera .eyebrow{color:var(--cyan)}
.ac-mas-cabecera h2{font-size:clamp(29.5px,3.5vw,42.5px);font-weight:750;letter-spacing:-1.4px;line-height:1.12;margin:14px 0 16px}
.ac-mas-cabecera p{color:var(--ac-texto-suave);font-size:19px;line-height:1.7}
.ac-buscador{position:relative;display:flex;align-items:center;gap:8px;max-width:680px;margin:28px auto 0;padding:6px 6px 6px 18px;border:1px solid #ffffff36;border-radius:999px;background:#ffffff0d;box-shadow:0 14px 32px #0000001c}.ac-buscador:focus-within{border-color:var(--cyan);box-shadow:0 0 0 4px #35cee91a}.ac-buscador-icono{color:var(--cyan);font-size:25.5px;line-height:1}.ac-buscador input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:18px}.ac-buscador input::placeholder{color:#f2f7f8}.ac-buscador button{flex:none;border:0;border-radius:999px;padding:12px 17px;background:var(--cyan);color:var(--ink);font-size:16px;font-weight:680}.ac-buscador button:hover{background:#6de1f4}.ac-buscador button span{margin-left:11px;font-size:20px}.ac-buscador-ayuda{margin-top:10px!important;color:var(--ac-texto-tenue)!important;font-size:15px!important}.ac-buscador-resultado{min-height:22px;margin:12px 0 -18px!important;color:#dffcff!important;font-size:16.5px!important;font-weight:645}.ac-ficha[hidden]{display:none}.ac-ficha-coincide{position:relative;border-color:var(--cyan)!important;background:#35cee912!important;box-shadow:0 0 0 1px #35cee933,0 18px 38px #00000024}.ac-ficha-coincide:before{content:'MEJOR COINCIDENCIA';position:absolute;z-index:3;top:13px;right:13px;padding:6px 8px;border-radius:999px;background:var(--cyan);color:var(--ink);font-size:12px;font-weight:680;letter-spacing:.8px}
.ac-fichas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1400px;margin:auto}
.ac-ficha{display:flex;flex-direction:column;border:1px solid #ffffff1a;border-radius:10px;background:#ffffff0a;overflow:hidden;transition:border-color .25s,transform .25s,background .25s}
.ac-ficha:hover:not(.hx-sin-hover){border-color:#35cee959;background:#ffffff12;transform:translateY(-3px)}
.ac-ficha-portada{position:relative;display:block;aspect-ratio:16/9;background:var(--ac-noche-alta);overflow:hidden}
.ac-ficha-portada img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.ac-ficha:hover:not(.hx-sin-hover) .ac-ficha-portada img{transform:scale(1.04)}
.ac-ficha-marca{display:flex;flex-direction:column;justify-content:center;gap:8px;height:100%;padding:24px;text-align:center;background:linear-gradient(135deg,#0f2730,#0a1b21)}
.ac-ficha-marca small{font-size:13px;font-weight:645;letter-spacing:1.6px;color:var(--cyan)}
.ac-ficha-marca strong{font-family:'Manrope',sans-serif;font-size:30px;font-weight:680;letter-spacing:-1px}
.ac-ficha-marca em{font-style:normal;font-size:16px;color:var(--ac-texto-tenue)}
.ac-ficha-marca-1{background:linear-gradient(135deg,#123039,#0a1b21)}
.ac-ficha-marca-2{background:linear-gradient(135deg,#0d2b3a,#0a1b21)}
.ac-ficha-etiqueta{position:absolute;top:14px;left:14px;background:#0a1b21d9;color:#f2f7f8}
.ac-ficha-cuerpo{display:flex;flex-direction:column;flex:1;padding:24px}
.ac-ficha-cuerpo h3{font-size:24px;line-height:1.35;letter-spacing:-.4px}
.ac-ficha-cuerpo h3 a:hover{color:var(--cyan)}
.ac-ficha-meta{margin-top:10px;color:var(--ac-texto-tenue);font-size:17px}
.ac-ficha-precio{display:block;margin-top:auto;padding-top:22px;font-family:'Manrope',sans-serif;font-size:31px;font-weight:680;letter-spacing:-1px;color:var(--cyan)}
.ac-ficha-pago{display:block;margin-top:2px;color:var(--ac-texto-tenue);font-size:16px}
.ac-ficha-acciones{display:flex;gap:10px;margin-top:18px}
.ac-ficha-acciones .btn{flex:1;gap:0;min-height:42px;padding:10px 14px}
.ac-ficha-acciones form{flex:1;display:flex}
.ac-ficha-acciones form .btn{width:100%}
.ac-mas-pie{max-width:1400px;margin:36px auto 0;text-align:center;color:var(--ac-texto-tenue);font-size:18px}
.ac-mas-pie a{color:#fff;font-weight:610;border-bottom:1px solid #35cee980;padding-bottom:2px}
.ac-mas-pie a:hover{color:var(--cyan)}
.ac-mas-vacio{max-width:640px;margin:auto;padding:44px 32px;border:1px dashed #ffffff2e;border-radius:10px;text-align:center}
.ac-mas-vacio p{margin-bottom:24px;color:var(--ac-texto-suave);font-size:19px;line-height:1.7}
@media(max-width:1100px){
.ac-fichas{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
.ac-mas{padding:56px 5%}
.ac-mas-cabecera{margin-bottom:30px}
.ac-buscador{padding:5px 5px 5px 14px}.ac-buscador input{font-size:18px}.ac-buscador button{padding:11px 13px;font-size:14.5px}.ac-buscador button span{display:none}.ac-buscador-ayuda{font-size:14.5px!important}.ac-buscador-resultado{margin-bottom:-10px!important}
.ac-fichas{grid-template-columns:minmax(0,1fr);max-width:420px}
.ac-ficha-cuerpo{padding:20px}
.ac-mas-vacio{padding:32px 22px}
}
.ac-hero-fondo-portada img{opacity:.26;filter:grayscale(.45) contrast(105%)}
/* En escritorio la foto de la portada colgaba del borde inferior y dejaba un
   hueco arriba: queda alineada con el video de al lado. El borde superior está
   difuminado, así que la caja arranca algo más alta que el video para que lo
   que se ve empiece a la misma altura. */
@media(min-width:1100px){
.hero-visual{align-items:flex-start;padding-top:0}
}


/* Acceso con Google: botón neutro, separador y nota de la página de acceso. */
.auth-separator {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 22px 0;
  color: var(--muted);
  font-size: 13px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.auth-separator:before,
.auth-separator:after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--line);
}
.btn.google-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: white;
  color: var(--ink);
  border: 1px solid #cbd3d5;
  font-weight: 550;
}
.btn.google-btn:hover { background: var(--surface); border-color: #9fb0b4; }
.btn.google-btn svg { width: 18px; height: 18px; flex-shrink: 0; }
.auth-google-nota {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
  text-align: center;
}
.hero-course-cta{justify-content:center}.hero-course-button{min-width:218px;border-radius:999px;gap:11px}.hero-course-button svg{width:21px;height:21px;flex:none}.account-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 19px;border-radius:999px;background:var(--cyan);color:var(--ink);font-size:18px;font-weight:680}.account-button:hover{background:#6de1f4;color:var(--ink);transform:translateY(-1px)}@media(max-width:650px){.account-button{min-height:36px;padding:8px 15px;font-size:16px}.hero-course-button{min-width:100%}}

/* Composición técnica de la portada: gráficos CSS que acompañan el contenido. */
.hero{position:relative;background:radial-gradient(900px 460px at 20% 6%,#d8f6fb70,transparent 70%),linear-gradient(90deg,#fbfdfd 0%,#f3fafb 100%)}
.hero-visual{background:transparent}
.principles{background:#f7fbfc}
.tech-studio{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr);column-gap:58px;row-gap:52px;align-items:center;max-width:1600px;margin:0 auto;padding:82px 9% 64px;overflow:hidden;background:var(--ink);color:#fff}
.tech-studio:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(50% 90% at 86% 15%,#35cee930,transparent 70%),linear-gradient(120deg,#0a171b,#112d35)}
.tech-studio:after{content:'';position:absolute;inset:0;z-index:-1;opacity:.44;background-image:linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,#000 20%,transparent 78%)}
.tech-studio-copy{position:relative;z-index:1;align-self:start;max-width:610px;padding-top:10px}.tech-studio .eyebrow{color:var(--cyan)}.tech-studio h2{margin:17px 0;font-size:clamp(33px,3.5vw,51px);line-height:1.1;letter-spacing:-1.8px}.tech-studio-copy>p{max-width:53ch;color:var(--ac-texto-suave);font-size:19px}.tech-studio-band{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px 46px;padding-top:26px;border-top:1px solid #ffffff2e}.tech-studio-list{flex:1 1 540px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;list-style:none;margin:0;padding:0}.tech-studio-list li{color:#f2f7f8;font-size:15px;line-height:1.5}.tech-studio-list span{display:block;margin-bottom:8px;color:var(--cyan);font-size:12.5px;font-weight:680;letter-spacing:1.4px}.tech-studio-link{flex:0 0 auto;display:inline-flex;gap:20px;align-items:center;padding-bottom:5px;border-bottom:1px solid #35cee980;color:#fff;font-size:18px;font-weight:645}.tech-studio-link:hover{color:var(--cyan)}.tech-studio-link span{font-size:25px}
.tech-studio-visual{position:relative;align-self:start;min-height:420px;width:100%;margin-right:-5%;justify-self:end}.tech-trace{position:absolute;border:1px solid #35cee970;border-radius:100px;opacity:.72}.tech-trace:after,.tech-trace:before{content:'';position:absolute;width:7px;height:7px;border:1px solid var(--cyan);border-radius:50%;background:#10292f}.tech-trace-a{width:82%;height:62%;right:5%;top:12%;border-left:0;border-bottom:0}.tech-trace-a:before{left:-3px;bottom:-3px}.tech-trace-a:after{right:-3px;top:-3px}.tech-trace-b{width:65%;height:58%;left:5%;bottom:4%;border-right:0;border-top:0}.tech-trace-b:before{left:-3px;top:-3px}.tech-trace-b:after{right:-3px;bottom:-3px}.tech-trace-c{width:48%;height:35%;right:12%;bottom:2%;border-left:0}.tech-trace-c:before{left:-3px;top:-3px}.tech-trace-c:after{right:-3px;bottom:-3px}
.tech-chip{position:absolute;z-index:3;display:grid;place-content:center;width:150px;height:150px;left:39%;top:26%;border:2px solid #69e4f6;border-radius:17px;background:linear-gradient(145deg,#183940,#0a1b20);box-shadow:0 0 0 10px #35cee915,0 24px 42px #00000052;color:#dffcff;text-align:center}.tech-chip:before,.tech-chip:after{content:'';position:absolute;inset:13px -17px;background:repeating-linear-gradient(90deg,transparent 0 10px,#7eeefd 10px 14px,transparent 14px 24px);z-index:-1}.tech-chip:after{inset:-17px 13px;background:repeating-linear-gradient(0deg,transparent 0 10px,#7eeefd 10px 14px,transparent 14px 24px)}.tech-chip span{font-family:Manrope,sans-serif;font-size:26.5px;font-weight:680;letter-spacing:1px}.tech-chip small{margin-top:4px;font-size:10.5px;font-weight:680;letter-spacing:1.5px;color:var(--cyan)}
.tech-phone{position:absolute;width:176px;aspect-ratio:10/19;border:5px solid #75939b;border-radius:30px;background:#081317;box-shadow:inset 0 0 0 2px #d7fbff25,0 20px 35px #00000055}.tech-phone:before{content:'';position:absolute;left:50%;top:10px;width:58px;height:14px;transform:translateX(-50%);border-radius:20px;background:#030708}.tech-phone i{position:absolute;inset:9px;border-radius:21px;background:radial-gradient(circle at 70% 24%,#35cee980 0 2px,transparent 3px),linear-gradient(145deg,#1b6879,#0d1d2b 48%,#101d37);opacity:.92}.tech-phone b{position:absolute;z-index:1;width:28px;height:28px;left:16px;top:25px;border:2px solid #a3c9d1;border-radius:50%;box-shadow:30px 10px 0 -2px #9cc4cc,15px 35px 0 -2px #9cc4cc}.tech-phone-back{right:15%;top:18%;transform:rotate(13deg);opacity:.78}.tech-phone-front{right:32%;bottom:0;transform:rotate(-8deg);z-index:2}.tech-phone-front span{position:absolute;z-index:2;left:17px;bottom:26px;color:#e5fcff;font-family:Manrope,sans-serif;font-size:20px;font-weight:680;line-height:1.12;letter-spacing:-.5px}.tech-phone-front em{font-size:11.5px;font-style:normal;letter-spacing:1.3px;color:var(--cyan)}.tech-board{position:absolute;left:8%;bottom:7%;width:190px;height:112px;border:1px solid #35cee980;border-radius:12px;background:linear-gradient(135deg,#1d4b55,#0d2329);transform:rotate(-9deg);box-shadow:0 16px 26px #00000040}.tech-board:before,.tech-board:after{content:'';position:absolute;border:1px solid #8beefa70;border-radius:50%;width:19px;height:19px}.tech-board:before{left:27px;top:24px;box-shadow:43px 13px 0 -1px #8beefa70,89px -4px 0 -1px #8beefa70,125px 27px 0 -1px #8beefa70}.tech-board:after{right:16px;bottom:13px;width:42px;height:28px;border-radius:5px}.tech-board span{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:27px 18px #35cee990,53px 5px #35cee990,78px 23px #35cee990,104px 9px #35cee990,135px 16px #35cee990,38px 65px #35cee990}

/* Diagrama de placa integrado al recorrido de la academia. */
.ac-tech-panel{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:38px;align-items:center;overflow:hidden;margin-top:26px;padding:40px 46px;border-radius:8px;background:linear-gradient(120deg,#e8f8fb,#f8fcfc);border:1px solid #cfe8ed}.ac-tech-panel:before{content:'';position:absolute;inset:0;opacity:.5;background-image:linear-gradient(90deg,#1199b31c 1px,transparent 1px),linear-gradient(#1199b31c 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(90deg,#000,transparent 80%)}.ac-tech-copy{position:relative;z-index:1}.ac-tech-copy .eyebrow{color:var(--ac-cian-fuerte)}.ac-tech-copy h3{margin:13px 0;font-size:32px;line-height:1.1;letter-spacing:-1px}.ac-tech-copy h3 span{color:var(--ac-cian-fuerte)}.ac-tech-copy p{max-width:45ch;color:var(--muted);font-size:18.5px}.ac-tech-etiquetas{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.ac-tech-etiquetas span{padding:6px 9px;border:1px solid #abd5dd;border-radius:999px;color:#31727f;font-size:11.5px;font-weight:680;letter-spacing:1px}.ac-tech-visual{position:relative;min-height:220px}.ac-tech-line{position:absolute;border:1px solid #118fa9;border-radius:80px}.ac-tech-line:after{content:'';position:absolute;width:8px;height:8px;border:2px solid #119bb4;border-radius:50%;background:#eaf9fb}.ac-tech-line-a{width:63%;height:64%;left:2%;top:14%;border-right:0;border-bottom:0}.ac-tech-line-a:after{right:-5px;bottom:-5px}.ac-tech-line-b{width:51%;height:52%;right:3%;bottom:5%;border-left:0;border-top:0}.ac-tech-line-b:after{left:-5px;top:-5px}.ac-tech-ic{position:absolute;z-index:2;display:grid;place-content:center;width:106px;height:106px;left:38%;top:28%;border-radius:12px;background:linear-gradient(145deg,#183d46,#0b1d22);box-shadow:0 0 0 8px #35cee930,0 15px 28px #173e4724;color:#effeff;text-align:center}.ac-tech-ic:after{content:'';position:absolute;inset:10px -12px;background:repeating-linear-gradient(90deg,transparent 0 7px,#277c8d 7px 10px,transparent 10px 16px);z-index:-1}.ac-tech-ic b{font-family:Manrope,sans-serif;font-size:22.5px;letter-spacing:.5px}.ac-tech-ic small{font-size:8.5px;letter-spacing:1px;color:var(--cyan)}.ac-tech-phone-card{position:absolute;z-index:3;right:10%;top:5%;width:108px;aspect-ratio:9/16;border:4px solid #5f8991;border-radius:20px;background:linear-gradient(145deg,#183c59,#101a2c);box-shadow:0 16px 28px #173d4826;transform:rotate(10deg)}.ac-tech-phone-card:before{content:'';position:absolute;left:50%;top:7px;width:38px;height:9px;transform:translateX(-50%);border-radius:10px;background:#091219}.ac-tech-phone-card i{position:absolute;left:13px;top:24px;width:22px;height:22px;border:2px solid #b3e9f1;border-radius:50%;box-shadow:23px 11px 0 -2px #b3e9f1,11px 27px 0 -2px #b3e9f1}.ac-tech-phone-card span{position:absolute;left:12px;bottom:15px;color:#e7fbff;font-size:10.5px;font-weight:680;line-height:1.35;letter-spacing:.5px}.ac-tech-phone-card em{font-style:normal;color:var(--cyan);font-size:7.5px;letter-spacing:1px}.ac-tech-nodos{position:absolute;left:12%;bottom:15%;display:flex;gap:13px}.ac-tech-nodos i{width:8px;height:8px;border:2px solid #059db8;border-radius:50%;background:#f7ffff}.ac-tech-nodos i:nth-child(2){transform:translateY(-16px)}.ac-tech-nodos i:nth-child(3){transform:translateY(8px)}.ac-tech-nodos i:nth-child(5){transform:translateY(-9px)}
.ac-curso-diagrama{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,1fr);gap:30px;overflow:hidden;margin:-18px 0 50px;padding:30px;border:1px solid #d4eaee;border-radius:8px;background:linear-gradient(130deg,#f4fbfc,#e3f6f9)}.ac-curso-diagrama:before{content:'';position:absolute;right:-10%;bottom:-80%;width:55%;aspect-ratio:1;border:1px solid #35cee970;border-radius:50%;box-shadow:0 0 0 28px #35cee916,0 0 0 56px #35cee90c}.ac-curso-diagrama-copy{position:relative;z-index:1}.ac-curso-diagrama-copy .eyebrow{color:var(--ac-cian-fuerte)}.ac-curso-diagrama-copy h3{margin:10px 0 8px;font-size:28.5px;letter-spacing:-1px;line-height:1.12}.ac-curso-diagrama-copy h3 span{color:var(--ac-cian-fuerte)}.ac-curso-diagrama-copy p{max-width:37ch;color:var(--muted);font-size:17.5px}.ac-curso-diagrama ol{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-self:center;list-style:none;margin:0;padding:0}.ac-curso-diagrama li{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #c7e4e9;border-radius:5px;background:#ffffffa6;font-size:15px;font-weight:645}.ac-curso-diagrama li b{color:var(--ac-cian-fuerte);font-size:12.5px;letter-spacing:1px}.ac-curso-diagrama-chip{position:absolute;right:9%;bottom:-15px;width:72px;height:72px;border:2px solid #6dcfdc;border-radius:10px;background:#14363e;transform:rotate(18deg);box-shadow:0 0 0 7px #35cee923}.ac-curso-diagrama-chip:before,.ac-curso-diagrama-chip:after{content:'';position:absolute;inset:9px -10px;background:repeating-linear-gradient(90deg,transparent 0 7px,#54c7d6 7px 10px,transparent 10px 15px);z-index:-1}.ac-curso-diagrama-chip:after{inset:-10px 9px;background:repeating-linear-gradient(0deg,transparent 0 7px,#54c7d6 7px 10px,transparent 10px 15px)}.ac-curso-diagrama-chip strong{display:grid;place-items:center;width:100%;height:100%;font-family:Manrope,sans-serif;color:#dffcff;font-size:22.5px}.ac-curso-diagrama-chip i{position:absolute;inset:15px;border:1px solid #77e5f1;border-radius:5px}
@media(max-width:900px){.tech-studio{grid-template-columns:1fr;padding:64px 7%;gap:30px}.tech-studio-visual{justify-self:center;max-width:560px}.ac-tech-panel{grid-template-columns:1fr;padding:34px}.ac-tech-visual{max-width:540px;width:100%;margin:auto}.ac-curso-diagrama{grid-template-columns:1fr;gap:22px}.ac-curso-diagrama-chip{right:6%;bottom:-11px}}
@media(max-width:650px){.hero-video{margin:26px auto 2px}.tech-studio{padding:54px 6%}.tech-studio h2{font-size:35.5px}.tech-studio-list{gap:9px}.tech-studio-list li{font-size:14.5px}.tech-studio-visual{min-height:315px;transform:scale(.92);transform-origin:top center;margin-bottom:-24px}.tech-chip{width:124px;height:124px}.tech-phone{width:145px;border-radius:26px}.tech-phone-front{right:25%}.tech-board{width:157px;height:92px}.ac-tech-panel{margin-top:20px;padding:28px 20px}.ac-tech-copy h3{font-size:29.5px}.ac-tech-visual{min-height:190px;transform:scale(.9);transform-origin:top center;margin-bottom:-20px}.ac-curso-diagrama{margin:-12px 0 38px;padding:25px 20px}.ac-curso-diagrama-copy h3{font-size:27.5px}.ac-curso-diagrama ol{padding-right:35px}.ac-curso-diagrama-chip{width:58px;height:58px;right:2%;bottom:-6px}}

/* Piezas reales del taller: recortes con alfa que se apoyan en el fondo sin taparlo. */
/* Ambiente: la foto del banco no termina en un rectángulo, se disuelve por los cuatro lados. */
.tech-ambiente-taller{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.44;filter:contrast(1.08) saturate(.94);mix-blend-mode:screen;-webkit-mask-image:radial-gradient(62% 60% at 50% 48%,#000 2%,#000000c4 44%,transparent 88%);mask-image:radial-gradient(62% 60% at 50% 48%,#000 2%,#000000c4 44%,transparent 88%)}
.tech-pieza{position:absolute;z-index:2;display:block;height:auto}
.tech-pieza-telefono{right:0;bottom:-14%;width:27%;transform:rotate(8deg);filter:drop-shadow(0 20px 26px #00000082);-webkit-mask-image:linear-gradient(#000 46%,#00000080 57%,transparent 68%);mask-image:linear-gradient(#000 46%,#00000080 57%,transparent 68%)}
.tech-pieza-placa{left:7%;bottom:2%;width:19%;opacity:.82;transform:rotate(-7deg);filter:drop-shadow(0 16px 22px #00000059);-webkit-mask-image:linear-gradient(#000 46%,transparent 96%);mask-image:linear-gradient(#000 46%,transparent 96%)}

/* Las dos puertas de la portada llevan su pieza al fondo, desvanecida hacia el texto. */
.path-card{isolation:isolate}
.path-pieza{position:absolute;z-index:-1;display:block;height:auto;pointer-events:none}
.shop-path .path-pieza{right:4%;bottom:-8%;width:23%;opacity:.5;transform:rotate(12deg);-webkit-mask-image:linear-gradient(#000 62%,transparent 97%);mask-image:linear-gradient(#000 62%,transparent 97%)}
.academy-path .path-pieza{right:-7%;bottom:-11%;width:46%;opacity:.62;-webkit-mask-image:radial-gradient(70% 70% at 54% 52%,#000 36%,transparent 84%);mask-image:radial-gradient(70% 70% at 54% 52%,#000 36%,transparent 84%)}

/* Banda de contacto: el trío de equipos entra por el borde, casi como una sombra. */
.contact-band{position:relative;isolation:isolate;overflow:hidden}
.contact-pieza{position:absolute;z-index:-1;right:-1%;bottom:-44%;width:30%;height:auto;opacity:.25;-webkit-mask-image:radial-gradient(62% 62% at 50% 50%,#000 22%,#00000099 55%,transparent 88%);mask-image:radial-gradient(62% 62% at 50% 50%,#000 22%,#00000099 55%,transparent 88%)}

/* Academia: placa, chip y flex sobre el panel claro, sin marcos ni tarjetas blancas. */
.ac-pieza{position:absolute;display:block;height:auto}
.ac-pieza-placa{z-index:2;right:2%;bottom:-20%;width:20%;transform:rotate(11deg);filter:drop-shadow(0 18px 26px #12333c2b);-webkit-mask-image:linear-gradient(#000 58%,transparent 96%);mask-image:linear-gradient(#000 58%,transparent 96%)}
.ac-pieza-chip{z-index:3;left:4%;top:6%;width:56%;filter:drop-shadow(0 20px 26px #12333c33)}
.ac-pieza-flex{z-index:2;right:27%;top:-16%;width:12%;transform:rotate(14deg);filter:drop-shadow(0 14px 20px #12333c2b)}

/* Página de curso: la foto del equipo abierto queda de ambiente y el teléfono, nítido. */
.ac-curso-ambiente{position:absolute;z-index:0;right:-3%;top:-30%;width:34%;height:auto;opacity:.3;-webkit-mask-image:radial-gradient(60% 60% at 52% 48%,#000 18%,#00000099 52%,transparent 88%);mask-image:radial-gradient(60% 60% at 52% 48%,#000 18%,#00000099 52%,transparent 88%)}
.ac-curso-pieza{position:absolute;z-index:1;right:4%;bottom:6%;width:7%;height:auto;transform:rotate(-10deg);filter:drop-shadow(0 14px 20px #12333c2e)}

@media(max-width:900px){.tech-pieza-telefono{right:0;width:29%}.ac-pieza-placa{right:4%;bottom:-14%;width:19%}.ac-pieza-chip{left:2%;width:54%}.ac-pieza-flex{right:29%;width:11%}.ac-curso-ambiente{width:33%;top:-22%}}
@media(max-width:650px){.tech-studio-visual{min-height:300px;transform:none;margin-bottom:0}.tech-ambiente-taller{opacity:.26}.tech-pieza-telefono{right:-2%;bottom:-10%;width:34%}.tech-pieza-placa{left:4%;bottom:4%;width:23%}.shop-path .path-pieza{right:3%;width:26%}.academy-path .path-pieza{width:54%}.contact-pieza{width:58%;right:-14%;bottom:-30%;opacity:.24}.ac-tech-visual{min-height:210px;transform:none;margin-bottom:0}.ac-pieza-chip{left:-2%;top:8%;width:66%}.ac-pieza-placa{right:1%;bottom:-10%;width:23%}.ac-pieza-flex{right:30%;top:-12%;width:14%}.ac-curso-ambiente{width:42%;right:-14%;top:-6%;opacity:.26}.ac-curso-pieza{right:6%;top:5%;bottom:auto;width:15%}}

/* El video de la portada, en movil: banda grafito de lado a lado con la marca al fondo. */
@media(max-width:650px){
.hero-video{display:grid;justify-items:center;position:relative;overflow:hidden;width:auto;aspect-ratio:auto;margin:26px calc(50% - 50vw) 12px;padding:26px 0 54px;border-radius:0;background:linear-gradient(168deg,#232b2f,#131a1d);box-shadow:none}
.hero-video:after{content:'';position:absolute;z-index:0;inset:0;background:url('../img/ambiente-placas.webp') center/cover no-repeat;opacity:.36;filter:contrast(1.05) saturate(.85);mix-blend-mode:screen;-webkit-mask-image:radial-gradient(92% 78% at 50% 46%,#000 6%,#000000cc 48%,transparent 92%);mask-image:radial-gradient(92% 78% at 50% 46%,#000 6%,#000000cc 48%,transparent 92%)}
.hero-video:before{content:'HENRYIFIX';position:absolute;z-index:1;left:50%;bottom:6px;transform:translateX(-50%);color:#f2f7f8;font-family:Manrope,sans-serif;font-size:14vw;font-weight:680;letter-spacing:.6vw;white-space:nowrap;filter:blur(2px)}
.hero-video video{position:relative;z-index:2;width:min(62%,228px);aspect-ratio:9/16;margin:0 auto;border-radius:14px;box-shadow:0 14px 30px #0000006b}
}

/* En movil, la foto del instructor ocupa el hueco del video y el video baja al final.
   «display:contents» disuelve la columna de texto para que sus bloques y la foto
   se ordenen juntos; por eso el relleno lateral pasa a cada bloque. */
@media(max-width:650px){
.hero-copy{display:contents}
.hero-copy>.eyebrow{order:1;padding:38px 6% 0}
.hero-lead{order:2;padding:0 6%}
.hero-visual{order:3;margin:26px 0 0}
.hero-manifesto{order:4;margin:28px 6% 0;padding-top:22px}
.hero-footnote{order:5;margin:28px 6% 0;padding-top:22px}
.hero-video{order:6;margin-top:30px;margin-bottom:34px}
}

/* Rotulos de la composicion tecnica: nombran lo que se ve y ordenan el aire. */
.tech-nota{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border:1px solid #35cee957;border-radius:999px;background:#08161bc4;color:#dff7fb;font-family:Manrope,sans-serif;font-size:12px;font-weight:680;letter-spacing:1.4px;text-transform:uppercase;white-space:nowrap}
.tech-nota i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px #35cee930}
.tech-nota-banco{left:4%;top:6%}
.tech-nota-placa{left:2%;bottom:16%}
.tech-nota-equipo{right:24%;bottom:9%}
.tech-indice{position:absolute;z-index:4;right:2%;top:5%;color:#7fa3ab;font-size:13.5px;letter-spacing:1px}
@media(max-width:900px){.tech-nota{font-size:11.5px;padding:6px 11px}.tech-nota-placa{left:0;bottom:12%}.tech-nota-equipo{right:20%}}
@media(max-width:650px){.tech-nota{gap:7px;padding:5px 10px;font-size:11.5px;letter-spacing:1.1px}.tech-nota i{width:5px;height:5px}.tech-nota-banco{left:2%;top:4%}.tech-nota-placa{left:0;bottom:14%}.tech-nota-equipo{right:18%;bottom:7%}.tech-indice{font-size:13.5px}}

/* Venta por módulos: el temario es también una vista clara de lo que se puede adquirir. */
.ac-ficha-modulos{display:grid;gap:7px;margin:18px 0;padding:0;list-style:none;border-top:1px solid #ffffff1c;border-bottom:1px solid #ffffff1c}.ac-ficha-modulos li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;color:#e8fbfd;font-size:14.5px}.ac-ficha-modulos small{color:#8bb8c0;text-align:right}.ac-editar-curso{display:inline-block;margin-top:14px;color:var(--cyan);font-size:13.5px;font-weight:680}.ac-crear-curso{margin-top:20px}.ac-equipo-nota{margin:10px auto 0!important;color:#86b9c2;font-size:15px!important}.ac-modulo-compra{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0 4px;padding:13px 0 2px;border-top:1px solid #d6e7e9}.ac-modulo-compra strong{display:block;color:var(--ac-cian-fuerte);font-size:22.5px}.ac-modulo-compra small{display:block;color:var(--muted);font-size:13.5px}.ac-gestion{max-width:1080px;padding-top:58px}.ac-gestion .section-heading{align-items:flex-end}.ac-gestion-form{margin-top:28px}.ac-precio-calculado{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:16px 18px;border:1px solid #8adbe6;border-radius:8px;background:#eafaff;color:#1c6573}.ac-precio-calculado strong{font-size:28.5px;color:#057c94}.ac-precio-calculado small{color:#46747c}.ac-gestion-modulos{margin-top:52px}.ac-gestion-modulo{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(250px,1.1fr);gap:28px;padding:24px;margin:16px 0;border:1px solid #d4e8eb;border-radius:10px;background:#fbfefe}.ac-gestion-lecciones{display:grid;gap:8px;align-content:start}.ac-gestion-lecciones>a:not(.btn){display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e3eff1;color:var(--ink);font-size:16.5px}.ac-gestion-lecciones small{color:var(--muted);white-space:nowrap}.ac-nuevo-modulo{margin-top:18px;border-color:#8bdbe6}.ac-nuevo-modulo h3{margin:0}.ac-gestion [hidden]{display:none!important}
.ac-modulo-selector,.ac-modulo-adquirido{display:inline-grid;place-items:center;flex:0 0 auto;width:23px;height:23px;margin-right:2px;border-radius:50%}.ac-modulo-selector{border:1px solid #8bc8d2;background:#fff;cursor:pointer}.ac-modulo-selector input{appearance:none;width:13px;height:13px;margin:0;border:1px solid #84b6bf;border-radius:3px;background:#fff}.ac-modulo-selector input:checked{border-color:#0496af;background:#13c4df;box-shadow:inset 0 0 0 3px #fff}.ac-modulo-adquirido{background:#e3f7ec;color:#1b8b51;font-size:16.5px;font-weight:680}.ac-modulos-elegidos{display:grid;gap:8px;max-height:175px;margin:18px 0;padding:0;overflow:auto;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ac-modulos-elegidos li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;font-size:15px;line-height:1.45}.ac-modulos-elegidos li:only-child{color:var(--muted)}.ac-modulos-elegidos strong{white-space:nowrap;color:#087d94}.ac-curso-completo-oferta{margin-top:22px;padding-top:20px;border-top:1px solid #b9dce2}.ac-curso-completo-oferta>.eyebrow{display:block;color:var(--ac-cian-fuerte)}.ac-curso-completo-oferta>strong{display:block;margin:7px 0 3px;font-family:Manrope,sans-serif;font-size:26.5px;letter-spacing:-1px}.ac-curso-completo-oferta>p{margin-bottom:14px;font-size:15px;line-height:1.6}.field .is-invalid{border-color:#c64343!important;background:#fff7f6!important;box-shadow:0 0 0 3px #c6434322}
.ac-programa{position:relative;padding:40px 34px 36px!important;margin:0 0 54px!important;overflow:hidden;border:1px solid #1c525d!important;border-radius:14px;background:radial-gradient(circle at 100% 0,#164653 0,transparent 36%),linear-gradient(135deg,#06171d,#0b242b);color:#f4fcfd;box-shadow:0 22px 44px #0b222b1a}.ac-programa:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.42;background:linear-gradient(90deg,transparent 0 49%,#56d9ed12 49.1% 49.4%,transparent 49.5%),linear-gradient(#56d9ed0d 1px,transparent 1px);background-size:100% 100%,100% 42px}.ac-programa>*{position:relative}.ac-programa .eyebrow{color:#71deee}.ac-programa h2{font-size:36px;letter-spacing:-1.5px;margin-bottom:25px}.ac-programa .ac-programa-resumen{margin:-15px 0 26px;color:#f2f7f8;font-size:18px;line-height:1.65}.ac-programa .ac-modulos{padding:0}.ac-programa .ac-modulo{border-color:#2b6470;background:#0d252c;box-shadow:0 8px 20px #00000016}.ac-programa .ac-modulo summary{min-height:62px;padding:18px 20px;background:#102d35;color:#f6fdfe;font-size:19.5px}.ac-programa .ac-modulo summary:hover,.ac-programa .ac-modulo[open] summary,.ac-programa .ac-modulo[open] summary:hover{background:#143941;color:#fff}.ac-programa .ac-modulo summary small,.ac-programa .ac-modulo[open] summary small{color:#f2f7f8;font-size:16.5px}.ac-programa .ac-modulo-indice,.ac-programa .ac-modulo[open] .ac-modulo-indice{color:#4dd9ed;font-size:13px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.ac-programa .ac-modulo-nombre{font-size:22.5px;font-weight:680;letter-spacing:-.35px}.ac-programa .ac-modulo summary:after{color:#73dfed}.ac-programa .ac-lecciones{background:#0b2026}.ac-programa .ac-lecciones li{padding:15px 20px;border-color:#25535d;color:#edf9fa;font-size:18.5px}.ac-programa .ac-leccion-num{color:#55d8ea;font-size:13px;font-weight:680;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap}.ac-programa .ac-lecciones small{color:#a7cbd0;font-size:16px}.ac-programa .ac-modulo-compra{margin:0;padding:16px 20px;border-color:#25535d;background:#102a31}.ac-programa .ac-modulo-compra strong{font-size:25px;color:#50d9ec}.ac-programa .ac-modulo-compra small{font-size:16px;color:#f2f7f8}.ac-programa .ac-modulo-selector{border-color:#5ebcc9;background:#0d252c}.ac-programa .ac-modulo-selector input{border-color:#8ed9e3;background:#102d35}.ac-programa .ac-modulo-selector input:checked{background:#30cce5;box-shadow:inset 0 0 0 3px #102d35}.ac-compra .detail-price{font-size:36px}.ac-compra>p{font-size:19px}.ac-compra .plain-list li{font-size:18px}.ac-compra .ac-modulos-elegidos li{font-size:17.5px}.ac-compra .ac-curso-completo-oferta>strong{font-size:29.5px}.ac-compra .ac-curso-completo-oferta>p,.ac-compra-nota{font-size:16.5px}
@media(max-width:650px){.ac-programa{padding:30px 18px 24px!important;margin-bottom:40px!important;border-radius:10px}.ac-programa h2{font-size:33px;letter-spacing:-1.2px}.ac-programa .ac-programa-resumen{font-size:18px}.ac-programa .ac-modulo summary{display:grid;grid-template-columns:23px auto minmax(0,1fr) auto;grid-template-areas:'selector indice meta toggle' 'selector nombre nombre toggle';align-items:center;column-gap:10px;row-gap:6px;min-height:66px;padding:16px;font-size:20px}.ac-programa .ac-modulo-selector,.ac-programa .ac-modulo-adquirido{grid-area:selector;margin:0}.ac-programa .ac-modulo-indice{grid-area:indice}.ac-programa .ac-modulo-nombre{grid-area:nombre;min-width:0}.ac-programa .ac-modulo summary small{grid-area:meta;justify-self:end;font-size:16px}.ac-programa .ac-modulo summary:after{grid-area:toggle}.ac-programa .ac-modulo summary:not(:has(.ac-modulo-selector)):not(:has(.ac-modulo-adquirido)){grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:'indice meta toggle' 'nombre nombre toggle'}.ac-programa .ac-lecciones li{padding:14px 16px;font-size:19px}.ac-compra .detail-price{font-size:36.5px}}
@media(max-width:650px){.ac-modulo-compra,.ac-ficha-modulos li{align-items:flex-start;flex-direction:column}.ac-gestion{padding-top:38px}.ac-gestion .section-heading{align-items:flex-start}.ac-gestion-modulo{grid-template-columns:1fr;padding:18px}.ac-gestion-lecciones>a:not(.btn){flex-direction:column;gap:3px}.ac-crear-curso{width:100%}}

/* Avisos de guardado visibles sin sacar al equipo de su flujo de edición. */
.flashes{position:fixed;z-index:100;top:112px;right:5%;width:min(420px,90vw);padding:0}.flashes .notice{box-shadow:0 12px 30px #111a1c2b;transition:opacity .22s ease,transform .22s ease}.video-frame+ .video-frame{margin-top:18px}.video-frame video{width:100%;height:100%;display:block;background:#111a1c}
.ac-programa .ac-modulo-en-canasta{display:inline-grid;place-items:center;flex:0 0 auto;width:23px;height:23px;margin-right:2px;border:1px solid #67cfdf;border-radius:50%;background:#153842;color:#8cecf8;font-size:15px;line-height:1}.ac-programa .ac-modulo-en-canasta+ .ac-modulo-indice{margin-left:0}@media(max-width:650px){.ac-programa .ac-modulo-en-canasta{grid-area:selector;margin:0}}
.enrollment-card .enrollment-progress{display:grid;gap:7px;margin:0 0 22px}.enrollment-progress>span{display:flex;justify-content:space-between;gap:12px;color:#c4e8ed;font-size:15px}.enrollment-progress b{color:#53d9ed;font-size:16.5px}.enrollment-progress progress{width:100%;height:7px;appearance:none;border:0;border-radius:999px;overflow:hidden}.enrollment-progress progress::-webkit-progress-bar{background:#ffffff25}.enrollment-progress progress::-webkit-progress-value{background:#38cce7}.enrollment-progress progress::-moz-progress-bar{background:#38cce7}.enrollment-progress small{color:#9ac6ce;font-size:13.5px}

/* Edición de cursos: las fichas se recogen para revisar el temario sin perder el contexto. */
.ac-modulos-sortables{display:grid;gap:16px}.ac-gestion-modulo{display:block;margin:0;padding:0;overflow:hidden;border-color:#d4e8eb;background:#fbfefe}.ac-modulo-cabecera{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:16px 18px;border-bottom:1px solid #e3eff1}.ac-modulo-detalle{min-width:0}.ac-modulo-detalle summary{display:flex;align-items:center;gap:11px;min-height:34px;cursor:pointer;list-style:none}.ac-modulo-detalle summary::-webkit-details-marker{display:none}.ac-modulo-detalle summary strong{overflow:hidden;color:var(--ink);font-size:19px;text-overflow:ellipsis;white-space:nowrap}.ac-modulo-detalle summary small{margin-left:auto;color:#087e93;font-weight:680;white-space:nowrap}.ac-orden{flex:0 0 auto;color:#6f9ca3;font-family:Manrope,sans-serif;font-size:12.5px;font-weight:680;letter-spacing:.8px}.ac-arrastre{display:inline-grid;flex:0 0 auto;place-items:center;width:30px;height:30px;border:1px solid #cfe7eb;border-radius:6px;color:#5f9ca6;cursor:grab;font-size:22.5px;letter-spacing:-3px;line-height:1;touch-action:none;user-select:none}.ac-arrastre:active{cursor:grabbing}.ac-modulo-formulario{padding:20px 0 3px}.ac-modulo-formulario .field{margin-bottom:0}.ac-gestion-lecciones{display:grid;gap:0;padding:0 18px 10px}.ac-leccion-item{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:11px;border-bottom:1px solid #e3eff1}.ac-leccion-item .ac-arrastre{width:26px;height:26px;font-size:20px}.ac-leccion-item>a{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:12px 0!important;border:0!important}.ac-leccion-item>a>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-leccion-item>a small{white-space:nowrap}.ac-gestion-lecciones>.muted{padding:8px 0;margin:0}.ac-nuevo-modulo{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}.ac-nuevo-modulo-contenido{display:grid;gap:18px}.ac-nuevo-modulo-contenido h3,.ac-nuevo-modulo-contenido p{margin:0}.ac-nuevo-modulo-accion{align-self:end;white-space:nowrap}.ac-gestion [data-sort-item].is-dragging{opacity:.48;box-shadow:0 12px 26px #0b39401c}.ac-gestion [data-sort-item]:has(.ac-arrastre:hover){border-color:#6bcbd9}
@media(max-width:650px){.ac-modulo-cabecera,.ac-nuevo-modulo{grid-template-columns:1fr;gap:12px}.ac-modulo-cabecera>.btn,.ac-nuevo-modulo-accion{width:100%}.ac-modulo-detalle summary small{font-size:14.5px}.ac-leccion-item>a{align-items:flex-start;flex-direction:column}.ac-leccion-item>a small{white-space:normal}.ac-gestion-lecciones{padding:0 14px 8px}}

/* Conversión de referencia y visibilidad de contraseña. */
.precio-cop{display:inline-block}.precio-usd{display:block;margin-top:3px;color:var(--muted);font-size:.62em;font-weight:540;letter-spacing:0;line-height:1.25}.precio-cop+.precio-usd{white-space:nowrap}.password-field{display:block;position:relative}.password-field input{padding-right:52px!important}.password-toggle{position:absolute;top:50%;right:8px;display:grid;place-items:center;width:38px;height:38px;padding:0;transform:translateY(-50%);border:0;border-radius:50%;background:transparent;color:#111a1c;cursor:pointer}.password-toggle:hover{background:#e8f3f5;color:var(--ink)}.password-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.password-toggle svg{width:20px;height:20px}
/* Aula: el temario replica la jerarquía curso > módulo > lección. */
.classroom{grid-template-columns:350px minmax(0,1fr);background:#fff}.lesson-sidebar{grid-column:1;border-right:1px solid var(--line);border-left:0;padding:34px 22px;background:#f4f8f9}.lesson-content{grid-column:2;grid-row:1;padding-right:7%}.lesson-sidebar h2{font-size:24.5px;line-height:1.35;margin:13px 0 20px}.lesson-sidebar .progress-label{font-size:16.5px}.lesson-sidebar progress{margin:10px 0 6px}.classroom-progress-copy{display:block;color:var(--muted);font-size:13.5px;margin-bottom:24px}.classroom-modules{border-top:1px solid #dbe6e9;padding-top:16px;display:flex;flex-direction:column;gap:9px}.classroom-module{border:1px solid #d8e4e7;border-radius:6px;background:#fff;overflow:hidden}.classroom-module summary{display:flex;align-items:center;justify-content:space-between;gap:11px;padding:14px 13px;cursor:pointer;list-style:none}.classroom-module summary::-webkit-details-marker{display:none}.classroom-module summary strong{font-size:18px;line-height:1.32;overflow-wrap:anywhere}.classroom-module summary:after{content:'+';color:#111a1c;font-size:22.5px;line-height:1}.classroom-module[open] summary{background:#102126;color:#fff}.classroom-module[open] summary:after{content:'−';color:#42d1e9}.classroom-module-body{padding:10px 5px 5px}.classroom-module-meta{display:flex;justify-content:space-between;gap:10px;padding:0 8px 7px;color:#111a1c;font-size:12.5px}.classroom-module-meta small{color:#0b9fbd;font-size:11.5px;font-weight:680;letter-spacing:1px}.classroom-module nav{display:flex;flex-direction:column}.classroom-module nav a{display:flex;gap:10px;padding:11px 8px;border-radius:4px;font-size:16.5px;line-height:1.35}.classroom-module nav a:hover{background:#eff8fa}.classroom-module nav a.selected{background:#dff5f9;color:#067f98;font-weight:680}.classroom-module nav a>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.classroom-module nav a small{color:#f2f7f8;font-size:11.5px;font-weight:680;letter-spacing:.7px}.classroom-module nav a em{color:#111a1c;font-size:12.5px;font-style:normal}.classroom-module .lesson-check{min-width:24px;color:#0ba7c3;font-size:13.5px;padding-top:2px}.classroom-module nav a.selected .lesson-check{color:#057b93}@media(max-width:1100px){.classroom{grid-template-columns:300px minmax(0,1fr)}.lesson-content{padding-right:6%}}@media(max-width:800px){.classroom{display:flex;flex-direction:column}.lesson-sidebar{order:1;grid-column:auto;border-right:0;border-top:0;border-bottom:1px solid var(--line)}.lesson-content{order:2;grid-column:auto;grid-row:auto}.classroom-modules{max-height:none}.classroom-module summary{padding:13px}.classroom-module nav a{padding:11px 8px}}

/* Acciones de las tablas del panel: varias por fila, sin desbordar la celda. */
.admin-main .table-actions{flex-wrap:wrap;gap:10px}
.text-button.danger{color:#a4382e}
.table-actions .password-inline{flex:1;min-width:150px;max-width:190px;gap:0}
.table-actions .password-inline input{min-height:34px;padding:7px 9px;font-size:15px}

/* Eliminar contenido: la acción existe, pero no compite con guardar o publicar. */
.ac-leccion-item{grid-template-columns:auto auto minmax(0,1fr) auto}
.ac-leccion-item form{display:flex}
.ac-modulo-peligro{border-top:1px solid #e3eff1;padding-top:14px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline}
.ac-modulo-peligro small{font-size:15px}
.ac-eliminar-leccion{margin-top:18px}
.ac-videos-bunny{margin-top:18px}.ac-videos-bunny h2{margin:0 0 6px;font-size:1.15rem}.ac-videos-bunny ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.ac-videos-bunny li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 0;border-top:1px solid var(--line)}.ac-videos-bunny li span{overflow-wrap:anywhere}
.admin-lesson>a{flex:1;min-width:0;display:flex;align-items:center;gap:15px}

/* ===========================================================================
   Cabecera fija, perfiles y agrupación de accesos (16 de septiembre de 2026)
   Todo con los tokens ya definidos arriba; sin colores nuevos fuera de la
   paleta salvo el verde de «Ir al aula», que señala un acceso ya pagado.
   =========================================================================== */
:root{--verde-aula:#128a4b;--verde-aula-fuerte:#0d6d3b}

/* --- 1. Barra superior fija con fondo translúcido ------------------------- */
.header-fijo{position:sticky;top:0;z-index:60;background:#ffffffd9;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid #e1e6e7b3;transition:box-shadow .25s,background .25s,height .25s}
.header-fijo:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#ffffff26,#ffffff00)}
.header-fijo.is-scrolled{height:74px;background:#fffffff2;box-shadow:0 10px 30px -22px #0b2a3159,0 1px 0 #e1e6e7}
.header-fijo.is-scrolled .wordmark{font-size:24.5px}
.header-fijo nav a:after{transition:transform .2s}
.header-fijo nav a:hover:after{content:'';position:absolute;bottom:24px;left:0;right:0;height:2px;background:#cbe9f0}
.header-fijo nav a[aria-current]:hover:after{background:var(--cyan)}
.header-fijo .account-button{display:inline-flex;align-items:center;gap:9px}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.header-fijo{background:#fff}}
@media(prefers-reduced-motion:reduce){.header-fijo{transition:none}}
@media(max-width:1000px){.header-fijo.is-scrolled{height:auto}}

/* --- 2. Avatar de cuenta -------------------------------------------------- */
.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#102126;color:#fff;font-family:'Manrope',sans-serif;font-weight:680;letter-spacing:.5px;font-size:19px}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.tiny{width:26px;height:26px;font-size:12.5px}
.avatar.small{width:36px;height:36px;font-size:15px}
.avatar.large{width:74px;height:74px;font-size:25.5px}
.avatar.xlarge{width:104px;height:104px;font-size:32px}
.account-identity{display:flex;align-items:center;gap:20px}
.foto-field .foto-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.foto-field .foto-row>div{display:flex;flex-direction:column;gap:8px;min-width:210px}
.foto-field input[type=file]{font-size:16.5px}
.tel-field .tel-row{display:flex;gap:8px}
.tel-field .tel-row select{flex:0 0 40%;min-width:0}
.tel-field .tel-row input{flex:1;min-width:0}
.auth-extra{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:14px}
.auth-extra .muted{font-size:16.5px}

/* --- 3. «Ir al aula»: acceso ya pagado, no una venta más ------------------ */
.btn.ac-btn-aula{background:var(--verde-aula);border:1px solid var(--verde-aula);color:#fff;font-weight:680;letter-spacing:.6px}
.btn.ac-btn-aula:hover{background:var(--verde-aula-fuerte);border-color:var(--verde-aula-fuerte);color:#fff}
.ac-adquirido{color:var(--verde-aula)}
.ac-curso-hero .ac-adquirido{color:#4fe39b}
/* Las fichas del catálogo van sobre fondo oscuro: el verde se aclara para
   que se lea, igual que en la portada del curso. */
.ac-ficha .ac-adquirido{color:#4fe39b}
.ac-ficha-modulos .ac-adquirido{font-weight:610}
/* El pie de la ficha es una frase: la referencia en dólares la parte en
   tres líneas y ya está arriba, junto al precio grande. */
.ac-ficha-pago .precio-usd{display:none}
.detail-price.ac-adquirido{font-size:32px;line-height:1.2}

/* --- 4. Banner del curso sin la figura del instructor --------------------- */
.ac-curso-hero-limpio{grid-template-columns:minmax(0,1fr);gap:0;align-items:start;padding-bottom:6px}
.ac-curso-hero-limpio:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#08181ef2 0,#08181edb 46%,#08181e8c 100%)}
.ac-curso-hero-limpio .ac-hero-fondo img{opacity:.3;filter:grayscale(.3) contrast(104%)}
.ac-curso-hero-limpio .ac-curso-hero-copy{max-width:980px;padding-bottom:46px}
@media(max-width:650px){.ac-curso-hero-limpio:after{background:linear-gradient(180deg,#08181ef7 0,#08181ee6 60%,#08181ef2 100%)}.ac-curso-hero-limpio .ac-hero-fondo img{opacity:.22}}

/* --- 5. Mi aprendizaje: los módulos van dentro de su curso ---------------- */
.enrollment-card h3 a{display:block}
.enrollment-card h3 a:hover{color:var(--cyan)}
.enrollment-modules{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid #ffffff1f;display:flex;flex-direction:column;gap:4px}
.enrollment-modules a{display:block;padding:10px 12px;border-radius:6px;background:#ffffff0a;transition:background .2s}
.enrollment-modules a:hover{background:#ffffff14;color:inherit}
.enrollment-module-name{display:block;font-size:17.5px;font-weight:610;line-height:1.35}
.enrollment-module-bar{display:flex;align-items:center;gap:10px;margin:7px 0 4px}
.enrollment-module-bar progress{flex:1;height:5px}
.enrollment-module-bar b{font-size:13.5px;color:var(--cyan)}
.enrollment-modules small{color:#f2f7f8;font-size:13px}

/* --- 6. Panel: fichas de cuenta y alumnos agrupados ----------------------- */
.admin-usuario-enlace{display:flex;align-items:center;gap:11px}
.admin-usuario-enlace span{display:flex;flex-direction:column;min-width:0}
.admin-usuario-enlace small{color:#f2f7f8;font-size:13px}
.admin-usuario-enlace:hover b{color:#00849c}
.admin-modulos-alumno{list-style:none;margin:7px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}
.admin-modulos-alumno li{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#111a1c;border-left:2px solid #d8e4e7;padding-left:8px}
.admin-modulos-alumno small{color:#0b8aa4;font-weight:680}
.admin-modulos-alumno li .inline-form,.admin-acceso-accion .inline-form{display:inline-flex;margin:0}.admin-acceso-accion{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:15px}
.admin-alta summary{cursor:pointer;padding:4px 0}
.admin-alta .inline-form{margin-top:14px}
.admin-ficha{display:grid;gap:20px}
.admin-ficha-resumen{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}
.admin-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 22px;margin:16px 0 0}
.admin-datos dt{color:#f2f7f8;font-size:13px;font-weight:680;letter-spacing:1px;text-transform:uppercase}
.admin-datos dd{margin:3px 0 0;font-size:18px}
.admin-acceso{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line)}
.admin-acceso>div:first-child{flex:1;min-width:200px}
.admin-acceso small{display:block;color:#f2f7f8;font-size:14px}
.admin-acceso-progreso{min-width:150px}
.admin-acceso-progreso progress{width:100%;height:6px;display:block;margin:4px 0}
@media(max-width:650px){.account-identity{gap:14px}.avatar.large{width:58px;height:58px;font-size:24.5px}.tel-field .tel-row{flex-direction:column}.tel-field .tel-row select{flex:none;width:100%}}
.classroom-module-pendiente summary strong{color:#111a1c}
.classroom-module-aviso{padding:0 8px 10px;color:#111a1c;font-size:14px;line-height:1.5}
.admin-modulos-alumno{max-width:430px}
.ac-modulo-compra .ac-adquirido{color:#4fe39b}

/* ===========================================================================
   Ajustes de la página de curso (16 de septiembre de 2026)
   Check de módulo a la derecha, fichas a dos columnas en móvil y la ficha de
   compra junto al temario cuando la pantalla es estrecha.
   =========================================================================== */

/* --- 1. El check de cada módulo, a la derecha y sobre fondo blanco -------- */
.ac-programa .ac-modulo summary{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:'indice meta marca toggle' 'nombre nombre marca toggle';column-gap:14px}
.ac-programa .ac-modulo summary:not(:has(.ac-modulo-marca)){grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:'indice meta toggle' 'nombre nombre toggle'}
/* Las reglas antiguas colocaban el check en un área «selector» que ya no
   existe; se fija el área nueva con la misma especificidad que aquellas. */
.ac-programa .ac-modulo-selector,.ac-programa .ac-modulo-adquirido,.ac-programa .ac-modulo-en-canasta{grid-area:marca;width:auto;height:auto;margin:0}
.ac-modulo-marca{grid-area:marca;display:grid;justify-items:center;gap:4px;width:auto;height:auto;margin:0;padding:7px 10px 8px;border:1px solid #cfe7ec;border-radius:9px;background:#fff;color:#0b6b7d;line-height:1}
/* El `small` de la marca no es la duración del módulo: se le quita el área
   «meta» que la regla del encabezado aplica a todos los <small>. */
.ac-programa .ac-modulo summary .ac-modulo-marca small{grid-area:auto;justify-self:center;font-size:12px;font-weight:680;letter-spacing:.9px;text-transform:uppercase;color:#0b6b7d}
.ac-programa .ac-modulo summary .ac-modulo-adquirido small{color:#1b8b51}
.ac-modulo-marca b{font-size:18px;font-weight:680}
.ac-programa .ac-modulo-selector{border-color:#cfe7ec;background:#fff;cursor:pointer}
.ac-programa .ac-modulo-selector:hover{border-color:var(--cyan);box-shadow:0 0 0 3px #35cee933}
.ac-programa .ac-modulo-selector input{appearance:none;width:19px;height:19px;margin:0;border:1.5px solid #6fb3c0;border-radius:5px;background:#fff;cursor:pointer}
.ac-programa .ac-modulo-selector input:checked{border-color:#0496af;background:#13c4df;box-shadow:inset 0 0 0 3px #fff}
.ac-programa .ac-modulo-selector:has(input:checked){border-color:var(--cyan);box-shadow:0 0 0 3px #35cee933}
.ac-programa .ac-modulo-selector input:focus-visible{outline:3px solid #00849c;outline-offset:3px}
.ac-programa .ac-modulo-adquirido{background:#e3f7ec;border-color:#9bd9b8;color:#1b8b51}
.ac-programa .ac-modulo-adquirido small{color:#1b8b51}
.ac-programa .ac-modulo-en-canasta{background:#fff;border-color:#cfe7ec;color:#0b6b7d}

/* --- 2. Móvil: dos cursos por fila --------------------------------------- */
@media(max-width:650px){
  .ac-fichas{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:none}
  .ac-ficha-cuerpo{padding:13px}
  .ac-ficha-cuerpo h3{font-size:21px;line-height:1.3;letter-spacing:-.2px}
  .ac-ficha-meta{margin-top:7px;font-size:15.5px}
  .ac-ficha-precio{padding-top:14px;font-size:28.5px;letter-spacing:-.6px}
  .ac-ficha-pago{font-size:14.5px}
  .ac-ficha-modulos{gap:5px;margin:12px 0}
  .ac-ficha-modulos li{flex-direction:column;gap:2px;font-size:14.5px}
  .ac-ficha-modulos small{text-align:left}
  .ac-ficha-acciones{flex-direction:column;gap:7px;margin-top:13px}
  .ac-ficha-acciones .btn{min-height:38px;padding:9px 10px;font-size:16.5px}
  .ac-ficha-etiqueta{top:8px;left:8px;font-size:12.5px}
}

/* --- 3. Móvil: la ficha de compra, pegada al temario y más estrecha ------- */
@media(max-width:800px){
  /* `display:contents` sube los bloques del curso al mismo flujo que la ficha
     de compra; así puede colocarse justo detrás del temario sin mover el HTML. */
  .ac-curso-cuerpo{display:flex;flex-direction:column}
  .ac-curso-cuerpo>.ac-curso-main{display:contents}
  .ac-curso-main>*{order:1}
  .ac-curso-main>.ac-programa~*{order:3}
  .ac-curso-cuerpo>.ac-compra{order:2;width:100%;max-width:520px;margin-inline:auto;padding:18px}
  .ac-compra .detail-price{margin:10px 0 2px;font-size:27.5px}
  .ac-compra>p{font-size:16.5px}
  .ac-compra form,.ac-compra>.btn{margin-top:14px}
  .ac-compra .plain-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;margin:16px 0 4px}
  .ac-compra .plain-list li{font-size:14px;line-height:1.45}
  .ac-compra .ac-modulos-elegidos{margin:10px 0}
  .ac-compra .ac-modulos-elegidos li{font-size:15px}
  .ac-compra .ac-curso-completo-oferta{margin-top:16px;padding-top:14px}
  .ac-compra .ac-curso-completo-oferta>strong{font-size:25.5px}
  .ac-compra .ac-curso-completo-oferta>p{font-size:15px}
  .ac-compra-pagos{padding:12px 0 10px}
  .ac-compra-nota{margin-top:8px;font-size:14px}
  .ac-programa .ac-modulo summary .ac-modulo-marca,.ac-programa .ac-modulo summary .ac-modulo-selector,.ac-programa .ac-modulo summary .ac-modulo-adquirido,.ac-programa .ac-modulo summary .ac-modulo-en-canasta{grid-area:marca}
}
@media(max-width:650px){
  /* En pantalla estrecha el módulo se lee en columna —índice, nombre y
     duración— con el check y el desplegable alineados a la derecha. */
  .ac-programa .ac-modulo summary{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:'indice marca toggle' 'nombre marca toggle' 'meta marca toggle';column-gap:10px;row-gap:4px}
  .ac-programa .ac-modulo summary:not(:has(.ac-modulo-marca)){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'indice toggle' 'nombre toggle' 'meta toggle'}
  .ac-programa .ac-modulo summary small{justify-self:start}
  /* La regla móvil antigua todavía manda el check al área «selector»: aquí,
     al final de la hoja, se le devuelve su área nueva. */
  .ac-programa .ac-modulo summary .ac-modulo-marca,.ac-programa .ac-modulo summary .ac-modulo-selector,.ac-programa .ac-modulo summary .ac-modulo-adquirido,.ac-programa .ac-modulo summary .ac-modulo-en-canasta{grid-area:marca;align-self:center}
  .ac-programa .ac-modulo summary:after{align-self:center}
  .ac-programa .ac-modulo-nombre{font-size:21.5px}
  .ac-modulo-marca{padding:6px 8px}
  .ac-modulo-marca small{font-size:12px;letter-spacing:.6px}
  .ac-programa .ac-modulo-selector input{width:17px;height:17px}
  .ac-curso-cuerpo>.ac-compra{padding:16px 14px}
  .ac-compra .plain-list{grid-template-columns:minmax(0,1fr)}
}

/* --- 4. Móvil: la compra viaja en una barra fija al pie ------------------- */
.ac-barra-compra{display:none}
@media(max-width:800px){
  /* El temario se lee a todo el ancho y la compra acompaña el desplazamiento. */
  .ac-barra-compra{position:fixed;z-index:55;right:0;bottom:0;left:0;display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #1d4a55;background:#0b2228f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -10px 30px -18px #000000b3;color:#fff}
  .ac-barra-compra-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
  .ac-barra-compra-info small{color:#9fc9d1;font-size:13px;font-weight:680;letter-spacing:.6px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ac-barra-compra-info strong{font-family:'Manrope',sans-serif;font-size:24px;font-weight:680;letter-spacing:-.6px;color:#5fe0f2}
  .ac-barra-compra-info .precio-usd{display:none}
  .ac-barra-compra .btn{flex:0 0 auto;min-height:40px;padding:9px 13px;font-size:15px}
  .ac-barra-compra .ac-btn-fantasma{border-color:#3d7e8c;color:#f2f7f8}
  .ac-barra-compra form{margin:0}
  /* Sitio para la barra: nada del pie queda tapado. */
  footer{padding-bottom:74px}
  @supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.ac-barra-compra{background:#0b2228}}
}

/* --- 5. El check de «Adquirir» va sin caja (16 de septiembre de 2026) ----- */
/* Solo la casilla y su texto: la ficha blanca competía con el propio check. */
.ac-programa .ac-modulo-marca,.ac-programa .ac-modulo-selector,.ac-programa .ac-modulo-adquirido,.ac-programa .ac-modulo-en-canasta{padding:0;border:0;background:none;box-shadow:none}
.ac-programa .ac-modulo-selector:hover,.ac-programa .ac-modulo-selector:has(input:checked){border:0;box-shadow:none;background:none}
.ac-programa .ac-modulo-marca small{color:#8fd8e6}
.ac-programa .ac-modulo-selector:hover small{color:var(--cyan)}
.ac-programa .ac-modulo-selector input{width:22px;height:22px;border:2px solid #fff;background:#fff}
.ac-programa .ac-modulo-selector:hover input{border-color:var(--cyan);box-shadow:0 0 0 3px #35cee933}
.ac-programa .ac-modulo-selector input:checked{border-color:#0496af;background:#13c4df;box-shadow:inset 0 0 0 3px #fff}
.ac-programa .ac-modulo-adquirido b{color:#4fe39b}
.ac-programa .ac-modulo-adquirido small{color:#4fe39b}
.ac-programa .ac-modulo-en-canasta b{color:#8cecf8}

/* --- 6. Checkout directo: pedido y pago en la misma pantalla -------------- */
.checkout-directo .checkout-pago h2{margin-bottom:14px}
.checkout-directo .checkout-pago h2+.field{margin-top:0}
.checkout-pasarelas{display:flex;flex-direction:column;gap:10px}
.checkout-pasarelas .btn{gap:10px}
.checkout-directo .text-link{margin-top:6px}

/* --- 7. Barra móvil: elegir módulos sin volver al temario ----------------- */
.ac-barra-opciones{position:relative}
.ac-barra-opciones>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center}
.ac-barra-opciones>summary::-webkit-details-marker{display:none}
.ac-barra-opciones[open]>summary{border-color:var(--cyan);color:#fff}
.ac-barra-lista{position:fixed;z-index:2;right:12px;left:12px;bottom:calc(100% + 12px);width:auto;max-width:420px;margin-left:auto;max-height:min(60vh,420px);overflow-y:auto;padding:16px;border:1px solid #2b6470;border-radius:12px;background:#0d252c;box-shadow:0 22px 50px -20px #000000d9;text-align:left}
.ac-barra-lista .eyebrow{display:block;margin-bottom:12px;color:#7fd6e6}
.ac-barra-lista .text-link{display:inline-block;margin-top:12px;color:#8fd8e6;font-size:16px}
.ac-barra-modulo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 4px;border-top:1px solid #1d4a55;cursor:pointer}
.ac-barra-modulo:first-of-type{border-top:0}
.ac-barra-modulo input{appearance:none;flex:none;width:22px;height:22px;margin:0;border:2px solid #fff;border-radius:5px;background:#fff;cursor:pointer}
.ac-barra-modulo input:checked{border-color:#0496af;background:#13c4df;box-shadow:inset 0 0 0 3px #fff}
.ac-barra-modulo input:focus-visible{outline:3px solid #35cee9;outline-offset:3px}
.ac-barra-marca{width:22px;text-align:center;color:#4fe39b;font-size:16.5px}
.ac-barra-modulo-nombre{min-width:0;display:flex;flex-direction:column;gap:2px;color:#f2fbfd;font-size:17.5px;font-weight:610;line-height:1.3}
.ac-barra-modulo-nombre small{color:#9fc9d1;font-size:13.5px;font-weight:540}
.ac-barra-modulo b{color:#5fe0f2;font-size:16.5px;white-space:nowrap}
.ac-barra-modulo b .precio-usd{display:none}
.ac-barra-modulo-listo{opacity:.62}
.ac-barra-modulo-listo b{color:#9fc9d1}

/* --- 8. Botón de Mercado Pago -------------------------------------------- */
.btn.btn-mercadopago{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;border:1px solid #2f7f95;border-radius:8px;background:#0d252c;color:#fff;font-weight:680;letter-spacing:.2px}
.btn.btn-mercadopago:hover{border-color:var(--cyan);background:#12333c;color:#fff}
.btn.btn-mercadopago:disabled{opacity:.45}
.mp-mark{display:inline-flex;width:26px;height:26px;color:#35cee9}
.mp-mark svg{width:100%;height:100%}
.checkout-seguro{display:flex;gap:9px;margin-top:14px;color:var(--muted);font-size:16px;line-height:1.55}

/* Nombres de módulo largos: parten de línea en vez de estirar el panel. */
.ac-barra-lista{bottom:auto;top:auto}
.ac-barra-opciones[open] .ac-barra-lista{bottom:78px}
.ac-barra-modulo{align-items:start}
.ac-barra-modulo-nombre{overflow-wrap:anywhere;word-break:break-word}
.ac-barra-modulo b{align-self:center}

/* La tarjeta de «Mi aprendizaje» entra al aula desde cualquier punto: el enlace
   del título se estira sobre toda la tarjeta y los módulos quedan por encima. */
.enrollment-card-enlace{position:relative}
.enrollment-card-enlace h3 a:after{content:'';position:absolute;inset:0;z-index:0}
.enrollment-card-enlace:hover{border-color:#35cee959}
.enrollment-card-enlace .enrollment-modules,.enrollment-card-enlace .text-link{position:relative;z-index:1}

/* ————— Videos Ifix: galería propia y su administración (17/09/2026) —————
   Los videos del taller son archivos de HENRYIFIX, no reproductores de una
   red: se pintan con el <video> nativo sobre su portada, con un botón de play
   dibujado en SVG en línea. En móvil van a dos columnas, como pidió el
   propietario, y el play abre el video casi a pantalla completa debajo de la
   cabecera para poder verlo sin salir de la página. */
.videos-admin{margin:0 0 30px;padding:22px 24px;border:1px dashed #35cee980;border-radius:var(--radius);background:var(--surface)}
.videos-admin h3{font-size:24px;margin:6px 0 8px}
.videos-admin p{font-size:17.5px;max-width:70ch}
.videos-admin-formularios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:20px}
.videos-admin-form{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.videos-admin-form .field{width:100%}
.videos-taller-grid{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.taller-video{position:relative;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.taller-video.es-nuevo{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-light)}
.taller-video-player{display:block;width:100%;aspect-ratio:9/16;object-fit:contain;background:var(--ink);border-radius:var(--radius) var(--radius) 0 0;cursor:pointer}
.taller-video-play,.taller-video-pausa{position:absolute;inset:0;bottom:44px;display:grid;place-items:center;border:0;background:transparent;border-radius:var(--radius) var(--radius) 0 0}
/* `hidden` tiene que ganarle a ese `display:grid`: si no, el botón de pausa se
   queda encima del video —invisible pero clicable— y se lleva el toque que
   debía reproducirlo. Es el detalle que en LUXEM se corrige desde el script. */
.taller-video-play[hidden],.taller-video-pausa[hidden]{display:none}
.taller-video-play span{display:grid;place-items:center;width:64px;height:64px;padding-left:4px;border-radius:50%;background:#fffffff2;color:var(--ink);box-shadow:0 6px 20px #00000038}
.taller-video-play svg{width:30px;height:30px}
.taller-video-play:hover span{background:#fff;transform:scale(1.04)}
.taller-video-pie{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.taller-video-pie span{color:var(--ink);font-weight:610}
.taller-video-quitar{position:absolute;top:10px;right:10px;z-index:3}
.taller-video-quitar summary{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fffffff0;color:var(--ink);font-size:18px;cursor:pointer;list-style:none}
.taller-video-quitar summary::-webkit-details-marker{display:none}
.taller-video-quitar summary:hover{border-color:#d33;color:#d33}
.taller-video-confirmar{position:absolute;top:42px;right:0;width:240px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 18px 40px #0000002e;text-align:left}
.taller-video-confirmar p{font-size:18px;font-weight:610}
.taller-video-confirmar small{display:block;margin-top:6px;color:var(--muted);font-size:15px;line-height:1.5}
.taller-video-acciones{display:flex;align-items:center;gap:14px;margin-top:14px}
.taller-video-ampliado{position:fixed;inset:96px 0 0;z-index:40;background:#0c1416f2;padding:12px;display:grid}
.taller-video-ampliado[hidden]{display:none}
.taller-video-ampliado-marco{position:relative;display:grid;place-items:center;height:100%;border-radius:var(--radius);overflow:hidden}
.taller-video-ampliado-marco video{width:100%;height:100%;object-fit:contain;background:#000}
.taller-video-volver{position:absolute;top:14px;left:14px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff4d;background:#0c1416cc;color:#fff;font-size:25px}
@media(max-width:900px){.videos-admin-formularios{grid-template-columns:minmax(0,1fr);gap:18px}}
@media(max-width:740px){
  /* Dos por fila en el teléfono: la galería se recorre de un vistazo. */
  .videos-taller-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .taller-video-play span{width:46px;height:46px}
  .taller-video-play svg{width:22px;height:22px}
  .taller-video-pie{padding:9px 10px;font-size:13.5px}
  .taller-video-confirmar{width:min(72vw,240px)}
  .videos-admin{padding:18px}
}

/* En el teléfono, el checkout enseña primero «Tu pedido» y después cómo pagar:
   nadie elige una pasarela sin ver antes qué está pagando. En escritorio siguen
   lado a lado, con el resumen a la derecha (17/09/2026). */
@media(max-width:800px){
  .checkout-directo .summary-card{order:-1}
}

/* ————— Aula en el teléfono: la lección arriba, el temario al pie —————
   (17/09/2026) En pantalla estrecha el temario dejaba el video a media página
   de distancia. Ahora la lección empieza arriba —curso, módulo, lección y
   video— y el temario viaja en una barra fija que se despliega hacia arriba.
   Es un <details> nativo: funciona sin JavaScript. En escritorio la barra no
   existe y el temario sigue en su columna. */
.lesson-head{margin-bottom:26px}
.lesson-curso{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:16.5px;font-weight:610}
.lesson-curso .eyebrow{color:#0b9fbd;font-size:11.5px}
.lesson-ruta{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-top:12px;font-size:16.5px}
.lesson-ruta b{color:var(--ink);font-weight:680;line-height:1.35;overflow-wrap:anywhere}
.lesson-ruta span{color:var(--muted);font-size:15px}
.lesson-head h1{margin:14px 0 0}
.aula-barra{display:none}

@media(max-width:800px){
  /* La lección va primero: el alumno abre el aula y ve su video. */
  .lesson-sidebar{display:none}
  .lesson-content{order:0;padding:26px 5% 30px}
  .classroom{padding-bottom:86px}
  /* Y el pie del sitio no se queda debajo de la barra. */
  body:has(.aula-barra) footer{padding-bottom:80px}
  .lesson-head{margin-bottom:20px}
  .lesson-head h1{font-size:26.5px;letter-spacing:-.7px;margin-top:10px}
  .lesson-curso{font-size:15px;gap:8px}
  .lesson-ruta{gap:6px 12px;margin-top:9px}
  .lesson-ruta b{font-size:17.5px}
  .lesson-text{margin:22px 0}

  .aula-barra{display:block;position:fixed;left:0;right:0;bottom:0;z-index:35;background:var(--ink);color:#fff;border-top:1px solid #ffffff1f;box-shadow:0 -10px 30px #0a141799}
  /* El pie del iPhone come unos milímetros: la barra respeta su franja. */
  .aula-barra>summary{display:flex;align-items:center;gap:14px;padding:12px 5%;padding-bottom:max(12px,env(safe-area-inset-bottom));cursor:pointer;list-style:none;min-height:66px}
  .aula-barra>summary::-webkit-details-marker{display:none}
  .aula-barra-sitio{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
  .aula-barra-sitio small{color:var(--cyan);font-size:12px;font-weight:680;letter-spacing:1.1px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .aula-barra-sitio strong{font-size:18px;font-weight:645;letter-spacing:-.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .aula-barra-accion{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid #ffffff38;border-radius:999px;font-size:15px;font-weight:645;white-space:nowrap}
  .aula-barra-accion:after{content:'▲';font-size:10.5px;color:var(--cyan)}
  .aula-barra[open]>summary{border-bottom:1px solid #ffffff1f}
  .aula-barra[open] .aula-barra-accion:after{content:'▼'}

  /* El panel se despliega hacia arriba, como la barra de compra del curso. */
  .aula-barra-panel{position:absolute;left:0;right:0;bottom:100%;max-height:66vh;overflow:auto;overscroll-behavior:contain;padding:20px 5% 22px;background:#f4f8f9;color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -18px 40px #0a141733;-webkit-overflow-scrolling:touch}
  .aula-barra-cabecera h2{font-size:25px;letter-spacing:-.5px;margin:8px 0 14px;line-height:1.3}
  .aula-barra-cabecera .eyebrow{color:#0b9fbd}
  .aula-barra-cabecera progress{width:100%;height:6px;accent-color:#08b5d3;border:0;border-radius:4px;margin:10px 0 6px}
  .aula-barra-cabecera progress::-webkit-progress-bar{background:#dce6e9;border-radius:4px}
  .aula-barra-cabecera progress::-webkit-progress-value{background:#08b5d3;border-radius:4px}
  .aula-barra-cabecera .progress-label{display:flex;justify-content:space-between;font-size:15px}
  .aula-barra-nota{margin-top:4px;color:var(--muted);font-size:14px}
  .aula-barra-panel .classroom-modules{border-top:1px solid #dbe6e9;margin-top:16px;padding-top:16px;display:flex;flex-direction:column;gap:9px}
  .aula-barra-panel .classroom-module nav a{padding:12px 8px}
  .aula-barra-panel .classroom-progress-copy{margin-bottom:0}
}

/* Botón de dos líneas en la ficha del catálogo (17/09/2026): la acción arriba
   y, debajo, qué se está comprando. Sin caja aparte: es el mismo botón. */
.ac-ficha-acciones .ac-btn-doble{flex-direction:column;gap:2px;padding:8px 10px;line-height:1.2;text-align:center}
.ac-btn-doble small{font-size:11.5px;font-weight:680;letter-spacing:.85px;opacity:.72}
/* «Muy pronto» de la tienda: su página y el aviso flotante de sus botones. */
.tienda-pronto{display:flex;justify-content:center}
.tienda-pronto-panel{max-width:720px;padding:46px 40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-align:center}
.tienda-pronto-panel h2{margin:12px 0 14px;font-size:32px;letter-spacing:-1px;line-height:1.25}
.tienda-pronto-panel p{color:var(--muted);font-size:19px}
.tienda-pronto-panel .button-row{justify-content:center;margin-top:26px}





/* Mi aprendizaje: la tarjeta se pliega y en el teléfono van dos por fila. */
.enrollment-detalle{position:relative;z-index:1;margin-top:18px}
.enrollment-detalle>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid #ffffff2e;border-radius:8px;cursor:pointer;list-style:none;font-size:15px;color:#f2f7f8}
.enrollment-detalle>summary::-webkit-details-marker{display:none}
.enrollment-detalle>summary b{font-family:'Manrope',sans-serif;font-size:21px;color:var(--cyan)}
.enrollment-toggle:after{content:' ▾';font-size:12.5px}
.enrollment-detalle[open]>summary .enrollment-toggle:after{content:' ▴'}
.enrollment-detalle>summary:hover{border-color:#35cee980;background:#ffffff0f}
.enrollment-detalle .enrollment-progress{margin-top:16px}

/* ————— Pestañas del teléfono —————
   Hasta 900 px la marca, la cuenta y la bolsa quedan fijas en la primera fila
   y todas las pestañas van debajo, en una fila que se desliza con el dedo. Se
   desvanecen al llegar al borde, y solo por el lado donde queda contenido:
   --fundido-izq/--fundido-der los ajusta app.js según el desplazamiento (sin
   JavaScript, se desvanece solo el borde derecho, que es por donde siguen). */
@media(max-width:900px){
  .header{gap:14px;flex-wrap:wrap;height:auto;padding-bottom:0}
  .header-actions{order:2;margin-left:auto}
  body .header.header-fijo>nav{--fundido-izq:0px;--fundido-der:44px;order:3;display:flex;flex:0 0 100vw;flex-wrap:nowrap;justify-content:flex-start;gap:8px;height:auto;min-height:0;margin:0 calc((100% - 100vw) / 2);padding:4px calc((100vw - 100%) / 2) 12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:5%;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fundido-izq),#000 calc(100% - var(--fundido-der)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fundido-izq),#000 calc(100% - var(--fundido-der)),transparent 100%)}
  body .header.header-fijo>nav::-webkit-scrollbar{display:none}
  body .header.header-fijo>nav a{flex:none;display:inline-flex;align-items:center;min-height:36px;padding:0 15px;border:1px solid var(--line);border-radius:999px;font-size:16.5px;font-weight:680;white-space:nowrap;scroll-snap-align:start}
  body .header.header-fijo>nav a:after{display:none!important}
  body .header.header-fijo>nav a[aria-current]{border-color:var(--cyan);background:var(--cyan-light);color:var(--ink)}
  .tema-oscuro .header.header-fijo>nav a{background:#0d1f26b3;border-color:#35cee933;color:#f2f7f8}
  .tema-oscuro .header.header-fijo>nav a[aria-current]{background:#35cee91f;border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 14px -4px #35cee9b3,inset 0 0 10px #35cee91a}
}
@media(max-width:650px){
  .tienda-pronto-panel{padding:32px 22px}
  .tienda-pronto-panel h2{font-size:27.5px}
  
  /* Dos tarjetas por fila: el aprendizaje se recorre de un vistazo. */
  .enrollment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .enrollment-card{padding:16px 15px}
  .enrollment-card .eyebrow{font-size:12px;letter-spacing:.9px}
  .enrollment-card h3{font-size:21.5px;margin:12px 0;line-height:1.3}
  .enrollment-detalle{margin-top:12px}
  .enrollment-detalle>summary{padding:7px 9px;font-size:14.5px}
  .enrollment-detalle>summary b{font-size:20.5px}
  .enrollment-modules{font-size:16px}
}

/* ————— El aula del teléfono, en oscuro con la marca al fondo —————
   Estudiar de noche con una pantalla en blanco cansa: en móvil el aula pasa a
   fondo grafito y la marca HENRYIFIX queda detrás, desvanecida y fija, como
   una filigrana. No es una imagen: es el propio tipo de la marca, así que se
   ve nítida en cualquier densidad de pantalla y no pesa nada. Desde el 1 de
   octubre de 2026 sigue el modo elegido, como en PC: en claro no se aplica. */
@media(max-width:800px){
  body:not(.tema-claro) .classroom{position:relative;overflow:hidden;background:#0b1417;color:#e6f1f3}
  body:not(.tema-claro) .classroom:before{content:'HENRYIFIX';position:fixed;z-index:0;left:50%;top:46%;transform:translate(-50%,-50%) rotate(-14deg);font-family:'Manrope',sans-serif;font-size:27.5vw;font-weight:680;letter-spacing:-.06em;color:#fff;opacity:.045;white-space:nowrap;pointer-events:none}
  body:not(.tema-claro) .classroom>*{position:relative;z-index:1}
  body:not(.tema-claro) .lesson-head h1,body:not(.tema-claro) .lesson-ruta b{color:#fff}
  body:not(.tema-claro) .lesson-curso{color:#9fc9d1}
  body:not(.tema-claro) .lesson-ruta span{color:#9fc9d1}
  body:not(.tema-claro) .lesson-text{color:#f2f7f8}
  body:not(.tema-claro) .lesson-controls{border-top-color:#ffffff24}
  body:not(.tema-claro) .lesson-content .resource-card{border-color:#2b6470;background:#ffffff0d;color:#eaf7fa}
  body:not(.tema-claro) .lesson-content .resource-card small{color:#9fc9d1}
  body:not(.tema-claro) .lesson-content .btn.outline{border-color:#3d7e8c;color:#f2f7f8;background:transparent}
  body:not(.tema-claro) .lesson-content .text-link{color:#8fd8e6}
  body:not(.tema-claro) .lesson-content .empty h2{color:#fff}
  body:not(.tema-claro) .lesson-content .empty p,body:not(.tema-claro) .lesson-content .muted{color:#9fc9d1}
  body:not(.tema-claro) .lesson-content .notice{border-color:#2b6470;background:#ffffff0f;color:#eaf7fa}
  body:not(.tema-claro) .video-frame{box-shadow:0 18px 40px -22px #000}
}

/* El «Ver todos los cursos» del buscador: misma píldora que el botón de
   buscar, pero en hueco, para que no compita con la acción principal. Solo se
   pinta cuando una búsqueda dejó cursos fuera. */
.ac-buscador .ac-buscador-limpiar{background:transparent;border:1px solid #ffffff4d;color:#dffcff;font-weight:645}
.ac-buscador .ac-buscador-limpiar:hover{border-color:var(--cyan);background:#35cee91f;color:#fff}
.ac-buscador .ac-buscador-limpiar[hidden]{display:none}
@media(max-width:650px){
  .ac-buscador{flex-wrap:wrap;border-radius:22px;padding:10px 12px}
  .ac-buscador .ac-buscador-limpiar{order:3;width:100%;padding:9px 12px;font-size:15px}
}

/* Franja «qué incluye» de la portada: la misma de /cursos, en caja oscura de dos
   filas. En escritorio ocupa el hueco bajo «Explorar cursos»; en movil va justo
   despues del boton, a dos columnas mientras quepan. */
.ac-hero-datos.hero-datos{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px;margin:34px 0 0;padding:26px 28px;border:1px solid var(--ac-linea-clara);border-radius:14px;background:var(--ac-noche);color:#fff;box-shadow:var(--ac-sombra)}
@media(min-width:1100px){.ac-hero-datos.hero-datos{grid-column:1;grid-row:3;align-self:start;margin:0;max-width:620px}}
@media(max-width:650px){.ac-hero-datos.hero-datos{order:2;margin:26px 6% 0;padding:20px 18px;gap:18px 14px}.ac-hero-datos.hero-datos li{gap:10px}.ac-hero-datos.hero-datos strong{font-size:18px}.ac-hero-datos.hero-datos small{font-size:15px}}
@media(max-width:360px){.ac-hero-datos.hero-datos{grid-template-columns:minmax(0,1fr)}}
/* Foto de portada sobre un panel negro: el archivo ya trae los bordes fundidos a
   negro puro, asi que no se ve donde acaba. El panel llega al borde derecho y se
   abre hacia la izquierda con un degradado, sin esquinas de poster. */
.portrait{-webkit-mask-image:none;mask-image:none}
.hero{isolation:isolate}
.hero-visual{background:#000;overflow:visible}
.hero-visual::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;right:100%;width:190px;background:linear-gradient(to right,#0000 0,#00000014 22%,#00000047 45%,#0000008f 66%,#000000d6 85%,#000 100%)}
/* En pantallas mas anchas que la portada (1600 px), el negro sigue hasta el borde
   derecho. Es un border-image con outset: pinta fuera de la caja sin crear
   desplazamiento horizontal y arranca 4 px por debajo del panel, asi no queda
   costura de medio pixel entre los dos negros. */
@media(min-width:651px){.hero{border-image:linear-gradient(to right,#0000 calc(100% - 50vw - 4px),#000 0) 0 fill/0/0 50vw 0 0}}
.hero-visual .visual-index{color:#f2f7f8}
.hero-visual .vertical-label{color:#f2f7f8}
.portrait-caption,.portrait-caption:hover{color:#fff;text-shadow:0 1px 14px #000,0 1px 3px #000000d9}
.portrait-caption>span{color:#f2f7f8}
.portrait-caption p{color:#f2f7f8}
@media(max-width:650px){.hero-visual{margin:26px 0 0}.hero-visual::before{display:none}}

/* ===== Tema oscuro (fase 1: inicio, academia y pagina de curso) =====
   Decision del propietario, 30 de septiembre de 2026. La pagina lo activa con
   {% block body_clase %}. Redefine los tokens, asi que casi todo el sitio lo
   hereda; debajo solo se corrigen los colores escritos a mano. Un unico acento:
   el cian de la marca, con brillo solo en la accion principal y en el foco. */
.tema-oscuro{--ink:#f2f7f8;--muted:#b5c3c7;--paper:#05090b;--surface:#0b171c;--line:#ffffff1a;--cyan-light:#35cee91a;--ac-sombra:0 18px 46px #00000080;--neon-borde:#35cee92e;--neon-brillo:0 0 24px #35cee959;--cristal:#0d1f26a6;color:var(--ink);background:radial-gradient(1100px 620px at 85% -8%,#35cee912,transparent 62%),radial-gradient(900px 700px at -10% 40%,#102a3240,transparent 60%),var(--paper)}
.tema-oscuro ::selection{background:#35cee966;color:#fff}
.tema-oscuro :focus-visible{outline:2px solid var(--cyan);outline-offset:3px;box-shadow:var(--neon-brillo)}
/* Cabecera de cristal oscuro */
.tema-oscuro .header,.tema-oscuro .header-fijo{background:#05090bb8;border-bottom-color:#ffffff14}
.tema-oscuro .header-fijo:before{background:linear-gradient(180deg,#35cee90d,#0000)}
.tema-oscuro .header-fijo.is-scrolled{background:#05090be6;box-shadow:0 12px 30px -20px #000,0 1px 0 #35cee926}
.tema-oscuro .header-fijo nav a:hover:after{background:#35cee966}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.tema-oscuro .header-fijo{background:#05090b}}
/* Botones: el principal brilla; los demas son cristal con borde de neon */
.tema-oscuro .btn{background:#102a32;color:var(--ink);border-color:var(--neon-borde)}
.tema-oscuro .btn:hover{border-color:var(--cyan)}
.tema-oscuro .btn.primary{background:var(--cyan);color:#05090b;border-color:transparent;box-shadow:0 8px 26px -8px #35cee999}
.tema-oscuro .btn.primary:hover{box-shadow:var(--neon-brillo)}
.tema-oscuro .btn.light{background:#f2f7f8;color:#05090b}
.tema-oscuro .btn.outline{background:#0d1f2666;border-color:var(--neon-borde);color:var(--ink)}
/* Portada: negra de lado a lado, la foto ya se funde sola */
.tema-oscuro .hero{background:radial-gradient(760px 460px at 18% 8%,#35cee917,transparent 70%)}
.tema-oscuro .hero-video{background:#0b171c;box-shadow:0 18px 44px #000000a6,0 0 0 1px var(--neon-borde)}
.tema-oscuro .ac-hero-datos.hero-datos{background:var(--cristal);border-color:#35cee966;box-shadow:0 0 0 1px #35cee91f,0 0 36px #35cee93d,0 0 80px #3b82ff47;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@media(prefers-reduced-motion:reduce){.tema-oscuro *{transition:none!important}}
.tema-oscuro .announcement{background:#000;color:#f2f7f8;border-bottom:1px solid #ffffff0f}
/* En pantallas de mas de 1600 px el negro de la portada sigue a los dos lados
   (centro transparente para no tapar el brillo del fondo). */
.tema-oscuro .principles{background:#070d10;border-color:#ffffff14}
.tema-oscuro .principles b{color:var(--cyan)}
.tema-oscuro .contact-band{background:linear-gradient(135deg,#0d1f26,#08161b);color:var(--ink);border:1px solid var(--neon-borde);box-shadow:0 24px 60px -30px #35cee940}
/* Bloques que usaban --ink como fondo oscuro: con el tema invertido se fijan. */
.tema-oscuro .tech-studio,.tema-oscuro .academy-intro,.tema-oscuro .course-detail-top,.tema-oscuro .enrollment-card,.tema-oscuro .social-mark{background:#08161b}
.tema-oscuro .bag-link span{background:var(--cyan);color:#05090b}
.tema-oscuro .ac-tab-radio:checked~.ac-tab{background:var(--cyan);color:#05090b}
.tema-oscuro .ac-modulo[open] summary{background:#102a32}
.tema-oscuro .path-number{color:#35cee912}
/* Paneles tecnicos de la academia y del curso: cristal oscuro con rejilla cian. */
.tema-oscuro{--ac-cian-fuerte:var(--cyan)}
.tema-oscuro .ac-tech-panel,.tema-oscuro .ac-curso-diagrama{background:linear-gradient(120deg,#0d1f26,#08161b);border-color:var(--neon-borde);box-shadow:0 24px 60px -34px #35cee94d}
.tema-oscuro .ac-tech-panel:before{background-image:linear-gradient(90deg,#35cee914 1px,transparent 1px),linear-gradient(#35cee914 1px,transparent 1px)}
.tema-oscuro .ac-curso-diagrama li{background:#102a32a6;border-color:var(--neon-borde)}
/* Selectores de modulo, precio y portada de curso sobre fondo oscuro. Las
   casillas siguen blancas: sobre negro es lo que mejor se ve marcado o no. */
.tema-oscuro .course-cover{background:#102a32}
.tema-oscuro .ac-tech-line:after,.tema-oscuro .ac-tech-nodos i{background:#05090b;border-color:var(--cyan)}
.tema-oscuro .ac-precio-calculado{background:#35cee914;border-color:var(--neon-borde);color:var(--ink)}
.tema-oscuro .ac-modulo-selector,.tema-oscuro .ac-programa .ac-modulo-selector,.tema-oscuro .ac-programa .ac-modulo-en-canasta,.tema-oscuro .ac-modulo-marca{background:#0d1f26;border-color:var(--neon-borde);color:var(--cyan)}
.tema-oscuro .ac-modulo-adquirido,.tema-oscuro .ac-programa .ac-modulo-adquirido{background:#4fe39b1a;border-color:#4fe39b59;color:#4fe39b}
.tema-oscuro .badge{background:#ffffff14;color:#f2f7f8}
.tema-oscuro .body-copy{color:var(--muted)}
.tema-oscuro .hero h1>span,.tema-oscuro .hero-footnote>span{color:var(--cyan)}
.tema-oscuro .path-card p{color:var(--muted)}/* Sin esto, el rebote del desplazamiento en iPhone asoma el blanco de <html>. */
html:has(>body.tema-oscuro){background:#05090b;color-scheme:dark}

/* ===== Tema oscuro, fase 2: resto de paginas publicas (el panel sigue claro) ===== */
.tema-oscuro .about-intro h1>span,.tema-oscuro .contact-copy h1 span,.tema-oscuro .about-steps>div>span,.tema-oscuro .resource-card>span{color:var(--cyan)}
.tema-oscuro .about-card p,.tema-oscuro .about-split p,.tema-oscuro .about-steps p{color:var(--muted)}
/* Campos de formulario oscuros con foco cian. Los estados de error conservan
   su borde rojo; las casillas propias siguen con sus reglas. */
.tema-oscuro .field input,.tema-oscuro .field textarea,.tema-oscuro .field select,.tema-oscuro .filter-bar input,.tema-oscuro .filter-bar select,.tema-oscuro .quantity-form input,.tema-oscuro .buy-form input{background:#0b171c;border-color:#ffffff24;color:var(--ink)}
.tema-oscuro .field input:focus,.tema-oscuro .field textarea:focus,.tema-oscuro .field select:focus,.tema-oscuro .filter-bar input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #35cee926}
.tema-oscuro ::placeholder{color:#f2f7f8}
.tema-oscuro input:disabled{background:#0b171c;color:var(--muted)}
.tema-oscuro .field .is-invalid{background:#3a0f0f!important;border-color:#e06a6a!important}
.tema-oscuro .password-toggle:hover{background:#102a32;color:var(--ink)}
/* Panel «Aprender. Crear. Resolver.» del acceso y el registro */
.tema-oscuro .auth-story{background:radial-gradient(520px 380px at 80% 10%,#35cee91f,transparent 70%),linear-gradient(150deg,#0d1f26,#08161b);border:1px solid var(--neon-borde)}
.tema-oscuro .auth-story h1 span{color:var(--cyan)}
.tema-oscuro .auth-story p{color:var(--muted)}
.tema-oscuro .auth-story img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}
/* Piezas genericas: paneles, avisos, estados de pedido y botones secundarios */
.tema-oscuro .panel{background:#08161b;border-color:var(--neon-borde)}
.tema-oscuro .notice{background:#35cee914;border-left-color:var(--cyan);color:var(--ink)}
.tema-oscuro .notice.error{background:#e06a6a1a;border-color:#e06a6a}
.tema-oscuro .notice.success{background:#4fe39b14;border-color:#4fe39b}
.tema-oscuro .btn.danger{background:#e06a6a1f;color:#ff9b9b;border-color:#e06a6a59}
.tema-oscuro .add-button,.tema-oscuro .image-badge{background:#0d1f26;color:var(--ink)}
.tema-oscuro .social-list a:hover{background:#102a32}
.tema-oscuro .status-APPROVED{background:#4fe39b1f;color:#4fe39b}
.tema-oscuro .status-CANCELLED,.tema-oscuro .status-DECLINED,.tema-oscuro .status-ERROR,.tema-oscuro .status-REVIEW{background:#e06a6a1f;color:#ff9b9b}
.tema-oscuro .status-PENDING{background:#f3c14b1f;color:#f3c14b}
.tema-oscuro .status-REFUNDED{background:#9ea3ff1f;color:#b9bcff}
/* Aula en oscuro tambien en escritorio: mismas reglas que el aula del telefono
   (sin la filigrana, que en pantalla ancha competiria con la leccion). */
.tema-oscuro .classroom{background:#0b1417;color:#e6f1f3}
.tema-oscuro .classroom-top{background:#05090b;color:var(--ink);border-bottom:1px solid #ffffff14}
.tema-oscuro .lesson-sidebar{background:#08161b;border-color:#ffffff14}
.tema-oscuro .lesson-sidebar progress::-webkit-progress-bar{background:#ffffff1f}
.tema-oscuro .classroom-modules,.tema-oscuro .aula-barra-panel .classroom-modules{border-top-color:#ffffff1a}
.tema-oscuro .classroom-module{background:#0d1f26;border-color:var(--neon-borde)}
.tema-oscuro .classroom-module nav a:hover{background:#102a32}
.tema-oscuro .classroom-module nav a.selected,.tema-oscuro .lesson-sidebar nav a.selected{background:#35cee91f;color:var(--cyan);box-shadow:none}
.tema-oscuro .classroom-module nav a.selected .lesson-check,.tema-oscuro .classroom-module .lesson-check,.tema-oscuro .classroom-module-meta small{color:var(--cyan)}
.tema-oscuro .classroom-module nav a em,.tema-oscuro .classroom-module nav a small,.tema-oscuro .classroom-module-meta,.tema-oscuro .classroom-module-aviso,.tema-oscuro .classroom-module summary:after{color:#f2f7f8}
.tema-oscuro .classroom-module-pendiente summary strong{color:#f2f7f8}
/* La barra del aula pinta su fondo con --ink, que en oscuro es el color del texto: se fija oscura. */
.tema-oscuro .aula-barra{background:#05090b;color:#f2f7f8;border-top-color:var(--neon-borde)}
.tema-oscuro .aula-barra-panel{background:#08161b;color:var(--ink);border-top-color:var(--neon-borde)}
.tema-oscuro .lesson-head h1,.tema-oscuro .lesson-ruta b{color:#fff}
.tema-oscuro .lesson-curso,.tema-oscuro .lesson-ruta span{color:#9fc9d1}
.tema-oscuro .lesson-text{color:#f2f7f8}
.tema-oscuro .lesson-controls{border-top-color:#ffffff24}
.tema-oscuro .lesson-content .resource-card{border-color:#2b6470;background:#ffffff0d;color:#eaf7fa}
.tema-oscuro .lesson-content .resource-card small,.tema-oscuro .lesson-content .muted,.tema-oscuro .lesson-content .empty p{color:#9fc9d1}
.tema-oscuro .lesson-content .btn.outline{border-color:#3d7e8c;color:#f2f7f8;background:transparent}
.tema-oscuro .lesson-content .text-link{color:#8fd8e6}
.tema-oscuro .lesson-content .empty h2{color:#fff}
.tema-oscuro .lesson-content .notice{border-color:#2b6470;background:#ffffff0f;color:#eaf7fa}
.tema-oscuro .legal-copy p{color:var(--muted)}
.tema-oscuro .legal-copy .text-link{color:var(--cyan)}

/* ===== Capa futurista: atmosfera, tarjetas con retroiluminacion y botones de laboratorio =====
   Decision del propietario, 30 de septiembre de 2026: «Cyberpunk / Apple Lab».
   Todo es CSS propio (y una mejora progresiva en app.js): sin librerias ni CDN,
   compatible con la CSP. Con «reducir movimiento» no se anima nada. */
@property --hx-ang{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes hx-giro{to{--hx-ang:360deg}}
@keyframes hx-latido{0%,100%{box-shadow:inset 0 0 0 1px #35cee999,0 0 0 1px #35cee94d,0 0 24px -4px #35cee966,0 0 70px -14px #3b82ff59,0 26px 50px -24px #000}50%{box-shadow:inset 0 0 0 1px #35cee9cc,0 0 0 1px #35cee973,0 0 34px -2px #35cee98c,0 0 96px -10px #3b82ff73,0 26px 50px -24px #000}}
@keyframes hx-pulso{0%,100%{filter:drop-shadow(0 0 10px #35cee999) drop-shadow(0 0 24px #3b82ff4d)}50%{filter:drop-shadow(0 0 16px #35cee9d9) drop-shadow(0 0 38px #3b82ff80)}}
@keyframes hx-destello{from{background-position:160% 0}to{background-position:-60% 0}}
@keyframes hx-parpadeo{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes hx-led{0%,100%{box-shadow:0 0 0 0 #4fe39b99}50%{box-shadow:0 0 0 5px #4fe39b00}}
@keyframes hx-flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes hx-entrada{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Atmosfera: reticula geometrica + circuitos con pulsos de luz, fijos detras de
   todo y desvanecidos hacia abajo para no competir con el texto. El body es
   contexto de apilamiento: la capa queda sobre su fondo y bajo el contenido.
   Los pulsos viven dentro del SVG (un mosaico de 260 px), no en una animacion
   de pantalla completa, que es lo que cuesta en un movil. */
body.tema-oscuro{position:relative;isolation:isolate}
body.tema-oscuro:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' fill='none'%3E%3Cg stroke='%2335cee9' stroke-opacity='.22' stroke-width='1.1'%3E%3Cpath d='M0 40H70L90 60H160L180 40H260'/%3E%3Cpath d='M40 0V90L60 110V260'/%3E%3Cpath d='M260 150H200L180 170H120L100 190V260'/%3E%3Cpath d='M130 0V30L150 50H220V100'/%3E%3Cpath d='M0 210H50L70 230H90'/%3E%3Ccircle cx='90' cy='60' r='3'/%3E%3Ccircle cx='160' cy='60' r='3'/%3E%3Ccircle cx='60' cy='110' r='3'/%3E%3Ccircle cx='220' cy='100' r='3'/%3E%3Ccircle cx='90' cy='230' r='3'/%3E%3Ccircle cx='120' cy='170' r='3'/%3E%3Ccircle cx='180' cy='40' r='3'/%3E%3C/g%3E%3Cg stroke='%23bff6ff' stroke-opacity='.5' stroke-width='1.6' stroke-linecap='round' stroke-dasharray='16 400'%3E%3Cpath d='M0 40H70L90 60H160L180 40H260' stroke-dashoffset='416'%3E%3Canimate attributeName='stroke-dashoffset' from='416' to='0' dur='7s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M40 0V90L60 110V260' stroke-dashoffset='416'%3E%3Canimate attributeName='stroke-dashoffset' from='416' to='0' dur='9s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M260 150H200L180 170H120L100 190V260' stroke-dashoffset='416'%3E%3Canimate attributeName='stroke-dashoffset' from='416' to='0' dur='11s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M130 0V30L150 50H220V100' stroke-dashoffset='416'%3E%3Canimate attributeName='stroke-dashoffset' from='416' to='0' dur='8s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M0 210H50L70 230H90' stroke-dashoffset='416'%3E%3Canimate attributeName='stroke-dashoffset' from='416' to='0' dur='6s' repeatCount='indefinite'/%3E%3C/path%3E%3C/g%3E%3C/svg%3E"),linear-gradient(#35cee90a 1px,transparent 1px),linear-gradient(90deg,#35cee90a 1px,transparent 1px);background-size:260px 260px,44px 44px,44px 44px;-webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,#0009 60%,#0003 100%);mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,#0009 60%,#0003 100%);opacity:.4}
/* «backwards», no «both»: si la animacion se queda aplicada, el transform
   convierte <main> en contenedor de lo fijo y las barras del pie dejan de seguir la pantalla. */
.tema-oscuro main{animation:hx-entrada .7s cubic-bezier(.2,.8,.2,1) backwards}

/* Tarjetas: borde de neon sutil en reposo; al pasar el cursor, retroiluminacion
   que sale desde atras, un anillo de luz que recorre el borde y un foco de cristal
   que sigue al cursor (--mx/--my los pone app.js; sin JS queda arriba al centro). */
.tema-oscuro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li){position:relative;isolation:isolate;background-color:#0f252d;background-image:linear-gradient(180deg,#35cee91a 0,#35cee900 38%),linear-gradient(150deg,#16333d,#0f252d 55%,#0c1d23);box-shadow:inset 0 0 0 1px #35cee947,inset 0 1px 0 #7fe6f540,0 18px 40px -20px #000000d9;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,background-color .5s}
.tema-oscuro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),#35cee92e,transparent 55%);opacity:0;transition:opacity .45s}
.tema-oscuro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;padding:1px;background:conic-gradient(from var(--hx-ang),#35cee900 0deg,#35cee900 190deg,#35cee9 270deg,#e8fdff 300deg,#3b82ff 325deg,#35cee900 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .45s}
.tema-oscuro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):is(:hover,:has(:focus-visible)):not(.hx-sin-hover){transform:translateY(-6px);background-color:#133039;box-shadow:inset 0 0 0 1px #35cee999,0 0 0 1px #35cee94d,0 0 24px -4px #35cee966,0 0 70px -14px #3b82ff59,0 26px 50px -24px #000;animation:hx-latido 2.6s ease-in-out .5s infinite}
.tema-oscuro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):is(:hover,:has(:focus-visible)):not(.hx-sin-hover):before{opacity:1}
.tema-oscuro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):is(:hover,:has(:focus-visible)):not(.hx-sin-hover):after{opacity:1;animation:hx-giro 3.4s linear infinite}
/* Los modulos del temario solo se iluminan: elevarlos haria saltar el acordeon */
.tema-oscuro .ac-modulo{transition:box-shadow .4s,border-color .4s}
.tema-oscuro .ac-modulo:hover{border-color:#35cee980;box-shadow:0 0 0 1px #35cee940,0 0 26px -6px #35cee966}

/* Boton principal de laboratorio: esquinas cortadas, brillo interno, halo de
   neon que late y un destello que cruza al pasar el cursor. El fondo va en
   ::before recortado; el halo es un drop-shadow del boton, que sigue el corte. */
.tema-oscuro .btn.primary{--corte:11px;position:relative;isolation:isolate;overflow:visible;background:transparent;border-color:transparent;border-radius:0;color:#021016;letter-spacing:.4px;box-shadow:none;filter:drop-shadow(0 0 8px #35cee980) drop-shadow(0 0 18px #3b82ff33);transition:filter .35s,transform .25s}
.tema-oscuro .btn.primary:before,.tema-oscuro .btn.primary:after{content:"";position:absolute;inset:0;z-index:-1;clip-path:polygon(var(--corte) 0,100% 0,100% calc(100% - var(--corte)),calc(100% - var(--corte)) 100%,0 100%,0 var(--corte))}
.tema-oscuro .btn.primary:before{background:linear-gradient(180deg,#8cecfa 0%,#35cee9 46%,#12a3c2 100%);box-shadow:inset 0 1px 0 #ffffffcc,inset 0 0 16px #ffffff59,inset 0 -6px 14px #0a6f8740}
.tema-oscuro .btn.primary:after{background:linear-gradient(105deg,transparent 35%,#ffffffd9 50%,transparent 65%) no-repeat;background-size:250% 100%;background-position:160% 0;mix-blend-mode:soft-light}
.tema-oscuro .btn.primary:hover,.tema-oscuro .btn.primary:focus-visible{background:transparent;box-shadow:none;transform:translateY(-1px);animation:hx-pulso 1.8s ease-in-out infinite}
.tema-oscuro .btn.primary:hover:after,.tema-oscuro .btn.primary:focus-visible:after{animation:hx-destello .9s cubic-bezier(.3,.7,.3,1)}
.tema-oscuro .btn.primary:active{transform:translateY(1px) scale(.99)}
/* Botones secundarios: cristal con borde de neon que se enciende */
.tema-oscuro .btn:not(.primary):not(.light):not(.danger):not(.ac-btn-aula){background:linear-gradient(180deg,#123039cc,#0b1b21cc);border-color:#35cee947;box-shadow:inset 0 1px 0 #ffffff14;transition:border-color .3s,box-shadow .3s,transform .25s}
.tema-oscuro .btn:not(.primary):not(.light):not(.danger):not(.ac-btn-aula):hover{border-color:var(--cyan);color:#fff;box-shadow:inset 0 1px 0 #ffffff1f,0 0 0 1px #35cee94d,0 0 22px -4px #35cee980}

/* Indicadores tipo terminal y etiquetas flotantes */
.hud-estado{display:inline-flex;align-items:center;gap:9px;padding:6px 12px;border:1px solid #35cee93d;border-radius:4px;background:#05090bb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#9fe9f6;font:600 10.5px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:1.4px;text-transform:uppercase;box-shadow:0 0 18px -6px #35cee980}
.hud-led{width:7px;height:7px;border-radius:50%;background:#4fe39b;animation:hx-led 2s ease-out infinite}
.hud-cursor{color:var(--cyan);animation:hx-parpadeo 1.1s steps(1) infinite}
.hud-etiqueta{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #35cee957;border-radius:3px;background:#08161bcc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#dff7fb;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:1.3px;text-transform:uppercase;box-shadow:0 0 0 1px #35cee91a,0 0 22px -6px #35cee9a6;animation:hx-flotar 6s ease-in-out infinite;pointer-events:none}
.hud-etiqueta i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}

/* Apariciones al desplazar: solo si app.js marco la pagina (sin JS todo se ve) */
.hx-revelar .hx-oculto{opacity:0;transform:translateY(26px)}
.hx-revelar .hx-oculto,.hx-revelar .hx-visible{transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),box-shadow .5s,background-color .5s}

@media(hover:none){.tema-oscuro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):is(:hover,:has(:focus-visible)):not(.hx-sin-hover){transform:none;animation:none}}
@media(prefers-reduced-motion:reduce){
  body.tema-oscuro:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' fill='none'%3E%3Cg stroke='%2335cee9' stroke-opacity='.22' stroke-width='1.1'%3E%3Cpath d='M0 40H70L90 60H160L180 40H260'/%3E%3Cpath d='M40 0V90L60 110V260'/%3E%3Cpath d='M260 150H200L180 170H120L100 190V260'/%3E%3Cpath d='M130 0V30L150 50H220V100'/%3E%3Cpath d='M0 210H50L70 230H90'/%3E%3Ccircle cx='90' cy='60' r='3'/%3E%3Ccircle cx='160' cy='60' r='3'/%3E%3Ccircle cx='60' cy='110' r='3'/%3E%3Ccircle cx='220' cy='100' r='3'/%3E%3Ccircle cx='90' cy='230' r='3'/%3E%3Ccircle cx='120' cy='170' r='3'/%3E%3Ccircle cx='180' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(#35cee90a 1px,transparent 1px),linear-gradient(90deg,#35cee90a 1px,transparent 1px)}
  .tema-oscuro main,.tema-oscuro .btn.primary,.tema-oscuro .btn.primary:after,.hud-led,.hud-cursor,.hud-etiqueta,.tema-oscuro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li),.tema-oscuro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):after{animation:none!important}
  .hx-revelar .hx-oculto{opacity:1;transform:none}
}
/* Posicion de los indicadores sobre las fotos de las portadas */
.hud-portada{position:absolute;z-index:4;top:18px;left:18px}
.hero-visual .hud-etiqueta-a{left:4%;top:46%}
.hero-visual .hud-etiqueta-b{right:8%;top:64%;animation-delay:-3s}
.hud-academia{position:absolute;z-index:4;top:6%;left:0}
.ac-hero-figura .hud-etiqueta-a{left:-6%;top:40%}
.ac-hero-figura .hud-etiqueta-b{right:-2%;top:58%;animation-delay:-3s}
@media(max-width:650px){.hud-portada{top:-17px;left:12px;font-size:12.5px;padding:3px 9px}.hero-visual .hud-etiqueta-a{left:4%;top:40%}.hero-visual .hud-etiqueta-b,.ac-hero-figura .hud-etiqueta-b{display:none}.ac-hero-figura .hud-etiqueta-a{left:0}}

/* Cinta animada (inicio y academia): banda de cristal oscuro entre secciones,
   con lineas de neon arriba y abajo, textos en Manrope negrita y rombos que
   brillan como separador. Se detiene al pasar el cursor o al enfocar un enlace;
   con «reducir movimiento» queda quieta y centrada. */
@keyframes hx-cinta{to{transform:translateX(-50%)}}
.hx-cinta{position:relative;overflow:hidden;padding:20px 0;background:linear-gradient(90deg,#05090b,#0b1c22 50%,#05090b);border-block:1px solid #35cee94d;box-shadow:inset 0 1px 0 #35cee91f,inset 0 -1px 0 #35cee91f,0 0 34px -14px #35cee999;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.hx-cinta:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,#35cee912 50%,transparent),repeating-linear-gradient(90deg,#35cee90a 0 1px,transparent 1px 44px)}
.hx-cinta-pista{display:flex;width:max-content;animation:hx-cinta 160s linear infinite}
.hx-cinta:hover .hx-cinta-pista,.hx-cinta:focus-within .hx-cinta-pista{animation-play-state:paused}
.hx-cinta-grupo{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.hx-cinta li{display:flex;align-items:center;gap:30px;padding-right:30px;font-family:'Manrope',sans-serif;font-size:22.5px;font-weight:680;line-height:1;letter-spacing:2.4px;text-transform:uppercase;white-space:nowrap;color:#eaf8fb}
.hx-cinta li:before{content:"";flex:none;width:8px;height:8px;transform:rotate(45deg);background:var(--cyan);box-shadow:0 0 10px var(--cyan),0 0 22px #35cee980}
.hx-cinta li:nth-child(even){color:var(--cyan);text-shadow:0 0 18px #35cee966}
.hx-cinta a{color:inherit;transition:color .25s,text-shadow .25s}
.hx-cinta a:hover,.hx-cinta a:focus-visible{color:#fff;text-shadow:0 0 14px var(--cyan),0 0 30px #3b82ff80}
@media(max-width:650px){.hx-cinta{padding:15px 0}.hx-cinta li{gap:20px;padding-right:20px;font-size:19.5px;letter-spacing:1.8px}.hx-cinta-pista{animation-duration:130s}}
@media(prefers-reduced-motion:reduce){.hx-cinta{-webkit-mask-image:none;mask-image:none}.hx-cinta-pista{width:auto;animation:none}.hx-cinta-grupo{flex-wrap:wrap;justify-content:center;row-gap:14px;width:100%}.hx-cinta-grupo[aria-hidden],.hx-cinta li[aria-hidden]{display:none}}
/* La cinta del inicio: en escritorio entre la portada y el bloque tecnico; en
   el telefono, dentro de la portada y pegada encima del video. */
.hx-cinta-movil{display:none}
@media(max-width:650px){.hx-cinta-escritorio{display:none}.hero>.hx-cinta-movil{display:block;order:6;margin-top:30px}.hero-con-video .hero-video{order:7;margin-top:0}}

/* Lo ya pagado conserva su verde (--verde-aula), tambien en el tema oscuro:
   mismo lenguaje de laboratorio que el boton principal, pero en verde, para que
   nunca se confunda con una accion de compra. El texto verde se aclara para
   leerse sobre negro. */
.tema-oscuro .btn.ac-btn-aula{background:linear-gradient(180deg,#1fb866,var(--verde-aula) 55%,var(--verde-aula-fuerte));border-color:#4fe39b8c;color:#fff;box-shadow:inset 0 1px 0 #ffffff59,inset 0 0 12px #ffffff1f,0 0 16px -4px #4fe39b99;transition:box-shadow .3s,transform .25s,border-color .3s}
.tema-oscuro .btn.ac-btn-aula:hover{background:linear-gradient(180deg,#27c872,#149a53 55%,var(--verde-aula));border-color:#4fe39b;color:#fff;transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff66,inset 0 0 14px #ffffff26,0 0 0 1px #4fe39b59,0 0 26px -2px #4fe39bb3}
.tema-oscuro .ac-adquirido{color:#4fe39b}
/* Tarjetas del catalogo: cada modulo y el titulo llevan al temario del curso.
   El enlace del modulo se estira sobre toda la fila con ::after, asi la fila
   entera responde sin cambiar su maquetacion. */
.ac-ficha-modulos li{position:relative;border-radius:6px;transition:background .25s}
.ac-ficha-modulo-enlace{color:inherit}
.ac-ficha-modulo-enlace:after{content:"";position:absolute;inset:0;border-radius:inherit}
.ac-ficha-modulos li:hover{background:#35cee912}
.ac-ficha-modulos li:hover .ac-ficha-modulo-enlace,.ac-ficha-modulo-enlace:focus-visible{color:var(--cyan)}
.ac-ficha h3 a:hover{color:var(--cyan)}
/* Al llegar desde una tarjeta, el modulo se abre (app.js), queda por debajo de
   la cabecera fija y se ilumina un momento para que se vea a cual se llego. */
.ac-modulo,#programa{scroll-margin-top:130px}
@keyframes hx-destino{0%,100%{box-shadow:0 0 0 1px #35cee900}30%{box-shadow:0 0 0 1px var(--cyan),0 0 34px -4px #35cee9b3}}
.ac-modulo:target{border-color:var(--cyan);animation:hx-destino 2.4s ease-out 1}
@media(prefers-reduced-motion:reduce){.ac-modulo:target{animation:none}}
/* Que se note que se puede pulsar: al pasar el cursor, cada modulo enciende una
   barra de neon a la izquierda, su texto se desplaza en cian y aparece una
   flecha; el titulo se subraya con una linea cian que crece. En pantallas
   tactiles (sin hover) las flechas estan siempre a la vista y el toque da
   respuesta inmediata con :active. */
.ac-ficha-modulos li{padding-left:0;padding-right:34px;transition:background .25s,padding-left .3s cubic-bezier(.2,.8,.2,1)}
.ac-ficha-modulos li:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:2px;border-radius:2px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);transform:scaleY(0);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ac-ficha-modulos li>small{transition:color .25s}
.ac-ficha-modulos li .ac-ficha-modulo-enlace{position:static;transition:color .25s,text-shadow .25s}
.ac-ficha-modulos li .ac-ficha-modulo-enlace:before{content:"";width:18px;height:18px;background:var(--cyan);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9 12 4.5 21.5 9 12 13.5z'/%3E%3Cpath d='M6.5 11.2v4.3c0 1.5 2.5 3 5.5 3s5.5-1.5 5.5-3v-4.3M21.5 9v5.2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9 12 4.5 21.5 9 12 13.5z'/%3E%3Cpath d='M6.5 11.2v4.3c0 1.5 2.5 3 5.5 3s5.5-1.5 5.5-3v-4.3M21.5 9v5.2'/%3E%3C/svg%3E") center/contain no-repeat;position:absolute;right:10px;top:50%;color:var(--cyan);font-size:19px;font-weight:680;opacity:0;transform:translate(-8px,-50%);transition:opacity .25s,transform .3s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.ac-ficha-modulos li:is(:hover,:focus-within,:active){padding-left:12px;background:#35cee914}
.ac-ficha-modulos li:is(:hover,:focus-within,:active):before{transform:scaleY(1)}
.ac-ficha-modulos li:is(:hover,:focus-within,:active) .ac-ficha-modulo-enlace{color:var(--cyan);text-shadow:0 0 12px #35cee966}
.ac-ficha-modulos li:is(:hover,:focus-within,:active) .ac-ficha-modulo-enlace:before{opacity:1;transform:translate(0,-50%)}
.ac-ficha-modulos li:is(:hover,:focus-within,:active)>small{color:#bfe9f1}
.ac-ficha h3 a{background:linear-gradient(90deg,var(--cyan),#3b82ff) no-repeat 0 100%/0 2px;padding-bottom:3px;transition:color .25s,background-size .35s cubic-bezier(.2,.8,.2,1)}
.ac-ficha h3 a:after{content:"";display:inline-block;width:.9em;height:.9em;margin-left:.3em;vertical-align:-.1em;background:var(--cyan);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9 12 4.5 21.5 9 12 13.5z'/%3E%3Cpath d='M6.5 11.2v4.3c0 1.5 2.5 3 5.5 3s5.5-1.5 5.5-3v-4.3M21.5 9v5.2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9 12 4.5 21.5 9 12 13.5z'/%3E%3Cpath d='M6.5 11.2v4.3c0 1.5 2.5 3 5.5 3s5.5-1.5 5.5-3v-4.3M21.5 9v5.2'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .3s}
.ac-ficha h3 a:is(:hover,:focus-visible,:active){color:var(--cyan);background-size:100% 2px}
.ac-ficha h3 a:is(:hover,:focus-visible,:active):after{opacity:1;transform:none}
@media(hover:none){
  .ac-ficha-modulos li .ac-ficha-modulo-enlace:before{opacity:.6;transform:translate(0,-50%)}
  .ac-ficha h3 a:after{opacity:.7;transform:none}
  .ac-ficha h3 a{background-size:28px 2px}
}
@media(prefers-reduced-motion:reduce){.ac-ficha-modulos li,.ac-ficha-modulos li:before,.ac-ficha-modulo-enlace:before,.ac-ficha h3 a,.ac-ficha h3 a:after{transition:none}}

/* ===== Selector de tema y modo claro (decision del propietario, 30 de septiembre de 2026) =====
   El boton vive junto a la cuenta y la bolsa, y solo existe en las paginas con
   tema oscuro. static/js/tema.js cambia body.tema-oscuro por body.tema-claro y
   guarda la eleccion en localStorage. Sin .tema-oscuro el sitio vuelve a su
   diseno claro de siempre; este bloque le suma la capa de laboratorio en claro:
   gris espacial, cristal blanco, bordes cian profundo y luz en vez de neon. */
.tema-toggle{display:inline-flex;align-items:center;padding:0;border:0;background:none;color:inherit;border-radius:999px}
.tema-toggle[hidden]{display:none}
.tema-toggle-pista{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;width:58px;height:30px;padding:0 4px;border-radius:999px;background:linear-gradient(90deg,#05090b 0 50%,#f4f7f8 50% 100%);box-shadow:inset 0 0 0 1px #35cee959,0 0 14px -6px #35cee9b3;overflow:hidden}
.tema-toggle svg{position:relative;z-index:1;justify-self:center;width:14px;height:14px;transition:color .35s,transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s}
.tema-luna{color:#35cee9}.tema-sol{color:#0b8aa3;opacity:.55}
.tema-toggle-perilla{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;border:1.5px solid #35cee9;box-shadow:0 0 10px #35cee9a6,inset 0 0 8px #35cee940;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
.tema-toggle:hover .tema-toggle-pista{box-shadow:inset 0 0 0 1px #35cee9,0 0 18px -4px #35cee9cc}
.tema-toggle:hover svg{transform:rotate(-14deg)}
.tema-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.tema-claro .tema-luna{opacity:.55}.tema-claro .tema-sol{opacity:1}
.tema-claro .tema-toggle-perilla{transform:translateX(28px);border-color:#0b8aa3;box-shadow:0 2px 8px #0b8aa340,inset 0 0 6px #35cee933}
.tema-claro .tema-toggle-pista{box-shadow:inset 0 0 0 1px #0b8aa352,0 4px 12px -6px #0d262d40}
@media(max-width:650px){.tema-toggle-pista{width:50px;height:26px;padding:0 3px}.tema-toggle svg{width:12px;height:12px}.tema-toggle-perilla{width:20px;height:20px}.tema-claro .tema-toggle-perilla{transform:translateX(24px)}}

/* Cambio suave: con View Transitions el navegador funde la pagina entera; sin
   ellas, la clase temporal anima colores, bordes y sombras de todo. */
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s;animation-timing-function:ease}
.tema-transicion,.tema-transicion *,.tema-transicion *:before,.tema-transicion *:after{transition:background-color .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease,fill .45s ease,stroke .45s ease!important}

/* Atmosfera clara: gris espacial con un halo cian y la misma reticula en cian profundo */
.tema-claro{--paper:#f6f8f9;--surface:#eef2f3;--line:#d9e2e4;--cyan-light:#e3f7fb;--ac-cian-fuerte:#007f96;color:var(--ink);background:radial-gradient(1100px 620px at 85% -8%,#35cee91f,transparent 62%),radial-gradient(900px 700px at -10% 40%,#e6f3f6,transparent 60%),linear-gradient(180deg,#fdfefe,#f3f6f7 70%)}
.tema-claro ::selection{background:#35cee94d;color:var(--ink)}
body.tema-claro{position:relative;isolation:isolate}
body.tema-claro:before{opacity:.45!important}
/* La portada clara traia un degradado opaco que tapaba los circuitos: queda solo su halo */
.tema-claro .hero{background:radial-gradient(900px 460px at 20% 6%,#d8f6fb70,transparent 70%)}
body.tema-claro:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' fill='none'%3E%3Cg stroke='%23078aa3' stroke-opacity='.34' stroke-width='1.1'%3E%3Cpath d='M0 40H70L90 60H160L180 40H260'/%3E%3Cpath d='M40 0V90L60 110V260'/%3E%3Cpath d='M260 150H200L180 170H120L100 190V260'/%3E%3Cpath d='M130 0V30L150 50H220V100'/%3E%3Cpath d='M0 210H50L70 230H90'/%3E%3Ccircle cx='90' cy='60' r='3'/%3E%3Ccircle cx='160' cy='60' r='3'/%3E%3Ccircle cx='60' cy='110' r='3'/%3E%3Ccircle cx='220' cy='100' r='3'/%3E%3Ccircle cx='90' cy='230' r='3'/%3E%3Ccircle cx='120' cy='170' r='3'/%3E%3Ccircle cx='180' cy='40' r='3'/%3E%3C/g%3E%3Cg stroke='%23009fbe' stroke-opacity='.5' stroke-width='2' stroke-linecap='round' stroke-dasharray='16 400'%3E%3Cpath d='M0 40H70L90 60H160L180 40H260' stroke-dashoffset='416'%3E%3Canimate attributeName='stroke-dashoffset' from='416' to='0' dur='7s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M40 0V90L60 110V260' stroke-dashoffset='416'%3E%3Canimate attributeName='stroke-dashoffset' from='416' to='0' dur='9s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M260 150H200L180 170H120L100 190V260' stroke-dashoffset='416'%3E%3Canimate attributeName='stroke-dashoffset' from='416' to='0' dur='11s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M130 0V30L150 50H220V100' stroke-dashoffset='416'%3E%3Canimate attributeName='stroke-dashoffset' from='416' to='0' dur='8s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M0 210H50L70 230H90' stroke-dashoffset='416'%3E%3Canimate attributeName='stroke-dashoffset' from='416' to='0' dur='6s' repeatCount='indefinite'/%3E%3C/path%3E%3C/g%3E%3C/svg%3E"),linear-gradient(#35cee90a 1px,transparent 1px),linear-gradient(90deg,#35cee90a 1px,transparent 1px);background-size:260px 260px,44px 44px,44px 44px;-webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,#0009 60%,#0003 100%);mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,#0009 60%,#0003 100%);opacity:.75}
.tema-claro main{animation:hx-entrada .7s cubic-bezier(.2,.8,.2,1) backwards}
.tema-claro .header,.tema-claro .header-fijo{background:#ffffffb8;border-bottom-color:#0b8aa31f;-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px)}

/* Tarjetas de cristal blanco: borde cian profundo, luz suave desde abajo y el
   mismo anillo y foco que en oscuro, con tonos de dia */
.tema-claro :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card){position:relative;isolation:isolate;background-image:linear-gradient(180deg,#ffffffeb,#f7fbfcd9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px #0b8aa329,inset 0 1px 0 #fff,0 18px 40px -26px #0d262d59;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,background-color .5s}
.tema-claro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),#35cee926,transparent 55%);opacity:0;transition:opacity .45s}
.tema-claro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;padding:1px;background:conic-gradient(from var(--hx-ang),#0b8aa300 0deg,#0b8aa300 190deg,#0b8aa3 270deg,#35cee9 300deg,#3b82ff 325deg,#0b8aa300 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .45s}
.tema-claro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):is(:hover,:has(:focus-visible)):not(.hx-sin-hover){transform:translateY(-6px);box-shadow:inset 0 0 0 1px #0b8aa366,0 0 0 4px #35cee914,0 26px 50px -24px #0b8aa366}
.tema-claro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):is(:hover,:has(:focus-visible)):not(.hx-sin-hover):before{opacity:1}
.tema-claro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):is(:hover,:has(:focus-visible)):not(.hx-sin-hover):after{opacity:1;animation:hx-giro 3.4s linear infinite}
/* Las fichas de curso viven sobre la banda oscura del catalogo: conservan su
   cristal oscuro y su neon tambien en claro */
.tema-claro .ac-ficha{position:relative;isolation:isolate;box-shadow:inset 0 0 0 1px #35cee933,0 18px 40px -24px #000000a6;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.tema-claro .ac-ficha:is(:hover,:has(:focus-visible)):not(.hx-sin-hover){box-shadow:inset 0 0 0 1px #35cee999,0 0 24px -4px #35cee966,0 26px 50px -24px #000}
/* El temario es una caja oscura tambien en claro: su etiqueta «Adquirir» va en cian */
.tema-claro .ac-programa :is(.ac-modulo-selector,.ac-modulo-en-canasta,.ac-modulo-marca){color:var(--cyan)}
:is(.tema-oscuro,.tema-claro) .ac-programa .ac-modulo summary .ac-modulo-marca small{color:var(--cyan)}
.tema-claro .ac-modulo{transition:box-shadow .4s,border-color .4s}
.tema-claro .ac-modulo:hover{border-color:#0b8aa380;box-shadow:0 0 0 1px #0b8aa333,0 12px 26px -16px #0b8aa366}

/* Boton principal de laboratorio en claro: mismo corte, halo de luz en vez de neon */
.tema-claro .btn.primary{--corte:11px;position:relative;isolation:isolate;overflow:visible;background:transparent;border-color:transparent;border-radius:0;color:#021016;letter-spacing:.4px;box-shadow:none;filter:drop-shadow(0 6px 14px #0b8aa34d);transition:filter .35s,transform .25s}
.tema-claro .btn.primary:before,.tema-claro .btn.primary:after{content:"";position:absolute;inset:0;z-index:-1;clip-path:polygon(var(--corte) 0,100% 0,100% calc(100% - var(--corte)),calc(100% - var(--corte)) 100%,0 100%,0 var(--corte))}
.tema-claro .btn.primary:before{background:linear-gradient(180deg,#8cecfa 0%,#35cee9 46%,#12a3c2 100%);box-shadow:inset 0 1px 0 #ffffffcc,inset 0 -6px 14px #0a6f8740}
.tema-claro .btn.primary:after{background:linear-gradient(105deg,transparent 35%,#ffffffd9 50%,transparent 65%) no-repeat;background-size:250% 100%;background-position:160% 0;mix-blend-mode:soft-light}
.tema-claro .btn.primary:hover,.tema-claro .btn.primary:focus-visible{background:transparent;box-shadow:none;transform:translateY(-1px);filter:drop-shadow(0 8px 20px #0b8aa366) drop-shadow(0 0 10px #35cee959)}
.tema-claro .btn.primary:hover:after,.tema-claro .btn.primary:focus-visible:after{animation:hx-destello .9s cubic-bezier(.3,.7,.3,1)}

/* Cinta animada en claro: banda de cristal blanco con filos cian */
.tema-claro .hx-cinta{background:linear-gradient(90deg,#ffffff,#eaf8fb 50%,#ffffff);border-block-color:#0b8aa340;box-shadow:inset 0 1px 0 #fff,0 10px 30px -22px #0b8aa380}
.tema-claro .hx-cinta:before{background:linear-gradient(90deg,transparent,#35cee91a 50%,transparent)}
.tema-claro .hx-cinta li{color:var(--ink)}
.tema-claro .hx-cinta li:nth-child(even){color:#007f96;text-shadow:none}
.tema-claro .hx-cinta li:before{box-shadow:0 0 6px #35cee980}
.tema-claro .hx-cinta a:hover,.tema-claro .hx-cinta a:focus-visible{color:#007f96;text-shadow:0 0 12px #35cee966}
@media(hover:none){.tema-claro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):is(:hover,:has(:focus-visible)):not(.hx-sin-hover){transform:none}}
@media(prefers-reduced-motion:reduce){
  body.tema-claro:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' fill='none'%3E%3Cg stroke='%23078aa3' stroke-opacity='.34' stroke-width='1.1'%3E%3Cpath d='M0 40H70L90 60H160L180 40H260'/%3E%3Cpath d='M40 0V90L60 110V260'/%3E%3Cpath d='M260 150H200L180 170H120L100 190V260'/%3E%3Cpath d='M130 0V30L150 50H220V100'/%3E%3Cpath d='M0 210H50L70 230H90'/%3E%3Ccircle cx='90' cy='60' r='3'/%3E%3Ccircle cx='160' cy='60' r='3'/%3E%3Ccircle cx='60' cy='110' r='3'/%3E%3Ccircle cx='220' cy='100' r='3'/%3E%3Ccircle cx='90' cy='230' r='3'/%3E%3Ccircle cx='120' cy='170' r='3'/%3E%3Ccircle cx='180' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(#35cee90a 1px,transparent 1px),linear-gradient(90deg,#35cee90a 1px,transparent 1px)}
  .tema-claro main,.tema-claro :is(.ac-ficha,.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li):after{animation:none!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* ===== «Arma tu acceso» en el pie del movil (decision del propietario, 30 de septiembre de 2026) =====
   En pantalla estrecha la ficha de modulos deja de ocupar sitio en la pagina:
   vive en la barra fija, cuyo panel trae la seleccion y el curso completo. La
   ficha solo reaparece si alguien llega a #inscripcion (sin JavaScript, los
   botones «Inscribete» siguen llevando a ella). */
@media(max-width:800px){
  .ac-compra[data-module-picker]:not(:target){display:none}
  .ac-barra-ayuda{margin:-6px 0 12px;color:#9fc9d1;font-size:16px;line-height:1.5}
  .ac-barra-completo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #2b6470}
  .ac-barra-completo>span{display:flex;flex-direction:column;gap:2px;min-width:0}
  .ac-barra-completo small{color:#9fc9d1;font-size:13.5px;line-height:1.4}
  .ac-barra-completo>span>small:first-child{font-weight:680;letter-spacing:.6px;text-transform:uppercase;font-size:13px}
  .ac-barra-completo strong{font-family:'Manrope',sans-serif;font-size:22.5px;font-weight:680;letter-spacing:-.5px;color:#5fe0f2}
  .ac-barra-completo .btn{flex:none}
}

/* La ficha de compra y el bloque del instructor llevan el mismo fondo que el temario (decision del propietario,
   30 de septiembre de 2026). En los dos temas es una caja oscura: en claro recibe
   los tokens del tema oscuro para que su texto, sus lineas y sus avisos se lean. */
:is(.tema-oscuro,.tema-claro) :is(.purchase-card.ac-compra,.ac-bloque.ac-instructor){background:radial-gradient(circle at 100% 0,#164653 0,#0000 36%),linear-gradient(135deg,#06171d,#0b242b);border:1px solid #1c525d;border-radius:14px;box-shadow:0 22px 44px #0b222b1a;color:#f4fcfd}
.tema-claro :is(.purchase-card.ac-compra,.ac-bloque.ac-instructor){--ink:#f2f7f8;--muted:#b5c3c7;--line:#ffffff1a;--surface:#0b171c;--cyan-light:#35cee91a;--ac-cian-fuerte:var(--cyan)}
:is(.tema-oscuro,.tema-claro) .ac-bloque.ac-instructor{padding:28px}
@media(max-width:650px){:is(.tema-oscuro,.tema-claro) .ac-bloque.ac-instructor{padding:20px}}

/* Portada en modo claro, en PC y en móvil desde el 1 de octubre de 2026 (decision del propietario, 30 de septiembre
   de 2026): henry-instructor.jpg, la misma pose sobre fondo claro, con los bordes
   fundidos por transparencia real (13 % izquierda, 8 % derecha, 6 % arriba y 17 %
   abajo, las bandas de la version oscura) para mezclarse con el fondo y los
   circuitos. Sin panel negro. Va con loading="lazy": oculta no se descarga. */
.portrait-clara{display:none}
@media all{
  .tema-claro .portrait-frame>.portrait{display:none}
  .tema-claro .portrait-frame>.portrait.portrait-clara{display:block}
  .tema-claro .hero-visual{background:transparent}
  .tema-claro .hero-visual::before{display:none}
  .tema-claro .hero{border-image:none}
  .tema-claro .hero-visual .visual-index,.tema-claro .hero-visual .vertical-label{color:var(--muted)}
  .tema-claro .portrait-caption,.tema-claro .portrait-caption:hover{color:var(--ink);text-shadow:0 1px 12px #fff,0 1px 3px #ffffffd9}
  .tema-claro .portrait-caption>span{color:#111a1c}
  .tema-claro .portrait-caption p{color:var(--muted)}
}

/* ===== Medios de pago (decision del propietario, 30 de septiembre de 2026) =====
   Una casilla por medio y un solo boton Pagar. La transferencia despliega sus
   datos bancarios al marcarla; sin :has quedan siempre a la vista. */
.medios-pago{display:grid;gap:10px;margin:0;padding:0;border:0;min-width:0}
.medio-pago{border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .25s,box-shadow .25s}
.medio-pago-opcion{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer}
.medio-pago-opcion input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--cyan)}
.medio-pago-icono{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--paper);border:1px solid var(--line);color:var(--cyan)}
.medio-pago-icono svg{width:22px;height:22px}
.medio-pago-texto{display:flex;flex-direction:column;gap:3px;min-width:0}
.medio-pago-texto b{font-size:18.5px}
.medio-pago-texto small{color:var(--muted);font-size:16px;line-height:1.45}
.medio-pago:has(input:checked){border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan),0 0 22px -8px #35cee999}
.medio-pago:focus-within{border-color:var(--cyan)}
.medio-pago-detalle{padding:0 16px 16px;display:grid;gap:12px;font-size:17.5px}
.medio-pago-detalle p{color:var(--muted);line-height:1.6}
@supports selector(:has(*)){.medio-pago-detalle{display:none}.medio-pago:has(input:checked) .medio-pago-detalle{display:grid}}
.datos-banco{display:grid;gap:8px;margin:0;padding:12px 14px;border:1px dashed var(--line);border-radius:10px;background:var(--paper)}
.datos-banco div{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.datos-banco dt{color:var(--muted)}
.qr-banco{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.qr-banco figure{margin:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:center}.qr-banco img{display:block;width:180px;height:180px;object-fit:contain}.qr-banco figcaption{margin-top:6px;color:#111;font-weight:680}
.qr-admin{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.qr-admin fieldset{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:8px}.qr-admin img{width:140px;height:140px;object-fit:contain;background:#fff;border-radius:8px}
.datos-banco dd{margin:0;font-weight:680;user-select:all;word-break:break-word}
.checkout-pago [data-pagar]{margin-top:6px}
/* QR del pedido: negro sobre blanco siempre, para que cualquier lector lo enganche */
.pago-qr{display:grid;justify-items:center;gap:12px;text-align:center;margin-bottom:22px}
.qr-banco-ampliar{display:block;border-radius:6px;cursor:zoom-in}.qr-banco-ampliar:focus-visible{outline:3px solid var(--cyan,#35cee9);outline-offset:3px}.qr-banco figcaption small{display:block;margin-top:2px;color:#5b6a6f;font-size:13px;font-weight:500}
/* Visor del QR de transferencia: el codigo a pantalla grande, se cierra con la X, Escape o tocando fuera */
.qr-visor{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:22px 22px 18px;border:0;border-radius:18px;background:#fff;color:#111;text-align:center;box-shadow:0 30px 80px -20px #000000cc}
.qr-visor::backdrop{background:#02070ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.qr-visor img{display:block;width:min(100%,calc(100vh - 170px));height:auto;aspect-ratio:1;margin:40px auto 10px;object-fit:contain}
.qr-visor b{font-family:'Manrope',sans-serif;font-size:20px}
.qr-visor-cerrar{position:absolute;top:10px;right:10px;width:42px;height:42px;border:1px solid #d5dde0;border-radius:50%;background:#fff;color:#111;font-size:28px;line-height:1;cursor:pointer}
.qr-visor-cerrar:hover,.qr-visor-cerrar:focus-visible{background:#111;color:#fff}
.pago-qr-imagen{width:240px;height:240px;padding:12px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--line),0 18px 40px -24px #000000a6}
.pago-qr-espera{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:16.5px}
.pago-transferencia{display:grid;gap:12px;margin-bottom:22px}
/* Brick de Mercado Pago sobre la pagina */
.mp-brick{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px -20px #000000cc}
.mp-brick::backdrop{background:#02070acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.mp-brick-cabeza{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-family:'Manrope',sans-serif;font-size:21px}
.mp-brick-cerrar{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;color:inherit;font-size:25px;line-height:1}
.mp-brick #mp-brick{min-height:260px}
.mp-brick>small{display:block;margin-top:10px}

/* En modo claro, las casillas de pago y el resumen del pedido llevan el fondo
   petroleo del temario (decision del propietario, 30 de septiembre de 2026),
   con los tokens del tema oscuro para que su texto se lea. En oscuro no cambian. */
.tema-claro :is(.medio-pago,.checkout-layout .summary-card){--ink:#f2f7f8;--muted:#b5c3c7;--line:#ffffff1f;--surface:#0b171c;--paper:#05090b;--cyan-light:#35cee91a;--ac-cian-fuerte:var(--cyan);background:radial-gradient(circle at 100% 0,#164653 0,#0000 36%),linear-gradient(135deg,#06171d,#0b242b);border-color:#1c525d;color:var(--ink)}
.tema-claro .checkout-layout .summary-card{border:1px solid #1c525d;border-radius:14px;box-shadow:0 22px 44px #0b222b1a}
.tema-claro .medio-pago input[type=file]{color:var(--muted)}

/* Lectura más cómoda en todo el sitio (decisión del propietario, 1 de octubre de
   2026): los textos de hasta 22 px crecieron un 10 % y después otro 6 % en todo este
   archivo; el mismo día, otro 8 % (títulos grandes 6 %, tarjetas de curso 15 %) y
   un escalón más de peso; después, el texto que no es título bajó un 30 % su peso por encima de 400. El peso base es 575 y no hay texto gris: los grises escritos a mano y los
   tokens secundarios pasaron a tinta (#111a1c) sobre claro o a blanco (#f2f7f8) sobre
   oscuro. Los títulos van en 800, también el titular de la portada. */
body{font-weight:575;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
:root{--muted:#4f5d61;--ac-texto-tenue:#b5c3c7;--ac-texto-suave:#b5c3c7}
.tema-oscuro{--muted:#b5c3c7}
/* Foto de portada cuadrada (henry_p, 1 de octubre de 2026): el marco toma su alto
   y el pie «Conoce a tu instructor» va debajo, sin pisar la camisa. En PC y en móvil. */
.portrait-frame{position:relative;left:auto;bottom:auto;transform:none;width:100%;height:auto;max-width:none;aspect-ratio:auto;display:flex;flex-direction:column}.portrait-frame>.portrait{height:auto}.portrait-frame>.portrait-caption{position:relative;bottom:auto;left:auto;right:auto;margin:-6px 0 0 8%}
@media(max-width:650px){.hero-visual{min-height:0;display:flex}}

/* ===== Páginas de cursos coherentes con su modo (decisión del propietario, 1 de octubre de 2026) =====
   En claro, los bloques que seguían oscuros en /cursos y /cursos/<slug> pasan a
   blanco con texto oscuro; en oscuro todo sigue oscuro. Excepción (mismo día):
   el temario, la ficha «Invierte en lo que sabes», la del instructor y el cierre «Empieza hoy» van
   oscuras también en claro. Las tarjetas de curso van
   al revés que la página: blancas en oscuro y oscuras en claro, e invierten su
   color al pasar el cursor o tomar el foco. */
.tema-claro :is(.ac-hero,.ac-mas,.ac-solucion,.ac-curso-hero-limpio,.ac-barra-compra,.ac-hero-datos.hero-datos){--ink:#111a1c;--muted:#4f5d61;--line:#d9e2e4;--surface:#eef2f3;--cyan-light:#e3f7fb;--ac-cian-fuerte:#007f96;--ac-texto-suave:#4f5d61;--ac-texto-tenue:#4f5d61;--ac-linea-clara:#0b8aa326;color:var(--ink)}
.tema-claro :is(.ac-hero,.ac-mas){background:transparent}
.tema-claro .ac-hero:before{background:radial-gradient(115% 85% at 8% 0%,#35cee91f,transparent 58%),linear-gradient(105deg,#fdfefef0 38%,#f3f8f9e0 66%,#eef6f8b3)}
.tema-claro .ac-solucion{background:#fff;box-shadow:inset 0 0 0 1px #0b8aa329,0 18px 40px -26px #0d262d59}
.tema-claro .ac-curso-hero-limpio:after{background:linear-gradient(180deg,#fffffff2 0,#ffffffe0 60%,#fffffff0 100%)}
.tema-claro .ac-barra-compra{background:#ffffffeb;border-top-color:#0b8aa333}
.tema-claro .ac-hero-datos.hero-datos{background:#fff;border-color:#0b8aa380;box-shadow:0 0 0 1px #0b8aa31f,0 14px 40px #0b8aa33d,0 0 60px #3b82ff3d}

/* Texto de esos bloques en claro: los colores claros escritos a mano pasan a tinta,
   los secundarios a gris y los acentos cian a cian profundo. Botones y sellos verdes
   conservan los suyos. */
.tema-claro :is(.ac-hero,.ac-mas,.ac-solucion,.ac-curso-hero-limpio,.ac-barra-compra) :is(h1,h2,h3,h4,p,li,span,strong,b,em,summary,dt,dd,label,a,div):not(.btn,.btn *,.badge,.ac-ficha,.ac-ficha *,.ac-adquirido,.ac-modulo-adquirido,.ac-modulo-adquirido *,.hud-etiqueta,.hud-etiqueta *,.hud-estado,.hud-estado *){color:var(--ink)}
.tema-claro :is(.ac-hero,.ac-mas,.ac-solucion,.ac-curso-hero-limpio,.ac-barra-compra) :is(small,.muted,.precio-usd,.ac-programa-resumen,.breadcrumb):not(.btn *,.ac-ficha *,.ac-modulo-adquirido *){color:var(--muted)}
.tema-claro :is(.ac-hero,.ac-mas,.ac-solucion,.ac-curso-hero-limpio,.ac-barra-compra) :is(.eyebrow,.ac-modulo-indice,.ac-leccion-num,.precio-cop,h1 span,h2 span,.ac-modulo-marca small,.ac-modulo-selector,.ac-modulo-en-canasta):not(.btn *,.ac-ficha *){color:#007f96}

.tema-claro :is(.ac-hero,.ac-mas,.ac-solucion,.ac-curso-hero-limpio,.ac-barra-compra) .ac-btn-fantasma:not(.ac-ficha *){border-color:#0b8aa380;color:#0b3a45;background:#ffffffb3}
.tema-claro :is(.ac-hero,.ac-mas,.ac-solucion,.ac-curso-hero-limpio,.ac-barra-compra) .ac-btn-fantasma:not(.ac-ficha *):hover{border-color:#0b8aa3;color:#007f96;background:#fff}
.tema-claro :is(.ac-hero,.ac-mas,.ac-solucion,.ac-curso-hero-limpio,.ac-barra-compra) .badge:not(.ac-ficha *){color:#0b3a45;background:#e3f7fb;border-color:#0b8aa340}

/* Tarjetas de curso: blancas en oscuro, oscuras en claro; el cursor las invierte. */
.tema-oscuro .ac-ficha,.tema-claro .ac-ficha:is(:hover,:has(:focus-visible)):not(.hx-sin-hover){--ficha-fondo:#fff;--ficha-texto:#0b1f26;--ficha-verde:var(--verde-aula);--ficha-tenue:#4f5d61;--ficha-precio:#007f96;--ficha-linea:#0b8aa333;--ficha-fantasma:#0b3a45;--ficha-fantasma-borde:#0b8aa380}
.tema-claro .ac-ficha,.tema-oscuro .ac-ficha:is(:hover,:has(:focus-visible)):not(.hx-sin-hover){--ficha-fondo:#08161b;--ficha-texto:#f2f7f8;--ficha-verde:#4fe39b;--ficha-tenue:#b5c3c7;--ficha-precio:var(--cyan);--ficha-linea:#ffffff1c;--ficha-fantasma:#fff;--ficha-fantasma-borde:#ffffff3d}
body:is(.tema-oscuro,.tema-claro) .ac-ficha,body:is(.tema-oscuro,.tema-claro) .ac-ficha:is(:hover,:has(:focus-visible)):not(.hx-sin-hover){background-color:var(--ficha-fondo);background-image:none;color:var(--ficha-texto);--muted:var(--ficha-tenue);--ink:var(--ficha-texto)}
body:is(.tema-oscuro,.tema-claro) .ac-ficha :is(h3,h3 a,.ac-ficha-modulos li,.ac-ficha-modulo-enlace){color:var(--ficha-texto)}
body:is(.tema-oscuro,.tema-claro) .ac-ficha :is(.ac-ficha-meta,.ac-ficha-pago,.ac-ficha-modulos small,.ac-ficha-cuerpo>p){color:var(--ficha-tenue)}
body:is(.tema-oscuro,.tema-claro) .ac-ficha .ac-ficha-precio:not(.ac-adquirido){color:var(--ficha-precio)}
body:is(.tema-oscuro,.tema-claro) .ac-ficha .ac-ficha-modulos{border-color:var(--ficha-linea)}
body:is(.tema-oscuro,.tema-claro) .ac-ficha .btn.ac-btn-fantasma:not(.primary):not(.light):not(.danger):not(.ac-btn-aula){border-color:var(--ficha-fantasma-borde);color:var(--ficha-fantasma);background:transparent}
body:is(.tema-oscuro,.tema-claro) .ac-ficha .ac-ficha-marca{color:#f2f7f8}
body:is(.tema-oscuro,.tema-claro) .ac-ficha :is(h3 a,.ac-ficha-modulo-enlace):is(:hover,:focus-visible){color:var(--ficha-precio)}
/* Cambio de color suave y parejo en los dos modos: fondo, texto, líneas y botón
   secundario se funden a la vez, un poco más despacio que la elevación. */
body:is(.tema-oscuro,.tema-claro) .ac-ficha{transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s ease,background-color .8s ease,color .8s ease}
body:is(.tema-oscuro,.tema-claro) .ac-ficha :is(h3,.ac-ficha-meta,.ac-ficha-pago,.ac-ficha-precio,.precio-usd,.ac-ficha-modulos,.ac-ficha-modulos li,.ac-ficha-modulos small,.ac-ficha-modulo-enlace,.ac-ficha-cuerpo>p){transition:color .8s ease,border-color .8s ease,background-color .4s ease}
body:is(.tema-oscuro,.tema-claro) .ac-ficha h3 a{transition:color .8s ease,background-size .35s cubic-bezier(.2,.8,.2,1)}
body:is(.tema-oscuro,.tema-claro) .ac-ficha .btn.ac-btn-fantasma:not(.primary):not(.light):not(.danger):not(.ac-btn-aula){transition:color .8s ease,border-color .8s ease,background-color .8s ease}
@media(prefers-reduced-motion:reduce){body:is(.tema-oscuro,.tema-claro) .ac-ficha,body:is(.tema-oscuro,.tema-claro) .ac-ficha *{transition:none}}
body :is(h1,h2,h3,h4,h5,h6):not(.hero h1){font-weight:800!important}
.header nav a{font-weight:680}

/* «La diferencia está en el método» (/cursos): sus cuatro cuadros se comportan como
   las tarjetas de curso (1 de octubre de 2026). Elevación, anillo y foco vienen de
   las reglas compartidas; aquí, la inversión de color, suave, y el toque en móvil
   (.hx-tocada, que pone app.js). */
.ac-solucion-lista>li{transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s ease,background-color .8s ease,border-color .8s ease}
.ac-solucion-lista>li :is(strong,span,.ac-icono){transition:color .8s ease}
.ac-solucion-lista>li.hx-tocada{transform:translateY(-6px)}
.ac-solucion-lista>li.hx-tocada:before,.ac-solucion-lista>li.hx-tocada:after{opacity:1}
@media(prefers-reduced-motion:reduce){.ac-solucion-lista>li,.ac-solucion-lista>li *{transition:none}.ac-solucion-lista>li.hx-tocada{transform:none}}
.ac-solucion-lista>li.hx-tocada:after{animation:hx-giro 3.4s linear infinite}
/* Halo de las tarjetas de curso en claro, más visible al pasar el cursor (1 de octubre de 2026). */
body.tema-claro .ac-ficha:is(:hover,:has(:focus-visible)):not(.hx-sin-hover){box-shadow:inset 0 0 0 1px #0b8aa3,0 0 0 1px #35cee999,0 0 30px 4px #35cee9a6,0 0 90px 6px #3b82ff59,0 30px 60px -24px #0b8aa3b3}

/* Cuadros a contraste (1 de octubre de 2026, PC y móvil): como las tarjetas de curso,
   claros sobre la página oscura y oscuros sobre la clara; el cursor —o el toque,
   .hx-tocada— los invierte con el mismo fundido de 0,8 s. */
.tema-oscuro :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja),.tema-claro :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja):is(:hover,:focus-within,.hx-tocada){--cuadro-fondo:#fff;--cuadro-texto:#111a1c;--cuadro-acento:#007f96;--cuadro-linea:#0b8aa340}
.tema-claro :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja),.tema-oscuro :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja):is(:hover,:focus-within,.hx-tocada){--cuadro-fondo:#08161b;--cuadro-texto:#f2f7f8;--cuadro-acento:var(--cyan);--cuadro-linea:#35cee947}
body:is(.tema-oscuro,.tema-claro) :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja),body:is(.tema-oscuro,.tema-claro) :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja):is(:hover,:focus-within,.hx-tocada){background-color:var(--cuadro-fondo);background-image:none;border-color:var(--cuadro-linea);color:var(--cuadro-texto);--ink:var(--cuadro-texto);--muted:var(--cuadro-texto);--ac-texto-suave:var(--cuadro-texto);--ac-texto-tenue:var(--cuadro-texto);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s ease,background-color .8s ease,border-color .8s ease,color .8s ease}
body:is(.tema-oscuro,.tema-claro) :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja) :is(h2,h3,h4,p,li,span,strong,small,em,b,div,dt,dd,blockquote,a):not(.btn,.btn *,.badge,.ac-icono,.ac-num,.eyebrow,.ac-voz-inicial,.path-number){color:var(--cuadro-texto)!important;transition:color .8s ease}
body:is(.tema-oscuro,.tema-claro) :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja) :is(.ac-icono,.ac-num,.eyebrow){color:var(--cuadro-acento)!important;transition:color .8s ease}
@media(prefers-reduced-motion:reduce){body:is(.tema-oscuro,.tema-claro) :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja),body:is(.tema-oscuro,.tema-claro) :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja) *{transition:none}}

/* El 01/02 de los cuadros es marca de agua: tenue, con el color del texto del
   cuadro, para que no se monte sobre las letras. */
body:is(.tema-oscuro,.tema-claro) .path-card .path-number{color:color-mix(in srgb,var(--cuadro-texto) 9%,transparent);pointer-events:none;transition:color .8s ease}

/* Acerca: el número de cada cuadro va encima del título, no detrás del texto. */
.about-card .path-number{position:static;display:block;font-size:59.5px;line-height:1;letter-spacing:-3px;color:#35cee9}
.about-card h3{margin-top:16px}

/* Tienda cerrada (1 de octubre de 2026): los enlaces entran a /tienda y la
   página lo anuncia con un letrero grande, la bolsa y la herramienta en cian y la
   marca HENRYIFIX detrás, en tipo y muy tenue, para que el texto se lea limpio. */
.tienda-pronto-panel{position:relative;overflow:hidden;isolation:isolate;max-width:860px;width:100%;padding:64px 44px 54px;border:1px solid #35cee966;border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px #35cee91a,0 24px 60px -30px #35cee980}
.tienda-pronto-marca{position:absolute;z-index:-1;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-10deg);font-family:'Manrope',sans-serif;font-size:clamp(95.5px,18.5vw,201.5px);font-weight:680;letter-spacing:-.06em;white-space:nowrap;color:var(--ink);opacity:.06;pointer-events:none;user-select:none}
.tienda-pronto-iconos{display:flex;justify-content:center;gap:14px;margin-bottom:22px;color:var(--cyan)}
.tienda-pronto-iconos svg{width:58px;height:58px;padding:12px;border:1px solid #35cee966;border-radius:14px;background:#35cee914}
.tienda-pronto-panel .eyebrow{color:#009fbe}
.tienda-pronto-panel h2{font-size:clamp(29.5px,4.5vw,46.5px);line-height:1.15;letter-spacing:-1.5px;font-weight:800;max-width:20ch;margin:14px auto 18px}
.tienda-pronto-panel h2 span{color:#009fbe}
.tienda-pronto-panel p{max-width:56ch;margin:auto}
.tema-oscuro .tienda-pronto-panel .eyebrow,.tema-oscuro .tienda-pronto-panel h2 span{color:var(--cyan)}
@media(max-width:650px){.tienda-pronto-panel{padding:44px 20px 38px}.tienda-pronto-iconos svg{width:50px;height:50px;padding:10px}}
.tienda-pronto{padding-top:56px}

/* Logos de los medios de pago, bajo el botón del carrito y bajo los medios del
   checkout y del pedido: chips blancos en los dos modos, como en las pasarelas. */
.logos-pago{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.logos-pago li{display:block;line-height:0}
.logos-pago img{display:block;width:auto;height:30px;border-radius:5px;box-shadow:0 0 0 1px #111a1c26}

/* Titular de «Nuestros cursos individuales» en un cuadro redondeado a contraste
   (1 de octubre de 2026): oscuro en modo claro y claro en modo oscuro, con letra
   más grande. */
.ac-mas-titular{padding:40px 36px 36px;border-radius:22px;background:#08161b;color:#f2f7f8;border:1px solid #35cee94d;box-shadow:0 22px 50px -28px #35cee980}
#mas-cursos .ac-mas-titular .eyebrow{font-size:17.5px;letter-spacing:2.4px;font-weight:680;color:var(--cyan)}
#mas-cursos .ac-mas-titular h2{font-size:clamp(36px,4.5vw,57px);font-weight:800;color:#fff}
#mas-cursos .ac-mas-titular p{font-size:21.5px;color:#f2f7f8}
.tema-oscuro .ac-mas-titular{background:#fff;color:#111a1c;border-color:#35cee980}
.tema-oscuro #mas-cursos .ac-mas-titular h2,.tema-oscuro #mas-cursos .ac-mas-titular p{color:#111a1c}
.tema-oscuro #mas-cursos .ac-mas-titular .eyebrow{color:#007f98}
.ac-mas-titular+*{margin-top:26px}
@media(max-width:650px){.ac-mas-titular{padding:28px 18px 24px;border-radius:18px}#mas-cursos .ac-mas-titular .eyebrow{font-size:15.5px;letter-spacing:1.8px}#mas-cursos .ac-mas-titular p{font-size:20.5px}}

/* Tarjetas de cursos individuales centradas: cada fila crece desde el centro y
   una tarjeta sola en su fila queda en medio, no pegada a la izquierda. */
.ac-fichas{display:flex;flex-wrap:wrap;justify-content:center}
.ac-fichas>*{flex:0 0 calc((100% - 48px)/3);min-width:0}
@media(max-width:1100px){.ac-fichas>*{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:650px){.ac-fichas>*{flex-basis:calc((100% - 12px)/2)}}

/* Buscador de cursos en modo claro: borde cian visible y texto oscuro legible. */
.tema-claro .ac-buscador{border:1.5px solid #35cee9;background:#fff;box-shadow:0 10px 26px -14px #35cee999}
.tema-claro .ac-buscador input{color:var(--ink)}
.tema-claro .ac-buscador input::placeholder{color:#111a1cb3}
.tema-claro .ac-buscador .ac-buscador-limpiar{border-color:#111a1c4d;color:var(--ink)}

/* Aviso flotante (pagar por transferencia sin comprobante, 1 de octubre de
   2026): fijo al pie, centrado, por encima de todo. Vale para el aviso del
   servidor —categoría «error flotante»— y para el que crea app.js. */
.notice.flotante{position:fixed;z-index:95;left:50%;bottom:28px;transform:translateX(-50%);width:max-content;max-width:min(560px,calc(100vw - 32px));margin:0;padding:16px 22px;border-radius:12px;border:1px solid #c64343;border-left-width:4px;background:#fff0ef;color:#5c1414;font-weight:680;box-shadow:0 18px 40px -16px #000a;transition:opacity .2s;animation:aviso-sube .3s ease-out}
@keyframes aviso-sube{from{opacity:0;transform:translate(-50%,12px)}}
@media(prefers-reduced-motion:reduce){.notice.flotante{animation:none}}
#comprobante{scroll-margin-top:140px}

/* Tarjetas «HENRYIFIX / ACADEMIA» de otros cursos: al pasar el cursor o con el
   foco la tarjeta sube un poco y su portada invierte el color (clara ↔ grafito). */
.course-card{transition:transform .3s ease,box-shadow .3s ease}
.course-card:hover,.course-card:focus-within{transform:translateY(-6px);box-shadow:0 22px 40px -22px #0b222b8c}
.course-cover{transition:background-color .8s ease,color .8s ease}
.course-cover *{transition:color .8s ease}
body .course-card:hover .course-cover.level-1,body .course-card:focus-within .course-cover.level-1{background:#1f3239;color:#fff}
body .course-card:hover .course-cover.level-0,body .course-card:focus-within .course-cover.level-0{background:#d9f4f9;color:#111a1c}
body .course-card:hover .course-cover.level-1 :is(.eyebrow,span){color:#fff}
body .course-card:hover .course-cover.level-1>strong{color:var(--cyan)}
body .course-card:hover .course-cover.level-0 :is(.eyebrow,span){color:#007f96}
body .course-card:hover .course-cover.level-0>strong{color:#111a1c}
@media(prefers-reduced-motion:reduce){.course-card,.course-cover,.course-cover *{transition:none}.course-card:hover,.course-card:focus-within{transform:none}}

/* Avisos del panel (1 de octubre de 2026): rojo para lo que pide una acción,
   cian para las novedades desde la última visita a la pestaña. */
.aviso-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;font-size:13.5px;font-weight:680;line-height:1;vertical-align:middle}
.aviso-pendiente{background:#c64343;color:#fff}
.aviso-nuevo{background:var(--cyan);color:#111a1c}
.avisos-panel{margin-bottom:22px}
.avisos-panel ul{list-style:none;margin:10px 0 12px;padding:0;display:grid;gap:10px}
.avisos-panel li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.avisos-panel li a{font-weight:680;color:#00849c}
/* Transferencias por verificar: el comprobante junto a quién pagó y qué compró. */
.transferencias{margin-bottom:24px}
.transferencias h2{display:flex;align-items:center;gap:10px}
.transferencias-lista{display:grid;gap:16px;margin-top:14px}
.transferencia{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.transferencia-imagen{display:grid;place-items:center;min-height:150px;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden;font-weight:680}
.transferencia-imagen img{width:100%;height:100%;max-height:240px;object-fit:contain}
.transferencia-imagen.grande{max-width:420px;margin:12px 0}
.transferencia-imagen.grande img{max-height:560px}
.transferencia-datos{display:grid;gap:6px;align-content:start}
.transferencia-datos ul{margin:4px 0;padding-left:18px}
.transferencia-datos .button-row{margin-top:8px;gap:12px}
@media(max-width:650px){.transferencia{grid-template-columns:1fr}}

/* Birrete (academia) y bolsa (tienda) en lugar de la flecha de los cuadros. */
.icono-camino{display:block;width:26px;height:26px}
.course-cover .icono-camino{width:30px;height:30px}

/* Iconos de enlaces y botones en lugar de flechas (1 de octubre de 2026). */
.ic{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;flex:none}
button>.ic:only-child{width:20px;height:20px}
.path-bottom .ic,.course-cover .ic{width:28px;height:28px}

/* «Nuestros cursos individuales» en oscuro: sin fondo propio, deja ver la
   retícula y los circuitos animados del tema detrás del cuadro. */
.tema-oscuro .ac-mas{background:transparent}

/* Logo real de Wompi y de Mercado Pago dentro de su opción del selector. */
.medio-pago-icono img{width:100%;height:100%;object-fit:cover;border-radius:9px}

/* Promoción de Mercado Pago en su opción del selector (texto del propietario). */
.medio-pago-promo{display:inline-block;margin-top:6px;padding:3px 9px;border-radius:999px;background:#ffe600;color:#2d3277;font-style:normal;font-size:13.5px;font-weight:680;letter-spacing:.2px;width:max-content}

/* Móvil (hasta 650 px), decisión del propietario del 1 de octubre de 2026:
   títulos y textos centrados en las páginas públicas. Se quedan alineados a la
   izquierda los formularios, tablas, el aula, la bolsa, el checkout, el temario,
   las dudas desplegadas, los textos legales y las fichas de pago. */
@media(max-width:650px){
  :is(.tema-oscuro,.tema-claro) main :is(h1,h2,h3,h4,p,.eyebrow):not(:is(form,table,.classroom,.cart-layout,.checkout-layout,.summary-card,.ac-modulo,.ac-duda,.legal-copy,.enrollment-card,.medio-pago,.datos-banco,.transferencia,.ac-ficha-modulos,.purchase-card,.ac-barra-compra) *){text-align:center}
  :is(.tema-oscuro,.tema-claro) main .section-heading{flex-direction:column;align-items:center;text-align:center}
  :is(.tema-oscuro,.tema-claro) main .button-row:not(form *){justify-content:center}
  :is(.tema-oscuro,.tema-claro) main :is(.path-card p,.about-intro>p,.ac-mas-cabecera p){margin-inline:auto}
  :is(.tema-oscuro,.tema-claro) .contact-band .btn{justify-self:center}
  :is(.tema-oscuro,.tema-claro) .footer-top{align-items:center;text-align:center}
  :is(.tema-oscuro,.tema-claro) main .ac-icono:not(:is(form,.classroom,.ac-modulo) *){display:block;margin-inline:auto}
}

/* /cursos: el cierre «El siguiente nivel…» va bajo «Aprende a decidir
   antes de destornillar», dentro de su sección, que ya trae el margen lateral. */
.ac-cierre.ac-cierre-metodo{margin:48px 0 56px}

/* Letra más grande en el teléfono (1 de octubre de 2026): con las tarjetas de curso a
   dos columnas, una palabra larga del título no puede salirse del cuadro. */
@media(max-width:650px){.ac-ficha-cuerpo h3{hyphens:auto;overflow-wrap:break-word}}
@media(max-width:400px){.ac-ficha-cuerpo h3{font-size:19.5px}}

/* Franja superior en el teléfono (1 de octubre de 2026): «CONOCIMIENTO QUE
   TRANSFORMA. HERRAMIENTAS QUE RESPONDEN.» va en una sola línea; su tamaño sigue el
   ancho de la pantalla. */
@media(max-width:650px){.announcement{white-space:nowrap;font-size:min(11.5px,2.5vw);letter-spacing:.02em;padding:0 3%}}

/* Fila de la marca en el teléfono (1 de octubre de 2026): marca, tema, cuenta y bolsa
   en una sola línea. La marca sigue el ancho de la pantalla y el nombre de la cuenta
   se recorta con puntos suspensivos si no cabe. */
@media(max-width:650px){
  .header.header-fijo{column-gap:8px}
  .header-fijo .wordmark,.header-fijo.is-scrolled .wordmark{font-size:min(26.5px,5.8vw);letter-spacing:-.06em;flex:0 1 auto;min-width:0}
  .header-fijo .header-actions{flex-wrap:nowrap;gap:8px;min-width:0}
  .header-fijo .account-button{min-width:0;padding:5px 11px 5px 5px;gap:6px;font-size:min(16px,3.8vw)}
  .header-fijo .account-button .cuenta-nombre{min-width:0;max-width:24vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* Títulos más gruesos (1 de octubre de 2026): las fuentes llegan a 800 y los títulos
   ya están ahí, así que se engrosan con un contorno del propio color del texto. El
   titular de la portada se queda en su 800, sin contorno, por decisión del propietario. */
body :is(h1,h2,h3,h4,h5,h6):not(.hero h1){-webkit-text-stroke:.022em currentColor;paint-order:stroke fill}
/* En el teléfono los títulos son más pequeños: el contorno sube para que se note igual. */
/* …y, con el trazo, las letras se tocaban: sin espaciado negativo y con más aire
   entre palabras y líneas. */
@media(max-width:650px){body :is(h1,h2,h3,h4,h5,h6):not(.hero h1){-webkit-text-stroke-width:max(.035em,.75px);letter-spacing:.012em!important;word-spacing:.1em;line-height:1.2}}

/* Teléfono (1 de octubre de 2026): la lista «Pago único · A tu ritmo · …» va en dos
   columnas, cada dato con su icono encima y centrado (la regla de centrado empujaba
   el texto a la derecha), y los títulos de los cuadros 01/02 bajan de tamaño para no
   ocupar tantas líneas. */
@media(max-width:650px){
  body .ac-hero-datos{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  body .ac-hero-datos li{flex-direction:column;align-items:center;text-align:center;gap:7px}
  body .ac-hero-datos li .ac-icono{display:block;margin:0}
  body .path-card h3{font-size:min(24px,6.2vw);line-height:1.18;margin:22px 0 12px}
  body .path-card h3 br{display:none}
}
/* En los teléfonos más estrechos la cuenta se queda en su avatar, sin el nombre, para
   que la fila de la marca no se parta. */
@media(max-width:340px){.header-fijo .account-button .cuenta-nombre{display:none}.header-fijo .account-button{padding:4px}}
/* «Cada gran reparación empieza con una pregunta.» en menos renglones en el teléfono. */
@media(max-width:650px){body .contact-band h2{font-size:min(23px,6vw);line-height:1.2}body .contact-band h2 br{display:none}}

/* Tarjetas de curso plegables (1 de octubre de 2026): a la vista, imagen, título,
   precio y los dos botones; las lecciones y los módulos van en «Ver contenido». */
.ac-ficha-contenido{margin-top:12px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.ac-ficha-contenido>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0 2px;cursor:pointer;list-style:none;font-size:15.5px;font-weight:680;letter-spacing:.2px}
.ac-ficha-contenido>summary::-webkit-details-marker{display:none}
.ac-ficha-contenido>summary:after{content:'+';display:grid;place-items:center;width:24px;height:24px;border:1.5px solid currentColor;border-radius:50%;font-size:17px;line-height:1;flex:none}
.ac-ficha-contenido[open]>summary:after{content:'−'}
.ac-ficha-contenido>summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}
.ac-ficha-contenido .ac-ficha-meta{margin-top:8px}
@media(max-width:650px){.ac-ficha-contenido>summary{font-size:14px}.ac-ficha-contenido>summary:after{width:21px;height:21px;font-size:15px}}
@media(max-width:400px){.ac-ficha-precio{font-size:24px}}
@media(max-width:360px){.ac-ficha-cuerpo h3{font-size:17px}.ac-ficha-precio{font-size:21px}}

/* «Curso ya adquirido» en la tarjeta (1 de octubre de 2026): etiqueta pequeña con su
   check en lugar del tamaño del precio; el verde sigue el color de la tarjeta. */
body:is(.tema-oscuro,.tema-claro) .ac-ficha .ac-ficha-precio.ac-adquirido{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin-top:auto;padding:7px 13px 7px 8px;border:1px solid color-mix(in srgb,var(--ficha-verde) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--ficha-verde) 12%,transparent);color:var(--ficha-verde);font-family:'DM Sans',sans-serif;font-size:14.5px;font-weight:680;letter-spacing:.2px;line-height:1.2}
body:is(.tema-oscuro,.tema-claro) .ac-ficha .ac-ficha-precio.ac-adquirido:before{content:'✓';display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ficha-verde);color:var(--ficha-fondo);font-size:12px;line-height:1;flex:none}
body:is(.tema-oscuro,.tema-claro) .ac-ficha .ac-ficha-precio.ac-adquirido+.ac-ficha-pago{margin-top:8px}
@media(max-width:650px){body:is(.tema-oscuro,.tema-claro) .ac-ficha .ac-ficha-precio.ac-adquirido{font-size:12.5px;padding:6px 10px 6px 6px;gap:6px}body:is(.tema-oscuro,.tema-claro) .ac-ficha .ac-ficha-precio.ac-adquirido:before{width:17px;height:17px;font-size:10.5px}}

/* Portada (1 de octubre de 2026): el manifiesto «FORMACIÓN. PRECISIÓN. EXPERIENCIA.»
   va en un cuadro como el de «Pago único · A tu ritmo…»: blanco en claro, cristal
   oscuro en oscuro, con el mismo borde y halo de luz. */
body:is(.tema-oscuro,.tema-claro) .hero-copy>.hero-manifesto{padding:26px 28px;border:1px solid var(--ac-linea-clara);border-radius:14px}
.tema-claro .hero-copy>.hero-manifesto{background:#fff;border-color:#0b8aa380;box-shadow:0 0 0 1px #0b8aa31f,0 14px 40px #0b8aa33d,0 0 60px #3b82ff3d}
.tema-oscuro .hero-copy>.hero-manifesto{background:var(--cristal);border-color:#35cee966;box-shadow:0 0 0 1px #35cee91f,0 0 36px #35cee93d,0 0 80px #3b82ff47;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@media(max-width:650px){body:is(.tema-oscuro,.tema-claro) .hero-copy>.hero-manifesto{margin:26px 6% 0;padding:20px 18px}}

/* Portada (1 de octubre de 2026, PC y teléfono): el manifiesto sale de la portada a
   una banda quieta a todo el ancho, como la cinta animada, a contraste con la página
   —oscura en claro, blanca en oscuro—: título centrado y un párrafo a cada lado (uno
   debajo de otro en el teléfono). En PC va pegada encima de la cinta, y «Explorar
   cursos» y la caja de datos quedan centrados, más anchos y con letra más grande. */
.hero-franja{margin:26px 0 0;padding:18px 6% 20px;border-top:1px solid #35cee94d;text-align:center}
.hero-franja h2{font-size:14px;font-weight:800;letter-spacing:1.6px;line-height:1.5;color:var(--ink)}
.hero-franja .little-line{margin-right:10px}
.hero-franja-textos{display:grid;gap:10px;margin-top:10px}
.hero-franja-textos p{margin:0;font-size:16.5px;line-height:1.55;color:var(--muted)}
.hero-franja-textos p+p{padding-top:10px;border-top:1px solid var(--ac-linea-clara)}
.tema-claro .hero-franja{--ink:#f2f7f8;--muted:#b5c3c7;--ac-linea-clara:#35cee947;background:linear-gradient(90deg,#05090b,#0b1c22 50%,#05090b);box-shadow:inset 0 1px 0 #35cee91f}
.tema-oscuro .hero-franja{--ink:#111a1c;--muted:#4f5d61;--ac-linea-clara:#0b8aa340;background:linear-gradient(90deg,#ffffff,#eaf8fb 50%,#ffffff);border-top-color:#0b8aa340;box-shadow:inset 0 1px 0 #fff}
@media(min-width:1100px){
  .hero-lead>.button-row{grid-column:1/-1;justify-content:center}
  .hero-copy>.ac-hero-datos.hero-datos{grid-column:1/-1;justify-self:center;width:min(100%,780px);max-width:none;padding:30px 40px;gap:26px 44px}
  /* La portada entera cabe en la primera pantalla, sin recortar nada: título,
     botón, caja de datos, «01 / Del diagnóstico…», la foto completa y su pie.
     Los tamaños bajan con el alto de la ventana (vh) y en pantallas altas
     vuelven a su máximo. 260px = franja + menú + pie de la foto. */
  .hero-copy{padding-top:26px;padding-bottom:clamp(14px,2.6vh,34px)}
  /* Ocupa todo el alto bajo la franja y el menú (131 px; 128 por margen): la
     sección siguiente no asoma al entrar. */
  .hero{min-height:calc(100vh - 128px)}
  .hero-copy .hero-lead>h1{font-size:clamp(44px,min(4.4vw,8vh),85px);letter-spacing:-.047em}
  .hero-copy>.ac-hero-datos.hero-datos{margin-top:clamp(10px,2vh,22px);padding:clamp(16px,2.6vh,30px) 40px;row-gap:clamp(12px,2.4vh,26px)}
  .hero-copy>.hero-footnote{padding-top:clamp(12px,2.6vh,46px)}
  .hero-visual>.portrait-frame{width:min(100%,calc(100vh - 260px));margin-inline:auto}
  /* El título, más hacia el centro y algo mayor; scale no cambia su caja, así
     que nada de alrededor se mueve. */
  .hero-copy .hero-lead>h1{padding-left:clamp(40px,6vw,110px);transform:scale(1.18);transform-origin:left center}
  /* «DIAG://HENRYIFIX · EN LÍNEA», más compacto y arriba del todo: no tapa el logo de la foto. */
  .hero-visual>.hud-portada{top:0;padding:3px 11px}
  .hero-copy>.ac-hero-datos.hero-datos li{gap:14px}
  .hero-copy>.ac-hero-datos.hero-datos .ac-icono{width:26px;height:26px}
  body .hero-copy>.ac-hero-datos.hero-datos strong{font-size:22px;font-weight:680}
  body .hero-copy>.ac-hero-datos.hero-datos small{font-size:17.5px;font-weight:610}
  .hero-franja{margin:10px 0 0;padding:16px 7% 18px}
  .hero-franja h2{font-size:15px;letter-spacing:1.8px}
  .hero-franja-textos{grid-template-columns:1fr 1fr;gap:8px 56px;margin-top:8px;text-align:left}
  .hero-franja-textos p{font-size:17.5px;line-height:1.5}
  .hero-franja-textos p+p{padding:0 0 0 56px;margin-left:-28px;border-top:0;border-left:1px solid var(--ac-linea-clara)}
}
/* En el teléfono la cinta animada también va debajo de la franja, como en PC. */
@media(max-width:650px){.hx-cinta.hx-cinta-escritorio{display:block}}
/* Títulos de las tarjetas de curso un 10 % menos gruesos (1 de octubre de 2026). */
body .ac-ficha .ac-ficha-cuerpo h3{font-weight:720!important;-webkit-text-stroke-width:.02em}
@media(max-width:650px){body .ac-ficha .ac-ficha-cuerpo h3{-webkit-text-stroke-width:max(.0315em,.68px)}}

/* Texto de lectura en gris suave (1 de octubre de 2026, decisión del propietario;
   sustituye a «no hay texto gris»): párrafos, listas y citas toman el color que
   heredan al 78 %, así se separan un poco del título en cualquier fondo —gris oscuro
   sobre claro, gris claro sobre oscuro—. Los títulos y los textos con color propio
   no cambian, y el :not evita que un párrafo dentro de una lista se aclare dos veces. */
:where(main,footer) :is(p,li,dd,blockquote,figcaption):not(:is(p,li,dd,blockquote,figcaption) *){color:color-mix(in srgb,currentColor 78%,transparent)}
/* En los cuadros a contraste los textos llevan color forzado: párrafos y listas
   van al 78 % del color del cuadro, como el resto del texto de lectura. */
body:is(.tema-oscuro,.tema-claro) :is(.path-card,.ac-beneficio,.ac-dolor-card,.ac-incluye,.ac-voz,.about-card,.ac-solucion-lista>li,.ac-compromiso-caja) :is(p,li,dd,blockquote):not(.btn,.btn *,.badge,.ac-icono,.ac-num,.eyebrow){color:color-mix(in srgb,var(--cuadro-texto) 78%,transparent)!important}
body:is(.tema-oscuro,.tema-claro) .ac-solucion-lista>li>div>span{color:color-mix(in srgb,var(--cuadro-texto) 78%,transparent)!important}

/* Firma de Henry junto a «© HENRYIFIX», en PC y en el teléfono. Es tinta negra
   sobre transparencia: en oscuro se invierte a blanco para seguir el modo. */
.footer-firma-fila{display:inline-flex;align-items:center;gap:16px}
.footer-firma{display:block;width:auto;height:40px;opacity:.85}
.tema-oscuro .footer-firma{filter:invert(1)}
/* En PC los enlaces no se mueven: la retícula reparte el espacio igual que el
   space-between de siempre (dos huecos 1fr iguales) y la firma ocupa el centro
   del primero, entre «© HENRYIFIX» y «Tienda». Hasta 950 px el último texto
   se oculta y queda un solo hueco. */
@media(min-width:651px){
  .footer-bottom{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center}
  .footer-firma-fila{display:contents}
  .footer-firma{justify-self:center}
  .footer-bottom>span:last-child{grid-column:5}
}
@media(min-width:651px) and (max-width:950px){.footer-bottom{grid-template-columns:auto 1fr auto}}
@media(max-width:650px){.footer-firma-fila{display:flex;justify-content:space-between;width:100%}.footer-firma{height:34px}}
/* Subida directa a Bunny Stream en el editor de lecciones */
.bunny-subida{display:grid;gap:6px;margin-top:8px}.bunny-subida progress{width:100%;height:10px;accent-color:var(--cyan)}.bunny-subida [role=status]{font-size:14px;color:var(--muted)}.bunny-subida.error [role=status]{color:#a32121}.bunny-subida.listo [role=status]{color:var(--ink);font-weight:610}
/* Subidas a Bunny en segundo plano: pestaña «Subidas», barra fija y avance en el panel. */
.subidas-lista{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}.subida-fila{display:grid;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.subida-cabeza{display:grid;gap:2px}.subida-cabeza small{color:var(--muted);overflow-wrap:anywhere}.subida-fila progress,.subidas-sticky progress,.subida-curso progress{width:100%;height:10px;accent-color:var(--cyan)}.subida-estado{font-size:14px;color:var(--muted)}.subida-fila[data-estado=lista] .subida-estado{color:var(--ink);font-weight:610}.subida-fila[data-estado=error] .subida-estado{color:#a32121}.subida-acciones{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.subida-acciones form{margin:0}.subida-elegir{cursor:pointer}
.subidas-sticky{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;display:grid;grid-template-columns:auto minmax(80px,180px) auto;gap:12px;align-items:center;width:max-content;max-width:calc(100% - 32px);padding:10px 16px;border-radius:999px;background:#08161B;color:#F2F7F8;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:14px}.subidas-sticky[hidden]{display:none}.subidas-sticky a{color:#35CEE9;font-weight:610;white-space:nowrap}
/* Tabla de Cursos: estado del video de cada lección. */
.videos-curso summary{cursor:pointer;display:grid;gap:6px}.videos-cuenta{display:flex;flex-wrap:wrap;gap:4px}.video-estado{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:2px 9px;border-radius:999px;font-size:12.5px;font-weight:610;line-height:1.5;background:var(--surface);color:var(--muted)}.video-estado:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.video-estado.lista{background:#e8f6ef;color:#20834c}.video-estado.subiendo,.video-estado.procesando{background:var(--cyan-light);color:#007f96}.video-estado.error{background:#fff0ef;color:#a32121}.video-estado.sin_video{background:#fff0ef;color:#a32121}.videos-lecciones{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;min-width:300px}.videos-lecciones li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px}.videos-lecciones li.videos-modulo{display:block;margin-top:6px;font-size:12px;font-weight:645;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.videos-titulo{font-size:14.5px;overflow-wrap:anywhere}.videos-titulo a{text-decoration:underline;text-underline-offset:3px}.videos-titulo small{display:inline;margin-left:8px;font-size:12px;color:var(--muted)}.videos-lecciones progress{flex-basis:100%;height:6px;accent-color:var(--cyan)}
.subida-curso{display:grid;gap:4px;margin-top:6px;min-width:140px;font-size:13px;color:var(--muted);text-decoration:none}
@media (max-width:650px){.subidas-sticky{grid-template-columns:1fr auto;border-radius:16px;bottom:10px}.subidas-sticky progress{grid-column:1/-1;grid-row:2}}
/* Auditoría de videos: «Videos: listos/total» en el editor y en Panel → Cursos */
.videos-listos{display:grid;gap:4px;min-width:140px;font-size:13.5px}.videos-listos progress{width:100%;height:8px;accent-color:#20834c}.videos-resumen{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;margin-bottom:18px}.videos-resumen .videos-listos{min-width:220px}.ac-leccion-item>a small .video-estado{margin-left:6px;vertical-align:middle}.ac-leccion-item>a progress{width:100%;height:6px;accent-color:var(--cyan)}

/* Avisos al alumno (pago confirmado o rechazado): número sobre la cuenta, lista en «Mi cuenta» y «Nuevo» en el curso */
.account-link{position:relative}
.aviso-cuenta{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 6px;border:2px solid var(--cyan);border-radius:999px;background:#05090b;color:#fff;font-size:12.5px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 3px #35cee933,0 0 14px #35cee980;animation:aviso-latido 2.4s ease-in-out infinite}
@keyframes aviso-latido{50%{box-shadow:0 0 0 6px #35cee91a,0 0 20px #35cee9a6}}
.etiqueta-nuevo{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--cyan);color:#05090b;font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;vertical-align:middle}
.avisos-lista{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.alumno-aviso{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-left:3px solid #00a4c3;border-radius:10px}
.alumno-aviso p{margin:4px 0 6px}
.alumno-aviso small{color:var(--muted)}
.alumno-aviso-pago_rechazado{border-left-color:#c64343}
.alumno-aviso-nuevo{box-shadow:0 0 0 1px #35cee959,0 10px 30px -18px #35cee9}
.alumno-aviso-icono{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--cyan-light);color:#00849c}
.alumno-aviso-pago_rechazado .alumno-aviso-icono{background:#fff0ef;color:#c64343}
.enrollment-nuevo{box-shadow:0 0 0 2px var(--cyan),0 0 26px -6px #35cee9b3}
@media (prefers-reduced-motion:reduce){.aviso-cuenta{animation:none}}

/* Panel: perfil de la cuenta en la barra lateral */
.admin-perfil{display:flex;align-items:center;gap:12px;margin:-12px 0 26px;padding:12px;border:1px solid #ffffff1f;border-radius:6px;background:#ffffff0d}
.admin-perfil>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.admin-perfil strong{font-size:16px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-perfil small{font-size:12.5px;letter-spacing:1px;text-transform:uppercase;color:var(--cyan)}
.admin-perfil .avatar{border:2px solid var(--cyan);background:#0b2228}
@media(max-width:650px){.admin-perfil{margin:14px 0 0;padding:9px}.admin-perfil .avatar{width:36px;height:36px;font-size:15px}}

/* Inicio: subtítulo que en el teléfono sobra (14 de octubre de 2026) */
@media (max-width:650px){.hero-datos .solo-pc{display:none}}

/* Crear video IA: escenas enviadas a Veo, una por párrafo. */
.texto-escenas{white-space:pre-line}

/* Inicio y cursos: «Descubrir cursos» como botón visible (18 de octubre de 2026) */
body .path-card.academy-path .path-bottom{align-items:center;border:0;padding:14px 20px;border-radius:3px;background:var(--cyan)}
body .path-card.academy-path:hover .path-bottom{background:#6de1f4}
body:is(.tema-oscuro,.tema-claro) .path-card.academy-path :is(.path-bottom,.path-bottom span){color:#05090B!important}

/* Mi aprendizaje: vigencia de dos años y renovación (18 de octubre de 2026) */
.enrollment-vigencia{display:grid;gap:8px;margin:10px 0 4px}
.enrollment-vigencia form{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:15px}
.vigencia-vencida{color:#c64343}
.vigencia-admin{align-items:center;gap:8px}.vigencia-admin small{white-space:nowrap}
.ac-aviso-vencida{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;border:1px solid var(--cyan);border-radius:6px}

/* Certificados de reconocimiento (18 de octubre de 2026) */
.cuenta-pestanas{display:flex;gap:10px;flex-wrap:wrap;padding:18px 5% 0;max-width:1600px;margin:auto}
.cuenta-pestanas a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-size:16px;font-weight:610}
.cuenta-pestanas a:hover{border-color:var(--cyan)}.cuenta-pestanas .ic{width:20px;height:20px}
.cuenta-pestanas b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:var(--cyan);color:#05090B;font-size:13px}
.certificados-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:16px 0 40px}
.certificado-tarjeta{display:grid;gap:10px;align-content:start;padding:22px;border:1px solid var(--cyan);border-radius:6px}
.certificado-tarjeta h3{font-size:22px}.certificado-tarjeta .btn{justify-self:start}
.certificado-aula{display:grid;gap:10px;justify-items:start;margin-top:20px;padding:24px;border:1px solid var(--cyan);border-radius:6px}
.admin-certificados{display:grid;gap:8px;margin:0;padding:0;list-style:none}.admin-certificados li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
@media(max-width:650px){.cuenta-pestanas{justify-content:center}.certificados-grid{grid-template-columns:1fr}}
.certificado-vista{display:block;width:100%;border-radius:6px;overflow:hidden;box-shadow:0 10px 30px #0000002e;transition:transform .2s}
.certificado-vista:hover{transform:translateY(-2px)}.certificado-vista img{width:100%;height:auto}
.certificado-aula .certificado-vista{max-width:760px}.certificado-aula .button-row,.certificado-tarjeta .button-row{margin-top:4px;gap:18px}
.certificados-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.admin-certificados{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.admin-certificados li{display:grid;gap:8px;justify-content:stretch}
