/* Uhakpeople school detail visual layer · 2026-10-26
   Edit these tokens/layouts to redesign without changing school data.
   Every selector stays below .up-school-detail; header/footer/staff widget are independent. */
.up-school-detail{--ink:#302838;--body:#514959;--muted:#746a7c;--accent:#67418c;--line:#b8a7c7;--line-strong:#947aa8;--soft:#f2edf7;--radius:12px}
.up-school-detail .detail-content{--type-section:26px;--type-topic:17px;--type-value:16px;--type-body:14px;--type-caption:12px}
.up-school-detail .wrap{max-width:1160px}
.up-school-detail .detail-section{padding:48px 0;border-bottom:2px solid var(--line-strong)}
.up-school-detail .section-heading{margin-bottom:26px}
.up-school-detail .detail-content .section-heading h2{font-size:var(--type-section);font-weight:800;letter-spacing:-.045em}
.up-school-detail .detail-content .section-heading>.section-intro{font-size:13px;line-height:1.75}
.up-school-detail .component>h3{margin:28px 0 14px;font-size:20px;line-height:1.5}
.up-school-detail .component>p,.up-school-detail .sd-node p{font-size:var(--type-body);line-height:1.85}
/* Gallery copy follows the active category; individual captions stay with their photo. */
.up-school-detail .gallery-description{margin:0 0 22px;padding:18px 22px;border:1.5px solid var(--line-strong);border-left:4px solid var(--accent);border-radius:8px;background:var(--soft);overflow-wrap:anywhere}
.up-school-detail .gallery-description h4{margin:0 0 8px;font-size:var(--type-topic);line-height:1.5;color:var(--ink);font-weight:700}
.up-school-detail .gallery-description p{margin:0;font-size:var(--type-body);line-height:1.8;color:var(--body)}
.up-school-detail .gallery-description p+p,.up-school-detail .gallery-description .sd-node{margin-top:10px}
.up-school-detail .gallery-description>.sd-node:first-child{margin-top:0}
.up-school-detail .gallery-grid{align-items:start;row-gap:26px}
.up-school-detail .gallery-grid>figure{margin:0;min-width:0}
.up-school-detail .gallery-grid figcaption{padding:10px 0 0;color:var(--body);font-size:var(--type-body);line-height:1.65;overflow-wrap:anywhere}
.up-school-detail .gallery-photo-title{display:block;font-size:15px;font-weight:700;line-height:1.55;color:var(--ink)}
.up-school-detail .gallery-grid .gallery-photo-description{margin:5px 0 0;font-size:var(--type-body);line-height:1.7;color:var(--body)}
.up-school-detail .gallery-extra{margin-top:24px}
.up-school-detail .photo-dialog .photo-dialog-title{margin:14px 0 0;font-size:16px;line-height:1.6;font-weight:700;overflow-wrap:anywhere}
.up-school-detail .photo-dialog .photo-dialog-description{margin:6px 0 0;font-size:14px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:700px){.up-school-detail .gallery-description{padding:16px;margin-bottom:18px}.up-school-detail .gallery-grid{row-gap:22px}}
@media(max-width:380px){.up-school-detail .gallery-grid{grid-template-columns:minmax(0,1fr)}}
.up-school-detail .visual-facts{margin:18px 0;border-top:1px solid var(--line)}
.up-school-detail .visual-facts>.fact-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.up-school-detail .visual-facts>.fact-row>dt{padding:0;color:#43324e;font-size:var(--type-topic);font-weight:700;line-height:1.55}
.up-school-detail .visual-facts>.fact-row>dd{padding:0;margin:0;font-size:var(--type-body);min-width:0}
.up-school-detail .visual-facts>.fact-row>dd>strong{font-size:var(--type-value);font-weight:600;line-height:1.6;color:#33263f}
.up-school-detail .visual-facts .fact-sub,.up-school-detail .visual-facts .fact-explanation p{font-size:var(--type-body);line-height:1.85;color:var(--body)}
.up-school-detail .fact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:0;margin:22px 0}
.up-school-detail .fact-cards>.fact-row{display:block;border:1.5px solid var(--line-strong);border-radius:var(--radius);padding:23px;background:#fff;min-width:0}
.up-school-detail .fact-cards>.fact-row>dt{display:flex;align-items:center;gap:15px;margin-bottom:16px;min-height:27px}
.up-school-detail .fact-cards>.fact-row>dd>strong{color:var(--accent)}
.up-school-detail .fact-cards>.fact-row:last-child:nth-child(odd){grid-column:1/-1}
.up-school-detail .fact-note{padding:11px 14px;border-radius:7px;background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--accent)}
.up-school-detail .fact-explanation{margin-top:12px}
.up-school-detail .topic-photo{margin:0;overflow:hidden;min-width:0}
.up-school-detail .topic-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);background:#efebf2}
.up-school-detail .topic-photo-small{width:76px;flex:none;margin-bottom:12px}
.up-school-detail .topic-photo-small img{border-radius:8px;aspect-ratio:4/3;object-fit:cover}
.up-school-detail .fact-cards .topic-photo-small{margin:0}
.up-school-detail .score-rows{margin:13px 0 0;border:1.5px solid var(--line-strong);border-radius:8px;overflow:hidden}
.up-school-detail .score-rows>div{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.5fr);border-bottom:1px solid var(--line);font-size:var(--type-body);line-height:1.75}
.up-school-detail .score-rows>div:last-child{border-bottom:0}
.up-school-detail .visual-facts .score-rows>div>dt{padding:9px 12px;background:var(--soft);color:var(--muted);font-size:var(--type-body);font-weight:500}
.up-school-detail .visual-facts .score-rows>div>dd{padding:9px 12px;margin:0;font-size:var(--type-body);font-weight:600;color:var(--ink)}
.up-school-detail .visual-tabset{margin:24px 0}
.up-school-detail .visual-tabset>.tabs{margin:0 0 24px;border:0;border-bottom:1px solid var(--line);background:white;border-radius:0;gap:8px;padding-bottom:12px;scroll-padding:10px}
.up-school-detail .visual-tabset>.tabs>button{flex:0 0 auto;min-width:100px;max-width:250px;border:1.5px solid var(--line-strong);border-radius:8px;padding:11px 18px;min-height:46px;color:#65566f;background:#fff;font-size:14px;font-weight:600;line-height:1.55}
.up-school-detail .visual-tabset>.tabs>button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:white}
.up-school-detail .visual-panel{display:block;padding:0}
.up-school-detail .visual-panel+.visual-panel{margin-top:24px;border-top:1px solid var(--line);padding-top:24px}
.up-school-detail[data-enhanced=true] .visual-panel+.visual-panel{margin-top:0;border-top:0;padding-top:0}
.up-school-detail .topic-aside,.up-school-detail .topic-body{min-width:0}
.up-school-detail .topic-aside{margin:0 0 24px;padding:0}
.up-school-detail .topic-aside>.topic-photo img{height:clamp(160px,16vw,200px);aspect-ratio:auto;object-fit:cover;object-position:center}
.up-school-detail .visual-panel-text{display:block}
.up-school-detail .topic-heading{margin:0 0 18px}
.up-school-detail .topic-heading h4{font-size:17px;font-weight:700;line-height:1.55;margin:0 0 10px}
.up-school-detail .topic-heading p{font-size:var(--type-body);line-height:1.8;margin:8px 0}
.up-school-detail .topic-heading .topic-category{font-size:12px;color:var(--muted)}
.up-school-detail .component-cta{display:flex;margin:24px 0 0}
.up-school-detail .component-cta .button{min-height:48px;max-width:100%;padding:12px 22px;font-size:15px;font-weight:700;line-height:1.6;white-space:normal;text-align:center}
.up-school-detail .topic-body>.component{margin-top:0}
.up-school-detail .topic-body>.component>h3:first-child{margin-top:0}
.up-school-detail .topic-body .visual-facts{margin:0 0 18px;border-top:0}
.up-school-detail .topic-body .visual-facts>.fact-row{grid-template-columns:135px minmax(0,1fr);gap:20px;padding:18px 0}
.up-school-detail .topic-body .visual-facts>.fact-row:first-child{padding-top:0}
.up-school-detail .topic-body .visual-facts>.fact-row>dt{font-size:15px;line-height:1.65}
.up-school-detail .topic-body .visual-facts>.fact-row>dd>strong{font-size:15px}
.up-school-detail .topic-body .visual-panel{display:block}
.up-school-detail .metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.up-school-detail .metric-card{padding:22px;background:var(--soft);border-radius:var(--radius);border:1.5px solid var(--line-strong);min-width:0}
.up-school-detail .metric-card>.sd-node{margin:0}
.up-school-detail .metric-card h4{font-size:16px;line-height:1.6}
.up-school-detail .metric-card .node-value{font-size:30px;font-weight:800;line-height:1.3;color:var(--accent);margin:10px 0}
.up-school-detail .metric-card .visual-facts{margin:0;border:0}
.up-school-detail .metric-card .fact-row{display:block;border:0;padding:0}
.up-school-detail .metric-card .fact-row>dd>strong{font-size:26px;font-weight:800;line-height:1.5;margin-top:10px}
.up-school-detail .route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
.up-school-detail .route-card{padding:22px;border:1.5px solid var(--line-strong);border-radius:var(--radius);border-top:3px solid var(--accent);min-width:0}
.up-school-detail .route-card>.sd-node{margin:0}
.up-school-detail .pathway-steps{padding:0;margin:24px 0;list-style:none;counter-reset:stage;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.up-school-detail .pathway-steps>li{position:relative;counter-increment:stage;padding:23px 20px 20px;border:1.5px solid var(--line-strong);background:var(--soft);border-radius:var(--radius);min-width:0}
.up-school-detail .pathway-steps>li:before{content:counter(stage,decimal-leading-zero);display:block;margin-bottom:14px;color:#826294;font-size:13px;font-weight:750;letter-spacing:.06em}
.up-school-detail .pathway-steps>li>.sd-node{margin:0}
.up-school-detail .pathway-steps h4{font-size:17px}
.up-school-detail .timeline>li{border-radius:9px;padding:17px 18px;background:#fbf9fc;margin:10px 0}
.up-school-detail .support-cta{padding:24px 26px;border:1.5px solid var(--line-strong);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--soft)}
.up-school-detail .detail-content .support-cta h3{font-size:17px}
.up-school-detail .support-cta .button{min-height:46px}
.up-school-detail .disclosure{border:1.5px solid var(--line-strong);border-radius:10px}
.up-school-detail .disclosure>summary{min-height:56px}
.up-school-detail .final-cta{padding:42px 0}
.up-school-detail .final-cta .white{background:white}
@media(max-width:900px){
.up-school-detail .topic-body .visual-facts>.fact-row{display:block}
.up-school-detail .topic-body .visual-facts>.fact-row>dt{margin-bottom:8px}
.up-school-detail .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
.up-school-detail .wrap{padding-left:20px;padding-right:20px}
.up-school-detail .detail-content{--type-section:23px;--type-topic:17px;--type-value:15px;--type-body:14px;--type-caption:12px}
.up-school-detail .detail-section{padding:32px 0}
.up-school-detail .section-heading{margin-bottom:20px}
.up-school-detail .section-nav a{font-size:13px;padding:15px 0}
.up-school-detail .visual-facts>.fact-row,.up-school-detail .topic-body .visual-facts>.fact-row{display:block;padding:20px 0}
.up-school-detail .visual-facts>.fact-row>dt{font-size:var(--type-topic);margin-bottom:10px}
.up-school-detail .visual-facts>.fact-row>dd>strong{font-size:var(--type-value)}
.up-school-detail .fact-cards{grid-template-columns:1fr;gap:14px}
.up-school-detail .fact-cards>.fact-row{padding:20px}
.up-school-detail .fact-cards>.fact-row>dt{margin-bottom:14px}
.up-school-detail .topic-photo-small{width:66px}
.up-school-detail .fact-illustrated>dt{display:flex;align-items:center;gap:14px}
.up-school-detail .fact-illustrated .topic-photo-small{margin:0}
.up-school-detail .visual-tabset>.tabs{margin-bottom:20px;gap:7px}
.up-school-detail .visual-tabset>.tabs>button{min-width:95px;max-width:200px;padding:10px 14px;font-size:13px}
.up-school-detail .visual-panel{display:block}
.up-school-detail .topic-aside{margin-bottom:22px;padding:0}
.up-school-detail .topic-aside>.topic-photo img{height:clamp(140px,42vw,180px);aspect-ratio:auto}
.up-school-detail .component-cta .button{width:100%;font-size:14px}
.up-school-detail .topic-body .visual-facts>.fact-row>dt{font-size:16px}
.up-school-detail .topic-body .visual-facts>.fact-row>dd>strong{font-size:15px}
.up-school-detail .metric-grid,.up-school-detail .route-grid,.up-school-detail .pathway-steps{grid-template-columns:1fr;gap:14px}
.up-school-detail .metric-card{padding:20px}
.up-school-detail .score-rows>div{grid-template-columns:minmax(85px,.85fr) minmax(0,1.4fr)}
.up-school-detail .visual-facts .score-rows>div>dt,.up-school-detail .visual-facts .score-rows>div>dd{padding:9px 10px;font-size:13px}
.up-school-detail .support-cta{padding:20px}
.up-school-detail .support-cta p{font-size:14px}
.up-school-detail .support-cta .button{width:100%;margin-top:15px;font-size:13px}
.up-school-detail .final-cta{padding:32px 0}
.up-school-detail .final-cta p{font-size:14px}
.up-school-detail .next-nav .wrap{flex-direction:column}
.up-school-detail .next-nav .button{font-size:13px;min-height:46px}
}
@media print{.up-school-detail .tab-panel[hidden]{display:block!important}.up-school-detail .topic-photo{break-inside:avoid}.up-school-detail .visual-panel{break-inside:auto}.up-school-detail .tabs{display:none}.up-school-detail .fact-row{break-inside:avoid}}
.up-school-detail .content-topic{padding:18px 0;border-bottom:1px solid var(--line)}
.up-school-detail .content-topic.has-topic-photo{display:grid;grid-template-columns:100px minmax(0,1fr);gap:22px;align-items:start}
.up-school-detail .content-topic .topic-photo-small{width:100%;margin-top:5px}
.up-school-detail .content-topic .sd-node{margin:0}
.up-school-detail .content-topic h4{margin-top:0}
.up-school-detail .college-course{padding:6px 0 18px;border-bottom:1px solid var(--line)}
.up-school-detail .college-course:first-of-type .sd-node{margin-top:0}
@media(max-width:700px){.up-school-detail .content-topic.has-topic-photo{grid-template-columns:68px minmax(0,1fr);gap:15px}}
/* Outcome values keep a clear hierarchy above supporting conditions. */
.up-school-detail .metric-card .visual-facts>.fact-row>dd>strong{font-size:32px;font-weight:800;line-height:1.35;color:var(--accent);margin:10px 0 8px}
@media(max-width:700px){
.up-school-detail .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.up-school-detail .metric-card{padding:18px 16px}
.up-school-detail .metric-card .visual-facts>.fact-row>dt{font-size:15px;line-height:1.6}
.up-school-detail .metric-card .visual-facts>.fact-row>dd>strong{font-size:30px}
.up-school-detail .metric-card:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:359px){.up-school-detail .metric-grid{grid-template-columns:1fr}}
/* Map actions belong to the named school or district; wrap as a group on narrow screens. */
.up-school-detail .location-identity{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:0 0 18px}
.up-school-detail .location-name{margin:0;min-width:0;max-width:100%;font-size:18px;font-weight:700;line-height:1.55;color:var(--ink);overflow-wrap:anywhere;word-break:keep-all}
.up-school-detail .location-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}
.up-school-detail .location-badge{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:9px 14px;border:1.5px solid var(--line-strong);border-radius:999px;background:#f4eef9;color:#5c337e;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none;word-break:keep-all;overflow-wrap:anywhere}
.up-school-detail .location-badge span{flex:none;font-size:16px;line-height:1}
.up-school-detail .location-badge:hover{background:#eae0f2;border-color:var(--accent)}
.up-school-detail .location-badge:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.up-school-detail .location-compact+.location-note{margin-top:14px}
.up-school-detail .location-facts>.fact-row{grid-template-columns:160px minmax(0,1fr);gap:28px;align-items:start}
.up-school-detail .location-facts>.fact-row>dt{position:relative;padding:0;margin:0}
.up-school-detail .location-facts .topic-photo-small{width:100%;margin:0}
.up-school-detail .location-facts .topic-photo-small img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.up-school-detail .location-fact-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){
.up-school-detail .location-identity{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:16px}
.up-school-detail .location-name{font-size:17px}
.up-school-detail .location-badge{gap:6px;padding:9px 12px}
.up-school-detail .location-facts>.fact-row{display:block}
.up-school-detail .location-facts>.fact-row>dt{display:block;margin:0 0 16px}
.up-school-detail .location-facts .topic-photo-small img{height:clamp(130px,38vw,160px);aspect-ratio:auto}
}

/* Shared tables, controls and supplementary cards use the same visible borders. */
.up-school-detail .fact-table,.up-school-detail .table-scroll{border-color:var(--line-strong)}
.up-school-detail th,.up-school-detail td,.up-school-detail .location-compact dl>div,.up-school-detail .sd-node .sd-node{border-color:var(--line)}
.up-school-detail .fee-highlight,.up-school-detail .niche-panel{border:1.5px solid var(--line-strong);background:var(--soft)}
.up-school-detail .note{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px}
.up-school-detail .feature-band,.up-school-detail .location-strip{border:1px solid var(--line)}
.up-school-detail .support-cta .button,.up-school-detail .next-nav .button,.up-school-detail .button.secondary,.up-school-detail .share-badge,.up-school-detail .gallery-filters button{border-color:var(--line-strong)}
.up-school-detail .tabs,.up-school-detail .tabs button{border-color:var(--line-strong)}
.up-school-detail .visual-tabset>.tabs>button[aria-selected=true],.up-school-detail .gallery-filters button.active{border-color:var(--accent)}

/* Complete layouts for structured collections and nested routes. */
.up-school-detail .detail-card-grid,.up-school-detail .professional-grid,.up-school-detail .schedule-grid,.up-school-detail .feature-grid,.up-school-detail .flow-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;margin:24px 0}
.up-school-detail .detail-card,.up-school-detail .professional-card,.up-school-detail .schedule-card,.up-school-detail .flow-group{min-width:0;padding:24px;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:#fff;overflow-wrap:anywhere}
.up-school-detail .detail-card>.sd-node,.up-school-detail .schedule-card>.sd-node,.up-school-detail .flow-group>.sd-node,.up-school-detail .professional-card>.sd-node{margin:0}
.up-school-detail .detail-card h4,.up-school-detail .schedule-card h4,.up-school-detail .flow-group h4{font-size:18px;line-height:1.55;margin:0 0 12px;color:var(--ink)}
.up-school-detail .detail-card p,.up-school-detail .schedule-card p,.up-school-detail .professional-card p,.up-school-detail .flow-group p{font-size:14px;line-height:1.85}
.up-school-detail .detail-card-grid>.detail-card:only-child,.up-school-detail .schedule-grid>.schedule-card:only-child{grid-column:1/-1}
.up-school-detail .route-options>.detail-card{border-top:3px solid var(--accent)}
/* Long cards start with a two-line summary. Native details keeps every paragraph accessible. */
.up-school-detail .card-disclosure{margin:0;border:0;padding:0;min-width:0}
.up-school-detail .card-disclosure>summary{display:block;list-style:none;cursor:pointer;border-radius:5px}
.up-school-detail .card-disclosure>summary::-webkit-details-marker{display:none}
.up-school-detail .card-disclosure>summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.up-school-detail .card-disclosure>summary>.sd-node,.up-school-detail .card-brief>.sd-node,.up-school-detail .card-expanded>.sd-node{margin:0}
.up-school-detail .card-disclosure>summary h4,.up-school-detail .card-disclosure>summary h5,.up-school-detail .card-brief h4{margin:0 0 10px;font-size:18px;line-height:1.55;color:var(--ink);font-weight:700}
.up-school-detail .card-disclosure>summary .eyebrow,.up-school-detail .card-brief .eyebrow{margin:0 0 8px;font-size:12px;font-weight:700}
.up-school-detail .card-summary{margin:0;font-size:14px;line-height:1.8;color:var(--body);overflow-wrap:anywhere}
.up-school-detail .card-disclosure:not([open]) .card-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.up-school-detail .card-highlights{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:14px 0 0;padding:0}
.up-school-detail .card-highlights>li{margin:0;padding:5px 9px;border:1px solid var(--line);border-radius:5px;background:var(--soft);color:var(--body);font-size:13px;font-weight:500;line-height:1.6;max-width:100%;overflow-wrap:anywhere}
.up-school-detail .card-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin:16px 0 -4px;padding:12px 0 0;border-top:1px solid var(--line);font-size:14px;font-weight:700;line-height:1.6;color:var(--accent)}
.up-school-detail .card-close-label{display:none}
.up-school-detail .card-disclosure[open] .card-open-label{display:none}
.up-school-detail .card-disclosure[open] .card-close-label{display:inline}
.up-school-detail .card-toggle-icon{position:relative;flex:none;width:16px;height:16px}
.up-school-detail .card-toggle-icon:before,.up-school-detail .card-toggle-icon:after{content:"";position:absolute;background:currentColor;border-radius:1px}
.up-school-detail .card-toggle-icon:before{width:14px;height:2px;left:1px;top:7px}
.up-school-detail .card-toggle-icon:after{height:14px;width:2px;left:7px;top:1px}
.up-school-detail .card-disclosure[open] .card-toggle-icon:after{display:none}
.up-school-detail .card-expanded{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.up-school-detail .card-expanded .detail-list{margin-top:0;margin-bottom:0}
@media print{.up-school-detail .card-disclosure>.card-expanded{display:block!important}.up-school-detail .card-disclosure .card-summary{display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important}.up-school-detail .card-toggle{display:none!important}}
.up-school-detail .eyebrow{font-size:12px;font-weight:700;line-height:1.65;color:var(--accent);margin-bottom:9px}
.up-school-detail .node-meta{font-size:13px;line-height:1.75;color:var(--muted);margin:7px 0}
.up-school-detail .node-fields{margin:14px 0;border-top:1px solid var(--line);font-size:14px}
.up-school-detail .node-fields>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.up-school-detail .node-fields dt{font-size:13px;font-weight:700;color:#655170;line-height:1.7}
.up-school-detail .node-fields dd{margin:0;font-size:14px;line-height:1.75;color:var(--ink);overflow-wrap:anywhere}
.up-school-detail .detail-list{padding:0 0 0 20px;margin:14px 0;font-size:14px;line-height:1.85}
.up-school-detail .detail-list>li{padding-left:3px;margin:10px 0}
.up-school-detail .detail-list>li::marker{color:var(--accent);font-weight:700}
.up-school-detail .detail-list>li>.sd-node{margin:0}
.up-school-detail .detail-list h5{font-size:15px;line-height:1.7;font-weight:700;color:var(--ink);margin:0 0 5px}
.up-school-detail .detail-list p{margin:5px 0}
.up-school-detail .checkpoint-card{padding:22px 24px;margin:22px 0;border:1.5px solid var(--line-strong);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--soft)}
.up-school-detail .checkpoint-card>.sd-node{margin:0}
.up-school-detail .checkpoint-card h4{font-size:18px;line-height:1.6;margin:0 0 10px}
.up-school-detail .collection-heading{margin:34px 0 12px;font-size:20px;line-height:1.6;color:var(--ink)}
.up-school-detail .professional-card{display:flex;flex-direction:column;border-top:3px solid var(--accent)}
.up-school-detail .record-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 15px}
.up-school-detail .record-badges>span{padding:5px 11px;border:1px solid var(--line-strong);border-radius:6px;background:var(--soft);color:var(--accent);font-size:13px;font-weight:700;line-height:1.6}
.up-school-detail .professional-card>h4{margin:0 0 9px;font-size:20px;line-height:1.5;letter-spacing:-.02em;color:var(--ink)}
.up-school-detail .professional-card .record-college{margin:0 0 6px;color:#655170;font-size:13px;line-height:1.7}
.up-school-detail .record-condition{margin-top:auto;padding:16px 0 0}
.up-school-detail .record-condition>strong{display:block;padding:12px 14px 0;background:var(--soft);border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;font-size:13px;color:var(--accent)}
.up-school-detail .record-condition>p{margin:0;padding:6px 14px 12px;background:var(--soft);border:1px solid var(--line);border-top:0;border-radius:0 0 7px 7px;font-size:13px;line-height:1.8}
.up-school-detail .college-course{padding:20px;border:1.5px solid var(--line-strong);border-radius:var(--radius);margin:16px 0;background:white}
.up-school-detail .college-course .sd-node{margin:0}
.up-school-detail .pathway-map{margin:26px 0}
.up-school-detail .pathway-branch{border:1.5px solid var(--line-strong);border-radius:var(--radius);padding:18px;margin:16px 0;background:#fbf9fd}
.up-school-detail .sequence-steps{counter-reset:sd-stage;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;list-style:none;padding:0;margin:18px 0}
.up-school-detail .sequence-steps>li{counter-increment:sd-stage;min-width:0;padding:18px;border:1px solid var(--line-strong);border-radius:9px;background:white;position:relative}
.up-school-detail .sequence-steps>li:not(.has-step-label):before{content:counter(sd-stage,decimal-leading-zero);display:block;font-size:13px;font-weight:800;line-height:1.5;color:var(--accent);margin-bottom:10px}
.up-school-detail .sequence-steps .sequence-label{font-size:13px;font-weight:800;line-height:1.6;color:var(--accent);margin:0 0 10px}
.up-school-detail .sequence-steps .sd-node{margin:0}
.up-school-detail .sequence-steps h5{font-size:16px;font-weight:700;line-height:1.6;color:var(--ink);margin:0 0 8px}
.up-school-detail .sequence-steps p{font-size:14px;line-height:1.8;margin:6px 0}
.up-school-detail .flow-group .sequence-steps{grid-template-columns:1fr}
.up-school-detail .flow-group .sequence-steps>li{background:var(--soft)}
.up-school-detail .flow-note{padding:14px 16px;background:var(--soft);border-left:3px solid var(--accent);border-radius:7px}
.up-school-detail .flow-note>.sd-node{margin:0}
.up-school-detail .flow-note h5{font-size:14px;font-weight:700;margin:0 0 6px}
.up-school-detail .detail-timeline{list-style:none;margin:18px 0 0;padding:0}
.up-school-detail .detail-timeline>li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;border-top:1px solid var(--line);padding:18px 0;min-width:0}
.up-school-detail .detail-timeline>li:last-child{padding-bottom:0}
.up-school-detail .detail-timeline .timeline-marker{margin:0;color:var(--accent);font-size:13px;line-height:1.7;font-weight:700;overflow-wrap:anywhere}
.up-school-detail .timeline-copy{min-width:0}
.up-school-detail .timeline-copy>.sd-node{margin:0}
.up-school-detail .timeline-copy h5{font-size:16px;font-weight:700;line-height:1.65;color:var(--ink);margin:0 0 7px}
.up-school-detail .timeline-copy p{margin:6px 0}
.up-school-detail .feature-card{border:1.5px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;min-width:0;background:white}
.up-school-detail .feature-card>.sd-node,.up-school-detail .feature-card .inline-photo{margin:0}
.up-school-detail .feature-card .photo-open{border-radius:0;aspect-ratio:16/9}
.up-school-detail .feature-card .photo-open img{width:100%;height:100%;object-fit:cover}
.up-school-detail .feature-copy{padding:24px}
.up-school-detail .feature-copy>.sd-node{margin:0}
.up-school-detail .content-topic{border:1px solid var(--line-strong);padding:20px;margin:16px 0;border-radius:var(--radius)}
.up-school-detail .content-topic .detail-list{margin-top:0;margin-bottom:0}
.up-school-detail .component-cta-section{padding:24px;border:1.5px solid var(--line-strong);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--soft)}
.up-school-detail .component-cta-section>h3{margin-top:0}
.up-school-detail .component-cta-section>.button{margin-top:16px}
@media(max-width:700px){
.up-school-detail .detail-card-grid,.up-school-detail .professional-grid,.up-school-detail .schedule-grid,.up-school-detail .feature-grid,.up-school-detail .flow-group-grid{grid-template-columns:1fr;gap:16px;margin:20px 0}
.up-school-detail .detail-card,.up-school-detail .professional-card,.up-school-detail .schedule-card,.up-school-detail .flow-group,.up-school-detail .feature-copy{padding:20px}
.up-school-detail .detail-card h4,.up-school-detail .schedule-card h4,.up-school-detail .flow-group h4,.up-school-detail .professional-card>h4{font-size:18px}
.up-school-detail .node-fields>div{grid-template-columns:65px minmax(0,1fr);gap:10px}
.up-school-detail .checkpoint-card{padding:18px 20px}
.up-school-detail .checkpoint-card h4{font-size:17px}
.up-school-detail .sequence-steps{grid-template-columns:1fr}
.up-school-detail .pathway-branch{padding:14px}
.up-school-detail .sequence-steps>li{padding:16px}
.up-school-detail .detail-timeline>li{grid-template-columns:65px minmax(0,1fr);gap:12px}
.up-school-detail .college-course{padding:18px}
.up-school-detail .content-topic{padding:18px}
}

/* Numerical summaries: one text hierarchy, with no decorative photo slots. */
.up-school-detail .metric-card{display:flex;flex-direction:column;padding:24px;overflow-wrap:anywhere}
.up-school-detail .metric-card>.sd-node{height:100%}
.up-school-detail .metric-card h4,.up-school-detail .metric-card .visual-facts>.fact-row>dt{min-height:0;margin:0;font-size:16px;font-weight:700;line-height:1.6}
.up-school-detail .metric-card .visual-facts>.fact-row>dd>strong,.up-school-detail .metric-card .node-value{display:block;margin:10px 0 8px;font-size:32px;line-height:1.35;font-weight:800}
.up-school-detail .metric-card .fact-explanation,.up-school-detail .metric-card .fact-note{margin:0;padding:0;border:0;background:none;border-radius:0}
.up-school-detail .metric-card .fact-sub,.up-school-detail .metric-card .fact-explanation p,.up-school-detail .metric-card .sd-node p:not(.node-value){font-size:13px;line-height:1.75;margin:6px 0;color:var(--body)}
.up-school-detail .metric-card.metric-long-value .node-value,.up-school-detail .metric-card.metric-long-value .visual-facts>.fact-row>dd>strong{font-size:22px;line-height:1.5}
.up-school-detail .metric-card .visual-facts>.fact-row{padding:0}
/* A connected service journey, rather than a series of enclosing boxes. */
.up-school-detail .service-roadmap{margin:26px 0}
.up-school-detail .journey-intro{padding:24px 0 24px 24px;border-left:4px solid var(--accent);background:linear-gradient(90deg,var(--soft),#fff 90%)}
.up-school-detail .journey-intro h4{font-size:24px;font-weight:800;line-height:1.5;letter-spacing:-.03em;margin:0 0 12px;color:var(--ink)}
.up-school-detail .journey-intro>p{font-size:14px;line-height:1.8;margin:0 0 10px}
.up-school-detail .journey-intro .eyebrow{font-size:12px;letter-spacing:.03em;color:var(--accent);font-weight:700}
.up-school-detail .journey-benefits{display:flex;flex-wrap:wrap;gap:8px 24px;margin:18px 0 0;padding:0;list-style:none;font-size:13px;font-weight:600;line-height:1.8;color:var(--accent)}
.up-school-detail .journey-benefits li:before{content:'✓';margin-right:7px;font-weight:800}
.up-school-detail .journey-phases{--journey-indent:40px;--journey-axis:2px;--journey-dot:36px;list-style:none;margin:30px 0 0;padding:0}
.up-school-detail .journey-phase{position:relative;padding:0 0 20px var(--journey-indent);min-width:0}
.up-school-detail .journey-phase:not(:last-child):before{content:'';position:absolute;left:calc(var(--journey-axis) - 1px);top:28px;bottom:-20px;width:2px;background:var(--line-strong)}
.up-school-detail .journey-disclosure{min-width:0;border:0;border-bottom:1px solid var(--line);background:none;border-radius:0}
.up-school-detail .journey-phase-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;margin:0;padding:12px 4px 16px 0;cursor:pointer;list-style:none}
.up-school-detail .journey-phase-heading::-webkit-details-marker{display:none}
.up-school-detail .journey-phase-heading::marker{content:''}
.up-school-detail .journey-phase-heading:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:3px}
.up-school-detail .journey-phase-heading:hover .journey-phase-copy>strong{color:var(--accent)}
.up-school-detail .journey-phase-number{position:absolute;left:calc(var(--journey-axis) - var(--journey-indent) - var(--journey-dot)/2);top:16px;display:flex;align-items:center;justify-content:center;width:var(--journey-dot);height:var(--journey-dot);border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:700;z-index:1}
.up-school-detail .journey-phase-copy{display:block;min-width:0;overflow-wrap:anywhere}
.up-school-detail .journey-phase-copy>strong{display:block;font-size:19px;font-weight:750;line-height:1.6;color:var(--ink)}
.up-school-detail .journey-period{display:block;margin-top:5px;font-size:13px;font-weight:600;line-height:1.7;color:var(--accent)}
.up-school-detail .journey-toggle{position:relative;flex:none;width:28px;height:28px;color:var(--accent)}
.up-school-detail .journey-toggle:before,.up-school-detail .journey-toggle:after{content:'';position:absolute;left:5px;right:5px;top:13px;height:2px;background:currentColor}
.up-school-detail .journey-toggle:after{transform:rotate(90deg)}
.up-school-detail .journey-disclosure[open]>.journey-phase-heading .journey-toggle:after{display:none}
.up-school-detail .journey-panel{padding:8px 0 28px}
.up-school-detail .journey-panel>.sd-node{margin:0 0 24px}
.up-school-detail .journey-panel>.sd-node p{font-size:14px;line-height:1.85;margin:0 0 12px}
.up-school-detail .journey-support-label{font-size:13px;font-weight:700;line-height:1.6;color:var(--accent);margin:0 0 12px}
.up-school-detail .journey-steps{--journey-columns:3;display:grid;grid-template-columns:repeat(var(--journey-columns),minmax(0,1fr));list-style:none;margin:0;padding:0;gap:24px}
.up-school-detail .journey-steps:has(>li:nth-child(4)){--journey-columns:2}
.up-school-detail .journey-steps:has(>li:nth-child(5)){--journey-columns:3}
.up-school-detail .journey-steps>li{min-width:0;position:relative;overflow-wrap:anywhere}
.up-school-detail .journey-marker{position:relative;margin:0 0 16px;display:flex;align-items:center;gap:12px;color:var(--accent);font-size:12px;font-weight:750;line-height:1.6}
.up-school-detail .journey-marker:after{content:'→';flex:1;text-align:right;border-top:1px solid var(--line-strong);height:0;line-height:0;color:var(--accent)}
.up-school-detail .journey-steps>li:last-child .journey-marker:after{content:''}
.up-school-detail .journey-marker>span{flex-shrink:0;background:#fff;padding-right:2px}
.up-school-detail .journey-copy .journey-time{font-size:12px;font-weight:600;color:var(--muted);line-height:1.6;margin:0 0 6px}
.up-school-detail .journey-copy h5{font-size:17px;font-weight:750;line-height:1.6;margin:0 0 8px;color:var(--ink);min-height:3.2em}
.up-school-detail .journey-copy .journey-summary{font-size:13px;line-height:1.7;color:var(--accent);font-weight:600;margin:0 0 10px}
.up-school-detail .journey-detail>.sd-node{margin:0}
.up-school-detail .journey-detail p{font-size:14px;line-height:1.85;margin:0 0 8px}
.up-school-detail .journey-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-top:2px solid var(--line-strong)}
.up-school-detail .service-roadmap>.disclosure+.journey-next{border-top:0}
.up-school-detail .journey-next>div{min-width:0}
.up-school-detail .journey-next strong{font-size:18px;line-height:1.6;color:var(--ink)}
.up-school-detail .journey-next p{font-size:14px;line-height:1.8;margin:8px 0 0}
.up-school-detail .journey-next .button{flex-shrink:0;min-height:46px}
/* All three actions stay directly below the region description, on every viewport. */
.up-school-detail .visual-facts .location-badges{margin-top:16px}
.up-school-detail .location-badges+.location-compact{margin-top:24px}
.up-school-detail .location-badge{font-size:13px;padding:9px 12px;gap:6px}
.up-school-detail .location-image-search{background:#fff}
@media(min-width:1200px){
.up-school-detail .journey-steps:has(>li:nth-child(5)):not(:has(>li:nth-child(6))){--journey-columns:5;gap:20px}
}
@media(max-width:900px){
.up-school-detail .journey-steps,.up-school-detail .journey-steps:has(>li:nth-child(5)){--journey-columns:2}
.up-school-detail .journey-next{align-items:flex-start;flex-direction:column;gap:16px}
}
@media(max-width:700px){
.up-school-detail .metric-grid{grid-template-columns:1fr;gap:14px}
.up-school-detail .metric-card{padding:22px}
.up-school-detail .metric-card h4,.up-school-detail .metric-card .visual-facts>.fact-row>dt{min-height:0;font-size:16px;margin-bottom:0}
.up-school-detail .metric-card .visual-facts>.fact-row>dd>strong,.up-school-detail .metric-card .node-value{font-size:30px;margin:8px 0 12px}
.up-school-detail .metric-card.metric-long-value .node-value,.up-school-detail .metric-card.metric-long-value .visual-facts>.fact-row>dd>strong{font-size:21px}
.up-school-detail .journey-intro{padding:20px 16px;border-left-width:3px}
.up-school-detail .journey-intro h4{font-size:21px}
.up-school-detail .journey-benefits{display:block}
.up-school-detail .journey-benefits li{margin-top:7px}
.up-school-detail .journey-phases{--journey-indent:30px;--journey-axis:1.5px;--journey-dot:32px;margin-top:24px}
.up-school-detail .journey-phase{padding-bottom:16px}
.up-school-detail .journey-phase:not(:last-child):before{bottom:-16px}
.up-school-detail .journey-phase-heading{gap:12px;min-height:76px}
.up-school-detail .journey-phase-copy>strong{font-size:18px}
.up-school-detail .journey-panel{padding-bottom:22px}
.up-school-detail .journey-steps,.up-school-detail .journey-steps:has(>li:nth-child(4)),.up-school-detail .journey-steps:has(>li:nth-child(5)){--journey-columns:1;gap:0}
.up-school-detail .journey-steps>li{padding:0 0 26px 18px;border-left:2px solid var(--line)}
.up-school-detail .journey-steps>li:last-child{padding-bottom:0;border-left-color:transparent}
.up-school-detail .journey-marker{margin:0 0 9px;line-height:1.4}
.up-school-detail .journey-marker:before{content:'';position:absolute;width:8px;height:8px;border:2px solid var(--accent);border-radius:50%;left:-25px;top:2px;background:#fff}
.up-school-detail .journey-marker:after{display:none}
.up-school-detail .journey-copy h5{min-height:0;font-size:17px}
.up-school-detail .journey-next strong{font-size:17px}
.up-school-detail .journey-next .button{width:100%;font-size:14px}
.up-school-detail .location-badges{gap:8px}
.up-school-detail .location-badge{padding:9px 11px;font-size:13px;gap:5px}
}
