:root{--tech-blue:#155bdd;--tech-ease:cubic-bezier(.2,.65,.3,1)}
[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:140px}header{background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.scroll-progress{position:absolute;bottom:-1px;left:0;height:2px;width:100%;background:var(--tech-blue);transform:scaleX(0);transform-origin:left;pointer-events:none}.menu-toggle{display:none}.btn,.textlink,.featured-item,.course,.level,.case{transition:transform .25s var(--tech-ease),box-shadow .25s var(--tech-ease),background .25s var(--tech-ease),border-color .25s var(--tech-ease)}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #155bdd1a}.links a:not(.btn){position:relative;padding-block:5px}.links a:not(.btn)::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--tech-blue);transform:scaleX(0);transform-origin:left;transition:transform .2s}.links a:hover::after,.links a[aria-current]::after{transform:scaleX(1)}.links a[aria-current]{color:var(--tech-blue)}
.hero-copy{position:relative;background:radial-gradient(ellipse at 2% 25%,#eaf2ff 0%,#ffffff00 58%)}.hero-copy::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#155bdd06 1px,transparent 1px),linear-gradient(90deg,#155bdd06 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(120deg,#000,transparent 65%);pointer-events:none}.hero-copy>*{position:relative}.hero-image img{transition:transform .8s var(--tech-ease)}.hero-image:hover img{transform:scale(1.015)}.coverage{background:linear-gradient(90deg,#fff,#f4f8ff,#fff)}.course:hover{border-color:var(--tech-blue)}.course h3{transition:color .2s}.course:hover h3{color:var(--tech-blue)}.featured-item{display:block;padding-bottom:12px}.featured-item:hover{transform:translateY(-5px)}.featured-item img{border-radius:5px}.featured-item:hover .textlink{color:#0b3b94}.case .photo,.case .extra img{cursor:zoom-in;transition:filter .2s;outline-offset:4px}.case .photo:hover,.case .extra img:hover{filter:brightness(1.04)}.case{border-radius:5px;overflow:hidden}.case:hover{border-bottom-color:var(--tech-blue)}
.case-filters{display:flex;gap:9px;flex-wrap:wrap;margin:30px 0 10px}.case-filters button{font:inherit;font-size:13px;padding:9px 16px;border:1px solid #dce2e8;border-radius:5px;background:white;color:#4f5c6b;cursor:pointer;transition:background .2s,border-color .2s}.case-filters button:hover{border-color:var(--tech-blue);color:var(--tech-blue)}.case-filters button[aria-pressed=true]{background:#155bdd;color:white;border-color:#155bdd}.filter-count{font-size:12px;color:#616974;margin:0}.filter-count+.grid{margin-top:22px}
.level.course-detail{display:block;padding:0;border-top:1px solid #dce2e8;scroll-margin-top:140px}.course-detail>summary{display:grid;grid-template-columns:150px 1fr 28px;gap:24px;align-items:center;list-style:none;cursor:pointer;padding:24px 12px}.course-detail>summary::-webkit-details-marker{display:none}.course-detail>summary::after{content:'+';color:var(--tech-blue);font-size:24px;justify-self:end}.course-detail[open]>summary::after{content:'−'}.course-detail>summary:hover{background:#f5f8fc}.course-detail[open]{background:#f8faff;border-top-color:var(--tech-blue)}.course-detail h3{margin:0}.course-detail .level-content{padding:0 36px 25px 186px}.course-detail .level-content p{margin:9px 0}.track .course-nav a{transition:color .2s}.image-viewer{width:min(1120px,94vw);max-height:94vh;border:1px solid #dce2e8;border-radius:9px;padding:18px;background:#fff;box-shadow:0 20px 100px #0004;color:#171a1d}.image-viewer::backdrop{background:#17212ecc;backdrop-filter:blur(5px)}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px}.viewer-toolbar p{margin:0;font-size:14px;font-weight:600;color:#171a1d}.viewer-close{border:1px solid #dce2e8;border-radius:5px;background:white;font-size:22px;cursor:pointer;width:44px;height:44px;flex-shrink:0}.viewer-image{display:block;width:100%;height:min(70vh,800px);object-fit:contain;background:#f1f4f7}.viewer-controls{display:flex;justify-content:space-between;align-items:center;padding-top:12px;gap:20px}.viewer-controls button{padding:10px 16px;font:inherit;font-size:14px;color:var(--tech-blue);border:1px solid #dce2e8;background:white;border-radius:5px;cursor:pointer}.viewer-controls button:disabled{opacity:.3;cursor:default}.viewer-counter{font-size:12px;color:#616974}.dialog-open{overflow:hidden}.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .55s var(--tech-ease),transform .55s var(--tech-ease)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}a:focus-visible,button:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid var(--tech-blue);outline-offset:5px}
@media(max-width:800px){.nav{position:relative}.menu-toggle{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid #dce2e8;border-radius:5px;padding:10px 14px;color:#171a1d;font:inherit;font-size:14px;cursor:pointer}.menu-toggle::after{content:'☰';font-size:17px}.menu-toggle[aria-expanded=true]::after{content:'×';font-size:22px}.nav .links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #dce2e8;padding:15px 22px 22px;box-shadow:0 12px 16px #00000008}.nav .links.is-open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.nav .links.is-open a:not(.btn){display:block;padding:10px 0}.nav .links.is-open .btn{margin-top:5px;align-self:flex-start}.course-detail>summary{grid-template-columns:1fr 25px;gap:9px;padding:20px 6px}.course-detail .level-tag{grid-column:1}.course-detail h3{grid-column:1;font-size:19px}.course-detail>summary::after{grid-column:2;grid-row:1/3}.course-detail .level-content{padding:0 16px 20px}.image-viewer{padding:12px}.viewer-toolbar{align-items:start}.viewer-image{height:65vh}.viewer-controls{gap:8px}.viewer-controls button{padding:9px 10px}.case-filters button{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}
