*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{width:100%;min-height:100vh;overflow-x:hidden}:root{--rose-50: #fdf1f6;--rose-100: #fcecf2;--rose-200: #f7cadb;--rose-300: #f19cbf;--rose-400: #ea6aa1;--rose-500: #e84393;--rose-600: #d6337f;--rose-700: #b0245f;--rose-800: #8a1d52;--rose-900: #5c1337;--gold-50: #faf4ea;--gold-100: #f8efe0;--gold-200: #ecd8b0;--gold-300: #e7c687;--gold-400: #dcb877;--gold-500: #cd9e55;--gold-600: #a88042;--gold-700: #8a6a2c;--gold-800: #5e481e;--primary: var(--rose-500);--primary-light: var(--rose-300);--primary-dark: var(--rose-700);--primary-glow: rgba(214, 51, 127, .28);--accent-text: var(--rose-700);--btn-primary: linear-gradient(135deg, var(--rose-600), var(--rose-700));--primary-strong: var(--rose-600);--text-on-primary: #ffffff;--gold: var(--gold-500);--gold-light: var(--gold-300);--gold-dark: var(--gold-600);--gold-glow: rgba(205, 158, 85, .3);--gold-text: #7a5a1f;--btn-gold: linear-gradient(135deg, var(--gold-300), var(--gold-500));--text-on-gold: #2d1b14;--bg: #f8ede6;--bg-elevated: #fffbf7;--surface: #f5e8e0;--surface-sunken: #f0e0d6;--surface-rose: #f9e0e8;--surface-gold: #f5e7cf;--border: #ead6c8;--border-strong: #d9bda6;--text-primary: #3a1a22;--text-secondary: #634250;--text-muted: #775962;--title: #7a1c48;--danger: #a8264f;--danger-soft: #fbe8ee;--success: #2f7a4f;--success-soft: #e7f3ec;--warning: #7f5e1f;--warning-soft: #f8eedb;--focus-ring: rgba(214, 51, 127, .45);--text-on-status: var(--bg-elevated);--overlay: rgba(20, 8, 12, .55);--overlay-strong: rgba(20, 8, 12, .8);--media-bg: #120a0d;--shadow-color: rgb(58, 26, 34);--brand-whatsapp: #25d366;--brand-whatsapp-dark: #128c7e;--brand-instagram: #e1306c;--brand-instagram-gradient: linear-gradient(135deg, #f58529 0%, #dd2a7b 50%, #8134af 100%);--shadow-sm: 0 1px 3px rgba(58, 26, 34, .05), 0 1px 2px rgba(58, 26, 34, .06);--shadow-md: 0 4px 16px rgba(58, 26, 34, .07), 0 2px 4px rgba(58, 26, 34, .04);--shadow-lg: 0 12px 40px rgba(58, 26, 34, .1), 0 4px 12px rgba(58, 26, 34, .05);--shadow-xl: 0 24px 60px rgba(58, 26, 34, .14), 0 8px 20px rgba(58, 26, 34, .06);--shadow-glow: 0 8px 24px var(--primary-glow);--shadow-gold: 0 8px 32px var(--gold-glow);--body-glow: radial-gradient(ellipse 70% 55% at 100% 0%, rgba(232, 67, 147, .18) 0%, transparent 60%), radial-gradient(ellipse 65% 55% at 0% 100%, rgba(205, 158, 85, .24) 0%, transparent 58%), radial-gradient(ellipse 45% 35% at 0% 0%, rgba(231, 198, 135, .18) 0%, transparent 55%);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.25rem;--radius-xl: 1.5rem;--radius-full: 9999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--space-12: 6rem;--font-heading: "Kaushan Script", cursive;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.175, .885, .32, 1.275);--dur-fast: .15s;--dur-base: .25s;--dur-slow: .4s;--touch-min: 44px;--tab-bar-height: 56px;--mobile-pad-x: 1rem;--page-max: 1280px;--page-pad-x: 2rem;--content-narrow: 42rem;--content-medium: 56rem;--input-font-size: .95rem}@media(max-width:768px){:root{--page-pad-x: var(--mobile-pad-x)}}.skeleton{display:block;background:linear-gradient(90deg,var(--surface) 25%,var(--bg-elevated) 37%,var(--surface) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}[data-theme=dark]{--primary: var(--rose-500);--primary-light: #f7b3cf;--primary-dark: var(--rose-600);--primary-glow: rgba(214, 51, 127, .35);--accent-text: #f48fb8;--gold: #D8AC63;--gold-light: #ECD094;--gold-dark: #A57F3A;--gold-glow: rgba(216, 172, 99, .2);--gold-text: #e2bd7c;--bg: #150b0f;--bg-elevated: #20121a;--surface: #2a1822;--surface-sunken: #1a0e14;--surface-rose: #331826;--surface-gold: #2b2117;--border: rgba(226, 189, 124, .14);--border-strong: rgba(226, 189, 124, .26);--text-primary: #f6ecee;--text-secondary: #d0b9bf;--text-muted: #a58b93;--title: var(--text-primary);--danger: #f5a3bd;--danger-soft: #3a1424;--success: #8fd3a8;--success-soft: #16271e;--warning: #ecc98a;--warning-soft: #2e2414;--focus-ring: rgba(244, 143, 184, .5);--shadow-color: rgb(0, 0, 0);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .45);--shadow-xl: 0 24px 60px rgba(0, 0, 0, .55);--body-glow: radial-gradient(ellipse 70% 50% at 100% 0%, rgba(214, 51, 127, .16) 0%, transparent 60%), radial-gradient(ellipse 60% 50% at 0% 100%, rgba(205, 158, 85, .1) 0%, transparent 55%)}*,*:before,*:after{box-sizing:border-box}:where(a,button,summary,[role=button],[tabindex],input[type=checkbox],input[type=radio],input[type=range],input[type=color],input[type=file]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:where(a,button,[role=button]){-webkit-tap-highlight-color:transparent}img,video,picture{max-width:100%;height:auto;display:block}@media(max-width:768px){:root{--input-font-size: 16px}.btn-primary,.btn-secondary{min-height:var(--touch-min)}}body{margin:0;font-family:var(--font-body);background-color:var(--bg);color:var(--text-primary);line-height:1.6;font-weight:400;background-image:var(--body-glow);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s var(--ease-out),color .4s var(--ease-out)}h1,h2,h3,h4,h5,h6{font-family:var(--font-body);color:var(--text-primary);line-height:1.2;margin-top:0;font-weight:700}button{cursor:pointer;font-family:var(--font-body)}a{transition:color .3s ease}.container{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-pad-x)}.header{background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border);padding:.85rem 0;position:sticky;top:0;z-index:100;transition:background var(--dur-slow) var(--ease-out),border-bottom-color var(--dur-slow) var(--ease-out)}.nav{display:flex;justify-content:space-between;align-items:center}.logo{text-decoration:none;display:flex;align-items:center;gap:.6rem;letter-spacing:-.01em;transition:opacity .3s ease}@media(hover:hover){.logo:hover{opacity:.85}}.logo__img{height:48px;width:auto}.logo__name{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,var(--gold) 0%,var(--primary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-right:.2em;overflow:visible}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links .nav-login{padding:.5rem 1rem;color:var(--text-on-primary)}.nav-links--sections,.nav-links--student{margin-left:auto;margin-right:1.5rem}.nav-links--sections+.nav-links--student{margin-left:0}.nav-links--student a.active{color:var(--accent-text)}.site-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.site-shell>main{flex:1 0 auto}.nav-links a{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.92rem;position:relative;padding:.25rem 0;transition:color .3s ease}.nav-links a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--gold));border-radius:2px;transition:width .3s var(--ease-out)}@media(hover:hover){.nav-links a:hover{color:var(--accent-text)}}@media(hover:hover){.nav-links a:hover:after{width:100%}}.hero{padding:8rem 1rem 5rem;position:relative;overflow:hidden}.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero__content{display:flex;flex-direction:column;align-items:flex-start}.hero__photo{position:relative;height:540px;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 28%,black 100%);mask-image:linear-gradient(to right,transparent 0%,black 28%,black 100%)}.hero__photo-img{width:100%;height:100%;object-fit:cover;border-radius:0 20px 20px 0}.hero__photo-placeholder{width:100%;height:100%;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,transparent),color-mix(in srgb,var(--gold) 12%,transparent),color-mix(in srgb,var(--primary) 6%,transparent));border:2px dashed color-mix(in srgb,var(--primary) 25%,transparent);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.hero__photo-emoji{font-size:4rem;opacity:.4}.hero__photo-label{font-size:.8rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.hero__heading{font-size:clamp(3.2rem,7vw,6.5rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:1.5rem;font-family:var(--font-body);font-family:var(--font-heading)}.hero__heading em{font-style:italic;font-weight:700;color:var(--accent-text)}.hero__desc{font-size:1.1rem;color:var(--text-secondary);max-width:480px;line-height:1.7;margin-bottom:2.2rem;font-weight:400}@keyframes gradientSlide{0%{background-position:0% 50%}to{background-position:200% 50%}}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .7rem;border-radius:var(--radius-full);border:1px solid transparent;font-size:.75rem;font-weight:700;line-height:1.2;white-space:nowrap}.badge--success{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 25%,transparent)}.badge--warning{color:var(--warning);background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 25%,transparent)}.badge--danger{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.badge--neutral{color:var(--text-secondary);background:var(--surface-sunken);border-color:var(--border-strong)}.badge--rose{color:var(--accent-text);background:var(--surface-rose);border-color:color-mix(in srgb,var(--primary) 25%,transparent)}.badge--gold{color:var(--gold-text);background:var(--surface-gold);border-color:color-mix(in srgb,var(--gold) 35%,transparent)}.btn-primary,.btn-secondary,.btn-gold,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-full);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),background-color var(--dur-fast),border-color var(--dur-base)}.btn-primary{background:var(--btn-primary);color:var(--text-on-primary);padding:.85rem 2rem;font-size:.92rem;letter-spacing:.02em;box-shadow:0 4px 20px var(--primary-glow);border:none;position:relative;overflow:hidden;z-index:0}.btn-primary:before{content:"";position:absolute;inset:0;background:var(--btn-gold);opacity:0;transition:opacity .4s ease;z-index:-1}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);padding:.65rem 1.5rem;font-size:.9rem;border:1.5px solid var(--border-strong)}.btn-gold{background:var(--btn-gold);color:var(--text-on-gold);padding:.75rem 1.6rem;font-size:.9rem;border:none;box-shadow:0 4px 16px var(--gold-glow)}.btn-ghost{background:none;color:var(--accent-text);padding:.6rem 1.1rem;font-size:.9rem;border:none}@media(hover:hover){.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 32px var(--primary-glow);color:var(--text-on-gold)}.btn-primary:hover:before{opacity:1}.btn-secondary:hover{border-color:var(--primary);color:var(--accent-text);background:var(--surface-rose);transform:translateY(-2px)}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 26px var(--gold-glow)}.btn-ghost:hover{background:var(--surface-rose)}}.btn-primary:active,.btn-secondary:active,.btn-gold:active,.btn-ghost:active{transform:scale(.97);transition-duration:var(--dur-fast)}.btn-primary:active{box-shadow:0 3px 14px var(--primary-glow)}.btn-secondary:active,.btn-ghost:active{background:var(--surface-rose);border-color:var(--primary-light)}:is(.btn-primary,.btn-secondary,.btn-gold,.btn-ghost):disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-success{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.6rem;border:none;border-radius:var(--radius-full);background:var(--success);color:var(--text-on-status);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast),filter var(--dur-base)}@media(hover:hover){.btn-success:hover:not(:disabled){filter:brightness(1.08)}}.btn-success:active:not(:disabled){transform:scale(.97)}.btn-success:disabled{opacity:.5;cursor:not-allowed}:is(.btn-primary,.btn-secondary,.btn-gold,.btn-ghost,.btn-danger,.btn-success).btn-sm{min-height:36px;padding:.4rem .95rem;font-size:.82rem;letter-spacing:normal}.btn-icon svg{display:block}:is(.btn-primary,.btn-secondary,.btn-gold,.btn-ghost,.btn-danger,.btn-success).btn-icon{width:36px;min-width:36px;height:36px;padding:0}@media(max-width:768px){:is(.btn-primary,.btn-secondary,.btn-gold,.btn-ghost,.btn-danger,.btn-success).btn-sm{min-height:var(--touch-min)}:is(.btn-primary,.btn-secondary,.btn-gold,.btn-ghost,.btn-danger,.btn-success).btn-icon{width:var(--touch-min);min-width:var(--touch-min);height:var(--touch-min)}}.catalog-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.25rem;margin-top:3rem}.catalog-pagination .btn-secondary{font-family:inherit;cursor:pointer}.catalog-pagination .btn-secondary:disabled{opacity:.45;cursor:not-allowed;border-color:var(--border);color:var(--text-muted);transform:none}.catalog-pagination__status{font-family:var(--font-body);color:var(--text-secondary);font-size:.95rem;min-width:8rem;text-align:center}.admin-grid>.admin-card{display:flex;flex-direction:column}.card-action-btn{align-self:flex-start;margin-top:auto;white-space:nowrap}.cd-page{padding-bottom:4rem}.cd-back{display:inline-flex;align-items:center;gap:.4rem;margin:2rem 0 1.5rem;font-size:.9rem;color:var(--text-muted);text-decoration:none;transition:color .2s}@media(hover:hover){.cd-back:hover{color:var(--accent-text)}}.cd-hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-bottom:3.5rem}.cd-hero__visual{border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:16 / 10;background:var(--surface);box-shadow:var(--shadow-lg)}.cd-hero__img{width:100%;height:100%;object-fit:cover;display:block}.cd-hero__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;background:linear-gradient(135deg,var(--surface),var(--bg-elevated))}.cd-hero__content{display:flex;flex-direction:column;gap:1.25rem;padding-top:.5rem}.cd-hero__title{font-family:var(--font-heading);font-size:2.4rem;line-height:1.2;color:var(--text-primary);margin:0}.cd-hero__desc{font-size:1.05rem;line-height:1.7;color:var(--text-secondary);margin:0}.cd-hero__stats{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.cd-stat{display:inline-flex;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--border);padding:.5rem 1rem;border-radius:var(--radius-full);font-size:.85rem;font-weight:500;color:var(--text-secondary)}.cd-stat--live{background:color-mix(in srgb,var(--primary) 6%,transparent);border-color:color-mix(in srgb,var(--primary) 20%,transparent);color:var(--accent-text)}.cd-stat__icon{font-size:1rem;line-height:1}.cd-body{display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start}.cd-section-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.cd-section-title{font-family:var(--font-heading);font-size:1.6rem;color:var(--text-primary);margin:0}.cd-section-badge{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));color:var(--accent-text);font-size:.8rem;font-weight:600;padding:.3rem .9rem;border-radius:var(--radius-full)}.cd-timeline{list-style:none;margin:0;padding:0;position:relative}.cd-timeline:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primary),var(--gold));opacity:.25;border-radius:1px}.cd-timeline__item{display:grid;grid-template-columns:42px 1fr;gap:1.25rem;padding-bottom:1.75rem;position:relative}.cd-timeline__item:last-child{padding-bottom:0}.cd-timeline__marker{display:flex;align-items:flex-start;justify-content:center;padding-top:.15rem;z-index:1}.cd-timeline__number{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--gold));color:var(--text-on-primary);font-weight:700;font-size:.9rem;box-shadow:0 2px 8px color-mix(in srgb,var(--primary) 25%,transparent);flex-shrink:0}.cd-timeline__content{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}@media(hover:hover){.cd-timeline__content:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translate(4px)}}.cd-timeline__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.cd-timeline__title{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0}.cd-timeline__meta{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.cd-timeline__duration{font-family:var(--font-body);font-variant-numeric:tabular-nums;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 10%,transparent),color-mix(in srgb,var(--primary) 5%,transparent));padding:.3rem .8rem;border-radius:var(--radius-full);font-size:.78rem;color:var(--gold-text);font-weight:600;border:1px solid var(--border)}.cd-timeline__badge{font-size:.7rem;font-weight:600;letter-spacing:.03em;padding:.2rem .65rem;border-radius:var(--radius-full);text-transform:uppercase;white-space:nowrap}.cd-timeline__badge--live{background:var(--btn-primary);color:var(--text-on-primary);box-shadow:0 2px 6px color-mix(in srgb,var(--primary) 30%,transparent)}.cd-timeline__badge--recorded{background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 12%,transparent),color-mix(in srgb,var(--primary) 6%,transparent));color:var(--gold-text);border:1px solid var(--border)}.cd-timeline__desc{font-size:.9rem;color:var(--text-muted);line-height:1.5;margin:0}.cd-sidebar{position:sticky;top:6rem;container-type:inline-size}@container (min-width: 520px){.cd-purchase-card{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:2rem}.cd-purchase-card>*{grid-column:1 / -1}.cd-purchase-card>.cd-purchase-card__price{grid-column:1;margin-bottom:0}.cd-purchase-card>.cd-purchase-card__price+.cd-purchase-card__cta{grid-column:2}}.cd-purchase-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.cd-purchase-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--gold))}.cd-purchase-card__price{display:flex;align-items:baseline;gap:.15rem;margin-bottom:1.5rem;padding-top:.5rem}.cd-purchase-card__currency{font-size:1.4rem;font-weight:600;color:var(--text-secondary)}.cd-purchase-card__amount{font-family:var(--font-heading);font-size:3rem;font-weight:700;color:var(--text-primary);line-height:1}.cd-purchase-card__cta{width:100%;padding:1rem;font-size:1.05rem;font-weight:600;letter-spacing:.02em;border:none;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary),var(--gold));color:var(--text-on-gold);cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out);box-shadow:0 4px 15px color-mix(in srgb,var(--primary) 30%,transparent)}@media(hover:hover){.cd-purchase-card__cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--primary) 40%,transparent)}}.cd-purchase-card__cta:disabled{opacity:.7;cursor:not-allowed;transform:none}.cd-purchase-card__error{margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem;color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);border-radius:var(--radius-md)}.cd-purchase-card__success{margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem;color:var(--gold-text);background:color-mix(in srgb,var(--gold) 8%,transparent);border-radius:var(--radius-md)}.cd-purchase-card__pending{margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem;color:var(--text-secondary);background:color-mix(in srgb,var(--shadow-color) 4%,transparent);border-left:3px solid var(--gold);border-radius:var(--radius-sm)}.cd-purchase-card__features{list-style:none;margin:1.5rem 0 0;padding:1.5rem 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.cd-purchase-card__features li{font-size:.9rem;color:var(--text-secondary);padding-left:1.6rem;position:relative}.cd-purchase-card__features li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700}.empty-lessons{text-align:center;padding:3rem 2rem;color:var(--text-muted);font-size:1.1rem;background:var(--surface);border-radius:var(--radius-lg);border:1px dashed var(--border-strong)}@media(max-width:968px){.cd-hero{gap:1.5rem}.cd-body{grid-template-columns:1fr}.cd-sidebar{position:static;order:-1}}@media(max-width:700px){.cd-hero{grid-template-columns:1fr}.cd-hero__visual{max-height:50svh}}@media(max-width:600px){.cd-hero__title{font-size:1.8rem}.cd-timeline__item{grid-template-columns:36px 1fr;gap:.75rem}.cd-timeline__number{width:36px;height:36px;font-size:.8rem}.cd-timeline:before{left:17px}.cd-timeline__header{flex-direction:column;align-items:flex-start;gap:.5rem}.cd-purchase-card__amount{font-size:2.4rem}}.footer{background:var(--bg-elevated);padding:3.5rem 0;margin-top:6rem;text-align:center;color:var(--text-muted);border-top:1px solid var(--border);font-size:.9rem;position:relative}.footer:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--gold-light),var(--primary-light),var(--gold-light),transparent)}.video-player-container{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid var(--border)}.card{background:var(--bg-elevated);padding:2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--gold))}:where(input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=url],input[type=tel],input[type=date],input[type=time],input[type=datetime-local],input[type=month],textarea,select){font-family:var(--font-body);font-size:var(--input-font-size);background:var(--surface);color:var(--text-primary);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);padding:.8rem 1rem;width:100%;box-sizing:border-box;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}[data-theme=dark] input,[data-theme=dark] select{color-scheme:dark}html{accent-color:var(--primary)}@supports (appearance: base-select){@media(hover:hover)and (pointer:fine){select:not([multiple]):not([size]),select:not([multiple]):not([size])::picker(select){appearance:base-select}select:not([multiple]):not([size]){display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer}select::picker-icon{color:var(--text-muted);transition:rotate var(--dur-base) var(--ease-out)}select:open::picker-icon{rotate:180deg}::picker(select){margin-top:.25rem;padding:.3rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-lg)}select option{padding:.5rem .75rem;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;color:var(--text-primary);cursor:pointer}select option:hover,select option:focus-visible{background:var(--surface);outline:none}select option:checked{background:var(--primary-glow);color:var(--accent-text);font-weight:600}select option::checkmark{color:var(--accent-text)}}}label{font-weight:500;font-size:.9rem;color:var(--text-secondary)}.theme-switch{position:relative;display:flex;align-items:center;width:64px;height:32px;flex-shrink:0}.theme-switch input{opacity:0;width:0;height:0;position:absolute;z-index:-1;pointer-events:none}.slider{position:absolute;cursor:pointer;inset:0;background:linear-gradient(135deg,var(--gold-light),var(--surface-sunken));transition:background var(--dur-slow) var(--ease-out),border-color var(--dur-slow) var(--ease-out),filter var(--dur-slow) var(--ease-out);border-radius:34px;border:2px solid transparent;display:flex;align-items:center;justify-content:space-between;padding:0 4px;box-shadow:inset 0 2px 4px color-mix(in srgb,var(--shadow-color) 6%,transparent)}.slider:before{position:absolute;content:"";height:24px;width:24px;left:4px;bottom:2px;background:var(--bg-elevated);transition:transform var(--dur-slow) var(--ease-bounce),background var(--dur-slow) var(--ease-bounce),box-shadow var(--dur-slow) var(--ease-bounce);border-radius:50%;box-shadow:0 2px 8px color-mix(in srgb,var(--shadow-color) 15%,transparent);z-index:2}input:checked+.slider{background:linear-gradient(135deg,var(--surface),var(--surface-rose));border-color:var(--primary)}input:checked+.slider:before{transform:translate(32px);background:linear-gradient(135deg,var(--primary),var(--primary-light));box-shadow:0 0 12px var(--primary-glow)}.icon-sun,.icon-moon{font-size:16px;z-index:1;-webkit-user-select:none;user-select:none;line-height:1;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .3s ease}.icon-sun{left:8px;color:var(--gold-dark);opacity:0}.icon-moon{right:8px;color:var(--text-muted);opacity:1}input:checked+.slider .icon-sun{opacity:1}input:checked+.slider .icon-moon{opacity:0}@media(hover:hover){.slider:hover{filter:brightness(1.03)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary-light),var(--gold));border-radius:var(--radius-full);transition:filter var(--dur-base) var(--ease-out)}@media(hover:hover){::-webkit-scrollbar-thumb:hover{filter:brightness(.92) saturate(1.15)}}::selection{background:color-mix(in srgb,var(--primary) 20%,transparent);color:var(--text-primary)}@media(max-width:768px){.gallery-item{width:220px;height:155px}.gallery-section{padding:3rem 0 4rem}.hero{padding:5rem 1rem 3.5rem}.hero__inner{grid-template-columns:1fr;gap:2rem}.hero__photo{height:280px;-webkit-mask-image:linear-gradient(to top,transparent 0%,black 30%,black 100%);mask-image:linear-gradient(to top,transparent 0%,black 30%,black 100%)}.hero__heading{font-size:2.8rem}.hero__desc{font-size:1rem}.header{padding:.6rem 0}.nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem .5rem}.nav-links{gap:.75rem}.nav-links--sections{display:none}.nav-links--student{grid-column:1 / -1;grid-row:2;margin:0;justify-content:center;gap:1.25rem}.course-details-card{padding:1.5rem}}@media(max-width:480px){.hero__heading{font-size:2.2rem}.logo{gap:.4rem}.logo__img{height:34px;width:auto}.logo__name{font-size:1rem;line-height:1.05;max-width:7em;padding-right:.5em}.nav-links{gap:.5rem}.nav-links .nav-login{padding:.5rem .9rem}}.admin-page{padding:2.5rem var(--page-pad-x) 4rem;max-width:var(--page-max);margin:0 auto;animation:fadeInUp .5s var(--ease-out)}.admin-list{container:admin-list / inline-size;display:flex;flex-direction:column;gap:.6rem}.admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem 1rem;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--dur-base) var(--ease-out)}@media(hover:hover){.admin-row:hover{border-color:var(--border-strong)}}.admin-row__main{min-width:0;display:flex;flex-direction:column;gap:.15rem}.admin-row__title{font-weight:600;color:var(--text-primary);text-decoration:none;overflow-wrap:anywhere}a.admin-row__title:active{color:var(--accent-text)}@media(hover:hover){a.admin-row__title:hover{color:var(--accent-text)}}.admin-row__meta{font-size:.8rem;color:var(--text-muted)}.admin-row__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.admin-row:not(:has(>.badge)){grid-template-columns:minmax(0,1fr) auto}@container admin-list (max-width: 44rem){.admin-row,.admin-row:not(:has(>.badge)){grid-template-columns:minmax(0,1fr) auto}.admin-row__actions{grid-column:1 / -1;justify-content:flex-start}}.admin-card--narrow{max-width:var(--content-narrow)}.admin-notice{margin-bottom:1.5rem;padding:1rem 1.25rem;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:var(--radius-md);background:var(--surface-gold)}.admin-notice__title{margin:0;font-weight:700;color:var(--gold-text)}.admin-notice__text{margin:.5rem 0 0;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.admin-notice--compact{padding:.5rem 1rem}.admin-notice--compact .admin-notice__text{margin:0}.admin-notice--compact .admin-notice__text strong{color:var(--gold-text)}.admin-section__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.admin-section__head .admin-section__title{margin:0;padding:0;border:none}.admin-section__actions{display:flex;flex-wrap:wrap;gap:.4rem}.admin-row--selectable{cursor:pointer}.admin-row--selectable:has(input:checked){border-color:var(--primary-light);background:var(--surface-rose)}.admin-row__main--check{flex-direction:row;align-items:center;gap:.75rem}.admin-row__meta--code{font-family:monospace}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.input-code{font-family:monospace}input.input-code{text-transform:uppercase}.admin-page--narrow>*{max-width:var(--content-narrow)}.admin-page--medium>*{max-width:var(--content-medium)}.admin-header{margin-bottom:2.5rem}.admin-header h1{font-size:2.4rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary) 60%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.admin-header p{color:var(--text-muted);font-size:1rem}.admin-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.request-list{display:flex;flex-direction:column;gap:1rem}.request-card{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem}.request-card__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.admin-card .request-card__names{margin:0;color:var(--text-primary);font-size:1.05rem;overflow-wrap:anywhere}.request-card__arrow{margin:0 .5rem;color:var(--text-muted)}.request-card__new{color:var(--accent-text)}.request-card__feedback{width:100%;resize:vertical}.request-card__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem}.admin-tab-panel{margin-top:1.5rem}.admin-section{margin-top:2.5rem}.admin-section__title{margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);font-size:1.3rem;color:var(--text-primary)}.admin-section__status{color:var(--text-muted)}.admin-card{background:var(--bg-elevated);border-radius:var(--radius-xl);padding:2rem;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out),border-color var(--dur-slow) var(--ease-out);position:relative;overflow:hidden}.admin-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--gold));opacity:.6;transition:opacity .3s ease}@media(hover:hover){.admin-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--border-strong)}}@media(hover:hover){.admin-card:hover:before{opacity:1}}.admin-card-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.25rem}.admin-card h3{font-family:var(--font-heading);font-size:1.3rem;margin-bottom:.5rem;color:var(--text-primary)}.admin-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;margin-left:.5rem;border-radius:11px;background:var(--primary-strong);color:var(--text-on-primary);font-family:var(--font-body);font-size:.75rem;font-weight:700;line-height:1;vertical-align:middle}.admin-card p{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin-bottom:1.25rem}.admin-course-row{display:flex;align-items:stretch;gap:.5rem}.admin-course-link{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);text-decoration:none;color:var(--text-primary);font-size:.9rem;font-weight:500;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}@media(hover:hover){.admin-course-link:hover{background:var(--bg-elevated);border-color:var(--primary);transform:translate(4px);box-shadow:var(--shadow-sm)}}.admin-course-link-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-course-link-meta{font-size:.8rem;color:var(--text-muted);font-weight:400;white-space:nowrap;flex-shrink:0}.admin-course-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0 .75rem;border-radius:var(--radius-md);border:1px solid var(--danger);background:color-mix(in srgb,var(--danger) 6%,transparent);color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out);white-space:nowrap}@media(hover:hover){.admin-course-delete:hover{background:color-mix(in srgb,var(--danger) 14%,transparent)}}.admin-course-delete--confirm{background:var(--danger);border-color:var(--danger);color:var(--text-on-status);font-weight:600}@media(hover:hover){.admin-course-delete--confirm:hover{background:var(--danger);border-color:var(--danger)}}.admin-course-delete:disabled{opacity:.5;cursor:not-allowed}.admin-course-links{display:flex;flex-direction:column;gap:.5rem}.admin-form{background:var(--bg-elevated);border-radius:var(--radius-xl);padding:2.5rem;border:1px solid var(--border);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.admin-form:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--gold))}.admin-form h1{font-size:1.8rem;margin-bottom:.25rem;color:var(--text-primary)}.admin-form__title{margin:0 0 .25rem;font-size:1.4rem;color:var(--text-primary)}.form-submit{align-self:flex-start;margin-top:.5rem}.add-lesson-form{margin-top:1rem}.lesson-edit-form{display:flex;flex-direction:column;gap:.75rem}.lesson-edit-form .form-group,.lesson-edit-form .checkbox-group{margin-bottom:0}.feature-hint{margin:0 0 .75rem}.feature-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.feature-row input{flex:1;min-width:0}.thumb-current{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin-bottom:1.25rem}.thumb-current__img{width:100%;max-width:320px;border-radius:var(--radius-md)}.admin-form-subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-group{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border)}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.checkbox-group label{margin:0;cursor:pointer;font-weight:500;color:var(--text-primary)}.alert{padding:.85rem 1.15rem;border-radius:var(--radius-md);margin-bottom:1.25rem;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.alert-error{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 12%,transparent)}.alert-success{background:var(--success-soft);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 15%,transparent)}.admin-lesson-list{display:flex;flex-direction:column;gap:.75rem}.admin-lesson-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}@media(hover:hover){.admin-lesson-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}}.admin-lesson-item.is-dragging{opacity:.85;box-shadow:0 12px 28px color-mix(in srgb,var(--shadow-color) 20%,transparent),0 4px 10px color-mix(in srgb,var(--shadow-color) 10%,transparent);border-color:var(--primary);transform:scale(1.02);background:var(--surface)}.admin-lesson-view{display:flex;justify-content:space-between;align-items:center;gap:1rem}.drag-handle{cursor:grab;font-size:1.2rem;color:var(--text-muted);padding:.25rem .5rem;border-radius:4px;flex-shrink:0;-webkit-user-select:none;user-select:none;touch-action:none;transition:color .15s ease}@media(hover:hover){.drag-handle:hover{color:var(--accent-text);background:var(--surface-rose)}}.drag-handle:active{cursor:grabbing}.certificate-notice{background:color-mix(in srgb,var(--gold) 12%,transparent);border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);border-radius:var(--radius-md);padding:.65rem .85rem;font-size:.8rem;color:var(--gold-text);line-height:1.5;margin-top:.4rem}.certificate-preview{margin-top:.75rem;padding:1.1rem 1.25rem;border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--surface-gold),color-mix(in srgb,var(--gold) 18%,var(--surface-gold)));text-align:center}.certificate-preview__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .5rem}.certificate-preview__divider{border:none;border-top:1px solid color-mix(in srgb,var(--gold) 35%,transparent);margin:0 0 .75rem}.certificate-preview__granted{font-size:.78rem;color:var(--text-muted);margin:0 0 .35rem}.certificate-preview__name{font-family:var(--font-heading);font-size:1.3rem;font-style:italic;color:var(--gold-800);margin:0 0 .75rem;line-height:1.3}.certificate-preview__footer{font-size:.68rem;letter-spacing:.06em;color:color-mix(in srgb,var(--gold) 70%,transparent);margin:0}.email-taken-notice{background:color-mix(in srgb,var(--warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--warning) 20%,transparent);border-radius:var(--radius-md);padding:.5rem .75rem;font-size:.8rem;color:var(--warning);margin-top:.35rem}.add-lesson-toggle{display:flex;align-items:center;gap:.6rem;width:100%;padding:.9rem 1.25rem;background:var(--bg-elevated);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--accent-text);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease}@media(hover:hover){.add-lesson-toggle:hover{background:var(--surface-rose);border-color:var(--primary)}}.add-lesson-toggle-icon{font-size:1.1rem;display:inline-block;transition:transform .25s ease}.add-lesson-toggle-icon.open{transform:rotate(45deg)}.add-lesson-panel{max-height:0;overflow:hidden;transition:max-height .35s ease}.add-lesson-panel.open{max-height:3000px}.admin-lesson-info{flex:1;min-width:0}.admin-lesson-info h4{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.admin-lesson-info p{font-size:.85rem;color:var(--text-muted);margin-bottom:.35rem}.admin-lesson-meta{font-size:.8rem;color:var(--text-muted);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem}.admin-lesson-meta__url{overflow-wrap:anywhere}.admin-actions{display:flex;gap:.5rem;flex-shrink:0}.back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent-text);text-decoration:none;font-weight:500;font-size:.9rem;margin-bottom:1.5rem;transition:color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}@media(hover:hover){.back-link:hover{color:var(--gold-text);transform:translate(-3px)}}.admin-loading{display:flex;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-muted);font-size:1.05rem}.admin-empty{text-align:center;padding:2rem;color:var(--text-muted);font-size:.9rem;font-style:italic;background:var(--surface);border-radius:var(--radius-md);border:1px dashed var(--border-strong)}.admin-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-top:1.5rem}.admin-tab{padding:.7rem 1.5rem;border:none;background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.95rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--dur-base) var(--ease-out),border-bottom-color var(--dur-base) var(--ease-out)}@media(hover:hover){.admin-tab:hover{color:var(--text-primary)}}.admin-tab--active{color:var(--accent-text);border-bottom-color:var(--primary-strong)}.correction-group{margin-bottom:1.5rem;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.correction-group__items{padding:.75rem;background:var(--bg-elevated)}.correction-group-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--surface)}.correction-group-toggle{display:flex;align-items:center;gap:.6rem;background:none;border:none;cursor:pointer;padding:0;text-align:left;color:inherit}.correction-group-arrow{font-size:.85rem;color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.correction-group-arrow--open{transform:rotate(90deg)}.correction-group-title{font-family:var(--font-heading);font-size:1.1rem;color:var(--text-primary);margin:0}.correction-group-count{font-family:var(--font-body);font-size:.8rem;color:var(--gold-text);font-weight:600}.history-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}input.filter-control,select.filter-control{flex:1;min-width:0;padding:.5rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-family:var(--font-body);font-size:.85rem;cursor:pointer}.filter-control:focus{outline:none;border-color:var(--primary-strong)}input.filter-control[type=search]{cursor:text}@media(max-width:768px){input.filter-control,select.filter-control{font-size:16px}}.history-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.history-page-info{font-size:.85rem;color:var(--text-muted)}.status-pending{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.review-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem}@media(max-width:768px){.review-layout{grid-template-columns:1fr}}.review-meta{margin-bottom:1rem;padding:.75rem 1rem;background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);font-size:.9rem}.review-progress{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-muted)}.review-progress-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.review-progress-fill{display:block;height:100%;background:var(--primary-strong);border-radius:3px;transition:width .4s ease}.review-meta__lesson{color:var(--text-muted)}.review-meta__date{display:block;margin-top:.25rem;font-size:.8rem;color:var(--text-muted)}.review-image-missing{padding:2rem;text-align:center;color:var(--text-muted)}.review-done__cta{margin-top:1rem}.review-done{text-align:center;padding:3rem 2rem;margin-top:2rem}.review-done-icon{font-size:3rem;margin-bottom:1rem}.review-done h2{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:.5rem}.review-done p{color:var(--text-muted);font-size:.95rem}.review-images{display:flex;flex-direction:column;gap:1.5rem}.review-image-block h3{font-family:var(--font-heading);font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.review-image{width:100%;border-radius:var(--radius-md);border:1px solid var(--border);object-fit:contain;max-height:400px;background:var(--surface)}.review-panel{display:flex;flex-direction:column;gap:1rem}.review-section h3{font-family:var(--font-heading);font-size:1rem;color:var(--text-primary);margin-bottom:.4rem}.review-instructions{font-size:.9rem;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap}.review-actions{display:flex;gap:.75rem;margin-top:.5rem}.review-actions__btn{flex:1;min-height:var(--touch-min)}.review-status-banner{display:inline-block;padding:.4rem 1rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem}.voice-review{display:flex;flex-direction:column;gap:var(--space-3)}.voice-review--approve,.voice-review--reject{padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface)}.voice-review--approve{border-left:4px solid var(--success)}.voice-review--reject{border-left:4px solid var(--danger)}.voice-review__hint{font-size:.85rem;color:var(--text-muted);line-height:1.5}.voice-review__error{font-size:.85rem;color:var(--danger);background:var(--danger-soft);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.voice-review__decision{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.voice-review__live{display:flex;align-items:center;gap:var(--space-2);font-weight:600;color:var(--text-primary)}.voice-review__dot{width:12px;height:12px;border-radius:var(--radius-full);background:var(--danger);animation:voice-review-pulse 1.2s ease-in-out infinite}@keyframes voice-review-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.voice-review__timer{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.voice-review__progress{height:4px;border-radius:var(--radius-full);background:var(--border);overflow:hidden}.voice-review__progress span{display:block;height:100%;background:var(--primary);transition:width .25s linear}.voice-review__buttons{display:flex;gap:var(--space-3)}.voice-review__buttons>button{flex:1;min-height:var(--touch-min)}.voice-review__preview{width:100%}.voice-review__cancel{align-self:center;background:none;border:none;color:var(--text-muted);font-size:.85rem;text-decoration:underline;cursor:pointer;min-height:var(--touch-min)}.review-audio{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.review-audio__play{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;min-height:var(--touch-min);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);border:none;border-radius:var(--radius-full);background:var(--primary-strong);color:var(--text-on-primary);font-family:var(--font-body);font-weight:600;font-size:.95rem;cursor:pointer;box-shadow:var(--shadow-glow);transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.review-audio__play:not(:disabled):active{transform:scale(.97)}.review-audio__play:disabled{opacity:.6;cursor:wait}.review-audio__play-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--text-on-primary) 22%,transparent);font-size:.8rem}.review-audio__duration{font-variant-numeric:tabular-nums;opacity:.85;font-weight:500}.review-audio__player{width:100%}.review-audio__note{font-size:.8rem;color:var(--text-muted)}.review-audio__error{font-size:.85rem;color:var(--danger)}.review-audio__transcribing{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-min);font-size:.85rem;color:var(--text-muted)}.review-audio__spinner{width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.review-audio__legacy-text{font-size:.95rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.review-audio__transcript summary,.review-history summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text-secondary);min-height:var(--touch-min);display:flex;align-items:center}.review-audio__transcript p{font-size:.95rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap;margin:var(--space-1) 0}.review-audio__transcript small{font-size:.75rem;color:var(--text-muted)}.review-history{border-top:1px solid var(--border);padding-top:var(--space-2)}.review-history__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.review-history__item{padding-left:var(--space-3);border-left:2px solid var(--border-strong)}.review-history__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:.8rem;color:var(--text-muted)}.review-history__decision{font-weight:700;padding:.1rem .55rem;border-radius:var(--radius-full)}.review-history__decision--approved{color:var(--gold-text);background:var(--gold-glow)}.review-history__decision--rejected{color:var(--danger);background:var(--danger-soft)}.submission-player{max-width:720px;margin:0 auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.submission-loading{color:var(--text-muted);text-align:center;padding:2rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin:0}.submission-row{display:grid;grid-template-columns:275px minmax(0,1fr);gap:1.5rem;align-items:start;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}@media(max-width:640px){.submission-row{grid-template-columns:1fr}}.submission-row.submission-row--approved{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;position:relative;background:color-mix(in srgb,var(--success) 8%,transparent);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.submission-approved__icon{position:absolute;top:1rem;right:1.25rem;font-size:2.25rem;line-height:1;pointer-events:none;z-index:1}.submission-row.submission-row--approved>h3{font-family:var(--font-heading);font-size:1.2rem;color:var(--success);margin:0;line-height:1.25}.submission-row.submission-row--approved>.submission-feedback{width:100%;box-sizing:border-box}.submission-row.submission-row--approved>h3,.submission-row.submission-row--approved>.submission-cell-text{padding-right:3rem}.submission-row h3{font-family:var(--font-heading);font-size:1.1rem;color:var(--text-primary);margin:0 0 .65rem;line-height:1.25}.submission-row__media{min-width:0}.submission-row__content{display:flex;flex-direction:column;gap:.75rem;min-width:0;padding-top:.15rem}.submission-row__content>.submission-badge{align-self:flex-start}.submission-media{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);display:block}.submission-media--empty{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem;font-style:italic;background:var(--bg)}.submission-cell-text{font-size:.98rem;color:var(--text-secondary);line-height:1.65;white-space:pre-wrap;margin:0}.submission-cell-text--success{color:var(--success);font-weight:500}.submission-cell-empty{font-size:.85rem;color:var(--text-muted);font-style:italic;margin:0}.submission-error{color:var(--danger);font-size:.85rem;margin:0}.submission-cell-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.submission-entry-btn{flex:1 1 auto;min-width:0;padding:.5rem 1rem;font-size:.85rem}.submission-entry-photo{position:relative;width:100%}.submission-file-input{display:none}.submission-file-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;width:100%;aspect-ratio:4 / 3;border:2px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);cursor:pointer;transition:border-color .2s ease,color .2s ease;text-align:center;padding:.5rem;font-size:.85rem}@media(hover:hover){.submission-file-dropzone:hover{border-color:var(--primary-strong);color:var(--text-primary)}}.submission-file-dropzone-icon{font-size:1.6rem}.submission-file-dropzone-hint{font-size:.7rem;color:var(--text-muted);line-height:1.3}.submission-file-dropzone{gap:.6rem;cursor:default}.submission-file-option{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);width:min(100%,15rem);cursor:pointer}@media(pointer:fine){.submission-file-option--camera{display:none}}.submission-file-label--overlay{position:absolute;top:.4rem;right:.4rem;background:var(--overlay);color:var(--text-on-primary);padding:.25rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;border:none}@media(hover:hover){.submission-file-label--overlay:hover{background:var(--overlay-strong)}}.submission-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .8rem;border-radius:999px;font-size:.82rem;font-weight:600;line-height:1;white-space:nowrap}.submission-badge--pending{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent)}.submission-badge--approved{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.submission-badge--rejected{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.submission-feedback{padding:.85rem 1rem;background:color-mix(in srgb,var(--shadow-color) 3%,transparent);border-radius:var(--radius-sm);border-left:3px solid var(--primary-strong)}.submission-feedback strong{font-size:.75rem;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.submission-feedback p{font-size:.95rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap;margin:.35rem 0 0}.edit-course-top-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.edit-course-top-row>.admin-form{display:flex;flex-direction:column}.edit-course-top-row>.admin-form>button,.edit-course-top-row>.admin-form>form>button:last-child{margin-top:auto}@media(max-width:768px){.edit-course-top-row{grid-template-columns:1fr}.admin-page{padding-top:1.5rem;padding-bottom:3rem}.admin-grid{grid-template-columns:1fr}.admin-form{padding:1.75rem}.form-row{grid-template-columns:1fr}.admin-lesson-view{flex-direction:column;align-items:flex-start}.admin-actions{width:100%}}.section-eyebrow{font-size:2rem;font-weight:700;color:var(--accent-text);margin-bottom:.75rem;display:block;font-family:var(--font-heading)}.section-divider{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong),transparent);margin:0}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:.5rem}.home-about{padding:6rem 0;position:relative}.home-about:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--gold) 2.5%,transparent) 50%,transparent 100%);pointer-events:none}.home-about__inner{display:grid;grid-template-columns:420px 1fr;gap:5rem;align-items:center}.home-about__image-wrap{display:flex;justify-content:center}.home-about__avatar{width:340px;height:420px;object-fit:cover;object-position:top;border-radius:20px;-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent 100%);mask-image:linear-gradient(to bottom,black 60%,transparent 100%);position:relative;box-shadow:var(--shadow-lg),0 0 0 8px color-mix(in srgb,var(--gold) 6%,transparent)}.home-about__content h2{font-size:2.75rem;margin-bottom:.25rem;line-height:1.5;font-family:var(--font-heading);padding:0 .2em .2em 0;overflow:visible}.home-about__name{background:linear-gradient(135deg,var(--primary),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;padding-right:.5em}.home-about__role{font-size:.82rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.75rem;display:block}.home-about__bio{color:var(--text-secondary);line-height:1.85;font-size:1rem;font-weight:300;margin-bottom:1rem}.home-stats{display:flex;gap:2.5rem;margin-top:2.25rem;padding-top:2rem;border-top:1px solid var(--border)}.stat-item{display:flex;flex-direction:column;gap:.2rem}.stat-value{font-family:var(--font-body);font-size:2.1rem;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.stat-label{font-size:.72rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.08em}.home-preview{padding:6rem 0}.home-preview__header{text-align:center;margin-bottom:3.5rem}.home-preview__header h2{font-size:2.75rem;margin-bottom:.75rem}.home-preview__subtitle{color:var(--text-muted);font-size:1rem;font-weight:300}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(260px,(100% - 4rem) / 3)),1fr));gap:2rem;margin-bottom:3rem}.preview-card{background:var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--border);overflow:hidden;transition:transform var(--dur-slow) var(--ease-bounce),box-shadow var(--dur-slow) var(--ease-bounce),border-color var(--dur-slow) var(--ease-bounce);display:flex;flex-direction:column;position:relative}.preview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--gold),var(--primary));background-size:200%;opacity:0;transition:opacity .4s ease;z-index:1}@media(hover:hover){.preview-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--border-strong)}}@media(hover:hover){.preview-card:hover:before{opacity:1;animation:gradientSlide 2s ease infinite}}.preview-card__visual{aspect-ratio:16 / 9;max-height:240px;background:linear-gradient(135deg,var(--surface-rose) 0%,var(--surface-gold) 100%);display:flex;align-items:center;justify-content:center;font-size:3.5rem;overflow:hidden}.preview-card__body{padding:clamp(1.1rem,4vw,1.5rem) clamp(1.1rem,4vw,1.75rem) clamp(1.25rem,4vw,2rem);flex:1;display:flex;flex-direction:column}.preview-card__badge{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-text);background:color-mix(in srgb,var(--primary) 8%,transparent);border-radius:var(--radius-full);padding:.25rem .75rem;margin-bottom:.9rem;border:1px solid color-mix(in srgb,var(--primary) 12%,transparent)}.preview-card__title{font-family:var(--font-body);font-size:1.35rem;font-weight:700;margin-bottom:.6rem;color:var(--text-primary)}.preview-card__desc{color:var(--text-muted);font-size:.9rem;line-height:1.75;flex-grow:1;font-weight:300;margin-bottom:1.5rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.preview-card__cta{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-text);font-weight:600;font-size:.9rem;text-decoration:none;transition:gap .25s var(--ease-out),color .25s ease;margin-top:auto}@media(hover:hover){.preview-card__cta:hover{gap:.65rem;color:var(--gold-text)}}.preview-grid-cta{text-align:center}.home-social{padding:5.5rem 0 7rem;text-align:center}.home-social__inner{max-width:560px;margin:0 auto}.home-social h2{font-size:2.25rem;margin-bottom:.75rem}.home-social p{color:var(--text-muted);font-weight:300;margin-bottom:2.5rem;font-size:1rem;line-height:1.7}.social-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.social-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 2rem;border-radius:var(--radius-full);font-weight:600;font-size:.95rem;text-decoration:none;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);border:none;cursor:pointer;letter-spacing:.01em}.social-btn--instagram{background:var(--brand-instagram-gradient);color:var(--text-on-primary);box-shadow:0 4px 20px color-mix(in srgb,var(--brand-instagram) 25%,transparent)}@media(hover:hover){.social-btn--instagram:hover{transform:translateY(-3px);box-shadow:0 8px 32px color-mix(in srgb,var(--brand-instagram) 38%,transparent)}}.social-btn--whatsapp{background:linear-gradient(135deg,var(--brand-whatsapp) 0%,var(--brand-whatsapp-dark) 100%);color:var(--text-on-primary);box-shadow:0 4px 20px color-mix(in srgb,var(--brand-whatsapp) 25%,transparent)}@media(hover:hover){.social-btn--whatsapp:hover{transform:translateY(-3px);box-shadow:0 8px 32px color-mix(in srgb,var(--brand-whatsapp) 38%,transparent)}}.catalog-page{min-height:60vh}.catalog-hero{padding:clamp(2.5rem,8vw,5.5rem) 0 clamp(2rem,6vw,4rem);text-align:center}.catalog-hero:after{content:"";display:block;width:56px;height:2px;background:linear-gradient(90deg,var(--primary),var(--gold));margin:clamp(1.25rem,4vw,2rem) auto 0;border-radius:2px}.catalog-hero h1{font-size:clamp(2.25rem,1.5rem + 4vw,3.75rem);margin-bottom:1rem;letter-spacing:-.02em}.catalog-hero__subtitle{color:var(--text-muted);font-size:1.05rem;font-weight:300;max-width:480px;margin:0 auto;line-height:1.8}.catalog-body{padding-bottom:6rem}.catalog-filters{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:2rem;padding:.85rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.catalog-filters__search{position:relative;display:flex;align-items:center;flex:1 1 240px;min-width:200px}.catalog-filters__search-icon{position:absolute;left:.95rem;width:18px;height:18px;color:var(--text-muted);pointer-events:none}.catalog-filters__search .catalog-filters__input{width:100%;font-family:var(--font-body);font-size:var(--input-font-size);background:var(--bg-elevated);color:var(--text-primary);border:1.5px solid var(--border-strong);border-radius:var(--radius-full);padding:.7rem 1.1rem .7rem 2.7rem;outline:none;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.catalog-filters__input::placeholder{color:var(--text-muted)}.catalog-filters__input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.catalog-filters__input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.catalog-filters__select{flex:0 1 215px;font-family:var(--font-body);font-size:var(--input-font-size);color:var(--text-primary);background-color:var(--bg-elevated);border:1.5px solid var(--border-strong);border-radius:var(--radius-full);padding:.7rem 2.5rem .7rem 1.1rem;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23CD9E55' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:14px;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.catalog-filters__select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}@media(max-width:480px){.catalog-filters__select{flex:1 1 100%}}.catalog-featured{display:grid;grid-template-columns:1fr 42%;gap:3rem;background:var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--border-strong);overflow:hidden;margin-bottom:2.5rem;padding:3rem 3rem 3rem 3.5rem;position:relative;transition:box-shadow .4s ease;align-items:center}.catalog-featured:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary),var(--gold))}@media(hover:hover){.catalog-featured:hover{box-shadow:var(--shadow-xl)}}.catalog-featured__tag{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--gold-text);margin-bottom:.6rem;display:block}.catalog-featured__badge{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:.28rem .85rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--accent-text);border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);margin-bottom:1rem}.catalog-featured__content h2{font-size:clamp(1.6rem,1.2rem + 2vw,2.25rem);margin-bottom:1rem;letter-spacing:-.01em}.catalog-featured__desc{color:var(--text-secondary);font-weight:300;line-height:1.85;margin-bottom:2rem;max-width:500px;font-size:1rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}.catalog-featured__visual{width:100%;aspect-ratio:16 / 9;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,transparent),color-mix(in srgb,var(--gold) 12%,transparent));border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:5rem;border:1px solid var(--border);overflow:hidden}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(260px,(100% - 4rem) / 3)),1fr));gap:2rem}.catalog-card{background:var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--dur-slow) var(--ease-out),border-color var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);position:relative}.catalog-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--primary),var(--gold));opacity:0;transition:opacity .3s ease}@media(hover:hover){.catalog-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-4px)}}@media(hover:hover){.catalog-card:hover:before{opacity:1}}.catalog-card__visual{aspect-ratio:16 / 9;max-height:240px;background:linear-gradient(135deg,var(--surface-rose) 0%,var(--surface-gold) 100%);display:flex;align-items:center;justify-content:center;font-size:3rem;overflow:hidden}.catalog-card__body{padding:clamp(1.1rem,4vw,1.5rem) clamp(1.1rem,4vw,1.75rem) clamp(1.25rem,4vw,2rem);flex:1;display:flex;flex-direction:column}.catalog-card__badge{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.65rem}.catalog-card__title{font-family:var(--font-body);font-size:1.25rem;font-weight:700;margin-bottom:.65rem;color:var(--text-primary)}.catalog-card__desc{color:var(--text-muted);font-size:.95rem;line-height:1.8;flex-grow:1;font-weight:300;margin-bottom:1.75rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.catalog-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:1.25rem;border-top:1px solid var(--border);gap:1rem}.catalog-card__lessons{font-size:.8rem;color:var(--text-muted);font-weight:500}.catalog-empty{text-align:center;padding:7rem 2rem;color:var(--text-muted);font-size:1.1rem;font-weight:300;line-height:2}.catalog-loading{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-size:1rem}@media(max-width:960px){.home-about__inner{grid-template-columns:1fr;gap:3rem;text-align:center}.home-about__avatar{width:min(100%,340px,75svh * 34 / 42);height:auto;aspect-ratio:34 / 42;margin:0 auto}.home-about__bio{max-width:36rem;margin-left:auto;margin-right:auto}.home-stats{justify-content:center}.catalog-featured{gap:1.5rem;padding:clamp(1.25rem,4vw,2.5rem)}.catalog-featured__desc{-webkit-line-clamp:3;line-clamp:3;margin-bottom:1.5rem}}@media(max-width:700px){.catalog-featured{grid-template-columns:1fr}.catalog-featured__visual{order:-1;max-height:min(30svh,260px)}}@media(max-width:600px){.hero__heading{font-size:2.4rem}.hero-actions{flex-direction:column;align-items:flex-start}.home-about__content h2,.home-preview__header h2{font-size:2.1rem}.social-buttons{flex-direction:column;align-items:center}.home-stats{gap:1.5rem}}.pdf-uploader{display:flex;flex-direction:column;gap:.5rem}.pdf-uploader__label{font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--text-secondary)}.pdf-uploader__drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1.5rem;border:2px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out);text-align:center;outline:none}.pdf-uploader__drop-zone:hover,.pdf-uploader__drop-zone:focus{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,transparent)}.pdf-uploader__drop-zone--dragging{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);box-shadow:0 0 0 4px var(--primary-glow)}.pdf-uploader__icon{font-size:2rem;line-height:1}.pdf-uploader__text{font-size:.9rem;color:var(--text-secondary);margin:0}.pdf-uploader__link{color:var(--accent-text);font-weight:600;text-decoration:underline}.pdf-uploader__hint{font-size:.78rem;color:var(--text-muted);margin:0}.pdf-uploader__file{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface)}.pdf-uploader__file-icon{font-size:1.5rem;line-height:1}.pdf-uploader__file-info{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.pdf-uploader__file-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-uploader__file-size{font-size:.8rem;color:var(--text-muted)}.pdf-uploader__remove{flex-shrink:0;font-size:.85rem;font-weight:600;color:var(--text-secondary);background:none;border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:.35rem .8rem;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}@media(hover:hover){.pdf-uploader__remove:hover{border-color:var(--primary);color:var(--accent-text)}}.pdf-uploader__error{font-size:.85rem;color:var(--danger);margin:0;line-height:1.5}.thumbnail-uploader{display:flex;flex-direction:column;gap:.5rem}.thumbnail-uploader__label{font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--text-secondary)}.thumbnail-uploader__drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1.5rem;border:2px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;transition:border-color .2s,background .2s;text-align:center;outline:none}.thumbnail-uploader__drop-zone:hover,.thumbnail-uploader__drop-zone:focus{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,transparent)}.thumbnail-uploader__drop-zone--dragging{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);box-shadow:0 0 0 4px var(--primary-glow)}.thumbnail-uploader__icon{font-size:2rem;line-height:1}.thumbnail-uploader__text{font-size:.9rem;color:var(--text-secondary);margin:0}.thumbnail-uploader__link{color:var(--accent-text);font-weight:600;text-decoration:underline}.thumbnail-uploader__hint{font-size:.78rem;color:var(--text-muted);margin:0}.thumbnail-crop{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-strong);background:var(--media-bg)}.thumbnail-crop__controls{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.thumbnail-crop__zoom-icon{font-size:1rem;color:var(--text-muted);line-height:1;font-weight:700;width:16px;text-align:center}.thumbnail-crop__zoom-slider{flex:1;appearance:none;height:4px;border-radius:999px;background:var(--border-strong);outline:none;cursor:pointer}.thumbnail-crop__zoom-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary);cursor:pointer}.thumbnail-crop__zoom-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--primary);cursor:pointer;border:none}.thumbnail-uploader__remove{background:none;border:none;color:var(--text-muted);font-size:.82rem;cursor:pointer;padding:0;font-family:var(--font-body);transition:color .2s}@media(hover:hover){.thumbnail-uploader__remove:hover{color:var(--accent-text)}}.course-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.thumbnail-uploader__error{font-size:.82rem;color:var(--danger);margin:0}.user-avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-on-primary);letter-spacing:.03em;flex-shrink:0;box-shadow:0 0 0 2px var(--bg-elevated),0 2px 8px color-mix(in srgb,var(--shadow-color) 15%,transparent)}.user-menu{position:relative}.user-menu__trigger{display:flex;align-items:center;gap:.4rem;background:none;border:none;padding:.2rem .4rem;border-radius:var(--radius-full);cursor:pointer;transition:background .2s}@media(hover:hover){.user-menu__trigger:hover{background:var(--border)}}.user-menu__arrow{font-size:.75rem;color:var(--text-muted);transition:transform .2s var(--ease-out);display:inline-block}.user-menu__arrow--open{transform:rotate(180deg)}.user-menu__dropdown{position:absolute;top:calc(100% + .75rem);right:0;min-width:220px;display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:dropdown-appear .15s var(--ease-out);z-index:200}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.user-menu__header{padding:1rem 1.25rem .75rem}.user-menu__name{font-weight:600;font-size:.9rem;color:var(--text-primary);margin:0 0 .15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu__email{font-size:.78rem;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu__divider{height:1px;background:var(--border);margin:.35rem 0}.user-menu__dropdown .user-menu__item{-webkit-appearance:none;appearance:none;display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem 1.25rem;font-size:.85rem;font-family:inherit;font-weight:500;line-height:1.4;color:var(--text-secondary);background:none;border:none;text-align:left;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}@media(hover:hover){.user-menu__dropdown .user-menu__item:hover{background:var(--surface);color:var(--text-primary)}}.user-menu__dropdown .user-menu__item--danger{color:var(--danger)}@media(hover:hover){.user-menu__dropdown .user-menu__item--danger:hover{background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger)}}.user-menu__item-icon{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;flex-shrink:0;font-size:.95rem;line-height:1}.my-courses-page{padding-top:3rem;padding-bottom:5rem}.my-courses-page__header{margin-bottom:2.5rem}.my-courses-page__header h1{margin-bottom:.35rem}.my-courses-page__subtitle{color:var(--text-muted);font-size:.95rem;margin:0}.my-courses-page__empty{text-align:center;padding:4rem 2rem;background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border)}.my-courses-page__empty-icon{font-size:3.5rem;margin-bottom:.5rem}.my-courses-page__empty h2{margin-bottom:.5rem}.my-courses-page__empty p{color:var(--text-muted);margin-bottom:1.5rem}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.enrollment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(250px,(100% - 4.5rem) / 4)),1fr));gap:1.5rem}.enrollment-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out);display:flex;flex-direction:column}@media(hover:hover){.enrollment-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}}.enrollment-card__visual{aspect-ratio:16 / 9;background:linear-gradient(135deg,var(--surface),var(--border));overflow:hidden;display:flex;align-items:center;justify-content:center}.enrollment-card__fallback{font-size:3rem}.enrollment-card__body{padding:1.25rem;display:flex;flex-direction:column;flex:1;gap:.75rem}.enrollment-card__title{font-size:1.05rem;font-weight:700;margin:0;line-height:1.3}.enrollment-card__desc{font-size:.85rem;color:var(--text-muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.enrollment-card__progress{display:flex;flex-direction:column;gap:.4rem;margin-top:auto}.progress-bar{height:8px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.progress-bar__fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--gold));border-radius:var(--radius-full);transition:width .7s var(--ease-out)}.progress-bar__labels{display:flex;justify-content:space-between;align-items:center}.progress-bar__text{font-size:.78rem;color:var(--text-muted)}.progress-bar__percent{font-size:.78rem;font-weight:700;color:var(--accent-text)}.enrollment-card__cta{padding:.6rem 1.25rem;font-size:.85rem;align-self:flex-start}.btn-sm{padding:.35rem .6rem;font-size:.78rem;min-height:auto}.admin-course-students{padding:.4rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);color:var(--text-secondary);font-size:.8rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out)}@media(hover:hover){.admin-course-students:hover{background:var(--surface)}}button.admin-course-students{background:transparent;cursor:pointer;font-family:inherit}button.admin-course-students:disabled{opacity:.6;cursor:wait}.admin-course-status{flex-shrink:0;padding:.15rem .55rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;white-space:nowrap}.admin-course-status--draft{border:1px dashed var(--gold-dark);color:var(--gold-text)}.admin-course-status--published{background:var(--primary-strong);color:var(--text-on-primary)}.invitation-page{display:flex;justify-content:center;padding:var(--space-8) var(--space-4)}.invitation-card{width:100%;max-width:520px;padding:var(--space-6);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center}.invitation-card--error{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.invitation-card__eyebrow{margin:0;color:var(--text-muted);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}.invitation-card__course{margin:var(--space-2) 0 var(--space-4);font-family:var(--font-heading);color:var(--accent-text)}.invitation-card__thumb{width:100%;max-height:200px;object-fit:cover;border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.invitation-card__desc{color:var(--text-secondary);font-size:.92rem;line-height:1.6}.invitation-card__access{display:inline-block;margin:var(--space-3) 0 var(--space-5);padding:.35rem .9rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--gold) 15%,transparent);border:1px solid var(--border-strong);color:var(--gold-text);font-size:.82rem;font-weight:600}.invitation-card__hint{margin-top:var(--space-5);color:var(--text-muted);font-size:.82rem;line-height:1.5}.invitation-form{text-align:left;display:flex;flex-direction:column;gap:var(--space-4)}.invitation-form__error{margin:0;padding:.7rem .9rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 10%,transparent);border-left:3px solid color-mix(in srgb,var(--danger) 60%,transparent);color:var(--danger);font-size:.85rem}.invitation-generator{margin-top:var(--space-5)}.invitation-fresh{margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface)}.invitation-fresh__warning{padding:.7rem .9rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warning) 15%,transparent);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);color:var(--warning);font-size:.85rem;line-height:1.5}.invitation-fresh__row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--border)}.invitation-fresh__row:last-child{border-bottom:none}.invitation-fresh__info{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.invitation-fresh__url{font-size:.75rem;color:var(--text-muted);overflow-wrap:anywhere}.invitation-fresh__actions{display:flex;gap:.4rem;flex-wrap:wrap}.form-hint{display:block;margin-top:.35rem;color:var(--text-muted);font-size:.78rem;line-height:1.45}.enrollment-card__visual{position:relative}.enrollment-card__access{position:absolute;top:.6rem;right:.6rem;padding:.3rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.enrollment-card__access--urgent{background:var(--warning);color:var(--text-on-status);border:1px solid color-mix(in srgb,var(--warning) 50%,transparent)}.enrollment-card__access--expired{background:var(--danger);color:var(--text-on-status);border:1px solid color-mix(in srgb,var(--danger) 50%,transparent)}.enrollment-card--expired .course-thumbnail,.enrollment-card--expired .enrollment-card__fallback{filter:grayscale(.85);opacity:.65}.enrollment-card__notice{margin:0;padding:.7rem .85rem;border-radius:var(--radius-sm);border-left:3px solid color-mix(in srgb,var(--danger) 60%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--text-secondary);font-size:.82rem;line-height:1.45}.account-page{padding-bottom:5rem}.account-banner{height:180px;position:relative;display:flex;align-items:flex-end;justify-content:center}.account-banner__avatar{position:absolute;bottom:-48px;left:50%;transform:translate(-50%)}.account-content{padding-top:calc(48px + 1.5rem)}.account-profile{text-align:center;margin-bottom:2.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.account-profile__name{font-size:1.75rem;margin:0}.account-profile__role{font-size:.85rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);padding:.3rem .85rem;border-radius:var(--radius-full)}.account-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);max-width:700px;margin:0 auto 2rem}.account-tabs__btn{flex:1;padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s}@media(hover:hover){.account-tabs__btn:hover{color:var(--text-primary)}}.account-tabs__btn--active{color:var(--accent-text);border-bottom-color:var(--primary)}@media(max-width:480px){.account-tabs__btn{padding:.75rem .5rem;white-space:nowrap;min-height:var(--touch-min)}}.account-tab-content{display:flex;flex-direction:column;gap:1.5rem;max-width:700px;margin:0 auto}.account-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;max-width:900px;margin:0 auto}.account-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.account-card__title{font-size:1rem;font-weight:700;margin:0;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.account-field{display:flex;flex-direction:column;gap:.2rem}.account-card>.btn-secondary,.account-field>.btn-secondary{align-self:flex-start}.account-field__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.account-field__value{font-size:.95rem;color:var(--text-primary);margin:0}.account-card__action{margin-top:auto;align-self:flex-start}.account-card__note{font-size:.8rem;color:var(--text-muted);margin:0;font-style:italic}.account-password-form{display:flex;flex-direction:column;gap:1rem}.account-password-form .btn-primary{align-self:flex-start;margin-top:.25rem}.account-field__hint{font-size:.78rem;margin:.2rem 0 0}.account-field__hint--error{color:var(--danger)}.account-field__hint--success{color:var(--success)}.account-card__empty{text-align:center;color:var(--text-muted);padding:1.5rem 0;font-size:.9rem}.account-card__empty p:first-child{font-size:2rem;margin-bottom:.5rem}.gallery-section{padding:4rem 0 5rem;overflow:hidden}.gallery-section__title{font-size:clamp(1.6rem,3vw,2.4rem);font-family:var(--font-heading);margin-bottom:.5rem}.gallery-section__sub{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1rem}.gallery-marquee{display:flex;flex-direction:column;gap:1rem;-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,black 8%,black 92%,transparent 100%)}.gallery-track{display:flex;gap:1rem;width:max-content}.gallery-track--fwd{animation:gallery-scroll-left 40s linear infinite}.gallery-track--rev{animation:gallery-scroll-right 35s linear infinite}@media(hover:hover){.gallery-marquee:hover .gallery-track{animation-play-state:paused}}@keyframes gallery-scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes gallery-scroll-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.gallery-item{width:300px;height:210px;border-radius:14px;flex-shrink:0;position:relative;overflow:hidden;cursor:pointer;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);background-size:cover;background-position:center}@media(hover:hover){.gallery-item:hover{transform:scale(1.03);box-shadow:var(--shadow-lg)}}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--overlay) 0%,transparent 50%)}.gallery-item__emoji{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);font-size:2.5rem;opacity:.25;z-index:1}.gallery-item__label{position:absolute;bottom:.75rem;left:.9rem;right:.9rem;font-size:.75rem;font-weight:500;color:var(--text-on-primary);z-index:2;line-height:1.3}.home-contact{padding:3rem 0;text-align:center;scroll-margin-top:6rem}.home-contact__inner{max-width:900px;margin:0 auto}.home-contact__subtitle{color:var(--text-secondary);font-size:1.05rem;margin-bottom:2rem}.contact-cards{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;container-type:inline-size}@container (min-width: 624px) and (max-width: 960px){.contact-card__cta{flex-basis:100%;text-align:right}}.contact-card{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;padding:clamp(1.1rem,3vw,1.5rem) clamp(1.1rem,3vw,1.75rem);flex:1 1 300px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:var(--text-primary);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out)}@media(hover:hover){.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}}@media(hover:hover){.contact-card--whatsapp:hover{border-color:var(--brand-whatsapp)}}@media(hover:hover){.contact-card--instagram:hover{border-color:var(--brand-instagram)}}.contact-card__photo{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--border)}.contact-card--whatsapp .contact-card__photo{border-color:var(--brand-whatsapp)}.contact-card--instagram .contact-card__photo{border-color:var(--brand-instagram)}.contact-card__body{display:flex;flex-direction:column;gap:.2rem;flex:1 1 9rem;min-width:0;overflow-wrap:anywhere}.contact-card__platform{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.contact-card__platform--whatsapp{color:var(--brand-whatsapp)}.contact-card__platform--instagram{color:var(--brand-instagram)}.contact-card__name{font-weight:600;font-size:1rem;color:var(--text-primary)}.contact-card__value{font-size:.85rem;color:var(--text-muted)}.contact-card__cta{font-size:.85rem;font-weight:600;color:var(--text-muted);white-space:nowrap;flex-shrink:0;margin-left:auto;transition:color .2s}@media(hover:hover){.contact-card--whatsapp:hover .contact-card__cta{color:var(--brand-whatsapp)}}@media(hover:hover){.contact-card--instagram:hover .contact-card__cta{color:var(--brand-instagram)}}@media(max-width:480px){.contact-card__body{min-width:0}.contact-card__cta{flex-basis:100%;text-align:center;padding-top:.75rem;border-top:1px solid var(--border)}}.course-learn{display:flex;min-height:calc(100vh - 80px);min-height:calc(100dvh - 80px);background:var(--bg);margin-bottom:-6rem;position:relative}.course-learn__main{flex:1;min-width:0;padding:2rem 2rem 2.5rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.course-learn__context,.course-learn__video,.course-learn__quiz,.course-learn__nav,.course-learn__lesson-info{width:100%;max-width:960px}.course-learn__video{max-width:min(960px,calc((100vh - 13rem) * 16 / 9));max-width:min(960px,calc((100svh - 13rem) * 16 / 9));min-width:min(100%,320px);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.upcoming-live{margin:0 0 var(--space-6)}.upcoming-live__title{margin:0 0 var(--space-3);font-size:1.1rem;color:var(--text-primary)}.upcoming-live__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.upcoming-live__item{display:grid;grid-template-columns:minmax(9rem,auto) 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);text-decoration:none}@media(hover:hover){.upcoming-live__item:hover{border-color:var(--primary)}}.upcoming-live__when{font-weight:700;color:var(--accent-text);font-variant-numeric:tabular-nums}.upcoming-live__when:first-letter{text-transform:uppercase}.upcoming-live__course{font-size:.8rem;color:var(--text-muted)}@media(max-width:600px){.upcoming-live__item{grid-template-columns:1fr;gap:var(--space-1)}}.live-card{aspect-ratio:16 / 9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-md);text-align:center}.live-card__eyebrow{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.live-card__date{margin:0;font-family:var(--font-heading);font-size:clamp(1.3rem,3vw,2rem);color:var(--text-primary)}.live-card__date:first-letter{text-transform:uppercase}.live-card__reference,.live-card__hint{margin:0;font-size:.85rem;color:var(--text-muted)}.live-card__countdown{margin:var(--space-2) 0 0;font-size:1.05rem;color:var(--text-secondary)}.live-card__countdown strong{font-variant-numeric:tabular-nums;color:var(--accent-text);font-size:1.4rem}.live-card__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-3)}.live-reminder--done{display:flex;align-items:center;gap:var(--space-2);max-width:34rem;margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--primary-glow);color:var(--text-primary);font-size:.95rem;text-align:left;overflow-wrap:anywhere;animation:live-reminder-confirm .35s ease-out}.live-reminder__check{flex:none;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--primary-strong);color:var(--text-on-primary);font-weight:700}@keyframes live-reminder-confirm{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.live-gate__banner{margin:0 0 var(--space-2);font-size:.85rem;font-weight:700}.live-gate__banner--open{color:var(--accent-text)}.live-gate__banner--ended{color:var(--text-muted)}@media(max-width:600px){.live-card{aspect-ratio:auto;min-height:260px}}.course-learn__lesson-info{display:flex;flex-direction:column;gap:.75rem;flex:1}.course-learn__lesson-title{font-family:var(--font-heading);font-size:clamp(1.35rem,1rem + 1.5vw,1.75rem);color:var(--text-primary);margin:0}.course-learn__lesson-desc{color:var(--text-secondary);line-height:1.6;margin:0;max-width:42rem}.course-learn__complete-btn{padding:.6rem 1.25rem;border-radius:var(--radius-full);border:2px solid var(--primary);background:transparent;color:var(--accent-text);font-weight:600;font-size:.85rem;cursor:pointer;transition:color .25s var(--ease-out),box-shadow .25s var(--ease-out);white-space:nowrap}@media(hover:hover){.course-learn__complete-btn:hover:not(:disabled){background:var(--primary-strong);color:var(--text-on-primary);box-shadow:var(--shadow-glow)}}.course-learn__complete-btn--done{background:var(--success);border-color:var(--success);color:var(--text-on-status);cursor:default}.course-learn__complete-btn:disabled{opacity:.85;cursor:not-allowed}.watch-progress{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:min(100%,15rem)}.watch-progress__bar{width:100%;height:6px;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);overflow:hidden}.watch-progress__fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--gold));transition:width .4s var(--ease-out)}.watch-progress__label{font-size:.75rem;color:var(--text-muted);text-align:center}.watch-progress--done{width:auto;padding:.45rem 1rem;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.course-learn__nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.course-learn__nav-side{display:flex;align-items:center;min-width:0;width:100%}.course-learn__nav-side--prev{justify-self:start}.course-learn__nav-side--next{justify-self:end;justify-content:flex-end}.course-learn__nav-action{justify-self:center}.course-learn__nav-btn{padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out);display:inline-flex;align-items:center;gap:.4rem;max-width:100%;min-width:0;white-space:nowrap}.course-learn__nav-btn-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.course-learn__nav-btn-arrow{flex-shrink:0}@media(hover:hover){.course-learn__nav-btn:hover{border-color:var(--primary);color:var(--accent-text)}}.course-learn__sidebar{width:320px;flex-shrink:0;background:var(--bg-elevated);border-left:1px solid var(--border);display:flex;flex-direction:column;height:calc(100vh - 80px);height:calc(100dvh - 80px);position:sticky;top:80px;overflow:hidden;transition:width .35s ease,border-left-color .35s ease;z-index:101}.course-learn--sidebar-closed .course-learn__sidebar{width:0;border-left-color:transparent}.course-learn__sidebar-opener{position:fixed;top:calc(94px + 1.25rem);right:0;transform:translateY(-50%);display:flex;align-items:center;gap:.4rem;padding:.6rem .85rem;background:var(--bg-elevated);border:1px solid var(--border);border-right:none;border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:opacity .3s ease,transform .3s ease,background .2s,color .2s;opacity:1;z-index:101}@media(hover:hover){.course-learn__sidebar-opener:hover{background:var(--primary-strong);color:var(--text-on-primary);border-color:var(--primary)}}.course-learn:not(.course-learn--sidebar-closed) .course-learn__sidebar-opener{opacity:0;transform:translate(100%,-50%);pointer-events:none}.course-learn__sidebar-opener-chevron{font-size:1.1rem;line-height:1}.course-learn__sidebar-closer{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-size:1.15rem;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s,border-color .2s,background .2s}@media(hover:hover){.course-learn__sidebar-closer:hover{color:var(--accent-text);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}}.course-learn__sidebar .course-learn__lesson-list{flex:1;overflow-y:auto;min-height:0}.course-learn__sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border)}.course-learn__sidebar-header h3{font-family:var(--font-heading);font-size:1.1rem;margin:0;color:var(--text-primary)}.course-learn__sidebar-count{font-size:.8rem;color:var(--text-muted);font-weight:600}.course-learn__lesson-list{display:flex;flex-direction:column;padding:.5rem}.course-learn__lesson-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;text-align:left;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out);color:var(--text-secondary);width:100%}@media(hover:hover){.course-learn__lesson-item:hover{background:var(--surface)}}.course-learn__lesson-item--active{background:var(--primary-strong);color:var(--text-on-primary)}@media(hover:hover){.course-learn__lesson-item--active:hover{background:var(--primary-strong)}}.course-learn__lesson-item--completed .course-learn__lesson-number{background:var(--success);color:var(--text-on-status)}.course-learn__lesson-number{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0;background:var(--border);color:var(--text-secondary);transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.course-learn__lesson-item--active .course-learn__lesson-number{background:color-mix(in srgb,var(--text-on-primary) 25%,transparent);color:var(--text-on-primary)}.course-learn__lesson-name{font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-learn__loading,.course-learn__error,.course-learn__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;gap:1rem;width:100%}.course-learn__backdrop{display:none}@media(max-width:1099px){.course-learn{flex-direction:column;margin-bottom:0}.course-learn__main{padding:clamp(1rem,3vw,2rem) clamp(var(--mobile-pad-x),4vw,2rem);width:100%}.course-learn__sidebar{position:fixed;inset:0 0 0 auto;width:min(90%,360px);height:auto;z-index:110;border-left:1px solid var(--border);transform:translate(0);transition:transform .3s ease}.course-learn--sidebar-closed .course-learn__sidebar{transform:translate(100%);width:min(90%,360px);border-left-color:var(--border)}.course-learn__backdrop{display:block;position:fixed;inset:0;background:var(--overlay);z-index:105;opacity:1;transition:opacity .3s ease;pointer-events:auto}.course-learn--sidebar-closed .course-learn__backdrop{opacity:0;pointer-events:none}.course-learn__sidebar-opener{display:none}.course-learn__sidebar-closer{width:var(--touch-min);height:var(--touch-min)}}.lesson-type-selector{display:flex;gap:.5rem}.lesson-type-option{flex:1;padding:.65rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-size:.9rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);text-align:center}@media(hover:hover){.lesson-type-option:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,transparent)}}.lesson-type-option.active{border-color:var(--primary);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));color:var(--accent-text);box-shadow:0 2px 8px var(--primary-glow)}.quiz-builder{display:flex;flex-direction:column;gap:1.25rem;margin-top:.5rem}.quiz-builder__question{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem}.quiz-builder__question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.quiz-builder__question-number{font-weight:700;font-size:.9rem;color:var(--accent-text)}.quiz-builder__remove-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.25rem .6rem;border-radius:var(--radius-sm);font-size:.78rem;cursor:pointer;font-family:var(--font-body);transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}@media(hover:hover){.quiz-builder__remove-btn:hover{color:var(--danger);border-color:var(--danger)}}.quiz-builder__question-input{width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-body);background:var(--bg);color:var(--text-primary);margin-bottom:.5rem;box-sizing:border-box}.quiz-builder__question-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.quiz-builder__related-lesson{margin-bottom:.75rem}.quiz-builder__related-lesson label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.3rem}.quiz-builder__related-lesson select{width:100%;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;font-family:var(--font-body);background:var(--bg);color:var(--text-primary)}.quiz-builder__options{display:flex;flex-direction:column;gap:.4rem}.quiz-builder__option{display:flex;align-items:center;gap:.5rem}.quiz-builder__option input[type=radio]{accent-color:var(--primary);width:16px;height:16px;flex-shrink:0;cursor:pointer}.quiz-builder__option-input{flex:1;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;font-family:var(--font-body);background:var(--bg);color:var(--text-primary)}.quiz-builder__option-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.quiz-builder__remove-option{background:transparent;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:.2rem .4rem;line-height:1;border-radius:var(--radius-sm);transition:color .2s}@media(hover:hover){.quiz-builder__remove-option:hover{color:var(--danger)}}.quiz-builder__add-option{background:transparent;border:1px dashed var(--border);color:var(--text-muted);padding:.35rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;font-family:var(--font-body);transition:border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out);margin-top:.25rem}@media(hover:hover){.quiz-builder__add-option:hover{border-color:var(--primary);color:var(--accent-text)}}.quiz-builder__add-question{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));border:2px dashed var(--border);color:var(--accent-text);padding:.7rem 1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);width:100%}@media(hover:hover){.quiz-builder__add-question:hover{border-color:var(--primary);box-shadow:0 2px 8px var(--primary-glow)}}.quiz-player{padding:2rem;max-width:720px;margin:0 auto}.quiz-player--loading,.quiz-player--error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:300px;color:var(--text-muted);font-size:1rem}.quiz-player--error{color:var(--danger)}.quiz-player__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.quiz-player__heading{display:flex;flex-direction:column;gap:.2rem}.quiz-player__header h2{font-family:var(--font-heading);font-size:1.5rem;margin:0;line-height:1.1}.quiz-player__count{font-size:.85rem;color:var(--text-muted)}.quiz-player__answered-count{font-size:.8rem;color:var(--text-muted);padding:.25rem .7rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);white-space:nowrap;align-self:center}.quiz-player__progress{width:100%;height:6px;background:var(--border);border-radius:var(--radius-full);overflow:hidden;margin-bottom:1.75rem}.quiz-player__progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:var(--radius-full);transition:width .35s var(--ease-out)}.quiz-question--single{margin-bottom:2rem}.quiz-player__nav{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.quiz-player__nav-btn{padding:.65rem 1.25rem;font-size:.9rem;min-width:140px}.quiz-player__nav-btn:disabled{opacity:.5;cursor:not-allowed}.quiz-player__cooldown{text-align:center;padding:1rem;background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 20%,transparent);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;margin-top:1rem}.quiz-player__cooldown strong{color:var(--danger);font-variant-numeric:tabular-nums}.quiz-question{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem}.quiz-question__text{font-weight:600;font-size:1rem;margin:0 0 .75rem;line-height:1.5}.quiz-question__options{display:flex;flex-direction:column;gap:.4rem}.quiz-option{display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);background:var(--bg)}@media(hover:hover){.quiz-option:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 3%,transparent)}}.quiz-option--selected{border-color:var(--primary);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,transparent),color-mix(in srgb,var(--gold) 5%,transparent));box-shadow:0 0 0 1px var(--primary)}.quiz-option input[type=radio]{accent-color:var(--primary);width:16px;height:16px;flex-shrink:0}.quiz-option__text{font-size:.92rem;line-height:1.4}.quiz-result__header{text-align:center;margin-bottom:1.75rem}.quiz-result__header h2{font-family:var(--font-heading);font-size:1.8rem;margin:0 0 .5rem}.quiz-result--passed .quiz-result__header h2{color:var(--success)}.quiz-result--failed .quiz-result__header h2{color:var(--danger)}.quiz-result__score{font-size:1.1rem;color:var(--text-primary)}.quiz-result__minimum{font-size:.85rem;color:var(--text-muted);margin-left:.4rem}.quiz-result__details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.quiz-result__question{padding:1rem 1.25rem;border-radius:var(--radius-md);border-left:4px solid}.quiz-result__question--correct{background:color-mix(in srgb,var(--success) 6%,transparent);border-left-color:var(--success)}.quiz-result__question--wrong{background:color-mix(in srgb,var(--danger) 6%,transparent);border-left-color:var(--danger)}.quiz-result__question-header{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.35rem}.quiz-result__question-icon{font-weight:700;font-size:1rem;flex-shrink:0;width:1.2rem;text-align:center}.quiz-result__question--correct .quiz-result__question-icon{color:var(--success)}.quiz-result__question--wrong .quiz-result__question-icon{color:var(--danger)}.quiz-result__question-text{font-weight:600;font-size:.95rem;line-height:1.4}.quiz-result__answer{font-size:.85rem;color:var(--text-muted);margin-left:1.7rem}.quiz-result__actions{text-align:center;margin-top:1rem}.quiz-result__success-message{color:var(--success);font-weight:600;font-size:.95rem}.quiz-hint{margin-top:.4rem;margin-left:1.7rem;font-size:.83rem;color:var(--gold-text)}.quiz-hint__link{background:none;border:none;color:var(--gold-text);font-size:.83rem;font-family:var(--font-body);cursor:pointer;text-decoration:underline;padding:0;transition:color .2s}@media(hover:hover){.quiz-hint__link:hover{color:var(--accent-text)}}.course-learn__quiz{background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border);min-height:400px}@media(max-width:768px){.quiz-player{padding:1.25rem}.quiz-player__header h2{font-size:1.25rem}.quiz-result__header h2{font-size:1.4rem}.quiz-question{padding:1rem}.quiz-option{padding:.5rem .65rem}}.toast-container{position:fixed;top:1.5rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.6rem;pointer-events:none;width:max-content;max-width:90vw}.toast{pointer-events:auto;display:flex;align-items:center;gap:.6rem;padding:.8rem 1.25rem;border-radius:var(--radius-lg);font-size:.88rem;font-weight:500;font-family:var(--font-body);box-shadow:0 8px 24px color-mix(in srgb,var(--shadow-color) 15%,transparent),0 2px 8px color-mix(in srgb,var(--shadow-color) 8%,transparent);animation:toastSlideIn .35s var(--ease-out)}.toast--success{background:var(--success-soft);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 15%,transparent)}.toast--error{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 15%,transparent)}.toast__icon{flex-shrink:0;font-size:1rem}.toast__message{line-height:1.4}.toast--exit{animation:toastSlideOut .3s var(--ease-out) forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}.user-picker{position:relative}.user-picker__search{position:relative;display:flex;align-items:center}.user-picker__search-icon{position:absolute;left:.95rem;width:18px;height:18px;color:var(--text-muted);pointer-events:none}.user-picker__input{width:100%;font-family:var(--font-body);font-size:.95rem;background:var(--bg-elevated);color:var(--text-primary);border:1.5px solid var(--border-strong);border-radius:var(--radius-full);padding:.7rem 1.1rem .7rem 2.7rem;outline:none;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.user-picker__input::placeholder{color:var(--text-muted)}.user-picker__input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.user-picker__input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.user-picker__results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;margin:0;padding:.3rem;list-style:none;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:14rem;overflow-y:auto}.user-picker__result{display:flex;flex-direction:column;gap:.1rem;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-sm);padding:.5rem .65rem;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.user-picker__result:hover,.user-picker__result:focus-visible{background:var(--surface);outline:none}.user-picker__result-name{font-weight:600;color:var(--text-primary)}.user-picker__result-email{font-size:.8rem;color:var(--text-muted)}.user-picker__hint{margin:.4rem 0 0;font-size:.85rem;color:var(--text-muted)}.user-picker__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.user-picker__chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .4rem .3rem .75rem;font-size:.85rem;font-weight:600;color:var(--text-primary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-full)}.user-picker__chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;font-size:1rem;line-height:1;color:var(--text-muted);background:none;border:none;border-radius:50%;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}@media(hover:hover){.user-picker__chip-remove:hover{background:var(--primary-strong);color:var(--text-on-primary)}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);will-change:opacity,transform}.reveal--visible{opacity:1;transform:none}.home-faq{padding:4rem 0;scroll-margin-top:6rem}.home-faq .section-eyebrow{text-align:center}.home-faq__subtitle{text-align:center;max-width:560px;margin:-.25rem auto 0;color:var(--text-secondary);font-size:1rem;line-height:1.6}.home-faq__list{max-width:1060px;margin:2.5rem auto 0;display:grid;grid-template-columns:repeat(2,1fr);align-items:start;gap:.85rem 1rem}.faq-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);overflow:hidden;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.faq-item--open{border-color:var(--gold);box-shadow:var(--shadow-sm)}.faq-item__q{margin:0;font-size:inherit}.faq-item__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.35rem;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.faq-item__icon{flex-shrink:0;width:18px;height:18px;color:var(--gold-dark);transition:transform var(--dur-base) var(--ease-out)}.faq-item--open .faq-item__icon{transform:rotate(180deg)}.faq-item__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease-out)}.faq-item--open .faq-item__panel{grid-template-rows:1fr}.faq-item__answer{overflow:hidden}.faq-item__answer p{margin:0;padding:0 1.35rem 1.25rem;color:var(--text-secondary);line-height:1.75}@media(max-width:960px){.home-faq__list{grid-template-columns:1fr;max-width:600px}.faq-item__trigger{white-space:normal}}.agenda-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.agenda-header__text{min-width:0}.agenda-header__push{flex-shrink:0;white-space:nowrap}.agenda-legend{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin-bottom:.9rem;font-size:.82rem;color:var(--text-muted)}.agenda-legend__item{display:inline-flex;align-items:center;gap:.45rem}.agenda-legend__dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.agenda-legend__dot--personal{background:var(--gold)}.agenda-legend__dot--live{background:var(--primary)}.agenda-calendar{--fc-today-bg-color: color-mix(in srgb, var(--primary) 7%, transparent);--fc-border-color: var(--border);--fc-page-bg-color: transparent;--fc-neutral-bg-color: var(--surface);--fc-now-indicator-color: var(--primary);color:var(--text-primary);font-family:var(--font-body);padding:1.25rem;overflow:hidden}.agenda-calendar .fc .fc-toolbar{flex-wrap:wrap;gap:.6rem}.agenda-calendar .fc .fc-toolbar.fc-header-toolbar{margin-bottom:1rem}.agenda-calendar .fc .fc-toolbar.fc-footer-toolbar{margin-top:1rem}.agenda-calendar .fc .fc-toolbar-title{font-family:var(--font-heading);font-size:1.3rem}.agenda-calendar .fc .fc-button{font-family:var(--font-body);font-size:.85rem;font-weight:600;line-height:1;padding:.5rem 1.05rem;border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);border:1.5px solid var(--border-strong);box-shadow:none;text-transform:none;transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}@media(hover:hover){.agenda-calendar .fc .fc-button:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 4%,transparent);border-color:var(--primary);color:var(--accent-text)}}.agenda-calendar .fc .fc-button:focus,.agenda-calendar .fc .fc-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-glow)}.agenda-calendar .fc .fc-button:disabled{opacity:.45;border-color:var(--border);color:var(--text-muted)}.agenda-calendar .fc .fc-button-primary:not(:disabled):active{background:color-mix(in srgb,var(--primary) 8%,transparent);border-color:var(--primary);color:var(--accent-text)}.agenda-calendar .fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--btn-primary);border-color:var(--primary);color:var(--text-on-primary);box-shadow:0 4px 16px var(--primary-glow)}.agenda-calendar .fc .fc-button-group{gap:.4rem}.agenda-calendar .fc .fc-button-group>.fc-button{border-radius:var(--radius-full);margin:0}.agenda-calendar .fc .fc-col-header-cell-cushion,.agenda-calendar .fc .fc-daygrid-day-number,.agenda-calendar .fc .fc-timegrid-slot-label-cushion,.agenda-calendar .fc .fc-list-day-text{color:var(--text-secondary);text-decoration:none}.fc .agenda-ev--personal{background-color:var(--gold);border-color:var(--gold-dark)}.fc .agenda-ev--personal .fc-event-main{color:var(--text-on-gold)}.fc .agenda-ev--live{background-color:var(--primary-strong);border-color:var(--primary)}.fc .agenda-ev--live .fc-event-main{color:var(--text-on-primary)}@media(max-width:768px){.agenda-calendar{padding:.85rem .6rem;border-radius:var(--radius-lg)}.agenda-calendar .fc .fc-toolbar-title{font-size:1.05rem}.agenda-calendar .fc .fc-button{padding:.4rem .6rem;font-size:.8rem}.agenda-header__push{width:100%}}.confirm-dialog.agenda-modal{max-width:460px;gap:.35rem}.agenda-modal__hint{margin:0 0 .5rem;font-size:.85rem;color:var(--text-muted);line-height:1.5}.agenda-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.agenda-modal__row>div{min-width:0}.agenda-modal__check{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);margin:.5rem 0}.agenda-modal__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.agenda-modal__delete{margin-right:auto}.agenda-modal input[type=text],.agenda-modal input[type=datetime-local],.agenda-modal textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-family:var(--font-body);font-size:.95rem;background:var(--surface);color:var(--text-primary);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);padding:.6rem .8rem;outline:none;margin-bottom:.25rem}.agenda-modal input:focus,.agenda-modal textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}@media(max-width:640px){.agenda-modal__row{grid-template-columns:1fr}}.live-schedule-row label{flex:1;display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--text-secondary)}.live-schedule-row input[type=datetime-local]{font-family:var(--font-body);font-size:.95rem;background:var(--surface);color:var(--text-primary);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);padding:.6rem .8rem;outline:none}.live-schedule-row input[type=datetime-local]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.route-loading{min-height:60vh}.cert-search__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;align-items:end;margin-bottom:1.5rem}.cert-search__field{display:flex;flex-direction:column;gap:.3rem;min-width:0;font-size:.8rem;color:var(--text-secondary)}.cert-search__field--wide{grid-column:1 / -1}.cert-search__clear{justify-self:start}.cert-search__toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.6rem 1rem;margin-bottom:.75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.cert-search__select-all{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--text-secondary);cursor:pointer}.cert-search__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.cert-search__hint{font-size:.8rem;color:var(--danger)}.btn-danger{padding:.55rem 1.2rem;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);background:var(--danger-soft);color:var(--danger);font:inherit;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast)}@media(hover:hover){.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 16%,var(--danger-soft))}}.btn-danger:active:not(:disabled){transform:scale(.97)}.btn-danger--solid{background:var(--danger);color:var(--text-on-status)}@media(hover:hover){.btn-danger--solid:hover:not(:disabled){background:var(--danger);filter:brightness(1.08)}}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.cert-search__status{color:var(--text-muted)}.cert-search__error{color:var(--danger)}.cert-search__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.cert-search__row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;padding:.7rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:.9rem;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.cert-search__row--selected{border-color:var(--primary);background:var(--bg-elevated)}.cert-search__row input[type=checkbox],.cert-search__select-all input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.cert-search__name{font-weight:500;color:var(--text-primary);min-width:0;overflow-wrap:anywhere}.cert-search__number{font-family:monospace;color:var(--accent-text)}.cert-search__meta{color:var(--text-muted);font-size:.8rem}.cert-search__view{margin-left:auto}.confirm-dialog__overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--overlay)}.confirm-dialog{width:100%;max-width:480px;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-xl)}.confirm-dialog h2{margin:0;font-size:1.3rem}.confirm-dialog__text{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.cert-search__confirm-list{list-style:none;margin:0;padding:.5rem .75rem;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:.85rem}.cert-search__confirm-list li{display:flex;gap:.75rem;padding:.25rem 0}.confirm-dialog__error{margin:0;font-size:.9rem;color:var(--danger)}.dialog-options{display:flex;flex-direction:column;gap:.6rem}.dialog-option{display:flex;flex-direction:column;gap:.2rem;width:100%;padding:.75rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--dur-base),background-color var(--dur-fast),transform var(--dur-fast)}.dialog-option span{font-size:.82rem;color:var(--text-muted)}.dialog-option:active:not(:disabled){transform:scale(.99);background:var(--surface-rose)}.dialog-option--danger{border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:var(--danger-soft)}.dialog-option--danger strong{color:var(--danger)}@media(hover:hover){.dialog-option:hover:not(:disabled){border-color:var(--primary)}.dialog-option--danger:hover:not(:disabled){border-color:var(--danger)}}.dialog-option:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.update-prompt{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:9998;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.75rem 1rem;width:max-content;max-width:calc(100vw - 2rem);padding:.75rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-xl);animation:updatePromptIn var(--dur-slow) var(--ease-out)}.update-prompt__text{margin:0;font-size:.9rem;font-weight:500;color:var(--text-primary)}.update-prompt__actions{display:flex;gap:.5rem}@keyframes updatePromptIn{0%{opacity:0;transform:translate(-50%,1rem)}to{opacity:1;transform:translate(-50%)}}.cert-verify{max-width:860px;padding-top:3rem;padding-bottom:3rem;display:flex;flex-direction:column;gap:1.5rem}.admin-page.cert-verify{max-width:var(--page-max);padding-top:2.5rem}.admin-page.cert-verify>.back-link{align-self:flex-start}.cert-verify__hero{background:var(--btn-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem 1.5rem;text-align:center;color:var(--text-on-primary)}.cert-verify__hero-icon{font-size:2.5rem;line-height:1;margin-bottom:.75rem}.cert-verify__title{margin:0;font-family:var(--font-heading);font-size:1.75rem;color:var(--text-on-primary);text-shadow:0 1px 3px color-mix(in srgb,var(--shadow-color) 20%,transparent)}.cert-verify__academy{margin:.25rem 0 0;opacity:.92}.cert-verify__facts{margin:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.cert-verify__facts dt{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.cert-verify__facts dd{margin:0;font-weight:700;font-size:1.1rem;color:var(--text-primary);overflow-wrap:anywhere}.cert-verify__facts .cert-verify__number{font-family:monospace;color:var(--accent-text)}.cert-verify__validity{margin:0;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-md);padding:1.25rem 1.5rem;font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.cert-verify__validity strong{color:var(--text-primary)}.cert-verify__download{align-self:flex-start;padding:.75rem 2rem;font-size:1rem}.cert-verify__preview{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.cert-verify__preview-label{margin:0;padding:1rem 1.5rem;color:var(--text-muted);font-size:.85rem}.pdf-preview__canvas{display:block;width:100%;height:auto}.pdf-preview__fallback{margin:0;padding:2rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.85rem}@media(max-width:768px){.cert-verify{padding:2rem var(--mobile-pad-x)}.cert-verify__facts{padding:1.25rem}.cert-verify__download{align-self:stretch}}.coming-soon{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.coming-soon__card{background:var(--bg-elevated);border:1px solid var(--gold);border-radius:1.5rem;padding:3rem 2.5rem;max-width:520px;width:100%;text-align:center;box-shadow:var(--shadow-gold)}.coming-soon__badge{width:170px;height:auto;object-fit:contain;margin:0 auto 1rem}.coming-soon__title{font-family:var(--font-heading);color:var(--accent-text);font-size:2rem;margin:0 0 1rem}.coming-soon__divider{width:60px;height:2px;background:linear-gradient(90deg,var(--primary),var(--gold));margin:0 auto 1.5rem;border-radius:2px}.coming-soon__subtitle{font-family:var(--font-heading);color:var(--gold-text);font-size:1.2rem;margin:0 0 1rem;font-style:italic}.coming-soon__body{color:var(--text-secondary);line-height:1.7;margin:0 0 2rem;font-size:1rem}.coming-soon__tagline{color:var(--accent-text);font-weight:600;font-size:.95rem;letter-spacing:.05em;margin-bottom:1.5rem}.coming-soon__login{display:inline-flex;align-items:center;min-height:var(--touch-min);color:var(--text-muted);font-size:.8rem;text-decoration:underline dotted;text-underline-offset:4px}.coming-soon__cert{display:flex;align-items:center;gap:1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:1rem;padding:1.25rem 1.5rem;max-width:520px;width:100%;margin-top:1rem}.coming-soon__cert-icon{font-size:1.75rem;flex-shrink:0}.coming-soon__cert-text{flex:1;min-width:0}.coming-soon__cert-title{margin:0;font-weight:600;font-size:.95rem;color:var(--text-primary)}.coming-soon__cert-body{margin:.15rem 0 0;font-size:.8rem;color:var(--text-muted)}.coming-soon__cert-link{flex-shrink:0;display:inline-flex;align-items:center;min-height:var(--touch-min);color:var(--accent-text);font-weight:600;font-size:.9rem;text-decoration:none;white-space:nowrap}@media(max-width:480px){.coming-soon{padding:1.5rem var(--mobile-pad-x)}.coming-soon__card{padding:2.25rem 1.5rem 1.5rem}.coming-soon__badge{width:130px}.coming-soon__cert{flex-wrap:wrap;padding:1.25rem}.coming-soon__cert-link{flex-basis:100%;justify-content:center;border-top:1px solid var(--border);padding-top:.5rem}}@media(max-width:768px){.user-menu__trigger,.course-learn__sidebar-opener,.course-learn__complete-btn,.enrollment-card__cta,.cd-back,.preview-card__cta{min-height:var(--touch-min)}.cd-back,.preview-card__cta{align-items:center}}.course-learn__context{display:flex;align-items:center;gap:.75rem;min-width:0;font-size:.85rem;color:var(--text-muted)}.course-learn__back{flex:1;min-width:0;display:inline-flex;align-items:center;gap:.5rem;min-height:var(--touch-min);color:var(--text-secondary);font-weight:600;text-decoration:none;white-space:nowrap}@media(hover:hover){.course-learn__back:hover{color:var(--accent-text)}}.course-learn__course-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-learn__context-progress{font-variant-numeric:tabular-nums;white-space:nowrap}.course-learn__context-toggle{display:none;align-items:center;gap:.4rem;min-height:var(--touch-min);padding:0 .9rem;border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-primary);font-size:.85rem;font-weight:600;white-space:nowrap;cursor:pointer}@media(hover:hover){.course-learn__context-toggle:hover{border-color:var(--primary);color:var(--accent-text)}}.course-learn__context-toggle-count{color:var(--text-muted);font-weight:500;font-variant-numeric:tabular-nums}@media(max-width:1099px){.course-learn__context-progress{display:none}.course-learn__context-toggle{display:inline-flex}}@media(max-height:500px){.header{position:static}.course-learn__video{max-width:min(960px,calc((100vh - 11rem) * 16 / 9));max-width:min(960px,calc((100svh - 11rem) * 16 / 9))}}@media(max-width:600px){.course-learn__nav{gap:.5rem}.course-learn__nav-btn{width:var(--touch-min);height:var(--touch-min);padding:0;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1;flex-shrink:0}.course-learn__nav-btn-title{display:none}.course-learn__complete-btn{padding:.7rem 1rem}.course-learn__quiz{background:none;border:none;min-height:0}.submission-player{padding:0}.quiz-player{padding:1.25rem 1rem}}.course-home{max-width:960px;padding-top:clamp(1.25rem,4vw,2.5rem);padding-bottom:clamp(2rem,6vw,4rem);display:flex;flex-direction:column;gap:clamp(1.5rem,4vw,2.5rem)}.course-home--empty{align-items:flex-start}.course-home__muted{color:var(--text-muted)}.course-home__back{display:inline-flex;align-items:center;min-height:var(--touch-min);align-self:flex-start;color:var(--text-secondary);font-weight:600;font-size:.9rem;text-decoration:none}@media(hover:hover){.course-home__back:hover{color:var(--accent-text)}}.course-home__hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(1.25rem,4vw,2.5rem);align-items:start}.course-home__visual{aspect-ratio:16 / 10;max-height:min(40svh,360px);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center}.course-home__visual .course-thumbnail{width:100%;height:100%;object-fit:cover}.course-home__fallback{font-size:3rem}.course-home__summary{display:flex;flex-direction:column;gap:.75rem;min-width:0}.course-home__eyebrow{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.course-home__title{margin:0;font-family:var(--font-heading);font-size:clamp(1.6rem,1.2rem + 2vw,2.25rem);color:var(--text-primary)}.course-home__desc{margin:0;color:var(--text-secondary);line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.course-home__progress{display:flex;flex-direction:column;gap:.4rem}.course-home__access{margin:0;font-size:.85rem;color:var(--text-muted)}.course-home__actions{margin-top:.25rem}.course-home__cta{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;max-width:100%;padding:.75rem 1.5rem;text-decoration:none}.course-home__cta-next{font-size:.8rem;font-weight:400;opacity:.9;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-home__done{margin:0;font-weight:600;color:var(--text-primary)}.course-home__section{display:flex;flex-direction:column;gap:.75rem}.course-home__heading{margin:0;font-size:1.15rem;color:var(--text-primary)}.course-home__live,.course-home__lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.course-home__live-item{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center;min-height:var(--touch-min);padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);text-decoration:none}.course-home__live-when{font-weight:700;color:var(--accent-text);font-variant-numeric:tabular-nums}.course-home__live-when:first-letter{text-transform:uppercase}.course-home__lesson{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:var(--touch-min);padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);text-decoration:none;transition:border-color var(--dur-base) var(--ease-out)}@media(hover:hover){a.course-home__lesson:hover{border-color:var(--primary)}}a.course-home__lesson:active,.course-learn__lesson-item:not(.course-learn__lesson-item--active):active,.contact-card:active{background:var(--surface-rose);border-color:var(--primary-light)}.course-home__lesson--next{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.course-home__lesson--locked{opacity:.7}.course-home__lesson-index{width:2rem;height:2rem;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;background:var(--surface);color:var(--text-secondary)}.course-home__lesson-index--done{background:var(--success);color:var(--text-on-status)}.course-home__lesson-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.course-home__lesson-title{font-weight:600;overflow-wrap:anywhere}.course-home__lesson-meta{font-size:.8rem;color:var(--text-muted)}.course-home__lesson-meta:first-letter{text-transform:uppercase}.course-home__badge{font-size:.75rem;font-weight:600;padding:.3rem .65rem;border-radius:var(--radius-full);white-space:nowrap;color:var(--text-muted);background:var(--surface)}.course-home__badge--done{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.course-home__badge--active{color:var(--accent-text);background:color-mix(in srgb,var(--primary) 12%,transparent)}.course-home__badge--waiting{color:var(--text-secondary);background:color-mix(in srgb,var(--gold) 20%,transparent)}.course-home__badge--attention{color:var(--danger);background:var(--danger-soft)}.course-home__certificate p{margin:0;color:var(--text-secondary);line-height:1.6}@media(max-width:420px){.course-home__lesson{grid-template-columns:auto minmax(0,1fr)}.course-home__badge{grid-column:2;justify-self:start}}.cd-purchase-card__cta{display:block;text-align:center;text-decoration:none}.cd-purchase-card__enrolled{margin:.5rem 0 1rem;font-weight:600;color:var(--text-primary)}.tab-bar{display:none}@media(max-width:768px)and (min-height:501px){.tab-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;inset:auto 0 0;z-index:90;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px)}.site-shell:has(.tab-bar){padding-bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom,0px))}.nav-links--student{display:none}.site-shell:has(.tab-bar) .user-menu--student{display:none}}.tab-bar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:var(--tab-bar-height);color:var(--text-muted);text-decoration:none;font-size:.75rem;font-weight:600;-webkit-tap-highlight-color:transparent}.tab-bar__item.active{color:var(--accent-text)}.tab-bar__icon{box-sizing:content-box;width:22px;height:22px;padding:4px 15px;border-radius:var(--radius-full);transition:background-color var(--dur-base) var(--ease-out)}.tab-bar__item.active .tab-bar__icon,.tab-bar__item:active .tab-bar__icon{background:var(--surface-rose)}.my-certificates-page{padding-top:3rem;padding-bottom:5rem;max-width:760px}.my-certificates-page__status{color:var(--text-muted)}.my-certificates-page__empty-icon{width:48px;height:48px;color:var(--gold)}.certificate-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.certificate-list__item{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;padding:1rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.certificate-list__icon{flex-shrink:0;width:28px;height:28px;color:var(--gold)}.certificate-list__info{flex:1 1 12rem;min-width:0}.certificate-list__name{margin:0;font-weight:600;overflow-wrap:anywhere}.certificate-list__meta{margin:.15rem 0 0;font-size:.82rem;color:var(--text-muted)}.certificate-list__download{flex:1 0 auto;max-width:100%;min-height:var(--touch-min)}@media(min-width:641px){.certificate-list__download{flex:0 0 auto}}.site-menu{display:none}@media(max-width:768px){.site-menu{display:block}}.site-menu__toggle{display:inline-flex;align-items:center;gap:.35rem;min-height:40px;padding:0 .8rem;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-primary);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.site-menu__toggle[aria-expanded=true]{border-color:var(--primary);color:var(--accent-text)}.site-menu__toggle-icon{width:18px;height:18px}.site-menu__panel{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;background:var(--bg-elevated);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);animation:site-menu-in var(--dur-base) var(--ease-out)}@keyframes site-menu-in{0%{opacity:0;transform:translateY(-8px)}}.site-menu__panel .site-menu__item{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 var(--mobile-pad-x);border-top:1px solid var(--border);color:var(--text-primary);font-size:1rem;font-weight:600}.site-menu__panel .site-menu__item:after{content:none}.site-menu__panel .site-menu__item--logout{width:100%;background:none;border:none;border-top:1px solid var(--border);color:var(--danger);font:inherit;font-size:1rem;font-weight:600;text-align:left;cursor:pointer}.site-menu__item--logout .site-menu__chevron{color:var(--danger)}.site-menu__panel .site-menu__item:active{background:var(--surface)}.site-menu__chevron{width:20px;height:20px;color:var(--text-muted)}.account-logout{display:block;margin:2rem auto 0;min-height:var(--touch-min);color:var(--danger)}.course-home__certificate-link{align-self:flex-start;margin-top:.75rem}.site-shell:has(.design-workspace--fill){height:100dvh;overflow:hidden}.site-shell:has(.design-workspace--fill)>.footer{display:none}.site-shell>main:has(.design-workspace--fill){flex:1 1 0;min-height:0;display:flex;flex-direction:column}.admin-page:has(.design-workspace--fill){flex:1;min-height:0;display:flex;flex-direction:column;width:100%;padding-top:1rem;padding-bottom:2rem}.admin-page:has(.design-workspace--fill) .back-link{margin-bottom:.75rem}.admin-page:has(.design-workspace--fill) .admin-header{margin-bottom:.5rem}.admin-page:has(.design-workspace--fill) .admin-header h1{font-size:1.6rem;margin-bottom:0}.admin-page:has(.design-workspace--fill) .admin-header p{display:none}.admin-page:has(.design-workspace--fill) .admin-notice{margin:.75rem 0 0}.design-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem;align-items:stretch}.design-workspace--fill{flex:1;min-height:0}.design-stage-col{display:flex;flex-direction:column;gap:.5rem;min-width:0;min-height:0}.design-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.design-sample{display:flex;flex:1 1 14rem;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.design-sample span{white-space:nowrap}.design-sample input{min-width:0;padding:.45rem .75rem}.design-zoom{display:flex;align-items:center;gap:.35rem}.design-stage{flex:1;min-height:0;overflow:auto;display:flex;padding:.75rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-sunken)}.design-sheet{position:relative;flex-shrink:0;margin:auto;box-shadow:var(--shadow-md)}.design-sheet__canvas{display:block;width:100%;height:100%}.design-sheet__canvas[hidden]{display:none}.design-sheet__status{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--text-muted)}.design-stage__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem}.design-stage__hint,.design-stage__specs{margin:0;font-size:.78rem;color:var(--text-muted)}@media(pointer:coarse){.design-stage__hint--keys{display:none}}.design-marker{position:absolute;top:0;left:0;padding:0;outline:1.5px dashed var(--marker-accent);outline-offset:0;border-radius:2px;background-color:color-mix(in srgb,var(--marker-accent) 10%,transparent);white-space:nowrap;line-height:normal;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.design-marker:active{cursor:grabbing}.design-marker--selected{outline-style:solid;outline-width:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--marker-accent) 25%,transparent)}.design-marker:focus-visible{outline-style:solid;outline-width:2px}.design-marker__text{display:inline-block}.design-marker--name{--marker-accent: var(--primary)}.design-marker--date{--marker-accent: var(--success)}.design-marker--qr{--marker-accent: var(--gold);box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden}.design-marker--qr svg{display:block}.design-marker--centered{background-image:linear-gradient(var(--marker-accent) 1px,transparent 1px);background-size:1px 4px;background-position:50% 0;background-repeat:repeat-y}.design-panel{display:flex;flex-direction:column;min-height:0;padding:1rem 1.25rem}.design-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;margin-bottom:1rem;padding:.25rem;border-radius:var(--radius-full);background:var(--surface-sunken)}.design-tabs__tab{min-height:38px;border:none;border-radius:var(--radius-full);background:none;color:var(--text-secondary);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.design-tabs__tab[aria-selected=true]{background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.design-tabs__tab--name[aria-selected=true]{color:var(--accent-text)}.design-tabs__tab--date[aria-selected=true]{color:var(--success)}.design-tabs__tab--qr[aria-selected=true]{color:var(--gold-text)}.design-panel__body{flex:1;min-height:0;overflow-y:auto}.design-panel__body .form-group{margin-bottom:.6rem}.design-panel__body label{margin-bottom:.3rem;font-size:.85rem}.design-panel__body select,.design-panel__body input[type=text],.design-panel__body input[type=number]{min-height:38px;padding-block:.4rem;font-size:.9rem}.design-panel__footer{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.design-panel__save{width:100%}.design-range{display:flex;align-items:center;gap:.5rem}.design-range input[type=range]{flex:1;min-width:0}.design-range--name input[type=range]{accent-color:var(--primary)}.design-range--qr input[type=range]{accent-color:var(--gold)}.design-range--date input[type=range]{accent-color:var(--success)}.design-range .design-range__number{width:4.5rem;padding:.35rem;font-family:monospace;text-align:center}.design-range__unit{font-size:.8rem;color:var(--text-muted)}.design-color{display:flex;align-items:center;gap:.5rem}.design-color .design-color__swatch{flex-shrink:0;width:44px;height:38px;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer}.design-color .design-color__hex{flex:1;min-width:0;font-family:monospace}.design-color .design-color__hex[aria-invalid=true]{border-color:var(--danger)}.design-color__error{margin:.35rem 0 0;font-size:.78rem;color:var(--danger)}.design-align{display:flex;gap:.5rem}.design-align--name{--marker-accent: var(--primary);--marker-soft: var(--surface-rose);--marker-text: var(--accent-text)}.design-align--date{--marker-accent: var(--success);--marker-soft: var(--success-soft);--marker-text: var(--success)}.design-align button{flex:1;min-height:38px;padding:.4rem;border:2px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:.8rem;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--dur-fast),background-color var(--dur-fast),color var(--dur-fast)}.design-align button[aria-pressed=true]{border-color:var(--marker-accent);background:var(--marker-soft);color:var(--marker-text);font-weight:700}.design-align button:active{background:var(--marker-soft)}@media(max-width:899px),(max-height:599px){.design-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100svh;padding-block:.5rem}.design-stage{max-height:42svh}.design-stage__specs{display:none}.site-shell:has(.design-workspace) .header{position:static}}.sl{--brand-strong: #cf2e4e;--brand-soft: rgba(244, 63, 94, .1);--alert: #f43f5e;--alert-soft: #fff1f3;--alert-border: #fda4af;--alert-glow: rgba(244, 63, 94, .38);--alert-ink: #ffffff;--gold-deep: #b8873f}[data-theme=dark] .sl{--brand-strong: #fda4af;--brand-soft: rgba(251, 113, 133, .16);--alert: #fb7185;--alert-soft: rgba(251, 113, 133, .18);--alert-border: rgba(251, 113, 133, .5);--alert-glow: rgba(251, 113, 133, .38);--alert-ink: #4c0519}.sl{background:var(--bg);color:var(--text-primary);overflow-x:clip;padding-bottom:5.5rem}.sl-container{width:min(1120px,100% - 2.5rem);margin-inline:auto}.sl-container--narrow{width:min(760px,100% - 2.5rem)}@keyframes sl-shift{to{background-position:100% 50%}}@keyframes sl-slide{to{transform:translate(-50%)}}.sl-announce{position:sticky;top:0;z-index:40;overflow:hidden;padding:.6rem 0;background:linear-gradient(90deg,var(--primary),var(--alert),var(--gold-deep),var(--alert),var(--primary));background-size:250% 100%;animation:sl-shift 9s ease-in-out infinite alternate;color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.06em;white-space:nowrap}.sl-announce__track{display:flex;width:max-content;animation:sl-slide 22s linear infinite}.sl-announce__group{flex:0 0 auto;min-width:100vw;display:flex;justify-content:space-around;gap:3rem;padding-right:3rem}.sl-hero{position:relative;padding:clamp(2.5rem,7vw,5rem) 0 clamp(2.5rem,6vw,4rem);text-align:center;background:var(--surface);border-bottom:1px solid var(--border);isolation:isolate}.sl-hero__glow{position:absolute;inset:-30% 0 auto 50%;z-index:-1;width:min(900px,120vw);aspect-ratio:1;transform:translate(-50%);background:radial-gradient(circle,var(--primary-glow),transparent 62%);animation:sl-breathe 7s ease-in-out infinite}@keyframes sl-breathe{0%,to{opacity:.75;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.12)}}.sl-eyebrow{display:inline-block;margin:0 0 1.25rem;padding:.4rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-secondary);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--shadow-sm)}.sl-hero__title{margin:0 auto 1.25rem;max-width:18ch;font-family:var(--font-body);font-weight:800;font-size:clamp(2.1rem,6vw,4rem);line-height:1.08;letter-spacing:-.025em}.sl-hero__title em{display:inline-block;font-family:var(--font-heading);font-style:normal;font-weight:400;font-size:1.15em;line-height:1;background:linear-gradient(120deg,var(--primary),var(--alert),var(--gold-deep));background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sl-shift 6s ease-in-out infinite alternate}.sl-hero__sub{margin:0 auto clamp(2rem,4vw,2.75rem);max-width:58ch;color:var(--text-secondary);font-size:clamp(1rem,2vw,1.18rem);line-height:1.65}.sl-hero__actions{margin-top:2rem}.sl-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1.5rem,6vw,4rem);margin-top:clamp(2.5rem,5vw,3.5rem)}.sl-stat{display:grid;gap:.2rem}.sl-stat__value{font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--primary);font-variant-numeric:tabular-nums}.sl-stat__label{color:var(--text-muted);font-size:.88rem;letter-spacing:.03em;text-transform:uppercase}.sl-video{position:relative;display:block;width:100%;max-width:820px;margin-inline:auto;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-xl)}.sl-video__frame{width:100%;height:100%;border:0}.sl-video__facade{cursor:pointer;padding:0;transition:transform .25s ease,box-shadow .25s ease}.sl-video__facade:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow)}.sl-video__thumb{width:100%;height:100%;object-fit:cover;display:block}.sl-video__play{position:absolute;inset:0;z-index:1;display:grid;place-content:center;font-size:1.75rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.sl-video__play:before{content:"";position:absolute;inset:50% auto auto 50%;width:5rem;height:5rem;transform:translate(-50%,-50%);border-radius:var(--radius-full);background:var(--primary);animation:sl-pulse 2.4s ease-out infinite}@keyframes sl-pulse{0%{box-shadow:0 0 0 0 var(--primary-glow)}70%{box-shadow:0 0 0 1.75rem transparent}to{box-shadow:0 0 0 0 transparent}}.sl-video--pending{display:grid;place-content:center;gap:.75rem;text-align:center;color:var(--text-muted);border-style:dashed}.sl-video__pending-icon{font-size:2.5rem}.sl-cta{position:relative;display:inline-flex;align-items:center;gap:.6rem;padding:1.1rem 2.5rem;overflow:hidden;border-radius:var(--radius-full);background:linear-gradient(120deg,var(--primary),var(--alert),var(--gold-deep),var(--alert),var(--primary));background-size:250% 100%;color:#fff;font-size:clamp(1rem,2.2vw,1.15rem);font-weight:700;letter-spacing:-.01em;text-decoration:none;box-shadow:0 8px 32px var(--alert-glow);animation:sl-throb 2.8s ease-in-out infinite,sl-shift 7s ease-in-out infinite alternate;transition:transform .2s ease,box-shadow .2s ease}.sl-cta:after{content:"";position:absolute;inset:0 auto 0 -60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skew(-20deg);animation:sl-sweep 3.5s ease-in-out infinite}@keyframes sl-throb{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes sl-sweep{0%,55%{left:-60%}85%,to{left:130%}}.sl-cta:hover{transform:scale(1.05);box-shadow:var(--shadow-xl),0 8px 40px var(--alert-glow);animation-play-state:paused}.sl-cta__icon{font-size:1.15em}.sl-cta__hint{margin:.85rem 0 0;color:var(--text-muted);font-size:.9rem}.sl-mark{padding:.08em .28em;border-radius:.28em;background:var(--brand-soft);color:var(--brand-strong);font-weight:700}.sl-section{padding:clamp(3rem,7vw,5rem) 0}.sl-section--alt{background:var(--surface);border-block:1px solid var(--border)}.sl-section__title{margin:0 0 1rem;text-align:center;font-family:var(--font-body);font-weight:800;font-size:clamp(1.6rem,4vw,2.5rem);letter-spacing:-.02em}.sl-section__intro{margin:0 auto clamp(2rem,4vw,2.75rem);max-width:56ch;text-align:center;color:var(--text-secondary);font-size:clamp(1rem,2vw,1.1rem);line-height:1.65}.sl-marquee{overflow:hidden;padding:.9rem 0;background:var(--text-primary);color:var(--bg);border-block:1px solid var(--border-strong)}.sl-marquee__track{display:flex;width:max-content;animation:sl-slide 26s linear infinite}.sl-marquee__group{display:flex;flex-shrink:0}.sl-marquee__item{display:inline-flex;align-items:center;gap:2rem;padding-right:2rem;font-weight:700;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.sl-marquee__item i{font-style:normal;color:var(--gold)}.sl-wins{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.9rem}.sl-win{display:flex;gap:.9rem;align-items:flex-start;padding:1.2rem 1.4rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.sl-win:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:var(--shadow-lg)}.sl-win__tick{flex-shrink:0;display:grid;place-content:center;width:1.6rem;height:1.6rem;border-radius:var(--radius-full);background:var(--brand-soft);color:var(--brand-strong);font-weight:800;font-size:.9rem}.sl-win p{margin:0;color:var(--text-secondary);line-height:1.6}.sl-modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.sl-module{position:relative;padding:1.9rem 1.6rem 1.6rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.sl-module:hover{transform:translateY(-5px);border-color:var(--primary);box-shadow:var(--shadow-lg)}.sl-module__num{position:absolute;top:-.9rem;left:1.6rem;display:grid;place-content:center;width:2.6rem;height:2.6rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary),var(--gold));color:#fff;font-weight:800;font-size:.95rem;box-shadow:var(--shadow-glow)}.sl-module__name{margin:1rem 0 .9rem;font-size:1.1rem;font-weight:800;letter-spacing:-.01em}.sl-module__points{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.sl-module__points li{position:relative;padding-left:1.25rem;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.sl-module__points li:before{content:"";position:absolute;left:0;top:.55em;width:.4rem;height:.4rem;border-radius:var(--radius-full);background:var(--gold)}.sl-requirement{display:flex;gap:1.35rem;align-items:flex-start;padding:clamp(1.5rem,4vw,2.25rem);border:2px solid var(--gold);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-gold)}.sl-requirement__icon{font-size:2rem;line-height:1}.sl-requirement__title{margin:0 0 .6rem;font-family:var(--font-body);font-size:1.2rem;font-weight:800;color:var(--gold-dark)}.sl-requirement p{margin:0;color:var(--text-secondary);line-height:1.65}.sl-fineprint{margin:1.75rem auto 0;max-width:64ch;color:var(--text-muted);font-size:.82rem;line-height:1.6;text-align:center}.sl-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1.5rem;align-items:start}.sl-plan{position:relative;display:flex;flex-direction:column;padding:clamp(1.75rem,4vw,2.5rem) clamp(1.35rem,3vw,2rem);border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-md);transition:transform .3s ease,box-shadow .3s ease}.sl-plan:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.sl-plan--featured{border:2px solid var(--gold);box-shadow:var(--shadow-xl),0 0 0 6px var(--gold-glow)}.sl-plan__badge{align-self:flex-start;margin-bottom:1rem;padding:.35rem .9rem;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border-strong);color:var(--text-secondary);font-size:.75rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.sl-plan--featured .sl-plan__badge{background:linear-gradient(120deg,var(--primary),var(--gold),var(--primary));background-size:220% 100%;animation:sl-shift 7s ease-in-out infinite alternate;border-color:transparent;color:#fff}.sl-plan__name{margin:0 0 .4rem;font-size:clamp(1.3rem,3vw,1.6rem);font-weight:800;letter-spacing:-.02em}.sl-plan__tagline{margin:0 0 1.5rem;color:var(--text-secondary);line-height:1.55}.sl-plan__price{margin:0;font-size:clamp(2.4rem,6vw,3.25rem);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--brand-strong)}.sl-plan--featured .sl-plan__price{background:linear-gradient(120deg,var(--primary),var(--gold),var(--primary));background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sl-shift 6s ease-in-out infinite alternate}.sl-plan__price-note{margin:.45rem 0 1.5rem;color:var(--text-muted);font-size:.9rem}.sl-plan__perks{flex:1;margin:0 0 1.75rem;padding:0;list-style:none;display:grid;gap:.8rem}.sl-plan__perks li{display:flex;gap:.7rem;align-items:flex-start;color:var(--text-secondary);line-height:1.55}.sl-plan__tick{flex-shrink:0;color:var(--primary);font-weight:800}.sl-plan__perk--extra .sl-plan__tick{color:var(--gold-dark)}.sl-plan__perk--extra{color:var(--text-primary)}.sl-cta--plan{width:100%;justify-content:center;padding-inline:1.25rem;font-size:1rem}.sl-plan:not(.sl-plan--featured) .sl-cta--plan{animation:sl-shift 7s ease-in-out infinite alternate}.sl-plans__footer{margin:2.25rem auto 0;max-width:52ch;text-align:center;color:var(--text-secondary);line-height:1.65}.sl-list{margin:0;padding:0;list-style:none;display:grid;gap:.9rem}.sl-list li{position:relative;padding-left:2rem;color:var(--text-secondary);line-height:1.6}.sl-list--yes li:before{content:"✓";position:absolute;left:0;top:0;color:var(--primary);font-weight:800}.sl-slider{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;max-width:860px;margin-inline:auto}.sl-slider__viewport{overflow:hidden;touch-action:pan-y}.sl-slider__track{display:flex;align-items:stretch;transition:transform .45s cubic-bezier(.32,.72,0,1)}.sl-slider__track .sl-testimonial{flex:0 0 100%;min-width:0}.sl-slider__arrow{display:grid;place-content:center;width:2.9rem;height:2.9rem;padding:0 0 .2rem;border:2px solid var(--border-strong);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--primary);font-size:1.7rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.sl-slider__arrow:hover{transform:scale(1.1);background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-glow)}.sl-slider__arrow:active{transform:scale(.96)}.sl-slider__dots{grid-column:1 / -1;display:flex;justify-content:center;gap:.5rem;margin-top:1.25rem}.sl-slider__dot{width:.62rem;height:.62rem;padding:0;border:0;border-radius:var(--radius-full);background:var(--border-strong);cursor:pointer;transition:width .3s ease,background .3s ease}.sl-slider__dot--on{width:1.75rem;background:var(--primary)}.sl-testimonial{margin:0;padding:1.75rem;border:1px solid var(--border);border-top:3px solid var(--gold);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}.sl-testimonial__stars{display:block;margin-bottom:.9rem;color:var(--gold);letter-spacing:.15em}.sl-testimonial blockquote{margin:0 0 1rem;color:var(--text-primary);font-size:1.02rem;line-height:1.65}.sl-testimonial__result{margin:0 0 1.25rem;padding:.5rem .85rem;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-strong);font-size:.88rem;font-weight:700}.sl-testimonial figcaption{display:grid;gap:.15rem;font-size:.9rem}.sl-testimonial figcaption span{color:var(--text-muted)}.sl-close{padding:clamp(3rem,7vw,5rem) 0 clamp(3.5rem,8vw,5.5rem);text-align:center;background:radial-gradient(ellipse 70% 60% at 50% 110%,var(--gold-glow),transparent 70%),var(--bg)}.sl-scarcity{position:relative;margin:0 auto 2.5rem;max-width:52ch;padding:1.6rem 1.35rem 1.1rem;border:2px dashed var(--alert-border);border-radius:var(--radius-md);background:var(--alert-soft);color:var(--text-secondary);font-size:.97rem;line-height:1.65}.sl-scarcity__tag{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);padding:.25rem .85rem;border-radius:var(--radius-full);background:var(--alert);color:var(--alert-ink);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.sl-close__title{margin:0 0 1rem;font-family:var(--font-heading);font-weight:400;font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.2;color:var(--primary)}.sl-close__body{margin:0 auto 2rem;max-width:48ch;color:var(--text-secondary);line-height:1.65}.sl-sticky{position:fixed;inset:auto 0 0;z-index:45;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:var(--bg-elevated);border-top:1px solid var(--border);box-shadow:var(--shadow-xl);transition:transform .35s cubic-bezier(.32,.72,0,1),visibility .35s}.sl-sticky--hidden{transform:translateY(130%);visibility:hidden}.sl-sticky .sl-cta{display:flex;width:min(420px,100%);margin-inline:auto;justify-content:center}@media(max-width:640px){.sl-requirement{flex-direction:column;gap:.85rem}.sl-slider{gap:.4rem}.sl-slider__arrow{width:2.4rem;height:2.4rem;font-size:1.45rem}.sl-testimonial{padding:1.4rem 1.25rem}}
