.oc-page{background:var(--bg);min-height:70vh;padding:2.5rem 1.25rem 4rem}.oc-container{max-width:1100px;margin:0 auto}.oc-narrow{max-width:820px;margin:0 auto}.oc-head{text-align:center;margin-bottom:2.5rem}.oc-title{color:var(--navy);margin:0 0 .6rem;font-size:2.1rem;font-weight:900}.oc-sub{color:var(--text-mid);margin:0;font-size:1.05rem;line-height:1.7}.oc-section-title{color:var(--navy);margin:2rem 0 1rem;font-size:1.3rem;font-weight:800}.oc-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.oc-card{background:var(--white);color:inherit;border-radius:14px;flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 2px 10px #0d1b3e14}.oc-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #0d1b3e29}.oc-card-cover{aspect-ratio:16/9;object-fit:cover;background:var(--navy-mid);width:100%;display:block}.oc-card-cover-empty{aspect-ratio:16/9;background:linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);color:var(--gold);justify-content:center;align-items:center;font-size:2rem;font-weight:900;display:flex}.oc-card-body{flex-direction:column;flex:1;padding:1rem 1.1rem 1.2rem;display:flex}.oc-card-title{color:var(--navy);margin:0 0 .35rem;font-size:1.1rem;font-weight:800;line-height:1.4}.oc-card-sub{color:var(--text-mid);flex:1;margin:0 0 .8rem;font-size:.92rem;line-height:1.6}.oc-card-foot{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.oc-instructor{color:var(--text-mid);font-size:.86rem}.oc-price{color:var(--navy);font-size:1.05rem;font-weight:900}.oc-price-was{color:var(--text-mid);margin-right:.35rem;font-size:.85rem;font-weight:500;text-decoration:line-through}.oc-badge-free{background:var(--gold);color:var(--navy);border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:800;display:inline-block}.oc-empty{background:var(--white);text-align:center;color:var(--text-mid);border-radius:14px;padding:2.5rem 1.5rem}.oc-hero{background:var(--white);border-radius:16px;margin-bottom:1.5rem;padding:1.75rem;box-shadow:0 2px 10px #0d1b3e14}.oc-hero-cover{border-radius:12px;width:100%;margin-bottom:1.25rem;display:block}.oc-hero-title{color:var(--navy);margin:0 0 .5rem;font-size:1.9rem;font-weight:900;line-height:1.3}.oc-hero-sub{color:var(--text-mid);margin:0 0 1.25rem;font-size:1.05rem;line-height:1.7}.oc-cta-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.oc-btn{background:var(--gold);color:var(--navy);cursor:pointer;border:none;border-radius:999px;padding:.75rem 1.6rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-block}.oc-btn:hover{background:var(--gold-dim)}.oc-btn-ghost{color:var(--navy);border:2px solid var(--navy);background:0 0}.oc-btn-ghost:hover{background:var(--navy);color:var(--white)}.oc-desc{background:var(--white);color:var(--text);border-radius:16px;margin-bottom:1.5rem;padding:1.75rem;line-height:1.85;box-shadow:0 2px 10px #0d1b3e14}.oc-desc h2{color:var(--navy);margin:1.5rem 0 .6rem;font-size:1.3rem;font-weight:800}.oc-desc h3{color:var(--navy);margin:1.2rem 0 .5rem;font-size:1.1rem;font-weight:800}.oc-desc p{margin:0 0 .9rem}.oc-desc ul{margin:0 0 .9rem;padding-left:1.4rem}.oc-desc li{margin-bottom:.4rem}.oc-outline{background:var(--white);border-radius:16px;padding:1.5rem 1.75rem;box-shadow:0 2px 10px #0d1b3e14}.oc-module{margin-bottom:1.5rem}.oc-module:last-child{margin-bottom:0}.oc-module-title{color:var(--navy);margin:0 0 .25rem;font-size:1.1rem;font-weight:800}.oc-module-summary{color:var(--text-mid);margin:0 0 .7rem;font-size:.9rem;line-height:1.6}.oc-lesson-list{margin:0;padding:0;list-style:none}.oc-lesson{border-bottom:1px solid #e8edf5;align-items:center;gap:.6rem;padding:.65rem .2rem;font-size:.98rem;display:flex}.oc-lesson:last-child{border-bottom:none}.oc-lesson a{color:var(--navy-mid);font-weight:600;text-decoration:none}.oc-lesson a:hover{text-decoration:underline}.oc-lesson-name{color:var(--text);flex:1}.oc-lesson-dur{color:var(--text-mid);white-space:nowrap;font-size:.85rem}.oc-tag-preview{background:var(--gold-light);color:var(--navy);white-space:nowrap;border-radius:999px;padding:.12rem .5rem;font-size:.78rem;font-weight:800}.oc-lock{color:var(--text-mid);font-size:.9rem}@media (max-width:640px){.oc-page{padding:1.5rem 1rem 3rem}.oc-title{font-size:1.7rem}.oc-hero-title{font-size:1.5rem}.oc-hero,.oc-desc,.oc-outline{padding:1.25rem}}
