/* Original screen projection and boot styles remain in style.css. */
#viewport{transform-origin:0 0;overflow:clip}
body[data-state=section] #pause{display:none}
#portal-transition{position:fixed;inset:0;z-index:100;background:#000;color:#eee9df;opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 420ms ease;pointer-events:none}
#portal-transition[data-cover=true]{opacity:1;pointer-events:auto}
.transition-brand{font:clamp(45px,8vw,86px)/1 GuigoHand,cursive;opacity:0;transition:opacity 300ms ease;letter-spacing:-2px}
.transition-brand.visible{opacity:1}
.transition-status{font:18px GuigoHand,cursive;min-height:26px;margin:25px 20px;text-align:center;color:#bcb8b0}
.transition-cancel{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));background:none;border:0;font:18px GuigoHand,cursive;padding:12px;color:#bcb8b0}
#section-shell{position:fixed;inset:0;z-index:30;background:#08090c;color:#efeee9;overflow:hidden;--header-height:76px;--paper:#efeee9;font-family:GuigoHand,cursive}
#section-shell .section-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) clamp(18px,4vw,64px) 0;gap:20px;background:#08090c;position:relative;z-index:5;border-bottom:1px solid #eee9dd18}
.section-wordmark{font:28px GuigoHand,cursive}
#section-shell button{color:inherit;background:none;border:0;border-radius:0;font-family:GuigoHand,cursive;cursor:pointer}
#section-shell .room-return{font-size:21px;min-height:48px;padding:8px 0}
#section-shell button:focus-visible,#section-shell a:focus-visible{outline:2px solid #efd58a;outline-offset:3px}
#section-shell .section-content{height:calc(100% - var(--header-height));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#777 #121212}
#section-shell .certificates{font-size:22px;padding:clamp(35px,7vh,85px) clamp(24px,9vw,150px);position:relative}
#section-shell .certificates h2{font-size:clamp(48px,6vw,76px);line-height:1.15;margin-bottom:30px}
#section-shell .cert-tabs{gap:36px;margin:0 0 32px}
#section-shell .cert-tabs button{font-size:clamp(23px,2.5vw,30px);min-height:52px}
#section-shell .cert-list{max-width:1000px}
#section-shell .cert-row{font-size:clamp(27px,3.5vw,44px);min-height:90px;gap:20px}
#section-shell .cert-row svg{width:54px;height:54px}
#section-shell .cert-row small{font-size:22px;line-height:1.4}
#section-shell .certificates[data-page=institution]{padding:0;margin:0;height:calc(100% - var(--header-height));isolation:isolate;background:#0b0c10}
#section-shell .cert-back{position:sticky;top:0;left:0;display:block;z-index:3;width:100%;text-align:left;padding:12px clamp(22px,4vw,64px);font-size:24px;min-height:58px;background:#0b0c10ed;border-bottom:1px solid #ddd2b520}
#section-shell .cert-campus{position:fixed;inset:var(--header-height) 0 0;z-index:-1;width:100%;height:calc(100% - var(--header-height));object-fit:cover;object-position:35% 0%;margin:0}
#section-shell .cert-detail{position:relative;max-width:820px;width:50%;margin:clamp(120px,24vh,280px) 5% 7vh auto;background:#0b0c10ed;padding:clamp(25px,4vw,60px);min-height:0;border-top:1px solid #f5e8c847}
#section-shell .cert-detail h2{font-size:clamp(32px,3vw,48px);margin-bottom:25px}
#section-shell .cert-detail h3{font-size:clamp(26px,2.5vw,36px);line-height:1.2}
#section-shell .cert-detail p{font:18px/1.6 Georgia,serif}
#section-shell .cert-detail .cert-caption{font:19px/1.4 GuigoHand,cursive}
#section-shell .cert-detail .cert-status{font:23px GuigoHand,cursive}
#section-shell .cert-pending{font-size:28px;padding:42px 12px}
#section-shell .cert-request{font-size:24px;min-height:48px}
#section-shell .cert-neutral{position:absolute;inset:0;height:100%;z-index:-1;background:#14171b}
#section-shell .cert-neutral svg{height:100%;stroke:#c0af86}
#section-shell .cert-neutral+.cert-detail{width:min(900px,90%);margin:12vh auto 8vh}
#section-shell .cert-carousel-controls{font-size:24px}
#section-shell .cert-carousel-controls button{min-width:56px;min-height:52px}
#section-shell .cert-document img{max-height:none;width:100%}
#section-shell .cert-zoom{position:fixed;inset:0;z-index:10;overflow:auto;padding:20px max(20px,env(safe-area-inset-left));background:#08090cfb}
#section-shell .cert-zoom button,#section-shell .cert-zoom a{display:inline-block;font:22px GuigoHand,cursive;padding:12px;margin:0 12px 15px 0;min-height:48px;color:#eee}
#section-shell .cert-zoom img{display:block;width:min(100%,1400px);max-width:none;height:auto;margin:0 auto}

#section-shell .simple-section{text-align:center;padding:clamp(40px,12vh,130px) 24px}
#section-shell .simple-section .section-art{width:120px;margin:0 auto 25px}
#section-shell .simple-section h2{font:clamp(42px,6vw,72px) GuigoHand,cursive;outline:none;margin:20px 0}
#section-shell .simple-section p{font:21px Georgia,serif;color:#ccc7bd}
#section-shell .simple-section small{font:18px GuigoHand,cursive;color:#aaa69e}
@media(max-width:700px){
 #section-shell{--header-height:calc(72px + env(safe-area-inset-top))}
 #section-shell .section-header{padding-inline:18px;gap:12px}
 .section-wordmark{font-size:24px}#section-shell .room-return{font-size:19px}
 #section-shell .certificates{padding:36px 22px 50px}
 #section-shell .certificates h2{font-size:52px;margin-bottom:24px}
 #section-shell .cert-tabs{gap:25px;margin-bottom:24px}
 #section-shell .cert-tabs button{font-size:24px;min-height:48px}
 #section-shell .cert-row{min-height:84px;font-size:28px;gap:12px}
 #section-shell .cert-row svg{width:40px;height:40px;flex:none}
 #section-shell .cert-row small{font-size:18px}
 #section-shell .cert-arrow{font-size:22px}
 #section-shell .cert-campus{position:relative;inset:auto;z-index:0;height:auto;aspect-ratio:1.414;object-fit:contain;object-position:top;width:100%;margin:0}
 #section-shell .cert-detail{width:auto;max-width:none;margin:0;padding:30px 22px 50px;background:#0b0c10;border:0}
 #section-shell .cert-detail h2{font-size:38px}
 #section-shell .cert-detail h3{font-size:29px}
 #section-shell .cert-detail p{font-size:17px}
 #section-shell .cert-back{font-size:23px;min-height:52px;padding:10px 22px}
 #section-shell .cert-detail .cert-caption{font-size:18px}
 #section-shell .cert-pending{font-size:25px}
 #section-shell .cert-request{font-size:23px;min-height:48px}
 #section-shell .cert-neutral+.cert-detail{width:auto;margin:12vh 0 0;background:#0b0c10d9}
 #section-shell .cert-zoom{padding:12px}#section-shell .cert-zoom button,#section-shell .cert-zoom a{font-size:20px}
}
@media(prefers-reduced-motion:reduce){#portal-transition,.transition-brand{transition:none!important}#section-shell *,#os *{animation:none!important;scroll-behavior:auto!important}}

@media(prefers-reduced-motion:reduce){#viewport{transition:none!important}}
