.public-detail-hero{background:#f6f9fc;padding:28px 0 52px;border-bottom:1px solid #e4ebf3}
.public-detail-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;color:#70849a;font-size:13px;margin-bottom:28px}
.public-detail-breadcrumb a{color:inherit;text-decoration:none}
.public-detail-top{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
.public-detail-poster{position:relative;isolation:isolate;overflow:hidden;min-height:430px;background:linear-gradient(135deg,#1148a8,#087fc6);padding:38px;border-radius:8px;color:white;display:flex;flex-direction:column}
.public-detail-poster:after{position:absolute;content:"";width:310px;height:310px;border:1px solid #ffffff30;right:-190px;top:45px;border-radius:50%;box-shadow:0 0 0 40px #ffffff08,0 0 0 80px #ffffff06;z-index:-1}
.public-detail-poster>span{letter-spacing:2px;font-size:13px;color:#cce6ff}
.public-detail-poster h2{font-size:32px;line-height:1.6;color:white;margin:35px 0 30px;font-weight:600;max-width:94%}
.public-detail-poster>div{margin-top:auto;color:#a8dcff}
.public-detail-poster svg{width:54px;height:54px;stroke-width:1}
.public-detail-art{display:block;width:100%;height:160px;object-fit:contain;margin-top:auto}
.public-detail-poster p{font-size:16px;line-height:1.8;padding-top:20px;margin:20px 0 0;border-top:1px solid #ffffff35;color:#e2f2ff}
.public-detail-eyebrow{font-size:12px;letter-spacing:2px;color:#0957c3}
.public-detail-info h1{font-size:32px;line-height:1.5;margin:10px 0 24px;color:#173b59;font-weight:600}
.public-detail-info dl{margin:0}.public-detail-info dl>div{display:grid;grid-template-columns:82px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid #e4ebf3;font-size:15px;line-height:1.8}
.public-detail-info dt{color:#70849a}.public-detail-info dd{margin:0;color:#314d68;min-width:0}
.public-fact-note{display:block;font-size:12px;color:#7f90a2;margin-top:2px}
.public-detail-price{color:#0957c3;font-size:24px;font-weight:600}
.public-detail-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}
.public-detail-hero-actions .button,.public-enrollment .button{background:#0957c3;border-color:#0957c3;color:white;font-size:15px}
.public-detail-hero-actions .text-link,.public-detail-main .text-link{color:#0957c3;font-size:14px}
.public-detail-nav{background:white;border-bottom:1px solid #e2eaf2}
.public-detail-nav .container{display:flex;gap:36px;overflow-x:auto}
.public-detail-nav button{flex-shrink:0;border:0;border-bottom:3px solid transparent;background:transparent;font:inherit;font-size:17px;padding:22px 8px;color:#52677e;cursor:pointer}
.public-detail-nav button:hover,.public-detail-nav button[aria-current=true]{color:#0957c3;border-bottom-color:#0957c3}
.public-detail-section{padding:52px 0;border-bottom:1px solid #e4ebf3;scroll-margin-top:110px}
.public-detail-section-title{margin-bottom:28px}.public-detail-section-title>span{color:#8a9bad;font-size:11px;letter-spacing:2px}.public-detail-section-title h2{font-size:28px;color:#173b59;margin:6px 0 0;font-weight:600}
.public-detail-lead{max-width:940px;color:#52677e;font-size:17px;line-height:2;margin:0 0 28px}
.public-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.public-benefit-grid article{padding:26px;background:#f5f8fc;border-top:3px solid #1766bb}.public-benefit-grid article>span{color:#7da4cd;font-size:16px;letter-spacing:2px}.public-benefit-grid h3{font-size:22px;color:#173b59;margin:12px 0}.public-benefit-grid p{font-size:14px;line-height:1.9;color:#637890;margin:0}
.public-outline-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start}
.public-outline-menu{display:flex;flex-direction:column;position:sticky;top:110px;background:#f5f8fc;padding:12px}
.public-outline-menu button{border:0;border-left:2px solid transparent;background:transparent;text-align:left;font:inherit;font-size:14px;padding:13px 12px;color:#52677e;line-height:1.7;cursor:pointer}
.public-outline-menu button:hover,.public-outline-menu button[aria-current=true]{background:#fff;color:#0957c3;border-left-color:#0957c3}
.public-outline-module{display:flex;gap:20px;padding:26px 0;border-bottom:1px solid #e5ebf2;scroll-margin-top:110px}.public-outline-module:first-child{padding-top:0}.public-outline-module:last-child{border:0}
.public-module-number{font-size:20px;color:#86a7c9;padding-top:3px}.public-outline-module h3{font-size:20px;color:#173b59;margin:0 0 14px}.public-outline-module ul{padding-left:20px;margin:0;color:#52677e;font-size:15px;line-height:2}.public-outline-module li+li{margin-top:6px}
.public-teacher{display:grid;grid-template-columns:160px 1fr;gap:32px;max-width:900px;align-items:start}.public-teacher img{width:160px;height:200px;object-fit:cover;object-position:top;border-radius:6px}.public-teacher h3{font-size:26px;color:#173b59;margin:0 0 10px}.public-teacher p{font-size:16px;line-height:1.9;color:#52677e}.public-teacher-role{color:#0957c3!important}
.public-enrollment{display:grid;grid-template-columns:1.4fr 1fr;gap:42px;align-items:start}.public-enrollment h3{color:#173b59;font-size:22px;margin-top:0}.public-enrollment p{color:#52677e;line-height:1.9;font-size:15px}.public-enrollment aside{background:#f3f7fc;padding:28px;border-left:3px solid #0957c3}.public-enrollment aside>span{display:block;color:#70849a;font-size:13px;margin-bottom:10px}.public-enrollment aside strong{font-size:20px;color:#173b59;line-height:1.6}
.public-detail-source-panel{padding:28px;background:#f5f8fc}.public-detail-source-panel h3{margin-top:0;color:#173b59}.public-detail-source-panel p{color:#52677e;line-height:1.9}
.public-source-details{margin:32px 0;border:1px solid #e3eaf2;padding:20px}.public-source-details summary{cursor:pointer;color:#52677e}.public-source-details .legacy-body{margin-top:24px}
.public-detail-back{display:inline-flex;margin:28px 0 48px}
.public-original-poster{display:block;width:100%;max-width:760px;height:auto;margin:24px auto 0}
@media(max-width:1000px){.public-detail-top{gap:28px}.public-detail-poster{padding:28px;min-height:400px}.public-detail-poster h2,.public-detail-info h1{font-size:27px}.public-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-outline-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}}
@media(max-width:700px){.public-detail-hero{padding-bottom:32px}.public-detail-top{grid-template-columns:1fr}.public-detail-poster{min-height:260px}.public-detail-poster h2{margin:20px 0;font-size:27px}.public-detail-poster>div{display:none}.public-detail-info h1{font-size:26px}.public-detail-info dl>div{grid-template-columns:70px 1fr;font-size:14px;gap:10px}.public-detail-hero-actions{gap:18px}.public-detail-nav .container{gap:12px}.public-detail-nav button{font-size:15px;padding:16px 8px}.public-detail-section{padding:34px 0}.public-detail-section-title h2{font-size:25px}.public-detail-lead{font-size:16px}.public-benefit-grid{gap:12px}.public-benefit-grid article{padding:18px}.public-benefit-grid h3{font-size:20px}.public-outline-layout{grid-template-columns:1fr}.public-outline-menu{position:static;gap:4px}.public-outline-menu button{padding:9px 12px}.public-outline-module{gap:13px}.public-outline-module h3{font-size:18px}.public-outline-module ul{font-size:14px}.public-teacher{grid-template-columns:100px minmax(0,1fr);gap:18px}.public-teacher img{width:100px;height:135px}.public-teacher h3{font-size:23px}.public-teacher p{font-size:14px}.public-enrollment{grid-template-columns:1fr;gap:22px}.public-enrollment aside{padding:22px}}
