:root{--page:#fff;--ink:#2f2f2f;--muted:#6f6f6f;--soft:#f5f5f5;--panel:#ededed;--line:#e8e6e6;--dark:#605e5e;--mid:#eee;--accent:#b21127;--accent-soft:#fff0f2;--accent-panel:#ffdce2;--card-shadow:0 8px 18px rgba(150,150,150,.12);--canvas:1440px;--gutter:clamp(20px,5vw,80px);font-family:Source Sans Pro,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}.button{white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:12px 24px;font-size:16px;font-weight:500;line-height:1.5;text-decoration:none;transition:all .2s;display:inline-flex}.button-dark,.button.accent{background:var(--accent);color:#fff!important}.button.wide{width:100%}.course-hero{padding:48px var(--gutter)72px;background:var(--soft);color:var(--ink);margin:0;display:block;overflow:hidden}.course-hero-copy{flex-direction:column;gap:18px;width:min(70%,820px);min-width:0;display:flex}.course-hero-copy>span{color:var(--accent);letter-spacing:0;font-size:14px;font-weight:600}.course-hero h1{max-width:820px;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:max(34px,min(3.6vw,52px));font-weight:600;line-height:1.12}.course-hero p{max-width:760px;color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:18px;line-height:30px}.course-hero a:not(.button){color:var(--accent);text-underline-offset:3px;font-size:14px;font-weight:600;text-decoration:underline}.course-hero-meta{color:var(--dark);flex-wrap:wrap;align-items:center;gap:20px;font-size:16px;display:flex}.course-hero-meta .star{color:#f2b705}.course-detail-grid{padding:56px var(--gutter)104px;grid-template-columns:minmax(0,7fr) minmax(320px,3fr);align-items:start;gap:max(28px,min(3vw,48px));margin-top:0;display:grid}.course-main{gap:40px;padding-top:0;display:grid}.learn-card,.requirements-card,.instructor-block{border:1px solid var(--line);background:var(--page);box-shadow:var(--card-shadow);border-radius:12px;padding:max(22px,min(2.2vw,32px))}.card-title-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.learn-card h2,.curriculum h2,.requirements-card h2,.instructor-block h2,.sidebar-includes h2{color:var(--ink);margin:0;font-size:24px;font-weight:600;line-height:32px}.learn-content,.requirements-content,.overview-content{color:var(--muted);margin-top:20px;font-size:15px;line-height:1.7}.overview-content p{color:var(--muted);margin-bottom:12px}.learn-content ul,.learn-content ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px;margin:0;padding:0;list-style:none;display:grid}.learn-content li{color:var(--muted);align-items:flex-start;gap:12px;font-size:14px;line-height:24px;display:flex;position:relative}.learn-content li:before{content:"✓";color:var(--accent);flex-shrink:0;font-size:15px;font-weight:700}.learn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 40px;margin-top:32px;display:grid}.learn-grid p,.course-lessons p{color:var(--muted);align-items:flex-start;gap:12px;margin:0;font-size:14px;line-height:24px;display:flex}.learn-grid span,.course-lessons span{color:var(--accent);font-weight:600}.section-heading{max-width:880px}.compact-heading{margin-bottom:20px}.compact-heading p{color:var(--muted);margin-top:8px}.course-accordion{border:1px solid var(--line);background:var(--page);border-radius:12px;display:grid;overflow:hidden}.course-module{border-bottom:1px solid var(--line)}.course-module:last-child{border-bottom:0}.course-module summary{min-height:68px;color:var(--ink);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 22px;font-size:16px;font-weight:600;list-style:none;display:grid}.course-module summary::-webkit-details-marker{display:none}.course-module summary small{white-space:nowrap;color:var(--muted);font-size:13px;font-weight:500}.course-lessons{border-top:1px solid var(--line);background:var(--soft);gap:14px;padding:18px 22px 22px;display:grid}.course-lessons p{grid-template-columns:18px minmax(0,1fr) auto;align-items:center;display:grid}.course-lessons time{color:var(--muted);grid-column:2;font-size:13px}.lesson-icon{color:var(--accent);font-weight:600}.requirements-card{gap:18px;display:grid}.requirements-content ul,.requirements-content ol{gap:14px;margin:0;padding:0;list-style:none;display:grid}.requirements-content li{color:var(--muted);align-items:center;gap:10px;font-size:14px;line-height:24px;display:flex}.requirements-content li:before{content:"•";color:var(--accent);font-size:18px;font-weight:700}.requirements-card ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.requirements-card li{color:var(--muted);align-items:center;gap:10px;font-size:14px;line-height:24px;display:flex}.requirements-card li:before{content:"•";color:var(--accent);font-weight:700}.instructor-block{gap:18px;display:grid}.instructor-header{align-items:center;gap:16px;margin-bottom:8px;display:flex}.instructor-avatar{object-fit:cover;border:2px solid var(--line);border-radius:50%;flex-shrink:0;width:64px;height:64px}.instructor-block>div:last-child{gap:14px;display:grid}.instructor-block p{color:var(--muted);margin:0;font-size:15px;line-height:26px}.instructor-stats{flex-wrap:wrap;gap:12px;margin-top:8px;margin-bottom:8px;display:flex}.instructor-stats span{border:1px solid var(--line);min-width:92px;color:var(--muted);border-radius:10px;gap:2px;padding:10px 12px;font-size:12px;display:grid}.instructor-stats strong{color:var(--ink);font-size:18px;line-height:22px}.course-aside{gap:24px;display:grid;position:-webkit-sticky;position:sticky;top:24px}.course-sidebar-card{border:1px solid var(--line);background:var(--page);box-shadow:var(--card-shadow);border-radius:12px;gap:22px;display:grid;overflow:hidden}.course-preview{aspect-ratio:16/9;background:var(--soft);cursor:pointer;position:relative;overflow:hidden}.course-preview img{object-fit:cover;width:100%;height:100%;display:block}.course-preview-play{color:#fff;background:rgba(0,0,0,.25);justify-content:center;align-items:center;font-size:44px;transition:background .2s,transform .2s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.course-preview:hover .course-preview-play{background:rgba(0,0,0,.4);transform:scale(1.05)}.course-preview span.preview-badge{background:var(--page);color:var(--accent);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600;position:absolute;top:auto;bottom:16px;left:auto;right:16px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.course-purchase,.sidebar-includes{gap:18px;padding:0 24px;display:grid}.course-purchase strong{color:var(--ink);font-size:32px;font-weight:700;line-height:1.2}.price-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.price-display{align-items:baseline;gap:10px;display:flex}.original-price{color:var(--muted);font-size:18px;text-decoration:line-through}.discount-badge{background:var(--accent-panel);color:var(--accent);border-radius:999px;align-items:center;padding:4px 8px;font-size:13px;font-weight:700;display:inline-flex}.access-selection{justify-content:center;gap:10px;margin-top:4px;display:flex}.access-badge-wrapper{display:inline-block;position:relative}.access-badge{border:1px solid var(--line);background:var(--page);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.access-badge.active,.access-badge:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.custom-tooltip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:10;background:#222;border-radius:6px;margin-bottom:6px;padding:5px 10px;font-size:11px;transition:opacity .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.access-badge-wrapper:hover .custom-tooltip{opacity:1}.wishlist-btns{gap:12px;display:flex}.btn-wish{border:1px solid var(--line);background:var(--page);min-height:44px;color:var(--dark);border-radius:999px;flex:1;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-wish:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn-wish.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.sidebar-includes{padding-bottom:24px}.sidebar-includes ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.sidebar-includes li{color:var(--muted);align-items:center;gap:10px;font-size:14px;line-height:24px;display:flex}.sidebar-includes li span{color:var(--accent);font-weight:700}.course-section{padding:80px var(--gutter)104px;position:relative}.compact-section{padding:0}.compact-section .section-heading+.course-grid{margin-top:40px}.section-heading h2{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:32px;font-weight:600;line-height:40px}.course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.two-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:none}.course-card{border:1px solid var(--line);min-width:0;box-shadow:var(--card-shadow);color:inherit;background:#fff;border-radius:10px;grid-template-rows:auto 1fr;padding:14px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.course-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 14px 34px rgba(130,130,130,.16)}.course-thumb{aspect-ratio:16/9;border:1px solid var(--line);background:var(--panel);border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.course-thumb img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.course-thumb.has-image:after{content:"";background:linear-gradient(rgba(19,22,24,.05),rgba(19,22,24,.18));position:absolute;top:0;bottom:0;left:0;right:0}.course-body{grid-template-rows:1fr auto auto;gap:16px;padding-top:16px;display:grid}.course-body h3{color:#2f2f2f;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:46px;margin:0;font-size:16px;font-weight:600;line-height:23px;display:-webkit-box;overflow:hidden}.course-body p{color:#717171;margin:4px 0 0;font-size:14px;line-height:20px}.course-body strong{color:#2f2f2f;font-size:18px;font-weight:700}.course-badges{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.course-badges span{border:1px solid var(--accent);background:var(--accent-soft);min-height:24px;color:var(--accent);border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:600;line-height:14px;display:inline-flex}.course-meta{border-top:1px solid var(--line);color:#4f4f4f;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:14px;line-height:20px;display:flex}.rating{align-items:center;gap:6px;display:inline-flex}.star{color:#f2b705}.mini-avatars{vertical-align:middle;align-items:center;width:54px;height:24px;margin-left:8px;display:inline-flex}.mini-avatars img{object-fit:cover;border:2px solid #fff;border-radius:50%;flex:none;width:24px;height:24px}.mini-avatars img+img{margin-left:-10px}.mobile-course-cta{display:none}@media (max-width:720px){.mobile-course-cta{z-index:20;background:var(--accent);border-radius:999px;justify-content:center;align-items:center;min-height:52px;font-weight:600;text-decoration:none;display:inline-flex;position:fixed;bottom:18px;left:20px;right:20px;box-shadow:0 12px 30px rgba(178,17,39,.4);color:var(--page)!important}}@media (max-width:1100px){.course-detail-grid{grid-template-columns:1fr;margin-top:0;padding-left:20px;padding-right:20px}.course-main{padding-top:0}.course-aside{position:static}.course-hero{margin-left:20px;margin-right:20px}.button{min-height:44px;padding:10px 18px;font-size:14px}.course-hero h1{font-size:30px;line-height:38px}.learn-grid,.two-card-grid{grid-template-columns:1fr}}@media (max-width:720px){.course-hero{max-width:none;margin-left:0;margin-right:0;padding:48px 20px 56px}.course-hero-copy,.course-hero-copy>*{width:100%;max-width:100%}.course-hero-meta{gap:16px;width:100%;max-width:100%}.course-hero h1{width:100%;max-width:100%;font-size:28px;line-height:36px}.course-hero p{width:100%;max-width:100%}.course-detail-grid{gap:32px;padding:28px 16px 96px}.learn-card,.requirements-card,.instructor-block{padding:22px}.course-module summary{grid-template-columns:1fr;gap:6px}.course-module summary small{white-space:normal}.course-lessons p{grid-template-columns:18px minmax(0,1fr)}.course-lessons time{grid-column:2}.course-section{padding-top:56px;padding-bottom:56px}.section-heading h2{font-size:26px;line-height:34px}.section-heading+.course-grid,.compact-section .section-heading+.course-grid{margin-top:32px}.course-grid{grid-template-columns:1fr}}.skeleton-box{background-color:#eaebed;border-radius:6px;display:inline-block;position:relative;overflow:hidden}.skeleton-box:after{content:"";background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.65) 20%,rgba(255,255,255,.85) 60%,rgba(255,255,255,0));animation:1.5s infinite skeleton-shimmer;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}
