/* Dedicated course page. Existing pages keep their own layout. */
.online-course{--oc-dark:#29332e;--oc-sage:#e8ece5}.online-course em{font-style:italic;font-weight:400}.oc-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:8%;align-items:center;padding-top:55px!important;padding-bottom:60px!important}.oc-hero .breadcrumb{display:inline-block;font-size:12px;margin-bottom:34px}.oc-hero .eyebrow{font-size:10px;margin-bottom:22px}.oc-hero h1{font-size:clamp(58px,5.6vw,92px);line-height:.98}.oc-hero h1 em{color:#64705e}.oc-course-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;line-height:1.2;margin:28px 0 18px;color:var(--ink)}.oc-course-name span{display:block;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.025em;margin-top:12px;color:var(--muted)}.oc-intro{max-width:500px;font-size:14px;line-height:1.9}.oc-hero .actions{gap:22px;margin-top:26px;flex-wrap:wrap}.oc-hero .button{min-height:50px;gap:18px}.oc-hero .text-link{font-size:11px}.oc-portrait{margin:0;max-width:430px;width:100%;justify-self:end}.oc-portrait img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:220px 220px 0 0}.oc-portrait figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:15px;margin-top:16px;font-size:10px;color:var(--muted)}.oc-portrait figcaption span{font-weight:500;color:var(--ink)}.oc-ribbon{display:flex;justify-content:center;gap:55px;padding:22px 6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:#efece4}.oc-foundation{display:grid;grid-template-columns:1fr 1fr;gap:10%}.oc-foundation h2,.oc-teacher h2{font-size:clamp(43px,4.3vw,66px)}.oc-prose p{font-size:14px;line-height:1.95}.oc-curriculum{background:var(--oc-sage);display:grid;grid-template-columns:.95fr 1.05fr;gap:10%;align-items:start}.oc-curriculum-intro{position:sticky;top:45px}.oc-curriculum-intro h2{font-size:clamp(44px,4.5vw,68px);line-height:1.03;margin-bottom:28px}.oc-curriculum-intro>p:not(.eyebrow){font-size:13px;max-width:310px;line-height:1.85}.oc-curriculum-intro .text-link{font-size:11px}.oc-topics article{display:flex;gap:25px;padding:25px 0 28px;border-top:1px solid #bec8ba}.oc-topics article:first-child{padding-top:0;border-top:0}.oc-index{font-size:12px;color:#6d7c66;padding-top:6px}.oc-topics h3{font-size:32px;line-height:1.1}.oc-topics p{font-size:13px;line-height:1.85;margin:12px 0 0;max-width:390px}.oc-audience>h2{font-size:clamp(44px,4.8vw,72px);margin-bottom:45px}.oc-audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.oc-audience-grid article{border-top:1px solid var(--line);padding-top:25px}.oc-audience-grid h3{font-size:30px;margin-bottom:16px}.oc-audience-grid p{font-size:13px;line-height:1.85;margin:0}.oc-teacher{display:grid;grid-template-columns:.8fr 1fr;gap:12%;align-items:center}.oc-teacher figure{margin:0}.oc-teacher img{width:100%;aspect-ratio:1;object-fit:cover}.oc-teacher h2{margin-bottom:28px}.oc-teacher p:not(.eyebrow){font-size:14px;line-height:1.85}.oc-teacher .text-link{font-size:11px}.oc-faq{display:grid;grid-template-columns:1fr 1.15fr;gap:12%;background:#eee9df}.oc-faq h2{font-size:clamp(44px,4.5vw,68px)}.oc-questions details{border-top:1px solid #c8c2b8;padding:21px 0}.oc-questions details:last-child{border-bottom:1px solid #c8c2b8}.oc-questions summary{cursor:pointer;font-size:14px;line-height:1.6;font-weight:500;padding-right:20px}.oc-questions p{font-size:13px;line-height:1.85;margin:17px 0 0;max-width:440px}.oc-enroll{text-align:center;background:var(--oc-dark);color:#f7f4ee}.oc-enroll .eyebrow{color:#c0c9b5}.oc-enroll h2{font-size:clamp(52px,6vw,86px);line-height:1}.oc-enroll>p:not(.eyebrow){color:#d1d5cb;font-size:14px;margin:28px 0}.oc-enroll .button{display:inline-flex;background:#f3efe5;color:var(--oc-dark);gap:26px;border-color:#f3efe5;min-height:52px}.oc-presencial-link{display:block;font-size:11px;color:#d1d5cb;margin:26px auto 0;text-decoration:underline;text-underline-offset:4px;max-width:380px}
@media(max-width:1000px){.oc-hero{gap:6%;grid-template-columns:1fr .85fr}.oc-hero h1{font-size:68px}.oc-portrait{max-width:360px}.oc-curriculum{gap:7%}.oc-ribbon{gap:26px;font-size:9px}.oc-teacher{gap:8%}}
@media(max-width:700px){.oc-hero{grid-template-columns:1fr;padding-top:30px!important;gap:35px}.oc-hero .breadcrumb{margin-bottom:25px}.oc-hero h1{font-size:clamp(55px,13vw,76px)}.oc-hero .eyebrow{font-size:9px}.oc-course-name{font-size:30px;margin-top:24px}.oc-hero .actions{gap:20px}.oc-hero .button{font-size:11px;padding:15px 18px}.oc-portrait{max-width:315px;justify-self:center}.oc-ribbon{flex-direction:column;align-items:center;gap:12px;font-size:9px;padding:22px 6%}.oc-foundation,.oc-curriculum,.oc-teacher,.oc-faq{grid-template-columns:1fr;gap:28px}.oc-curriculum-intro{position:static}.oc-foundation h2,.oc-curriculum-intro h2,.oc-teacher h2,.oc-faq h2{font-size:46px}.oc-topics article{gap:18px;padding:23px 0}.oc-topics article:first-child{padding-top:22px;border-top:1px solid #bec8ba}.oc-topics h3{font-size:30px}.oc-audience>h2{font-size:44px;margin-bottom:28px}.oc-audience-grid{grid-template-columns:1fr;gap:22px}.oc-audience-grid article{padding-top:22px}.oc-teacher figure{max-width:330px}.oc-teacher p:not(.eyebrow){font-size:13px}.oc-enroll h2{font-size:56px}.oc-enroll>p:not(.eyebrow){font-size:13px}.oc-questions summary{font-size:13px}}
@media(prefers-reduced-motion:reduce){.oc-curriculum-intro{position:static}}

.oc-hero-facts{font-size:10px!important;letter-spacing:.03em;margin:20px 0 0!important;color:#6b7566}.oc-topics .oc-module-label{font-family:'DM Sans',sans-serif;font-size:9px!important;letter-spacing:.16em;text-transform:uppercase;color:#697b62;margin:0 0 10px}.oc-bonuses{background:#29332e;color:#f7f4ee}.oc-bonuses .eyebrow{color:#c0c9b5}.oc-bonuses h2{font-size:clamp(44px,4.8vw,72px)}.oc-bonus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 45px;margin-top:42px}.oc-bonus-grid article{border-top:1px solid #526050;padding:27px 0 5px}.oc-bonus-label{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#aab99e;margin-bottom:17px}.oc-bonus-grid h3{font-size:34px;margin-bottom:16px}.oc-bonus-grid p{font-size:13px;color:#d1d5cb;line-height:1.85;margin:0;max-width:440px}.oc-certificate{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:#e8ece5}.oc-certificate h2{font-size:clamp(43px,4.3vw,65px)}.oc-certificate p{font-size:13px;line-height:1.85}.oc-cert-hours{display:flex;align-items:center;gap:23px;margin-bottom:22px}.oc-cert-hours strong{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:105px;line-height:1;color:#52634e}.oc-cert-hours span{font-size:13px;line-height:1.8}.oc-offer{margin:28px auto 30px;max-width:460px;padding-top:24px;border-top:1px solid #55604f}.oc-offer-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#c0c9b5;margin:0 0 10px}.oc-price{font-family:'Cormorant Garamond',Georgia,serif;font-size:68px;line-height:1.1;color:#f7f4ee;margin:0}.oc-price>span{font-family:'DM Sans',sans-serif;font-size:20px}.oc-total{font-size:11px;color:#c0c9b5;margin:12px 0 20px}.oc-cash{font-size:17px;color:#f7f4ee;margin:0 0 20px}.oc-offer-includes{font-size:12px;color:#cbd4c3;line-height:1.85;margin:0}.oc-enroll .oc-enroll-help{font-size:10px;margin:14px 0 0;color:#c0c9b5}
@media(max-width:700px){.oc-bonus-grid,.oc-certificate{grid-template-columns:1fr;gap:26px}.oc-bonuses h2,.oc-certificate h2{font-size:44px}.oc-bonus-grid{margin-top:30px}.oc-bonus-grid h3{font-size:31px}.oc-price{font-size:58px}.oc-price>span{font-size:17px}.oc-cert-hours strong{font-size:90px}}

.oc-visual-topics{background:#f1f0ec}.oc-visual-topics h2{font-size:clamp(44px,4.8vw,72px);margin-bottom:36px}.oc-art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.oc-art-grid figure{margin:0}.oc-art-grid img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}@media(max-width:700px){.oc-visual-topics h2{font-size:44px}.oc-art-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
