/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid}}}@layer theme{:host,:root{--font-sans:var(--font-dm-sans),"Hanken Grotesk",system-ui,sans-serif;--font-serif:var(--font-display),"Cormorant Garamond",Georgia,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}*,:after,:before{box-sizing:border-box}:root{--dark:#0c2733;--dark-mid:#173f4d;--accent:#1f7a99;--accent-dim:#15596f;--gold:#c8a86a;--gold-soft:#e4cd93;--gold-deep:#9a7f44;--sage:#9ccad6;--cream:#f4f1e8;--cream-deep:#ece5d6;--white:#fbf8f1;--text-dark:#0c2733;--text-mid:#4d6470;--serif:var(--font-display),"Cormorant Garamond",Georgia,serif;--sans:var(--font-dm-sans),"Hanken Grotesk",system-ui,sans-serif;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:14px;--r-pill:999px;--shadow-sm:0 2px 14px #0c1e3712;--shadow-md:0 12px 32px -16px #0c1e3738;--shadow-lg:0 30px 70px -28px #0c1e3752;--shadow-accent:0 8px 20px -10px #1f7a9973;--c-teal:#1f7a99;--c-cyan:#9ccad6;--c-aqua:#15596f;--c-violet:#c8a86a;--c-violet-soft:#e4cd93;--grad-accent:var(--accent);--grad-vivid:linear-gradient(135deg,#1f7a99,#15596f);--grad-dark:linear-gradient(160deg,#173f4d,#0c2733 75%);--mesh-dark:none;--mesh-light:none;--app-bg:#f4f1e8}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--white);color:var(--text-dark);overflow-x:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{background:var(--dark);color:#fff;z-index:2500;border-radius:4px;padding:12px 18px;font-size:14px;text-decoration:none;transition:top .2s;position:absolute;top:-100px;left:16px}.skip-link:focus{top:16px}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes vivo-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes vivo-fade{0%{opacity:0}to{opacity:1}}@keyframes blob-drift{0%{transform:translate(0)scale(1)}33%{transform:translate(6%,8%)scale(1.12)}66%{transform:translate(-5%,-4%)scale(.95)}to{transform:translate(0)scale(1)}}@keyframes grad-shift{0%,to{background-position:0}50%{background-position:100%}}#navbar{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c27336b;justify-content:space-between;align-items:center;padding:20px 48px;transition:padding .3s,background .3s,border-bottom .3s;display:flex;position:fixed;top:0;left:0;right:0}#navbar.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c2733eb;border-bottom:1px solid #c8a86a38;padding:12px 48px}.nav-logo img{object-fit:contain;height:44px;transition:height .3s}#navbar.scrolled .nav-logo img{height:36px}.nav-links{align-items:center;gap:32px;display:flex}.nav-links a{color:#ffffffd1;letter-spacing:.02em;font-size:14px;font-weight:400;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--accent)}.nav-links a.nav-acceder{color:#fff9}.btn-nav{background:var(--grad-accent);color:#fff;font-family:var(--sans);cursor:pointer;border-radius:var(--r-pill);letter-spacing:.01em;border:none;padding:10px 24px;font-size:13px;font-weight:600;text-decoration:none;transition:box-shadow .2s,transform .18s,filter .2s;display:inline-block;box-shadow:0 6px 16px -6px #3fb8c080}.btn-nav:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 10px 22px -6px #3fb8c099}.nav-toggle{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:4px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:none}.nav-toggle:hover{border-color:var(--accent);color:var(--accent)}#hero{background:var(--dark);isolation:isolate;align-items:center;min-height:clamp(600px,82vh,860px);display:flex;position:relative;overflow:hidden}.hero-bg{opacity:.9;background-image:url(/img/cursos/masaje-formacion.avif);background-position:50% 30%;background-size:cover}.hero-bg,.hero-overlay{z-index:0;position:absolute;inset:0}.hero-overlay{background:linear-gradient(100deg,#0c2733f7,#0c2733eb 34%,#0c27339e 64%,#0c273342),linear-gradient(#0c273347,#0c273300 26% 72%,#0c273357)}.hero-inner{z-index:2;grid-template-columns:1fr 380px;align-items:center;gap:64px;width:100%;max-width:1280px;margin:0 auto;padding:120px 48px 80px;display:grid;position:relative}.hero-eyebrow{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--c-cyan);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#5fe0e61a;border:1px solid #5fe0e647;margin-bottom:22px;padding:7px 15px;font-size:12px;font-weight:600;display:inline-block}.hero-title{font-family:var(--serif);letter-spacing:-.005em;color:var(--white);margin-bottom:24px;font-size:clamp(42px,5.8vw,70px);font-weight:600;line-height:1.08}.hero-text{animation:vivo-rise .7s cubic-bezier(.22,1,.36,1) both}.hero-sub{color:#ffffffc2;max-width:560px;margin-bottom:40px;font-size:17px;font-weight:300;line-height:1.72}.hero-btns{flex-wrap:wrap;gap:14px;margin-bottom:52px;display:flex}.btn-primary{background:var(--grad-accent);color:#fff;font-family:var(--sans);cursor:pointer;border-radius:var(--r-pill);letter-spacing:.01em;box-shadow:var(--shadow-accent);border:none;padding:14px 30px;font-size:14px;font-weight:600;text-decoration:none;transition:box-shadow .25s,transform .2s,filter .2s;display:inline-block}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 14px 30px -8px #3fb8c0a6}.btn-outline{color:var(--white);font-family:var(--sans);cursor:pointer;border-radius:var(--r-pill);letter-spacing:.01em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0d;border:1px solid #ffffff52;padding:14px 28px;font-size:14px;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s,background .2s,transform .2s;display:inline-block}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:#3fb8c01a;transform:translateY(-2px)}.hero-stats{border-top:1px solid #ffffff1a;flex-wrap:wrap;gap:28px;padding-top:28px;display:flex}.stat-num{font-family:var(--serif);color:var(--accent);font-size:22px;font-weight:600}.stat-label{color:#ffffff80;letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-size:11px}.hero-portrait{justify-content:center;display:flex;position:relative}.hero-portrait img{object-fit:cover;filter:grayscale(15%)contrast(1.05);border-radius:4px;width:100%;max-width:340px;box-shadow:0 32px 80px #00000080}.hero-quote-badge{background:var(--dark-mid);border-left:3px solid var(--accent);max-width:260px;padding:16px 20px;position:absolute;bottom:-24px;left:-24px;box-shadow:0 16px 40px #0006}.hero-quote-badge p{font-family:var(--serif);color:#ffffffe0;font-size:13px;font-style:italic;line-height:1.5}.hero-quote-badge span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-top:8px;font-size:11px;display:block}#que-es{background:var(--mesh-light),var(--cream);padding:96px 48px}.section-inner{max-width:1280px;margin:0 auto}.que-grid{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.label-tag{letter-spacing:.2em;color:var(--accent-dim);margin-bottom:16px;font-size:11px;font-weight:500;display:block}.section-title{font-family:var(--serif);letter-spacing:-.015em;color:var(--text-dark);margin-bottom:24px;font-size:clamp(29px,3.6vw,46px);font-weight:700;line-height:1.12}.body-text{color:var(--text-mid);font-size:16px;font-weight:300;line-height:1.78}.blockquote-cayo{border-left:3px solid var(--accent);margin:40px 0;padding:0 0 0 28px}.blockquote-cayo p{font-family:var(--serif);color:var(--text-dark);font-size:21px;font-style:italic;line-height:1.5}.blockquote-cayo cite{color:var(--accent-dim);letter-spacing:.05em;margin-top:12px;font-size:13px;font-style:normal;display:block}.pillars{grid-template-columns:1fr 1fr;gap:20px;margin-top:8px;display:grid}.pillar{border-radius:var(--r-md);border-top:3px solid var(--accent);box-shadow:var(--shadow-sm);background:#fff;padding:26px 24px;transition:transform .25s,box-shadow .25s}.pillar:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.pillar-icon{margin-bottom:10px;font-size:24px;display:block}.pillar h3{font-family:var(--serif);margin-bottom:6px;font-size:16px;font-weight:600}.pillar p{color:var(--text-mid);font-size:13px;line-height:1.5}#reconocimientos{background:var(--mesh-light),var(--cream);padding:96px 48px;position:relative;overflow:hidden}.recono-inner{text-align:center;max-width:1280px;margin:0 auto}.recono-label{letter-spacing:.18em;text-transform:uppercase;color:var(--accent-dim);justify-content:center;align-items:center;gap:16px;margin-bottom:18px;font-size:12px;font-weight:600;display:flex}.recono-label:after,.recono-label:before{content:"";background:linear-gradient(90deg,transparent,var(--accent-dim));width:44px;height:1px}.recono-title{font-family:var(--serif);letter-spacing:-.015em;color:var(--text-dark);margin-bottom:18px;font-size:clamp(28px,3.4vw,44px);font-weight:700;line-height:1.12}.recono-sub{color:var(--text-mid);max-width:640px;margin:0 auto 52px;font-size:16px;line-height:1.7}.recono-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin:0;padding:0;list-style:none;display:grid}.recono-card{border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0c22290d;flex-direction:column;height:100%;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;display:flex;overflow:hidden}.recono-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.recono-card-media{aspect-ratio:4/3;cursor:pointer;appearance:none;background:linear-gradient(135deg,#eef3f2,#e6efee);border:0;width:100%;margin:0;padding:0;display:block;position:relative;overflow:hidden}.recono-card-media.is-static{cursor:default}.recono-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .45s;display:block}.recono-card:hover .recono-card-media img{transform:scale(1.05)}.recono-card-shade{opacity:0;background:linear-gradient(#0c222900 45%,#0c222957);transition:opacity .3s;position:absolute;inset:0}.recono-card-media:hover .recono-card-shade{opacity:1}.recono-play{width:62px;height:62px;color:var(--accent-dim);background:#fffffff0;border-radius:50%;justify-content:center;align-items:center;transition:transform .25s,background .25s,color .25s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 28px -6px #0c222966}.recono-play svg{z-index:1;margin-left:3px;position:relative}.recono-card-media:hover .recono-play{background:var(--grad-accent);color:#fff;transform:translate(-50%,-50%)scale(1.1)}.recono-play:after{content:"";border:2px solid #3fb8c08c;border-radius:50%;animation:recono-pulse 2.4s ease-out infinite;position:absolute;inset:-7px}@keyframes recono-pulse{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.recono-ext{width:34px;height:34px;color:var(--accent-dim);background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;transition:transform .25s,background .25s,color .25s;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 6px 16px -6px #0c222959}.recono-card-media:hover .recono-ext{background:var(--grad-accent);color:#fff;transform:translateY(-2px)}.recono-card-name{font-family:var(--sans);color:var(--text-dark);text-align:center;margin:0;padding:16px 16px 20px;font-size:14px;font-weight:600;line-height:1.4}.recono-card-year{color:var(--accent-dim);white-space:nowrap}.recono-lightbox{z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080f12db;justify-content:center;align-items:center;padding:24px;animation:vivo-fade .25s both;display:flex;position:fixed;inset:0}.recono-lightbox-inner{width:min(960px,100%);position:relative}.recono-lightbox-frame{aspect-ratio:16/9;border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-lg);background:#000;position:relative;overflow:hidden}.recono-lightbox-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;line-height:1;transition:background .2s,border-color .2s;display:flex;position:absolute;top:-48px;right:0}.recono-lightbox-close:hover{border-color:var(--accent);background:#ffffff2e}#cursos{background:var(--mesh-light),var(--white);padding:96px 48px}.courses-header{text-align:center;margin-bottom:56px}.courses-header .section-title{margin-bottom:12px}.courses-header p{color:var(--text-mid);max-width:560px;margin:0 auto;font-size:16px}.courses-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1280px;margin:0 auto;display:grid}.course-card{border-radius:var(--r-lg);box-shadow:var(--shadow-md);cursor:pointer;text-align:left;font:inherit;color:inherit;appearance:none;background:#fff;border:1px solid #0c22290d;flex-direction:column;width:100%;margin:0;padding:0;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;display:flex;overflow:hidden}.course-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.card-img{background:linear-gradient(135deg,var(--accent,#2f6f4f),#1c2b33);height:200px;position:relative;overflow:hidden}.card-img img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.course-card:hover .card-img img{transform:scale(1.04)}.card-badge{color:#fff;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c2229c7;padding:5px 12px;font-size:10px;font-weight:600;position:absolute;top:14px;left:14px}.card-badge.libre{background:#2d7a42}.card-badge.requiere{background:#7a5a2d}.card-badge.nuevo{background:#6b3da6}.card-badge.fundamentos{background:#2d4a7a}.card-badge.intro{background:#5a6a2d}.card-body{flex-direction:column;flex:1;padding:22px;display:flex}.card-body h3{font-family:var(--serif);margin-bottom:10px;font-size:17px;font-weight:600;line-height:1.3}.card-body p{color:var(--text-mid);flex:1;font-size:13px;line-height:1.6}.card-meta{border-top:1px solid #00000012;margin-top:14px;padding-top:14px}.card-meta span{color:var(--text-mid);margin-bottom:3px;font-size:11px;display:block}.card-meta span strong{color:var(--text-dark)}.card-cta{color:var(--accent);margin-top:16px;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s;display:inline-block}.course-card:hover .card-cta{color:var(--accent-dim)}.card-accent{background:var(--dark);color:#fff;border-radius:6px;flex-direction:column;grid-column:span 2;justify-content:center;align-items:flex-start;padding:36px;display:flex;box-shadow:0 2px 16px #0000001f}.cursos-see-all{text-align:center;font-family:var(--sans);color:var(--accent-dim);letter-spacing:.04em;border-top:1px solid #0000000f;grid-column:1/-1;margin-top:8px;padding:18px;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.cursos-see-all:hover{color:var(--accent)}.card-accent h3{font-family:var(--serif);color:#fff;margin-bottom:12px;font-size:22px;line-height:1.3}.card-accent p{color:#ffffffa6;margin-bottom:24px;font-size:14px;line-height:1.6}.btn-accent{color:var(--accent);border:1px solid var(--accent);font-family:var(--sans);cursor:pointer;border-radius:var(--r-pill);background:0 0;padding:12px 24px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,color .2s,transform .2s,box-shadow .2s;display:inline-block}.btn-accent:hover{background:var(--grad-accent);color:#fff;box-shadow:var(--shadow-accent);border-color:#0000;transform:translateY(-2px)}#ruta{background:var(--mesh-light),var(--cream);padding:96px 48px;position:relative;overflow:hidden}.ruta-header{text-align:center;margin-bottom:64px}.ruta-path{align-items:flex-start;gap:0;max-width:1200px;margin:0 auto;padding:0;list-style:none;display:flex;position:relative}.ruta-step{text-align:center;flex:1;padding:0 12px;position:relative}.ruta-dot{background:var(--grad-vivid);width:58px;height:58px;font-family:var(--serif);color:#fff;z-index:2;cursor:default;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:19px;font-weight:700;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;display:flex;position:relative;box-shadow:0 12px 28px -8px #3fb8c0b3,inset 0 0 0 4px #fff3}.ruta-step:hover .ruta-dot{transform:translateY(-4px)scale(1.07);box-shadow:0 18px 36px -8px #6b5cffb3,inset 0 0 0 4px #ffffff47}.ruta-connector{background:linear-gradient(90deg,var(--c-teal),var(--c-violet-soft));opacity:.45;z-index:1;border-radius:3px;height:3px;position:absolute;top:29px;left:50%;right:-50%}.ruta-step:last-child .ruta-connector{display:none}.ruta-label{font-family:var(--serif);letter-spacing:-.01em;margin-bottom:8px;font-size:16px;font-weight:700}.ruta-desc{color:var(--text-mid);max-width:130px;margin:0 auto;font-size:12px;line-height:1.5}.ruta-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:10px;font-weight:500;display:inline-block}.ruta-branch{border-top:1px dashed #3fb8c04d;max-width:1200px;margin-top:48px;margin-left:auto;margin-right:auto;padding-top:32px}.ruta-branch-label{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dim);margin-bottom:24px;font-size:12px}.ruta-specs{flex-wrap:wrap;justify-content:center;gap:24px;margin:0;padding:0;list-style:none;display:flex}.ruta-spec{font-family:var(--serif);border-top:2px solid var(--accent);cursor:default;background:#fff;border-radius:4px;padding:16px 22px;font-size:14px;font-weight:500;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 2px 12px #0000000f}.ruta-spec:focus-within,.ruta-spec:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.ruta-tooltip{background:var(--dark);color:#fff;font-family:var(--sans);white-space:nowrap;opacity:0;pointer-events:none;border-radius:3px;padding:8px 12px;font-size:12px;transition:opacity .2s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000004d}.ruta-spec:focus-within .ruta-tooltip,.ruta-spec:hover .ruta-tooltip{opacity:1}#sesiones{background:var(--mesh-dark),var(--dark-mid);isolation:isolate;padding:96px 48px;position:relative;overflow:hidden}.sesiones-inner{z-index:1;max-width:1280px;margin:0 auto;position:relative}.sesiones-header{text-align:center;margin-bottom:56px}.sesiones-header .section-title{color:var(--white)}.sesiones-header p{color:#fff9;max-width:600px;margin:0 auto;font-size:16px;line-height:1.7}.sesiones-features{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px;display:grid}.feature-block{border-radius:var(--r-md);border-top:2px solid var(--accent);background:#ffffff0d;padding:32px;transition:transform .25s,background .25s}.feature-block:hover{background:#ffffff14;transform:translateY(-4px)}.feature-icon{margin-bottom:14px;font-size:28px;display:block}.feature-block h3{font-family:var(--serif);color:var(--white);margin-bottom:10px;font-size:18px}.feature-block p{color:#ffffff8c;font-size:14px;line-height:1.6}.sesiones-cta{text-align:center}#por-que{background:var(--white);padding:96px 48px}.porq-grid{grid-template-columns:repeat(3,1fr);gap:32px;max-width:1280px;margin:0 auto;display:grid}.porq-block{border-top:3px solid var(--accent);background:var(--cream);border-radius:4px;padding:40px 32px}.porq-num{color:#3fb8c02e;font-size:48px;font-weight:700;line-height:1}.porq-block h3,.porq-num{font-family:var(--serif);margin-bottom:12px}.porq-block h3{font-size:20px}.porq-block p{color:var(--text-mid);font-size:14px;line-height:1.7}.porq-header{text-align:center;margin-bottom:48px}#profesorado{background:var(--cream);padding:96px 48px}.prof-header{text-align:center;margin-bottom:56px}.prof-grid{grid-template-columns:repeat(2,1fr);gap:48px;max-width:900px;margin:0 auto;display:grid}.prof-card{border-radius:var(--r-lg);box-shadow:var(--shadow-md);background:#fff;align-items:flex-start;gap:28px;padding:32px;transition:transform .25s,box-shadow .25s;display:flex}.prof-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.prof-img{object-fit:cover;border-radius:var(--r-md);background:#e0d8c8;flex-shrink:0;width:100px;height:120px}.prof-name{font-family:var(--serif);margin-bottom:4px;font-size:20px;font-weight:600}.prof-title{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;font-size:12px}.prof-bio{color:var(--text-mid);font-size:13px;line-height:1.6}#cta-final{background:var(--mesh-dark),var(--dark);padding:96px 48px;position:relative;overflow:hidden}.cta-bg{opacity:.15;background-image:url(https://tndr.eu/wp-content/uploads/equipo-tndr-bilbao.png);background-position:50%;background-size:cover;position:absolute;inset:0}.cta-inner{z-index:2;text-align:center;max-width:800px;margin:0 auto;position:relative}.cta-inner .section-title{color:var(--white);margin-bottom:16px}.cta-inner p{color:#ffffffa6;margin-bottom:36px;font-size:16px;line-height:1.7}.cta-btns{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:48px;display:flex}.cta-quote{font-family:var(--serif);color:#fff9;max-width:660px;margin:0 auto;font-size:18px;font-style:italic;line-height:1.55}.cta-quote cite{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-top:12px;font-size:12px;font-style:normal;display:block}#footer{background:var(--dark);padding:64px 48px 32px}.footer-top{grid-template-columns:220px 1fr 1fr 200px;gap:48px;max-width:1280px;margin:0 auto 48px;display:grid}.footer-logo img{filter:brightness(0)invert();opacity:.95;height:46px;margin-bottom:16px;display:block}.footer-tagline{color:#ffffff80;max-width:280px;font-size:13.5px;line-height:1.65}.footer-col h2,.footer-col h5{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-size:12px;font-weight:700}.footer-col ul{margin:0;padding:0;list-style:none}.footer-col ul li{margin-bottom:12px}.footer-col ul li a{color:#ffffff8c;font-size:14px;text-decoration:none;transition:color .2s}.footer-col ul li a:hover{color:var(--gold-soft)}.footer-link-button{font-family:var(--sans);color:#ffffff8c;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:14px;transition:color .2s}.footer-link-button:hover{color:var(--gold-soft)}.footer-contact{color:#ffffff8c;font-size:14px;line-height:1.85}.footer-contact a{color:#ffffffb3;text-decoration:none;transition:color .2s}.footer-contact a:hover{color:var(--gold-soft)}.footer-bottom{border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1280px;margin:0 auto;padding-top:24px;display:flex}.footer-legal{flex-wrap:wrap;gap:20px;display:flex}.footer-legal a{color:#ffffff4d;font-size:11px;text-decoration:none;transition:color .2s}.footer-legal a:hover{color:var(--gold-soft)}.footer-reg{color:#ffffff38;font-size:11px}.social-icons{gap:12px;margin-top:16px;display:flex}.social-icon{color:#ffffff73;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;text-decoration:none;transition:border-color .2s,color .2s;display:flex}.social-icon:hover{border-color:var(--gold);color:var(--gold-soft)}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#000000bf;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:all}.modal-box{background:var(--white);border-radius:var(--r-xl);width:90%;max-width:480px;max-height:90vh;padding:48px;transition:transform .3s;position:relative;overflow-y:auto;transform:translateY(20px)}.modal-overlay.open .modal-box{transform:translateY(0)}.modal-close{cursor:pointer;color:var(--text-mid);background:0 0;border:none;font-size:22px;line-height:1;position:absolute;top:16px;right:16px}.modal-title{font-family:var(--serif);margin-bottom:8px;font-size:26px}.modal-sub{color:var(--text-mid);margin-bottom:28px;font-size:14px;line-height:1.5}.form-group{margin-bottom:18px}.form-group label{color:var(--text-dark);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;font-family:var(--sans);border-radius:var(--r-sm);background:#fff;border:1px solid #0c222926;outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3fb8c026}.form-group textarea{resize:vertical;height:100px}.btn-submit{background:var(--grad-accent);color:#fff;width:100%;font-family:var(--sans);cursor:pointer;border-radius:var(--r-pill);box-shadow:var(--shadow-accent);border:none;margin-top:8px;padding:15px;font-size:15px;font-weight:600;transition:filter .2s,transform .2s,box-shadow .2s}.btn-submit:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-submit:disabled{opacity:.6;cursor:not-allowed;filter:none;transform:none}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.modal-legal{color:var(--text-mid);margin:14px 0 0;font-size:12px;line-height:1.5}.modal-legal a{color:var(--accent-dim);text-decoration:underline}#course-detail-overlay{z-index:1500;opacity:0;pointer-events:none;background:#000000d9;justify-content:flex-end;align-items:stretch;transition:opacity .3s;display:flex;position:fixed;inset:0}#course-detail-overlay.open{opacity:1;pointer-events:all}.course-detail-panel{background:var(--white);width:min(600px,100%);padding:0;transition:transform .4s;position:relative;overflow-y:auto;transform:translate(100%)}#course-detail-overlay.open .course-detail-panel{transform:translate(0)}.detail-img{object-fit:cover;width:100%;height:260px}.detail-body{padding:40px}.detail-badge{background:var(--accent);color:#fff;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;margin-bottom:14px;padding:4px 10px;font-size:10px;font-weight:600;display:inline-block}.detail-badge.libre{background:#2d7a42}.detail-badge.requiere{background:#7a5a2d}.detail-badge.nuevo{background:#6b3da6}.detail-badge.fundamentos{background:#2d4a7a}.detail-badge.intro{background:#5a6a2d}.detail-title{font-family:var(--serif);margin-bottom:16px;font-size:28px;font-weight:600;line-height:1.2}.detail-desc{color:var(--text-mid);margin-bottom:28px;font-size:15px;line-height:1.75}.detail-meta{background:var(--cream);border-radius:4px;margin-bottom:28px;padding:20px}.detail-meta div{border-bottom:1px solid var(--cream-deep);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.detail-meta div:last-child{border-bottom:none}.detail-meta strong{color:var(--text-dark)}.detail-meta span{color:var(--text-mid)}.detail-close{color:#fff;cursor:pointer;z-index:10;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex;position:absolute;top:16px;right:16px}.app-shell{background:var(--app-bg);flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:1000;background:var(--grad-dark);color:#fff;border-bottom:1px solid #3fb8c02e;position:sticky;top:0;box-shadow:0 4px 24px -12px #0c222980}.app-header-inner{gap:20px;max-width:1600px;margin:0 auto;padding:12px 24px}.app-brand,.app-header-inner{align-items:center;display:flex}.app-brand{text-decoration:none}.app-brand img{object-fit:contain;height:36px}.app-side-toggle{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:4px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:none}.app-side-toggle:hover{border-color:var(--accent);color:var(--accent)}.app-header-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.app-icon-btn{color:#ffffffb3;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.app-user{border-left:1px solid #ffffff1a;gap:10px;padding-left:14px}.app-avatar,.app-user{align-items:center;display:flex}.app-avatar{background:var(--accent);color:#fff;width:38px;height:38px;font-family:var(--serif);border-radius:50%;justify-content:center;font-size:14px;font-weight:600}.app-user-name{flex-direction:column;font-size:12px;line-height:1.2;display:flex}.app-user-hello{color:#ffffff80}.app-user-name strong{color:#fff;font-size:14px;font-weight:500}.app-logout{color:#ffffff73;cursor:pointer;background:0 0;border:none;align-items:center;padding:8px;font-size:16px;text-decoration:none;transition:color .2s;display:inline-flex}.app-logout:hover{color:var(--accent)}.app-logout-form,.nav-logout-form{display:contents}.app-body{flex:1;grid-template-columns:240px 1fr;display:grid;position:relative}.app-sidebar{background:#fff;border-right:1px solid #0000000f;gap:32px;min-height:calc(100vh - 60px);padding:24px 16px}.app-side-nav,.app-sidebar{flex-direction:column;display:flex}.app-side-nav{gap:2px}.app-side-link{border-radius:var(--r-sm);color:var(--text-mid);align-items:center;gap:12px;padding:11px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,transform .15s;display:flex}.app-side-link:hover{color:var(--text-dark);background:#3fb8c01a;transform:translate(2px)}.app-side-link.active{background:var(--grad-accent);color:#fff;box-shadow:0 8px 18px -8px #3fb8c0b3}.app-side-link.active:hover{color:#fff;transform:none}.app-side-link.active .app-side-icon{color:#fff}.app-side-icon{text-align:center;width:20px;color:var(--accent-dim);font-size:16px}.app-side-foot{border-top:1px solid #0000000d;margin-top:auto;padding-top:24px}.app-side-link-quiet{color:var(--text-mid);font-size:13px;font-weight:400}.app-side-backdrop{display:none}.app-main{width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:30px 40px 60px}.app-page-header{margin-bottom:22px}.app-page-header .label-tag{margin-bottom:12px}.app-page-header h1{font-family:var(--serif);letter-spacing:-.015em;color:var(--text-dark);margin-bottom:6px;font-size:clamp(28px,3vw,36px);font-weight:700}.app-page-header p{color:var(--text-mid);font-size:15px}.app-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:40px;display:grid}.app-stat-card{border-radius:var(--r-md);border-top:3px solid var(--accent);box-shadow:var(--shadow-sm);background:#fff;padding:20px 22px;animation:vivo-rise .5s cubic-bezier(.22,1,.36,1) both}.app-stat-num{font-family:var(--serif);color:var(--text-dark);font-size:28px;font-weight:600;line-height:1.1}.app-stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);margin-top:4px;font-size:11px}.app-grid{flex-direction:column;gap:24px;display:flex}.app-pane{border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0c22290a;padding:28px 28px 24px;animation:vivo-rise .5s cubic-bezier(.22,1,.36,1) both}.app-pane-header{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:14px;display:flex}.app-pane-header h2{font-family:var(--serif);color:var(--text-dark);font-size:18px;font-weight:600}.app-pane-link{color:var(--accent-dim);letter-spacing:.04em;font-size:12px;font-weight:500;text-decoration:none}.app-pane-link:hover{color:var(--accent)}.app-course-list{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:20px;margin:0;padding:0 0 10px;list-style:none;display:flex;overflow-x:auto}.app-course-list>li{scroll-snap-align:start;flex:0 0 300px;max-width:300px}.app-course-card{border-radius:var(--r-lg);border-top:2px solid var(--accent);box-shadow:var(--shadow-sm);background:#fff;padding:0;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;overflow:hidden}.app-course-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.app-course-card-media{aspect-ratio:16/7;background:var(--cream);display:block;position:relative;overflow:hidden}.app-course-card-img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.app-course-card:hover .app-course-card-img{transform:scale(1.04)}.app-course-card-ph{width:100%;height:100%;font-family:var(--serif);color:#fff;background:linear-gradient(135deg,var(--accent),#8a5a44);justify-content:center;align-items:center;font-size:30px;font-weight:700;display:flex}.app-course-card-ph[data-hue="1"]{background:linear-gradient(135deg,#a9745a,#7c4a36)}.app-course-card-ph[data-hue="2"]{background:linear-gradient(135deg,#7d8a6a,#4f5d3f)}.app-course-card-ph[data-hue="3"]{background:linear-gradient(135deg,#c08a5e,#8a5a35)}.app-course-card-ph[data-hue="4"]{background:linear-gradient(135deg,#6f8aa0,#43617a)}.app-course-card-ph[data-hue="5"]{background:linear-gradient(135deg,#a87f9a,#6e4b68)}.app-course-card-ph[data-hue="6"]{background:linear-gradient(135deg,#b09154,#7c6230)}.app-course-card-chip{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;position:absolute;bottom:10px;right:10px}.app-course-card-body{padding:16px 20px 20px}.app-course-card-body h3{font-family:var(--serif);color:var(--text-dark);margin-bottom:12px;font-size:15px;font-weight:600;line-height:1.3}.app-card-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.app-progress{margin:8px 0 14px}.app-progress-track{background:#3fb8c02e;border-radius:3px;height:6px;overflow:hidden}.app-progress-fill{background:var(--accent);height:100%;transition:width .4s}.app-progress span{color:var(--text-mid);letter-spacing:.04em;margin-top:6px;font-size:11px;display:inline-block}.app-meta{color:var(--text-mid);margin:4px 0;font-size:12px}.app-empty{text-align:center;background:var(--cream);border-radius:6px;padding:40px 20px}.app-empty p{color:var(--text-mid);margin-bottom:16px;font-size:14px}.app-empty-small{color:var(--text-mid);padding:8px 0;font-size:13px}.app-error-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-skeleton-head{flex-direction:column;gap:10px;margin-bottom:28px;display:flex}.app-skeleton-stack{flex-direction:column;gap:16px;display:flex}.app-skeleton-card{background:var(--cream);border-radius:6px;flex-direction:column;gap:10px;padding:20px;display:flex}.app-skeleton-line{background:linear-gradient(90deg,#0c273312 25%,#0c273321 37%,#0c273312 63%) 0 0/400% 100%;border-radius:4px;height:12px;animation:app-skeleton-shimmer 1.4s ease-in-out infinite;display:block}@keyframes app-skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.app-skeleton-line{animation:none}}.app-event-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.app-event{border-bottom:1px solid #0000000d;gap:14px;padding-bottom:14px;display:flex}.app-event:last-child{border-bottom:none;padding-bottom:0}.app-event-date{text-align:center;background:var(--grad-dark);color:#fff;border-radius:var(--r-sm);flex-shrink:0;width:56px;padding:8px 0}.app-event-day{font-family:var(--serif);color:var(--accent);font-size:20px;font-weight:600;display:block}.app-event-month{letter-spacing:.1em;text-transform:uppercase;color:#ffffffb3;font-size:10px;display:block}.app-event-body h4{font-family:var(--serif);color:var(--text-dark);margin-bottom:4px;font-size:14px;font-weight:600}.app-notification-list{margin:0;padding:0;list-style:none}.app-notification{border-bottom:1px solid #0000000d}.app-notification:last-child{border-bottom:none}.app-notification a{color:inherit;padding:14px 0;text-decoration:none;display:block}.app-notification a:hover h4{color:var(--accent-dim)}.app-notification h4{font-family:var(--sans);color:var(--text-dark);margin-bottom:4px;font-size:14px;font-weight:500}.app-notification p{color:var(--text-mid);font-size:13px;line-height:1.5}.app-notification.read{opacity:.6}.app-badge-list{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.app-badge{background:var(--cream);color:var(--text-dark);border-radius:20px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.app-badge img{object-fit:contain;width:28px;height:28px}.app-course-rows{margin:0;padding:0;list-style:none}.app-course-row{border-bottom:1px solid #0000000f;flex-wrap:wrap;align-items:center;gap:24px;padding:20px 0;display:flex}.app-course-row:last-child{border-bottom:none}.app-course-row-thumb{background:var(--cream);border-radius:8px;flex-shrink:0;width:104px;height:66px;display:block;overflow:hidden}.app-course-row-thumb img{object-fit:cover;width:100%;height:100%;display:block}.app-course-row-thumb .app-course-card-ph{font-size:20px}.app-course-row-main{flex:1;min-width:280px}.app-course-row-main h3{font-family:var(--serif);margin-bottom:4px;font-size:16px;font-weight:600;line-height:1.3}.app-course-row-main h3 a{color:var(--text-dark);text-decoration:none}.app-course-row-main h3 a:hover{color:var(--accent-dim)}.app-course-row-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.app-link-quiet{color:var(--text-mid);letter-spacing:.04em;font-size:12px;text-decoration:none}.app-link-quiet:hover{color:var(--accent-dim)}.app-course-hero{aspect-ratio:16/5;background:var(--cream);border-radius:12px;width:100%;max-height:280px;margin-bottom:24px;position:relative;overflow:hidden}.app-course-hero-img{object-fit:cover;width:100%;height:100%;display:block}.app-course-hero-img-contain{object-fit:contain;background:var(--cream)}.app-course-hero-ph{font-size:46px}.app-course-hero-progress{background:#fff6;height:7px;position:absolute;bottom:0;left:0;right:0}.app-course-hero-progress-fill{background:var(--accent);height:100%;transition:width .4s}.app-course-meta-bar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:32px;display:flex}.app-course-meta-bar .app-stat-card{flex:0 140px;padding:16px 18px}.app-course-meta-bar .app-stat-num{font-size:22px}.app-course-meta-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-left:auto;display:flex}.app-sections{flex-direction:column;gap:12px;display:flex}.app-section{border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0c22290d;overflow:hidden}.app-section-head{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;align-items:center;gap:16px;padding:18px 22px;transition:background .15s;display:flex}.app-section-head:hover{background:var(--cream)}.app-section.open .app-section-head{background:var(--cream);border-bottom:1px solid #0000000f}.app-section-head-main{flex:1;align-items:center;gap:18px;display:flex}.app-section-num{color:var(--accent);min-width:36px;font-size:22px;line-height:1}.app-section-head h3,.app-section-num{font-family:var(--serif);font-weight:600}.app-section-head h3{color:var(--text-dark);margin-bottom:2px;font-size:16px;line-height:1.3}.app-section-head p{color:var(--text-mid);font-size:12px}.app-section-toggle{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:20px;font-weight:300;line-height:1;transition:transform .2s;display:flex}.app-section-body{padding:20px 22px 22px}.app-section-summary{color:var(--text-mid);margin-bottom:14px;font-size:13px;line-height:1.6}.app-mod-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.app-mod{border-radius:6px;transition:background .15s}.app-mod:hover{background:var(--cream)}.app-mod-link{color:inherit;gap:14px;padding:12px 14px;text-decoration:none}.app-mod-icon,.app-mod-link{align-items:center;display:flex}.app-mod-icon{border-radius:var(--r-sm);background:var(--cream);width:32px;height:32px;color:var(--accent);flex-shrink:0;justify-content:center;font-size:14px}.app-mod-icon-quiz{color:#a7642f;background:#a7642f1f}.app-mod-icon-forum{color:#2d7a42;background:#2d7a421f}.app-mod-icon-url{background:#3fb8c02e}.app-mod-icon-resource{color:#7a5a2d;background:#7a5a2d24}.app-mod-icon-customcert{color:#6b3da6;background:#6b3da624}.app-mod-icon-folder{color:#2d4a7a;background:#2d4a7a1f}.app-mod-body{flex-direction:column;flex:1;min-width:0;display:flex}.app-mod-body strong{font-family:var(--sans);color:var(--text-dark);font-size:14px;font-weight:500;line-height:1.4}.app-mod-meta{letter-spacing:.04em;gap:8px;margin-top:2px;font-size:11px;display:flex}.app-mod-meta,.app-mod-status{color:var(--text-mid)}.app-mod-status.ok{color:#2d7a42;font-weight:500}.app-mod-arrow{color:var(--text-mid);opacity:0;flex-shrink:0;font-size:14px;transition:opacity .15s,transform .15s}.app-mod:hover .app-mod-arrow{opacity:1;transform:translate(2px)}.app-mod-completed strong{color:var(--text-mid)}.app-mod-label{border-left:3px solid var(--accent);border-radius:0;padding:12px 16px}.app-mod-label,.app-mod-label:hover{background:var(--cream)}.app-mod-label p{color:var(--text-mid);font-size:13px;line-height:1.55}.app-course-summary{background:var(--paper);color:var(--text-dark);border:1px solid #0000000d;border-radius:8px;margin-bottom:20px;padding:28px 32px;font-size:15px;line-height:1.7}.app-course-summary img{border-radius:4px;max-width:100%;height:auto;margin:12px 0}.app-course-summary p{margin-bottom:12px}.app-course-summary a{color:var(--accent-dim);text-decoration:underline}.app-section-summary-rich{color:var(--text-mid);padding:20px 24px 8px;font-size:14px;line-height:1.65}.app-section-summary-rich img{border-radius:4px;max-width:100%;height:auto;margin:10px 0}.app-section-summary-rich a{color:var(--accent-dim);text-decoration:underline}.app-section-flow{flex-direction:column;gap:14px;padding:6px 0 18px;display:flex}.app-mod-label-inline{border-left:2px solid var(--accent);color:var(--text-dark);background:#3fb8c00d;border-radius:0 4px 4px 0;padding:14px 24px;font-size:14px;line-height:1.65}.app-mod-label-inline p{margin-bottom:8px}.app-mod-label-inline p:last-child{margin-bottom:0}.app-mod-label-inline img{border-radius:4px;max-width:100%;height:auto;margin:8px 0}.app-mod-label-inline a{color:var(--accent-dim);text-decoration:underline}.app-mod-label-inline strong{color:var(--text-dark)}.app-continue{background:linear-gradient(105deg,var(--dark) 0,var(--dark-mid) 100%);color:#fff;border-radius:10px;margin-bottom:24px;padding:28px 32px;position:relative;overflow:hidden}.app-continue:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#3fb8c02e,#0000 60%);width:200px;height:100%;position:absolute;top:0;right:0}.app-continue-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;display:flex;position:relative}.app-continue h2{font-family:var(--serif);color:var(--white);margin:12px 0 6px;font-size:clamp(22px,2.6vw,28px);font-weight:500;line-height:1.2}.app-continue-section{color:#ffffff8c;margin-bottom:8px;font-size:13px}.app-continue-activity{color:#ffffffd9;align-items:center;gap:10px;font-size:15px;display:flex}.app-continue-activity strong{color:#fff}.app-mod-icon-inline{width:32px;height:32px;color:var(--accent);background:#3fb8c026;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.app-continue-btn{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.app-conversation-list{margin:0;padding:0;list-style:none}.app-conversation{border-bottom:1px solid #0000000d;align-items:center;gap:12px;padding:12px 0;display:flex}.app-conversation:last-child{border-bottom:none}.app-conversation.unread{background:linear-gradient(90deg,#3fb8c00a,#0000);margin:0 -10px;padding:12px 10px}.app-conversation-avatar{background:var(--cream);width:36px;height:36px;color:var(--accent-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;overflow:hidden}.app-conversation-avatar img{object-fit:cover;width:100%;height:100%}.app-conversation-body{flex:1;min-width:0}.app-conversation-body strong{color:var(--text-dark);font-size:14px;font-weight:600;display:block}.app-conversation-preview{color:var(--text-mid);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.app-conversation-badge{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.app-forum{padding:32px}.app-forum-intro{color:var(--text-dark);margin-bottom:24px;font-size:15px;line-height:1.7}.app-forum-intro img{max-width:100%;height:auto}.app-forum-toolbar{border-bottom:1px solid #0000000f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:18px;display:flex}.app-forum-type{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dim);font-size:11px;font-weight:500}.app-forum-discussions{margin:0;padding:0;list-style:none}.app-forum-discussion{border-bottom:1px solid #0000000d}.app-forum-discussion:last-child{border-bottom:none}.app-forum-discussion-link{color:inherit;border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 6px;text-decoration:none;transition:background .2s;display:flex}.app-forum-discussion-link:hover{background:var(--cream)}.app-forum-discussion-main{flex-direction:column;flex:1;gap:6px;min-width:240px;display:flex}.app-forum-discussion-main strong{font-family:var(--serif);color:var(--text-dark);font-size:16px;font-weight:600}.app-forum-discussion-meta{color:var(--text-mid);font-size:12px}.app-forum-discussion-meta strong{font-family:var(--sans);color:var(--text-dark);font-size:12px}.app-forum-discussion-stats{color:var(--text-mid);flex-direction:column;align-items:flex-end;gap:4px;min-width:160px;font-size:12px;display:flex}.app-forum-discussion-stats>span:first-child{color:var(--accent-dim)}.app-forum-discussion-stats>span:first-child strong{color:var(--accent-dim);font-weight:600}.app-forum-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.app-forum-badge-pinned{color:var(--accent-dim);background:#3fb8c026}.app-forum-badge-locked{color:#a72f2f;background:#a72f2f1f}.app-forum-thread{flex-direction:column;gap:20px;padding:24px 32px;display:flex}.app-forum-post{background:var(--paper);border:1px solid #0000000f;border-radius:8px;padding:22px 24px}.app-forum-post-depth-0{border-left:3px solid var(--accent)}.app-forum-post-depth-1{background:var(--cream)}.app-forum-post-depth-2,.app-forum-post-depth-3,.app-forum-post-depth-4{background:var(--paper)}.app-forum-post-head{align-items:center;gap:14px;margin-bottom:14px;display:flex}.app-forum-post-author{align-items:center;gap:12px;display:flex}.app-forum-post-author img{border-radius:50%}.app-forum-post-avatar{background:var(--accent);color:#fff;letter-spacing:.04em;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:600;display:flex}.app-forum-post-author>div{flex-direction:column;gap:2px;display:flex}.app-forum-post-author strong{color:var(--text-dark);font-size:14px;font-weight:600}.app-forum-post-author span{color:var(--text-mid);font-size:11px}.app-forum-post-subject{font-family:var(--serif);color:var(--text-dark);margin:8px 0 12px;font-size:17px;font-weight:600}.app-forum-post-body{color:var(--text-dark);font-size:15px;line-height:1.7}.app-forum-post-body p{margin-bottom:12px}.app-forum-post-body img{border-radius:4px;max-width:100%;height:auto;margin:10px 0}.app-forum-post-body a{color:var(--accent-dim);text-decoration:underline}.app-forum-post-reply{border-top:1px solid #0000000d;margin-top:18px;padding-top:16px}.app-forum-post-reply summary{cursor:pointer;color:var(--accent-dim);-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500;list-style:none}.app-forum-post-reply summary::-webkit-details-marker{display:none}.app-forum-post-reply summary:before{content:"↳ ";margin-right:4px}.app-forum-reply{flex-direction:column;gap:12px;margin-top:16px;display:flex}.app-conv-list{margin:0;padding:0;list-style:none}.app-conv-row{border-bottom:1px solid #0000000d;align-items:center;gap:14px;padding:16px 0;display:flex}.app-conv-row:last-child{border-bottom:none}.app-conv-row.unread{background:linear-gradient(90deg,#3fb8c00d,#0000);border-radius:4px;margin:0 -12px;padding:16px 12px}.app-conv-avatar{background:var(--cream);width:44px;height:44px;color:var(--accent-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;overflow:hidden}.app-conv-avatar img{object-fit:cover;width:100%;height:100%}.app-conv-body{flex:1;min-width:0}.app-conv-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.app-conv-head strong{color:var(--text-dark);font-size:15px;font-weight:600}.app-conv-time{color:var(--text-mid);font-size:11px}.app-conv-preview{color:var(--text-mid);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.app-conv-badge{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:600}.app-conv-link{color:inherit;align-items:center;gap:14px;width:100%;text-decoration:none;display:flex}.app-msg-header{position:relative}.app-msg-header-user{align-items:center;gap:12px;margin-top:10px;display:flex}.app-msg-header-user h1{margin:0;font-size:22px}.app-msg-thread{min-height:320px;max-height:60vh;overflow-y:auto}.app-msg-day-group,.app-msg-list{flex-direction:column;gap:4px;display:flex}.app-msg-day-sep{text-align:center;margin:14px 0 8px;position:relative}.app-msg-day-sep span{background:var(--cream);color:var(--text-mid);letter-spacing:.04em;border-radius:999px;padding:3px 12px;font-size:11px}.app-msg-bubble-row{justify-content:flex-start;display:flex}.app-msg-bubble-row.mine{justify-content:flex-end}.app-msg-bubble{background:var(--paper);border:1px solid #0000000f;border-radius:14px 14px 14px 4px;max-width:72%;padding:10px 14px 6px}.app-msg-bubble-row.mine .app-msg-bubble{background:var(--accent);border-color:var(--accent);color:#fff;border-bottom-right-radius:4px;border-bottom-left-radius:14px}.app-msg-text{font-size:14px;line-height:1.5}.app-msg-text p{margin:0 0 4px}.app-msg-text p:last-child{margin-bottom:0}.app-msg-text a{color:var(--accent-dim);text-decoration:underline}.app-msg-bubble-row.mine .app-msg-text a{color:#fff}.app-msg-text img{border-radius:8px;max-width:100%;height:auto;margin:4px 0}.app-msg-time{color:var(--text-mid);text-align:right;margin-top:2px;font-size:10px;display:block}.app-msg-bubble-row.mine .app-msg-time{color:#ffffffb3}.app-msg-composer{margin-top:16px}.app-msg-composer-row{align-items:flex-end;gap:10px;display:flex}.app-msg-textarea{font-family:var(--sans);resize:vertical;background:#fff;border:1px solid #00000026;border-radius:8px;outline:none;flex:1;min-height:48px;padding:12px 14px;font-size:14px}.app-msg-textarea:focus{border-color:var(--accent)}.app-msg-send{flex-shrink:0;height:48px}.app-cal-months{flex-direction:column;gap:32px;display:flex}.app-cal-month h2{font-family:var(--serif);color:var(--text-dark);text-transform:capitalize;border-bottom:1px solid #0000000f;margin-bottom:14px;padding-bottom:8px;font-size:18px;font-weight:600}.app-cal-events{flex-direction:column;gap:12px;display:flex}.app-cal-event{border-bottom:1px solid #0000000a;gap:18px;padding:16px 0;display:flex}.app-cal-event:last-child{border-bottom:none}.app-cal-event-date{background:var(--cream);text-align:center;width:80px;font-family:var(--serif);color:var(--accent-dim);text-transform:capitalize;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:10px;font-size:14px;font-weight:600;display:flex}.app-cal-event-body{flex:1}.app-cal-event-body h3{font-family:var(--serif);color:var(--text-dark);margin-bottom:4px;font-size:16px;font-weight:600}.app-cal-event-desc{color:var(--text-mid);margin-top:8px;font-size:13px;line-height:1.6}.app-notif-list{margin:0;padding:0;list-style:none}.app-notif-row{border-bottom:1px solid #0000000d;padding:18px 0}.app-notif-row:last-child{border-bottom:none}.app-notif-row.read{opacity:.68}.app-notif-row-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.app-notif-row-head h3{font-family:var(--serif);color:var(--text-dark);font-size:15px;font-weight:600}.app-notif-time{color:var(--text-mid);flex-shrink:0;font-size:11px}.app-notif-message{color:var(--text-mid);font-size:13px;line-height:1.6}.app-notif-full{margin-top:10px}.app-notif-full summary{cursor:pointer;color:var(--accent-dim);-webkit-user-select:none;user-select:none;font-size:12px;text-decoration:underline;list-style:none}.app-notif-full summary::-webkit-details-marker{display:none}.app-profile-card{background:var(--paper);border:1px solid #0000000d;border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:28px;margin-bottom:24px;padding:32px;display:flex}.app-profile-avatar{background:var(--cream);width:96px;height:96px;color:var(--accent-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:28px;font-weight:600;display:flex;overflow:hidden}.app-profile-avatar img{object-fit:cover;width:100%;height:100%}.app-profile-info{flex:1;min-width:240px}.app-profile-info h2{font-family:var(--serif);margin-bottom:4px;font-size:24px;font-weight:600}.app-profile-username{color:var(--accent-dim);margin-bottom:18px;font-size:13px}.app-profile-dl{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 24px;margin:0;display:grid}.app-profile-dl>div{flex-direction:column;gap:2px;display:flex}.app-profile-dl dt{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dim);font-size:11px;font-weight:500}.app-profile-dl dd{color:var(--text-dark);margin:0;font-size:14px}.app-profile-dl dd a{color:var(--accent-dim);text-decoration:none}.app-pane-h2{font-family:var(--serif);color:var(--text-dark);margin-bottom:16px;font-size:18px;font-weight:600}.app-profile-edit-note{color:var(--text-mid);font-size:13px}.app-profile-edit-note a{color:var(--accent-dim);text-decoration:underline}.app-profile-form{flex-direction:column;gap:4px;max-width:460px;display:flex}.app-profile-form .form-group label{color:var(--text-dark);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.app-profile-form input,.app-profile-form textarea{width:100%;font-family:var(--sans);background:#fff;border:1px solid #00000026;border-radius:4px;outline:none;padding:10px 12px;font-size:14px}.app-profile-form input:focus,.app-profile-form textarea:focus{border-color:var(--accent)}.app-profile-form>div:last-child{margin-top:8px}.app-side-link-teacher,.app-side-link-teacher.is-active,.app-side-link-teacher:hover{color:var(--accent)}.app-teacher-courses{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.app-teacher-course{color:var(--text-dark);background:#fff;border:1px solid #0000001a;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;transition:border-color .16s,box-shadow .16s;display:flex}.app-teacher-course:hover{border-color:var(--accent);box-shadow:0 4px 16px #0000000f}.app-teacher-course strong{font-size:15px;line-height:1.3;display:block}.app-teacher-course .app-meta{margin-top:2px;display:block}.app-teacher-course svg{color:var(--accent);flex-shrink:0}.app-teacher-actions{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.app-enrol-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-input{border-radius:var(--r-sm);height:40px;color:var(--text-dark,#1a1a1a);background:#fff;border:1px solid #0c222929;padding:0 14px;font-family:inherit;font-size:14px}.app-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.app-input-flag{background:#fef3f2;border-color:#b42318}.app-student-row-actions{white-space:nowrap;align-items:center;gap:12px;display:flex}.app-link-danger{font:inherit;color:#b42318;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:none}.app-link-danger:hover:not(:disabled){text-decoration:underline}.app-link-danger:disabled{opacity:.5;cursor:default}.app-text-danger{color:#b42318}.app-text-ok{color:#067647}.app-gradebook-scroll{background:#fff;border:1px solid #00000014;border-radius:12px;overflow-x:auto}.app-gradebook{min-width:max-content;font-size:13px}.app-gradebook thead th{white-space:nowrap;vertical-align:bottom;padding:10px 12px}.app-gradebook-col{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:130px;display:inline-block;overflow:hidden}.app-gradebook-name{z-index:1;background:#fff;min-width:180px;position:sticky;left:0;box-shadow:1px 0 #0000000f}.app-gradebook tbody tr:hover .app-gradebook-name{background:#fafafa}.app-gradebook-name strong{font-size:13px;font-weight:600}.app-gradebook-cell{text-align:center;font-variant-numeric:tabular-nums;color:var(--text-dark,#1a1a1a)}.app-gradebook-total,.app-gradebook-total-h{text-align:center;font-variant-numeric:tabular-nums;background:#00000006;font-weight:700}.app-students-table{border-collapse:collapse;width:100%;font-size:14px}.app-students-table thead th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#6b7280);border-bottom:1px solid #0000001a;padding:0 12px 10px;font-size:12px;font-weight:600}.app-students-table tbody td{vertical-align:middle;border-bottom:1px solid #0000000f;padding:12px}.app-students-table tbody tr:hover{background:#00000004}.app-student-cell{align-items:center;gap:12px;display:flex}.app-student-cell strong{font-size:14px;line-height:1.25;display:block}.app-student-cell .app-meta{margin-top:1px;display:block}.app-student-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.app-student-avatar img{object-fit:cover;width:100%;height:100%}.app-student-progress{align-items:center;gap:10px;min-width:160px;display:flex}.app-student-progress-track{background:#00000014;border-radius:999px;flex:1;height:6px;overflow:hidden}.app-student-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.app-student-progress>span{white-space:nowrap;font-size:13px;font-weight:600}@media (max-width:720px){.app-students-table thead{display:none}.app-students-table,.app-students-table tbody,.app-students-table td,.app-students-table tr{width:100%;display:block}.app-students-table tr{border:1px solid #0000001a;border-radius:8px;margin-bottom:12px;padding:12px}.app-students-table tbody td{border-bottom:none;padding:6px 0}.app-student-progress{min-width:0}}.app-course-bar{border-bottom:1px solid #0000001a;flex-wrap:wrap;gap:4px;margin:0 0 22px;padding-bottom:2px;display:flex}.app-course-bar-link{color:var(--text-mid,#555);border-radius:var(--r-pill);padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:color .15s,background .15s}.app-course-bar-link:hover{color:var(--accent-dim);background:#3fb8c01f}.app-course-bar-ext{color:var(--accent);margin-left:auto}.app-teacher-assigns{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.app-teacher-assign{color:var(--text-dark);background:#fff;border:1px solid #0000001a;border-radius:8px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:border-color .16s,box-shadow .16s;display:flex}.app-teacher-assign:hover{border-color:var(--accent);box-shadow:0 4px 16px #0000000f}.app-teacher-assign-icon{width:38px;height:38px;color:var(--accent);background:#0000000a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-teacher-assign-main{flex:1;min-width:0}.app-teacher-assign-main strong{font-size:15px;line-height:1.3;display:block}.app-teacher-assign-main .app-meta{margin-top:2px;display:block}.app-teacher-assign svg:last-child{color:var(--accent);flex-shrink:0}.app-grade-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.app-grade-badge.is-pending{color:#92400e;background:#f59e0b26}.app-grade-badge.is-graded{color:#166534;background:#22c55e26}.app-grade-list{flex-direction:column;gap:16px;display:flex}.app-grade-card{background:#fff;border:1px solid #0000001a;border-radius:10px;overflow:hidden}.app-grade-card-head{background:#00000004;border-bottom:1px solid #00000012;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.app-grade-card-body{grid-template-columns:1fr 320px;gap:0;display:grid}.app-grade-submission{overflow-wrap:break-word;border-right:1px solid #00000012;min-width:0;padding:18px}.app-grade-submission .app-assign-editor-text{font-size:14px;line-height:1.6}.app-grade-submission .app-assign-editor-text img{border-radius:6px;max-width:100%;height:auto}.app-grade-file{color:var(--accent);align-items:center;gap:7px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.app-grade-file:hover{text-decoration:underline}.app-grade-panel{background:#00000003;padding:18px}.app-grade-form{flex-direction:column;gap:12px;display:flex}.app-grade-row{align-items:center;gap:10px;display:flex}.app-grade-row label{font-size:13px;font-weight:600}.app-grade-row input{background:#fff;border:1px solid #0000002e;border-radius:6px;outline:none;width:90px;padding:8px 10px;font-size:15px}.app-grade-row input:focus{border-color:var(--accent)}.app-grade-form textarea{resize:vertical;background:#fff;border:1px solid #0000002e;border-radius:6px;outline:none;width:100%;padding:9px 11px;font-family:inherit;font-size:14px}.app-grade-form textarea:focus{border-color:var(--accent)}.app-grade-save{align-self:flex-start;padding:9px 18px;font-size:14px}@media (max-width:720px){.app-grade-card-body{grid-template-columns:1fr}.app-grade-submission{border-bottom:1px solid #00000012;border-right:none}}.app-student-link{color:inherit;border-radius:8px;text-decoration:none;transition:opacity .15s}.app-student-link:hover strong{color:var(--accent);text-decoration:underline}.app-student-head{align-items:center;gap:16px;margin-top:14px;display:flex}.app-student-head h1{margin:0;font-size:24px;line-height:1.2}.app-student-head .app-meta{margin-top:3px;display:block}.app-student-avatar-lg{width:60px;height:60px;font-size:20px}.app-student-msg{color:var(--text-dark);white-space:nowrap;border-color:#0003;align-items:center;gap:7px;margin-left:auto;padding:8px 16px;font-size:13px;display:inline-flex}.app-grade-items{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.app-grade-item{border-bottom:1px solid #0000000f;align-items:center;gap:12px;padding:11px 4px;display:flex}.app-grade-item:last-child{border-bottom:none}.app-grade-item-icon{color:var(--accent);flex-shrink:0;display:inline-flex}.app-grade-item-name{flex:1;min-width:0;font-size:14px}.app-grade-item-value{flex-shrink:0;font-size:14px;font-weight:600}.app-grade-item-value.is-empty{color:var(--text-muted,#9ca3af);font-weight:500}.app-progress-sections{flex-direction:column;gap:20px;display:flex}.app-progress-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.app-progress-section-head h3{margin:0;font-size:15px;font-weight:600}.app-progress-items{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.app-progress-item{border-bottom:1px solid #0000000d;align-items:center;gap:10px;padding:9px 4px;display:flex}.app-progress-item:last-child{border-bottom:none}.app-progress-check{flex-shrink:0;display:inline-flex}.app-progress-item.is-done .app-progress-check{color:#16a34a}.app-progress-item.is-pending .app-progress-check{color:#00000040}.app-progress-modicon{color:var(--text-muted,#9ca3af);flex-shrink:0}.app-progress-name{flex:1;min-width:0;font-size:14px}.app-progress-item.is-pending .app-progress-name{color:var(--text-muted,#6b7280)}.app-progress-state{flex-shrink:0}.app-announce-form{flex-direction:column;gap:14px;max-width:620px;display:flex}.app-announce-form .form-group{flex-direction:column;gap:6px;display:flex}.app-announce-form label{color:var(--text-dark);font-size:13px;font-weight:600}.app-announce-form input,.app-announce-form select,.app-announce-form textarea{background:#fff;border:1px solid #0000002e;border-radius:6px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.app-announce-form textarea{resize:vertical}.app-announce-form input:focus,.app-announce-form select:focus,.app-announce-form textarea:focus{border-color:var(--accent)}.app-announce-note{border-left:3px solid var(--accent);background:#00000006;border-radius:0 4px 4px 0;margin:0;padding:8px 12px}.app-teacher-comm{grid-template-columns:1fr 1fr;gap:28px;display:grid}.app-comm-sub{margin:0 0 4px;font-size:15px;font-weight:600}.app-event-row{flex-wrap:wrap;gap:14px;display:flex}.app-event-row .form-group{flex:1;min-width:160px}@media (max-width:760px){.app-teacher-comm{grid-template-columns:1fr;gap:24px}}.app-announce-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.app-announce-item{background:#fff;border:1px solid #0000001a;border-radius:8px;padding:12px 14px}.app-announce-item-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.app-announce-item-main{min-width:0}.app-announce-item-main strong{font-size:14px;line-height:1.3;display:block}.app-announce-item-main .app-meta{margin-top:2px;display:block}.app-announce-item-actions{flex-shrink:0;gap:14px;display:flex}.app-announce-confirm{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.app-announce-confirm button[type=button],.app-announce-delete-link{color:#b91c1c}.app-announce-delete{color:#b91c1c;border-color:#b91c1c66;padding:6px 14px;font-size:13px}.app-dashboard-search{max-width:560px;margin-top:18px}.app-search-box{background:#fff;border:1px solid #00000026;border-radius:10px;align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex}.app-search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2f6f4f1f}.app-search-box svg{color:var(--text-muted,#6b7280);flex-shrink:0}.app-search-box input{color:var(--text-dark);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px}.app-search-go{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:600;transition:filter .15s}.app-search-go:hover{filter:brightness(1.08)}.app-search-results{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.app-search-hit{color:var(--text-dark);background:#fff;border:1px solid #00000014;border-radius:8px;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.app-search-hit:hover{border-color:var(--accent);box-shadow:0 4px 14px #0000000d}.app-search-hit-icon{width:36px;height:36px;color:var(--accent);background:#0000000a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-search-hit-main{min-width:0}.app-search-hit-main strong{font-size:14px;line-height:1.3;display:block}.app-search-hit-main .app-meta{margin-top:2px;display:block}.app-admin-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.app-admin-card{background:#fff;border:1px solid #0000001a;border-radius:12px;flex-direction:column;gap:8px;padding:20px;display:flex;position:relative}.app-admin-card h2{margin:0;font-size:17px}.app-admin-card p{color:var(--text-mid,#555);margin:0;font-size:14px;line-height:1.5}.app-admin-card-icon{width:44px;height:44px;color:var(--accent);background:#2f6f4f1a;border-radius:10px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.app-admin-soon{color:#92400e;background:#f59e0b26;border-radius:999px;align-self:flex-start;margin-top:6px;padding:3px 10px;font-size:12px;font-weight:600}.app-admin-card-soon{opacity:.92}a.app-admin-card{color:inherit;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s}a.app-admin-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #00000012}.app-admin-go{color:var(--accent);align-self:flex-start;margin-top:6px;font-size:13px;font-weight:600}.app-comm-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.app-comm-tab{background:var(--cream);color:var(--text-mid);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:12px;text-decoration:none;transition:background .2s,color .2s}.app-comm-tab:hover{color:var(--accent-dim)}.app-comm-tab.active{background:var(--accent);color:#fff}.app-comm-section{margin-bottom:20px}.app-comm-count{color:var(--text-mid);margin-left:6px;font-size:12px;font-weight:400}.app-comm-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.app-comm-card{background:var(--paper);border:1px solid #0000000f;border-radius:8px;align-items:center;gap:14px;padding:14px 16px;display:flex}.app-comm-avatar{background:var(--cream);width:52px;height:52px;color:var(--accent-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex;overflow:hidden}.app-comm-avatar img{object-fit:cover;width:100%;height:100%}.app-comm-body{flex:1;min-width:0}.app-comm-body strong{color:var(--text-dark);text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.app-comm-role{color:var(--text-mid);margin:2px 0 6px;font-size:12px}.app-comm-msg{color:var(--accent-dim);align-items:center;gap:5px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.app-comm-msg:hover{text-decoration:underline}.app-comm-you{color:var(--text-mid);font-size:11px;font-style:italic}.app-community-region{margin-bottom:24px}.app-community-count{color:var(--text-mid);margin-left:8px;font-size:12px;font-weight:400}.app-community-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.app-community-card{background:var(--paper);border:1px solid #0000000f;border-radius:8px;align-items:flex-start;gap:14px;padding:18px;display:flex}.app-community-card img{object-fit:cover;border-radius:6px;flex-shrink:0}.app-community-card strong{font-family:var(--serif);color:var(--text-dark);margin-bottom:4px;font-size:15px;font-weight:600;display:block}.app-community-specialty{color:var(--accent-dim);margin-bottom:2px;font-size:12px}.app-community-city{color:var(--text-mid);margin-bottom:10px;font-size:12px}.app-community-contact{flex-direction:column;gap:3px;font-size:12px;display:flex}.app-glossary{padding:32px}.app-glossary-intro{color:var(--text-dark);margin-bottom:28px;font-size:15px;line-height:1.7}.app-glossary-entries{margin:0}.app-glossary-entry{border-bottom:1px solid #0000000d;padding:18px 0}.app-glossary-entry:last-child{border-bottom:none}.app-glossary-entry dt{font-family:var(--serif);color:var(--accent-dim);margin-bottom:8px;font-size:18px;font-weight:600}.app-glossary-entry dd{color:var(--text-dark);margin:0;font-size:14px;line-height:1.7}.app-glossary-entry dd img{max-width:100%;height:auto}.app-choice{padding:32px}.app-choice-options{margin:0;padding:0;list-style:none}.app-choice-option{background:var(--paper);border:1px solid #0000000f;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:14px 18px;display:flex}.app-choice-option.selected{border-color:var(--accent);background:#3fb8c00a}.app-choice-option.disabled{opacity:.5}.app-choice-option strong{color:var(--text-dark);font-size:14px}.app-choice-badge{background:var(--accent);color:#fff;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-size:10px;font-weight:600}.app-choice-form .app-choice-option label{cursor:pointer;flex:1;align-items:center;gap:10px;display:flex}.app-choice-form .app-choice-option input[type=checkbox],.app-choice-form .app-choice-option input[type=radio]{accent-color:var(--accent);flex-shrink:0;width:18px;height:18px}.app-choice-option-text{color:var(--text-dark);font-size:14px}.app-choice-form .btn-primary{margin-top:16px}.app-choice-ok{border-left:3px solid var(--accent);color:var(--accent-dim);background:#3fb8c01a;border-radius:0 4px 4px 0;margin-bottom:16px;padding:12px 14px;font-size:14px}.app-assign{padding:32px}.app-assign-intro{color:var(--text-dark);margin-bottom:24px;font-size:15px;line-height:1.7}.app-assign-intro img{max-width:100%;height:auto}.app-assign-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:28px;display:grid}.app-assign-card{background:var(--cream);border-top:2px solid var(--accent);border-radius:6px;flex-direction:column;gap:4px;padding:18px 20px;display:flex}.app-assign-card-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dim);font-size:11px;font-weight:500}.app-assign-card-value{font-family:var(--serif);color:var(--text-dark);font-size:18px;font-weight:600;line-height:1.3}.app-assign-card-grade .app-assign-card-value{color:var(--accent-dim);font-size:22px}.app-assign-card-meta{color:var(--text-mid);font-size:11px}.app-assign-overdue{color:#a72f2f;font-weight:500}.app-assign-section{border-top:1px solid #0000000f;margin-top:32px;padding-top:24px}.app-assign-section h3{font-family:var(--serif);color:var(--text-dark);margin-bottom:14px;font-size:17px;font-weight:600}.app-assign-files{margin:0;padding:0;list-style:none}.app-assign-files li{background:var(--paper);border:1px solid #0000000f;border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;display:flex}.app-assign-files li>span:first-child{color:var(--text-dark);font-weight:500}.app-assign-editor-text{background:var(--paper);border-left:3px solid var(--accent);color:var(--text-dark);border-radius:0 4px 4px 0;padding:16px 20px;font-size:14px;line-height:1.65}.app-assign-editor-text img{max-width:100%;height:auto}.app-assign-feedback .app-assign-editor-text{border-left-color:var(--accent-dim);background:#3fb8c00a}.app-submit-form{flex-direction:column;gap:4px;display:flex}.app-submit-form .form-group label{color:var(--text-dark);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.app-submit-form input[type=file],.app-submit-form textarea{width:100%;font-family:var(--sans);background:#fff;border:1px solid #00000026;border-radius:4px;outline:none;padding:10px 12px;font-size:14px}.app-submit-form textarea:focus{border-color:var(--accent)}.app-submit-form input[type=file]{padding:8px}.app-submit-form .btn-primary{align-self:flex-start;margin-top:8px}.app-assign-empty{background:var(--cream);color:var(--text-mid);border-radius:8px;padding:24px;font-size:14px;line-height:1.65}.app-assign-empty a{color:var(--accent-dim);text-decoration:underline}.app-cert{padding:32px}.app-cert-intro{color:var(--text-dark);margin-bottom:24px;font-size:15px;line-height:1.7}.app-cert-card{background:linear-gradient(105deg,var(--cream) 0,#fff 100%);text-align:center;border:1px solid #3fb8c026;border-radius:10px;padding:48px 32px}.app-cert-icon{justify-content:center;margin-bottom:20px;display:flex}.app-cert-card h2{font-family:var(--serif);color:var(--text-dark);margin-bottom:12px;font-size:26px;font-weight:600}.app-cert-card p{max-width:480px;color:var(--text-mid);margin:0 auto 24px;font-size:15px;line-height:1.7}.app-quiz{padding:32px}.app-quiz-intro{color:var(--text-dark);margin-bottom:28px;font-size:15px;line-height:1.7}.app-quiz-intro img{max-width:100%;height:auto}.app-quiz-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px;display:grid}.app-quiz-card{background:var(--cream);border-top:2px solid var(--accent);border-radius:6px;flex-direction:column;gap:4px;padding:18px 20px;display:flex}.app-quiz-card-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dim);font-size:11px;font-weight:500}.app-quiz-card-value{font-family:var(--serif);color:var(--text-dark);font-size:22px;font-weight:600}.app-quiz-card-meta{color:var(--text-mid);font-size:12px}.app-quiz-warning{background:#a72f2f0f;border-left:3px solid #a72f2f;border-radius:0 4px 4px 0;margin-bottom:20px;padding:14px 16px;font-size:14px}.app-quiz-warning ul{margin-top:8px;padding-left:20px}.app-quiz-cta{margin:24px 0}.app-quiz-attempts{border-top:1px solid #0000000f;margin-top:32px;padding-top:24px}.app-quiz-attempts h3{font-family:var(--serif);margin-bottom:16px;font-size:18px}.app-quiz-attempts ul{margin:0;padding:0;list-style:none}.app-quiz-attempt{border-bottom:1px solid #0000000d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.app-quiz-attempt:last-child{border-bottom:none}.app-quiz-attempt-main{flex-wrap:wrap;align-items:center;gap:14px;font-size:14px;display:flex}.app-quiz-state{background:var(--cream);color:var(--text-mid);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.app-quiz-state-finished{color:var(--accent-dim);background:#3fb8c01f}.app-quiz-state-inprogress{color:#b85b00;background:#ffa5001f}.app-quiz-state-overdue{color:#a72f2f;background:#a72f2f1f}.app-quiz-grade{font-family:var(--serif);color:var(--text-dark);font-size:15px;font-weight:600}.app-quiz-pct{color:var(--accent-dim);font-weight:500}.app-quiz-form{padding:32px}.app-quiz-questions{counter-reset:q;margin:0;padding:0;list-style:none}.app-quiz-question{background:var(--paper);border:1px solid #0000000f;border-radius:8px;margin-bottom:18px;padding:24px 26px}.app-quiz-question-head{border-bottom:1px solid #0000000d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;display:flex}.app-quiz-question-num{font-family:var(--serif);letter-spacing:.04em;color:var(--accent-dim);text-transform:uppercase;font-size:13px;font-weight:600}.app-quiz-question-mark{color:var(--text-mid);font-size:11px}.app-quiz-question-body{color:var(--text-dark);font-size:15px;line-height:1.65}.app-quiz-question-body input[type=number],.app-quiz-question-body input[type=text],.app-quiz-question-body select,.app-quiz-question-body textarea{font-family:var(--sans);background:#fff;border:1px solid #00000026;border-radius:3px;outline:none;margin:4px 0;padding:8px 12px;font-size:14px}.app-quiz-question-body input[type=number]:focus,.app-quiz-question-body input[type=text]:focus,.app-quiz-question-body select:focus,.app-quiz-question-body textarea:focus{border-color:var(--accent)}.app-quiz-question-body input[type=checkbox],.app-quiz-question-body input[type=radio]{accent-color:var(--accent);margin-right:8px}.app-quiz-question-body label{cursor:pointer;padding:6px 0;display:block}.app-quiz-question-body img{max-width:100%;height:auto}.app-quiz-actions{border-top:1px solid #0000000f;margin-top:32px;padding-top:20px}.app-quiz-actions,.app-quiz-review-grade{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.app-quiz-review-grade{background:var(--dark);color:#fff;border-radius:8px;align-items:baseline;margin-bottom:24px;padding:28px 32px}.app-quiz-review-grade-label{letter-spacing:.08em;text-transform:uppercase;color:#fff9;font-size:13px;font-weight:500}.app-quiz-review-grade-value{font-family:var(--serif);color:var(--accent);font-size:32px;font-weight:600}.app-quiz-additional{padding:18px 0}.app-quiz-additional h3{font-family:var(--serif);color:var(--text-dark);margin-bottom:10px;font-size:15px;font-weight:600}.app-quiz-question-gradedright{border-left:3px solid #2d7a42}.app-quiz-question-gradedpartial{border-left:3px solid #b85b00}.app-quiz-question-gradedwrong{border-left:3px solid #a72f2f}.app-lesson{padding:0;overflow:hidden}.app-video-wrapper{aspect-ratio:16/9;background:#000;border-radius:6px;width:100%;position:relative;overflow:hidden}.app-video-wrapper iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.app-audio-wrapper{border-radius:12px;width:100%;max-width:720px;margin:0 auto;overflow:hidden}.app-audio-wrapper iframe,.app-video-facade{border:0;width:100%;height:100%;display:block}.app-video-facade{cursor:pointer;background:var(--dark);margin:0;padding:0;position:absolute;inset:0;overflow:hidden}.app-video-facade img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.app-video-facade-blank{background:linear-gradient(135deg,var(--dark) 0,var(--dark-mid) 100%);position:absolute;inset:0}.app-video-facade-overlay{background:radial-gradient(circle,#0c222940 0,#0c22298c 100%);transition:background .25s;position:absolute;inset:0}.app-video-facade:hover .app-video-facade-overlay{background:radial-gradient(circle,#0c222926 0,#0c222973 100%)}.app-video-facade-play{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:78px;height:78px;transition:transform .25s,background .25s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 28px #0006}.app-video-facade-play svg{margin-left:4px}.app-video-facade:hover .app-video-facade-play{background:var(--accent-dim);transform:translate(-50%,-50%)scale(1.08)}.app-ytc{background:#000;overflow:hidden}.app-ytc,.app-ytc-host{width:100%;height:100%;position:absolute;inset:0}.app-ytc-host iframe{border:0;width:100%;height:100%}.app-ytc-clickcatch{cursor:pointer;z-index:2;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0 0 52px}.app-ytc-loading{color:#ffffffb3;z-index:3;pointer-events:none;justify-content:center;font-size:13px;inset:0}.app-ytc-controls,.app-ytc-loading{align-items:center;display:flex;position:absolute}.app-ytc-controls{z-index:4;background:linear-gradient(#0000,#000000d9 60%);gap:10px;height:52px;padding:0 14px;bottom:0;left:0;right:0}.app-ytc-btn{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:color .2s;display:flex}.app-ytc-btn:hover{color:var(--accent)}.app-ytc-time{color:#ffffffd9;font-variant-numeric:tabular-nums;text-align:center;flex-shrink:0;min-width:38px;font-size:12px}.app-ytc-track{cursor:pointer;background:#ffffff40;border-radius:999px;flex:1;height:5px;position:relative}.app-ytc-track-fill{border-radius:999px;top:0;bottom:0;left:0}.app-ytc-track-fill,.app-ytc-track-thumb{background:var(--accent);position:absolute}.app-ytc-track-thumb{opacity:0;border:2px solid #fff;border-radius:50%;width:12px;height:12px;transition:opacity .2s;top:50%;transform:translate(-50%,-50%)}.app-ytc-track:hover .app-ytc-track-thumb{opacity:1}.app-lesson-prose{color:var(--text-dark);padding:32px;font-size:16px;line-height:1.75}.app-lesson-prose h2,.app-lesson-prose h3,.app-lesson-prose h4{font-family:var(--serif);color:var(--text-dark);margin:28px 0 12px;font-weight:600}.app-lesson-prose h2{font-size:22px}.app-lesson-prose h3{font-size:18px}.app-lesson-prose h4{font-size:16px}.app-lesson-prose p{margin-bottom:16px}.app-lesson-prose a{color:var(--accent-dim);text-decoration:underline}.app-lesson-prose img{border-radius:4px;max-width:100%;height:auto;margin:16px 0}.app-lesson-prose ol,.app-lesson-prose ul{margin-bottom:16px;padding-left:24px}.app-lesson-prose li{margin-bottom:6px}.app-lesson-meta{color:var(--text-mid);word-break:break-all;padding:12px 32px 32px;font-size:12px}.app-lesson-meta a{color:var(--accent-dim)}.app-resource{padding:28px}.app-resource-info{flex-direction:column;gap:4px;margin-bottom:18px;display:flex}.app-resource-info strong{font-family:var(--serif);color:var(--text-dark);font-size:18px}.app-resource-info span{color:var(--text-mid);text-transform:lowercase;font-size:12px}.app-resource-actions{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.app-resource-preview{background:#f4f1ea;border-radius:6px;width:100%;height:70vh;min-height:480px;position:relative;overflow:hidden}.app-resource-preview iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.app-folder-list{margin:0;padding:0;list-style:none}.app-folder-list li{border-bottom:1px solid #0000000f}.app-folder-list li:last-child{border-bottom:none}.app-lesson-nav{grid-template-columns:1fr 1fr;gap:14px;margin-top:32px;display:grid}.app-lesson-nav-next,.app-lesson-nav-prev{background:var(--paper);color:var(--text-dark);border:1px solid #0000000f;border-radius:6px;align-items:center;gap:14px;padding:18px 22px;text-decoration:none;transition:border-color .2s,transform .15s;display:flex}.app-lesson-nav-next:hover,.app-lesson-nav-prev:hover{border-color:var(--accent);transform:translateY(-2px)}.app-lesson-nav-next{text-align:right;justify-content:flex-end}.app-lesson-nav-next span,.app-lesson-nav-prev span{flex-direction:column;gap:2px;display:flex}.app-lesson-nav-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dim);font-size:11px;font-weight:500}.app-lesson-nav-next strong,.app-lesson-nav-prev strong{font-family:var(--serif);font-size:15px;font-weight:600}.app-lesson-nav-next svg,.app-lesson-nav-prev svg{color:var(--accent);flex-shrink:0}@media (max-width:700px){.app-lesson-nav{grid-template-columns:1fr}.app-lesson-meta,.app-lesson-prose,.app-resource{padding-left:22px;padding-right:22px}}.app-coming-banner{background:var(--cream);border-left:3px solid var(--accent);border-radius:8px;padding:28px}.app-coming-banner h2{margin-bottom:10px;font-size:20px}.app-coming-banner h2,.app-coming-banner h3{font-family:var(--serif);color:var(--text-dark);font-weight:600}.app-coming-banner h3{margin:24px 0 8px;font-size:15px}.app-coming-banner p{color:var(--text-mid);margin-bottom:12px;font-size:14px;line-height:1.7}.app-coming-meta{border-top:1px solid #0000000f;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-top:24px;padding-top:20px;display:grid}.app-coming-meta>div{flex-direction:column;gap:4px;display:flex}.app-coming-meta-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dim);font-size:11px;font-weight:500}.app-coming-meta-value{color:var(--text-dark);font-size:14px;font-weight:500}@media (max-width:960px){.app-body{grid-template-columns:1fr}.app-sidebar{z-index:90;width:260px;transition:transform .25s;position:fixed;top:60px;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 16px #00000014}.app-sidebar.open{transform:translate(0)}.app-side-backdrop{z-index:80;background:#0006;display:block;position:fixed;inset:60px 0 0}.app-side-toggle{display:inline-flex}.app-main{padding:24px 20px 60px}.app-grid{grid-template-columns:1fr}.app-user-name{display:none}.app-header-inner{gap:12px;padding:10px 16px}}.page-banner{background:var(--dark);color:#fff;padding:140px 48px 56px;position:relative}.page-banner-inner{max-width:980px;margin:0 auto}.page-banner-title{font-family:var(--serif);color:var(--white);margin:12px 0 16px;font-size:clamp(28px,4vw,44px);font-weight:500;line-height:1.15}.page-banner-sub{color:#ffffffb3;max-width:700px;font-size:16px;font-weight:300;line-height:1.65}.page-section{background:var(--white);padding:80px 48px}.page-section-inner{max-width:1200px;margin:0 auto}.page-section-narrow{max-width:760px}.page-prose{color:var(--text-dark);font-size:16px;line-height:1.75}.page-prose h2{font-family:var(--serif);color:var(--text-dark);margin-top:44px;margin-bottom:14px;font-size:24px;font-weight:500}.page-prose h2:first-of-type{margin-top:0}.page-prose p{color:var(--text-mid);margin-bottom:16px}.page-prose p strong,.page-prose strong{color:var(--text-dark)}.page-prose a{color:var(--accent-dim);text-underline-offset:3px;text-decoration:underline}.page-prose a:hover{color:var(--accent)}.page-prose ul{margin:0 0 20px;padding:0;list-style:none}.page-prose ul li{color:var(--text-mid);padding:6px 0 6px 24px;position:relative}.page-prose ul li:before{content:"✦";color:var(--accent);position:absolute;top:6px;left:0}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.catalog-card{background:#fff;border:1px solid #00000012;border-radius:6px;flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden;box-shadow:0 2px 16px #0000000d}.catalog-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000001a}.catalog-card-img{height:180px;display:block;position:relative;overflow:hidden}.catalog-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.catalog-card:hover .catalog-card-img img{transform:scale(1.04)}.catalog-card-body{flex-direction:column;flex:1;padding:22px;display:flex}.catalog-card-body h2{font-family:var(--serif);margin-bottom:8px;font-size:18px;font-weight:600;line-height:1.3}.catalog-card-body h2 a{color:var(--text-dark);text-decoration:none}.catalog-card-body h2 a:hover{color:var(--accent-dim)}.catalog-card-body>p{color:var(--text-mid);flex:1;margin-bottom:14px;font-size:13px;line-height:1.6}.catalog-card-meta{border-top:1px solid #0000000f;margin:0 0 18px;padding-top:12px}.catalog-card-meta>div{justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-size:12px;display:flex}.catalog-card-meta dt{color:var(--text-mid);letter-spacing:.04em}.catalog-card-meta dd{color:var(--text-dark);text-align:right;font-weight:500}.catalog-card-actions{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.catalog-help{background:var(--cream);text-align:center;border-top:3px solid var(--accent);border-radius:8px;margin-top:64px;padding:40px 32px}.catalog-help h2{font-family:var(--serif);margin-bottom:12px;font-size:22px}.catalog-help p{color:var(--text-mid);max-width:540px;margin:0 auto 24px;font-size:15px;line-height:1.6}.auth-shell{background:var(--cream);justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:140px 24px 80px;display:flex}.auth-card{border-top:3px solid var(--accent);background:#fff;border-radius:8px;width:100%;max-width:440px;padding:48px 40px;box-shadow:0 8px 36px #00000014}.auth-card .section-title{font-size:28px}.auth-error{color:#7a1a1a;background:#a72f2f0f;border-left:3px solid #a72f2f}.auth-error,.auth-notice{border-radius:3px;margin-bottom:20px;padding:12px 14px;font-size:14px}.auth-notice{border-left:3px solid var(--accent);color:var(--accent-dim);background:#1f7a9912}.auth-buy-cta{text-align:center;background:#2f6f4f12;border:1px solid #2f6f4f40;border-radius:8px;margin-bottom:20px;padding:16px}.auth-buy-cta p{color:var(--text-dark);margin:0 0 12px;font-size:14px;font-weight:600}.auth-buy-cta .btn-primary{display:inline-block}.auth-help{color:var(--text-mid);text-align:center;margin-top:16px;font-size:12px}.auth-foot a,.auth-help a{color:var(--accent-dim);text-decoration:underline}.auth-foot{border-top:1px solid var(--cream-deep);color:var(--text-mid);text-align:center;margin-top:28px;padding-top:20px;font-size:13px}.mi-area{background:var(--white);min-height:100vh}.mi-area-header{background:var(--dark);color:#fff;padding:140px 48px 60px}.mi-area-header .section-title{margin-bottom:0}.mi-area-content{padding:64px 48px}.mi-area-empty{text-align:center;background:var(--cream);border-radius:8px;padding:80px 24px}.mi-area-empty h2{font-family:var(--serif);margin-bottom:12px;font-size:24px}.mi-area-empty p{color:var(--text-mid);margin-bottom:24px;font-size:15px}.mi-area-courses{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.mi-area-card{background:#fff;border:1px solid #00000012;border-radius:6px;overflow:hidden;box-shadow:0 2px 16px #0000000d}.mi-area-card,.mi-area-card-body{flex-direction:column;display:flex}.mi-area-card-body{flex:1;padding:24px}.mi-area-card-body h3{font-family:var(--serif);margin-bottom:6px;font-size:18px;font-weight:600;line-height:1.3}.mi-area-shortname{color:var(--accent-dim);letter-spacing:.04em;margin-bottom:12px;font-size:12px}.mi-area-progress{background:var(--cream);border-radius:4px;height:8px;margin:12px 0 20px;position:relative;overflow:visible}.mi-area-progress-bar{background:var(--accent);border-radius:4px;height:100%;transition:width .4s}.mi-area-progress span{color:var(--text-mid);letter-spacing:.04em;font-size:11px;position:absolute;top:12px;right:0}.mi-area-card-actions{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:18px;display:flex}.mi-area-card-actions .btn-outline,.mi-area-card-actions .btn-primary{padding:10px 18px;font-size:13px}.mi-area-foot{text-align:center;margin-top:48px}.mi-area-logout{color:var(--text-mid);font-size:13px;text-decoration:underline;transition:color .2s}.mi-area-logout:hover{color:var(--accent-dim)}.curso-hero{background:var(--dark);color:#fff;padding:140px 48px 80px;position:relative;overflow:hidden}.curso-hero-bg{z-index:0;opacity:.9;position:absolute;inset:0}.curso-hero-bg img{object-fit:cover;object-position:center 30%;width:100%;height:100%}.curso-hero-overlay{z-index:0;background:linear-gradient(100deg,#0c2733f7,#0c2733eb 34%,#0c27339e 64%,#0c273342),linear-gradient(#0c273347,#0c273300 26% 72%,#0c273357);position:absolute;inset:0}.curso-hero-inner{z-index:2;max-width:960px;margin:0 auto;position:relative}.curso-back-link{color:#ffffffb3;font-size:13px;text-decoration:none;transition:color .2s}.curso-back-link:hover{color:var(--accent)}.curso-hero-title{font-family:var(--serif);color:var(--white);margin:16px 0 18px;font-size:clamp(32px,4.5vw,54px);font-weight:500;line-height:1.12}.curso-hero-sub{color:#ffffffc7;max-width:720px;margin-bottom:32px;font-size:17px;font-weight:300;line-height:1.7}.curso-hero-stats{border-bottom:1px solid #ffffff1a;flex-wrap:wrap;gap:36px;margin-bottom:28px;padding-bottom:28px;display:flex}.curso-hero-stats .stat-num{font-size:30px}.curso-hero-btns{flex-wrap:wrap;gap:14px;display:flex}.curso-info{background:var(--white);padding:80px 48px}.curso-info-grid{grid-template-columns:280px 1fr;align-items:start;gap:56px;max-width:1100px;margin:0 auto;display:grid}.curso-meta{background:var(--cream);border-top:3px solid var(--accent);border-radius:6px;padding:28px;position:sticky;top:96px}.curso-meta h2{font-family:var(--serif);margin-bottom:18px;font-size:18px;font-weight:600}.curso-meta dl{margin:0}.curso-meta dl>div{border-bottom:1px solid var(--cream-deep);padding:10px 0}.curso-meta dl>div:last-child{border-bottom:none}.curso-meta dt{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dim);margin-bottom:3px;font-size:11px;font-weight:500}.curso-meta dd{color:var(--text-dark);font-size:14px}.curso-meta-note{border-top:1px solid var(--cream-deep);color:var(--text-mid);margin-top:18px;padding-top:18px;font-size:12px;line-height:1.5}.curso-syllabus h2{font-family:var(--serif);margin-bottom:28px;font-size:clamp(24px,3vw,32px);font-weight:500}.curso-sections{counter-reset:sec;margin:0;padding:0;list-style:none}.curso-section{border-bottom:1px solid #0000000f;gap:22px;padding:22px 0;display:flex}.curso-section:last-child{border-bottom:none}.curso-section-num{font-family:var(--serif);color:var(--accent);flex-shrink:0;width:52px;font-size:28px;font-weight:600;line-height:1}.curso-section-body{flex:1}.curso-section-body h3,.curso-section-body h4{font-family:var(--serif);color:var(--text-dark);margin-bottom:6px;font-size:18px;font-weight:600}.curso-syllabus-part+.curso-syllabus-part{margin-top:40px}.curso-syllabus-part-title{font-family:var(--serif);color:var(--text-dark);border-bottom:2px solid var(--accent);flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:6px;padding-bottom:10px;font-size:20px;font-weight:600;display:flex}.curso-syllabus-part-title a{color:inherit;text-decoration:none}.curso-syllabus-part-title a:focus-visible,.curso-syllabus-part-title a:hover{text-decoration:underline}.curso-syllabus-part-meta{font-family:var(--sans);color:var(--accent-dim);letter-spacing:.02em;font-size:12px;font-weight:400}.curso-section-summary{color:var(--text-mid);margin-bottom:6px;font-size:14px;line-height:1.6}.curso-section-meta{color:var(--accent-dim);letter-spacing:.02em;font-size:12px}.curso-locations,.curso-materials,.curso-outcomes{margin:0;padding:0;list-style:none}.curso-locations{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.curso-location{background:var(--cream);border-left:3px solid var(--accent);border-radius:6px;padding:20px 22px}.curso-location h3{font-family:var(--serif);color:var(--text-dark);margin-bottom:4px;font-size:18px;font-weight:600}.curso-location-dates{color:var(--accent-dim);letter-spacing:.04em;margin-bottom:8px;font-size:13px;font-weight:500}.curso-location p{color:var(--text-mid);margin-bottom:2px;font-size:13px;line-height:1.55}.curso-location-meta{color:var(--text-mid);font-size:12px}.curso-materials li,.curso-outcomes li{color:var(--text-dark);border-bottom:1px solid #0000000f;padding:12px 0 12px 28px;font-size:15px;line-height:1.55;position:relative}.curso-materials li:last-child,.curso-outcomes li:last-child{border-bottom:none}.curso-materials li:before,.curso-outcomes li:before{content:"✓";color:var(--accent);font-weight:600;position:absolute;top:12px;left:0}.curso-testimonials{gap:24px;margin:0;padding:0;list-style:none;display:grid}.curso-testimonial blockquote{background:var(--cream);border-left:3px solid var(--accent);border-radius:6px;padding:28px 32px}.curso-testimonial blockquote p{font-family:var(--serif);color:var(--text-dark);margin-bottom:12px;font-size:18px;font-style:italic;line-height:1.5}.curso-testimonial blockquote cite{color:var(--accent-dim);letter-spacing:.04em;font-size:13px;font-style:normal;display:block}.curso-cta{background:var(--cream);padding:80px 48px}.curso-cta-inner{text-align:center;max-width:720px;margin:0 auto}.curso-cta-inner p{color:var(--text-mid);margin-bottom:32px;font-size:16px;line-height:1.7}.curso-about{background:var(--white);border-bottom:1px solid #0000000f;padding:80px 48px}.curso-about-inner{max-width:760px;margin:0 auto}.curso-about-inner .section-title{margin:12px 0 28px}.curso-about-tagline{font-family:var(--serif);color:var(--text-dark);border-left:3px solid var(--accent);margin-bottom:28px;padding-left:22px;font-size:clamp(20px,2.4vw,26px);font-style:italic;line-height:1.45}.curso-about-body{color:var(--text-mid);margin-bottom:18px;font-size:17px;line-height:1.78}.curso-about-curriculum{border-top:1px solid #0000000f;margin-top:36px;padding-top:28px}.curso-about-curriculum h3{font-family:var(--serif);color:var(--text-dark);margin-bottom:14px;font-size:18px;font-weight:600}.curso-about-curriculum ul{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.curso-about-curriculum li{background:var(--cream);border-left:2px solid var(--accent);color:var(--text-dark);border-radius:2px;padding:12px 16px;font-size:14px}.curso-objectives{background:var(--cream);padding:80px 48px}.curso-objectives-inner{grid-template-columns:minmax(260px,360px) 1fr;align-items:start;gap:64px;max-width:1100px;margin:0 auto;display:grid}.curso-objective-main p{font-family:var(--serif);color:var(--text-dark);margin-top:18px;font-size:clamp(20px,2.2vw,26px);line-height:1.45}.curso-objective-main p strong{color:var(--accent-dim);font-weight:700}.curso-objective-list .section-title{margin-bottom:28px}.curso-objective-list ul{margin:0;padding:0;list-style:none}.curso-objective-list li{color:var(--text-dark);border-bottom:1px solid #0000000f;align-items:flex-start;gap:14px;padding:14px 0;font-size:16px;line-height:1.65;display:flex}.curso-objective-list li:last-child{border-bottom:none}.curso-objective-list li svg{color:var(--accent);flex-shrink:0;margin-top:4px}.curso-objective-list li strong{color:var(--text-dark);font-weight:700}.curso-next-steps{background:var(--dark);color:#fff;padding:80px 48px}.curso-next-steps-inner{text-align:center;max-width:880px;margin:0 auto}.curso-next-steps-inner .section-title{margin:12px 0 20px}.curso-next-steps-inner>p{color:#ffffffb3;margin-bottom:36px;font-size:17px;line-height:1.7}.curso-next-steps ul{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 40px;padding:0;list-style:none;display:grid}.curso-next-steps li{border-left:2px solid var(--accent);color:var(--white);background:#ffffff0d;border-radius:2px;align-items:center;gap:12px;padding:16px 20px;font-size:15px;font-weight:500;display:flex}.curso-next-steps li span{color:var(--accent);display:inline-flex}.curso-next-steps .btn-outline{color:var(--white);border-color:#fff6}.curso-next-steps .btn-outline:hover{border-color:var(--accent);color:var(--accent)}.curso-cta-cards{background:var(--white);border-top:1px solid #0000000f;padding:80px 48px}.curso-cta-cards-inner{text-align:center;max-width:1100px;margin:0 auto}.curso-cta-cards-sub{color:var(--text-mid);max-width:600px;margin:12px auto 40px;font-size:16px;line-height:1.7}.curso-cta-cards-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.curso-cta-card{background:var(--cream);border-top:3px solid var(--accent);border-radius:8px;flex-direction:column;min-height:280px;padding:32px 28px;display:flex}.curso-cta-card h3{font-family:var(--serif);color:var(--text-dark);margin-bottom:14px;font-size:22px;font-weight:600}.curso-cta-card p{color:var(--text-mid);flex:1;margin-bottom:24px;font-size:15px;line-height:1.65}.curso-cta-card .btn-primary{align-self:flex-start}.curso-cta-card-accent{background:var(--accent);border-top-color:var(--dark);color:#fff}.curso-cta-card-accent h3{color:#fff}.curso-cta-card-accent p{color:#ffffffe6}.curso-cta-card-accent .btn-primary{color:var(--accent-dim);background:#fff}.curso-cta-card-accent .btn-primary:hover,.curso-cta-card-dark{background:var(--dark);color:#fff}.curso-cta-card-dark{border-top-color:var(--accent)}.curso-cta-card-dark h3{color:#fff}.curso-cta-card-dark p{color:#ffffffb3}.curso-outcomes{margin:0;padding:0;list-style:none}.curso-outcomes li{color:var(--text-dark);border-bottom:1px solid #0000000d;align-items:flex-start;gap:12px;padding:12px 0;font-size:15px;line-height:1.6;display:flex}.curso-outcomes li:last-child{border-bottom:none}.curso-outcomes li svg{color:var(--accent);flex-shrink:0;margin-top:4px}.curso-faqs{background:var(--cream);padding:80px 48px}.curso-faqs-inner{max-width:800px;margin:0 auto}.curso-faqs-head{text-align:center;margin-bottom:40px}.curso-faqs-head .label-tag{align-items:center;gap:6px;display:inline-flex}.curso-faqs-list{grid-template-columns:repeat(2,1fr);align-items:start;gap:12px;display:grid}.curso-faqs-list>details{height:fit-content}.curso-what-you-get{margin:0;padding:0;list-style:none}.curso-what-you-get li{color:var(--text-dark);border-bottom:1px solid #0000000f;align-items:flex-start;gap:14px;padding:14px 0;font-size:16px;line-height:1.65;display:flex}.curso-what-you-get li:last-child{border-bottom:none}.curso-what-you-get li svg{color:var(--accent);flex-shrink:0;margin-top:4px}.curso-what-you-get li strong{color:var(--text-dark);font-weight:700}.curso-faq{background:var(--white);border:1px solid #0000000f;border-radius:6px;transition:box-shadow .2s}.curso-faq[open]{box-shadow:0 4px 18px #0000000f}.curso-faq summary{cursor:pointer;font-family:var(--serif);color:var(--text-dark);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-size:17px;font-weight:600;list-style:none;display:flex}.curso-faq summary::-webkit-details-marker{display:none}.curso-faq summary>span:first-child{flex:1}.curso-faq-toggle{flex-shrink:0;width:24px;height:24px;position:relative}.curso-faq-toggle:after,.curso-faq-toggle:before{content:"";background:var(--accent);border-radius:2px;transition:transform .25s,opacity .25s;position:absolute}.curso-faq-toggle:before{height:2px;top:50%;left:0;right:0;transform:translateY(-50%)}.curso-faq-toggle:after{width:2px;top:0;bottom:0;left:50%;transform:translate(-50%)}.curso-faq[open] .curso-faq-toggle:after{opacity:0;transform:translate(-50%)rotate(90deg)}.curso-faq-body{border-top:1px solid #0000000a;padding:0 24px 22px}.curso-faq-body p{color:var(--text-mid);margin-top:14px;font-size:15px;line-height:1.75}@media (max-width:900px){#navbar{padding:16px 24px}#navbar.scrolled{padding:12px 24px}.nav-links{display:none}.nav-links.open{background:#0c2229fa;border-top:1px solid #3fb8c033;flex-direction:column;align-items:stretch;gap:18px;padding:16px 24px;display:flex;position:absolute;top:100%;left:0;right:0}.nav-toggle{display:flex}.hero-inner{grid-template-columns:1fr;padding:100px 24px 60px}.hero-portrait{display:none}.hero-overlay{background:linear-gradient(120deg,#0c2733f2,#0c2733d1 60%,#0c2733b3)}#que-es{padding:64px 24px}.que-grid{gap:40px}.courses-grid,.que-grid{grid-template-columns:1fr}.card-accent{grid-column:span 1}#cta-final,#cursos,#footer,#por-que,#profesorado,#reconocimientos,#ruta,#sesiones{padding:64px 24px}.porq-grid,.prof-grid,.sesiones-features{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}.ruta-path{gap:32px}.modal-box{padding:32px 24px}.curso-hero{padding:110px 24px 60px}.curso-hero-overlay{background:linear-gradient(120deg,#0c2733f2,#0c2733d1 60%,#0c2733b3)}.curso-info{padding:56px 24px}.curso-info-grid{grid-template-columns:1fr;gap:32px}.curso-meta{position:static}.curso-about,.curso-cta,.curso-faqs{padding:56px 24px}.curso-faqs-list{grid-template-columns:1fr}.curso-objectives{padding:56px 24px}.curso-objectives-inner{grid-template-columns:1fr;gap:36px}.curso-cta-cards,.curso-next-steps{padding:56px 24px}.curso-cta-card{min-height:auto;padding:28px 22px}.curso-faq summary{padding:16px 18px;font-size:15px}.curso-faq-body{padding:0 18px 18px}.page-banner{padding:110px 24px 48px}.page-section{padding:56px 24px}.catalog-grid{grid-template-columns:1fr}.ruta-path{flex-direction:column;align-items:stretch;gap:0;max-width:460px;margin-left:auto;margin-right:auto;padding-left:4px}.ruta-step{text-align:left;flex:none;min-height:58px;padding:0 0 30px 78px;position:relative}.ruta-step:last-child{padding-bottom:0}.ruta-step:before{content:"";background:linear-gradient(180deg,var(--c-teal),var(--c-violet-soft));opacity:.4;border-radius:3px;width:3px;position:absolute;top:12px;bottom:-10px;left:28px}.ruta-step:last-child:before{display:none}.ruta-dot{margin:0;position:absolute;top:0;left:0}.ruta-connector{display:none}.ruta-tag{margin-bottom:4px;display:inline-block}.ruta-desc{max-width:none;margin:0}}@media (max-width:600px){#navbar{padding:14px 18px}.hero-inner{padding:96px 20px 56px}.hero-title{font-size:clamp(30px,8.5vw,42px)}.hero-sub{font-size:15.5px}.hero-btns{gap:10px}.hero-btns .btn-outline,.hero-btns .btn-primary{text-align:center;flex:auto}.hero-stats{gap:18px 24px}#cta-final,#cursos,#por-que,#profesorado,#que-es,#reconocimientos,#ruta,#sesiones{padding:56px 20px}.section-title{font-size:clamp(26px,7.5vw,34px)}.app-course-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.app-course-bar::-webkit-scrollbar{display:none}.app-course-bar-link{white-space:nowrap;flex:none}.app-course-bar-ext{margin-left:0}.app-main{padding:24px 16px 64px}.app-stats{grid-template-columns:1fr 1fr}}@media (max-width:900px){.recono-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.recono-grid{grid-template-columns:1fr;gap:18px;max-width:360px;margin-left:auto;margin-right:auto}}.app-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.app-pagination-info{color:var(--text-mid);letter-spacing:.02em;font-size:12.5px}.app-pagination-pages{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.app-page-link,.app-page-nav{border-radius:var(--r-sm);min-width:36px;height:36px;color:var(--text-mid);background:#fff;border:1px solid #0c22291a;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.app-page-link:hover,.app-page-nav:hover{border-color:var(--accent);color:var(--accent-dim);background:#3fb8c014}.app-page-link.active{background:var(--grad-accent);color:#fff;border-color:#0000;box-shadow:0 6px 16px -8px #3fb8c0b3}.app-page-nav{font-size:18px;font-weight:400}.app-page-nav.is-disabled{opacity:.4;cursor:default;pointer-events:none}.app-page-ellipsis{color:var(--text-mid);padding:0 4px}.app-mod-grade{color:var(--accent-dim);align-items:center;gap:4px;font-weight:600;display:inline-flex}.app-mod-status.fail{color:#b42318}.app-mod-detail{flex-wrap:wrap;gap:6px 10px;margin-top:5px;display:flex}.app-mod-date{color:var(--text-mid);border-radius:var(--r-pill);letter-spacing:.01em;background:#0c22290d;align-items:center;padding:2px 9px;font-size:11px;display:inline-flex}.app-mod-date.is-overdue{color:#b42318;background:#b4231814;font-weight:600}.app-mod-lock{color:#9a6a2d;border-radius:var(--r-pill);background:#9a6a2d1a;align-items:center;padding:2px 9px;font-size:11px;display:inline-flex}.app-cal-toolbar{align-items:center;gap:12px;margin-bottom:18px;display:flex}.app-cal-period{font-family:var(--serif);text-transform:capitalize;margin-right:auto;font-size:18px;font-weight:700}.app-cal-today{color:var(--accent-dim);border-radius:var(--r-pill);border:1px solid #3fb8c066;padding:6px 14px;font-size:12px;font-weight:600;text-decoration:none}.app-cal-today:hover{background:#3fb8c01a}.app-cal-grid{border-radius:var(--r-md);border:1px solid #0c222914;overflow:hidden}.app-cal-weekdays{background:var(--cream);border-bottom:1px solid #0c222914;grid-template-columns:repeat(7,1fr);display:grid}.app-cal-weekdays span{letter-spacing:.06em;text-transform:uppercase;color:var(--text-mid);padding:8px 10px;font-size:11px;font-weight:600}.app-cal-cells{grid-template-columns:repeat(7,1fr);display:grid}.app-cal-cell{background:#fff;border-bottom:1px solid #0c22290f;border-right:1px solid #0c22290f;flex-direction:column;gap:4px;min-height:104px;padding:6px;display:flex}.app-cal-cell:nth-child(7n){border-right:none}.app-cal-cell.is-out{background:#0c222905}.app-cal-cell.is-out .app-cal-cell-day{color:#0c22294d}.app-cal-cell-day{color:var(--text-mid);justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:inline-flex}.app-cal-cell.is-today .app-cal-cell-day{background:var(--grad-accent);color:#fff;border-radius:50%;box-shadow:0 4px 12px -4px #3fb8c0b3}.app-cal-cell-events{flex-direction:column;gap:3px;min-width:0;display:flex}.app-cal-chip{color:var(--text-dark);border-left:2px solid var(--accent);text-overflow:ellipsis;white-space:nowrap;background:#3fb8c01f;border-radius:4px;padding:2px 6px;font-size:11px;line-height:1.3;text-decoration:none;display:block;overflow:hidden}a.app-cal-chip:hover{background:#3fb8c038}.app-cal-chip-time{color:var(--accent-dim);margin-right:4px;font-weight:700}.app-cal-more{color:var(--text-mid);padding-left:4px;font-size:10.5px}.app-cal-upcoming{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.app-cal-up{border-radius:var(--r-md);color:inherit;background:#fff;border:1px solid #0c222914;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}a.app-cal-up:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.app-cal-up-date{min-width:72px;color:var(--accent-dim);flex-shrink:0;font-size:12px;font-weight:600}.app-cal-up-main{flex-direction:column;flex:1;min-width:0;display:flex}@media (max-width:640px){.app-cal-cell{min-height:64px;padding:4px}.app-cal-cell-day{width:20px;height:20px;font-size:11px}.app-cal-chip{padding:1px 4px;font-size:9px}.app-cal-chip-time{display:none}.app-cal-weekdays span{padding:6px 3px;font-size:9px}}.app-profile-courses{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.app-profile-course{border-radius:var(--r-md);color:inherit;background:#fff;border:1px solid #0c222912;align-items:center;gap:16px;padding:12px 14px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.app-profile-course:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.app-profile-course-name{color:var(--text-dark);flex:1;min-width:0;font-weight:500}.app-profile-course-prog{flex-shrink:0;align-items:center;gap:8px;width:160px;display:flex}.app-profile-course-prog .app-progress-track{flex:1}.app-tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.app-tag{color:var(--accent-dim);border-radius:var(--r-pill);background:#3fb8c01a;border:1px solid #3fb8c040;padding:5px 14px;font-size:13px}@media (max-width:600px){.app-profile-course{flex-wrap:wrap;gap:8px}.app-profile-course-prog{width:100%}}.app-news-banner{border-radius:var(--r-lg);background:var(--grad-vivid);color:#fff;align-items:center;gap:16px;margin-bottom:24px;padding:16px 22px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 14px 30px -12px #6b5cff8c}.app-news-banner:hover{transform:translateY(-2px);box-shadow:0 18px 36px -12px #6b5cffa6}.app-news-banner-icon{background:#ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.app-news-banner-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.app-news-banner-text>strong{letter-spacing:.16em;text-transform:uppercase;opacity:.85;font-size:11px;font-weight:600}.app-news-banner-text>span{font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.25}.app-news-banner-cta{border-radius:var(--r-pill);background:#ffffff2e;flex-shrink:0;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:600;display:inline-flex}.app-news-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.app-news-tab{border-radius:var(--r-pill);color:var(--text-mid);background:#fff;border:1px solid #0c22291a;flex-direction:column;gap:1px;padding:8px 16px;text-decoration:none;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.app-news-tab strong{color:var(--text-dark);font-size:13px;font-weight:600;line-height:1.2}.app-news-tab span{font-size:11px}.app-news-tab:hover{border-color:var(--accent)}.app-news-tab.active{background:var(--grad-accent);border-color:#0000;box-shadow:0 6px 16px -8px #3fb8c0b3}.app-news-tab.active span,.app-news-tab.active strong{color:#fff}.app-news-viewer{border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0c22290d;min-width:0;overflow:hidden}.app-news-viewer-head{border-bottom:1px solid #0c22290f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.app-news-viewer-title strong{font-size:15px;font-weight:600;display:block}.app-news-open{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.app-news-frame{background:#fff;border:0;width:100%;height:calc(100vh - 196px);min-height:600px;display:block}@media (max-width:860px){.app-news-frame{height:calc(100vh - 260px)}}@media (max-width:600px){.app-news-banner-cta{padding:8px 12px}}.btn-accent,.btn-nav,.btn-outline,.btn-primary,.btn-submit{border-radius:var(--r-pill)}.btn-nav,.btn-primary,.btn-submit{background:var(--gold);color:var(--dark);box-shadow:0 12px 28px -14px #c8a86a80}.btn-nav:hover,.btn-primary:hover,.btn-submit:hover{filter:none;background:var(--gold-soft,#e4cd93);color:var(--dark);transform:translateY(-2px);box-shadow:0 18px 34px -14px #c8a86a94}.btn-outline{-webkit-backdrop-filter:none;backdrop-filter:none}.hero-eyebrow{color:var(--gold-soft,#e4cd93);background:#c8a86a1a;border-color:#c8a86a4d}.app-news-banner{background:var(--dark);box-shadow:0 12px 30px -14px #0c273380}.app-news-banner:hover{box-shadow:0 16px 36px -14px #0c27339e}.app-news-banner-icon{color:#e4cd93;background:#c8a86a33}.app-news-banner-cta{background:var(--gold);color:var(--dark)}.ruta-step:hover .ruta-dot{box-shadow:0 14px 28px -10px #1f7a998c}.label-tag{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.7em;font-size:.74rem;font-weight:700;display:inline-flex;color:var(--gold-deep)!important}.label-tag:before{content:"";background:var(--gold);border-radius:2px;flex:none;width:22px;height:1.5px;display:inline-block}#cta-final .label-tag,#sesiones .label-tag,.app-continue .label-tag{color:var(--gold-soft)!important}.recono-label{color:var(--gold-deep)}.recono-label:before{background:linear-gradient(90deg,transparent,var(--gold))}.recono-label:after{background:linear-gradient(90deg,var(--gold),transparent)}.mark{color:var(--gold);font-style:italic}.app-section-num{color:var(--gold-deep)}.stat-num{color:var(--gold-soft,#e4cd93)}.btn-gold{background:var(--gold);color:var(--dark);cursor:pointer;font-family:var(--sans);border-radius:var(--r-pill);border:none;padding:14px 30px;font-size:14px;font-weight:600;text-decoration:none;transition:background .25s,transform .2s,box-shadow .25s;display:inline-block}.btn-gold:hover{background:var(--gold-soft,#e4cd93);transform:translateY(-2px);box-shadow:0 14px 30px -10px #c8a86a80}.course-card,.prof-card,.recono-card{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s}.app-cal-up:hover,.app-course-card:hover,.app-profile-course:hover,.app-stat-card:hover,.app-teacher-assign:hover,.course-card:hover,.feature-block:hover,.pillar:hover,.prof-card:hover,.recono-card:hover{border-color:var(--gold)}.app-mod-icon,.app-mod-icon-customcert,.app-mod-icon-folder,.app-mod-icon-forum,.app-mod-icon-quiz,.app-mod-icon-resource,.app-mod-icon-url,.app-teacher-assign-icon{color:var(--gold-deep);background:#c8a86a24;border-radius:50%}.app-icon-btn:hover{border-color:var(--gold);color:var(--gold-soft)}#que-es{background:var(--dark);isolation:isolate;position:relative}#que-es .label-tag{color:var(--gold-soft)!important}#que-es .section-title{color:var(--cream)}#que-es .body-text{color:#f4f1e8b8}#que-es .blockquote-cayo{border-left-color:var(--gold)}#que-es .blockquote-cayo p{color:var(--cream)}#que-es .blockquote-cayo cite{color:var(--gold-soft)}.pillar{border-radius:var(--r-lg);box-shadow:none;background:#ffffff06;border:1px solid #f4f1e817;padding:30px 28px;transition:transform .32s cubic-bezier(.22,1,.36,1),border-color .32s,background .32s,box-shadow .32s;position:relative}.pillar:hover{border-color:var(--gold);background:#c8a86a12;transform:translateY(-6px);box-shadow:0 22px 46px -24px #000000a6}.pillar-num{font-family:var(--serif);letter-spacing:.14em;color:var(--gold-deep);margin-bottom:16px;font-size:14px;font-weight:600;transition:color .3s;display:block}.pillar-icon,.pillar:hover .pillar-num{color:var(--gold-soft)}.pillar-icon{width:52px;height:52px;background:#c8a86a1a;border:1px solid #c8a86a61;border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;transition:background .3s,border-color .3s,color .3s;display:inline-flex}.pillar:hover .pillar-icon{border-color:var(--gold);color:#fff;background:#c8a86a2e}.pillar h3{color:var(--cream);font-size:18px}.pillar p{color:#f4f1e89e}.pillar p strong{color:var(--gold-soft);font-weight:600}.hero-stats{gap:36px 40px}.stat-num{letter-spacing:-.01em;font-size:clamp(26px,2.6vw,33px);line-height:1.05}.stat-label{margin-top:6px}.stats-band-section{background:var(--dark);padding:4px 48px 72px}.stats-band{border-radius:var(--r-xl);background:#ffffff04;border:1px solid #c8a86a38;grid-template-columns:repeat(4,1fr);max-width:1280px;margin:0 auto;display:grid;overflow:hidden}.stats-cell{text-align:center;opacity:0;border-left:1px solid #c8a86a29;padding:38px 28px;transform:translateY(16px)}.stats-band.is-in .stats-cell{animation:stats-rise .65s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i,0) * .12s)}.stats-cell:first-child{border-left:none}.stats-cell-num{font-family:var(--serif);letter-spacing:.01em;color:var(--gold-soft,#e4cd93);font-variant-numeric:tabular-nums;font-size:clamp(32px,3.6vw,46px);font-weight:600;line-height:1;transition:color .25s}.stats-cell:hover .stats-cell-num{color:#fff}.stats-cell-label{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#9ccad6b8;margin-top:13px;font-size:11px;font-weight:600;line-height:1.45}@keyframes stats-rise{to{opacity:1;transform:none}}@media (max-width:760px){.stats-band{grid-template-columns:1fr 1fr}.stats-cell{padding:28px 18px}.stats-cell:nth-child(odd){border-left:none}.stats-cell:nth-child(n+3){border-top:1px solid #c8a86a29}}@media (prefers-reduced-motion:reduce){.stats-band .stats-cell{opacity:1;animation:none;transform:none}}.feature-block{background:#ffffff08;border:1px solid #f4f1e817;transition:transform .32s cubic-bezier(.22,1,.36,1),border-color .32s,background .32s,box-shadow .32s}.feature-block:hover{border-color:var(--gold);background:#c8a86a12;transform:translateY(-6px);box-shadow:0 22px 46px -24px #0009}.feature-icon{width:52px;height:52px;color:var(--gold-soft);background:#c8a86a1a;border:1px solid #c8a86a61;border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;transition:background .3s,border-color .3s,color .3s;display:inline-flex}.feature-block:hover .feature-icon{border-color:var(--gold);color:#fff;background:#c8a86a2e}@keyframes tndr-pulse{0%,to{opacity:1}50%{opacity:.35}}.app-side-badge{letter-spacing:.08em;background:var(--gold);color:var(--dark);border-radius:var(--r-pill);margin-left:auto;padding:2px 6px;font-size:9px;font-weight:700}.eco-top{grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr) minmax(290px,.8fr);align-items:stretch;gap:18px;margin-bottom:26px;display:grid}.eco-top-rail{flex-direction:column;align-self:start;gap:16px;min-width:0;display:flex}.eco-top>.eco-hero,.eco-top>.eco-promo-banner{height:100%}.eco-promo-banner{border-radius:var(--r-xl);min-height:210px;box-shadow:var(--shadow-sm);background-color:#cfc3e6;background-position:50%;background-size:cover;align-items:flex-end;text-decoration:none;transition:box-shadow .25s,transform .25s;display:flex;position:relative;overflow:hidden}.eco-promo-banner:before{content:"";background:linear-gradient(95deg,#fbf8f1eb,#fbf8f199 42%,#fbf8f100 74%);position:absolute;inset:0}.eco-promo-banner:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.eco-promo-content{max-width:78%;padding:24px 26px;position:relative}.eco-promo-chip{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dim);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);background:#fff;padding:5px 12px;font-size:11px;font-weight:700;display:inline-block}.eco-promo-title{font-family:var(--serif);color:var(--text-dark);margin:12px 0 6px;font-size:28px;font-weight:700;line-height:1.1}.eco-promo-desc{color:var(--text-mid);max-width:360px;margin:0 0 14px;font-size:14px;line-height:1.5}.eco-promo-cta{color:var(--accent-dim);letter-spacing:.02em;font-size:13px;font-weight:700}.eco-promo-banner:hover .eco-promo-cta{color:var(--accent)}.eco-stack{flex-direction:column;gap:26px;display:flex}.eco-h2{font-family:var(--serif);color:var(--text-dark);letter-spacing:-.01em;margin:0;font-size:25px;font-weight:700}.eco-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.eco-section-head-left{align-items:center;gap:12px;display:flex}.eco-link{color:var(--accent-dim);letter-spacing:.03em;white-space:nowrap;font-size:12px;font-weight:600;text-decoration:none}.eco-link:hover{color:var(--accent)}.eco-btn-cream{background:var(--white);color:var(--dark);border-radius:var(--r-pill);align-items:center;gap:8px;padding:13px 24px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 24px -10px #0006}.eco-btn-cream:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px #00000080}.eco-btn-teal{background:var(--grad-vivid);color:#fff;border-radius:var(--r-pill);justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:11px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:filter .2s,transform .2s;display:inline-flex}.eco-btn-teal:hover{filter:brightness(1.05);transform:translateY(-1px)}.eco-btn-gold{text-align:center;background:var(--gold);color:var(--dark);border-radius:var(--r-pill);font-family:var(--sans);cursor:pointer;border:none;justify-content:center;align-items:center;padding:11px 20px;font-size:13px;font-weight:700;text-decoration:none;transition:filter .2s,transform .2s;display:inline-flex}.eco-btn-gold:hover{filter:brightness(1.05);transform:translateY(-1px)}.eco-btn-gold[disabled]{opacity:.6;cursor:default;filter:none;transform:none}.eco-chip-gold{letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);background:#c8a86a38;padding:5px 12px;font-size:11px;display:inline-block}.eco-badge-gold,.eco-chip-gold{border-radius:var(--r-pill);font-weight:700}.eco-badge-gold{background:var(--gold);color:var(--dark);padding:4px 10px;font-size:12px}.eco-live-chip{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dim);border-radius:var(--r-pill);background:#1f7a991a;align-items:center;gap:6px;padding:5px 11px;font-size:10px;font-weight:700;display:inline-flex}.eco-live-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:tndr-pulse 1.6s infinite}.eco-live-dot-static{width:8px;height:8px;animation:tndr-pulse 1.8s infinite}.eco-hero{background:var(--grad-vivid);border-radius:var(--r-xl);color:#fff;flex-direction:column;padding:26px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px -20px #15596fb3}.eco-hero-glow{pointer-events:none;background:#c8a86a29;border-radius:50%;width:240px;height:240px;position:absolute;top:-40px;right:-40px}.eco-hero-inner{flex:1;align-items:stretch;gap:26px;display:flex;position:relative}.eco-hero-copy{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.eco-hero-title{font-family:var(--serif);margin:10px 0 8px;font-size:27px;font-weight:700;line-height:1.12}.eco-hero-desc{color:#fffc;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:380px;margin:0 0 16px;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.eco-hero-prices{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.eco-hero-price{font-family:var(--serif);color:#fff;font-size:40px;font-weight:700}.eco-hero-old{color:#ffffff8c;font-size:18px;text-decoration:line-through}.eco-hero-cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.eco-hero-note{color:#fff9;font-size:12px}.eco-hero-aside{flex-direction:column;flex:0 0 180px;gap:14px;display:flex}.eco-hero-media{border-radius:var(--r-lg);background:#ffffff14;flex:1;min-height:160px;position:relative;overflow:hidden;box-shadow:0 14px 30px -12px #00000080}.eco-hero-media img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.eco-countdown{border-radius:var(--r-lg);text-align:center;background:#0c273380;border:1px solid #c8a86a59;padding:12px 14px}.eco-countdown-label{letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:6px;font-size:10px}.eco-countdown-value{font-family:var(--sans);font-variant-numeric:tabular-nums;color:#fff;letter-spacing:.02em;font-size:18px;font-weight:700}.eco-track{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:18px;padding-bottom:10px;display:flex;overflow-x:auto}.eco-track::-webkit-scrollbar{height:8px}.eco-track::-webkit-scrollbar-track{background:0 0}.eco-track::-webkit-scrollbar-thumb{background:#1f7a9947;border-radius:99px}.eco-card{scroll-snap-align:start;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0c22290f;border-radius:12px;flex:0 0 232px;text-decoration:none;transition:box-shadow .25s,border-color .25s,transform .25s;display:block;overflow:hidden}.eco-card:hover{border-color:#1f7a994d;transform:translateY(-4px);box-shadow:0 12px 28px -14px #0c1e374d}.eco-card-media{background:#e6efee;height:140px;position:relative;overflow:hidden}.eco-card-media img{object-fit:cover;width:100%;height:100%;display:block}.eco-card-badge{position:absolute;top:10px;left:10px}.eco-card-body{padding:14px 16px 16px}.eco-card-title{font-family:var(--serif);color:var(--text-dark);margin:0 0 3px;font-size:17px;font-weight:600;line-height:1.25}.eco-card-cat{color:var(--text-mid);letter-spacing:.02em;margin:0 0 12px;font-size:11px}.eco-card-foot{justify-content:space-between}.eco-card-foot,.eco-card-prices{align-items:baseline;display:flex}.eco-card-prices{gap:8px}.eco-card-price{font-family:var(--serif);color:var(--accent-dim);font-size:22px;font-weight:700}.eco-card-old{color:#9aa7ad;font-size:12px;text-decoration:line-through}.eco-card-plus{width:30px;height:30px;color:var(--accent-dim);background:#1f7a991a;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;display:flex}.eco-card-skeleton{pointer-events:none}.eco-skel{background:linear-gradient(90deg,#0c27330f 25%,#0c27331f 37%,#0c27330f 63%) 0 0/400% 100%;border-radius:6px;animation:eco-shimmer 1.4s infinite}.eco-card-skeleton .eco-card-media{background:0 0}.eco-skel-line{height:14px;margin-bottom:10px}.eco-skel-line.short{width:55%}@keyframes eco-shimmer{0%{background-position:100%}to{background-position:0}}.eco-grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.eco-course-card{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0c22290f;border-radius:12px;flex-direction:column;transition:box-shadow .25s,transform .25s;display:flex;overflow:hidden}.eco-course-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.eco-course-media{background:#e6efee;height:158px;position:relative;overflow:hidden}.eco-course-media img{object-fit:cover;width:100%;height:100%;display:block}.eco-course-media img.eco-img-top{object-position:center top}.eco-course-badge{letter-spacing:.06em;text-transform:uppercase;background:var(--dark-mid);color:var(--gold-soft);border-radius:var(--r-pill);padding:5px 11px;font-size:10px;font-weight:700;position:absolute;top:12px;left:12px}.eco-course-body{flex-direction:column;flex:1;padding:18px 20px 20px;display:flex}.eco-course-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:10px;font-weight:700}.eco-course-title{font-family:var(--serif);color:var(--text-dark);margin:0 0 6px;font-size:21px;font-weight:600;line-height:1.2}.eco-course-desc{color:var(--text-mid);margin:0 0 14px;font-size:13px;line-height:1.55}.eco-course-meta{flex-direction:column;gap:7px;margin:0 0 16px;padding:0;list-style:none;display:flex}.eco-course-meta li{color:var(--text-mid);font-size:12.5px;line-height:1.45}.eco-course-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.eco-course-prices{align-items:baseline;gap:8px;display:flex}.eco-course-price{font-family:var(--serif);color:var(--accent-dim);font-size:24px;font-weight:700}.eco-course-spots{color:var(--gold-deep);border-radius:var(--r-pill);white-space:nowrap;background:#c8a86a29;padding:4px 10px;font-size:11px;font-weight:600}.eco-reserva{border-radius:var(--r-md,12px);background:#c8a86a1a;border:1px solid #c8a86a4d;margin-top:14px;padding:12px 14px}.eco-contacto-title,.eco-reserva-title{letter-spacing:.04em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.eco-reserva-holder{color:var(--text-mid);margin:0;font-size:12.5px;line-height:1.4}.eco-reserva-iban{font-family:var(--mono,ui-monospace,"SFMono-Regular",Menlo,monospace);letter-spacing:.02em;color:var(--accent-dim);word-break:break-word;margin:4px 0 0;font-size:13.5px;font-weight:600}.eco-contacto{margin-top:12px}.eco-contacto ul{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.eco-contacto li{font-size:12.5px;line-height:1.4}.eco-contacto a{color:var(--text-mid);text-decoration:none}.eco-contacto a:hover{color:var(--accent-dim);text-decoration:underline}.eco-pack-card{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0c22290f;border-radius:12px;gap:16px;padding:16px;text-decoration:none;transition:box-shadow .25s,transform .25s,border-color .25s;display:flex}.eco-pack-card:hover{box-shadow:var(--shadow-md);border-color:#1f7a9940;transform:translateY(-3px)}.eco-pack-thumb{background:#e6efee;border-radius:9px;flex:0 0 96px;height:96px;overflow:hidden}.eco-pack-thumb img{object-fit:cover;width:100%;height:100%;display:block}.eco-pack-body{flex-direction:column;flex:1;min-width:0;display:flex}.eco-pack-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:700}.eco-pack-title{font-family:var(--serif);color:var(--text-dark);margin:3px 0 5px;font-size:18px;font-weight:600;line-height:1.2}.eco-pack-items{color:var(--text-mid);flex:1;margin:0 0 8px;font-size:11px;line-height:1.5}.eco-pack-prices{align-items:baseline;gap:8px;display:flex}.eco-pack-price{font-family:var(--serif);color:var(--accent-dim);font-size:21px;font-weight:700}.eco-referral{background:var(--grad-dark);border-radius:var(--r-xl);color:#fff;align-items:center;gap:24px;padding:26px 30px;display:flex}.eco-referral-copy{flex:1;min-width:0}.eco-referral-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);font-size:11px;font-weight:700}.eco-referral-title{font-family:var(--serif);margin:10px 0 6px;font-size:24px;font-weight:600}.eco-referral-desc{color:#ffffffb8;max-width:460px;margin:0;font-size:13px;line-height:1.6}.eco-referral-desc strong{color:var(--gold-soft);font-weight:700}.eco-referral-steps{flex-direction:column;gap:4px;max-width:460px;margin:12px 0 0;padding:0 0 0 18px;display:flex}.eco-referral-steps li{color:#ffffffb3;font-size:12.5px;line-height:1.45}.eco-referral-steps li::marker{color:var(--gold-soft);font-weight:700}.eco-referral-actions{flex-direction:column;align-items:stretch;gap:10px;display:flex}.eco-referral-code{border-radius:var(--r-md);cursor:pointer;font:inherit;background:#ffffff14;border:1px dashed #c8a86a80;align-items:center;gap:10px;padding:10px 16px;display:flex}.eco-referral-code:hover{background:#ffffff24}.eco-referral-code-value{font-family:var(--sans);letter-spacing:.12em;color:var(--gold-soft);font-weight:700}.eco-referral-code-hint{color:#ffffff8c;margin-left:auto;font-size:11px}.eco-news-signup{background:linear-gradient(150deg,var(--gold),var(--gold-deep));border-radius:var(--r-xl);color:#fff;flex-direction:column;padding:22px 22px 24px;display:flex;box-shadow:0 14px 30px -16px #9a7f44b3}.eco-news-kicker{letter-spacing:.16em;text-transform:uppercase;color:#ffffffd9;font-size:11px;font-weight:700}.eco-news-title{font-family:var(--serif);margin:8px 0 6px;font-size:23px;font-weight:600;line-height:1.18}.eco-news-desc{color:#ffffffd1;margin:0 0 14px;font-size:12px;line-height:1.55}.eco-news-form{gap:8px;margin-top:auto;display:flex}.eco-news-input{border-radius:var(--r-md);min-width:0;font-size:12px;font-family:var(--sans);color:var(--text-dark);background:#ffffffeb;border:none;flex:1;padding:10px 12px}.eco-news-input::placeholder{color:#9aa7ad}.eco-news-input:focus-visible{outline:2px solid var(--dark);outline-offset:1px}.eco-news-submit{background:var(--dark);color:#fff;border-radius:var(--r-md);cursor:pointer;font-size:12px;font-weight:700;font-family:var(--sans);border:none;padding:10px 14px;transition:filter .2s}.eco-news-submit:hover{filter:brightness(1.15)}.eco-news-done{background:#0c273340;margin:auto 0 0;padding:12px 14px;font-size:13px}.eco-news-done,.eco-news-err{color:#fff;border-radius:var(--r-md);font-weight:600}.eco-news-err{background:#8c282359;margin:10px 0 0;padding:8px 12px;font-size:12.5px}.eco-news-input[disabled],.eco-news-submit[disabled]{opacity:.7;cursor:default}.eco-rail-card{border-radius:var(--r-xl);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0c22290f;padding:20px 22px}.eco-rail-head{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:14px;display:flex}.eco-rail-title{font-family:var(--serif);color:var(--text-dark);margin:0;font-size:18px;font-weight:700}.eco-rail-title-tight{margin-bottom:12px;font-size:17px}.eco-news-list{margin:0;padding:0;list-style:none}.eco-news-item{border-bottom:1px solid #0000000d;padding:15px 0;text-decoration:none;display:block}.eco-news-list li:last-child .eco-news-item{border-bottom:none}.eco-news-item-meta{align-items:center;gap:8px;margin-bottom:6px;display:flex}.eco-news-item-kicker{letter-spacing:.08em;color:var(--gold);font-size:10px;font-weight:700}.eco-news-item-date{color:#9aa7ad;font-size:10px}.eco-news-item-title{font-family:var(--serif);color:var(--text-dark);margin:0 0 5px;font-size:17px;font-weight:600;line-height:1.25}.eco-news-item-link{color:var(--accent-dim);font-size:11px;font-weight:600}.eco-news-item:hover .eco-news-item-link{color:var(--accent)}.eco-agenda-list{margin:0;padding:0;list-style:none}.eco-agenda-item{align-items:center;gap:12px;padding:9px 0;display:flex}.eco-agenda-date{text-align:center;background:var(--cream);border-radius:var(--r-md);flex:0 0 46px;padding:6px 4px;line-height:1.1}.eco-agenda-day{font-family:var(--serif);color:var(--accent-dim);font-size:18px;font-weight:700;display:block}.eco-agenda-month{letter-spacing:.08em;color:var(--text-mid);font-size:9px;display:block}.eco-agenda-body{flex:1;min-width:0}.eco-agenda-title{color:var(--text-dark);font-size:13px;font-weight:600}.eco-agenda-place{color:var(--text-mid);font-size:11px}.eco-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;background:#0c1e298c;justify-content:center;align-items:center;padding:20px;animation:eco-fade .18s;display:flex;position:fixed;inset:0}@keyframes eco-fade{0%{opacity:0}to{opacity:1}}.eco-modal{border-radius:var(--r-xl);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:460px;max-height:90vh;padding:28px 28px 24px;animation:eco-rise .2s cubic-bezier(.22,1,.36,1);position:relative;overflow-y:auto}@keyframes eco-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.eco-modal-close{color:var(--text-mid);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:2px 8px;font-size:26px;line-height:1;position:absolute;top:12px;right:14px}.eco-modal-close:hover{color:var(--text-dark);background:#0000000d}.eco-modal-title{font-family:var(--serif);color:var(--text-dark);margin:6px 0;font-size:26px;font-weight:700}.eco-modal-sub{color:var(--text-mid);margin:0 0 18px;font-size:13px;line-height:1.5}.eco-modal-form{gap:12px}.eco-field,.eco-modal-form{flex-direction:column;display:flex}.eco-field{gap:5px;min-width:0}.eco-field>span{color:var(--text-mid);font-size:12px;font-weight:600}.eco-field-row{gap:12px;display:flex}.eco-field-row .eco-field{flex:1}.eco-input{font-family:var(--sans);color:var(--text-dark);background:var(--cream);border-radius:var(--r-md);border:1px solid #0c22291f;width:100%;padding:10px 12px;font-size:14px}.eco-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.eco-input-code{letter-spacing:.12em;color:var(--accent-dim);background:#1f7a9914;font-weight:700}.eco-modal-error{color:#b4423a;margin:0;font-size:12.5px}.eco-modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.eco-btn-ghost{color:var(--text-dark);border-radius:var(--r-pill);font-family:var(--sans);cursor:pointer;background:0 0;border:1px solid #0c222933;padding:11px 18px;font-size:13px;font-weight:600}.eco-btn-ghost:hover{border-color:var(--text-dark)}.eco-modal-done{text-align:center;padding:8px 4px 4px}.eco-modal-done h3{font-family:var(--serif);color:var(--text-dark);margin:0 0 10px;font-size:24px;font-weight:700}.eco-modal-done p{color:var(--text-mid);margin:0 0 18px;font-size:14px;line-height:1.55}@media (max-width:1100px){.eco-top{grid-template-columns:1fr}}@media (max-width:640px){.eco-grid-2,.eco-top{grid-template-columns:1fr}.eco-hero-inner{flex-direction:column;align-items:stretch}.eco-hero-aside{flex-basis:auto}.eco-referral{flex-direction:column;align-items:stretch}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}