/* Data first in the document as well as on screen. */
#main .data-first-section>.section-heading,#main .data-first-section>.tool-intro{margin-bottom:28px}
#main .article-after-widget{margin:34px 0 0;max-width:860px}
#main .article-after-widget p:first-child{margin-top:0}
#main .key-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 30px;border:1px solid #d5e1d2;border-radius:5px;background:#edf3e8;overflow:hidden}
#main .key-data-cell{min-width:0;padding:25px 22px;border-right:1px solid #d5e1d2}
#main .key-data-cell:last-child{border-right:0}
#main .key-data-cell dt{font-size:12px;color:#506e5a;margin-bottom:14px;line-height:1.6;font-weight:400}
#main .key-data-cell dd{font-size:28px;line-height:1.35;color:#1f4738;margin:0;letter-spacing:-.04em;font-weight:400}
#main .key-data-cell .key-data-context{font-size:12px;line-height:1.8;letter-spacing:0;color:#4e6958;margin-top:10px}
#main .cutoff-rank-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#main .medical-key-data{grid-template-columns:repeat(3,minmax(0,1fr))}
#main .campus-key-data{grid-template-columns:repeat(2,minmax(0,1fr))}
#main .widget-context{font-size:13px;color:#476a57;margin:0 0 15px;line-height:1.8}

