/* SpinOut U V99 · Directory-first marketplace, richer evidence-based storefronts,
   mobile Shape page containment. All institutional pathways remain exploratory. */

/* Marketplace: make reading the case, not a shaping CTA, the card action. */
.product-card .listing-open{height:100%;display:block}
.product-card .product-foot strong{color:#145c86}

/* Directory entry sits inside the existing marketplace section instead of
   creating a second generic call-to-action panel. */
.su99-directory-bridge{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.58fr);gap:26px;align-items:center;padding:29px clamp(21px,3vw,40px);margin:24px 0 8px;border-radius:19px;background:linear-gradient(118deg,#f0f7fa,#fffdf9);border:1px solid #d9e6ee}
.su99-directory-bridge h3{font-size:clamp(21px,2.3vw,31px);line-height:1.14;letter-spacing:-.03em;margin:9px 0 10px;color:#173d58}
.su99-directory-bridge p{max-width:690px;margin:0;font-size:13px;line-height:1.65;color:#557080}
.su99-directory-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch;min-width:0}
.su99-directory-actions .button{text-align:center;line-height:1.35;white-space:normal}
.su99-directory-actions>a:not(.button){font-size:12px;color:#175b80;font-weight:750}
.su99-directory-actions>a:not(.button):hover{text-decoration:underline}

/* Campus source storefronts */
.su99-campus-jumps{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:var(--su98-header-offset,80px);z-index:16;background:#fffffff2;border:1px solid #e3eaee;border-radius:14px;padding:9px 12px;backdrop-filter:blur(14px);margin:18px 0 28px;box-shadow:0 5px 22px #0b294d09}
.su99-campus-jumps button{font:inherit;font-size:12px;font-weight:700;border:1px solid transparent;padding:9px 12px;background:none;border-radius:8px;color:#285c78;line-height:1.35;text-align:left}
.su99-campus-jumps button:hover,.su99-campus-jumps button:focus-visible{background:#eaf4f8;border-color:#c6dfec}
.campus-page #campus-ip,.campus-page #campus-cases,.campus-page #campus-programs,.campus-page #campus-shape,.uv-profile #uv-public-work{scroll-margin-top:185px}
.campus-page .campus-intro{gap:28px}
.campus-page .campus-intro h2{max-width:780px}
.campus-page .campus-intro .button{white-space:normal;min-width:0}
.su99-public-ip{background:#f8fbfc;border:1px solid #d9e7ee;border-radius:19px;padding:clamp(21px,3.1vw,38px);margin:26px 0 35px;min-width:0}
.su99-public-ip .section-header{margin-bottom:19px}
.su99-public-ip h2{font-size:clamp(25px,2.7vw,37px);line-height:1.14;letter-spacing:-.035em;margin:7px 0}
.su99-public-ip .section-header p{max-width:770px;font-size:13px;line-height:1.65;color:#5b7181;margin:0}
.su99-ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.su99-ip-item{min-width:0;background:#fff;border:1px solid #dce6ec;border-radius:13px;padding:18px;display:flex;flex-direction:column;gap:10px}
.su99-ip-item-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#2c6a8b;font-size:9px;font-weight:800;letter-spacing:.075em}
.su99-ip-item-top span:last-child{color:#728995;letter-spacing:0}
.su99-ip-item h3{font-size:16px;line-height:1.28;letter-spacing:-.014em;color:#1a3d52;margin:0;overflow-wrap:anywhere}
.su99-ip-item p{font-size:11px;line-height:1.55;margin:0;color:#6d808e;overflow-wrap:anywhere}
.su99-ip-item-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.su99-ip-item-links a{font-size:11px;color:#15698d;font-weight:750;overflow-wrap:anywhere}
.su99-ip-item-links a:hover{text-decoration:underline}
.su99-ip-more{margin-top:14px}
.su99-ip-more summary{cursor:pointer;font-size:12px;color:#1a668b;font-weight:800;padding:11px 0}
.su99-ip-more .su99-ip-grid{margin-top:10px}
.su99-ip-notice{padding:13px 0 0;margin-top:18px;border-top:1px solid #dce7ed;font-size:11px;line-height:1.65;color:#5b7080}
.su99-index-link{font-weight:750;font-size:12px;color:#165d83}
.su99-campus-activation{margin:42px 0 32px;background:#133650;color:#fff;padding:clamp(22px,3.4vw,43px);border-radius:20px}
.su99-campus-activation .kicker{color:#9dcfe6}
.su99-campus-activation-head h2{color:#fff;font-size:clamp(27px,3.1vw,43px);letter-spacing:-.035em;line-height:1.12;margin:10px 0 12px}
.su99-campus-activation-head p{color:#d0e2eb;line-height:1.7;max-width:860px;font-size:14px}
.su99-campus-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:22px}
.su99-campus-action-grid article{background:#fff;color:#193d52;border-radius:13px;padding:clamp(17px,2vw,25px);display:flex;flex-direction:column;min-width:0}
.su99-campus-action-grid article>span{font-weight:800;letter-spacing:.08em;color:#18668e;font-size:10px}
.su99-campus-action-grid h3{font-size:22px;letter-spacing:-.025em;line-height:1.18;margin:9px 0}
.su99-campus-action-grid p{font-size:12px;color:#567286;line-height:1.66;flex:1;margin:0 0 18px}
.su99-campus-action-grid a{font-size:12px;line-height:1.45;font-weight:800;color:#0d648e}
.su99-campus-action-grid a:hover{text-decoration:underline}
.su99-campus-disclaimer{font-size:11px;color:#c0d4df;line-height:1.6;margin:19px 0 0}

/* Universal-place profiles: after evidence and programs, the visitor sees a
   research-supply or place-led entry rather than premature adoption. */
.su99-universe-activation{border:1px solid #d7e4eb;border-radius:21px;padding:clamp(22px,3.4vw,42px);margin:45px 0 34px;background:#f6fafc;min-width:0}
.su99-universe-head h2{font-size:clamp(27px,3.3vw,43px);letter-spacing:-.036em;line-height:1.13;margin:9px 0 12px;max-width:940px;color:#173d56}
.su99-universe-head p{max-width:870px;line-height:1.67;color:#536d7d;font-size:14px;margin:0}
.su99-universe-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.su99-universe-actions article{padding:22px;background:#fff;border:1px solid #e0e8ed;border-radius:14px;min-width:0;display:flex;flex-direction:column;gap:10px}
.su99-universe-actions article>span{font-size:10px;font-weight:800;letter-spacing:.08em;color:#1c7198}
.su99-universe-actions h3{font-size:21px;line-height:1.19;letter-spacing:-.025em;margin:0;color:#173e57}
.su99-universe-actions p{font-size:12px;line-height:1.66;color:#597687;margin:0 0 5px;flex:1}
.su99-universe-actions a{font-size:12px;font-weight:800;line-height:1.4;color:#125b83}
.su99-universe-actions .su99-primary-link{border-top:1px solid #e1ebef;padding-top:13px}
.su99-place-samples{margin-top:25px}
.su99-place-samples>h3{font-size:21px;color:#19405a;margin:7px 0}
.su99-place-samples>p{font-size:12px;max-width:780px;color:#5d7381;line-height:1.65}
.su99-place-sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.su99-place-sample-grid>a{background:#fff;min-width:0;border:1px solid #dde8ed;border-radius:12px;padding:17px;display:flex;flex-direction:column;gap:10px}
.su99-place-sample-grid span{font-size:10px;color:#226d90;font-weight:800}
.su99-place-sample-grid strong{font-size:15px;color:#1e3d53;line-height:1.35}
.su99-place-sample-grid small{font-size:11px;font-weight:800;color:#226d90;margin-top:auto}
.su99-source-notice{font-size:11px;line-height:1.66;color:#657986;margin:15px 0 0}

/* Shape mobile: solve the root causes of sideways document pans (min-content
   grid children, long option text and unbreakable institutional names). */
.su96-page,.su96-page .su94-hero,.su96-page .su94-config,.su96-page .su94-path-grid,.su96-page .su94-select-grid{min-width:0;max-width:100%}
.su96-page .su94-hero>*,.su96-page .su94-config>*,.su96-page .su94-select-grid>*,.su96-page .su94-config-main,.su96-page .su94-config-preview,.su96-page .su96-origin,.su96-page .su96-role{min-width:0;max-width:100%}
.su96-page select,.su96-page input{min-width:0;max-width:100%;width:100%;display:block}
.su96-page h1,.su96-page h2,.su96-page h3,.su96-page strong,.su96-page p,.su96-page span,.su96-page .su94-preview-row{overflow-wrap:anywhere}
@media(max-width:1050px){.su99-ip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
 .su99-directory-bridge{grid-template-columns:minmax(0,1fr)}
 .su99-directory-actions{align-items:flex-start}
 .su99-campus-action-grid,.su99-universe-actions{grid-template-columns:minmax(0,1fr)}
 .su99-place-sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .su96-page{width:100%;max-width:100vw;overflow-x:clip}
 .su96-page .su94-hero,.su96-page .su94-config{grid-template-columns:minmax(0,1fr)!important}
 .su96-page .su94-hero-aside{grid-template-columns:minmax(0,1fr)!important}
 .su96-page .su94-select-grid{grid-template-columns:minmax(0,1fr)!important}
 .su96-page .su94-config-preview{position:static!important}
 .su96-page .su94-config-main,.su96-page .su94-config-preview{width:100%;min-width:0;overflow:hidden}
 .su96-page .su94-path-grid{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:600px){
 .su99-ip-grid,.su99-place-sample-grid{grid-template-columns:minmax(0,1fr)}
 .su99-campus-jumps{gap:5px;padding:8px;top:var(--su98-header-offset,72px);overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
 .su99-campus-jumps button{flex:0 0 auto;white-space:nowrap;font-size:11px;padding:8px 10px}
 .su99-campus-activation,.su99-universe-activation,.su99-public-ip{padding:20px 16px}
 .su96-page .su94-hero h1{font-size:clamp(30px,9vw,40px)}
 .su96-page .su96-role{width:100%}
 .su96-page .su94-config{gap:16px}
 .su96-page .su94-config-main,.su96-page .su94-config-preview{padding:20px 14px}
 .su96-page .su94-preview-row strong{font-size:14px}
}
/* Keep mobile form controls from triggering iOS focus auto-zoom and horizontal panning. */
@media(max-width:800px){
 html:has(.su96-page),body:has(.su96-page){max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
 .su96-page select,.su96-page input{font-size:16px!important;line-height:1.35;touch-action:manipulation}
 .su96-page .su94-select-grid,.su96-page .su94-config-main,.su96-page .su94-config-preview{min-inline-size:0;max-inline-size:100%}
}
