.hero{isolation:isolate}
.hero>div:first-child{position:relative;z-index:1;min-width:0}
.hero .copy{max-width:100%;overflow-wrap:break-word}
.hero .portrait{position:relative;z-index:0;width:100%;justify-self:end}
.button,.case-end button,.comparison button{border-radius:14px;min-height:46px;transition:background .2s,border-color .2s,transform .2s}
.button:hover,.case-end button:hover{border-color:#aaa;transform:translateY(-1px)}
.ui-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0;stroke-width:1.5}
.case-toolbar button,.case-end button,footer a{align-items:center;justify-content:center;gap:8px}
.case-toolbar button,.case-end button{display:inline-flex}
.skill-plus:before,.skill-plus:after{display:none}
.skill-plus{width:16px;height:16px;color:#ff805e}
.skill-plus .ui-icon{width:16px;height:16px}
.skill-plus .ui-icon:last-child{display:none}
.skill-trigger[aria-expanded=true] .skill-plus .ui-icon:first-child{display:none}
.skill-trigger[aria-expanded=true] .skill-plus .ui-icon:last-child{display:block}
@media(prefers-reduced-motion:reduce){.button,.case-end button{transition:none}}

/* Automatic showcase with Aprova blue backdrop. */
.case-laptop-stage{margin:42px 0 64px;padding:48px 20px 20px;position:relative;background:transparent;border-radius:24px;isolation:isolate}
.case-laptop-stage .case-laptop{width:100%;max-width:450px;margin:0 auto;padding-bottom:0}
.case-laptop-stage .case-laptop-screen{overflow:hidden;touch-action:pan-y;overscroll-behavior:auto;cursor:default;pointer-events:none}
@media(max-width:700px){.case-laptop-stage{padding:32px 12px 16px;margin:30px 0 40px;border-radius:18px}}

.case-laptop-stage::before{content:"";position:absolute;inset:0 0 22%;background:#1b229f;border-radius:inherit;z-index:-1;pointer-events:none}

.case-laptop-stage{padding-top:76px}
.theme-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:28px;background:#f0f1f4;border-radius:24px;margin:48px 0 32px;color:#000c29}
.theme-pair .theme-window{margin:0;min-width:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 26px #00000014}
.theme-window-bar{height:42px;display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid #0000000d;font:11px 'Segoe UI',sans-serif;color:#637082}
.window-dots{display:flex;gap:5px}.window-dots i{width:6px;height:6px;border-radius:50%;background:#ff6058}.window-dots i:nth-child(2){background:#febc2e}.window-dots i:nth-child(3){background:#28c840}
.theme-window-bar b{margin-left:auto;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 7px;background:#e9f4f0;color:#147c68;border-radius:4px}
.theme-window-body{padding:36px 12px;background:#f7f8fa;display:flex;align-items:center;min-height:200px}
.theme-pair .theme-window img{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 8px 18px #00000012}
.theme-pair .theme-window figcaption{padding:14px 12px;margin:0;text-align:center;font:11px 'Segoe UI',sans-serif;color:#637082}
.theme-pair .theme-window-dark{background:#202b3c;color:#edf1f8}.theme-window-dark .theme-window-bar{color:#abb8ce;border-color:#ffffff12}.theme-window-dark .theme-window-bar b{background:#344262;color:#b9ccf4}.theme-window-dark .theme-window-body{background:#000c29}.theme-pair .theme-window-dark figcaption{color:#abb8ce}
@media(max-width:700px){.case-laptop-stage{padding-top:52px}.theme-pair{grid-template-columns:1fr;padding:20px;gap:20px}.theme-window-body{padding:28px 16px;min-height:0}}

.theme-modal-crop{position:relative;width:100%;aspect-ratio:800/423;overflow:hidden;border-radius:8px;box-shadow:0 8px 18px #0002}.theme-pair .theme-modal-crop img{position:absolute;width:160%;max-width:none;height:auto;left:-30%;top:-39.95%;border-radius:0;box-shadow:none}

.theme-modal-crop{container-type:inline-size}
.live-countdown{position:absolute;left:44%;top:57.7%;width:52%;height:17.6%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1%;background:#fff;color:#000c29;font-family:'Segoe UI',sans-serif}
.live-countdown>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1cqw;background:#f0f3f7;border-radius:1cqw}
.live-countdown b{font-size:3.25cqw;line-height:1;font-weight:700}.live-countdown small{font-size:1.5cqw;line-height:1;color:#637082}
.theme-window-dark .live-countdown{background:#202837;color:#edf1f8}.theme-window-dark .live-countdown>span{background:#303a49}.theme-window-dark .live-countdown small{color:#abb8ce}

/* Trim the captured modal edge; elevation comes only from the shadow. */
.theme-modal-crop{aspect-ratio:790/413;border:0;outline:0;border-radius:12px;box-shadow:0 12px 28px -8px #00000030}
.theme-pair .theme-modal-crop img{width:162.0254%;left:-31.0127%;top:-42.1308%;border:0;outline:0}
.theme-window-dark .theme-modal-crop{box-shadow:0 14px 30px -8px #00000065}

.theme-pair .theme-modal-crop .student-photo{position:absolute;inset:0 auto 0 0;width:40%;height:100%;max-width:none;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none}

.resume-download:disabled{opacity:.65;cursor:default;transform:none}.resume-status{margin:12px 0 0;font-size:12px;line-height:1.6;color:#999}

/* Final case actions align with the content edge. */
.aprova-case > .case-end{max-width:none;width:100%;margin:40px 0 0;justify-content:flex-start}