/* One disclosure pattern for long cards; their headings and key data stay visible. */
#main details.content-accordion{display:block;border:1px solid #d4e1d0;border-radius:5px;background:#fff;margin:0;padding:0;min-width:0;box-shadow:none;scroll-margin-top:88px;color:#214536}
#main details.content-accordion[open]{border-color:#adc6a5;background:#fff}
#main .content-accordion>.card-summary{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:17px;padding:23px 22px;font-size:17px;font-weight:400;line-height:1.6;list-style:none;cursor:pointer;min-height:86px}
#main .content-accordion>.card-summary::-webkit-details-marker{display:none}
#main .card-summary>h3,#main .card-summary>h4{font-size:22px;font-weight:400;line-height:1.5;letter-spacing:-.025em;margin:0;color:inherit;min-width:0;overflow-wrap:anywhere}
#main .card-summary>.card-title{font-size:17px;font-weight:400;line-height:1.6;letter-spacing:0;color:inherit;min-width:0}
#main .content-accordion>.card-summary>span{transform:none!important}
#main .card-summary .accordion-mark{width:34px;height:34px;grid-column:2;grid-row:1 / span 2;align-self:center}
#main .card-summary .accordion-mark:before,#main .card-summary .accordion-mark:after{left:10px;right:10px;top:16px}
#main .content-accordion[open]>.card-summary .accordion-mark{background:#e5efdf}
#main .content-accordion[open]>.card-summary .accordion-mark:after{transform:rotate(0)}
#main .content-accordion>.card-panel{padding:0 22px 25px;max-width:none;font-size:15px;line-height:1.9;color:#496655}
#main .card-panel p{font-size:15px;line-height:1.9;color:inherit;margin:0 0 17px}
#main .card-panel p:last-child{margin-bottom:0}
#main .card-panel ul{padding-left:20px;margin:0}
#main .card-panel li{font-size:15px;line-height:1.9;margin:14px 0;color:inherit}
#main .card-panel a{font-size:13px;line-height:1.8}
#main .card-summary>.fit-label{font-size:11px;line-height:1.5;letter-spacing:.07em;margin:0;color:#4e6947;grid-column:1;grid-row:1}
#main .card-summary>.fit-label+h3{grid-column:1;grid-row:2;font-size:23px}
#main .fit-columns>details,#main .document-columns>details,#main .prose-columns>details{align-self:start;background:#f5f8f0}
#main .fit-columns>details[open],#main .document-columns>details[open],#main .prose-columns>details[open]{background:#f5f8f0}
#main .fit-columns>details:last-child{background:#faf6f0;border-color:#e6d9c8}
#main .support-card{align-self:start}
#main .date-feature .content-accordion,#main .date-feature .content-accordion[open]{background:transparent;border:0;border-top:1px solid #ffffff40;color:inherit;margin-top:22px;border-radius:0}
#main .date-feature .card-summary{padding:15px 0 0;min-height:55px;font-size:14px}
#main .date-feature .card-summary>.card-title{font-size:14px;color:inherit}
#main .date-feature .card-panel{padding:20px 0 0;color:inherit}
#main .date-feature .card-panel p,#main .date-feature .card-panel a{color:inherit}
#main .date-feature>div:first-child .accordion-mark{border-color:#c6ddd0}
#main .date-feature>div:first-child .accordion-mark:before,#main .date-feature>div:first-child .accordion-mark:after{background:#fff}
#main .date-feature>div:first-child details[open] .accordion-mark{background:#ffffff14}
#main .payment-stages li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:24px;padding:0 0 20px;background:transparent;border:0;align-items:start}
#main .payment-stages li>span{padding-top:24px}
#main .payment-card>.card-summary{grid-template-columns:minmax(0,1fr) minmax(100px,180px) 34px;gap:24px}
#main .payment-card .card-summary>.accordion-mark{grid-column:3}
#main .payment-card .card-summary>strong{font-size:23px;line-height:1.6;font-weight:400;text-align:right;color:#28523c;letter-spacing:-.025em}
#main .payment-card .card-summary>strong small{font-size:11px;line-height:1.7;display:block;letter-spacing:0;color:#5e7c69}
#main .application-steps li{min-height:230px;padding:35px 0 35px 35px;opacity:1}
#main .application-steps li:first-child{padding-top:25px}
#main .application-steps li:before{top:38px}
#main .application-steps li:first-child:before{top:29px}
#main .application-steps li>span{margin-bottom:16px}
#main .application-steps .step-card{border:0;border-radius:0;background:transparent}
#main .step-card>.card-summary{padding:0;gap:20px;min-height:65px}
#main .step-card .card-summary>h3{font-size:27px;line-height:1.45}
#main .step-card>.card-panel{padding:20px 0 5px}
#main .step-card .card-panel p{font-size:15px;line-height:1.9}
#main details.content-accordion.review-details,#main details.content-accordion.google-review-details{border:0;background:transparent;border-radius:0;margin:20px 0}
#main .review-details>.card-summary,#main .google-review-details>.card-summary{padding:0;gap:18px;min-height:75px}
#main .review-details .card-summary>h3,#main .google-review-details .card-summary>h3{font-size:22px;line-height:1.5}
#main .review-details>.card-panel,#main .google-review-details>.card-panel{padding:15px 0 0}
#main .review-details .review-story{margin:0}
#main .review-details .review-story div{margin:16px 0}
#main .review-details .review-story dd{font-size:14px;line-height:1.9;margin:0}
#main .google-review-details p{font-size:14px;line-height:1.9}
#main .table-continuation{margin-top:15px;background:#f5f8f0}
#main .table-continuation>.card-summary{min-height:70px;padding:18px 20px}
#main .table-continuation>.card-panel{padding:0 15px 15px}
#main .table-continuation .table-wrap{margin:0}
#main .table-continuation .table-wrap table{max-width:none}
#main .ranking-context{padding:0;border:0;background:transparent;margin-top:22px}
#main .alumni-feature .support-card{margin-top:22px}
#main .fee-lede .support-card,#main .outcome-lede .support-card{margin-top:0}

