.curriculum-page{--cp-navy:#08233d;--cp-gold:#b78a40;position:relative;padding:116px 0 0;color:#172d41;background:#faf5e9 repeating-linear-gradient(0deg,rgba(108,78,34,.018) 0 1px,transparent 1px 5px);font-family:"STSong","Songti SC","Noto Serif SC","SimSun",serif;overflow:hidden}
.cp-shell{width:min(1510px,calc(100% - 120px));margin:auto}.cp-breadcrumb{display:flex;gap:11px;padding:25px 0 8px;color:#8a795f;font-size:13px}.cp-breadcrumb a{color:inherit}.cp-hero{display:grid;grid-template-columns:40% 60%;min-height:440px}.cp-hero-copy{align-self:center;padding:0 0 30px 10px}.cp-hero h1{margin:0;color:var(--cp-navy);font-size:70px;font-weight:500;letter-spacing:.11em}.cp-hero p{margin:19px 0 34px;color:#4c565d;font-size:20px;letter-spacing:.08em}.cp-actions{display:flex;gap:22px}.cp-button{display:inline-flex;justify-content:center;min-width:170px;padding:14px 25px;border:1px solid #b78a40;color:#25394a;background:rgba(255,253,248,.45);box-shadow:inset 0 0 0 4px rgba(255,255,255,.3);transition:.2s}.cp-button.primary{color:#f4dfb5;background:#711d29;box-shadow:inset 0 0 0 2px #ae8144}.cp-button:hover,.cp-button:focus-visible{transform:translateY(-2px);filter:brightness(1.08);outline:0}.cp-hero>img{align-self:end;width:115%;height:440px;margin-left:-12%;object-fit:cover;mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 92%,transparent 100%)}
.cp-title{display:flex;align-items:center;justify-content:center;gap:20px;margin:28px 0 26px;color:#162e42;font-size:31px;font-weight:500;letter-spacing:.1em}.cp-title::before,.cp-title::after{content:"";width:135px;border-top:1px solid rgba(183,138,64,.55)}.cp-title span{color:var(--cp-gold);font-size:13px}.cp-system{position:relative;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;min-height:310px;margin-bottom:18px}.cp-system::before{content:"";position:absolute;left:10%;right:10%;top:50%;border-top:1px dashed rgba(183,138,64,.65)}.cp-system article{position:relative;z-index:1;display:grid;place-items:center;width:170px;height:170px;margin:auto;border:1px solid rgba(183,138,64,.48);border-radius:50%;text-align:center;background:rgba(250,245,233,.95)}.cp-system article:nth-child(2),.cp-system article:nth-child(4){transform:translateY(70px)}.cp-system article.core{width:190px;height:190px;border-style:dashed}.cp-system .cp-icon{width:52px;height:52px}.cp-system h3{margin:3px 0;font-size:18px;font-weight:500}.cp-system p{max-width:130px;margin:0;color:#6d665b;font-size:11px;line-height:1.6}.cp-icon{color:#a87831;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cp-rhythm{display:grid;grid-template-columns:repeat(5,1fr);position:relative;margin:5px 0 43px}.cp-rhythm::before{content:"";position:absolute;top:46px;left:7%;right:7%;border-top:1px solid rgba(183,138,64,.58)}.cp-rhythm article{position:relative;text-align:center}.cp-rhythm time{display:block;color:#172d41;font-size:19px}.cp-rhythm .cp-icon{position:relative;width:48px;height:48px;padding:8px;background:#faf5e9}.cp-rhythm h3{margin:5px 0;font-size:16px;font-weight:500}.cp-rhythm p{max-width:170px;margin:auto;color:#6e675d;font-size:11px;line-height:1.6}.cp-fields{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.cp-card{position:relative;padding:25px 16px;border:1px solid rgba(183,138,64,.56);text-align:center;background:rgba(255,252,246,.64);box-shadow:inset 0 0 0 5px rgba(255,255,255,.35)}.cp-card .cp-icon{width:62px;height:62px}.cp-card h3{margin:10px 0 6px;font-size:18px;font-weight:500}.cp-card p{margin:0;color:#6f675d;font-size:11px;line-height:1.65}
.cp-support{display:grid;grid-template-columns:47% 53%;min-height:360px;margin-top:28px;border:1px solid rgba(183,138,64,.55);background:rgba(255,252,246,.55);overflow:hidden}.cp-support-copy{padding:36px 52px}.cp-support h2{margin:0;font-size:27px;font-weight:500}.cp-support-copy>p{margin:10px 0 28px;color:#686158;font-size:13px}.cp-support-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}.cp-support-features .cp-icon{width:58px;height:58px;padding:11px;border:1px solid rgba(183,138,64,.45);border-radius:50%}.cp-support-features strong{display:block;margin:8px 0 5px;font-size:15px;font-weight:500}.cp-support-features small{color:#736b61;font-size:10px;line-height:1.6}.cp-support>img{width:100%;height:360px;object-fit:cover;mask-image:linear-gradient(90deg,transparent 0,#000 18%)}
.cp-dorms{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.cp-dorms article{border:1px solid rgba(183,138,64,.55);background:rgba(255,252,246,.65);box-shadow:inset 0 0 0 5px rgba(255,255,255,.35)}.cp-dorms img{width:100%;height:250px;object-fit:cover}.cp-dorms div{position:relative;padding:18px 24px 22px}.cp-dorms h3{margin:0 0 7px;font-size:20px;font-weight:500}.cp-dorms p{margin:0;color:#6d675e;font-size:12px}.cp-dorms a{position:absolute;right:20px;top:20px;color:#9c7335;font-size:22px}.cp-assurance{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0;border:1px solid rgba(183,138,64,.5);background:rgba(255,252,246,.5)}.cp-assurance article{display:grid;grid-template-columns:65px 1fr;align-items:center;padding:19px 26px;border-right:1px solid rgba(183,138,64,.28)}.cp-assurance article:last-child{border-right:0}.cp-assurance .cp-icon{grid-row:1/3;width:55px;height:55px;padding:10px;border-radius:50%;background:rgba(183,138,64,.08)}.cp-assurance strong{font-size:16px;font-weight:500}.cp-assurance small{color:#6f685f;font-size:10px;line-height:1.5}
.cp-facilities{display:grid;grid-template-columns:36% 64%;min-height:400px;margin-bottom:45px}.cp-facility-list{padding:32px 45px;border:1px solid rgba(183,138,64,.55);background:rgba(255,252,246,.58)}.cp-facility-list h2{margin:0 0 24px;font-size:26px;font-weight:500}.cp-facility-list ul{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:0;padding:0;list-style:none}.cp-facility-list li{display:grid;grid-template-columns:34px 1fr}.cp-facility-list .cp-icon{grid-row:1/3;width:28px;height:28px}.cp-facility-list strong{font-size:14px;font-weight:500}.cp-facility-list span{color:#70695f;font-size:10px}.cp-map{position:relative;border:1px solid rgba(183,138,64,.55);border-left:0;background:#f6ecd9}.cp-map img{width:100%;height:400px;object-fit:cover;mix-blend-mode:multiply}.cp-map ol{position:absolute;right:22px;top:20px;margin:0;padding:15px 20px 15px 42px;color:#2b3b49;background:rgba(250,245,233,.88);font-size:11px;line-height:1.8}
.cp-cta{position:relative;padding:30px 20px;text-align:center;color:#f0cf83;background:#061b30}.cp-cta h2{margin:0 0 18px;font-size:29px;font-weight:500;letter-spacing:.12em}.cp-cta .cp-button{margin:0 8px}.cp-cta::before{content:"☾　✦　✦";position:absolute;left:8%;top:22px;color:#d7ad58;font-size:42px}
@media(max-width:1100px){.cp-shell{width:calc(100% - 48px)}.cp-hero h1{font-size:52px}.cp-system{grid-template-columns:repeat(3,1fr);gap:20px}.cp-system article:nth-child(2),.cp-system article:nth-child(4){transform:none}.cp-system::before{display:none}.cp-fields{grid-template-columns:repeat(3,1fr)}.cp-dorms{gap:16px}.cp-assurance{grid-template-columns:repeat(2,1fr)}.cp-support{grid-template-columns:1fr}.cp-support>img{height:300px;mask-image:linear-gradient(180deg,transparent 0,#000 18%)}}
@media(max-width:760px){.curriculum-page{padding-top:98px}.cp-shell{width:calc(100% - 28px)}.cp-hero{display:block;min-height:620px}.cp-hero h1{font-size:42px}.cp-hero p{font-size:16px}.cp-actions{flex-wrap:wrap}.cp-hero>img{width:160%;height:270px;margin:15px 0 0 -30%}.cp-title{gap:10px;font-size:24px}.cp-title::before,.cp-title::after{width:35px}.cp-system,.cp-rhythm,.cp-fields,.cp-support-features,.cp-dorms,.cp-assurance,.cp-facilities{grid-template-columns:1fr}.cp-system article{width:160px;height:160px}.cp-rhythm{gap:23px}.cp-rhythm::before{top:30px;bottom:30px;left:23px;right:auto;border-top:0;border-left:1px solid rgba(183,138,64,.58)}.cp-rhythm article{display:grid;grid-template-columns:55px 1fr;text-align:left}.cp-rhythm time,.cp-rhythm h3,.cp-rhythm p{margin-left:14px}.cp-fields{grid-template-columns:repeat(2,1fr)}.cp-support-copy{padding:28px 22px}.cp-dorms img{height:210px}.cp-assurance article{border-right:0;border-bottom:1px solid rgba(183,138,64,.28)}.cp-facility-list{padding:28px 20px}.cp-map{border-left:1px solid rgba(183,138,64,.55)}.cp-map img{height:290px}.cp-map ol{position:static;columns:2}.cp-cta::before{display:none}.cp-cta .cp-button{margin:6px}}
