.cp-head{border-bottom:1px solid var(--line)}.cp-head .wrap{padding-top:clamp(32px,4vw,48px);padding-bottom:clamp(40px,4.5vw,60px)}.cp-head .crumbs{margin-bottom:clamp(24px,3vw,36px)}.cp-head-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:clamp(40px,6vw,96px);display:grid}.cp-head h1{letter-spacing:-.04em;max-width:12em;margin:0;font-size:clamp(2.5rem,4.6vw,4.1rem);font-weight:700;line-height:1}.cp-head h1 .type-mark{vertical-align:.32em;border-radius:4px;width:16px;height:16px;margin-right:16px}.cp-lede{color:var(--ink-2);max-width:36em;margin:22px 0 0;font-size:19px;line-height:1.5}.cp-toc ul{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.cp-toc a{border-bottom:1px solid var(--line);transition:color .2s var(--ease-out);grid-template-columns:1fr auto 18px;align-items:center;gap:14px;padding:12px 0;font-size:15.5px;font-weight:600;text-decoration:none;display:grid}.cp-toc a span{color:var(--ink-3);font-size:14px;font-weight:500}.cp-toc a svg{width:16px;height:16px;color:var(--red);transition:transform .35s var(--ease-out);transform:rotate(90deg)}.cp-toc a:hover{color:var(--red-deep)}.cp-toc a:hover svg{transform:rotate(90deg)translate(3px)}.cp-prereq{border-radius:var(--radius-lg);background:var(--fo-tint);color:var(--ink-2);grid-template-columns:22px 1fr;gap:12px;padding:20px 22px;font-size:15.5px;line-height:1.5;display:grid}.cp-prereq svg{width:20px;height:20px;color:var(--fo);margin-top:2px}.cp-prereq p{margin:0}.cp-prereq strong{color:var(--ink);margin-bottom:2px;font-size:16px;display:block}.cp-ways{background:var(--stone);padding:clamp(32px,3.5vw,44px) 0}.cp-ways .wrap{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:clamp(32px,5vw,80px);display:grid}.cp-ways h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.5rem,2vw,1.75rem);line-height:1.1}.cp-ways p{color:var(--ink-2);max-width:26em;margin:12px 0 0;font-size:16px}.cp-domain{scroll-margin-top:calc(var(--header-h) + 16px);padding-top:clamp(56px,6vw,80px)}.cp-domain-head{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:baseline;gap:clamp(24px,5vw,80px);margin-bottom:18px;display:grid}.cp-domain-head h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.7rem,2.3vw,2rem);line-height:1.05}.cp-domain-head h2 small{letter-spacing:0;color:var(--ink-3);white-space:nowrap;margin-left:10px;font-size:16px;font-weight:500}.cp-domain-head p{color:var(--ink-2);margin:0;font-size:16.5px}.cp-domain .ptable{table-layout:fixed}.cp-domain .ptable thead th:first-child{width:42%}.cp-domain .ptable thead th:nth-child(2){width:10%}.cp-domain .ptable thead th:nth-child(3){width:13%}.cp-domain .ptable thead th:nth-child(4){width:20%}.cp-domain .ptable thead th:nth-child(5){width:11%}.cp-domain .ptable thead th:nth-child(6){width:4%}.cp-note{color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:18px 0 0;font-size:13.5px;display:flex}.cp-cross{background:var(--fo-tint);margin-top:clamp(64px,7vw,96px)}.cp-cross[data-type=salaries]{background:var(--sa-tint)}.cp-cross .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(32px,5vw,80px);padding-top:clamp(40px,4vw,56px);padding-bottom:clamp(40px,4vw,56px);display:grid}.cp-cross h2{letter-spacing:-.03em;align-items:center;gap:14px;margin:0;font-size:clamp(1.6rem,2.3vw,2rem);line-height:1.08;display:flex}.cp-cross h2 .type-mark{width:12px;height:12px}.cp-cross p{color:var(--ink-2);max-width:34em;margin:12px 0 0}.cp-cross .link-arrow{white-space:normal;margin-top:18px}.cp-cross-rows{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.cp-cross-rows a{color:var(--ink-2);border-bottom:1px solid #1f191529;grid-template-columns:1fr auto 18px;align-items:baseline;gap:20px;padding:14px 0;font-size:15.5px;text-decoration:none;display:grid}.cp-cross-rows strong{color:var(--ink);font-size:18px;font-weight:600}.cp-cross-rows span{white-space:nowrap;font-variant-numeric:tabular-nums}.cp-cross-rows svg{width:16px;height:16px;color:var(--red);transition:transform .35s var(--ease-out);align-self:center}.cp-cross-rows a:hover strong{text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:.2em}.cp-cross-rows a:hover svg{transform:translate(4px)}.cp-cross p.cp-cross-note{margin-top:14px;font-size:14px}.cp-cross-note strong{color:var(--ink)}.cp-end{padding:clamp(64px,7vw,88px) 0 clamp(72px,8vw,96px)}.cp-end .wrap{grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);display:grid}.cp-end h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.5rem,2vw,1.75rem);line-height:1.1}.cp-end p{color:var(--ink-2);max-width:34em;margin:12px 0 0}.cp-end .btn,.cp-end .link-arrow{margin-top:22px}@media (max-width:1000px){.cp-head-grid,.cp-ways .wrap,.cp-domain-head,.cp-cross .wrap,.cp-end .wrap{grid-template-columns:1fr}.cp-head-grid{align-items:start}.cp-domain-head{gap:8px}}@media (max-width:720px){.cp-head h1 .type-mark{width:12px;height:12px;margin-right:12px}.cp-cross-rows a{grid-template-columns:1fr 18px;gap:4px 12px}.cp-cross-rows span{grid-area:2/1}.cp-cross-rows svg{grid-area:1/2/span 2}}