/* Dynamic calculators keep their totals visible and fold the supporting detail. */
#main .planner-output .content-accordion,#main .planner-output .content-accordion[open],#main .tool-result .content-accordion,#main .tool-result .content-accordion[open]{background:transparent;border-color:#aec8bd60;color:inherit;margin:22px 0 0}
#main .planner-output .card-summary,#main .tool-result .card-summary{padding:18px 16px;min-height:65px}
#main .planner-output .card-title,#main .tool-result .card-title{font-size:14px;color:inherit}
#main .planner-output .card-panel,#main .tool-result .card-panel{padding:0 16px 20px;color:inherit}
#main .planner-output .card-panel p,#main .tool-result .card-panel p{color:inherit}
#main .planner-output .accordion-mark:before,#main .planner-output .accordion-mark:after,#main .tool-section .tool-result .accordion-mark:before,#main .tool-section .tool-result .accordion-mark:after{background:#f1f9eb}
#main .planner-output .content-accordion[open]>.card-summary .accordion-mark,#main .tool-section .tool-result .content-accordion[open]>.card-summary .accordion-mark{background:#ffffff14}
#main .year-payment-schedule .key-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:25px 0;border-color:#c5d9bd;background:#fff}
#main .year-payment-schedule .key-data-cell dd{font-size:27px}
#main .year-payment-schedule .key-data-cell .key-data-context{font-size:12px;line-height:1.75;letter-spacing:0}
#main .year-payment-schedule .content-accordion{margin:15px 0 0;background:#fff}
#main .year-payment-schedule .card-summary{padding:18px 15px;min-height:65px}
#main .year-payment-schedule .card-title{font-size:14px}
#main .year-payment-schedule .card-panel{padding:0 12px 15px}
#main .year-payment-schedule>.schedule-context{margin:20px 0 0}
#main .compare-card{padding:20px}
#main .compare-card>.content-accordion{border:0;background:transparent}
#main .compare-card .card-summary{padding:0;min-height:105px;align-items:start}
#main .compare-card .card-summary .accordion-mark{grid-row:1;align-self:start}
#main .comparison-card-title h4{font-size:19px;line-height:1.55;margin:8px 0;color:#244a38}
#main .comparison-card-title .eyebrow{font-size:12px;line-height:1.6;letter-spacing:0}
#main .comparison-card-title small{display:block;font-size:12px;line-height:1.7;color:#5b7463;margin-top:12px}
#main .compare-card .card-panel{padding:15px 0 0}
#main .course-comparison>.content-accordion{border:0;background:transparent}
#main .comparison-tool>.card-summary{padding:0;min-height:60px}
#main .comparison-tool>.card-panel{padding:25px 0 0}
#main .comparison-tool .comparison-heading{margin-bottom:15px}

@media(max-width:700px){
 #main .article-after-widget{margin-top:28px;font-size:15px}
 #main .key-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:25px}
 #main .key-data-cell{padding:19px 15px;border-bottom:1px solid #d5e1d2}
 #main .key-data-cell:nth-child(2n){border-right:0}
 #main .key-data-cell:nth-last-child(-n+2){border-bottom:0}
 #main .key-data-cell dd{font-size:24px;line-height:1.5;letter-spacing:-.04em}
 #main .key-data-cell dt{font-size:12px;margin-bottom:10px}
 #main .key-data-cell .key-data-context{font-size:12px;line-height:1.75;margin-top:9px}
 #main .cutoff-rank-grid{grid-template-columns:1fr}
 #main .medical-key-data{grid-template-columns:1fr}
 #main .medical-key-data .key-data-cell{border-right:0;border-bottom:1px solid #d5e1d2}
 #main .medical-key-data .key-data-cell:last-child{border-bottom:0}
 #main .cutoff-rank-grid .key-data-cell{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;border-right:0;border-bottom:1px solid #d5e1d2;align-items:center}
 #main .cutoff-rank-grid .key-data-cell:last-child{border-bottom:0}
 #main .cutoff-rank-grid dt{margin:0}
 #main .cutoff-rank-grid dd{text-align:right}
 #main .cutoff-rank-grid .key-data-context{grid-column:1/-1;text-align:left;margin:0}
 #main .content-accordion>.card-summary{padding:21px 17px;gap:15px;min-height:86px}
 #main .card-summary>h3,#main .card-summary>h4{font-size:21px;line-height:1.55}
 #main .card-summary>.card-title{font-size:16px;line-height:1.7}
 #main .content-accordion>.card-panel{padding:0 17px 23px;font-size:15px}
 #main .fit-columns>details,#main .document-columns>details,#main .prose-columns>details{width:100%}
 #main .date-feature .card-summary{padding:15px 0 0;min-height:60px}
 #main .date-feature .card-panel{padding:20px 0 0}
 #main .payment-stages li{gap:13px;grid-template-columns:22px minmax(0,1fr)}
 #main .payment-card>.card-summary{grid-template-columns:minmax(0,1fr) 34px;gap:12px 14px}
 #main .payment-card .card-summary>h3{grid-column:1;font-size:20px}
 #main .payment-card .card-summary>strong{grid-column:1;grid-row:2;text-align:left;font-size:23px}
 #main .payment-card .card-summary>.accordion-mark{grid-column:2;grid-row:1 / span 2}
 #main .application-steps li{min-height:190px;padding:28px 0 30px 27px}
 #main .application-steps li:first-child{padding-top:30px}
 #main .application-steps li:before,#main .application-steps li:first-child:before{top:31px}
 #main .step-card>.card-summary{padding:0;min-height:65px;gap:16px}
 #main .step-card .card-summary>h3{font-size:24px;line-height:1.5}
 #main .step-card>.card-panel{padding:20px 0 5px}
 #main .review-details>.card-summary,#main .google-review-details>.card-summary{padding:0;gap:15px}
 #main .review-details .card-summary>h3,#main .google-review-details .card-summary>h3{font-size:20px;line-height:1.55}
 #main .review-details>.card-panel,#main .google-review-details>.card-panel{padding:15px 0 0}
 #main .review-details .review-story dd{font-size:14px}
 #main .year-payment-schedule .key-data-cell{padding:17px 12px;border-bottom:0}
 #main .year-payment-schedule .key-data-cell dd{font-size:22px}
 #main .year-payment-schedule .card-summary{padding:17px 13px;gap:12px}
 #main .year-payment-schedule .card-panel{padding:0 10px 17px}
 #main .compare-card{padding:19px 17px}
 #main .compare-card .card-summary{padding:0;gap:14px}
 #main .compare-card .card-panel{padding:18px 0 0}
 #main .comparison-tool>.card-summary{padding:0}
 #main .comparison-tool>.card-panel{padding:22px 0 0}
 #main .table-continuation>.card-summary{padding:17px 15px;min-height:70px}
 #main .table-continuation>.card-panel{padding:0 10px 15px}
}
@media(max-width:360px){#main .key-data-cell{padding:17px 12px}#main .key-data-cell dd{font-size:22px}#main .year-payment-schedule .key-data-cell dd{font-size:20px}#main .card-summary>h3{font-size:20px}}

.showroom-design .hero .hero-facts{margin:22px 0 26px;padding-top:20px}

/* Comparison metadata stays in the card, even inside an open disclosure. */
#main .comparison-card-title{min-width:0}
#main .comparison-card-title .eyebrow{display:block;position:static;transform:none;margin:0;color:#4e6958}
#main .comparison-card-title h4{min-height:0;overflow-wrap:anywhere}
#main .compare-card .card-summary:focus-visible{outline:2px solid #2f6655;outline-offset:6px;border-radius:2px}

#main .compare-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start}
#main .compare-card .card-panel dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
#main .compare-card .card-panel dt{min-width:0}
#main .compare-card .card-panel dd{margin:0;white-space:nowrap}
#main .compare-card .card-panel h5{font-size:14px;line-height:1.5;margin:22px 0 10px}
#main .compare-remove{min-height:44px;margin-top:16px;padding:10px 0;font-size:13px;line-height:1.4;color:#345c4a}
#main .comparison-basis{font-size:13px;line-height:1.85;color:#486451;margin:15px 0 22px}
#main .comparison-basis strong{color:#244a38}

@media(max-width:700px){
 #main .course-comparison{margin-inline:-23px;width:calc(100% + 46px);padding:22px 12px}
 #main .compare-card .card-summary{grid-template-columns:minmax(0,1fr) 30px;gap:12px}
 #main .compare-card .accordion-mark{width:30px;height:30px}
 #main .compare-card .accordion-mark:before,#main .compare-card .accordion-mark:after{left:8px;right:8px;top:14px}
}
